{"version":3,"file":"activity-app.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/constants-Ciwvl5xb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcContent-DOmmHvxx.mjs","../src/views/ActivityApp.vue","../node_modules/splitpanes/dist/splitpanes.es.js","../node_modules/@nextcloud/vue/dist/chunks/appName-DtnLUijR.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppContent-DHTZAiBV.mjs","../node_modules/@nextcloud/vue/dist/chunks/Close-D6ngJ4t9.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-FiGpp0KT.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-tt_Gi9ja.mjs","../src/components/ActivityGroup.vue","../img/activity-dark.svg?raw","../src/views/ActivityAppFeed.vue","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationList-BX0wE-dB.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigation--KrbROgq.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-DPXFp1ss.mjs","../node_modules/@nextcloud/vue/dist/chunks/ArrowRight-DRKHUZMH.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-x3Xhif7e.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-DhsEitgm.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-sbSJX76f.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-CVIwhwfc.css';\nimport { defineComponent, provide, computed, ref, onBeforeMount, createElementBlock, openBlock, normalizeClass, createBlock, renderSlot, Teleport, createElementVNode, withDirectives, toDisplayString, unref, createVNode, withModifiers, withCtx, createTextVNode, vShow, nextTick } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { N as NcButton } from \"./NcButton-CzpKEx4V.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-BvLanNaW.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, H as t30, a as t } from \"./_l10n-BSFzy-71.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  - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n  - SPDX-License-Identifier: AGPL-3.0-or-later\\n-->\\n<svg width=\"395\" height=\"314\" viewBox=\"0 0 395 314\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<rect width=\"395\" height=\"314\" rx=\"11\" fill=\"#439DCD\"/>\\n<rect x=\"13\" y=\"51\" width=\"366\" height=\"248\" rx=\"8\" fill=\"white\"/>\\n<rect x=\"22\" y=\"111\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"127\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"63\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"191\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"143\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"79\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"159\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"95\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"175\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<path d=\"M288 145C277.56 147.8 265.32 149 254 149C242.68 149 230.44 147.8 220 145L218 153C225.44 155 234 156.32 242 157V209H250V185H258V209H266V157C274 156.32 282.56 155 290 153L288 145ZM254 145C258.4 145 262 141.4 262 137C262 132.6 258.4 129 254 129C249.6 129 246 132.6 246 137C246 141.4 249.6 145 254 145Z\" fill=\"#DEDEDE\"/>\\n<path d=\"M43.5358 13C38.6641 13 34.535 16.2415 33.2552 20.6333C32.143 18.3038 29.7327 16.6718 26.9564 16.6718C23.1385 16.6718 20 19.7521 20 23.4993C20 27.2465 23.1385 30.3282 26.9564 30.3282C29.7327 30.3282 32.1429 28.6952 33.2552 26.3653C34.535 30.7575 38.6641 34 43.5358 34C48.3715 34 52.4796 30.8064 53.7921 26.4637C54.9249 28.7407 57.3053 30.3282 60.0421 30.3282C63.8601 30.3282 67 27.2465 67 23.4993C67 19.7521 63.8601 16.6718 60.0421 16.6718C57.3053 16.6718 54.9249 18.2583 53.7921 20.5349C52.4796 16.1926 48.3715 13 43.5358 13ZM43.5358 17.0079C47.2134 17.0079 50.1512 19.8899 50.1512 23.4993C50.1512 27.1087 47.2134 29.9921 43.5358 29.9921C39.8583 29.9921 36.9218 27.1087 36.9218 23.4993C36.9218 19.8899 39.8583 17.0079 43.5358 17.0079ZM26.9564 20.6797C28.5677 20.6797 29.8307 21.9179 29.8307 23.4993C29.8307 25.0807 28.5677 26.3203 26.9564 26.3203C25.3452 26.3203 24.0836 25.0807 24.0836 23.4993C24.0836 21.9179 25.3452 20.6797 26.9564 20.6797ZM60.0421 20.6797C61.6534 20.6797 62.9164 21.9179 62.9164 23.4993C62.9164 25.0807 61.6534 26.3203 60.0421 26.3203C58.4309 26.3203 57.1693 25.0807 57.1693 23.4993C57.1693 21.9179 58.4309 20.6797 60.0421 20.6797Z\" fill=\"white\"/>\\n<rect x=\"79\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"99\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"119\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"139\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"159\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"179\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 0C5.37258 0 0 5.37259 0 12V302C0 308.627 5.37259 314 12 314H383C389.627 314 395 308.627 395 302V12C395 5.37258 389.627 0 383 0H12ZM140 44C132.268 44 126 50.268 126 58V292C126 299.732 132.268 306 140 306H372C379.732 306 386 299.732 386 292V58C386 50.268 379.732 44 372 44H140Z\" fill=\"black\" fill-opacity=\"0.35\"/>\\n</svg>\\n';\nconst navigationSvg = '<!--\\n  - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n  - SPDX-License-Identifier: AGPL-3.0-or-later\\n-->\\n<svg width=\"395\" height=\"314\" viewBox=\"0 0 395 314\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<rect width=\"395\" height=\"314\" rx=\"11\" fill=\"#439DCD\"/>\\n<rect x=\"13\" y=\"51\" width=\"366\" height=\"248\" rx=\"8\" fill=\"white\"/>\\n<rect x=\"22\" y=\"111\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"127\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"63\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"191\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"143\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"79\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"159\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"95\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"175\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<path d=\"M288 145C277.56 147.8 265.32 149 254 149C242.68 149 230.44 147.8 220 145L218 153C225.44 155 234 156.32 242 157V209H250V185H258V209H266V157C274 156.32 282.56 155 290 153L288 145ZM254 145C258.4 145 262 141.4 262 137C262 132.6 258.4 129 254 129C249.6 129 246 132.6 246 137C246 141.4 249.6 145 254 145Z\" fill=\"#DEDEDE\"/>\\n<path d=\"M43.5358 13C38.6641 13 34.535 16.2415 33.2552 20.6333C32.143 18.3038 29.7327 16.6718 26.9564 16.6718C23.1385 16.6718 20 19.7521 20 23.4993C20 27.2465 23.1385 30.3282 26.9564 30.3282C29.7327 30.3282 32.1429 28.6952 33.2552 26.3653C34.535 30.7575 38.6641 34 43.5358 34C48.3715 34 52.4796 30.8064 53.7921 26.4637C54.9249 28.7407 57.3053 30.3282 60.0421 30.3282C63.8601 30.3282 67 27.2465 67 23.4993C67 19.7521 63.8601 16.6718 60.0421 16.6718C57.3053 16.6718 54.9249 18.2583 53.7921 20.5349C52.4796 16.1926 48.3715 13 43.5358 13ZM43.5358 17.0079C47.2134 17.0079 50.1512 19.8899 50.1512 23.4993C50.1512 27.1087 47.2134 29.9921 43.5358 29.9921C39.8583 29.9921 36.9218 27.1087 36.9218 23.4993C36.9218 19.8899 39.8583 17.0079 43.5358 17.0079ZM26.9564 20.6797C28.5677 20.6797 29.8307 21.9179 29.8307 23.4993C29.8307 25.0807 28.5677 26.3203 26.9564 26.3203C25.3452 26.3203 24.0836 25.0807 24.0836 23.4993C24.0836 21.9179 25.3452 20.6797 26.9564 20.6797ZM60.0421 20.6797C61.6534 20.6797 62.9164 21.9179 62.9164 23.4993C62.9164 25.0807 61.6534 26.3203 60.0421 26.3203C58.4309 26.3203 57.1693 25.0807 57.1693 23.4993C57.1693 21.9179 58.4309 20.6797 60.0421 20.6797Z\" fill=\"white\"/>\\n<rect x=\"79\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"99\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"119\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"139\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"159\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"179\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 0C5.37258 0 0 5.37259 0 12V302C0 308.627 5.37259 314 12 314H383C389.627 314 395 308.627 395 302V12C395 5.37258 389.627 0 383 0H12ZM112 44C119.732 44 126 50.268 126 58V292C126 299.732 119.732 306 112 306H20C12.268 306 6 299.732 6 292V58C6 50.268 12.268 44 20 44H112Z\" fill=\"black\" fill-opacity=\"0.35\"/>\\n</svg>\\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()}`])\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-d9b0d7e8\"]]);\nexport {\n  NcContent as N\n};\n//# sourceMappingURL=NcContent-DOmmHvxx.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<NcContent app-name=\"activity\">\n\t\t<router-view name=\"navigation\" />\n\t\t<router-view />\n\t</NcContent>\n</template>\n\n<script setup lang=\"ts\">\nimport NcContent from '@nextcloud/vue/components/NcContent'\n</script>\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 <pane> elements are allowed at the root of <splitpanes>. 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 { 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;\nconst getLocalizedAppName = once(() => {\n  const activeApp = loadState(\"core\", \"active-app\", APP_NAME);\n  return loadState(\"core\", \"apps\", []).find(({ id }) => id === activeApp)?.name ?? APP_NAME;\n});\nexport {\n  APP_NAME as A,\n  APP_VERSION as a,\n  getLocalizedAppName as g\n};\n//# sourceMappingURL=appName-DtnLUijR.mjs.map\n","import '../assets/NcAppContent-zKcAQ2bt.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, createBlock, openBlock, unref, normalizeClass, withCtx, createVNode, resolveComponent, createElementBlock, createCommentVNode, renderSlot, toDisplayString, Fragment, withDirectives, withModifiers, createElementVNode, 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-BSFzy-71.mjs\";\nimport { N as NcButton } from \"./NcButton-CzpKEx4V.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-BvLanNaW.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { g as getLocalizedAppName, A as APP_NAME } from \"./appName-DtnLUijR.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 `<h1>` page heading\n     */\n    pageHeading: {\n      type: String,\n      default: null\n    },\n    /**\n     * Allow setting the page's `<title>`\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      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-${APP_NAME}`;\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(getLocalizedAppName());\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 = {\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\", null, [\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_2, [\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-78efe7f5\"]]);\nexport {\n  NcAppContent as N\n};\n//# sourceMappingURL=NcAppContent-DHTZAiBV.mjs.map\n","import { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString } 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-D6ngJ4t9.mjs.map\n","import { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString } 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-FiGpp0KT.mjs.map\n","import '../assets/NcInputField-D7X6Iz5N.css';\nimport { defineComponent, mergeModels, useModel, useAttrs, useTemplateRef, computed, warn, createElementBlock, openBlock, normalizeClass, unref, createElementVNode, createCommentVNode, withDirectives, createBlock, mergeProps, toDisplayString, renderSlot, vShow, withCtx, createTextVNode } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcButton } from \"./NcButton-CzpKEx4V.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-BvLanNaW.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { i as isLegacy } from \"./legacy-DcjXBL_t.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-a0e80f48\"]]);\nexport {\n  NcInputField as N\n};\n//# sourceMappingURL=NcInputField-tt_Gi9ja.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:show-previews=\"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\">\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 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 { useInfiniteScroll } from '@vueuse/core'\nimport axios from 'axios'\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\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 navigationList = loadState<INavigationEntry[]>(appName, 'navigationList')\n\nconst route = useRoute()\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\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\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 * 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 activites 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\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 }))\n\t\tallActivities.value.push(...response.data.ocs.data.map((raw) => new ActivityModel(raw)))\n\t\tlastActivityLoaded.value = response.headers['x-activity-last-given']\n\t\thasMoreActivites.value = true\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\t// Skip if no activites 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\tloading.value = false\n\t}\n}\n\n/**\n * Load activites when mounted\n */\nonMounted(() => {\n\tloadActivities()\n})\n\n/**\n * Reload activities when filter changed\n */\nwatch(props, () => {\n\tallActivities.value = []\n\tlastActivityLoaded.value = undefined\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&__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 { createElementBlock, openBlock, 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-BX0wE-dB.mjs.map\n","import '../assets/NcAppNavigation-f2zUqaiQ.css';\nimport { defineComponent, useModel, computed, createElementBlock, openBlock, createVNode, unref, withCtx, inject, warn, useTemplateRef, ref, watchEffect, watch, onMounted, onUnmounted, normalizeClass, createElementVNode, withKeys, createBlock, createCommentVNode, renderSlot } from \"vue\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { N as NcAppNavigationList } from \"./NcAppNavigationList-BX0wE-dB.mjs\";\nimport { G as mdiMenuOpen, H as mdiMenu } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-BvLanNaW.mjs\";\nimport { r as register, P as t20, a as t } from \"./_l10n-BSFzy-71.mjs\";\nimport { N as NcButton } from \"./NcButton-CzpKEx4V.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 { 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        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\", { \"app-navigation--closed\": !open.value }])\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-d5ce90cd\"]]);\nexport {\n  NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation--KrbROgq.mjs.map\n","import { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString } 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-DPXFp1ss.mjs.map\n","import { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString } 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-DRKHUZMH.mjs.map\n","import '../assets/NcInputConfirmCancel-BrdZEfr2.css';\nimport { I as IconArrowRight } from \"./ArrowRight-DRKHUZMH.mjs\";\nimport { I as IconClose } from \"./Close-D6ngJ4t9.mjs\";\nimport { r as register, k as t14, a as t } from \"./_l10n-BSFzy-71.mjs\";\nimport { N as NcButton } from \"./NcButton-CzpKEx4V.mjs\";\nimport { resolveComponent, createElementBlock, openBlock, createElementVNode, withModifiers, withKeys, withDirectives, createVNode, vModelText, 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  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 = { class: \"app-navigation-input-confirm\" };\nconst _hoisted_2 = [\"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\", _hoisted_1, [\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_2), [\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  ]);\n}\nconst NcInputConfirmCancel = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-dd457d48\"]]);\nexport {\n  NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-x3Xhif7e.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-qicc4X_c.css';\nimport { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString, resolveComponent, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps, renderSlot, withKeys, withModifiers, createVNode, createTextVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-FiGpp0KT.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-DPXFp1ss.mjs\";\nimport { r as register, N as t21, a as t, b as t50, O as t23 } from \"./_l10n-BSFzy-71.mjs\";\nimport { N as NcButton } from \"./NcButton-CzpKEx4V.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-x3Xhif7e.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-DNXoAooH.mjs\";\nimport { N as NcActions } from \"./NcActions-CCXgfwjS.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-b_ajZ_nQ.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  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 ? \"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-e6236e50\"]]);\nregister(t23, t50);\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    };\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            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: $props.to && isActive || $props.active ? \"tertiary-on-primary\" : \"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              _: 2\n            }, 1032, [\"boundariesElement\", \"inline\", \"placement\", \"open\", \"forceMenu\", \"defaultIcon\", \"variant\", \"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-f925f8d0\"]]);\nexport {\n  NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-DhsEitgm.mjs.map\n","import '../assets/NcAppNavigationSettings-BmfpoWXN.css';\nimport { defineComponent, ref, useTemplateRef, computed, createElementBlock, openBlock, 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-CzpKEx4V.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-BvLanNaW.mjs\";\nimport { r as register, B as t46, a as t } from \"./_l10n-BSFzy-71.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { i as isLegacy } from \"./legacy-DcjXBL_t.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t46);\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-sbSJX76f.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 }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"ContentCopyIcon\",\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}\n</script>","<!--\n  - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcAppNavigation :aria-label=\"t('activity', 'Activity')\">\n\t\t<template #list>\n\t\t\t<NcAppNavigationItem\n\t\t\t\tv-for=\"navigationItem in navigationList\"\n\t\t\t\t:key=\"navigationItem.id\"\n\t\t\t\t:data-navigation=\"navigationItem.id\"\n\t\t\t\t:to=\"navigationItem.id\"\n\t\t\t\t:name=\"navigationItem.name\">\n\t\t\t\t<template v-if=\"navigationItem.icon\" #icon>\n\t\t\t\t\t<img\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t:src=\"navigationItem.icon\"\n\t\t\t\t\t\tclass=\"navigation-icon\"\n\t\t\t\t\t\trole=\"presentation\">\n\t\t\t\t</template>\n\t\t\t</NcAppNavigationItem>\n\t\t</template>\n\t\t<template #footer>\n\t\t\t<NcAppNavigationSettings :name=\"t('activity', 'Activity settings')\">\n\t\t\t\t<NcCheckboxRadioSwitch type=\"switch\" v-model=\"hasRSSLink\" @update:model-value=\"toggleRSSLink\">\n\t\t\t\t\t{{ t('activity', 'Enable RSS feed') }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<NcInputField\n\t\t\t\t\tv-if=\"hasRSSLink\"\n\t\t\t\t\tv-model=\"rssLink\"\n\t\t\t\t\t:label=\"t('activity', 'RSS feed')\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:trailing-button-label=\"t('activity', 'Copy RSS feed link')\"\n\t\t\t\t\treadonly=\"readonly\"\n\t\t\t\t\t@trailing-button-click=\"copyRSSLink\">\n\t\t\t\t\t<template #trailing-button-icon>\n\t\t\t\t\t\t<IconContentCopy :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcInputField>\n\t\t\t\t<NcButton\n\t\t\t\t\tclass=\"settings-link\"\n\t\t\t\t\t:href=\"personalSettingsLink\"\n\t\t\t\t\t:title=\"t('activity', 'Personal notification settings')\"\n\t\t\t\t\tvariant=\"tertiary\">\n\t\t\t\t\t{{ t('activity', 'Personal notification settings') }}\n\t\t\t\t</NcButton>\n\t\t\t</NcAppNavigationSettings>\n\t\t</template>\n\t</NcAppNavigation>\n</template>\n\n<script setup lang=\"ts\">\nimport axios from '@nextcloud/axios'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport { generateUrl } from '@nextcloud/router'\nimport { computed, ref } from 'vue'\nimport NcAppNavigation from '@nextcloud/vue/components/NcAppNavigation'\nimport NcAppNavigationItem from '@nextcloud/vue/components/NcAppNavigationItem'\nimport NcAppNavigationSettings from '@nextcloud/vue/components/NcAppNavigationSettings'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/components/NcCheckboxRadioSwitch'\nimport NcInputField from '@nextcloud/vue/components/NcInputField'\nimport IconContentCopy from 'vue-material-design-icons/ContentCopy.vue'\nimport logger from '../utils/logger.ts'\n\n// Types\ninterface INavigationEntry {\n\tid: string\n\ticon?: string\n\tname: string\n\turl: string\n}\n\ninterface IActivitySettings {\n\tenableAvatars: boolean\n\trssLink: string\n\tpersonalSettingsLink: string\n}\n\n// Variables and methods\nconst {\n\trssLink: initialRSSLink,\n\tpersonalSettingsLink,\n} = loadState<IActivitySettings>(appName, 'settings')\n\nconst navigationList = loadState<INavigationEntry[]>(appName, 'navigationList')\n\n/**\n * The current rss link, either a valid URL or an empty string\n */\nconst rssLink = ref(initialRSSLink)\n\n/**\n * True if a RSS link is configures / enabled. False otherwise.\n */\nconst hasRSSLink = computed(() => !!rssLink.value)\n\n/**\n * Toggle the enabled state of the RSS link\n */\nasync function toggleRSSLink() {\n\ttry {\n\t\tconst { data } = await axios.post<{ data: { rsslink: string } }>(generateUrl('/apps/activity/settings/feed'), {\n\t\t\tenable: !hasRSSLink.value,\n\t\t})\n\t\trssLink.value = data.data.rsslink\n\t} catch (e) {\n\t\tshowError(t('activity', 'Could not enable RSS link'))\n\t\tlogger.error(e as Error)\n\t}\n}\n\n/**\n * Copy the RSS link to the clipboard\n */\nasync function copyRSSLink() {\n\ttry {\n\t\twindow.navigator.clipboard.writeText(rssLink.value)\n\t\tshowSuccess(t('activity', 'RSS link copied to clipboard'))\n\t} catch (e) {\n\t\tlogger.debug(e as Error)\n\t\t// If the user is running Nextcloud in a non secure context (secure = HTTPS or HTTP on localhost) then Clipboard API fail and the user must copy manually\n\t\twindow.prompt(t('activity', 'Could not copy the RSS link, please copy manually:'), rssLink.value)\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n.app-activity {\n\t.settings-link {\n\t\tmax-width: 100%;\n\t}\n\n\t.app-navigation-entry {\n\t\t&.active .navigation-icon {\n\t\t\tfilter: var(--primary-invert-if-dark);\n\t\t}\n\n\t\t&:not(.active) .navigation-icon {\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n\n\t.navigation-icon {\n\t\theight: 16px;\n\t\twidth: 16px;\n\t}\n}\n</style>\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","createBlock","Teleport","createElementVNode","toDisplayString","unref","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","getLocalizedAppName","activeApp","loadState","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","navigationList","route","useRoute","loading","hasMoreActivites","allActivities","lastActivityLoaded","useInfiniteScroll","loadActivities","groupedActivities","groups","date","headingTitle","navigationEl","since","response","ncAxios","generateOcsUrl","raw","ActivityModel","error","axios","showError","_toDisplayString","NcEmptyContent","NcLoadingIcon","_openBlock","activities","ActivityGroup","NcAppNavigationList","t20","_hoisted_1$1","open","title","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","inject","warn","appNavigationContainerElement","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","getTrapStack","onUnmounted","unsubscribe","toggleNavigation","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","t50","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","t46","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]}