diff --git a/js/activity-app.mjs b/js/activity-app.mjs
index 67b9b6001..3be76e7f2 100644
--- a/js/activity-app.mjs
+++ b/js/activity-app.mjs
@@ -1,4 +1,4 @@
-(function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode('#skip-actions.vue-skip-actions:focus-within{top:0!important;left:0!important;width:100vw;height:100vh;padding:var(--body-container-margin)!important;-webkit-backdrop-filter:brightness(50%);backdrop-filter:brightness(50%)}.material-design-icon[data-v-d8f0539f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-skip-actions__container[data-v-d8f0539f]{background-color:var(--color-main-background);border-radius:var(--border-radius-large);padding:22px}.vue-skip-actions__headline[data-v-d8f0539f]{font-weight:700;font-size:20px;line-height:30px;margin-bottom:12px}.vue-skip-actions__buttons[data-v-d8f0539f]{display:flex;flex-wrap:wrap;gap:12px}.vue-skip-actions__buttons>*[data-v-d8f0539f]{flex:1 0 fit-content}.vue-skip-actions__image[data-v-d8f0539f]{margin-top:12px}.content[data-v-d8f0539f]{box-sizing:border-box;margin:var(--body-container-margin);margin-top:var(--header-height);display:flex;width:calc(100% - var(--body-container-margin) * 2);border-radius:var(--body-container-radius);height:var(--body-height);overflow:hidden;padding:0}.content[data-v-d8f0539f]:not(.with-sidebar--full){position:fixed}.content[data-v-d8f0539f] *{box-sizing:border-box}.material-design-icon[data-v-089eb524]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-089eb524]{position:sticky;width:var(--default-clickable-area);height:var(--default-clickable-area);padding:calc((var(--default-clickable-area) - 16px) / 2);cursor:pointer;opacity:.6;transform:rotate(180deg);background-color:var(--color-main-background);z-index:2000;top:var(--app-navigation-padding);inset-inline-start:calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2)}.app-details-toggle--mobile[data-v-089eb524]{inset-inline-start:var(--app-navigation-padding)}.app-details-toggle[data-v-089eb524]:active,.app-details-toggle[data-v-089eb524]:hover,.app-details-toggle[data-v-089eb524]:focus{opacity:1}.material-design-icon[data-v-79779e34]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-79779e34]{position:initial;z-index:1000;flex-basis:100vw;height:100%;margin:0!important;background-color:var(--color-main-background);min-width:0}.app-content[data-v-79779e34]:not(.app-content--has-list){overflow:auto}.app-content-wrapper[data-v-79779e34]{position:relative;width:100%;height:100%}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-79779e34] .app-content-list{display:flex}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-79779e34] .app-content-details,.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-79779e34] .app-content-list{display:none}.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-79779e34] .app-content-details{display:block}[data-v-79779e34] .splitpanes.default-theme .app-content-list{max-width:none;scrollbar-width:auto}[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane{background-color:transparent;transition:none}[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane-list{min-width:300px;position:sticky}@media only screen and (width < 1024px){[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:auto}@media only screen and (width < 1024px){[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-79779e34] .splitpanes.default-theme .splitpanes__splitter{background-color:var(--color-main-background)}[data-v-79779e34] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-79779e34] .splitpanes.default-theme .splitpanes__splitter:after{background-color:var(--color-border)}[data-v-79779e34] .splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter{border-left:1px solid var(--color-border)}[data-v-79779e34] .splitpanes.default-theme.splitpanes--horizontal .splitpanes__splitter{border-top:1px solid var(--color-border)}.app-content-wrapper--show-list[data-v-79779e34] .app-content-list{max-width:none}.splitpanes{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.splitpanes--vertical{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.splitpanes--horizontal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{-webkit-transition:width .2s ease-out;-o-transition:width .2s ease-out;transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{-webkit-transition:height .2s ease-out;-o-transition:height .2s ease-out;transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{-webkit-transition:none;-o-transition:none;transition:none}.splitpanes__splitter{-ms-touch-action:none;touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-negative:0;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:before,.splitpanes.default-theme .splitpanes__splitter:hover:after{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.activity-group__heading[data-v-c16e5a63]{line-height:1.5;margin-block:30px 12px}.activity-group__heading[data-v-c16e5a63]:first-of-type{margin-block-start:0}.activity-app[data-v-6798da20]{display:flex;flex-direction:column;overflow:hidden}.activity-app__empty-content[data-v-6798da20]{height:100%}.activity-app__loading-indicator[data-v-6798da20]{color:var(--color-text-maxcontrast);justify-self:center;margin-block:30px 6px;text-align:center}.activity-app__container[data-v-6798da20]{display:flex;flex-direction:column;height:100%;width:min(100%,924px);max-width:924px;margin:0 auto;padding-inline:12px;overflow-y:scroll}.activity-app__heading[data-v-6798da20]{font-weight:700;font-size:20px;line-height:44px;margin-top:1px;margin-inline:calc(2 * var(--app-navigation-padding, 8px) + 44px) var(--app-navigation-padding, 8px)}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation,.app-content{--app-navigation-padding: calc(var(--default-grid-baseline, 4px) * 2)}.material-design-icon[data-v-1329aac9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-1329aac9]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-text-maxcontrast-default));transition:transform var(--animation-quick),margin var(--animation-quick);width:300px;--app-navigation-max-width: calc(100vw - (var(--app-navigation-padding) + var(--default-clickable-area) + var(--default-grid-baseline)));max-width:var(--app-navigation-max-width);position:relative;top:0;inset-inline-start:0;padding:0;z-index:1800;height:100%;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-grow:0;flex-shrink:0;background-color:var(--color-main-background-blur, var(--color-main-background));-webkit-backdrop-filter:var(--filter-background-blur, none);backdrop-filter:var(--filter-background-blur, none)}.app-navigation--close[data-v-1329aac9]{margin-inline-start:calc(-1*min(300px,var(--app-navigation-max-width)))}.app-navigation__search[data-v-1329aac9]{width:100%}.app-navigation__body[data-v-1329aac9]{overflow-y:scroll}.app-navigation__content>ul[data-v-1329aac9]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.app-navigation .app-navigation__list[data-v-1329aac9]{height:100%}.app-navigation__body--no-list[data-v-1329aac9]{flex:1 1 auto;overflow:auto;height:100%}.app-navigation__content[data-v-1329aac9]{height:100%;display:flex;flex-direction:column}[data-themes*=highcontrast] .app-navigation[data-v-1329aac9]{border-inline-end:1px solid var(--color-border)}@media only screen and (max-width: 1024px){.app-navigation[data-v-1329aac9]{position:absolute;border-inline-end:1px solid var(--color-border)}}@media only screen and (max-width: 512px){.app-navigation[data-v-1329aac9]{z-index:1400}}.material-design-icon[data-v-058e6060]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-list[data-v-058e6060]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.material-design-icon[data-v-87a1d6fa]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-toggle-wrapper[data-v-87a1d6fa]{position:absolute;top:var(--app-navigation-padding);inset-inline-end:calc(0px - var(--app-navigation-padding));margin-inline-end:calc(-1 * var(--default-clickable-area))}button.app-navigation-toggle[data-v-87a1d6fa]{background-color:var(--color-main-background)}.material-design-icon[data-v-f65a0daf]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue.icon-collapse[data-v-f65a0daf]{position:relative;z-index:105;color:var(--color-main-text);inset-inline-end:0}.button-vue.icon-collapse--open[data-v-f65a0daf]{color:var(--color-main-text)}.button-vue.icon-collapse--open[data-v-f65a0daf]:hover{color:var(--color-primary-element)}.material-design-icon[data-v-54906a49]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry[data-v-54906a49]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%;min-height:var(--default-clickable-area);transition:background-color var(--animation-quick) ease-in-out;transition:background-color .2s ease-in-out;border-radius:var(--border-radius-element, var(--border-radius-pill))}.app-navigation-entry-wrapper[data-v-54906a49]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%}.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul[data-v-54906a49]{display:none}.app-navigation-entry.active[data-v-54906a49]{background-color:var(--color-primary-element)!important}.app-navigation-entry.active[data-v-54906a49]:hover{background-color:var(--color-primary-element-hover)!important}.app-navigation-entry.active .app-navigation-entry-link[data-v-54906a49],.app-navigation-entry.active .app-navigation-entry-button[data-v-54906a49]{color:var(--color-primary-element-text)!important}.app-navigation-entry[data-v-54906a49]:focus-within,.app-navigation-entry[data-v-54906a49]:hover{background-color:var(--color-background-hover)}.app-navigation-entry.active .app-navigation-entry__children[data-v-54906a49],.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-54906a49],.app-navigation-entry:hover .app-navigation-entry__children[data-v-54906a49]{background-color:var(--color-main-background)}.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49]{display:inline-block}.app-navigation-entry.app-navigation-entry--deleted>ul[data-v-54906a49]{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-54906a49],.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-54906a49]{padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2)}.app-navigation-entry .app-navigation-entry-link[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button[data-v-54906a49]{z-index:100;display:flex;overflow:hidden;flex:1 1 0;box-sizing:border-box;min-height:var(--default-clickable-area);padding:0;white-space:nowrap;color:var(--color-main-text);background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px 16px;line-height:var(--default-clickable-area)}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-54906a49]{display:flex;align-items:center;flex:0 0 var(--default-clickable-area);justify-content:center;width:var(--default-clickable-area);height:var(--default-clickable-area);background-size:16px 16px;background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-54906a49]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-54906a49]{width:calc(100% - var(--default-clickable-area));margin:auto}.app-navigation-entry .app-navigation-entry-link[data-v-54906a49]:focus-visible,.app-navigation-entry .app-navigation-entry-button[data-v-54906a49]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background);outline:2px solid var(--color-main-text);border-radius:var(--border-radius-element, var(--border-radius-pill))}.app-navigation-entry__children[data-v-54906a49]{position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%;gap:var(--default-grid-baseline, 4px)}.app-navigation-entry__children .app-navigation-entry[data-v-54906a49]{display:inline-flex;flex-wrap:wrap;padding-inline-start:16px}.app-navigation-entry__deleted[data-v-54906a49]{display:inline-flex;flex:1 1 0;padding-inline-start:calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2)!important}.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-54906a49]{position:relative;overflow:hidden;flex:1 1 0;white-space:nowrap;text-overflow:ellipsis;line-height:var(--default-clickable-area)}.app-navigation-entry__utils[data-v-54906a49]{display:flex;min-width:var(--default-clickable-area);align-items:center;flex:0 1 auto;justify-content:flex-end}.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-54906a49]{display:inline-block}.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-54906a49]{margin-inline-end:calc(var(--default-grid-baseline) * 2);display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-54906a49]{display:none}.app-navigation-entry--editing .app-navigation-entry-edit[data-v-54906a49]{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-54906a49]{z-index:250;transform:translate(0)}.app-navigation-entry--pinned[data-v-54906a49]{order:2;margin-top:auto}.app-navigation-entry--pinned~.app-navigation-entry--pinned[data-v-54906a49]{margin-top:0}[data-themes*=highcontrast] .app-navigation-entry[data-v-54906a49]:active{background-color:var(--color-primary-element-light-hover)!important}.material-design-icon[data-v-0e795eb7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm[data-v-0e795eb7]{flex:1 0 100%;width:100%}.app-navigation-input-confirm form[data-v-0e795eb7]{display:flex}.app-navigation-input-confirm__input[data-v-0e795eb7]{height:34px;flex:1 1 100%;font-size:100%!important;margin:5px 5px 5px -8px!important;padding:7px!important}.app-navigation-input-confirm__input[data-v-0e795eb7]:active,.app-navigation-input-confirm__input[data-v-0e795eb7]:focus,.app-navigation-input-confirm__input[data-v-0e795eb7]:hover{outline:none;background-color:var(--color-main-background);color:var(--color-main-text);border-color:var(--color-primary-element)}.material-design-icon[data-v-d278a327]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#app-settings[data-v-d278a327]{margin-top:auto;padding:3px}#app-settings__header[data-v-d278a327]{box-sizing:border-box;margin:0 3px 3px}#app-settings__header .settings-button[data-v-d278a327]{display:flex;flex:1 1 0;height:var(--default-clickable-area);width:100%;padding:0;margin:0;background-color:transparent;box-shadow:none;border:0;border-radius:var(--body-container-radius);text-align:start;font-weight:400;font-size:100%;color:var(--color-main-text);padding-inline-end:14px;line-height:var(--default-clickable-area)}#app-settings__header .settings-button[data-v-d278a327]:hover,#app-settings__header .settings-button[data-v-d278a327]:focus{background-color:var(--color-background-hover)}#app-settings__header .settings-button__icon[data-v-d278a327]{width:var(--default-clickable-area);height:var(--default-clickable-area);min-width:var(--default-clickable-area)}#app-settings__header .settings-button__label[data-v-d278a327]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}#app-settings__content[data-v-d278a327]{display:block;padding:10px;margin-bottom:-3px;max-height:300px;overflow-y:auto;box-sizing:border-box}.slide-up-leave-active[data-v-d278a327],.slide-up-enter-active[data-v-d278a327]{transition-duration:var(--animation-slow);transition-property:max-height,padding;overflow-y:hidden!important}.slide-up-enter[data-v-d278a327],.slide-up-leave-to[data-v-d278a327]{max-height:0!important;padding:0 10px!important}.app-activity .settings-link{max-width:100%}.app-activity .app-navigation-entry.active .navigation-icon{filter:var(--primary-invert-if-dark)}.app-activity .app-navigation-entry:not(.active) .navigation-icon{filter:var(--background-invert-if-dark)}.app-activity .navigation-icon{height:16px;width:16px}')),document.head.appendChild(a)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
+(function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode('#skip-actions.vue-skip-actions:focus-within{top:0!important;left:0!important;width:100vw;height:100vh;padding:var(--body-container-margin)!important;-webkit-backdrop-filter:brightness(50%);backdrop-filter:brightness(50%)}.material-design-icon[data-v-d8f0539f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-skip-actions__container[data-v-d8f0539f]{background-color:var(--color-main-background);border-radius:var(--border-radius-large);padding:22px}.vue-skip-actions__headline[data-v-d8f0539f]{font-weight:700;font-size:20px;line-height:30px;margin-bottom:12px}.vue-skip-actions__buttons[data-v-d8f0539f]{display:flex;flex-wrap:wrap;gap:12px}.vue-skip-actions__buttons>*[data-v-d8f0539f]{flex:1 0 fit-content}.vue-skip-actions__image[data-v-d8f0539f]{margin-top:12px}.content[data-v-d8f0539f]{box-sizing:border-box;margin:var(--body-container-margin);margin-top:var(--header-height);display:flex;width:calc(100% - var(--body-container-margin) * 2);border-radius:var(--body-container-radius);height:var(--body-height);overflow:hidden;padding:0}.content[data-v-d8f0539f]:not(.with-sidebar--full){position:fixed}.content[data-v-d8f0539f] *{box-sizing:border-box}.material-design-icon[data-v-089eb524]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-089eb524]{position:sticky;width:var(--default-clickable-area);height:var(--default-clickable-area);padding:calc((var(--default-clickable-area) - 16px) / 2);cursor:pointer;opacity:.6;transform:rotate(180deg);background-color:var(--color-main-background);z-index:2000;top:var(--app-navigation-padding);inset-inline-start:calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2)}.app-details-toggle--mobile[data-v-089eb524]{inset-inline-start:var(--app-navigation-padding)}.app-details-toggle[data-v-089eb524]:active,.app-details-toggle[data-v-089eb524]:hover,.app-details-toggle[data-v-089eb524]:focus{opacity:1}.material-design-icon[data-v-79779e34]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-79779e34]{position:initial;z-index:1000;flex-basis:100vw;height:100%;margin:0!important;background-color:var(--color-main-background);min-width:0}.app-content[data-v-79779e34]:not(.app-content--has-list){overflow:auto}.app-content-wrapper[data-v-79779e34]{position:relative;width:100%;height:100%}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-79779e34] .app-content-list{display:flex}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-79779e34] .app-content-details,.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-79779e34] .app-content-list{display:none}.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-79779e34] .app-content-details{display:block}[data-v-79779e34] .splitpanes.default-theme .app-content-list{max-width:none;scrollbar-width:auto}[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane{background-color:transparent;transition:none}[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane-list{min-width:300px;position:sticky}@media only screen and (width < 1024px){[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:auto}@media only screen and (width < 1024px){[data-v-79779e34] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-79779e34] .splitpanes.default-theme .splitpanes__splitter{background-color:var(--color-main-background)}[data-v-79779e34] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-79779e34] .splitpanes.default-theme .splitpanes__splitter:after{background-color:var(--color-border)}[data-v-79779e34] .splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter{border-left:1px solid var(--color-border)}[data-v-79779e34] .splitpanes.default-theme.splitpanes--horizontal .splitpanes__splitter{border-top:1px solid var(--color-border)}.app-content-wrapper--show-list[data-v-79779e34] .app-content-list{max-width:none}.splitpanes{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.splitpanes--vertical{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.splitpanes--horizontal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{-webkit-transition:width .2s ease-out;-o-transition:width .2s ease-out;transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{-webkit-transition:height .2s ease-out;-o-transition:height .2s ease-out;transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{-webkit-transition:none;-o-transition:none;transition:none}.splitpanes__splitter{-ms-touch-action:none;touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-negative:0;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:before,.splitpanes.default-theme .splitpanes__splitter:hover:after{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.activity-group__heading[data-v-c16e5a63]{line-height:1.5;margin-block:30px 12px}.activity-group__heading[data-v-c16e5a63]:first-of-type{margin-block-start:0}.activity-app[data-v-92868e1b]{display:flex;flex-direction:column;overflow:hidden}.activity-app__empty-content[data-v-92868e1b]{height:100%}.activity-app__loading-indicator[data-v-92868e1b]{color:var(--color-text-maxcontrast);justify-self:center;margin-block:30px 6px;text-align:center}.activity-app__container[data-v-92868e1b]{display:flex;flex-direction:column;height:100%;width:min(100%,924px);max-width:924px;margin:0 auto;padding-inline:12px;overflow-y:scroll}.activity-app__heading[data-v-92868e1b]{font-weight:700;font-size:20px;line-height:44px;margin-top:1px;margin-inline:calc(2 * var(--app-navigation-padding, 8px) + 44px) var(--app-navigation-padding, 8px)}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation,.app-content{--app-navigation-padding: calc(var(--default-grid-baseline, 4px) * 2)}.material-design-icon[data-v-1329aac9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-1329aac9]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-text-maxcontrast-default));transition:transform var(--animation-quick),margin var(--animation-quick);width:300px;--app-navigation-max-width: calc(100vw - (var(--app-navigation-padding) + var(--default-clickable-area) + var(--default-grid-baseline)));max-width:var(--app-navigation-max-width);position:relative;top:0;inset-inline-start:0;padding:0;z-index:1800;height:100%;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-grow:0;flex-shrink:0;background-color:var(--color-main-background-blur, var(--color-main-background));-webkit-backdrop-filter:var(--filter-background-blur, none);backdrop-filter:var(--filter-background-blur, none)}.app-navigation--close[data-v-1329aac9]{margin-inline-start:calc(-1*min(300px,var(--app-navigation-max-width)))}.app-navigation__search[data-v-1329aac9]{width:100%}.app-navigation__body[data-v-1329aac9]{overflow-y:scroll}.app-navigation__content>ul[data-v-1329aac9]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.app-navigation .app-navigation__list[data-v-1329aac9]{height:100%}.app-navigation__body--no-list[data-v-1329aac9]{flex:1 1 auto;overflow:auto;height:100%}.app-navigation__content[data-v-1329aac9]{height:100%;display:flex;flex-direction:column}[data-themes*=highcontrast] .app-navigation[data-v-1329aac9]{border-inline-end:1px solid var(--color-border)}@media only screen and (max-width: 1024px){.app-navigation[data-v-1329aac9]{position:absolute;border-inline-end:1px solid var(--color-border)}}@media only screen and (max-width: 512px){.app-navigation[data-v-1329aac9]{z-index:1400}}.material-design-icon[data-v-058e6060]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-list[data-v-058e6060]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.material-design-icon[data-v-87a1d6fa]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-toggle-wrapper[data-v-87a1d6fa]{position:absolute;top:var(--app-navigation-padding);inset-inline-end:calc(0px - var(--app-navigation-padding));margin-inline-end:calc(-1 * var(--default-clickable-area))}button.app-navigation-toggle[data-v-87a1d6fa]{background-color:var(--color-main-background)}.material-design-icon[data-v-f65a0daf]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue.icon-collapse[data-v-f65a0daf]{position:relative;z-index:105;color:var(--color-main-text);inset-inline-end:0}.button-vue.icon-collapse--open[data-v-f65a0daf]{color:var(--color-main-text)}.button-vue.icon-collapse--open[data-v-f65a0daf]:hover{color:var(--color-primary-element)}.material-design-icon[data-v-54906a49]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry[data-v-54906a49]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%;min-height:var(--default-clickable-area);transition:background-color var(--animation-quick) ease-in-out;transition:background-color .2s ease-in-out;border-radius:var(--border-radius-element, var(--border-radius-pill))}.app-navigation-entry-wrapper[data-v-54906a49]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%}.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul[data-v-54906a49]{display:none}.app-navigation-entry.active[data-v-54906a49]{background-color:var(--color-primary-element)!important}.app-navigation-entry.active[data-v-54906a49]:hover{background-color:var(--color-primary-element-hover)!important}.app-navigation-entry.active .app-navigation-entry-link[data-v-54906a49],.app-navigation-entry.active .app-navigation-entry-button[data-v-54906a49]{color:var(--color-primary-element-text)!important}.app-navigation-entry[data-v-54906a49]:focus-within,.app-navigation-entry[data-v-54906a49]:hover{background-color:var(--color-background-hover)}.app-navigation-entry.active .app-navigation-entry__children[data-v-54906a49],.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-54906a49],.app-navigation-entry:hover .app-navigation-entry__children[data-v-54906a49]{background-color:var(--color-main-background)}.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49]{display:inline-block}.app-navigation-entry.app-navigation-entry--deleted>ul[data-v-54906a49]{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-54906a49],.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-54906a49]{padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2)}.app-navigation-entry .app-navigation-entry-link[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button[data-v-54906a49]{z-index:100;display:flex;overflow:hidden;flex:1 1 0;box-sizing:border-box;min-height:var(--default-clickable-area);padding:0;white-space:nowrap;color:var(--color-main-text);background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px 16px;line-height:var(--default-clickable-area)}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-54906a49]{display:flex;align-items:center;flex:0 0 var(--default-clickable-area);justify-content:center;width:var(--default-clickable-area);height:var(--default-clickable-area);background-size:16px 16px;background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-54906a49]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-54906a49]{width:calc(100% - var(--default-clickable-area));margin:auto}.app-navigation-entry .app-navigation-entry-link[data-v-54906a49]:focus-visible,.app-navigation-entry .app-navigation-entry-button[data-v-54906a49]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background);outline:2px solid var(--color-main-text);border-radius:var(--border-radius-element, var(--border-radius-pill))}.app-navigation-entry__children[data-v-54906a49]{position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%;gap:var(--default-grid-baseline, 4px)}.app-navigation-entry__children .app-navigation-entry[data-v-54906a49]{display:inline-flex;flex-wrap:wrap;padding-inline-start:16px}.app-navigation-entry__deleted[data-v-54906a49]{display:inline-flex;flex:1 1 0;padding-inline-start:calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2)!important}.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-54906a49]{position:relative;overflow:hidden;flex:1 1 0;white-space:nowrap;text-overflow:ellipsis;line-height:var(--default-clickable-area)}.app-navigation-entry__utils[data-v-54906a49]{display:flex;min-width:var(--default-clickable-area);align-items:center;flex:0 1 auto;justify-content:flex-end}.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-54906a49]{display:inline-block}.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-54906a49]{margin-inline-end:calc(var(--default-grid-baseline) * 2);display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-54906a49]{display:none}.app-navigation-entry--editing .app-navigation-entry-edit[data-v-54906a49]{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-54906a49]{z-index:250;transform:translate(0)}.app-navigation-entry--pinned[data-v-54906a49]{order:2;margin-top:auto}.app-navigation-entry--pinned~.app-navigation-entry--pinned[data-v-54906a49]{margin-top:0}[data-themes*=highcontrast] .app-navigation-entry[data-v-54906a49]:active{background-color:var(--color-primary-element-light-hover)!important}.material-design-icon[data-v-0e795eb7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm[data-v-0e795eb7]{flex:1 0 100%;width:100%}.app-navigation-input-confirm form[data-v-0e795eb7]{display:flex}.app-navigation-input-confirm__input[data-v-0e795eb7]{height:34px;flex:1 1 100%;font-size:100%!important;margin:5px 5px 5px -8px!important;padding:7px!important}.app-navigation-input-confirm__input[data-v-0e795eb7]:active,.app-navigation-input-confirm__input[data-v-0e795eb7]:focus,.app-navigation-input-confirm__input[data-v-0e795eb7]:hover{outline:none;background-color:var(--color-main-background);color:var(--color-main-text);border-color:var(--color-primary-element)}.material-design-icon[data-v-d278a327]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#app-settings[data-v-d278a327]{margin-top:auto;padding:3px}#app-settings__header[data-v-d278a327]{box-sizing:border-box;margin:0 3px 3px}#app-settings__header .settings-button[data-v-d278a327]{display:flex;flex:1 1 0;height:var(--default-clickable-area);width:100%;padding:0;margin:0;background-color:transparent;box-shadow:none;border:0;border-radius:var(--body-container-radius);text-align:start;font-weight:400;font-size:100%;color:var(--color-main-text);padding-inline-end:14px;line-height:var(--default-clickable-area)}#app-settings__header .settings-button[data-v-d278a327]:hover,#app-settings__header .settings-button[data-v-d278a327]:focus{background-color:var(--color-background-hover)}#app-settings__header .settings-button__icon[data-v-d278a327]{width:var(--default-clickable-area);height:var(--default-clickable-area);min-width:var(--default-clickable-area)}#app-settings__header .settings-button__label[data-v-d278a327]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}#app-settings__content[data-v-d278a327]{display:block;padding:10px;margin-bottom:-3px;max-height:300px;overflow-y:auto;box-sizing:border-box}.slide-up-leave-active[data-v-d278a327],.slide-up-enter-active[data-v-d278a327]{transition-duration:var(--animation-slow);transition-property:max-height,padding;overflow-y:hidden!important}.slide-up-enter[data-v-d278a327],.slide-up-leave-to[data-v-d278a327]{max-height:0!important;padding:0 10px!important}.app-activity .settings-link{max-width:100%}.app-activity .app-navigation-entry.active .navigation-icon{filter:var(--primary-invert-if-dark)}.app-activity .app-navigation-entry:not(.active) .navigation-icon{filter:var(--background-invert-if-dark)}.app-activity .navigation-icon{height:16px;width:16px}')),document.head.appendChild(a)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
import{V as v,d as L,i as J,c as w,t as g,g as ht,e as ft,s as gt,r as C,o as vt,w as mt,a as yt}from"./translation-CD_FiYBO-wwn6Gj2a.chunk.mjs";import{N as Q,u as k,A as tt,m as b,a as Ct,b as xt,c as _t,l as St,d as bt,C as wt,v as zt,e as Nt,V as et}from"./Activity-Cm_7wRhs.chunk.mjs";import{e as m,g as kt,l as T,s as Pt,u as Et}from"./logger-ByCR-oAD.chunk.mjs";import{r as y,t as Mt,n as c,N as x,a as d,b as P,c as Dt,u as At,V as Lt,l as I,d as $t,e as it,f as nt,v as Bt,g as Ot,o as H,h as Tt,i as It,j as Vt,k as Ht,m as Rt,C as Ft,p as jt,q as Kt,s as Zt,w as Ut,G as qt,x as Wt,y as Gt,_ as at}from"./NcCheckboxRadioSwitch-CCuKA55c-Bjch89wL.chunk.mjs";import{s as st,a as Xt}from"./NcNoteCard-C6xb7vi0-B6IPN01E.chunk.mjs";import"./_commonjsHelpers-D9DevfhH.chunk.mjs";import"./preload-helper-DPcAka6r.chunk.mjs";const D="activity";let Yt="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Jt=(t=21)=>{let e="",i=t|0;for(;i--;)e+=Yt[Math.random()*64|0];return e};function E(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?E=function(e){return typeof e}:E=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E(t)}var ot={selector:"vue-portal-target-".concat(Jt())},Qt=function(t){return ot.selector=t},B=typeof window<"u"&&(typeof document>"u"?"undefined":E(document))!==void 0,te=v.extend({abstract:!0,name:"PortalOutlet",props:["nodes","tag"],data:function(t){return{updatedNodes:t.nodes}},render:function(t){var e=this.updatedNodes&&this.updatedNodes();return e?e.length===1&&!e[0].text?e:t(this.tag||"DIV",e):t()},destroyed:function(){var t=this.$el;t&&t.parentNode.removeChild(t)}}),rt=v.extend({name:"VueSimplePortal",props:{disabled:{type:Boolean},prepend:{type:Boolean},selector:{type:String,default:function(){return"#".concat(ot.selector)}},tag:{type:String,default:"DIV"}},render:function(t){if(this.disabled){var e=this.$scopedSlots&&this.$scopedSlots.default();return e?e.length<2&&!e[0].text?e:t(this.tag,e):t()}return t()},created:function(){this.getTargetEl()||this.insertTargetEl()},updated:function(){var t=this;this.$nextTick(function(){!t.disabled&&t.slotFn!==t.$scopedSlots.default&&(t.container.updatedNodes=t.$scopedSlots.default),t.slotFn=t.$scopedSlots.default})},beforeDestroy:function(){this.unmount()},watch:{disabled:{immediate:!0,handler:function(t){t?this.unmount():this.$nextTick(this.mount)}}},methods:{getTargetEl:function(){if(B)return document.querySelector(this.selector)},insertTargetEl:function(){if(B){var t=document.querySelector("body"),e=document.createElement(this.tag);e.id=this.selector.substring(1),t.appendChild(e)}},mount:function(){if(B){var t=this.getTargetEl(),e=document.createElement("DIV");this.prepend&&t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e),this.container=new te({el:e,parent:this,propsData:{tag:this.tag,nodes:this.$scopedSlots.default}})}},unmount:function(){this.container&&(this.container.$destroy(),delete this.container)}}});function ee(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t.component(e.name||"portal",rt),e.defaultSelector&&Qt(e.defaultSelector)}typeof window<"u"&&window.Vue&&window.Vue===v&&v.use(ee),y(Mt);const ie=`\\n\\n';\nconst navigationSvg = '\\n\\n';\nconst _sfc_main = {\n name: \"NcContent\",\n components: {\n NcButton,\n NcIconSvgWrapper,\n Teleport: Portal\n },\n provide() {\n return {\n \"NcContent:setHasAppNavigation\": this.setAppNavigation,\n \"NcContent:selector\": \"#content-vue\"\n };\n },\n props: {\n appName: {\n type: String,\n required: true\n }\n },\n setup() {\n const isMobile = useIsMobile();\n return {\n isMobile\n };\n },\n data() {\n return {\n hasAppNavigation: false,\n currentFocus: \"\"\n // unknown\n };\n },\n computed: {\n currentImage() {\n if (this.currentFocus === \"navigation\") {\n return navigationSvg;\n }\n return contentSvg;\n }\n },\n beforeMount() {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n },\n methods: {\n t,\n openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n this.$nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n },\n setAppNavigation(value) {\n this.hasAppNavigation = value;\n if (this.currentFocus === \"\") {\n this.currentFocus = \"navigation\";\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { class: [\"content\", `app-${_vm.appName.toLowerCase()}`], attrs: { \"id\": \"content-vue\" } }, [_c(\"Teleport\", { attrs: { \"selector\": \"#skip-actions\" } }, [_c(\"div\", { staticClass: \"vue-skip-actions__container\" }, [_c(\"div\", { staticClass: \"vue-skip-actions__headline\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Keyboard navigation help\")) + \" \")]), _c(\"div\", { staticClass: \"vue-skip-actions__buttons\" }, [_c(\"NcButton\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.hasAppNavigation, expression: \"hasAppNavigation\" }], attrs: { \"type\": \"tertiary\", \"href\": \"#app-navigation-vue\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.openAppNavigation.apply(null, arguments);\n }, \"focusin\": function($event) {\n _vm.currentFocus = \"navigation\";\n }, \"mouseover\": function($event) {\n _vm.currentFocus = \"navigation\";\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Skip to app navigation\")) + \" \")]), _c(\"NcButton\", { attrs: { \"type\": \"tertiary\", \"href\": \"#app-content-vue\" }, on: { \"focusin\": function($event) {\n _vm.currentFocus = \"content\";\n }, \"mouseover\": function($event) {\n _vm.currentFocus = \"content\";\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Skip to main content\")) + \" \")])], 1), _c(\"NcIconSvgWrapper\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.isMobile, expression: \"!isMobile\" }], staticClass: \"vue-skip-actions__image\", attrs: { \"svg\": _vm.currentImage, \"size\": \"auto\" } })], 1), _vm._v(\" \")]), _vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d8f0539f\"\n);\nconst NcContent = __component__.exports;\nexport {\n NcContent as N\n};\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ArrowLeftIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon arrow-left-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst ArrowLeft = __component__.exports;\nexport {\n ArrowLeft as A\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar splitpanes_vue_vue_type_style_index_0_lang = \"\";\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options.render = render2;\n options.staticRenderFns = staticRenderFns2;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst __vue2_script$1 = {\n name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean },\n pushOtherPanes: { type: Boolean, default: true },\n dblClickSplitter: { type: Boolean, default: true },\n rtl: { type: Boolean, default: false },\n firstSplitter: { type: Boolean }\n },\n provide() {\n return {\n requestUpdate: this.requestUpdate,\n onPaneAdd: this.onPaneAdd,\n onPaneRemove: this.onPaneRemove,\n onPaneClick: this.onPaneClick\n };\n },\n data: () => ({\n container: null,\n ready: false,\n panes: [],\n touch: {\n mouseDown: false,\n dragging: false,\n activeSplitter: null\n },\n splitterTaps: {\n splitter: null,\n timeoutId: null\n }\n }),\n computed: {\n panesCount() {\n return this.panes.length;\n },\n indexedPanes() {\n return this.panes.reduce((obj, pane2) => (obj[pane2.id] = pane2) && obj, {});\n }\n },\n methods: {\n updatePaneComponents() {\n this.panes.forEach((pane2) => {\n pane2.update && pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n },\n bindEvents() {\n document.addEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.addEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"touchend\", this.onMouseUp);\n }\n },\n unbindEvents() {\n document.removeEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.removeEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"touchend\", this.onMouseUp);\n }\n },\n onMouseDown(event, splitterIndex) {\n this.bindEvents();\n this.touch.mouseDown = true;\n this.touch.activeSplitter = splitterIndex;\n },\n onMouseMove(event) {\n if (this.touch.mouseDown) {\n event.preventDefault();\n this.touch.dragging = true;\n this.calculatePanesSize(this.getCurrentMouseDrag(event));\n this.$emit(\"resize\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n },\n onMouseUp() {\n if (this.touch.dragging) {\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n this.touch.mouseDown = false;\n setTimeout(() => {\n this.touch.dragging = false;\n this.unbindEvents();\n }, 100);\n },\n onSplitterClick(event, splitterIndex) {\n if (\"ontouchstart\" in window) {\n event.preventDefault();\n if (this.dblClickSplitter) {\n if (this.splitterTaps.splitter === splitterIndex) {\n clearTimeout(this.splitterTaps.timeoutId);\n this.splitterTaps.timeoutId = null;\n this.onSplitterDblClick(event, splitterIndex);\n this.splitterTaps.splitter = null;\n } else {\n this.splitterTaps.splitter = splitterIndex;\n this.splitterTaps.timeoutId = setTimeout(() => {\n this.splitterTaps.splitter = null;\n }, 500);\n }\n }\n }\n if (!this.touch.dragging)\n this.$emit(\"splitter-click\", this.panes[splitterIndex]);\n },\n onSplitterDblClick(event, splitterIndex) {\n let totalMinSizes = 0;\n this.panes = this.panes.map((pane2, i) => {\n pane2.size = i === splitterIndex ? pane2.max : pane2.min;\n if (i !== splitterIndex)\n totalMinSizes += pane2.min;\n return pane2;\n });\n this.panes[splitterIndex].size -= totalMinSizes;\n this.$emit(\"pane-maximize\", this.panes[splitterIndex]);\n },\n onPaneClick(event, paneId) {\n this.$emit(\"pane-click\", this.indexedPanes[paneId]);\n },\n getCurrentMouseDrag(event) {\n const rect = this.container.getBoundingClientRect();\n const { clientX, clientY } = \"ontouchstart\" in window && event.touches ? event.touches[0] : event;\n return {\n x: clientX - rect.left,\n y: clientY - rect.top\n };\n },\n getCurrentDragPercentage(drag) {\n drag = drag[this.horizontal ? \"y\" : \"x\"];\n const containerSize = this.container[this.horizontal ? \"clientHeight\" : \"clientWidth\"];\n if (this.rtl && !this.horizontal)\n drag = containerSize - drag;\n return drag * 100 / containerSize;\n },\n calculatePanesSize(drag) {\n const splitterIndex = this.touch.activeSplitter;\n let sums = {\n prevPanesSize: this.sumPrevPanesSize(splitterIndex),\n nextPanesSize: this.sumNextPanesSize(splitterIndex),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const minDrag = 0 + (this.pushOtherPanes ? 0 : sums.prevPanesSize);\n const maxDrag = 100 - (this.pushOtherPanes ? 0 : sums.nextPanesSize);\n const dragPercentage = Math.max(Math.min(this.getCurrentDragPercentage(drag), maxDrag), minDrag);\n let panesToResize = [splitterIndex, splitterIndex + 1];\n let paneBefore = this.panes[panesToResize[0]] || null;\n let paneAfter = this.panes[panesToResize[1]] || null;\n const paneBeforeMaxReached = paneBefore.max < 100 && dragPercentage >= paneBefore.max + sums.prevPanesSize;\n const paneAfterMaxReached = paneAfter.max < 100 && dragPercentage <= 100 - (paneAfter.max + this.sumNextPanesSize(splitterIndex + 1));\n if (paneBeforeMaxReached || paneAfterMaxReached) {\n if (paneBeforeMaxReached) {\n paneBefore.size = paneBefore.max;\n paneAfter.size = Math.max(100 - paneBefore.max - sums.prevPanesSize - sums.nextPanesSize, 0);\n } else {\n paneBefore.size = Math.max(100 - paneAfter.max - sums.prevPanesSize - this.sumNextPanesSize(splitterIndex + 1), 0);\n paneAfter.size = paneAfter.max;\n }\n return;\n }\n if (this.pushOtherPanes) {\n const vars = this.doPushOtherPanes(sums, dragPercentage);\n if (!vars)\n return;\n ({ sums, panesToResize } = vars);\n paneBefore = this.panes[panesToResize[0]] || null;\n paneAfter = this.panes[panesToResize[1]] || null;\n }\n if (paneBefore !== null) {\n paneBefore.size = Math.min(Math.max(dragPercentage - sums.prevPanesSize - sums.prevReachedMinPanes, paneBefore.min), paneBefore.max);\n }\n if (paneAfter !== null) {\n paneAfter.size = Math.min(Math.max(100 - dragPercentage - sums.nextPanesSize - sums.nextReachedMinPanes, paneAfter.min), paneAfter.max);\n }\n },\n doPushOtherPanes(sums, dragPercentage) {\n const splitterIndex = this.touch.activeSplitter;\n const panesToResize = [splitterIndex, splitterIndex + 1];\n if (dragPercentage < sums.prevPanesSize + this.panes[panesToResize[0]].min) {\n panesToResize[0] = this.findPrevExpandedPane(splitterIndex).index;\n sums.prevReachedMinPanes = 0;\n if (panesToResize[0] < splitterIndex) {\n this.panes.forEach((pane2, i) => {\n if (i > panesToResize[0] && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n }\n sums.prevPanesSize = this.sumPrevPanesSize(panesToResize[0]);\n if (panesToResize[0] === void 0) {\n sums.prevReachedMinPanes = 0;\n this.panes[0].size = this.panes[0].min;\n this.panes.forEach((pane2, i) => {\n if (i > 0 && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[1]].size = 100 - sums.prevReachedMinPanes - this.panes[0].min - sums.prevPanesSize - sums.nextPanesSize;\n return null;\n }\n }\n if (dragPercentage > 100 - sums.nextPanesSize - this.panes[panesToResize[1]].min) {\n panesToResize[1] = this.findNextExpandedPane(splitterIndex).index;\n sums.nextReachedMinPanes = 0;\n if (panesToResize[1] > splitterIndex + 1) {\n this.panes.forEach((pane2, i) => {\n if (i > splitterIndex && i < panesToResize[1]) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n }\n sums.nextPanesSize = this.sumNextPanesSize(panesToResize[1] - 1);\n if (panesToResize[1] === void 0) {\n sums.nextReachedMinPanes = 0;\n this.panes[this.panesCount - 1].size = this.panes[this.panesCount - 1].min;\n this.panes.forEach((pane2, i) => {\n if (i < this.panesCount - 1 && i >= splitterIndex + 1) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[0]].size = 100 - sums.prevPanesSize - sums.nextReachedMinPanes - this.panes[this.panesCount - 1].min - sums.nextPanesSize;\n return null;\n }\n }\n return { sums, panesToResize };\n },\n sumPrevPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i < splitterIndex ? pane2.size : 0), 0);\n },\n sumNextPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i > splitterIndex + 1 ? pane2.size : 0), 0);\n },\n findPrevExpandedPane(splitterIndex) {\n const pane2 = [...this.panes].reverse().find((p) => p.index < splitterIndex && p.size > p.min);\n return pane2 || {};\n },\n findNextExpandedPane(splitterIndex) {\n const pane2 = this.panes.find((p) => p.index > splitterIndex + 1 && p.size > p.min);\n return pane2 || {};\n },\n checkSplitpanesNodes() {\n const children = Array.from(this.container.children);\n children.forEach((child) => {\n const isPane = child.classList.contains(\"splitpanes__pane\");\n const isSplitter = child.classList.contains(\"splitpanes__splitter\");\n if (!isPane && !isSplitter) {\n child.parentNode.removeChild(child);\n console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\");\n return;\n }\n });\n },\n addSplitter(paneIndex, nextPaneNode, isVeryFirst = false) {\n const splitterIndex = paneIndex - 1;\n const elm = document.createElement(\"div\");\n elm.classList.add(\"splitpanes__splitter\");\n if (!isVeryFirst) {\n elm.onmousedown = (event) => this.onMouseDown(event, splitterIndex);\n if (typeof window !== \"undefined\" && \"ontouchstart\" in window) {\n elm.ontouchstart = (event) => this.onMouseDown(event, splitterIndex);\n }\n elm.onclick = (event) => this.onSplitterClick(event, splitterIndex + 1);\n }\n if (this.dblClickSplitter) {\n elm.ondblclick = (event) => this.onSplitterDblClick(event, splitterIndex + 1);\n }\n nextPaneNode.parentNode.insertBefore(elm, nextPaneNode);\n },\n removeSplitter(node) {\n node.onmousedown = void 0;\n node.onclick = void 0;\n node.ondblclick = void 0;\n node.parentNode.removeChild(node);\n },\n redoSplitters() {\n const children = Array.from(this.container.children);\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__splitter\"))\n this.removeSplitter(el);\n });\n let paneIndex = 0;\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__pane\")) {\n if (!paneIndex && this.firstSplitter)\n this.addSplitter(paneIndex, el, true);\n else if (paneIndex)\n this.addSplitter(paneIndex, el);\n paneIndex++;\n }\n });\n },\n requestUpdate(_a) {\n var _b = _a, { target } = _b, args = __objRest(_b, [\"target\"]);\n const pane2 = this.indexedPanes[target._uid];\n Object.entries(args).forEach(([key, value]) => pane2[key] = value);\n },\n onPaneAdd(pane2) {\n let index = -1;\n Array.from(pane2.$el.parentNode.children).some((el) => {\n if (el.className.includes(\"splitpanes__pane\"))\n index++;\n return el === pane2.$el;\n });\n const min = parseFloat(pane2.minSize);\n const max = parseFloat(pane2.maxSize);\n this.panes.splice(index, 0, {\n id: pane2._uid,\n index,\n min: isNaN(min) ? 0 : min,\n max: isNaN(max) ? 100 : max,\n size: pane2.size === null ? null : parseFloat(pane2.size),\n givenSize: pane2.size,\n update: pane2.update\n });\n this.panes.forEach((p, i) => p.index = i);\n if (this.ready) {\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ addedPane: this.panes[index] });\n this.$emit(\"pane-add\", { index, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n }\n },\n onPaneRemove(pane2) {\n const index = this.panes.findIndex((p) => p.id === pane2._uid);\n const removed = this.panes.splice(index, 1)[0];\n this.panes.forEach((p, i) => p.index = i);\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ removedPane: __spreadProps(__spreadValues({}, removed), { index }) });\n this.$emit(\"pane-remove\", { removed, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n },\n resetPaneSizes(changedPanes = {}) {\n if (!changedPanes.addedPane && !changedPanes.removedPane)\n this.initialPanesSizing();\n else if (this.panes.some((pane2) => pane2.givenSize !== null || pane2.min || pane2.max < 100))\n this.equalizeAfterAddOrRemove(changedPanes);\n else\n this.equalize();\n if (this.ready)\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n },\n equalize() {\n const equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n this.panes.forEach((pane2) => {\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n initialPanesSizing() {\n 100 / this.panesCount;\n let leftToAllocate = 100;\n let ungrowable = [];\n let unshrinkable = [];\n let definedSizes = 0;\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size !== null)\n definedSizes++;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n let leftToAllocate2 = 100;\n if (leftToAllocate > 0.1) {\n this.panes.forEach((pane2) => {\n if (pane2.size === null) {\n pane2.size = Math.max(Math.min(leftToAllocate / (this.panesCount - definedSizes), pane2.max), pane2.min);\n }\n leftToAllocate2 -= pane2.size;\n });\n if (leftToAllocate2 > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n }\n },\n equalizeAfterAddOrRemove({ addedPane, removedPane } = {}) {\n let equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n if (addedPane && addedPane.givenSize !== null) {\n equalSpace = (100 - addedPane.givenSize) / (this.panesCount - 1);\n }\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (Math.abs(leftToAllocate) < 0.1)\n return;\n this.panes.forEach((pane2) => {\n if (addedPane && addedPane.givenSize !== null && addedPane.id === pane2.id)\n ;\n else\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n readjustSizes(leftToAllocate, ungrowable, unshrinkable) {\n let equalSpaceToAllocate;\n if (leftToAllocate > 0)\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - ungrowable.length);\n else\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - unshrinkable.length);\n this.panes.forEach((pane2, i) => {\n if (leftToAllocate > 0 && !ungrowable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n } else if (!unshrinkable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n }\n pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n if (Math.abs(leftToAllocate) > 0.1) {\n this.$nextTick(() => {\n if (this.ready) {\n console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n }\n });\n }\n }\n },\n watch: {\n panes: {\n deep: true,\n immediate: false,\n handler() {\n this.updatePaneComponents();\n }\n },\n horizontal() {\n this.updatePaneComponents();\n },\n firstSplitter() {\n this.redoSplitters();\n },\n dblClickSplitter(enable) {\n const splitters = [...this.container.querySelectorAll(\".splitpanes__splitter\")];\n splitters.forEach((splitter, i) => {\n splitter.ondblclick = enable ? (event) => this.onSplitterDblClick(event, i) : void 0;\n });\n }\n },\n beforeDestroy() {\n this.ready = false;\n },\n mounted() {\n this.container = this.$refs.container;\n this.checkSplitpanesNodes();\n this.redoSplitters();\n this.resetPaneSizes();\n this.$emit(\"ready\");\n this.ready = true;\n },\n render(h) {\n return h(\"div\", {\n ref: \"container\",\n class: [\n \"splitpanes\",\n `splitpanes--${this.horizontal ? \"horizontal\" : \"vertical\"}`,\n {\n \"splitpanes--dragging\": this.touch.dragging\n }\n ]\n }, this.$slots.default);\n }\n};\nlet __vue2_render, __vue2_staticRenderFns;\nconst __cssModules$1 = {};\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null);\nfunction __vue2_injectStyles$1(context) {\n for (let o in __cssModules$1) {\n this[o] = __cssModules$1[o];\n }\n}\nvar splitpanes = /* @__PURE__ */ function() {\n return __component__$1.exports;\n}();\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { staticClass: \"splitpanes__pane\", style: _vm.style, on: { \"click\": function($event) {\n return _vm.onPaneClick($event, _vm._uid);\n } } }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nconst __vue2_script = {\n name: \"pane\",\n inject: [\"requestUpdate\", \"onPaneAdd\", \"onPaneRemove\", \"onPaneClick\"],\n props: {\n size: { type: [Number, String], default: null },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n data: () => ({\n style: {}\n }),\n mounted() {\n this.onPaneAdd(this);\n },\n beforeDestroy() {\n this.onPaneRemove(this);\n },\n methods: {\n update(style) {\n this.style = style;\n }\n },\n computed: {\n sizeNumber() {\n return this.size || this.size === 0 ? parseFloat(this.size) : null;\n },\n minSizeNumber() {\n return parseFloat(this.minSize);\n },\n maxSizeNumber() {\n return parseFloat(this.maxSize);\n }\n },\n watch: {\n sizeNumber(size) {\n this.requestUpdate({ target: this, size });\n },\n minSizeNumber(min) {\n this.requestUpdate({ target: this, min });\n },\n maxSizeNumber(max) {\n this.requestUpdate({ target: this, max });\n }\n }\n};\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar pane = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nexport { pane as Pane, splitpanes as Splitpanes };\n","import '../assets/NcAppContent-BO0ksFwD.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, D as t25, a as t } from \"./_l10n-DDKxBWQL.mjs\";\nimport \"../Directives/Tooltip.mjs\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { A as ArrowLeft } from \"./ArrowLeft-DuT2LZOm.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { isRTL } from \"@nextcloud/l10n\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Pane, Splitpanes } from \"splitpanes\";\nimport \"splitpanes/dist/splitpanes.css\";\nregister(t25);\nconst _sfc_main$1 = {\n name: \"NcAppDetailsToggle\",\n directives: {\n tooltip: VTooltip\n },\n components: {\n NcButton,\n ArrowRight,\n ArrowLeft\n },\n setup() {\n return {\n isRTL: isRTL(),\n isMobile: useIsMobile()\n };\n },\n computed: {\n title() {\n return t(\"Go back to the list\");\n }\n },\n watch: {\n isMobile: {\n immediate: true,\n handler() {\n this.toggleAppNavigationButton(this.isMobile);\n }\n }\n },\n beforeDestroy() {\n if (this.isMobile) {\n this.toggleAppNavigationButton(false);\n }\n },\n methods: {\n toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : null;\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcButton\", { directives: [{ name: \"tooltip\", rawName: \"v-tooltip\", value: _vm.title, expression: \"title\" }], staticClass: \"app-details-toggle\", class: { \"app-details-toggle--mobile\": _vm.isMobile }, attrs: { \"type\": \"tertiary\", \"aria-label\": _vm.title }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.isRTL ? _c(\"ArrowLeft\", { attrs: { \"size\": 20 } }) : _c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) });\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"089eb524\"\n);\nconst NcAppDetailsToggle = __component__$1.exports;\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\n /**\n * Allows to disable the control by swipe of the app navigation open state\n * @deprecated will be removed with the next version - use `disableSwipe` instead\n */\n allowSwipeNavigation: {\n type: Boolean,\n default: true\n },\n /**\n * Allows to disable the control by swipe of the app navigation open state.\n */\n disableSwipe: {\n type: Boolean,\n default: false\n },\n /**\n * Allows you to set the default width of the resizable list in % on vertical-split\n * Allows you to set the default height of the resizable list in % on horizontal-split\n * Must be between listMinWidth and listMaxWidth\n */\n listSize: {\n type: Number,\n default: 20\n },\n /**\n * Allows you to set the minimum width of the list column in % on vertical-split\n * Allows you to set the minimum height of the list column in % on horizontal-split\n */\n listMinWidth: {\n type: Number,\n default: 15\n },\n /**\n * Allows you to set the maximum width of the list column in % on vertical-split\n * Allows you to set the maximum height of the list column in % on horizontal-split\n */\n listMaxWidth: {\n type: Number,\n default: 40\n },\n /**\n * Specify the config key for the pane config sizes\n * Default is the global var appName if you use the webpack-vue-config\n */\n paneConfigKey: {\n type: String,\n default: \"\"\n },\n /**\n * When in mobile view, only the list or the details are shown.\n *\n * If you provide a list, you need to provide a variable\n * that will be set to true by the user when an element of\n * the list gets selected. The details will then show a back\n * arrow to return to the list that will update this prop to false.\n */\n showDetails: {\n type: Boolean,\n default: true\n },\n /**\n * Specify the `` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Content layout used when there is a list together with content:\n * - `vertical-split` - a 2-column layout with list and default content separated vertically\n * - `no-split` - a single column layout; List is shown when `showDetails` is `false`, otherwise the default slot content is shown with a back button to return to the list.\n * - 'horizontal-split' - a 2-column layout with list and default content separated horizontally\n * On mobile screen `no-split` layout is forced.\n */\n layout: {\n type: String,\n default: \"vertical-split\",\n validator(value) {\n return [\"no-split\", \"vertical-split\", \"horizontal-split\"].includes(value);\n }\n }\n },\n emits: [\n \"update:showDetails\",\n \"resize:list\"\n ],\n setup() {\n return {\n isMobile: useIsMobile(),\n isRTL: isRTL()\n };\n },\n data() {\n return {\n contentHeight: 0,\n hasList: false,\n hasContent: false,\n swiping: {},\n listPaneSize: this.restorePaneConfig()\n };\n },\n computed: {\n paneConfigID() {\n if (this.paneConfigKey !== \"\") {\n return `pane-list-size-${this.paneConfigKey}`;\n }\n try {\n return `pane-list-size-${appName}`;\n } catch (e) {\n console.info(\"[INFO] AppContent:\", \"falling back to global nextcloud pane config\");\n return \"pane-list-size-nextcloud\";\n }\n },\n detailsPaneSize() {\n if (this.listPaneSize) {\n return 100 - this.listPaneSize;\n }\n return this.paneDefaults.details.size;\n },\n paneDefaults() {\n return {\n list: {\n size: this.listSize,\n min: this.listMinWidth,\n max: this.listMaxWidth\n },\n // set the inverse values of the details column\n // based on the provided (or default) values of the list column\n details: {\n size: 100 - this.listSize,\n min: 100 - this.listMaxWidth,\n max: 100 - this.listMinWidth\n }\n };\n }\n },\n updated() {\n this.checkSlots();\n },\n mounted() {\n if (this.allowSwipeNavigation && !this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\n this.checkSlots();\n this.restorePaneConfig();\n },\n methods: {\n /**\n * handle the swipe event\n *\n * @param {TouchEvent} e The touch event\n * @param {import('@vueuse/core').SwipeDirection} direction The swipe direction of the event\n */\n handleSwipe(e, direction) {\n const minSwipeX = 70;\n const touchZone = 300;\n if (Math.abs(this.swiping.lengthX) > minSwipeX) {\n if (this.swiping.coordsStart.x < touchZone / 2 && direction === \"right\") {\n emit(\"toggle-navigation\", {\n open: true\n });\n } else if (this.swiping.coordsStart.x < touchZone * 1.5 && direction === \"left\") {\n emit(\"toggle-navigation\", {\n open: false\n });\n }\n }\n },\n handlePaneResize(event) {\n const listPaneSize = parseInt(event[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resize:list\", { size: listPaneSize });\n console.debug(\"AppContent pane config\", listPaneSize);\n },\n // $slots is not reactive, we need to update this manually\n checkSlots() {\n this.hasList = !!this.$scopedSlots.list;\n this.hasContent = !!this.$scopedSlots.default;\n },\n // browserStorage is not reactive, we need to update this manually\n restorePaneConfig() {\n const listPaneSize = parseInt(browserStorage.getItem(this.paneConfigID), 10);\n if (!isNaN(listPaneSize) && listPaneSize !== this.listPaneSize) {\n console.debug(\"AppContent pane config\", listPaneSize);\n this.listPaneSize = listPaneSize;\n return listPaneSize;\n }\n },\n /**\n * The user clicked the back arrow from the details view\n */\n hideDetails() {\n this.$emit(\"update:showDetails\", false);\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"main\", { staticClass: \"app-content no-snapper\", class: { \"app-content--has-list\": _vm.hasList }, attrs: { \"id\": \"app-content-vue\" } }, [_vm.pageHeading ? _c(\"h1\", { staticClass: \"hidden-visually\" }, [_vm._v(\" \" + _vm._s(_vm.pageHeading) + \" \")]) : _vm._e(), _vm.hasList ? [_vm.isMobile || _vm.layout === \"no-split\" ? _c(\"div\", { staticClass: \"app-content-wrapper app-content-wrapper--no-split\", class: {\n \"app-content-wrapper--show-details\": _vm.showDetails,\n \"app-content-wrapper--show-list\": !_vm.showDetails,\n \"app-content-wrapper--mobile\": _vm.isMobile\n } }, [_vm.showDetails ? _c(\"NcAppDetailsToggle\", { nativeOn: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.hideDetails.apply(null, arguments);\n } } }) : _vm._e(), !_vm.showDetails ? _vm._t(\"list\") : _vm._t(\"default\")], 2) : _vm.layout === \"vertical-split\" || _vm.layout === \"horizontal-split\" ? _c(\"div\", { staticClass: \"app-content-wrapper\" }, [_c(\"Splitpanes\", { staticClass: \"default-theme\", class: {\n \"splitpanes--horizontal\": _vm.layout === \"horizontal-split\",\n \"splitpanes--vertical\": _vm.layout === \"vertical-split\"\n }, attrs: { \"horizontal\": _vm.layout === \"horizontal-split\", \"rtl\": _vm.isRTL }, on: { \"resized\": _vm.handlePaneResize } }, [_c(\"Pane\", { staticClass: \"splitpanes__pane-list\", attrs: { \"size\": _vm.listPaneSize || _vm.paneDefaults.list.size, \"min-size\": _vm.paneDefaults.list.min, \"max-size\": _vm.paneDefaults.list.max } }, [_vm._t(\"list\")], 2), _c(\"Pane\", { staticClass: \"splitpanes__pane-details\", attrs: { \"size\": _vm.detailsPaneSize, \"min-size\": _vm.paneDefaults.details.min, \"max-size\": _vm.paneDefaults.details.max } }, [_vm._t(\"default\")], 2)], 1)], 1) : _vm._e()] : _vm._e(), !_vm.hasList ? _vm._t(\"default\") : _vm._e()], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"79779e34\"\n);\nconst NcAppContent = __component__.exports;\nexport {\n NcAppContent as N\n};\n","var $placeholder = Symbol();\n\nvar $fakeParent = Symbol();\n\nvar $nextSiblingPatched = Symbol();\n\nvar $childNodesPatched = Symbol();\n\nvar isFrag = function isFrag(node) {\n return \"frag\" in node;\n};\n\nvar parentNodeDescriptor = {\n get: function get() {\n return this[$fakeParent] || this.parentElement;\n },\n configurable: true\n};\n\nvar patchParentNode = function patchParentNode(node, fakeParent) {\n if ($fakeParent in node) {\n return;\n }\n node[$fakeParent] = fakeParent;\n Object.defineProperty(node, \"parentNode\", parentNodeDescriptor);\n};\n\nvar nextSiblingDescriptor = {\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n var index = childNodes.indexOf(this);\n if (index > -1) {\n return childNodes[index + 1] || null;\n }\n return null;\n }\n};\n\nvar patchNextSibling = function patchNextSibling(node) {\n if ($nextSiblingPatched in node) {\n return;\n }\n node[$nextSiblingPatched] = true;\n Object.defineProperty(node, \"nextSibling\", nextSiblingDescriptor);\n};\n\nvar getTopFragment = function getTopFragment(node, fromParent) {\n while (node.parentNode !== fromParent) {\n var _node = node, parentNode = _node.parentNode;\n if (parentNode) {\n node = parentNode;\n }\n }\n return node;\n};\n\nvar getChildNodes;\n\nvar getChildNodesWithFragments = function getChildNodesWithFragments(node) {\n if (!getChildNodes) {\n var _childNodesDescriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"childNodes\");\n getChildNodes = _childNodesDescriptor.get;\n }\n var realChildNodes = getChildNodes.apply(node);\n var childNodes = Array.from(realChildNodes).map((function(childNode) {\n return getTopFragment(childNode, node);\n }));\n return childNodes.filter((function(childNode, index) {\n return childNode !== childNodes[index - 1];\n }));\n};\n\nvar childNodesDescriptor = {\n get: function get() {\n return this.frag || getChildNodesWithFragments(this);\n }\n};\n\nvar firstChildDescriptor = {\n get: function get() {\n return this.childNodes[0] || null;\n }\n};\n\nfunction hasChildNodes() {\n return this.childNodes.length > 0;\n}\n\nvar patchChildNodes = function patchChildNodes(node) {\n if ($childNodesPatched in node) {\n return;\n }\n node[$childNodesPatched] = true;\n Object.defineProperties(node, {\n childNodes: childNodesDescriptor,\n firstChild: firstChildDescriptor\n });\n node.hasChildNodes = hasChildNodes;\n};\n\nfunction before() {\n var _this$frag$;\n (_this$frag$ = this.frag[0]).before.apply(_this$frag$, arguments);\n}\n\nfunction remove() {\n var frag = this.frag;\n var removed = frag.splice(0, frag.length);\n removed.forEach((function(node) {\n node.remove();\n }));\n}\n\nvar getFragmentLeafNodes = function getFragmentLeafNodes(children) {\n var _Array$prototype;\n return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, children.map((function(childNode) {\n return isFrag(childNode) ? getFragmentLeafNodes(childNode.frag) : childNode;\n })));\n};\n\nvar addPlaceholder = function addPlaceholder(node, insertBeforeNode) {\n var placeholder = node[$placeholder];\n insertBeforeNode.before(placeholder);\n patchParentNode(placeholder, node);\n node.frag.unshift(placeholder);\n};\n\nfunction removeChild(node) {\n if (isFrag(this)) {\n var hasChildInFragment = this.frag.indexOf(node);\n if (hasChildInFragment > -1) {\n var _this$frag$splice = this.frag.splice(hasChildInFragment, 1), removedNode = _this$frag$splice[0];\n if (this.frag.length === 0) {\n addPlaceholder(this, removedNode);\n }\n node.remove();\n }\n } else {\n var children = getChildNodesWithFragments(this);\n var hasChild = children.indexOf(node);\n if (hasChild > -1) {\n node.remove();\n }\n }\n return node;\n}\n\nfunction insertBefore(insertNode, insertBeforeNode) {\n var _this = this;\n var insertNodes = insertNode.frag || [ insertNode ];\n if (isFrag(this)) {\n if (insertNode[$fakeParent] === this && insertNode.parentElement) {\n return insertNode;\n }\n var _frag = this.frag;\n if (insertBeforeNode) {\n var index = _frag.indexOf(insertBeforeNode);\n if (index > -1) {\n _frag.splice.apply(_frag, [ index, 0 ].concat(insertNodes));\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n var _lastNode = _frag[_frag.length - 1];\n _frag.push.apply(_frag, insertNodes);\n _lastNode.after.apply(_lastNode, insertNodes);\n }\n removePlaceholder(this);\n } else if (insertBeforeNode) {\n if (this.childNodes.includes(insertBeforeNode)) {\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n this.append.apply(this, insertNodes);\n }\n insertNodes.forEach((function(node) {\n patchParentNode(node, _this);\n }));\n var lastNode = insertNodes[insertNodes.length - 1];\n patchNextSibling(lastNode);\n return insertNode;\n}\n\nfunction appendChild(node) {\n if (node[$fakeParent] === this && node.parentElement) {\n return node;\n }\n var frag = this.frag;\n var lastChild = frag[frag.length - 1];\n lastChild.after(node);\n patchParentNode(node, this);\n removePlaceholder(this);\n frag.push(node);\n return node;\n}\n\nvar removePlaceholder = function removePlaceholder(node) {\n var placeholder = node[$placeholder];\n if (node.frag[0] === placeholder) {\n node.frag.shift();\n placeholder.remove();\n }\n};\n\nvar innerHTMLDescriptor = {\n set: function set(htmlString) {\n var _this2 = this;\n if (this.frag[0] !== this[$placeholder]) {\n this.frag.slice().forEach((function(child) {\n return _this2.removeChild(child);\n }));\n }\n if (htmlString) {\n var domify = document.createElement(\"div\");\n domify.innerHTML = htmlString;\n Array.from(domify.childNodes).forEach((function(node) {\n _this2.appendChild(node);\n }));\n }\n },\n get: function get() {\n return \"\";\n }\n};\n\nvar frag = {\n inserted: function inserted(element) {\n var parentNode = element.parentNode, nextSibling = element.nextSibling, previousSibling = element.previousSibling;\n var childNodes = Array.from(element.childNodes);\n var placeholder = document.createComment(\"\");\n if (childNodes.length === 0) {\n childNodes.push(placeholder);\n }\n element.frag = childNodes;\n element[$placeholder] = placeholder;\n var fragment = document.createDocumentFragment();\n fragment.append.apply(fragment, getFragmentLeafNodes(childNodes));\n element.replaceWith(fragment);\n childNodes.forEach((function(node) {\n patchParentNode(node, element);\n patchNextSibling(node);\n }));\n patchChildNodes(element);\n Object.assign(element, {\n remove: remove,\n appendChild: appendChild,\n insertBefore: insertBefore,\n removeChild: removeChild,\n before: before\n });\n Object.defineProperty(element, \"innerHTML\", innerHTMLDescriptor);\n if (parentNode) {\n Object.assign(parentNode, {\n removeChild: removeChild,\n insertBefore: insertBefore\n });\n patchParentNode(element, parentNode);\n patchChildNodes(parentNode);\n }\n if (nextSibling) {\n patchNextSibling(element);\n }\n if (previousSibling) {\n patchNextSibling(previousSibling);\n }\n },\n unbind: function unbind(element) {\n element.remove();\n }\n};\n\nvar fragment = {\n name: \"Fragment\",\n directives: {\n frag: frag\n },\n render: function render(h) {\n return h(\"div\", {\n directives: [ {\n name: \"frag\"\n } ]\n }, this.$slots[\"default\"]);\n }\n};\n\nexport { fragment as Fragment, frag as default };\n","\n\n\n\t\n\t\t\n\t\t\t{{ dateText }}\n\t\t
\n\t\t\n\t\n\n\n\n\n\n","export default \"\"","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\nimport { getCurrentInstance, effectScope, shallowReactive, onUnmounted, computed, unref } from 'vue';\n\n// dev only warn if no current instance\n\nfunction throwNoCurrentInstance (method) {\n if (!getCurrentInstance()) {\n throw new Error(\n (\"[vue-router]: Missing current instance. \" + method + \"() must be called inside \n\n\n","import { onKeyStroke } from \"@vueuse/core\";\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst isMac = /mac|ipad|iphone|darwin/i.test(navigator.userAgent);\nfunction shouldIgnoreEvent(event) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement || event.target instanceof HTMLSelectElement || event.target?.isContentEditable) {\n return true;\n }\n return document.getElementsByClassName(\"modal-mask\").length !== 0;\n}\nconst eventHandler = (callback, options) => (event) => {\n const ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey;\n if (ctrlKeyPressed !== Boolean(options.ctrl)) {\n return;\n } else if (event.altKey !== Boolean(options.alt)) {\n return;\n } else if (options.shift !== void 0 && event.shiftKey !== Boolean(options.shift)) {\n return;\n } else if (shouldIgnoreEvent(event)) {\n return;\n }\n if (options.prevent) {\n event.preventDefault();\n }\n if (options.stop) {\n event.stopPropagation();\n }\n callback(event);\n};\nfunction useHotKey(keysOrFilter, callback = () => {\n}, options = {}) {\n if (disableKeyboardShortcuts) {\n return () => {\n };\n }\n const validateKeyEvent = (event, key) => {\n if (options.caseSensitive) {\n return event.key === key;\n }\n return event.key.toLowerCase() === key.toLowerCase();\n };\n const keyFilter = (event) => {\n if (typeof keysOrFilter === \"function\") {\n return keysOrFilter(event);\n } else if (typeof keysOrFilter === \"string\") {\n return validateKeyEvent(event, keysOrFilter);\n } else if (Array.isArray(keysOrFilter)) {\n return keysOrFilter.some((key) => validateKeyEvent(event, key));\n } else {\n return true;\n }\n };\n const stopKeyDown = onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keydown\",\n dedupe: true,\n passive: !options.prevent\n });\n const stopKeyUp = options.push ? onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keyup\",\n passive: !options.prevent\n }) : () => {\n };\n return () => {\n stopKeyDown();\n stopKeyUp();\n };\n}\nexport {\n useHotKey\n};\n","import '../assets/NcAppNavigationList-DnKj0-Zq.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"ul\", { staticClass: \"app-navigation-list\" }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"058e6060\"\n);\nconst NcAppNavigationList = __component__.exports;\nexport {\n NcAppNavigationList as default\n};\n","import '../assets/NcAppNavigationToggle-B6FCDJp7.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, C as t18, a as t } from \"./_l10n-DDKxBWQL.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t18);\nconst _sfc_main$2 = {\n name: \"MenuIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon menu-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst MenuIcon = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"MenuOpenIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon menu-open-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst MenuOpenIcon = __component__$1.exports;\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst _sfc_main = {\n name: \"NcAppNavigationToggle\",\n components: {\n NcButton,\n MenuIcon,\n MenuOpenIcon\n },\n props: {\n /**\n * Tracks whether the toggle has been clicked or not.\n * If it has been clicked, switches between the different MenuIcons\n * and emits a boolean indicating its opened status\n */\n open: {\n type: Boolean,\n required: true\n }\n },\n emits: [\"update:open\"],\n setup() {\n return { disableKeyboardShortcuts };\n },\n computed: {\n label() {\n return this.open ? t(\"Close navigation\") : t(\"Open navigation {shortcut}\", { shortcut: disableKeyboardShortcuts ? \"\" : \"[n]\" }).trim();\n }\n },\n methods: {\n /**\n * Once the toggle has been clicked, emits the toggle status\n * so parent components can gauge the status of the navigation button\n */\n toggleNavigation() {\n this.$emit(\"update:open\", !this.open);\n }\n }\n};\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-toggle-wrapper\" }, [_c(\"NcButton\", { staticClass: \"app-navigation-toggle\", attrs: { \"type\": \"tertiary\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-label\": _vm.label, \"title\": _vm.label, \"aria-controls\": \"app-navigation-vue\", \"aria-keyshortcuts\": _vm.disableKeyboardShortcuts ? \"\" : \"n\" }, on: { \"click\": _vm.toggleNavigation }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"MenuOpenIcon\", { attrs: { \"size\": 20 } }) : _c(\"MenuIcon\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"87a1d6fa\"\n);\nconst NcAppNavigationToggle = __component__.exports;\nexport {\n NcAppNavigationToggle as N\n};\n","import '../assets/NcAppNavigation-CJj8AvqM.css';\nimport { createFocusTrap } from \"focus-trap\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { tabbable } from \"tabbable\";\nimport Vue from \"vue\";\nimport { g as getTrapStack } from \"./focusTrap-Cecv_gjR.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { useHotKey } from \"../Composables/useHotKey.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport NcAppNavigationList from \"../Components/NcAppNavigationList.mjs\";\nimport { N as NcAppNavigationToggle } from \"./NcAppNavigationToggle-Pr8bEpDs.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigation\",\n components: {\n NcAppNavigationList,\n NcAppNavigationToggle\n },\n // Injected from NcContent\n inject: {\n setHasAppNavigation: {\n default: () => () => Vue.util.warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n from: \"NcContent:setHasAppNavigation\"\n }\n },\n props: {\n /**\n * The aria label to describe the navigation\n */\n ariaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * aria-labelledby attribute to describe the navigation\n */\n ariaLabelledby: {\n type: String,\n default: \"\"\n }\n },\n setup() {\n return {\n isMobile: useIsMobile()\n };\n },\n data() {\n return {\n open: !this.isMobile,\n focusTrap: null\n };\n },\n watch: {\n isMobile() {\n this.open = !this.isMobile;\n this.toggleFocusTrap();\n },\n open() {\n this.toggleFocusTrap();\n }\n },\n mounted() {\n this.setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", this.toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: this.open\n });\n this.focusTrap = createFocusTrap(this.$refs.appNavigationContainer, {\n allowOutsideClick: true,\n fallbackFocus: this.$refs.appNavigationContainer,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n this.toggleFocusTrap();\n useHotKey(\"n\", this.onKeyDown, {\n prevent: true,\n stop: true\n });\n },\n unmounted() {\n this.setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", this.toggleNavigationByEventBus);\n this.focusTrap.deactivate();\n },\n methods: {\n /**\n * Toggle the navigation\n *\n * @param {boolean} [state] set the state instead of inverting the current one\n */\n async toggleNavigation(state) {\n if (this.open === state) {\n emit(\"navigation-toggled\", {\n open: this.open\n });\n return;\n }\n this.open = typeof state === \"undefined\" ? !this.open : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n if (this.open) {\n await this.$nextTick();\n this.focusFirstElement();\n }\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: this.open\n });\n }, 1.5 * animationLength);\n },\n toggleNavigationByEventBus({ open }) {\n this.toggleNavigation(open);\n },\n /**\n * Activate focus trap if it is currently needed, otherwise deactivate\n */\n toggleFocusTrap() {\n if (this.isMobile && this.open) {\n this.focusTrap.activate();\n } else {\n this.focusTrap.deactivate();\n }\n },\n handleEsc() {\n if (this.isMobile && this.open) {\n this.toggleNavigation(false);\n }\n },\n focusFirstElement() {\n const element = tabbable(this.$refs.appNavigationContainer)[0];\n if (element) {\n element.focus();\n logger.debug(\"Focusing first element in the navigation\", { element });\n }\n },\n onKeyDown(event) {\n if (event.key === \"n\") {\n if (!this.open) {\n this.toggleNavigation(true);\n return;\n }\n if (this.isFocusWithinNavigation()) {\n this.toggleNavigation(false);\n }\n }\n },\n isFocusWithinNavigation() {\n const activeElement = document.activeElement;\n return this.$refs.appNavigationContainer.contains(activeElement);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"appNavigationContainer\", staticClass: \"app-navigation\", class: { \"app-navigation--close\": !_vm.open } }, [_c(\"nav\", { staticClass: \"app-navigation__content\", attrs: { \"id\": \"app-navigation-vue\", \"aria-hidden\": _vm.open ? \"false\" : \"true\", \"aria-label\": _vm.ariaLabel || void 0, \"aria-labelledby\": _vm.ariaLabelledby || void 0, \"inert\": !_vm.open || void 0 }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n return _vm.handleEsc.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation__search\" }, [_vm._t(\"search\")], 2), _c(\"div\", { staticClass: \"app-navigation__body\", class: { \"app-navigation__body--no-list\": !_vm.$scopedSlots.list } }, [_vm._t(\"default\")], 2), _vm.$scopedSlots.list ? _c(\"NcAppNavigationList\", { staticClass: \"app-navigation__list\" }, [_vm._t(\"list\")], 2) : _vm._e(), _vm._t(\"footer\")], 2), _c(\"NcAppNavigationToggle\", { attrs: { \"open\": _vm.open }, on: { \"update:open\": _vm.toggleNavigation } })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"1329aac9\"\n);\nconst NcAppNavigation = __component__.exports;\nexport {\n NcAppNavigation as N\n};\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcVNodes\",\n props: {\n /**\n * The vnodes to render\n */\n vnodes: {\n type: [Array, Object],\n default: null\n }\n },\n /**\n * The render function to display the component\n *\n * @param {Function} h The function to create VNodes\n * @return {object} The created VNode\n */\n render(h) {\n return this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.();\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcVNodes = __component__.exports;\nexport {\n NcVNodes as default\n};\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ChevronUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon chevron-up-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst ChevronUp = __component__.exports;\nexport {\n ChevronUp as C\n};\n","import '../assets/NcInputConfirmCancel-EYtW7MxF.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, o as t12, a as t } from \"./_l10n-DDKxBWQL.mjs\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t12);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n NcButton,\n ArrowRight,\n Close\n },\n props: {\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n default: false,\n type: Boolean\n },\n placeholder: {\n default: \"\",\n type: String\n },\n value: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"input\",\n \"confirm\",\n \"cancel\"\n ],\n data() {\n return {\n labelConfirm: t(\"Confirm changes\"),\n labelCancel: t(\"Cancel changes\")\n };\n },\n computed: {\n valueModel: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit(\"input\", newValue);\n }\n }\n },\n methods: {\n confirm() {\n this.$emit(\"confirm\");\n },\n cancel() {\n this.$emit(\"cancel\");\n },\n focusInput() {\n this.$refs.input.focus();\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-input-confirm\" }, [_c(\"form\", { on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n }, \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.valueModel, expression: \"valueModel\" }], ref: \"input\", staticClass: \"app-navigation-input-confirm__input\", attrs: { \"type\": \"text\", \"placeholder\": _vm.placeholder }, domProps: { \"value\": _vm.valueModel }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.valueModel = $event.target.value;\n } } }), _c(\"NcButton\", { attrs: { \"native-type\": \"submit\", \"type\": \"primary\", \"aria-label\": _vm.labelConfirm }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) }), _c(\"NcButton\", { attrs: { \"native-type\": \"reset\", \"type\": _vm.primary ? \"primary\" : \"tertiary\", \"aria-label\": _vm.labelCancel }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0e795eb7\"\n);\nconst NcInputConfirmCancel = __component__.exports;\nexport {\n NcInputConfirmCancel as N\n};\n","import '../assets/NcAppNavigationItem-lh9Say1M.css';\nimport { N as NcActions } from \"./NcActions-D3hGxwlc.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-CEysTg4c.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, K as t19, a as t, d as t47, L as t20 } from \"./_l10n-DDKxBWQL.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-DFQfzh63.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-C7Dy9Bph.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-C7a7Nha7.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nregister(t19);\nconst _sfc_main$3 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n props: {\n open: {\n type: Boolean,\n default: true\n }\n },\n emits: [\"click\"],\n computed: {\n labelButton() {\n return this.open ? t(\"Collapse menu\") : t(\"Open menu\");\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nvar _sfc_render$3 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcButton\", { staticClass: \"icon-collapse\", class: { \"icon-collapse--open\": _vm.open }, attrs: { \"type\": \"tertiary\", \"aria-label\": _vm.labelButton }, on: { \"click\": _vm.onClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"ChevronUp\", { attrs: { \"size\": 20 } }) : _c(\"ChevronDown\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) });\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n \"f65a0daf\"\n);\nconst NcAppNavigationIconCollapsible = __component__$3.exports;\nregister(t20, t47);\nconst _sfc_main$2 = {\n name: \"PencilIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon pencil-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst Pencil = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"UndoIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon undo-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Undo = __component__$1.exports;\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes,\n Pencil,\n Undo\n },\n props: {\n /**\n * If you are not using vue-router you can use the property to set this item as the active navigation entry.\n * When using vue-router and the `to` property this is set automatically.\n */\n active: {\n type: Boolean,\n default: false\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * id attribute of the list item element\n */\n id: {\n type: String,\n default: () => \"app-navigation-item-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Passing in a route will make the root element of this\n * component a `` that points to that route.\n * By leaving this blank, the root element will be a `
`.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * A direct link. This will be used as the `href` attribute.\n * This will ignore any `to` prop being defined.\n */\n href: {\n type: String,\n default: null\n },\n /**\n * Pass in `true` if you want the matching behaviour to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * Gives the possibility to collapse the children elements into the\n * parent element (true) or expands the children elements (false).\n */\n allowCollapse: {\n type: Boolean,\n default: false\n },\n /**\n * Makes the name of the item editable by providing an `ActionButton`\n * component that toggles a form\n */\n editable: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Only for items in 'editable' mode, sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n },\n /**\n * Pins the item to the bottom left area, above the settings. Do not\n * place 'non-pinned' `AppnavigationItem` components below `pinned`\n * ones.\n */\n pinned: {\n type: Boolean,\n default: false\n },\n /**\n * Puts the item in the 'undo' state.\n */\n undo: {\n type: Boolean,\n default: false\n },\n /**\n * The navigation collapsible state (synced)\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * The actions menu open state (synced)\n */\n menuOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The action's menu default icon\n */\n menuIcon: {\n type: String,\n default: void 0\n },\n /**\n * The action's menu direction\n */\n menuPlacement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * Entry aria details\n */\n ariaDescription: {\n type: String,\n default: null\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Number of action items outside the menu\n */\n inlineActions: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"update:menuOpen\",\n \"update:open\",\n \"update:name\",\n \"click\",\n \"undo\"\n ],\n setup() {\n return {\n isMobile: useIsMobile()\n };\n },\n data() {\n return {\n editingValue: \"\",\n opened: this.open,\n // Collapsible state\n editingActive: false,\n /**\n * Tracks the open state of the actions menu\n */\n menuOpenLocalValue: false,\n focused: false,\n actionsBoundariesElement: void 0\n };\n },\n computed: {\n isRouterLink() {\n return this.to && !this.href;\n },\n // Checks if the component is already a children of another\n // instance of AppNavigationItem\n canHaveChildren() {\n if (this.$parent.$options._componentTag === \"AppNavigationItem\") {\n return false;\n } else {\n return true;\n }\n },\n hasUtils() {\n if (this.$scopedSlots.actions || this.$scopedSlots.counter || this.editable || this.undo) {\n return true;\n }\n return false;\n },\n editButtonAriaLabel() {\n return this.editLabel ? this.editLabel : t(\"Edit item\");\n },\n undoButtonAriaLabel() {\n return t(\"Undo changes\");\n }\n },\n watch: {\n open(newVal) {\n this.opened = newVal;\n }\n },\n mounted() {\n this.actionsBoundariesElement = document.querySelector(\"#content-vue\") || void 0;\n },\n methods: {\n // sync opened menu state with prop\n onMenuToggle(state) {\n this.$emit(\"update:menuOpen\", state);\n this.menuOpenLocalValue = state;\n },\n // toggle the collapsible state\n toggleCollapse() {\n this.opened = !this.opened;\n this.$emit(\"update:open\", this.opened);\n },\n /**\n * Handle link click\n *\n * @param {PointerEvent} event - Native click event\n * @param {Function} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n // Edition methods\n handleEdit() {\n this.editingValue = this.name;\n this.editingActive = true;\n this.onMenuToggle(false);\n this.$nextTick(() => {\n this.$refs.editingInput.focusInput();\n });\n },\n cancelEditing() {\n this.editingActive = false;\n },\n handleEditingDone() {\n this.$emit(\"update:name\", this.editingValue);\n this.editingValue = \"\";\n this.editingActive = false;\n },\n // Undo methods\n handleUndo() {\n this.$emit(\"undo\");\n },\n /**\n * Does this item have children and is collapsing allowed via the prop?\n *\n * @return {boolean} True, if the item can be collapsed\n */\n isCollapsible() {\n return this.allowCollapse && !!this.$scopedSlots.default;\n },\n /**\n * Show actions upon focus\n */\n handleFocus() {\n this.focused = true;\n },\n handleBlur() {\n this.focused = false;\n },\n /**\n * This method checks if the root element of the component is focused and\n * if that's the case it focuses the actions button if available\n *\n * @param {Event} e the keydown event\n */\n handleTab(e) {\n if (!this.$refs.actions) {\n return;\n }\n if (this.focused) {\n e.preventDefault();\n this.$refs.actions.$refs.triggerButton.$el.focus();\n this.focused = false;\n } else {\n this.$refs.actions.$refs.triggerButton.$el.blur();\n }\n },\n /**\n * Is this an external link\n *\n * @param {string} href The link to check\n * @return {boolean} Whether it is external or not\n */\n isExternal(href) {\n return href && href.match(/[a-z]+:\\/\\//i);\n }\n }\n};\nvar _sfc_render = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"app-navigation-entry-wrapper\", class: {\n \"app-navigation-entry--opened\": _vm.opened,\n \"app-navigation-entry--pinned\": _vm.pinned,\n \"app-navigation-entry--collapsible\": _vm.isCollapsible()\n }, attrs: { \"id\": _vm.id } }, [_c(_vm.isRouterLink ? \"router-link\" : \"NcVNodes\", { tag: \"component\", attrs: { \"custom\": _vm.isRouterLink ? true : false, \"to\": _vm.to, \"exact\": _vm.isRouterLink ? _vm.exact : null }, scopedSlots: _vm._u([{ key: \"default\", fn: function({ href: routerLinkHref, navigate, isActive }) {\n return [_c(\"div\", { staticClass: \"app-navigation-entry\", class: {\n \"app-navigation-entry--editing\": _vm.editingActive,\n \"app-navigation-entry--deleted\": _vm.undo,\n \"active\": isActive && _vm.to || _vm.active\n } }, [!_vm.undo ? _c(\"a\", { staticClass: \"app-navigation-entry-link\", attrs: { \"aria-current\": _vm.active || isActive && _vm.to ? \"page\" : void 0, \"aria-description\": _vm.ariaDescription, \"aria-expanded\": _vm.$scopedSlots.default ? _vm.opened.toString() : void 0, \"href\": _vm.href || routerLinkHref || \"#\", \"target\": _vm.isExternal(_vm.href) ? \"_blank\" : void 0, \"title\": _vm.title || _vm.name }, on: { \"blur\": _vm.handleBlur, \"click\": function($event) {\n return _vm.onClick($event, navigate, routerLinkHref);\n }, \"focus\": _vm.handleFocus, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n return _vm.handleTab.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation-entry-icon\", class: { [_vm.icon]: _vm.icon } }, [_vm.loading ? _c(\"NcLoadingIcon\") : _vm._t(\"icon\")], 2), !_vm.editingActive ? _c(\"span\", { staticClass: \"app-navigation-entry__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.editingActive ? _c(\"div\", { staticClass: \"editingContainer\" }, [_c(\"NcInputConfirmCancel\", { ref: \"editingInput\", attrs: { \"placeholder\": _vm.editPlaceholder !== \"\" ? _vm.editPlaceholder : _vm.name, \"primary\": isActive && _vm.to || _vm.active }, on: { \"cancel\": _vm.cancelEditing, \"confirm\": _vm.handleEditingDone }, model: { value: _vm.editingValue, callback: function($$v) {\n _vm.editingValue = $$v;\n }, expression: \"editingValue\" } })], 1) : _vm._e()]) : _vm._e(), _vm.undo ? _c(\"div\", { staticClass: \"app-navigation-entry__deleted\" }, [_c(\"div\", { staticClass: \"app-navigation-entry__deleted-description\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")])]) : _vm._e(), _vm.hasUtils && !_vm.editingActive ? _c(\"div\", { staticClass: \"app-navigation-entry__utils\", class: { \"app-navigation-entry__utils--display-actions\": _vm.forceDisplayActions || _vm.menuOpenLocalValue || _vm.menuOpen } }, [_vm.$scopedSlots.counter ? _c(\"div\", { staticClass: \"app-navigation-entry__counter-wrapper\" }, [_vm._t(\"counter\")], 2) : _vm._e(), _vm.$scopedSlots.actions || _vm.editable && !_vm.editingActive || _vm.undo ? _c(\"NcActions\", { ref: \"actions\", staticClass: \"app-navigation-entry__actions\", attrs: { \"inline\": _vm.inlineActions, \"container\": \"#app-navigation-vue\", \"boundaries-element\": _vm.actionsBoundariesElement, \"placement\": _vm.menuPlacement, \"open\": _vm.menuOpen, \"type\": isActive && _vm.to || _vm.active ? \"primary\" : null, \"force-menu\": _vm.forceMenu, \"default-icon\": _vm.menuIcon }, on: { \"update:open\": _vm.onMenuToggle }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"menu-icon\")];\n }, proxy: true }], null, true) }, [_vm.editable && !_vm.editingActive ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.editButtonAriaLabel }, on: { \"click\": _vm.handleEdit }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Pencil\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.editLabel) + \" \")]) : _vm._e(), _vm.undo ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.undoButtonAriaLabel }, on: { \"click\": _vm.handleUndo }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Undo\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }) : _vm._e(), _vm._t(\"actions\")], 2) : _vm._e()], 1) : _vm._e(), _vm.isCollapsible() ? _c(\"NcAppNavigationIconCollapsible\", { attrs: { \"open\": _vm.opened }, on: { \"click\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.toggleCollapse.apply(null, arguments);\n } } }) : _vm._e(), _vm._t(\"extra\")], 2)];\n } }], null, true) }), _vm.canHaveChildren && _vm.$scopedSlots.default ? _c(\"ul\", { staticClass: \"app-navigation-entry__children\" }, [_vm._t(\"default\")], 2) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"54906a49\"\n);\nconst NcAppNavigationItem = __component__.exports;\nexport {\n NcAppNavigationItem as N\n};\n","const clickOutsideOptions = {\n props: {\n /**\n * A query-selector or an array of query-selectors\n * to be ignored when clicking outside an element\n */\n excludeClickOutsideSelectors: {\n type: [String, Array],\n default: () => []\n }\n },\n computed: {\n clickOutsideOptions() {\n const excludedQuerySelectors = Array.isArray(this.excludeClickOutsideSelectors) ? this.excludeClickOutsideSelectors : [this.excludeClickOutsideSelectors];\n return { ignore: excludedQuerySelectors };\n }\n }\n};\nexport {\n clickOutsideOptions as default\n};\n","import '../assets/NcMentionBubble-BL05HUeF.css';\nimport '../assets/NcAppNavigationSettings-vd47rlNY.css';\nimport { r as register, v as t43, a as t } from \"./_l10n-DDKxBWQL.mjs\";\nimport clickOutsideOptions from \"../Mixins/clickOutsideOptions.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"@nextcloud/router\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/capabilities\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nregister(t43);\nconst _sfc_main$1 = {\n name: \"CogIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon cog-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Cog = __component__$1.exports;\nconst _sfc_main = {\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n Cog\n },\n mixins: [\n clickOutsideOptions\n ],\n props: {\n name: {\n type: String,\n required: false,\n default: t(\"Settings\")\n }\n },\n data() {\n return {\n open: false\n };\n },\n computed: {\n clickOutsideConfig() {\n return [\n this.closeMenu,\n this.clickOutsideOptions\n ];\n }\n },\n methods: {\n toggleMenu() {\n this.open = !this.open;\n },\n closeMenu() {\n this.open = false;\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.clickOutsideConfig, expression: \"clickOutsideConfig\" }], class: { open: _vm.open }, attrs: { \"id\": \"app-settings\" } }, [_c(\"div\", { attrs: { \"id\": \"app-settings__header\" } }, [_c(\"button\", { staticClass: \"settings-button\", attrs: { \"type\": \"button\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-controls\": \"app-settings__content\" }, on: { \"click\": _vm.toggleMenu } }, [_c(\"Cog\", { staticClass: \"settings-button__icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"settings-button__label\" }, [_vm._v(_vm._s(_vm.name))])], 1)]), _c(\"Transition\", { attrs: { \"name\": \"slide-up\" } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.open, expression: \"open\" }], attrs: { \"id\": \"app-settings__content\" } }, [_vm._t(\"default\")], 2)])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d278a327\"\n);\nconst NcAppNavigationSettings = __component__.exports;\nexport {\n NcAppNavigationSettings as N\n};\n","\n \n \n \n\n\n","\n\n\n\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\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('activity', 'Enable RSS feed') }}\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\n\t\t\t\t\n\t\t\t\t\t{{ t('activity', 'Personal notification settings') }}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteConfig } from 'vue-router'\nimport ActivityAppFeed from './views/ActivityAppFeed.vue'\nimport ActivityAppNavigation from './views/ActivityAppNavigation.vue'\n\nexport const routes = [\n\t{\n\t\tpath: '/',\n\t\tname: 'root',\n\t\tredirect: { path: '/all' },\n\t},\n\t{\n\t\tpath: '/:filter?',\n\t\tcomponents: {\n\t\t\tdefault: ActivityAppFeed,\n\t\t\tnavigation: ActivityAppNavigation,\n\t\t},\n\t\tprops: {\n\t\t\tdefault: true,\n\t\t},\n\t},\n] as RouteConfig[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\n\nimport { translate, translatePlural } from '@nextcloud/l10n'\nimport { generateUrl } from '@nextcloud/router'\n\nimport { routes } from './routes'\n\n// Set up Vue\nVue.prototype.t = translate\nVue.prototype.n = translatePlural\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n\tmode: 'history',\n\tbase: generateUrl('/apps/activity'),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nexport default new Vue({\n\tel: '#content',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'ActivityRoot',\n\trouter,\n\trender: h => h(ActivityApp),\n})\n"],"names":["urlAlphabet","nanoid","size","id","_typeof","obj","config","setSelector","selector","isBrowser","TargetContainer","Vue","vm","h","nodes","el","Portal","_this","disabled","parent","child","targetEl","install","_Vue","options","register","t28","contentSvg","navigationSvg","_sfc_main","NcButton","NcIconSvgWrapper","useIsMobile","container","t","emit","value","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","NcContent","ArrowLeft","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","key","__spreadValues","a","b","prop","__spreadProps","__objRest","source","exclude","target","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","context","existing","__vue2_script$1","pane2","event","splitterIndex","totalMinSizes","i","paneId","rect","clientX","clientY","drag","containerSize","sums","minDrag","maxDrag","dragPercentage","panesToResize","paneBefore","paneAfter","paneBeforeMaxReached","paneAfterMaxReached","vars","total","p","isPane","isSplitter","paneIndex","nextPaneNode","isVeryFirst","elm","node","children","_a","_b","args","index","min","max","pane3","removed","changedPanes","equalSpace","leftToAllocate","ungrowable","unshrinkable","definedSizes","leftToAllocate2","addedPane","removedPane","equalSpaceToAllocate","newPaneSize","allocated","enable","splitter","__vue2_render","__vue2_staticRenderFns","__cssModules$1","__component__$1","__vue2_injectStyles$1","o","splitpanes","render","_h","staticRenderFns","__vue2_script","style","__cssModules","__vue2_injectStyles","pane","t25","_sfc_main$1","VTooltip","ArrowRight","isRTL","hide","appNavigationToggle","_sfc_render$1","_sfc_staticRenderFns$1","NcAppDetailsToggle","browserStorage","getBuilder","Pane","Splitpanes","appName","useSwipe","e","direction","listPaneSize","NcAppContent","$placeholder","$fakeParent","$nextSiblingPatched","$childNodesPatched","isFrag","parentNodeDescriptor","patchParentNode","fakeParent","nextSiblingDescriptor","childNodes","patchNextSibling","getTopFragment","fromParent","_node","parentNode","getChildNodes","getChildNodesWithFragments","_childNodesDescriptor","realChildNodes","childNode","childNodesDescriptor","firstChildDescriptor","hasChildNodes","patchChildNodes","before","_this$frag$","remove","frag","getFragmentLeafNodes","_Array$prototype","addPlaceholder","insertBeforeNode","placeholder","removeChild","hasChildInFragment","_this$frag$splice","removedNode","hasChild","insertBefore","insertNode","insertNodes","_frag","_lastNode","removePlaceholder","lastNode","appendChild","lastChild","innerHTMLDescriptor","htmlString","_this2","domify","element","nextSibling","previousSibling","fragment","dateText","computed","today","moment","yesterday","first","props","fullDate","formatted","appIconSVG","useRoute","root","getCurrentInstance","route","effectScope","shallowReactive","to","navigationList","loadState","loading","ref","hasMoreActivites","allActivities","lastActivityLoaded","useInfiniteScroll","loadActivities","groupedActivities","groups","activity","date","headingTitle","navigationEl","since","response","ncAxios","generateOcsUrl","raw","ActivityModel","error","axios","logger","showError","onMounted","watch","disableKeyboardShortcuts","isMac","shouldIgnoreEvent","eventHandler","callback","useHotKey","keysOrFilter","validateKeyEvent","keyFilter","stopKeyDown","onKeyStroke","stopKeyUp","NcAppNavigationList","t18","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","MenuIcon","MenuOpenIcon","NcAppNavigationToggle","subscribe","createFocusTrap","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open","tabbable","activeElement","NcAppNavigation","NcVNodes","ChevronUp","t12","Close","newValue","NcInputConfirmCancel","t19","_sfc_main$3","ChevronDown","_sfc_render$3","_sfc_staticRenderFns$3","__component__$3","NcAppNavigationIconCollapsible","t20","t47","Pencil","Undo","NcActions","NcActionButton","NcLoadingIcon","GenRandomId","newVal","navigate","routerLinkHref","href","isActive","$$v","NcAppNavigationItem","clickOutsideOptions","t43","Cog","vOnClickOutside","NcAppNavigationSettings","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","routes","ActivityAppFeed","ActivityAppNavigation","translate","translatePlural","VueRouter","router","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,9,11,12,13,14,15,16,17,18,19,20,21]}
\ No newline at end of file
+{"version":3,"file":"activity-app.mjs","sources":["../node_modules/nanoid/non-secure/index.js","../node_modules/@linusborg/vue-simple-portal/dist/index.esm.js","../node_modules/@nextcloud/vue/dist/chunks/NcContent-RlppaZCX.mjs","../node_modules/@nextcloud/vue/dist/chunks/ArrowLeft-DuT2LZOm.mjs","../node_modules/splitpanes/dist/splitpanes.es.js","../node_modules/@nextcloud/vue/dist/chunks/NcAppContent-BKQ-H04y.mjs","../node_modules/vue-frag/dist/frag.esm.js","../src/components/ActivityGroup.vue","../img/activity-dark.svg?raw","../node_modules/vue-router/composables.mjs","../src/views/ActivityAppFeed.vue","../node_modules/@nextcloud/vue/dist/Composables/useHotKey.mjs","../node_modules/@nextcloud/vue/dist/Components/NcAppNavigationList.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationToggle-Pr8bEpDs.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigation-B_92V8o3.mjs","../node_modules/@nextcloud/vue/dist/Components/NcVNodes.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-C7Dy9Bph.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-C7a7Nha7.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-CpcFOmJR.mjs","../node_modules/@nextcloud/vue/dist/Mixins/clickOutsideOptions.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-CZFm1d-N.mjs","../node_modules/vue-material-design-icons/ContentCopy.vue","../src/views/ActivityAppNavigation.vue","../src/routes.ts","../src/app.ts"],"sourcesContent":["// This alphabet uses `A-Za-z0-9_-` symbols.\n// The order of characters is optimized for better gzip and brotli compression.\n// References to the same file (works both for gzip and brotli):\n// `'use`, `andom`, and `rict'`\n// References to the brotli default dictionary:\n// `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf`\nlet urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\n\nlet nanoid = (size = 21) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n\nexport { nanoid, customAlphabet }\n","\n/**\n * vue-simple-portal\n * version: 0.1.5,\n * (c) Thorsten Lünborg, 2021 - present\n * LICENCE: Apache-2.0\n * http://github.com/linusborg/vue-simple-portal\n*/\nimport Vue from 'vue';\nimport { nanoid } from 'nanoid/non-secure';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar config = {\n selector: \"vue-portal-target-\".concat(nanoid())\n};\nvar setSelector = function setSelector(selector) {\n return config.selector = selector;\n};\nvar isBrowser = typeof window !== 'undefined' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) !== undefined;\n\nvar TargetContainer = Vue.extend({\n // as an abstract component, it doesn't appear in\n // the $parent chain of components.\n // which means the next parent of any component rendered inside of this oen\n // will be the parent from which is was sent\n // @ts-expect-error\n abstract: true,\n name: 'PortalOutlet',\n props: ['nodes', 'tag'],\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n render: function render(h) {\n var nodes = this.updatedNodes && this.updatedNodes();\n if (!nodes) return h();\n return nodes.length === 1 && !nodes[0].text ? nodes : h(this.tag || 'DIV', nodes);\n },\n destroyed: function destroyed() {\n var el = this.$el;\n el && el.parentNode.removeChild(el);\n }\n});\n\nvar Portal = Vue.extend({\n name: 'VueSimplePortal',\n props: {\n disabled: {\n type: Boolean\n },\n prepend: {\n type: Boolean\n },\n selector: {\n type: String,\n default: function _default() {\n return \"#\".concat(config.selector);\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n }\n },\n render: function render(h) {\n if (this.disabled) {\n var nodes = this.$scopedSlots && this.$scopedSlots.default();\n if (!nodes) return h();\n return nodes.length < 2 && !nodes[0].text ? nodes : h(this.tag, nodes);\n }\n\n return h();\n },\n created: function created() {\n if (!this.getTargetEl()) {\n this.insertTargetEl();\n }\n },\n updated: function updated() {\n var _this = this;\n\n // We only update the target container component\n // if the scoped slot function is a fresh one\n // The new slot syntax (since Vue 2.6) can cache unchanged slot functions\n // and we want to respect that here.\n this.$nextTick(function () {\n if (!_this.disabled && _this.slotFn !== _this.$scopedSlots.default) {\n _this.container.updatedNodes = _this.$scopedSlots.default;\n }\n\n _this.slotFn = _this.$scopedSlots.default;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unmount();\n },\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmount() : this.$nextTick(this.mount);\n }\n }\n },\n methods: {\n // This returns the element into which the content should be mounted.\n getTargetEl: function getTargetEl() {\n if (!isBrowser) return;\n return document.querySelector(this.selector);\n },\n insertTargetEl: function insertTargetEl() {\n if (!isBrowser) return;\n var parent = document.querySelector('body');\n var child = document.createElement(this.tag);\n child.id = this.selector.substring(1);\n parent.appendChild(child);\n },\n mount: function mount() {\n if (!isBrowser) return;\n var targetEl = this.getTargetEl();\n var el = document.createElement('DIV');\n\n if (this.prepend && targetEl.firstChild) {\n targetEl.insertBefore(el, targetEl.firstChild);\n } else {\n targetEl.appendChild(el);\n }\n\n this.container = new TargetContainer({\n el: el,\n parent: this,\n propsData: {\n tag: this.tag,\n nodes: this.$scopedSlots.default\n }\n });\n },\n unmount: function unmount() {\n if (this.container) {\n this.container.$destroy();\n delete this.container;\n }\n }\n }\n});\n\nfunction install(_Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _Vue.component(options.name || 'portal', Portal);\n\n if (options.defaultSelector) {\n setSelector(options.defaultSelector);\n }\n}\n\nif (typeof window !== 'undefined' && window.Vue && window.Vue === Vue) {\n // plugin was inlcuded directly in a browser\n Vue.use(install);\n}\n\nexport default install;\nexport { Portal, config, setSelector };\n","import '../assets/NcContent-CZamE_IP.css';\nimport { emit } from \"@nextcloud/event-bus\";\nimport { Portal } from \"@linusborg/vue-simple-portal\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { r as register, F as t28, a as t } from \"./_l10n-DDKxBWQL.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-CHmdAuhg.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t28);\nconst contentSvg = '\\n\\n';\nconst navigationSvg = '\\n\\n';\nconst _sfc_main = {\n name: \"NcContent\",\n components: {\n NcButton,\n NcIconSvgWrapper,\n Teleport: Portal\n },\n provide() {\n return {\n \"NcContent:setHasAppNavigation\": this.setAppNavigation,\n \"NcContent:selector\": \"#content-vue\"\n };\n },\n props: {\n appName: {\n type: String,\n required: true\n }\n },\n setup() {\n const isMobile = useIsMobile();\n return {\n isMobile\n };\n },\n data() {\n return {\n hasAppNavigation: false,\n currentFocus: \"\"\n // unknown\n };\n },\n computed: {\n currentImage() {\n if (this.currentFocus === \"navigation\") {\n return navigationSvg;\n }\n return contentSvg;\n }\n },\n beforeMount() {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n },\n methods: {\n t,\n openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n this.$nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n },\n setAppNavigation(value) {\n this.hasAppNavigation = value;\n if (this.currentFocus === \"\") {\n this.currentFocus = \"navigation\";\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { class: [\"content\", `app-${_vm.appName.toLowerCase()}`], attrs: { \"id\": \"content-vue\" } }, [_c(\"Teleport\", { attrs: { \"selector\": \"#skip-actions\" } }, [_c(\"div\", { staticClass: \"vue-skip-actions__container\" }, [_c(\"div\", { staticClass: \"vue-skip-actions__headline\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Keyboard navigation help\")) + \" \")]), _c(\"div\", { staticClass: \"vue-skip-actions__buttons\" }, [_c(\"NcButton\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.hasAppNavigation, expression: \"hasAppNavigation\" }], attrs: { \"type\": \"tertiary\", \"href\": \"#app-navigation-vue\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.openAppNavigation.apply(null, arguments);\n }, \"focusin\": function($event) {\n _vm.currentFocus = \"navigation\";\n }, \"mouseover\": function($event) {\n _vm.currentFocus = \"navigation\";\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Skip to app navigation\")) + \" \")]), _c(\"NcButton\", { attrs: { \"type\": \"tertiary\", \"href\": \"#app-content-vue\" }, on: { \"focusin\": function($event) {\n _vm.currentFocus = \"content\";\n }, \"mouseover\": function($event) {\n _vm.currentFocus = \"content\";\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Skip to main content\")) + \" \")])], 1), _c(\"NcIconSvgWrapper\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.isMobile, expression: \"!isMobile\" }], staticClass: \"vue-skip-actions__image\", attrs: { \"svg\": _vm.currentImage, \"size\": \"auto\" } })], 1), _vm._v(\" \")]), _vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d8f0539f\"\n);\nconst NcContent = __component__.exports;\nexport {\n NcContent as N\n};\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ArrowLeftIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon arrow-left-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst ArrowLeft = __component__.exports;\nexport {\n ArrowLeft as A\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar splitpanes_vue_vue_type_style_index_0_lang = \"\";\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options.render = render2;\n options.staticRenderFns = staticRenderFns2;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst __vue2_script$1 = {\n name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean },\n pushOtherPanes: { type: Boolean, default: true },\n dblClickSplitter: { type: Boolean, default: true },\n rtl: { type: Boolean, default: false },\n firstSplitter: { type: Boolean }\n },\n provide() {\n return {\n requestUpdate: this.requestUpdate,\n onPaneAdd: this.onPaneAdd,\n onPaneRemove: this.onPaneRemove,\n onPaneClick: this.onPaneClick\n };\n },\n data: () => ({\n container: null,\n ready: false,\n panes: [],\n touch: {\n mouseDown: false,\n dragging: false,\n activeSplitter: null\n },\n splitterTaps: {\n splitter: null,\n timeoutId: null\n }\n }),\n computed: {\n panesCount() {\n return this.panes.length;\n },\n indexedPanes() {\n return this.panes.reduce((obj, pane2) => (obj[pane2.id] = pane2) && obj, {});\n }\n },\n methods: {\n updatePaneComponents() {\n this.panes.forEach((pane2) => {\n pane2.update && pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n },\n bindEvents() {\n document.addEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.addEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"touchend\", this.onMouseUp);\n }\n },\n unbindEvents() {\n document.removeEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.removeEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"touchend\", this.onMouseUp);\n }\n },\n onMouseDown(event, splitterIndex) {\n this.bindEvents();\n this.touch.mouseDown = true;\n this.touch.activeSplitter = splitterIndex;\n },\n onMouseMove(event) {\n if (this.touch.mouseDown) {\n event.preventDefault();\n this.touch.dragging = true;\n this.calculatePanesSize(this.getCurrentMouseDrag(event));\n this.$emit(\"resize\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n },\n onMouseUp() {\n if (this.touch.dragging) {\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n this.touch.mouseDown = false;\n setTimeout(() => {\n this.touch.dragging = false;\n this.unbindEvents();\n }, 100);\n },\n onSplitterClick(event, splitterIndex) {\n if (\"ontouchstart\" in window) {\n event.preventDefault();\n if (this.dblClickSplitter) {\n if (this.splitterTaps.splitter === splitterIndex) {\n clearTimeout(this.splitterTaps.timeoutId);\n this.splitterTaps.timeoutId = null;\n this.onSplitterDblClick(event, splitterIndex);\n this.splitterTaps.splitter = null;\n } else {\n this.splitterTaps.splitter = splitterIndex;\n this.splitterTaps.timeoutId = setTimeout(() => {\n this.splitterTaps.splitter = null;\n }, 500);\n }\n }\n }\n if (!this.touch.dragging)\n this.$emit(\"splitter-click\", this.panes[splitterIndex]);\n },\n onSplitterDblClick(event, splitterIndex) {\n let totalMinSizes = 0;\n this.panes = this.panes.map((pane2, i) => {\n pane2.size = i === splitterIndex ? pane2.max : pane2.min;\n if (i !== splitterIndex)\n totalMinSizes += pane2.min;\n return pane2;\n });\n this.panes[splitterIndex].size -= totalMinSizes;\n this.$emit(\"pane-maximize\", this.panes[splitterIndex]);\n },\n onPaneClick(event, paneId) {\n this.$emit(\"pane-click\", this.indexedPanes[paneId]);\n },\n getCurrentMouseDrag(event) {\n const rect = this.container.getBoundingClientRect();\n const { clientX, clientY } = \"ontouchstart\" in window && event.touches ? event.touches[0] : event;\n return {\n x: clientX - rect.left,\n y: clientY - rect.top\n };\n },\n getCurrentDragPercentage(drag) {\n drag = drag[this.horizontal ? \"y\" : \"x\"];\n const containerSize = this.container[this.horizontal ? \"clientHeight\" : \"clientWidth\"];\n if (this.rtl && !this.horizontal)\n drag = containerSize - drag;\n return drag * 100 / containerSize;\n },\n calculatePanesSize(drag) {\n const splitterIndex = this.touch.activeSplitter;\n let sums = {\n prevPanesSize: this.sumPrevPanesSize(splitterIndex),\n nextPanesSize: this.sumNextPanesSize(splitterIndex),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const minDrag = 0 + (this.pushOtherPanes ? 0 : sums.prevPanesSize);\n const maxDrag = 100 - (this.pushOtherPanes ? 0 : sums.nextPanesSize);\n const dragPercentage = Math.max(Math.min(this.getCurrentDragPercentage(drag), maxDrag), minDrag);\n let panesToResize = [splitterIndex, splitterIndex + 1];\n let paneBefore = this.panes[panesToResize[0]] || null;\n let paneAfter = this.panes[panesToResize[1]] || null;\n const paneBeforeMaxReached = paneBefore.max < 100 && dragPercentage >= paneBefore.max + sums.prevPanesSize;\n const paneAfterMaxReached = paneAfter.max < 100 && dragPercentage <= 100 - (paneAfter.max + this.sumNextPanesSize(splitterIndex + 1));\n if (paneBeforeMaxReached || paneAfterMaxReached) {\n if (paneBeforeMaxReached) {\n paneBefore.size = paneBefore.max;\n paneAfter.size = Math.max(100 - paneBefore.max - sums.prevPanesSize - sums.nextPanesSize, 0);\n } else {\n paneBefore.size = Math.max(100 - paneAfter.max - sums.prevPanesSize - this.sumNextPanesSize(splitterIndex + 1), 0);\n paneAfter.size = paneAfter.max;\n }\n return;\n }\n if (this.pushOtherPanes) {\n const vars = this.doPushOtherPanes(sums, dragPercentage);\n if (!vars)\n return;\n ({ sums, panesToResize } = vars);\n paneBefore = this.panes[panesToResize[0]] || null;\n paneAfter = this.panes[panesToResize[1]] || null;\n }\n if (paneBefore !== null) {\n paneBefore.size = Math.min(Math.max(dragPercentage - sums.prevPanesSize - sums.prevReachedMinPanes, paneBefore.min), paneBefore.max);\n }\n if (paneAfter !== null) {\n paneAfter.size = Math.min(Math.max(100 - dragPercentage - sums.nextPanesSize - sums.nextReachedMinPanes, paneAfter.min), paneAfter.max);\n }\n },\n doPushOtherPanes(sums, dragPercentage) {\n const splitterIndex = this.touch.activeSplitter;\n const panesToResize = [splitterIndex, splitterIndex + 1];\n if (dragPercentage < sums.prevPanesSize + this.panes[panesToResize[0]].min) {\n panesToResize[0] = this.findPrevExpandedPane(splitterIndex).index;\n sums.prevReachedMinPanes = 0;\n if (panesToResize[0] < splitterIndex) {\n this.panes.forEach((pane2, i) => {\n if (i > panesToResize[0] && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n }\n sums.prevPanesSize = this.sumPrevPanesSize(panesToResize[0]);\n if (panesToResize[0] === void 0) {\n sums.prevReachedMinPanes = 0;\n this.panes[0].size = this.panes[0].min;\n this.panes.forEach((pane2, i) => {\n if (i > 0 && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[1]].size = 100 - sums.prevReachedMinPanes - this.panes[0].min - sums.prevPanesSize - sums.nextPanesSize;\n return null;\n }\n }\n if (dragPercentage > 100 - sums.nextPanesSize - this.panes[panesToResize[1]].min) {\n panesToResize[1] = this.findNextExpandedPane(splitterIndex).index;\n sums.nextReachedMinPanes = 0;\n if (panesToResize[1] > splitterIndex + 1) {\n this.panes.forEach((pane2, i) => {\n if (i > splitterIndex && i < panesToResize[1]) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n }\n sums.nextPanesSize = this.sumNextPanesSize(panesToResize[1] - 1);\n if (panesToResize[1] === void 0) {\n sums.nextReachedMinPanes = 0;\n this.panes[this.panesCount - 1].size = this.panes[this.panesCount - 1].min;\n this.panes.forEach((pane2, i) => {\n if (i < this.panesCount - 1 && i >= splitterIndex + 1) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[0]].size = 100 - sums.prevPanesSize - sums.nextReachedMinPanes - this.panes[this.panesCount - 1].min - sums.nextPanesSize;\n return null;\n }\n }\n return { sums, panesToResize };\n },\n sumPrevPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i < splitterIndex ? pane2.size : 0), 0);\n },\n sumNextPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i > splitterIndex + 1 ? pane2.size : 0), 0);\n },\n findPrevExpandedPane(splitterIndex) {\n const pane2 = [...this.panes].reverse().find((p) => p.index < splitterIndex && p.size > p.min);\n return pane2 || {};\n },\n findNextExpandedPane(splitterIndex) {\n const pane2 = this.panes.find((p) => p.index > splitterIndex + 1 && p.size > p.min);\n return pane2 || {};\n },\n checkSplitpanesNodes() {\n const children = Array.from(this.container.children);\n children.forEach((child) => {\n const isPane = child.classList.contains(\"splitpanes__pane\");\n const isSplitter = child.classList.contains(\"splitpanes__splitter\");\n if (!isPane && !isSplitter) {\n child.parentNode.removeChild(child);\n console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\");\n return;\n }\n });\n },\n addSplitter(paneIndex, nextPaneNode, isVeryFirst = false) {\n const splitterIndex = paneIndex - 1;\n const elm = document.createElement(\"div\");\n elm.classList.add(\"splitpanes__splitter\");\n if (!isVeryFirst) {\n elm.onmousedown = (event) => this.onMouseDown(event, splitterIndex);\n if (typeof window !== \"undefined\" && \"ontouchstart\" in window) {\n elm.ontouchstart = (event) => this.onMouseDown(event, splitterIndex);\n }\n elm.onclick = (event) => this.onSplitterClick(event, splitterIndex + 1);\n }\n if (this.dblClickSplitter) {\n elm.ondblclick = (event) => this.onSplitterDblClick(event, splitterIndex + 1);\n }\n nextPaneNode.parentNode.insertBefore(elm, nextPaneNode);\n },\n removeSplitter(node) {\n node.onmousedown = void 0;\n node.onclick = void 0;\n node.ondblclick = void 0;\n node.parentNode.removeChild(node);\n },\n redoSplitters() {\n const children = Array.from(this.container.children);\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__splitter\"))\n this.removeSplitter(el);\n });\n let paneIndex = 0;\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__pane\")) {\n if (!paneIndex && this.firstSplitter)\n this.addSplitter(paneIndex, el, true);\n else if (paneIndex)\n this.addSplitter(paneIndex, el);\n paneIndex++;\n }\n });\n },\n requestUpdate(_a) {\n var _b = _a, { target } = _b, args = __objRest(_b, [\"target\"]);\n const pane2 = this.indexedPanes[target._uid];\n Object.entries(args).forEach(([key, value]) => pane2[key] = value);\n },\n onPaneAdd(pane2) {\n let index = -1;\n Array.from(pane2.$el.parentNode.children).some((el) => {\n if (el.className.includes(\"splitpanes__pane\"))\n index++;\n return el === pane2.$el;\n });\n const min = parseFloat(pane2.minSize);\n const max = parseFloat(pane2.maxSize);\n this.panes.splice(index, 0, {\n id: pane2._uid,\n index,\n min: isNaN(min) ? 0 : min,\n max: isNaN(max) ? 100 : max,\n size: pane2.size === null ? null : parseFloat(pane2.size),\n givenSize: pane2.size,\n update: pane2.update\n });\n this.panes.forEach((p, i) => p.index = i);\n if (this.ready) {\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ addedPane: this.panes[index] });\n this.$emit(\"pane-add\", { index, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n }\n },\n onPaneRemove(pane2) {\n const index = this.panes.findIndex((p) => p.id === pane2._uid);\n const removed = this.panes.splice(index, 1)[0];\n this.panes.forEach((p, i) => p.index = i);\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ removedPane: __spreadProps(__spreadValues({}, removed), { index }) });\n this.$emit(\"pane-remove\", { removed, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n },\n resetPaneSizes(changedPanes = {}) {\n if (!changedPanes.addedPane && !changedPanes.removedPane)\n this.initialPanesSizing();\n else if (this.panes.some((pane2) => pane2.givenSize !== null || pane2.min || pane2.max < 100))\n this.equalizeAfterAddOrRemove(changedPanes);\n else\n this.equalize();\n if (this.ready)\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n },\n equalize() {\n const equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n this.panes.forEach((pane2) => {\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n initialPanesSizing() {\n 100 / this.panesCount;\n let leftToAllocate = 100;\n let ungrowable = [];\n let unshrinkable = [];\n let definedSizes = 0;\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size !== null)\n definedSizes++;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n let leftToAllocate2 = 100;\n if (leftToAllocate > 0.1) {\n this.panes.forEach((pane2) => {\n if (pane2.size === null) {\n pane2.size = Math.max(Math.min(leftToAllocate / (this.panesCount - definedSizes), pane2.max), pane2.min);\n }\n leftToAllocate2 -= pane2.size;\n });\n if (leftToAllocate2 > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n }\n },\n equalizeAfterAddOrRemove({ addedPane, removedPane } = {}) {\n let equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n if (addedPane && addedPane.givenSize !== null) {\n equalSpace = (100 - addedPane.givenSize) / (this.panesCount - 1);\n }\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (Math.abs(leftToAllocate) < 0.1)\n return;\n this.panes.forEach((pane2) => {\n if (addedPane && addedPane.givenSize !== null && addedPane.id === pane2.id)\n ;\n else\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n readjustSizes(leftToAllocate, ungrowable, unshrinkable) {\n let equalSpaceToAllocate;\n if (leftToAllocate > 0)\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - ungrowable.length);\n else\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - unshrinkable.length);\n this.panes.forEach((pane2, i) => {\n if (leftToAllocate > 0 && !ungrowable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n } else if (!unshrinkable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n }\n pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n if (Math.abs(leftToAllocate) > 0.1) {\n this.$nextTick(() => {\n if (this.ready) {\n console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n }\n });\n }\n }\n },\n watch: {\n panes: {\n deep: true,\n immediate: false,\n handler() {\n this.updatePaneComponents();\n }\n },\n horizontal() {\n this.updatePaneComponents();\n },\n firstSplitter() {\n this.redoSplitters();\n },\n dblClickSplitter(enable) {\n const splitters = [...this.container.querySelectorAll(\".splitpanes__splitter\")];\n splitters.forEach((splitter, i) => {\n splitter.ondblclick = enable ? (event) => this.onSplitterDblClick(event, i) : void 0;\n });\n }\n },\n beforeDestroy() {\n this.ready = false;\n },\n mounted() {\n this.container = this.$refs.container;\n this.checkSplitpanesNodes();\n this.redoSplitters();\n this.resetPaneSizes();\n this.$emit(\"ready\");\n this.ready = true;\n },\n render(h) {\n return h(\"div\", {\n ref: \"container\",\n class: [\n \"splitpanes\",\n `splitpanes--${this.horizontal ? \"horizontal\" : \"vertical\"}`,\n {\n \"splitpanes--dragging\": this.touch.dragging\n }\n ]\n }, this.$slots.default);\n }\n};\nlet __vue2_render, __vue2_staticRenderFns;\nconst __cssModules$1 = {};\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null);\nfunction __vue2_injectStyles$1(context) {\n for (let o in __cssModules$1) {\n this[o] = __cssModules$1[o];\n }\n}\nvar splitpanes = /* @__PURE__ */ function() {\n return __component__$1.exports;\n}();\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { staticClass: \"splitpanes__pane\", style: _vm.style, on: { \"click\": function($event) {\n return _vm.onPaneClick($event, _vm._uid);\n } } }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nconst __vue2_script = {\n name: \"pane\",\n inject: [\"requestUpdate\", \"onPaneAdd\", \"onPaneRemove\", \"onPaneClick\"],\n props: {\n size: { type: [Number, String], default: null },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n data: () => ({\n style: {}\n }),\n mounted() {\n this.onPaneAdd(this);\n },\n beforeDestroy() {\n this.onPaneRemove(this);\n },\n methods: {\n update(style) {\n this.style = style;\n }\n },\n computed: {\n sizeNumber() {\n return this.size || this.size === 0 ? parseFloat(this.size) : null;\n },\n minSizeNumber() {\n return parseFloat(this.minSize);\n },\n maxSizeNumber() {\n return parseFloat(this.maxSize);\n }\n },\n watch: {\n sizeNumber(size) {\n this.requestUpdate({ target: this, size });\n },\n minSizeNumber(min) {\n this.requestUpdate({ target: this, min });\n },\n maxSizeNumber(max) {\n this.requestUpdate({ target: this, max });\n }\n }\n};\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar pane = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nexport { pane as Pane, splitpanes as Splitpanes };\n","import '../assets/NcAppContent-BO0ksFwD.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, D as t25, a as t } from \"./_l10n-DDKxBWQL.mjs\";\nimport \"../Directives/Tooltip.mjs\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { A as ArrowLeft } from \"./ArrowLeft-DuT2LZOm.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { isRTL } from \"@nextcloud/l10n\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Pane, Splitpanes } from \"splitpanes\";\nimport \"splitpanes/dist/splitpanes.css\";\nregister(t25);\nconst _sfc_main$1 = {\n name: \"NcAppDetailsToggle\",\n directives: {\n tooltip: VTooltip\n },\n components: {\n NcButton,\n ArrowRight,\n ArrowLeft\n },\n setup() {\n return {\n isRTL: isRTL(),\n isMobile: useIsMobile()\n };\n },\n computed: {\n title() {\n return t(\"Go back to the list\");\n }\n },\n watch: {\n isMobile: {\n immediate: true,\n handler() {\n this.toggleAppNavigationButton(this.isMobile);\n }\n }\n },\n beforeDestroy() {\n if (this.isMobile) {\n this.toggleAppNavigationButton(false);\n }\n },\n methods: {\n toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : null;\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcButton\", { directives: [{ name: \"tooltip\", rawName: \"v-tooltip\", value: _vm.title, expression: \"title\" }], staticClass: \"app-details-toggle\", class: { \"app-details-toggle--mobile\": _vm.isMobile }, attrs: { \"type\": \"tertiary\", \"aria-label\": _vm.title }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.isRTL ? _c(\"ArrowLeft\", { attrs: { \"size\": 20 } }) : _c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) });\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"089eb524\"\n);\nconst NcAppDetailsToggle = __component__$1.exports;\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\n /**\n * Allows to disable the control by swipe of the app navigation open state\n * @deprecated will be removed with the next version - use `disableSwipe` instead\n */\n allowSwipeNavigation: {\n type: Boolean,\n default: true\n },\n /**\n * Allows to disable the control by swipe of the app navigation open state.\n */\n disableSwipe: {\n type: Boolean,\n default: false\n },\n /**\n * Allows you to set the default width of the resizable list in % on vertical-split\n * Allows you to set the default height of the resizable list in % on horizontal-split\n * Must be between listMinWidth and listMaxWidth\n */\n listSize: {\n type: Number,\n default: 20\n },\n /**\n * Allows you to set the minimum width of the list column in % on vertical-split\n * Allows you to set the minimum height of the list column in % on horizontal-split\n */\n listMinWidth: {\n type: Number,\n default: 15\n },\n /**\n * Allows you to set the maximum width of the list column in % on vertical-split\n * Allows you to set the maximum height of the list column in % on horizontal-split\n */\n listMaxWidth: {\n type: Number,\n default: 40\n },\n /**\n * Specify the config key for the pane config sizes\n * Default is the global var appName if you use the webpack-vue-config\n */\n paneConfigKey: {\n type: String,\n default: \"\"\n },\n /**\n * When in mobile view, only the list or the details are shown.\n *\n * If you provide a list, you need to provide a variable\n * that will be set to true by the user when an element of\n * the list gets selected. The details will then show a back\n * arrow to return to the list that will update this prop to false.\n */\n showDetails: {\n type: Boolean,\n default: true\n },\n /**\n * Specify the `` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Content layout used when there is a list together with content:\n * - `vertical-split` - a 2-column layout with list and default content separated vertically\n * - `no-split` - a single column layout; List is shown when `showDetails` is `false`, otherwise the default slot content is shown with a back button to return to the list.\n * - 'horizontal-split' - a 2-column layout with list and default content separated horizontally\n * On mobile screen `no-split` layout is forced.\n */\n layout: {\n type: String,\n default: \"vertical-split\",\n validator(value) {\n return [\"no-split\", \"vertical-split\", \"horizontal-split\"].includes(value);\n }\n }\n },\n emits: [\n \"update:showDetails\",\n \"resize:list\"\n ],\n setup() {\n return {\n isMobile: useIsMobile(),\n isRTL: isRTL()\n };\n },\n data() {\n return {\n contentHeight: 0,\n hasList: false,\n hasContent: false,\n swiping: {},\n listPaneSize: this.restorePaneConfig()\n };\n },\n computed: {\n paneConfigID() {\n if (this.paneConfigKey !== \"\") {\n return `pane-list-size-${this.paneConfigKey}`;\n }\n try {\n return `pane-list-size-${appName}`;\n } catch (e) {\n console.info(\"[INFO] AppContent:\", \"falling back to global nextcloud pane config\");\n return \"pane-list-size-nextcloud\";\n }\n },\n detailsPaneSize() {\n if (this.listPaneSize) {\n return 100 - this.listPaneSize;\n }\n return this.paneDefaults.details.size;\n },\n paneDefaults() {\n return {\n list: {\n size: this.listSize,\n min: this.listMinWidth,\n max: this.listMaxWidth\n },\n // set the inverse values of the details column\n // based on the provided (or default) values of the list column\n details: {\n size: 100 - this.listSize,\n min: 100 - this.listMaxWidth,\n max: 100 - this.listMinWidth\n }\n };\n }\n },\n updated() {\n this.checkSlots();\n },\n mounted() {\n if (this.allowSwipeNavigation && !this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\n this.checkSlots();\n this.restorePaneConfig();\n },\n methods: {\n /**\n * handle the swipe event\n *\n * @param {TouchEvent} e The touch event\n * @param {import('@vueuse/core').SwipeDirection} direction The swipe direction of the event\n */\n handleSwipe(e, direction) {\n const minSwipeX = 70;\n const touchZone = 300;\n if (Math.abs(this.swiping.lengthX) > minSwipeX) {\n if (this.swiping.coordsStart.x < touchZone / 2 && direction === \"right\") {\n emit(\"toggle-navigation\", {\n open: true\n });\n } else if (this.swiping.coordsStart.x < touchZone * 1.5 && direction === \"left\") {\n emit(\"toggle-navigation\", {\n open: false\n });\n }\n }\n },\n handlePaneResize(event) {\n const listPaneSize = parseInt(event[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resize:list\", { size: listPaneSize });\n console.debug(\"AppContent pane config\", listPaneSize);\n },\n // $slots is not reactive, we need to update this manually\n checkSlots() {\n this.hasList = !!this.$scopedSlots.list;\n this.hasContent = !!this.$scopedSlots.default;\n },\n // browserStorage is not reactive, we need to update this manually\n restorePaneConfig() {\n const listPaneSize = parseInt(browserStorage.getItem(this.paneConfigID), 10);\n if (!isNaN(listPaneSize) && listPaneSize !== this.listPaneSize) {\n console.debug(\"AppContent pane config\", listPaneSize);\n this.listPaneSize = listPaneSize;\n return listPaneSize;\n }\n },\n /**\n * The user clicked the back arrow from the details view\n */\n hideDetails() {\n this.$emit(\"update:showDetails\", false);\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"main\", { staticClass: \"app-content no-snapper\", class: { \"app-content--has-list\": _vm.hasList }, attrs: { \"id\": \"app-content-vue\" } }, [_vm.pageHeading ? _c(\"h1\", { staticClass: \"hidden-visually\" }, [_vm._v(\" \" + _vm._s(_vm.pageHeading) + \" \")]) : _vm._e(), _vm.hasList ? [_vm.isMobile || _vm.layout === \"no-split\" ? _c(\"div\", { staticClass: \"app-content-wrapper app-content-wrapper--no-split\", class: {\n \"app-content-wrapper--show-details\": _vm.showDetails,\n \"app-content-wrapper--show-list\": !_vm.showDetails,\n \"app-content-wrapper--mobile\": _vm.isMobile\n } }, [_vm.showDetails ? _c(\"NcAppDetailsToggle\", { nativeOn: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.hideDetails.apply(null, arguments);\n } } }) : _vm._e(), !_vm.showDetails ? _vm._t(\"list\") : _vm._t(\"default\")], 2) : _vm.layout === \"vertical-split\" || _vm.layout === \"horizontal-split\" ? _c(\"div\", { staticClass: \"app-content-wrapper\" }, [_c(\"Splitpanes\", { staticClass: \"default-theme\", class: {\n \"splitpanes--horizontal\": _vm.layout === \"horizontal-split\",\n \"splitpanes--vertical\": _vm.layout === \"vertical-split\"\n }, attrs: { \"horizontal\": _vm.layout === \"horizontal-split\", \"rtl\": _vm.isRTL }, on: { \"resized\": _vm.handlePaneResize } }, [_c(\"Pane\", { staticClass: \"splitpanes__pane-list\", attrs: { \"size\": _vm.listPaneSize || _vm.paneDefaults.list.size, \"min-size\": _vm.paneDefaults.list.min, \"max-size\": _vm.paneDefaults.list.max } }, [_vm._t(\"list\")], 2), _c(\"Pane\", { staticClass: \"splitpanes__pane-details\", attrs: { \"size\": _vm.detailsPaneSize, \"min-size\": _vm.paneDefaults.details.min, \"max-size\": _vm.paneDefaults.details.max } }, [_vm._t(\"default\")], 2)], 1)], 1) : _vm._e()] : _vm._e(), !_vm.hasList ? _vm._t(\"default\") : _vm._e()], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"79779e34\"\n);\nconst NcAppContent = __component__.exports;\nexport {\n NcAppContent as N\n};\n","var $placeholder = Symbol();\n\nvar $fakeParent = Symbol();\n\nvar $nextSiblingPatched = Symbol();\n\nvar $childNodesPatched = Symbol();\n\nvar isFrag = function isFrag(node) {\n return \"frag\" in node;\n};\n\nvar parentNodeDescriptor = {\n get: function get() {\n return this[$fakeParent] || this.parentElement;\n },\n configurable: true\n};\n\nvar patchParentNode = function patchParentNode(node, fakeParent) {\n if ($fakeParent in node) {\n return;\n }\n node[$fakeParent] = fakeParent;\n Object.defineProperty(node, \"parentNode\", parentNodeDescriptor);\n};\n\nvar nextSiblingDescriptor = {\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n var index = childNodes.indexOf(this);\n if (index > -1) {\n return childNodes[index + 1] || null;\n }\n return null;\n }\n};\n\nvar patchNextSibling = function patchNextSibling(node) {\n if ($nextSiblingPatched in node) {\n return;\n }\n node[$nextSiblingPatched] = true;\n Object.defineProperty(node, \"nextSibling\", nextSiblingDescriptor);\n};\n\nvar getTopFragment = function getTopFragment(node, fromParent) {\n while (node.parentNode !== fromParent) {\n var _node = node, parentNode = _node.parentNode;\n if (parentNode) {\n node = parentNode;\n }\n }\n return node;\n};\n\nvar getChildNodes;\n\nvar getChildNodesWithFragments = function getChildNodesWithFragments(node) {\n if (!getChildNodes) {\n var _childNodesDescriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"childNodes\");\n getChildNodes = _childNodesDescriptor.get;\n }\n var realChildNodes = getChildNodes.apply(node);\n var childNodes = Array.from(realChildNodes).map((function(childNode) {\n return getTopFragment(childNode, node);\n }));\n return childNodes.filter((function(childNode, index) {\n return childNode !== childNodes[index - 1];\n }));\n};\n\nvar childNodesDescriptor = {\n get: function get() {\n return this.frag || getChildNodesWithFragments(this);\n }\n};\n\nvar firstChildDescriptor = {\n get: function get() {\n return this.childNodes[0] || null;\n }\n};\n\nfunction hasChildNodes() {\n return this.childNodes.length > 0;\n}\n\nvar patchChildNodes = function patchChildNodes(node) {\n if ($childNodesPatched in node) {\n return;\n }\n node[$childNodesPatched] = true;\n Object.defineProperties(node, {\n childNodes: childNodesDescriptor,\n firstChild: firstChildDescriptor\n });\n node.hasChildNodes = hasChildNodes;\n};\n\nfunction before() {\n var _this$frag$;\n (_this$frag$ = this.frag[0]).before.apply(_this$frag$, arguments);\n}\n\nfunction remove() {\n var frag = this.frag;\n var removed = frag.splice(0, frag.length);\n removed.forEach((function(node) {\n node.remove();\n }));\n}\n\nvar getFragmentLeafNodes = function getFragmentLeafNodes(children) {\n var _Array$prototype;\n return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, children.map((function(childNode) {\n return isFrag(childNode) ? getFragmentLeafNodes(childNode.frag) : childNode;\n })));\n};\n\nvar addPlaceholder = function addPlaceholder(node, insertBeforeNode) {\n var placeholder = node[$placeholder];\n insertBeforeNode.before(placeholder);\n patchParentNode(placeholder, node);\n node.frag.unshift(placeholder);\n};\n\nfunction removeChild(node) {\n if (isFrag(this)) {\n var hasChildInFragment = this.frag.indexOf(node);\n if (hasChildInFragment > -1) {\n var _this$frag$splice = this.frag.splice(hasChildInFragment, 1), removedNode = _this$frag$splice[0];\n if (this.frag.length === 0) {\n addPlaceholder(this, removedNode);\n }\n node.remove();\n }\n } else {\n var children = getChildNodesWithFragments(this);\n var hasChild = children.indexOf(node);\n if (hasChild > -1) {\n node.remove();\n }\n }\n return node;\n}\n\nfunction insertBefore(insertNode, insertBeforeNode) {\n var _this = this;\n var insertNodes = insertNode.frag || [ insertNode ];\n if (isFrag(this)) {\n if (insertNode[$fakeParent] === this && insertNode.parentElement) {\n return insertNode;\n }\n var _frag = this.frag;\n if (insertBeforeNode) {\n var index = _frag.indexOf(insertBeforeNode);\n if (index > -1) {\n _frag.splice.apply(_frag, [ index, 0 ].concat(insertNodes));\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n var _lastNode = _frag[_frag.length - 1];\n _frag.push.apply(_frag, insertNodes);\n _lastNode.after.apply(_lastNode, insertNodes);\n }\n removePlaceholder(this);\n } else if (insertBeforeNode) {\n if (this.childNodes.includes(insertBeforeNode)) {\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n this.append.apply(this, insertNodes);\n }\n insertNodes.forEach((function(node) {\n patchParentNode(node, _this);\n }));\n var lastNode = insertNodes[insertNodes.length - 1];\n patchNextSibling(lastNode);\n return insertNode;\n}\n\nfunction appendChild(node) {\n if (node[$fakeParent] === this && node.parentElement) {\n return node;\n }\n var frag = this.frag;\n var lastChild = frag[frag.length - 1];\n lastChild.after(node);\n patchParentNode(node, this);\n removePlaceholder(this);\n frag.push(node);\n return node;\n}\n\nvar removePlaceholder = function removePlaceholder(node) {\n var placeholder = node[$placeholder];\n if (node.frag[0] === placeholder) {\n node.frag.shift();\n placeholder.remove();\n }\n};\n\nvar innerHTMLDescriptor = {\n set: function set(htmlString) {\n var _this2 = this;\n if (this.frag[0] !== this[$placeholder]) {\n this.frag.slice().forEach((function(child) {\n return _this2.removeChild(child);\n }));\n }\n if (htmlString) {\n var domify = document.createElement(\"div\");\n domify.innerHTML = htmlString;\n Array.from(domify.childNodes).forEach((function(node) {\n _this2.appendChild(node);\n }));\n }\n },\n get: function get() {\n return \"\";\n }\n};\n\nvar frag = {\n inserted: function inserted(element) {\n var parentNode = element.parentNode, nextSibling = element.nextSibling, previousSibling = element.previousSibling;\n var childNodes = Array.from(element.childNodes);\n var placeholder = document.createComment(\"\");\n if (childNodes.length === 0) {\n childNodes.push(placeholder);\n }\n element.frag = childNodes;\n element[$placeholder] = placeholder;\n var fragment = document.createDocumentFragment();\n fragment.append.apply(fragment, getFragmentLeafNodes(childNodes));\n element.replaceWith(fragment);\n childNodes.forEach((function(node) {\n patchParentNode(node, element);\n patchNextSibling(node);\n }));\n patchChildNodes(element);\n Object.assign(element, {\n remove: remove,\n appendChild: appendChild,\n insertBefore: insertBefore,\n removeChild: removeChild,\n before: before\n });\n Object.defineProperty(element, \"innerHTML\", innerHTMLDescriptor);\n if (parentNode) {\n Object.assign(parentNode, {\n removeChild: removeChild,\n insertBefore: insertBefore\n });\n patchParentNode(element, parentNode);\n patchChildNodes(parentNode);\n }\n if (nextSibling) {\n patchNextSibling(element);\n }\n if (previousSibling) {\n patchNextSibling(previousSibling);\n }\n },\n unbind: function unbind(element) {\n element.remove();\n }\n};\n\nvar fragment = {\n name: \"Fragment\",\n directives: {\n frag: frag\n },\n render: function render(h) {\n return h(\"div\", {\n directives: [ {\n name: \"frag\"\n } ]\n }, this.$slots[\"default\"]);\n }\n};\n\nexport { fragment as Fragment, frag as default };\n","\n\n\n\t\n\t\t\n\t\t\t{{ dateText }}\n\t\t
\n\t\t\n\t\n\n\n\n\n\n","export default \"\"","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\nimport { getCurrentInstance, effectScope, shallowReactive, onUnmounted, computed, unref } from 'vue';\n\n// dev only warn if no current instance\n\nfunction throwNoCurrentInstance (method) {\n if (!getCurrentInstance()) {\n throw new Error(\n (\"[vue-router]: Missing current instance. \" + method + \"() must be called inside \n\n\n","import { onKeyStroke } from \"@vueuse/core\";\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst isMac = /mac|ipad|iphone|darwin/i.test(navigator.userAgent);\nfunction shouldIgnoreEvent(event) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement || event.target instanceof HTMLSelectElement || event.target?.isContentEditable) {\n return true;\n }\n return document.getElementsByClassName(\"modal-mask\").length !== 0;\n}\nconst eventHandler = (callback, options) => (event) => {\n const ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey;\n if (ctrlKeyPressed !== Boolean(options.ctrl)) {\n return;\n } else if (event.altKey !== Boolean(options.alt)) {\n return;\n } else if (options.shift !== void 0 && event.shiftKey !== Boolean(options.shift)) {\n return;\n } else if (shouldIgnoreEvent(event)) {\n return;\n }\n if (options.prevent) {\n event.preventDefault();\n }\n if (options.stop) {\n event.stopPropagation();\n }\n callback(event);\n};\nfunction useHotKey(keysOrFilter, callback = () => {\n}, options = {}) {\n if (disableKeyboardShortcuts) {\n return () => {\n };\n }\n const validateKeyEvent = (event, key) => {\n if (options.caseSensitive) {\n return event.key === key;\n }\n return event.key.toLowerCase() === key.toLowerCase();\n };\n const keyFilter = (event) => {\n if (typeof keysOrFilter === \"function\") {\n return keysOrFilter(event);\n } else if (typeof keysOrFilter === \"string\") {\n return validateKeyEvent(event, keysOrFilter);\n } else if (Array.isArray(keysOrFilter)) {\n return keysOrFilter.some((key) => validateKeyEvent(event, key));\n } else {\n return true;\n }\n };\n const stopKeyDown = onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keydown\",\n dedupe: true,\n passive: !options.prevent\n });\n const stopKeyUp = options.push ? onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keyup\",\n passive: !options.prevent\n }) : () => {\n };\n return () => {\n stopKeyDown();\n stopKeyUp();\n };\n}\nexport {\n useHotKey\n};\n","import '../assets/NcAppNavigationList-DnKj0-Zq.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"ul\", { staticClass: \"app-navigation-list\" }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"058e6060\"\n);\nconst NcAppNavigationList = __component__.exports;\nexport {\n NcAppNavigationList as default\n};\n","import '../assets/NcAppNavigationToggle-B6FCDJp7.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, C as t18, a as t } from \"./_l10n-DDKxBWQL.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t18);\nconst _sfc_main$2 = {\n name: \"MenuIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon menu-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst MenuIcon = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"MenuOpenIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon menu-open-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst MenuOpenIcon = __component__$1.exports;\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst _sfc_main = {\n name: \"NcAppNavigationToggle\",\n components: {\n NcButton,\n MenuIcon,\n MenuOpenIcon\n },\n props: {\n /**\n * Tracks whether the toggle has been clicked or not.\n * If it has been clicked, switches between the different MenuIcons\n * and emits a boolean indicating its opened status\n */\n open: {\n type: Boolean,\n required: true\n }\n },\n emits: [\"update:open\"],\n setup() {\n return { disableKeyboardShortcuts };\n },\n computed: {\n label() {\n return this.open ? t(\"Close navigation\") : t(\"Open navigation {shortcut}\", { shortcut: disableKeyboardShortcuts ? \"\" : \"[n]\" }).trim();\n }\n },\n methods: {\n /**\n * Once the toggle has been clicked, emits the toggle status\n * so parent components can gauge the status of the navigation button\n */\n toggleNavigation() {\n this.$emit(\"update:open\", !this.open);\n }\n }\n};\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-toggle-wrapper\" }, [_c(\"NcButton\", { staticClass: \"app-navigation-toggle\", attrs: { \"type\": \"tertiary\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-label\": _vm.label, \"title\": _vm.label, \"aria-controls\": \"app-navigation-vue\", \"aria-keyshortcuts\": _vm.disableKeyboardShortcuts ? \"\" : \"n\" }, on: { \"click\": _vm.toggleNavigation }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"MenuOpenIcon\", { attrs: { \"size\": 20 } }) : _c(\"MenuIcon\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"87a1d6fa\"\n);\nconst NcAppNavigationToggle = __component__.exports;\nexport {\n NcAppNavigationToggle as N\n};\n","import '../assets/NcAppNavigation-CJj8AvqM.css';\nimport { createFocusTrap } from \"focus-trap\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { tabbable } from \"tabbable\";\nimport Vue from \"vue\";\nimport { g as getTrapStack } from \"./focusTrap-Cecv_gjR.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { useHotKey } from \"../Composables/useHotKey.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport NcAppNavigationList from \"../Components/NcAppNavigationList.mjs\";\nimport { N as NcAppNavigationToggle } from \"./NcAppNavigationToggle-Pr8bEpDs.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigation\",\n components: {\n NcAppNavigationList,\n NcAppNavigationToggle\n },\n // Injected from NcContent\n inject: {\n setHasAppNavigation: {\n default: () => () => Vue.util.warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n from: \"NcContent:setHasAppNavigation\"\n }\n },\n props: {\n /**\n * The aria label to describe the navigation\n */\n ariaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * aria-labelledby attribute to describe the navigation\n */\n ariaLabelledby: {\n type: String,\n default: \"\"\n }\n },\n setup() {\n return {\n isMobile: useIsMobile()\n };\n },\n data() {\n return {\n open: !this.isMobile,\n focusTrap: null\n };\n },\n watch: {\n isMobile() {\n this.open = !this.isMobile;\n this.toggleFocusTrap();\n },\n open() {\n this.toggleFocusTrap();\n }\n },\n mounted() {\n this.setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", this.toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: this.open\n });\n this.focusTrap = createFocusTrap(this.$refs.appNavigationContainer, {\n allowOutsideClick: true,\n fallbackFocus: this.$refs.appNavigationContainer,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n this.toggleFocusTrap();\n useHotKey(\"n\", this.onKeyDown, {\n prevent: true,\n stop: true\n });\n },\n unmounted() {\n this.setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", this.toggleNavigationByEventBus);\n this.focusTrap.deactivate();\n },\n methods: {\n /**\n * Toggle the navigation\n *\n * @param {boolean} [state] set the state instead of inverting the current one\n */\n async toggleNavigation(state) {\n if (this.open === state) {\n emit(\"navigation-toggled\", {\n open: this.open\n });\n return;\n }\n this.open = typeof state === \"undefined\" ? !this.open : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n if (this.open) {\n await this.$nextTick();\n this.focusFirstElement();\n }\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: this.open\n });\n }, 1.5 * animationLength);\n },\n toggleNavigationByEventBus({ open }) {\n this.toggleNavigation(open);\n },\n /**\n * Activate focus trap if it is currently needed, otherwise deactivate\n */\n toggleFocusTrap() {\n if (this.isMobile && this.open) {\n this.focusTrap.activate();\n } else {\n this.focusTrap.deactivate();\n }\n },\n handleEsc() {\n if (this.isMobile && this.open) {\n this.toggleNavigation(false);\n }\n },\n focusFirstElement() {\n const element = tabbable(this.$refs.appNavigationContainer)[0];\n if (element) {\n element.focus();\n logger.debug(\"Focusing first element in the navigation\", { element });\n }\n },\n onKeyDown(event) {\n if (event.key === \"n\") {\n if (!this.open) {\n this.toggleNavigation(true);\n return;\n }\n if (this.isFocusWithinNavigation()) {\n this.toggleNavigation(false);\n }\n }\n },\n isFocusWithinNavigation() {\n const activeElement = document.activeElement;\n return this.$refs.appNavigationContainer.contains(activeElement);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"appNavigationContainer\", staticClass: \"app-navigation\", class: { \"app-navigation--close\": !_vm.open } }, [_c(\"nav\", { staticClass: \"app-navigation__content\", attrs: { \"id\": \"app-navigation-vue\", \"aria-hidden\": _vm.open ? \"false\" : \"true\", \"aria-label\": _vm.ariaLabel || void 0, \"aria-labelledby\": _vm.ariaLabelledby || void 0, \"inert\": !_vm.open || void 0 }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n return _vm.handleEsc.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation__search\" }, [_vm._t(\"search\")], 2), _c(\"div\", { staticClass: \"app-navigation__body\", class: { \"app-navigation__body--no-list\": !_vm.$scopedSlots.list } }, [_vm._t(\"default\")], 2), _vm.$scopedSlots.list ? _c(\"NcAppNavigationList\", { staticClass: \"app-navigation__list\" }, [_vm._t(\"list\")], 2) : _vm._e(), _vm._t(\"footer\")], 2), _c(\"NcAppNavigationToggle\", { attrs: { \"open\": _vm.open }, on: { \"update:open\": _vm.toggleNavigation } })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"1329aac9\"\n);\nconst NcAppNavigation = __component__.exports;\nexport {\n NcAppNavigation as N\n};\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcVNodes\",\n props: {\n /**\n * The vnodes to render\n */\n vnodes: {\n type: [Array, Object],\n default: null\n }\n },\n /**\n * The render function to display the component\n *\n * @param {Function} h The function to create VNodes\n * @return {object} The created VNode\n */\n render(h) {\n return this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.();\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcVNodes = __component__.exports;\nexport {\n NcVNodes as default\n};\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ChevronUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon chevron-up-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst ChevronUp = __component__.exports;\nexport {\n ChevronUp as C\n};\n","import '../assets/NcInputConfirmCancel-EYtW7MxF.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, o as t12, a as t } from \"./_l10n-DDKxBWQL.mjs\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t12);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n NcButton,\n ArrowRight,\n Close\n },\n props: {\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n default: false,\n type: Boolean\n },\n placeholder: {\n default: \"\",\n type: String\n },\n value: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"input\",\n \"confirm\",\n \"cancel\"\n ],\n data() {\n return {\n labelConfirm: t(\"Confirm changes\"),\n labelCancel: t(\"Cancel changes\")\n };\n },\n computed: {\n valueModel: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit(\"input\", newValue);\n }\n }\n },\n methods: {\n confirm() {\n this.$emit(\"confirm\");\n },\n cancel() {\n this.$emit(\"cancel\");\n },\n focusInput() {\n this.$refs.input.focus();\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-input-confirm\" }, [_c(\"form\", { on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n }, \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.valueModel, expression: \"valueModel\" }], ref: \"input\", staticClass: \"app-navigation-input-confirm__input\", attrs: { \"type\": \"text\", \"placeholder\": _vm.placeholder }, domProps: { \"value\": _vm.valueModel }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.valueModel = $event.target.value;\n } } }), _c(\"NcButton\", { attrs: { \"native-type\": \"submit\", \"type\": \"primary\", \"aria-label\": _vm.labelConfirm }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) }), _c(\"NcButton\", { attrs: { \"native-type\": \"reset\", \"type\": _vm.primary ? \"primary\" : \"tertiary\", \"aria-label\": _vm.labelCancel }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0e795eb7\"\n);\nconst NcInputConfirmCancel = __component__.exports;\nexport {\n NcInputConfirmCancel as N\n};\n","import '../assets/NcAppNavigationItem-lh9Say1M.css';\nimport { N as NcActions } from \"./NcActions-D3hGxwlc.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-CEysTg4c.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, K as t19, a as t, d as t47, L as t20 } from \"./_l10n-DDKxBWQL.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-DFQfzh63.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-C7Dy9Bph.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-C7a7Nha7.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nregister(t19);\nconst _sfc_main$3 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n props: {\n open: {\n type: Boolean,\n default: true\n }\n },\n emits: [\"click\"],\n computed: {\n labelButton() {\n return this.open ? t(\"Collapse menu\") : t(\"Open menu\");\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nvar _sfc_render$3 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcButton\", { staticClass: \"icon-collapse\", class: { \"icon-collapse--open\": _vm.open }, attrs: { \"type\": \"tertiary\", \"aria-label\": _vm.labelButton }, on: { \"click\": _vm.onClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"ChevronUp\", { attrs: { \"size\": 20 } }) : _c(\"ChevronDown\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) });\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n \"f65a0daf\"\n);\nconst NcAppNavigationIconCollapsible = __component__$3.exports;\nregister(t20, t47);\nconst _sfc_main$2 = {\n name: \"PencilIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon pencil-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst Pencil = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"UndoIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon undo-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Undo = __component__$1.exports;\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes,\n Pencil,\n Undo\n },\n props: {\n /**\n * If you are not using vue-router you can use the property to set this item as the active navigation entry.\n * When using vue-router and the `to` property this is set automatically.\n */\n active: {\n type: Boolean,\n default: false\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * id attribute of the list item element\n */\n id: {\n type: String,\n default: () => \"app-navigation-item-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Passing in a route will make the root element of this\n * component a `` that points to that route.\n * By leaving this blank, the root element will be a `
`.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * A direct link. This will be used as the `href` attribute.\n * This will ignore any `to` prop being defined.\n */\n href: {\n type: String,\n default: null\n },\n /**\n * Pass in `true` if you want the matching behaviour to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * Gives the possibility to collapse the children elements into the\n * parent element (true) or expands the children elements (false).\n */\n allowCollapse: {\n type: Boolean,\n default: false\n },\n /**\n * Makes the name of the item editable by providing an `ActionButton`\n * component that toggles a form\n */\n editable: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Only for items in 'editable' mode, sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n },\n /**\n * Pins the item to the bottom left area, above the settings. Do not\n * place 'non-pinned' `AppnavigationItem` components below `pinned`\n * ones.\n */\n pinned: {\n type: Boolean,\n default: false\n },\n /**\n * Puts the item in the 'undo' state.\n */\n undo: {\n type: Boolean,\n default: false\n },\n /**\n * The navigation collapsible state (synced)\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * The actions menu open state (synced)\n */\n menuOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The action's menu default icon\n */\n menuIcon: {\n type: String,\n default: void 0\n },\n /**\n * The action's menu direction\n */\n menuPlacement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * Entry aria details\n */\n ariaDescription: {\n type: String,\n default: null\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Number of action items outside the menu\n */\n inlineActions: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"update:menuOpen\",\n \"update:open\",\n \"update:name\",\n \"click\",\n \"undo\"\n ],\n setup() {\n return {\n isMobile: useIsMobile()\n };\n },\n data() {\n return {\n editingValue: \"\",\n opened: this.open,\n // Collapsible state\n editingActive: false,\n /**\n * Tracks the open state of the actions menu\n */\n menuOpenLocalValue: false,\n focused: false,\n actionsBoundariesElement: void 0\n };\n },\n computed: {\n isRouterLink() {\n return this.to && !this.href;\n },\n // Checks if the component is already a children of another\n // instance of AppNavigationItem\n canHaveChildren() {\n if (this.$parent.$options._componentTag === \"AppNavigationItem\") {\n return false;\n } else {\n return true;\n }\n },\n hasUtils() {\n if (this.$scopedSlots.actions || this.$scopedSlots.counter || this.editable || this.undo) {\n return true;\n }\n return false;\n },\n editButtonAriaLabel() {\n return this.editLabel ? this.editLabel : t(\"Edit item\");\n },\n undoButtonAriaLabel() {\n return t(\"Undo changes\");\n }\n },\n watch: {\n open(newVal) {\n this.opened = newVal;\n }\n },\n mounted() {\n this.actionsBoundariesElement = document.querySelector(\"#content-vue\") || void 0;\n },\n methods: {\n // sync opened menu state with prop\n onMenuToggle(state) {\n this.$emit(\"update:menuOpen\", state);\n this.menuOpenLocalValue = state;\n },\n // toggle the collapsible state\n toggleCollapse() {\n this.opened = !this.opened;\n this.$emit(\"update:open\", this.opened);\n },\n /**\n * Handle link click\n *\n * @param {PointerEvent} event - Native click event\n * @param {Function} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n // Edition methods\n handleEdit() {\n this.editingValue = this.name;\n this.editingActive = true;\n this.onMenuToggle(false);\n this.$nextTick(() => {\n this.$refs.editingInput.focusInput();\n });\n },\n cancelEditing() {\n this.editingActive = false;\n },\n handleEditingDone() {\n this.$emit(\"update:name\", this.editingValue);\n this.editingValue = \"\";\n this.editingActive = false;\n },\n // Undo methods\n handleUndo() {\n this.$emit(\"undo\");\n },\n /**\n * Does this item have children and is collapsing allowed via the prop?\n *\n * @return {boolean} True, if the item can be collapsed\n */\n isCollapsible() {\n return this.allowCollapse && !!this.$scopedSlots.default;\n },\n /**\n * Show actions upon focus\n */\n handleFocus() {\n this.focused = true;\n },\n handleBlur() {\n this.focused = false;\n },\n /**\n * This method checks if the root element of the component is focused and\n * if that's the case it focuses the actions button if available\n *\n * @param {Event} e the keydown event\n */\n handleTab(e) {\n if (!this.$refs.actions) {\n return;\n }\n if (this.focused) {\n e.preventDefault();\n this.$refs.actions.$refs.triggerButton.$el.focus();\n this.focused = false;\n } else {\n this.$refs.actions.$refs.triggerButton.$el.blur();\n }\n },\n /**\n * Is this an external link\n *\n * @param {string} href The link to check\n * @return {boolean} Whether it is external or not\n */\n isExternal(href) {\n return href && href.match(/[a-z]+:\\/\\//i);\n }\n }\n};\nvar _sfc_render = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"app-navigation-entry-wrapper\", class: {\n \"app-navigation-entry--opened\": _vm.opened,\n \"app-navigation-entry--pinned\": _vm.pinned,\n \"app-navigation-entry--collapsible\": _vm.isCollapsible()\n }, attrs: { \"id\": _vm.id } }, [_c(_vm.isRouterLink ? \"router-link\" : \"NcVNodes\", { tag: \"component\", attrs: { \"custom\": _vm.isRouterLink ? true : false, \"to\": _vm.to, \"exact\": _vm.isRouterLink ? _vm.exact : null }, scopedSlots: _vm._u([{ key: \"default\", fn: function({ href: routerLinkHref, navigate, isActive }) {\n return [_c(\"div\", { staticClass: \"app-navigation-entry\", class: {\n \"app-navigation-entry--editing\": _vm.editingActive,\n \"app-navigation-entry--deleted\": _vm.undo,\n \"active\": isActive && _vm.to || _vm.active\n } }, [!_vm.undo ? _c(\"a\", { staticClass: \"app-navigation-entry-link\", attrs: { \"aria-current\": _vm.active || isActive && _vm.to ? \"page\" : void 0, \"aria-description\": _vm.ariaDescription, \"aria-expanded\": _vm.$scopedSlots.default ? _vm.opened.toString() : void 0, \"href\": _vm.href || routerLinkHref || \"#\", \"target\": _vm.isExternal(_vm.href) ? \"_blank\" : void 0, \"title\": _vm.title || _vm.name }, on: { \"blur\": _vm.handleBlur, \"click\": function($event) {\n return _vm.onClick($event, navigate, routerLinkHref);\n }, \"focus\": _vm.handleFocus, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n return _vm.handleTab.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation-entry-icon\", class: { [_vm.icon]: _vm.icon } }, [_vm.loading ? _c(\"NcLoadingIcon\") : _vm._t(\"icon\")], 2), !_vm.editingActive ? _c(\"span\", { staticClass: \"app-navigation-entry__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.editingActive ? _c(\"div\", { staticClass: \"editingContainer\" }, [_c(\"NcInputConfirmCancel\", { ref: \"editingInput\", attrs: { \"placeholder\": _vm.editPlaceholder !== \"\" ? _vm.editPlaceholder : _vm.name, \"primary\": isActive && _vm.to || _vm.active }, on: { \"cancel\": _vm.cancelEditing, \"confirm\": _vm.handleEditingDone }, model: { value: _vm.editingValue, callback: function($$v) {\n _vm.editingValue = $$v;\n }, expression: \"editingValue\" } })], 1) : _vm._e()]) : _vm._e(), _vm.undo ? _c(\"div\", { staticClass: \"app-navigation-entry__deleted\" }, [_c(\"div\", { staticClass: \"app-navigation-entry__deleted-description\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")])]) : _vm._e(), _vm.hasUtils && !_vm.editingActive ? _c(\"div\", { staticClass: \"app-navigation-entry__utils\", class: { \"app-navigation-entry__utils--display-actions\": _vm.forceDisplayActions || _vm.menuOpenLocalValue || _vm.menuOpen } }, [_vm.$scopedSlots.counter ? _c(\"div\", { staticClass: \"app-navigation-entry__counter-wrapper\" }, [_vm._t(\"counter\")], 2) : _vm._e(), _vm.$scopedSlots.actions || _vm.editable && !_vm.editingActive || _vm.undo ? _c(\"NcActions\", { ref: \"actions\", staticClass: \"app-navigation-entry__actions\", attrs: { \"inline\": _vm.inlineActions, \"container\": \"#app-navigation-vue\", \"boundaries-element\": _vm.actionsBoundariesElement, \"placement\": _vm.menuPlacement, \"open\": _vm.menuOpen, \"type\": isActive && _vm.to || _vm.active ? \"primary\" : null, \"force-menu\": _vm.forceMenu, \"default-icon\": _vm.menuIcon }, on: { \"update:open\": _vm.onMenuToggle }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"menu-icon\")];\n }, proxy: true }], null, true) }, [_vm.editable && !_vm.editingActive ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.editButtonAriaLabel }, on: { \"click\": _vm.handleEdit }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Pencil\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.editLabel) + \" \")]) : _vm._e(), _vm.undo ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.undoButtonAriaLabel }, on: { \"click\": _vm.handleUndo }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Undo\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }) : _vm._e(), _vm._t(\"actions\")], 2) : _vm._e()], 1) : _vm._e(), _vm.isCollapsible() ? _c(\"NcAppNavigationIconCollapsible\", { attrs: { \"open\": _vm.opened }, on: { \"click\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.toggleCollapse.apply(null, arguments);\n } } }) : _vm._e(), _vm._t(\"extra\")], 2)];\n } }], null, true) }), _vm.canHaveChildren && _vm.$scopedSlots.default ? _c(\"ul\", { staticClass: \"app-navigation-entry__children\" }, [_vm._t(\"default\")], 2) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"54906a49\"\n);\nconst NcAppNavigationItem = __component__.exports;\nexport {\n NcAppNavigationItem as N\n};\n","const clickOutsideOptions = {\n props: {\n /**\n * A query-selector or an array of query-selectors\n * to be ignored when clicking outside an element\n */\n excludeClickOutsideSelectors: {\n type: [String, Array],\n default: () => []\n }\n },\n computed: {\n clickOutsideOptions() {\n const excludedQuerySelectors = Array.isArray(this.excludeClickOutsideSelectors) ? this.excludeClickOutsideSelectors : [this.excludeClickOutsideSelectors];\n return { ignore: excludedQuerySelectors };\n }\n }\n};\nexport {\n clickOutsideOptions as default\n};\n","import '../assets/NcMentionBubble-BL05HUeF.css';\nimport '../assets/NcAppNavigationSettings-vd47rlNY.css';\nimport { r as register, v as t43, a as t } from \"./_l10n-DDKxBWQL.mjs\";\nimport clickOutsideOptions from \"../Mixins/clickOutsideOptions.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"@nextcloud/router\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/capabilities\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nregister(t43);\nconst _sfc_main$1 = {\n name: \"CogIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon cog-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Cog = __component__$1.exports;\nconst _sfc_main = {\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n Cog\n },\n mixins: [\n clickOutsideOptions\n ],\n props: {\n name: {\n type: String,\n required: false,\n default: t(\"Settings\")\n }\n },\n data() {\n return {\n open: false\n };\n },\n computed: {\n clickOutsideConfig() {\n return [\n this.closeMenu,\n this.clickOutsideOptions\n ];\n }\n },\n methods: {\n toggleMenu() {\n this.open = !this.open;\n },\n closeMenu() {\n this.open = false;\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.clickOutsideConfig, expression: \"clickOutsideConfig\" }], class: { open: _vm.open }, attrs: { \"id\": \"app-settings\" } }, [_c(\"div\", { attrs: { \"id\": \"app-settings__header\" } }, [_c(\"button\", { staticClass: \"settings-button\", attrs: { \"type\": \"button\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-controls\": \"app-settings__content\" }, on: { \"click\": _vm.toggleMenu } }, [_c(\"Cog\", { staticClass: \"settings-button__icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"settings-button__label\" }, [_vm._v(_vm._s(_vm.name))])], 1)]), _c(\"Transition\", { attrs: { \"name\": \"slide-up\" } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.open, expression: \"open\" }], attrs: { \"id\": \"app-settings__content\" } }, [_vm._t(\"default\")], 2)])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d278a327\"\n);\nconst NcAppNavigationSettings = __component__.exports;\nexport {\n NcAppNavigationSettings as N\n};\n","\n \n \n \n\n\n","\n\n\n\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\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('activity', 'Enable RSS feed') }}\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\n\t\t\t\t\n\t\t\t\t\t{{ t('activity', 'Personal notification settings') }}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteConfig } from 'vue-router'\nimport ActivityAppFeed from './views/ActivityAppFeed.vue'\nimport ActivityAppNavigation from './views/ActivityAppNavigation.vue'\n\nexport const routes = [\n\t{\n\t\tpath: '/',\n\t\tname: 'root',\n\t\tredirect: { path: '/all' },\n\t},\n\t{\n\t\tpath: '/:filter?',\n\t\tcomponents: {\n\t\t\tdefault: ActivityAppFeed,\n\t\t\tnavigation: ActivityAppNavigation,\n\t\t},\n\t\tprops: {\n\t\t\tdefault: true,\n\t\t},\n\t},\n] as RouteConfig[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\n\nimport { translate, translatePlural } from '@nextcloud/l10n'\nimport { generateUrl } from '@nextcloud/router'\n\nimport { routes } from './routes'\n\n// Set up Vue\nVue.prototype.t = translate\nVue.prototype.n = translatePlural\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n\tmode: 'history',\n\tbase: generateUrl('/apps/activity'),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nexport default new Vue({\n\tel: '#content',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'ActivityRoot',\n\trouter,\n\trender: h => h(ActivityApp),\n})\n"],"names":["urlAlphabet","nanoid","size","id","_typeof","obj","config","setSelector","selector","isBrowser","TargetContainer","Vue","vm","h","nodes","el","Portal","_this","disabled","parent","child","targetEl","install","_Vue","options","register","t28","contentSvg","navigationSvg","_sfc_main","NcButton","NcIconSvgWrapper","useIsMobile","container","t","emit","value","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","NcContent","ArrowLeft","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","key","__spreadValues","a","b","prop","__spreadProps","__objRest","source","exclude","target","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","context","existing","__vue2_script$1","pane2","event","splitterIndex","totalMinSizes","i","paneId","rect","clientX","clientY","drag","containerSize","sums","minDrag","maxDrag","dragPercentage","panesToResize","paneBefore","paneAfter","paneBeforeMaxReached","paneAfterMaxReached","vars","total","p","isPane","isSplitter","paneIndex","nextPaneNode","isVeryFirst","elm","node","children","_a","_b","args","index","min","max","pane3","removed","changedPanes","equalSpace","leftToAllocate","ungrowable","unshrinkable","definedSizes","leftToAllocate2","addedPane","removedPane","equalSpaceToAllocate","newPaneSize","allocated","enable","splitter","__vue2_render","__vue2_staticRenderFns","__cssModules$1","__component__$1","__vue2_injectStyles$1","o","splitpanes","render","_h","staticRenderFns","__vue2_script","style","__cssModules","__vue2_injectStyles","pane","t25","_sfc_main$1","VTooltip","ArrowRight","isRTL","hide","appNavigationToggle","_sfc_render$1","_sfc_staticRenderFns$1","NcAppDetailsToggle","browserStorage","getBuilder","Pane","Splitpanes","appName","useSwipe","e","direction","listPaneSize","NcAppContent","$placeholder","$fakeParent","$nextSiblingPatched","$childNodesPatched","isFrag","parentNodeDescriptor","patchParentNode","fakeParent","nextSiblingDescriptor","childNodes","patchNextSibling","getTopFragment","fromParent","_node","parentNode","getChildNodes","getChildNodesWithFragments","_childNodesDescriptor","realChildNodes","childNode","childNodesDescriptor","firstChildDescriptor","hasChildNodes","patchChildNodes","before","_this$frag$","remove","frag","getFragmentLeafNodes","_Array$prototype","addPlaceholder","insertBeforeNode","placeholder","removeChild","hasChildInFragment","_this$frag$splice","removedNode","hasChild","insertBefore","insertNode","insertNodes","_frag","_lastNode","removePlaceholder","lastNode","appendChild","lastChild","innerHTMLDescriptor","htmlString","_this2","domify","element","nextSibling","previousSibling","fragment","dateText","computed","today","moment","yesterday","first","props","fullDate","formatted","appIconSVG","useRoute","root","getCurrentInstance","route","effectScope","shallowReactive","to","navigationList","loadState","loading","ref","hasMoreActivites","allActivities","lastActivityLoaded","useInfiniteScroll","loadActivities","groupedActivities","groups","activity","date","headingTitle","navigationEl","since","response","ncAxios","generateOcsUrl","raw","ActivityModel","error","axios","logger","showError","onMounted","watch","disableKeyboardShortcuts","isMac","shouldIgnoreEvent","eventHandler","callback","useHotKey","keysOrFilter","validateKeyEvent","keyFilter","stopKeyDown","onKeyStroke","stopKeyUp","NcAppNavigationList","t18","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","MenuIcon","MenuOpenIcon","NcAppNavigationToggle","subscribe","createFocusTrap","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open","tabbable","activeElement","NcAppNavigation","NcVNodes","ChevronUp","t12","Close","newValue","NcInputConfirmCancel","t19","_sfc_main$3","ChevronDown","_sfc_render$3","_sfc_staticRenderFns$3","__component__$3","NcAppNavigationIconCollapsible","t20","t47","Pencil","Undo","NcActions","NcActionButton","NcLoadingIcon","GenRandomId","newVal","navigate","routerLinkHref","href","isActive","$$v","NcAppNavigationItem","clickOutsideOptions","t43","Cog","vOnClickOutside","NcAppNavigationSettings","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","routes","ActivityAppFeed","ActivityAppNavigation","translate","translatePlural","VueRouter","router","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,9,11,12,13,14,15,16,17,18,19,20,21]}
\ No newline at end of file
diff --git a/src/views/ActivityAppFeed.vue b/src/views/ActivityAppFeed.vue
index 216bccb5e..1c04eafb8 100644
--- a/src/views/ActivityAppFeed.vue
+++ b/src/views/ActivityAppFeed.vue
@@ -156,7 +156,10 @@ async function loadActivities() {
)
allActivities.value.push(...response.data.ocs.data.map((raw) => new ActivityModel(raw)))
lastActivityLoaded.value = response.headers['x-activity-last-given']
- hasMoreActivites.value = true
+ // If less than the hardcoded limit, there are no more activities
+ if (response.data.ocs.data.length < 50) {
+ hasMoreActivites.value = false
+ }
} catch (error) {
// Skip if no activites are available
if (axios.isAxiosError(error) && error.response?.status === 304) {