From ef150297a2d829e8ab0440726e8f6f256937d699 Mon Sep 17 00:00:00 2001 From: "Jan C. Borchardt" <925062+jancborchardt@users.noreply.github.com> Date: Tue, 2 Jun 2026 03:15:24 +0200 Subject: [PATCH 1/4] refactor(stream): visually hide the redundant activity feed heading The

showed the active filter's name, which the app navigation already indicates, so it only added visual noise. Keep it in the DOM for document semantics and screen readers but hide it with hidden-visually, and drop its now-unused visual styling so it cannot affect layout. Adjust the stream e2e tests to assert the heading's content rather than its visibility. AI-assisted: Claude Code (Opus 4.8) Signed-off-by: Jan C. Borchardt <925062+jancborchardt@users.noreply.github.com> --- js/activity-app.mjs | 4 ++-- js/activity-app.mjs.map | 2 +- playwright/e2e/stream.spec.ts | 14 ++++++++++---- src/views/ActivityAppFeed.vue | 12 ++---------- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/js/activity-app.mjs b/js/activity-app.mjs index 3e31590ff..b987be91b 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;inset-inline-start:0!important;width:100vw;height:100vh;padding:var(--body-container-margin)!important;-webkit-backdrop-filter:brightness(50%);backdrop-filter:brightness(50%)}@media only screen and (min-width:1024px){.content:not(.content--legacy) .app-navigation:not(.app-navigation--closed):not(.app-navigation--close)~.app-content{border-inline-start:1px solid var(--color-border);border-start-start-radius:var(--body-container-radius);border-end-start-radius:var(--body-container-radius)}}.material-design-icon[data-v-91d07631]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-skip-actions__container[data-v-91d07631]{background-color:var(--color-main-background);border-radius:var(--border-radius-element);padding:22px}.vue-skip-actions__headline[data-v-91d07631]{font-weight:var(--font-weight-heading, bold);font-size:20px;line-height:30px;margin-bottom:12px}.vue-skip-actions__buttons[data-v-91d07631]{display:flex;flex-wrap:wrap;gap:12px}.vue-skip-actions__buttons[data-v-91d07631]>*{flex:1 0 fit-content}.vue-skip-actions__image[data-v-91d07631]{margin-top:12px}.vue-skip-actions__image[data-v-91d07631]:dir(rtl){transform:rotateY(180deg)}.content[data-v-91d07631]{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-91d07631]:not(.content--legacy){background-color:var(--color-main-background-blur, var(--color-main-background));backdrop-filter:var(--filter-background-blur, none);-webkit-backdrop-filter:var(--filter-background-blur, none)}.content[data-v-91d07631]:not(.with-sidebar--full){position:fixed}.content[data-v-91d07631],.content[data-v-91d07631] *{box-sizing:border-box}.material-design-icon[data-v-a28923a1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-a28923a1]{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-a28923a1]{inset-inline-start:var(--app-navigation-padding)}.app-details-toggle[data-v-a28923a1]:active,.app-details-toggle[data-v-a28923a1]:hover,.app-details-toggle[data-v-a28923a1]:focus{opacity:1}.material-design-icon[data-v-ea1e6879]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-ea1e6879]{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-ea1e6879]:not(.app-content--has-list){overflow:auto}.app-content-wrapper[data-v-ea1e6879]{position:relative;width:100%;height:100%}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-ea1e6879] .app-content-list{display:flex}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-ea1e6879] .app-content-details,.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-ea1e6879] .app-content-list{display:none}.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-ea1e6879] .app-content-details{display:block}[data-v-ea1e6879] .splitpanes.default-theme .app-content-list{max-width:none;scrollbar-width:auto}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane{background-color:transparent;transition:none}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane-list{min-width:300px;position:sticky}@media only screen and (width<1024px){[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:auto}@media only screen and (width<1024px){[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__splitter{background-color:var(--color-main-background)}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__splitter:after{background-color:var(--color-border)}[data-v-ea1e6879] .splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter{border-inline-start:1px solid var(--color-border)}[data-v-ea1e6879] .splitpanes.default-theme.splitpanes--horizontal .splitpanes__splitter{border-top:1px solid var(--color-border)}.app-content-wrapper--show-list[data-v-ea1e6879] .app-content-list{max-width:none}.app-content-wrapper__list[data-v-ea1e6879]{height:100%}.splitpanes{display:flex;width:100%;height:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane,*:has(.splitpanes--dragging){-webkit-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out;will-change:width}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out;will-change:height}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{background-color:#fff;box-sizing:border-box;position:relative;flex-shrink:0}.default-theme.splitpanes .splitpanes__splitter:before,.default-theme.splitpanes .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;transition:background-color .3s}.default-theme.splitpanes .splitpanes__splitter:hover:before,.default-theme.splitpanes .splitpanes__splitter:hover:after{background-color:#00000040}.default-theme.splitpanes .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{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{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-36bba25c]{line-height:1.5;margin-block:30px 12px}.activity-group__heading[data-v-36bba25c]:first-of-type{margin-block-start:0}.activity-app[data-v-42a0aad3]{display:flex;flex-direction:column;overflow:hidden}.activity-app__empty-content[data-v-42a0aad3]{height:100%}.activity-app__loading-indicator[data-v-42a0aad3]{color:var(--color-text-maxcontrast);justify-self:center;margin-block:30px 6px;text-align:center}.activity-app__container[data-v-42a0aad3]{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__new-activities-indicator[data-v-42a0aad3]{position:sticky;top:8px;align-self:center;z-index:10;padding:6px 16px;border-radius:var(--border-radius-pill);border:none;background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:700;cursor:pointer;box-shadow:0 2px 8px var(--color-box-shadow)}.activity-app__new-activities-indicator[data-v-42a0aad3]:hover{background-color:var(--color-primary-element-hover)}.activity-app__heading[data-v-42a0aad3]{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[data-v-5a15295d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-toggle-wrapper[data-v-5a15295d]{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-5a15295d]{background-color:var(--color-main-background)}.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-3b634fbd]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-3b634fbd]{--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%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-grow:0;flex-shrink:0;background-color:transparent}.app-navigation--legacy[data-v-3b634fbd]{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--closed[data-v-3b634fbd]{margin-inline-start:calc(-1*min(300px,var(--app-navigation-max-width)))}.app-navigation__search[data-v-3b634fbd]{width:100%}.app-navigation__body[data-v-3b634fbd]{overflow-y:scroll}.app-navigation__content>ul[data-v-3b634fbd]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.app-navigation .app-navigation__list[data-v-3b634fbd]{height:100%}.app-navigation__body--no-list[data-v-3b634fbd]{flex:1 1 auto;overflow:auto;height:100%}.app-navigation__content[data-v-3b634fbd]{height:100%;display:flex;flex-direction:column}[data-themes*=highcontrast] .app-navigation[data-v-3b634fbd]{border-inline-end:1px solid var(--color-border)}@media only screen and (max-width:1024px){.app-navigation[data-v-3b634fbd]{position:absolute;border-inline-end:1px solid var(--color-border);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)}}@media only screen and (max-width:512px){.app-navigation[data-v-3b634fbd]{z-index:1400}}.material-design-icon[data-v-d72957ed]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-list[data-v-d72957ed]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.material-design-icon[data-v-acf5ed2f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-collapse[data-v-acf5ed2f]{position:relative;inset-inline-end:0}.icon-collapse[data-v-acf5ed2f]:hover{background-color:var(--color-background-dark)!important}.icon-collapse--active[data-v-acf5ed2f]:hover{background-color:var(--color-primary-element)!important}.material-design-icon[data-v-e4d562ae]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry[data-v-e4d562ae]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;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)}.app-navigation-entry-wrapper[data-v-e4d562ae]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;width:100%}.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul[data-v-e4d562ae]{display:none}.app-navigation-entry:not(.app-navigation-entry--legacy).active[data-v-e4d562ae]{background-color:var(--color-primary-element-light)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active[data-v-e4d562ae]:hover{background-color:var(--color-primary-element-light-hover)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-e4d562ae],.app-navigation-entry:not(.app-navigation-entry--legacy).active:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-e4d562ae]{color:var(--color-main-text)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active[data-v-e4d562ae]:not(.app-navigation-entry--editing):before{content:"";position:absolute;inset-block:calc(var(--default-grid-baseline, 4px) * 2);inset-inline-start:0;width:3px;background-color:var(--color-primary-element);border-radius:999px;animation:nc-nav-stripe-in-e4d562ae var(--animation-quick, .2s) ease-out}.app-navigation-entry.app-navigation-entry--legacy.active[data-v-e4d562ae]{background-color:var(--color-primary-element)!important}.app-navigation-entry.app-navigation-entry--legacy.active[data-v-e4d562ae]:hover{background-color:var(--color-primary-element-hover)!important}.app-navigation-entry.app-navigation-entry--legacy.active .app-navigation-entry-link[data-v-e4d562ae],.app-navigation-entry.app-navigation-entry--legacy.active .app-navigation-entry-button[data-v-e4d562ae]{color:var(--color-primary-element-text)!important}.app-navigation-entry[data-v-e4d562ae]:focus-within,.app-navigation-entry[data-v-e4d562ae]:hover{background-color:var(--color-background-hover)}.app-navigation-entry[data-v-e4d562ae]:not(.app-navigation-entry--legacy):focus-within,.app-navigation-entry[data-v-e4d562ae]:not(.app-navigation-entry--legacy):hover{background-color:color-mix(in srgb,var(--color-primary-element) 8%,transparent)}.app-navigation-entry.active .app-navigation-entry__children[data-v-e4d562ae],.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-e4d562ae],.app-navigation-entry:hover .app-navigation-entry__children[data-v-e4d562ae]{background-color:var(--color-main-background)}.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae],.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae],.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae],.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae],.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae]{display:inline-block}.app-navigation-entry .app-navigation-entry__actions[data-v-e4d562ae]:hover .button-vue{background-color:var(--color-background-dark)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active .app-navigation-entry__actions[data-v-e4d562ae]:hover .button-vue{background-color:var(--color-background-dark)!important}.app-navigation-entry.app-navigation-entry--legacy.active .app-navigation-entry__actions[data-v-e4d562ae]:hover .button-vue{background-color:var(--color-primary-element)!important}.app-navigation-entry.app-navigation-entry--deleted>ul[data-v-e4d562ae]{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-e4d562ae],.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-e4d562ae]{padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2)}.app-navigation-entry .app-navigation-entry-link[data-v-e4d562ae],.app-navigation-entry .app-navigation-entry-button[data-v-e4d562ae]{z-index:100;display:flex;overflow:hidden;flex:1 1 0;min-height:var(--default-clickable-area);padding:0;white-space:nowrap;color:var(--color-main-text);font-weight:500;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-e4d562ae],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-e4d562ae]{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-e4d562ae],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-e4d562ae]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--font-weight-element, normal)}.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-e4d562ae],.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-e4d562ae]{width:calc(100% - var(--default-clickable-area));margin:auto}.app-navigation-entry .app-navigation-entry-link[data-v-e4d562ae]:focus-visible,.app-navigation-entry .app-navigation-entry-button[data-v-e4d562ae]: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)}.app-navigation-entry__children[data-v-e4d562ae]{--app-navigation-item-child-offset: 10px;position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%;gap:var(--default-grid-baseline, 4px);padding-inline-start:var(--app-navigation-item-child-offset)}.app-navigation-entry__children .app-navigation-entry[data-v-e4d562ae]{display:inline-flex;flex-wrap:wrap}.app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children[data-v-e4d562ae]{--app-navigation-item-child-offset: 0}.app-navigation-entry__deleted[data-v-e4d562ae]{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-e4d562ae]{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-e4d562ae]{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-e4d562ae]{display:inline-block}.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-e4d562ae]{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-e4d562ae]{display:none}.app-navigation-entry--editing .app-navigation-entry-edit[data-v-e4d562ae]{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-e4d562ae]{z-index:250;transform:translate(0)}.app-navigation-entry--pinned[data-v-e4d562ae]{order:2;margin-top:auto}.app-navigation-entry--pinned~.app-navigation-entry--pinned[data-v-e4d562ae]{margin-top:0}[data-themes*=highcontrast] .app-navigation-entry[data-v-e4d562ae]:active{background-color:var(--color-primary-element-light-hover)!important}@keyframes nc-nav-stripe-in-e4d562ae{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.material-design-icon[data-v-a8724c7f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm[data-v-a8724c7f]{flex:1 0 100%;width:100%}.app-navigation-input-confirm form[data-v-a8724c7f]{display:flex}.app-navigation-input-confirm__input[data-v-a8724c7f]{height:34px;flex:1 1 100%;font-size:100%!important;margin:5px!important;margin-inline-start:-8px!important;padding:7px!important}.app-navigation-input-confirm__input[data-v-a8724c7f]:active,.app-navigation-input-confirm__input[data-v-a8724c7f]:focus,.app-navigation-input-confirm__input[data-v-a8724c7f]:hover{outline:none;background-color:var(--color-main-background);color:var(--color-main-text);border-color:var(--color-primary-element)}.app-navigation-input-confirm:not(.app-navigation-input-confirm--legacy) form[data-v-a8724c7f]{align-items:center;gap:5px;padding-inline-end:5px}.app-navigation-input-confirm:not(.app-navigation-input-confirm--legacy) .app-navigation-input-confirm__input[data-v-a8724c7f]{margin-inline-end:0!important}.app-navigation-input-confirm[data-v-a8724c7f]:not(.app-navigation-input-confirm--legacy) .button-vue{width:34px!important;min-width:34px!important;height:34px!important;flex:0 0 34px}._container_RFk6U{margin-top:auto;padding:var(--default-grid-baseline)}._header_2CtDS{margin-block:0 var(--default-grid-baseline);margin-inline:var(--default-grid-baseline)}._button_tAyis{padding-inline:0 calc((var(--default-clickable-area) - 16px) / 2)!important}._button_tAyis .button-vue__text{font-weight:var(--font-weight-default, normal)}._content_--KYD{display:block;padding:10px;margin-bottom:calc(-1 * var(--default-grid-baseline));max-height:300px;overflow-y:auto}._animationActive_DAG1p{transition-duration:var(--animation-slow);transition-property:max-height,padding;overflow-y:hidden!important}._animationStop_fWYQj{max-height:0!important;padding:0 10px!important}.app-activity .settings-link{max-width:100%}.app-activity .app-navigation-entry.active.app-navigation-entry--legacy .navigation-icon{filter:var(--primary-invert-if-dark)}.app-activity .app-navigation-entry.active:not(.app-navigation-entry--legacy) .navigation-icon,.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;inset-inline-start:0!important;width:100vw;height:100vh;padding:var(--body-container-margin)!important;-webkit-backdrop-filter:brightness(50%);backdrop-filter:brightness(50%)}@media only screen and (min-width:1024px){.content:not(.content--legacy) .app-navigation:not(.app-navigation--closed):not(.app-navigation--close)~.app-content{border-inline-start:1px solid var(--color-border);border-start-start-radius:var(--body-container-radius);border-end-start-radius:var(--body-container-radius)}}.material-design-icon[data-v-91d07631]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-skip-actions__container[data-v-91d07631]{background-color:var(--color-main-background);border-radius:var(--border-radius-element);padding:22px}.vue-skip-actions__headline[data-v-91d07631]{font-weight:var(--font-weight-heading, bold);font-size:20px;line-height:30px;margin-bottom:12px}.vue-skip-actions__buttons[data-v-91d07631]{display:flex;flex-wrap:wrap;gap:12px}.vue-skip-actions__buttons[data-v-91d07631]>*{flex:1 0 fit-content}.vue-skip-actions__image[data-v-91d07631]{margin-top:12px}.vue-skip-actions__image[data-v-91d07631]:dir(rtl){transform:rotateY(180deg)}.content[data-v-91d07631]{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-91d07631]:not(.content--legacy){background-color:var(--color-main-background-blur, var(--color-main-background));backdrop-filter:var(--filter-background-blur, none);-webkit-backdrop-filter:var(--filter-background-blur, none)}.content[data-v-91d07631]:not(.with-sidebar--full){position:fixed}.content[data-v-91d07631],.content[data-v-91d07631] *{box-sizing:border-box}.material-design-icon[data-v-a28923a1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-a28923a1]{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-a28923a1]{inset-inline-start:var(--app-navigation-padding)}.app-details-toggle[data-v-a28923a1]:active,.app-details-toggle[data-v-a28923a1]:hover,.app-details-toggle[data-v-a28923a1]:focus{opacity:1}.material-design-icon[data-v-ea1e6879]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-ea1e6879]{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-ea1e6879]:not(.app-content--has-list){overflow:auto}.app-content-wrapper[data-v-ea1e6879]{position:relative;width:100%;height:100%}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-ea1e6879] .app-content-list{display:flex}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-ea1e6879] .app-content-details,.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-ea1e6879] .app-content-list{display:none}.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-ea1e6879] .app-content-details{display:block}[data-v-ea1e6879] .splitpanes.default-theme .app-content-list{max-width:none;scrollbar-width:auto}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane{background-color:transparent;transition:none}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane-list{min-width:300px;position:sticky}@media only screen and (width<1024px){[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:auto}@media only screen and (width<1024px){[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__splitter{background-color:var(--color-main-background)}[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-ea1e6879] .splitpanes.default-theme .splitpanes__splitter:after{background-color:var(--color-border)}[data-v-ea1e6879] .splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter{border-inline-start:1px solid var(--color-border)}[data-v-ea1e6879] .splitpanes.default-theme.splitpanes--horizontal .splitpanes__splitter{border-top:1px solid var(--color-border)}.app-content-wrapper--show-list[data-v-ea1e6879] .app-content-list{max-width:none}.app-content-wrapper__list[data-v-ea1e6879]{height:100%}.splitpanes{display:flex;width:100%;height:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane,*:has(.splitpanes--dragging){-webkit-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out;will-change:width}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out;will-change:height}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{background-color:#fff;box-sizing:border-box;position:relative;flex-shrink:0}.default-theme.splitpanes .splitpanes__splitter:before,.default-theme.splitpanes .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;transition:background-color .3s}.default-theme.splitpanes .splitpanes__splitter:hover:before,.default-theme.splitpanes .splitpanes__splitter:hover:after{background-color:#00000040}.default-theme.splitpanes .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{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{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-36bba25c]{line-height:1.5;margin-block:30px 12px}.activity-group__heading[data-v-36bba25c]:first-of-type{margin-block-start:0}.activity-app[data-v-62b4d4e2]{display:flex;flex-direction:column;overflow:hidden}.activity-app__empty-content[data-v-62b4d4e2]{height:100%}.activity-app__loading-indicator[data-v-62b4d4e2]{color:var(--color-text-maxcontrast);justify-self:center;margin-block:30px 6px;text-align:center}.activity-app__container[data-v-62b4d4e2]{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__new-activities-indicator[data-v-62b4d4e2]{position:sticky;top:8px;align-self:center;z-index:10;padding:6px 16px;border-radius:var(--border-radius-pill);border:none;background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:700;cursor:pointer;box-shadow:0 2px 8px var(--color-box-shadow)}.activity-app__new-activities-indicator[data-v-62b4d4e2]:hover{background-color:var(--color-primary-element-hover)}.material-design-icon[data-v-5a15295d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-toggle-wrapper[data-v-5a15295d]{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-5a15295d]{background-color:var(--color-main-background)}.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-3b634fbd]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-3b634fbd]{--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%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-grow:0;flex-shrink:0;background-color:transparent}.app-navigation--legacy[data-v-3b634fbd]{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--closed[data-v-3b634fbd]{margin-inline-start:calc(-1*min(300px,var(--app-navigation-max-width)))}.app-navigation__search[data-v-3b634fbd]{width:100%}.app-navigation__body[data-v-3b634fbd]{overflow-y:scroll}.app-navigation__content>ul[data-v-3b634fbd]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.app-navigation .app-navigation__list[data-v-3b634fbd]{height:100%}.app-navigation__body--no-list[data-v-3b634fbd]{flex:1 1 auto;overflow:auto;height:100%}.app-navigation__content[data-v-3b634fbd]{height:100%;display:flex;flex-direction:column}[data-themes*=highcontrast] .app-navigation[data-v-3b634fbd]{border-inline-end:1px solid var(--color-border)}@media only screen and (max-width:1024px){.app-navigation[data-v-3b634fbd]{position:absolute;border-inline-end:1px solid var(--color-border);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)}}@media only screen and (max-width:512px){.app-navigation[data-v-3b634fbd]{z-index:1400}}.material-design-icon[data-v-d72957ed]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-list[data-v-d72957ed]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.material-design-icon[data-v-acf5ed2f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-collapse[data-v-acf5ed2f]{position:relative;inset-inline-end:0}.icon-collapse[data-v-acf5ed2f]:hover{background-color:var(--color-background-dark)!important}.icon-collapse--active[data-v-acf5ed2f]:hover{background-color:var(--color-primary-element)!important}.material-design-icon[data-v-e4d562ae]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry[data-v-e4d562ae]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;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)}.app-navigation-entry-wrapper[data-v-e4d562ae]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;width:100%}.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul[data-v-e4d562ae]{display:none}.app-navigation-entry:not(.app-navigation-entry--legacy).active[data-v-e4d562ae]{background-color:var(--color-primary-element-light)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active[data-v-e4d562ae]:hover{background-color:var(--color-primary-element-light-hover)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-e4d562ae],.app-navigation-entry:not(.app-navigation-entry--legacy).active:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-e4d562ae]{color:var(--color-main-text)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active[data-v-e4d562ae]:not(.app-navigation-entry--editing):before{content:"";position:absolute;inset-block:calc(var(--default-grid-baseline, 4px) * 2);inset-inline-start:0;width:3px;background-color:var(--color-primary-element);border-radius:999px;animation:nc-nav-stripe-in-e4d562ae var(--animation-quick, .2s) ease-out}.app-navigation-entry.app-navigation-entry--legacy.active[data-v-e4d562ae]{background-color:var(--color-primary-element)!important}.app-navigation-entry.app-navigation-entry--legacy.active[data-v-e4d562ae]:hover{background-color:var(--color-primary-element-hover)!important}.app-navigation-entry.app-navigation-entry--legacy.active .app-navigation-entry-link[data-v-e4d562ae],.app-navigation-entry.app-navigation-entry--legacy.active .app-navigation-entry-button[data-v-e4d562ae]{color:var(--color-primary-element-text)!important}.app-navigation-entry[data-v-e4d562ae]:focus-within,.app-navigation-entry[data-v-e4d562ae]:hover{background-color:var(--color-background-hover)}.app-navigation-entry[data-v-e4d562ae]:not(.app-navigation-entry--legacy):focus-within,.app-navigation-entry[data-v-e4d562ae]:not(.app-navigation-entry--legacy):hover{background-color:color-mix(in srgb,var(--color-primary-element) 8%,transparent)}.app-navigation-entry.active .app-navigation-entry__children[data-v-e4d562ae],.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-e4d562ae],.app-navigation-entry:hover .app-navigation-entry__children[data-v-e4d562ae]{background-color:var(--color-main-background)}.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae],.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae],.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae],.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae],.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-e4d562ae]{display:inline-block}.app-navigation-entry .app-navigation-entry__actions[data-v-e4d562ae]:hover .button-vue{background-color:var(--color-background-dark)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active .app-navigation-entry__actions[data-v-e4d562ae]:hover .button-vue{background-color:var(--color-background-dark)!important}.app-navigation-entry.app-navigation-entry--legacy.active .app-navigation-entry__actions[data-v-e4d562ae]:hover .button-vue{background-color:var(--color-primary-element)!important}.app-navigation-entry.app-navigation-entry--deleted>ul[data-v-e4d562ae]{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-e4d562ae],.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-e4d562ae]{padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2)}.app-navigation-entry .app-navigation-entry-link[data-v-e4d562ae],.app-navigation-entry .app-navigation-entry-button[data-v-e4d562ae]{z-index:100;display:flex;overflow:hidden;flex:1 1 0;min-height:var(--default-clickable-area);padding:0;white-space:nowrap;color:var(--color-main-text);font-weight:500;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-e4d562ae],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-e4d562ae]{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-e4d562ae],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-e4d562ae]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--font-weight-element, normal)}.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-e4d562ae],.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-e4d562ae]{width:calc(100% - var(--default-clickable-area));margin:auto}.app-navigation-entry .app-navigation-entry-link[data-v-e4d562ae]:focus-visible,.app-navigation-entry .app-navigation-entry-button[data-v-e4d562ae]: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)}.app-navigation-entry__children[data-v-e4d562ae]{--app-navigation-item-child-offset: 10px;position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%;gap:var(--default-grid-baseline, 4px);padding-inline-start:var(--app-navigation-item-child-offset)}.app-navigation-entry__children .app-navigation-entry[data-v-e4d562ae]{display:inline-flex;flex-wrap:wrap}.app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children[data-v-e4d562ae]{--app-navigation-item-child-offset: 0}.app-navigation-entry__deleted[data-v-e4d562ae]{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-e4d562ae]{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-e4d562ae]{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-e4d562ae]{display:inline-block}.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-e4d562ae]{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-e4d562ae]{display:none}.app-navigation-entry--editing .app-navigation-entry-edit[data-v-e4d562ae]{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-e4d562ae]{z-index:250;transform:translate(0)}.app-navigation-entry--pinned[data-v-e4d562ae]{order:2;margin-top:auto}.app-navigation-entry--pinned~.app-navigation-entry--pinned[data-v-e4d562ae]{margin-top:0}[data-themes*=highcontrast] .app-navigation-entry[data-v-e4d562ae]:active{background-color:var(--color-primary-element-light-hover)!important}@keyframes nc-nav-stripe-in-e4d562ae{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.material-design-icon[data-v-a8724c7f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm[data-v-a8724c7f]{flex:1 0 100%;width:100%}.app-navigation-input-confirm form[data-v-a8724c7f]{display:flex}.app-navigation-input-confirm__input[data-v-a8724c7f]{height:34px;flex:1 1 100%;font-size:100%!important;margin:5px!important;margin-inline-start:-8px!important;padding:7px!important}.app-navigation-input-confirm__input[data-v-a8724c7f]:active,.app-navigation-input-confirm__input[data-v-a8724c7f]:focus,.app-navigation-input-confirm__input[data-v-a8724c7f]:hover{outline:none;background-color:var(--color-main-background);color:var(--color-main-text);border-color:var(--color-primary-element)}.app-navigation-input-confirm:not(.app-navigation-input-confirm--legacy) form[data-v-a8724c7f]{align-items:center;gap:5px;padding-inline-end:5px}.app-navigation-input-confirm:not(.app-navigation-input-confirm--legacy) .app-navigation-input-confirm__input[data-v-a8724c7f]{margin-inline-end:0!important}.app-navigation-input-confirm[data-v-a8724c7f]:not(.app-navigation-input-confirm--legacy) .button-vue{width:34px!important;min-width:34px!important;height:34px!important;flex:0 0 34px}._container_RFk6U{margin-top:auto;padding:var(--default-grid-baseline)}._header_2CtDS{margin-block:0 var(--default-grid-baseline);margin-inline:var(--default-grid-baseline)}._button_tAyis{padding-inline:0 calc((var(--default-clickable-area) - 16px) / 2)!important}._button_tAyis .button-vue__text{font-weight:var(--font-weight-default, normal)}._content_--KYD{display:block;padding:10px;margin-bottom:calc(-1 * var(--default-grid-baseline));max-height:300px;overflow-y:auto}._animationActive_DAG1p{transition-duration:var(--animation-slow);transition-property:max-height,padding;overflow-y:hidden!important}._animationStop_fWYQj{max-height:0!important;padding:0 10px!important}.app-activity .settings-link{max-width:100%}.app-activity .app-navigation-entry.active.app-navigation-entry--legacy .navigation-icon{filter:var(--primary-invert-if-dark)}.app-activity .app-navigation-entry.active:not(.app-navigation-entry--legacy) .navigation-icon,.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{e as le,g as mt,a as Re,s as gt,u as ft,b as We}from"./index-DxSbrVwz.chunk.mjs";import{d as X,o as yt,a as r,c as m,b as S,e as D,t as N,u as v,w as oe,v as he,f as L,g as z,h as ae,i as Q,T as Ct,r as A,n as B,j as V,k as $,p as Y,l as pe,m as T,q as bt,s as te,x as ge,y as Pe,z as Xe,A as ie,B as xt,C as _t,D as wt,E as k,F as me,G as ne,H as Ye,I as zt,J as $e,K as Oe,L as Ae,M,N as Je,O as kt,P as St,Q as Me,R as Dt,S as Lt,U as Et,V as Nt,W as Pt,X as $t}from"./translation-DoG5ZELJ-aI5-wD1r.chunk.mjs";import{r as se,t as At,_ as H,a as Z,N as J,b as ee,i as fe,u as ye,l as ve,c as we,d as Mt,e as Bt,f as Le,g as Be,h as Ie,j as Ee,k as xe,m as Ne,n as It,o as Vt,p as Tt,q as Ht,s as Rt,v as Ot,w as Ft,x as Zt,y as Ut,z as Kt,A as jt,B as qt,C as Gt}from"./_plugin-vue_export-helper-ethH7c1Z.chunk.mjs";import{s as Qe,a as Wt}from"./index-C1xmmKTZ-DaF1grv2.chunk.mjs";import{g as Xt,u as Yt,m as Jt,a as Fe,b as Ze,_ as Qt,c as ue,d as ei,A as Ue,N as Ke,e as ti,f as ii,h as ai,i as ni,j as li,o as si,k as oi,l as ri}from"./ActivityComponent.vue_vue_type_script_setup_true_lang-BvEev7bF.chunk.mjs";import{l as ze}from"./logger-BgVM16Kc.chunk.mjs";import"./preload-helper-DxYC2qmj.chunk.mjs";const _e="activity",ht="8.0.0-dev.0",et=Symbol.for("NcContent:setHasAppNavigation"),ci=Symbol.for("NcContent:selector");se(At);const di=`\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst navigationSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst _hoisted_1 = { class: \"vue-skip-actions__container\" };\nconst _hoisted_2 = { class: \"vue-skip-actions__headline\" };\nconst _hoisted_3 = { class: \"vue-skip-actions__buttons\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcContent\",\n props: {\n appName: {}\n },\n setup(__props) {\n const props = __props;\n provide(HAS_APP_NAVIGATION_KEY, setAppNavigation);\n provide(CONTENT_SELECTOR_KEY, \"#content-vue\");\n provide(\"appName\", computed(() => props.appName));\n const isMobile = useIsMobile();\n const hasAppNavigation = ref(false);\n const currentFocus = ref();\n const currentImage = computed(() => currentFocus.value === \"navigation\" ? navigationSvg : contentSvg);\n onBeforeMount(() => {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n });\n function openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n }\n function setAppNavigation(value) {\n hasAppNavigation.value = value;\n if (!currentFocus.value) {\n currentFocus.value = \"navigation\";\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: \"content-vue\",\n class: normalizeClass([\"content\", [`app-${_ctx.appName.toLowerCase()}`, { \"content--legacy\": unref(isLegacy34) }]])\n }, [\n (openBlock(), createBlock(Teleport, { to: \"#skip-actions\" }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, toDisplayString(unref(t)(\"Keyboard navigation help\")), 1),\n createElementVNode(\"div\", _hoisted_3, [\n withDirectives(createVNode(NcButton, {\n href: \"#app-navigation-vue\",\n variant: \"tertiary\",\n onClick: withModifiers(openAppNavigation, [\"prevent\"]),\n onFocusin: _cache[0] || (_cache[0] = ($event) => currentFocus.value = \"navigation\"),\n onMouseover: _cache[1] || (_cache[1] = ($event) => currentFocus.value = \"navigation\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to app navigation\")), 1)\n ]),\n _: 1\n }, 512), [\n [vShow, hasAppNavigation.value]\n ]),\n createVNode(NcButton, {\n href: \"#app-content-vue\",\n variant: \"tertiary\",\n onFocusin: _cache[2] || (_cache[2] = ($event) => currentFocus.value = \"content\"),\n onMouseover: _cache[3] || (_cache[3] = ($event) => currentFocus.value = \"content\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to main content\")), 1)\n ]),\n _: 1\n })\n ]),\n withDirectives(createVNode(NcIconSvgWrapper, {\n class: \"vue-skip-actions__image\",\n svg: currentImage.value,\n size: \"auto\"\n }, null, 8, [\"svg\"]), [\n [vShow, !unref(isMobile)]\n ])\n ])\n ])),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2);\n };\n }\n});\nconst NcContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-91d07631\"]]);\nexport {\n NcContent as N\n};\n//# sourceMappingURL=NcContent-Dd15hgck.mjs.map\n","\n\n\n\n\n","import { useSlots as ce, ref as k, computed as z, watch as B, onMounted as G, onBeforeUnmount as X, provide as g, createBlock as ve, openBlock as Y, resolveDynamicComponent as me, nextTick as T, h as fe, inject as w, getCurrentInstance as de, createElementBlock as pe, normalizeStyle as ze, unref as he, renderSlot as xe } from \"vue\";\nconst Pe = {\n __name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean, default: !1 },\n pushOtherPanes: { type: Boolean, default: !0 },\n maximizePanes: { type: Boolean, default: !0 },\n // Maximize pane on splitter double click/tap.\n rtl: { type: Boolean, default: !1 },\n // Right to left direction.\n firstSplitter: { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"resize\",\n \"resized\",\n \"pane-click\",\n \"pane-maximize\",\n \"pane-add\",\n \"pane-remove\",\n \"splitter-click\",\n \"splitter-dblclick\"\n ],\n setup(D, { emit: h }) {\n const y = h, u = D, E = ce(), l = k([]), M = z(() => l.value.reduce((e, n) => (e[~~n.id] = n) && e, {})), m = z(() => l.value.length), x = k(null), S = k(!1), c = k({\n mouseDown: !1,\n dragging: !1,\n activeSplitter: null,\n cursorOffset: 0\n // Cursor offset within the splitter.\n }), f = k({\n // Used to detect double click on touch devices.\n splitter: null,\n timeoutId: null\n }), _ = z(() => ({\n [`splitpanes splitpanes--${u.horizontal ? \"horizontal\" : \"vertical\"}`]: !0,\n \"splitpanes--dragging\": c.value.dragging\n })), R = () => {\n document.addEventListener(\"mousemove\", r, { passive: !1 }), document.addEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.addEventListener(\"touchmove\", r, { passive: !1 }), document.addEventListener(\"touchend\", P));\n }, O = () => {\n document.removeEventListener(\"mousemove\", r, { passive: !1 }), document.removeEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.removeEventListener(\"touchmove\", r, { passive: !1 }), document.removeEventListener(\"touchend\", P));\n }, b = (e, n) => {\n const t = e.target.closest(\".splitpanes__splitter\");\n if (t) {\n const { left: i, top: a } = t.getBoundingClientRect(), { clientX: s, clientY: o } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n c.value.cursorOffset = u.horizontal ? o - a : s - i;\n }\n R(), c.value.mouseDown = !0, c.value.activeSplitter = n;\n }, r = (e) => {\n c.value.mouseDown && (e.preventDefault(), c.value.dragging = !0, requestAnimationFrame(() => {\n K(I(e)), d(\"resize\", { event: e }, !0);\n }));\n }, P = (e) => {\n c.value.dragging && (window.getSelection().removeAllRanges(), d(\"resized\", { event: e }, !0)), c.value.mouseDown = !1, c.value.activeSplitter = null, setTimeout(() => {\n c.value.dragging = !1, O();\n }, 100);\n }, A = (e, n) => {\n \"ontouchstart\" in window && (e.preventDefault(), f.value.splitter === n ? (clearTimeout(f.value.timeoutId), f.value.timeoutId = null, U(e, n), f.value.splitter = null) : (f.value.splitter = n, f.value.timeoutId = setTimeout(() => f.value.splitter = null, 500))), c.value.dragging || d(\"splitter-click\", { event: e, index: n }, !0);\n }, U = (e, n) => {\n if (d(\"splitter-dblclick\", { event: e, index: n }, !0), u.maximizePanes) {\n let t = 0;\n l.value = l.value.map((i, a) => (i.size = a === n ? i.max : i.min, a !== n && (t += i.min), i)), l.value[n].size -= t, d(\"pane-maximize\", { event: e, index: n, pane: l.value[n] }), d(\"resized\", { event: e, index: n }, !0);\n }\n }, W = (e, n) => {\n d(\"pane-click\", {\n event: e,\n index: M.value[n].index,\n pane: M.value[n]\n });\n }, I = (e) => {\n const n = x.value.getBoundingClientRect(), { clientX: t, clientY: i } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n return {\n x: t - (u.horizontal ? 0 : c.value.cursorOffset) - n.left,\n y: i - (u.horizontal ? c.value.cursorOffset : 0) - n.top\n };\n }, J = (e) => {\n e = e[u.horizontal ? \"y\" : \"x\"];\n const n = x.value[u.horizontal ? \"clientHeight\" : \"clientWidth\"];\n return u.rtl && !u.horizontal && (e = n - e), e * 100 / n;\n }, K = (e) => {\n const n = c.value.activeSplitter;\n let t = {\n prevPanesSize: $(n),\n nextPanesSize: N(n),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const i = 0 + (u.pushOtherPanes ? 0 : t.prevPanesSize), a = 100 - (u.pushOtherPanes ? 0 : t.nextPanesSize), s = Math.max(Math.min(J(e), a), i);\n let o = [n, n + 1], v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n const H = v.max < 100 && s >= v.max + t.prevPanesSize, ue = p.max < 100 && s <= 100 - (p.max + N(n + 1));\n if (H || ue) {\n H ? (v.size = v.max, p.size = Math.max(100 - v.max - t.prevPanesSize - t.nextPanesSize, 0)) : (v.size = Math.max(100 - p.max - t.prevPanesSize - N(n + 1), 0), p.size = p.max);\n return;\n }\n if (u.pushOtherPanes) {\n const j = Q(t, s);\n if (!j) return;\n ({ sums: t, panesToResize: o } = j), v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n }\n v !== null && (v.size = Math.min(Math.max(s - t.prevPanesSize - t.prevReachedMinPanes, v.min), v.max)), p !== null && (p.size = Math.min(Math.max(100 - s - t.nextPanesSize - t.nextReachedMinPanes, p.min), p.max));\n }, Q = (e, n) => {\n const t = c.value.activeSplitter, i = [t, t + 1];\n return n < e.prevPanesSize + l.value[i[0]].min && (i[0] = V(t).index, e.prevReachedMinPanes = 0, i[0] < t && l.value.forEach((a, s) => {\n s > i[0] && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), e.prevPanesSize = $(i[0]), i[0] === void 0) ? (e.prevReachedMinPanes = 0, l.value[0].size = l.value[0].min, l.value.forEach((a, s) => {\n s > 0 && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), l.value[i[1]].size = 100 - e.prevReachedMinPanes - l.value[0].min - e.prevPanesSize - e.nextPanesSize, null) : n > 100 - e.nextPanesSize - l.value[i[1]].min && (i[1] = Z(t).index, e.nextReachedMinPanes = 0, i[1] > t + 1 && l.value.forEach((a, s) => {\n s > t && s < i[1] && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), e.nextPanesSize = N(i[1] - 1), i[1] === void 0) ? (e.nextReachedMinPanes = 0, l.value.forEach((a, s) => {\n s < m.value - 1 && s >= t + 1 && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), l.value[i[0]].size = 100 - e.prevPanesSize - N(i[0] - 1), null) : { sums: e, panesToResize: i };\n }, $ = (e) => l.value.reduce((n, t, i) => n + (i < e ? t.size : 0), 0), N = (e) => l.value.reduce((n, t, i) => n + (i > e + 1 ? t.size : 0), 0), V = (e) => [...l.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, Z = (e) => l.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, ee = () => {\n var n;\n const e = Array.from(((n = x.value) == null ? void 0 : n.children) || []);\n for (const t of e) {\n const i = t.classList.contains(\"splitpanes__pane\"), a = t.classList.contains(\"splitpanes__splitter\");\n !i && !a && (t.remove(), console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\"));\n }\n }, F = (e, n, t = !1) => {\n const i = e - 1, a = document.createElement(\"div\");\n a.classList.add(\"splitpanes__splitter\"), t || (a.onmousedown = (s) => b(s, i), typeof window < \"u\" && \"ontouchstart\" in window && (a.ontouchstart = (s) => b(s, i)), a.onclick = (s) => A(s, i + 1)), a.ondblclick = (s) => U(s, i + 1), n.parentNode.insertBefore(a, n);\n }, ne = (e) => {\n e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();\n }, C = () => {\n var t;\n const e = Array.from(((t = x.value) == null ? void 0 : t.children) || []);\n for (const i of e)\n i.className.includes(\"splitpanes__splitter\") && ne(i);\n let n = 0;\n for (const i of e)\n i.className.includes(\"splitpanes__pane\") && (!n && u.firstSplitter ? F(n, i, !0) : n && F(n, i), n++);\n }, ie = ({ uid: e, ...n }) => {\n const t = M.value[e];\n for (const [i, a] of Object.entries(n)) t[i] = a;\n }, te = (e) => {\n var t;\n let n = -1;\n Array.from(((t = x.value) == null ? void 0 : t.children) || []).some((i) => (i.className.includes(\"splitpanes__pane\") && n++, i.isSameNode(e.el))), l.value.splice(n, 0, { ...e, index: n }), l.value.forEach((i, a) => i.index = a), S.value && T(() => {\n C(), L({ addedPane: l.value[n] }), d(\"pane-add\", { pane: l.value[n] });\n });\n }, ae = (e) => {\n const n = l.value.findIndex((i) => i.id === e);\n l.value[n].el = null;\n const t = l.value.splice(n, 1)[0];\n l.value.forEach((i, a) => i.index = a), T(() => {\n C(), d(\"pane-remove\", { pane: t }), L({ removedPane: { ...t } });\n });\n }, L = (e = {}) => {\n !e.addedPane && !e.removedPane ? le() : l.value.some((n) => n.givenSize !== null || n.min || n.max < 100) ? oe(e) : se(), S.value && d(\"resized\");\n }, se = () => {\n const e = 100 / m.value;\n let n = 0;\n const t = [], i = [];\n for (const a of l.value)\n a.size = Math.max(Math.min(e, a.max), a.min), n -= a.size, a.size >= a.max && t.push(a.id), a.size <= a.min && i.push(a.id);\n n > 0.1 && q(n, t, i);\n }, le = () => {\n let e = 100;\n const n = [], t = [];\n let i = 0;\n for (const s of l.value)\n e -= s.size, s.givenSize !== null && i++, s.size >= s.max && n.push(s.id), s.size <= s.min && t.push(s.id);\n let a = 100;\n if (e > 0.1) {\n for (const s of l.value)\n s.givenSize === null && (s.size = Math.max(Math.min(e / (m.value - i), s.max), s.min)), a -= s.size;\n a > 0.1 && q(a, n, t);\n }\n }, oe = ({ addedPane: e, removedPane: n } = {}) => {\n let t = 100 / m.value, i = 0;\n const a = [], s = [];\n ((e == null ? void 0 : e.givenSize) ?? null) !== null && (t = (100 - e.givenSize) / (m.value - 1));\n for (const o of l.value)\n i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n if (!(Math.abs(i) < 0.1)) {\n for (const o of l.value)\n (e == null ? void 0 : e.givenSize) !== null && (e == null ? void 0 : e.id) === o.id || (o.size = Math.max(Math.min(t, o.max), o.min)), i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n i > 0.1 && q(i, a, s);\n }\n }, q = (e, n, t) => {\n let i;\n e > 0 ? i = e / (m.value - n.length) : i = e / (m.value - t.length), l.value.forEach((a, s) => {\n if (e > 0 && !n.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n } else if (!t.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n }\n }), Math.abs(e) > 0.1 && T(() => {\n S.value && console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n });\n }, d = (e, n = void 0, t = !1) => {\n const i = (n == null ? void 0 : n.index) ?? c.value.activeSplitter ?? null;\n y(e, {\n ...n,\n ...i !== null && { index: i },\n ...t && i !== null && {\n prevPane: l.value[i - (u.firstSplitter ? 1 : 0)],\n nextPane: l.value[i + (u.firstSplitter ? 0 : 1)]\n },\n panes: l.value.map((a) => ({ min: a.min, max: a.max, size: a.size }))\n });\n };\n B(() => u.firstSplitter, () => C()), G(() => {\n ee(), C(), L(), d(\"ready\"), S.value = !0;\n }), X(() => S.value = !1);\n const re = () => {\n var e;\n return fe(\n \"div\",\n { ref: x, class: _.value },\n (e = E.default) == null ? void 0 : e.call(E)\n );\n };\n return g(\"panes\", l), g(\"indexedPanes\", M), g(\"horizontal\", z(() => u.horizontal)), g(\"requestUpdate\", ie), g(\"onPaneAdd\", te), g(\"onPaneRemove\", ae), g(\"onPaneClick\", W), (e, n) => (Y(), ve(me(re)));\n }\n}, ge = {\n __name: \"pane\",\n props: {\n size: { type: [Number, String] },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n setup(D) {\n var b;\n const h = D, y = w(\"requestUpdate\"), u = w(\"onPaneAdd\"), E = w(\"horizontal\"), l = w(\"onPaneRemove\"), M = w(\"onPaneClick\"), m = (b = de()) == null ? void 0 : b.uid, x = w(\"indexedPanes\"), S = z(() => x.value[m]), c = k(null), f = z(() => {\n const r = isNaN(h.size) || h.size === void 0 ? 0 : parseFloat(h.size);\n return Math.max(Math.min(r, R.value), _.value);\n }), _ = z(() => {\n const r = parseFloat(h.minSize);\n return isNaN(r) ? 0 : r;\n }), R = z(() => {\n const r = parseFloat(h.maxSize);\n return isNaN(r) ? 100 : r;\n }), O = z(() => {\n var r;\n return `${E.value ? \"height\" : \"width\"}: ${(r = S.value) == null ? void 0 : r.size}%`;\n });\n return B(() => f.value, (r) => y({ uid: m, size: r })), B(() => _.value, (r) => y({ uid: m, min: r })), B(() => R.value, (r) => y({ uid: m, max: r })), G(() => {\n u({\n id: m,\n el: c.value,\n min: _.value,\n max: R.value,\n // The given size (useful to know the user intention).\n givenSize: h.size === void 0 ? null : f.value,\n size: f.value\n // The computed current size at any time.\n });\n }), X(() => l(m)), (r, P) => (Y(), pe(\"div\", {\n ref_key: \"paneEl\",\n ref: c,\n class: \"splitpanes__pane\",\n onClick: P[0] || (P[0] = (A) => he(M)(A, r._.uid)),\n style: ze(O.value)\n }, [\n xe(r.$slots, \"default\")\n ], 4));\n }\n};\nexport {\n ge as Pane,\n Pe as Splitpanes\n};\n","import { loadState } from \"@nextcloud/initial-state\";\nimport { inject } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction once(func) {\n let wasCalled = false;\n let result;\n return (...args) => {\n if (!wasCalled) {\n wasCalled = true;\n result = func(...args);\n }\n return result;\n };\n}\nlet realAppName = \"missing-app-name\";\ntry {\n realAppName = appName;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appName`.\");\n}\nconst APP_NAME = realAppName;\nlet realAppVersion = \"\";\ntry {\n realAppVersion = appVersion;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appVersion`.\");\n}\nconst APP_VERSION = realAppVersion;\nfunction useAppName() {\n return inject(\"appName\", APP_NAME);\n}\nconst useLocalizedAppName = once(() => {\n const apps = loadState(\"core\", \"apps\", []);\n const realAppName2 = useAppName();\n return apps.find(({ id }) => id === realAppName2)?.name ?? realAppName2;\n});\nexport {\n APP_VERSION as A,\n useAppName as a,\n useLocalizedAppName as u\n};\n//# sourceMappingURL=appName-DyNMVZpX.mjs.map\n","import '../assets/NcAppContent-BC7DBer3.css';\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Splitpanes, Pane } from \"splitpanes\";\nimport { defineComponent, watch, onMounted, onBeforeUnmount, openBlock, createBlock, unref, normalizeClass, withCtx, createVNode, resolveComponent, createElementBlock, toDisplayString, createCommentVNode, Fragment, withModifiers, withDirectives, createElementVNode, renderSlot, vShow } from \"vue\";\nimport { m as mdiArrowRight } from \"./mdi-CpchYUUV.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, G as t27, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { u as useLocalizedAppName, a as useAppName } from \"./appName-DyNMVZpX.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport \"splitpanes/dist/splitpanes.css\";\nregister(t27);\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppContentDetailsToggle\",\n setup(__props) {\n const isMobile = useIsMobile();\n watch(isMobile, toggleAppNavigationButton);\n onMounted(() => {\n toggleAppNavigationButton(isMobile.value);\n });\n onBeforeUnmount(() => {\n if (isMobile.value) {\n toggleAppNavigationButton(false);\n }\n });\n function toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : \"\";\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcButton), {\n \"aria-label\": unref(t)(\"Go back to the list\"),\n class: normalizeClass([\"app-details-toggle\", { \"app-details-toggle--mobile\": unref(isMobile) }]),\n title: unref(t)(\"Go back to the list\"),\n variant: \"tertiary\"\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n directional: \"\",\n path: unref(mdiArrowRight)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"class\", \"title\"]);\n };\n }\n});\nconst NcAppContentDetailsToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-a28923a1\"]]);\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst instanceName = getCapabilities().theming?.name ?? \"Nextcloud\";\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppContentDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\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 * or respectively the default height on horizontal-split.\n *\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 * or respectively the minimum height 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 * or respectively the maximum height 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 * 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 * Specify the `

` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Allow setting the page's ``\n *\n * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`.\n * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`.\n * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}`\n */\n pageTitle: {\n type: String,\n default: null\n }\n },\n emits: [\n \"update:showDetails\",\n \"resizeList\"\n ],\n setup() {\n return {\n appName: useAppName(),\n localizedAppName: useLocalizedAppName(),\n isMobile: useIsMobile(),\n isRtl\n };\n },\n data() {\n return {\n contentHeight: 0,\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-${this.appName}`;\n } catch {\n logger.info(\"[NcAppContent]: 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 realPageTitle() {\n const entries = /* @__PURE__ */ new Set();\n if (this.pageTitle) {\n for (const part of this.pageTitle.split(\" - \")) {\n entries.add(part);\n }\n } else if (this.pageHeading) {\n for (const part of this.pageHeading.split(\" - \")) {\n entries.add(part);\n }\n if (entries.size > 0) {\n entries.add(this.localizedAppName);\n }\n } else {\n return null;\n }\n entries.add(instanceName);\n return [...entries.values()].join(\" - \");\n }\n },\n watch: {\n realPageTitle: {\n immediate: true,\n handler() {\n if (this.realPageTitle !== null) {\n document.title = this.realPageTitle;\n }\n }\n },\n paneConfigKey: {\n immediate: true,\n handler() {\n this.restorePaneConfig();\n }\n }\n },\n mounted() {\n if (!this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\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.panes[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resizeList\", { size: listPaneSize });\n logger.debug(\"[NcAppContent] pane config\", { listPaneSize });\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 logger.debug(\"[NcAppContent] 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};\nconst _hoisted_1 = {\n key: 0,\n class: \"hidden-visually\"\n};\nconst _hoisted_2 = { class: \"app-content-wrapper__list\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"app-content-wrapper\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcAppContentDetailsToggle = resolveComponent(\"NcAppContentDetailsToggle\");\n const _component_Pane = resolveComponent(\"Pane\");\n const _component_Splitpanes = resolveComponent(\"Splitpanes\");\n return openBlock(), createElementBlock(\"main\", {\n id: \"app-content-vue\",\n class: normalizeClass([\"app-content no-snapper\", { \"app-content--has-list\": !!_ctx.$slots.list }])\n }, [\n $props.pageHeading ? (openBlock(), createElementBlock(\"h1\", _hoisted_1, toDisplayString($props.pageHeading), 1)) : createCommentVNode(\"\", true),\n !!_ctx.$slots.list ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n $setup.isMobile || $props.layout === \"no-split\" ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"app-content-wrapper app-content-wrapper--no-split\", {\n \"app-content-wrapper--show-details\": $props.showDetails,\n \"app-content-wrapper--show-list\": !$props.showDetails,\n \"app-content-wrapper--mobile\": $setup.isMobile\n }])\n }, [\n $props.showDetails ? (openBlock(), createBlock(_component_NcAppContentDetailsToggle, {\n key: 0,\n onClick: withModifiers($options.hideDetails, [\"stop\", \"prevent\"])\n }, null, 8, [\"onClick\"])) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ], 512), [\n [vShow, !$props.showDetails]\n ]),\n $props.showDetails ? renderSlot(_ctx.$slots, \"default\", { key: 1 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2)) : $props.layout === \"vertical-split\" || $props.layout === \"horizontal-split\" ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_Splitpanes, {\n horizontal: $props.layout === \"horizontal-split\",\n class: normalizeClass([\"default-theme\", {\n \"splitpanes--horizontal\": $props.layout === \"horizontal-split\",\n \"splitpanes--vertical\": $props.layout === \"vertical-split\"\n }]),\n rtl: $setup.isRtl,\n onResized: $options.handlePaneResize\n }, {\n default: withCtx(() => [\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-list\",\n size: $data.listPaneSize || $options.paneDefaults.list.size,\n minSize: $options.paneDefaults.list.min,\n maxSize: $options.paneDefaults.list.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"]),\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-details\",\n size: $options.detailsPaneSize,\n minSize: $options.paneDefaults.details.min,\n maxSize: $options.paneDefaults.details.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"])\n ]),\n _: 3\n }, 8, [\"horizontal\", \"class\", \"rtl\", \"onResized\"])\n ])) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true),\n !_ctx.$slots.list ? renderSlot(_ctx.$slots, \"default\", { key: 2 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcAppContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-ea1e6879\"]]);\nexport {\n NcAppContent as N\n};\n//# sourceMappingURL=NcAppContent-taTvqnvd.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconClose as I\n};\n//# sourceMappingURL=Close-CuhcJnX2.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ChevronDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronDown = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronDown as C\n};\n//# sourceMappingURL=ChevronDown-C6gc637b.mjs.map\n","import '../assets/NcInputField-DpyFJ1xw.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, warn, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, withDirectives, renderSlot, vShow, createBlock, withCtx, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"input-field__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"type\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = { class: \"input-field__icon input-field__icon--leading\" };\nconst _hoisted_5 = {\n key: 2,\n class: \"input-field__icon input-field__icon--trailing\"\n};\nconst _hoisted_6 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"NcInputField\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: \"\" },\n inputClass: { default: \"\" },\n id: { default: () => createElementId() },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n type: { default: \"text\" },\n placeholder: { default: void 0 },\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: \"\" },\n disabled: { type: Boolean },\n pill: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"trailingButtonClick\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const emit = __emit;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const inputElement = useTemplateRef(\"input\");\n const hasTrailingIcon = computed(() => props.showTrailingButton || props.success);\n const internalPlaceholder = computed(() => {\n if (props.placeholder) {\n return props.placeholder;\n }\n if (props.label) {\n return isLegacy ? props.label : \"\";\n }\n return void 0;\n });\n const isValidLabel = computed(() => {\n const isValidLabel2 = props.label || props.labelOutside;\n if (!isValidLabel2) {\n warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel2;\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (attrs[\"aria-describedby\"]) {\n ariaDescribedby2.push(String(attrs[\"aria-describedby\"]));\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function focus(options) {\n inputElement.value.focus(options);\n }\n function select() {\n inputElement.value.select();\n }\n function handleInput(event) {\n const target = event.target;\n modelValue.value = props.type === \"number\" && typeof modelValue.value === \"number\" ? parseFloat(target.value) : target.value;\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"input-field\", [{\n \"input-field--disabled\": _ctx.disabled,\n \"input-field--error\": _ctx.error,\n \"input-field--label-outside\": _ctx.labelOutside || !isValidLabel.value,\n \"input-field--leading-icon\": !!_ctx.$slots.icon,\n \"input-field--trailing-icon\": hasTrailingIcon.value,\n \"input-field--pill\": _ctx.pill,\n \"input-field--success\": _ctx.success,\n \"input-field--legacy\": unref(isLegacy)\n }, _ctx.$props.class]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"input\", mergeProps(_ctx.$attrs, {\n id: _ctx.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"input-field__input\", _ctx.inputClass],\n disabled: _ctx.disabled,\n placeholder: internalPlaceholder.value,\n type: _ctx.type,\n value: modelValue.value.toString(),\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !_ctx.labelOutside && isValidLabel.value ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"input-field__label\",\n for: _ctx.id\n }, toDisplayString(_ctx.label), 9, _hoisted_3)) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ], 512), [\n [vShow, !!_ctx.$slots.icon]\n ]),\n _ctx.showTrailingButton ? (openBlock(), createBlock(NcButton, {\n key: 1,\n class: \"input-field__trailing-button\",\n \"aria-label\": _ctx.trailingButtonLabel,\n disabled: _ctx.disabled,\n variant: \"tertiary-no-background\",\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"trailingButtonClick\", $event))\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"trailing-button-icon\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : _ctx.success || _ctx.error ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n path: unref(mdiCheck)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n path: unref(mdiAlertCircleOutline)\n }, null, 8, [\"path\"]))\n ])) : createCommentVNode(\"\", true)\n ]),\n _ctx.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${_ctx.id}-helper-text`,\n class: \"input-field__helper-text-message\"\n }, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : _ctx.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(_ctx.helperText), 1)\n ], 8, _hoisted_6)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcInputField = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8e16cbb5\"]]);\nexport {\n NcInputField as N\n};\n//# sourceMappingURL=NcInputField-C3iof9pY.mjs.map\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<h2 class=\"activity-group__heading\" :title=\"fullDate\">\n\t\t{{ dateText }}\n\t</h2>\n\t<ul>\n\t\t<ActivityComponent\n\t\t\tv-for=\"activity in activities\"\n\t\t\t:key=\"activity.id\"\n\t\t\t:activity=\"activity\"\n\t\t\t:showPreviews=\"true\" />\n\t</ul>\n</template>\n\n<script setup lang=\"ts\">\nimport type ActivityModel from '../models/ActivityModel.ts'\n\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { computed } from 'vue'\nimport ActivityComponent from './ActivityComponent.vue'\n\nconst props = defineProps<{\n\tactivities: ActivityModel[]\n}>()\n\n/**\n * Title to show for the date either Today, Yesterday or the full date\n */\nconst dateText = computed(() => {\n\tconst today = moment()\n\tconst yesterday = moment().subtract(1, 'day')\n\tconst first = moment(props.activities[0].datetime)\n\n\tif (first.isSame(today, 'day')) {\n\t\treturn t('activity', 'Today')\n\t} else if (first.isSame(yesterday, 'day')) {\n\t\treturn t('activity', 'Yesterday')\n\t}\n\treturn first.format('LL')\n})\n\n/**\n * If the heading is yesterday or today, show the full date as title, otherwise no title is shown\n */\nconst fullDate = computed(() => {\n\tconst formatted = moment(props.activities[0].datetime).format('LL')\n\treturn formatted !== dateText.value ? formatted : undefined\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-group {\n\t&__heading {\n\t\tline-height: 1.5;\n\t\tmargin-block: 30px 12px;\n\n\t\t&:first-of-type {\n\t\t\t// Already padding from h1\n\t\t\tmargin-block-start: 0;\n\t\t}\n\t}\n}\n</style>\n","export default \"<svg viewBox=\\\"0 0 32 32\\\" height=\\\"32\\\" width=\\\"32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xml:space=\\\"preserve\\\" style=\\\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\\\"><path d=\\\"m8 22 1-7H4l9-13h2l-1 8h6L10 22H8Z\\\" style=\\\"fill-rule:nonzero\\\" transform=\\\"matrix(1.5 0 0 1.5 -2 -2)\\\"/></svg>\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcAppContent class=\"activity-app\">\n\t\t<h1 class=\"activity-app__heading\">\n\t\t\t{{ headingTitle }}\n\t\t</h1>\n\t\t<NcEmptyContent\n\t\t\tv-if=\"hasMoreActivites && allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'Loading activities')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<NcEmptyContent\n\t\t\tv-else-if=\"allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'No activity yet')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"appIconSVG\" :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<div ref=\"container\" class=\"activity-app__container\" @scroll=\"onScroll\">\n\t\t\t<NcButton\n\t\t\t\tv-if=\"newActivitiesAvailable\"\n\t\t\t\tclass=\"activity-app__new-activities-indicator\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t@click=\"scrollToTop\">\n\t\t\t\t{{ t('activity', 'New activities') }}\n\t\t\t</NcButton>\n\t\t\t<ActivityGroup v-for=\"activities, date of groupedActivities\" :key=\"date\" :activities=\"activities\" />\n\t\t\t<!-- Only show if not showing the inital empty content for loading -->\n\t\t\t<NcLoadingIcon\n\t\t\t\tv-if=\"hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t:name=\"t('activity', 'Loading more activities')\"\n\t\t\t\t:size=\"64\"\n\t\t\t\tclass=\"activity-app__loading-indicator\" />\n\t\t\t<div\n\t\t\t\tv-else-if=\"!hasMoreActivites && allActivities.length > 0\"\n\t\t\t\tclass=\"activity-app__loading-indicator\">\n\t\t\t\t{{ t('activity', 'No more activities.') }}\n\t\t\t</div>\n\t\t</div>\n\t</NcAppContent>\n</template>\n\n<script setup lang=\"ts\">\nimport type { IRawActivity } from '../models/types.ts'\n\nimport ncAxios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { useDebounceFn, useDocumentVisibility, useInfiniteScroll } from '@vueuse/core'\nimport axios from 'axios'\nimport { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'\nimport NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport ActivityGroup from '../components/ActivityGroup.vue'\nimport appIconSVG from '../../img/activity-dark.svg?raw'\nimport ActivityModel from '../models/ActivityModel.ts'\nimport logger from '../utils/logger.ts'\n\ninterface INavigationEntry {\n\tid: string\n\ticon?: string\n\tname: string\n\turl: string\n}\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * The currently active activities filter\n\t */\n\tfilter?: string\n}>(), {\n\t// default to 'all'\n\tfilter: 'all',\n})\n\nconst navigationList = loadState<INavigationEntry[]>(appName, 'navigationList')\n\nconst route = useRoute()\n\n/**\n * Whether activities are currently being loaded\n */\nconst loading = ref(false)\n\n/**\n * Whether more activites can be loaded\n */\nconst hasMoreActivites = ref(true)\n\n/**\n * All loaded actvities\n */\nconst allActivities = ref<ActivityModel[]>([])\n\n/**\n * Last loaded activity (oldest) for backward pagination\n * This is set by the backend in the API result as a header value for pagination\n */\nconst lastActivityLoaded = ref<string>()\n\n/**\n * First loaded activity ID (newest) for polling new activities\n */\nconst newestActivityId = ref<number>()\n\n/**\n * Whether new activities have been prepended while the user was scrolled\n * away from the top — used to show the \"New activities\" navigation button\n */\nconst newActivitiesAvailable = ref(false)\n\n/**\n * Polling interval in milliseconds\n */\nconst POLL_INTERVAL = 30000\n\n/**\n * Polling timer reference (setTimeout-based for self-scheduling)\n */\nlet pollTimer: ReturnType<typeof setTimeout> | undefined\n\n/**\n * AbortController for in-flight load and poll requests.\n * Replaced on filter change and aborted on unmount so stale responses\n * are never applied to the wrong filter's state.\n */\nlet requestController = new AbortController()\n\n/**\n * Document visibility for pausing polling when tab is hidden\n */\nconst visibility = useDocumentVisibility()\n\n/**\n * Container element for the activites\n */\nconst container = ref<HTMLDivElement>()\n\n/**\n * Use infinite scroll for the container and load activities when reaching the bottom\n */\nuseInfiniteScroll(container, async () => {\n\tif (hasMoreActivites.value) {\n\t\tawait loadActivities()\n\t}\n}, {\n\tdistance: 100,\n})\n\n/**\n * Activities grouped by date\n */\nconst groupedActivities = computed(() => {\n\tconst groups = {} as Record<string, ActivityModel[]>\n\tfor (const activity of allActivities.value) {\n\t\tconst date = moment(activity.datetime).format('LL')\n\t\tif (groups[date] === undefined) {\n\t\t\tgroups[date] = [activity]\n\t\t} else {\n\t\t\tgroups[date].push(activity)\n\t\t}\n\t}\n\treturn groups\n})\n\nconst headingTitle = computed(() => {\n\treturn navigationList.find((navigationEl) => navigationEl.id === route.params.filter).name\n})\n\n/**\n * Load activities for current filter or load more if already loaded\n */\nasync function loadActivities() {\n\t// Skip if already loading\n\tif (loading.value) {\n\t\treturn\n\t}\n\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = lastActivityLoaded.value ?? '0'\n\t\tloading.value = true\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}', { filter: props.filter, since }), { signal })\n\t\tif (signal.aborted) {\n\t\t\treturn\n\t\t}\n\t\tconst newActivities = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\tallActivities.value.push(...newActivities)\n\t\tlastActivityLoaded.value = response.headers['x-activity-last-given']\n\t\thasMoreActivites.value = true\n\n\t\t// Track the newest activity ID for polling\n\t\tif (newestActivityId.value === undefined && newActivities.length > 0) {\n\t\t\tnewestActivityId.value = newActivities[0].id\n\t\t}\n\n\t\tnextTick(async () => {\n\t\t\tif (container.value && container.value.clientHeight === container.value.scrollHeight) {\n\t\t\t\t// Container is non-scrollable, thus useInfiniteScroll isn't triggered\n\t\t\t\t// Do it manually to ensure there are no activities to fetch anymore\n\t\t\t\tawait loadActivities()\n\t\t\t}\n\t\t})\n\t} catch (error) {\n\t\tif (axios.isCancel(error)) {\n\t\t\treturn\n\t\t}\n\t\t// Skip if no activities are available\n\t\tif (axios.isAxiosError(error) && error.response?.status === 304) {\n\t\t\thasMoreActivites.value = false\n\t\t\treturn\n\t\t}\n\n\t\tlogger.error(error as Error)\n\t\tshowError(t('activity', 'Could not load activities'))\n\t} finally {\n\t\t// Don't clear the loading flag if this request was superseded — the\n\t\t// replacement loadActivities() call has already set it to true.\n\t\tif (!signal.aborted) {\n\t\t\tloading.value = false\n\t\t}\n\t}\n}\n\n/**\n * Poll for new activities and either prepend them directly (when near top)\n * or queue them so the user can load them without disrupting their scroll position\n */\nasync function pollNewActivities() {\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = String(newestActivityId.value ?? 0)\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}&sort=asc', { filter: props.filter, since }), { signal })\n\t\tif (!signal.aborted && response.data.ocs.data.length > 0) {\n\t\t\tconst newActivities: ActivityModel[] = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\t\t// Sort newest first for prepending\n\t\t\tnewActivities.sort((a: ActivityModel, b: ActivityModel) => b.id - a.id)\n\t\t\tnewestActivityId.value = newActivities[0]!.id\n\t\t\tallActivities.value.unshift(...newActivities)\n\n\t\t\t// Show the navigation button only when the user is not already at the top\n\t\t\t// (browser scroll anchoring keeps their reading position stable on prepend)\n\t\t\tconst isNearTop = !container.value || container.value.scrollTop < 50\n\t\t\tif (!isNearTop) {\n\t\t\t\tnewActivitiesAvailable.value = true\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\t// Silently ignore cancellations and polling errors (304 = no new activities)\n\t\tif (!axios.isCancel(error) && (!axios.isAxiosError(error) || error.response?.status !== 304)) {\n\t\t\tlogger.error(error as Error)\n\t\t}\n\t}\n\n\t// Self-schedule only if polling wasn't stopped while the request was in flight\n\tif (pollTimer !== undefined) {\n\t\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n\t}\n}\n\n/**\n * Scroll to the top of the container to reveal the newly prepended activities\n */\nfunction scrollToTop() {\n\tnewActivitiesAvailable.value = false\n\tcontainer.value?.scrollTo({ top: 0, behavior: 'smooth' })\n}\n\n/**\n * Hide the \"New activities\" button once the user scrolls back near the top\n */\nconst onScroll = useDebounceFn(() => {\n\tif (container.value && container.value.scrollTop < 50) {\n\t\tnewActivitiesAvailable.value = false\n\t}\n}, 100)\n\n/**\n *\n */\nfunction startPolling() {\n\tstopPolling()\n\t// Use a sentinel value so the self-scheduling logic in pollNewActivities\n\t// knows polling is active even before the first tick fires\n\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n}\n\n/**\n *\n */\nfunction stopPolling() {\n\tif (pollTimer !== undefined) {\n\t\tclearTimeout(pollTimer)\n\t\tpollTimer = undefined\n\t}\n}\n\n/**\n * Load activities when mounted and start polling\n */\nonMounted(() => {\n\tloadActivities()\n\tstartPolling()\n})\n\nonUnmounted(() => {\n\tstopPolling()\n\trequestController.abort()\n})\n\nwatch(visibility, (value) => {\n\tif (value === 'hidden') {\n\t\tstopPolling()\n\t} else {\n\t\tstartPolling()\n\t}\n})\n\n/**\n * Reload activities when filter changed\n */\nwatch(props, () => {\n\trequestController.abort()\n\trequestController = new AbortController()\n\tallActivities.value = []\n\tnewActivitiesAvailable.value = false\n\tlastActivityLoaded.value = undefined\n\tnewestActivityId.value = undefined\n\thasMoreActivites.value = true\n\tloadActivities()\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-app {\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\n\t&__empty-content {\n\t\theight: 100%;\n\t}\n\n\t&__loading-indicator {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tjustify-self: center;\n\t\tmargin-block: 30px 6px;\n\t\ttext-align: center;\n\t}\n\n\t&__container {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\theight: 100%;\n\t\twidth: min(100%, 924px);\n\t\tmax-width: 924px;\n\t\tmargin: 0 auto;\n\t\tpadding-inline: 12px;\n\t\toverflow-y: scroll;\n\t}\n\n\t&__new-activities-indicator {\n\t\tposition: sticky;\n\t\ttop: 8px;\n\t\talign-self: center;\n\t\tz-index: 10;\n\t\tpadding: 6px 16px;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tborder: none;\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tbox-shadow: 0 2px 8px var(--color-box-shadow);\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t}\n\n\t&__heading {\n\t\tfont-weight: bold;\n\t\tfont-size: 20px;\n\t\tline-height: 44px; // to align height with the app navigation toggle\n\t\t// Align with app navigation toggle\n\t\tmargin-top: 1px;\n\t\tmargin-inline: calc(2 * var(--app-navigation-padding, 8px) + 44px) var(--app-navigation-padding, 8px);\n\t}\n}\n</style>\n","import '../assets/NcAppNavigationList--36j6Acm.css';\nimport { openBlock, createElementBlock, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nconst _hoisted_1 = { class: \"app-navigation-list\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"ul\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n}\nconst NcAppNavigationList = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-d72957ed\"]]);\nexport {\n NcAppNavigationList as N\n};\n//# sourceMappingURL=NcAppNavigationList-CGSWabRB.mjs.map\n","import '../assets/NcAppNavigation-ykL7Wz6L.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, createVNode, unref, withCtx, inject, warn, useTemplateRef, ref, watchEffect, watch, onMounted, onUnmounted, normalizeClass, createElementVNode, withKeys, renderSlot, createBlock, createCommentVNode } from \"vue\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { N as NcAppNavigationList } from \"./NcAppNavigationList-CGSWabRB.mjs\";\nimport { G as mdiMenuOpen, H as mdiMenu } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, P as t20, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY } from \"./constants-Ciwvl5xb.mjs\";\nregister(t20);\nconst _hoisted_1$1 = { class: \"app-navigation-toggle-wrapper\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationToggle\",\n props: {\n \"open\": { type: Boolean, ...{ required: true } },\n \"openModifiers\": {}\n },\n emits: [\"update:open\"],\n setup(__props) {\n const open = useModel(__props, \"open\");\n const title = computed(() => open.value ? t(\"Close navigation\") : t(\"Open navigation\"));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n createVNode(unref(NcButton), {\n class: \"app-navigation-toggle\",\n \"aria-controls\": \"app-navigation-vue\",\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n \"aria-label\": title.value,\n title: title.value,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: open.value ? unref(mdiMenuOpen) : unref(mdiMenu)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-expanded\", \"aria-label\", \"title\"])\n ]);\n };\n }\n});\nconst NcAppNavigationToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-5a15295d\"]]);\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"inert\"];\nconst _hoisted_2 = { class: \"app-navigation__search\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigation\",\n props: {\n ariaLabel: {},\n ariaLabelledby: {}\n },\n setup(__props) {\n const props = __props;\n let focusTrap;\n const setHasAppNavigation = inject(\n HAS_APP_NAVIGATION_KEY,\n () => warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n false\n );\n const appNavigationContainerElement = useTemplateRef(\"appNavigationContainer\");\n const isMobile = useIsMobile();\n const open = ref(!isMobile.value);\n watchEffect(() => {\n if (!props.ariaLabel && !props.ariaLabelledby) {\n warn(\"NcAppNavigation requires either `ariaLabel` or `ariaLabelledby` to be set for accessibility.\");\n }\n });\n watch(isMobile, () => {\n open.value = !isMobile.value;\n });\n watch(open, () => {\n toggleFocusTrap();\n });\n onMounted(() => {\n setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: open.value\n });\n focusTrap = createFocusTrap(appNavigationContainerElement.value, {\n allowOutsideClick: true,\n clickOutsideDeactivates: () => {\n if (isMobile.value) {\n focusTrap.deactivate({ returnFocus: false });\n toggleNavigation(false);\n }\n return false;\n },\n fallbackFocus: appNavigationContainerElement.value,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n toggleFocusTrap();\n });\n onUnmounted(() => {\n setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n focusTrap.deactivate();\n });\n function toggleNavigation(state) {\n if (open.value === state) {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n return;\n }\n open.value = state === void 0 ? !open.value : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n }, 1.5 * animationLength);\n }\n function toggleNavigationByEventBus({ open: open2 }) {\n return toggleNavigation(open2);\n }\n function toggleFocusTrap() {\n if (isMobile.value && open.value) {\n focusTrap.activate();\n } else {\n focusTrap.deactivate();\n }\n }\n function handleEsc() {\n if (isMobile.value) {\n toggleNavigation(false);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"appNavigationContainer\",\n class: normalizeClass([\"app-navigation\", {\n \"app-navigation--closed\": !open.value,\n \"app-navigation--legacy\": unref(isLegacy34)\n }])\n }, [\n createElementVNode(\"nav\", {\n id: \"app-navigation-vue\",\n \"aria-hidden\": open.value ? \"false\" : \"true\",\n \"aria-label\": _ctx.ariaLabel || void 0,\n \"aria-labelledby\": _ctx.ariaLabelledby || void 0,\n class: \"app-navigation__content\",\n inert: !open.value || void 0,\n onKeydown: withKeys(handleEsc, [\"esc\"])\n }, [\n createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"search\", {}, void 0, true)\n ]),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation__body\", { \"app-navigation__body--no-list\": !_ctx.$slots.list }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2),\n _ctx.$slots.list ? (openBlock(), createBlock(NcAppNavigationList, {\n key: 0,\n class: \"app-navigation__list\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", {}, void 0, true)\n ], 40, _hoisted_1),\n createVNode(NcAppNavigationToggle, {\n open: open.value,\n \"onUpdate:open\": toggleNavigation\n }, null, 8, [\"open\"])\n ], 2);\n };\n }\n});\nconst NcAppNavigation = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-3b634fbd\"]]);\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-Bb54U_qJ.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronUp = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-ChH8oB7p.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconArrowRight = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconArrowRight as I\n};\n//# sourceMappingURL=ArrowRight-B1ncAhus.mjs.map\n","import '../assets/NcInputConfirmCancel-BEmwC87z.css';\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { r as register, k as t14, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, withKeys, withDirectives, vModelText, createVNode, withCtx } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t14);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n IconArrowRight,\n IconClose,\n NcButton\n },\n setup() {\n return { isLegacy34 };\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 /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n modelValue: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"cancel\",\n \"confirm\",\n \"update:modelValue\"\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.modelValue;\n },\n set(newValue) {\n this.$emit(\"update:modelValue\", 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};\nconst _hoisted_1 = [\"placeholder\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"app-navigation-input-confirm\", { \"app-navigation-input-confirm--legacy\": $setup.isLegacy34 }])\n }, [\n createElementVNode(\"form\", {\n onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.confirm && $options.confirm(...args), [\"prevent\"])),\n onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.cancel && $options.cancel(...args), [\"exact\", \"stop\", \"prevent\"]), [\"esc\"])),\n onClick: _cache[3] || (_cache[3] = withModifiers(() => {\n }, [\"stop\", \"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $options.valueModel = $event),\n type: \"text\",\n class: \"app-navigation-input-confirm__input\",\n placeholder: $props.placeholder\n }, null, 8, _hoisted_1), [\n [vModelText, $options.valueModel]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelConfirm,\n type: \"submit\",\n variant: \"primary\",\n onClick: withModifiers($options.confirm, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelCancel,\n type: \"reset\",\n variant: $props.primary ? \"primary\" : \"tertiary\",\n onClick: withModifiers($options.cancel, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"variant\", \"onClick\"])\n ], 32)\n ], 2);\n}\nconst NcInputConfirmCancel = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-a8724c7f\"]]);\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-BL_BkfXh.mjs.map\n","import { defineComponent } from \"vue\";\nconst _sfc_main = defineComponent({\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 render() {\n return this.vnodes || this.$slots?.default?.({});\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map\n","import '../assets/NcAppNavigationItem-DF81QkEz.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps, withKeys, withModifiers, renderSlot, createVNode, createTextVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-C6gc637b.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-ChH8oB7p.mjs\";\nimport { r as register, N as t21, a as t, b as t51, O as t23 } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-BL_BkfXh.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BJKJG2zO.mjs\";\nimport { N as NcActions } from \"./NcActions-fCXSb_0o.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-CInLzPtA.mjs\";\nimport { _ as _sfc_main$4 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nconst _sfc_main$3 = {\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};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { 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\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pencil-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst Pencil = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\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};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { 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\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon undo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst Undo = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nregister(t21);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n setup() {\n return { isLegacy34 };\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n required: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: 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};\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ChevronUp = resolveComponent(\"ChevronUp\");\n const _component_ChevronDown = resolveComponent(\"ChevronDown\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n return openBlock(), createBlock(_component_NcButton, {\n class: normalizeClass([\"icon-collapse\", {\n \"icon-collapse--active\": $props.active,\n \"icon-collapse--open\": $props.open\n }]),\n \"aria-label\": $options.labelButton,\n variant: $props.active && $setup.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\",\n onClick: $options.onClick\n }, {\n icon: withCtx(() => [\n $props.open ? (openBlock(), createBlock(_component_ChevronUp, {\n key: 0,\n size: 20\n })) : (openBlock(), createBlock(_component_ChevronDown, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"class\", \"aria-label\", \"variant\", \"onClick\"]);\n}\nconst NcAppNavigationIconCollapsible = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-acf5ed2f\"]]);\nregister(t23, t51);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes: _sfc_main$4,\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: () => createElementId(),\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 `<router-link />` that points to that route.\n * By leaving this blank, the root element will be a `<li>`.\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 * 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 isLegacy34\n };\n },\n data() {\n return {\n actionsBoundariesElement: void 0,\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 };\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 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 * 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};\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"aria-current\", \"aria-description\", \"aria-expanded\", \"href\", \"target\", \"title\", \"onClick\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"editingContainer\"\n};\nconst _hoisted_4 = {\n key: 1,\n class: \"app-navigation-entry__deleted\"\n};\nconst _hoisted_5 = { class: \"app-navigation-entry__deleted-description\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"app-navigation-entry__counter-wrapper\"\n};\nconst _hoisted_7 = {\n key: 0,\n class: \"app-navigation-entry__children\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcInputConfirmCancel = resolveComponent(\"NcInputConfirmCancel\");\n const _component_Pencil = resolveComponent(\"Pencil\");\n const _component_NcActionButton = resolveComponent(\"NcActionButton\");\n const _component_Undo = resolveComponent(\"Undo\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcAppNavigationIconCollapsible = resolveComponent(\"NcAppNavigationIconCollapsible\");\n return openBlock(), createElementBlock(\"li\", {\n id: $props.id,\n class: normalizeClass([{\n \"app-navigation-entry--opened\": $data.opened,\n \"app-navigation-entry--pinned\": $props.pinned,\n \"app-navigation-entry--collapsible\": $props.allowCollapse && !!_ctx.$slots.default\n }, \"app-navigation-entry-wrapper\"])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent($options.isRouterLink ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$options.isRouterLink && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry\", {\n \"app-navigation-entry--editing\": $data.editingActive,\n \"app-navigation-entry--deleted\": $props.undo,\n \"app-navigation-entry--legacy\": $setup.isLegacy34,\n active: $props.to && isActive || $props.active\n }])\n }, [\n !$props.undo ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n class: \"app-navigation-entry-link\",\n \"aria-current\": $props.active || $props.to && isActive ? \"page\" : void 0,\n \"aria-description\": $props.ariaDescription,\n \"aria-expanded\": !!_ctx.$slots.default ? $data.opened.toString() : void 0,\n href: $props.href || routerLinkHref || \"#\",\n target: $options.isExternal($props.href) ? \"_blank\" : void 0,\n title: $props.title || $props.name,\n onBlur: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onFocus: _cache[2] || (_cache[2] = (...args) => $options.handleFocus && $options.handleFocus(...args)),\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.handleTab && $options.handleTab(...args), [\"exact\"]), [\"tab\"]))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry-icon\", { [$props.icon]: $props.icon }])\n }, [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : renderSlot(_ctx.$slots, \"icon\", {\n key: 1,\n active: $props.active || $props.to && isActive\n }, void 0, true)\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass([\"app-navigation-entry__name\", { \"hidden-visually\": $data.editingActive }])\n }, toDisplayString($props.name), 3),\n $data.editingActive ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_NcInputConfirmCancel, {\n ref: \"editingInput\",\n modelValue: $data.editingValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $data.editingValue = $event),\n placeholder: $props.editPlaceholder !== \"\" ? $props.editPlaceholder : $props.name,\n primary: $props.to && isActive || $props.active,\n onCancel: $options.cancelEditing,\n onConfirm: $options.handleEditingDone\n }, null, 8, [\"modelValue\", \"placeholder\", \"primary\", \"onCancel\", \"onConfirm\"])\n ])) : createCommentVNode(\"\", true)\n ], 40, _hoisted_2)) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createElementBlock(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, toDisplayString($props.name), 1)\n ])) : createCommentVNode(\"\", true),\n (!!_ctx.$slots.actions || !!_ctx.$slots.counter || $props.editable || $props.undo) && !$data.editingActive ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass([\"app-navigation-entry__utils\", { \"app-navigation-entry__utils--display-actions\": $props.forceDisplayActions || $data.menuOpenLocalValue || $props.menuOpen }])\n }, [\n !!_ctx.$slots.counter ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"counter\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n !!_ctx.$slots.actions || $props.editable && !$data.editingActive || $props.undo ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n class: \"app-navigation-entry__actions\",\n container: \"#app-navigation-vue\",\n boundariesElement: $data.actionsBoundariesElement,\n inline: $props.inlineActions,\n placement: $props.menuPlacement,\n open: $props.menuOpen,\n forceMenu: $props.forceMenu,\n defaultIcon: $props.menuIcon,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onMenuToggle\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n $props.editable && !$data.editingActive ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 0,\n \"aria-label\": $options.editButtonAriaLabel,\n onClick: $options.handleEdit\n }, {\n icon: withCtx(() => [\n createVNode(_component_Pencil, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString($props.editLabel), 1)\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 1,\n \"aria-label\": $options.undoButtonAriaLabel,\n onClick: $options.handleUndo\n }, {\n icon: withCtx(() => [\n createVNode(_component_Undo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"boundariesElement\", \"inline\", \"placement\", \"open\", \"forceMenu\", \"defaultIcon\", \"onUpdate:open\"])) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true),\n $props.allowCollapse && !!_ctx.$slots.default ? (openBlock(), createBlock(_component_NcAppNavigationIconCollapsible, {\n key: 3,\n active: $props.to && isActive || $props.active,\n open: $data.opened,\n onClick: withModifiers($options.toggleCollapse, [\"prevent\", \"stop\"])\n }, null, 8, [\"active\", \"open\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ], 2)\n ]),\n _: 3\n }, 16)),\n $options.canHaveChildren && !!_ctx.$slots.default ? (openBlock(), createElementBlock(\"ul\", _hoisted_7, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1);\n}\nconst NcAppNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e4d562ae\"]]);\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-Dg2d2AwS.mjs.map\n","import '../assets/NcAppNavigationSettings-HQEDobBQ.css';\nimport { defineComponent, ref, useTemplateRef, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, unref, withCtx, createTextVNode, toDisplayString, Transition, withDirectives, renderSlot, vShow } from \"vue\";\nimport { C as mdiCog, D as mdiCogOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { onClickOutside } from \"@vueuse/core\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, B as t47, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t47);\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationSettings\",\n props: {\n excludeClickOutsideSelectors: { default: () => [] },\n name: { default: () => t(\"Settings\") }\n },\n setup(__props) {\n const contentId = createElementId();\n const open = ref(false);\n const container2 = useTemplateRef(\"wrapperElement\");\n const ignore = computed(() => Array.isArray(__props.excludeClickOutsideSelectors) ? __props.excludeClickOutsideSelectors : __props.excludeClickOutsideSelectors.split(\" \"));\n onClickOutside(container2, () => {\n open.value = false;\n }, { ignore });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"wrapperElement\",\n class: normalizeClass(_ctx.$style.container)\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.$style.header)\n }, [\n createVNode(NcButton, {\n \"aria-controls\": unref(contentId),\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n class: normalizeClass(_ctx.$style.button),\n alignment: \"start\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: unref(isLegacy) ? unref(mdiCog) : unref(mdiCogOutline)\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(_ctx.name), 1)\n ]),\n _: 1\n }, 8, [\"aria-controls\", \"aria-expanded\", \"class\"])\n ], 2),\n createVNode(Transition, {\n enterActiveClass: _ctx.$style.animationActive,\n leaveActiveClass: _ctx.$style.animationActive,\n enterFromClass: _ctx.$style.animationStop,\n leaveToClass: _ctx.$style.animationStop\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(contentId),\n class: normalizeClass(_ctx.$style.content)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1), [\n [vShow, open.value]\n ])\n ]),\n _: 3\n }, 8, [\"enterActiveClass\", \"leaveActiveClass\", \"enterFromClass\", \"leaveToClass\"])\n ], 2);\n };\n }\n});\nconst container = \"_container_RFk6U\";\nconst header = \"_header_2CtDS\";\nconst button = \"_button_tAyis\";\nconst content = \"_content_--KYD\";\nconst animationActive = \"_animationActive_DAG1p\";\nconst animationStop = \"_animationStop_fWYQj\";\nconst style0 = {\n container,\n header,\n button,\n content,\n animationActive,\n animationStop\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcAppNavigationSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-CJ2z5cYU.mjs.map\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon content-copy-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\">\n <title v-if=\"title\">{{ title }}\n \n \n \n\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\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 RouteRecordRaw[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\nimport { routes } from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('/apps/activity')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nconst app = createApp(ActivityApp)\napp.use(router)\napp.mount('#content')\n"],"names":["HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","register","t30","contentSvg","navigationSvg","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","props","provide","setAppNavigation","computed","isMobile","useIsMobile","hasAppNavigation","ref","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","emit","nextTick","value","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","isLegacy34","createBlock","Teleport","createElementVNode","toDisplayString","t","withDirectives","createVNode","NcButton","withModifiers","$event","withCtx","createTextVNode","vShow","NcIconSvgWrapper","renderSlot","NcContent","_export_sfc","_createBlock","_unref","_createVNode","_component_router_view","Pe","D","h","y","u","E","ce","l","k","M","z","e","n","m","x","S","c","f","_","R","r","P","O","b","i","a","s","o","K","I","d","A","U","W","J","$","N","v","p","H","ue","j","Q","V","Z","ee","F","ne","C","ie","te","T","L","ae","le","oe","se","q","B","G","X","re","fe","g","Y","ve","me","ge","w","de","pe","he","ze","xe","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","inject","useLocalizedAppName","apps","loadState","realAppName2","id","t27","_sfc_main$1","watch","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","mdiArrowRight","NcAppContentDetailsToggle","browserStorage","getBuilder","instanceName","getCapabilities","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createCommentVNode","Fragment","NcAppContent","_hoisted_4","mergeProps","IconClose","ChevronDown","_hoisted_5","_hoisted_6","mergeModels","createElementId","__expose","__emit","modelValue","useModel","focus","select","attrs","useAttrs","inputElement","useTemplateRef","hasTrailingIcon","internalPlaceholder","isLegacy","isValidLabel","ariaDescribedby","ariaDescribedby2","options","handleInput","target","mdiCheck","mdiAlertCircleOutline","NcInputField","dateText","today","moment","yesterday","first","fullDate","formatted","_createElementVNode","_createElementBlock","_Fragment","_renderList","activity","ActivityComponent","appIconSVG","POLL_INTERVAL","navigationList","route","useRoute","loading","hasMoreActivites","allActivities","lastActivityLoaded","newestActivityId","newActivitiesAvailable","pollTimer","requestController","visibility","useDocumentVisibility","useInfiniteScroll","loadActivities","groupedActivities","groups","date","headingTitle","navigationEl","signal","since","response","ncAxios","generateOcsUrl","newActivities","raw","ActivityModel","error","axios","showError","pollNewActivities","scrollToTop","onScroll","useDebounceFn","startPolling","stopPolling","onUnmounted","_toDisplayString","NcEmptyContent","NcLoadingIcon","_openBlock","activities","ActivityGroup","NcAppNavigationList","t20","_hoisted_1$1","open","title","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open2","handleEsc","withKeys","NcAppNavigation","ChevronUp","IconArrowRight","t14","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcActions","NcActionButton","_sfc_main$4","newVal","navigate","routerLinkHref","href","_hoisted_7","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcActions","_component_NcAppNavigationIconCollapsible","resolveDynamicComponent","normalizeProps","guardReactiveProps","isActive","NcAppNavigationItem","t47","contentId","container2","ignore","onClickOutside","mdiCog","mdiCogOutline","Transition","header","button","content","animationActive","animationStop","style0","cssModules","NcAppNavigationSettings","_mergeProps","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","navigationItem","NcCheckboxRadioSwitch","IconContentCopy","routes","ActivityAppFeed","ActivityAppNavigation","router","createRouter","createWebHistory","app","createApp","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20]} \ No newline at end of file +{"version":3,"file":"activity-app.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/constants-Ciwvl5xb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcContent-Dd15hgck.mjs","../src/views/ActivityApp.vue","../node_modules/splitpanes/dist/splitpanes.es.js","../node_modules/@nextcloud/vue/dist/chunks/appName-DyNMVZpX.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppContent-taTvqnvd.mjs","../node_modules/@nextcloud/vue/dist/chunks/Close-CuhcJnX2.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-C6gc637b.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-C3iof9pY.mjs","../src/components/ActivityGroup.vue","../img/activity-dark.svg?raw","../src/views/ActivityAppFeed.vue","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationList-CGSWabRB.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigation-Bb54U_qJ.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-ChH8oB7p.mjs","../node_modules/@nextcloud/vue/dist/chunks/ArrowRight-B1ncAhus.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-BL_BkfXh.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-Dg2d2AwS.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-CJ2z5cYU.mjs","../node_modules/vue-material-design-icons/ContentCopy.vue","../src/views/ActivityAppNavigation.vue","../src/routes.ts","../src/app.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst HAS_APP_NAVIGATION_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:setHasAppNavigation\");\nconst CONTENT_SELECTOR_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:selector\");\nexport {\n CONTENT_SELECTOR_KEY as C,\n HAS_APP_NAVIGATION_KEY as H\n};\n//# sourceMappingURL=constants-Ciwvl5xb.mjs.map\n","import '../assets/NcContent-DXc6geEw.css';\nimport { defineComponent, provide, computed, ref, onBeforeMount, openBlock, createElementBlock, normalizeClass, unref, createBlock, Teleport, createElementVNode, toDisplayString, withDirectives, createVNode, withModifiers, withCtx, createTextVNode, vShow, renderSlot, nextTick } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, H as t30, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY, C as CONTENT_SELECTOR_KEY } from \"./constants-Ciwvl5xb.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t30);\nconst contentSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst navigationSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst _hoisted_1 = { class: \"vue-skip-actions__container\" };\nconst _hoisted_2 = { class: \"vue-skip-actions__headline\" };\nconst _hoisted_3 = { class: \"vue-skip-actions__buttons\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcContent\",\n props: {\n appName: {}\n },\n setup(__props) {\n const props = __props;\n provide(HAS_APP_NAVIGATION_KEY, setAppNavigation);\n provide(CONTENT_SELECTOR_KEY, \"#content-vue\");\n provide(\"appName\", computed(() => props.appName));\n const isMobile = useIsMobile();\n const hasAppNavigation = ref(false);\n const currentFocus = ref();\n const currentImage = computed(() => currentFocus.value === \"navigation\" ? navigationSvg : contentSvg);\n onBeforeMount(() => {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n });\n function openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n }\n function setAppNavigation(value) {\n hasAppNavigation.value = value;\n if (!currentFocus.value) {\n currentFocus.value = \"navigation\";\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: \"content-vue\",\n class: normalizeClass([\"content\", [`app-${_ctx.appName.toLowerCase()}`, { \"content--legacy\": unref(isLegacy34) }]])\n }, [\n (openBlock(), createBlock(Teleport, { to: \"#skip-actions\" }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, toDisplayString(unref(t)(\"Keyboard navigation help\")), 1),\n createElementVNode(\"div\", _hoisted_3, [\n withDirectives(createVNode(NcButton, {\n href: \"#app-navigation-vue\",\n variant: \"tertiary\",\n onClick: withModifiers(openAppNavigation, [\"prevent\"]),\n onFocusin: _cache[0] || (_cache[0] = ($event) => currentFocus.value = \"navigation\"),\n onMouseover: _cache[1] || (_cache[1] = ($event) => currentFocus.value = \"navigation\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to app navigation\")), 1)\n ]),\n _: 1\n }, 512), [\n [vShow, hasAppNavigation.value]\n ]),\n createVNode(NcButton, {\n href: \"#app-content-vue\",\n variant: \"tertiary\",\n onFocusin: _cache[2] || (_cache[2] = ($event) => currentFocus.value = \"content\"),\n onMouseover: _cache[3] || (_cache[3] = ($event) => currentFocus.value = \"content\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to main content\")), 1)\n ]),\n _: 1\n })\n ]),\n withDirectives(createVNode(NcIconSvgWrapper, {\n class: \"vue-skip-actions__image\",\n svg: currentImage.value,\n size: \"auto\"\n }, null, 8, [\"svg\"]), [\n [vShow, !unref(isMobile)]\n ])\n ])\n ])),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2);\n };\n }\n});\nconst NcContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-91d07631\"]]);\nexport {\n NcContent as N\n};\n//# sourceMappingURL=NcContent-Dd15hgck.mjs.map\n","\n\n\n\n\n","import { useSlots as ce, ref as k, computed as z, watch as B, onMounted as G, onBeforeUnmount as X, provide as g, createBlock as ve, openBlock as Y, resolveDynamicComponent as me, nextTick as T, h as fe, inject as w, getCurrentInstance as de, createElementBlock as pe, normalizeStyle as ze, unref as he, renderSlot as xe } from \"vue\";\nconst Pe = {\n __name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean, default: !1 },\n pushOtherPanes: { type: Boolean, default: !0 },\n maximizePanes: { type: Boolean, default: !0 },\n // Maximize pane on splitter double click/tap.\n rtl: { type: Boolean, default: !1 },\n // Right to left direction.\n firstSplitter: { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"resize\",\n \"resized\",\n \"pane-click\",\n \"pane-maximize\",\n \"pane-add\",\n \"pane-remove\",\n \"splitter-click\",\n \"splitter-dblclick\"\n ],\n setup(D, { emit: h }) {\n const y = h, u = D, E = ce(), l = k([]), M = z(() => l.value.reduce((e, n) => (e[~~n.id] = n) && e, {})), m = z(() => l.value.length), x = k(null), S = k(!1), c = k({\n mouseDown: !1,\n dragging: !1,\n activeSplitter: null,\n cursorOffset: 0\n // Cursor offset within the splitter.\n }), f = k({\n // Used to detect double click on touch devices.\n splitter: null,\n timeoutId: null\n }), _ = z(() => ({\n [`splitpanes splitpanes--${u.horizontal ? \"horizontal\" : \"vertical\"}`]: !0,\n \"splitpanes--dragging\": c.value.dragging\n })), R = () => {\n document.addEventListener(\"mousemove\", r, { passive: !1 }), document.addEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.addEventListener(\"touchmove\", r, { passive: !1 }), document.addEventListener(\"touchend\", P));\n }, O = () => {\n document.removeEventListener(\"mousemove\", r, { passive: !1 }), document.removeEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.removeEventListener(\"touchmove\", r, { passive: !1 }), document.removeEventListener(\"touchend\", P));\n }, b = (e, n) => {\n const t = e.target.closest(\".splitpanes__splitter\");\n if (t) {\n const { left: i, top: a } = t.getBoundingClientRect(), { clientX: s, clientY: o } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n c.value.cursorOffset = u.horizontal ? o - a : s - i;\n }\n R(), c.value.mouseDown = !0, c.value.activeSplitter = n;\n }, r = (e) => {\n c.value.mouseDown && (e.preventDefault(), c.value.dragging = !0, requestAnimationFrame(() => {\n K(I(e)), d(\"resize\", { event: e }, !0);\n }));\n }, P = (e) => {\n c.value.dragging && (window.getSelection().removeAllRanges(), d(\"resized\", { event: e }, !0)), c.value.mouseDown = !1, c.value.activeSplitter = null, setTimeout(() => {\n c.value.dragging = !1, O();\n }, 100);\n }, A = (e, n) => {\n \"ontouchstart\" in window && (e.preventDefault(), f.value.splitter === n ? (clearTimeout(f.value.timeoutId), f.value.timeoutId = null, U(e, n), f.value.splitter = null) : (f.value.splitter = n, f.value.timeoutId = setTimeout(() => f.value.splitter = null, 500))), c.value.dragging || d(\"splitter-click\", { event: e, index: n }, !0);\n }, U = (e, n) => {\n if (d(\"splitter-dblclick\", { event: e, index: n }, !0), u.maximizePanes) {\n let t = 0;\n l.value = l.value.map((i, a) => (i.size = a === n ? i.max : i.min, a !== n && (t += i.min), i)), l.value[n].size -= t, d(\"pane-maximize\", { event: e, index: n, pane: l.value[n] }), d(\"resized\", { event: e, index: n }, !0);\n }\n }, W = (e, n) => {\n d(\"pane-click\", {\n event: e,\n index: M.value[n].index,\n pane: M.value[n]\n });\n }, I = (e) => {\n const n = x.value.getBoundingClientRect(), { clientX: t, clientY: i } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n return {\n x: t - (u.horizontal ? 0 : c.value.cursorOffset) - n.left,\n y: i - (u.horizontal ? c.value.cursorOffset : 0) - n.top\n };\n }, J = (e) => {\n e = e[u.horizontal ? \"y\" : \"x\"];\n const n = x.value[u.horizontal ? \"clientHeight\" : \"clientWidth\"];\n return u.rtl && !u.horizontal && (e = n - e), e * 100 / n;\n }, K = (e) => {\n const n = c.value.activeSplitter;\n let t = {\n prevPanesSize: $(n),\n nextPanesSize: N(n),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const i = 0 + (u.pushOtherPanes ? 0 : t.prevPanesSize), a = 100 - (u.pushOtherPanes ? 0 : t.nextPanesSize), s = Math.max(Math.min(J(e), a), i);\n let o = [n, n + 1], v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n const H = v.max < 100 && s >= v.max + t.prevPanesSize, ue = p.max < 100 && s <= 100 - (p.max + N(n + 1));\n if (H || ue) {\n H ? (v.size = v.max, p.size = Math.max(100 - v.max - t.prevPanesSize - t.nextPanesSize, 0)) : (v.size = Math.max(100 - p.max - t.prevPanesSize - N(n + 1), 0), p.size = p.max);\n return;\n }\n if (u.pushOtherPanes) {\n const j = Q(t, s);\n if (!j) return;\n ({ sums: t, panesToResize: o } = j), v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n }\n v !== null && (v.size = Math.min(Math.max(s - t.prevPanesSize - t.prevReachedMinPanes, v.min), v.max)), p !== null && (p.size = Math.min(Math.max(100 - s - t.nextPanesSize - t.nextReachedMinPanes, p.min), p.max));\n }, Q = (e, n) => {\n const t = c.value.activeSplitter, i = [t, t + 1];\n return n < e.prevPanesSize + l.value[i[0]].min && (i[0] = V(t).index, e.prevReachedMinPanes = 0, i[0] < t && l.value.forEach((a, s) => {\n s > i[0] && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), e.prevPanesSize = $(i[0]), i[0] === void 0) ? (e.prevReachedMinPanes = 0, l.value[0].size = l.value[0].min, l.value.forEach((a, s) => {\n s > 0 && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), l.value[i[1]].size = 100 - e.prevReachedMinPanes - l.value[0].min - e.prevPanesSize - e.nextPanesSize, null) : n > 100 - e.nextPanesSize - l.value[i[1]].min && (i[1] = Z(t).index, e.nextReachedMinPanes = 0, i[1] > t + 1 && l.value.forEach((a, s) => {\n s > t && s < i[1] && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), e.nextPanesSize = N(i[1] - 1), i[1] === void 0) ? (e.nextReachedMinPanes = 0, l.value.forEach((a, s) => {\n s < m.value - 1 && s >= t + 1 && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), l.value[i[0]].size = 100 - e.prevPanesSize - N(i[0] - 1), null) : { sums: e, panesToResize: i };\n }, $ = (e) => l.value.reduce((n, t, i) => n + (i < e ? t.size : 0), 0), N = (e) => l.value.reduce((n, t, i) => n + (i > e + 1 ? t.size : 0), 0), V = (e) => [...l.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, Z = (e) => l.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, ee = () => {\n var n;\n const e = Array.from(((n = x.value) == null ? void 0 : n.children) || []);\n for (const t of e) {\n const i = t.classList.contains(\"splitpanes__pane\"), a = t.classList.contains(\"splitpanes__splitter\");\n !i && !a && (t.remove(), console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\"));\n }\n }, F = (e, n, t = !1) => {\n const i = e - 1, a = document.createElement(\"div\");\n a.classList.add(\"splitpanes__splitter\"), t || (a.onmousedown = (s) => b(s, i), typeof window < \"u\" && \"ontouchstart\" in window && (a.ontouchstart = (s) => b(s, i)), a.onclick = (s) => A(s, i + 1)), a.ondblclick = (s) => U(s, i + 1), n.parentNode.insertBefore(a, n);\n }, ne = (e) => {\n e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();\n }, C = () => {\n var t;\n const e = Array.from(((t = x.value) == null ? void 0 : t.children) || []);\n for (const i of e)\n i.className.includes(\"splitpanes__splitter\") && ne(i);\n let n = 0;\n for (const i of e)\n i.className.includes(\"splitpanes__pane\") && (!n && u.firstSplitter ? F(n, i, !0) : n && F(n, i), n++);\n }, ie = ({ uid: e, ...n }) => {\n const t = M.value[e];\n for (const [i, a] of Object.entries(n)) t[i] = a;\n }, te = (e) => {\n var t;\n let n = -1;\n Array.from(((t = x.value) == null ? void 0 : t.children) || []).some((i) => (i.className.includes(\"splitpanes__pane\") && n++, i.isSameNode(e.el))), l.value.splice(n, 0, { ...e, index: n }), l.value.forEach((i, a) => i.index = a), S.value && T(() => {\n C(), L({ addedPane: l.value[n] }), d(\"pane-add\", { pane: l.value[n] });\n });\n }, ae = (e) => {\n const n = l.value.findIndex((i) => i.id === e);\n l.value[n].el = null;\n const t = l.value.splice(n, 1)[0];\n l.value.forEach((i, a) => i.index = a), T(() => {\n C(), d(\"pane-remove\", { pane: t }), L({ removedPane: { ...t } });\n });\n }, L = (e = {}) => {\n !e.addedPane && !e.removedPane ? le() : l.value.some((n) => n.givenSize !== null || n.min || n.max < 100) ? oe(e) : se(), S.value && d(\"resized\");\n }, se = () => {\n const e = 100 / m.value;\n let n = 0;\n const t = [], i = [];\n for (const a of l.value)\n a.size = Math.max(Math.min(e, a.max), a.min), n -= a.size, a.size >= a.max && t.push(a.id), a.size <= a.min && i.push(a.id);\n n > 0.1 && q(n, t, i);\n }, le = () => {\n let e = 100;\n const n = [], t = [];\n let i = 0;\n for (const s of l.value)\n e -= s.size, s.givenSize !== null && i++, s.size >= s.max && n.push(s.id), s.size <= s.min && t.push(s.id);\n let a = 100;\n if (e > 0.1) {\n for (const s of l.value)\n s.givenSize === null && (s.size = Math.max(Math.min(e / (m.value - i), s.max), s.min)), a -= s.size;\n a > 0.1 && q(a, n, t);\n }\n }, oe = ({ addedPane: e, removedPane: n } = {}) => {\n let t = 100 / m.value, i = 0;\n const a = [], s = [];\n ((e == null ? void 0 : e.givenSize) ?? null) !== null && (t = (100 - e.givenSize) / (m.value - 1));\n for (const o of l.value)\n i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n if (!(Math.abs(i) < 0.1)) {\n for (const o of l.value)\n (e == null ? void 0 : e.givenSize) !== null && (e == null ? void 0 : e.id) === o.id || (o.size = Math.max(Math.min(t, o.max), o.min)), i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n i > 0.1 && q(i, a, s);\n }\n }, q = (e, n, t) => {\n let i;\n e > 0 ? i = e / (m.value - n.length) : i = e / (m.value - t.length), l.value.forEach((a, s) => {\n if (e > 0 && !n.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n } else if (!t.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n }\n }), Math.abs(e) > 0.1 && T(() => {\n S.value && console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n });\n }, d = (e, n = void 0, t = !1) => {\n const i = (n == null ? void 0 : n.index) ?? c.value.activeSplitter ?? null;\n y(e, {\n ...n,\n ...i !== null && { index: i },\n ...t && i !== null && {\n prevPane: l.value[i - (u.firstSplitter ? 1 : 0)],\n nextPane: l.value[i + (u.firstSplitter ? 0 : 1)]\n },\n panes: l.value.map((a) => ({ min: a.min, max: a.max, size: a.size }))\n });\n };\n B(() => u.firstSplitter, () => C()), G(() => {\n ee(), C(), L(), d(\"ready\"), S.value = !0;\n }), X(() => S.value = !1);\n const re = () => {\n var e;\n return fe(\n \"div\",\n { ref: x, class: _.value },\n (e = E.default) == null ? void 0 : e.call(E)\n );\n };\n return g(\"panes\", l), g(\"indexedPanes\", M), g(\"horizontal\", z(() => u.horizontal)), g(\"requestUpdate\", ie), g(\"onPaneAdd\", te), g(\"onPaneRemove\", ae), g(\"onPaneClick\", W), (e, n) => (Y(), ve(me(re)));\n }\n}, ge = {\n __name: \"pane\",\n props: {\n size: { type: [Number, String] },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n setup(D) {\n var b;\n const h = D, y = w(\"requestUpdate\"), u = w(\"onPaneAdd\"), E = w(\"horizontal\"), l = w(\"onPaneRemove\"), M = w(\"onPaneClick\"), m = (b = de()) == null ? void 0 : b.uid, x = w(\"indexedPanes\"), S = z(() => x.value[m]), c = k(null), f = z(() => {\n const r = isNaN(h.size) || h.size === void 0 ? 0 : parseFloat(h.size);\n return Math.max(Math.min(r, R.value), _.value);\n }), _ = z(() => {\n const r = parseFloat(h.minSize);\n return isNaN(r) ? 0 : r;\n }), R = z(() => {\n const r = parseFloat(h.maxSize);\n return isNaN(r) ? 100 : r;\n }), O = z(() => {\n var r;\n return `${E.value ? \"height\" : \"width\"}: ${(r = S.value) == null ? void 0 : r.size}%`;\n });\n return B(() => f.value, (r) => y({ uid: m, size: r })), B(() => _.value, (r) => y({ uid: m, min: r })), B(() => R.value, (r) => y({ uid: m, max: r })), G(() => {\n u({\n id: m,\n el: c.value,\n min: _.value,\n max: R.value,\n // The given size (useful to know the user intention).\n givenSize: h.size === void 0 ? null : f.value,\n size: f.value\n // The computed current size at any time.\n });\n }), X(() => l(m)), (r, P) => (Y(), pe(\"div\", {\n ref_key: \"paneEl\",\n ref: c,\n class: \"splitpanes__pane\",\n onClick: P[0] || (P[0] = (A) => he(M)(A, r._.uid)),\n style: ze(O.value)\n }, [\n xe(r.$slots, \"default\")\n ], 4));\n }\n};\nexport {\n ge as Pane,\n Pe as Splitpanes\n};\n","import { loadState } from \"@nextcloud/initial-state\";\nimport { inject } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction once(func) {\n let wasCalled = false;\n let result;\n return (...args) => {\n if (!wasCalled) {\n wasCalled = true;\n result = func(...args);\n }\n return result;\n };\n}\nlet realAppName = \"missing-app-name\";\ntry {\n realAppName = appName;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appName`.\");\n}\nconst APP_NAME = realAppName;\nlet realAppVersion = \"\";\ntry {\n realAppVersion = appVersion;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appVersion`.\");\n}\nconst APP_VERSION = realAppVersion;\nfunction useAppName() {\n return inject(\"appName\", APP_NAME);\n}\nconst useLocalizedAppName = once(() => {\n const apps = loadState(\"core\", \"apps\", []);\n const realAppName2 = useAppName();\n return apps.find(({ id }) => id === realAppName2)?.name ?? realAppName2;\n});\nexport {\n APP_VERSION as A,\n useAppName as a,\n useLocalizedAppName as u\n};\n//# sourceMappingURL=appName-DyNMVZpX.mjs.map\n","import '../assets/NcAppContent-BC7DBer3.css';\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Splitpanes, Pane } from \"splitpanes\";\nimport { defineComponent, watch, onMounted, onBeforeUnmount, openBlock, createBlock, unref, normalizeClass, withCtx, createVNode, resolveComponent, createElementBlock, toDisplayString, createCommentVNode, Fragment, withModifiers, withDirectives, createElementVNode, renderSlot, vShow } from \"vue\";\nimport { m as mdiArrowRight } from \"./mdi-CpchYUUV.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, G as t27, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { u as useLocalizedAppName, a as useAppName } from \"./appName-DyNMVZpX.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport \"splitpanes/dist/splitpanes.css\";\nregister(t27);\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppContentDetailsToggle\",\n setup(__props) {\n const isMobile = useIsMobile();\n watch(isMobile, toggleAppNavigationButton);\n onMounted(() => {\n toggleAppNavigationButton(isMobile.value);\n });\n onBeforeUnmount(() => {\n if (isMobile.value) {\n toggleAppNavigationButton(false);\n }\n });\n function toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : \"\";\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcButton), {\n \"aria-label\": unref(t)(\"Go back to the list\"),\n class: normalizeClass([\"app-details-toggle\", { \"app-details-toggle--mobile\": unref(isMobile) }]),\n title: unref(t)(\"Go back to the list\"),\n variant: \"tertiary\"\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n directional: \"\",\n path: unref(mdiArrowRight)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"class\", \"title\"]);\n };\n }\n});\nconst NcAppContentDetailsToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-a28923a1\"]]);\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst instanceName = getCapabilities().theming?.name ?? \"Nextcloud\";\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppContentDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\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 * or respectively the default height on horizontal-split.\n *\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 * or respectively the minimum height 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 * or respectively the maximum height 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 * 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 * Specify the `

` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Allow setting the page's ``\n *\n * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`.\n * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`.\n * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}`\n */\n pageTitle: {\n type: String,\n default: null\n }\n },\n emits: [\n \"update:showDetails\",\n \"resizeList\"\n ],\n setup() {\n return {\n appName: useAppName(),\n localizedAppName: useLocalizedAppName(),\n isMobile: useIsMobile(),\n isRtl\n };\n },\n data() {\n return {\n contentHeight: 0,\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-${this.appName}`;\n } catch {\n logger.info(\"[NcAppContent]: 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 realPageTitle() {\n const entries = /* @__PURE__ */ new Set();\n if (this.pageTitle) {\n for (const part of this.pageTitle.split(\" - \")) {\n entries.add(part);\n }\n } else if (this.pageHeading) {\n for (const part of this.pageHeading.split(\" - \")) {\n entries.add(part);\n }\n if (entries.size > 0) {\n entries.add(this.localizedAppName);\n }\n } else {\n return null;\n }\n entries.add(instanceName);\n return [...entries.values()].join(\" - \");\n }\n },\n watch: {\n realPageTitle: {\n immediate: true,\n handler() {\n if (this.realPageTitle !== null) {\n document.title = this.realPageTitle;\n }\n }\n },\n paneConfigKey: {\n immediate: true,\n handler() {\n this.restorePaneConfig();\n }\n }\n },\n mounted() {\n if (!this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\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.panes[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resizeList\", { size: listPaneSize });\n logger.debug(\"[NcAppContent] pane config\", { listPaneSize });\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 logger.debug(\"[NcAppContent] 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};\nconst _hoisted_1 = {\n key: 0,\n class: \"hidden-visually\"\n};\nconst _hoisted_2 = { class: \"app-content-wrapper__list\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"app-content-wrapper\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcAppContentDetailsToggle = resolveComponent(\"NcAppContentDetailsToggle\");\n const _component_Pane = resolveComponent(\"Pane\");\n const _component_Splitpanes = resolveComponent(\"Splitpanes\");\n return openBlock(), createElementBlock(\"main\", {\n id: \"app-content-vue\",\n class: normalizeClass([\"app-content no-snapper\", { \"app-content--has-list\": !!_ctx.$slots.list }])\n }, [\n $props.pageHeading ? (openBlock(), createElementBlock(\"h1\", _hoisted_1, toDisplayString($props.pageHeading), 1)) : createCommentVNode(\"\", true),\n !!_ctx.$slots.list ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n $setup.isMobile || $props.layout === \"no-split\" ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"app-content-wrapper app-content-wrapper--no-split\", {\n \"app-content-wrapper--show-details\": $props.showDetails,\n \"app-content-wrapper--show-list\": !$props.showDetails,\n \"app-content-wrapper--mobile\": $setup.isMobile\n }])\n }, [\n $props.showDetails ? (openBlock(), createBlock(_component_NcAppContentDetailsToggle, {\n key: 0,\n onClick: withModifiers($options.hideDetails, [\"stop\", \"prevent\"])\n }, null, 8, [\"onClick\"])) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ], 512), [\n [vShow, !$props.showDetails]\n ]),\n $props.showDetails ? renderSlot(_ctx.$slots, \"default\", { key: 1 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2)) : $props.layout === \"vertical-split\" || $props.layout === \"horizontal-split\" ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_Splitpanes, {\n horizontal: $props.layout === \"horizontal-split\",\n class: normalizeClass([\"default-theme\", {\n \"splitpanes--horizontal\": $props.layout === \"horizontal-split\",\n \"splitpanes--vertical\": $props.layout === \"vertical-split\"\n }]),\n rtl: $setup.isRtl,\n onResized: $options.handlePaneResize\n }, {\n default: withCtx(() => [\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-list\",\n size: $data.listPaneSize || $options.paneDefaults.list.size,\n minSize: $options.paneDefaults.list.min,\n maxSize: $options.paneDefaults.list.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"]),\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-details\",\n size: $options.detailsPaneSize,\n minSize: $options.paneDefaults.details.min,\n maxSize: $options.paneDefaults.details.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"])\n ]),\n _: 3\n }, 8, [\"horizontal\", \"class\", \"rtl\", \"onResized\"])\n ])) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true),\n !_ctx.$slots.list ? renderSlot(_ctx.$slots, \"default\", { key: 2 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcAppContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-ea1e6879\"]]);\nexport {\n NcAppContent as N\n};\n//# sourceMappingURL=NcAppContent-taTvqnvd.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconClose as I\n};\n//# sourceMappingURL=Close-CuhcJnX2.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ChevronDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronDown = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronDown as C\n};\n//# sourceMappingURL=ChevronDown-C6gc637b.mjs.map\n","import '../assets/NcInputField-DpyFJ1xw.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, warn, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, withDirectives, renderSlot, vShow, createBlock, withCtx, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"input-field__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"type\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = { class: \"input-field__icon input-field__icon--leading\" };\nconst _hoisted_5 = {\n key: 2,\n class: \"input-field__icon input-field__icon--trailing\"\n};\nconst _hoisted_6 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"NcInputField\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: \"\" },\n inputClass: { default: \"\" },\n id: { default: () => createElementId() },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n type: { default: \"text\" },\n placeholder: { default: void 0 },\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: \"\" },\n disabled: { type: Boolean },\n pill: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"trailingButtonClick\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const emit = __emit;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const inputElement = useTemplateRef(\"input\");\n const hasTrailingIcon = computed(() => props.showTrailingButton || props.success);\n const internalPlaceholder = computed(() => {\n if (props.placeholder) {\n return props.placeholder;\n }\n if (props.label) {\n return isLegacy ? props.label : \"\";\n }\n return void 0;\n });\n const isValidLabel = computed(() => {\n const isValidLabel2 = props.label || props.labelOutside;\n if (!isValidLabel2) {\n warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel2;\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (attrs[\"aria-describedby\"]) {\n ariaDescribedby2.push(String(attrs[\"aria-describedby\"]));\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function focus(options) {\n inputElement.value.focus(options);\n }\n function select() {\n inputElement.value.select();\n }\n function handleInput(event) {\n const target = event.target;\n modelValue.value = props.type === \"number\" && typeof modelValue.value === \"number\" ? parseFloat(target.value) : target.value;\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"input-field\", [{\n \"input-field--disabled\": _ctx.disabled,\n \"input-field--error\": _ctx.error,\n \"input-field--label-outside\": _ctx.labelOutside || !isValidLabel.value,\n \"input-field--leading-icon\": !!_ctx.$slots.icon,\n \"input-field--trailing-icon\": hasTrailingIcon.value,\n \"input-field--pill\": _ctx.pill,\n \"input-field--success\": _ctx.success,\n \"input-field--legacy\": unref(isLegacy)\n }, _ctx.$props.class]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"input\", mergeProps(_ctx.$attrs, {\n id: _ctx.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"input-field__input\", _ctx.inputClass],\n disabled: _ctx.disabled,\n placeholder: internalPlaceholder.value,\n type: _ctx.type,\n value: modelValue.value.toString(),\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !_ctx.labelOutside && isValidLabel.value ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"input-field__label\",\n for: _ctx.id\n }, toDisplayString(_ctx.label), 9, _hoisted_3)) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ], 512), [\n [vShow, !!_ctx.$slots.icon]\n ]),\n _ctx.showTrailingButton ? (openBlock(), createBlock(NcButton, {\n key: 1,\n class: \"input-field__trailing-button\",\n \"aria-label\": _ctx.trailingButtonLabel,\n disabled: _ctx.disabled,\n variant: \"tertiary-no-background\",\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"trailingButtonClick\", $event))\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"trailing-button-icon\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : _ctx.success || _ctx.error ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n path: unref(mdiCheck)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n path: unref(mdiAlertCircleOutline)\n }, null, 8, [\"path\"]))\n ])) : createCommentVNode(\"\", true)\n ]),\n _ctx.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${_ctx.id}-helper-text`,\n class: \"input-field__helper-text-message\"\n }, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : _ctx.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(_ctx.helperText), 1)\n ], 8, _hoisted_6)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcInputField = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8e16cbb5\"]]);\nexport {\n NcInputField as N\n};\n//# sourceMappingURL=NcInputField-C3iof9pY.mjs.map\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<h2 class=\"activity-group__heading\" :title=\"fullDate\">\n\t\t{{ dateText }}\n\t</h2>\n\t<ul>\n\t\t<ActivityComponent\n\t\t\tv-for=\"activity in activities\"\n\t\t\t:key=\"activity.id\"\n\t\t\t:activity=\"activity\"\n\t\t\t:showPreviews=\"true\" />\n\t</ul>\n</template>\n\n<script setup lang=\"ts\">\nimport type ActivityModel from '../models/ActivityModel.ts'\n\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { computed } from 'vue'\nimport ActivityComponent from './ActivityComponent.vue'\n\nconst props = defineProps<{\n\tactivities: ActivityModel[]\n}>()\n\n/**\n * Title to show for the date either Today, Yesterday or the full date\n */\nconst dateText = computed(() => {\n\tconst today = moment()\n\tconst yesterday = moment().subtract(1, 'day')\n\tconst first = moment(props.activities[0].datetime)\n\n\tif (first.isSame(today, 'day')) {\n\t\treturn t('activity', 'Today')\n\t} else if (first.isSame(yesterday, 'day')) {\n\t\treturn t('activity', 'Yesterday')\n\t}\n\treturn first.format('LL')\n})\n\n/**\n * If the heading is yesterday or today, show the full date as title, otherwise no title is shown\n */\nconst fullDate = computed(() => {\n\tconst formatted = moment(props.activities[0].datetime).format('LL')\n\treturn formatted !== dateText.value ? formatted : undefined\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-group {\n\t&__heading {\n\t\tline-height: 1.5;\n\t\tmargin-block: 30px 12px;\n\n\t\t&:first-of-type {\n\t\t\t// Already padding from h1\n\t\t\tmargin-block-start: 0;\n\t\t}\n\t}\n}\n</style>\n","export default \"<svg viewBox=\\\"0 0 32 32\\\" height=\\\"32\\\" width=\\\"32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xml:space=\\\"preserve\\\" style=\\\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\\\"><path d=\\\"m8 22 1-7H4l9-13h2l-1 8h6L10 22H8Z\\\" style=\\\"fill-rule:nonzero\\\" transform=\\\"matrix(1.5 0 0 1.5 -2 -2)\\\"/></svg>\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcAppContent class=\"activity-app\">\n\t\t<!-- Kept for document semantics / screen readers, but visually hidden -->\n\t\t<h1 class=\"activity-app__heading hidden-visually\">\n\t\t\t{{ headingTitle }}\n\t\t</h1>\n\t\t<NcEmptyContent\n\t\t\tv-if=\"hasMoreActivites && allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'Loading activities')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<NcEmptyContent\n\t\t\tv-else-if=\"allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'No activity yet')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"appIconSVG\" :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<div ref=\"container\" class=\"activity-app__container\" @scroll=\"onScroll\">\n\t\t\t<NcButton\n\t\t\t\tv-if=\"newActivitiesAvailable\"\n\t\t\t\tclass=\"activity-app__new-activities-indicator\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t@click=\"scrollToTop\">\n\t\t\t\t{{ t('activity', 'New activities') }}\n\t\t\t</NcButton>\n\t\t\t<ActivityGroup v-for=\"activities, date of groupedActivities\" :key=\"date\" :activities=\"activities\" />\n\t\t\t<!-- Only show if not showing the inital empty content for loading -->\n\t\t\t<NcLoadingIcon\n\t\t\t\tv-if=\"hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t:name=\"t('activity', 'Loading more activities')\"\n\t\t\t\t:size=\"64\"\n\t\t\t\tclass=\"activity-app__loading-indicator\" />\n\t\t\t<div\n\t\t\t\tv-else-if=\"!hasMoreActivites && allActivities.length > 0\"\n\t\t\t\tclass=\"activity-app__loading-indicator\">\n\t\t\t\t{{ t('activity', 'No more activities.') }}\n\t\t\t</div>\n\t\t</div>\n\t</NcAppContent>\n</template>\n\n<script setup lang=\"ts\">\nimport type { IRawActivity } from '../models/types.ts'\n\nimport ncAxios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { useDebounceFn, useDocumentVisibility, useInfiniteScroll } from '@vueuse/core'\nimport axios from 'axios'\nimport { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'\nimport NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport ActivityGroup from '../components/ActivityGroup.vue'\nimport appIconSVG from '../../img/activity-dark.svg?raw'\nimport ActivityModel from '../models/ActivityModel.ts'\nimport logger from '../utils/logger.ts'\n\ninterface INavigationEntry {\n\tid: string\n\ticon?: string\n\tname: string\n\turl: string\n}\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * The currently active activities filter\n\t */\n\tfilter?: string\n}>(), {\n\t// default to 'all'\n\tfilter: 'all',\n})\n\nconst navigationList = loadState<INavigationEntry[]>(appName, 'navigationList')\n\nconst route = useRoute()\n\n/**\n * Whether activities are currently being loaded\n */\nconst loading = ref(false)\n\n/**\n * Whether more activites can be loaded\n */\nconst hasMoreActivites = ref(true)\n\n/**\n * All loaded actvities\n */\nconst allActivities = ref<ActivityModel[]>([])\n\n/**\n * Last loaded activity (oldest) for backward pagination\n * This is set by the backend in the API result as a header value for pagination\n */\nconst lastActivityLoaded = ref<string>()\n\n/**\n * First loaded activity ID (newest) for polling new activities\n */\nconst newestActivityId = ref<number>()\n\n/**\n * Whether new activities have been prepended while the user was scrolled\n * away from the top — used to show the \"New activities\" navigation button\n */\nconst newActivitiesAvailable = ref(false)\n\n/**\n * Polling interval in milliseconds\n */\nconst POLL_INTERVAL = 30000\n\n/**\n * Polling timer reference (setTimeout-based for self-scheduling)\n */\nlet pollTimer: ReturnType<typeof setTimeout> | undefined\n\n/**\n * AbortController for in-flight load and poll requests.\n * Replaced on filter change and aborted on unmount so stale responses\n * are never applied to the wrong filter's state.\n */\nlet requestController = new AbortController()\n\n/**\n * Document visibility for pausing polling when tab is hidden\n */\nconst visibility = useDocumentVisibility()\n\n/**\n * Container element for the activites\n */\nconst container = ref<HTMLDivElement>()\n\n/**\n * Use infinite scroll for the container and load activities when reaching the bottom\n */\nuseInfiniteScroll(container, async () => {\n\tif (hasMoreActivites.value) {\n\t\tawait loadActivities()\n\t}\n}, {\n\tdistance: 100,\n})\n\n/**\n * Activities grouped by date\n */\nconst groupedActivities = computed(() => {\n\tconst groups = {} as Record<string, ActivityModel[]>\n\tfor (const activity of allActivities.value) {\n\t\tconst date = moment(activity.datetime).format('LL')\n\t\tif (groups[date] === undefined) {\n\t\t\tgroups[date] = [activity]\n\t\t} else {\n\t\t\tgroups[date].push(activity)\n\t\t}\n\t}\n\treturn groups\n})\n\nconst headingTitle = computed(() => {\n\treturn navigationList.find((navigationEl) => navigationEl.id === route.params.filter).name\n})\n\n/**\n * Load activities for current filter or load more if already loaded\n */\nasync function loadActivities() {\n\t// Skip if already loading\n\tif (loading.value) {\n\t\treturn\n\t}\n\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = lastActivityLoaded.value ?? '0'\n\t\tloading.value = true\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}', { filter: props.filter, since }), { signal })\n\t\tif (signal.aborted) {\n\t\t\treturn\n\t\t}\n\t\tconst newActivities = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\tallActivities.value.push(...newActivities)\n\t\tlastActivityLoaded.value = response.headers['x-activity-last-given']\n\t\thasMoreActivites.value = true\n\n\t\t// Track the newest activity ID for polling\n\t\tif (newestActivityId.value === undefined && newActivities.length > 0) {\n\t\t\tnewestActivityId.value = newActivities[0].id\n\t\t}\n\n\t\tnextTick(async () => {\n\t\t\tif (container.value && container.value.clientHeight === container.value.scrollHeight) {\n\t\t\t\t// Container is non-scrollable, thus useInfiniteScroll isn't triggered\n\t\t\t\t// Do it manually to ensure there are no activities to fetch anymore\n\t\t\t\tawait loadActivities()\n\t\t\t}\n\t\t})\n\t} catch (error) {\n\t\tif (axios.isCancel(error)) {\n\t\t\treturn\n\t\t}\n\t\t// Skip if no activities are available\n\t\tif (axios.isAxiosError(error) && error.response?.status === 304) {\n\t\t\thasMoreActivites.value = false\n\t\t\treturn\n\t\t}\n\n\t\tlogger.error(error as Error)\n\t\tshowError(t('activity', 'Could not load activities'))\n\t} finally {\n\t\t// Don't clear the loading flag if this request was superseded — the\n\t\t// replacement loadActivities() call has already set it to true.\n\t\tif (!signal.aborted) {\n\t\t\tloading.value = false\n\t\t}\n\t}\n}\n\n/**\n * Poll for new activities and either prepend them directly (when near top)\n * or queue them so the user can load them without disrupting their scroll position\n */\nasync function pollNewActivities() {\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = String(newestActivityId.value ?? 0)\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}&sort=asc', { filter: props.filter, since }), { signal })\n\t\tif (!signal.aborted && response.data.ocs.data.length > 0) {\n\t\t\tconst newActivities: ActivityModel[] = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\t\t// Sort newest first for prepending\n\t\t\tnewActivities.sort((a: ActivityModel, b: ActivityModel) => b.id - a.id)\n\t\t\tnewestActivityId.value = newActivities[0]!.id\n\t\t\tallActivities.value.unshift(...newActivities)\n\n\t\t\t// Show the navigation button only when the user is not already at the top\n\t\t\t// (browser scroll anchoring keeps their reading position stable on prepend)\n\t\t\tconst isNearTop = !container.value || container.value.scrollTop < 50\n\t\t\tif (!isNearTop) {\n\t\t\t\tnewActivitiesAvailable.value = true\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\t// Silently ignore cancellations and polling errors (304 = no new activities)\n\t\tif (!axios.isCancel(error) && (!axios.isAxiosError(error) || error.response?.status !== 304)) {\n\t\t\tlogger.error(error as Error)\n\t\t}\n\t}\n\n\t// Self-schedule only if polling wasn't stopped while the request was in flight\n\tif (pollTimer !== undefined) {\n\t\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n\t}\n}\n\n/**\n * Scroll to the top of the container to reveal the newly prepended activities\n */\nfunction scrollToTop() {\n\tnewActivitiesAvailable.value = false\n\tcontainer.value?.scrollTo({ top: 0, behavior: 'smooth' })\n}\n\n/**\n * Hide the \"New activities\" button once the user scrolls back near the top\n */\nconst onScroll = useDebounceFn(() => {\n\tif (container.value && container.value.scrollTop < 50) {\n\t\tnewActivitiesAvailable.value = false\n\t}\n}, 100)\n\n/**\n *\n */\nfunction startPolling() {\n\tstopPolling()\n\t// Use a sentinel value so the self-scheduling logic in pollNewActivities\n\t// knows polling is active even before the first tick fires\n\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n}\n\n/**\n *\n */\nfunction stopPolling() {\n\tif (pollTimer !== undefined) {\n\t\tclearTimeout(pollTimer)\n\t\tpollTimer = undefined\n\t}\n}\n\n/**\n * Load activities when mounted and start polling\n */\nonMounted(() => {\n\tloadActivities()\n\tstartPolling()\n})\n\nonUnmounted(() => {\n\tstopPolling()\n\trequestController.abort()\n})\n\nwatch(visibility, (value) => {\n\tif (value === 'hidden') {\n\t\tstopPolling()\n\t} else {\n\t\tstartPolling()\n\t}\n})\n\n/**\n * Reload activities when filter changed\n */\nwatch(props, () => {\n\trequestController.abort()\n\trequestController = new AbortController()\n\tallActivities.value = []\n\tnewActivitiesAvailable.value = false\n\tlastActivityLoaded.value = undefined\n\tnewestActivityId.value = undefined\n\thasMoreActivites.value = true\n\tloadActivities()\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-app {\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\n\t&__empty-content {\n\t\theight: 100%;\n\t}\n\n\t&__loading-indicator {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tjustify-self: center;\n\t\tmargin-block: 30px 6px;\n\t\ttext-align: center;\n\t}\n\n\t&__container {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\theight: 100%;\n\t\twidth: min(100%, 924px);\n\t\tmax-width: 924px;\n\t\tmargin: 0 auto;\n\t\tpadding-inline: 12px;\n\t\toverflow-y: scroll;\n\t}\n\n\t&__new-activities-indicator {\n\t\tposition: sticky;\n\t\ttop: 8px;\n\t\talign-self: center;\n\t\tz-index: 10;\n\t\tpadding: 6px 16px;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tborder: none;\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tbox-shadow: 0 2px 8px var(--color-box-shadow);\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t}\n}\n</style>\n","import '../assets/NcAppNavigationList--36j6Acm.css';\nimport { openBlock, createElementBlock, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nconst _hoisted_1 = { class: \"app-navigation-list\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"ul\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n}\nconst NcAppNavigationList = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-d72957ed\"]]);\nexport {\n NcAppNavigationList as N\n};\n//# sourceMappingURL=NcAppNavigationList-CGSWabRB.mjs.map\n","import '../assets/NcAppNavigation-ykL7Wz6L.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, createVNode, unref, withCtx, inject, warn, useTemplateRef, ref, watchEffect, watch, onMounted, onUnmounted, normalizeClass, createElementVNode, withKeys, renderSlot, createBlock, createCommentVNode } from \"vue\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { N as NcAppNavigationList } from \"./NcAppNavigationList-CGSWabRB.mjs\";\nimport { G as mdiMenuOpen, H as mdiMenu } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, P as t20, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY } from \"./constants-Ciwvl5xb.mjs\";\nregister(t20);\nconst _hoisted_1$1 = { class: \"app-navigation-toggle-wrapper\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationToggle\",\n props: {\n \"open\": { type: Boolean, ...{ required: true } },\n \"openModifiers\": {}\n },\n emits: [\"update:open\"],\n setup(__props) {\n const open = useModel(__props, \"open\");\n const title = computed(() => open.value ? t(\"Close navigation\") : t(\"Open navigation\"));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n createVNode(unref(NcButton), {\n class: \"app-navigation-toggle\",\n \"aria-controls\": \"app-navigation-vue\",\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n \"aria-label\": title.value,\n title: title.value,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: open.value ? unref(mdiMenuOpen) : unref(mdiMenu)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-expanded\", \"aria-label\", \"title\"])\n ]);\n };\n }\n});\nconst NcAppNavigationToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-5a15295d\"]]);\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"inert\"];\nconst _hoisted_2 = { class: \"app-navigation__search\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigation\",\n props: {\n ariaLabel: {},\n ariaLabelledby: {}\n },\n setup(__props) {\n const props = __props;\n let focusTrap;\n const setHasAppNavigation = inject(\n HAS_APP_NAVIGATION_KEY,\n () => warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n false\n );\n const appNavigationContainerElement = useTemplateRef(\"appNavigationContainer\");\n const isMobile = useIsMobile();\n const open = ref(!isMobile.value);\n watchEffect(() => {\n if (!props.ariaLabel && !props.ariaLabelledby) {\n warn(\"NcAppNavigation requires either `ariaLabel` or `ariaLabelledby` to be set for accessibility.\");\n }\n });\n watch(isMobile, () => {\n open.value = !isMobile.value;\n });\n watch(open, () => {\n toggleFocusTrap();\n });\n onMounted(() => {\n setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: open.value\n });\n focusTrap = createFocusTrap(appNavigationContainerElement.value, {\n allowOutsideClick: true,\n clickOutsideDeactivates: () => {\n if (isMobile.value) {\n focusTrap.deactivate({ returnFocus: false });\n toggleNavigation(false);\n }\n return false;\n },\n fallbackFocus: appNavigationContainerElement.value,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n toggleFocusTrap();\n });\n onUnmounted(() => {\n setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n focusTrap.deactivate();\n });\n function toggleNavigation(state) {\n if (open.value === state) {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n return;\n }\n open.value = state === void 0 ? !open.value : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n }, 1.5 * animationLength);\n }\n function toggleNavigationByEventBus({ open: open2 }) {\n return toggleNavigation(open2);\n }\n function toggleFocusTrap() {\n if (isMobile.value && open.value) {\n focusTrap.activate();\n } else {\n focusTrap.deactivate();\n }\n }\n function handleEsc() {\n if (isMobile.value) {\n toggleNavigation(false);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"appNavigationContainer\",\n class: normalizeClass([\"app-navigation\", {\n \"app-navigation--closed\": !open.value,\n \"app-navigation--legacy\": unref(isLegacy34)\n }])\n }, [\n createElementVNode(\"nav\", {\n id: \"app-navigation-vue\",\n \"aria-hidden\": open.value ? \"false\" : \"true\",\n \"aria-label\": _ctx.ariaLabel || void 0,\n \"aria-labelledby\": _ctx.ariaLabelledby || void 0,\n class: \"app-navigation__content\",\n inert: !open.value || void 0,\n onKeydown: withKeys(handleEsc, [\"esc\"])\n }, [\n createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"search\", {}, void 0, true)\n ]),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation__body\", { \"app-navigation__body--no-list\": !_ctx.$slots.list }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2),\n _ctx.$slots.list ? (openBlock(), createBlock(NcAppNavigationList, {\n key: 0,\n class: \"app-navigation__list\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", {}, void 0, true)\n ], 40, _hoisted_1),\n createVNode(NcAppNavigationToggle, {\n open: open.value,\n \"onUpdate:open\": toggleNavigation\n }, null, 8, [\"open\"])\n ], 2);\n };\n }\n});\nconst NcAppNavigation = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-3b634fbd\"]]);\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-Bb54U_qJ.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronUp = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-ChH8oB7p.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconArrowRight = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconArrowRight as I\n};\n//# sourceMappingURL=ArrowRight-B1ncAhus.mjs.map\n","import '../assets/NcInputConfirmCancel-BEmwC87z.css';\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { r as register, k as t14, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, withKeys, withDirectives, vModelText, createVNode, withCtx } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t14);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n IconArrowRight,\n IconClose,\n NcButton\n },\n setup() {\n return { isLegacy34 };\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 /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n modelValue: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"cancel\",\n \"confirm\",\n \"update:modelValue\"\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.modelValue;\n },\n set(newValue) {\n this.$emit(\"update:modelValue\", 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};\nconst _hoisted_1 = [\"placeholder\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"app-navigation-input-confirm\", { \"app-navigation-input-confirm--legacy\": $setup.isLegacy34 }])\n }, [\n createElementVNode(\"form\", {\n onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.confirm && $options.confirm(...args), [\"prevent\"])),\n onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.cancel && $options.cancel(...args), [\"exact\", \"stop\", \"prevent\"]), [\"esc\"])),\n onClick: _cache[3] || (_cache[3] = withModifiers(() => {\n }, [\"stop\", \"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $options.valueModel = $event),\n type: \"text\",\n class: \"app-navigation-input-confirm__input\",\n placeholder: $props.placeholder\n }, null, 8, _hoisted_1), [\n [vModelText, $options.valueModel]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelConfirm,\n type: \"submit\",\n variant: \"primary\",\n onClick: withModifiers($options.confirm, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelCancel,\n type: \"reset\",\n variant: $props.primary ? \"primary\" : \"tertiary\",\n onClick: withModifiers($options.cancel, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"variant\", \"onClick\"])\n ], 32)\n ], 2);\n}\nconst NcInputConfirmCancel = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-a8724c7f\"]]);\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-BL_BkfXh.mjs.map\n","import { defineComponent } from \"vue\";\nconst _sfc_main = defineComponent({\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 render() {\n return this.vnodes || this.$slots?.default?.({});\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map\n","import '../assets/NcAppNavigationItem-DF81QkEz.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps, withKeys, withModifiers, renderSlot, createVNode, createTextVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-C6gc637b.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-ChH8oB7p.mjs\";\nimport { r as register, N as t21, a as t, b as t51, O as t23 } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-BL_BkfXh.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BJKJG2zO.mjs\";\nimport { N as NcActions } from \"./NcActions-fCXSb_0o.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-CInLzPtA.mjs\";\nimport { _ as _sfc_main$4 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nconst _sfc_main$3 = {\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};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { 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\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pencil-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst Pencil = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\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};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { 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\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon undo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst Undo = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nregister(t21);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n setup() {\n return { isLegacy34 };\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n required: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: 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};\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ChevronUp = resolveComponent(\"ChevronUp\");\n const _component_ChevronDown = resolveComponent(\"ChevronDown\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n return openBlock(), createBlock(_component_NcButton, {\n class: normalizeClass([\"icon-collapse\", {\n \"icon-collapse--active\": $props.active,\n \"icon-collapse--open\": $props.open\n }]),\n \"aria-label\": $options.labelButton,\n variant: $props.active && $setup.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\",\n onClick: $options.onClick\n }, {\n icon: withCtx(() => [\n $props.open ? (openBlock(), createBlock(_component_ChevronUp, {\n key: 0,\n size: 20\n })) : (openBlock(), createBlock(_component_ChevronDown, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"class\", \"aria-label\", \"variant\", \"onClick\"]);\n}\nconst NcAppNavigationIconCollapsible = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-acf5ed2f\"]]);\nregister(t23, t51);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes: _sfc_main$4,\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: () => createElementId(),\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 `<router-link />` that points to that route.\n * By leaving this blank, the root element will be a `<li>`.\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 * 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 isLegacy34\n };\n },\n data() {\n return {\n actionsBoundariesElement: void 0,\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 };\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 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 * 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};\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"aria-current\", \"aria-description\", \"aria-expanded\", \"href\", \"target\", \"title\", \"onClick\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"editingContainer\"\n};\nconst _hoisted_4 = {\n key: 1,\n class: \"app-navigation-entry__deleted\"\n};\nconst _hoisted_5 = { class: \"app-navigation-entry__deleted-description\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"app-navigation-entry__counter-wrapper\"\n};\nconst _hoisted_7 = {\n key: 0,\n class: \"app-navigation-entry__children\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcInputConfirmCancel = resolveComponent(\"NcInputConfirmCancel\");\n const _component_Pencil = resolveComponent(\"Pencil\");\n const _component_NcActionButton = resolveComponent(\"NcActionButton\");\n const _component_Undo = resolveComponent(\"Undo\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcAppNavigationIconCollapsible = resolveComponent(\"NcAppNavigationIconCollapsible\");\n return openBlock(), createElementBlock(\"li\", {\n id: $props.id,\n class: normalizeClass([{\n \"app-navigation-entry--opened\": $data.opened,\n \"app-navigation-entry--pinned\": $props.pinned,\n \"app-navigation-entry--collapsible\": $props.allowCollapse && !!_ctx.$slots.default\n }, \"app-navigation-entry-wrapper\"])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent($options.isRouterLink ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$options.isRouterLink && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry\", {\n \"app-navigation-entry--editing\": $data.editingActive,\n \"app-navigation-entry--deleted\": $props.undo,\n \"app-navigation-entry--legacy\": $setup.isLegacy34,\n active: $props.to && isActive || $props.active\n }])\n }, [\n !$props.undo ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n class: \"app-navigation-entry-link\",\n \"aria-current\": $props.active || $props.to && isActive ? \"page\" : void 0,\n \"aria-description\": $props.ariaDescription,\n \"aria-expanded\": !!_ctx.$slots.default ? $data.opened.toString() : void 0,\n href: $props.href || routerLinkHref || \"#\",\n target: $options.isExternal($props.href) ? \"_blank\" : void 0,\n title: $props.title || $props.name,\n onBlur: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onFocus: _cache[2] || (_cache[2] = (...args) => $options.handleFocus && $options.handleFocus(...args)),\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.handleTab && $options.handleTab(...args), [\"exact\"]), [\"tab\"]))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry-icon\", { [$props.icon]: $props.icon }])\n }, [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : renderSlot(_ctx.$slots, \"icon\", {\n key: 1,\n active: $props.active || $props.to && isActive\n }, void 0, true)\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass([\"app-navigation-entry__name\", { \"hidden-visually\": $data.editingActive }])\n }, toDisplayString($props.name), 3),\n $data.editingActive ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_NcInputConfirmCancel, {\n ref: \"editingInput\",\n modelValue: $data.editingValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $data.editingValue = $event),\n placeholder: $props.editPlaceholder !== \"\" ? $props.editPlaceholder : $props.name,\n primary: $props.to && isActive || $props.active,\n onCancel: $options.cancelEditing,\n onConfirm: $options.handleEditingDone\n }, null, 8, [\"modelValue\", \"placeholder\", \"primary\", \"onCancel\", \"onConfirm\"])\n ])) : createCommentVNode(\"\", true)\n ], 40, _hoisted_2)) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createElementBlock(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, toDisplayString($props.name), 1)\n ])) : createCommentVNode(\"\", true),\n (!!_ctx.$slots.actions || !!_ctx.$slots.counter || $props.editable || $props.undo) && !$data.editingActive ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass([\"app-navigation-entry__utils\", { \"app-navigation-entry__utils--display-actions\": $props.forceDisplayActions || $data.menuOpenLocalValue || $props.menuOpen }])\n }, [\n !!_ctx.$slots.counter ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"counter\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n !!_ctx.$slots.actions || $props.editable && !$data.editingActive || $props.undo ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n class: \"app-navigation-entry__actions\",\n container: \"#app-navigation-vue\",\n boundariesElement: $data.actionsBoundariesElement,\n inline: $props.inlineActions,\n placement: $props.menuPlacement,\n open: $props.menuOpen,\n forceMenu: $props.forceMenu,\n defaultIcon: $props.menuIcon,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onMenuToggle\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n $props.editable && !$data.editingActive ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 0,\n \"aria-label\": $options.editButtonAriaLabel,\n onClick: $options.handleEdit\n }, {\n icon: withCtx(() => [\n createVNode(_component_Pencil, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString($props.editLabel), 1)\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 1,\n \"aria-label\": $options.undoButtonAriaLabel,\n onClick: $options.handleUndo\n }, {\n icon: withCtx(() => [\n createVNode(_component_Undo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"boundariesElement\", \"inline\", \"placement\", \"open\", \"forceMenu\", \"defaultIcon\", \"onUpdate:open\"])) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true),\n $props.allowCollapse && !!_ctx.$slots.default ? (openBlock(), createBlock(_component_NcAppNavigationIconCollapsible, {\n key: 3,\n active: $props.to && isActive || $props.active,\n open: $data.opened,\n onClick: withModifiers($options.toggleCollapse, [\"prevent\", \"stop\"])\n }, null, 8, [\"active\", \"open\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ], 2)\n ]),\n _: 3\n }, 16)),\n $options.canHaveChildren && !!_ctx.$slots.default ? (openBlock(), createElementBlock(\"ul\", _hoisted_7, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1);\n}\nconst NcAppNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e4d562ae\"]]);\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-Dg2d2AwS.mjs.map\n","import '../assets/NcAppNavigationSettings-HQEDobBQ.css';\nimport { defineComponent, ref, useTemplateRef, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, unref, withCtx, createTextVNode, toDisplayString, Transition, withDirectives, renderSlot, vShow } from \"vue\";\nimport { C as mdiCog, D as mdiCogOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { onClickOutside } from \"@vueuse/core\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, B as t47, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t47);\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationSettings\",\n props: {\n excludeClickOutsideSelectors: { default: () => [] },\n name: { default: () => t(\"Settings\") }\n },\n setup(__props) {\n const contentId = createElementId();\n const open = ref(false);\n const container2 = useTemplateRef(\"wrapperElement\");\n const ignore = computed(() => Array.isArray(__props.excludeClickOutsideSelectors) ? __props.excludeClickOutsideSelectors : __props.excludeClickOutsideSelectors.split(\" \"));\n onClickOutside(container2, () => {\n open.value = false;\n }, { ignore });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"wrapperElement\",\n class: normalizeClass(_ctx.$style.container)\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.$style.header)\n }, [\n createVNode(NcButton, {\n \"aria-controls\": unref(contentId),\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n class: normalizeClass(_ctx.$style.button),\n alignment: \"start\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: unref(isLegacy) ? unref(mdiCog) : unref(mdiCogOutline)\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(_ctx.name), 1)\n ]),\n _: 1\n }, 8, [\"aria-controls\", \"aria-expanded\", \"class\"])\n ], 2),\n createVNode(Transition, {\n enterActiveClass: _ctx.$style.animationActive,\n leaveActiveClass: _ctx.$style.animationActive,\n enterFromClass: _ctx.$style.animationStop,\n leaveToClass: _ctx.$style.animationStop\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(contentId),\n class: normalizeClass(_ctx.$style.content)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1), [\n [vShow, open.value]\n ])\n ]),\n _: 3\n }, 8, [\"enterActiveClass\", \"leaveActiveClass\", \"enterFromClass\", \"leaveToClass\"])\n ], 2);\n };\n }\n});\nconst container = \"_container_RFk6U\";\nconst header = \"_header_2CtDS\";\nconst button = \"_button_tAyis\";\nconst content = \"_content_--KYD\";\nconst animationActive = \"_animationActive_DAG1p\";\nconst animationStop = \"_animationStop_fWYQj\";\nconst style0 = {\n container,\n header,\n button,\n content,\n animationActive,\n animationStop\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcAppNavigationSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-CJ2z5cYU.mjs.map\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon content-copy-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\">\n <title v-if=\"title\">{{ title }}\n \n \n \n\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\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 RouteRecordRaw[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\nimport { routes } from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('/apps/activity')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nconst app = createApp(ActivityApp)\napp.use(router)\napp.mount('#content')\n"],"names":["HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","register","t30","contentSvg","navigationSvg","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","props","provide","setAppNavigation","computed","isMobile","useIsMobile","hasAppNavigation","ref","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","emit","nextTick","value","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","isLegacy34","createBlock","Teleport","createElementVNode","toDisplayString","t","withDirectives","createVNode","NcButton","withModifiers","$event","withCtx","createTextVNode","vShow","NcIconSvgWrapper","renderSlot","NcContent","_export_sfc","_createBlock","_unref","_createVNode","_component_router_view","Pe","D","h","y","u","E","ce","l","k","M","z","e","n","m","x","S","c","f","_","R","r","P","O","b","i","a","s","o","K","I","d","A","U","W","J","$","N","v","p","H","ue","j","Q","V","Z","ee","F","ne","C","ie","te","T","L","ae","le","oe","se","q","B","G","X","re","fe","g","Y","ve","me","ge","w","de","pe","he","ze","xe","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","inject","useLocalizedAppName","apps","loadState","realAppName2","id","t27","_sfc_main$1","watch","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","mdiArrowRight","NcAppContentDetailsToggle","browserStorage","getBuilder","instanceName","getCapabilities","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createCommentVNode","Fragment","NcAppContent","_hoisted_4","mergeProps","IconClose","ChevronDown","_hoisted_5","_hoisted_6","mergeModels","createElementId","__expose","__emit","modelValue","useModel","focus","select","attrs","useAttrs","inputElement","useTemplateRef","hasTrailingIcon","internalPlaceholder","isLegacy","isValidLabel","ariaDescribedby","ariaDescribedby2","options","handleInput","target","mdiCheck","mdiAlertCircleOutline","NcInputField","dateText","today","moment","yesterday","first","fullDate","formatted","_createElementVNode","_createElementBlock","_Fragment","_renderList","activity","ActivityComponent","appIconSVG","POLL_INTERVAL","navigationList","route","useRoute","loading","hasMoreActivites","allActivities","lastActivityLoaded","newestActivityId","newActivitiesAvailable","pollTimer","requestController","visibility","useDocumentVisibility","useInfiniteScroll","loadActivities","groupedActivities","groups","date","headingTitle","navigationEl","signal","since","response","ncAxios","generateOcsUrl","newActivities","raw","ActivityModel","error","axios","showError","pollNewActivities","scrollToTop","onScroll","useDebounceFn","startPolling","stopPolling","onUnmounted","_toDisplayString","NcEmptyContent","NcLoadingIcon","_openBlock","activities","ActivityGroup","NcAppNavigationList","t20","_hoisted_1$1","open","title","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open2","handleEsc","withKeys","NcAppNavigation","ChevronUp","IconArrowRight","t14","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcActions","NcActionButton","_sfc_main$4","newVal","navigate","routerLinkHref","href","_hoisted_7","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcActions","_component_NcAppNavigationIconCollapsible","resolveDynamicComponent","normalizeProps","guardReactiveProps","isActive","NcAppNavigationItem","t47","contentId","container2","ignore","onClickOutside","mdiCog","mdiCogOutline","Transition","header","button","content","animationActive","animationStop","style0","cssModules","NcAppNavigationSettings","_mergeProps","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","navigationItem","NcCheckboxRadioSwitch","IconContentCopy","routes","ActivityAppFeed","ActivityAppNavigation","router","createRouter","createWebHistory","app","createApp","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20]} \ No newline at end of file diff --git a/playwright/e2e/stream.spec.ts b/playwright/e2e/stream.spec.ts index cae2ad94d..7ccb5774f 100644 --- a/playwright/e2e/stream.spec.ts +++ b/playwright/e2e/stream.spec.ts @@ -39,13 +39,17 @@ test('Shows activity entries on load', async ({ page }) => { test('Heading reflects the active filter', async ({ page }) => { await page.goto(STREAM_URL) - await expect(page.locator('.activity-app__heading')).toBeVisible({ timeout: 30000 }) - await expect(page.locator('.activity-app__heading')).toContainText('All activities') + // The

is kept for semantics but visually hidden, so assert its content + // rather than its visibility. + await expect(page.locator('.activity-app__heading')) + .toContainText('All activities', { timeout: 30000 }) }) test('Navigation filter loads filtered stream', async ({ page }) => { await page.goto(STREAM_URL) - await expect(page.locator('.activity-app__heading')).toBeVisible({ timeout: 30000 }) + await expect( + page.locator('.activity-entry, .activity-app__empty-content').first(), + ).toBeVisible({ timeout: 30000 }) await expect(page.locator('[data-navigation="all"]')).toBeVisible() @@ -58,7 +62,9 @@ test('Navigation filter loads filtered stream', async ({ page }) => { test('RSS feed toggle shows and hides the feed URL', async ({ page }) => { await page.goto(STREAM_URL) - await expect(page.locator('.activity-app__heading')).toBeVisible({ timeout: 30000 }) + await expect( + page.locator('.activity-entry, .activity-app__empty-content').first(), + ).toBeVisible({ timeout: 30000 }) await expect(page.getByRole('textbox', { name: 'RSS feed' })).not.toBeVisible() diff --git a/src/views/ActivityAppFeed.vue b/src/views/ActivityAppFeed.vue index 332a377ed..ea6e8b7f2 100644 --- a/src/views/ActivityAppFeed.vue +++ b/src/views/ActivityAppFeed.vue @@ -4,7 +4,8 @@ --> \n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\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 RouteRecordRaw[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\nimport { routes } from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('/apps/activity')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nconst app = createApp(ActivityApp)\napp.use(router)\napp.mount('#content')\n"],"names":["HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","register","t30","contentSvg","navigationSvg","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","props","provide","setAppNavigation","computed","isMobile","useIsMobile","hasAppNavigation","ref","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","emit","nextTick","value","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","isLegacy34","createBlock","Teleport","createElementVNode","toDisplayString","t","withDirectives","createVNode","NcButton","withModifiers","$event","withCtx","createTextVNode","vShow","NcIconSvgWrapper","renderSlot","NcContent","_export_sfc","_createBlock","_unref","_createVNode","_component_router_view","Pe","D","h","y","u","E","ce","l","k","M","z","e","n","m","x","S","c","f","_","R","r","P","O","b","i","a","s","o","K","I","d","A","U","W","J","$","N","v","p","H","ue","j","Q","V","Z","ee","F","ne","C","ie","te","T","L","ae","le","oe","se","q","B","G","X","re","fe","g","Y","ve","me","ge","w","de","pe","he","ze","xe","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","inject","useLocalizedAppName","apps","loadState","realAppName2","id","t27","_sfc_main$1","watch","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","mdiArrowRight","NcAppContentDetailsToggle","browserStorage","getBuilder","instanceName","getCapabilities","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createCommentVNode","Fragment","NcAppContent","_hoisted_4","mergeProps","IconClose","ChevronDown","_hoisted_5","_hoisted_6","mergeModels","createElementId","__expose","__emit","modelValue","useModel","focus","select","attrs","useAttrs","inputElement","useTemplateRef","hasTrailingIcon","internalPlaceholder","isLegacy","isValidLabel","ariaDescribedby","ariaDescribedby2","options","handleInput","target","mdiCheck","mdiAlertCircleOutline","NcInputField","dateText","today","moment","yesterday","first","fullDate","formatted","_createElementVNode","_createElementBlock","_Fragment","_renderList","activity","ActivityComponent","appIconSVG","POLL_INTERVAL","navigationList","route","useRoute","loading","hasMoreActivites","allActivities","lastActivityLoaded","newestActivityId","newActivitiesAvailable","pollTimer","requestController","visibility","useDocumentVisibility","useInfiniteScroll","loadActivities","groupedActivities","groups","date","headingTitle","navigationEl","signal","since","response","ncAxios","generateOcsUrl","newActivities","raw","ActivityModel","error","axios","showError","pollNewActivities","scrollToTop","onScroll","useDebounceFn","startPolling","stopPolling","onUnmounted","_toDisplayString","NcEmptyContent","NcLoadingIcon","_openBlock","activities","ActivityGroup","NcAppNavigationList","t20","_hoisted_1$1","open","title","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open2","handleEsc","withKeys","NcAppNavigation","ChevronUp","IconArrowRight","t14","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcActions","NcActionButton","_sfc_main$4","newVal","navigate","routerLinkHref","href","_hoisted_7","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcActions","_component_NcAppNavigationIconCollapsible","resolveDynamicComponent","normalizeProps","guardReactiveProps","isActive","NcAppNavigationItem","t47","contentId","container2","ignore","onClickOutside","mdiCog","mdiCogOutline","Transition","header","button","content","animationActive","animationStop","style0","cssModules","NcAppNavigationSettings","_mergeProps","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","navigationItem","NcCheckboxRadioSwitch","IconContentCopy","routes","ActivityAppFeed","ActivityAppNavigation","router","createRouter","createWebHistory","app","createApp","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20]} \ No newline at end of file +{"version":3,"file":"activity-app.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/constants-Ciwvl5xb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcContent-Dd15hgck.mjs","../src/views/ActivityApp.vue","../node_modules/splitpanes/dist/splitpanes.es.js","../node_modules/@nextcloud/vue/dist/chunks/appName-DyNMVZpX.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppContent-taTvqnvd.mjs","../node_modules/@nextcloud/vue/dist/chunks/Close-CuhcJnX2.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-C6gc637b.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-C3iof9pY.mjs","../src/components/ActivityGroup.vue","../img/activity-dark.svg?raw","../src/views/ActivityAppFeed.vue","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationList-CGSWabRB.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigation-Bb54U_qJ.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-ChH8oB7p.mjs","../node_modules/@nextcloud/vue/dist/chunks/ArrowRight-B1ncAhus.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-BL_BkfXh.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-Dg2d2AwS.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-CJ2z5cYU.mjs","../node_modules/vue-material-design-icons/ContentCopy.vue","../src/views/ActivityAppNavigation.vue","../src/routes.ts","../src/app.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst HAS_APP_NAVIGATION_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:setHasAppNavigation\");\nconst CONTENT_SELECTOR_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:selector\");\nexport {\n CONTENT_SELECTOR_KEY as C,\n HAS_APP_NAVIGATION_KEY as H\n};\n//# sourceMappingURL=constants-Ciwvl5xb.mjs.map\n","import '../assets/NcContent-DXc6geEw.css';\nimport { defineComponent, provide, computed, ref, onBeforeMount, openBlock, createElementBlock, normalizeClass, unref, createBlock, Teleport, createElementVNode, toDisplayString, withDirectives, createVNode, withModifiers, withCtx, createTextVNode, vShow, renderSlot, nextTick } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, H as t30, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY, C as CONTENT_SELECTOR_KEY } from \"./constants-Ciwvl5xb.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t30);\nconst contentSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst navigationSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst _hoisted_1 = { class: \"vue-skip-actions__container\" };\nconst _hoisted_2 = { class: \"vue-skip-actions__headline\" };\nconst _hoisted_3 = { class: \"vue-skip-actions__buttons\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcContent\",\n props: {\n appName: {}\n },\n setup(__props) {\n const props = __props;\n provide(HAS_APP_NAVIGATION_KEY, setAppNavigation);\n provide(CONTENT_SELECTOR_KEY, \"#content-vue\");\n provide(\"appName\", computed(() => props.appName));\n const isMobile = useIsMobile();\n const hasAppNavigation = ref(false);\n const currentFocus = ref();\n const currentImage = computed(() => currentFocus.value === \"navigation\" ? navigationSvg : contentSvg);\n onBeforeMount(() => {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n });\n function openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n }\n function setAppNavigation(value) {\n hasAppNavigation.value = value;\n if (!currentFocus.value) {\n currentFocus.value = \"navigation\";\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: \"content-vue\",\n class: normalizeClass([\"content\", [`app-${_ctx.appName.toLowerCase()}`, { \"content--legacy\": unref(isLegacy34) }]])\n }, [\n (openBlock(), createBlock(Teleport, { to: \"#skip-actions\" }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, toDisplayString(unref(t)(\"Keyboard navigation help\")), 1),\n createElementVNode(\"div\", _hoisted_3, [\n withDirectives(createVNode(NcButton, {\n href: \"#app-navigation-vue\",\n variant: \"tertiary\",\n onClick: withModifiers(openAppNavigation, [\"prevent\"]),\n onFocusin: _cache[0] || (_cache[0] = ($event) => currentFocus.value = \"navigation\"),\n onMouseover: _cache[1] || (_cache[1] = ($event) => currentFocus.value = \"navigation\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to app navigation\")), 1)\n ]),\n _: 1\n }, 512), [\n [vShow, hasAppNavigation.value]\n ]),\n createVNode(NcButton, {\n href: \"#app-content-vue\",\n variant: \"tertiary\",\n onFocusin: _cache[2] || (_cache[2] = ($event) => currentFocus.value = \"content\"),\n onMouseover: _cache[3] || (_cache[3] = ($event) => currentFocus.value = \"content\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to main content\")), 1)\n ]),\n _: 1\n })\n ]),\n withDirectives(createVNode(NcIconSvgWrapper, {\n class: \"vue-skip-actions__image\",\n svg: currentImage.value,\n size: \"auto\"\n }, null, 8, [\"svg\"]), [\n [vShow, !unref(isMobile)]\n ])\n ])\n ])),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2);\n };\n }\n});\nconst NcContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-91d07631\"]]);\nexport {\n NcContent as N\n};\n//# sourceMappingURL=NcContent-Dd15hgck.mjs.map\n","\n\n\n\n\n","import { useSlots as ce, ref as k, computed as z, watch as B, onMounted as G, onBeforeUnmount as X, provide as g, createBlock as ve, openBlock as Y, resolveDynamicComponent as me, nextTick as T, h as fe, inject as w, getCurrentInstance as de, createElementBlock as pe, normalizeStyle as ze, unref as he, renderSlot as xe } from \"vue\";\nconst Pe = {\n __name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean, default: !1 },\n pushOtherPanes: { type: Boolean, default: !0 },\n maximizePanes: { type: Boolean, default: !0 },\n // Maximize pane on splitter double click/tap.\n rtl: { type: Boolean, default: !1 },\n // Right to left direction.\n firstSplitter: { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"resize\",\n \"resized\",\n \"pane-click\",\n \"pane-maximize\",\n \"pane-add\",\n \"pane-remove\",\n \"splitter-click\",\n \"splitter-dblclick\"\n ],\n setup(D, { emit: h }) {\n const y = h, u = D, E = ce(), l = k([]), M = z(() => l.value.reduce((e, n) => (e[~~n.id] = n) && e, {})), m = z(() => l.value.length), x = k(null), S = k(!1), c = k({\n mouseDown: !1,\n dragging: !1,\n activeSplitter: null,\n cursorOffset: 0\n // Cursor offset within the splitter.\n }), f = k({\n // Used to detect double click on touch devices.\n splitter: null,\n timeoutId: null\n }), _ = z(() => ({\n [`splitpanes splitpanes--${u.horizontal ? \"horizontal\" : \"vertical\"}`]: !0,\n \"splitpanes--dragging\": c.value.dragging\n })), R = () => {\n document.addEventListener(\"mousemove\", r, { passive: !1 }), document.addEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.addEventListener(\"touchmove\", r, { passive: !1 }), document.addEventListener(\"touchend\", P));\n }, O = () => {\n document.removeEventListener(\"mousemove\", r, { passive: !1 }), document.removeEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.removeEventListener(\"touchmove\", r, { passive: !1 }), document.removeEventListener(\"touchend\", P));\n }, b = (e, n) => {\n const t = e.target.closest(\".splitpanes__splitter\");\n if (t) {\n const { left: i, top: a } = t.getBoundingClientRect(), { clientX: s, clientY: o } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n c.value.cursorOffset = u.horizontal ? o - a : s - i;\n }\n R(), c.value.mouseDown = !0, c.value.activeSplitter = n;\n }, r = (e) => {\n c.value.mouseDown && (e.preventDefault(), c.value.dragging = !0, requestAnimationFrame(() => {\n K(I(e)), d(\"resize\", { event: e }, !0);\n }));\n }, P = (e) => {\n c.value.dragging && (window.getSelection().removeAllRanges(), d(\"resized\", { event: e }, !0)), c.value.mouseDown = !1, c.value.activeSplitter = null, setTimeout(() => {\n c.value.dragging = !1, O();\n }, 100);\n }, A = (e, n) => {\n \"ontouchstart\" in window && (e.preventDefault(), f.value.splitter === n ? (clearTimeout(f.value.timeoutId), f.value.timeoutId = null, U(e, n), f.value.splitter = null) : (f.value.splitter = n, f.value.timeoutId = setTimeout(() => f.value.splitter = null, 500))), c.value.dragging || d(\"splitter-click\", { event: e, index: n }, !0);\n }, U = (e, n) => {\n if (d(\"splitter-dblclick\", { event: e, index: n }, !0), u.maximizePanes) {\n let t = 0;\n l.value = l.value.map((i, a) => (i.size = a === n ? i.max : i.min, a !== n && (t += i.min), i)), l.value[n].size -= t, d(\"pane-maximize\", { event: e, index: n, pane: l.value[n] }), d(\"resized\", { event: e, index: n }, !0);\n }\n }, W = (e, n) => {\n d(\"pane-click\", {\n event: e,\n index: M.value[n].index,\n pane: M.value[n]\n });\n }, I = (e) => {\n const n = x.value.getBoundingClientRect(), { clientX: t, clientY: i } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n return {\n x: t - (u.horizontal ? 0 : c.value.cursorOffset) - n.left,\n y: i - (u.horizontal ? c.value.cursorOffset : 0) - n.top\n };\n }, J = (e) => {\n e = e[u.horizontal ? \"y\" : \"x\"];\n const n = x.value[u.horizontal ? \"clientHeight\" : \"clientWidth\"];\n return u.rtl && !u.horizontal && (e = n - e), e * 100 / n;\n }, K = (e) => {\n const n = c.value.activeSplitter;\n let t = {\n prevPanesSize: $(n),\n nextPanesSize: N(n),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const i = 0 + (u.pushOtherPanes ? 0 : t.prevPanesSize), a = 100 - (u.pushOtherPanes ? 0 : t.nextPanesSize), s = Math.max(Math.min(J(e), a), i);\n let o = [n, n + 1], v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n const H = v.max < 100 && s >= v.max + t.prevPanesSize, ue = p.max < 100 && s <= 100 - (p.max + N(n + 1));\n if (H || ue) {\n H ? (v.size = v.max, p.size = Math.max(100 - v.max - t.prevPanesSize - t.nextPanesSize, 0)) : (v.size = Math.max(100 - p.max - t.prevPanesSize - N(n + 1), 0), p.size = p.max);\n return;\n }\n if (u.pushOtherPanes) {\n const j = Q(t, s);\n if (!j) return;\n ({ sums: t, panesToResize: o } = j), v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n }\n v !== null && (v.size = Math.min(Math.max(s - t.prevPanesSize - t.prevReachedMinPanes, v.min), v.max)), p !== null && (p.size = Math.min(Math.max(100 - s - t.nextPanesSize - t.nextReachedMinPanes, p.min), p.max));\n }, Q = (e, n) => {\n const t = c.value.activeSplitter, i = [t, t + 1];\n return n < e.prevPanesSize + l.value[i[0]].min && (i[0] = V(t).index, e.prevReachedMinPanes = 0, i[0] < t && l.value.forEach((a, s) => {\n s > i[0] && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), e.prevPanesSize = $(i[0]), i[0] === void 0) ? (e.prevReachedMinPanes = 0, l.value[0].size = l.value[0].min, l.value.forEach((a, s) => {\n s > 0 && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), l.value[i[1]].size = 100 - e.prevReachedMinPanes - l.value[0].min - e.prevPanesSize - e.nextPanesSize, null) : n > 100 - e.nextPanesSize - l.value[i[1]].min && (i[1] = Z(t).index, e.nextReachedMinPanes = 0, i[1] > t + 1 && l.value.forEach((a, s) => {\n s > t && s < i[1] && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), e.nextPanesSize = N(i[1] - 1), i[1] === void 0) ? (e.nextReachedMinPanes = 0, l.value.forEach((a, s) => {\n s < m.value - 1 && s >= t + 1 && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), l.value[i[0]].size = 100 - e.prevPanesSize - N(i[0] - 1), null) : { sums: e, panesToResize: i };\n }, $ = (e) => l.value.reduce((n, t, i) => n + (i < e ? t.size : 0), 0), N = (e) => l.value.reduce((n, t, i) => n + (i > e + 1 ? t.size : 0), 0), V = (e) => [...l.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, Z = (e) => l.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, ee = () => {\n var n;\n const e = Array.from(((n = x.value) == null ? void 0 : n.children) || []);\n for (const t of e) {\n const i = t.classList.contains(\"splitpanes__pane\"), a = t.classList.contains(\"splitpanes__splitter\");\n !i && !a && (t.remove(), console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\"));\n }\n }, F = (e, n, t = !1) => {\n const i = e - 1, a = document.createElement(\"div\");\n a.classList.add(\"splitpanes__splitter\"), t || (a.onmousedown = (s) => b(s, i), typeof window < \"u\" && \"ontouchstart\" in window && (a.ontouchstart = (s) => b(s, i)), a.onclick = (s) => A(s, i + 1)), a.ondblclick = (s) => U(s, i + 1), n.parentNode.insertBefore(a, n);\n }, ne = (e) => {\n e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();\n }, C = () => {\n var t;\n const e = Array.from(((t = x.value) == null ? void 0 : t.children) || []);\n for (const i of e)\n i.className.includes(\"splitpanes__splitter\") && ne(i);\n let n = 0;\n for (const i of e)\n i.className.includes(\"splitpanes__pane\") && (!n && u.firstSplitter ? F(n, i, !0) : n && F(n, i), n++);\n }, ie = ({ uid: e, ...n }) => {\n const t = M.value[e];\n for (const [i, a] of Object.entries(n)) t[i] = a;\n }, te = (e) => {\n var t;\n let n = -1;\n Array.from(((t = x.value) == null ? void 0 : t.children) || []).some((i) => (i.className.includes(\"splitpanes__pane\") && n++, i.isSameNode(e.el))), l.value.splice(n, 0, { ...e, index: n }), l.value.forEach((i, a) => i.index = a), S.value && T(() => {\n C(), L({ addedPane: l.value[n] }), d(\"pane-add\", { pane: l.value[n] });\n });\n }, ae = (e) => {\n const n = l.value.findIndex((i) => i.id === e);\n l.value[n].el = null;\n const t = l.value.splice(n, 1)[0];\n l.value.forEach((i, a) => i.index = a), T(() => {\n C(), d(\"pane-remove\", { pane: t }), L({ removedPane: { ...t } });\n });\n }, L = (e = {}) => {\n !e.addedPane && !e.removedPane ? le() : l.value.some((n) => n.givenSize !== null || n.min || n.max < 100) ? oe(e) : se(), S.value && d(\"resized\");\n }, se = () => {\n const e = 100 / m.value;\n let n = 0;\n const t = [], i = [];\n for (const a of l.value)\n a.size = Math.max(Math.min(e, a.max), a.min), n -= a.size, a.size >= a.max && t.push(a.id), a.size <= a.min && i.push(a.id);\n n > 0.1 && q(n, t, i);\n }, le = () => {\n let e = 100;\n const n = [], t = [];\n let i = 0;\n for (const s of l.value)\n e -= s.size, s.givenSize !== null && i++, s.size >= s.max && n.push(s.id), s.size <= s.min && t.push(s.id);\n let a = 100;\n if (e > 0.1) {\n for (const s of l.value)\n s.givenSize === null && (s.size = Math.max(Math.min(e / (m.value - i), s.max), s.min)), a -= s.size;\n a > 0.1 && q(a, n, t);\n }\n }, oe = ({ addedPane: e, removedPane: n } = {}) => {\n let t = 100 / m.value, i = 0;\n const a = [], s = [];\n ((e == null ? void 0 : e.givenSize) ?? null) !== null && (t = (100 - e.givenSize) / (m.value - 1));\n for (const o of l.value)\n i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n if (!(Math.abs(i) < 0.1)) {\n for (const o of l.value)\n (e == null ? void 0 : e.givenSize) !== null && (e == null ? void 0 : e.id) === o.id || (o.size = Math.max(Math.min(t, o.max), o.min)), i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n i > 0.1 && q(i, a, s);\n }\n }, q = (e, n, t) => {\n let i;\n e > 0 ? i = e / (m.value - n.length) : i = e / (m.value - t.length), l.value.forEach((a, s) => {\n if (e > 0 && !n.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n } else if (!t.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n }\n }), Math.abs(e) > 0.1 && T(() => {\n S.value && console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n });\n }, d = (e, n = void 0, t = !1) => {\n const i = (n == null ? void 0 : n.index) ?? c.value.activeSplitter ?? null;\n y(e, {\n ...n,\n ...i !== null && { index: i },\n ...t && i !== null && {\n prevPane: l.value[i - (u.firstSplitter ? 1 : 0)],\n nextPane: l.value[i + (u.firstSplitter ? 0 : 1)]\n },\n panes: l.value.map((a) => ({ min: a.min, max: a.max, size: a.size }))\n });\n };\n B(() => u.firstSplitter, () => C()), G(() => {\n ee(), C(), L(), d(\"ready\"), S.value = !0;\n }), X(() => S.value = !1);\n const re = () => {\n var e;\n return fe(\n \"div\",\n { ref: x, class: _.value },\n (e = E.default) == null ? void 0 : e.call(E)\n );\n };\n return g(\"panes\", l), g(\"indexedPanes\", M), g(\"horizontal\", z(() => u.horizontal)), g(\"requestUpdate\", ie), g(\"onPaneAdd\", te), g(\"onPaneRemove\", ae), g(\"onPaneClick\", W), (e, n) => (Y(), ve(me(re)));\n }\n}, ge = {\n __name: \"pane\",\n props: {\n size: { type: [Number, String] },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n setup(D) {\n var b;\n const h = D, y = w(\"requestUpdate\"), u = w(\"onPaneAdd\"), E = w(\"horizontal\"), l = w(\"onPaneRemove\"), M = w(\"onPaneClick\"), m = (b = de()) == null ? void 0 : b.uid, x = w(\"indexedPanes\"), S = z(() => x.value[m]), c = k(null), f = z(() => {\n const r = isNaN(h.size) || h.size === void 0 ? 0 : parseFloat(h.size);\n return Math.max(Math.min(r, R.value), _.value);\n }), _ = z(() => {\n const r = parseFloat(h.minSize);\n return isNaN(r) ? 0 : r;\n }), R = z(() => {\n const r = parseFloat(h.maxSize);\n return isNaN(r) ? 100 : r;\n }), O = z(() => {\n var r;\n return `${E.value ? \"height\" : \"width\"}: ${(r = S.value) == null ? void 0 : r.size}%`;\n });\n return B(() => f.value, (r) => y({ uid: m, size: r })), B(() => _.value, (r) => y({ uid: m, min: r })), B(() => R.value, (r) => y({ uid: m, max: r })), G(() => {\n u({\n id: m,\n el: c.value,\n min: _.value,\n max: R.value,\n // The given size (useful to know the user intention).\n givenSize: h.size === void 0 ? null : f.value,\n size: f.value\n // The computed current size at any time.\n });\n }), X(() => l(m)), (r, P) => (Y(), pe(\"div\", {\n ref_key: \"paneEl\",\n ref: c,\n class: \"splitpanes__pane\",\n onClick: P[0] || (P[0] = (A) => he(M)(A, r._.uid)),\n style: ze(O.value)\n }, [\n xe(r.$slots, \"default\")\n ], 4));\n }\n};\nexport {\n ge as Pane,\n Pe as Splitpanes\n};\n","import { loadState } from \"@nextcloud/initial-state\";\nimport { inject } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction once(func) {\n let wasCalled = false;\n let result;\n return (...args) => {\n if (!wasCalled) {\n wasCalled = true;\n result = func(...args);\n }\n return result;\n };\n}\nlet realAppName = \"missing-app-name\";\ntry {\n realAppName = appName;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appName`.\");\n}\nconst APP_NAME = realAppName;\nlet realAppVersion = \"\";\ntry {\n realAppVersion = appVersion;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appVersion`.\");\n}\nconst APP_VERSION = realAppVersion;\nfunction useAppName() {\n return inject(\"appName\", APP_NAME);\n}\nconst useLocalizedAppName = once(() => {\n const apps = loadState(\"core\", \"apps\", []);\n const realAppName2 = useAppName();\n return apps.find(({ id }) => id === realAppName2)?.name ?? realAppName2;\n});\nexport {\n APP_VERSION as A,\n useAppName as a,\n useLocalizedAppName as u\n};\n//# sourceMappingURL=appName-DyNMVZpX.mjs.map\n","import '../assets/NcAppContent-BC7DBer3.css';\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Splitpanes, Pane } from \"splitpanes\";\nimport { defineComponent, watch, onMounted, onBeforeUnmount, openBlock, createBlock, unref, normalizeClass, withCtx, createVNode, resolveComponent, createElementBlock, toDisplayString, createCommentVNode, Fragment, withModifiers, withDirectives, createElementVNode, renderSlot, vShow } from \"vue\";\nimport { m as mdiArrowRight } from \"./mdi-CpchYUUV.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, G as t27, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { u as useLocalizedAppName, a as useAppName } from \"./appName-DyNMVZpX.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport \"splitpanes/dist/splitpanes.css\";\nregister(t27);\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppContentDetailsToggle\",\n setup(__props) {\n const isMobile = useIsMobile();\n watch(isMobile, toggleAppNavigationButton);\n onMounted(() => {\n toggleAppNavigationButton(isMobile.value);\n });\n onBeforeUnmount(() => {\n if (isMobile.value) {\n toggleAppNavigationButton(false);\n }\n });\n function toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : \"\";\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcButton), {\n \"aria-label\": unref(t)(\"Go back to the list\"),\n class: normalizeClass([\"app-details-toggle\", { \"app-details-toggle--mobile\": unref(isMobile) }]),\n title: unref(t)(\"Go back to the list\"),\n variant: \"tertiary\"\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n directional: \"\",\n path: unref(mdiArrowRight)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"class\", \"title\"]);\n };\n }\n});\nconst NcAppContentDetailsToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-a28923a1\"]]);\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst instanceName = getCapabilities().theming?.name ?? \"Nextcloud\";\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppContentDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\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 * or respectively the default height on horizontal-split.\n *\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 * or respectively the minimum height 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 * or respectively the maximum height 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 * 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 * Specify the `

` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Allow setting the page's ``\n *\n * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`.\n * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`.\n * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}`\n */\n pageTitle: {\n type: String,\n default: null\n }\n },\n emits: [\n \"update:showDetails\",\n \"resizeList\"\n ],\n setup() {\n return {\n appName: useAppName(),\n localizedAppName: useLocalizedAppName(),\n isMobile: useIsMobile(),\n isRtl\n };\n },\n data() {\n return {\n contentHeight: 0,\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-${this.appName}`;\n } catch {\n logger.info(\"[NcAppContent]: 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 realPageTitle() {\n const entries = /* @__PURE__ */ new Set();\n if (this.pageTitle) {\n for (const part of this.pageTitle.split(\" - \")) {\n entries.add(part);\n }\n } else if (this.pageHeading) {\n for (const part of this.pageHeading.split(\" - \")) {\n entries.add(part);\n }\n if (entries.size > 0) {\n entries.add(this.localizedAppName);\n }\n } else {\n return null;\n }\n entries.add(instanceName);\n return [...entries.values()].join(\" - \");\n }\n },\n watch: {\n realPageTitle: {\n immediate: true,\n handler() {\n if (this.realPageTitle !== null) {\n document.title = this.realPageTitle;\n }\n }\n },\n paneConfigKey: {\n immediate: true,\n handler() {\n this.restorePaneConfig();\n }\n }\n },\n mounted() {\n if (!this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\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.panes[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resizeList\", { size: listPaneSize });\n logger.debug(\"[NcAppContent] pane config\", { listPaneSize });\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 logger.debug(\"[NcAppContent] 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};\nconst _hoisted_1 = {\n key: 0,\n class: \"hidden-visually\"\n};\nconst _hoisted_2 = { class: \"app-content-wrapper__list\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"app-content-wrapper\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcAppContentDetailsToggle = resolveComponent(\"NcAppContentDetailsToggle\");\n const _component_Pane = resolveComponent(\"Pane\");\n const _component_Splitpanes = resolveComponent(\"Splitpanes\");\n return openBlock(), createElementBlock(\"main\", {\n id: \"app-content-vue\",\n class: normalizeClass([\"app-content no-snapper\", { \"app-content--has-list\": !!_ctx.$slots.list }])\n }, [\n $props.pageHeading ? (openBlock(), createElementBlock(\"h1\", _hoisted_1, toDisplayString($props.pageHeading), 1)) : createCommentVNode(\"\", true),\n !!_ctx.$slots.list ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n $setup.isMobile || $props.layout === \"no-split\" ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"app-content-wrapper app-content-wrapper--no-split\", {\n \"app-content-wrapper--show-details\": $props.showDetails,\n \"app-content-wrapper--show-list\": !$props.showDetails,\n \"app-content-wrapper--mobile\": $setup.isMobile\n }])\n }, [\n $props.showDetails ? (openBlock(), createBlock(_component_NcAppContentDetailsToggle, {\n key: 0,\n onClick: withModifiers($options.hideDetails, [\"stop\", \"prevent\"])\n }, null, 8, [\"onClick\"])) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ], 512), [\n [vShow, !$props.showDetails]\n ]),\n $props.showDetails ? renderSlot(_ctx.$slots, \"default\", { key: 1 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2)) : $props.layout === \"vertical-split\" || $props.layout === \"horizontal-split\" ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_Splitpanes, {\n horizontal: $props.layout === \"horizontal-split\",\n class: normalizeClass([\"default-theme\", {\n \"splitpanes--horizontal\": $props.layout === \"horizontal-split\",\n \"splitpanes--vertical\": $props.layout === \"vertical-split\"\n }]),\n rtl: $setup.isRtl,\n onResized: $options.handlePaneResize\n }, {\n default: withCtx(() => [\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-list\",\n size: $data.listPaneSize || $options.paneDefaults.list.size,\n minSize: $options.paneDefaults.list.min,\n maxSize: $options.paneDefaults.list.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"]),\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-details\",\n size: $options.detailsPaneSize,\n minSize: $options.paneDefaults.details.min,\n maxSize: $options.paneDefaults.details.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"])\n ]),\n _: 3\n }, 8, [\"horizontal\", \"class\", \"rtl\", \"onResized\"])\n ])) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true),\n !_ctx.$slots.list ? renderSlot(_ctx.$slots, \"default\", { key: 2 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcAppContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-ea1e6879\"]]);\nexport {\n NcAppContent as N\n};\n//# sourceMappingURL=NcAppContent-taTvqnvd.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconClose as I\n};\n//# sourceMappingURL=Close-CuhcJnX2.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ChevronDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronDown = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronDown as C\n};\n//# sourceMappingURL=ChevronDown-C6gc637b.mjs.map\n","import '../assets/NcInputField-DpyFJ1xw.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, warn, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, withDirectives, renderSlot, vShow, createBlock, withCtx, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"input-field__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"type\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = { class: \"input-field__icon input-field__icon--leading\" };\nconst _hoisted_5 = {\n key: 2,\n class: \"input-field__icon input-field__icon--trailing\"\n};\nconst _hoisted_6 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"NcInputField\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: \"\" },\n inputClass: { default: \"\" },\n id: { default: () => createElementId() },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n type: { default: \"text\" },\n placeholder: { default: void 0 },\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: \"\" },\n disabled: { type: Boolean },\n pill: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"trailingButtonClick\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const emit = __emit;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const inputElement = useTemplateRef(\"input\");\n const hasTrailingIcon = computed(() => props.showTrailingButton || props.success);\n const internalPlaceholder = computed(() => {\n if (props.placeholder) {\n return props.placeholder;\n }\n if (props.label) {\n return isLegacy ? props.label : \"\";\n }\n return void 0;\n });\n const isValidLabel = computed(() => {\n const isValidLabel2 = props.label || props.labelOutside;\n if (!isValidLabel2) {\n warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel2;\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (attrs[\"aria-describedby\"]) {\n ariaDescribedby2.push(String(attrs[\"aria-describedby\"]));\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function focus(options) {\n inputElement.value.focus(options);\n }\n function select() {\n inputElement.value.select();\n }\n function handleInput(event) {\n const target = event.target;\n modelValue.value = props.type === \"number\" && typeof modelValue.value === \"number\" ? parseFloat(target.value) : target.value;\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"input-field\", [{\n \"input-field--disabled\": _ctx.disabled,\n \"input-field--error\": _ctx.error,\n \"input-field--label-outside\": _ctx.labelOutside || !isValidLabel.value,\n \"input-field--leading-icon\": !!_ctx.$slots.icon,\n \"input-field--trailing-icon\": hasTrailingIcon.value,\n \"input-field--pill\": _ctx.pill,\n \"input-field--success\": _ctx.success,\n \"input-field--legacy\": unref(isLegacy)\n }, _ctx.$props.class]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"input\", mergeProps(_ctx.$attrs, {\n id: _ctx.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"input-field__input\", _ctx.inputClass],\n disabled: _ctx.disabled,\n placeholder: internalPlaceholder.value,\n type: _ctx.type,\n value: modelValue.value.toString(),\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !_ctx.labelOutside && isValidLabel.value ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"input-field__label\",\n for: _ctx.id\n }, toDisplayString(_ctx.label), 9, _hoisted_3)) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ], 512), [\n [vShow, !!_ctx.$slots.icon]\n ]),\n _ctx.showTrailingButton ? (openBlock(), createBlock(NcButton, {\n key: 1,\n class: \"input-field__trailing-button\",\n \"aria-label\": _ctx.trailingButtonLabel,\n disabled: _ctx.disabled,\n variant: \"tertiary-no-background\",\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"trailingButtonClick\", $event))\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"trailing-button-icon\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : _ctx.success || _ctx.error ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n path: unref(mdiCheck)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n path: unref(mdiAlertCircleOutline)\n }, null, 8, [\"path\"]))\n ])) : createCommentVNode(\"\", true)\n ]),\n _ctx.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${_ctx.id}-helper-text`,\n class: \"input-field__helper-text-message\"\n }, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : _ctx.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(_ctx.helperText), 1)\n ], 8, _hoisted_6)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcInputField = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8e16cbb5\"]]);\nexport {\n NcInputField as N\n};\n//# sourceMappingURL=NcInputField-C3iof9pY.mjs.map\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<h2 class=\"activity-group__heading\" :title=\"fullDate\">\n\t\t{{ dateText }}\n\t</h2>\n\t<ul>\n\t\t<ActivityComponent\n\t\t\tv-for=\"activity in activities\"\n\t\t\t:key=\"activity.id\"\n\t\t\t:activity=\"activity\"\n\t\t\t:showPreviews=\"true\" />\n\t</ul>\n</template>\n\n<script setup lang=\"ts\">\nimport type ActivityModel from '../models/ActivityModel.ts'\n\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { computed } from 'vue'\nimport ActivityComponent from './ActivityComponent.vue'\n\nconst props = defineProps<{\n\tactivities: ActivityModel[]\n}>()\n\n/**\n * Title to show for the date either Today, Yesterday or the full date\n */\nconst dateText = computed(() => {\n\tconst today = moment()\n\tconst yesterday = moment().subtract(1, 'day')\n\tconst first = moment(props.activities[0].datetime)\n\n\tif (first.isSame(today, 'day')) {\n\t\treturn t('activity', 'Today')\n\t} else if (first.isSame(yesterday, 'day')) {\n\t\treturn t('activity', 'Yesterday')\n\t}\n\treturn first.format('LL')\n})\n\n/**\n * If the heading is yesterday or today, show the full date as title, otherwise no title is shown\n */\nconst fullDate = computed(() => {\n\tconst formatted = moment(props.activities[0].datetime).format('LL')\n\treturn formatted !== dateText.value ? formatted : undefined\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-group {\n\t&__heading {\n\t\tline-height: 1.5;\n\t\tmargin-block: 30px 12px;\n\n\t\t&:first-of-type {\n\t\t\t// Already padding from h1\n\t\t\tmargin-block-start: 0;\n\t\t}\n\t}\n}\n</style>\n","export default \"<svg viewBox=\\\"0 0 32 32\\\" height=\\\"32\\\" width=\\\"32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xml:space=\\\"preserve\\\" style=\\\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\\\"><path d=\\\"m8 22 1-7H4l9-13h2l-1 8h6L10 22H8Z\\\" style=\\\"fill-rule:nonzero\\\" transform=\\\"matrix(1.5 0 0 1.5 -2 -2)\\\"/></svg>\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcAppContent class=\"activity-app\">\n\t\t<!-- Kept for document semantics / screen readers, but visually hidden -->\n\t\t<h1 class=\"activity-app__heading hidden-visually\">\n\t\t\t{{ headingTitle }}\n\t\t</h1>\n\t\t<NcEmptyContent\n\t\t\tv-if=\"hasMoreActivites && allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'Loading activities')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<NcEmptyContent\n\t\t\tv-else-if=\"allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'No activity yet')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"appIconSVG\" :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<div ref=\"container\" class=\"activity-app__container\" @scroll=\"onScroll\">\n\t\t\t<div class=\"activity-app__content\">\n\t\t\t\t<NcButton\n\t\t\t\t\tv-if=\"newActivitiesAvailable\"\n\t\t\t\t\tclass=\"activity-app__new-activities-indicator\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"scrollToTop\">\n\t\t\t\t\t{{ t('activity', 'New activities') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<ActivityGroup v-for=\"activities, date of groupedActivities\" :key=\"date\" :activities=\"activities\" />\n\t\t\t\t<!-- Only show if not showing the inital empty content for loading -->\n\t\t\t\t<NcLoadingIcon\n\t\t\t\t\tv-if=\"hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t\t:name=\"t('activity', 'Loading more activities')\"\n\t\t\t\t\t:size=\"64\"\n\t\t\t\t\tclass=\"activity-app__loading-indicator\" />\n\t\t\t\t<div\n\t\t\t\t\tv-else-if=\"!hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t\tclass=\"activity-app__loading-indicator\">\n\t\t\t\t\t{{ t('activity', 'No more activities.') }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</NcAppContent>\n</template>\n\n<script setup lang=\"ts\">\nimport type { IRawActivity } from '../models/types.ts'\n\nimport ncAxios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { useDebounceFn, useDocumentVisibility, useInfiniteScroll } from '@vueuse/core'\nimport axios from 'axios'\nimport { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'\nimport NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport ActivityGroup from '../components/ActivityGroup.vue'\nimport appIconSVG from '../../img/activity-dark.svg?raw'\nimport ActivityModel from '../models/ActivityModel.ts'\nimport logger from '../utils/logger.ts'\n\ninterface INavigationEntry {\n\tid: string\n\ticon?: string\n\tname: string\n\turl: string\n}\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * The currently active activities filter\n\t */\n\tfilter?: string\n}>(), {\n\t// default to 'all'\n\tfilter: 'all',\n})\n\nconst navigationList = loadState<INavigationEntry[]>(appName, 'navigationList')\n\nconst route = useRoute()\n\n/**\n * Whether activities are currently being loaded\n */\nconst loading = ref(false)\n\n/**\n * Whether more activites can be loaded\n */\nconst hasMoreActivites = ref(true)\n\n/**\n * All loaded actvities\n */\nconst allActivities = ref<ActivityModel[]>([])\n\n/**\n * Last loaded activity (oldest) for backward pagination\n * This is set by the backend in the API result as a header value for pagination\n */\nconst lastActivityLoaded = ref<string>()\n\n/**\n * First loaded activity ID (newest) for polling new activities\n */\nconst newestActivityId = ref<number>()\n\n/**\n * Whether new activities have been prepended while the user was scrolled\n * away from the top — used to show the \"New activities\" navigation button\n */\nconst newActivitiesAvailable = ref(false)\n\n/**\n * Polling interval in milliseconds\n */\nconst POLL_INTERVAL = 30000\n\n/**\n * Polling timer reference (setTimeout-based for self-scheduling)\n */\nlet pollTimer: ReturnType<typeof setTimeout> | undefined\n\n/**\n * AbortController for in-flight load and poll requests.\n * Replaced on filter change and aborted on unmount so stale responses\n * are never applied to the wrong filter's state.\n */\nlet requestController = new AbortController()\n\n/**\n * Document visibility for pausing polling when tab is hidden\n */\nconst visibility = useDocumentVisibility()\n\n/**\n * Container element for the activites\n */\nconst container = ref<HTMLDivElement>()\n\n/**\n * Use infinite scroll for the container and load activities when reaching the bottom\n */\nuseInfiniteScroll(container, async () => {\n\tif (hasMoreActivites.value) {\n\t\tawait loadActivities()\n\t}\n}, {\n\tdistance: 100,\n})\n\n/**\n * Activities grouped by date\n */\nconst groupedActivities = computed(() => {\n\tconst groups = {} as Record<string, ActivityModel[]>\n\tfor (const activity of allActivities.value) {\n\t\tconst date = moment(activity.datetime).format('LL')\n\t\tif (groups[date] === undefined) {\n\t\t\tgroups[date] = [activity]\n\t\t} else {\n\t\t\tgroups[date].push(activity)\n\t\t}\n\t}\n\treturn groups\n})\n\nconst headingTitle = computed(() => {\n\treturn navigationList.find((navigationEl) => navigationEl.id === route.params.filter).name\n})\n\n/**\n * Load activities for current filter or load more if already loaded\n */\nasync function loadActivities() {\n\t// Skip if already loading\n\tif (loading.value) {\n\t\treturn\n\t}\n\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = lastActivityLoaded.value ?? '0'\n\t\tloading.value = true\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}', { filter: props.filter, since }), { signal })\n\t\tif (signal.aborted) {\n\t\t\treturn\n\t\t}\n\t\tconst newActivities = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\tallActivities.value.push(...newActivities)\n\t\tlastActivityLoaded.value = response.headers['x-activity-last-given']\n\t\thasMoreActivites.value = true\n\n\t\t// Track the newest activity ID for polling\n\t\tif (newestActivityId.value === undefined && newActivities.length > 0) {\n\t\t\tnewestActivityId.value = newActivities[0].id\n\t\t}\n\n\t\tnextTick(async () => {\n\t\t\tif (container.value && container.value.clientHeight === container.value.scrollHeight) {\n\t\t\t\t// Container is non-scrollable, thus useInfiniteScroll isn't triggered\n\t\t\t\t// Do it manually to ensure there are no activities to fetch anymore\n\t\t\t\tawait loadActivities()\n\t\t\t}\n\t\t})\n\t} catch (error) {\n\t\tif (axios.isCancel(error)) {\n\t\t\treturn\n\t\t}\n\t\t// Skip if no activities are available\n\t\tif (axios.isAxiosError(error) && error.response?.status === 304) {\n\t\t\thasMoreActivites.value = false\n\t\t\treturn\n\t\t}\n\n\t\tlogger.error(error as Error)\n\t\tshowError(t('activity', 'Could not load activities'))\n\t} finally {\n\t\t// Don't clear the loading flag if this request was superseded — the\n\t\t// replacement loadActivities() call has already set it to true.\n\t\tif (!signal.aborted) {\n\t\t\tloading.value = false\n\t\t}\n\t}\n}\n\n/**\n * Poll for new activities and either prepend them directly (when near top)\n * or queue them so the user can load them without disrupting their scroll position\n */\nasync function pollNewActivities() {\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = String(newestActivityId.value ?? 0)\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}&sort=asc', { filter: props.filter, since }), { signal })\n\t\tif (!signal.aborted && response.data.ocs.data.length > 0) {\n\t\t\tconst newActivities: ActivityModel[] = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\t\t// Sort newest first for prepending\n\t\t\tnewActivities.sort((a: ActivityModel, b: ActivityModel) => b.id - a.id)\n\t\t\tnewestActivityId.value = newActivities[0]!.id\n\t\t\tallActivities.value.unshift(...newActivities)\n\n\t\t\t// Show the navigation button only when the user is not already at the top\n\t\t\t// (browser scroll anchoring keeps their reading position stable on prepend)\n\t\t\tconst isNearTop = !container.value || container.value.scrollTop < 50\n\t\t\tif (!isNearTop) {\n\t\t\t\tnewActivitiesAvailable.value = true\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\t// Silently ignore cancellations and polling errors (304 = no new activities)\n\t\tif (!axios.isCancel(error) && (!axios.isAxiosError(error) || error.response?.status !== 304)) {\n\t\t\tlogger.error(error as Error)\n\t\t}\n\t}\n\n\t// Self-schedule only if polling wasn't stopped while the request was in flight\n\tif (pollTimer !== undefined) {\n\t\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n\t}\n}\n\n/**\n * Scroll to the top of the container to reveal the newly prepended activities\n */\nfunction scrollToTop() {\n\tnewActivitiesAvailable.value = false\n\tcontainer.value?.scrollTo({ top: 0, behavior: 'smooth' })\n}\n\n/**\n * Hide the \"New activities\" button once the user scrolls back near the top\n */\nconst onScroll = useDebounceFn(() => {\n\tif (container.value && container.value.scrollTop < 50) {\n\t\tnewActivitiesAvailable.value = false\n\t}\n}, 100)\n\n/**\n *\n */\nfunction startPolling() {\n\tstopPolling()\n\t// Use a sentinel value so the self-scheduling logic in pollNewActivities\n\t// knows polling is active even before the first tick fires\n\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n}\n\n/**\n *\n */\nfunction stopPolling() {\n\tif (pollTimer !== undefined) {\n\t\tclearTimeout(pollTimer)\n\t\tpollTimer = undefined\n\t}\n}\n\n/**\n * Load activities when mounted and start polling\n */\nonMounted(() => {\n\tloadActivities()\n\tstartPolling()\n})\n\nonUnmounted(() => {\n\tstopPolling()\n\trequestController.abort()\n})\n\nwatch(visibility, (value) => {\n\tif (value === 'hidden') {\n\t\tstopPolling()\n\t} else {\n\t\tstartPolling()\n\t}\n})\n\n/**\n * Reload activities when filter changed\n */\nwatch(props, () => {\n\trequestController.abort()\n\trequestController = new AbortController()\n\tallActivities.value = []\n\tnewActivitiesAvailable.value = false\n\tlastActivityLoaded.value = undefined\n\tnewestActivityId.value = undefined\n\thasMoreActivites.value = true\n\tloadActivities()\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-app {\n\t// Max width of the readable content column\n\t--activity-feed-max-width: 924px;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\n\t&__empty-content {\n\t\theight: 100%;\n\t}\n\n\t&__loading-indicator {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tjustify-self: center;\n\t\tmargin-block: 30px 6px;\n\t\ttext-align: center;\n\t}\n\n\t&__container {\n\t\t// Full width so the scrollbar sits at the edge of app-content\n\t\theight: 100%;\n\t\toverflow-y: scroll;\n\t}\n\n\t&__content {\n\t\t// Clamp the readable column and centre it within the full-width scroller\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\twidth: min(100%, var(--activity-feed-max-width));\n\t\tmax-width: var(--activity-feed-max-width);\n\t\tmargin: 0 auto;\n\t\tpadding-inline: 12px;\n\t}\n\n\t&__new-activities-indicator {\n\t\tposition: sticky;\n\t\ttop: 8px;\n\t\talign-self: center;\n\t\tz-index: 10;\n\t\tpadding: 6px 16px;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tborder: none;\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tbox-shadow: 0 2px 8px var(--color-box-shadow);\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t}\n}\n</style>\n","import '../assets/NcAppNavigationList--36j6Acm.css';\nimport { openBlock, createElementBlock, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nconst _hoisted_1 = { class: \"app-navigation-list\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"ul\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n}\nconst NcAppNavigationList = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-d72957ed\"]]);\nexport {\n NcAppNavigationList as N\n};\n//# sourceMappingURL=NcAppNavigationList-CGSWabRB.mjs.map\n","import '../assets/NcAppNavigation-ykL7Wz6L.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, createVNode, unref, withCtx, inject, warn, useTemplateRef, ref, watchEffect, watch, onMounted, onUnmounted, normalizeClass, createElementVNode, withKeys, renderSlot, createBlock, createCommentVNode } from \"vue\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { N as NcAppNavigationList } from \"./NcAppNavigationList-CGSWabRB.mjs\";\nimport { G as mdiMenuOpen, H as mdiMenu } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, P as t20, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY } from \"./constants-Ciwvl5xb.mjs\";\nregister(t20);\nconst _hoisted_1$1 = { class: \"app-navigation-toggle-wrapper\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationToggle\",\n props: {\n \"open\": { type: Boolean, ...{ required: true } },\n \"openModifiers\": {}\n },\n emits: [\"update:open\"],\n setup(__props) {\n const open = useModel(__props, \"open\");\n const title = computed(() => open.value ? t(\"Close navigation\") : t(\"Open navigation\"));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n createVNode(unref(NcButton), {\n class: \"app-navigation-toggle\",\n \"aria-controls\": \"app-navigation-vue\",\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n \"aria-label\": title.value,\n title: title.value,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: open.value ? unref(mdiMenuOpen) : unref(mdiMenu)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-expanded\", \"aria-label\", \"title\"])\n ]);\n };\n }\n});\nconst NcAppNavigationToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-5a15295d\"]]);\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"inert\"];\nconst _hoisted_2 = { class: \"app-navigation__search\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigation\",\n props: {\n ariaLabel: {},\n ariaLabelledby: {}\n },\n setup(__props) {\n const props = __props;\n let focusTrap;\n const setHasAppNavigation = inject(\n HAS_APP_NAVIGATION_KEY,\n () => warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n false\n );\n const appNavigationContainerElement = useTemplateRef(\"appNavigationContainer\");\n const isMobile = useIsMobile();\n const open = ref(!isMobile.value);\n watchEffect(() => {\n if (!props.ariaLabel && !props.ariaLabelledby) {\n warn(\"NcAppNavigation requires either `ariaLabel` or `ariaLabelledby` to be set for accessibility.\");\n }\n });\n watch(isMobile, () => {\n open.value = !isMobile.value;\n });\n watch(open, () => {\n toggleFocusTrap();\n });\n onMounted(() => {\n setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: open.value\n });\n focusTrap = createFocusTrap(appNavigationContainerElement.value, {\n allowOutsideClick: true,\n clickOutsideDeactivates: () => {\n if (isMobile.value) {\n focusTrap.deactivate({ returnFocus: false });\n toggleNavigation(false);\n }\n return false;\n },\n fallbackFocus: appNavigationContainerElement.value,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n toggleFocusTrap();\n });\n onUnmounted(() => {\n setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n focusTrap.deactivate();\n });\n function toggleNavigation(state) {\n if (open.value === state) {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n return;\n }\n open.value = state === void 0 ? !open.value : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n }, 1.5 * animationLength);\n }\n function toggleNavigationByEventBus({ open: open2 }) {\n return toggleNavigation(open2);\n }\n function toggleFocusTrap() {\n if (isMobile.value && open.value) {\n focusTrap.activate();\n } else {\n focusTrap.deactivate();\n }\n }\n function handleEsc() {\n if (isMobile.value) {\n toggleNavigation(false);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"appNavigationContainer\",\n class: normalizeClass([\"app-navigation\", {\n \"app-navigation--closed\": !open.value,\n \"app-navigation--legacy\": unref(isLegacy34)\n }])\n }, [\n createElementVNode(\"nav\", {\n id: \"app-navigation-vue\",\n \"aria-hidden\": open.value ? \"false\" : \"true\",\n \"aria-label\": _ctx.ariaLabel || void 0,\n \"aria-labelledby\": _ctx.ariaLabelledby || void 0,\n class: \"app-navigation__content\",\n inert: !open.value || void 0,\n onKeydown: withKeys(handleEsc, [\"esc\"])\n }, [\n createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"search\", {}, void 0, true)\n ]),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation__body\", { \"app-navigation__body--no-list\": !_ctx.$slots.list }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2),\n _ctx.$slots.list ? (openBlock(), createBlock(NcAppNavigationList, {\n key: 0,\n class: \"app-navigation__list\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", {}, void 0, true)\n ], 40, _hoisted_1),\n createVNode(NcAppNavigationToggle, {\n open: open.value,\n \"onUpdate:open\": toggleNavigation\n }, null, 8, [\"open\"])\n ], 2);\n };\n }\n});\nconst NcAppNavigation = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-3b634fbd\"]]);\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-Bb54U_qJ.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronUp = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-ChH8oB7p.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconArrowRight = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconArrowRight as I\n};\n//# sourceMappingURL=ArrowRight-B1ncAhus.mjs.map\n","import '../assets/NcInputConfirmCancel-BEmwC87z.css';\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { r as register, k as t14, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, withKeys, withDirectives, vModelText, createVNode, withCtx } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t14);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n IconArrowRight,\n IconClose,\n NcButton\n },\n setup() {\n return { isLegacy34 };\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 /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n modelValue: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"cancel\",\n \"confirm\",\n \"update:modelValue\"\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.modelValue;\n },\n set(newValue) {\n this.$emit(\"update:modelValue\", 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};\nconst _hoisted_1 = [\"placeholder\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"app-navigation-input-confirm\", { \"app-navigation-input-confirm--legacy\": $setup.isLegacy34 }])\n }, [\n createElementVNode(\"form\", {\n onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.confirm && $options.confirm(...args), [\"prevent\"])),\n onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.cancel && $options.cancel(...args), [\"exact\", \"stop\", \"prevent\"]), [\"esc\"])),\n onClick: _cache[3] || (_cache[3] = withModifiers(() => {\n }, [\"stop\", \"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $options.valueModel = $event),\n type: \"text\",\n class: \"app-navigation-input-confirm__input\",\n placeholder: $props.placeholder\n }, null, 8, _hoisted_1), [\n [vModelText, $options.valueModel]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelConfirm,\n type: \"submit\",\n variant: \"primary\",\n onClick: withModifiers($options.confirm, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelCancel,\n type: \"reset\",\n variant: $props.primary ? \"primary\" : \"tertiary\",\n onClick: withModifiers($options.cancel, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"variant\", \"onClick\"])\n ], 32)\n ], 2);\n}\nconst NcInputConfirmCancel = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-a8724c7f\"]]);\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-BL_BkfXh.mjs.map\n","import { defineComponent } from \"vue\";\nconst _sfc_main = defineComponent({\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 render() {\n return this.vnodes || this.$slots?.default?.({});\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map\n","import '../assets/NcAppNavigationItem-DF81QkEz.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps, withKeys, withModifiers, renderSlot, createVNode, createTextVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-C6gc637b.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-ChH8oB7p.mjs\";\nimport { r as register, N as t21, a as t, b as t51, O as t23 } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-BL_BkfXh.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BJKJG2zO.mjs\";\nimport { N as NcActions } from \"./NcActions-fCXSb_0o.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-CInLzPtA.mjs\";\nimport { _ as _sfc_main$4 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nconst _sfc_main$3 = {\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};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { 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\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pencil-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst Pencil = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\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};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { 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\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon undo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst Undo = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nregister(t21);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n setup() {\n return { isLegacy34 };\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n required: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: 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};\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ChevronUp = resolveComponent(\"ChevronUp\");\n const _component_ChevronDown = resolveComponent(\"ChevronDown\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n return openBlock(), createBlock(_component_NcButton, {\n class: normalizeClass([\"icon-collapse\", {\n \"icon-collapse--active\": $props.active,\n \"icon-collapse--open\": $props.open\n }]),\n \"aria-label\": $options.labelButton,\n variant: $props.active && $setup.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\",\n onClick: $options.onClick\n }, {\n icon: withCtx(() => [\n $props.open ? (openBlock(), createBlock(_component_ChevronUp, {\n key: 0,\n size: 20\n })) : (openBlock(), createBlock(_component_ChevronDown, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"class\", \"aria-label\", \"variant\", \"onClick\"]);\n}\nconst NcAppNavigationIconCollapsible = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-acf5ed2f\"]]);\nregister(t23, t51);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes: _sfc_main$4,\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: () => createElementId(),\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 `<router-link />` that points to that route.\n * By leaving this blank, the root element will be a `<li>`.\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 * 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 isLegacy34\n };\n },\n data() {\n return {\n actionsBoundariesElement: void 0,\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 };\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 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 * 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};\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"aria-current\", \"aria-description\", \"aria-expanded\", \"href\", \"target\", \"title\", \"onClick\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"editingContainer\"\n};\nconst _hoisted_4 = {\n key: 1,\n class: \"app-navigation-entry__deleted\"\n};\nconst _hoisted_5 = { class: \"app-navigation-entry__deleted-description\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"app-navigation-entry__counter-wrapper\"\n};\nconst _hoisted_7 = {\n key: 0,\n class: \"app-navigation-entry__children\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcInputConfirmCancel = resolveComponent(\"NcInputConfirmCancel\");\n const _component_Pencil = resolveComponent(\"Pencil\");\n const _component_NcActionButton = resolveComponent(\"NcActionButton\");\n const _component_Undo = resolveComponent(\"Undo\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcAppNavigationIconCollapsible = resolveComponent(\"NcAppNavigationIconCollapsible\");\n return openBlock(), createElementBlock(\"li\", {\n id: $props.id,\n class: normalizeClass([{\n \"app-navigation-entry--opened\": $data.opened,\n \"app-navigation-entry--pinned\": $props.pinned,\n \"app-navigation-entry--collapsible\": $props.allowCollapse && !!_ctx.$slots.default\n }, \"app-navigation-entry-wrapper\"])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent($options.isRouterLink ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$options.isRouterLink && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry\", {\n \"app-navigation-entry--editing\": $data.editingActive,\n \"app-navigation-entry--deleted\": $props.undo,\n \"app-navigation-entry--legacy\": $setup.isLegacy34,\n active: $props.to && isActive || $props.active\n }])\n }, [\n !$props.undo ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n class: \"app-navigation-entry-link\",\n \"aria-current\": $props.active || $props.to && isActive ? \"page\" : void 0,\n \"aria-description\": $props.ariaDescription,\n \"aria-expanded\": !!_ctx.$slots.default ? $data.opened.toString() : void 0,\n href: $props.href || routerLinkHref || \"#\",\n target: $options.isExternal($props.href) ? \"_blank\" : void 0,\n title: $props.title || $props.name,\n onBlur: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onFocus: _cache[2] || (_cache[2] = (...args) => $options.handleFocus && $options.handleFocus(...args)),\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.handleTab && $options.handleTab(...args), [\"exact\"]), [\"tab\"]))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry-icon\", { [$props.icon]: $props.icon }])\n }, [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : renderSlot(_ctx.$slots, \"icon\", {\n key: 1,\n active: $props.active || $props.to && isActive\n }, void 0, true)\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass([\"app-navigation-entry__name\", { \"hidden-visually\": $data.editingActive }])\n }, toDisplayString($props.name), 3),\n $data.editingActive ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_NcInputConfirmCancel, {\n ref: \"editingInput\",\n modelValue: $data.editingValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $data.editingValue = $event),\n placeholder: $props.editPlaceholder !== \"\" ? $props.editPlaceholder : $props.name,\n primary: $props.to && isActive || $props.active,\n onCancel: $options.cancelEditing,\n onConfirm: $options.handleEditingDone\n }, null, 8, [\"modelValue\", \"placeholder\", \"primary\", \"onCancel\", \"onConfirm\"])\n ])) : createCommentVNode(\"\", true)\n ], 40, _hoisted_2)) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createElementBlock(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, toDisplayString($props.name), 1)\n ])) : createCommentVNode(\"\", true),\n (!!_ctx.$slots.actions || !!_ctx.$slots.counter || $props.editable || $props.undo) && !$data.editingActive ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass([\"app-navigation-entry__utils\", { \"app-navigation-entry__utils--display-actions\": $props.forceDisplayActions || $data.menuOpenLocalValue || $props.menuOpen }])\n }, [\n !!_ctx.$slots.counter ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"counter\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n !!_ctx.$slots.actions || $props.editable && !$data.editingActive || $props.undo ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n class: \"app-navigation-entry__actions\",\n container: \"#app-navigation-vue\",\n boundariesElement: $data.actionsBoundariesElement,\n inline: $props.inlineActions,\n placement: $props.menuPlacement,\n open: $props.menuOpen,\n forceMenu: $props.forceMenu,\n defaultIcon: $props.menuIcon,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onMenuToggle\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n $props.editable && !$data.editingActive ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 0,\n \"aria-label\": $options.editButtonAriaLabel,\n onClick: $options.handleEdit\n }, {\n icon: withCtx(() => [\n createVNode(_component_Pencil, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString($props.editLabel), 1)\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 1,\n \"aria-label\": $options.undoButtonAriaLabel,\n onClick: $options.handleUndo\n }, {\n icon: withCtx(() => [\n createVNode(_component_Undo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"boundariesElement\", \"inline\", \"placement\", \"open\", \"forceMenu\", \"defaultIcon\", \"onUpdate:open\"])) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true),\n $props.allowCollapse && !!_ctx.$slots.default ? (openBlock(), createBlock(_component_NcAppNavigationIconCollapsible, {\n key: 3,\n active: $props.to && isActive || $props.active,\n open: $data.opened,\n onClick: withModifiers($options.toggleCollapse, [\"prevent\", \"stop\"])\n }, null, 8, [\"active\", \"open\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ], 2)\n ]),\n _: 3\n }, 16)),\n $options.canHaveChildren && !!_ctx.$slots.default ? (openBlock(), createElementBlock(\"ul\", _hoisted_7, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1);\n}\nconst NcAppNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e4d562ae\"]]);\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-Dg2d2AwS.mjs.map\n","import '../assets/NcAppNavigationSettings-HQEDobBQ.css';\nimport { defineComponent, ref, useTemplateRef, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, unref, withCtx, createTextVNode, toDisplayString, Transition, withDirectives, renderSlot, vShow } from \"vue\";\nimport { C as mdiCog, D as mdiCogOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { onClickOutside } from \"@vueuse/core\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, B as t47, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t47);\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationSettings\",\n props: {\n excludeClickOutsideSelectors: { default: () => [] },\n name: { default: () => t(\"Settings\") }\n },\n setup(__props) {\n const contentId = createElementId();\n const open = ref(false);\n const container2 = useTemplateRef(\"wrapperElement\");\n const ignore = computed(() => Array.isArray(__props.excludeClickOutsideSelectors) ? __props.excludeClickOutsideSelectors : __props.excludeClickOutsideSelectors.split(\" \"));\n onClickOutside(container2, () => {\n open.value = false;\n }, { ignore });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"wrapperElement\",\n class: normalizeClass(_ctx.$style.container)\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.$style.header)\n }, [\n createVNode(NcButton, {\n \"aria-controls\": unref(contentId),\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n class: normalizeClass(_ctx.$style.button),\n alignment: \"start\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: unref(isLegacy) ? unref(mdiCog) : unref(mdiCogOutline)\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(_ctx.name), 1)\n ]),\n _: 1\n }, 8, [\"aria-controls\", \"aria-expanded\", \"class\"])\n ], 2),\n createVNode(Transition, {\n enterActiveClass: _ctx.$style.animationActive,\n leaveActiveClass: _ctx.$style.animationActive,\n enterFromClass: _ctx.$style.animationStop,\n leaveToClass: _ctx.$style.animationStop\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(contentId),\n class: normalizeClass(_ctx.$style.content)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1), [\n [vShow, open.value]\n ])\n ]),\n _: 3\n }, 8, [\"enterActiveClass\", \"leaveActiveClass\", \"enterFromClass\", \"leaveToClass\"])\n ], 2);\n };\n }\n});\nconst container = \"_container_RFk6U\";\nconst header = \"_header_2CtDS\";\nconst button = \"_button_tAyis\";\nconst content = \"_content_--KYD\";\nconst animationActive = \"_animationActive_DAG1p\";\nconst animationStop = \"_animationStop_fWYQj\";\nconst style0 = {\n container,\n header,\n button,\n content,\n animationActive,\n animationStop\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcAppNavigationSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-CJ2z5cYU.mjs.map\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon content-copy-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\">\n <title v-if=\"title\">{{ title }}\n \n \n \n\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\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 RouteRecordRaw[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\nimport { routes } from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('/apps/activity')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nconst app = createApp(ActivityApp)\napp.use(router)\napp.mount('#content')\n"],"names":["HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","register","t30","contentSvg","navigationSvg","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","props","provide","setAppNavigation","computed","isMobile","useIsMobile","hasAppNavigation","ref","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","emit","nextTick","value","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","isLegacy34","createBlock","Teleport","createElementVNode","toDisplayString","t","withDirectives","createVNode","NcButton","withModifiers","$event","withCtx","createTextVNode","vShow","NcIconSvgWrapper","renderSlot","NcContent","_export_sfc","_createBlock","_unref","_createVNode","_component_router_view","Pe","D","h","y","u","E","ce","l","k","M","z","e","n","m","x","S","c","f","_","R","r","P","O","b","i","a","s","o","K","I","d","A","U","W","J","$","N","v","p","H","ue","j","Q","V","Z","ee","F","ne","C","ie","te","T","L","ae","le","oe","se","q","B","G","X","re","fe","g","Y","ve","me","ge","w","de","pe","he","ze","xe","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","inject","useLocalizedAppName","apps","loadState","realAppName2","id","t27","_sfc_main$1","watch","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","mdiArrowRight","NcAppContentDetailsToggle","browserStorage","getBuilder","instanceName","getCapabilities","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createCommentVNode","Fragment","NcAppContent","_hoisted_4","mergeProps","IconClose","ChevronDown","_hoisted_5","_hoisted_6","mergeModels","createElementId","__expose","__emit","modelValue","useModel","focus","select","attrs","useAttrs","inputElement","useTemplateRef","hasTrailingIcon","internalPlaceholder","isLegacy","isValidLabel","ariaDescribedby","ariaDescribedby2","options","handleInput","target","mdiCheck","mdiAlertCircleOutline","NcInputField","dateText","today","moment","yesterday","first","fullDate","formatted","_createElementVNode","_createElementBlock","_Fragment","_renderList","activity","ActivityComponent","appIconSVG","POLL_INTERVAL","navigationList","route","useRoute","loading","hasMoreActivites","allActivities","lastActivityLoaded","newestActivityId","newActivitiesAvailable","pollTimer","requestController","visibility","useDocumentVisibility","useInfiniteScroll","loadActivities","groupedActivities","groups","date","headingTitle","navigationEl","signal","since","response","ncAxios","generateOcsUrl","newActivities","raw","ActivityModel","error","axios","showError","pollNewActivities","scrollToTop","onScroll","useDebounceFn","startPolling","stopPolling","onUnmounted","_toDisplayString","NcEmptyContent","NcLoadingIcon","_openBlock","activities","ActivityGroup","NcAppNavigationList","t20","_hoisted_1$1","open","title","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open2","handleEsc","withKeys","NcAppNavigation","ChevronUp","IconArrowRight","t14","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcActions","NcActionButton","_sfc_main$4","newVal","navigate","routerLinkHref","href","_hoisted_7","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcActions","_component_NcAppNavigationIconCollapsible","resolveDynamicComponent","normalizeProps","guardReactiveProps","isActive","NcAppNavigationItem","t47","contentId","container2","ignore","onClickOutside","mdiCog","mdiCogOutline","Transition","header","button","content","animationActive","animationStop","style0","cssModules","NcAppNavigationSettings","_mergeProps","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","navigationItem","NcCheckboxRadioSwitch","IconContentCopy","routes","ActivityAppFeed","ActivityAppNavigation","router","createRouter","createWebHistory","app","createApp","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20]} \ No newline at end of file diff --git a/src/views/ActivityAppFeed.vue b/src/views/ActivityAppFeed.vue index ea6e8b7f2..6dab75506 100644 --- a/src/views/ActivityAppFeed.vue +++ b/src/views/ActivityAppFeed.vue @@ -27,24 +27,26 @@
- - {{ t('activity', 'New activities') }} - - - - -
- {{ t('activity', 'No more activities.') }} +
+ + {{ t('activity', 'New activities') }} + + + + +
+ {{ t('activity', 'No more activities.') }} +
@@ -350,6 +352,8 @@ watch(props, () => { \n","export default \"\"","\n\n\n\n\n\n","import '../assets/NcAppNavigationList--36j6Acm.css';\nimport { openBlock, createElementBlock, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nconst _hoisted_1 = { class: \"app-navigation-list\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"ul\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n}\nconst NcAppNavigationList = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-d72957ed\"]]);\nexport {\n NcAppNavigationList as N\n};\n//# sourceMappingURL=NcAppNavigationList-CGSWabRB.mjs.map\n","import '../assets/NcAppNavigation-ykL7Wz6L.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, createVNode, unref, withCtx, inject, warn, useTemplateRef, ref, watchEffect, watch, onMounted, onUnmounted, normalizeClass, createElementVNode, withKeys, renderSlot, createBlock, createCommentVNode } from \"vue\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { N as NcAppNavigationList } from \"./NcAppNavigationList-CGSWabRB.mjs\";\nimport { G as mdiMenuOpen, H as mdiMenu } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, P as t20, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY } from \"./constants-Ciwvl5xb.mjs\";\nregister(t20);\nconst _hoisted_1$1 = { class: \"app-navigation-toggle-wrapper\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationToggle\",\n props: {\n \"open\": { type: Boolean, ...{ required: true } },\n \"openModifiers\": {}\n },\n emits: [\"update:open\"],\n setup(__props) {\n const open = useModel(__props, \"open\");\n const title = computed(() => open.value ? t(\"Close navigation\") : t(\"Open navigation\"));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n createVNode(unref(NcButton), {\n class: \"app-navigation-toggle\",\n \"aria-controls\": \"app-navigation-vue\",\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n \"aria-label\": title.value,\n title: title.value,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: open.value ? unref(mdiMenuOpen) : unref(mdiMenu)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-expanded\", \"aria-label\", \"title\"])\n ]);\n };\n }\n});\nconst NcAppNavigationToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-5a15295d\"]]);\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"inert\"];\nconst _hoisted_2 = { class: \"app-navigation__search\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigation\",\n props: {\n ariaLabel: {},\n ariaLabelledby: {}\n },\n setup(__props) {\n const props = __props;\n let focusTrap;\n const setHasAppNavigation = inject(\n HAS_APP_NAVIGATION_KEY,\n () => warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n false\n );\n const appNavigationContainerElement = useTemplateRef(\"appNavigationContainer\");\n const isMobile = useIsMobile();\n const open = ref(!isMobile.value);\n watchEffect(() => {\n if (!props.ariaLabel && !props.ariaLabelledby) {\n warn(\"NcAppNavigation requires either `ariaLabel` or `ariaLabelledby` to be set for accessibility.\");\n }\n });\n watch(isMobile, () => {\n open.value = !isMobile.value;\n });\n watch(open, () => {\n toggleFocusTrap();\n });\n onMounted(() => {\n setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: open.value\n });\n focusTrap = createFocusTrap(appNavigationContainerElement.value, {\n allowOutsideClick: true,\n clickOutsideDeactivates: () => {\n if (isMobile.value) {\n focusTrap.deactivate({ returnFocus: false });\n toggleNavigation(false);\n }\n return false;\n },\n fallbackFocus: appNavigationContainerElement.value,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n toggleFocusTrap();\n });\n onUnmounted(() => {\n setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n focusTrap.deactivate();\n });\n function toggleNavigation(state) {\n if (open.value === state) {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n return;\n }\n open.value = state === void 0 ? !open.value : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n }, 1.5 * animationLength);\n }\n function toggleNavigationByEventBus({ open: open2 }) {\n return toggleNavigation(open2);\n }\n function toggleFocusTrap() {\n if (isMobile.value && open.value) {\n focusTrap.activate();\n } else {\n focusTrap.deactivate();\n }\n }\n function handleEsc() {\n if (isMobile.value) {\n toggleNavigation(false);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"appNavigationContainer\",\n class: normalizeClass([\"app-navigation\", {\n \"app-navigation--closed\": !open.value,\n \"app-navigation--legacy\": unref(isLegacy34)\n }])\n }, [\n createElementVNode(\"nav\", {\n id: \"app-navigation-vue\",\n \"aria-hidden\": open.value ? \"false\" : \"true\",\n \"aria-label\": _ctx.ariaLabel || void 0,\n \"aria-labelledby\": _ctx.ariaLabelledby || void 0,\n class: \"app-navigation__content\",\n inert: !open.value || void 0,\n onKeydown: withKeys(handleEsc, [\"esc\"])\n }, [\n createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"search\", {}, void 0, true)\n ]),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation__body\", { \"app-navigation__body--no-list\": !_ctx.$slots.list }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2),\n _ctx.$slots.list ? (openBlock(), createBlock(NcAppNavigationList, {\n key: 0,\n class: \"app-navigation__list\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", {}, void 0, true)\n ], 40, _hoisted_1),\n createVNode(NcAppNavigationToggle, {\n open: open.value,\n \"onUpdate:open\": toggleNavigation\n }, null, 8, [\"open\"])\n ], 2);\n };\n }\n});\nconst NcAppNavigation = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-3b634fbd\"]]);\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-Bb54U_qJ.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronUp = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-ChH8oB7p.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconArrowRight = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconArrowRight as I\n};\n//# sourceMappingURL=ArrowRight-B1ncAhus.mjs.map\n","import '../assets/NcInputConfirmCancel-BEmwC87z.css';\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { r as register, k as t14, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, withKeys, withDirectives, vModelText, createVNode, withCtx } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t14);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n IconArrowRight,\n IconClose,\n NcButton\n },\n setup() {\n return { isLegacy34 };\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 /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n modelValue: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"cancel\",\n \"confirm\",\n \"update:modelValue\"\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.modelValue;\n },\n set(newValue) {\n this.$emit(\"update:modelValue\", 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};\nconst _hoisted_1 = [\"placeholder\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"app-navigation-input-confirm\", { \"app-navigation-input-confirm--legacy\": $setup.isLegacy34 }])\n }, [\n createElementVNode(\"form\", {\n onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.confirm && $options.confirm(...args), [\"prevent\"])),\n onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.cancel && $options.cancel(...args), [\"exact\", \"stop\", \"prevent\"]), [\"esc\"])),\n onClick: _cache[3] || (_cache[3] = withModifiers(() => {\n }, [\"stop\", \"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $options.valueModel = $event),\n type: \"text\",\n class: \"app-navigation-input-confirm__input\",\n placeholder: $props.placeholder\n }, null, 8, _hoisted_1), [\n [vModelText, $options.valueModel]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelConfirm,\n type: \"submit\",\n variant: \"primary\",\n onClick: withModifiers($options.confirm, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelCancel,\n type: \"reset\",\n variant: $props.primary ? \"primary\" : \"tertiary\",\n onClick: withModifiers($options.cancel, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"variant\", \"onClick\"])\n ], 32)\n ], 2);\n}\nconst NcInputConfirmCancel = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-a8724c7f\"]]);\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-BL_BkfXh.mjs.map\n","import { defineComponent } from \"vue\";\nconst _sfc_main = defineComponent({\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 render() {\n return this.vnodes || this.$slots?.default?.({});\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map\n","import '../assets/NcAppNavigationItem-DF81QkEz.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps, withKeys, withModifiers, renderSlot, createVNode, createTextVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-C6gc637b.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-ChH8oB7p.mjs\";\nimport { r as register, N as t21, a as t, b as t51, O as t23 } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-BL_BkfXh.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BJKJG2zO.mjs\";\nimport { N as NcActions } from \"./NcActions-fCXSb_0o.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-CInLzPtA.mjs\";\nimport { _ as _sfc_main$4 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nconst _sfc_main$3 = {\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};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { 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\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pencil-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst Pencil = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\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};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { 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\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon undo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst Undo = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nregister(t21);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n setup() {\n return { isLegacy34 };\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n required: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: 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};\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ChevronUp = resolveComponent(\"ChevronUp\");\n const _component_ChevronDown = resolveComponent(\"ChevronDown\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n return openBlock(), createBlock(_component_NcButton, {\n class: normalizeClass([\"icon-collapse\", {\n \"icon-collapse--active\": $props.active,\n \"icon-collapse--open\": $props.open\n }]),\n \"aria-label\": $options.labelButton,\n variant: $props.active && $setup.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\",\n onClick: $options.onClick\n }, {\n icon: withCtx(() => [\n $props.open ? (openBlock(), createBlock(_component_ChevronUp, {\n key: 0,\n size: 20\n })) : (openBlock(), createBlock(_component_ChevronDown, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"class\", \"aria-label\", \"variant\", \"onClick\"]);\n}\nconst NcAppNavigationIconCollapsible = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-acf5ed2f\"]]);\nregister(t23, t51);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes: _sfc_main$4,\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: () => createElementId(),\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 * 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 isLegacy34\n };\n },\n data() {\n return {\n actionsBoundariesElement: void 0,\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 };\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 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 * 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};\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"aria-current\", \"aria-description\", \"aria-expanded\", \"href\", \"target\", \"title\", \"onClick\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"editingContainer\"\n};\nconst _hoisted_4 = {\n key: 1,\n class: \"app-navigation-entry__deleted\"\n};\nconst _hoisted_5 = { class: \"app-navigation-entry__deleted-description\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"app-navigation-entry__counter-wrapper\"\n};\nconst _hoisted_7 = {\n key: 0,\n class: \"app-navigation-entry__children\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcInputConfirmCancel = resolveComponent(\"NcInputConfirmCancel\");\n const _component_Pencil = resolveComponent(\"Pencil\");\n const _component_NcActionButton = resolveComponent(\"NcActionButton\");\n const _component_Undo = resolveComponent(\"Undo\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcAppNavigationIconCollapsible = resolveComponent(\"NcAppNavigationIconCollapsible\");\n return openBlock(), createElementBlock(\"li\", {\n id: $props.id,\n class: normalizeClass([{\n \"app-navigation-entry--opened\": $data.opened,\n \"app-navigation-entry--pinned\": $props.pinned,\n \"app-navigation-entry--collapsible\": $props.allowCollapse && !!_ctx.$slots.default\n }, \"app-navigation-entry-wrapper\"])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent($options.isRouterLink ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$options.isRouterLink && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry\", {\n \"app-navigation-entry--editing\": $data.editingActive,\n \"app-navigation-entry--deleted\": $props.undo,\n \"app-navigation-entry--legacy\": $setup.isLegacy34,\n active: $props.to && isActive || $props.active\n }])\n }, [\n !$props.undo ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n class: \"app-navigation-entry-link\",\n \"aria-current\": $props.active || $props.to && isActive ? \"page\" : void 0,\n \"aria-description\": $props.ariaDescription,\n \"aria-expanded\": !!_ctx.$slots.default ? $data.opened.toString() : void 0,\n href: $props.href || routerLinkHref || \"#\",\n target: $options.isExternal($props.href) ? \"_blank\" : void 0,\n title: $props.title || $props.name,\n onBlur: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onFocus: _cache[2] || (_cache[2] = (...args) => $options.handleFocus && $options.handleFocus(...args)),\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.handleTab && $options.handleTab(...args), [\"exact\"]), [\"tab\"]))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry-icon\", { [$props.icon]: $props.icon }])\n }, [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : renderSlot(_ctx.$slots, \"icon\", {\n key: 1,\n active: $props.active || $props.to && isActive\n }, void 0, true)\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass([\"app-navigation-entry__name\", { \"hidden-visually\": $data.editingActive }])\n }, toDisplayString($props.name), 3),\n $data.editingActive ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_NcInputConfirmCancel, {\n ref: \"editingInput\",\n modelValue: $data.editingValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $data.editingValue = $event),\n placeholder: $props.editPlaceholder !== \"\" ? $props.editPlaceholder : $props.name,\n primary: $props.to && isActive || $props.active,\n onCancel: $options.cancelEditing,\n onConfirm: $options.handleEditingDone\n }, null, 8, [\"modelValue\", \"placeholder\", \"primary\", \"onCancel\", \"onConfirm\"])\n ])) : createCommentVNode(\"\", true)\n ], 40, _hoisted_2)) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createElementBlock(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, toDisplayString($props.name), 1)\n ])) : createCommentVNode(\"\", true),\n (!!_ctx.$slots.actions || !!_ctx.$slots.counter || $props.editable || $props.undo) && !$data.editingActive ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass([\"app-navigation-entry__utils\", { \"app-navigation-entry__utils--display-actions\": $props.forceDisplayActions || $data.menuOpenLocalValue || $props.menuOpen }])\n }, [\n !!_ctx.$slots.counter ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"counter\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n !!_ctx.$slots.actions || $props.editable && !$data.editingActive || $props.undo ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n class: \"app-navigation-entry__actions\",\n container: \"#app-navigation-vue\",\n boundariesElement: $data.actionsBoundariesElement,\n inline: $props.inlineActions,\n placement: $props.menuPlacement,\n open: $props.menuOpen,\n forceMenu: $props.forceMenu,\n defaultIcon: $props.menuIcon,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onMenuToggle\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n $props.editable && !$data.editingActive ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 0,\n \"aria-label\": $options.editButtonAriaLabel,\n onClick: $options.handleEdit\n }, {\n icon: withCtx(() => [\n createVNode(_component_Pencil, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString($props.editLabel), 1)\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 1,\n \"aria-label\": $options.undoButtonAriaLabel,\n onClick: $options.handleUndo\n }, {\n icon: withCtx(() => [\n createVNode(_component_Undo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"boundariesElement\", \"inline\", \"placement\", \"open\", \"forceMenu\", \"defaultIcon\", \"onUpdate:open\"])) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true),\n $props.allowCollapse && !!_ctx.$slots.default ? (openBlock(), createBlock(_component_NcAppNavigationIconCollapsible, {\n key: 3,\n active: $props.to && isActive || $props.active,\n open: $data.opened,\n onClick: withModifiers($options.toggleCollapse, [\"prevent\", \"stop\"])\n }, null, 8, [\"active\", \"open\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ], 2)\n ]),\n _: 3\n }, 16)),\n $options.canHaveChildren && !!_ctx.$slots.default ? (openBlock(), createElementBlock(\"ul\", _hoisted_7, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1);\n}\nconst NcAppNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e4d562ae\"]]);\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-Dg2d2AwS.mjs.map\n","import '../assets/NcAppNavigationSettings-HQEDobBQ.css';\nimport { defineComponent, ref, useTemplateRef, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, unref, withCtx, createTextVNode, toDisplayString, Transition, withDirectives, renderSlot, vShow } from \"vue\";\nimport { C as mdiCog, D as mdiCogOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { onClickOutside } from \"@vueuse/core\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, B as t47, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t47);\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationSettings\",\n props: {\n excludeClickOutsideSelectors: { default: () => [] },\n name: { default: () => t(\"Settings\") }\n },\n setup(__props) {\n const contentId = createElementId();\n const open = ref(false);\n const container2 = useTemplateRef(\"wrapperElement\");\n const ignore = computed(() => Array.isArray(__props.excludeClickOutsideSelectors) ? __props.excludeClickOutsideSelectors : __props.excludeClickOutsideSelectors.split(\" \"));\n onClickOutside(container2, () => {\n open.value = false;\n }, { ignore });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"wrapperElement\",\n class: normalizeClass(_ctx.$style.container)\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.$style.header)\n }, [\n createVNode(NcButton, {\n \"aria-controls\": unref(contentId),\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n class: normalizeClass(_ctx.$style.button),\n alignment: \"start\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: unref(isLegacy) ? unref(mdiCog) : unref(mdiCogOutline)\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(_ctx.name), 1)\n ]),\n _: 1\n }, 8, [\"aria-controls\", \"aria-expanded\", \"class\"])\n ], 2),\n createVNode(Transition, {\n enterActiveClass: _ctx.$style.animationActive,\n leaveActiveClass: _ctx.$style.animationActive,\n enterFromClass: _ctx.$style.animationStop,\n leaveToClass: _ctx.$style.animationStop\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(contentId),\n class: normalizeClass(_ctx.$style.content)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1), [\n [vShow, open.value]\n ])\n ]),\n _: 3\n }, 8, [\"enterActiveClass\", \"leaveActiveClass\", \"enterFromClass\", \"leaveToClass\"])\n ], 2);\n };\n }\n});\nconst container = \"_container_RFk6U\";\nconst header = \"_header_2CtDS\";\nconst button = \"_button_tAyis\";\nconst content = \"_content_--KYD\";\nconst animationActive = \"_animationActive_DAG1p\";\nconst animationStop = \"_animationStop_fWYQj\";\nconst style0 = {\n container,\n header,\n button,\n content,\n animationActive,\n animationStop\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcAppNavigationSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-CJ2z5cYU.mjs.map\n","\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\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 RouteRecordRaw[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\nimport { routes } from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('/apps/activity')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nconst app = createApp(ActivityApp)\napp.use(router)\napp.mount('#content')\n"],"names":["HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","register","t30","contentSvg","navigationSvg","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","props","provide","setAppNavigation","computed","isMobile","useIsMobile","hasAppNavigation","ref","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","emit","nextTick","value","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","isLegacy34","createBlock","Teleport","createElementVNode","toDisplayString","t","withDirectives","createVNode","NcButton","withModifiers","$event","withCtx","createTextVNode","vShow","NcIconSvgWrapper","renderSlot","NcContent","_export_sfc","_createBlock","_unref","_createVNode","_component_router_view","Pe","D","h","y","u","E","ce","l","k","M","z","e","n","m","x","S","c","f","_","R","r","P","O","b","i","a","s","o","K","I","d","A","U","W","J","$","N","v","p","H","ue","j","Q","V","Z","ee","F","ne","C","ie","te","T","L","ae","le","oe","se","q","B","G","X","re","fe","g","Y","ve","me","ge","w","de","pe","he","ze","xe","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","inject","useLocalizedAppName","apps","loadState","realAppName2","id","t27","_sfc_main$1","watch","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","mdiArrowRight","NcAppContentDetailsToggle","browserStorage","getBuilder","instanceName","getCapabilities","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createCommentVNode","Fragment","NcAppContent","_hoisted_4","mergeProps","IconClose","ChevronDown","_hoisted_5","_hoisted_6","mergeModels","createElementId","__expose","__emit","modelValue","useModel","focus","select","attrs","useAttrs","inputElement","useTemplateRef","hasTrailingIcon","internalPlaceholder","isLegacy","isValidLabel","ariaDescribedby","ariaDescribedby2","options","handleInput","target","mdiCheck","mdiAlertCircleOutline","NcInputField","dateText","today","moment","yesterday","first","fullDate","formatted","_createElementVNode","_createElementBlock","_Fragment","_renderList","activity","ActivityComponent","appIconSVG","POLL_INTERVAL","navigationList","route","useRoute","loading","hasMoreActivites","allActivities","lastActivityLoaded","newestActivityId","newActivitiesAvailable","pollTimer","requestController","visibility","useDocumentVisibility","useInfiniteScroll","loadActivities","groupedActivities","groups","date","headingTitle","navigationEl","signal","since","response","ncAxios","generateOcsUrl","newActivities","raw","ActivityModel","error","axios","showError","pollNewActivities","scrollToTop","onScroll","useDebounceFn","startPolling","stopPolling","onUnmounted","_toDisplayString","NcEmptyContent","NcLoadingIcon","_openBlock","activities","ActivityGroup","NcAppNavigationList","t20","_hoisted_1$1","open","title","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open2","handleEsc","withKeys","NcAppNavigation","ChevronUp","IconArrowRight","t14","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcActions","NcActionButton","_sfc_main$4","newVal","navigate","routerLinkHref","href","_hoisted_7","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcActions","_component_NcAppNavigationIconCollapsible","resolveDynamicComponent","normalizeProps","guardReactiveProps","isActive","NcAppNavigationItem","t47","contentId","container2","ignore","onClickOutside","mdiCog","mdiCogOutline","Transition","header","button","content","animationActive","animationStop","style0","cssModules","NcAppNavigationSettings","_mergeProps","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","navigationItem","NcCheckboxRadioSwitch","IconContentCopy","routes","ActivityAppFeed","ActivityAppNavigation","router","createRouter","createWebHistory","app","createApp","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20]} \ No newline at end of file +{"version":3,"file":"activity-app.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/constants-Ciwvl5xb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcContent-Dd15hgck.mjs","../src/views/ActivityApp.vue","../node_modules/splitpanes/dist/splitpanes.es.js","../node_modules/@nextcloud/vue/dist/chunks/appName-DyNMVZpX.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppContent-taTvqnvd.mjs","../node_modules/@nextcloud/vue/dist/chunks/Close-CuhcJnX2.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-C6gc637b.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-C3iof9pY.mjs","../src/components/ActivityGroup.vue","../img/activity-dark.svg?raw","../src/views/ActivityAppFeed.vue","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationList-CGSWabRB.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigation-Bb54U_qJ.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-ChH8oB7p.mjs","../node_modules/@nextcloud/vue/dist/chunks/ArrowRight-B1ncAhus.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-BL_BkfXh.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-Dg2d2AwS.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-CJ2z5cYU.mjs","../node_modules/vue-material-design-icons/ContentCopy.vue","../src/views/ActivityAppNavigation.vue","../src/routes.ts","../src/app.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst HAS_APP_NAVIGATION_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:setHasAppNavigation\");\nconst CONTENT_SELECTOR_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:selector\");\nexport {\n CONTENT_SELECTOR_KEY as C,\n HAS_APP_NAVIGATION_KEY as H\n};\n//# sourceMappingURL=constants-Ciwvl5xb.mjs.map\n","import '../assets/NcContent-DXc6geEw.css';\nimport { defineComponent, provide, computed, ref, onBeforeMount, openBlock, createElementBlock, normalizeClass, unref, createBlock, Teleport, createElementVNode, toDisplayString, withDirectives, createVNode, withModifiers, withCtx, createTextVNode, vShow, renderSlot, nextTick } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, H as t30, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY, C as CONTENT_SELECTOR_KEY } from \"./constants-Ciwvl5xb.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t30);\nconst contentSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst navigationSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst _hoisted_1 = { class: \"vue-skip-actions__container\" };\nconst _hoisted_2 = { class: \"vue-skip-actions__headline\" };\nconst _hoisted_3 = { class: \"vue-skip-actions__buttons\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcContent\",\n props: {\n appName: {}\n },\n setup(__props) {\n const props = __props;\n provide(HAS_APP_NAVIGATION_KEY, setAppNavigation);\n provide(CONTENT_SELECTOR_KEY, \"#content-vue\");\n provide(\"appName\", computed(() => props.appName));\n const isMobile = useIsMobile();\n const hasAppNavigation = ref(false);\n const currentFocus = ref();\n const currentImage = computed(() => currentFocus.value === \"navigation\" ? navigationSvg : contentSvg);\n onBeforeMount(() => {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n });\n function openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n }\n function setAppNavigation(value) {\n hasAppNavigation.value = value;\n if (!currentFocus.value) {\n currentFocus.value = \"navigation\";\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: \"content-vue\",\n class: normalizeClass([\"content\", [`app-${_ctx.appName.toLowerCase()}`, { \"content--legacy\": unref(isLegacy34) }]])\n }, [\n (openBlock(), createBlock(Teleport, { to: \"#skip-actions\" }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, toDisplayString(unref(t)(\"Keyboard navigation help\")), 1),\n createElementVNode(\"div\", _hoisted_3, [\n withDirectives(createVNode(NcButton, {\n href: \"#app-navigation-vue\",\n variant: \"tertiary\",\n onClick: withModifiers(openAppNavigation, [\"prevent\"]),\n onFocusin: _cache[0] || (_cache[0] = ($event) => currentFocus.value = \"navigation\"),\n onMouseover: _cache[1] || (_cache[1] = ($event) => currentFocus.value = \"navigation\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to app navigation\")), 1)\n ]),\n _: 1\n }, 512), [\n [vShow, hasAppNavigation.value]\n ]),\n createVNode(NcButton, {\n href: \"#app-content-vue\",\n variant: \"tertiary\",\n onFocusin: _cache[2] || (_cache[2] = ($event) => currentFocus.value = \"content\"),\n onMouseover: _cache[3] || (_cache[3] = ($event) => currentFocus.value = \"content\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to main content\")), 1)\n ]),\n _: 1\n })\n ]),\n withDirectives(createVNode(NcIconSvgWrapper, {\n class: \"vue-skip-actions__image\",\n svg: currentImage.value,\n size: \"auto\"\n }, null, 8, [\"svg\"]), [\n [vShow, !unref(isMobile)]\n ])\n ])\n ])),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2);\n };\n }\n});\nconst NcContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-91d07631\"]]);\nexport {\n NcContent as N\n};\n//# sourceMappingURL=NcContent-Dd15hgck.mjs.map\n","\n\n\n\n\n","import { useSlots as ce, ref as k, computed as z, watch as B, onMounted as G, onBeforeUnmount as X, provide as g, createBlock as ve, openBlock as Y, resolveDynamicComponent as me, nextTick as T, h as fe, inject as w, getCurrentInstance as de, createElementBlock as pe, normalizeStyle as ze, unref as he, renderSlot as xe } from \"vue\";\nconst Pe = {\n __name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean, default: !1 },\n pushOtherPanes: { type: Boolean, default: !0 },\n maximizePanes: { type: Boolean, default: !0 },\n // Maximize pane on splitter double click/tap.\n rtl: { type: Boolean, default: !1 },\n // Right to left direction.\n firstSplitter: { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"resize\",\n \"resized\",\n \"pane-click\",\n \"pane-maximize\",\n \"pane-add\",\n \"pane-remove\",\n \"splitter-click\",\n \"splitter-dblclick\"\n ],\n setup(D, { emit: h }) {\n const y = h, u = D, E = ce(), l = k([]), M = z(() => l.value.reduce((e, n) => (e[~~n.id] = n) && e, {})), m = z(() => l.value.length), x = k(null), S = k(!1), c = k({\n mouseDown: !1,\n dragging: !1,\n activeSplitter: null,\n cursorOffset: 0\n // Cursor offset within the splitter.\n }), f = k({\n // Used to detect double click on touch devices.\n splitter: null,\n timeoutId: null\n }), _ = z(() => ({\n [`splitpanes splitpanes--${u.horizontal ? \"horizontal\" : \"vertical\"}`]: !0,\n \"splitpanes--dragging\": c.value.dragging\n })), R = () => {\n document.addEventListener(\"mousemove\", r, { passive: !1 }), document.addEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.addEventListener(\"touchmove\", r, { passive: !1 }), document.addEventListener(\"touchend\", P));\n }, O = () => {\n document.removeEventListener(\"mousemove\", r, { passive: !1 }), document.removeEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.removeEventListener(\"touchmove\", r, { passive: !1 }), document.removeEventListener(\"touchend\", P));\n }, b = (e, n) => {\n const t = e.target.closest(\".splitpanes__splitter\");\n if (t) {\n const { left: i, top: a } = t.getBoundingClientRect(), { clientX: s, clientY: o } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n c.value.cursorOffset = u.horizontal ? o - a : s - i;\n }\n R(), c.value.mouseDown = !0, c.value.activeSplitter = n;\n }, r = (e) => {\n c.value.mouseDown && (e.preventDefault(), c.value.dragging = !0, requestAnimationFrame(() => {\n K(I(e)), d(\"resize\", { event: e }, !0);\n }));\n }, P = (e) => {\n c.value.dragging && (window.getSelection().removeAllRanges(), d(\"resized\", { event: e }, !0)), c.value.mouseDown = !1, c.value.activeSplitter = null, setTimeout(() => {\n c.value.dragging = !1, O();\n }, 100);\n }, A = (e, n) => {\n \"ontouchstart\" in window && (e.preventDefault(), f.value.splitter === n ? (clearTimeout(f.value.timeoutId), f.value.timeoutId = null, U(e, n), f.value.splitter = null) : (f.value.splitter = n, f.value.timeoutId = setTimeout(() => f.value.splitter = null, 500))), c.value.dragging || d(\"splitter-click\", { event: e, index: n }, !0);\n }, U = (e, n) => {\n if (d(\"splitter-dblclick\", { event: e, index: n }, !0), u.maximizePanes) {\n let t = 0;\n l.value = l.value.map((i, a) => (i.size = a === n ? i.max : i.min, a !== n && (t += i.min), i)), l.value[n].size -= t, d(\"pane-maximize\", { event: e, index: n, pane: l.value[n] }), d(\"resized\", { event: e, index: n }, !0);\n }\n }, W = (e, n) => {\n d(\"pane-click\", {\n event: e,\n index: M.value[n].index,\n pane: M.value[n]\n });\n }, I = (e) => {\n const n = x.value.getBoundingClientRect(), { clientX: t, clientY: i } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n return {\n x: t - (u.horizontal ? 0 : c.value.cursorOffset) - n.left,\n y: i - (u.horizontal ? c.value.cursorOffset : 0) - n.top\n };\n }, J = (e) => {\n e = e[u.horizontal ? \"y\" : \"x\"];\n const n = x.value[u.horizontal ? \"clientHeight\" : \"clientWidth\"];\n return u.rtl && !u.horizontal && (e = n - e), e * 100 / n;\n }, K = (e) => {\n const n = c.value.activeSplitter;\n let t = {\n prevPanesSize: $(n),\n nextPanesSize: N(n),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const i = 0 + (u.pushOtherPanes ? 0 : t.prevPanesSize), a = 100 - (u.pushOtherPanes ? 0 : t.nextPanesSize), s = Math.max(Math.min(J(e), a), i);\n let o = [n, n + 1], v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n const H = v.max < 100 && s >= v.max + t.prevPanesSize, ue = p.max < 100 && s <= 100 - (p.max + N(n + 1));\n if (H || ue) {\n H ? (v.size = v.max, p.size = Math.max(100 - v.max - t.prevPanesSize - t.nextPanesSize, 0)) : (v.size = Math.max(100 - p.max - t.prevPanesSize - N(n + 1), 0), p.size = p.max);\n return;\n }\n if (u.pushOtherPanes) {\n const j = Q(t, s);\n if (!j) return;\n ({ sums: t, panesToResize: o } = j), v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n }\n v !== null && (v.size = Math.min(Math.max(s - t.prevPanesSize - t.prevReachedMinPanes, v.min), v.max)), p !== null && (p.size = Math.min(Math.max(100 - s - t.nextPanesSize - t.nextReachedMinPanes, p.min), p.max));\n }, Q = (e, n) => {\n const t = c.value.activeSplitter, i = [t, t + 1];\n return n < e.prevPanesSize + l.value[i[0]].min && (i[0] = V(t).index, e.prevReachedMinPanes = 0, i[0] < t && l.value.forEach((a, s) => {\n s > i[0] && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), e.prevPanesSize = $(i[0]), i[0] === void 0) ? (e.prevReachedMinPanes = 0, l.value[0].size = l.value[0].min, l.value.forEach((a, s) => {\n s > 0 && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), l.value[i[1]].size = 100 - e.prevReachedMinPanes - l.value[0].min - e.prevPanesSize - e.nextPanesSize, null) : n > 100 - e.nextPanesSize - l.value[i[1]].min && (i[1] = Z(t).index, e.nextReachedMinPanes = 0, i[1] > t + 1 && l.value.forEach((a, s) => {\n s > t && s < i[1] && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), e.nextPanesSize = N(i[1] - 1), i[1] === void 0) ? (e.nextReachedMinPanes = 0, l.value.forEach((a, s) => {\n s < m.value - 1 && s >= t + 1 && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), l.value[i[0]].size = 100 - e.prevPanesSize - N(i[0] - 1), null) : { sums: e, panesToResize: i };\n }, $ = (e) => l.value.reduce((n, t, i) => n + (i < e ? t.size : 0), 0), N = (e) => l.value.reduce((n, t, i) => n + (i > e + 1 ? t.size : 0), 0), V = (e) => [...l.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, Z = (e) => l.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, ee = () => {\n var n;\n const e = Array.from(((n = x.value) == null ? void 0 : n.children) || []);\n for (const t of e) {\n const i = t.classList.contains(\"splitpanes__pane\"), a = t.classList.contains(\"splitpanes__splitter\");\n !i && !a && (t.remove(), console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\"));\n }\n }, F = (e, n, t = !1) => {\n const i = e - 1, a = document.createElement(\"div\");\n a.classList.add(\"splitpanes__splitter\"), t || (a.onmousedown = (s) => b(s, i), typeof window < \"u\" && \"ontouchstart\" in window && (a.ontouchstart = (s) => b(s, i)), a.onclick = (s) => A(s, i + 1)), a.ondblclick = (s) => U(s, i + 1), n.parentNode.insertBefore(a, n);\n }, ne = (e) => {\n e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();\n }, C = () => {\n var t;\n const e = Array.from(((t = x.value) == null ? void 0 : t.children) || []);\n for (const i of e)\n i.className.includes(\"splitpanes__splitter\") && ne(i);\n let n = 0;\n for (const i of e)\n i.className.includes(\"splitpanes__pane\") && (!n && u.firstSplitter ? F(n, i, !0) : n && F(n, i), n++);\n }, ie = ({ uid: e, ...n }) => {\n const t = M.value[e];\n for (const [i, a] of Object.entries(n)) t[i] = a;\n }, te = (e) => {\n var t;\n let n = -1;\n Array.from(((t = x.value) == null ? void 0 : t.children) || []).some((i) => (i.className.includes(\"splitpanes__pane\") && n++, i.isSameNode(e.el))), l.value.splice(n, 0, { ...e, index: n }), l.value.forEach((i, a) => i.index = a), S.value && T(() => {\n C(), L({ addedPane: l.value[n] }), d(\"pane-add\", { pane: l.value[n] });\n });\n }, ae = (e) => {\n const n = l.value.findIndex((i) => i.id === e);\n l.value[n].el = null;\n const t = l.value.splice(n, 1)[0];\n l.value.forEach((i, a) => i.index = a), T(() => {\n C(), d(\"pane-remove\", { pane: t }), L({ removedPane: { ...t } });\n });\n }, L = (e = {}) => {\n !e.addedPane && !e.removedPane ? le() : l.value.some((n) => n.givenSize !== null || n.min || n.max < 100) ? oe(e) : se(), S.value && d(\"resized\");\n }, se = () => {\n const e = 100 / m.value;\n let n = 0;\n const t = [], i = [];\n for (const a of l.value)\n a.size = Math.max(Math.min(e, a.max), a.min), n -= a.size, a.size >= a.max && t.push(a.id), a.size <= a.min && i.push(a.id);\n n > 0.1 && q(n, t, i);\n }, le = () => {\n let e = 100;\n const n = [], t = [];\n let i = 0;\n for (const s of l.value)\n e -= s.size, s.givenSize !== null && i++, s.size >= s.max && n.push(s.id), s.size <= s.min && t.push(s.id);\n let a = 100;\n if (e > 0.1) {\n for (const s of l.value)\n s.givenSize === null && (s.size = Math.max(Math.min(e / (m.value - i), s.max), s.min)), a -= s.size;\n a > 0.1 && q(a, n, t);\n }\n }, oe = ({ addedPane: e, removedPane: n } = {}) => {\n let t = 100 / m.value, i = 0;\n const a = [], s = [];\n ((e == null ? void 0 : e.givenSize) ?? null) !== null && (t = (100 - e.givenSize) / (m.value - 1));\n for (const o of l.value)\n i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n if (!(Math.abs(i) < 0.1)) {\n for (const o of l.value)\n (e == null ? void 0 : e.givenSize) !== null && (e == null ? void 0 : e.id) === o.id || (o.size = Math.max(Math.min(t, o.max), o.min)), i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n i > 0.1 && q(i, a, s);\n }\n }, q = (e, n, t) => {\n let i;\n e > 0 ? i = e / (m.value - n.length) : i = e / (m.value - t.length), l.value.forEach((a, s) => {\n if (e > 0 && !n.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n } else if (!t.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n }\n }), Math.abs(e) > 0.1 && T(() => {\n S.value && console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n });\n }, d = (e, n = void 0, t = !1) => {\n const i = (n == null ? void 0 : n.index) ?? c.value.activeSplitter ?? null;\n y(e, {\n ...n,\n ...i !== null && { index: i },\n ...t && i !== null && {\n prevPane: l.value[i - (u.firstSplitter ? 1 : 0)],\n nextPane: l.value[i + (u.firstSplitter ? 0 : 1)]\n },\n panes: l.value.map((a) => ({ min: a.min, max: a.max, size: a.size }))\n });\n };\n B(() => u.firstSplitter, () => C()), G(() => {\n ee(), C(), L(), d(\"ready\"), S.value = !0;\n }), X(() => S.value = !1);\n const re = () => {\n var e;\n return fe(\n \"div\",\n { ref: x, class: _.value },\n (e = E.default) == null ? void 0 : e.call(E)\n );\n };\n return g(\"panes\", l), g(\"indexedPanes\", M), g(\"horizontal\", z(() => u.horizontal)), g(\"requestUpdate\", ie), g(\"onPaneAdd\", te), g(\"onPaneRemove\", ae), g(\"onPaneClick\", W), (e, n) => (Y(), ve(me(re)));\n }\n}, ge = {\n __name: \"pane\",\n props: {\n size: { type: [Number, String] },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n setup(D) {\n var b;\n const h = D, y = w(\"requestUpdate\"), u = w(\"onPaneAdd\"), E = w(\"horizontal\"), l = w(\"onPaneRemove\"), M = w(\"onPaneClick\"), m = (b = de()) == null ? void 0 : b.uid, x = w(\"indexedPanes\"), S = z(() => x.value[m]), c = k(null), f = z(() => {\n const r = isNaN(h.size) || h.size === void 0 ? 0 : parseFloat(h.size);\n return Math.max(Math.min(r, R.value), _.value);\n }), _ = z(() => {\n const r = parseFloat(h.minSize);\n return isNaN(r) ? 0 : r;\n }), R = z(() => {\n const r = parseFloat(h.maxSize);\n return isNaN(r) ? 100 : r;\n }), O = z(() => {\n var r;\n return `${E.value ? \"height\" : \"width\"}: ${(r = S.value) == null ? void 0 : r.size}%`;\n });\n return B(() => f.value, (r) => y({ uid: m, size: r })), B(() => _.value, (r) => y({ uid: m, min: r })), B(() => R.value, (r) => y({ uid: m, max: r })), G(() => {\n u({\n id: m,\n el: c.value,\n min: _.value,\n max: R.value,\n // The given size (useful to know the user intention).\n givenSize: h.size === void 0 ? null : f.value,\n size: f.value\n // The computed current size at any time.\n });\n }), X(() => l(m)), (r, P) => (Y(), pe(\"div\", {\n ref_key: \"paneEl\",\n ref: c,\n class: \"splitpanes__pane\",\n onClick: P[0] || (P[0] = (A) => he(M)(A, r._.uid)),\n style: ze(O.value)\n }, [\n xe(r.$slots, \"default\")\n ], 4));\n }\n};\nexport {\n ge as Pane,\n Pe as Splitpanes\n};\n","import { loadState } from \"@nextcloud/initial-state\";\nimport { inject } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction once(func) {\n let wasCalled = false;\n let result;\n return (...args) => {\n if (!wasCalled) {\n wasCalled = true;\n result = func(...args);\n }\n return result;\n };\n}\nlet realAppName = \"missing-app-name\";\ntry {\n realAppName = appName;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appName`.\");\n}\nconst APP_NAME = realAppName;\nlet realAppVersion = \"\";\ntry {\n realAppVersion = appVersion;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appVersion`.\");\n}\nconst APP_VERSION = realAppVersion;\nfunction useAppName() {\n return inject(\"appName\", APP_NAME);\n}\nconst useLocalizedAppName = once(() => {\n const apps = loadState(\"core\", \"apps\", []);\n const realAppName2 = useAppName();\n return apps.find(({ id }) => id === realAppName2)?.name ?? realAppName2;\n});\nexport {\n APP_VERSION as A,\n useAppName as a,\n useLocalizedAppName as u\n};\n//# sourceMappingURL=appName-DyNMVZpX.mjs.map\n","import '../assets/NcAppContent-BC7DBer3.css';\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Splitpanes, Pane } from \"splitpanes\";\nimport { defineComponent, watch, onMounted, onBeforeUnmount, openBlock, createBlock, unref, normalizeClass, withCtx, createVNode, resolveComponent, createElementBlock, toDisplayString, createCommentVNode, Fragment, withModifiers, withDirectives, createElementVNode, renderSlot, vShow } from \"vue\";\nimport { m as mdiArrowRight } from \"./mdi-CpchYUUV.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, G as t27, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { u as useLocalizedAppName, a as useAppName } from \"./appName-DyNMVZpX.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport \"splitpanes/dist/splitpanes.css\";\nregister(t27);\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppContentDetailsToggle\",\n setup(__props) {\n const isMobile = useIsMobile();\n watch(isMobile, toggleAppNavigationButton);\n onMounted(() => {\n toggleAppNavigationButton(isMobile.value);\n });\n onBeforeUnmount(() => {\n if (isMobile.value) {\n toggleAppNavigationButton(false);\n }\n });\n function toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : \"\";\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcButton), {\n \"aria-label\": unref(t)(\"Go back to the list\"),\n class: normalizeClass([\"app-details-toggle\", { \"app-details-toggle--mobile\": unref(isMobile) }]),\n title: unref(t)(\"Go back to the list\"),\n variant: \"tertiary\"\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n directional: \"\",\n path: unref(mdiArrowRight)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"class\", \"title\"]);\n };\n }\n});\nconst NcAppContentDetailsToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-a28923a1\"]]);\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst instanceName = getCapabilities().theming?.name ?? \"Nextcloud\";\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppContentDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\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 * or respectively the default height on horizontal-split.\n *\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 * or respectively the minimum height 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 * or respectively the maximum height 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 * 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 * Specify the `

    ` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Allow setting the page's ``\n *\n * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`.\n * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`.\n * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}`\n */\n pageTitle: {\n type: String,\n default: null\n }\n },\n emits: [\n \"update:showDetails\",\n \"resizeList\"\n ],\n setup() {\n return {\n appName: useAppName(),\n localizedAppName: useLocalizedAppName(),\n isMobile: useIsMobile(),\n isRtl\n };\n },\n data() {\n return {\n contentHeight: 0,\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-${this.appName}`;\n } catch {\n logger.info(\"[NcAppContent]: 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 realPageTitle() {\n const entries = /* @__PURE__ */ new Set();\n if (this.pageTitle) {\n for (const part of this.pageTitle.split(\" - \")) {\n entries.add(part);\n }\n } else if (this.pageHeading) {\n for (const part of this.pageHeading.split(\" - \")) {\n entries.add(part);\n }\n if (entries.size > 0) {\n entries.add(this.localizedAppName);\n }\n } else {\n return null;\n }\n entries.add(instanceName);\n return [...entries.values()].join(\" - \");\n }\n },\n watch: {\n realPageTitle: {\n immediate: true,\n handler() {\n if (this.realPageTitle !== null) {\n document.title = this.realPageTitle;\n }\n }\n },\n paneConfigKey: {\n immediate: true,\n handler() {\n this.restorePaneConfig();\n }\n }\n },\n mounted() {\n if (!this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\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.panes[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resizeList\", { size: listPaneSize });\n logger.debug(\"[NcAppContent] pane config\", { listPaneSize });\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 logger.debug(\"[NcAppContent] 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};\nconst _hoisted_1 = {\n key: 0,\n class: \"hidden-visually\"\n};\nconst _hoisted_2 = { class: \"app-content-wrapper__list\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"app-content-wrapper\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcAppContentDetailsToggle = resolveComponent(\"NcAppContentDetailsToggle\");\n const _component_Pane = resolveComponent(\"Pane\");\n const _component_Splitpanes = resolveComponent(\"Splitpanes\");\n return openBlock(), createElementBlock(\"main\", {\n id: \"app-content-vue\",\n class: normalizeClass([\"app-content no-snapper\", { \"app-content--has-list\": !!_ctx.$slots.list }])\n }, [\n $props.pageHeading ? (openBlock(), createElementBlock(\"h1\", _hoisted_1, toDisplayString($props.pageHeading), 1)) : createCommentVNode(\"\", true),\n !!_ctx.$slots.list ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n $setup.isMobile || $props.layout === \"no-split\" ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"app-content-wrapper app-content-wrapper--no-split\", {\n \"app-content-wrapper--show-details\": $props.showDetails,\n \"app-content-wrapper--show-list\": !$props.showDetails,\n \"app-content-wrapper--mobile\": $setup.isMobile\n }])\n }, [\n $props.showDetails ? (openBlock(), createBlock(_component_NcAppContentDetailsToggle, {\n key: 0,\n onClick: withModifiers($options.hideDetails, [\"stop\", \"prevent\"])\n }, null, 8, [\"onClick\"])) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ], 512), [\n [vShow, !$props.showDetails]\n ]),\n $props.showDetails ? renderSlot(_ctx.$slots, \"default\", { key: 1 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2)) : $props.layout === \"vertical-split\" || $props.layout === \"horizontal-split\" ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_Splitpanes, {\n horizontal: $props.layout === \"horizontal-split\",\n class: normalizeClass([\"default-theme\", {\n \"splitpanes--horizontal\": $props.layout === \"horizontal-split\",\n \"splitpanes--vertical\": $props.layout === \"vertical-split\"\n }]),\n rtl: $setup.isRtl,\n onResized: $options.handlePaneResize\n }, {\n default: withCtx(() => [\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-list\",\n size: $data.listPaneSize || $options.paneDefaults.list.size,\n minSize: $options.paneDefaults.list.min,\n maxSize: $options.paneDefaults.list.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"]),\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-details\",\n size: $options.detailsPaneSize,\n minSize: $options.paneDefaults.details.min,\n maxSize: $options.paneDefaults.details.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"])\n ]),\n _: 3\n }, 8, [\"horizontal\", \"class\", \"rtl\", \"onResized\"])\n ])) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true),\n !_ctx.$slots.list ? renderSlot(_ctx.$slots, \"default\", { key: 2 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcAppContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-ea1e6879\"]]);\nexport {\n NcAppContent as N\n};\n//# sourceMappingURL=NcAppContent-taTvqnvd.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconClose as I\n};\n//# sourceMappingURL=Close-CuhcJnX2.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ChevronDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronDown = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronDown as C\n};\n//# sourceMappingURL=ChevronDown-C6gc637b.mjs.map\n","import '../assets/NcInputField-DpyFJ1xw.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, warn, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, withDirectives, renderSlot, vShow, createBlock, withCtx, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"input-field__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"type\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = { class: \"input-field__icon input-field__icon--leading\" };\nconst _hoisted_5 = {\n key: 2,\n class: \"input-field__icon input-field__icon--trailing\"\n};\nconst _hoisted_6 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"NcInputField\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: \"\" },\n inputClass: { default: \"\" },\n id: { default: () => createElementId() },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n type: { default: \"text\" },\n placeholder: { default: void 0 },\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: \"\" },\n disabled: { type: Boolean },\n pill: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"trailingButtonClick\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const emit = __emit;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const inputElement = useTemplateRef(\"input\");\n const hasTrailingIcon = computed(() => props.showTrailingButton || props.success);\n const internalPlaceholder = computed(() => {\n if (props.placeholder) {\n return props.placeholder;\n }\n if (props.label) {\n return isLegacy ? props.label : \"\";\n }\n return void 0;\n });\n const isValidLabel = computed(() => {\n const isValidLabel2 = props.label || props.labelOutside;\n if (!isValidLabel2) {\n warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel2;\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (attrs[\"aria-describedby\"]) {\n ariaDescribedby2.push(String(attrs[\"aria-describedby\"]));\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function focus(options) {\n inputElement.value.focus(options);\n }\n function select() {\n inputElement.value.select();\n }\n function handleInput(event) {\n const target = event.target;\n modelValue.value = props.type === \"number\" && typeof modelValue.value === \"number\" ? parseFloat(target.value) : target.value;\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"input-field\", [{\n \"input-field--disabled\": _ctx.disabled,\n \"input-field--error\": _ctx.error,\n \"input-field--label-outside\": _ctx.labelOutside || !isValidLabel.value,\n \"input-field--leading-icon\": !!_ctx.$slots.icon,\n \"input-field--trailing-icon\": hasTrailingIcon.value,\n \"input-field--pill\": _ctx.pill,\n \"input-field--success\": _ctx.success,\n \"input-field--legacy\": unref(isLegacy)\n }, _ctx.$props.class]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"input\", mergeProps(_ctx.$attrs, {\n id: _ctx.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"input-field__input\", _ctx.inputClass],\n disabled: _ctx.disabled,\n placeholder: internalPlaceholder.value,\n type: _ctx.type,\n value: modelValue.value.toString(),\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !_ctx.labelOutside && isValidLabel.value ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"input-field__label\",\n for: _ctx.id\n }, toDisplayString(_ctx.label), 9, _hoisted_3)) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ], 512), [\n [vShow, !!_ctx.$slots.icon]\n ]),\n _ctx.showTrailingButton ? (openBlock(), createBlock(NcButton, {\n key: 1,\n class: \"input-field__trailing-button\",\n \"aria-label\": _ctx.trailingButtonLabel,\n disabled: _ctx.disabled,\n variant: \"tertiary-no-background\",\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"trailingButtonClick\", $event))\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"trailing-button-icon\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : _ctx.success || _ctx.error ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n path: unref(mdiCheck)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n path: unref(mdiAlertCircleOutline)\n }, null, 8, [\"path\"]))\n ])) : createCommentVNode(\"\", true)\n ]),\n _ctx.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${_ctx.id}-helper-text`,\n class: \"input-field__helper-text-message\"\n }, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : _ctx.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(_ctx.helperText), 1)\n ], 8, _hoisted_6)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcInputField = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8e16cbb5\"]]);\nexport {\n NcInputField as N\n};\n//# sourceMappingURL=NcInputField-C3iof9pY.mjs.map\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<section class=\"activity-group\">\n\t\t<h2 class=\"activity-group__heading\" :title=\"fullDate\">\n\t\t\t{{ dateText }}\n\t\t</h2>\n\t\t<ul>\n\t\t\t<ActivityComponent\n\t\t\t\tv-for=\"activity in activities\"\n\t\t\t\t:key=\"activity.id\"\n\t\t\t\t:activity=\"activity\"\n\t\t\t\t:showPreviews=\"true\" />\n\t\t</ul>\n\t</section>\n</template>\n\n<script setup lang=\"ts\">\nimport type ActivityModel from '../models/ActivityModel.ts'\n\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { computed } from 'vue'\nimport ActivityComponent from './ActivityComponent.vue'\n\nconst props = defineProps<{\n\tactivities: ActivityModel[]\n}>()\n\n/**\n * Title to show for the date either Today, Yesterday or the full date\n */\nconst dateText = computed(() => {\n\tconst today = moment()\n\tconst yesterday = moment().subtract(1, 'day')\n\tconst first = moment(props.activities[0].datetime)\n\n\tif (first.isSame(today, 'day')) {\n\t\treturn t('activity', 'Today')\n\t} else if (first.isSame(yesterday, 'day')) {\n\t\treturn t('activity', 'Yesterday')\n\t}\n\treturn first.format('LL')\n})\n\n/**\n * If the heading is yesterday or today, show the full date as title, otherwise no title is shown\n */\nconst fullDate = computed(() => {\n\tconst formatted = moment(props.activities[0].datetime).format('LL')\n\treturn formatted !== dateText.value ? formatted : undefined\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-group {\n\t// Separate consecutive groups. Inside the <section> (not a margin between them)\n\t// so the date stays pinned across the gap and the next date docks right as the\n\t// group ends, instead of the push feeling early.\n\tpadding-block-end: 24px;\n\n\t&__heading {\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1;\n\t\t// Match the line box to the navigation toggle so the date text lines up with\n\t\t// it vertically (centred in a clickable-area-tall row), with no extra\n\t\t// whitespace above. Sticking within the per-group <section> makes each new\n\t\t// date push the previous one up and out of the way.\n\t\tmargin-block: 0;\n\t\t// Bottom padding only gives the fade more room to complete; because the\n\t\t// heading sticks within its <section>, it does not affect when the push starts\n\t\tpadding-block: 8px 20px;\n\t\t// Match the settings-section__name heading size\n\t\tfont-size: 20px;\n\t\tline-height: var(--default-clickable-area);\n\t\t// Solid behind the text, then a long, gentle fade to transparent (onset kept\n\t\t// at ~32px from the top) so entries dissolve out gradually as they scroll under\n\t\tbackground: linear-gradient(to bottom, var(--color-main-background) 44%, transparent);\n\n\t\t// Indent the heading to clear the app navigation toggle, eased in by the content\n\t\t// width. It is the toggle clearance (--app-navigation-padding + clickable-area),\n\t\t// less the space the content already has on its left: the centring gutter\n\t\t// ((100cqi - column width) / 2, where 100cqi is the content-area width and the\n\t\t// column width is --activity-feed-max-width) and its 12px padding. A little\n\t\t// breathing room (+8px) minus that 12px padding nets to one negative grid\n\t\t// baseline (-4px). Clamped to 0, so it never affects alignment with the entries\n\t\t// once the gutter clears the toggle.\n\t\tpadding-inline-start: calc(max(\n\t\t\t0px,\n\t\t\tvar(--app-navigation-padding, 8px) + var(--default-clickable-area)\n\t\t\t\t- var(--default-grid-baseline, 4px)\n\t\t\t\t- max(0px, (100cqi - var(--activity-feed-max-width)) / 2)\n\t\t));\n\t}\n}\n</style>\n","export default \"<svg viewBox=\\\"0 0 32 32\\\" height=\\\"32\\\" width=\\\"32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xml:space=\\\"preserve\\\" style=\\\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\\\"><path d=\\\"m8 22 1-7H4l9-13h2l-1 8h6L10 22H8Z\\\" style=\\\"fill-rule:nonzero\\\" transform=\\\"matrix(1.5 0 0 1.5 -2 -2)\\\"/></svg>\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcAppContent class=\"activity-app\">\n\t\t<!-- Kept for document semantics / screen readers, but visually hidden -->\n\t\t<h1 class=\"activity-app__heading hidden-visually\">\n\t\t\t{{ headingTitle }}\n\t\t</h1>\n\t\t<NcEmptyContent\n\t\t\tv-if=\"hasMoreActivites && allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'Loading activities')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<NcEmptyContent\n\t\t\tv-else-if=\"allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'No activity yet')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"appIconSVG\" :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<div ref=\"container\" class=\"activity-app__container\" @scroll=\"onScroll\">\n\t\t\t<div class=\"activity-app__content\">\n\t\t\t\t<NcButton\n\t\t\t\t\tv-if=\"newActivitiesAvailable\"\n\t\t\t\t\tclass=\"activity-app__new-activities-indicator\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"scrollToTop\">\n\t\t\t\t\t{{ t('activity', 'New activities') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<ActivityGroup v-for=\"activities, date of groupedActivities\" :key=\"date\" :activities=\"activities\" />\n\t\t\t\t<!-- Only show if not showing the inital empty content for loading -->\n\t\t\t\t<NcLoadingIcon\n\t\t\t\t\tv-if=\"hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t\t:name=\"t('activity', 'Loading more activities')\"\n\t\t\t\t\t:size=\"64\"\n\t\t\t\t\tclass=\"activity-app__loading-indicator\" />\n\t\t\t\t<div\n\t\t\t\t\tv-else-if=\"!hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t\tclass=\"activity-app__loading-indicator\">\n\t\t\t\t\t{{ t('activity', 'No more activities.') }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</NcAppContent>\n</template>\n\n<script setup lang=\"ts\">\nimport type { IRawActivity } from '../models/types.ts'\n\nimport ncAxios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { useDebounceFn, useDocumentVisibility, useInfiniteScroll } from '@vueuse/core'\nimport axios from 'axios'\nimport { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'\nimport NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport ActivityGroup from '../components/ActivityGroup.vue'\nimport appIconSVG from '../../img/activity-dark.svg?raw'\nimport ActivityModel from '../models/ActivityModel.ts'\nimport logger from '../utils/logger.ts'\n\ninterface INavigationEntry {\n\tid: string\n\ticon?: string\n\tname: string\n\turl: string\n}\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * The currently active activities filter\n\t */\n\tfilter?: string\n}>(), {\n\t// default to 'all'\n\tfilter: 'all',\n})\n\nconst navigationList = loadState<INavigationEntry[]>(appName, 'navigationList')\n\nconst route = useRoute()\n\n/**\n * Whether activities are currently being loaded\n */\nconst loading = ref(false)\n\n/**\n * Whether more activites can be loaded\n */\nconst hasMoreActivites = ref(true)\n\n/**\n * All loaded actvities\n */\nconst allActivities = ref<ActivityModel[]>([])\n\n/**\n * Last loaded activity (oldest) for backward pagination\n * This is set by the backend in the API result as a header value for pagination\n */\nconst lastActivityLoaded = ref<string>()\n\n/**\n * First loaded activity ID (newest) for polling new activities\n */\nconst newestActivityId = ref<number>()\n\n/**\n * Whether new activities have been prepended while the user was scrolled\n * away from the top — used to show the \"New activities\" navigation button\n */\nconst newActivitiesAvailable = ref(false)\n\n/**\n * Polling interval in milliseconds\n */\nconst POLL_INTERVAL = 30000\n\n/**\n * Polling timer reference (setTimeout-based for self-scheduling)\n */\nlet pollTimer: ReturnType<typeof setTimeout> | undefined\n\n/**\n * AbortController for in-flight load and poll requests.\n * Replaced on filter change and aborted on unmount so stale responses\n * are never applied to the wrong filter's state.\n */\nlet requestController = new AbortController()\n\n/**\n * Document visibility for pausing polling when tab is hidden\n */\nconst visibility = useDocumentVisibility()\n\n/**\n * Container element for the activites\n */\nconst container = ref<HTMLDivElement>()\n\n/**\n * Use infinite scroll for the container and load activities when reaching the bottom\n */\nuseInfiniteScroll(container, async () => {\n\tif (hasMoreActivites.value) {\n\t\tawait loadActivities()\n\t}\n}, {\n\tdistance: 100,\n})\n\n/**\n * Activities grouped by date\n */\nconst groupedActivities = computed(() => {\n\tconst groups = {} as Record<string, ActivityModel[]>\n\tfor (const activity of allActivities.value) {\n\t\tconst date = moment(activity.datetime).format('LL')\n\t\tif (groups[date] === undefined) {\n\t\t\tgroups[date] = [activity]\n\t\t} else {\n\t\t\tgroups[date].push(activity)\n\t\t}\n\t}\n\treturn groups\n})\n\nconst headingTitle = computed(() => {\n\treturn navigationList.find((navigationEl) => navigationEl.id === route.params.filter).name\n})\n\n/**\n * Load activities for current filter or load more if already loaded\n */\nasync function loadActivities() {\n\t// Skip if already loading\n\tif (loading.value) {\n\t\treturn\n\t}\n\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = lastActivityLoaded.value ?? '0'\n\t\tloading.value = true\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}', { filter: props.filter, since }), { signal })\n\t\tif (signal.aborted) {\n\t\t\treturn\n\t\t}\n\t\tconst newActivities = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\tallActivities.value.push(...newActivities)\n\t\tlastActivityLoaded.value = response.headers['x-activity-last-given']\n\t\thasMoreActivites.value = true\n\n\t\t// Track the newest activity ID for polling\n\t\tif (newestActivityId.value === undefined && newActivities.length > 0) {\n\t\t\tnewestActivityId.value = newActivities[0].id\n\t\t}\n\n\t\tnextTick(async () => {\n\t\t\tif (container.value && container.value.clientHeight === container.value.scrollHeight) {\n\t\t\t\t// Container is non-scrollable, thus useInfiniteScroll isn't triggered\n\t\t\t\t// Do it manually to ensure there are no activities to fetch anymore\n\t\t\t\tawait loadActivities()\n\t\t\t}\n\t\t})\n\t} catch (error) {\n\t\tif (axios.isCancel(error)) {\n\t\t\treturn\n\t\t}\n\t\t// Skip if no activities are available\n\t\tif (axios.isAxiosError(error) && error.response?.status === 304) {\n\t\t\thasMoreActivites.value = false\n\t\t\treturn\n\t\t}\n\n\t\tlogger.error(error as Error)\n\t\tshowError(t('activity', 'Could not load activities'))\n\t} finally {\n\t\t// Don't clear the loading flag if this request was superseded — the\n\t\t// replacement loadActivities() call has already set it to true.\n\t\tif (!signal.aborted) {\n\t\t\tloading.value = false\n\t\t}\n\t}\n}\n\n/**\n * Poll for new activities and either prepend them directly (when near top)\n * or queue them so the user can load them without disrupting their scroll position\n */\nasync function pollNewActivities() {\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = String(newestActivityId.value ?? 0)\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}&sort=asc', { filter: props.filter, since }), { signal })\n\t\tif (!signal.aborted && response.data.ocs.data.length > 0) {\n\t\t\tconst newActivities: ActivityModel[] = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\t\t// Sort newest first for prepending\n\t\t\tnewActivities.sort((a: ActivityModel, b: ActivityModel) => b.id - a.id)\n\t\t\tnewestActivityId.value = newActivities[0]!.id\n\t\t\tallActivities.value.unshift(...newActivities)\n\n\t\t\t// Show the navigation button only when the user is not already at the top\n\t\t\t// (browser scroll anchoring keeps their reading position stable on prepend)\n\t\t\tconst isNearTop = !container.value || container.value.scrollTop < 50\n\t\t\tif (!isNearTop) {\n\t\t\t\tnewActivitiesAvailable.value = true\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\t// Silently ignore cancellations and polling errors (304 = no new activities)\n\t\tif (!axios.isCancel(error) && (!axios.isAxiosError(error) || error.response?.status !== 304)) {\n\t\t\tlogger.error(error as Error)\n\t\t}\n\t}\n\n\t// Self-schedule only if polling wasn't stopped while the request was in flight\n\tif (pollTimer !== undefined) {\n\t\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n\t}\n}\n\n/**\n * Scroll to the top of the container to reveal the newly prepended activities\n */\nfunction scrollToTop() {\n\tnewActivitiesAvailable.value = false\n\tcontainer.value?.scrollTo({ top: 0, behavior: 'smooth' })\n}\n\n/**\n * Hide the \"New activities\" button once the user scrolls back near the top\n */\nconst onScroll = useDebounceFn(() => {\n\tif (container.value && container.value.scrollTop < 50) {\n\t\tnewActivitiesAvailable.value = false\n\t}\n}, 100)\n\n/**\n *\n */\nfunction startPolling() {\n\tstopPolling()\n\t// Use a sentinel value so the self-scheduling logic in pollNewActivities\n\t// knows polling is active even before the first tick fires\n\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n}\n\n/**\n *\n */\nfunction stopPolling() {\n\tif (pollTimer !== undefined) {\n\t\tclearTimeout(pollTimer)\n\t\tpollTimer = undefined\n\t}\n}\n\n/**\n * Load activities when mounted and start polling\n */\nonMounted(() => {\n\tloadActivities()\n\tstartPolling()\n})\n\nonUnmounted(() => {\n\tstopPolling()\n\trequestController.abort()\n})\n\nwatch(visibility, (value) => {\n\tif (value === 'hidden') {\n\t\tstopPolling()\n\t} else {\n\t\tstartPolling()\n\t}\n})\n\n/**\n * Reload activities when filter changed\n */\nwatch(props, () => {\n\trequestController.abort()\n\trequestController = new AbortController()\n\tallActivities.value = []\n\tnewActivitiesAvailable.value = false\n\tlastActivityLoaded.value = undefined\n\tnewestActivityId.value = undefined\n\thasMoreActivites.value = true\n\tloadActivities()\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-app {\n\t// Max width of the readable content column. Shared with the date heading indent\n\t// calc in ActivityGroup.vue (inherited), so both stay in sync from one source.\n\t--activity-feed-max-width: 924px;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\t// Query container so the date headings can respond to the actual content-area\n\t// width (which the open app navigation shrinks), rather than the raw viewport\n\tcontainer: activity-feed / inline-size;\n\n\t&__empty-content {\n\t\theight: 100%;\n\t}\n\n\t&__loading-indicator {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tjustify-self: center;\n\t\tmargin-block: 30px 6px;\n\t\ttext-align: center;\n\t}\n\n\t&__container {\n\t\t// Full width so the scrollbar sits at the edge of app-content\n\t\theight: 100%;\n\t\toverflow-y: scroll;\n\t}\n\n\t&__content {\n\t\t// Clamp the readable column and centre it within the full-width scroller\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\twidth: min(100%, var(--activity-feed-max-width));\n\t\tmax-width: var(--activity-feed-max-width);\n\t\tmargin: 0 auto;\n\t\tpadding-inline: 12px;\n\t}\n\n\t&__new-activities-indicator {\n\t\tposition: sticky;\n\t\ttop: 8px;\n\t\talign-self: center;\n\t\tz-index: 10;\n\t\tpadding: 6px 16px;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tborder: none;\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tbox-shadow: 0 2px 8px var(--color-box-shadow);\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t}\n}\n</style>\n","import '../assets/NcAppNavigationList--36j6Acm.css';\nimport { openBlock, createElementBlock, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nconst _hoisted_1 = { class: \"app-navigation-list\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"ul\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n}\nconst NcAppNavigationList = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-d72957ed\"]]);\nexport {\n NcAppNavigationList as N\n};\n//# sourceMappingURL=NcAppNavigationList-CGSWabRB.mjs.map\n","import '../assets/NcAppNavigation-ykL7Wz6L.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, createVNode, unref, withCtx, inject, warn, useTemplateRef, ref, watchEffect, watch, onMounted, onUnmounted, normalizeClass, createElementVNode, withKeys, renderSlot, createBlock, createCommentVNode } from \"vue\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { N as NcAppNavigationList } from \"./NcAppNavigationList-CGSWabRB.mjs\";\nimport { G as mdiMenuOpen, H as mdiMenu } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, P as t20, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY } from \"./constants-Ciwvl5xb.mjs\";\nregister(t20);\nconst _hoisted_1$1 = { class: \"app-navigation-toggle-wrapper\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationToggle\",\n props: {\n \"open\": { type: Boolean, ...{ required: true } },\n \"openModifiers\": {}\n },\n emits: [\"update:open\"],\n setup(__props) {\n const open = useModel(__props, \"open\");\n const title = computed(() => open.value ? t(\"Close navigation\") : t(\"Open navigation\"));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n createVNode(unref(NcButton), {\n class: \"app-navigation-toggle\",\n \"aria-controls\": \"app-navigation-vue\",\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n \"aria-label\": title.value,\n title: title.value,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: open.value ? unref(mdiMenuOpen) : unref(mdiMenu)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-expanded\", \"aria-label\", \"title\"])\n ]);\n };\n }\n});\nconst NcAppNavigationToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-5a15295d\"]]);\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"inert\"];\nconst _hoisted_2 = { class: \"app-navigation__search\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigation\",\n props: {\n ariaLabel: {},\n ariaLabelledby: {}\n },\n setup(__props) {\n const props = __props;\n let focusTrap;\n const setHasAppNavigation = inject(\n HAS_APP_NAVIGATION_KEY,\n () => warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n false\n );\n const appNavigationContainerElement = useTemplateRef(\"appNavigationContainer\");\n const isMobile = useIsMobile();\n const open = ref(!isMobile.value);\n watchEffect(() => {\n if (!props.ariaLabel && !props.ariaLabelledby) {\n warn(\"NcAppNavigation requires either `ariaLabel` or `ariaLabelledby` to be set for accessibility.\");\n }\n });\n watch(isMobile, () => {\n open.value = !isMobile.value;\n });\n watch(open, () => {\n toggleFocusTrap();\n });\n onMounted(() => {\n setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: open.value\n });\n focusTrap = createFocusTrap(appNavigationContainerElement.value, {\n allowOutsideClick: true,\n clickOutsideDeactivates: () => {\n if (isMobile.value) {\n focusTrap.deactivate({ returnFocus: false });\n toggleNavigation(false);\n }\n return false;\n },\n fallbackFocus: appNavigationContainerElement.value,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n toggleFocusTrap();\n });\n onUnmounted(() => {\n setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n focusTrap.deactivate();\n });\n function toggleNavigation(state) {\n if (open.value === state) {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n return;\n }\n open.value = state === void 0 ? !open.value : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n }, 1.5 * animationLength);\n }\n function toggleNavigationByEventBus({ open: open2 }) {\n return toggleNavigation(open2);\n }\n function toggleFocusTrap() {\n if (isMobile.value && open.value) {\n focusTrap.activate();\n } else {\n focusTrap.deactivate();\n }\n }\n function handleEsc() {\n if (isMobile.value) {\n toggleNavigation(false);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"appNavigationContainer\",\n class: normalizeClass([\"app-navigation\", {\n \"app-navigation--closed\": !open.value,\n \"app-navigation--legacy\": unref(isLegacy34)\n }])\n }, [\n createElementVNode(\"nav\", {\n id: \"app-navigation-vue\",\n \"aria-hidden\": open.value ? \"false\" : \"true\",\n \"aria-label\": _ctx.ariaLabel || void 0,\n \"aria-labelledby\": _ctx.ariaLabelledby || void 0,\n class: \"app-navigation__content\",\n inert: !open.value || void 0,\n onKeydown: withKeys(handleEsc, [\"esc\"])\n }, [\n createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"search\", {}, void 0, true)\n ]),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation__body\", { \"app-navigation__body--no-list\": !_ctx.$slots.list }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2),\n _ctx.$slots.list ? (openBlock(), createBlock(NcAppNavigationList, {\n key: 0,\n class: \"app-navigation__list\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", {}, void 0, true)\n ], 40, _hoisted_1),\n createVNode(NcAppNavigationToggle, {\n open: open.value,\n \"onUpdate:open\": toggleNavigation\n }, null, 8, [\"open\"])\n ], 2);\n };\n }\n});\nconst NcAppNavigation = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-3b634fbd\"]]);\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-Bb54U_qJ.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronUp = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-ChH8oB7p.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconArrowRight = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconArrowRight as I\n};\n//# sourceMappingURL=ArrowRight-B1ncAhus.mjs.map\n","import '../assets/NcInputConfirmCancel-BEmwC87z.css';\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { r as register, k as t14, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, withKeys, withDirectives, vModelText, createVNode, withCtx } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t14);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n IconArrowRight,\n IconClose,\n NcButton\n },\n setup() {\n return { isLegacy34 };\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 /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n modelValue: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"cancel\",\n \"confirm\",\n \"update:modelValue\"\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.modelValue;\n },\n set(newValue) {\n this.$emit(\"update:modelValue\", 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};\nconst _hoisted_1 = [\"placeholder\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"app-navigation-input-confirm\", { \"app-navigation-input-confirm--legacy\": $setup.isLegacy34 }])\n }, [\n createElementVNode(\"form\", {\n onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.confirm && $options.confirm(...args), [\"prevent\"])),\n onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.cancel && $options.cancel(...args), [\"exact\", \"stop\", \"prevent\"]), [\"esc\"])),\n onClick: _cache[3] || (_cache[3] = withModifiers(() => {\n }, [\"stop\", \"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $options.valueModel = $event),\n type: \"text\",\n class: \"app-navigation-input-confirm__input\",\n placeholder: $props.placeholder\n }, null, 8, _hoisted_1), [\n [vModelText, $options.valueModel]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelConfirm,\n type: \"submit\",\n variant: \"primary\",\n onClick: withModifiers($options.confirm, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelCancel,\n type: \"reset\",\n variant: $props.primary ? \"primary\" : \"tertiary\",\n onClick: withModifiers($options.cancel, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"variant\", \"onClick\"])\n ], 32)\n ], 2);\n}\nconst NcInputConfirmCancel = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-a8724c7f\"]]);\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-BL_BkfXh.mjs.map\n","import { defineComponent } from \"vue\";\nconst _sfc_main = defineComponent({\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 render() {\n return this.vnodes || this.$slots?.default?.({});\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map\n","import '../assets/NcAppNavigationItem-DF81QkEz.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps, withKeys, withModifiers, renderSlot, createVNode, createTextVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-C6gc637b.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-ChH8oB7p.mjs\";\nimport { r as register, N as t21, a as t, b as t51, O as t23 } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-BL_BkfXh.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BJKJG2zO.mjs\";\nimport { N as NcActions } from \"./NcActions-fCXSb_0o.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-CInLzPtA.mjs\";\nimport { _ as _sfc_main$4 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nconst _sfc_main$3 = {\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};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { 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\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pencil-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst Pencil = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\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};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { 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\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon undo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst Undo = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nregister(t21);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n setup() {\n return { isLegacy34 };\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n required: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: 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};\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ChevronUp = resolveComponent(\"ChevronUp\");\n const _component_ChevronDown = resolveComponent(\"ChevronDown\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n return openBlock(), createBlock(_component_NcButton, {\n class: normalizeClass([\"icon-collapse\", {\n \"icon-collapse--active\": $props.active,\n \"icon-collapse--open\": $props.open\n }]),\n \"aria-label\": $options.labelButton,\n variant: $props.active && $setup.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\",\n onClick: $options.onClick\n }, {\n icon: withCtx(() => [\n $props.open ? (openBlock(), createBlock(_component_ChevronUp, {\n key: 0,\n size: 20\n })) : (openBlock(), createBlock(_component_ChevronDown, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"class\", \"aria-label\", \"variant\", \"onClick\"]);\n}\nconst NcAppNavigationIconCollapsible = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-acf5ed2f\"]]);\nregister(t23, t51);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes: _sfc_main$4,\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: () => createElementId(),\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 `<router-link />` that points to that route.\n * By leaving this blank, the root element will be a `<li>`.\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 * 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 isLegacy34\n };\n },\n data() {\n return {\n actionsBoundariesElement: void 0,\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 };\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 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 * 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};\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"aria-current\", \"aria-description\", \"aria-expanded\", \"href\", \"target\", \"title\", \"onClick\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"editingContainer\"\n};\nconst _hoisted_4 = {\n key: 1,\n class: \"app-navigation-entry__deleted\"\n};\nconst _hoisted_5 = { class: \"app-navigation-entry__deleted-description\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"app-navigation-entry__counter-wrapper\"\n};\nconst _hoisted_7 = {\n key: 0,\n class: \"app-navigation-entry__children\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcInputConfirmCancel = resolveComponent(\"NcInputConfirmCancel\");\n const _component_Pencil = resolveComponent(\"Pencil\");\n const _component_NcActionButton = resolveComponent(\"NcActionButton\");\n const _component_Undo = resolveComponent(\"Undo\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcAppNavigationIconCollapsible = resolveComponent(\"NcAppNavigationIconCollapsible\");\n return openBlock(), createElementBlock(\"li\", {\n id: $props.id,\n class: normalizeClass([{\n \"app-navigation-entry--opened\": $data.opened,\n \"app-navigation-entry--pinned\": $props.pinned,\n \"app-navigation-entry--collapsible\": $props.allowCollapse && !!_ctx.$slots.default\n }, \"app-navigation-entry-wrapper\"])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent($options.isRouterLink ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$options.isRouterLink && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry\", {\n \"app-navigation-entry--editing\": $data.editingActive,\n \"app-navigation-entry--deleted\": $props.undo,\n \"app-navigation-entry--legacy\": $setup.isLegacy34,\n active: $props.to && isActive || $props.active\n }])\n }, [\n !$props.undo ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n class: \"app-navigation-entry-link\",\n \"aria-current\": $props.active || $props.to && isActive ? \"page\" : void 0,\n \"aria-description\": $props.ariaDescription,\n \"aria-expanded\": !!_ctx.$slots.default ? $data.opened.toString() : void 0,\n href: $props.href || routerLinkHref || \"#\",\n target: $options.isExternal($props.href) ? \"_blank\" : void 0,\n title: $props.title || $props.name,\n onBlur: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onFocus: _cache[2] || (_cache[2] = (...args) => $options.handleFocus && $options.handleFocus(...args)),\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.handleTab && $options.handleTab(...args), [\"exact\"]), [\"tab\"]))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry-icon\", { [$props.icon]: $props.icon }])\n }, [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : renderSlot(_ctx.$slots, \"icon\", {\n key: 1,\n active: $props.active || $props.to && isActive\n }, void 0, true)\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass([\"app-navigation-entry__name\", { \"hidden-visually\": $data.editingActive }])\n }, toDisplayString($props.name), 3),\n $data.editingActive ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_NcInputConfirmCancel, {\n ref: \"editingInput\",\n modelValue: $data.editingValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $data.editingValue = $event),\n placeholder: $props.editPlaceholder !== \"\" ? $props.editPlaceholder : $props.name,\n primary: $props.to && isActive || $props.active,\n onCancel: $options.cancelEditing,\n onConfirm: $options.handleEditingDone\n }, null, 8, [\"modelValue\", \"placeholder\", \"primary\", \"onCancel\", \"onConfirm\"])\n ])) : createCommentVNode(\"\", true)\n ], 40, _hoisted_2)) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createElementBlock(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, toDisplayString($props.name), 1)\n ])) : createCommentVNode(\"\", true),\n (!!_ctx.$slots.actions || !!_ctx.$slots.counter || $props.editable || $props.undo) && !$data.editingActive ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass([\"app-navigation-entry__utils\", { \"app-navigation-entry__utils--display-actions\": $props.forceDisplayActions || $data.menuOpenLocalValue || $props.menuOpen }])\n }, [\n !!_ctx.$slots.counter ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"counter\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n !!_ctx.$slots.actions || $props.editable && !$data.editingActive || $props.undo ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n class: \"app-navigation-entry__actions\",\n container: \"#app-navigation-vue\",\n boundariesElement: $data.actionsBoundariesElement,\n inline: $props.inlineActions,\n placement: $props.menuPlacement,\n open: $props.menuOpen,\n forceMenu: $props.forceMenu,\n defaultIcon: $props.menuIcon,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onMenuToggle\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n $props.editable && !$data.editingActive ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 0,\n \"aria-label\": $options.editButtonAriaLabel,\n onClick: $options.handleEdit\n }, {\n icon: withCtx(() => [\n createVNode(_component_Pencil, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString($props.editLabel), 1)\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 1,\n \"aria-label\": $options.undoButtonAriaLabel,\n onClick: $options.handleUndo\n }, {\n icon: withCtx(() => [\n createVNode(_component_Undo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"boundariesElement\", \"inline\", \"placement\", \"open\", \"forceMenu\", \"defaultIcon\", \"onUpdate:open\"])) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true),\n $props.allowCollapse && !!_ctx.$slots.default ? (openBlock(), createBlock(_component_NcAppNavigationIconCollapsible, {\n key: 3,\n active: $props.to && isActive || $props.active,\n open: $data.opened,\n onClick: withModifiers($options.toggleCollapse, [\"prevent\", \"stop\"])\n }, null, 8, [\"active\", \"open\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ], 2)\n ]),\n _: 3\n }, 16)),\n $options.canHaveChildren && !!_ctx.$slots.default ? (openBlock(), createElementBlock(\"ul\", _hoisted_7, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1);\n}\nconst NcAppNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e4d562ae\"]]);\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-Dg2d2AwS.mjs.map\n","import '../assets/NcAppNavigationSettings-HQEDobBQ.css';\nimport { defineComponent, ref, useTemplateRef, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, unref, withCtx, createTextVNode, toDisplayString, Transition, withDirectives, renderSlot, vShow } from \"vue\";\nimport { C as mdiCog, D as mdiCogOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { onClickOutside } from \"@vueuse/core\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, B as t47, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t47);\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationSettings\",\n props: {\n excludeClickOutsideSelectors: { default: () => [] },\n name: { default: () => t(\"Settings\") }\n },\n setup(__props) {\n const contentId = createElementId();\n const open = ref(false);\n const container2 = useTemplateRef(\"wrapperElement\");\n const ignore = computed(() => Array.isArray(__props.excludeClickOutsideSelectors) ? __props.excludeClickOutsideSelectors : __props.excludeClickOutsideSelectors.split(\" \"));\n onClickOutside(container2, () => {\n open.value = false;\n }, { ignore });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"wrapperElement\",\n class: normalizeClass(_ctx.$style.container)\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.$style.header)\n }, [\n createVNode(NcButton, {\n \"aria-controls\": unref(contentId),\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n class: normalizeClass(_ctx.$style.button),\n alignment: \"start\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: unref(isLegacy) ? unref(mdiCog) : unref(mdiCogOutline)\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(_ctx.name), 1)\n ]),\n _: 1\n }, 8, [\"aria-controls\", \"aria-expanded\", \"class\"])\n ], 2),\n createVNode(Transition, {\n enterActiveClass: _ctx.$style.animationActive,\n leaveActiveClass: _ctx.$style.animationActive,\n enterFromClass: _ctx.$style.animationStop,\n leaveToClass: _ctx.$style.animationStop\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(contentId),\n class: normalizeClass(_ctx.$style.content)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1), [\n [vShow, open.value]\n ])\n ]),\n _: 3\n }, 8, [\"enterActiveClass\", \"leaveActiveClass\", \"enterFromClass\", \"leaveToClass\"])\n ], 2);\n };\n }\n});\nconst container = \"_container_RFk6U\";\nconst header = \"_header_2CtDS\";\nconst button = \"_button_tAyis\";\nconst content = \"_content_--KYD\";\nconst animationActive = \"_animationActive_DAG1p\";\nconst animationStop = \"_animationStop_fWYQj\";\nconst style0 = {\n container,\n header,\n button,\n content,\n animationActive,\n animationStop\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcAppNavigationSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-CJ2z5cYU.mjs.map\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon content-copy-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\">\n <title v-if=\"title\">{{ title }}\n \n \n \n\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\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 RouteRecordRaw[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\nimport { routes } from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('/apps/activity')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nconst app = createApp(ActivityApp)\napp.use(router)\napp.mount('#content')\n"],"names":["HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","register","t30","contentSvg","navigationSvg","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","props","provide","setAppNavigation","computed","isMobile","useIsMobile","hasAppNavigation","ref","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","emit","nextTick","value","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","isLegacy34","createBlock","Teleport","createElementVNode","toDisplayString","t","withDirectives","createVNode","NcButton","withModifiers","$event","withCtx","createTextVNode","vShow","NcIconSvgWrapper","renderSlot","NcContent","_export_sfc","_createBlock","_unref","_createVNode","_component_router_view","Pe","D","h","y","u","E","ce","l","k","M","z","e","n","m","x","S","c","f","_","R","r","P","O","b","i","a","s","o","K","I","d","A","U","W","J","$","N","v","p","H","ue","j","Q","V","Z","ee","F","ne","C","ie","te","T","L","ae","le","oe","se","q","B","G","X","re","fe","g","Y","ve","me","ge","w","de","pe","he","ze","xe","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","inject","useLocalizedAppName","apps","loadState","realAppName2","id","t27","_sfc_main$1","watch","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","mdiArrowRight","NcAppContentDetailsToggle","browserStorage","getBuilder","instanceName","getCapabilities","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createCommentVNode","Fragment","NcAppContent","_hoisted_4","mergeProps","IconClose","ChevronDown","_hoisted_5","_hoisted_6","mergeModels","createElementId","__expose","__emit","modelValue","useModel","focus","select","attrs","useAttrs","inputElement","useTemplateRef","hasTrailingIcon","internalPlaceholder","isLegacy","isValidLabel","ariaDescribedby","ariaDescribedby2","options","handleInput","target","mdiCheck","mdiAlertCircleOutline","NcInputField","dateText","today","moment","yesterday","first","fullDate","formatted","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","activity","ActivityComponent","appIconSVG","POLL_INTERVAL","navigationList","route","useRoute","loading","hasMoreActivites","allActivities","lastActivityLoaded","newestActivityId","newActivitiesAvailable","pollTimer","requestController","visibility","useDocumentVisibility","useInfiniteScroll","loadActivities","groupedActivities","groups","date","headingTitle","navigationEl","signal","since","response","ncAxios","generateOcsUrl","newActivities","raw","ActivityModel","error","axios","showError","pollNewActivities","scrollToTop","onScroll","useDebounceFn","startPolling","stopPolling","onUnmounted","_toDisplayString","NcEmptyContent","NcLoadingIcon","activities","ActivityGroup","NcAppNavigationList","t20","_hoisted_1$1","open","title","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open2","handleEsc","withKeys","NcAppNavigation","ChevronUp","IconArrowRight","t14","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcActions","NcActionButton","_sfc_main$4","newVal","navigate","routerLinkHref","href","_hoisted_7","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcActions","_component_NcAppNavigationIconCollapsible","resolveDynamicComponent","normalizeProps","guardReactiveProps","isActive","NcAppNavigationItem","t47","contentId","container2","ignore","onClickOutside","mdiCog","mdiCogOutline","Transition","header","button","content","animationActive","animationStop","style0","cssModules","NcAppNavigationSettings","_mergeProps","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","navigationItem","NcCheckboxRadioSwitch","IconContentCopy","routes","ActivityAppFeed","ActivityAppNavigation","router","createRouter","createWebHistory","app","createApp","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20]} \ No newline at end of file diff --git a/src/__tests__/ActivityGroup.test.ts b/src/__tests__/ActivityGroup.test.ts new file mode 100644 index 000000000..fdeb7ea2e --- /dev/null +++ b/src/__tests__/ActivityGroup.test.ts @@ -0,0 +1,48 @@ +/*! + * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import type ActivityModel from '../models/ActivityModel.ts' + +import { shallowMount } from '@vue/test-utils' +import { describe, expect, it } from 'vitest' +import moment from '@nextcloud/moment' +import ActivityGroup from '../components/ActivityGroup.vue' + +/** + * Build a minimal activities prop. The heading only reads the datetime of the + * first entry to derive its date label, so the rest can be left out. + */ +function mountGroup(datetime: string) { + return shallowMount(ActivityGroup, { + props: { activities: [{ id: 1, datetime } as unknown as ActivityModel] }, + }) +} + +describe('ActivityGroup heading date label', () => { + it('labels today as "Today" and exposes the full date as the title', () => { + const wrapper = mountGroup(moment().toISOString()) + const heading = wrapper.get('.activity-group__heading') + + expect(heading.text()).toBe('Today') + expect(heading.attributes('title')).toBe(moment().format('LL')) + }) + + it('labels the previous day as "Yesterday"', () => { + const wrapper = mountGroup(moment().subtract(1, 'day').toISOString()) + const heading = wrapper.get('.activity-group__heading') + + expect(heading.text()).toBe('Yesterday') + expect(heading.attributes('title')).toBe(moment().subtract(1, 'day').format('LL')) + }) + + it('labels older days with the formatted date and no redundant title', () => { + const date = moment('2020-01-15T12:00:00') + const wrapper = mountGroup(date.toISOString()) + const heading = wrapper.get('.activity-group__heading') + + expect(heading.text()).toBe(date.format('LL')) + expect(heading.attributes('title')).toBeUndefined() + }) +}) diff --git a/src/components/ActivityGroup.vue b/src/components/ActivityGroup.vue index 86a472b98..d578ddf6f 100644 --- a/src/components/ActivityGroup.vue +++ b/src/components/ActivityGroup.vue @@ -4,16 +4,18 @@ --> \n","import { useSlots as ce, ref as k, computed as z, watch as B, onMounted as G, onBeforeUnmount as X, provide as g, createBlock as ve, openBlock as Y, resolveDynamicComponent as me, nextTick as T, h as fe, inject as w, getCurrentInstance as de, createElementBlock as pe, normalizeStyle as ze, unref as he, renderSlot as xe } from \"vue\";\nconst Pe = {\n __name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean, default: !1 },\n pushOtherPanes: { type: Boolean, default: !0 },\n maximizePanes: { type: Boolean, default: !0 },\n // Maximize pane on splitter double click/tap.\n rtl: { type: Boolean, default: !1 },\n // Right to left direction.\n firstSplitter: { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"resize\",\n \"resized\",\n \"pane-click\",\n \"pane-maximize\",\n \"pane-add\",\n \"pane-remove\",\n \"splitter-click\",\n \"splitter-dblclick\"\n ],\n setup(D, { emit: h }) {\n const y = h, u = D, E = ce(), l = k([]), M = z(() => l.value.reduce((e, n) => (e[~~n.id] = n) && e, {})), m = z(() => l.value.length), x = k(null), S = k(!1), c = k({\n mouseDown: !1,\n dragging: !1,\n activeSplitter: null,\n cursorOffset: 0\n // Cursor offset within the splitter.\n }), f = k({\n // Used to detect double click on touch devices.\n splitter: null,\n timeoutId: null\n }), _ = z(() => ({\n [`splitpanes splitpanes--${u.horizontal ? \"horizontal\" : \"vertical\"}`]: !0,\n \"splitpanes--dragging\": c.value.dragging\n })), R = () => {\n document.addEventListener(\"mousemove\", r, { passive: !1 }), document.addEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.addEventListener(\"touchmove\", r, { passive: !1 }), document.addEventListener(\"touchend\", P));\n }, O = () => {\n document.removeEventListener(\"mousemove\", r, { passive: !1 }), document.removeEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.removeEventListener(\"touchmove\", r, { passive: !1 }), document.removeEventListener(\"touchend\", P));\n }, b = (e, n) => {\n const t = e.target.closest(\".splitpanes__splitter\");\n if (t) {\n const { left: i, top: a } = t.getBoundingClientRect(), { clientX: s, clientY: o } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n c.value.cursorOffset = u.horizontal ? o - a : s - i;\n }\n R(), c.value.mouseDown = !0, c.value.activeSplitter = n;\n }, r = (e) => {\n c.value.mouseDown && (e.preventDefault(), c.value.dragging = !0, requestAnimationFrame(() => {\n K(I(e)), d(\"resize\", { event: e }, !0);\n }));\n }, P = (e) => {\n c.value.dragging && (window.getSelection().removeAllRanges(), d(\"resized\", { event: e }, !0)), c.value.mouseDown = !1, c.value.activeSplitter = null, setTimeout(() => {\n c.value.dragging = !1, O();\n }, 100);\n }, A = (e, n) => {\n \"ontouchstart\" in window && (e.preventDefault(), f.value.splitter === n ? (clearTimeout(f.value.timeoutId), f.value.timeoutId = null, U(e, n), f.value.splitter = null) : (f.value.splitter = n, f.value.timeoutId = setTimeout(() => f.value.splitter = null, 500))), c.value.dragging || d(\"splitter-click\", { event: e, index: n }, !0);\n }, U = (e, n) => {\n if (d(\"splitter-dblclick\", { event: e, index: n }, !0), u.maximizePanes) {\n let t = 0;\n l.value = l.value.map((i, a) => (i.size = a === n ? i.max : i.min, a !== n && (t += i.min), i)), l.value[n].size -= t, d(\"pane-maximize\", { event: e, index: n, pane: l.value[n] }), d(\"resized\", { event: e, index: n }, !0);\n }\n }, W = (e, n) => {\n d(\"pane-click\", {\n event: e,\n index: M.value[n].index,\n pane: M.value[n]\n });\n }, I = (e) => {\n const n = x.value.getBoundingClientRect(), { clientX: t, clientY: i } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n return {\n x: t - (u.horizontal ? 0 : c.value.cursorOffset) - n.left,\n y: i - (u.horizontal ? c.value.cursorOffset : 0) - n.top\n };\n }, J = (e) => {\n e = e[u.horizontal ? \"y\" : \"x\"];\n const n = x.value[u.horizontal ? \"clientHeight\" : \"clientWidth\"];\n return u.rtl && !u.horizontal && (e = n - e), e * 100 / n;\n }, K = (e) => {\n const n = c.value.activeSplitter;\n let t = {\n prevPanesSize: $(n),\n nextPanesSize: N(n),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const i = 0 + (u.pushOtherPanes ? 0 : t.prevPanesSize), a = 100 - (u.pushOtherPanes ? 0 : t.nextPanesSize), s = Math.max(Math.min(J(e), a), i);\n let o = [n, n + 1], v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n const H = v.max < 100 && s >= v.max + t.prevPanesSize, ue = p.max < 100 && s <= 100 - (p.max + N(n + 1));\n if (H || ue) {\n H ? (v.size = v.max, p.size = Math.max(100 - v.max - t.prevPanesSize - t.nextPanesSize, 0)) : (v.size = Math.max(100 - p.max - t.prevPanesSize - N(n + 1), 0), p.size = p.max);\n return;\n }\n if (u.pushOtherPanes) {\n const j = Q(t, s);\n if (!j) return;\n ({ sums: t, panesToResize: o } = j), v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n }\n v !== null && (v.size = Math.min(Math.max(s - t.prevPanesSize - t.prevReachedMinPanes, v.min), v.max)), p !== null && (p.size = Math.min(Math.max(100 - s - t.nextPanesSize - t.nextReachedMinPanes, p.min), p.max));\n }, Q = (e, n) => {\n const t = c.value.activeSplitter, i = [t, t + 1];\n return n < e.prevPanesSize + l.value[i[0]].min && (i[0] = V(t).index, e.prevReachedMinPanes = 0, i[0] < t && l.value.forEach((a, s) => {\n s > i[0] && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), e.prevPanesSize = $(i[0]), i[0] === void 0) ? (e.prevReachedMinPanes = 0, l.value[0].size = l.value[0].min, l.value.forEach((a, s) => {\n s > 0 && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), l.value[i[1]].size = 100 - e.prevReachedMinPanes - l.value[0].min - e.prevPanesSize - e.nextPanesSize, null) : n > 100 - e.nextPanesSize - l.value[i[1]].min && (i[1] = Z(t).index, e.nextReachedMinPanes = 0, i[1] > t + 1 && l.value.forEach((a, s) => {\n s > t && s < i[1] && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), e.nextPanesSize = N(i[1] - 1), i[1] === void 0) ? (e.nextReachedMinPanes = 0, l.value.forEach((a, s) => {\n s < m.value - 1 && s >= t + 1 && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), l.value[i[0]].size = 100 - e.prevPanesSize - N(i[0] - 1), null) : { sums: e, panesToResize: i };\n }, $ = (e) => l.value.reduce((n, t, i) => n + (i < e ? t.size : 0), 0), N = (e) => l.value.reduce((n, t, i) => n + (i > e + 1 ? t.size : 0), 0), V = (e) => [...l.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, Z = (e) => l.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, ee = () => {\n var n;\n const e = Array.from(((n = x.value) == null ? void 0 : n.children) || []);\n for (const t of e) {\n const i = t.classList.contains(\"splitpanes__pane\"), a = t.classList.contains(\"splitpanes__splitter\");\n !i && !a && (t.remove(), console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\"));\n }\n }, F = (e, n, t = !1) => {\n const i = e - 1, a = document.createElement(\"div\");\n a.classList.add(\"splitpanes__splitter\"), t || (a.onmousedown = (s) => b(s, i), typeof window < \"u\" && \"ontouchstart\" in window && (a.ontouchstart = (s) => b(s, i)), a.onclick = (s) => A(s, i + 1)), a.ondblclick = (s) => U(s, i + 1), n.parentNode.insertBefore(a, n);\n }, ne = (e) => {\n e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();\n }, C = () => {\n var t;\n const e = Array.from(((t = x.value) == null ? void 0 : t.children) || []);\n for (const i of e)\n i.className.includes(\"splitpanes__splitter\") && ne(i);\n let n = 0;\n for (const i of e)\n i.className.includes(\"splitpanes__pane\") && (!n && u.firstSplitter ? F(n, i, !0) : n && F(n, i), n++);\n }, ie = ({ uid: e, ...n }) => {\n const t = M.value[e];\n for (const [i, a] of Object.entries(n)) t[i] = a;\n }, te = (e) => {\n var t;\n let n = -1;\n Array.from(((t = x.value) == null ? void 0 : t.children) || []).some((i) => (i.className.includes(\"splitpanes__pane\") && n++, i.isSameNode(e.el))), l.value.splice(n, 0, { ...e, index: n }), l.value.forEach((i, a) => i.index = a), S.value && T(() => {\n C(), L({ addedPane: l.value[n] }), d(\"pane-add\", { pane: l.value[n] });\n });\n }, ae = (e) => {\n const n = l.value.findIndex((i) => i.id === e);\n l.value[n].el = null;\n const t = l.value.splice(n, 1)[0];\n l.value.forEach((i, a) => i.index = a), T(() => {\n C(), d(\"pane-remove\", { pane: t }), L({ removedPane: { ...t } });\n });\n }, L = (e = {}) => {\n !e.addedPane && !e.removedPane ? le() : l.value.some((n) => n.givenSize !== null || n.min || n.max < 100) ? oe(e) : se(), S.value && d(\"resized\");\n }, se = () => {\n const e = 100 / m.value;\n let n = 0;\n const t = [], i = [];\n for (const a of l.value)\n a.size = Math.max(Math.min(e, a.max), a.min), n -= a.size, a.size >= a.max && t.push(a.id), a.size <= a.min && i.push(a.id);\n n > 0.1 && q(n, t, i);\n }, le = () => {\n let e = 100;\n const n = [], t = [];\n let i = 0;\n for (const s of l.value)\n e -= s.size, s.givenSize !== null && i++, s.size >= s.max && n.push(s.id), s.size <= s.min && t.push(s.id);\n let a = 100;\n if (e > 0.1) {\n for (const s of l.value)\n s.givenSize === null && (s.size = Math.max(Math.min(e / (m.value - i), s.max), s.min)), a -= s.size;\n a > 0.1 && q(a, n, t);\n }\n }, oe = ({ addedPane: e, removedPane: n } = {}) => {\n let t = 100 / m.value, i = 0;\n const a = [], s = [];\n ((e == null ? void 0 : e.givenSize) ?? null) !== null && (t = (100 - e.givenSize) / (m.value - 1));\n for (const o of l.value)\n i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n if (!(Math.abs(i) < 0.1)) {\n for (const o of l.value)\n (e == null ? void 0 : e.givenSize) !== null && (e == null ? void 0 : e.id) === o.id || (o.size = Math.max(Math.min(t, o.max), o.min)), i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n i > 0.1 && q(i, a, s);\n }\n }, q = (e, n, t) => {\n let i;\n e > 0 ? i = e / (m.value - n.length) : i = e / (m.value - t.length), l.value.forEach((a, s) => {\n if (e > 0 && !n.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n } else if (!t.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n }\n }), Math.abs(e) > 0.1 && T(() => {\n S.value && console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n });\n }, d = (e, n = void 0, t = !1) => {\n const i = (n == null ? void 0 : n.index) ?? c.value.activeSplitter ?? null;\n y(e, {\n ...n,\n ...i !== null && { index: i },\n ...t && i !== null && {\n prevPane: l.value[i - (u.firstSplitter ? 1 : 0)],\n nextPane: l.value[i + (u.firstSplitter ? 0 : 1)]\n },\n panes: l.value.map((a) => ({ min: a.min, max: a.max, size: a.size }))\n });\n };\n B(() => u.firstSplitter, () => C()), G(() => {\n ee(), C(), L(), d(\"ready\"), S.value = !0;\n }), X(() => S.value = !1);\n const re = () => {\n var e;\n return fe(\n \"div\",\n { ref: x, class: _.value },\n (e = E.default) == null ? void 0 : e.call(E)\n );\n };\n return g(\"panes\", l), g(\"indexedPanes\", M), g(\"horizontal\", z(() => u.horizontal)), g(\"requestUpdate\", ie), g(\"onPaneAdd\", te), g(\"onPaneRemove\", ae), g(\"onPaneClick\", W), (e, n) => (Y(), ve(me(re)));\n }\n}, ge = {\n __name: \"pane\",\n props: {\n size: { type: [Number, String] },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n setup(D) {\n var b;\n const h = D, y = w(\"requestUpdate\"), u = w(\"onPaneAdd\"), E = w(\"horizontal\"), l = w(\"onPaneRemove\"), M = w(\"onPaneClick\"), m = (b = de()) == null ? void 0 : b.uid, x = w(\"indexedPanes\"), S = z(() => x.value[m]), c = k(null), f = z(() => {\n const r = isNaN(h.size) || h.size === void 0 ? 0 : parseFloat(h.size);\n return Math.max(Math.min(r, R.value), _.value);\n }), _ = z(() => {\n const r = parseFloat(h.minSize);\n return isNaN(r) ? 0 : r;\n }), R = z(() => {\n const r = parseFloat(h.maxSize);\n return isNaN(r) ? 100 : r;\n }), O = z(() => {\n var r;\n return `${E.value ? \"height\" : \"width\"}: ${(r = S.value) == null ? void 0 : r.size}%`;\n });\n return B(() => f.value, (r) => y({ uid: m, size: r })), B(() => _.value, (r) => y({ uid: m, min: r })), B(() => R.value, (r) => y({ uid: m, max: r })), G(() => {\n u({\n id: m,\n el: c.value,\n min: _.value,\n max: R.value,\n // The given size (useful to know the user intention).\n givenSize: h.size === void 0 ? null : f.value,\n size: f.value\n // The computed current size at any time.\n });\n }), X(() => l(m)), (r, P) => (Y(), pe(\"div\", {\n ref_key: \"paneEl\",\n ref: c,\n class: \"splitpanes__pane\",\n onClick: P[0] || (P[0] = (A) => he(M)(A, r._.uid)),\n style: ze(O.value)\n }, [\n xe(r.$slots, \"default\")\n ], 4));\n }\n};\nexport {\n ge as Pane,\n Pe as Splitpanes\n};\n","import { loadState } from \"@nextcloud/initial-state\";\nimport { inject } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction once(func) {\n let wasCalled = false;\n let result;\n return (...args) => {\n if (!wasCalled) {\n wasCalled = true;\n result = func(...args);\n }\n return result;\n };\n}\nlet realAppName = \"missing-app-name\";\ntry {\n realAppName = appName;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appName`.\");\n}\nconst APP_NAME = realAppName;\nlet realAppVersion = \"\";\ntry {\n realAppVersion = appVersion;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appVersion`.\");\n}\nconst APP_VERSION = realAppVersion;\nfunction useAppName() {\n return inject(\"appName\", APP_NAME);\n}\nconst useLocalizedAppName = once(() => {\n const apps = loadState(\"core\", \"apps\", []);\n const realAppName2 = useAppName();\n return apps.find(({ id }) => id === realAppName2)?.name ?? realAppName2;\n});\nexport {\n APP_VERSION as A,\n useAppName as a,\n useLocalizedAppName as u\n};\n//# sourceMappingURL=appName-DyNMVZpX.mjs.map\n","import '../assets/NcAppContent-BC7DBer3.css';\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Splitpanes, Pane } from \"splitpanes\";\nimport { defineComponent, watch, onMounted, onBeforeUnmount, openBlock, createBlock, unref, normalizeClass, withCtx, createVNode, resolveComponent, createElementBlock, toDisplayString, createCommentVNode, Fragment, withModifiers, withDirectives, createElementVNode, renderSlot, vShow } from \"vue\";\nimport { m as mdiArrowRight } from \"./mdi-CpchYUUV.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, G as t27, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { u as useLocalizedAppName, a as useAppName } from \"./appName-DyNMVZpX.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport \"splitpanes/dist/splitpanes.css\";\nregister(t27);\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppContentDetailsToggle\",\n setup(__props) {\n const isMobile = useIsMobile();\n watch(isMobile, toggleAppNavigationButton);\n onMounted(() => {\n toggleAppNavigationButton(isMobile.value);\n });\n onBeforeUnmount(() => {\n if (isMobile.value) {\n toggleAppNavigationButton(false);\n }\n });\n function toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : \"\";\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcButton), {\n \"aria-label\": unref(t)(\"Go back to the list\"),\n class: normalizeClass([\"app-details-toggle\", { \"app-details-toggle--mobile\": unref(isMobile) }]),\n title: unref(t)(\"Go back to the list\"),\n variant: \"tertiary\"\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n directional: \"\",\n path: unref(mdiArrowRight)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"class\", \"title\"]);\n };\n }\n});\nconst NcAppContentDetailsToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-a28923a1\"]]);\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst instanceName = getCapabilities().theming?.name ?? \"Nextcloud\";\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppContentDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\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 * or respectively the default height on horizontal-split.\n *\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 * or respectively the minimum height 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 * or respectively the maximum height 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 * 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 * Specify the `

    ` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Allow setting the page's ``\n *\n * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`.\n * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`.\n * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}`\n */\n pageTitle: {\n type: String,\n default: null\n }\n },\n emits: [\n \"update:showDetails\",\n \"resizeList\"\n ],\n setup() {\n return {\n appName: useAppName(),\n localizedAppName: useLocalizedAppName(),\n isMobile: useIsMobile(),\n isRtl\n };\n },\n data() {\n return {\n contentHeight: 0,\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-${this.appName}`;\n } catch {\n logger.info(\"[NcAppContent]: 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 realPageTitle() {\n const entries = /* @__PURE__ */ new Set();\n if (this.pageTitle) {\n for (const part of this.pageTitle.split(\" - \")) {\n entries.add(part);\n }\n } else if (this.pageHeading) {\n for (const part of this.pageHeading.split(\" - \")) {\n entries.add(part);\n }\n if (entries.size > 0) {\n entries.add(this.localizedAppName);\n }\n } else {\n return null;\n }\n entries.add(instanceName);\n return [...entries.values()].join(\" - \");\n }\n },\n watch: {\n realPageTitle: {\n immediate: true,\n handler() {\n if (this.realPageTitle !== null) {\n document.title = this.realPageTitle;\n }\n }\n },\n paneConfigKey: {\n immediate: true,\n handler() {\n this.restorePaneConfig();\n }\n }\n },\n mounted() {\n if (!this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\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.panes[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resizeList\", { size: listPaneSize });\n logger.debug(\"[NcAppContent] pane config\", { listPaneSize });\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 logger.debug(\"[NcAppContent] 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};\nconst _hoisted_1 = {\n key: 0,\n class: \"hidden-visually\"\n};\nconst _hoisted_2 = { class: \"app-content-wrapper__list\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"app-content-wrapper\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcAppContentDetailsToggle = resolveComponent(\"NcAppContentDetailsToggle\");\n const _component_Pane = resolveComponent(\"Pane\");\n const _component_Splitpanes = resolveComponent(\"Splitpanes\");\n return openBlock(), createElementBlock(\"main\", {\n id: \"app-content-vue\",\n class: normalizeClass([\"app-content no-snapper\", { \"app-content--has-list\": !!_ctx.$slots.list }])\n }, [\n $props.pageHeading ? (openBlock(), createElementBlock(\"h1\", _hoisted_1, toDisplayString($props.pageHeading), 1)) : createCommentVNode(\"\", true),\n !!_ctx.$slots.list ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n $setup.isMobile || $props.layout === \"no-split\" ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"app-content-wrapper app-content-wrapper--no-split\", {\n \"app-content-wrapper--show-details\": $props.showDetails,\n \"app-content-wrapper--show-list\": !$props.showDetails,\n \"app-content-wrapper--mobile\": $setup.isMobile\n }])\n }, [\n $props.showDetails ? (openBlock(), createBlock(_component_NcAppContentDetailsToggle, {\n key: 0,\n onClick: withModifiers($options.hideDetails, [\"stop\", \"prevent\"])\n }, null, 8, [\"onClick\"])) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ], 512), [\n [vShow, !$props.showDetails]\n ]),\n $props.showDetails ? renderSlot(_ctx.$slots, \"default\", { key: 1 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2)) : $props.layout === \"vertical-split\" || $props.layout === \"horizontal-split\" ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_Splitpanes, {\n horizontal: $props.layout === \"horizontal-split\",\n class: normalizeClass([\"default-theme\", {\n \"splitpanes--horizontal\": $props.layout === \"horizontal-split\",\n \"splitpanes--vertical\": $props.layout === \"vertical-split\"\n }]),\n rtl: $setup.isRtl,\n onResized: $options.handlePaneResize\n }, {\n default: withCtx(() => [\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-list\",\n size: $data.listPaneSize || $options.paneDefaults.list.size,\n minSize: $options.paneDefaults.list.min,\n maxSize: $options.paneDefaults.list.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"]),\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-details\",\n size: $options.detailsPaneSize,\n minSize: $options.paneDefaults.details.min,\n maxSize: $options.paneDefaults.details.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"])\n ]),\n _: 3\n }, 8, [\"horizontal\", \"class\", \"rtl\", \"onResized\"])\n ])) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true),\n !_ctx.$slots.list ? renderSlot(_ctx.$slots, \"default\", { key: 2 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcAppContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-ea1e6879\"]]);\nexport {\n NcAppContent as N\n};\n//# sourceMappingURL=NcAppContent-taTvqnvd.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconClose as I\n};\n//# sourceMappingURL=Close-CuhcJnX2.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ChevronDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronDown = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronDown as C\n};\n//# sourceMappingURL=ChevronDown-C6gc637b.mjs.map\n","import '../assets/NcInputField-DpyFJ1xw.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, warn, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, withDirectives, renderSlot, vShow, createBlock, withCtx, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"input-field__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"type\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = { class: \"input-field__icon input-field__icon--leading\" };\nconst _hoisted_5 = {\n key: 2,\n class: \"input-field__icon input-field__icon--trailing\"\n};\nconst _hoisted_6 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"NcInputField\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: \"\" },\n inputClass: { default: \"\" },\n id: { default: () => createElementId() },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n type: { default: \"text\" },\n placeholder: { default: void 0 },\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: \"\" },\n disabled: { type: Boolean },\n pill: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"trailingButtonClick\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const emit = __emit;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const inputElement = useTemplateRef(\"input\");\n const hasTrailingIcon = computed(() => props.showTrailingButton || props.success);\n const internalPlaceholder = computed(() => {\n if (props.placeholder) {\n return props.placeholder;\n }\n if (props.label) {\n return isLegacy ? props.label : \"\";\n }\n return void 0;\n });\n const isValidLabel = computed(() => {\n const isValidLabel2 = props.label || props.labelOutside;\n if (!isValidLabel2) {\n warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel2;\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (attrs[\"aria-describedby\"]) {\n ariaDescribedby2.push(String(attrs[\"aria-describedby\"]));\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function focus(options) {\n inputElement.value.focus(options);\n }\n function select() {\n inputElement.value.select();\n }\n function handleInput(event) {\n const target = event.target;\n modelValue.value = props.type === \"number\" && typeof modelValue.value === \"number\" ? parseFloat(target.value) : target.value;\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"input-field\", [{\n \"input-field--disabled\": _ctx.disabled,\n \"input-field--error\": _ctx.error,\n \"input-field--label-outside\": _ctx.labelOutside || !isValidLabel.value,\n \"input-field--leading-icon\": !!_ctx.$slots.icon,\n \"input-field--trailing-icon\": hasTrailingIcon.value,\n \"input-field--pill\": _ctx.pill,\n \"input-field--success\": _ctx.success,\n \"input-field--legacy\": unref(isLegacy)\n }, _ctx.$props.class]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"input\", mergeProps(_ctx.$attrs, {\n id: _ctx.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"input-field__input\", _ctx.inputClass],\n disabled: _ctx.disabled,\n placeholder: internalPlaceholder.value,\n type: _ctx.type,\n value: modelValue.value.toString(),\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !_ctx.labelOutside && isValidLabel.value ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"input-field__label\",\n for: _ctx.id\n }, toDisplayString(_ctx.label), 9, _hoisted_3)) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ], 512), [\n [vShow, !!_ctx.$slots.icon]\n ]),\n _ctx.showTrailingButton ? (openBlock(), createBlock(NcButton, {\n key: 1,\n class: \"input-field__trailing-button\",\n \"aria-label\": _ctx.trailingButtonLabel,\n disabled: _ctx.disabled,\n variant: \"tertiary-no-background\",\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"trailingButtonClick\", $event))\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"trailing-button-icon\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : _ctx.success || _ctx.error ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n path: unref(mdiCheck)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n path: unref(mdiAlertCircleOutline)\n }, null, 8, [\"path\"]))\n ])) : createCommentVNode(\"\", true)\n ]),\n _ctx.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${_ctx.id}-helper-text`,\n class: \"input-field__helper-text-message\"\n }, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : _ctx.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(_ctx.helperText), 1)\n ], 8, _hoisted_6)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcInputField = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8e16cbb5\"]]);\nexport {\n NcInputField as N\n};\n//# sourceMappingURL=NcInputField-C3iof9pY.mjs.map\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<section class=\"activity-group\">\n\t\t<h2 class=\"activity-group__heading\" :title=\"fullDate\">\n\t\t\t{{ dateText }}\n\t\t</h2>\n\t\t<ul>\n\t\t\t<ActivityComponent\n\t\t\t\tv-for=\"activity in activities\"\n\t\t\t\t:key=\"activity.id\"\n\t\t\t\t:activity=\"activity\"\n\t\t\t\t:showPreviews=\"true\" />\n\t\t</ul>\n\t</section>\n</template>\n\n<script setup lang=\"ts\">\nimport type ActivityModel from '../models/ActivityModel.ts'\n\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { computed } from 'vue'\nimport ActivityComponent from './ActivityComponent.vue'\n\nconst props = defineProps<{\n\tactivities: ActivityModel[]\n}>()\n\n/**\n * Title to show for the date either Today, Yesterday or the full date\n */\nconst dateText = computed(() => {\n\tconst today = moment()\n\tconst yesterday = moment().subtract(1, 'day')\n\tconst first = moment(props.activities[0].datetime)\n\n\tif (first.isSame(today, 'day')) {\n\t\treturn t('activity', 'Today')\n\t} else if (first.isSame(yesterday, 'day')) {\n\t\treturn t('activity', 'Yesterday')\n\t}\n\treturn first.format('LL')\n})\n\n/**\n * If the heading is yesterday or today, show the full date as title, otherwise no title is shown\n */\nconst fullDate = computed(() => {\n\tconst formatted = moment(props.activities[0].datetime).format('LL')\n\treturn formatted !== dateText.value ? formatted : undefined\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-group {\n\t// Separate consecutive groups. Inside the <section> (not a margin between them)\n\t// so the date stays pinned across the gap and the next date docks right as the\n\t// group ends, instead of the push feeling early.\n\tpadding-block-end: 24px;\n\n\t&__heading {\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1;\n\t\t// Match the line box to the navigation toggle so the date text lines up with\n\t\t// it vertically (centred in a clickable-area-tall row), with no extra\n\t\t// whitespace above. Sticking within the per-group <section> makes each new\n\t\t// date push the previous one up and out of the way.\n\t\tmargin-block: 0;\n\t\t// Bottom padding only gives the fade more room to complete; because the\n\t\t// heading sticks within its <section>, it does not affect when the push starts\n\t\tpadding-block: 8px 20px;\n\t\t// Match the settings-section__name heading size\n\t\tfont-size: 20px;\n\t\tline-height: var(--default-clickable-area);\n\t\t// Solid behind the text, then a long, gentle fade to transparent (onset kept\n\t\t// at ~32px from the top) so entries dissolve out gradually as they scroll under\n\t\tbackground: linear-gradient(to bottom, var(--color-main-background) 44%, transparent);\n\n\t\t// Indent the heading to clear the app navigation toggle, eased in by the content\n\t\t// width. It is the toggle clearance (--app-navigation-padding + clickable-area),\n\t\t// less the space the content already has on its left: the centring gutter\n\t\t// ((100cqi - column width) / 2, where 100cqi is the content-area width and the\n\t\t// column width is --activity-feed-max-width) and its 12px padding. A little\n\t\t// breathing room (+8px) minus that 12px padding nets to one negative grid\n\t\t// baseline (-4px). Clamped to 0, so it never affects alignment with the entries\n\t\t// once the gutter clears the toggle.\n\t\tpadding-inline-start: calc(max(\n\t\t\t0px,\n\t\t\tvar(--app-navigation-padding, 8px) + var(--default-clickable-area)\n\t\t\t\t- var(--default-grid-baseline, 4px)\n\t\t\t\t- max(0px, (100cqi - var(--activity-feed-max-width)) / 2)\n\t\t));\n\t}\n}\n</style>\n","export default \"<svg viewBox=\\\"0 0 32 32\\\" height=\\\"32\\\" width=\\\"32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xml:space=\\\"preserve\\\" style=\\\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\\\"><path d=\\\"m8 22 1-7H4l9-13h2l-1 8h6L10 22H8Z\\\" style=\\\"fill-rule:nonzero\\\" transform=\\\"matrix(1.5 0 0 1.5 -2 -2)\\\"/></svg>\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcAppContent class=\"activity-app\">\n\t\t<!-- Kept for document semantics / screen readers, but visually hidden -->\n\t\t<h1 class=\"activity-app__heading hidden-visually\">\n\t\t\t{{ headingTitle }}\n\t\t</h1>\n\t\t<NcEmptyContent\n\t\t\tv-if=\"hasMoreActivites && allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'Loading activities')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<NcEmptyContent\n\t\t\tv-else-if=\"allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'No activity yet')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"appIconSVG\" :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<div ref=\"container\" class=\"activity-app__container\" @scroll=\"onScroll\">\n\t\t\t<div class=\"activity-app__content\">\n\t\t\t\t<NcButton\n\t\t\t\t\tv-if=\"newActivitiesAvailable\"\n\t\t\t\t\tclass=\"activity-app__new-activities-indicator\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"scrollToTop\">\n\t\t\t\t\t{{ t('activity', 'New activities') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<ActivityGroup v-for=\"activities, date of groupedActivities\" :key=\"date\" :activities=\"activities\" />\n\t\t\t\t<!-- Only show if not showing the inital empty content for loading -->\n\t\t\t\t<NcLoadingIcon\n\t\t\t\t\tv-if=\"hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t\t:name=\"t('activity', 'Loading more activities')\"\n\t\t\t\t\t:size=\"64\"\n\t\t\t\t\tclass=\"activity-app__loading-indicator\" />\n\t\t\t\t<div\n\t\t\t\t\tv-else-if=\"!hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t\tclass=\"activity-app__loading-indicator\">\n\t\t\t\t\t{{ t('activity', 'No more activities.') }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</NcAppContent>\n</template>\n\n<script setup lang=\"ts\">\nimport type { IRawActivity } from '../models/types.ts'\n\nimport ncAxios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { useDebounceFn, useDocumentVisibility, useInfiniteScroll } from '@vueuse/core'\nimport axios from 'axios'\nimport { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'\nimport NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport ActivityGroup from '../components/ActivityGroup.vue'\nimport appIconSVG from '../../img/activity-dark.svg?raw'\nimport ActivityModel from '../models/ActivityModel.ts'\nimport logger from '../utils/logger.ts'\n\ninterface INavigationEntry {\n\tid: string\n\ticon?: string\n\tname: string\n\turl: string\n}\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * The currently active activities filter\n\t */\n\tfilter?: string\n}>(), {\n\t// default to 'all'\n\tfilter: 'all',\n})\n\nconst navigationList = loadState<INavigationEntry[]>(appName, 'navigationList')\n\nconst route = useRoute()\n\n/**\n * Whether activities are currently being loaded\n */\nconst loading = ref(false)\n\n/**\n * Whether more activites can be loaded\n */\nconst hasMoreActivites = ref(true)\n\n/**\n * All loaded actvities\n */\nconst allActivities = ref<ActivityModel[]>([])\n\n/**\n * Last loaded activity (oldest) for backward pagination\n * This is set by the backend in the API result as a header value for pagination\n */\nconst lastActivityLoaded = ref<string>()\n\n/**\n * First loaded activity ID (newest) for polling new activities\n */\nconst newestActivityId = ref<number>()\n\n/**\n * Whether new activities have been prepended while the user was scrolled\n * away from the top — used to show the \"New activities\" navigation button\n */\nconst newActivitiesAvailable = ref(false)\n\n/**\n * Polling interval in milliseconds\n */\nconst POLL_INTERVAL = 30000\n\n/**\n * Polling timer reference (setTimeout-based for self-scheduling)\n */\nlet pollTimer: ReturnType<typeof setTimeout> | undefined\n\n/**\n * AbortController for in-flight load and poll requests.\n * Replaced on filter change and aborted on unmount so stale responses\n * are never applied to the wrong filter's state.\n */\nlet requestController = new AbortController()\n\n/**\n * Document visibility for pausing polling when tab is hidden\n */\nconst visibility = useDocumentVisibility()\n\n/**\n * Container element for the activites\n */\nconst container = ref<HTMLDivElement>()\n\n/**\n * Use infinite scroll for the container and load activities when reaching the bottom\n */\nuseInfiniteScroll(container, async () => {\n\tif (hasMoreActivites.value) {\n\t\tawait loadActivities()\n\t}\n}, {\n\tdistance: 100,\n})\n\n/**\n * Activities grouped by date\n */\nconst groupedActivities = computed(() => {\n\tconst groups = {} as Record<string, ActivityModel[]>\n\tfor (const activity of allActivities.value) {\n\t\tconst date = moment(activity.datetime).format('LL')\n\t\tif (groups[date] === undefined) {\n\t\t\tgroups[date] = [activity]\n\t\t} else {\n\t\t\tgroups[date].push(activity)\n\t\t}\n\t}\n\treturn groups\n})\n\nconst headingTitle = computed(() => {\n\treturn navigationList.find((navigationEl) => navigationEl.id === route.params.filter).name\n})\n\n/**\n * Load activities for current filter or load more if already loaded\n */\nasync function loadActivities() {\n\t// Skip if already loading\n\tif (loading.value) {\n\t\treturn\n\t}\n\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = lastActivityLoaded.value ?? '0'\n\t\tloading.value = true\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}', { filter: props.filter, since }), { signal })\n\t\tif (signal.aborted) {\n\t\t\treturn\n\t\t}\n\t\tconst newActivities = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\tallActivities.value.push(...newActivities)\n\t\tlastActivityLoaded.value = response.headers['x-activity-last-given']\n\t\thasMoreActivites.value = true\n\n\t\t// Track the newest activity ID for polling\n\t\tif (newestActivityId.value === undefined && newActivities.length > 0) {\n\t\t\tnewestActivityId.value = newActivities[0].id\n\t\t}\n\n\t\tnextTick(async () => {\n\t\t\tif (container.value && container.value.clientHeight === container.value.scrollHeight) {\n\t\t\t\t// Container is non-scrollable, thus useInfiniteScroll isn't triggered\n\t\t\t\t// Do it manually to ensure there are no activities to fetch anymore\n\t\t\t\tawait loadActivities()\n\t\t\t}\n\t\t})\n\t} catch (error) {\n\t\tif (axios.isCancel(error)) {\n\t\t\treturn\n\t\t}\n\t\t// Skip if no activities are available\n\t\tif (axios.isAxiosError(error) && error.response?.status === 304) {\n\t\t\thasMoreActivites.value = false\n\t\t\treturn\n\t\t}\n\n\t\tlogger.error(error as Error)\n\t\tshowError(t('activity', 'Could not load activities'))\n\t} finally {\n\t\t// Don't clear the loading flag if this request was superseded — the\n\t\t// replacement loadActivities() call has already set it to true.\n\t\tif (!signal.aborted) {\n\t\t\tloading.value = false\n\t\t}\n\t}\n}\n\n/**\n * Poll for new activities and either prepend them directly (when near top)\n * or queue them so the user can load them without disrupting their scroll position\n */\nasync function pollNewActivities() {\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = String(newestActivityId.value ?? 0)\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}&sort=asc', { filter: props.filter, since }), { signal })\n\t\tif (!signal.aborted && response.data.ocs.data.length > 0) {\n\t\t\tconst newActivities: ActivityModel[] = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\t\t// Sort newest first for prepending\n\t\t\tnewActivities.sort((a: ActivityModel, b: ActivityModel) => b.id - a.id)\n\t\t\tnewestActivityId.value = newActivities[0]!.id\n\t\t\tallActivities.value.unshift(...newActivities)\n\n\t\t\t// Show the navigation button only when the user is not already at the top\n\t\t\t// (browser scroll anchoring keeps their reading position stable on prepend)\n\t\t\tconst isNearTop = !container.value || container.value.scrollTop < 50\n\t\t\tif (!isNearTop) {\n\t\t\t\tnewActivitiesAvailable.value = true\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\t// Silently ignore cancellations and polling errors (304 = no new activities)\n\t\tif (!axios.isCancel(error) && (!axios.isAxiosError(error) || error.response?.status !== 304)) {\n\t\t\tlogger.error(error as Error)\n\t\t}\n\t}\n\n\t// Self-schedule only if polling wasn't stopped while the request was in flight\n\tif (pollTimer !== undefined) {\n\t\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n\t}\n}\n\n/**\n * Scroll to the top of the container to reveal the newly prepended activities\n */\nfunction scrollToTop() {\n\tnewActivitiesAvailable.value = false\n\tcontainer.value?.scrollTo({ top: 0, behavior: 'smooth' })\n}\n\n/**\n * Hide the \"New activities\" button once the user scrolls back near the top\n */\nconst onScroll = useDebounceFn(() => {\n\tif (container.value && container.value.scrollTop < 50) {\n\t\tnewActivitiesAvailable.value = false\n\t}\n}, 100)\n\n/**\n *\n */\nfunction startPolling() {\n\tstopPolling()\n\t// Use a sentinel value so the self-scheduling logic in pollNewActivities\n\t// knows polling is active even before the first tick fires\n\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n}\n\n/**\n *\n */\nfunction stopPolling() {\n\tif (pollTimer !== undefined) {\n\t\tclearTimeout(pollTimer)\n\t\tpollTimer = undefined\n\t}\n}\n\n/**\n * Load activities when mounted and start polling\n */\nonMounted(() => {\n\tloadActivities()\n\tstartPolling()\n})\n\nonUnmounted(() => {\n\tstopPolling()\n\trequestController.abort()\n})\n\nwatch(visibility, (value) => {\n\tif (value === 'hidden') {\n\t\tstopPolling()\n\t} else {\n\t\tstartPolling()\n\t}\n})\n\n/**\n * Reload activities when filter changed\n */\nwatch(props, () => {\n\trequestController.abort()\n\trequestController = new AbortController()\n\tallActivities.value = []\n\tnewActivitiesAvailable.value = false\n\tlastActivityLoaded.value = undefined\n\tnewestActivityId.value = undefined\n\thasMoreActivites.value = true\n\tloadActivities()\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-app {\n\t// Max width of the readable content column. Shared with the date heading indent\n\t// calc in ActivityGroup.vue (inherited), so both stay in sync from one source.\n\t--activity-feed-max-width: 924px;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\t// Query container so the date headings can respond to the actual content-area\n\t// width (which the open app navigation shrinks), rather than the raw viewport\n\tcontainer: activity-feed / inline-size;\n\n\t&__empty-content {\n\t\theight: 100%;\n\t}\n\n\t&__loading-indicator {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tjustify-self: center;\n\t\tmargin-block: 30px 6px;\n\t\ttext-align: center;\n\t}\n\n\t&__container {\n\t\t// Full width so the scrollbar sits at the edge of app-content\n\t\theight: 100%;\n\t\toverflow-y: scroll;\n\t}\n\n\t&__content {\n\t\t// Clamp the readable column and centre it within the full-width scroller\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\twidth: min(100%, var(--activity-feed-max-width));\n\t\tmax-width: var(--activity-feed-max-width);\n\t\tmargin: 0 auto;\n\t\tpadding-inline: 12px;\n\t}\n\n\t&__new-activities-indicator {\n\t\tposition: sticky;\n\t\ttop: 8px;\n\t\talign-self: center;\n\t\tz-index: 10;\n\t\tpadding: 6px 16px;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tborder: none;\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tbox-shadow: 0 2px 8px var(--color-box-shadow);\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t}\n}\n</style>\n","import '../assets/NcAppNavigationList--36j6Acm.css';\nimport { openBlock, createElementBlock, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nconst _hoisted_1 = { class: \"app-navigation-list\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"ul\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n}\nconst NcAppNavigationList = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-d72957ed\"]]);\nexport {\n NcAppNavigationList as N\n};\n//# sourceMappingURL=NcAppNavigationList-CGSWabRB.mjs.map\n","import '../assets/NcAppNavigation-ykL7Wz6L.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, createVNode, unref, withCtx, inject, warn, useTemplateRef, ref, watchEffect, watch, onMounted, onUnmounted, normalizeClass, createElementVNode, withKeys, renderSlot, createBlock, createCommentVNode } from \"vue\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { N as NcAppNavigationList } from \"./NcAppNavigationList-CGSWabRB.mjs\";\nimport { G as mdiMenuOpen, H as mdiMenu } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, P as t20, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY } from \"./constants-Ciwvl5xb.mjs\";\nregister(t20);\nconst _hoisted_1$1 = { class: \"app-navigation-toggle-wrapper\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationToggle\",\n props: {\n \"open\": { type: Boolean, ...{ required: true } },\n \"openModifiers\": {}\n },\n emits: [\"update:open\"],\n setup(__props) {\n const open = useModel(__props, \"open\");\n const title = computed(() => open.value ? t(\"Close navigation\") : t(\"Open navigation\"));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n createVNode(unref(NcButton), {\n class: \"app-navigation-toggle\",\n \"aria-controls\": \"app-navigation-vue\",\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n \"aria-label\": title.value,\n title: title.value,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: open.value ? unref(mdiMenuOpen) : unref(mdiMenu)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-expanded\", \"aria-label\", \"title\"])\n ]);\n };\n }\n});\nconst NcAppNavigationToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-5a15295d\"]]);\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"inert\"];\nconst _hoisted_2 = { class: \"app-navigation__search\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigation\",\n props: {\n ariaLabel: {},\n ariaLabelledby: {}\n },\n setup(__props) {\n const props = __props;\n let focusTrap;\n const setHasAppNavigation = inject(\n HAS_APP_NAVIGATION_KEY,\n () => warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n false\n );\n const appNavigationContainerElement = useTemplateRef(\"appNavigationContainer\");\n const isMobile = useIsMobile();\n const open = ref(!isMobile.value);\n watchEffect(() => {\n if (!props.ariaLabel && !props.ariaLabelledby) {\n warn(\"NcAppNavigation requires either `ariaLabel` or `ariaLabelledby` to be set for accessibility.\");\n }\n });\n watch(isMobile, () => {\n open.value = !isMobile.value;\n });\n watch(open, () => {\n toggleFocusTrap();\n });\n onMounted(() => {\n setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: open.value\n });\n focusTrap = createFocusTrap(appNavigationContainerElement.value, {\n allowOutsideClick: true,\n clickOutsideDeactivates: () => {\n if (isMobile.value) {\n focusTrap.deactivate({ returnFocus: false });\n toggleNavigation(false);\n }\n return false;\n },\n fallbackFocus: appNavigationContainerElement.value,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n toggleFocusTrap();\n });\n onUnmounted(() => {\n setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n focusTrap.deactivate();\n });\n function toggleNavigation(state) {\n if (open.value === state) {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n return;\n }\n open.value = state === void 0 ? !open.value : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n }, 1.5 * animationLength);\n }\n function toggleNavigationByEventBus({ open: open2 }) {\n return toggleNavigation(open2);\n }\n function toggleFocusTrap() {\n if (isMobile.value && open.value) {\n focusTrap.activate();\n } else {\n focusTrap.deactivate();\n }\n }\n function handleEsc() {\n if (isMobile.value) {\n toggleNavigation(false);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"appNavigationContainer\",\n class: normalizeClass([\"app-navigation\", {\n \"app-navigation--closed\": !open.value,\n \"app-navigation--legacy\": unref(isLegacy34)\n }])\n }, [\n createElementVNode(\"nav\", {\n id: \"app-navigation-vue\",\n \"aria-hidden\": open.value ? \"false\" : \"true\",\n \"aria-label\": _ctx.ariaLabel || void 0,\n \"aria-labelledby\": _ctx.ariaLabelledby || void 0,\n class: \"app-navigation__content\",\n inert: !open.value || void 0,\n onKeydown: withKeys(handleEsc, [\"esc\"])\n }, [\n createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"search\", {}, void 0, true)\n ]),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation__body\", { \"app-navigation__body--no-list\": !_ctx.$slots.list }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2),\n _ctx.$slots.list ? (openBlock(), createBlock(NcAppNavigationList, {\n key: 0,\n class: \"app-navigation__list\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", {}, void 0, true)\n ], 40, _hoisted_1),\n createVNode(NcAppNavigationToggle, {\n open: open.value,\n \"onUpdate:open\": toggleNavigation\n }, null, 8, [\"open\"])\n ], 2);\n };\n }\n});\nconst NcAppNavigation = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-3b634fbd\"]]);\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-Bb54U_qJ.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronUp = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-ChH8oB7p.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconArrowRight = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconArrowRight as I\n};\n//# sourceMappingURL=ArrowRight-B1ncAhus.mjs.map\n","import '../assets/NcInputConfirmCancel-BEmwC87z.css';\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { r as register, k as t14, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, withKeys, withDirectives, vModelText, createVNode, withCtx } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t14);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n IconArrowRight,\n IconClose,\n NcButton\n },\n setup() {\n return { isLegacy34 };\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 /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n modelValue: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"cancel\",\n \"confirm\",\n \"update:modelValue\"\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.modelValue;\n },\n set(newValue) {\n this.$emit(\"update:modelValue\", 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};\nconst _hoisted_1 = [\"placeholder\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"app-navigation-input-confirm\", { \"app-navigation-input-confirm--legacy\": $setup.isLegacy34 }])\n }, [\n createElementVNode(\"form\", {\n onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.confirm && $options.confirm(...args), [\"prevent\"])),\n onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.cancel && $options.cancel(...args), [\"exact\", \"stop\", \"prevent\"]), [\"esc\"])),\n onClick: _cache[3] || (_cache[3] = withModifiers(() => {\n }, [\"stop\", \"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $options.valueModel = $event),\n type: \"text\",\n class: \"app-navigation-input-confirm__input\",\n placeholder: $props.placeholder\n }, null, 8, _hoisted_1), [\n [vModelText, $options.valueModel]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelConfirm,\n type: \"submit\",\n variant: \"primary\",\n onClick: withModifiers($options.confirm, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelCancel,\n type: \"reset\",\n variant: $props.primary ? \"primary\" : \"tertiary\",\n onClick: withModifiers($options.cancel, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"variant\", \"onClick\"])\n ], 32)\n ], 2);\n}\nconst NcInputConfirmCancel = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-a8724c7f\"]]);\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-BL_BkfXh.mjs.map\n","import { defineComponent } from \"vue\";\nconst _sfc_main = defineComponent({\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 render() {\n return this.vnodes || this.$slots?.default?.({});\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map\n","import '../assets/NcAppNavigationItem-DF81QkEz.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps, withKeys, withModifiers, renderSlot, createVNode, createTextVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-C6gc637b.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-ChH8oB7p.mjs\";\nimport { r as register, N as t21, a as t, b as t51, O as t23 } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-BL_BkfXh.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BJKJG2zO.mjs\";\nimport { N as NcActions } from \"./NcActions-fCXSb_0o.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-CInLzPtA.mjs\";\nimport { _ as _sfc_main$4 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nconst _sfc_main$3 = {\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};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { 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\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pencil-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst Pencil = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\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};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { 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\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon undo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst Undo = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nregister(t21);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n setup() {\n return { isLegacy34 };\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n required: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: 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};\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ChevronUp = resolveComponent(\"ChevronUp\");\n const _component_ChevronDown = resolveComponent(\"ChevronDown\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n return openBlock(), createBlock(_component_NcButton, {\n class: normalizeClass([\"icon-collapse\", {\n \"icon-collapse--active\": $props.active,\n \"icon-collapse--open\": $props.open\n }]),\n \"aria-label\": $options.labelButton,\n variant: $props.active && $setup.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\",\n onClick: $options.onClick\n }, {\n icon: withCtx(() => [\n $props.open ? (openBlock(), createBlock(_component_ChevronUp, {\n key: 0,\n size: 20\n })) : (openBlock(), createBlock(_component_ChevronDown, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"class\", \"aria-label\", \"variant\", \"onClick\"]);\n}\nconst NcAppNavigationIconCollapsible = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-acf5ed2f\"]]);\nregister(t23, t51);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes: _sfc_main$4,\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: () => createElementId(),\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 `<router-link />` that points to that route.\n * By leaving this blank, the root element will be a `<li>`.\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 * 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 isLegacy34\n };\n },\n data() {\n return {\n actionsBoundariesElement: void 0,\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 };\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 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 * 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};\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"aria-current\", \"aria-description\", \"aria-expanded\", \"href\", \"target\", \"title\", \"onClick\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"editingContainer\"\n};\nconst _hoisted_4 = {\n key: 1,\n class: \"app-navigation-entry__deleted\"\n};\nconst _hoisted_5 = { class: \"app-navigation-entry__deleted-description\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"app-navigation-entry__counter-wrapper\"\n};\nconst _hoisted_7 = {\n key: 0,\n class: \"app-navigation-entry__children\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcInputConfirmCancel = resolveComponent(\"NcInputConfirmCancel\");\n const _component_Pencil = resolveComponent(\"Pencil\");\n const _component_NcActionButton = resolveComponent(\"NcActionButton\");\n const _component_Undo = resolveComponent(\"Undo\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcAppNavigationIconCollapsible = resolveComponent(\"NcAppNavigationIconCollapsible\");\n return openBlock(), createElementBlock(\"li\", {\n id: $props.id,\n class: normalizeClass([{\n \"app-navigation-entry--opened\": $data.opened,\n \"app-navigation-entry--pinned\": $props.pinned,\n \"app-navigation-entry--collapsible\": $props.allowCollapse && !!_ctx.$slots.default\n }, \"app-navigation-entry-wrapper\"])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent($options.isRouterLink ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$options.isRouterLink && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry\", {\n \"app-navigation-entry--editing\": $data.editingActive,\n \"app-navigation-entry--deleted\": $props.undo,\n \"app-navigation-entry--legacy\": $setup.isLegacy34,\n active: $props.to && isActive || $props.active\n }])\n }, [\n !$props.undo ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n class: \"app-navigation-entry-link\",\n \"aria-current\": $props.active || $props.to && isActive ? \"page\" : void 0,\n \"aria-description\": $props.ariaDescription,\n \"aria-expanded\": !!_ctx.$slots.default ? $data.opened.toString() : void 0,\n href: $props.href || routerLinkHref || \"#\",\n target: $options.isExternal($props.href) ? \"_blank\" : void 0,\n title: $props.title || $props.name,\n onBlur: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onFocus: _cache[2] || (_cache[2] = (...args) => $options.handleFocus && $options.handleFocus(...args)),\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.handleTab && $options.handleTab(...args), [\"exact\"]), [\"tab\"]))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry-icon\", { [$props.icon]: $props.icon }])\n }, [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : renderSlot(_ctx.$slots, \"icon\", {\n key: 1,\n active: $props.active || $props.to && isActive\n }, void 0, true)\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass([\"app-navigation-entry__name\", { \"hidden-visually\": $data.editingActive }])\n }, toDisplayString($props.name), 3),\n $data.editingActive ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_NcInputConfirmCancel, {\n ref: \"editingInput\",\n modelValue: $data.editingValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $data.editingValue = $event),\n placeholder: $props.editPlaceholder !== \"\" ? $props.editPlaceholder : $props.name,\n primary: $props.to && isActive || $props.active,\n onCancel: $options.cancelEditing,\n onConfirm: $options.handleEditingDone\n }, null, 8, [\"modelValue\", \"placeholder\", \"primary\", \"onCancel\", \"onConfirm\"])\n ])) : createCommentVNode(\"\", true)\n ], 40, _hoisted_2)) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createElementBlock(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, toDisplayString($props.name), 1)\n ])) : createCommentVNode(\"\", true),\n (!!_ctx.$slots.actions || !!_ctx.$slots.counter || $props.editable || $props.undo) && !$data.editingActive ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass([\"app-navigation-entry__utils\", { \"app-navigation-entry__utils--display-actions\": $props.forceDisplayActions || $data.menuOpenLocalValue || $props.menuOpen }])\n }, [\n !!_ctx.$slots.counter ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"counter\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n !!_ctx.$slots.actions || $props.editable && !$data.editingActive || $props.undo ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n class: \"app-navigation-entry__actions\",\n container: \"#app-navigation-vue\",\n boundariesElement: $data.actionsBoundariesElement,\n inline: $props.inlineActions,\n placement: $props.menuPlacement,\n open: $props.menuOpen,\n forceMenu: $props.forceMenu,\n defaultIcon: $props.menuIcon,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onMenuToggle\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n $props.editable && !$data.editingActive ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 0,\n \"aria-label\": $options.editButtonAriaLabel,\n onClick: $options.handleEdit\n }, {\n icon: withCtx(() => [\n createVNode(_component_Pencil, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString($props.editLabel), 1)\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 1,\n \"aria-label\": $options.undoButtonAriaLabel,\n onClick: $options.handleUndo\n }, {\n icon: withCtx(() => [\n createVNode(_component_Undo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"boundariesElement\", \"inline\", \"placement\", \"open\", \"forceMenu\", \"defaultIcon\", \"onUpdate:open\"])) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true),\n $props.allowCollapse && !!_ctx.$slots.default ? (openBlock(), createBlock(_component_NcAppNavigationIconCollapsible, {\n key: 3,\n active: $props.to && isActive || $props.active,\n open: $data.opened,\n onClick: withModifiers($options.toggleCollapse, [\"prevent\", \"stop\"])\n }, null, 8, [\"active\", \"open\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ], 2)\n ]),\n _: 3\n }, 16)),\n $options.canHaveChildren && !!_ctx.$slots.default ? (openBlock(), createElementBlock(\"ul\", _hoisted_7, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1);\n}\nconst NcAppNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e4d562ae\"]]);\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-Dg2d2AwS.mjs.map\n","import '../assets/NcAppNavigationSettings-HQEDobBQ.css';\nimport { defineComponent, ref, useTemplateRef, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, unref, withCtx, createTextVNode, toDisplayString, Transition, withDirectives, renderSlot, vShow } from \"vue\";\nimport { C as mdiCog, D as mdiCogOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { onClickOutside } from \"@vueuse/core\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, B as t47, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t47);\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationSettings\",\n props: {\n excludeClickOutsideSelectors: { default: () => [] },\n name: { default: () => t(\"Settings\") }\n },\n setup(__props) {\n const contentId = createElementId();\n const open = ref(false);\n const container2 = useTemplateRef(\"wrapperElement\");\n const ignore = computed(() => Array.isArray(__props.excludeClickOutsideSelectors) ? __props.excludeClickOutsideSelectors : __props.excludeClickOutsideSelectors.split(\" \"));\n onClickOutside(container2, () => {\n open.value = false;\n }, { ignore });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"wrapperElement\",\n class: normalizeClass(_ctx.$style.container)\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.$style.header)\n }, [\n createVNode(NcButton, {\n \"aria-controls\": unref(contentId),\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n class: normalizeClass(_ctx.$style.button),\n alignment: \"start\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: unref(isLegacy) ? unref(mdiCog) : unref(mdiCogOutline)\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(_ctx.name), 1)\n ]),\n _: 1\n }, 8, [\"aria-controls\", \"aria-expanded\", \"class\"])\n ], 2),\n createVNode(Transition, {\n enterActiveClass: _ctx.$style.animationActive,\n leaveActiveClass: _ctx.$style.animationActive,\n enterFromClass: _ctx.$style.animationStop,\n leaveToClass: _ctx.$style.animationStop\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(contentId),\n class: normalizeClass(_ctx.$style.content)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1), [\n [vShow, open.value]\n ])\n ]),\n _: 3\n }, 8, [\"enterActiveClass\", \"leaveActiveClass\", \"enterFromClass\", \"leaveToClass\"])\n ], 2);\n };\n }\n});\nconst container = \"_container_RFk6U\";\nconst header = \"_header_2CtDS\";\nconst button = \"_button_tAyis\";\nconst content = \"_content_--KYD\";\nconst animationActive = \"_animationActive_DAG1p\";\nconst animationStop = \"_animationStop_fWYQj\";\nconst style0 = {\n container,\n header,\n button,\n content,\n animationActive,\n animationStop\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcAppNavigationSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-CJ2z5cYU.mjs.map\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon content-copy-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\">\n <title v-if=\"title\">{{ title }}\n \n \n \n\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\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 RouteRecordRaw[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\nimport { routes } from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('/apps/activity')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nconst app = createApp(ActivityApp)\napp.use(router)\napp.mount('#content')\n"],"names":["HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","register","t30","contentSvg","navigationSvg","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","props","provide","setAppNavigation","computed","isMobile","useIsMobile","hasAppNavigation","ref","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","emit","nextTick","value","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","isLegacy34","createBlock","Teleport","createElementVNode","toDisplayString","t","withDirectives","createVNode","NcButton","withModifiers","$event","withCtx","createTextVNode","vShow","NcIconSvgWrapper","renderSlot","NcContent","_export_sfc","_createBlock","_unref","_createVNode","_component_router_view","Pe","D","h","y","u","E","ce","l","k","M","z","e","n","m","x","S","c","f","_","R","r","P","O","b","i","a","s","o","K","I","d","A","U","W","J","$","N","v","p","H","ue","j","Q","V","Z","ee","F","ne","C","ie","te","T","L","ae","le","oe","se","q","B","G","X","re","fe","g","Y","ve","me","ge","w","de","pe","he","ze","xe","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","inject","useLocalizedAppName","apps","loadState","realAppName2","id","t27","_sfc_main$1","watch","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","mdiArrowRight","NcAppContentDetailsToggle","browserStorage","getBuilder","instanceName","getCapabilities","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createCommentVNode","Fragment","NcAppContent","_hoisted_4","mergeProps","IconClose","ChevronDown","_hoisted_5","_hoisted_6","mergeModels","createElementId","__expose","__emit","modelValue","useModel","focus","select","attrs","useAttrs","inputElement","useTemplateRef","hasTrailingIcon","internalPlaceholder","isLegacy","isValidLabel","ariaDescribedby","ariaDescribedby2","options","handleInput","target","mdiCheck","mdiAlertCircleOutline","NcInputField","dateText","today","moment","yesterday","first","fullDate","formatted","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","activity","ActivityComponent","appIconSVG","POLL_INTERVAL","navigationList","route","useRoute","loading","hasMoreActivites","allActivities","lastActivityLoaded","newestActivityId","newActivitiesAvailable","pollTimer","requestController","visibility","useDocumentVisibility","useInfiniteScroll","loadActivities","groupedActivities","groups","date","headingTitle","navigationEl","signal","since","response","ncAxios","generateOcsUrl","newActivities","raw","ActivityModel","error","axios","showError","pollNewActivities","scrollToTop","onScroll","useDebounceFn","startPolling","stopPolling","onUnmounted","_toDisplayString","NcEmptyContent","NcLoadingIcon","activities","ActivityGroup","NcAppNavigationList","t20","_hoisted_1$1","open","title","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open2","handleEsc","withKeys","NcAppNavigation","ChevronUp","IconArrowRight","t14","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcActions","NcActionButton","_sfc_main$4","newVal","navigate","routerLinkHref","href","_hoisted_7","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcActions","_component_NcAppNavigationIconCollapsible","resolveDynamicComponent","normalizeProps","guardReactiveProps","isActive","NcAppNavigationItem","t47","contentId","container2","ignore","onClickOutside","mdiCog","mdiCogOutline","Transition","header","button","content","animationActive","animationStop","style0","cssModules","NcAppNavigationSettings","_mergeProps","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","navigationItem","NcCheckboxRadioSwitch","IconContentCopy","routes","ActivityAppFeed","ActivityAppNavigation","router","createRouter","createWebHistory","app","createApp","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20]} \ No newline at end of file +{"version":3,"file":"activity-app.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/constants-Ciwvl5xb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcContent-Dd15hgck.mjs","../src/views/ActivityApp.vue","../node_modules/splitpanes/dist/splitpanes.es.js","../node_modules/@nextcloud/vue/dist/chunks/appName-DyNMVZpX.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppContent-taTvqnvd.mjs","../node_modules/@nextcloud/vue/dist/chunks/Close-CuhcJnX2.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-C6gc637b.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-C3iof9pY.mjs","../src/components/ActivityGroup.vue","../img/activity-dark.svg?raw","../src/views/ActivityAppFeed.vue","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationList-CGSWabRB.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigation-Bb54U_qJ.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-ChH8oB7p.mjs","../node_modules/@nextcloud/vue/dist/chunks/ArrowRight-B1ncAhus.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-BL_BkfXh.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-Dg2d2AwS.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-CJ2z5cYU.mjs","../node_modules/vue-material-design-icons/ContentCopy.vue","../src/views/ActivityAppNavigation.vue","../src/routes.ts","../src/app.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst HAS_APP_NAVIGATION_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:setHasAppNavigation\");\nconst CONTENT_SELECTOR_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:selector\");\nexport {\n CONTENT_SELECTOR_KEY as C,\n HAS_APP_NAVIGATION_KEY as H\n};\n//# sourceMappingURL=constants-Ciwvl5xb.mjs.map\n","import '../assets/NcContent-DXc6geEw.css';\nimport { defineComponent, provide, computed, ref, onBeforeMount, openBlock, createElementBlock, normalizeClass, unref, createBlock, Teleport, createElementVNode, toDisplayString, withDirectives, createVNode, withModifiers, withCtx, createTextVNode, vShow, renderSlot, nextTick } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, H as t30, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY, C as CONTENT_SELECTOR_KEY } from \"./constants-Ciwvl5xb.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t30);\nconst contentSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst navigationSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst _hoisted_1 = { class: \"vue-skip-actions__container\" };\nconst _hoisted_2 = { class: \"vue-skip-actions__headline\" };\nconst _hoisted_3 = { class: \"vue-skip-actions__buttons\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcContent\",\n props: {\n appName: {}\n },\n setup(__props) {\n const props = __props;\n provide(HAS_APP_NAVIGATION_KEY, setAppNavigation);\n provide(CONTENT_SELECTOR_KEY, \"#content-vue\");\n provide(\"appName\", computed(() => props.appName));\n const isMobile = useIsMobile();\n const hasAppNavigation = ref(false);\n const currentFocus = ref();\n const currentImage = computed(() => currentFocus.value === \"navigation\" ? navigationSvg : contentSvg);\n onBeforeMount(() => {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n });\n function openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n }\n function setAppNavigation(value) {\n hasAppNavigation.value = value;\n if (!currentFocus.value) {\n currentFocus.value = \"navigation\";\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: \"content-vue\",\n class: normalizeClass([\"content\", [`app-${_ctx.appName.toLowerCase()}`, { \"content--legacy\": unref(isLegacy34) }]])\n }, [\n (openBlock(), createBlock(Teleport, { to: \"#skip-actions\" }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, toDisplayString(unref(t)(\"Keyboard navigation help\")), 1),\n createElementVNode(\"div\", _hoisted_3, [\n withDirectives(createVNode(NcButton, {\n href: \"#app-navigation-vue\",\n variant: \"tertiary\",\n onClick: withModifiers(openAppNavigation, [\"prevent\"]),\n onFocusin: _cache[0] || (_cache[0] = ($event) => currentFocus.value = \"navigation\"),\n onMouseover: _cache[1] || (_cache[1] = ($event) => currentFocus.value = \"navigation\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to app navigation\")), 1)\n ]),\n _: 1\n }, 512), [\n [vShow, hasAppNavigation.value]\n ]),\n createVNode(NcButton, {\n href: \"#app-content-vue\",\n variant: \"tertiary\",\n onFocusin: _cache[2] || (_cache[2] = ($event) => currentFocus.value = \"content\"),\n onMouseover: _cache[3] || (_cache[3] = ($event) => currentFocus.value = \"content\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to main content\")), 1)\n ]),\n _: 1\n })\n ]),\n withDirectives(createVNode(NcIconSvgWrapper, {\n class: \"vue-skip-actions__image\",\n svg: currentImage.value,\n size: \"auto\"\n }, null, 8, [\"svg\"]), [\n [vShow, !unref(isMobile)]\n ])\n ])\n ])),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2);\n };\n }\n});\nconst NcContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-91d07631\"]]);\nexport {\n NcContent as N\n};\n//# sourceMappingURL=NcContent-Dd15hgck.mjs.map\n","\n\n\n\n\n","import { useSlots as ce, ref as k, computed as z, watch as B, onMounted as G, onBeforeUnmount as X, provide as g, createBlock as ve, openBlock as Y, resolveDynamicComponent as me, nextTick as T, h as fe, inject as w, getCurrentInstance as de, createElementBlock as pe, normalizeStyle as ze, unref as he, renderSlot as xe } from \"vue\";\nconst Pe = {\n __name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean, default: !1 },\n pushOtherPanes: { type: Boolean, default: !0 },\n maximizePanes: { type: Boolean, default: !0 },\n // Maximize pane on splitter double click/tap.\n rtl: { type: Boolean, default: !1 },\n // Right to left direction.\n firstSplitter: { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"resize\",\n \"resized\",\n \"pane-click\",\n \"pane-maximize\",\n \"pane-add\",\n \"pane-remove\",\n \"splitter-click\",\n \"splitter-dblclick\"\n ],\n setup(D, { emit: h }) {\n const y = h, u = D, E = ce(), l = k([]), M = z(() => l.value.reduce((e, n) => (e[~~n.id] = n) && e, {})), m = z(() => l.value.length), x = k(null), S = k(!1), c = k({\n mouseDown: !1,\n dragging: !1,\n activeSplitter: null,\n cursorOffset: 0\n // Cursor offset within the splitter.\n }), f = k({\n // Used to detect double click on touch devices.\n splitter: null,\n timeoutId: null\n }), _ = z(() => ({\n [`splitpanes splitpanes--${u.horizontal ? \"horizontal\" : \"vertical\"}`]: !0,\n \"splitpanes--dragging\": c.value.dragging\n })), R = () => {\n document.addEventListener(\"mousemove\", r, { passive: !1 }), document.addEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.addEventListener(\"touchmove\", r, { passive: !1 }), document.addEventListener(\"touchend\", P));\n }, O = () => {\n document.removeEventListener(\"mousemove\", r, { passive: !1 }), document.removeEventListener(\"mouseup\", P), \"ontouchstart\" in window && (document.removeEventListener(\"touchmove\", r, { passive: !1 }), document.removeEventListener(\"touchend\", P));\n }, b = (e, n) => {\n const t = e.target.closest(\".splitpanes__splitter\");\n if (t) {\n const { left: i, top: a } = t.getBoundingClientRect(), { clientX: s, clientY: o } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n c.value.cursorOffset = u.horizontal ? o - a : s - i;\n }\n R(), c.value.mouseDown = !0, c.value.activeSplitter = n;\n }, r = (e) => {\n c.value.mouseDown && (e.preventDefault(), c.value.dragging = !0, requestAnimationFrame(() => {\n K(I(e)), d(\"resize\", { event: e }, !0);\n }));\n }, P = (e) => {\n c.value.dragging && (window.getSelection().removeAllRanges(), d(\"resized\", { event: e }, !0)), c.value.mouseDown = !1, c.value.activeSplitter = null, setTimeout(() => {\n c.value.dragging = !1, O();\n }, 100);\n }, A = (e, n) => {\n \"ontouchstart\" in window && (e.preventDefault(), f.value.splitter === n ? (clearTimeout(f.value.timeoutId), f.value.timeoutId = null, U(e, n), f.value.splitter = null) : (f.value.splitter = n, f.value.timeoutId = setTimeout(() => f.value.splitter = null, 500))), c.value.dragging || d(\"splitter-click\", { event: e, index: n }, !0);\n }, U = (e, n) => {\n if (d(\"splitter-dblclick\", { event: e, index: n }, !0), u.maximizePanes) {\n let t = 0;\n l.value = l.value.map((i, a) => (i.size = a === n ? i.max : i.min, a !== n && (t += i.min), i)), l.value[n].size -= t, d(\"pane-maximize\", { event: e, index: n, pane: l.value[n] }), d(\"resized\", { event: e, index: n }, !0);\n }\n }, W = (e, n) => {\n d(\"pane-click\", {\n event: e,\n index: M.value[n].index,\n pane: M.value[n]\n });\n }, I = (e) => {\n const n = x.value.getBoundingClientRect(), { clientX: t, clientY: i } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n return {\n x: t - (u.horizontal ? 0 : c.value.cursorOffset) - n.left,\n y: i - (u.horizontal ? c.value.cursorOffset : 0) - n.top\n };\n }, J = (e) => {\n e = e[u.horizontal ? \"y\" : \"x\"];\n const n = x.value[u.horizontal ? \"clientHeight\" : \"clientWidth\"];\n return u.rtl && !u.horizontal && (e = n - e), e * 100 / n;\n }, K = (e) => {\n const n = c.value.activeSplitter;\n let t = {\n prevPanesSize: $(n),\n nextPanesSize: N(n),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const i = 0 + (u.pushOtherPanes ? 0 : t.prevPanesSize), a = 100 - (u.pushOtherPanes ? 0 : t.nextPanesSize), s = Math.max(Math.min(J(e), a), i);\n let o = [n, n + 1], v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n const H = v.max < 100 && s >= v.max + t.prevPanesSize, ue = p.max < 100 && s <= 100 - (p.max + N(n + 1));\n if (H || ue) {\n H ? (v.size = v.max, p.size = Math.max(100 - v.max - t.prevPanesSize - t.nextPanesSize, 0)) : (v.size = Math.max(100 - p.max - t.prevPanesSize - N(n + 1), 0), p.size = p.max);\n return;\n }\n if (u.pushOtherPanes) {\n const j = Q(t, s);\n if (!j) return;\n ({ sums: t, panesToResize: o } = j), v = l.value[o[0]] || null, p = l.value[o[1]] || null;\n }\n v !== null && (v.size = Math.min(Math.max(s - t.prevPanesSize - t.prevReachedMinPanes, v.min), v.max)), p !== null && (p.size = Math.min(Math.max(100 - s - t.nextPanesSize - t.nextReachedMinPanes, p.min), p.max));\n }, Q = (e, n) => {\n const t = c.value.activeSplitter, i = [t, t + 1];\n return n < e.prevPanesSize + l.value[i[0]].min && (i[0] = V(t).index, e.prevReachedMinPanes = 0, i[0] < t && l.value.forEach((a, s) => {\n s > i[0] && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), e.prevPanesSize = $(i[0]), i[0] === void 0) ? (e.prevReachedMinPanes = 0, l.value[0].size = l.value[0].min, l.value.forEach((a, s) => {\n s > 0 && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);\n }), l.value[i[1]].size = 100 - e.prevReachedMinPanes - l.value[0].min - e.prevPanesSize - e.nextPanesSize, null) : n > 100 - e.nextPanesSize - l.value[i[1]].min && (i[1] = Z(t).index, e.nextReachedMinPanes = 0, i[1] > t + 1 && l.value.forEach((a, s) => {\n s > t && s < i[1] && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), e.nextPanesSize = N(i[1] - 1), i[1] === void 0) ? (e.nextReachedMinPanes = 0, l.value.forEach((a, s) => {\n s < m.value - 1 && s >= t + 1 && (a.size = a.min, e.nextReachedMinPanes += a.min);\n }), l.value[i[0]].size = 100 - e.prevPanesSize - N(i[0] - 1), null) : { sums: e, panesToResize: i };\n }, $ = (e) => l.value.reduce((n, t, i) => n + (i < e ? t.size : 0), 0), N = (e) => l.value.reduce((n, t, i) => n + (i > e + 1 ? t.size : 0), 0), V = (e) => [...l.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, Z = (e) => l.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, ee = () => {\n var n;\n const e = Array.from(((n = x.value) == null ? void 0 : n.children) || []);\n for (const t of e) {\n const i = t.classList.contains(\"splitpanes__pane\"), a = t.classList.contains(\"splitpanes__splitter\");\n !i && !a && (t.remove(), console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\"));\n }\n }, F = (e, n, t = !1) => {\n const i = e - 1, a = document.createElement(\"div\");\n a.classList.add(\"splitpanes__splitter\"), t || (a.onmousedown = (s) => b(s, i), typeof window < \"u\" && \"ontouchstart\" in window && (a.ontouchstart = (s) => b(s, i)), a.onclick = (s) => A(s, i + 1)), a.ondblclick = (s) => U(s, i + 1), n.parentNode.insertBefore(a, n);\n }, ne = (e) => {\n e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();\n }, C = () => {\n var t;\n const e = Array.from(((t = x.value) == null ? void 0 : t.children) || []);\n for (const i of e)\n i.className.includes(\"splitpanes__splitter\") && ne(i);\n let n = 0;\n for (const i of e)\n i.className.includes(\"splitpanes__pane\") && (!n && u.firstSplitter ? F(n, i, !0) : n && F(n, i), n++);\n }, ie = ({ uid: e, ...n }) => {\n const t = M.value[e];\n for (const [i, a] of Object.entries(n)) t[i] = a;\n }, te = (e) => {\n var t;\n let n = -1;\n Array.from(((t = x.value) == null ? void 0 : t.children) || []).some((i) => (i.className.includes(\"splitpanes__pane\") && n++, i.isSameNode(e.el))), l.value.splice(n, 0, { ...e, index: n }), l.value.forEach((i, a) => i.index = a), S.value && T(() => {\n C(), L({ addedPane: l.value[n] }), d(\"pane-add\", { pane: l.value[n] });\n });\n }, ae = (e) => {\n const n = l.value.findIndex((i) => i.id === e);\n l.value[n].el = null;\n const t = l.value.splice(n, 1)[0];\n l.value.forEach((i, a) => i.index = a), T(() => {\n C(), d(\"pane-remove\", { pane: t }), L({ removedPane: { ...t } });\n });\n }, L = (e = {}) => {\n !e.addedPane && !e.removedPane ? le() : l.value.some((n) => n.givenSize !== null || n.min || n.max < 100) ? oe(e) : se(), S.value && d(\"resized\");\n }, se = () => {\n const e = 100 / m.value;\n let n = 0;\n const t = [], i = [];\n for (const a of l.value)\n a.size = Math.max(Math.min(e, a.max), a.min), n -= a.size, a.size >= a.max && t.push(a.id), a.size <= a.min && i.push(a.id);\n n > 0.1 && q(n, t, i);\n }, le = () => {\n let e = 100;\n const n = [], t = [];\n let i = 0;\n for (const s of l.value)\n e -= s.size, s.givenSize !== null && i++, s.size >= s.max && n.push(s.id), s.size <= s.min && t.push(s.id);\n let a = 100;\n if (e > 0.1) {\n for (const s of l.value)\n s.givenSize === null && (s.size = Math.max(Math.min(e / (m.value - i), s.max), s.min)), a -= s.size;\n a > 0.1 && q(a, n, t);\n }\n }, oe = ({ addedPane: e, removedPane: n } = {}) => {\n let t = 100 / m.value, i = 0;\n const a = [], s = [];\n ((e == null ? void 0 : e.givenSize) ?? null) !== null && (t = (100 - e.givenSize) / (m.value - 1));\n for (const o of l.value)\n i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n if (!(Math.abs(i) < 0.1)) {\n for (const o of l.value)\n (e == null ? void 0 : e.givenSize) !== null && (e == null ? void 0 : e.id) === o.id || (o.size = Math.max(Math.min(t, o.max), o.min)), i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);\n i > 0.1 && q(i, a, s);\n }\n }, q = (e, n, t) => {\n let i;\n e > 0 ? i = e / (m.value - n.length) : i = e / (m.value - t.length), l.value.forEach((a, s) => {\n if (e > 0 && !n.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n } else if (!t.includes(a.id)) {\n const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;\n e -= v, a.size = o;\n }\n }), Math.abs(e) > 0.1 && T(() => {\n S.value && console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n });\n }, d = (e, n = void 0, t = !1) => {\n const i = (n == null ? void 0 : n.index) ?? c.value.activeSplitter ?? null;\n y(e, {\n ...n,\n ...i !== null && { index: i },\n ...t && i !== null && {\n prevPane: l.value[i - (u.firstSplitter ? 1 : 0)],\n nextPane: l.value[i + (u.firstSplitter ? 0 : 1)]\n },\n panes: l.value.map((a) => ({ min: a.min, max: a.max, size: a.size }))\n });\n };\n B(() => u.firstSplitter, () => C()), G(() => {\n ee(), C(), L(), d(\"ready\"), S.value = !0;\n }), X(() => S.value = !1);\n const re = () => {\n var e;\n return fe(\n \"div\",\n { ref: x, class: _.value },\n (e = E.default) == null ? void 0 : e.call(E)\n );\n };\n return g(\"panes\", l), g(\"indexedPanes\", M), g(\"horizontal\", z(() => u.horizontal)), g(\"requestUpdate\", ie), g(\"onPaneAdd\", te), g(\"onPaneRemove\", ae), g(\"onPaneClick\", W), (e, n) => (Y(), ve(me(re)));\n }\n}, ge = {\n __name: \"pane\",\n props: {\n size: { type: [Number, String] },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n setup(D) {\n var b;\n const h = D, y = w(\"requestUpdate\"), u = w(\"onPaneAdd\"), E = w(\"horizontal\"), l = w(\"onPaneRemove\"), M = w(\"onPaneClick\"), m = (b = de()) == null ? void 0 : b.uid, x = w(\"indexedPanes\"), S = z(() => x.value[m]), c = k(null), f = z(() => {\n const r = isNaN(h.size) || h.size === void 0 ? 0 : parseFloat(h.size);\n return Math.max(Math.min(r, R.value), _.value);\n }), _ = z(() => {\n const r = parseFloat(h.minSize);\n return isNaN(r) ? 0 : r;\n }), R = z(() => {\n const r = parseFloat(h.maxSize);\n return isNaN(r) ? 100 : r;\n }), O = z(() => {\n var r;\n return `${E.value ? \"height\" : \"width\"}: ${(r = S.value) == null ? void 0 : r.size}%`;\n });\n return B(() => f.value, (r) => y({ uid: m, size: r })), B(() => _.value, (r) => y({ uid: m, min: r })), B(() => R.value, (r) => y({ uid: m, max: r })), G(() => {\n u({\n id: m,\n el: c.value,\n min: _.value,\n max: R.value,\n // The given size (useful to know the user intention).\n givenSize: h.size === void 0 ? null : f.value,\n size: f.value\n // The computed current size at any time.\n });\n }), X(() => l(m)), (r, P) => (Y(), pe(\"div\", {\n ref_key: \"paneEl\",\n ref: c,\n class: \"splitpanes__pane\",\n onClick: P[0] || (P[0] = (A) => he(M)(A, r._.uid)),\n style: ze(O.value)\n }, [\n xe(r.$slots, \"default\")\n ], 4));\n }\n};\nexport {\n ge as Pane,\n Pe as Splitpanes\n};\n","import { loadState } from \"@nextcloud/initial-state\";\nimport { inject } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction once(func) {\n let wasCalled = false;\n let result;\n return (...args) => {\n if (!wasCalled) {\n wasCalled = true;\n result = func(...args);\n }\n return result;\n };\n}\nlet realAppName = \"missing-app-name\";\ntry {\n realAppName = appName;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appName`.\");\n}\nconst APP_NAME = realAppName;\nlet realAppVersion = \"\";\ntry {\n realAppVersion = appVersion;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appVersion`.\");\n}\nconst APP_VERSION = realAppVersion;\nfunction useAppName() {\n return inject(\"appName\", APP_NAME);\n}\nconst useLocalizedAppName = once(() => {\n const apps = loadState(\"core\", \"apps\", []);\n const realAppName2 = useAppName();\n return apps.find(({ id }) => id === realAppName2)?.name ?? realAppName2;\n});\nexport {\n APP_VERSION as A,\n useAppName as a,\n useLocalizedAppName as u\n};\n//# sourceMappingURL=appName-DyNMVZpX.mjs.map\n","import '../assets/NcAppContent-BC7DBer3.css';\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Splitpanes, Pane } from \"splitpanes\";\nimport { defineComponent, watch, onMounted, onBeforeUnmount, openBlock, createBlock, unref, normalizeClass, withCtx, createVNode, resolveComponent, createElementBlock, toDisplayString, createCommentVNode, Fragment, withModifiers, withDirectives, createElementVNode, renderSlot, vShow } from \"vue\";\nimport { m as mdiArrowRight } from \"./mdi-CpchYUUV.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, G as t27, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { u as useLocalizedAppName, a as useAppName } from \"./appName-DyNMVZpX.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport \"splitpanes/dist/splitpanes.css\";\nregister(t27);\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppContentDetailsToggle\",\n setup(__props) {\n const isMobile = useIsMobile();\n watch(isMobile, toggleAppNavigationButton);\n onMounted(() => {\n toggleAppNavigationButton(isMobile.value);\n });\n onBeforeUnmount(() => {\n if (isMobile.value) {\n toggleAppNavigationButton(false);\n }\n });\n function toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : \"\";\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcButton), {\n \"aria-label\": unref(t)(\"Go back to the list\"),\n class: normalizeClass([\"app-details-toggle\", { \"app-details-toggle--mobile\": unref(isMobile) }]),\n title: unref(t)(\"Go back to the list\"),\n variant: \"tertiary\"\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n directional: \"\",\n path: unref(mdiArrowRight)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"class\", \"title\"]);\n };\n }\n});\nconst NcAppContentDetailsToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-a28923a1\"]]);\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst instanceName = getCapabilities().theming?.name ?? \"Nextcloud\";\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppContentDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\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 * or respectively the default height on horizontal-split.\n *\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 * or respectively the minimum height 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 * or respectively the maximum height 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 * 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 * Specify the `

    ` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Allow setting the page's ``\n *\n * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`.\n * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`.\n * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}`\n */\n pageTitle: {\n type: String,\n default: null\n }\n },\n emits: [\n \"update:showDetails\",\n \"resizeList\"\n ],\n setup() {\n return {\n appName: useAppName(),\n localizedAppName: useLocalizedAppName(),\n isMobile: useIsMobile(),\n isRtl\n };\n },\n data() {\n return {\n contentHeight: 0,\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-${this.appName}`;\n } catch {\n logger.info(\"[NcAppContent]: 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 realPageTitle() {\n const entries = /* @__PURE__ */ new Set();\n if (this.pageTitle) {\n for (const part of this.pageTitle.split(\" - \")) {\n entries.add(part);\n }\n } else if (this.pageHeading) {\n for (const part of this.pageHeading.split(\" - \")) {\n entries.add(part);\n }\n if (entries.size > 0) {\n entries.add(this.localizedAppName);\n }\n } else {\n return null;\n }\n entries.add(instanceName);\n return [...entries.values()].join(\" - \");\n }\n },\n watch: {\n realPageTitle: {\n immediate: true,\n handler() {\n if (this.realPageTitle !== null) {\n document.title = this.realPageTitle;\n }\n }\n },\n paneConfigKey: {\n immediate: true,\n handler() {\n this.restorePaneConfig();\n }\n }\n },\n mounted() {\n if (!this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\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.panes[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resizeList\", { size: listPaneSize });\n logger.debug(\"[NcAppContent] pane config\", { listPaneSize });\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 logger.debug(\"[NcAppContent] 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};\nconst _hoisted_1 = {\n key: 0,\n class: \"hidden-visually\"\n};\nconst _hoisted_2 = { class: \"app-content-wrapper__list\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"app-content-wrapper\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcAppContentDetailsToggle = resolveComponent(\"NcAppContentDetailsToggle\");\n const _component_Pane = resolveComponent(\"Pane\");\n const _component_Splitpanes = resolveComponent(\"Splitpanes\");\n return openBlock(), createElementBlock(\"main\", {\n id: \"app-content-vue\",\n class: normalizeClass([\"app-content no-snapper\", { \"app-content--has-list\": !!_ctx.$slots.list }])\n }, [\n $props.pageHeading ? (openBlock(), createElementBlock(\"h1\", _hoisted_1, toDisplayString($props.pageHeading), 1)) : createCommentVNode(\"\", true),\n !!_ctx.$slots.list ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n $setup.isMobile || $props.layout === \"no-split\" ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"app-content-wrapper app-content-wrapper--no-split\", {\n \"app-content-wrapper--show-details\": $props.showDetails,\n \"app-content-wrapper--show-list\": !$props.showDetails,\n \"app-content-wrapper--mobile\": $setup.isMobile\n }])\n }, [\n $props.showDetails ? (openBlock(), createBlock(_component_NcAppContentDetailsToggle, {\n key: 0,\n onClick: withModifiers($options.hideDetails, [\"stop\", \"prevent\"])\n }, null, 8, [\"onClick\"])) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ], 512), [\n [vShow, !$props.showDetails]\n ]),\n $props.showDetails ? renderSlot(_ctx.$slots, \"default\", { key: 1 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2)) : $props.layout === \"vertical-split\" || $props.layout === \"horizontal-split\" ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_Splitpanes, {\n horizontal: $props.layout === \"horizontal-split\",\n class: normalizeClass([\"default-theme\", {\n \"splitpanes--horizontal\": $props.layout === \"horizontal-split\",\n \"splitpanes--vertical\": $props.layout === \"vertical-split\"\n }]),\n rtl: $setup.isRtl,\n onResized: $options.handlePaneResize\n }, {\n default: withCtx(() => [\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-list\",\n size: $data.listPaneSize || $options.paneDefaults.list.size,\n minSize: $options.paneDefaults.list.min,\n maxSize: $options.paneDefaults.list.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"]),\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-details\",\n size: $options.detailsPaneSize,\n minSize: $options.paneDefaults.details.min,\n maxSize: $options.paneDefaults.details.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"])\n ]),\n _: 3\n }, 8, [\"horizontal\", \"class\", \"rtl\", \"onResized\"])\n ])) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true),\n !_ctx.$slots.list ? renderSlot(_ctx.$slots, \"default\", { key: 2 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcAppContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-ea1e6879\"]]);\nexport {\n NcAppContent as N\n};\n//# sourceMappingURL=NcAppContent-taTvqnvd.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconClose as I\n};\n//# sourceMappingURL=Close-CuhcJnX2.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ChevronDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronDown = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronDown as C\n};\n//# sourceMappingURL=ChevronDown-C6gc637b.mjs.map\n","import '../assets/NcInputField-DpyFJ1xw.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, warn, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, withDirectives, renderSlot, vShow, createBlock, withCtx, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"input-field__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"type\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = { class: \"input-field__icon input-field__icon--leading\" };\nconst _hoisted_5 = {\n key: 2,\n class: \"input-field__icon input-field__icon--trailing\"\n};\nconst _hoisted_6 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"NcInputField\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: \"\" },\n inputClass: { default: \"\" },\n id: { default: () => createElementId() },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n type: { default: \"text\" },\n placeholder: { default: void 0 },\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: \"\" },\n disabled: { type: Boolean },\n pill: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"trailingButtonClick\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const emit = __emit;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const inputElement = useTemplateRef(\"input\");\n const hasTrailingIcon = computed(() => props.showTrailingButton || props.success);\n const internalPlaceholder = computed(() => {\n if (props.placeholder) {\n return props.placeholder;\n }\n if (props.label) {\n return isLegacy ? props.label : \"\";\n }\n return void 0;\n });\n const isValidLabel = computed(() => {\n const isValidLabel2 = props.label || props.labelOutside;\n if (!isValidLabel2) {\n warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel2;\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (attrs[\"aria-describedby\"]) {\n ariaDescribedby2.push(String(attrs[\"aria-describedby\"]));\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function focus(options) {\n inputElement.value.focus(options);\n }\n function select() {\n inputElement.value.select();\n }\n function handleInput(event) {\n const target = event.target;\n modelValue.value = props.type === \"number\" && typeof modelValue.value === \"number\" ? parseFloat(target.value) : target.value;\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"input-field\", [{\n \"input-field--disabled\": _ctx.disabled,\n \"input-field--error\": _ctx.error,\n \"input-field--label-outside\": _ctx.labelOutside || !isValidLabel.value,\n \"input-field--leading-icon\": !!_ctx.$slots.icon,\n \"input-field--trailing-icon\": hasTrailingIcon.value,\n \"input-field--pill\": _ctx.pill,\n \"input-field--success\": _ctx.success,\n \"input-field--legacy\": unref(isLegacy)\n }, _ctx.$props.class]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"input\", mergeProps(_ctx.$attrs, {\n id: _ctx.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"input-field__input\", _ctx.inputClass],\n disabled: _ctx.disabled,\n placeholder: internalPlaceholder.value,\n type: _ctx.type,\n value: modelValue.value.toString(),\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !_ctx.labelOutside && isValidLabel.value ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"input-field__label\",\n for: _ctx.id\n }, toDisplayString(_ctx.label), 9, _hoisted_3)) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ], 512), [\n [vShow, !!_ctx.$slots.icon]\n ]),\n _ctx.showTrailingButton ? (openBlock(), createBlock(NcButton, {\n key: 1,\n class: \"input-field__trailing-button\",\n \"aria-label\": _ctx.trailingButtonLabel,\n disabled: _ctx.disabled,\n variant: \"tertiary-no-background\",\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"trailingButtonClick\", $event))\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"trailing-button-icon\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : _ctx.success || _ctx.error ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n path: unref(mdiCheck)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n path: unref(mdiAlertCircleOutline)\n }, null, 8, [\"path\"]))\n ])) : createCommentVNode(\"\", true)\n ]),\n _ctx.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${_ctx.id}-helper-text`,\n class: \"input-field__helper-text-message\"\n }, [\n _ctx.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : _ctx.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(_ctx.helperText), 1)\n ], 8, _hoisted_6)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcInputField = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8e16cbb5\"]]);\nexport {\n NcInputField as N\n};\n//# sourceMappingURL=NcInputField-C3iof9pY.mjs.map\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<section class=\"activity-group\">\n\t\t<h2 class=\"activity-group__heading\" :title=\"fullDate\">\n\t\t\t{{ dateText }}\n\t\t</h2>\n\t\t<ul>\n\t\t\t<ActivityComponent\n\t\t\t\tv-for=\"activity in activities\"\n\t\t\t\t:key=\"activity.id\"\n\t\t\t\t:activity=\"activity\"\n\t\t\t\t:showPreviews=\"true\" />\n\t\t</ul>\n\t</section>\n</template>\n\n<script setup lang=\"ts\">\nimport type ActivityModel from '../models/ActivityModel.ts'\n\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { computed } from 'vue'\nimport ActivityComponent from './ActivityComponent.vue'\n\nconst props = defineProps<{\n\tactivities: ActivityModel[]\n}>()\n\n/**\n * Title to show for the date either Today, Yesterday or the full date\n */\nconst dateText = computed(() => {\n\tconst today = moment()\n\tconst yesterday = moment().subtract(1, 'day')\n\tconst first = moment(props.activities[0].datetime)\n\n\tif (first.isSame(today, 'day')) {\n\t\treturn t('activity', 'Today')\n\t} else if (first.isSame(yesterday, 'day')) {\n\t\treturn t('activity', 'Yesterday')\n\t}\n\treturn first.format('LL')\n})\n\n/**\n * If the heading is yesterday or today, show the full date as title, otherwise no title is shown\n */\nconst fullDate = computed(() => {\n\tconst formatted = moment(props.activities[0].datetime).format('LL')\n\treturn formatted !== dateText.value ? formatted : undefined\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-group {\n\t// Separate consecutive groups. Inside the <section> (not a margin between them)\n\t// so the date stays pinned across the gap and the next date docks right as the\n\t// group ends, instead of the push feeling early.\n\tpadding-block-end: 24px;\n\n\t&__heading {\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1;\n\t\t// Match the line box to the navigation toggle so the date text lines up with\n\t\t// it vertically (centred in a clickable-area-tall row), with no extra\n\t\t// whitespace above. Sticking within the per-group <section> makes each new\n\t\t// date push the previous one up and out of the way.\n\t\tmargin-block: 0;\n\t\t// Bottom padding only gives the fade more room to complete; because the\n\t\t// heading sticks within its <section>, it does not affect when the push starts\n\t\tpadding-block: 8px 20px;\n\t\t// Match the settings-section__name heading size\n\t\tfont-size: 20px;\n\t\tline-height: var(--default-clickable-area);\n\t\t// Solid behind the text, then a long, gentle fade to transparent (onset kept\n\t\t// at ~32px from the top) so entries dissolve out gradually as they scroll under\n\t\tbackground: linear-gradient(to bottom, var(--color-main-background) 44%, transparent);\n\n\t\t// Indent the heading to clear the app navigation toggle, eased in by the content\n\t\t// width. It is the toggle clearance (--app-navigation-padding + clickable-area),\n\t\t// less the space the content already has on its left: the centring gutter\n\t\t// ((100cqi - column width) / 2, where 100cqi is the content-area width and the\n\t\t// column width is --activity-feed-max-width) and its 12px padding. A little\n\t\t// breathing room (+8px) minus that 12px padding nets to one negative grid\n\t\t// baseline (-4px). Clamped to 0, so it never affects alignment with the entries\n\t\t// once the gutter clears the toggle.\n\t\tpadding-inline-start: calc(max(\n\t\t\t0px,\n\t\t\tvar(--app-navigation-padding, 8px) + var(--default-clickable-area)\n\t\t\t\t- var(--default-grid-baseline, 4px)\n\t\t\t\t- max(0px, (100cqi - var(--activity-feed-max-width)) / 2)\n\t\t));\n\t}\n}\n</style>\n","export default \"<svg viewBox=\\\"0 0 32 32\\\" height=\\\"32\\\" width=\\\"32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xml:space=\\\"preserve\\\" style=\\\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\\\"><path d=\\\"m8 22 1-7H4l9-13h2l-1 8h6L10 22H8Z\\\" style=\\\"fill-rule:nonzero\\\" transform=\\\"matrix(1.5 0 0 1.5 -2 -2)\\\"/></svg>\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcAppContent class=\"activity-app\">\n\t\t<!-- Kept for document semantics / screen readers, but visually hidden -->\n\t\t<h1 class=\"activity-app__heading hidden-visually\">\n\t\t\t{{ headingTitle }}\n\t\t</h1>\n\t\t<NcEmptyContent\n\t\t\tv-if=\"hasMoreActivites && allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'Loading activities')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<NcEmptyContent\n\t\t\tv-else-if=\"allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'No activity yet')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"appIconSVG\" :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<div ref=\"container\" class=\"activity-app__container\" @scroll=\"onScroll\">\n\t\t\t<div class=\"activity-app__content\">\n\t\t\t\t<NcButton\n\t\t\t\t\tv-if=\"newActivitiesAvailable\"\n\t\t\t\t\tclass=\"activity-app__new-activities-indicator\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"scrollToTop\">\n\t\t\t\t\t{{ t('activity', 'New activities') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<ActivityGroup v-for=\"activities, date of groupedActivities\" :key=\"date\" :activities=\"activities\" />\n\t\t\t\t<!-- Only show if not showing the inital empty content for loading -->\n\t\t\t\t<NcLoadingIcon\n\t\t\t\t\tv-if=\"hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t\t:name=\"t('activity', 'Loading more activities')\"\n\t\t\t\t\t:size=\"64\"\n\t\t\t\t\tclass=\"activity-app__loading-indicator\" />\n\t\t\t\t<div\n\t\t\t\t\tv-else-if=\"!hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t\tclass=\"activity-app__loading-indicator activity-app__loading-indicator--end\">\n\t\t\t\t\t{{ t('activity', 'No more activities.') }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</NcAppContent>\n</template>\n\n<script setup lang=\"ts\">\nimport type { IRawActivity } from '../models/types.ts'\n\nimport ncAxios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { useDebounceFn, useDocumentVisibility, useInfiniteScroll } from '@vueuse/core'\nimport axios from 'axios'\nimport { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'\nimport NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport ActivityGroup from '../components/ActivityGroup.vue'\nimport appIconSVG from '../../img/activity-dark.svg?raw'\nimport ActivityModel from '../models/ActivityModel.ts'\nimport logger from '../utils/logger.ts'\n\ninterface INavigationEntry {\n\tid: string\n\ticon?: string\n\tname: string\n\turl: string\n}\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * The currently active activities filter\n\t */\n\tfilter?: string\n}>(), {\n\t// default to 'all'\n\tfilter: 'all',\n})\n\nconst navigationList = loadState<INavigationEntry[]>(appName, 'navigationList')\n\nconst route = useRoute()\n\n/**\n * Whether activities are currently being loaded\n */\nconst loading = ref(false)\n\n/**\n * Whether more activites can be loaded\n */\nconst hasMoreActivites = ref(true)\n\n/**\n * All loaded actvities\n */\nconst allActivities = ref<ActivityModel[]>([])\n\n/**\n * Last loaded activity (oldest) for backward pagination\n * This is set by the backend in the API result as a header value for pagination\n */\nconst lastActivityLoaded = ref<string>()\n\n/**\n * First loaded activity ID (newest) for polling new activities\n */\nconst newestActivityId = ref<number>()\n\n/**\n * Whether new activities have been prepended while the user was scrolled\n * away from the top — used to show the \"New activities\" navigation button\n */\nconst newActivitiesAvailable = ref(false)\n\n/**\n * Polling interval in milliseconds\n */\nconst POLL_INTERVAL = 30000\n\n/**\n * Polling timer reference (setTimeout-based for self-scheduling)\n */\nlet pollTimer: ReturnType<typeof setTimeout> | undefined\n\n/**\n * AbortController for in-flight load and poll requests.\n * Replaced on filter change and aborted on unmount so stale responses\n * are never applied to the wrong filter's state.\n */\nlet requestController = new AbortController()\n\n/**\n * Document visibility for pausing polling when tab is hidden\n */\nconst visibility = useDocumentVisibility()\n\n/**\n * Container element for the activites\n */\nconst container = ref<HTMLDivElement>()\n\n/**\n * Use infinite scroll for the container and load activities when reaching the bottom\n */\nuseInfiniteScroll(container, async () => {\n\tif (hasMoreActivites.value) {\n\t\tawait loadActivities()\n\t}\n}, {\n\tdistance: 100,\n})\n\n/**\n * Activities grouped by date\n */\nconst groupedActivities = computed(() => {\n\tconst groups = {} as Record<string, ActivityModel[]>\n\tfor (const activity of allActivities.value) {\n\t\tconst date = moment(activity.datetime).format('LL')\n\t\tif (groups[date] === undefined) {\n\t\t\tgroups[date] = [activity]\n\t\t} else {\n\t\t\tgroups[date].push(activity)\n\t\t}\n\t}\n\treturn groups\n})\n\nconst headingTitle = computed(() => {\n\treturn navigationList.find((navigationEl) => navigationEl.id === route.params.filter).name\n})\n\n/**\n * Load activities for current filter or load more if already loaded\n */\nasync function loadActivities() {\n\t// Skip if already loading\n\tif (loading.value) {\n\t\treturn\n\t}\n\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = lastActivityLoaded.value ?? '0'\n\t\tloading.value = true\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}', { filter: props.filter, since }), { signal })\n\t\tif (signal.aborted) {\n\t\t\treturn\n\t\t}\n\t\tconst newActivities = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\tallActivities.value.push(...newActivities)\n\t\tlastActivityLoaded.value = response.headers['x-activity-last-given']\n\t\thasMoreActivites.value = true\n\n\t\t// Track the newest activity ID for polling\n\t\tif (newestActivityId.value === undefined && newActivities.length > 0) {\n\t\t\tnewestActivityId.value = newActivities[0].id\n\t\t}\n\n\t\tnextTick(async () => {\n\t\t\tif (container.value && container.value.clientHeight === container.value.scrollHeight) {\n\t\t\t\t// Container is non-scrollable, thus useInfiniteScroll isn't triggered\n\t\t\t\t// Do it manually to ensure there are no activities to fetch anymore\n\t\t\t\tawait loadActivities()\n\t\t\t}\n\t\t})\n\t} catch (error) {\n\t\tif (axios.isCancel(error)) {\n\t\t\treturn\n\t\t}\n\t\t// Skip if no activities are available\n\t\tif (axios.isAxiosError(error) && error.response?.status === 304) {\n\t\t\thasMoreActivites.value = false\n\t\t\treturn\n\t\t}\n\n\t\tlogger.error(error as Error)\n\t\tshowError(t('activity', 'Could not load activities'))\n\t} finally {\n\t\t// Don't clear the loading flag if this request was superseded — the\n\t\t// replacement loadActivities() call has already set it to true.\n\t\tif (!signal.aborted) {\n\t\t\tloading.value = false\n\t\t}\n\t}\n}\n\n/**\n * Poll for new activities and either prepend them directly (when near top)\n * or queue them so the user can load them without disrupting their scroll position\n */\nasync function pollNewActivities() {\n\tconst { signal } = requestController\n\ttry {\n\t\tconst since = String(newestActivityId.value ?? 0)\n\t\tconst response = await ncAxios.get(generateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}&sort=asc', { filter: props.filter, since }), { signal })\n\t\tif (!signal.aborted && response.data.ocs.data.length > 0) {\n\t\t\tconst newActivities: ActivityModel[] = response.data.ocs.data.map((raw: IRawActivity) => new ActivityModel(raw))\n\t\t\t// Sort newest first for prepending\n\t\t\tnewActivities.sort((a: ActivityModel, b: ActivityModel) => b.id - a.id)\n\t\t\tnewestActivityId.value = newActivities[0]!.id\n\t\t\tallActivities.value.unshift(...newActivities)\n\n\t\t\t// Show the navigation button only when the user is not already at the top\n\t\t\t// (browser scroll anchoring keeps their reading position stable on prepend)\n\t\t\tconst isNearTop = !container.value || container.value.scrollTop < 50\n\t\t\tif (!isNearTop) {\n\t\t\t\tnewActivitiesAvailable.value = true\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\t// Silently ignore cancellations and polling errors (304 = no new activities)\n\t\tif (!axios.isCancel(error) && (!axios.isAxiosError(error) || error.response?.status !== 304)) {\n\t\t\tlogger.error(error as Error)\n\t\t}\n\t}\n\n\t// Self-schedule only if polling wasn't stopped while the request was in flight\n\tif (pollTimer !== undefined) {\n\t\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n\t}\n}\n\n/**\n * Scroll to the top of the container to reveal the newly prepended activities\n */\nfunction scrollToTop() {\n\tnewActivitiesAvailable.value = false\n\tcontainer.value?.scrollTo({ top: 0, behavior: 'smooth' })\n}\n\n/**\n * Hide the \"New activities\" button once the user scrolls back near the top\n */\nconst onScroll = useDebounceFn(() => {\n\tif (container.value && container.value.scrollTop < 50) {\n\t\tnewActivitiesAvailable.value = false\n\t}\n}, 100)\n\n/**\n *\n */\nfunction startPolling() {\n\tstopPolling()\n\t// Use a sentinel value so the self-scheduling logic in pollNewActivities\n\t// knows polling is active even before the first tick fires\n\tpollTimer = setTimeout(pollNewActivities, POLL_INTERVAL)\n}\n\n/**\n *\n */\nfunction stopPolling() {\n\tif (pollTimer !== undefined) {\n\t\tclearTimeout(pollTimer)\n\t\tpollTimer = undefined\n\t}\n}\n\n/**\n * Load activities when mounted and start polling\n */\nonMounted(() => {\n\tloadActivities()\n\tstartPolling()\n})\n\nonUnmounted(() => {\n\tstopPolling()\n\trequestController.abort()\n})\n\nwatch(visibility, (value) => {\n\tif (value === 'hidden') {\n\t\tstopPolling()\n\t} else {\n\t\tstartPolling()\n\t}\n})\n\n/**\n * Reload activities when filter changed\n */\nwatch(props, () => {\n\trequestController.abort()\n\trequestController = new AbortController()\n\tallActivities.value = []\n\tnewActivitiesAvailable.value = false\n\tlastActivityLoaded.value = undefined\n\tnewestActivityId.value = undefined\n\thasMoreActivites.value = true\n\tloadActivities()\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-app {\n\t// Max width of the readable content column. Shared with the date heading indent\n\t// calc in ActivityGroup.vue (inherited), so both stay in sync from one source.\n\t--activity-feed-max-width: 924px;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\t// Query container so the date headings can respond to the actual content-area\n\t// width (which the open app navigation shrinks), rather than the raw viewport\n\tcontainer: activity-feed / inline-size;\n\n\t&__empty-content {\n\t\theight: 100%;\n\t}\n\n\t&__loading-indicator {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tjustify-self: center;\n\t\tmargin-block: 30px 6px;\n\t\ttext-align: center;\n\t}\n\n\t&__loading-indicator--end {\n\t\t// Breathing room below the end-of-feed message, scaled to the viewport\n\t\tmargin-block-end: 30vh;\n\t}\n\n\t&__container {\n\t\t// Full width so the scrollbar sits at the edge of app-content\n\t\theight: 100%;\n\t\toverflow-y: scroll;\n\t}\n\n\t&__content {\n\t\t// Clamp the readable column and centre it within the full-width scroller\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\twidth: min(100%, var(--activity-feed-max-width));\n\t\tmax-width: var(--activity-feed-max-width);\n\t\tmargin: 0 auto;\n\t\tpadding-inline: 12px;\n\t}\n\n\t&__new-activities-indicator {\n\t\tposition: sticky;\n\t\ttop: 8px;\n\t\talign-self: center;\n\t\tz-index: 10;\n\t\tpadding: 6px 16px;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tborder: none;\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tbox-shadow: 0 2px 8px var(--color-box-shadow);\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t}\n}\n</style>\n","import '../assets/NcAppNavigationList--36j6Acm.css';\nimport { openBlock, createElementBlock, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nconst _hoisted_1 = { class: \"app-navigation-list\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"ul\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n}\nconst NcAppNavigationList = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-d72957ed\"]]);\nexport {\n NcAppNavigationList as N\n};\n//# sourceMappingURL=NcAppNavigationList-CGSWabRB.mjs.map\n","import '../assets/NcAppNavigation-ykL7Wz6L.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, createVNode, unref, withCtx, inject, warn, useTemplateRef, ref, watchEffect, watch, onMounted, onUnmounted, normalizeClass, createElementVNode, withKeys, renderSlot, createBlock, createCommentVNode } from \"vue\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { N as NcAppNavigationList } from \"./NcAppNavigationList-CGSWabRB.mjs\";\nimport { G as mdiMenuOpen, H as mdiMenu } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, P as t20, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY } from \"./constants-Ciwvl5xb.mjs\";\nregister(t20);\nconst _hoisted_1$1 = { class: \"app-navigation-toggle-wrapper\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationToggle\",\n props: {\n \"open\": { type: Boolean, ...{ required: true } },\n \"openModifiers\": {}\n },\n emits: [\"update:open\"],\n setup(__props) {\n const open = useModel(__props, \"open\");\n const title = computed(() => open.value ? t(\"Close navigation\") : t(\"Open navigation\"));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n createVNode(unref(NcButton), {\n class: \"app-navigation-toggle\",\n \"aria-controls\": \"app-navigation-vue\",\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n \"aria-label\": title.value,\n title: title.value,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: open.value ? unref(mdiMenuOpen) : unref(mdiMenu)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-expanded\", \"aria-label\", \"title\"])\n ]);\n };\n }\n});\nconst NcAppNavigationToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-5a15295d\"]]);\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"inert\"];\nconst _hoisted_2 = { class: \"app-navigation__search\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigation\",\n props: {\n ariaLabel: {},\n ariaLabelledby: {}\n },\n setup(__props) {\n const props = __props;\n let focusTrap;\n const setHasAppNavigation = inject(\n HAS_APP_NAVIGATION_KEY,\n () => warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n false\n );\n const appNavigationContainerElement = useTemplateRef(\"appNavigationContainer\");\n const isMobile = useIsMobile();\n const open = ref(!isMobile.value);\n watchEffect(() => {\n if (!props.ariaLabel && !props.ariaLabelledby) {\n warn(\"NcAppNavigation requires either `ariaLabel` or `ariaLabelledby` to be set for accessibility.\");\n }\n });\n watch(isMobile, () => {\n open.value = !isMobile.value;\n });\n watch(open, () => {\n toggleFocusTrap();\n });\n onMounted(() => {\n setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: open.value\n });\n focusTrap = createFocusTrap(appNavigationContainerElement.value, {\n allowOutsideClick: true,\n clickOutsideDeactivates: () => {\n if (isMobile.value) {\n focusTrap.deactivate({ returnFocus: false });\n toggleNavigation(false);\n }\n return false;\n },\n fallbackFocus: appNavigationContainerElement.value,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n toggleFocusTrap();\n });\n onUnmounted(() => {\n setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n focusTrap.deactivate();\n });\n function toggleNavigation(state) {\n if (open.value === state) {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n return;\n }\n open.value = state === void 0 ? !open.value : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n }, 1.5 * animationLength);\n }\n function toggleNavigationByEventBus({ open: open2 }) {\n return toggleNavigation(open2);\n }\n function toggleFocusTrap() {\n if (isMobile.value && open.value) {\n focusTrap.activate();\n } else {\n focusTrap.deactivate();\n }\n }\n function handleEsc() {\n if (isMobile.value) {\n toggleNavigation(false);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"appNavigationContainer\",\n class: normalizeClass([\"app-navigation\", {\n \"app-navigation--closed\": !open.value,\n \"app-navigation--legacy\": unref(isLegacy34)\n }])\n }, [\n createElementVNode(\"nav\", {\n id: \"app-navigation-vue\",\n \"aria-hidden\": open.value ? \"false\" : \"true\",\n \"aria-label\": _ctx.ariaLabel || void 0,\n \"aria-labelledby\": _ctx.ariaLabelledby || void 0,\n class: \"app-navigation__content\",\n inert: !open.value || void 0,\n onKeydown: withKeys(handleEsc, [\"esc\"])\n }, [\n createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"search\", {}, void 0, true)\n ]),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation__body\", { \"app-navigation__body--no-list\": !_ctx.$slots.list }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2),\n _ctx.$slots.list ? (openBlock(), createBlock(NcAppNavigationList, {\n key: 0,\n class: \"app-navigation__list\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", {}, void 0, true)\n ], 40, _hoisted_1),\n createVNode(NcAppNavigationToggle, {\n open: open.value,\n \"onUpdate:open\": toggleNavigation\n }, null, 8, [\"open\"])\n ], 2);\n };\n }\n});\nconst NcAppNavigation = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-3b634fbd\"]]);\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-Bb54U_qJ.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronUp = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-ChH8oB7p.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconArrowRight = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconArrowRight as I\n};\n//# sourceMappingURL=ArrowRight-B1ncAhus.mjs.map\n","import '../assets/NcInputConfirmCancel-BEmwC87z.css';\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { r as register, k as t14, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, withKeys, withDirectives, vModelText, createVNode, withCtx } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t14);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n IconArrowRight,\n IconClose,\n NcButton\n },\n setup() {\n return { isLegacy34 };\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 /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n modelValue: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"cancel\",\n \"confirm\",\n \"update:modelValue\"\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.modelValue;\n },\n set(newValue) {\n this.$emit(\"update:modelValue\", 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};\nconst _hoisted_1 = [\"placeholder\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"app-navigation-input-confirm\", { \"app-navigation-input-confirm--legacy\": $setup.isLegacy34 }])\n }, [\n createElementVNode(\"form\", {\n onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.confirm && $options.confirm(...args), [\"prevent\"])),\n onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.cancel && $options.cancel(...args), [\"exact\", \"stop\", \"prevent\"]), [\"esc\"])),\n onClick: _cache[3] || (_cache[3] = withModifiers(() => {\n }, [\"stop\", \"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $options.valueModel = $event),\n type: \"text\",\n class: \"app-navigation-input-confirm__input\",\n placeholder: $props.placeholder\n }, null, 8, _hoisted_1), [\n [vModelText, $options.valueModel]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelConfirm,\n type: \"submit\",\n variant: \"primary\",\n onClick: withModifiers($options.confirm, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelCancel,\n type: \"reset\",\n variant: $props.primary ? \"primary\" : \"tertiary\",\n onClick: withModifiers($options.cancel, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"variant\", \"onClick\"])\n ], 32)\n ], 2);\n}\nconst NcInputConfirmCancel = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-a8724c7f\"]]);\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-BL_BkfXh.mjs.map\n","import { defineComponent } from \"vue\";\nconst _sfc_main = defineComponent({\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 render() {\n return this.vnodes || this.$slots?.default?.({});\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map\n","import '../assets/NcAppNavigationItem-DF81QkEz.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps, withKeys, withModifiers, renderSlot, createVNode, createTextVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-C6gc637b.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-ChH8oB7p.mjs\";\nimport { r as register, N as t21, a as t, b as t51, O as t23 } from \"./_l10n-BCg4udFv.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-BL_BkfXh.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BJKJG2zO.mjs\";\nimport { N as NcActions } from \"./NcActions-fCXSb_0o.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-CInLzPtA.mjs\";\nimport { _ as _sfc_main$4 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nconst _sfc_main$3 = {\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};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { 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\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pencil-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst Pencil = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\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};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { 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\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon undo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst Undo = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nregister(t21);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n setup() {\n return { isLegacy34 };\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n required: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: 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};\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ChevronUp = resolveComponent(\"ChevronUp\");\n const _component_ChevronDown = resolveComponent(\"ChevronDown\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n return openBlock(), createBlock(_component_NcButton, {\n class: normalizeClass([\"icon-collapse\", {\n \"icon-collapse--active\": $props.active,\n \"icon-collapse--open\": $props.open\n }]),\n \"aria-label\": $options.labelButton,\n variant: $props.active && $setup.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\",\n onClick: $options.onClick\n }, {\n icon: withCtx(() => [\n $props.open ? (openBlock(), createBlock(_component_ChevronUp, {\n key: 0,\n size: 20\n })) : (openBlock(), createBlock(_component_ChevronDown, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"class\", \"aria-label\", \"variant\", \"onClick\"]);\n}\nconst NcAppNavigationIconCollapsible = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-acf5ed2f\"]]);\nregister(t23, t51);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes: _sfc_main$4,\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: () => createElementId(),\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 `<router-link />` that points to that route.\n * By leaving this blank, the root element will be a `<li>`.\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 * 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 isLegacy34\n };\n },\n data() {\n return {\n actionsBoundariesElement: void 0,\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 };\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 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 * 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};\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"aria-current\", \"aria-description\", \"aria-expanded\", \"href\", \"target\", \"title\", \"onClick\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"editingContainer\"\n};\nconst _hoisted_4 = {\n key: 1,\n class: \"app-navigation-entry__deleted\"\n};\nconst _hoisted_5 = { class: \"app-navigation-entry__deleted-description\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"app-navigation-entry__counter-wrapper\"\n};\nconst _hoisted_7 = {\n key: 0,\n class: \"app-navigation-entry__children\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcInputConfirmCancel = resolveComponent(\"NcInputConfirmCancel\");\n const _component_Pencil = resolveComponent(\"Pencil\");\n const _component_NcActionButton = resolveComponent(\"NcActionButton\");\n const _component_Undo = resolveComponent(\"Undo\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcAppNavigationIconCollapsible = resolveComponent(\"NcAppNavigationIconCollapsible\");\n return openBlock(), createElementBlock(\"li\", {\n id: $props.id,\n class: normalizeClass([{\n \"app-navigation-entry--opened\": $data.opened,\n \"app-navigation-entry--pinned\": $props.pinned,\n \"app-navigation-entry--collapsible\": $props.allowCollapse && !!_ctx.$slots.default\n }, \"app-navigation-entry-wrapper\"])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent($options.isRouterLink ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$options.isRouterLink && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry\", {\n \"app-navigation-entry--editing\": $data.editingActive,\n \"app-navigation-entry--deleted\": $props.undo,\n \"app-navigation-entry--legacy\": $setup.isLegacy34,\n active: $props.to && isActive || $props.active\n }])\n }, [\n !$props.undo ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n class: \"app-navigation-entry-link\",\n \"aria-current\": $props.active || $props.to && isActive ? \"page\" : void 0,\n \"aria-description\": $props.ariaDescription,\n \"aria-expanded\": !!_ctx.$slots.default ? $data.opened.toString() : void 0,\n href: $props.href || routerLinkHref || \"#\",\n target: $options.isExternal($props.href) ? \"_blank\" : void 0,\n title: $props.title || $props.name,\n onBlur: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onFocus: _cache[2] || (_cache[2] = (...args) => $options.handleFocus && $options.handleFocus(...args)),\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.handleTab && $options.handleTab(...args), [\"exact\"]), [\"tab\"]))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry-icon\", { [$props.icon]: $props.icon }])\n }, [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : renderSlot(_ctx.$slots, \"icon\", {\n key: 1,\n active: $props.active || $props.to && isActive\n }, void 0, true)\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass([\"app-navigation-entry__name\", { \"hidden-visually\": $data.editingActive }])\n }, toDisplayString($props.name), 3),\n $data.editingActive ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_NcInputConfirmCancel, {\n ref: \"editingInput\",\n modelValue: $data.editingValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $data.editingValue = $event),\n placeholder: $props.editPlaceholder !== \"\" ? $props.editPlaceholder : $props.name,\n primary: $props.to && isActive || $props.active,\n onCancel: $options.cancelEditing,\n onConfirm: $options.handleEditingDone\n }, null, 8, [\"modelValue\", \"placeholder\", \"primary\", \"onCancel\", \"onConfirm\"])\n ])) : createCommentVNode(\"\", true)\n ], 40, _hoisted_2)) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createElementBlock(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, toDisplayString($props.name), 1)\n ])) : createCommentVNode(\"\", true),\n (!!_ctx.$slots.actions || !!_ctx.$slots.counter || $props.editable || $props.undo) && !$data.editingActive ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass([\"app-navigation-entry__utils\", { \"app-navigation-entry__utils--display-actions\": $props.forceDisplayActions || $data.menuOpenLocalValue || $props.menuOpen }])\n }, [\n !!_ctx.$slots.counter ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"counter\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n !!_ctx.$slots.actions || $props.editable && !$data.editingActive || $props.undo ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n class: \"app-navigation-entry__actions\",\n container: \"#app-navigation-vue\",\n boundariesElement: $data.actionsBoundariesElement,\n inline: $props.inlineActions,\n placement: $props.menuPlacement,\n open: $props.menuOpen,\n forceMenu: $props.forceMenu,\n defaultIcon: $props.menuIcon,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onMenuToggle\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n $props.editable && !$data.editingActive ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 0,\n \"aria-label\": $options.editButtonAriaLabel,\n onClick: $options.handleEdit\n }, {\n icon: withCtx(() => [\n createVNode(_component_Pencil, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString($props.editLabel), 1)\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 1,\n \"aria-label\": $options.undoButtonAriaLabel,\n onClick: $options.handleUndo\n }, {\n icon: withCtx(() => [\n createVNode(_component_Undo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"boundariesElement\", \"inline\", \"placement\", \"open\", \"forceMenu\", \"defaultIcon\", \"onUpdate:open\"])) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true),\n $props.allowCollapse && !!_ctx.$slots.default ? (openBlock(), createBlock(_component_NcAppNavigationIconCollapsible, {\n key: 3,\n active: $props.to && isActive || $props.active,\n open: $data.opened,\n onClick: withModifiers($options.toggleCollapse, [\"prevent\", \"stop\"])\n }, null, 8, [\"active\", \"open\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ], 2)\n ]),\n _: 3\n }, 16)),\n $options.canHaveChildren && !!_ctx.$slots.default ? (openBlock(), createElementBlock(\"ul\", _hoisted_7, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1);\n}\nconst NcAppNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e4d562ae\"]]);\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-Dg2d2AwS.mjs.map\n","import '../assets/NcAppNavigationSettings-HQEDobBQ.css';\nimport { defineComponent, ref, useTemplateRef, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, unref, withCtx, createTextVNode, toDisplayString, Transition, withDirectives, renderSlot, vShow } from \"vue\";\nimport { C as mdiCog, D as mdiCogOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { onClickOutside } from \"@vueuse/core\";\nimport { N as NcButton } from \"./NcButton-CdQzGSB6.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-De-2-ukl.mjs\";\nimport { r as register, B as t47, a as t } from \"./_l10n-BCg4udFv.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t47);\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationSettings\",\n props: {\n excludeClickOutsideSelectors: { default: () => [] },\n name: { default: () => t(\"Settings\") }\n },\n setup(__props) {\n const contentId = createElementId();\n const open = ref(false);\n const container2 = useTemplateRef(\"wrapperElement\");\n const ignore = computed(() => Array.isArray(__props.excludeClickOutsideSelectors) ? __props.excludeClickOutsideSelectors : __props.excludeClickOutsideSelectors.split(\" \"));\n onClickOutside(container2, () => {\n open.value = false;\n }, { ignore });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"wrapperElement\",\n class: normalizeClass(_ctx.$style.container)\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.$style.header)\n }, [\n createVNode(NcButton, {\n \"aria-controls\": unref(contentId),\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n class: normalizeClass(_ctx.$style.button),\n alignment: \"start\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: unref(isLegacy) ? unref(mdiCog) : unref(mdiCogOutline)\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(_ctx.name), 1)\n ]),\n _: 1\n }, 8, [\"aria-controls\", \"aria-expanded\", \"class\"])\n ], 2),\n createVNode(Transition, {\n enterActiveClass: _ctx.$style.animationActive,\n leaveActiveClass: _ctx.$style.animationActive,\n enterFromClass: _ctx.$style.animationStop,\n leaveToClass: _ctx.$style.animationStop\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(contentId),\n class: normalizeClass(_ctx.$style.content)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1), [\n [vShow, open.value]\n ])\n ]),\n _: 3\n }, 8, [\"enterActiveClass\", \"leaveActiveClass\", \"enterFromClass\", \"leaveToClass\"])\n ], 2);\n };\n }\n});\nconst container = \"_container_RFk6U\";\nconst header = \"_header_2CtDS\";\nconst button = \"_button_tAyis\";\nconst content = \"_content_--KYD\";\nconst animationActive = \"_animationActive_DAG1p\";\nconst animationStop = \"_animationStop_fWYQj\";\nconst style0 = {\n container,\n header,\n button,\n content,\n animationActive,\n animationStop\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcAppNavigationSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-CJ2z5cYU.mjs.map\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon content-copy-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\">\n <title v-if=\"title\">{{ title }}\n \n \n \n\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\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 RouteRecordRaw[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\nimport { routes } from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('/apps/activity')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nconst app = createApp(ActivityApp)\napp.use(router)\napp.mount('#content')\n"],"names":["HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","register","t30","contentSvg","navigationSvg","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","props","provide","setAppNavigation","computed","isMobile","useIsMobile","hasAppNavigation","ref","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","emit","nextTick","value","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","isLegacy34","createBlock","Teleport","createElementVNode","toDisplayString","t","withDirectives","createVNode","NcButton","withModifiers","$event","withCtx","createTextVNode","vShow","NcIconSvgWrapper","renderSlot","NcContent","_export_sfc","_createBlock","_unref","_createVNode","_component_router_view","Pe","D","h","y","u","E","ce","l","k","M","z","e","n","m","x","S","c","f","_","R","r","P","O","b","i","a","s","o","K","I","d","A","U","W","J","$","N","v","p","H","ue","j","Q","V","Z","ee","F","ne","C","ie","te","T","L","ae","le","oe","se","q","B","G","X","re","fe","g","Y","ve","me","ge","w","de","pe","he","ze","xe","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","inject","useLocalizedAppName","apps","loadState","realAppName2","id","t27","_sfc_main$1","watch","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","mdiArrowRight","NcAppContentDetailsToggle","browserStorage","getBuilder","instanceName","getCapabilities","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createCommentVNode","Fragment","NcAppContent","_hoisted_4","mergeProps","IconClose","ChevronDown","_hoisted_5","_hoisted_6","mergeModels","createElementId","__expose","__emit","modelValue","useModel","focus","select","attrs","useAttrs","inputElement","useTemplateRef","hasTrailingIcon","internalPlaceholder","isLegacy","isValidLabel","ariaDescribedby","ariaDescribedby2","options","handleInput","target","mdiCheck","mdiAlertCircleOutline","NcInputField","dateText","today","moment","yesterday","first","fullDate","formatted","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","activity","ActivityComponent","appIconSVG","POLL_INTERVAL","navigationList","route","useRoute","loading","hasMoreActivites","allActivities","lastActivityLoaded","newestActivityId","newActivitiesAvailable","pollTimer","requestController","visibility","useDocumentVisibility","useInfiniteScroll","loadActivities","groupedActivities","groups","date","headingTitle","navigationEl","signal","since","response","ncAxios","generateOcsUrl","newActivities","raw","ActivityModel","error","axios","showError","pollNewActivities","scrollToTop","onScroll","useDebounceFn","startPolling","stopPolling","onUnmounted","_toDisplayString","NcEmptyContent","NcLoadingIcon","activities","ActivityGroup","NcAppNavigationList","t20","_hoisted_1$1","open","title","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","unsubscribe","state","bodyStyles","animationLength","open2","handleEsc","withKeys","NcAppNavigation","ChevronUp","IconArrowRight","t14","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcActions","NcActionButton","_sfc_main$4","newVal","navigate","routerLinkHref","href","_hoisted_7","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcActions","_component_NcAppNavigationIconCollapsible","resolveDynamicComponent","normalizeProps","guardReactiveProps","isActive","NcAppNavigationItem","t47","contentId","container2","ignore","onClickOutside","mdiCog","mdiCogOutline","Transition","header","button","content","animationActive","animationStop","style0","cssModules","NcAppNavigationSettings","_mergeProps","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","navigationItem","NcCheckboxRadioSwitch","IconContentCopy","routes","ActivityAppFeed","ActivityAppNavigation","router","createRouter","createWebHistory","app","createApp","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20]} \ No newline at end of file diff --git a/src/views/ActivityAppFeed.vue b/src/views/ActivityAppFeed.vue index ffc76ef1a..a40895880 100644 --- a/src/views/ActivityAppFeed.vue +++ b/src/views/ActivityAppFeed.vue @@ -44,7 +44,7 @@ class="activity-app__loading-indicator" />
    + class="activity-app__loading-indicator activity-app__loading-indicator--end"> {{ t('activity', 'No more activities.') }}

  • @@ -373,6 +373,11 @@ watch(props, () => { text-align: center; } + &__loading-indicator--end { + // Breathing room below the end-of-feed message, scaled to the viewport + margin-block-end: 30vh; + } + &__container { // Full width so the scrollbar sits at the edge of app-content height: 100%;