diff --git a/apps/files_sharing/src/mixins/ShareRequests.js b/apps/files_sharing/src/mixins/ShareRequests.js index 4eca330fffc78..4206a0135ec02 100644 --- a/apps/files_sharing/src/mixins/ShareRequests.js +++ b/apps/files_sharing/src/mixins/ShareRequests.js @@ -3,16 +3,13 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ -import axios from '@nextcloud/axios' +import axios, { isAxiosError } from '@nextcloud/axios' import { showError } from '@nextcloud/dialogs' import { emit } from '@nextcloud/event-bus' import { generateOcsUrl } from '@nextcloud/router' import Share from '../models/Share.ts' import logger from '../services/logger.ts' -// TODO: remove when ie not supported -import 'url-search-params-polyfill' - const shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares') export default { @@ -45,13 +42,9 @@ export default { emit('files_sharing:share:created', { share }) return share } catch (error) { - logger.error('Error while creating share', { error }) - const errorMessage = error?.response?.data?.ocs?.meta?.message - showError( - errorMessage ? t('files_sharing', 'Error creating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error creating the share'), - { type: 'error' }, - ) - throw error + const errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error creating the share') + showError(errorMessage) + throw new Error(errorMessage, { cause: error }) } }, @@ -70,13 +63,9 @@ export default { emit('files_sharing:share:deleted', { id }) return true } catch (error) { - logger.error('Error while deleting share', { error }) - const errorMessage = error?.response?.data?.ocs?.meta?.message - OC.Notification.showTemporary( - errorMessage ? t('files_sharing', 'Error deleting the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error deleting the share'), - { type: 'error' }, - ) - throw error + const errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error deleting the share') + showError(errorMessage) + throw new Error(errorMessage, { cause: error }) } }, @@ -97,16 +86,26 @@ export default { } } catch (error) { logger.error('Error while updating share', { error }) - if (error.response.status !== 400) { - const errorMessage = error?.response?.data?.ocs?.meta?.message - OC.Notification.showTemporary( - errorMessage ? t('files_sharing', 'Error updating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error updating the share'), - { type: 'error' }, - ) - } - const message = error.response.data.ocs.meta.message - throw new Error(message) + const errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error updating the share') + // the error will be shown in apps/files_sharing/src/mixins/SharesMixin.js + throw new Error(errorMessage, { cause: error }) } }, }, } + +/** + * Handle an error response from the server and show a notification with the error message if possible + * + * @param {unknown} error - The received error + * @return {string|undefined} the error message if it could be extracted from the response, otherwise undefined + */ +function getErrorMessage(error) { + if (isAxiosError(error) && error.response.data?.ocs) { + /** @type {import('@nextcloud/typings/ocs').OCSResponse} */ + const response = error.response.data + if (response.ocs.meta?.message) { + return response.ocs.meta.message + } + } +} diff --git a/build/frontend-legacy/package-lock.json b/build/frontend-legacy/package-lock.json index 96784ca4f15cf..d8d4efbc0f355 100644 --- a/build/frontend-legacy/package-lock.json +++ b/build/frontend-legacy/package-lock.json @@ -70,7 +70,6 @@ "strengthify": "github:nextcloud/strengthify#0.5.9", "throttle-debounce": "^5.0.2", "underscore": "1.13.7", - "url-search-params-polyfill": "^8.2.5", "v-click-outside": "^3.2.0", "v-tooltip": "^2.1.3", "vue": "^2.7.16", @@ -17476,12 +17475,6 @@ "requires-port": "^1.0.0" } }, - "node_modules/url-search-params-polyfill": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-8.2.5.tgz", - "integrity": "sha512-FOEojW4XReTmtZOB7xqSHmJZhrNTmClhBriwLTmle4iA7bwuCo6ldSfbtsFSb8bTf3E0a3XpfonAdaur9vqq8A==", - "license": "MIT" - }, "node_modules/util": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", diff --git a/build/frontend-legacy/package.json b/build/frontend-legacy/package.json index 8607b50e0655b..de354a14cd048 100644 --- a/build/frontend-legacy/package.json +++ b/build/frontend-legacy/package.json @@ -86,7 +86,6 @@ "strengthify": "github:nextcloud/strengthify#0.5.9", "throttle-debounce": "^5.0.2", "underscore": "1.13.7", - "url-search-params-polyfill": "^8.2.5", "v-click-outside": "^3.2.0", "v-tooltip": "^2.1.3", "vue": "^2.7.16", diff --git a/dist/8577-8577.js b/dist/8577-8577.js index 14b77d74f1d23..fae232dbd4ab1 100644 --- a/dist/8577-8577.js +++ b/dist/8577-8577.js @@ -1,2 +1,2 @@ -(globalThis.webpackChunknextcloud_ui_legacy=globalThis.webpackChunknextcloud_ui_legacy||[]).push([[8577],{5016(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".share-expiry-time[data-v-c9199db0]{display:inline-flex;align-items:center;justify-content:center}.share-expiry-time .hint-icon[data-v-c9199db0]{padding:0;margin:0;width:24px;height:24px}.hint-heading[data-v-c9199db0]{text-align:center;font-size:1rem;margin-top:8px;padding-bottom:8px;margin-bottom:0;border-bottom:1px solid var(--color-border)}.hint-body[data-v-c9199db0]{padding:var(--border-radius-element);max-width:300px}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/ShareExpiryTime.vue"],names:[],mappings:"AACA,oCACI,mBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,+CACI,SAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAIR,+BACI,iBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,2CAAA,CAGJ,4BACI,oCAAA,CACA,eAAA",sourcesContent:["\n.share-expiry-time {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n .hint-icon {\n padding: 0;\n margin: 0;\n width: 24px;\n height: 24px;\n }\n}\n\n.hint-heading {\n text-align: center;\n font-size: 1rem;\n margin-top: 8px;\n padding-bottom: 8px;\n margin-bottom: 0;\n border-bottom: 1px solid var(--color-border);\n}\n\n.hint-body {\n padding: var(--border-radius-element);\n max-width: 300px;\n}\n"],sourceRoot:""}]);const o=r},10322(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-469e5e80]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-469e5e80]{padding:8px;padding-inline-start:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-469e5e80]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-469e5e80],.sharing-entry__summary__desc small[data-v-469e5e80]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-469e5e80]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntry.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n"],sourceRoot:""}]);const o=r},50618(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-731a9650]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-731a9650]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-inline-start:10px;line-height:1.2em}.sharing-entry__desc p[data-v-731a9650]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-731a9650]{margin-inline-start:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,wBAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=r},84388(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry__internal .avatar-external[data-v-6c4cb23b]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-6c4cb23b]{opacity:1;color:var(--color-border-success)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue"],names:[],mappings:"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,iCAAA",sourcesContent:["\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-border-success);\n\t}\n}\n"],sourceRoot:""}]);const o=r},12231(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-4ca4172c]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-4ca4172c]{padding:8px;padding-inline-start:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-4ca4172c]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-4ca4172c]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-4ca4172c]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__actions[data-v-4ca4172c]{display:flex;align-items:center;margin-inline-start:auto}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-4ca4172c]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-4ca4172c] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-4ca4172c]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-4ca4172c]{width:44px;height:44px;margin:0;padding:14px;margin-inline-start:auto}.sharing-entry .action-item~.action-item[data-v-4ca4172c],.sharing-entry .action-item~.sharing-entry__loading[data-v-4ca4172c]{margin-inline-start:0}.sharing-entry__copy-icon--success[data-v-4ca4172c]{color:var(--color-border-success)}.qr-code-dialog[data-v-4ca4172c]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-4ca4172c]{width:100%;height:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryLink.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGA,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAIF,yCACC,YAAA,CACA,kBAAA,CACA,wBAAA,CAID,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,wBAAA,CAOA,+HAEC,qBAAA,CAIF,oDACC,iCAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t\t&__desc {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tline-height: 1.2em;\n\n\t\t\tp {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&__title {\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\n\t\t&__actions {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmargin-inline-start: auto;\n\t\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t:deep(.avatar-link-share) {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-inline-start: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-inline-start: 0;\n\t\t}\n\t}\n\n\t&__copy-icon--success {\n\t\tcolor: var(--color-border-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=r},56953(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".share-select[data-v-b5eca1ec]{display:block}.share-select[data-v-b5eca1ec] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue"],names:[],mappings:"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA",sourcesContent:["\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},18999(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-13d4a0bb]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-13d4a0bb]{padding:8px;padding-inline-start:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-13d4a0bb]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-13d4a0bb]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-13d4a0bb]{margin-inline-start:auto !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto !important;\n\t}\n}\n"],sourceRoot:""}]);const o=r},77127(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingInput.vue"],names:[],mappings:"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA",sourcesContent:['\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for="sharing-search-input"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const o=r},67248(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharingTabDetailsView[data-v-1a9646b6]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-1a9646b6]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-1a9646b6]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-1a9646b6]{font-size:15px;padding-inline-start:.3em}.sharingTabDetailsView__wrapper[data-v-1a9646b6]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-inline-end:12px}.sharingTabDetailsView__quick-permissions[data-v-1a9646b6]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-1a9646b6]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-1a9646b6]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-1a9646b6]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-1a9646b6] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-1a9646b6] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-1a9646b6] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-1a9646b6]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-1a9646b6]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-1a9646b6]{width:100%;margin-bottom:.5em;text-align:start;padding-inline-start:0}.sharingTabDetailsView__advanced section textarea[data-v-1a9646b6],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-1a9646b6]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-1a9646b6]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-1a9646b6] label{padding-inline-start:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-1a9646b6]{padding-inline-start:1.5em}.sharingTabDetailsView__label[data-v-1a9646b6]{padding-block-end:6px}.sharingTabDetailsView__delete>button[data-v-1a9646b6]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-1a9646b6]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-1a9646b6]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-1a9646b6]{margin-inline-start:16px}.sharingTabDetailsView__footer .button-group button[data-v-1a9646b6]:first-child{margin-inline-start:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue"],names:[],mappings:"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,yBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,uBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAGD,+EACC,YAAA,CACA,qBAAA,CAID,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,gBAAA,CACA,sBAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAYD,qEACC,iCAAA,CACA,mCAAA,CACA,sBAAA,CAGD,2FACC,0BAAA,CAKH,+CACC,qBAAA,CAIA,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,wBAAA,CAEA,iFACC,qBAAA",sourcesContent:["\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-inline-start: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t:deep(label span) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: start;\n\t\tpadding-inline-start: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t The following style is applied out of the component's scope\n\t\t\t to remove padding from the label.checkbox-radio-switch__label,\n\t\t\t which is used to group radio checkbox items. The use of ::v-deep\n\t\t\t ensures that the padding is modified without being affected by\n\t\t\t the component's scoping.\n\t\t\t Without this achieving left alignment for the checkboxes would not\n\t\t\t be possible.\n\t\t\t*/\n\t\t\tspan :deep(label) {\n\t\t\t\tpadding-inline-start: 0 !important;\n\t\t\t\tbackground-color: initial !important;\n\t\t\t\tborder: none !important;\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-inline-start: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__delete {\n\t\t> button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-inline-start: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-inline-start: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},27920(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry__inherited .avatar-shared[data-v-cedf3238]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingInherited.vue"],names:[],mappings:"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA",sourcesContent:["\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n"],sourceRoot:""}]);const o=r},15667(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".emptyContentWithSections[data-v-7cacff60]{margin:1rem auto}.sharingTab[data-v-7cacff60]{position:relative;height:100%}.sharingTab__content[data-v-7cacff60]{padding:0 6px}.sharingTab__content section[data-v-7cacff60]{padding-bottom:16px}.sharingTab__content section .section-header[data-v-7cacff60]{margin-top:2px;margin-bottom:2px;display:flex;align-items:center;padding-bottom:4px}.sharingTab__content section .section-header h4[data-v-7cacff60]{margin:0;font-size:16px}.sharingTab__content section .section-header .visually-hidden[data-v-7cacff60]{display:none}.sharingTab__content section .section-header .hint-icon[data-v-7cacff60]{color:var(--color-primary-element)}.sharingTab__content>section[data-v-7cacff60]:not(:last-child){border-bottom:2px solid var(--color-border)}.sharingTab__additionalContent[data-v-7cacff60]{margin:var(--default-clickable-area) 0}.hint-body[data-v-7cacff60]{max-width:300px;padding:var(--border-radius-element)}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingTab.vue"],names:[],mappings:"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAEA,8CACC,mBAAA,CAEA,8DACC,cAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,iEACC,QAAA,CACA,cAAA,CAGD,+EACC,YAAA,CAGD,yEACC,kCAAA,CAOH,+DACC,2CAAA,CAKF,gDACC,sCAAA,CAIF,4BACC,eAAA,CACA,oCAAA",sourcesContent:["\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\n\t\tsection {\n\t\t\tpadding-bottom: 16px;\n\n\t\t\t.section-header {\n\t\t\t\tmargin-top: 2px;\n\t\t\t\tmargin-bottom: 2px;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding-bottom: 4px;\n\n\t\t\t\th4 {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\n\t\t\t\t.visually-hidden {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.hint-icon {\n\t\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t& > section:not(:last-child) {\n\t\t\tborder-bottom: 2px solid var(--color-border);\n\t\t}\n\n\t}\n\n\t&__additionalContent {\n\t\tmargin: var(--default-clickable-area) 0;\n\t}\n}\n\n.hint-body {\n\tmax-width: 300px;\n\tpadding: var(--border-radius-element);\n}\n"],sourceRoot:""}]);const o=r},70544(e,t,i){"use strict";i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,"\n.sharing-tab-external-section-legacy[data-v-3e4e67d2] {\n\twidth: 100%;\n}\n","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSectionLegacy.vue"],names:[],mappings:";AAkCA;CACA,WAAA;AACA",sourcesContent:['\x3c!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\n\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**!\n * url-search-params-polyfill\n *\n * @author Jerry Bendy (https://github.com/jerrybendy)\n * @licence MIT\n */\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n isSupportSize = nativeURLSearchParams && 'size' in nativeURLSearchParams.prototype,\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly && isSupportSize) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var useProxy = self.Proxy && nativeURLSearchParams && (!decodesPlusesCorrectly || !encodesAmpersandsCorrectly || !isSupportObjectConstructor || !isSupportSize);\n var propValue;\n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n\n /*\n * Apply polyfill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n // Fix #54, `toString.call(new URLSearchParams)` will return correct value when Proxy not used\n if (!useProxy && self.Symbol) {\n USPProto[self.Symbol.toStringTag] = 'URLSearchParams';\n }\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n if (!('forEach' in USPProto)) {\n USPProto.forEach = function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n }\n\n /**\n * Sort all name-value pairs\n */\n if (!('sort' in USPProto)) {\n USPProto.sort = function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n }\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('keys' in USPProto)) {\n USPProto.keys = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('values' in USPProto)) {\n USPProto.values = function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('entries' in USPProto)) {\n USPProto.entries = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n }\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n if (!('size' in USPProto)) {\n Object.defineProperty(USPProto, 'size', {\n get: function () {\n var dict = parseToDict(this.toString())\n if (USPProto === this) {\n throw new TypeError('Illegal invocation at URLSearchParams.invokeGetter')\n }\n return Object.keys(dict).reduce(function (prev, cur) {\n return prev + dict[cur].length;\n }, 0);\n }\n });\n }\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.fileInfo)?_c(_setup.SharingTab,{attrs:{\"file-info\":_setup.fileInfo}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ContentCopy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ContentCopy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ContentCopy.vue?vue&type=template&id=0e8bd3c4\"\nimport script from \"./ContentCopy.vue?vue&type=script&lang=js\"\nexport * from \"./ContentCopy.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon content-copy-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('NcActions',{ref:\"actionsComponent\",staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"aria-expanded\":_vm.ariaExpandedValue}},[_vm._t(\"default\")],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=13d4a0bb&scoped=true\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"13d4a0bb\",\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { generateUrl, getBaseUrl } from '@nextcloud/router';\n/**\n * @param fileid - The file ID to generate the direct file link for\n */\nexport function generateFileUrl(fileid) {\n const baseURL = getBaseUrl();\n const { globalscale } = getCapabilities();\n if (globalscale?.token) {\n return generateUrl('/gf/{token}/{fileid}', {\n token: globalscale.token,\n fileid,\n }, { baseURL });\n }\n return generateUrl('/f/{fileid}', {\n fileid,\n }, {\n baseURL,\n });\n}\n","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=6c4cb23b&scoped=true\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6c4cb23b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('SharingEntrySimple',{ref:\"shareEntrySimple\",staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":_vm.copyLink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharing-search\"},[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":_vm.shareInputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.isExternal\n\t\t\t? _vm.t('files_sharing', 'Enter external recipients')\n\t\t\t: _vm.t('files_sharing', 'Search for internal recipients'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcSelect',{ref:\"select\",staticClass:\"sharing-search__input\",attrs:{\"input-id\":_vm.shareInputId,\"disabled\":!_vm.canReshare,\"loading\":_vm.loading,\"filterable\":false,\"placeholder\":_vm.inputPlaceholder,\"clear-search-on-blur\":() => false,\"user-select\":true,\"options\":_vm.options,\"label-outside\":true},on:{\"search\":_vm.asyncFind,\"option:selected\":_vm.onSelected},scopedSlots:_vm._u([{key:\"no-options\",fn:function({ search }){return [_vm._v(\"\\n\\t\\t\\t\"+_vm._s(search ? _vm.noResultText : _vm.placeholder)+\"\\n\\t\\t\")]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const ATOMIC_PERMISSIONS = {\n\tNONE: 0,\n\tREAD: 1,\n\tUPDATE: 2,\n\tCREATE: 4,\n\tDELETE: 8,\n\tSHARE: 16,\n}\n\nconst BUNDLED_PERMISSIONS = {\n\tREAD_ONLY: ATOMIC_PERMISSIONS.READ,\n\tUPLOAD_AND_UPDATE: ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE,\n\tFILE_DROP: ATOMIC_PERMISSIONS.CREATE,\n\tALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE,\n\tALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.SHARE,\n}\n\n/**\n * Get bundled permissions based on config.\n *\n * @param {boolean} excludeShare - Whether to exclude SHARE permission from ALL and ALL_FILE bundles.\n * @return {object}\n */\nexport function getBundledPermissions(excludeShare = false) {\n\tif (excludeShare) {\n\t\treturn {\n\t\t\t...BUNDLED_PERMISSIONS,\n\t\t\tALL: BUNDLED_PERMISSIONS.ALL & ~ATOMIC_PERMISSIONS.SHARE,\n\t\t\tALL_FILE: BUNDLED_PERMISSIONS.ALL_FILE & ~ATOMIC_PERMISSIONS.SHARE,\n\t\t}\n\t}\n\treturn BUNDLED_PERMISSIONS\n}\n\n/**\n * Return whether a given permissions set contains some permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToCheck - the permissions to check.\n * @return {boolean}\n */\nexport function hasPermissions(initialPermissionSet, permissionsToCheck) {\n\treturn initialPermissionSet !== ATOMIC_PERMISSIONS.NONE && (initialPermissionSet & permissionsToCheck) === permissionsToCheck\n}\n\n/**\n * Return whether a given permissions set is valid.\n *\n * @param {number} permissionsSet - the permissions set.\n *\n * @return {boolean}\n */\nexport function permissionsSetIsValid(permissionsSet) {\n\t// Must have at least READ or CREATE permission.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && !hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.CREATE)) {\n\t\treturn false\n\t}\n\n\t// Must have READ permission if have UPDATE or DELETE.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && (\n\t\thasPermissions(permissionsSet, ATOMIC_PERMISSIONS.UPDATE) || hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.DELETE)\n\t)) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n/**\n * Add some permissions to an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToAdd - the permissions to add.\n *\n * @return {number}\n */\nexport function addPermissions(initialPermissionSet, permissionsToAdd) {\n\treturn initialPermissionSet | permissionsToAdd\n}\n\n/**\n * Remove some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToSubtract - the permissions to remove.\n *\n * @return {number}\n */\nexport function subtractPermissions(initialPermissionSet, permissionsToSubtract) {\n\treturn initialPermissionSet & ~permissionsToSubtract\n}\n\n/**\n * Toggle some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {number}\n */\nexport function togglePermissions(initialPermissionSet, permissionsToToggle) {\n\tif (hasPermissions(initialPermissionSet, permissionsToToggle)) {\n\t\treturn subtractPermissions(initialPermissionSet, permissionsToToggle)\n\t} else {\n\t\treturn addPermissions(initialPermissionSet, permissionsToToggle)\n\t}\n}\n\n/**\n * Return whether some given permissions can be toggled from a permission set.\n *\n * @param {number} permissionSet - the initial permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {boolean}\n */\nexport function canTogglePermissions(permissionSet, permissionsToToggle) {\n\treturn permissionsSetIsValid(togglePermissions(permissionSet, permissionsToToggle))\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","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport logger from '../services/logger.ts';\nimport { isFileRequest } from '../services/SharingService.ts';\nexport default class Share {\n _share;\n /**\n * Create the share object\n *\n * @param ocsData ocs request response\n */\n constructor(ocsData) {\n if (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n ocsData = ocsData.ocs.data[0];\n }\n // string to int\n if (typeof ocsData.id === 'string') {\n ocsData.id = Number.parseInt(ocsData.id);\n }\n // convert int into boolean\n ocsData.hide_download = !!ocsData.hide_download;\n ocsData.mail_send = !!ocsData.mail_send;\n if (ocsData.attributes && typeof ocsData.attributes === 'string') {\n try {\n ocsData.attributes = JSON.parse(ocsData.attributes);\n }\n catch {\n logger.warn('Could not parse share attributes returned by server', ocsData.attributes);\n }\n }\n ocsData.attributes = ocsData.attributes ?? [];\n // store state\n this._share = ocsData;\n }\n /**\n * Get the share state\n * ! used for reactivity purpose\n * Do not remove. It allow vuejs to\n * inject its watchers into the #share\n * state and make the whole class reactive\n *\n * @return the share raw state\n */\n get state() {\n return this._share;\n }\n /**\n * get the share id\n */\n get id() {\n return this._share.id;\n }\n /**\n * Get the share type\n */\n get type() {\n return this._share.share_type;\n }\n /**\n * Get the share permissions\n * See window.OC.PERMISSION_* variables\n */\n get permissions() {\n return this._share.permissions;\n }\n /**\n * Get the share attributes\n */\n get attributes() {\n return this._share.attributes || [];\n }\n /**\n * Set the share permissions\n * See window.OC.PERMISSION_* variables\n */\n set permissions(permissions) {\n this._share.permissions = permissions;\n }\n // SHARE OWNER --------------------------------------------------\n /**\n * Get the share owner uid\n */\n get owner() {\n return this._share.uid_owner;\n }\n /**\n * Get the share owner's display name\n */\n get ownerDisplayName() {\n return this._share.displayname_owner;\n }\n // SHARED WITH --------------------------------------------------\n /**\n * Get the share with entity uid\n */\n get shareWith() {\n return this._share.share_with;\n }\n /**\n * Get the share with entity display name\n * fallback to its uid if none\n */\n get shareWithDisplayName() {\n return this._share.share_with_displayname\n || this._share.share_with;\n }\n /**\n * Unique display name in case of multiple\n * duplicates results with the same name.\n */\n get shareWithDisplayNameUnique() {\n return this._share.share_with_displayname_unique\n || this._share.share_with;\n }\n /**\n * Get the share with entity link\n */\n get shareWithLink() {\n return this._share.share_with_link;\n }\n /**\n * Get the share with avatar if any\n */\n get shareWithAvatar() {\n return this._share.share_with_avatar;\n }\n // SHARED FILE OR FOLDER OWNER ----------------------------------\n /**\n * Get the shared item owner uid\n */\n get uidFileOwner() {\n return this._share.uid_file_owner;\n }\n /**\n * Get the shared item display name\n * fallback to its uid if none\n */\n get displaynameFileOwner() {\n return this._share.displayname_file_owner\n || this._share.uid_file_owner;\n }\n // TIME DATA ----------------------------------------------------\n /**\n * Get the share creation timestamp\n */\n get createdTime() {\n return this._share.stime;\n }\n /**\n * Get the expiration date\n *\n * @return date with YYYY-MM-DD format\n */\n get expireDate() {\n return this._share.expiration;\n }\n /**\n * Set the expiration date\n *\n * @param date the share expiration date with YYYY-MM-DD format\n */\n set expireDate(date) {\n this._share.expiration = date;\n }\n // EXTRA DATA ---------------------------------------------------\n /**\n * Get the public share token\n */\n get token() {\n return this._share.token;\n }\n /**\n * Set the public share token\n */\n set token(token) {\n this._share.token = token;\n }\n /**\n * Get the share note if any\n */\n get note() {\n return this._share.note;\n }\n /**\n * Set the share note if any\n */\n set note(note) {\n this._share.note = note;\n }\n /**\n * Get the share label if any\n * Should only exist on link shares\n */\n get label() {\n return this._share.label ?? '';\n }\n /**\n * Set the share label if any\n * Should only be set on link shares\n */\n set label(label) {\n this._share.label = label;\n }\n /**\n * Have a mail been sent\n */\n get mailSend() {\n return this._share.mail_send === true;\n }\n /**\n * Hide the download button on public page\n */\n get hideDownload() {\n return this._share.hide_download === true\n || this.attributes.find?.(({ scope, key, value }) => scope === 'permissions' && key === 'download' && !value) !== undefined;\n }\n /**\n * Hide the download button on public page\n */\n set hideDownload(state) {\n // disabling hide-download also enables the download permission\n // needed for regression in Nextcloud 31.0.0 until (incl.) 31.0.3\n if (!state) {\n const attribute = this.attributes.find(({ key, scope }) => key === 'download' && scope === 'permissions');\n if (attribute) {\n attribute.value = true;\n }\n }\n this._share.hide_download = state === true;\n }\n /**\n * Password protection of the share\n */\n get password() {\n return this._share.password;\n }\n /**\n * Password protection of the share\n */\n set password(password) {\n this._share.password = password;\n }\n /**\n * Password expiration time\n *\n * @return date with YYYY-MM-DD format\n */\n get passwordExpirationTime() {\n return this._share.password_expiration_time;\n }\n /**\n * Password expiration time\n *\n * @param passwordExpirationTime date with YYYY-MM-DD format\n */\n set passwordExpirationTime(passwordExpirationTime) {\n this._share.password_expiration_time = passwordExpirationTime;\n }\n /**\n * Password protection by Talk of the share\n */\n get sendPasswordByTalk() {\n return this._share.send_password_by_talk;\n }\n /**\n * Password protection by Talk of the share\n *\n * @param sendPasswordByTalk whether to send the password by Talk or not\n */\n set sendPasswordByTalk(sendPasswordByTalk) {\n this._share.send_password_by_talk = sendPasswordByTalk;\n }\n // SHARED ITEM DATA ---------------------------------------------\n /**\n * Get the shared item absolute full path\n */\n get path() {\n return this._share.path;\n }\n /**\n * Return the item type: file or folder\n *\n * @return 'folder' | 'file'\n */\n get itemType() {\n return this._share.item_type;\n }\n /**\n * Get the shared item mimetype\n */\n get mimetype() {\n return this._share.mimetype;\n }\n /**\n * Get the shared item id\n */\n get fileSource() {\n return this._share.file_source;\n }\n /**\n * Get the target path on the receiving end\n * e.g the file /xxx/aaa will be shared in\n * the receiving root as /aaa, the fileTarget is /aaa\n */\n get fileTarget() {\n return this._share.file_target;\n }\n /**\n * Get the parent folder id if any\n */\n get fileParent() {\n return this._share.file_parent;\n }\n // PERMISSIONS Shortcuts\n /**\n * Does this share have READ permissions\n */\n get hasReadPermission() {\n return !!((this.permissions & window.OC.PERMISSION_READ));\n }\n /**\n * Does this share have CREATE permissions\n */\n get hasCreatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_CREATE));\n }\n /**\n * Does this share have DELETE permissions\n */\n get hasDeletePermission() {\n return !!((this.permissions & window.OC.PERMISSION_DELETE));\n }\n /**\n * Does this share have UPDATE permissions\n */\n get hasUpdatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_UPDATE));\n }\n /**\n * Does this share have SHARE permissions\n */\n get hasSharePermission() {\n return !!((this.permissions & window.OC.PERMISSION_SHARE));\n }\n /**\n * Does this share have download permissions\n */\n get hasDownloadPermission() {\n const hasDisabledDownload = (attribute) => {\n return attribute.scope === 'permissions' && attribute.key === 'download' && attribute.value === false;\n };\n return this.attributes.some(hasDisabledDownload);\n }\n /**\n * Is this mail share a file request ?\n */\n get isFileRequest() {\n return isFileRequest(JSON.stringify(this.attributes));\n }\n set hasDownloadPermission(enabled) {\n this.setAttribute('permissions', 'download', !!enabled);\n }\n setAttribute(scope, key, value) {\n const attrUpdate = {\n scope,\n key,\n value,\n };\n // try and replace existing\n for (const i in this._share.attributes) {\n const attr = this._share.attributes[i];\n if (attr.scope === attrUpdate.scope && attr.key === attrUpdate.key) {\n this._share.attributes.splice(i, 1, attrUpdate);\n return;\n }\n }\n this._share.attributes.push(attrUpdate);\n }\n // PERMISSIONS Shortcuts for the CURRENT USER\n // ! the permissions above are the share settings,\n // ! meaning the permissions for the recipient\n /**\n * Can the current user EDIT this share ?\n */\n get canEdit() {\n return this._share.can_edit === true;\n }\n /**\n * Can the current user DELETE this share ?\n */\n get canDelete() {\n return this._share.can_delete === true;\n }\n /**\n * Top level accessible shared folder fileid for the current user\n */\n get viaFileid() {\n return this._share.via_fileid;\n }\n /**\n * Top level accessible shared folder path for the current user\n */\n get viaPath() {\n return this._share.via_path;\n }\n // TODO: SORT THOSE PROPERTIES\n get parent() {\n return this._share.parent;\n }\n get storageId() {\n return this._share.storage_id;\n }\n get storage() {\n return this._share.storage;\n }\n get itemSource() {\n return this._share.item_source;\n }\n get status() {\n return this._share.status;\n }\n /**\n * Is the share from a trusted server\n */\n get isTrustedServer() {\n return !!this._share.is_trusted_server;\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// TODO: Fix this instead of disabling ESLint!!!\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport { File, Folder, Permission } from '@nextcloud/files';\nimport { getRemoteURL, getRootPath } from '@nextcloud/files/dav';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport logger from './logger.ts';\nconst headers = {\n 'Content-Type': 'application/json',\n};\n/**\n *\n * @param ocsEntry\n */\nasync function ocsEntryToNode(ocsEntry) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n const type = ocsEntry.type === 'dir' ? 'folder' : ocsEntry.type;\n ocsEntry.item_type = type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n if (ocsEntry.file_target.includes('TemporaryMountPointName')) {\n ocsEntry.file_target = ocsEntry.name;\n }\n // If the share is not accepted yet we don't know which permissions it will have\n if (!ocsEntry.accepted) {\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = `${getRemoteURL()}${getRootPath()}/${path.replace(/^\\/+/, '')}`;\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n let sharees;\n if ('share_with' in ocsEntry) {\n sharees = {\n sharee: {\n id: ocsEntry.share_with,\n 'display-name': ocsEntry.share_with_displayname || ocsEntry.share_with,\n type: ocsEntry.share_type,\n },\n };\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: getRootPath(),\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n 'hide-download': ocsEntry?.hide_download === 1,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n 'share-attributes': ocsEntry?.attributes || '[]',\n sharees,\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n}\n/**\n *\n * @param shareWithMe\n */\nfunction getShares(shareWithMe = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me: shareWithMe,\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getSharedWithYou() {\n return getShares(true);\n}\n/**\n *\n */\nfunction getSharedWithOthers() {\n return getShares();\n}\n/**\n *\n */\nfunction getRemoteShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getPendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getRemotePendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getDeletedShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n * Check if a file request is enabled\n *\n * @param attributes the share attributes json-encoded array\n */\nexport function isFileRequest(attributes = '[]') {\n const isFileRequest = (attribute) => {\n return attribute.scope === 'fileRequest' && attribute.key === 'enabled' && attribute.value === true;\n };\n try {\n const attributesArray = JSON.parse(attributes);\n return attributesArray.some(isFileRequest);\n }\n catch (error) {\n logger.error('Error while parsing share attributes', { error });\n return false;\n }\n}\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n *\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nfunction groupBy(nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n}\n/**\n *\n * @param sharedWithYou\n * @param sharedWithOthers\n * @param pendingShares\n * @param deletedshares\n * @param filterTypes\n */\nexport async function getContents(sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) {\n const promises = [];\n if (sharedWithYou) {\n promises.push(getSharedWithYou(), getRemoteShares());\n }\n if (sharedWithOthers) {\n promises.push(getSharedWithOthers());\n }\n if (pendingShares) {\n promises.push(getPendingShares(), getRemotePendingShares());\n }\n if (deletedshares) {\n promises.push(getDeletedShares());\n }\n const responses = await Promise.all(promises);\n const data = responses.map((response) => response.data.ocs.data).flat();\n let contents = (await Promise.all(data.map(ocsEntryToNode)))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map((node) => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: `${getRemoteURL()}${getRootPath()}`,\n owner: getCurrentUser()?.uid || null,\n root: getRootPath(),\n }),\n contents,\n };\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { loadState } from '@nextcloud/initial-state';\nexport default class Config {\n _capabilities;\n constructor() {\n this._capabilities = getCapabilities();\n }\n /**\n * Get default share permissions, if any\n */\n get defaultPermissions() {\n return this._capabilities.files_sharing?.default_permissions;\n }\n /**\n * Should SHARE permission be excluded from \"Allow editing\" bundled permissions\n */\n get excludeReshareFromEdit() {\n return this._capabilities.files_sharing?.exclude_reshare_from_edit === true;\n }\n /**\n * Is public upload allowed on link shares ?\n * This covers File request and Full upload/edit option.\n */\n get isPublicUploadEnabled() {\n return this._capabilities.files_sharing?.public?.upload === true;\n }\n /**\n * Get the federated sharing documentation link\n */\n get federatedShareDocLink() {\n return window.OC.appConfig.core.federatedCloudShareDoc;\n }\n /**\n * Get the default link share expiration date\n */\n get defaultExpirationDate() {\n if (this.isDefaultExpireDateEnabled && this.defaultExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate));\n }\n return null;\n }\n /**\n * Get the default internal expiration date\n */\n get defaultInternalExpirationDate() {\n if (this.isDefaultInternalExpireDateEnabled && this.defaultInternalExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate));\n }\n return null;\n }\n /**\n * Get the default remote expiration date\n */\n get defaultRemoteExpirationDateString() {\n if (this.isDefaultRemoteExpireDateEnabled && this.defaultRemoteExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate));\n }\n return null;\n }\n /**\n * Are link shares password-enforced ?\n */\n get enforcePasswordForPublicLink() {\n return window.OC.appConfig.core.enforcePasswordForPublicLink === true;\n }\n /**\n * Is password asked by default on link shares ?\n */\n get enableLinkPasswordByDefault() {\n return window.OC.appConfig.core.enableLinkPasswordByDefault === true;\n }\n /**\n * Is link shares expiration enforced ?\n */\n get isDefaultExpireDateEnforced() {\n return window.OC.appConfig.core.defaultExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new link shares ?\n */\n get isDefaultExpireDateEnabled() {\n return window.OC.appConfig.core.defaultExpireDateEnabled === true;\n }\n /**\n * Is internal shares expiration enforced ?\n */\n get isDefaultInternalExpireDateEnforced() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new internal shares ?\n */\n get isDefaultInternalExpireDateEnabled() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnabled === true;\n }\n /**\n * Is remote shares expiration enforced ?\n */\n get isDefaultRemoteExpireDateEnforced() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new remote shares ?\n */\n get isDefaultRemoteExpireDateEnabled() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnabled === true;\n }\n /**\n * Are users on this server allowed to send shares to other servers ?\n */\n get isRemoteShareAllowed() {\n return window.OC.appConfig.core.remoteShareAllowed === true;\n }\n /**\n * Is federation enabled ?\n */\n get isFederationEnabled() {\n return this._capabilities?.files_sharing?.federation?.outgoing === true;\n }\n /**\n * Is public sharing enabled ?\n */\n get isPublicShareAllowed() {\n return this._capabilities?.files_sharing?.public?.enabled === true;\n }\n /**\n * Is sharing my mail (link share) enabled ?\n */\n get isMailShareAllowed() {\n return this._capabilities?.files_sharing?.sharebymail?.enabled === true\n && this.isPublicShareAllowed === true;\n }\n /**\n * Get the default days to link shares expiration\n */\n get defaultExpireDate() {\n return window.OC.appConfig.core.defaultExpireDate;\n }\n /**\n * Get the default days to internal shares expiration\n */\n get defaultInternalExpireDate() {\n return window.OC.appConfig.core.defaultInternalExpireDate;\n }\n /**\n * Get the default days to remote shares expiration\n */\n get defaultRemoteExpireDate() {\n return window.OC.appConfig.core.defaultRemoteExpireDate;\n }\n /**\n * Is resharing allowed ?\n */\n get isResharingAllowed() {\n return window.OC.appConfig.core.resharingAllowed === true;\n }\n /**\n * Is password enforced for mail shares ?\n */\n get isPasswordForMailSharesRequired() {\n return this._capabilities.files_sharing?.sharebymail?.password?.enforced === true;\n }\n /**\n * Always show the email or userid unique sharee label if enabled by the admin\n */\n get shouldAlwaysShowUnique() {\n return this._capabilities.files_sharing?.sharee?.always_show_unique === true;\n }\n /**\n * Is sharing with groups allowed ?\n */\n get allowGroupSharing() {\n return window.OC.appConfig.core.allowGroupSharing === true;\n }\n /**\n * Get the maximum results of a share search\n */\n get maxAutocompleteResults() {\n return parseInt(window.OC.config['sharing.maxAutocompleteResults'], 10) || 25;\n }\n /**\n * Get the minimal string length\n * to initiate a share search\n */\n get minSearchStringLength() {\n return parseInt(window.OC.config['sharing.minSearchStringLength'], 10) || 0;\n }\n /**\n * Get the password policy configuration\n */\n get passwordPolicy() {\n return this._capabilities?.password_policy || {};\n }\n /**\n * Returns true if custom tokens are allowed\n */\n get allowCustomTokens() {\n return this._capabilities?.files_sharing?.public?.custom_tokens;\n }\n /**\n * Show federated shares as internal shares\n *\n * @return\n */\n get showFederatedSharesAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesAsInternal', false);\n }\n /**\n * Show federated shares to trusted servers as internal shares\n *\n * @return\n */\n get showFederatedSharesToTrustedServersAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesToTrustedServersAsInternal', false);\n }\n /**\n * Show the external share ui\n */\n get showExternalSharing() {\n return loadState('files_sharing', 'showExternalSharing', true);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ATOMIC_PERMISSIONS } from '../lib/SharePermissionsToolBox.js'\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tmethods: {\n\t\tasync openSharingDetails(shareRequestObject) {\n\t\t\tlet share = {}\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\t// TODO : Better name/interface for handler required\n\t\t\t// For example `externalAppCreateShareHook` with proper documentation\n\t\t\tif (shareRequestObject.handler) {\n\t\t\t\tconst handlerInput = {}\n\t\t\t\tif (this.suggestions) {\n\t\t\t\t\thandlerInput.suggestions = this.suggestions\n\t\t\t\t\thandlerInput.fileInfo = this.fileInfo\n\t\t\t\t\thandlerInput.query = this.query\n\t\t\t\t}\n\t\t\t\tconst externalShareRequestObject = await shareRequestObject.handler(handlerInput)\n\t\t\t\tshare = this.mapShareRequestToShareObject(externalShareRequestObject)\n\t\t\t} else {\n\t\t\t\tshare = this.mapShareRequestToShareObject(shareRequestObject)\n\t\t\t}\n\n\t\t\tif (this.fileInfo.type !== 'dir') {\n\t\t\t\tconst originalPermissions = share.permissions\n\t\t\t\tconst strippedPermissions = originalPermissions\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.CREATE\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.DELETE\n\n\t\t\t\tif (originalPermissions !== strippedPermissions) {\n\t\t\t\t\tlogger.debug('Removed create/delete permissions from file share (only valid for folders)')\n\t\t\t\t\tshare.permissions = strippedPermissions\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst shareDetails = {\n\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\tshare,\n\t\t\t}\n\n\t\t\tthis.$emit('open-sharing-details', shareDetails)\n\t\t},\n\t\topenShareDetailsForCustomSettings(share) {\n\t\t\tshare.setCustomPermissions = true\n\t\t\tthis.openSharingDetails(share)\n\t\t},\n\t\tmapShareRequestToShareObject(shareRequestObject) {\n\t\t\tif (shareRequestObject.id) {\n\t\t\t\treturn shareRequestObject\n\t\t\t}\n\n\t\t\tconst share = {\n\t\t\t\tattributes: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tkey: 'download',\n\t\t\t\t\t\tscope: 'permissions',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\thideDownload: false,\n\t\t\t\tshare_type: shareRequestObject.shareType,\n\t\t\t\tshare_with: shareRequestObject.shareWith,\n\t\t\t\tis_no_user: shareRequestObject.isNoUser,\n\t\t\t\tuser: shareRequestObject.shareWith,\n\t\t\t\tshare_with_displayname: shareRequestObject.displayName,\n\t\t\t\tsubtitle: shareRequestObject.subtitle,\n\t\t\t\tpermissions: shareRequestObject.permissions ?? new Config().defaultPermissions,\n\t\t\t\texpiration: '',\n\t\t\t}\n\n\t\t\treturn new Share(share)\n\t\t},\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport Share from '../models/Share.ts'\nimport logger from '../services/logger.ts'\n\n// TODO: remove when ie not supported\nimport 'url-search-params-polyfill'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {object} data destructuring object\n\t\t * @param {string} data.path path to the file/folder which should be shared\n\t\t * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload] allow public upload to a public shared folder\n\t\t * @param {string} [data.password] password to protect public link Share with\n\t\t * @param {number} [data.permissions] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate] expire the share automatically after\n\t\t * @param {string} [data.label] custom label\n\t\t * @param {string} [data.attributes] Share attributes encoded as json\n\t\t * @param {string} data.note custom note to recipient\n\t\t * @return {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\tconst share = new Share(request.data.ocs.data)\n\t\t\t\temit('files_sharing:share:created', { share })\n\t\t\t\treturn share\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error while creating share', { error })\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tshowError(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error creating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error creating the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\temit('files_sharing:share:deleted', { id })\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error while deleting share', { error })\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error deleting the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error deleting the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties)\n\t\t\t\temit('files_sharing:share:updated', { id })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t} else {\n\t\t\t\t\treturn request.data.ocs.data\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error while updating share', { error })\n\t\t\t\tif (error.response.status !== 400) {\n\t\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\t\terrorMessage ? t('files_sharing', 'Error updating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error updating the share'),\n\t\t\t\t\t\t{ type: 'error' },\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst message = error.response.data.ocs.meta.message\n\t\t\t\tthrow new Error(message)\n\t\t\t}\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=b9057cce\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.section.element,{ref:\"sectionElement\",tag:\"component\",domProps:{\"node\":_vm.node}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SidebarTabExternalSection.vue?vue&type=template&id=9785f99e\"\nimport script from \"./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"sharing-tab-external-section-legacy\"},[_c(_setup.component,{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SidebarTabExternalSectionLegacy.vue?vue&type=template&id=3e4e67d2&scoped=true\"\nimport script from \"./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"\nimport style0 from \"./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3e4e67d2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTabDetailsView\"},[_c('div',{staticClass:\"sharingTabDetailsView__header\"},[_c('span',[(_vm.isUserShare)?_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.shareType !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":\"left\",\"url\":_vm.share.shareWithAvatar}}):_vm._e(),_vm._v(\" \"),_c(_vm.getShareTypeIcon(_vm.share.type),{tag:\"component\",attrs:{\"size\":32}})],1),_vm._v(\" \"),_c('span',[_c('h1',[_vm._v(_vm._s(_vm.title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__wrapper\"},[_c('div',{ref:\"quickPermissions\",staticClass:\"sharingTabDetailsView__quick-permissions\"},[_c('div',[_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"read-only\",\"value\":_vm.bundledPermissions.READ_ONLY.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ViewIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'View only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"upload-edit\",\"value\":_vm.allPermissions,\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('EditIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[(_vm.allowsFileDrop)?[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]:[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\\t\")]],2),_vm._v(\" \"),(_vm.allowsFileDrop)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-sharing-share-permissions-bundle\":\"file-drop\",\"button-variant\":true,\"value\":_vm.bundledPermissions.FILE_DROP.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('UploadIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1083194048),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File request'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.t('files_sharing', 'Upload only')))])]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"custom\",\"value\":\"custom\",\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.expandCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.customPermissionsList))])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__advanced-control\"},[_c('NcButton',{attrs:{\"id\":\"advancedSectionAccordionAdvancedControl\",\"variant\":\"tertiary\",\"alignment\":\"end-reverse\",\"aria-controls\":\"advancedSectionAccordionAdvanced\",\"aria-expanded\":_vm.advancedControlExpandedValue},on:{\"click\":function($event){_vm.advancedSectionAccordionExpanded = !_vm.advancedSectionAccordionExpanded}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!_vm.advancedSectionAccordionExpanded)?_c('MenuDownIcon'):_c('MenuUpIcon')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Advanced settings'))+\"\\n\\t\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.advancedSectionAccordionExpanded)?_c('div',{staticClass:\"sharingTabDetailsView__advanced\",attrs:{\"id\":\"advancedSectionAccordionAdvanced\",\"aria-labelledby\":\"advancedSectionAccordionAdvancedControl\",\"role\":\"region\"}},[_c('section',[(_vm.isPublicShare)?_c('NcInputField',{staticClass:\"sharingTabDetailsView__label\",attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share label')},model:{value:(_vm.share.label),callback:function ($$v) {_vm.$set(_vm.share, \"label\", $$v)},expression:\"share.label\"}}):_vm._e(),_vm._v(\" \"),(_vm.config.allowCustomTokens && _vm.isPublicShare && !_vm.isNewShare)?_c('NcInputField',{attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share link token'),\"helper-text\":_vm.t('files_sharing', 'Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information.'),\"show-trailing-button\":\"\",\"trailing-button-label\":_vm.loadingToken ? _vm.t('files_sharing', 'Generating…') : _vm.t('files_sharing', 'Generate new token')},on:{\"trailing-button-click\":_vm.generateNewToken},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [(_vm.loadingToken)?_c('NcLoadingIcon'):_c('Refresh',{attrs:{\"size\":20}})]},proxy:true}],null,false,4228062821),model:{value:(_vm.share.token),callback:function ($$v) {_vm.$set(_vm.share, \"token\", $$v)},expression:\"share.token\"}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.isPasswordEnforced},model:{value:(_vm.isPasswordProtected),callback:function ($$v) {_vm.isPasswordProtected=$$v},expression:\"isPasswordProtected\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Set password'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('NcPasswordField',{attrs:{\"autocomplete\":\"new-password\",\"model-value\":_vm.share.newPassword ?? '',\"error\":_vm.passwordError,\"helper-text\":_vm.errorPasswordLabel || _vm.passwordHint,\"required\":_vm.isPasswordEnforced && _vm.isNewShare,\"label\":_vm.t('files_sharing', 'Password')},on:{\"update:value\":_vm.onPasswordChange}}):_vm._e(),_vm._v(\" \"),(_vm.isEmailShareType && _vm.passwordExpirationTime)?_c('span',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime: _vm.passwordExpirationTime }))+\"\\n\\t\\t\\t\\t\\t\")]):(_vm.isEmailShareType && _vm.passwordExpirationTime !== null)?_c('span',{attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expired'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.canTogglePasswordProtectedByTalkAvailable)?_c('NcCheckboxRadioSwitch',{on:{\"update:modelValue\":_vm.onPasswordProtectedByTalkChange},model:{value:(_vm.isPasswordProtectedByTalk),callback:function ($$v) {_vm.isPasswordProtectedByTalk=$$v},expression:\"isPasswordProtectedByTalk\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.isExpiryDateEnforced},model:{value:(_vm.hasExpirationDate),callback:function ($$v) {_vm.hasExpirationDate=$$v},expression:\"hasExpirationDate\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.isExpiryDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('NcDateTimePickerNative',{attrs:{\"id\":\"share-date-picker\",\"model-value\":new Date(_vm.share.expireDate ?? _vm.dateTomorrow),\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced,\"hide-label\":\"\",\"label\":_vm.t('files_sharing', 'Expiration date'),\"placeholder\":_vm.t('files_sharing', 'Expiration date'),\"type\":\"date\"},on:{\"input\":_vm.onExpirationChange}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.canChangeHideDownload},on:{\"update:modelValue\":function($event){return _vm.queueUpdate('hideDownload')}},model:{value:(_vm.share.hideDownload),callback:function ($$v) {_vm.$set(_vm.share, \"hideDownload\", $$v)},expression:\"share.hideDownload\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]):_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDownload,\"data-cy-files-sharing-share-permissions-checkbox\":\"download\"},model:{value:(_vm.canDownload),callback:function ($$v) {_vm.canDownload=$$v},expression:\"canDownload\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow download and sync'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(_vm.writeNoteToRecipientIsChecked),callback:function ($$v) {_vm.writeNoteToRecipientIsChecked=$$v},expression:\"writeNoteToRecipientIsChecked\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.writeNoteToRecipientIsChecked)?[_c('NcTextArea',{attrs:{\"label\":_vm.t('files_sharing', 'Note to recipient'),\"placeholder\":_vm.t('files_sharing', 'Enter a note for the share recipient')},model:{value:(_vm.share.note),callback:function ($$v) {_vm.$set(_vm.share, \"note\", $$v)},expression:\"share.note\"}})]:_vm._e(),_vm._v(\" \"),(_vm.isPublicShare && _vm.isFolder)?_c('NcCheckboxRadioSwitch',{model:{value:(_vm.showInGridView),callback:function ($$v) {_vm.showInGridView=$$v},expression:\"showInGridView\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Show files in grid view'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.sortedExternalShareActions),function(action){return _c('SidebarTabExternalAction',{key:action.id,ref:\"externalShareActions\",refInFor:true,attrs:{\"action\":action,\"node\":_vm.fileInfo.node /* TODO: Fix once we have proper Node API */,\"share\":_vm.share}})}),_vm._v(\" \"),_vm._l((_vm.externalLegacyShareActions),function(action){return _c('SidebarTabExternalActionLegacy',{key:action.id,ref:\"externalLinkActions\",refInFor:true,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(_vm.setCustomPermissions),callback:function ($$v) {_vm.setCustomPermissions=$$v},expression:\"setCustomPermissions\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.setCustomPermissions)?_c('section',{staticClass:\"custom-permissions-group\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canRemoveReadPermission,\"data-cy-files-sharing-share-permissions-checkbox\":\"read\"},model:{value:(_vm.hasRead),callback:function ($$v) {_vm.hasRead=$$v},expression:\"hasRead\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetCreate,\"data-cy-files-sharing-share-permissions-checkbox\":\"create\"},model:{value:(_vm.canCreate),callback:function ($$v) {_vm.canCreate=$$v},expression:\"canCreate\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetEdit,\"data-cy-files-sharing-share-permissions-checkbox\":\"update\"},model:{value:(_vm.canEdit),callback:function ($$v) {_vm.canEdit=$$v},expression:\"canEdit\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Edit'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.resharingIsPossible)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetReshare,\"data-cy-files-sharing-share-permissions-checkbox\":\"share\"},model:{value:(_vm.canReshare),callback:function ($$v) {_vm.canReshare=$$v},expression:\"canReshare\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDelete,\"data-cy-files-sharing-share-permissions-checkbox\":\"delete\"},model:{value:(_vm.canDelete),callback:function ($$v) {_vm.canDelete=$$v},expression:\"canDelete\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete'))+\"\\n\\t\\t\\t\\t\\t\")])],1):_vm._e()],2)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__footer\"},[_c('div',{staticClass:\"button-group\"},[_c('NcButton',{attrs:{\"data-cy-files-sharing-share-editor-action\":\"cancel\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__delete\"},[(!_vm.isNewShare)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files_sharing', 'Delete share'),\"disabled\":false,\"readonly\":false,\"variant\":\"tertiary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete share'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"primary\",\"data-cy-files-sharing-share-editor-action\":\"save\",\"disabled\":_vm.creating},on:{\"click\":_vm.saveShare},scopedSlots:_vm._u([(_vm.creating)?{key:\"icon\",fn:function(){return [_c('NcLoadingIcon')]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.shareButtonText)+\"\\n\\t\\t\\t\\t\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountCircleOutline.vue?vue&type=template&id=5b2fe1de\"\nimport script from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"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,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./AccountGroup.vue?vue&type=template&id=fa2b1464\"\nimport script from \"./AccountGroup.vue?vue&type=script&lang=js\"\nexport * from \"./AccountGroup.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-group-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./CircleOutline.vue?vue&type=template&id=c013567c\"\nimport script from \"./CircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"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\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=7dd7f6aa\"\nimport script from \"./Email.vue?vue&type=script&lang=js\"\nexport * from \"./Email.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon email-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Eye.vue?vue&type=template&id=4ae2345c\"\nimport script from \"./Eye.vue?vue&type=script&lang=js\"\nexport * from \"./Eye.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareCircle.vue?vue&type=template&id=0e958886\"\nimport script from \"./ShareCircle.vue?vue&type=script&lang=js\"\nexport * from \"./ShareCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon share-circle-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowUp.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowUp.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./TrayArrowUp.vue?vue&type=template&id=ae55bf4e\"\nimport script from \"./TrayArrowUp.vue?vue&type=script&lang=js\"\nexport * from \"./TrayArrowUp.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tray-arrow-up-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"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\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.action.element,{key:_vm.action.id,ref:\"actionElement\",tag:\"component\",domProps:{\"share\":_vm.share,\"node\":_vm.node,\"onSave\":_setup.onSave}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SidebarTabExternalAction.vue?vue&type=template&id=5ea2e6c7\"\nimport script from \"./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SidebarTabExternalActionLegacy.vue?vue&type=template&id=50e2cb04\"\nimport script from \"./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"\nexport * from \"./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.data.is,_vm._g(_vm._b({tag:\"component\"},'component',_vm.data,false),_vm.action.handlers),[_vm._v(\"\\n\\t\"+_vm._s(_vm.data.text)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav';\nexport const client = getClient();\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) {\n const propfindPayload = getDefaultPropfind();\n const result = await client.stat(`${getRootPath()}${path}`, {\n details: true,\n data: propfindPayload,\n });\n return resultToNode(result.data);\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { showError, showSuccess } from '@nextcloud/dialogs';\nimport { t } from '@nextcloud/l10n';\nimport Config from '../services/ConfigService.ts';\nimport logger from '../services/logger.ts';\nconst config = new Config();\n// note: some chars removed on purpose to make them human friendly when read out\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789';\n/**\n * Generate a valid policy password or request a valid password if password_policy is enabled\n *\n * @param verbose If enabled the the status is shown to the user via toast\n */\nexport default async function (verbose = false) {\n // password policy is enabled, let's request a pass\n if (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n try {\n const request = await axios.get(config.passwordPolicy.api.generate);\n if (request.data.ocs.data.password) {\n if (verbose) {\n showSuccess(t('files_sharing', 'Password created successfully'));\n }\n return request.data.ocs.data.password;\n }\n }\n catch (error) {\n logger.info('Error generating password from password_policy', { error });\n if (verbose) {\n showError(t('files_sharing', 'Error generating password from password policy'));\n }\n }\n }\n const array = new Uint8Array(10);\n const ratio = passwordSet.length / 255;\n getRandomValues(array);\n let password = '';\n for (let i = 0; i < array.length; i++) {\n password += passwordSet.charAt(array[i] * ratio);\n }\n return password;\n}\n/**\n * Fills the given array with cryptographically secure random values.\n * If the crypto API is not available, it falls back to less secure Math.random().\n * Crypto API is available in modern browsers on secure contexts (HTTPS).\n *\n * @param array - The array to fill with random values.\n */\nfunction getRandomValues(array) {\n if (self?.crypto?.getRandomValues) {\n self.crypto.getRandomValues(array);\n return;\n }\n let len = array.length;\n while (len--) {\n array[len] = Math.floor(Math.random() * 256);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { ShareType } from '@nextcloud/sharing'\nimport debounce from 'debounce'\nimport PQueue from 'p-queue'\nimport { fetchNode } from '../../../files/src/services/WebdavClient.ts'\nimport {\n\tATOMIC_PERMISSIONS,\n\tgetBundledPermissions,\n} from '../lib/SharePermissionsToolBox.js'\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport SharesRequests from './ShareRequests.js'\n\nexport default {\n\tmixins: [SharesRequests],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tnode: null,\n\t\t\tShareType,\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t/** @type {boolean | undefined} */\n\t\t\tpasswordProtectedState: undefined,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpath() {\n\t\t\treturn (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t},\n\t\t/**\n\t\t * Does the current share have a note\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\n\t\t// Datepicker language\n\t\tlang() {\n\t\t\tconst weekdaysShort = window.dayNamesShort\n\t\t\t\t? window.dayNamesShort // provided by Nextcloud\n\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.']\n\t\t\tconst monthsShort = window.monthNamesShort\n\t\t\t\t? window.monthNamesShort // provided by Nextcloud\n\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.']\n\t\t\tconst firstDayOfWeek = window.firstDay ? window.firstDay : 0\n\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tfirstDayOfWeek,\n\t\t\t\t\tmonthsShort,\n\t\t\t\t\tweekdaysMin: weekdaysShort,\n\t\t\t\t\tweekdaysShort,\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMM',\n\t\t\t}\n\t\t},\n\t\tisNewShare() {\n\t\t\treturn !this.share.id\n\t\t},\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\tisPublicShare() {\n\t\t\tconst shareType = this.share.shareType ?? this.share.type\n\t\t\treturn [ShareType.Link, ShareType.Email].includes(shareType)\n\t\t},\n\t\tisRemoteShare() {\n\t\t\treturn this.share.type === ShareType.RemoteGroup || this.share.type === ShareType.Remote\n\t\t},\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\t\tisExpiryDateEnforced() {\n\t\t\tif (this.isPublicShare) {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t}\n\t\t\tif (this.isRemoteShare) {\n\t\t\t\treturn this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t}\n\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t},\n\t\thasCustomPermissions() {\n\t\t\tconst basePermissions = getBundledPermissions(true)\n\t\t\tconst bundledPermissions = [\n\t\t\t\tbasePermissions.ALL,\n\t\t\t\tbasePermissions.ALL_FILE,\n\t\t\t\tbasePermissions.READ_ONLY,\n\t\t\t\tbasePermissions.FILE_DROP,\n\t\t\t]\n\t\t\tconst permissionsWithoutShare = this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE\n\t\t\treturn !bundledPermissions.includes(permissionsWithoutShare)\n\t\t},\n\t\tmaxExpirationDateEnforced() {\n\t\t\tif (this.isExpiryDateEnforced) {\n\t\t\t\tif (this.isPublicShare) {\n\t\t\t\t\treturn this.config.defaultExpirationDate\n\t\t\t\t}\n\t\t\t\tif (this.isRemoteShare) {\n\t\t\t\t\treturn this.config.defaultRemoteExpirationDateString\n\t\t\t\t}\n\t\t\t\t// If it get's here then it must be an internal share\n\t\t\t\treturn this.config.defaultInternalExpirationDate\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\tif (this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tif (this.passwordProtectedState !== undefined) {\n\t\t\t\t\treturn this.passwordProtectedState\n\t\t\t\t}\n\t\t\t\treturn typeof this.share.newPassword === 'string'\n\t\t\t\t\t|| typeof this.share.password === 'string'\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tif (enabled) {\n\t\t\t\t\tthis.passwordProtectedState = true\n\t\t\t\t\tthis.$set(this.share, 'newPassword', await GeneratePassword(true))\n\t\t\t\t} else {\n\t\t\t\t\tthis.passwordProtectedState = false\n\t\t\t\t\tthis.$set(this.share, 'newPassword', '')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Fetch WebDAV node\n\t\t *\n\t\t * @return {Node}\n\t\t */\n\t\tasync getNode() {\n\t\t\tconst node = { path: this.path }\n\t\t\ttry {\n\t\t\t\tthis.node = await fetchNode(node.path)\n\t\t\t\tlogger.info('Fetched node:', { node: this.node })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error:', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @return {boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.newPassword) {\n\t\t\t\tif (typeof share.newPassword !== 'string') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = share.expirationDate\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * @param {Date} date the date to format\n\t\t * @return {string} date a date with YYYY-MM-DD format\n\t\t */\n\t\tformatDateToString(date) {\n\t\t\t// Force utc time. Drop time information to be timezone-less\n\t\t\tconst utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t// Format to YYYY-MM-DD\n\t\t\treturn utcDate.toISOString().split('T')[0]\n\t\t},\n\n\t\t/**\n\t\t * Save given value to expireDate and trigger queueUpdate\n\t\t *\n\t\t * @param {Date} date\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\tif (!date) {\n\t\t\t\tthis.share.expireDate = null\n\t\t\t\tthis.$set(this.share, 'expireDate', null)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst parsedDate = (date instanceof Date) ? date : new Date(date)\n\t\t\tthis.share.expireDate = this.formatDateToString(parsedDate)\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t *\n\t\t * @param {string} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tlogger.debug('Share deleted', { shareId: this.share.id })\n\t\t\t\tconst message = this.share.itemType === 'file'\n\t\t\t\t\t? t('files_sharing', 'File \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\t\t: t('files_sharing', 'Folder \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\tshowSuccess(message)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t\tawait this.getNode()\n\t\t\t\temit('files:node:updated', this.node)\n\t\t\t} catch {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {Array} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tfor (const name of propertyNames) {\n\t\t\t\t\tif (name === 'password') {\n\t\t\t\t\t\tif (this.share.newPassword !== undefined) {\n\t\t\t\t\t\t\tproperties[name] = this.share.newPassword\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.share[name] === null || this.share[name] === undefined) {\n\t\t\t\t\t\tproperties[name] = ''\n\t\t\t\t\t} else if ((typeof this.share[name]) === 'object') {\n\t\t\t\t\t\tproperties[name] = JSON.stringify(this.share[name])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tproperties[name] = this.share[name].toString()\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn this.updateQueue.add(async () => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst updatedShare = await this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.includes('password')) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.share.password = this.share.newPassword || undefined\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t\t\t\t\t// updates password expiration time after sync\n\t\t\t\t\t\t\tthis.share.passwordExpirationTime = updatedShare.password_expiration_time\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tfor (const property of propertyNames) {\n\t\t\t\t\t\t\tthis.$delete(this.errors, property)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowSuccess(this.updateSuccessMessage(propertyNames))\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tlogger.error('Could not update share', { error, share: this.share, propertyNames })\n\n\t\t\t\t\t\tconst { message } = error\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tfor (const property of propertyNames) {\n\t\t\t\t\t\t\t\tthis.onSyncError(property, message)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowError(message)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// We do not have information what happened, but we should still inform the user\n\t\t\t\t\t\t\tshowError(t('files_sharing', 'Could not update share'))\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// This share does not exists on the server yet\n\t\t\tlogger.debug('Updated local share', { share: this.share })\n\t\t},\n\n\t\t/**\n\t\t * @param {string[]} names Properties changed\n\t\t */\n\t\tupdateSuccessMessage(names) {\n\t\t\tif (names.length !== 1) {\n\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\n\t\t\tswitch (names[0]) {\n\t\t\t\tcase 'expireDate':\n\t\t\t\t\treturn t('files_sharing', 'Share expiry date saved')\n\t\t\t\tcase 'hideDownload':\n\t\t\t\t\treturn t('files_sharing', 'Share hide-download state saved')\n\t\t\t\tcase 'label':\n\t\t\t\t\treturn t('files_sharing', 'Share label saved')\n\t\t\t\tcase 'note':\n\t\t\t\t\treturn t('files_sharing', 'Share note for recipient saved')\n\t\t\t\tcase 'password':\n\t\t\t\t\treturn t('files_sharing', 'Share password saved')\n\t\t\t\tcase 'permissions':\n\t\t\t\t\treturn t('files_sharing', 'Share permissions saved')\n\t\t\t\tdefault:\n\t\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t *\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\tif (property === 'password' && this.share.newPassword !== undefined) {\n\t\t\t\tif (this.share.newPassword === this.share.password) {\n\t\t\t\t\tthis.share.password = ''\n\t\t\t\t}\n\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t}\n\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\t\tcase 'password':\n\t\t\t\tcase 'pending':\n\t\t\t\tcase 'expireDate':\n\t\t\t\tcase 'label':\n\t\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\t\tif (propertyEl) {\n\t\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t\t// Restore previous state\n\t\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nimport isSvg from 'is-svg';\n/**\n * Register a new sidebar action\n *\n * @param action - The action to register\n */\nexport function registerSidebarAction(action) {\n if (!action.id) {\n throw new Error('Sidebar actions must have an id');\n }\n if (!action.element || !action.element.startsWith('oca_') || !window.customElements.get(action.element)) {\n throw new Error('Sidebar actions must provide a registered custom web component identifier');\n }\n if (typeof action.order !== 'number') {\n throw new Error('Sidebar actions must have the order property');\n }\n if (typeof action.enabled !== 'function') {\n throw new Error('Sidebar actions must implement the \"enabled\" method');\n }\n window._nc_files_sharing_sidebar_actions ??= new Map();\n if (window._nc_files_sharing_sidebar_actions.has(action.id)) {\n throw new Error(`Sidebar action with id \"${action.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_actions.set(action.id, action);\n}\n/**\n * Register a new sidebar action\n *\n * @param action - The action to register\n */\nexport function registerSidebarInlineAction(action) {\n if (!action.id) {\n throw new Error('Sidebar actions must have an id');\n }\n if (typeof action.order !== 'number') {\n throw new Error('Sidebar actions must have the \"order\" property');\n }\n if (typeof action.iconSvg !== 'string' || !isSvg(action.iconSvg)) {\n throw new Error('Sidebar actions must have the \"iconSvg\" property');\n }\n if (typeof action.label !== 'function') {\n throw new Error('Sidebar actions must implement the \"label\" method');\n }\n if (typeof action.exec !== 'function') {\n throw new Error('Sidebar actions must implement the \"exec\" method');\n }\n if (typeof action.enabled !== 'function') {\n throw new Error('Sidebar actions must implement the \"enabled\" method');\n }\n window._nc_files_sharing_sidebar_inline_actions ??= new Map();\n if (window._nc_files_sharing_sidebar_inline_actions.has(action.id)) {\n throw new Error(`Sidebar action with id \"${action.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_inline_actions.set(action.id, action);\n}\n/**\n * Get all registered sidebar actions\n */\nexport function getSidebarActions() {\n return [...(window._nc_files_sharing_sidebar_actions?.values() ?? [])];\n}\n/**\n * Get all registered sidebar inline actions\n */\nexport function getSidebarInlineActions() {\n return [...(window._nc_files_sharing_sidebar_inline_actions?.values() ?? [])];\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\n/**\n *\n */\nexport async function generateToken() {\n const { data } = await axios.get(generateOcsUrl('/apps/files_sharing/api/v1/token'));\n return data.ocs.data.token;\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=1a9646b6&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=1a9646b6&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingDetailsTab.vue?vue&type=template&id=1a9646b6&scoped=true\"\nimport script from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingDetailsTab.vue?vue&type=style&index=0&id=1a9646b6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a9646b6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle,\"aria-expanded\":_vm.showInheritedShares},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon,\"aria-label\":_vm.toggleTooltip,\"title\":_vm.toggleTooltip},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}})],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share},on:{\"remove:share\":_vm.removeShare}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=731a9650&scoped=true\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"731a9650\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('NcActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', { folder: _vm.viaFolderName }))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=cedf3238&scoped=true\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cedf3238\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Link shares')}},[(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"index\":_vm.shares.length > 1 ? index + 1 : null,\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare(...arguments)}],\"add:share\":function($event){return _vm.addShare(...arguments)},\"remove:share\":_vm.removeShare,\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}):_vm._e(),_vm._v(\" \"),(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlankOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlankOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CalendarBlankOutline.vue?vue&type=template&id=784b59e6\"\nimport script from \"./CalendarBlankOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarBlankOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon calendar-blank-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19V7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./CheckBold.vue?vue&type=template&id=5603f41f\"\nimport script from \"./CheckBold.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBold.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon check-bold-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Exclamation.vue?vue&type=template&id=03239926\"\nimport script from \"./Exclamation.vue?vue&type=script&lang=js\"\nexport * from \"./Exclamation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon exclamation-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./LockOutline.vue?vue&type=template&id=54353a96\"\nimport script from \"./LockOutline.vue?vue&type=script&lang=js\"\nexport * from \"./LockOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon lock-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Plus.vue?vue&type=template&id=055261ec\"\nimport script from \"./Plus.vue?vue&type=script&lang=js\"\nexport * from \"./Plus.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon plus-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Qrcode.vue?vue&type=template&id=aba87788\"\nimport script from \"./Qrcode.vue?vue&type=script&lang=js\"\nexport * from \"./Qrcode.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon qrcode-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Tune.vue?vue&type=template&id=18d04e6a\"\nimport script from \"./Tune.vue?vue&type=script&lang=js\"\nexport * from \"./Tune.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tune-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-expiry-time\"},[_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [(_vm.expiryTime)?_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary\",\"aria-label\":_vm.t('files_sharing', 'Share expiration: {date}', { date: new Date(_vm.expiryTime).toLocaleString() })},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ClockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,3754271979)}):_vm._e()]},proxy:true}])},[_vm._v(\" \"),_c('h3',{staticClass:\"hint-heading\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share Expiration'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.expiryTime)?_c('p',{staticClass:\"hint-body\"},[_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime,\"format\":_vm.timeFormat,\"relative-time\":false}}),_vm._v(\" (\"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime}}),_vm._v(\")\\n\\t\\t\")],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClockOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClockOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClockOutline.vue?vue&type=template&id=1a84e403\"\nimport script from \"./ClockOutline.vue?vue&type=script&lang=js\"\nexport * from \"./ClockOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clock-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ShareExpiryTime.vue?vue&type=template&id=c9199db0&scoped=true\"\nimport script from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nexport * from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nimport style0 from \"./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c9199db0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./EyeOutline.vue?vue&type=template&id=e26de6f6\"\nimport script from \"./EyeOutline.vue?vue&type=script&lang=js\"\nexport * from \"./EyeOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"","\n\n","\n\n\n\n\n\n","import { render, staticRenderFns } from \"./TriangleSmallDown.vue?vue&type=template&id=1eed3dd9\"\nimport script from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\nexport * from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon triangle-small-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8 9H16L12 16\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryQuickShareSelect.vue?vue&type=template&id=b5eca1ec&scoped=true\"\nimport script from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b5eca1ec\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{ref:\"quickShareActions\",staticClass:\"share-select\",attrs:{\"menu-name\":_vm.selectedOption,\"aria-label\":_vm.ariaLabel,\"variant\":\"tertiary-no-background\",\"disabled\":!_vm.share.canEdit,\"force-name\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DropdownIcon',{attrs:{\"size\":15}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.options),function(option){return _c('NcActionButton',{key:option.label,attrs:{\"type\":\"radio\",\"model-value\":option.label === _vm.selectedOption,\"close-after-click\":\"\"},on:{\"click\":function($event){return _vm.selectOption(option.label)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(option.icon,{tag:\"component\"})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(option.label)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=4ca4172c&scoped=true\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4ca4172c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{ 'sharing-entry--share': _vm.share }},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\",attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share && _vm.share.permissions !== undefined)?_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__actions\"},[(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.share && (!_vm.isEmailShareType || _vm.isFileRequest) && _vm.share.token)?_c('NcActions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.copyLinkLabel,\"title\":_vm.copySuccess ? _vm.t('files_sharing', 'Successfully copied public link') : undefined,\"href\":_vm.shareLink},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{staticClass:\"sharing-entry__copy-icon\",class:{ 'sharing-entry__copy-icon--success': _vm.copySuccess },attrs:{\"path\":_vm.copySuccess ? _vm.mdiCheck : _vm.mdiContentCopy}})]},proxy:true}],null,false,1728815133)})],1):_vm._e()],1)],1)]),_vm._v(\" \"),(!_vm.pending && _vm.pendingDataIsMissing)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onCancel}},[(_vm.errors.pending)?_c('NcActionText',{staticClass:\"error\",scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ErrorIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1966124155)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('NcActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingPassword)?_c('NcActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"uncheck\":_vm.onPasswordDisable},model:{value:(_vm.isPasswordProtected),callback:function ($$v) {_vm.isPasswordProtected=$$v},expression:\"isPasswordProtected\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink ? _vm.t('files_sharing', 'Password protection (enforced)') : _vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingEnforcedPassword || _vm.isPasswordProtected)?_c('NcActionInput',{staticClass:\"share-link-password\",attrs:{\"label\":_vm.t('files_sharing', 'Enter a password'),\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"autocomplete\":\"new-password\"},on:{\"submit\":function($event){return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('LockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2056568168),model:{value:(_vm.share.newPassword),callback:function ($$v) {_vm.$set(_vm.share, \"newPassword\", $$v)},expression:\"share.newPassword\"}}):_vm._e(),_vm._v(\" \"),(_vm.pendingDefaultExpirationDate)?_c('NcActionCheckbox',{staticClass:\"share-link-expiration-date-checkbox\",attrs:{\"disabled\":_vm.pendingEnforcedExpirationDate || _vm.saving},on:{\"update:model-value\":_vm.onExpirationDateToggleUpdate},model:{value:(_vm.defaultExpirationDateEnabled),callback:function ($$v) {_vm.defaultExpirationDateEnabled=$$v},expression:\"defaultExpirationDateEnabled\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced ? _vm.t('files_sharing', 'Enable link expiration (enforced)') : _vm.t('files_sharing', 'Enable link expiration'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),((_vm.pendingDefaultExpirationDate || _vm.pendingEnforcedExpirationDate) && _vm.defaultExpirationDateEnabled)?_c('NcActionInput',{staticClass:\"share-link-expire-date\",attrs:{\"data-cy-files-sharing-expiration-date-input\":\"\",\"label\":_vm.pendingEnforcedExpirationDate ? _vm.t('files_sharing', 'Enter expiration date (enforced)') : _vm.t('files_sharing', 'Enter expiration date'),\"disabled\":_vm.saving,\"is-native-picker\":true,\"hide-label\":true,\"model-value\":new Date(_vm.share.expireDate),\"type\":\"date\",\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced},on:{\"update:model-value\":_vm.onExpirationChange,\"change\":_vm.expirationDateChanged},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconCalendarBlank',{attrs:{\"size\":20}})]},proxy:true}],null,false,3418578971)}):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"disabled\":_vm.pendingEnforcedPassword && !_vm.share.newPassword},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CheckIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2630571749)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('NcActionButton',{attrs:{\"disabled\":_vm.saving,\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();return _vm.openSharingDetails.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Tune',{attrs:{\"size\":20}})]},proxy:true}],null,false,1300586850)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Customize link'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();_vm.showQRCode = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconQr',{attrs:{\"size\":20}})]},proxy:true}],null,false,1082198240)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Generate QR code'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.sortedExternalShareActions),function(action){return _c('NcActionButton',{key:action.id,on:{\"click\":function($event){return action.exec(_vm.share, _vm.fileInfo.node)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvg}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(action.label(_vm.share, _vm.fileInfo.node))+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),_vm._l((_vm.externalLegacyShareActions),function(action){return _c('SidebarTabExternalActionLegacy',{key:action.id,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",attrs:{\"title\":_vm.t('files_sharing', 'Create a new share link'),\"aria-label\":_vm.t('files_sharing', 'Create a new share link'),\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}}):_vm._e()],2):_c('NcLoadingIcon',{staticClass:\"sharing-entry__loading\"}),_vm._v(\" \"),(_vm.showQRCode)?_c('NcDialog',{attrs:{\"size\":\"normal\",\"open\":_vm.showQRCode,\"name\":_vm.title,\"close-on-click-outside\":true},on:{\"update:open\":function($event){_vm.showQRCode=$event},\"close\":function($event){_vm.showQRCode = false}}},[_c('div',{staticClass:\"qr-code-dialog\"},[_c('VueQrcode',{staticClass:\"qr-code-dialog__img\",attrs:{\"tag\":\"img\",\"value\":_vm.shareLink}})],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=708b3104\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=469e5e80&scoped=true\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"469e5e80\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"","\n\n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":\"left\",\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c(_vm.share.shareWithLink ? 'a' : 'div',{tag:\"component\",staticClass:\"sharing-entry__summary__desc\",attrs:{\"title\":_vm.tooltip,\"aria-label\":_vm.tooltip,\"href\":_vm.share.shareWithLink}},[_c('span',[_vm._v(_vm._s(_vm.title)+\"\\n\\t\\t\\t\\t\"),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__summary__desc-unique\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t(\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasStatus && _vm.share.status.message)?_c('small',[_vm._v(\"(\"+_vm._s(_vm.share.status.message)+\")\")]):_vm._e()])]),_vm._v(\" \"),_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}})],1),_vm._v(\" \"),(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),(_vm.share.canEdit)?_c('NcButton',{staticClass:\"sharing-entry__action\",attrs:{\"data-cy-files-sharing-share-actions\":\"\",\"aria-label\":_vm.t('files_sharing', 'Open Sharing Details'),\"variant\":\"tertiary\"},on:{\"click\":function($event){return _vm.openSharingDetails(_vm.share)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1700783217)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=7e1141c6\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"sharing-sharee-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Shares')}},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\n/**\n * Register a new sidebar section inside the files sharing sidebar tab.\n *\n * @param section - The section to register\n */\nexport function registerSidebarSection(section) {\n if (!section.id) {\n throw new Error('Sidebar sections must have an id');\n }\n if (!section.element || !section.element.startsWith('oca_') || !window.customElements.get(section.element)) {\n throw new Error('Sidebar sections must provide a registered custom web component identifier');\n }\n if (typeof section.order !== 'number') {\n throw new Error('Sidebar sections must have the order property');\n }\n if (typeof section.enabled !== 'function') {\n throw new Error('Sidebar sections must implement the enabled method');\n }\n window._nc_files_sharing_sidebar_sections ??= new Map();\n if (window._nc_files_sharing_sidebar_sections.has(section.id)) {\n throw new Error(`Sidebar section with id \"${section.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_sections.set(section.id, section);\n}\n/**\n * Get all registered sidebar sections for the files sharing sidebar tab.\n */\nexport function getSidebarSections() {\n return [...(window._nc_files_sharing_sidebar_sections?.values() ?? [])];\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ShareType } from '@nextcloud/sharing'\n\n/**\n *\n * @param share\n */\nfunction shareWithTitle(share) {\n\tif (share.type === ShareType.Group) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Team) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Room) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=7cacff60&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=7cacff60&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=7cacff60&scoped=true\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingTab.vue?vue&type=style&index=0&id=7cacff60&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7cacff60\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTab\",class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\",class:{ emptyContentWithSections: _vm.hasExternalSections }},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],staticClass:\"sharingTab__content\"},[(_vm.isSharedWithMe)?_c('ul',[_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName}})]},proxy:true}],null,false,3197855346)},'SharingEntrySimple',_vm.sharedWithMe,false))],1):_vm._e(),_vm._v(\" \"),_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Internal shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Internal shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}])})]},proxy:true}])},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.internalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares,\"placeholder\":_vm.internalShareInputPlaceholder},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}})],1),_vm._v(\" \"),(_vm.config.showExternalSharing)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'External shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'External shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,4045083138)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.externalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"is-external\":true,\"placeholder\":_vm.externalShareInputPlaceholder,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{attrs:{\"shares\":_vm.externalShares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading && _vm.isLinkSharingAllowed)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.hasExternalSections && !_vm.showSharingDetailsView)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Additional shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Additional shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,880248230)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.additionalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),_vm._l((_vm.sortedExternalSections),function(section){return _c('SidebarTabExternalSection',{key:section.id,staticClass:\"sharingTab__additionalContent\",attrs:{\"section\":section,\"node\":_vm.fileInfo.node /* TODO: Fix once we have proper Node API */}})}),_vm._v(\" \"),_vm._l((_vm.legacySections),function(section,index){return _c('SidebarTabExternalSectionLegacy',{key:index,staticClass:\"sharingTab__additionalContent\",attrs:{\"file-info\":_vm.fileInfo,\"section-callback\":section}})}),_vm._v(\" \"),(_vm.projectsEnabled)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView && _vm.fileInfo),expression:\"!showSharingDetailsView && fileInfo\"}],staticClass:\"sharingTab__additionalContent\"},[_c('NcCollectionList',{attrs:{\"id\":`${_vm.fileInfo.id}`,\"type\":\"file\",\"name\":_vm.fileInfo.name}})],1):_vm._e()],2):_vm._e()]),_vm._v(\" \"),(_vm.showSharingDetailsView)?_c('SharingDetailsTab',{attrs:{\"file-info\":_vm.shareDetailsData.fileInfo,\"share\":_vm.shareDetailsData.share},on:{\"close-sharing-details\":_vm.toggleShareDetailsView,\"add:share\":_vm.addShare,\"remove:share\":_vm.removeShare}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"","/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * Convert Node to legacy file info\n *\n * @param node - The Node to convert\n */\nexport default function (node) {\n const rawFileInfo = {\n id: node.fileid,\n path: node.dirname,\n name: node.basename,\n mtime: node.mtime?.getTime(),\n etag: node.attributes.etag,\n size: node.size,\n hasPreview: node.attributes.hasPreview,\n isEncrypted: node.attributes.isEncrypted === 1,\n isFavourited: node.attributes.favorite === 1,\n mimetype: node.mime,\n permissions: node.permissions,\n mountType: node.attributes['mount-type'],\n sharePermissions: node.attributes['share-permissions'],\n shareAttributes: JSON.parse(node.attributes['share-attributes'] || '[]'),\n type: node.type === 'file' ? 'file' : 'dir',\n attributes: node.attributes,\n };\n const fileInfo = new OC.Files.FileInfo(rawFileInfo);\n // TODO remove when no more legacy backbone is used\n fileInfo.get = (key) => fileInfo[key];\n fileInfo.isDirectory = () => fileInfo.mimetype === 'httpd/unix-directory';\n fileInfo.canEdit = () => Boolean(fileInfo.permissions & OC.PERMISSION_UPDATE);\n fileInfo.node = node;\n return fileInfo;\n}\n","import { render, staticRenderFns } from \"./FilesSidebarTab.vue?vue&type=template&id=8a2257be\"\nimport script from \"./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","self","ampersandTest","nativeURLSearchParams","URLSearchParams","get","e","isSupportObjectConstructor","a","toString","decodesPlusesCorrectly","isSupportSize","prototype","__URLSearchParams__","encodesAmpersandsCorrectly","append","URLSearchParamsPolyfill","iterable","Symbol","iterator","name","value","appendTo","this","dict","has","getAll","slice","hasOwnProperty","set","i","key","query","encode","length","join","propValue","useProxy","Proxy","construct","target","args","Function","bind","Object","defineProperty","USPProto","polyfill","toStringTag","forEach","callback","thisArg","parseToDict","getOwnPropertyNames","call","sort","k","j","keys","values","items","item","makeIterator","entries","TypeError","reduce","prev","cur","search","str","replace","encodeURIComponent","match","decode","decodeURIComponent","arr","next","shift","done","undefined","isArray","indexOf","pairs","split","index","val","JSON","stringify","obj","prop","window","emits","props","title","type","String","fillColor","default","size","Number","_vm","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","NcActions","required","subtitle","isUnique","Boolean","ariaExpanded","computed","ariaExpandedValue","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_t","$slots","ref","generateFileUrl","fileid","baseURL","getBaseUrl","globalscale","getCapabilities","token","generateUrl","NcActionButton","SharingEntrySimple","CheckIcon","ClipboardIcon","fileInfo","data","copied","copySuccess","internalLink","copyLinkTooltip","t","internalLinkSubtitle","methods","copyLink","navigator","clipboard","writeText","showSuccess","$refs","shareEntrySimple","actionsComponent","$el","focus","error","logger","setTimeout","scopedSlots","_u","fn","proxy","ATOMIC_PERMISSIONS","BUNDLED_PERMISSIONS","READ_ONLY","UPLOAD_AND_UPDATE","FILE_DROP","ALL","ALL_FILE","getBundledPermissions","excludeShare","defaultDavProperties","defaultDavNamespaces","d","nc","oc","ocs","getRootPath","uid","defaultRootPath","defaultRemoteURL","url","getRemoteURL","Share","constructor","ocsData","_defineProperty","parseInt","hide_download","mail_send","attributes","parse","warn","_share","state","share_type","permissions","owner","uid_owner","ownerDisplayName","displayname_owner","shareWith","share_with","shareWithDisplayName","share_with_displayname","shareWithDisplayNameUnique","share_with_displayname_unique","shareWithLink","share_with_link","shareWithAvatar","share_with_avatar","uidFileOwner","uid_file_owner","displaynameFileOwner","displayname_file_owner","createdTime","stime","expireDate","expiration","date","note","label","mailSend","hideDownload","find","scope","attribute","password","passwordExpirationTime","password_expiration_time","sendPasswordByTalk","send_password_by_talk","path","itemType","item_type","mimetype","fileSource","file_source","fileTarget","file_target","fileParent","file_parent","hasReadPermission","OC","PERMISSION_READ","hasCreatePermission","PERMISSION_CREATE","hasDeletePermission","PERMISSION_DELETE","hasUpdatePermission","PERMISSION_UPDATE","hasSharePermission","PERMISSION_SHARE","hasDownloadPermission","some","isFileRequest","enabled","setAttribute","attrUpdate","attr","splice","canEdit","can_edit","canDelete","can_delete","viaFileid","via_fileid","viaPath","via_path","parent","storageId","storage_id","storage","itemSource","item_source","status","isTrustedServer","is_trusted_server","Config","_capabilities","defaultPermissions","files_sharing","default_permissions","excludeReshareFromEdit","exclude_reshare_from_edit","isPublicUploadEnabled","public","upload","federatedShareDocLink","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","defaultExpireDate","Date","setDate","getDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","defaultInternalExpireDateEnabled","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isFederationEnabled","federation","outgoing","isPublicShareAllowed","isMailShareAllowed","sharebymail","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","enforced","shouldAlwaysShowUnique","sharee","always_show_unique","allowGroupSharing","maxAutocompleteResults","config","minSearchStringLength","passwordPolicy","password_policy","allowCustomTokens","custom_tokens","showFederatedSharesAsInternal","loadState","showFederatedSharesToTrustedServersAsInternal","showExternalSharing","openSharingDetails","shareRequestObject","share","handler","handlerInput","suggestions","externalShareRequestObject","mapShareRequestToShareObject","originalPermissions","strippedPermissions","debug","shareDetails","openShareDetailsForCustomSettings","setCustomPermissions","shareType","is_no_user","isNoUser","user","displayName","shareUrl","generateOcsUrl","createShare","publicUpload","request","axios","post","emit","errorMessage","response","meta","message","showError","deleteShare","delete","Notification","showTemporary","updateShare","properties","put","Error","NcSelect","mixins","ShareRequests","ShareDetails","shares","Array","linkShares","reshare","canReshare","isExternal","placeholder","setup","shareInputId","Math","random","loading","recommendations","ShareSearch","OCA","Sharing","externalResults","results","inputPlaceholder","allowRemoteSharing","isValidQuery","trim","noResultText","mounted","getRecommendations","onSelected","option","asyncFind","debounceGetSuggestions","getSuggestions","lookup","query_lookup_default","remoteTypes","ShareType","Remote","RemoteGroup","showFederatedAsInternal","shouldAddRemoteTypes","Email","User","Group","Team","Room","Guest","Deck","ScienceMesh","params","format","perPage","exact","rawExactSuggestions","flat","rawSuggestions","exactSuggestions","filterOutExistingShares","filter","result","filterByTrustedServer","map","formatForMultiselect","b","lookupEntry","lookupEnabled","condition","allSuggestions","concat","nameCounts","desc","debounce","rawRecommendations","elem","getCurrentUser","sharesObj","shareTypeToIcon","icon","iconTitle","Sciencemesh","subname","extra","email","server","shareWithDescription","uuid","clear-search-on-blur","model","$$v","expression","_defineComponent","__name","node","section","__props","sectionElement","watchEffect","__sfc","_setupProxy","element","tag","domProps","sectionCallback","component","action","expose","save","actionElement","savingCallback","onSave","toRaw","_setup","is","_g","handlers","text","client","remoteURL","headers","setHeaders","requesttoken","patch","headers2","method","fetch","getClient","async","fetchNode","propfindPayload","s","davNamespaces","ns","davProperties","filesRoot","userId","permString","P","NONE","includes","READ","WRITE","CREATE","UPDATE","DELETE","SHARE","parsePermissions","mtime","lastmod","crtime","creationdate","nodeData","source","filename","isNaN","getTime","mime","displayname","getcontentlength","FAILED","root","hasPreview","resultToNode","stat","details","verbose","api","generate","info","array","Uint8Array","ratio","passwordSet","crypto","getRandomValues","len","floor","charAt","SharesRequests","errors","saving","open","passwordProtectedState","updateQueue","PQueue","concurrency","reactiveState","hasNote","dateTomorrow","lang","weekdaysShort","dayNamesShort","monthsShort","monthNamesShort","formatLocale","firstDayOfWeek","firstDay","weekdaysMin","monthFormat","isNewShare","isFolder","isPublicShare","Link","isRemoteShare","isShareOwner","isExpiryDateEnforced","hasCustomPermissions","basePermissions","bundledPermissions","permissionsWithoutShare","maxExpirationDateEnforced","isPasswordProtected","newPassword","$set","GeneratePassword","getNode","checkShare","expirationDate","isValid","formatDateToString","UTC","getFullYear","getMonth","toISOString","onExpirationChange","parsedDate","onNoteChange","onNoteSubmit","newNote","$delete","queueUpdate","onDelete","shareId","propertyNames","add","updatedShare","property","updateSuccessMessage","onSyncError","names","propertyEl","focusable","querySelector","debounceQueueUpdate","NcAvatar","NcButton","NcCheckboxRadioSwitch","NcDateTimePickerNative","NcInputField","NcLoadingIcon","NcPasswordField","NcTextArea","CloseIcon","CircleIcon","EditIcon","LinkIcon","GroupIcon","ShareIcon","UserIcon","UploadIcon","ViewIcon","MenuDownIcon","MenuUpIcon","DotsHorizontalIcon","Refresh","SidebarTabExternalAction","SidebarTabExternalActionLegacy","SharesMixin","shareRequestValue","writeNoteToRecipientIsChecked","sharingPermission","revertSharingPermission","passwordError","advancedSectionAccordionExpanded","isFirstComponentLoad","test","creating","initialToken","loadingToken","externalShareActions","_nc_files_sharing_sidebar_actions","ExternalShareActions","allPermissions","checked","updateAtomicPermissions","isEditChecked","canCreate","isCreateChecked","isDeleteChecked","isReshareChecked","showInGridView","getShareAttribute","setShareAttribute","canDownload","hasRead","isReadChecked","hasExpirationDate","isValidShareAttribute","defaultExpiryDate","isSetDownloadButtonVisible","isPasswordEnforced","isGroupShare","isUserShare","allowsFileDrop","hasFileDropPermissions","shareButtonText","resharingIsPossible","canSetEdit","sharePermissions","canSetCreate","canSetDelete","canSetReshare","canSetDownload","canRemoveReadPermission","hasUnsavedPassword","expirationTime","moment","diff","fromNow","isTalkEnabled","appswebroots","spreed","isPasswordProtectedByTalkAvailable","isPasswordProtectedByTalk","isEmailShareType","canTogglePasswordProtectedByTalkAvailable","canChangeHideDownload","shareAttributes","shareAttribute","customPermissionsList","translatedPermissions","permission","hasPermissions","initialPermissionSet","permissionsToCheck","toLocaleLowerCase","getLanguage","advancedControlExpandedValue","errorPasswordLabel","passwordHint","sortedExternalShareActions","order","externalLegacyShareActions","actions","advanced","watch","isChecked","beforeMount","initializePermissions","initializeAttributes","quickPermissions","fallback","generateNewToken","generateToken","cancel","expandCustomPermissions","toggleCustomPermissions","selectedPermission","isCustomPermissions","toDateString","handleShareType","handleDefaultPermissions","handleCustomPermissions","saveShare","permissionsAndAttributes","publicShareAttributes","sharePermissionsSet","incomingShare","addShare","Promise","allSettled","externalLinkActions","$children","at","resolve","removeShare","onPasswordChange","onPasswordProtectedByTalkChange","getShareTypeIcon","EmailIcon","_l","refInFor","preventDefault","apply","arguments","NcActionLink","NcActionText","viaFileTargetUrl","viaFolderName","basename","initiator","folder","SharingEntryInherited","loaded","showInheritedShares","showInheritedSharesIcon","mainTitle","subTitle","toggleTooltip","fullPath","resetState","toggleInheritedShares","fetchInheritedShares","findIndex","stopPropagation","NcPopover","NcDateTime","ClockIcon","expiryTime","timeFormat","dateStyle","timeStyle","toLocaleString","DropdownIcon","selectedOption","ariaLabel","canViewText","canEditText","fileDropText","customPermissionsText","preSelectedOption","IconEyeOutline","IconPencil","supportsFileDrop","IconFileUpload","IconTune","dropDownPermissionValue","created","subscribe","unmounted","unsubscribe","selectOption","optionLabel","quickShareActions","menuButton","NcActionCheckbox","NcActionInput","NcActionSeparator","NcDialog","NcIconSvgWrapper","VueQrcode","Tune","IconCalendarBlank","IconQr","ErrorIcon","LockIcon","PlusIcon","SharingEntryQuickShareSelect","ShareExpiryTime","mdiCheck","mdiContentCopy","shareCreationComplete","defaultExpirationDateEnabled","pending","_nc_files_sharing_sidebar_inline_actions","showQRCode","l10nOptions","escape","pendingDataIsMissing","pendingPassword","pendingEnforcedPassword","pendingDefaultExpirationDate","pendingEnforcedExpirationDate","isPendingShare","sharePolicyHasEnforcedProperties","enforcedPropertiesMissing","isPasswordMissing","isExpireDateMissing","shareLink","actionsTooltip","copyLinkLabel","isPasswordPolicyEnabled","shareRequiresReview","shareReviewComplete","onNewLinkShare","shareDefaults","pushNewLinkShare","update","newShare","copyButton","prompt","onPasswordDisable","onPasswordSubmit","onMenuClose","onExpirationDateToggleUpdate","expirationDateChanged","event","onCancel","class","minLength","exec","iconSvg","SharingEntryLink","canLinkShare","hasLinkShares","hasShares","awaitForShare","$nextTick","showAsInternal","tooltip","hasStatus","SharingEntry","productName","theme","InfoIcon","NcCollectionList","SharingEntryInternal","SharingInherited","SharingInput","SharingLinkList","SharingList","SharingDetailsTab","SidebarTabExternalSection","SidebarTabExternalSectionLegacy","deleteEvent","expirationInterval","sharedWithMe","externalShares","legacySections","ShareTabSections","getSections","sections","_nc_files_sharing_sidebar_sections","projectsEnabled","showSharingDetailsView","shareDetailsData","returnFocusElement","internalSharesHelpText","externalSharesHelpText","additionalSharesHelpText","hasExternalSections","sortedExternalSections","isSharedWithMe","isLinkSharingAllowed","capabilities","internalShareInputPlaceholder","externalShareInputPlaceholder","immediate","newValue","oldValue","getShares","fetchShares","reshares","fetchSharedWithMe","shared_with_me","all","processSharedWithMe","processShares","clearInterval","updateExpirationSubtitle","unix","relativetime","orderBy","group","circle","conversation","shareWithTitle","setInterval","shareOwnerId","shareOwner","unshift","shareList","listComponent","linkShareList","toggleShareDetailsView","eventData","from","document","activeElement","classList","className","startsWith","menuId","closest","emptyContentWithSections","directives","rawName","active","view","rawFileInfo","dirname","etag","isEncrypted","isFavourited","favorite","mountType","Files","FileInfo","isDirectory","SharingTab"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"8577-8577.js?v=2b04018de4fa4b10db11","mappings":"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","sources":["webpack:///nextcloud/apps/files_sharing/src/components/ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=style&index=0&id=469e5e80&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&lang=scss","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=style&index=0&id=1a9646b6&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=style&index=0&id=cedf3238&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=style&index=0&id=7cacff60&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&prod&scoped=true&lang=css","webpack:///nextcloud/apps/files_sharing/src/views/FilesSidebarTab.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ContentCopy.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ContentCopy.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ContentCopy.vue?c47c","webpack:///nextcloud/node_modules/vue-material-design-icons/ContentCopy.vue?vue&type=template&id=0e8bd3c4","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?0c02","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?6b54","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?cb12","webpack:///nextcloud/apps/files_sharing/src/utils/generateUrl.ts","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?fcbd","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?4c20","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?6c02","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?65df","webpack:///nextcloud/apps/files_sharing/src/lib/SharePermissionsToolBox.js","webpack:///nextcloud/node_modules/@nextcloud/files/dist/dav.mjs","webpack:///nextcloud/apps/files_sharing/src/models/Share.ts","webpack:///nextcloud/apps/files_sharing/src/services/SharingService.ts","webpack:///nextcloud/apps/files_sharing/src/services/ConfigService.ts","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareDetails.js","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareRequests.js","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?4416","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?3d7c","webpack:///nextcloud/apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true","webpack:///nextcloud/apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSection.vue","webpack://nextcloud/./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSection.vue?9ab7","webpack:///nextcloud/apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true","webpack:///nextcloud/apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSectionLegacy.vue","webpack://nextcloud/./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSectionLegacy.vue?0761","webpack://nextcloud/./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSectionLegacy.vue?f59b","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?7f2e","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountCircleOutline.vue?a068","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=template&id=5b2fe1de","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountGroup.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountGroup.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountGroup.vue?1c79","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountGroup.vue?vue&type=template&id=fa2b1464","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/CircleOutline.vue?68bc","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=template&id=c013567c","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Email.vue?3953","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=template&id=7dd7f6aa","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Eye.vue?157b","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=template&id=4ae2345c","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ShareCircle.vue?a1b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=template&id=0e958886","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowUp.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowUp.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/TrayArrowUp.vue?276e","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowUp.vue?vue&type=template&id=ae55bf4e","webpack:///nextcloud/apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true","webpack:///nextcloud/apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalAction.vue","webpack://nextcloud/./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalAction.vue?a289","webpack:///nextcloud/apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalActionLegacy.vue","webpack://nextcloud/./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalActionLegacy.vue?9a94","webpack://nextcloud/./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalActionLegacy.vue?784e","webpack:///nextcloud/apps/files/src/services/WebdavClient.ts","webpack:///nextcloud/apps/files_sharing/src/utils/GeneratePassword.ts","webpack:///nextcloud/apps/files_sharing/src/mixins/SharesMixin.js","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue","webpack:///nextcloud/node_modules/@nextcloud/sharing/dist/ui/sidebar-action.js","webpack:///nextcloud/apps/files_sharing/src/services/TokenService.ts","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?a8f8","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?10fc","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?45a6","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?f390","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?0e5a","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?77d5","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?17ac","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?1677","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?de0b","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarBlankOutline.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarBlankOutline.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CalendarBlankOutline.vue?3bca","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarBlankOutline.vue?vue&type=template&id=784b59e6","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/CheckBold.vue?7500","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=template&id=5603f41f","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Exclamation.vue?46e6","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=template&id=03239926","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/LockOutline.vue?8ef6","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOutline.vue?vue&type=template&id=54353a96","webpack:///nextcloud/node_modules/vue-material-design-icons/Plus.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Plus.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Plus.vue?80b4","webpack:///nextcloud/node_modules/vue-material-design-icons/Plus.vue?vue&type=template&id=055261ec","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Qrcode.vue?b80a","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=template&id=aba87788","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Tune.vue?7202","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=template&id=18d04e6a","webpack://nextcloud/./apps/files_sharing/src/components/ShareExpiryTime.vue?4496","webpack:///nextcloud/node_modules/vue-material-design-icons/ClockOutline.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ClockOutline.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ClockOutline.vue?f9e1","webpack:///nextcloud/node_modules/vue-material-design-icons/ClockOutline.vue?vue&type=template&id=1a84e403","webpack:///nextcloud/apps/files_sharing/src/components/ShareExpiryTime.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/ShareExpiryTime.vue","webpack://nextcloud/./apps/files_sharing/src/components/ShareExpiryTime.vue?65d5","webpack://nextcloud/./apps/files_sharing/src/components/ShareExpiryTime.vue?bc23","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/EyeOutline.vue?9ce8","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=template&id=e26de6f6","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/TriangleSmallDown.vue?8651","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=template&id=1eed3dd9","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?da02","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?4441","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?0b36","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?9f0b","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?af90","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?64e9","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?a70b","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?ba9d","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?10a7","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?f8d7","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?9f9c","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?e340","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue","webpack:///nextcloud/node_modules/@nextcloud/sharing/dist/ui/sidebar-section.js","webpack:///nextcloud/apps/files_sharing/src/utils/SharedWithMe.js","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?8dc0","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?6997","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?0ae8","webpack:///nextcloud/apps/files_sharing/src/views/FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/files_sharing/src/services/FileInfo.ts","webpack://nextcloud/./apps/files_sharing/src/views/FilesSidebarTab.vue?a685"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-expiry-time[data-v-c9199db0]{display:inline-flex;align-items:center;justify-content:center}.share-expiry-time .hint-icon[data-v-c9199db0]{padding:0;margin:0;width:24px;height:24px}.hint-heading[data-v-c9199db0]{text-align:center;font-size:1rem;margin-top:8px;padding-bottom:8px;margin-bottom:0;border-bottom:1px solid var(--color-border)}.hint-body[data-v-c9199db0]{padding:var(--border-radius-element);max-width:300px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/ShareExpiryTime.vue\"],\"names\":[],\"mappings\":\"AACA,oCACI,mBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,+CACI,SAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAIR,+BACI,iBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,2CAAA,CAGJ,4BACI,oCAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.share-expiry-time {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n .hint-icon {\\n padding: 0;\\n margin: 0;\\n width: 24px;\\n height: 24px;\\n }\\n}\\n\\n.hint-heading {\\n text-align: center;\\n font-size: 1rem;\\n margin-top: 8px;\\n padding-bottom: 8px;\\n margin-bottom: 0;\\n border-bottom: 1px solid var(--color-border);\\n}\\n\\n.hint-body {\\n padding: var(--border-radius-element);\\n max-width: 300px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-469e5e80]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-469e5e80]{padding:8px;padding-inline-start:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-469e5e80]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-469e5e80],.sharing-entry__summary__desc small[data-v-469e5e80]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-469e5e80]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntry.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: flex-start;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\n\\t\\t&__desc {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tpadding-bottom: 0;\\n\\t\\t\\tline-height: 1.2em;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t\\tp,\\n\\t\\t\\tsmall {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-unique {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-731a9650]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-731a9650]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-inline-start:10px;line-height:1.2em}.sharing-entry__desc p[data-v-731a9650]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-731a9650]{margin-inline-start:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,wBAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-inline-start: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__internal .avatar-external[data-v-6c4cb23b]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-6c4cb23b]{opacity:1;color:var(--color-border-success)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue\"],\"names\":[],\"mappings\":\"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,iCAAA\",\"sourcesContent\":[\"\\n.sharing-entry__internal {\\n\\t.avatar-external {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-border-success);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-4ca4172c]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-4ca4172c]{padding:8px;padding-inline-start:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-4ca4172c]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-4ca4172c]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-4ca4172c]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__actions[data-v-4ca4172c]{display:flex;align-items:center;margin-inline-start:auto}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-4ca4172c]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-4ca4172c] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-4ca4172c]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-4ca4172c]{width:44px;height:44px;margin:0;padding:14px;margin-inline-start:auto}.sharing-entry .action-item~.action-item[data-v-4ca4172c],.sharing-entry .action-item~.sharing-entry__loading[data-v-4ca4172c]{margin-inline-start:0}.sharing-entry__copy-icon--success[data-v-4ca4172c]{color:var(--color-border-success)}.qr-code-dialog[data-v-4ca4172c]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-4ca4172c]{width:100%;height:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryLink.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGA,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAIF,yCACC,YAAA,CACA,kBAAA,CACA,wBAAA,CAID,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,wBAAA,CAOA,+HAEC,qBAAA,CAIF,oDACC,iCAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t\\t&__desc {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tline-height: 1.2em;\\n\\n\\t\\t\\tp {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&__title {\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&__actions {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmargin-inline-start: auto;\\n\\t\\t}\\n\\n\\t&:not(.sharing-entry--share) &__actions {\\n\\t\\t.new-share-link {\\n\\t\\t\\tborder-top: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t:deep(.avatar-link-share) {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t.sharing-entry__action--public-upload {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__loading {\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 14px;\\n\\t\\tmargin-inline-start: auto;\\n\\t}\\n\\n\\t// put menus to the left\\n\\t// but only the first one\\n\\t.action-item {\\n\\n\\t\\t~.action-item,\\n\\t\\t~.sharing-entry__loading {\\n\\t\\t\\tmargin-inline-start: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__copy-icon--success {\\n\\t\\tcolor: var(--color-border-success);\\n\\t}\\n}\\n\\n// styling for the qr-code container\\n.qr-code-dialog {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\tjustify-content: center;\\n\\n\\t&__img {\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-select[data-v-b5eca1ec]{display:block}.share-select[data-v-b5eca1ec] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA\",\"sourcesContent\":[\"\\n.share-select {\\n\\tdisplay: block;\\n\\n\\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\\n\\t// Overrider NcActionms button to make it small\\n\\t:deep(.action-item__menutoggle) {\\n\\t\\tcolor: var(--color-primary-element) !important;\\n\\t\\tfont-size: 12.5px !important;\\n\\t\\theight: auto !important;\\n\\t\\tmin-height: auto !important;\\n\\n\\t\\t.button-vue__text {\\n\\t\\t\\tfont-weight: normal !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__icon {\\n\\t\\t\\theight: 24px !important;\\n\\t\\t\\tmin-height: 24px !important;\\n\\t\\t\\twidth: 24px !important;\\n\\t\\t\\tmin-width: 24px !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__wrapper {\\n\\t\\t\\t// Emulate NcButton's alignment=center-reverse\\n\\t\\t\\tflex-direction: row-reverse !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-13d4a0bb]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-13d4a0bb]{padding:8px;padding-inline-start:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-13d4a0bb]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-13d4a0bb]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-13d4a0bb]{margin-inline-start:auto !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,mCAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tposition: relative;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__title {\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tmax-width: inherit;\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-inline-start: auto !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingInput.vue\"],\"names\":[],\"mappings\":\"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA\",\"sourcesContent\":[\"\\n.sharing-search {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin-bottom: 4px;\\n\\n\\tlabel[for=\\\"sharing-search-input\\\"] {\\n\\t\\tmargin-bottom: 2px;\\n\\t}\\n\\n\\t&__input {\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 10px 0;\\n\\t}\\n}\\n\\n.vs__dropdown-menu {\\n\\t// properly style the lookup entry\\n\\tspan[lookup] {\\n\\t\\t.avatardiv {\\n\\t\\t\\tbackground-image: var(--icon-search-white);\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-color: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t.avatardiv__initials-wrapper {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharingTabDetailsView[data-v-1a9646b6]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-1a9646b6]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-1a9646b6]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-1a9646b6]{font-size:15px;padding-inline-start:.3em}.sharingTabDetailsView__wrapper[data-v-1a9646b6]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-inline-end:12px}.sharingTabDetailsView__quick-permissions[data-v-1a9646b6]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-1a9646b6]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-1a9646b6]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-1a9646b6]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-1a9646b6] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-1a9646b6] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-1a9646b6] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-1a9646b6]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-1a9646b6]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-1a9646b6]{width:100%;margin-bottom:.5em;text-align:start;padding-inline-start:0}.sharingTabDetailsView__advanced section textarea[data-v-1a9646b6],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-1a9646b6]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-1a9646b6]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-1a9646b6] label{padding-inline-start:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-1a9646b6]{padding-inline-start:1.5em}.sharingTabDetailsView__label[data-v-1a9646b6]{padding-block-end:6px}.sharingTabDetailsView__delete>button[data-v-1a9646b6]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-1a9646b6]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-1a9646b6]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-1a9646b6]{margin-inline-start:16px}.sharingTabDetailsView__footer .button-group button[data-v-1a9646b6]:first-child{margin-inline-start:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue\"],\"names\":[],\"mappings\":\"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,yBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,uBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAGD,+EACC,YAAA,CACA,qBAAA,CAID,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,gBAAA,CACA,sBAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAYD,qEACC,iCAAA,CACA,mCAAA,CACA,sBAAA,CAGD,2FACC,0BAAA,CAKH,+CACC,qBAAA,CAIA,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,wBAAA,CAEA,iFACC,qBAAA\",\"sourcesContent\":[\"\\n.sharingTabDetailsView {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\twidth: 100%;\\n\\tmargin: 0 auto;\\n\\tposition: relative;\\n\\theight: 100%;\\n\\toverflow: hidden;\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0.2em;\\n\\n\\t\\tspan {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\th1 {\\n\\t\\t\\t\\tfont-size: 15px;\\n\\t\\t\\t\\tpadding-inline-start: 0.3em;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tposition: relative;\\n\\t\\toverflow: scroll;\\n\\t\\tflex-shrink: 1;\\n\\t\\tpadding: 4px;\\n\\t\\tpadding-inline-end: 12px;\\n\\t}\\n\\n\\t&__quick-permissions {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 0 auto;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\tdiv {\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\tspan {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\tspan:nth-child(1) {\\n\\t\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\t\\tpadding: 0.1em;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t:deep(label span) {\\n\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\\n\\t\\t\\t\\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\\n\\t\\t\\t\\t\\tflex-wrap: wrap;\\n\\n\\t\\t\\t\\t\\t.subline {\\n\\t\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\t\\tflex-basis: 100%;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__advanced-control {\\n\\t\\twidth: 100%;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmargin-top: 0.5em;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&__advanced {\\n\\t\\twidth: 100%;\\n\\t\\tmargin-bottom: 0.5em;\\n\\t\\ttext-align: start;\\n\\t\\tpadding-inline-start: 0;\\n\\n\\t\\tsection {\\n\\n\\t\\t\\ttextarea,\\n\\t\\t\\tdiv.mx-datepicker {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\ttextarea {\\n\\t\\t\\t\\theight: 80px;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/*\\n\\t\\t\\t The following style is applied out of the component's scope\\n\\t\\t\\t to remove padding from the label.checkbox-radio-switch__label,\\n\\t\\t\\t which is used to group radio checkbox items. The use of ::v-deep\\n\\t\\t\\t ensures that the padding is modified without being affected by\\n\\t\\t\\t the component's scoping.\\n\\t\\t\\t Without this achieving left alignment for the checkboxes would not\\n\\t\\t\\t be possible.\\n\\t\\t\\t*/\\n\\t\\t\\tspan :deep(label) {\\n\\t\\t\\t\\tpadding-inline-start: 0 !important;\\n\\t\\t\\t\\tbackground-color: initial !important;\\n\\t\\t\\t\\tborder: none !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\tsection.custom-permissions-group {\\n\\t\\t\\t\\tpadding-inline-start: 1.5em;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tpadding-block-end: 6px;\\n\\t}\\n\\n\\t&__delete {\\n\\t\\t> button:first-child {\\n\\t\\t\\tcolor: rgb(223, 7, 7);\\n\\t\\t}\\n\\t}\\n\\n\\t&__footer {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\talign-items: flex-start;\\n\\t\\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\\n\\n\\t\\t.button-group {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmargin-top: 16px;\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\tmargin-inline-start: 16px;\\n\\n\\t\\t\\t\\t&:first-child {\\n\\t\\t\\t\\t\\tmargin-inline-start: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__inherited .avatar-shared[data-v-cedf3238]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingInherited.vue\"],\"names\":[],\"mappings\":\"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA\",\"sourcesContent\":[\"\\n.sharing-entry__inherited {\\n\\t.avatar-shared {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.emptyContentWithSections[data-v-7cacff60]{margin:1rem auto}.sharingTab[data-v-7cacff60]{position:relative;height:100%}.sharingTab__content[data-v-7cacff60]{padding:0 6px}.sharingTab__content section[data-v-7cacff60]{padding-bottom:16px}.sharingTab__content section .section-header[data-v-7cacff60]{margin-top:2px;margin-bottom:2px;display:flex;align-items:center;padding-bottom:4px}.sharingTab__content section .section-header h4[data-v-7cacff60]{margin:0;font-size:16px}.sharingTab__content section .section-header .visually-hidden[data-v-7cacff60]{display:none}.sharingTab__content section .section-header .hint-icon[data-v-7cacff60]{color:var(--color-primary-element)}.sharingTab__content>section[data-v-7cacff60]:not(:last-child){border-bottom:2px solid var(--color-border)}.sharingTab__additionalContent[data-v-7cacff60]{margin:var(--default-clickable-area) 0}.hint-body[data-v-7cacff60]{max-width:300px;padding:var(--border-radius-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingTab.vue\"],\"names\":[],\"mappings\":\"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAEA,8CACC,mBAAA,CAEA,8DACC,cAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,iEACC,QAAA,CACA,cAAA,CAGD,+EACC,YAAA,CAGD,yEACC,kCAAA,CAOH,+DACC,2CAAA,CAKF,gDACC,sCAAA,CAIF,4BACC,eAAA,CACA,oCAAA\",\"sourcesContent\":[\"\\n.emptyContentWithSections {\\n\\tmargin: 1rem auto;\\n}\\n\\n.sharingTab {\\n\\tposition: relative;\\n\\theight: 100%;\\n\\n\\t&__content {\\n\\t\\tpadding: 0 6px;\\n\\n\\t\\tsection {\\n\\t\\t\\tpadding-bottom: 16px;\\n\\n\\t\\t\\t.section-header {\\n\\t\\t\\t\\tmargin-top: 2px;\\n\\t\\t\\t\\tmargin-bottom: 2px;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tpadding-bottom: 4px;\\n\\n\\t\\t\\t\\th4 {\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tfont-size: 16px;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.visually-hidden {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.hint-icon {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\t& > section:not(:last-child) {\\n\\t\\t\\tborder-bottom: 2px solid var(--color-border);\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&__additionalContent {\\n\\t\\tmargin: var(--default-clickable-area) 0;\\n\\t}\\n}\\n\\n.hint-body {\\n\\tmax-width: 300px;\\n\\tpadding: var(--border-radius-element);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.sharing-tab-external-section-legacy[data-v-3e4e67d2] {\n\twidth: 100%;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSectionLegacy.vue\"],\"names\":[],\"mappings\":\";AAkCA;CACA,WAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.fileInfo)?_c(_setup.SharingTab,{attrs:{\"file-info\":_setup.fileInfo}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ContentCopy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ContentCopy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ContentCopy.vue?vue&type=template&id=0e8bd3c4\"\nimport script from \"./ContentCopy.vue?vue&type=script&lang=js\"\nexport * from \"./ContentCopy.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon content-copy-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('NcActions',{ref:\"actionsComponent\",staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"aria-expanded\":_vm.ariaExpandedValue}},[_vm._t(\"default\")],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=13d4a0bb&scoped=true\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"13d4a0bb\",\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { generateUrl, getBaseUrl } from '@nextcloud/router';\n/**\n * @param fileid - The file ID to generate the direct file link for\n */\nexport function generateFileUrl(fileid) {\n const baseURL = getBaseUrl();\n const { globalscale } = getCapabilities();\n if (globalscale?.token) {\n return generateUrl('/gf/{token}/{fileid}', {\n token: globalscale.token,\n fileid,\n }, { baseURL });\n }\n return generateUrl('/f/{fileid}', {\n fileid,\n }, {\n baseURL,\n });\n}\n","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=6c4cb23b&scoped=true\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6c4cb23b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('SharingEntrySimple',{ref:\"shareEntrySimple\",staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":_vm.copyLink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharing-search\"},[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":_vm.shareInputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.isExternal\n\t\t\t? _vm.t('files_sharing', 'Enter external recipients')\n\t\t\t: _vm.t('files_sharing', 'Search for internal recipients'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcSelect',{ref:\"select\",staticClass:\"sharing-search__input\",attrs:{\"input-id\":_vm.shareInputId,\"disabled\":!_vm.canReshare,\"loading\":_vm.loading,\"filterable\":false,\"placeholder\":_vm.inputPlaceholder,\"clear-search-on-blur\":() => false,\"user-select\":true,\"options\":_vm.options,\"label-outside\":true},on:{\"search\":_vm.asyncFind,\"option:selected\":_vm.onSelected},scopedSlots:_vm._u([{key:\"no-options\",fn:function({ search }){return [_vm._v(\"\\n\\t\\t\\t\"+_vm._s(search ? _vm.noResultText : _vm.placeholder)+\"\\n\\t\\t\")]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const ATOMIC_PERMISSIONS = {\n\tNONE: 0,\n\tREAD: 1,\n\tUPDATE: 2,\n\tCREATE: 4,\n\tDELETE: 8,\n\tSHARE: 16,\n}\n\nconst BUNDLED_PERMISSIONS = {\n\tREAD_ONLY: ATOMIC_PERMISSIONS.READ,\n\tUPLOAD_AND_UPDATE: ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE,\n\tFILE_DROP: ATOMIC_PERMISSIONS.CREATE,\n\tALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE,\n\tALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.SHARE,\n}\n\n/**\n * Get bundled permissions based on config.\n *\n * @param {boolean} excludeShare - Whether to exclude SHARE permission from ALL and ALL_FILE bundles.\n * @return {object}\n */\nexport function getBundledPermissions(excludeShare = false) {\n\tif (excludeShare) {\n\t\treturn {\n\t\t\t...BUNDLED_PERMISSIONS,\n\t\t\tALL: BUNDLED_PERMISSIONS.ALL & ~ATOMIC_PERMISSIONS.SHARE,\n\t\t\tALL_FILE: BUNDLED_PERMISSIONS.ALL_FILE & ~ATOMIC_PERMISSIONS.SHARE,\n\t\t}\n\t}\n\treturn BUNDLED_PERMISSIONS\n}\n\n/**\n * Return whether a given permissions set contains some permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToCheck - the permissions to check.\n * @return {boolean}\n */\nexport function hasPermissions(initialPermissionSet, permissionsToCheck) {\n\treturn initialPermissionSet !== ATOMIC_PERMISSIONS.NONE && (initialPermissionSet & permissionsToCheck) === permissionsToCheck\n}\n\n/**\n * Return whether a given permissions set is valid.\n *\n * @param {number} permissionsSet - the permissions set.\n *\n * @return {boolean}\n */\nexport function permissionsSetIsValid(permissionsSet) {\n\t// Must have at least READ or CREATE permission.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && !hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.CREATE)) {\n\t\treturn false\n\t}\n\n\t// Must have READ permission if have UPDATE or DELETE.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && (\n\t\thasPermissions(permissionsSet, ATOMIC_PERMISSIONS.UPDATE) || hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.DELETE)\n\t)) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n/**\n * Add some permissions to an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToAdd - the permissions to add.\n *\n * @return {number}\n */\nexport function addPermissions(initialPermissionSet, permissionsToAdd) {\n\treturn initialPermissionSet | permissionsToAdd\n}\n\n/**\n * Remove some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToSubtract - the permissions to remove.\n *\n * @return {number}\n */\nexport function subtractPermissions(initialPermissionSet, permissionsToSubtract) {\n\treturn initialPermissionSet & ~permissionsToSubtract\n}\n\n/**\n * Toggle some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {number}\n */\nexport function togglePermissions(initialPermissionSet, permissionsToToggle) {\n\tif (hasPermissions(initialPermissionSet, permissionsToToggle)) {\n\t\treturn subtractPermissions(initialPermissionSet, permissionsToToggle)\n\t} else {\n\t\treturn addPermissions(initialPermissionSet, permissionsToToggle)\n\t}\n}\n\n/**\n * Return whether some given permissions can be toggled from a permission set.\n *\n * @param {number} permissionSet - the initial permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {boolean}\n */\nexport function canTogglePermissions(permissionSet, permissionsToToggle) {\n\treturn permissionsSetIsValid(togglePermissions(permissionSet, permissionsToToggle))\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","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport logger from '../services/logger.ts';\nimport { isFileRequest } from '../services/SharingService.ts';\nexport default class Share {\n _share;\n /**\n * Create the share object\n *\n * @param ocsData ocs request response\n */\n constructor(ocsData) {\n if (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n ocsData = ocsData.ocs.data[0];\n }\n // string to int\n if (typeof ocsData.id === 'string') {\n ocsData.id = Number.parseInt(ocsData.id);\n }\n // convert int into boolean\n ocsData.hide_download = !!ocsData.hide_download;\n ocsData.mail_send = !!ocsData.mail_send;\n if (ocsData.attributes && typeof ocsData.attributes === 'string') {\n try {\n ocsData.attributes = JSON.parse(ocsData.attributes);\n }\n catch {\n logger.warn('Could not parse share attributes returned by server', ocsData.attributes);\n }\n }\n ocsData.attributes = ocsData.attributes ?? [];\n // store state\n this._share = ocsData;\n }\n /**\n * Get the share state\n * ! used for reactivity purpose\n * Do not remove. It allow vuejs to\n * inject its watchers into the #share\n * state and make the whole class reactive\n *\n * @return the share raw state\n */\n get state() {\n return this._share;\n }\n /**\n * get the share id\n */\n get id() {\n return this._share.id;\n }\n /**\n * Get the share type\n */\n get type() {\n return this._share.share_type;\n }\n /**\n * Get the share permissions\n * See window.OC.PERMISSION_* variables\n */\n get permissions() {\n return this._share.permissions;\n }\n /**\n * Get the share attributes\n */\n get attributes() {\n return this._share.attributes || [];\n }\n /**\n * Set the share permissions\n * See window.OC.PERMISSION_* variables\n */\n set permissions(permissions) {\n this._share.permissions = permissions;\n }\n // SHARE OWNER --------------------------------------------------\n /**\n * Get the share owner uid\n */\n get owner() {\n return this._share.uid_owner;\n }\n /**\n * Get the share owner's display name\n */\n get ownerDisplayName() {\n return this._share.displayname_owner;\n }\n // SHARED WITH --------------------------------------------------\n /**\n * Get the share with entity uid\n */\n get shareWith() {\n return this._share.share_with;\n }\n /**\n * Get the share with entity display name\n * fallback to its uid if none\n */\n get shareWithDisplayName() {\n return this._share.share_with_displayname\n || this._share.share_with;\n }\n /**\n * Unique display name in case of multiple\n * duplicates results with the same name.\n */\n get shareWithDisplayNameUnique() {\n return this._share.share_with_displayname_unique\n || this._share.share_with;\n }\n /**\n * Get the share with entity link\n */\n get shareWithLink() {\n return this._share.share_with_link;\n }\n /**\n * Get the share with avatar if any\n */\n get shareWithAvatar() {\n return this._share.share_with_avatar;\n }\n // SHARED FILE OR FOLDER OWNER ----------------------------------\n /**\n * Get the shared item owner uid\n */\n get uidFileOwner() {\n return this._share.uid_file_owner;\n }\n /**\n * Get the shared item display name\n * fallback to its uid if none\n */\n get displaynameFileOwner() {\n return this._share.displayname_file_owner\n || this._share.uid_file_owner;\n }\n // TIME DATA ----------------------------------------------------\n /**\n * Get the share creation timestamp\n */\n get createdTime() {\n return this._share.stime;\n }\n /**\n * Get the expiration date\n *\n * @return date with YYYY-MM-DD format\n */\n get expireDate() {\n return this._share.expiration;\n }\n /**\n * Set the expiration date\n *\n * @param date the share expiration date with YYYY-MM-DD format\n */\n set expireDate(date) {\n this._share.expiration = date;\n }\n // EXTRA DATA ---------------------------------------------------\n /**\n * Get the public share token\n */\n get token() {\n return this._share.token;\n }\n /**\n * Set the public share token\n */\n set token(token) {\n this._share.token = token;\n }\n /**\n * Get the share note if any\n */\n get note() {\n return this._share.note;\n }\n /**\n * Set the share note if any\n */\n set note(note) {\n this._share.note = note;\n }\n /**\n * Get the share label if any\n * Should only exist on link shares\n */\n get label() {\n return this._share.label ?? '';\n }\n /**\n * Set the share label if any\n * Should only be set on link shares\n */\n set label(label) {\n this._share.label = label;\n }\n /**\n * Have a mail been sent\n */\n get mailSend() {\n return this._share.mail_send === true;\n }\n /**\n * Hide the download button on public page\n */\n get hideDownload() {\n return this._share.hide_download === true\n || this.attributes.find?.(({ scope, key, value }) => scope === 'permissions' && key === 'download' && !value) !== undefined;\n }\n /**\n * Hide the download button on public page\n */\n set hideDownload(state) {\n // disabling hide-download also enables the download permission\n // needed for regression in Nextcloud 31.0.0 until (incl.) 31.0.3\n if (!state) {\n const attribute = this.attributes.find(({ key, scope }) => key === 'download' && scope === 'permissions');\n if (attribute) {\n attribute.value = true;\n }\n }\n this._share.hide_download = state === true;\n }\n /**\n * Password protection of the share\n */\n get password() {\n return this._share.password;\n }\n /**\n * Password protection of the share\n */\n set password(password) {\n this._share.password = password;\n }\n /**\n * Password expiration time\n *\n * @return date with YYYY-MM-DD format\n */\n get passwordExpirationTime() {\n return this._share.password_expiration_time;\n }\n /**\n * Password expiration time\n *\n * @param passwordExpirationTime date with YYYY-MM-DD format\n */\n set passwordExpirationTime(passwordExpirationTime) {\n this._share.password_expiration_time = passwordExpirationTime;\n }\n /**\n * Password protection by Talk of the share\n */\n get sendPasswordByTalk() {\n return this._share.send_password_by_talk;\n }\n /**\n * Password protection by Talk of the share\n *\n * @param sendPasswordByTalk whether to send the password by Talk or not\n */\n set sendPasswordByTalk(sendPasswordByTalk) {\n this._share.send_password_by_talk = sendPasswordByTalk;\n }\n // SHARED ITEM DATA ---------------------------------------------\n /**\n * Get the shared item absolute full path\n */\n get path() {\n return this._share.path;\n }\n /**\n * Return the item type: file or folder\n *\n * @return 'folder' | 'file'\n */\n get itemType() {\n return this._share.item_type;\n }\n /**\n * Get the shared item mimetype\n */\n get mimetype() {\n return this._share.mimetype;\n }\n /**\n * Get the shared item id\n */\n get fileSource() {\n return this._share.file_source;\n }\n /**\n * Get the target path on the receiving end\n * e.g the file /xxx/aaa will be shared in\n * the receiving root as /aaa, the fileTarget is /aaa\n */\n get fileTarget() {\n return this._share.file_target;\n }\n /**\n * Get the parent folder id if any\n */\n get fileParent() {\n return this._share.file_parent;\n }\n // PERMISSIONS Shortcuts\n /**\n * Does this share have READ permissions\n */\n get hasReadPermission() {\n return !!((this.permissions & window.OC.PERMISSION_READ));\n }\n /**\n * Does this share have CREATE permissions\n */\n get hasCreatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_CREATE));\n }\n /**\n * Does this share have DELETE permissions\n */\n get hasDeletePermission() {\n return !!((this.permissions & window.OC.PERMISSION_DELETE));\n }\n /**\n * Does this share have UPDATE permissions\n */\n get hasUpdatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_UPDATE));\n }\n /**\n * Does this share have SHARE permissions\n */\n get hasSharePermission() {\n return !!((this.permissions & window.OC.PERMISSION_SHARE));\n }\n /**\n * Does this share have download permissions\n */\n get hasDownloadPermission() {\n const hasDisabledDownload = (attribute) => {\n return attribute.scope === 'permissions' && attribute.key === 'download' && attribute.value === false;\n };\n return this.attributes.some(hasDisabledDownload);\n }\n /**\n * Is this mail share a file request ?\n */\n get isFileRequest() {\n return isFileRequest(JSON.stringify(this.attributes));\n }\n set hasDownloadPermission(enabled) {\n this.setAttribute('permissions', 'download', !!enabled);\n }\n setAttribute(scope, key, value) {\n const attrUpdate = {\n scope,\n key,\n value,\n };\n // try and replace existing\n for (const i in this._share.attributes) {\n const attr = this._share.attributes[i];\n if (attr.scope === attrUpdate.scope && attr.key === attrUpdate.key) {\n this._share.attributes.splice(i, 1, attrUpdate);\n return;\n }\n }\n this._share.attributes.push(attrUpdate);\n }\n // PERMISSIONS Shortcuts for the CURRENT USER\n // ! the permissions above are the share settings,\n // ! meaning the permissions for the recipient\n /**\n * Can the current user EDIT this share ?\n */\n get canEdit() {\n return this._share.can_edit === true;\n }\n /**\n * Can the current user DELETE this share ?\n */\n get canDelete() {\n return this._share.can_delete === true;\n }\n /**\n * Top level accessible shared folder fileid for the current user\n */\n get viaFileid() {\n return this._share.via_fileid;\n }\n /**\n * Top level accessible shared folder path for the current user\n */\n get viaPath() {\n return this._share.via_path;\n }\n // TODO: SORT THOSE PROPERTIES\n get parent() {\n return this._share.parent;\n }\n get storageId() {\n return this._share.storage_id;\n }\n get storage() {\n return this._share.storage;\n }\n get itemSource() {\n return this._share.item_source;\n }\n get status() {\n return this._share.status;\n }\n /**\n * Is the share from a trusted server\n */\n get isTrustedServer() {\n return !!this._share.is_trusted_server;\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// TODO: Fix this instead of disabling ESLint!!!\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport { File, Folder, Permission } from '@nextcloud/files';\nimport { getRemoteURL, getRootPath } from '@nextcloud/files/dav';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport logger from './logger.ts';\nconst headers = {\n 'Content-Type': 'application/json',\n};\n/**\n *\n * @param ocsEntry\n */\nasync function ocsEntryToNode(ocsEntry) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n const type = ocsEntry.type === 'dir' ? 'folder' : ocsEntry.type;\n ocsEntry.item_type = type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n if (ocsEntry.file_target.includes('TemporaryMountPointName')) {\n ocsEntry.file_target = ocsEntry.name;\n }\n // If the share is not accepted yet we don't know which permissions it will have\n if (!ocsEntry.accepted) {\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = `${getRemoteURL()}${getRootPath()}/${path.replace(/^\\/+/, '')}`;\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n let sharees;\n if ('share_with' in ocsEntry) {\n sharees = {\n sharee: {\n id: ocsEntry.share_with,\n 'display-name': ocsEntry.share_with_displayname || ocsEntry.share_with,\n type: ocsEntry.share_type,\n },\n };\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: getRootPath(),\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n 'hide-download': ocsEntry?.hide_download === 1,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n 'share-attributes': ocsEntry?.attributes || '[]',\n sharees,\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n}\n/**\n *\n * @param shareWithMe\n */\nfunction getShares(shareWithMe = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me: shareWithMe,\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getSharedWithYou() {\n return getShares(true);\n}\n/**\n *\n */\nfunction getSharedWithOthers() {\n return getShares();\n}\n/**\n *\n */\nfunction getRemoteShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getPendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getRemotePendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getDeletedShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n * Check if a file request is enabled\n *\n * @param attributes the share attributes json-encoded array\n */\nexport function isFileRequest(attributes = '[]') {\n const isFileRequest = (attribute) => {\n return attribute.scope === 'fileRequest' && attribute.key === 'enabled' && attribute.value === true;\n };\n try {\n const attributesArray = JSON.parse(attributes);\n return attributesArray.some(isFileRequest);\n }\n catch (error) {\n logger.error('Error while parsing share attributes', { error });\n return false;\n }\n}\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n *\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nfunction groupBy(nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n}\n/**\n *\n * @param sharedWithYou\n * @param sharedWithOthers\n * @param pendingShares\n * @param deletedshares\n * @param filterTypes\n */\nexport async function getContents(sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) {\n const promises = [];\n if (sharedWithYou) {\n promises.push(getSharedWithYou(), getRemoteShares());\n }\n if (sharedWithOthers) {\n promises.push(getSharedWithOthers());\n }\n if (pendingShares) {\n promises.push(getPendingShares(), getRemotePendingShares());\n }\n if (deletedshares) {\n promises.push(getDeletedShares());\n }\n const responses = await Promise.all(promises);\n const data = responses.map((response) => response.data.ocs.data).flat();\n let contents = (await Promise.all(data.map(ocsEntryToNode)))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map((node) => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: `${getRemoteURL()}${getRootPath()}`,\n owner: getCurrentUser()?.uid || null,\n root: getRootPath(),\n }),\n contents,\n };\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { loadState } from '@nextcloud/initial-state';\nexport default class Config {\n _capabilities;\n constructor() {\n this._capabilities = getCapabilities();\n }\n /**\n * Get default share permissions, if any\n */\n get defaultPermissions() {\n return this._capabilities.files_sharing?.default_permissions;\n }\n /**\n * Should SHARE permission be excluded from \"Allow editing\" bundled permissions\n */\n get excludeReshareFromEdit() {\n return this._capabilities.files_sharing?.exclude_reshare_from_edit === true;\n }\n /**\n * Is public upload allowed on link shares ?\n * This covers File request and Full upload/edit option.\n */\n get isPublicUploadEnabled() {\n return this._capabilities.files_sharing?.public?.upload === true;\n }\n /**\n * Get the federated sharing documentation link\n */\n get federatedShareDocLink() {\n return window.OC.appConfig.core.federatedCloudShareDoc;\n }\n /**\n * Get the default link share expiration date\n */\n get defaultExpirationDate() {\n if (this.isDefaultExpireDateEnabled && this.defaultExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate));\n }\n return null;\n }\n /**\n * Get the default internal expiration date\n */\n get defaultInternalExpirationDate() {\n if (this.isDefaultInternalExpireDateEnabled && this.defaultInternalExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate));\n }\n return null;\n }\n /**\n * Get the default remote expiration date\n */\n get defaultRemoteExpirationDateString() {\n if (this.isDefaultRemoteExpireDateEnabled && this.defaultRemoteExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate));\n }\n return null;\n }\n /**\n * Are link shares password-enforced ?\n */\n get enforcePasswordForPublicLink() {\n return window.OC.appConfig.core.enforcePasswordForPublicLink === true;\n }\n /**\n * Is password asked by default on link shares ?\n */\n get enableLinkPasswordByDefault() {\n return window.OC.appConfig.core.enableLinkPasswordByDefault === true;\n }\n /**\n * Is link shares expiration enforced ?\n */\n get isDefaultExpireDateEnforced() {\n return window.OC.appConfig.core.defaultExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new link shares ?\n */\n get isDefaultExpireDateEnabled() {\n return window.OC.appConfig.core.defaultExpireDateEnabled === true;\n }\n /**\n * Is internal shares expiration enforced ?\n */\n get isDefaultInternalExpireDateEnforced() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new internal shares ?\n */\n get isDefaultInternalExpireDateEnabled() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnabled === true;\n }\n /**\n * Is remote shares expiration enforced ?\n */\n get isDefaultRemoteExpireDateEnforced() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new remote shares ?\n */\n get isDefaultRemoteExpireDateEnabled() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnabled === true;\n }\n /**\n * Are users on this server allowed to send shares to other servers ?\n */\n get isRemoteShareAllowed() {\n return window.OC.appConfig.core.remoteShareAllowed === true;\n }\n /**\n * Is federation enabled ?\n */\n get isFederationEnabled() {\n return this._capabilities?.files_sharing?.federation?.outgoing === true;\n }\n /**\n * Is public sharing enabled ?\n */\n get isPublicShareAllowed() {\n return this._capabilities?.files_sharing?.public?.enabled === true;\n }\n /**\n * Is sharing my mail (link share) enabled ?\n */\n get isMailShareAllowed() {\n return this._capabilities?.files_sharing?.sharebymail?.enabled === true\n && this.isPublicShareAllowed === true;\n }\n /**\n * Get the default days to link shares expiration\n */\n get defaultExpireDate() {\n return window.OC.appConfig.core.defaultExpireDate;\n }\n /**\n * Get the default days to internal shares expiration\n */\n get defaultInternalExpireDate() {\n return window.OC.appConfig.core.defaultInternalExpireDate;\n }\n /**\n * Get the default days to remote shares expiration\n */\n get defaultRemoteExpireDate() {\n return window.OC.appConfig.core.defaultRemoteExpireDate;\n }\n /**\n * Is resharing allowed ?\n */\n get isResharingAllowed() {\n return window.OC.appConfig.core.resharingAllowed === true;\n }\n /**\n * Is password enforced for mail shares ?\n */\n get isPasswordForMailSharesRequired() {\n return this._capabilities.files_sharing?.sharebymail?.password?.enforced === true;\n }\n /**\n * Always show the email or userid unique sharee label if enabled by the admin\n */\n get shouldAlwaysShowUnique() {\n return this._capabilities.files_sharing?.sharee?.always_show_unique === true;\n }\n /**\n * Is sharing with groups allowed ?\n */\n get allowGroupSharing() {\n return window.OC.appConfig.core.allowGroupSharing === true;\n }\n /**\n * Get the maximum results of a share search\n */\n get maxAutocompleteResults() {\n return parseInt(window.OC.config['sharing.maxAutocompleteResults'], 10) || 25;\n }\n /**\n * Get the minimal string length\n * to initiate a share search\n */\n get minSearchStringLength() {\n return parseInt(window.OC.config['sharing.minSearchStringLength'], 10) || 0;\n }\n /**\n * Get the password policy configuration\n */\n get passwordPolicy() {\n return this._capabilities?.password_policy || {};\n }\n /**\n * Returns true if custom tokens are allowed\n */\n get allowCustomTokens() {\n return this._capabilities?.files_sharing?.public?.custom_tokens;\n }\n /**\n * Show federated shares as internal shares\n *\n * @return\n */\n get showFederatedSharesAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesAsInternal', false);\n }\n /**\n * Show federated shares to trusted servers as internal shares\n *\n * @return\n */\n get showFederatedSharesToTrustedServersAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesToTrustedServersAsInternal', false);\n }\n /**\n * Show the external share ui\n */\n get showExternalSharing() {\n return loadState('files_sharing', 'showExternalSharing', true);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ATOMIC_PERMISSIONS } from '../lib/SharePermissionsToolBox.js'\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tmethods: {\n\t\tasync openSharingDetails(shareRequestObject) {\n\t\t\tlet share = {}\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\t// TODO : Better name/interface for handler required\n\t\t\t// For example `externalAppCreateShareHook` with proper documentation\n\t\t\tif (shareRequestObject.handler) {\n\t\t\t\tconst handlerInput = {}\n\t\t\t\tif (this.suggestions) {\n\t\t\t\t\thandlerInput.suggestions = this.suggestions\n\t\t\t\t\thandlerInput.fileInfo = this.fileInfo\n\t\t\t\t\thandlerInput.query = this.query\n\t\t\t\t}\n\t\t\t\tconst externalShareRequestObject = await shareRequestObject.handler(handlerInput)\n\t\t\t\tshare = this.mapShareRequestToShareObject(externalShareRequestObject)\n\t\t\t} else {\n\t\t\t\tshare = this.mapShareRequestToShareObject(shareRequestObject)\n\t\t\t}\n\n\t\t\tif (this.fileInfo.type !== 'dir') {\n\t\t\t\tconst originalPermissions = share.permissions\n\t\t\t\tconst strippedPermissions = originalPermissions\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.CREATE\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.DELETE\n\n\t\t\t\tif (originalPermissions !== strippedPermissions) {\n\t\t\t\t\tlogger.debug('Removed create/delete permissions from file share (only valid for folders)')\n\t\t\t\t\tshare.permissions = strippedPermissions\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst shareDetails = {\n\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\tshare,\n\t\t\t}\n\n\t\t\tthis.$emit('open-sharing-details', shareDetails)\n\t\t},\n\t\topenShareDetailsForCustomSettings(share) {\n\t\t\tshare.setCustomPermissions = true\n\t\t\tthis.openSharingDetails(share)\n\t\t},\n\t\tmapShareRequestToShareObject(shareRequestObject) {\n\t\t\tif (shareRequestObject.id) {\n\t\t\t\treturn shareRequestObject\n\t\t\t}\n\n\t\t\tconst share = {\n\t\t\t\tattributes: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tkey: 'download',\n\t\t\t\t\t\tscope: 'permissions',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\thideDownload: false,\n\t\t\t\tshare_type: shareRequestObject.shareType,\n\t\t\t\tshare_with: shareRequestObject.shareWith,\n\t\t\t\tis_no_user: shareRequestObject.isNoUser,\n\t\t\t\tuser: shareRequestObject.shareWith,\n\t\t\t\tshare_with_displayname: shareRequestObject.displayName,\n\t\t\t\tsubtitle: shareRequestObject.subtitle,\n\t\t\t\tpermissions: shareRequestObject.permissions ?? new Config().defaultPermissions,\n\t\t\t\texpiration: '',\n\t\t\t}\n\n\t\t\treturn new Share(share)\n\t\t},\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios, { isAxiosError } from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport Share from '../models/Share.ts'\nimport logger from '../services/logger.ts'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {object} data destructuring object\n\t\t * @param {string} data.path path to the file/folder which should be shared\n\t\t * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload] allow public upload to a public shared folder\n\t\t * @param {string} [data.password] password to protect public link Share with\n\t\t * @param {number} [data.permissions] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate] expire the share automatically after\n\t\t * @param {string} [data.label] custom label\n\t\t * @param {string} [data.attributes] Share attributes encoded as json\n\t\t * @param {string} data.note custom note to recipient\n\t\t * @return {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\tconst share = new Share(request.data.ocs.data)\n\t\t\t\temit('files_sharing:share:created', { share })\n\t\t\t\treturn share\n\t\t\t} catch (error) {\n\t\t\t\tconst errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error creating the share')\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tthrow new Error(errorMessage, { cause: error })\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\temit('files_sharing:share:deleted', { id })\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconst errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error deleting the share')\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tthrow new Error(errorMessage, { cause: error })\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties)\n\t\t\t\temit('files_sharing:share:updated', { id })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t} else {\n\t\t\t\t\treturn request.data.ocs.data\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error while updating share', { error })\n\t\t\t\tconst errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error updating the share')\n\t\t\t\t// the error will be shown in apps/files_sharing/src/mixins/SharesMixin.js\n\t\t\t\tthrow new Error(errorMessage, { cause: error })\n\t\t\t}\n\t\t},\n\t},\n}\n\n/**\n * Handle an error response from the server and show a notification with the error message if possible\n *\n * @param {unknown} error - The received error\n * @return {string|undefined} the error message if it could be extracted from the response, otherwise undefined\n */\nfunction getErrorMessage(error) {\n\tif (isAxiosError(error) && error.response.data?.ocs) {\n\t\t/** @type {import('@nextcloud/typings/ocs').OCSResponse} */\n\t\tconst response = error.response.data\n\t\tif (response.ocs.meta?.message) {\n\t\t\treturn response.ocs.meta.message\n\t\t}\n\t}\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=b9057cce\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.section.element,{ref:\"sectionElement\",tag:\"component\",domProps:{\"node\":_vm.node}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SidebarTabExternalSection.vue?vue&type=template&id=9785f99e\"\nimport script from \"./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"sharing-tab-external-section-legacy\"},[_c(_setup.component,{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SidebarTabExternalSectionLegacy.vue?vue&type=template&id=3e4e67d2&scoped=true\"\nimport script from \"./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"\nimport style0 from \"./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3e4e67d2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTabDetailsView\"},[_c('div',{staticClass:\"sharingTabDetailsView__header\"},[_c('span',[(_vm.isUserShare)?_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.shareType !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":\"left\",\"url\":_vm.share.shareWithAvatar}}):_vm._e(),_vm._v(\" \"),_c(_vm.getShareTypeIcon(_vm.share.type),{tag:\"component\",attrs:{\"size\":32}})],1),_vm._v(\" \"),_c('span',[_c('h1',[_vm._v(_vm._s(_vm.title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__wrapper\"},[_c('div',{ref:\"quickPermissions\",staticClass:\"sharingTabDetailsView__quick-permissions\"},[_c('div',[_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"read-only\",\"value\":_vm.bundledPermissions.READ_ONLY.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ViewIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'View only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"upload-edit\",\"value\":_vm.allPermissions,\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('EditIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[(_vm.allowsFileDrop)?[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]:[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\\t\")]],2),_vm._v(\" \"),(_vm.allowsFileDrop)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-sharing-share-permissions-bundle\":\"file-drop\",\"button-variant\":true,\"value\":_vm.bundledPermissions.FILE_DROP.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('UploadIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1083194048),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File request'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.t('files_sharing', 'Upload only')))])]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"custom\",\"value\":\"custom\",\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.expandCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.customPermissionsList))])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__advanced-control\"},[_c('NcButton',{attrs:{\"id\":\"advancedSectionAccordionAdvancedControl\",\"variant\":\"tertiary\",\"alignment\":\"end-reverse\",\"aria-controls\":\"advancedSectionAccordionAdvanced\",\"aria-expanded\":_vm.advancedControlExpandedValue},on:{\"click\":function($event){_vm.advancedSectionAccordionExpanded = !_vm.advancedSectionAccordionExpanded}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!_vm.advancedSectionAccordionExpanded)?_c('MenuDownIcon'):_c('MenuUpIcon')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Advanced settings'))+\"\\n\\t\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.advancedSectionAccordionExpanded)?_c('div',{staticClass:\"sharingTabDetailsView__advanced\",attrs:{\"id\":\"advancedSectionAccordionAdvanced\",\"aria-labelledby\":\"advancedSectionAccordionAdvancedControl\",\"role\":\"region\"}},[_c('section',[(_vm.isPublicShare)?_c('NcInputField',{staticClass:\"sharingTabDetailsView__label\",attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share label')},model:{value:(_vm.share.label),callback:function ($$v) {_vm.$set(_vm.share, \"label\", $$v)},expression:\"share.label\"}}):_vm._e(),_vm._v(\" \"),(_vm.config.allowCustomTokens && _vm.isPublicShare && !_vm.isNewShare)?_c('NcInputField',{attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share link token'),\"helper-text\":_vm.t('files_sharing', 'Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information.'),\"show-trailing-button\":\"\",\"trailing-button-label\":_vm.loadingToken ? _vm.t('files_sharing', 'Generating…') : _vm.t('files_sharing', 'Generate new token')},on:{\"trailing-button-click\":_vm.generateNewToken},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [(_vm.loadingToken)?_c('NcLoadingIcon'):_c('Refresh',{attrs:{\"size\":20}})]},proxy:true}],null,false,4228062821),model:{value:(_vm.share.token),callback:function ($$v) {_vm.$set(_vm.share, \"token\", $$v)},expression:\"share.token\"}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.isPasswordEnforced},model:{value:(_vm.isPasswordProtected),callback:function ($$v) {_vm.isPasswordProtected=$$v},expression:\"isPasswordProtected\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Set password'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('NcPasswordField',{attrs:{\"autocomplete\":\"new-password\",\"model-value\":_vm.share.newPassword ?? '',\"error\":_vm.passwordError,\"helper-text\":_vm.errorPasswordLabel || _vm.passwordHint,\"required\":_vm.isPasswordEnforced && _vm.isNewShare,\"label\":_vm.t('files_sharing', 'Password')},on:{\"update:value\":_vm.onPasswordChange}}):_vm._e(),_vm._v(\" \"),(_vm.isEmailShareType && _vm.passwordExpirationTime)?_c('span',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime: _vm.passwordExpirationTime }))+\"\\n\\t\\t\\t\\t\\t\")]):(_vm.isEmailShareType && _vm.passwordExpirationTime !== null)?_c('span',{attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expired'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.canTogglePasswordProtectedByTalkAvailable)?_c('NcCheckboxRadioSwitch',{on:{\"update:modelValue\":_vm.onPasswordProtectedByTalkChange},model:{value:(_vm.isPasswordProtectedByTalk),callback:function ($$v) {_vm.isPasswordProtectedByTalk=$$v},expression:\"isPasswordProtectedByTalk\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.isExpiryDateEnforced},model:{value:(_vm.hasExpirationDate),callback:function ($$v) {_vm.hasExpirationDate=$$v},expression:\"hasExpirationDate\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.isExpiryDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('NcDateTimePickerNative',{attrs:{\"id\":\"share-date-picker\",\"model-value\":new Date(_vm.share.expireDate ?? _vm.dateTomorrow),\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced,\"hide-label\":\"\",\"label\":_vm.t('files_sharing', 'Expiration date'),\"placeholder\":_vm.t('files_sharing', 'Expiration date'),\"type\":\"date\"},on:{\"input\":_vm.onExpirationChange}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.canChangeHideDownload},on:{\"update:modelValue\":function($event){return _vm.queueUpdate('hideDownload')}},model:{value:(_vm.share.hideDownload),callback:function ($$v) {_vm.$set(_vm.share, \"hideDownload\", $$v)},expression:\"share.hideDownload\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]):_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDownload,\"data-cy-files-sharing-share-permissions-checkbox\":\"download\"},model:{value:(_vm.canDownload),callback:function ($$v) {_vm.canDownload=$$v},expression:\"canDownload\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow download and sync'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(_vm.writeNoteToRecipientIsChecked),callback:function ($$v) {_vm.writeNoteToRecipientIsChecked=$$v},expression:\"writeNoteToRecipientIsChecked\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.writeNoteToRecipientIsChecked)?[_c('NcTextArea',{attrs:{\"label\":_vm.t('files_sharing', 'Note to recipient'),\"placeholder\":_vm.t('files_sharing', 'Enter a note for the share recipient')},model:{value:(_vm.share.note),callback:function ($$v) {_vm.$set(_vm.share, \"note\", $$v)},expression:\"share.note\"}})]:_vm._e(),_vm._v(\" \"),(_vm.isPublicShare && _vm.isFolder)?_c('NcCheckboxRadioSwitch',{model:{value:(_vm.showInGridView),callback:function ($$v) {_vm.showInGridView=$$v},expression:\"showInGridView\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Show files in grid view'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.sortedExternalShareActions),function(action){return _c('SidebarTabExternalAction',{key:action.id,ref:\"externalShareActions\",refInFor:true,attrs:{\"action\":action,\"node\":_vm.fileInfo.node /* TODO: Fix once we have proper Node API */,\"share\":_vm.share}})}),_vm._v(\" \"),_vm._l((_vm.externalLegacyShareActions),function(action){return _c('SidebarTabExternalActionLegacy',{key:action.id,ref:\"externalLinkActions\",refInFor:true,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(_vm.setCustomPermissions),callback:function ($$v) {_vm.setCustomPermissions=$$v},expression:\"setCustomPermissions\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.setCustomPermissions)?_c('section',{staticClass:\"custom-permissions-group\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canRemoveReadPermission,\"data-cy-files-sharing-share-permissions-checkbox\":\"read\"},model:{value:(_vm.hasRead),callback:function ($$v) {_vm.hasRead=$$v},expression:\"hasRead\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetCreate,\"data-cy-files-sharing-share-permissions-checkbox\":\"create\"},model:{value:(_vm.canCreate),callback:function ($$v) {_vm.canCreate=$$v},expression:\"canCreate\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetEdit,\"data-cy-files-sharing-share-permissions-checkbox\":\"update\"},model:{value:(_vm.canEdit),callback:function ($$v) {_vm.canEdit=$$v},expression:\"canEdit\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Edit'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.resharingIsPossible)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetReshare,\"data-cy-files-sharing-share-permissions-checkbox\":\"share\"},model:{value:(_vm.canReshare),callback:function ($$v) {_vm.canReshare=$$v},expression:\"canReshare\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDelete,\"data-cy-files-sharing-share-permissions-checkbox\":\"delete\"},model:{value:(_vm.canDelete),callback:function ($$v) {_vm.canDelete=$$v},expression:\"canDelete\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete'))+\"\\n\\t\\t\\t\\t\\t\")])],1):_vm._e()],2)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__footer\"},[_c('div',{staticClass:\"button-group\"},[_c('NcButton',{attrs:{\"data-cy-files-sharing-share-editor-action\":\"cancel\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__delete\"},[(!_vm.isNewShare)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files_sharing', 'Delete share'),\"disabled\":false,\"readonly\":false,\"variant\":\"tertiary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete share'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"primary\",\"data-cy-files-sharing-share-editor-action\":\"save\",\"disabled\":_vm.creating},on:{\"click\":_vm.saveShare},scopedSlots:_vm._u([(_vm.creating)?{key:\"icon\",fn:function(){return [_c('NcLoadingIcon')]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.shareButtonText)+\"\\n\\t\\t\\t\\t\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountCircleOutline.vue?vue&type=template&id=5b2fe1de\"\nimport script from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"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,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./AccountGroup.vue?vue&type=template&id=fa2b1464\"\nimport script from \"./AccountGroup.vue?vue&type=script&lang=js\"\nexport * from \"./AccountGroup.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-group-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./CircleOutline.vue?vue&type=template&id=c013567c\"\nimport script from \"./CircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"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\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=7dd7f6aa\"\nimport script from \"./Email.vue?vue&type=script&lang=js\"\nexport * from \"./Email.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon email-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Eye.vue?vue&type=template&id=4ae2345c\"\nimport script from \"./Eye.vue?vue&type=script&lang=js\"\nexport * from \"./Eye.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareCircle.vue?vue&type=template&id=0e958886\"\nimport script from \"./ShareCircle.vue?vue&type=script&lang=js\"\nexport * from \"./ShareCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon share-circle-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowUp.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowUp.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./TrayArrowUp.vue?vue&type=template&id=ae55bf4e\"\nimport script from \"./TrayArrowUp.vue?vue&type=script&lang=js\"\nexport * from \"./TrayArrowUp.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tray-arrow-up-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"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\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.action.element,{key:_vm.action.id,ref:\"actionElement\",tag:\"component\",domProps:{\"share\":_vm.share,\"node\":_vm.node,\"onSave\":_setup.onSave}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SidebarTabExternalAction.vue?vue&type=template&id=5ea2e6c7\"\nimport script from \"./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SidebarTabExternalActionLegacy.vue?vue&type=template&id=50e2cb04\"\nimport script from \"./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"\nexport * from \"./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.data.is,_vm._g(_vm._b({tag:\"component\"},'component',_vm.data,false),_vm.action.handlers),[_vm._v(\"\\n\\t\"+_vm._s(_vm.data.text)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav';\nexport const client = getClient();\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) {\n const propfindPayload = getDefaultPropfind();\n const result = await client.stat(`${getRootPath()}${path}`, {\n details: true,\n data: propfindPayload,\n });\n return resultToNode(result.data);\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { showError, showSuccess } from '@nextcloud/dialogs';\nimport { t } from '@nextcloud/l10n';\nimport Config from '../services/ConfigService.ts';\nimport logger from '../services/logger.ts';\nconst config = new Config();\n// note: some chars removed on purpose to make them human friendly when read out\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789';\n/**\n * Generate a valid policy password or request a valid password if password_policy is enabled\n *\n * @param verbose If enabled the the status is shown to the user via toast\n */\nexport default async function (verbose = false) {\n // password policy is enabled, let's request a pass\n if (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n try {\n const request = await axios.get(config.passwordPolicy.api.generate);\n if (request.data.ocs.data.password) {\n if (verbose) {\n showSuccess(t('files_sharing', 'Password created successfully'));\n }\n return request.data.ocs.data.password;\n }\n }\n catch (error) {\n logger.info('Error generating password from password_policy', { error });\n if (verbose) {\n showError(t('files_sharing', 'Error generating password from password policy'));\n }\n }\n }\n const array = new Uint8Array(10);\n const ratio = passwordSet.length / 255;\n getRandomValues(array);\n let password = '';\n for (let i = 0; i < array.length; i++) {\n password += passwordSet.charAt(array[i] * ratio);\n }\n return password;\n}\n/**\n * Fills the given array with cryptographically secure random values.\n * If the crypto API is not available, it falls back to less secure Math.random().\n * Crypto API is available in modern browsers on secure contexts (HTTPS).\n *\n * @param array - The array to fill with random values.\n */\nfunction getRandomValues(array) {\n if (self?.crypto?.getRandomValues) {\n self.crypto.getRandomValues(array);\n return;\n }\n let len = array.length;\n while (len--) {\n array[len] = Math.floor(Math.random() * 256);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { ShareType } from '@nextcloud/sharing'\nimport debounce from 'debounce'\nimport PQueue from 'p-queue'\nimport { fetchNode } from '../../../files/src/services/WebdavClient.ts'\nimport {\n\tATOMIC_PERMISSIONS,\n\tgetBundledPermissions,\n} from '../lib/SharePermissionsToolBox.js'\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport SharesRequests from './ShareRequests.js'\n\nexport default {\n\tmixins: [SharesRequests],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tnode: null,\n\t\t\tShareType,\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t/** @type {boolean | undefined} */\n\t\t\tpasswordProtectedState: undefined,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpath() {\n\t\t\treturn (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t},\n\t\t/**\n\t\t * Does the current share have a note\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\n\t\t// Datepicker language\n\t\tlang() {\n\t\t\tconst weekdaysShort = window.dayNamesShort\n\t\t\t\t? window.dayNamesShort // provided by Nextcloud\n\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.']\n\t\t\tconst monthsShort = window.monthNamesShort\n\t\t\t\t? window.monthNamesShort // provided by Nextcloud\n\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.']\n\t\t\tconst firstDayOfWeek = window.firstDay ? window.firstDay : 0\n\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tfirstDayOfWeek,\n\t\t\t\t\tmonthsShort,\n\t\t\t\t\tweekdaysMin: weekdaysShort,\n\t\t\t\t\tweekdaysShort,\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMM',\n\t\t\t}\n\t\t},\n\t\tisNewShare() {\n\t\t\treturn !this.share.id\n\t\t},\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\tisPublicShare() {\n\t\t\tconst shareType = this.share.shareType ?? this.share.type\n\t\t\treturn [ShareType.Link, ShareType.Email].includes(shareType)\n\t\t},\n\t\tisRemoteShare() {\n\t\t\treturn this.share.type === ShareType.RemoteGroup || this.share.type === ShareType.Remote\n\t\t},\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\t\tisExpiryDateEnforced() {\n\t\t\tif (this.isPublicShare) {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t}\n\t\t\tif (this.isRemoteShare) {\n\t\t\t\treturn this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t}\n\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t},\n\t\thasCustomPermissions() {\n\t\t\tconst basePermissions = getBundledPermissions(true)\n\t\t\tconst bundledPermissions = [\n\t\t\t\tbasePermissions.ALL,\n\t\t\t\tbasePermissions.ALL_FILE,\n\t\t\t\tbasePermissions.READ_ONLY,\n\t\t\t\tbasePermissions.FILE_DROP,\n\t\t\t]\n\t\t\tconst permissionsWithoutShare = this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE\n\t\t\treturn !bundledPermissions.includes(permissionsWithoutShare)\n\t\t},\n\t\tmaxExpirationDateEnforced() {\n\t\t\tif (this.isExpiryDateEnforced) {\n\t\t\t\tif (this.isPublicShare) {\n\t\t\t\t\treturn this.config.defaultExpirationDate\n\t\t\t\t}\n\t\t\t\tif (this.isRemoteShare) {\n\t\t\t\t\treturn this.config.defaultRemoteExpirationDateString\n\t\t\t\t}\n\t\t\t\t// If it get's here then it must be an internal share\n\t\t\t\treturn this.config.defaultInternalExpirationDate\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\tif (this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tif (this.passwordProtectedState !== undefined) {\n\t\t\t\t\treturn this.passwordProtectedState\n\t\t\t\t}\n\t\t\t\treturn typeof this.share.newPassword === 'string'\n\t\t\t\t\t|| typeof this.share.password === 'string'\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tif (enabled) {\n\t\t\t\t\tthis.passwordProtectedState = true\n\t\t\t\t\tthis.$set(this.share, 'newPassword', await GeneratePassword(true))\n\t\t\t\t} else {\n\t\t\t\t\tthis.passwordProtectedState = false\n\t\t\t\t\tthis.$set(this.share, 'newPassword', '')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Fetch WebDAV node\n\t\t *\n\t\t * @return {Node}\n\t\t */\n\t\tasync getNode() {\n\t\t\tconst node = { path: this.path }\n\t\t\ttry {\n\t\t\t\tthis.node = await fetchNode(node.path)\n\t\t\t\tlogger.info('Fetched node:', { node: this.node })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error:', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @return {boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.newPassword) {\n\t\t\t\tif (typeof share.newPassword !== 'string') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = share.expirationDate\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * @param {Date} date the date to format\n\t\t * @return {string} date a date with YYYY-MM-DD format\n\t\t */\n\t\tformatDateToString(date) {\n\t\t\t// Force utc time. Drop time information to be timezone-less\n\t\t\tconst utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t// Format to YYYY-MM-DD\n\t\t\treturn utcDate.toISOString().split('T')[0]\n\t\t},\n\n\t\t/**\n\t\t * Save given value to expireDate and trigger queueUpdate\n\t\t *\n\t\t * @param {Date} date\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\tif (!date) {\n\t\t\t\tthis.share.expireDate = null\n\t\t\t\tthis.$set(this.share, 'expireDate', null)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst parsedDate = (date instanceof Date) ? date : new Date(date)\n\t\t\tthis.share.expireDate = this.formatDateToString(parsedDate)\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t *\n\t\t * @param {string} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tlogger.debug('Share deleted', { shareId: this.share.id })\n\t\t\t\tconst message = this.share.itemType === 'file'\n\t\t\t\t\t? t('files_sharing', 'File \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\t\t: t('files_sharing', 'Folder \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\tshowSuccess(message)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t\tawait this.getNode()\n\t\t\t\temit('files:node:updated', this.node)\n\t\t\t} catch {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {Array} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tfor (const name of propertyNames) {\n\t\t\t\t\tif (name === 'password') {\n\t\t\t\t\t\tif (this.share.newPassword !== undefined) {\n\t\t\t\t\t\t\tproperties[name] = this.share.newPassword\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.share[name] === null || this.share[name] === undefined) {\n\t\t\t\t\t\tproperties[name] = ''\n\t\t\t\t\t} else if ((typeof this.share[name]) === 'object') {\n\t\t\t\t\t\tproperties[name] = JSON.stringify(this.share[name])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tproperties[name] = this.share[name].toString()\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn this.updateQueue.add(async () => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst updatedShare = await this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.includes('password')) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.share.password = this.share.newPassword || undefined\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t\t\t\t\t// updates password expiration time after sync\n\t\t\t\t\t\t\tthis.share.passwordExpirationTime = updatedShare.password_expiration_time\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tfor (const property of propertyNames) {\n\t\t\t\t\t\t\tthis.$delete(this.errors, property)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowSuccess(this.updateSuccessMessage(propertyNames))\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tlogger.error('Could not update share', { error, share: this.share, propertyNames })\n\n\t\t\t\t\t\tconst { message } = error\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tfor (const property of propertyNames) {\n\t\t\t\t\t\t\t\tthis.onSyncError(property, message)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowError(message)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// We do not have information what happened, but we should still inform the user\n\t\t\t\t\t\t\tshowError(t('files_sharing', 'Could not update share'))\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// This share does not exists on the server yet\n\t\t\tlogger.debug('Updated local share', { share: this.share })\n\t\t},\n\n\t\t/**\n\t\t * @param {string[]} names Properties changed\n\t\t */\n\t\tupdateSuccessMessage(names) {\n\t\t\tif (names.length !== 1) {\n\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\n\t\t\tswitch (names[0]) {\n\t\t\t\tcase 'expireDate':\n\t\t\t\t\treturn t('files_sharing', 'Share expiry date saved')\n\t\t\t\tcase 'hideDownload':\n\t\t\t\t\treturn t('files_sharing', 'Share hide-download state saved')\n\t\t\t\tcase 'label':\n\t\t\t\t\treturn t('files_sharing', 'Share label saved')\n\t\t\t\tcase 'note':\n\t\t\t\t\treturn t('files_sharing', 'Share note for recipient saved')\n\t\t\t\tcase 'password':\n\t\t\t\t\treturn t('files_sharing', 'Share password saved')\n\t\t\t\tcase 'permissions':\n\t\t\t\t\treturn t('files_sharing', 'Share permissions saved')\n\t\t\t\tdefault:\n\t\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t *\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\tif (property === 'password' && this.share.newPassword !== undefined) {\n\t\t\t\tif (this.share.newPassword === this.share.password) {\n\t\t\t\t\tthis.share.password = ''\n\t\t\t\t}\n\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t}\n\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\t\tcase 'password':\n\t\t\t\tcase 'pending':\n\t\t\t\tcase 'expireDate':\n\t\t\t\tcase 'label':\n\t\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\t\tif (propertyEl) {\n\t\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t\t// Restore previous state\n\t\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nimport isSvg from 'is-svg';\n/**\n * Register a new sidebar action\n *\n * @param action - The action to register\n */\nexport function registerSidebarAction(action) {\n if (!action.id) {\n throw new Error('Sidebar actions must have an id');\n }\n if (!action.element || !action.element.startsWith('oca_') || !window.customElements.get(action.element)) {\n throw new Error('Sidebar actions must provide a registered custom web component identifier');\n }\n if (typeof action.order !== 'number') {\n throw new Error('Sidebar actions must have the order property');\n }\n if (typeof action.enabled !== 'function') {\n throw new Error('Sidebar actions must implement the \"enabled\" method');\n }\n window._nc_files_sharing_sidebar_actions ??= new Map();\n if (window._nc_files_sharing_sidebar_actions.has(action.id)) {\n throw new Error(`Sidebar action with id \"${action.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_actions.set(action.id, action);\n}\n/**\n * Register a new sidebar action\n *\n * @param action - The action to register\n */\nexport function registerSidebarInlineAction(action) {\n if (!action.id) {\n throw new Error('Sidebar actions must have an id');\n }\n if (typeof action.order !== 'number') {\n throw new Error('Sidebar actions must have the \"order\" property');\n }\n if (typeof action.iconSvg !== 'string' || !isSvg(action.iconSvg)) {\n throw new Error('Sidebar actions must have the \"iconSvg\" property');\n }\n if (typeof action.label !== 'function') {\n throw new Error('Sidebar actions must implement the \"label\" method');\n }\n if (typeof action.exec !== 'function') {\n throw new Error('Sidebar actions must implement the \"exec\" method');\n }\n if (typeof action.enabled !== 'function') {\n throw new Error('Sidebar actions must implement the \"enabled\" method');\n }\n window._nc_files_sharing_sidebar_inline_actions ??= new Map();\n if (window._nc_files_sharing_sidebar_inline_actions.has(action.id)) {\n throw new Error(`Sidebar action with id \"${action.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_inline_actions.set(action.id, action);\n}\n/**\n * Get all registered sidebar actions\n */\nexport function getSidebarActions() {\n return [...(window._nc_files_sharing_sidebar_actions?.values() ?? [])];\n}\n/**\n * Get all registered sidebar inline actions\n */\nexport function getSidebarInlineActions() {\n return [...(window._nc_files_sharing_sidebar_inline_actions?.values() ?? [])];\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\n/**\n *\n */\nexport async function generateToken() {\n const { data } = await axios.get(generateOcsUrl('/apps/files_sharing/api/v1/token'));\n return data.ocs.data.token;\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=1a9646b6&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=1a9646b6&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingDetailsTab.vue?vue&type=template&id=1a9646b6&scoped=true\"\nimport script from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingDetailsTab.vue?vue&type=style&index=0&id=1a9646b6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a9646b6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle,\"aria-expanded\":_vm.showInheritedShares},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon,\"aria-label\":_vm.toggleTooltip,\"title\":_vm.toggleTooltip},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}})],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share},on:{\"remove:share\":_vm.removeShare}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=731a9650&scoped=true\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"731a9650\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('NcActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', { folder: _vm.viaFolderName }))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=cedf3238&scoped=true\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cedf3238\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Link shares')}},[(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"index\":_vm.shares.length > 1 ? index + 1 : null,\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare(...arguments)}],\"add:share\":function($event){return _vm.addShare(...arguments)},\"remove:share\":_vm.removeShare,\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}):_vm._e(),_vm._v(\" \"),(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlankOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlankOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CalendarBlankOutline.vue?vue&type=template&id=784b59e6\"\nimport script from \"./CalendarBlankOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarBlankOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon calendar-blank-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19V7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./CheckBold.vue?vue&type=template&id=5603f41f\"\nimport script from \"./CheckBold.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBold.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon check-bold-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Exclamation.vue?vue&type=template&id=03239926\"\nimport script from \"./Exclamation.vue?vue&type=script&lang=js\"\nexport * from \"./Exclamation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon exclamation-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./LockOutline.vue?vue&type=template&id=54353a96\"\nimport script from \"./LockOutline.vue?vue&type=script&lang=js\"\nexport * from \"./LockOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon lock-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Plus.vue?vue&type=template&id=055261ec\"\nimport script from \"./Plus.vue?vue&type=script&lang=js\"\nexport * from \"./Plus.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon plus-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Qrcode.vue?vue&type=template&id=aba87788\"\nimport script from \"./Qrcode.vue?vue&type=script&lang=js\"\nexport * from \"./Qrcode.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon qrcode-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Tune.vue?vue&type=template&id=18d04e6a\"\nimport script from \"./Tune.vue?vue&type=script&lang=js\"\nexport * from \"./Tune.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tune-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-expiry-time\"},[_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [(_vm.expiryTime)?_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary\",\"aria-label\":_vm.t('files_sharing', 'Share expiration: {date}', { date: new Date(_vm.expiryTime).toLocaleString() })},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ClockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,3754271979)}):_vm._e()]},proxy:true}])},[_vm._v(\" \"),_c('h3',{staticClass:\"hint-heading\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share Expiration'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.expiryTime)?_c('p',{staticClass:\"hint-body\"},[_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime,\"format\":_vm.timeFormat,\"relative-time\":false}}),_vm._v(\" (\"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime}}),_vm._v(\")\\n\\t\\t\")],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClockOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClockOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClockOutline.vue?vue&type=template&id=1a84e403\"\nimport script from \"./ClockOutline.vue?vue&type=script&lang=js\"\nexport * from \"./ClockOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clock-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ShareExpiryTime.vue?vue&type=template&id=c9199db0&scoped=true\"\nimport script from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nexport * from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nimport style0 from \"./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c9199db0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./EyeOutline.vue?vue&type=template&id=e26de6f6\"\nimport script from \"./EyeOutline.vue?vue&type=script&lang=js\"\nexport * from \"./EyeOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"","\n\n","\n\n\n\n\n\n","import { render, staticRenderFns } from \"./TriangleSmallDown.vue?vue&type=template&id=1eed3dd9\"\nimport script from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\nexport * from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon triangle-small-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8 9H16L12 16\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryQuickShareSelect.vue?vue&type=template&id=b5eca1ec&scoped=true\"\nimport script from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b5eca1ec\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{ref:\"quickShareActions\",staticClass:\"share-select\",attrs:{\"menu-name\":_vm.selectedOption,\"aria-label\":_vm.ariaLabel,\"variant\":\"tertiary-no-background\",\"disabled\":!_vm.share.canEdit,\"force-name\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DropdownIcon',{attrs:{\"size\":15}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.options),function(option){return _c('NcActionButton',{key:option.label,attrs:{\"type\":\"radio\",\"model-value\":option.label === _vm.selectedOption,\"close-after-click\":\"\"},on:{\"click\":function($event){return _vm.selectOption(option.label)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(option.icon,{tag:\"component\"})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(option.label)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=4ca4172c&scoped=true\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4ca4172c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{ 'sharing-entry--share': _vm.share }},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\",attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share && _vm.share.permissions !== undefined)?_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__actions\"},[(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.share && (!_vm.isEmailShareType || _vm.isFileRequest) && _vm.share.token)?_c('NcActions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.copyLinkLabel,\"title\":_vm.copySuccess ? _vm.t('files_sharing', 'Successfully copied public link') : undefined,\"href\":_vm.shareLink},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{staticClass:\"sharing-entry__copy-icon\",class:{ 'sharing-entry__copy-icon--success': _vm.copySuccess },attrs:{\"path\":_vm.copySuccess ? _vm.mdiCheck : _vm.mdiContentCopy}})]},proxy:true}],null,false,1728815133)})],1):_vm._e()],1)],1)]),_vm._v(\" \"),(!_vm.pending && _vm.pendingDataIsMissing)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onCancel}},[(_vm.errors.pending)?_c('NcActionText',{staticClass:\"error\",scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ErrorIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1966124155)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('NcActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingPassword)?_c('NcActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"uncheck\":_vm.onPasswordDisable},model:{value:(_vm.isPasswordProtected),callback:function ($$v) {_vm.isPasswordProtected=$$v},expression:\"isPasswordProtected\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink ? _vm.t('files_sharing', 'Password protection (enforced)') : _vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingEnforcedPassword || _vm.isPasswordProtected)?_c('NcActionInput',{staticClass:\"share-link-password\",attrs:{\"label\":_vm.t('files_sharing', 'Enter a password'),\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"autocomplete\":\"new-password\"},on:{\"submit\":function($event){return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('LockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2056568168),model:{value:(_vm.share.newPassword),callback:function ($$v) {_vm.$set(_vm.share, \"newPassword\", $$v)},expression:\"share.newPassword\"}}):_vm._e(),_vm._v(\" \"),(_vm.pendingDefaultExpirationDate)?_c('NcActionCheckbox',{staticClass:\"share-link-expiration-date-checkbox\",attrs:{\"disabled\":_vm.pendingEnforcedExpirationDate || _vm.saving},on:{\"update:model-value\":_vm.onExpirationDateToggleUpdate},model:{value:(_vm.defaultExpirationDateEnabled),callback:function ($$v) {_vm.defaultExpirationDateEnabled=$$v},expression:\"defaultExpirationDateEnabled\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced ? _vm.t('files_sharing', 'Enable link expiration (enforced)') : _vm.t('files_sharing', 'Enable link expiration'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),((_vm.pendingDefaultExpirationDate || _vm.pendingEnforcedExpirationDate) && _vm.defaultExpirationDateEnabled)?_c('NcActionInput',{staticClass:\"share-link-expire-date\",attrs:{\"data-cy-files-sharing-expiration-date-input\":\"\",\"label\":_vm.pendingEnforcedExpirationDate ? _vm.t('files_sharing', 'Enter expiration date (enforced)') : _vm.t('files_sharing', 'Enter expiration date'),\"disabled\":_vm.saving,\"is-native-picker\":true,\"hide-label\":true,\"model-value\":new Date(_vm.share.expireDate),\"type\":\"date\",\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced},on:{\"update:model-value\":_vm.onExpirationChange,\"change\":_vm.expirationDateChanged},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconCalendarBlank',{attrs:{\"size\":20}})]},proxy:true}],null,false,3418578971)}):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"disabled\":_vm.pendingEnforcedPassword && !_vm.share.newPassword},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CheckIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2630571749)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('NcActionButton',{attrs:{\"disabled\":_vm.saving,\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();return _vm.openSharingDetails.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Tune',{attrs:{\"size\":20}})]},proxy:true}],null,false,1300586850)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Customize link'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();_vm.showQRCode = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconQr',{attrs:{\"size\":20}})]},proxy:true}],null,false,1082198240)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Generate QR code'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.sortedExternalShareActions),function(action){return _c('NcActionButton',{key:action.id,on:{\"click\":function($event){return action.exec(_vm.share, _vm.fileInfo.node)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvg}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(action.label(_vm.share, _vm.fileInfo.node))+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),_vm._l((_vm.externalLegacyShareActions),function(action){return _c('SidebarTabExternalActionLegacy',{key:action.id,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",attrs:{\"title\":_vm.t('files_sharing', 'Create a new share link'),\"aria-label\":_vm.t('files_sharing', 'Create a new share link'),\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}}):_vm._e()],2):_c('NcLoadingIcon',{staticClass:\"sharing-entry__loading\"}),_vm._v(\" \"),(_vm.showQRCode)?_c('NcDialog',{attrs:{\"size\":\"normal\",\"open\":_vm.showQRCode,\"name\":_vm.title,\"close-on-click-outside\":true},on:{\"update:open\":function($event){_vm.showQRCode=$event},\"close\":function($event){_vm.showQRCode = false}}},[_c('div',{staticClass:\"qr-code-dialog\"},[_c('VueQrcode',{staticClass:\"qr-code-dialog__img\",attrs:{\"tag\":\"img\",\"value\":_vm.shareLink}})],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=708b3104\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=469e5e80&scoped=true\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"469e5e80\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"","\n\n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":\"left\",\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c(_vm.share.shareWithLink ? 'a' : 'div',{tag:\"component\",staticClass:\"sharing-entry__summary__desc\",attrs:{\"title\":_vm.tooltip,\"aria-label\":_vm.tooltip,\"href\":_vm.share.shareWithLink}},[_c('span',[_vm._v(_vm._s(_vm.title)+\"\\n\\t\\t\\t\\t\"),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__summary__desc-unique\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t(\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasStatus && _vm.share.status.message)?_c('small',[_vm._v(\"(\"+_vm._s(_vm.share.status.message)+\")\")]):_vm._e()])]),_vm._v(\" \"),_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}})],1),_vm._v(\" \"),(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),(_vm.share.canEdit)?_c('NcButton',{staticClass:\"sharing-entry__action\",attrs:{\"data-cy-files-sharing-share-actions\":\"\",\"aria-label\":_vm.t('files_sharing', 'Open Sharing Details'),\"variant\":\"tertiary\"},on:{\"click\":function($event){return _vm.openSharingDetails(_vm.share)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1700783217)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=7e1141c6\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"sharing-sharee-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Shares')}},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\n/**\n * Register a new sidebar section inside the files sharing sidebar tab.\n *\n * @param section - The section to register\n */\nexport function registerSidebarSection(section) {\n if (!section.id) {\n throw new Error('Sidebar sections must have an id');\n }\n if (!section.element || !section.element.startsWith('oca_') || !window.customElements.get(section.element)) {\n throw new Error('Sidebar sections must provide a registered custom web component identifier');\n }\n if (typeof section.order !== 'number') {\n throw new Error('Sidebar sections must have the order property');\n }\n if (typeof section.enabled !== 'function') {\n throw new Error('Sidebar sections must implement the enabled method');\n }\n window._nc_files_sharing_sidebar_sections ??= new Map();\n if (window._nc_files_sharing_sidebar_sections.has(section.id)) {\n throw new Error(`Sidebar section with id \"${section.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_sections.set(section.id, section);\n}\n/**\n * Get all registered sidebar sections for the files sharing sidebar tab.\n */\nexport function getSidebarSections() {\n return [...(window._nc_files_sharing_sidebar_sections?.values() ?? [])];\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ShareType } from '@nextcloud/sharing'\n\n/**\n *\n * @param share\n */\nfunction shareWithTitle(share) {\n\tif (share.type === ShareType.Group) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Team) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Room) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=7cacff60&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=7cacff60&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=7cacff60&scoped=true\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingTab.vue?vue&type=style&index=0&id=7cacff60&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7cacff60\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTab\",class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\",class:{ emptyContentWithSections: _vm.hasExternalSections }},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],staticClass:\"sharingTab__content\"},[(_vm.isSharedWithMe)?_c('ul',[_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName}})]},proxy:true}],null,false,3197855346)},'SharingEntrySimple',_vm.sharedWithMe,false))],1):_vm._e(),_vm._v(\" \"),_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Internal shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Internal shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}])})]},proxy:true}])},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.internalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares,\"placeholder\":_vm.internalShareInputPlaceholder},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}})],1),_vm._v(\" \"),(_vm.config.showExternalSharing)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'External shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'External shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,4045083138)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.externalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"is-external\":true,\"placeholder\":_vm.externalShareInputPlaceholder,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{attrs:{\"shares\":_vm.externalShares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading && _vm.isLinkSharingAllowed)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.hasExternalSections && !_vm.showSharingDetailsView)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Additional shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Additional shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,880248230)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.additionalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),_vm._l((_vm.sortedExternalSections),function(section){return _c('SidebarTabExternalSection',{key:section.id,staticClass:\"sharingTab__additionalContent\",attrs:{\"section\":section,\"node\":_vm.fileInfo.node /* TODO: Fix once we have proper Node API */}})}),_vm._v(\" \"),_vm._l((_vm.legacySections),function(section,index){return _c('SidebarTabExternalSectionLegacy',{key:index,staticClass:\"sharingTab__additionalContent\",attrs:{\"file-info\":_vm.fileInfo,\"section-callback\":section}})}),_vm._v(\" \"),(_vm.projectsEnabled)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView && _vm.fileInfo),expression:\"!showSharingDetailsView && fileInfo\"}],staticClass:\"sharingTab__additionalContent\"},[_c('NcCollectionList',{attrs:{\"id\":`${_vm.fileInfo.id}`,\"type\":\"file\",\"name\":_vm.fileInfo.name}})],1):_vm._e()],2):_vm._e()]),_vm._v(\" \"),(_vm.showSharingDetailsView)?_c('SharingDetailsTab',{attrs:{\"file-info\":_vm.shareDetailsData.fileInfo,\"share\":_vm.shareDetailsData.share},on:{\"close-sharing-details\":_vm.toggleShareDetailsView,\"add:share\":_vm.addShare,\"remove:share\":_vm.removeShare}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"","/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * Convert Node to legacy file info\n *\n * @param node - The Node to convert\n */\nexport default function (node) {\n const rawFileInfo = {\n id: node.fileid,\n path: node.dirname,\n name: node.basename,\n mtime: node.mtime?.getTime(),\n etag: node.attributes.etag,\n size: node.size,\n hasPreview: node.attributes.hasPreview,\n isEncrypted: node.attributes.isEncrypted === 1,\n isFavourited: node.attributes.favorite === 1,\n mimetype: node.mime,\n permissions: node.permissions,\n mountType: node.attributes['mount-type'],\n sharePermissions: node.attributes['share-permissions'],\n shareAttributes: JSON.parse(node.attributes['share-attributes'] || '[]'),\n type: node.type === 'file' ? 'file' : 'dir',\n attributes: node.attributes,\n };\n const fileInfo = new OC.Files.FileInfo(rawFileInfo);\n // TODO remove when no more legacy backbone is used\n fileInfo.get = (key) => fileInfo[key];\n fileInfo.isDirectory = () => fileInfo.mimetype === 'httpd/unix-directory';\n fileInfo.canEdit = () => Boolean(fileInfo.permissions & OC.PERMISSION_UPDATE);\n fileInfo.node = node;\n return fileInfo;\n}\n","import { render, staticRenderFns } from \"./FilesSidebarTab.vue?vue&type=template&id=8a2257be\"\nimport script from \"./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","NcActions","required","subtitle","isUnique","Boolean","ariaExpanded","computed","ariaExpandedValue","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_t","$slots","ref","generateFileUrl","fileid","baseURL","getBaseUrl","globalscale","getCapabilities","token","generateUrl","NcActionButton","SharingEntrySimple","CheckIcon","ClipboardIcon","fileInfo","Object","data","copied","copySuccess","internalLink","copyLinkTooltip","t","internalLinkSubtitle","methods","copyLink","navigator","clipboard","writeText","showSuccess","$refs","shareEntrySimple","actionsComponent","$el","focus","error","logger","setTimeout","scopedSlots","_u","key","fn","proxy","ATOMIC_PERMISSIONS","BUNDLED_PERMISSIONS","READ_ONLY","UPLOAD_AND_UPDATE","FILE_DROP","ALL","ALL_FILE","getBundledPermissions","excludeShare","defaultDavProperties","defaultDavNamespaces","d","nc","oc","ocs","getRootPath","uid","defaultRootPath","defaultRemoteURL","url","replace","getRemoteURL","Share","constructor","ocsData","_defineProperty","parseInt","hide_download","mail_send","attributes","JSON","parse","warn","_share","state","share_type","permissions","owner","uid_owner","ownerDisplayName","displayname_owner","shareWith","share_with","shareWithDisplayName","share_with_displayname","shareWithDisplayNameUnique","share_with_displayname_unique","shareWithLink","share_with_link","shareWithAvatar","share_with_avatar","uidFileOwner","uid_file_owner","displaynameFileOwner","displayname_file_owner","createdTime","stime","expireDate","expiration","date","note","label","mailSend","hideDownload","undefined","find","scope","value","attribute","password","passwordExpirationTime","password_expiration_time","sendPasswordByTalk","send_password_by_talk","path","itemType","item_type","mimetype","fileSource","file_source","fileTarget","file_target","fileParent","file_parent","hasReadPermission","window","OC","PERMISSION_READ","hasCreatePermission","PERMISSION_CREATE","hasDeletePermission","PERMISSION_DELETE","hasUpdatePermission","PERMISSION_UPDATE","hasSharePermission","PERMISSION_SHARE","hasDownloadPermission","some","isFileRequest","stringify","enabled","setAttribute","attrUpdate","i","attr","splice","canEdit","can_edit","canDelete","can_delete","viaFileid","via_fileid","viaPath","via_path","parent","storageId","storage_id","storage","itemSource","item_source","status","isTrustedServer","is_trusted_server","Config","_capabilities","defaultPermissions","files_sharing","default_permissions","excludeReshareFromEdit","exclude_reshare_from_edit","isPublicUploadEnabled","public","upload","federatedShareDocLink","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","defaultExpireDate","Date","setDate","getDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","defaultInternalExpireDateEnabled","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isFederationEnabled","federation","outgoing","isPublicShareAllowed","isMailShareAllowed","sharebymail","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","enforced","shouldAlwaysShowUnique","sharee","always_show_unique","allowGroupSharing","maxAutocompleteResults","config","minSearchStringLength","passwordPolicy","password_policy","allowCustomTokens","custom_tokens","showFederatedSharesAsInternal","loadState","showFederatedSharesToTrustedServersAsInternal","showExternalSharing","openSharingDetails","shareRequestObject","share","handler","handlerInput","suggestions","query","externalShareRequestObject","mapShareRequestToShareObject","originalPermissions","strippedPermissions","debug","shareDetails","openShareDetailsForCustomSettings","setCustomPermissions","shareType","is_no_user","isNoUser","user","displayName","shareUrl","generateOcsUrl","createShare","publicUpload","request","axios","post","emit","errorMessage","getErrorMessage","showError","Error","cause","deleteShare","delete","updateShare","properties","put","isAxiosError","response","meta","message","NcSelect","mixins","ShareRequests","ShareDetails","shares","Array","linkShares","reshare","canReshare","isExternal","placeholder","setup","shareInputId","Math","random","toString","slice","loading","recommendations","ShareSearch","OCA","Sharing","externalResults","results","inputPlaceholder","allowRemoteSharing","isValidQuery","trim","length","noResultText","mounted","getRecommendations","onSelected","option","asyncFind","debounceGetSuggestions","getSuggestions","search","lookup","query_lookup_default","remoteTypes","ShareType","Remote","RemoteGroup","showFederatedAsInternal","shouldAddRemoteTypes","Email","User","Group","Team","Room","Guest","Deck","ScienceMesh","get","params","format","perPage","exact","rawExactSuggestions","values","flat","rawSuggestions","exactSuggestions","filterOutExistingShares","filter","result","filterByTrustedServer","map","formatForMultiselect","sort","a","b","lookupEntry","lookupEnabled","condition","allSuggestions","concat","nameCounts","reduce","item","desc","debounce","args","rawRecommendations","arr","elem","getCurrentUser","indexOf","sharesObj","obj","shareTypeToIcon","icon","iconTitle","Sciencemesh","subname","extra","email","server","shareWithDescription","uuid","clear-search-on-blur","model","callback","$$v","expression","_defineComponent","__name","node","section","__props","sectionElement","watchEffect","__sfc","_setupProxy","element","tag","domProps","sectionCallback","Function","component","action","expose","save","actionElement","savingCallback","onSave","toRaw","_setup","is","_g","handlers","text","client","remoteURL","headers","setHeaders","requesttoken","patch","headers2","method","fetch","getClient","async","fetchNode","propfindPayload","s","davNamespaces","keys","ns","join","davProperties","prop","filesRoot","userId","permString","P","NONE","includes","READ","WRITE","CREATE","UPDATE","DELETE","SHARE","parsePermissions","mtime","lastmod","crtime","creationdate","nodeData","source","filename","isNaN","getTime","mime","displayname","getcontentlength","FAILED","root","hasPreview","resultToNode","stat","details","verbose","api","generate","info","array","Uint8Array","ratio","passwordSet","self","crypto","getRandomValues","len","floor","charAt","SharesRequests","errors","saving","open","passwordProtectedState","updateQueue","PQueue","concurrency","reactiveState","hasNote","set","dateTomorrow","lang","weekdaysShort","dayNamesShort","monthsShort","monthNamesShort","formatLocale","firstDayOfWeek","firstDay","weekdaysMin","monthFormat","isNewShare","isFolder","isPublicShare","Link","isRemoteShare","isShareOwner","isExpiryDateEnforced","hasCustomPermissions","basePermissions","bundledPermissions","permissionsWithoutShare","maxExpirationDateEnforced","isPasswordProtected","newPassword","$set","GeneratePassword","getNode","checkShare","expirationDate","isValid","formatDateToString","UTC","getFullYear","getMonth","toISOString","split","onExpirationChange","parsedDate","onNoteChange","onNoteSubmit","newNote","$delete","queueUpdate","onDelete","shareId","propertyNames","add","updatedShare","property","updateSuccessMessage","onSyncError","names","propertyEl","focusable","querySelector","debounceQueueUpdate","NcAvatar","NcButton","NcCheckboxRadioSwitch","NcDateTimePickerNative","NcInputField","NcLoadingIcon","NcPasswordField","NcTextArea","CloseIcon","CircleIcon","EditIcon","LinkIcon","GroupIcon","ShareIcon","UserIcon","UploadIcon","ViewIcon","MenuDownIcon","MenuUpIcon","DotsHorizontalIcon","Refresh","SidebarTabExternalAction","SidebarTabExternalActionLegacy","SharesMixin","shareRequestValue","writeNoteToRecipientIsChecked","sharingPermission","revertSharingPermission","passwordError","advancedSectionAccordionExpanded","isFirstComponentLoad","test","creating","initialToken","loadingToken","externalShareActions","_nc_files_sharing_sidebar_actions","ExternalShareActions","allPermissions","checked","updateAtomicPermissions","isEditChecked","canCreate","isCreateChecked","isDeleteChecked","isReshareChecked","showInGridView","getShareAttribute","setShareAttribute","canDownload","hasRead","isReadChecked","hasExpirationDate","isValidShareAttribute","defaultExpiryDate","isSetDownloadButtonVisible","isPasswordEnforced","isGroupShare","isUserShare","allowsFileDrop","hasFileDropPermissions","shareButtonText","resharingIsPossible","canSetEdit","sharePermissions","canSetCreate","canSetDelete","canSetReshare","canSetDownload","canRemoveReadPermission","hasUnsavedPassword","expirationTime","moment","diff","fromNow","isTalkEnabled","appswebroots","spreed","isPasswordProtectedByTalkAvailable","isPasswordProtectedByTalk","isEmailShareType","canTogglePasswordProtectedByTalkAvailable","canChangeHideDownload","shareAttributes","shareAttribute","customPermissionsList","translatedPermissions","permission","hasPermissions","initialPermissionSet","permissionsToCheck","index","toLocaleLowerCase","getLanguage","advancedControlExpandedValue","errorPasswordLabel","passwordHint","sortedExternalShareActions","order","externalLegacyShareActions","actions","advanced","watch","isChecked","beforeMount","initializePermissions","initializeAttributes","quickPermissions","fallback","generateNewToken","generateToken","cancel","expandCustomPermissions","toggleCustomPermissions","selectedPermission","isCustomPermissions","toDateString","handleShareType","handleDefaultPermissions","handleCustomPermissions","saveShare","permissionsAndAttributes","publicShareAttributes","sharePermissionsSet","incomingShare","addShare","Promise","allSettled","externalLinkActions","$children","at","resolve","removeShare","onPasswordChange","onPasswordProtectedByTalkChange","getShareTypeIcon","EmailIcon","_l","refInFor","preventDefault","apply","arguments","NcActionLink","NcActionText","viaFileTargetUrl","viaFolderName","basename","initiator","folder","SharingEntryInherited","loaded","showInheritedShares","showInheritedSharesIcon","mainTitle","subTitle","toggleTooltip","fullPath","resetState","toggleInheritedShares","fetchInheritedShares","Notification","showTemporary","findIndex","stopPropagation","NcPopover","NcDateTime","ClockIcon","expiryTime","timeFormat","dateStyle","timeStyle","toLocaleString","DropdownIcon","selectedOption","ariaLabel","canViewText","canEditText","fileDropText","customPermissionsText","preSelectedOption","IconEyeOutline","IconPencil","supportsFileDrop","IconFileUpload","IconTune","dropDownPermissionValue","created","subscribe","unmounted","unsubscribe","selectOption","optionLabel","quickShareActions","menuButton","NcActionCheckbox","NcActionInput","NcActionSeparator","NcDialog","NcIconSvgWrapper","VueQrcode","Tune","IconCalendarBlank","IconQr","ErrorIcon","LockIcon","PlusIcon","SharingEntryQuickShareSelect","ShareExpiryTime","mdiCheck","mdiContentCopy","shareCreationComplete","defaultExpirationDateEnabled","pending","_nc_files_sharing_sidebar_inline_actions","showQRCode","l10nOptions","escape","pendingDataIsMissing","pendingPassword","pendingEnforcedPassword","pendingDefaultExpirationDate","pendingEnforcedExpirationDate","isPendingShare","sharePolicyHasEnforcedProperties","enforcedPropertiesMissing","isPasswordMissing","isExpireDateMissing","shareLink","actionsTooltip","copyLinkLabel","isPasswordPolicyEnabled","shareRequiresReview","shareReviewComplete","onNewLinkShare","shareDefaults","pushNewLinkShare","e","update","newShare","match","copyButton","prompt","onPasswordDisable","onPasswordSubmit","onMenuClose","onExpirationDateToggleUpdate","expirationDateChanged","event","target","onCancel","class","minLength","exec","iconSvg","SharingEntryLink","canLinkShare","hasLinkShares","hasShares","awaitForShare","$nextTick","showAsInternal","tooltip","hasStatus","isArray","SharingEntry","productName","theme","InfoIcon","NcCollectionList","SharingEntryInternal","SharingInherited","SharingInput","SharingLinkList","SharingList","SharingDetailsTab","SidebarTabExternalSection","SidebarTabExternalSectionLegacy","deleteEvent","expirationInterval","sharedWithMe","externalShares","legacySections","ShareTabSections","getSections","sections","_nc_files_sharing_sidebar_sections","projectsEnabled","showSharingDetailsView","shareDetailsData","returnFocusElement","internalSharesHelpText","externalSharesHelpText","additionalSharesHelpText","hasExternalSections","sortedExternalSections","isSharedWithMe","isLinkSharingAllowed","capabilities","internalShareInputPlaceholder","externalShareInputPlaceholder","immediate","newValue","oldValue","getShares","fetchShares","reshares","fetchSharedWithMe","shared_with_me","all","processSharedWithMe","processShares","clearInterval","updateExpirationSubtitle","unix","relativetime","orderBy","group","circle","conversation","shareWithTitle","setInterval","shareOwnerId","shareOwner","unshift","shareList","listComponent","linkShareList","toggleShareDetailsView","eventData","from","document","activeElement","classList","className","startsWith","menuId","closest","emptyContentWithSections","directives","rawName","active","view","rawFileInfo","dirname","etag","isEncrypted","isFavourited","favorite","mountType","Files","FileInfo","isDirectory","SharingTab"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/files_sharing-files_sharing_tab.js b/dist/files_sharing-files_sharing_tab.js index 441591ce077ba..4fc400a8b37d7 100644 --- a/dist/files_sharing-files_sharing_tab.js +++ b/dist/files_sharing-files_sharing_tab.js @@ -1,2 +1,2 @@ -(()=>{var e,t,r,i={28237(e,t,r){"use strict";var i=r(21777),n=r(35810),a=r(53334),o=r(26422),s=r(85471),c=r(48564);r.nc=(0,i.aV)(),window.OCA.Sharing??={},Object.assign(window.OCA.Sharing,{ShareSearch:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.results=[],c.A.debug("OCA.Sharing.ShareSearch initialized")}get state(){return this._state}addNewResult(e){return""!==e.displayName.trim()&&"function"==typeof e.handler?(this._state.results.push(e),!0):(c.A.error("Invalid search result provided",{result:e}),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalShareActions:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],c.A.debug("OCA.Sharing.ExternalShareActions initialized")}get state(){return this._state}registerAction(e){return c.A.warn("OCA.Sharing.ExternalShareActions is deprecated, use `registerSidebarAction` from `@nextcloud/sharing` instead"),"object"==typeof e&&"string"==typeof e.id&&"function"==typeof e.data&&Array.isArray(e.shareType)&&"object"==typeof e.handlers&&Object.values(e.handlers).every(e=>"function"==typeof e)?this._state.actions.findIndex(t=>t.id===e.id)>-1?(c.A.error(`An action with the same id ${e.id} already exists`,e),!1):(this._state.actions.push(e),!0):(c.A.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ShareTabSections:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_sections"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._sections=[]}registerSection(e){this._sections.push(e)}getSections(){return this._sections}}}),s.Ay.prototype.t=a.t,s.Ay.prototype.n=a.n;const d="files_sharing-sidebar-tab";(0,n.dC)().registerTab({id:"sharing",displayName:(0,a.t)("files_sharing","Sharing"),iconSvgInline:'',order:10,tagName:d,async onInit(){const{default:e}=await Promise.all([r.e(4208),r.e(8577)]).then(r.bind(r,38577)),t=(0,o.A)(s.Ay,e);Object.defineProperty(t.prototype,"attachShadow",{value(){return this}}),Object.defineProperty(t.prototype,"shadowRoot",{get(){return this}}),window.customElements.define(d,t)}})},48564(e,t,r){"use strict";r.d(t,{A:()=>i});const i=(0,r(35947).YK)().setApp("files_sharing").detectUser().build()},63779(){},77199(){},35810(e,t,r){"use strict";r.d(t,{My:()=>l,dC:()=>c});var i=r(70970),n=r(380),a=r(20005),o=r(53334);Object.freeze({DEFAULT:"default",HIDDEN:"hidden"}),n.m,Object.freeze({UploadFromDevice:0,CreateNew:1,Other:2});class s{get#e(){return window.OCA?.Files?._sidebar?.()}get available(){return!!this.#e}get isOpen(){return this.#e?.isOpen??!1}get activeTab(){return this.#e?.activeTab}get node(){return this.#e?.node}open(e,t){this.#e?.open(e,t)}close(){this.#e?.close()}setActiveTab(e){this.#e?.setActiveTab(e)}registerTab(e){!function(e){!function(e){if("object"!=typeof e)throw new Error("Sidebar tab is not an object");if(!e.id||"string"!=typeof e.id||e.id!==CSS.escape(e.id))throw new Error("Sidebar tabs need to have an id conforming to the HTML id attribute specifications");if(!e.tagName||"string"!=typeof e.tagName)throw new Error("Sidebar tabs need to have the tagName name set");if(!e.tagName.match(/^[a-z][a-z0-9-_]+$/))throw new Error('Sidebar tab "tagName" is invalid');if(!e.displayName||"string"!=typeof e.displayName)throw new Error("Sidebar tabs need to have a name set");if("string"!=typeof e.iconSvgInline||!(0,a.A)(e.iconSvgInline))throw new Error("Sidebar tabs need to have an valid SVG icon");if("number"!=typeof e.order)throw new Error("Sidebar tabs need to have a numeric order set");if(e.enabled&&"function"!=typeof e.enabled)throw new Error('Sidebar tab "enabled" is not a function');if(e.onInit&&"function"!=typeof e.onInit)throw new Error('Sidebar tab "onInit" is not a function')}(e),i.s.filesSidebarTabs??=new Map,i.s.filesSidebarTabs.has(e.id)?i.l.warn(`Sidebar tab with id "${e.id}" already registered. Skipping.`):(i.s.filesSidebarTabs.set(e.id,e),i.l.debug(`New sidebar tab with id "${e.id}" registered.`))}(e)}getTabs(e){return this.#e?.getTabs(e)??[]}getActions(e){return this.#e?.getActions(e)??[]}registerAction(e){!function(e){!function(e){if("object"!=typeof e)throw new Error("Sidebar action is not an object");if(!e.id||"string"!=typeof e.id||e.id!==CSS.escape(e.id))throw new Error("Sidebar actions need to have an id conforming to the HTML id attribute specifications");if(!e.displayName||"function"!=typeof e.displayName)throw new Error("Sidebar actions need to have a displayName function");if(!e.iconSvgInline||"function"!=typeof e.iconSvgInline)throw new Error("Sidebar actions need to have a iconSvgInline function");if(!e.enabled||"function"!=typeof e.enabled)throw new Error("Sidebar actions need to have an enabled function");if(!e.onClick||"function"!=typeof e.onClick)throw new Error("Sidebar actions need to have an onClick function")}(e),i.s.filesSidebarActions??=new Map,i.s.filesSidebarActions.has(e.id)?i.l.warn(`Sidebar action with id "${e.id}" already registered. Skipping.`):(i.s.filesSidebarActions.set(e.id,e),i.l.debug(`New sidebar action with id "${e.id}" registered.`))}(e)}}function c(){return new s}function d(e){return e instanceof Date?e.toISOString():String(e)}function l(e,t,r){r=r??[];const i=(t=t??[e=>e]).map((e,t)=>"asc"===(r[t]??"asc")?1:-1),n=Intl.Collator([(0,o.Z0)(),(0,o.lO)()],{numeric:!0,usage:"sort"});return[...e].sort((e,r)=>{for(const[a,o]of t.entries()){const t=n.compare(d(o(e)),d(o(r)));if(0!==t)return t*i[a]}return 0})}Object.freeze({ReservedName:"reserved name",Character:"character",Extension:"extension"}),Error,Object.freeze({Name:"basename",Modified:"mtime",Size:"size"})}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=i,e=[],a.O=(t,r,i,n)=>{if(!r){var o=1/0;for(l=0;l=n)&&Object.keys(a.O).every(e=>a.O[e](r[c]))?r.splice(c--,1):(s=!1,n0&&e[l-1][2]>n;l--)e[l]=e[l-1];e[l]=[r,i,n]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((t,r)=>(a.f[r](e,t),t),[])),a.u=e=>e+"-"+e+".js?v="+{857:"3d28157955f39376ab2c",2710:"0319a4b5398392025378",4471:"9b3c8620f038b7593241",6798:"995524658ab188a2d123",7004:"da5a822695a273d4d2eb",7394:"9b9a710e7fcefb63fcb4",7471:"b4ac70873a3ab192efd0",7859:"449c6cbdb74832a2f6c7",8127:"8825f856581210b8af66",8453:"d4f76450bf0c442af291",8577:"c125b378b2d0ba741e51"}[e],a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="nextcloud-ui-legacy:",a.l=(e,i,n,o)=>{if(t[e])t[e].push(i);else{var s,c;if(void 0!==n)for(var d=document.getElementsByTagName("script"),l=0;l{s.onerror=s.onload=null,clearTimeout(b);var n=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach(e=>e(i)),r)return r(i)},b=setTimeout(u.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=u.bind(null,s.onerror),s.onload=u.bind(null,s.onload),c&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.j=4958,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var i=r.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=r[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={4958:0};a.f.j=(t,r)=>{var i=a.o(e,t)?e[t]:void 0;if(0!==i)if(i)r.push(i[2]);else{var n=new Promise((r,n)=>i=e[t]=[r,n]);r.push(i[2]=n);var o=a.p+a.u(t),s=new Error;a.l(o,r=>{if(a.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",s.name="ChunkLoadError",s.type=n,s.request=o,i[1](s)}},"chunk-"+t,t)}},a.O.j=t=>0===e[t];var t=(t,r)=>{var i,n,[o,s,c]=r,d=0;if(o.some(t=>0!==e[t])){for(i in s)a.o(s,i)&&(a.m[i]=s[i]);if(c)var l=c(a)}for(t&&t(r);da(28237));o=a.O(o)})(); -//# sourceMappingURL=files_sharing-files_sharing_tab.js.map?v=9f0d0f00c844afead6e2 \ No newline at end of file +(()=>{var e,t,r,i={28237(e,t,r){"use strict";var i=r(21777),n=r(35810),a=r(53334),o=r(26422),s=r(85471),c=r(48564);r.nc=(0,i.aV)(),window.OCA.Sharing??={},Object.assign(window.OCA.Sharing,{ShareSearch:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.results=[],c.A.debug("OCA.Sharing.ShareSearch initialized")}get state(){return this._state}addNewResult(e){return""!==e.displayName.trim()&&"function"==typeof e.handler?(this._state.results.push(e),!0):(c.A.error("Invalid search result provided",{result:e}),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalShareActions:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],c.A.debug("OCA.Sharing.ExternalShareActions initialized")}get state(){return this._state}registerAction(e){return c.A.warn("OCA.Sharing.ExternalShareActions is deprecated, use `registerSidebarAction` from `@nextcloud/sharing` instead"),"object"==typeof e&&"string"==typeof e.id&&"function"==typeof e.data&&Array.isArray(e.shareType)&&"object"==typeof e.handlers&&Object.values(e.handlers).every(e=>"function"==typeof e)?this._state.actions.findIndex(t=>t.id===e.id)>-1?(c.A.error(`An action with the same id ${e.id} already exists`,e),!1):(this._state.actions.push(e),!0):(c.A.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ShareTabSections:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_sections"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._sections=[]}registerSection(e){this._sections.push(e)}getSections(){return this._sections}}}),s.Ay.prototype.t=a.t,s.Ay.prototype.n=a.n;const d="files_sharing-sidebar-tab";(0,n.dC)().registerTab({id:"sharing",displayName:(0,a.t)("files_sharing","Sharing"),iconSvgInline:'',order:10,tagName:d,async onInit(){const{default:e}=await Promise.all([r.e(4208),r.e(8577)]).then(r.bind(r,38577)),t=(0,o.A)(s.Ay,e);Object.defineProperty(t.prototype,"attachShadow",{value(){return this}}),Object.defineProperty(t.prototype,"shadowRoot",{get(){return this}}),window.customElements.define(d,t)}})},48564(e,t,r){"use strict";r.d(t,{A:()=>i});const i=(0,r(35947).YK)().setApp("files_sharing").detectUser().build()},63779(){},77199(){},35810(e,t,r){"use strict";r.d(t,{My:()=>l,dC:()=>c});var i=r(70970),n=r(380),a=r(20005),o=r(53334);Object.freeze({DEFAULT:"default",HIDDEN:"hidden"}),n.m,Object.freeze({UploadFromDevice:0,CreateNew:1,Other:2});class s{get#e(){return window.OCA?.Files?._sidebar?.()}get available(){return!!this.#e}get isOpen(){return this.#e?.isOpen??!1}get activeTab(){return this.#e?.activeTab}get node(){return this.#e?.node}open(e,t){this.#e?.open(e,t)}close(){this.#e?.close()}setActiveTab(e){this.#e?.setActiveTab(e)}registerTab(e){!function(e){!function(e){if("object"!=typeof e)throw new Error("Sidebar tab is not an object");if(!e.id||"string"!=typeof e.id||e.id!==CSS.escape(e.id))throw new Error("Sidebar tabs need to have an id conforming to the HTML id attribute specifications");if(!e.tagName||"string"!=typeof e.tagName)throw new Error("Sidebar tabs need to have the tagName name set");if(!e.tagName.match(/^[a-z][a-z0-9-_]+$/))throw new Error('Sidebar tab "tagName" is invalid');if(!e.displayName||"string"!=typeof e.displayName)throw new Error("Sidebar tabs need to have a name set");if("string"!=typeof e.iconSvgInline||!(0,a.A)(e.iconSvgInline))throw new Error("Sidebar tabs need to have an valid SVG icon");if("number"!=typeof e.order)throw new Error("Sidebar tabs need to have a numeric order set");if(e.enabled&&"function"!=typeof e.enabled)throw new Error('Sidebar tab "enabled" is not a function');if(e.onInit&&"function"!=typeof e.onInit)throw new Error('Sidebar tab "onInit" is not a function')}(e),i.s.filesSidebarTabs??=new Map,i.s.filesSidebarTabs.has(e.id)?i.l.warn(`Sidebar tab with id "${e.id}" already registered. Skipping.`):(i.s.filesSidebarTabs.set(e.id,e),i.l.debug(`New sidebar tab with id "${e.id}" registered.`))}(e)}getTabs(e){return this.#e?.getTabs(e)??[]}getActions(e){return this.#e?.getActions(e)??[]}registerAction(e){!function(e){!function(e){if("object"!=typeof e)throw new Error("Sidebar action is not an object");if(!e.id||"string"!=typeof e.id||e.id!==CSS.escape(e.id))throw new Error("Sidebar actions need to have an id conforming to the HTML id attribute specifications");if(!e.displayName||"function"!=typeof e.displayName)throw new Error("Sidebar actions need to have a displayName function");if(!e.iconSvgInline||"function"!=typeof e.iconSvgInline)throw new Error("Sidebar actions need to have a iconSvgInline function");if(!e.enabled||"function"!=typeof e.enabled)throw new Error("Sidebar actions need to have an enabled function");if(!e.onClick||"function"!=typeof e.onClick)throw new Error("Sidebar actions need to have an onClick function")}(e),i.s.filesSidebarActions??=new Map,i.s.filesSidebarActions.has(e.id)?i.l.warn(`Sidebar action with id "${e.id}" already registered. Skipping.`):(i.s.filesSidebarActions.set(e.id,e),i.l.debug(`New sidebar action with id "${e.id}" registered.`))}(e)}}function c(){return new s}function d(e){return e instanceof Date?e.toISOString():String(e)}function l(e,t,r){r=r??[];const i=(t=t??[e=>e]).map((e,t)=>"asc"===(r[t]??"asc")?1:-1),n=Intl.Collator([(0,o.Z0)(),(0,o.lO)()],{numeric:!0,usage:"sort"});return[...e].sort((e,r)=>{for(const[a,o]of t.entries()){const t=n.compare(d(o(e)),d(o(r)));if(0!==t)return t*i[a]}return 0})}Object.freeze({ReservedName:"reserved name",Character:"character",Extension:"extension"}),Error,Object.freeze({Name:"basename",Modified:"mtime",Size:"size"})}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=i,e=[],a.O=(t,r,i,n)=>{if(!r){var o=1/0;for(l=0;l=n)&&Object.keys(a.O).every(e=>a.O[e](r[c]))?r.splice(c--,1):(s=!1,n0&&e[l-1][2]>n;l--)e[l]=e[l-1];e[l]=[r,i,n]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((t,r)=>(a.f[r](e,t),t),[])),a.u=e=>e+"-"+e+".js?v="+{857:"3d28157955f39376ab2c",2710:"0319a4b5398392025378",4471:"9b3c8620f038b7593241",6798:"995524658ab188a2d123",7004:"da5a822695a273d4d2eb",7394:"9b9a710e7fcefb63fcb4",7471:"b4ac70873a3ab192efd0",7859:"449c6cbdb74832a2f6c7",8127:"8825f856581210b8af66",8453:"d4f76450bf0c442af291",8577:"2b04018de4fa4b10db11"}[e],a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="nextcloud-ui-legacy:",a.l=(e,i,n,o)=>{if(t[e])t[e].push(i);else{var s,c;if(void 0!==n)for(var d=document.getElementsByTagName("script"),l=0;l{s.onerror=s.onload=null,clearTimeout(b);var n=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach(e=>e(i)),r)return r(i)},b=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.j=4958,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var i=r.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=r[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={4958:0};a.f.j=(t,r)=>{var i=a.o(e,t)?e[t]:void 0;if(0!==i)if(i)r.push(i[2]);else{var n=new Promise((r,n)=>i=e[t]=[r,n]);r.push(i[2]=n);var o=a.p+a.u(t),s=new Error;a.l(o,r=>{if(a.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",s.name="ChunkLoadError",s.type=n,s.request=o,i[1](s)}},"chunk-"+t,t)}},a.O.j=t=>0===e[t];var t=(t,r)=>{var i,n,[o,s,c]=r,d=0;if(o.some(t=>0!==e[t])){for(i in s)a.o(s,i)&&(a.m[i]=s[i]);if(c)var l=c(a)}for(t&&t(r);da(28237));o=a.O(o)})(); +//# sourceMappingURL=files_sharing-files_sharing_tab.js.map?v=92c505fb11daee8f2f09 \ No newline at end of file diff --git a/dist/files_sharing-files_sharing_tab.js.map b/dist/files_sharing-files_sharing_tab.js.map index 8951ac341d239..333cdeb1f7b34 100644 --- a/dist/files_sharing-files_sharing_tab.js.map +++ b/dist/files_sharing-files_sharing_tab.js.map @@ -1 +1 @@ -{"version":3,"file":"files_sharing-files_sharing_tab.js?v=9f0d0f00c844afead6e2","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/files-sidebar.ts","webpack:///nextcloud/apps/files_sharing/src/services/ShareSearch.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalShareActions.js","webpack:///nextcloud/apps/files_sharing/src/services/TabSections.js","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport ShareVariant from '@mdi/svg/svg/share-variant.svg?raw';\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { getSidebar } from '@nextcloud/files';\nimport { n, t } from '@nextcloud/l10n';\nimport wrap from '@vue/web-component-wrapper';\nimport Vue from 'vue';\nimport ExternalShareActions from './services/ExternalShareActions.js';\nimport ShareSearch from './services/ShareSearch.js';\nimport TabSections from './services/TabSections.js';\n__webpack_nonce__ = getCSPNonce();\n// Init Sharing Tab Service\nwindow.OCA.Sharing ??= {};\nObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() });\nObject.assign(window.OCA.Sharing, { ExternalShareActions: new ExternalShareActions() });\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() });\nVue.prototype.t = t;\nVue.prototype.n = n;\nconst tagName = 'files_sharing-sidebar-tab';\ngetSidebar().registerTab({\n id: 'sharing',\n displayName: t('files_sharing', 'Sharing'),\n iconSvgInline: ShareVariant,\n order: 10,\n tagName,\n async onInit() {\n const { default: FilesSidebarTab } = await import('./views/FilesSidebarTab.vue');\n const webComponent = wrap(Vue, FilesSidebarTab);\n // In Vue 2, wrap doesn't support diseabling shadow. Disable with a hack\n Object.defineProperty(webComponent.prototype, 'attachShadow', {\n value() { return this; },\n });\n Object.defineProperty(webComponent.prototype, 'shadowRoot', {\n get() { return this; },\n });\n window.customElements.define(tagName, webComponent);\n },\n});\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport logger from './logger.ts'\n\nexport default class ShareSearch {\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.results = []\n\t\tlogger.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {Function} result.handler function to run on entry selection\n\t * @param {Function} [result.condition] condition to add entry or not\n\t * @return {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis._state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tlogger.error('Invalid search result provided', { result })\n\t\treturn false\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport logger from './logger.ts'\n\nexport default class ExternalShareActions {\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tlogger.debug('OCA.Sharing.ExternalShareActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * @typedef ExternalShareActionData\n\t * @property {import('vue').Component} is Vue component to render, for advanced actions the `async onSave` method of the component will be called when saved\n\t */\n\n\t/**\n\t * Register a new option/entry for the a given share type\n\t *\n\t * @param {object} action new action component to register\n\t * @param {string} action.id unique action id\n\t * @param {(data: any) => ExternalShareActionData & Record} action.data data to bind the component to\n\t * @param {Array} action.shareType list of \\@nextcloud/sharing.Types.SHARE_XXX to be mounted on\n\t * @param {boolean} action.advanced `true` if the action entry should be rendered within advanced settings\n\t * @param {object} action.handlers list of listeners\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\tlogger.warn('OCA.Sharing.ExternalShareActions is deprecated, use `registerSidebarAction` from `@nextcloud/sharing` instead')\n\n\t\t// Validate action\n\t\tif (typeof action !== 'object'\n\t\t\t|| typeof action.id !== 'string'\n\t\t\t|| typeof action.data !== 'function' // () => {disabled: true}\n\t\t\t|| !Array.isArray(action.shareType) // [\\@nextcloud/sharing.Types.Link, ...]\n\t\t\t|| typeof action.handlers !== 'object' // {click: () => {}, ...}\n\t\t\t|| !Object.values(action.handlers).every((handler) => typeof handler === 'function')) {\n\t\t\tlogger.error('Invalid action provided', action)\n\t\t\treturn false\n\t\t}\n\n\t\t// Check duplicates\n\t\tconst hasDuplicate = this._state.actions.findIndex((check) => check.id === action.id) > -1\n\t\tif (hasDuplicate) {\n\t\t\tlogger.error(`An action with the same id ${action.id} already exists`, action)\n\t\t\treturn false\n\t\t}\n\n\t\tthis._state.actions.push(action)\n\t\treturn true\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Callback to render a section in the sharing tab.\n *\n * @callback registerSectionCallback\n * @param {undefined} el - Deprecated and will always be undefined (formerly the root element)\n * @param {object} fileInfo - File info object\n */\n\nexport default class TabSections {\n\t_sections\n\n\tconstructor() {\n\t\tthis._sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis._sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this._sections\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('files_sharing')\n .detectUser()\n .build();\n","import { s as scopedGlobals, l as logger, F as FileType } from \"./chunks/folder-29HuacU_.mjs\";\nimport { a, b, N, c, P } from \"./chunks/folder-29HuacU_.mjs\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nimport isSvg from \"is-svg\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"@nextcloud/paths\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nclass FilesRegistry extends TypedEventTarget {\n}\nfunction getRegistry() {\n scopedGlobals.registry ??= new FilesRegistry();\n return scopedGlobals.registry;\n}\nfunction getFilesRegistry() {\n return getRegistry();\n}\nconst DefaultType = Object.freeze({\n DEFAULT: \"default\",\n HIDDEN: \"hidden\"\n});\nfunction registerFileAction(action) {\n validateAction$1(action);\n scopedGlobals.fileActions ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileActions.has(action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n scopedGlobals.fileActions.set(action.id, action);\n getRegistry().dispatchTypedEvent(\"register:action\", new CustomEvent(\"register:action\", { detail: action }));\n}\nfunction getFileActions() {\n if (scopedGlobals.fileActions) {\n return [...scopedGlobals.fileActions.values()];\n }\n return [];\n}\nfunction validateAction$1(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n if (\"hotkey\" in action && action.hotkey !== void 0) {\n if (typeof action.hotkey !== \"object\") {\n throw new Error(\"Invalid hotkey configuration\");\n }\n if (typeof action.hotkey.key !== \"string\" || !action.hotkey.key) {\n throw new Error(\"Missing or invalid hotkey key\");\n }\n if (typeof action.hotkey.description !== \"string\" || !action.hotkey.description) {\n throw new Error(\"Missing or invalid hotkey description\");\n }\n }\n}\nfunction registerFileListAction(action) {\n validateAction(action);\n scopedGlobals.fileListActions ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileListActions.has(action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n scopedGlobals.fileListActions.set(action.id, action);\n getRegistry().dispatchTypedEvent(\"register:listAction\", new CustomEvent(\"register:listAction\", { detail: action }));\n}\nfunction getFileListActions() {\n if (scopedGlobals.fileListActions) {\n return [...scopedGlobals.fileListActions.values()];\n }\n return [];\n}\nfunction validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction registerFileListFilter(filter) {\n scopedGlobals.fileListFilters ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileListFilters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n scopedGlobals.fileListFilters.set(filter.id, filter);\n getRegistry().dispatchTypedEvent(\"register:listFilter\", new CustomEvent(\"register:listFilter\", { detail: filter }));\n}\nfunction unregisterFileListFilter(filterId) {\n if (scopedGlobals.fileListFilters && scopedGlobals.fileListFilters.has(filterId)) {\n scopedGlobals.fileListFilters.delete(filterId);\n getRegistry().dispatchTypedEvent(\"unregister:listFilter\", new CustomEvent(\"unregister:listFilter\", { detail: filterId }));\n }\n}\nfunction getFileListFilters() {\n if (scopedGlobals.fileListFilters) {\n return [...scopedGlobals.fileListFilters.values()];\n }\n return [];\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListHeader(header) {\n validateHeader(header);\n scopedGlobals.fileListHeaders ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileListHeaders.has(header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n scopedGlobals.fileListHeaders.set(header.id, header);\n getRegistry().dispatchTypedEvent(\"register:listHeader\", new CustomEvent(\"register:listHeader\", { detail: header }));\n}\nfunction getFileListHeaders() {\n if (!scopedGlobals.fileListHeaders) {\n return [];\n }\n return [...scopedGlobals.fileListHeaders.values()];\n}\nfunction validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n}\nfunction checkOptionalProperty(obj, property, type) {\n if (typeof obj[property] !== \"undefined\") {\n if (type === \"array\") {\n if (!Array.isArray(obj[property])) {\n throw new Error(`View ${property} must be an array`);\n }\n } else if (typeof obj[property] !== type) {\n throw new Error(`View ${property} must be a ${type}`);\n } else if (type === \"object\" && (obj[property] === null || Array.isArray(obj[property]))) {\n throw new Error(`View ${property} must be an object`);\n }\n }\n}\nclass Column {\n _column;\n constructor(column) {\n validateColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nfunction validateColumn(column) {\n if (typeof column !== \"object\" || column === null) {\n throw new Error(\"View column must be an object\");\n }\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n checkOptionalProperty(column, \"sort\", \"function\");\n checkOptionalProperty(column, \"summary\", \"function\");\n}\nclass View {\n _view;\n constructor(view) {\n validateView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get hidden() {\n return this._view.hidden;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nfunction validateView(view) {\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n checkOptionalProperty(view, \"caption\", \"string\");\n checkOptionalProperty(view, \"columns\", \"array\");\n checkOptionalProperty(view, \"defaultSortKey\", \"string\");\n checkOptionalProperty(view, \"emptyCaption\", \"string\");\n checkOptionalProperty(view, \"emptyTitle\", \"string\");\n checkOptionalProperty(view, \"emptyView\", \"function\");\n checkOptionalProperty(view, \"expanded\", \"boolean\");\n checkOptionalProperty(view, \"hidden\", \"boolean\");\n checkOptionalProperty(view, \"loadChildViews\", \"function\");\n checkOptionalProperty(view, \"order\", \"number\");\n checkOptionalProperty(view, \"params\", \"object\");\n checkOptionalProperty(view, \"parent\", \"string\");\n checkOptionalProperty(view, \"sticky\", \"boolean\");\n if (view.columns) {\n view.columns.forEach(validateColumn);\n const columnIds = view.columns.reduce((set, column) => set.add(column.id), /* @__PURE__ */ new Set());\n if (columnIds.size !== view.columns.length) {\n throw new Error(\"View columns must have unique ids\");\n }\n }\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n *\n * @param views The views to register\n * @throws {Error} if a view with the same id is already registered\n * @throws {Error} if the registered view is invalid\n */\n register(...views) {\n for (const view of views) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`IView id ${view.id} is already registered`);\n }\n validateView(view);\n }\n this._views.push(...views);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n *\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n *\n * @param id - The id of the view to set as active\n * @throws {Error} If no view with the given id was registered\n * @fires UpdateActiveViewEvent\n */\n setActive(id) {\n if (id === null) {\n this._currentView = null;\n } else {\n const view = this._views.find(({ id: viewId }) => viewId === id);\n if (!view) {\n throw new Error(`No view with ${id} registered`);\n }\n this._currentView = view;\n }\n const event = new CustomEvent(\"updateActive\", { detail: this._currentView });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nfunction getNavigation() {\n scopedGlobals.navigation ??= new Navigation();\n return scopedGlobals.navigation;\n}\nconst NewMenuEntryCategory = Object.freeze({\n /**\n * For actions where the user is intended to upload from their device\n */\n UploadFromDevice: 0,\n /**\n * For actions that create new nodes on the server without uploading\n */\n CreateNew: 1,\n /**\n * For everything not matching the other categories\n */\n Other: 2\n});\nclass NewMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? NewMenuEntryCategory.CreateNew;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param context - The creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !entry.iconSvgInline || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nfunction getNewFileMenu() {\n scopedGlobals.newFileMenu ??= new NewMenu();\n return scopedGlobals.newFileMenu;\n}\nfunction addNewFileMenuEntry(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n}\nfunction removeNewFileMenuEntry(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n}\nfunction getNewFileMenuEntries(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n}\nfunction registerSidebarAction(action) {\n validateSidebarAction(action);\n scopedGlobals.filesSidebarActions ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.filesSidebarActions.has(action.id)) {\n logger.warn(`Sidebar action with id \"${action.id}\" already registered. Skipping.`);\n return;\n }\n scopedGlobals.filesSidebarActions.set(action.id, action);\n logger.debug(`New sidebar action with id \"${action.id}\" registered.`);\n}\nfunction getSidebarActions() {\n if (scopedGlobals.filesSidebarActions) {\n return [...scopedGlobals.filesSidebarActions.values()];\n }\n return [];\n}\nfunction validateSidebarAction(action) {\n if (typeof action !== \"object\") {\n throw new Error(\"Sidebar action is not an object\");\n }\n if (!action.id || typeof action.id !== \"string\" || action.id !== CSS.escape(action.id)) {\n throw new Error(\"Sidebar actions need to have an id conforming to the HTML id attribute specifications\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Sidebar actions need to have a displayName function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Sidebar actions need to have a iconSvgInline function\");\n }\n if (!action.enabled || typeof action.enabled !== \"function\") {\n throw new Error(\"Sidebar actions need to have an enabled function\");\n }\n if (!action.onClick || typeof action.onClick !== \"function\") {\n throw new Error(\"Sidebar actions need to have an onClick function\");\n }\n}\nfunction registerSidebarTab(tab) {\n validateSidebarTab(tab);\n scopedGlobals.filesSidebarTabs ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.filesSidebarTabs.has(tab.id)) {\n logger.warn(`Sidebar tab with id \"${tab.id}\" already registered. Skipping.`);\n return;\n }\n scopedGlobals.filesSidebarTabs.set(tab.id, tab);\n logger.debug(`New sidebar tab with id \"${tab.id}\" registered.`);\n}\nfunction getSidebarTabs() {\n if (scopedGlobals.filesSidebarTabs) {\n return [...scopedGlobals.filesSidebarTabs.values()];\n }\n return [];\n}\nfunction validateSidebarTab(tab) {\n if (typeof tab !== \"object\") {\n throw new Error(\"Sidebar tab is not an object\");\n }\n if (!tab.id || typeof tab.id !== \"string\" || tab.id !== CSS.escape(tab.id)) {\n throw new Error(\"Sidebar tabs need to have an id conforming to the HTML id attribute specifications\");\n }\n if (!tab.tagName || typeof tab.tagName !== \"string\") {\n throw new Error(\"Sidebar tabs need to have the tagName name set\");\n }\n if (!tab.tagName.match(/^[a-z][a-z0-9-_]+$/)) {\n throw new Error('Sidebar tab \"tagName\" is invalid');\n }\n if (!tab.displayName || typeof tab.displayName !== \"string\") {\n throw new Error(\"Sidebar tabs need to have a name set\");\n }\n if (typeof tab.iconSvgInline !== \"string\" || !isSvg(tab.iconSvgInline)) {\n throw new Error(\"Sidebar tabs need to have an valid SVG icon\");\n }\n if (typeof tab.order !== \"number\") {\n throw new Error(\"Sidebar tabs need to have a numeric order set\");\n }\n if (tab.enabled && typeof tab.enabled !== \"function\") {\n throw new Error('Sidebar tab \"enabled\" is not a function');\n }\n if (tab.onInit && typeof tab.onInit !== \"function\") {\n throw new Error('Sidebar tab \"onInit\" is not a function');\n }\n}\nclass SidebarProxy {\n get #impl() {\n return window.OCA?.Files?._sidebar?.();\n }\n get available() {\n return !!this.#impl;\n }\n get isOpen() {\n return this.#impl?.isOpen ?? false;\n }\n get activeTab() {\n return this.#impl?.activeTab;\n }\n get node() {\n return this.#impl?.node;\n }\n open(node, tab) {\n this.#impl?.open(node, tab);\n }\n close() {\n this.#impl?.close();\n }\n setActiveTab(tabId) {\n this.#impl?.setActiveTab(tabId);\n }\n registerTab(tab) {\n registerSidebarTab(tab);\n }\n getTabs(context) {\n return this.#impl?.getTabs(context) ?? [];\n }\n getActions(context) {\n return this.#impl?.getActions(context) ?? [];\n }\n registerAction(action) {\n registerSidebarAction(action);\n }\n}\nfunction getSidebar() {\n return new SidebarProxy();\n}\nconst InvalidFilenameErrorReason = Object.freeze({\n ReservedName: \"reserved name\",\n Character: \"character\",\n Extension: \"extension\"\n});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: InvalidFilenameErrorReason.Character, filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({ filename, segment: filename, reason: InvalidFilenameErrorReason.ReservedName });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({ filename, segment: basename2, reason: InvalidFilenameErrorReason.ReservedName });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: InvalidFilenameErrorReason.Extension, filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n) => `(${n})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers, orders) {\n identifiers = identifiers ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nconst FilesSortingMode = Object.freeze({\n Name: \"basename\",\n Modified: \"mtime\",\n Size: \"size\"\n});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: FilesSortingMode.Name,\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n function basename2(node) {\n const name = node.displayname || node.attributes?.displayname || node.basename || \"\";\n if (node.type === FileType.Folder) {\n return name;\n }\n return name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n }\n const identifiers = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== FilesSortingMode.Name ? [(v) => v[sortingOptions.sortingMode] ?? v.attributes[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === FilesSortingMode.Modified ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== FilesSortingMode.Modified && sortingOptions.sortingMode !== FilesSortingMode.Name ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers, orders);\n}\nexport {\n Column,\n DefaultType,\n a as File,\n FileListFilter,\n FileType,\n FilesSortingMode,\n b as Folder,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n c as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n formatFileSize,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getFilesRegistry,\n getNavigation,\n getNewFileMenu,\n getNewFileMenuEntries,\n getSidebar,\n getSidebarActions,\n getSidebarTabs,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeader,\n registerSidebarAction,\n registerSidebarTab,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateColumn,\n validateFilename,\n validateView\n};\n//# sourceMappingURL=index.mjs.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"857\":\"3d28157955f39376ab2c\",\"2710\":\"0319a4b5398392025378\",\"4471\":\"9b3c8620f038b7593241\",\"6798\":\"995524658ab188a2d123\",\"7004\":\"da5a822695a273d4d2eb\",\"7394\":\"9b9a710e7fcefb63fcb4\",\"7471\":\"b4ac70873a3ab192efd0\",\"7859\":\"449c6cbdb74832a2f6c7\",\"8127\":\"8825f856581210b8af66\",\"8453\":\"d4f76450bf0c442af291\",\"8577\":\"c125b378b2d0ba741e51\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4958;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4958: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(28237)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","__webpack_nonce__","getCSPNonce","window","OCA","Sharing","Object","assign","ShareSearch","constructor","this","_state","results","logger","debug","state","addNewResult","result","displayName","trim","handler","push","error","ExternalShareActions","actions","registerAction","action","warn","id","data","Array","isArray","shareType","handlers","values","every","findIndex","check","ShareTabSections","_sections","registerSection","section","getSections","Vue","prototype","t","n","tagName","getSidebar","registerTab","iconSvgInline","order","onInit","default","FilesSidebarTab","webComponent","wrap","defineProperty","value","get","customElements","define","getLoggerBuilder","setApp","detectUser","build","freeze","DEFAULT","HIDDEN","UploadFromDevice","CreateNew","Other","SidebarProxy","Files","_sidebar","available","isOpen","activeTab","node","open","tab","close","setActiveTab","tabId","Error","CSS","escape","match","enabled","validateSidebarTab","s","filesSidebarTabs","Map","has","l","set","registerSidebarTab","getTabs","context","getActions","onClick","validateSidebarAction","filesSidebarActions","registerSidebarAction","stringify","Date","toISOString","String","orderBy","collection","identifiers","orders","sorting","map","_","index","collator","Intl","Collator","numeric","usage","sort","a2","b2","identifier","entries","compare","ReservedName","Character","Extension","Name","Modified","Size","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","key","splice","r","getter","__esModule","d","a","definition","o","enumerable","f","e","chunkId","Promise","all","reduce","promises","u","obj","prop","hasOwnProperty","url","done","script","needAttach","scripts","document","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","globalThis","importScripts","location","currentScript","toUpperCase","test","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"files_sharing-files_sharing_tab.js?v=92c505fb11daee8f2f09","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/files-sidebar.ts","webpack:///nextcloud/apps/files_sharing/src/services/ShareSearch.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalShareActions.js","webpack:///nextcloud/apps/files_sharing/src/services/TabSections.js","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport ShareVariant from '@mdi/svg/svg/share-variant.svg?raw';\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { getSidebar } from '@nextcloud/files';\nimport { n, t } from '@nextcloud/l10n';\nimport wrap from '@vue/web-component-wrapper';\nimport Vue from 'vue';\nimport ExternalShareActions from './services/ExternalShareActions.js';\nimport ShareSearch from './services/ShareSearch.js';\nimport TabSections from './services/TabSections.js';\n__webpack_nonce__ = getCSPNonce();\n// Init Sharing Tab Service\nwindow.OCA.Sharing ??= {};\nObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() });\nObject.assign(window.OCA.Sharing, { ExternalShareActions: new ExternalShareActions() });\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() });\nVue.prototype.t = t;\nVue.prototype.n = n;\nconst tagName = 'files_sharing-sidebar-tab';\ngetSidebar().registerTab({\n id: 'sharing',\n displayName: t('files_sharing', 'Sharing'),\n iconSvgInline: ShareVariant,\n order: 10,\n tagName,\n async onInit() {\n const { default: FilesSidebarTab } = await import('./views/FilesSidebarTab.vue');\n const webComponent = wrap(Vue, FilesSidebarTab);\n // In Vue 2, wrap doesn't support diseabling shadow. Disable with a hack\n Object.defineProperty(webComponent.prototype, 'attachShadow', {\n value() { return this; },\n });\n Object.defineProperty(webComponent.prototype, 'shadowRoot', {\n get() { return this; },\n });\n window.customElements.define(tagName, webComponent);\n },\n});\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport logger from './logger.ts'\n\nexport default class ShareSearch {\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.results = []\n\t\tlogger.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {Function} result.handler function to run on entry selection\n\t * @param {Function} [result.condition] condition to add entry or not\n\t * @return {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis._state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tlogger.error('Invalid search result provided', { result })\n\t\treturn false\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport logger from './logger.ts'\n\nexport default class ExternalShareActions {\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tlogger.debug('OCA.Sharing.ExternalShareActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * @typedef ExternalShareActionData\n\t * @property {import('vue').Component} is Vue component to render, for advanced actions the `async onSave` method of the component will be called when saved\n\t */\n\n\t/**\n\t * Register a new option/entry for the a given share type\n\t *\n\t * @param {object} action new action component to register\n\t * @param {string} action.id unique action id\n\t * @param {(data: any) => ExternalShareActionData & Record} action.data data to bind the component to\n\t * @param {Array} action.shareType list of \\@nextcloud/sharing.Types.SHARE_XXX to be mounted on\n\t * @param {boolean} action.advanced `true` if the action entry should be rendered within advanced settings\n\t * @param {object} action.handlers list of listeners\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\tlogger.warn('OCA.Sharing.ExternalShareActions is deprecated, use `registerSidebarAction` from `@nextcloud/sharing` instead')\n\n\t\t// Validate action\n\t\tif (typeof action !== 'object'\n\t\t\t|| typeof action.id !== 'string'\n\t\t\t|| typeof action.data !== 'function' // () => {disabled: true}\n\t\t\t|| !Array.isArray(action.shareType) // [\\@nextcloud/sharing.Types.Link, ...]\n\t\t\t|| typeof action.handlers !== 'object' // {click: () => {}, ...}\n\t\t\t|| !Object.values(action.handlers).every((handler) => typeof handler === 'function')) {\n\t\t\tlogger.error('Invalid action provided', action)\n\t\t\treturn false\n\t\t}\n\n\t\t// Check duplicates\n\t\tconst hasDuplicate = this._state.actions.findIndex((check) => check.id === action.id) > -1\n\t\tif (hasDuplicate) {\n\t\t\tlogger.error(`An action with the same id ${action.id} already exists`, action)\n\t\t\treturn false\n\t\t}\n\n\t\tthis._state.actions.push(action)\n\t\treturn true\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Callback to render a section in the sharing tab.\n *\n * @callback registerSectionCallback\n * @param {undefined} el - Deprecated and will always be undefined (formerly the root element)\n * @param {object} fileInfo - File info object\n */\n\nexport default class TabSections {\n\t_sections\n\n\tconstructor() {\n\t\tthis._sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis._sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this._sections\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('files_sharing')\n .detectUser()\n .build();\n","import { s as scopedGlobals, l as logger, F as FileType } from \"./chunks/folder-29HuacU_.mjs\";\nimport { a, b, N, c, P } from \"./chunks/folder-29HuacU_.mjs\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nimport isSvg from \"is-svg\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"@nextcloud/paths\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nclass FilesRegistry extends TypedEventTarget {\n}\nfunction getRegistry() {\n scopedGlobals.registry ??= new FilesRegistry();\n return scopedGlobals.registry;\n}\nfunction getFilesRegistry() {\n return getRegistry();\n}\nconst DefaultType = Object.freeze({\n DEFAULT: \"default\",\n HIDDEN: \"hidden\"\n});\nfunction registerFileAction(action) {\n validateAction$1(action);\n scopedGlobals.fileActions ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileActions.has(action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n scopedGlobals.fileActions.set(action.id, action);\n getRegistry().dispatchTypedEvent(\"register:action\", new CustomEvent(\"register:action\", { detail: action }));\n}\nfunction getFileActions() {\n if (scopedGlobals.fileActions) {\n return [...scopedGlobals.fileActions.values()];\n }\n return [];\n}\nfunction validateAction$1(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n if (\"hotkey\" in action && action.hotkey !== void 0) {\n if (typeof action.hotkey !== \"object\") {\n throw new Error(\"Invalid hotkey configuration\");\n }\n if (typeof action.hotkey.key !== \"string\" || !action.hotkey.key) {\n throw new Error(\"Missing or invalid hotkey key\");\n }\n if (typeof action.hotkey.description !== \"string\" || !action.hotkey.description) {\n throw new Error(\"Missing or invalid hotkey description\");\n }\n }\n}\nfunction registerFileListAction(action) {\n validateAction(action);\n scopedGlobals.fileListActions ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileListActions.has(action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n scopedGlobals.fileListActions.set(action.id, action);\n getRegistry().dispatchTypedEvent(\"register:listAction\", new CustomEvent(\"register:listAction\", { detail: action }));\n}\nfunction getFileListActions() {\n if (scopedGlobals.fileListActions) {\n return [...scopedGlobals.fileListActions.values()];\n }\n return [];\n}\nfunction validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction registerFileListFilter(filter) {\n scopedGlobals.fileListFilters ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileListFilters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n scopedGlobals.fileListFilters.set(filter.id, filter);\n getRegistry().dispatchTypedEvent(\"register:listFilter\", new CustomEvent(\"register:listFilter\", { detail: filter }));\n}\nfunction unregisterFileListFilter(filterId) {\n if (scopedGlobals.fileListFilters && scopedGlobals.fileListFilters.has(filterId)) {\n scopedGlobals.fileListFilters.delete(filterId);\n getRegistry().dispatchTypedEvent(\"unregister:listFilter\", new CustomEvent(\"unregister:listFilter\", { detail: filterId }));\n }\n}\nfunction getFileListFilters() {\n if (scopedGlobals.fileListFilters) {\n return [...scopedGlobals.fileListFilters.values()];\n }\n return [];\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListHeader(header) {\n validateHeader(header);\n scopedGlobals.fileListHeaders ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileListHeaders.has(header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n scopedGlobals.fileListHeaders.set(header.id, header);\n getRegistry().dispatchTypedEvent(\"register:listHeader\", new CustomEvent(\"register:listHeader\", { detail: header }));\n}\nfunction getFileListHeaders() {\n if (!scopedGlobals.fileListHeaders) {\n return [];\n }\n return [...scopedGlobals.fileListHeaders.values()];\n}\nfunction validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n}\nfunction checkOptionalProperty(obj, property, type) {\n if (typeof obj[property] !== \"undefined\") {\n if (type === \"array\") {\n if (!Array.isArray(obj[property])) {\n throw new Error(`View ${property} must be an array`);\n }\n } else if (typeof obj[property] !== type) {\n throw new Error(`View ${property} must be a ${type}`);\n } else if (type === \"object\" && (obj[property] === null || Array.isArray(obj[property]))) {\n throw new Error(`View ${property} must be an object`);\n }\n }\n}\nclass Column {\n _column;\n constructor(column) {\n validateColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nfunction validateColumn(column) {\n if (typeof column !== \"object\" || column === null) {\n throw new Error(\"View column must be an object\");\n }\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n checkOptionalProperty(column, \"sort\", \"function\");\n checkOptionalProperty(column, \"summary\", \"function\");\n}\nclass View {\n _view;\n constructor(view) {\n validateView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get hidden() {\n return this._view.hidden;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nfunction validateView(view) {\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n checkOptionalProperty(view, \"caption\", \"string\");\n checkOptionalProperty(view, \"columns\", \"array\");\n checkOptionalProperty(view, \"defaultSortKey\", \"string\");\n checkOptionalProperty(view, \"emptyCaption\", \"string\");\n checkOptionalProperty(view, \"emptyTitle\", \"string\");\n checkOptionalProperty(view, \"emptyView\", \"function\");\n checkOptionalProperty(view, \"expanded\", \"boolean\");\n checkOptionalProperty(view, \"hidden\", \"boolean\");\n checkOptionalProperty(view, \"loadChildViews\", \"function\");\n checkOptionalProperty(view, \"order\", \"number\");\n checkOptionalProperty(view, \"params\", \"object\");\n checkOptionalProperty(view, \"parent\", \"string\");\n checkOptionalProperty(view, \"sticky\", \"boolean\");\n if (view.columns) {\n view.columns.forEach(validateColumn);\n const columnIds = view.columns.reduce((set, column) => set.add(column.id), /* @__PURE__ */ new Set());\n if (columnIds.size !== view.columns.length) {\n throw new Error(\"View columns must have unique ids\");\n }\n }\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n *\n * @param views The views to register\n * @throws {Error} if a view with the same id is already registered\n * @throws {Error} if the registered view is invalid\n */\n register(...views) {\n for (const view of views) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`IView id ${view.id} is already registered`);\n }\n validateView(view);\n }\n this._views.push(...views);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n *\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n *\n * @param id - The id of the view to set as active\n * @throws {Error} If no view with the given id was registered\n * @fires UpdateActiveViewEvent\n */\n setActive(id) {\n if (id === null) {\n this._currentView = null;\n } else {\n const view = this._views.find(({ id: viewId }) => viewId === id);\n if (!view) {\n throw new Error(`No view with ${id} registered`);\n }\n this._currentView = view;\n }\n const event = new CustomEvent(\"updateActive\", { detail: this._currentView });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nfunction getNavigation() {\n scopedGlobals.navigation ??= new Navigation();\n return scopedGlobals.navigation;\n}\nconst NewMenuEntryCategory = Object.freeze({\n /**\n * For actions where the user is intended to upload from their device\n */\n UploadFromDevice: 0,\n /**\n * For actions that create new nodes on the server without uploading\n */\n CreateNew: 1,\n /**\n * For everything not matching the other categories\n */\n Other: 2\n});\nclass NewMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? NewMenuEntryCategory.CreateNew;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param context - The creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !entry.iconSvgInline || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nfunction getNewFileMenu() {\n scopedGlobals.newFileMenu ??= new NewMenu();\n return scopedGlobals.newFileMenu;\n}\nfunction addNewFileMenuEntry(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n}\nfunction removeNewFileMenuEntry(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n}\nfunction getNewFileMenuEntries(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n}\nfunction registerSidebarAction(action) {\n validateSidebarAction(action);\n scopedGlobals.filesSidebarActions ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.filesSidebarActions.has(action.id)) {\n logger.warn(`Sidebar action with id \"${action.id}\" already registered. Skipping.`);\n return;\n }\n scopedGlobals.filesSidebarActions.set(action.id, action);\n logger.debug(`New sidebar action with id \"${action.id}\" registered.`);\n}\nfunction getSidebarActions() {\n if (scopedGlobals.filesSidebarActions) {\n return [...scopedGlobals.filesSidebarActions.values()];\n }\n return [];\n}\nfunction validateSidebarAction(action) {\n if (typeof action !== \"object\") {\n throw new Error(\"Sidebar action is not an object\");\n }\n if (!action.id || typeof action.id !== \"string\" || action.id !== CSS.escape(action.id)) {\n throw new Error(\"Sidebar actions need to have an id conforming to the HTML id attribute specifications\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Sidebar actions need to have a displayName function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Sidebar actions need to have a iconSvgInline function\");\n }\n if (!action.enabled || typeof action.enabled !== \"function\") {\n throw new Error(\"Sidebar actions need to have an enabled function\");\n }\n if (!action.onClick || typeof action.onClick !== \"function\") {\n throw new Error(\"Sidebar actions need to have an onClick function\");\n }\n}\nfunction registerSidebarTab(tab) {\n validateSidebarTab(tab);\n scopedGlobals.filesSidebarTabs ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.filesSidebarTabs.has(tab.id)) {\n logger.warn(`Sidebar tab with id \"${tab.id}\" already registered. Skipping.`);\n return;\n }\n scopedGlobals.filesSidebarTabs.set(tab.id, tab);\n logger.debug(`New sidebar tab with id \"${tab.id}\" registered.`);\n}\nfunction getSidebarTabs() {\n if (scopedGlobals.filesSidebarTabs) {\n return [...scopedGlobals.filesSidebarTabs.values()];\n }\n return [];\n}\nfunction validateSidebarTab(tab) {\n if (typeof tab !== \"object\") {\n throw new Error(\"Sidebar tab is not an object\");\n }\n if (!tab.id || typeof tab.id !== \"string\" || tab.id !== CSS.escape(tab.id)) {\n throw new Error(\"Sidebar tabs need to have an id conforming to the HTML id attribute specifications\");\n }\n if (!tab.tagName || typeof tab.tagName !== \"string\") {\n throw new Error(\"Sidebar tabs need to have the tagName name set\");\n }\n if (!tab.tagName.match(/^[a-z][a-z0-9-_]+$/)) {\n throw new Error('Sidebar tab \"tagName\" is invalid');\n }\n if (!tab.displayName || typeof tab.displayName !== \"string\") {\n throw new Error(\"Sidebar tabs need to have a name set\");\n }\n if (typeof tab.iconSvgInline !== \"string\" || !isSvg(tab.iconSvgInline)) {\n throw new Error(\"Sidebar tabs need to have an valid SVG icon\");\n }\n if (typeof tab.order !== \"number\") {\n throw new Error(\"Sidebar tabs need to have a numeric order set\");\n }\n if (tab.enabled && typeof tab.enabled !== \"function\") {\n throw new Error('Sidebar tab \"enabled\" is not a function');\n }\n if (tab.onInit && typeof tab.onInit !== \"function\") {\n throw new Error('Sidebar tab \"onInit\" is not a function');\n }\n}\nclass SidebarProxy {\n get #impl() {\n return window.OCA?.Files?._sidebar?.();\n }\n get available() {\n return !!this.#impl;\n }\n get isOpen() {\n return this.#impl?.isOpen ?? false;\n }\n get activeTab() {\n return this.#impl?.activeTab;\n }\n get node() {\n return this.#impl?.node;\n }\n open(node, tab) {\n this.#impl?.open(node, tab);\n }\n close() {\n this.#impl?.close();\n }\n setActiveTab(tabId) {\n this.#impl?.setActiveTab(tabId);\n }\n registerTab(tab) {\n registerSidebarTab(tab);\n }\n getTabs(context) {\n return this.#impl?.getTabs(context) ?? [];\n }\n getActions(context) {\n return this.#impl?.getActions(context) ?? [];\n }\n registerAction(action) {\n registerSidebarAction(action);\n }\n}\nfunction getSidebar() {\n return new SidebarProxy();\n}\nconst InvalidFilenameErrorReason = Object.freeze({\n ReservedName: \"reserved name\",\n Character: \"character\",\n Extension: \"extension\"\n});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: InvalidFilenameErrorReason.Character, filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({ filename, segment: filename, reason: InvalidFilenameErrorReason.ReservedName });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({ filename, segment: basename2, reason: InvalidFilenameErrorReason.ReservedName });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: InvalidFilenameErrorReason.Extension, filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n) => `(${n})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers, orders) {\n identifiers = identifiers ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nconst FilesSortingMode = Object.freeze({\n Name: \"basename\",\n Modified: \"mtime\",\n Size: \"size\"\n});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: FilesSortingMode.Name,\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n function basename2(node) {\n const name = node.displayname || node.attributes?.displayname || node.basename || \"\";\n if (node.type === FileType.Folder) {\n return name;\n }\n return name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n }\n const identifiers = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== FilesSortingMode.Name ? [(v) => v[sortingOptions.sortingMode] ?? v.attributes[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === FilesSortingMode.Modified ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== FilesSortingMode.Modified && sortingOptions.sortingMode !== FilesSortingMode.Name ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers, orders);\n}\nexport {\n Column,\n DefaultType,\n a as File,\n FileListFilter,\n FileType,\n FilesSortingMode,\n b as Folder,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n c as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n formatFileSize,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getFilesRegistry,\n getNavigation,\n getNewFileMenu,\n getNewFileMenuEntries,\n getSidebar,\n getSidebarActions,\n getSidebarTabs,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeader,\n registerSidebarAction,\n registerSidebarTab,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateColumn,\n validateFilename,\n validateView\n};\n//# sourceMappingURL=index.mjs.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"857\":\"3d28157955f39376ab2c\",\"2710\":\"0319a4b5398392025378\",\"4471\":\"9b3c8620f038b7593241\",\"6798\":\"995524658ab188a2d123\",\"7004\":\"da5a822695a273d4d2eb\",\"7394\":\"9b9a710e7fcefb63fcb4\",\"7471\":\"b4ac70873a3ab192efd0\",\"7859\":\"449c6cbdb74832a2f6c7\",\"8127\":\"8825f856581210b8af66\",\"8453\":\"d4f76450bf0c442af291\",\"8577\":\"2b04018de4fa4b10db11\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4958;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4958: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(28237)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","__webpack_nonce__","getCSPNonce","window","OCA","Sharing","Object","assign","ShareSearch","constructor","this","_state","results","logger","debug","state","addNewResult","result","displayName","trim","handler","push","error","ExternalShareActions","actions","registerAction","action","warn","id","data","Array","isArray","shareType","handlers","values","every","findIndex","check","ShareTabSections","_sections","registerSection","section","getSections","Vue","prototype","t","n","tagName","getSidebar","registerTab","iconSvgInline","order","onInit","default","FilesSidebarTab","webComponent","wrap","defineProperty","value","get","customElements","define","getLoggerBuilder","setApp","detectUser","build","freeze","DEFAULT","HIDDEN","UploadFromDevice","CreateNew","Other","SidebarProxy","Files","_sidebar","available","isOpen","activeTab","node","open","tab","close","setActiveTab","tabId","Error","CSS","escape","match","enabled","validateSidebarTab","s","filesSidebarTabs","Map","has","l","set","registerSidebarTab","getTabs","context","getActions","onClick","validateSidebarAction","filesSidebarActions","registerSidebarAction","stringify","Date","toISOString","String","orderBy","collection","identifiers","orders","sorting","map","_","index","collator","Intl","Collator","numeric","usage","sort","a2","b2","identifier","entries","compare","ReservedName","Character","Extension","Name","Modified","Size","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","key","splice","r","getter","__esModule","d","a","definition","o","enumerable","f","e","chunkId","Promise","all","reduce","promises","u","obj","prop","hasOwnProperty","url","done","script","needAttach","scripts","document","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","globalThis","importScripts","location","currentScript","toUpperCase","test","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file