From 13a2db6b079cb6bde48fc176ae7b8bdf3a0ccc5c Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Wed, 13 May 2026 16:19:04 +0200 Subject: [PATCH 1/2] feat(appstore): show new column with groups the app is limited to - resolves: https://github.com/nextcloud/server/issues/30503 If there is enough space we can directly show the groups this app is limited to in the table. This is especially helpful if you want to quickly check your enabled apps. Signed-off-by: Ferdinand Thiessen --- .../src/components/AppTable/AppTable.vue | 27 +++++++++++++-- .../src/components/AppTable/AppTableRow.vue | 24 ++++++++++++++ .../AppstoreSidebar/AppDetailsTab.vue | 16 +++------ .../src/composables/useLimitedGroups.ts | 33 +++++++++++++++++++ apps/appstore/src/store/groups.ts | 25 ++++++++++++++ 5 files changed, 112 insertions(+), 13 deletions(-) create mode 100644 apps/appstore/src/composables/useLimitedGroups.ts diff --git a/apps/appstore/src/components/AppTable/AppTable.vue b/apps/appstore/src/components/AppTable/AppTable.vue index dc29e1d4496fc..1419ff3da1c82 100644 --- a/apps/appstore/src/components/AppTable/AppTable.vue +++ b/apps/appstore/src/components/AppTable/AppTable.vue @@ -19,14 +19,21 @@ const tableElement = useTemplateRef('table') const { width: tableWidth } = useElementSize(tableElement) const isNarrow = computed(() => tableWidth.value < 768) +const isWide = computed(() => tableWidth.value >= 1280) @@ -63,14 +74,26 @@ const isNarrow = computed(() => tableWidth.value < 768) width: 60%; } +.appTable_wide .appTable__colName { + width: 37%; +} + .appTable__colSupport { width: 15%; } +.appTable_wide .appTable__colSupport { + width: 12%; +} + .appTable__colActions { width: 25%; } +.appTable_wide .appTable__colActions { + width: 20%; +} + .appTable_narrow .appTable__colActions { width: calc(3 * var(--default-grid-baseline) + 2 * var(--default-clickable-area)); } diff --git a/apps/appstore/src/components/AppTable/AppTableRow.vue b/apps/appstore/src/components/AppTable/AppTableRow.vue index 1291d3f0a580f..d6fc9a6c1dafd 100644 --- a/apps/appstore/src/components/AppTable/AppTableRow.vue +++ b/apps/appstore/src/components/AppTable/AppTableRow.vue @@ -12,16 +12,19 @@ import { t } from '@nextcloud/l10n' import { computed } from 'vue' import { useRoute } from 'vue-router' import NcButton from '@nextcloud/vue/components/NcButton' +import NcChip from '@nextcloud/vue/components/NcChip' import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon' import AppActions from '../AppActions.vue' import AppIcon from '../AppIcon.vue' import BadgeAppDaemon from '../BadgeAppDaemon.vue' import BadgeAppLevel from '../BadgeAppLevel.vue' import { useActions } from '../../composables/useActions.ts' +import { useLimitedGroups } from '../../composables/useLimitedGroups.ts' const { app, isNarrow } = defineProps<{ app: IAppstoreApp | IAppstoreExApp isNarrow?: boolean + isWide?: boolean }>() const route = useRoute() @@ -46,6 +49,7 @@ const detailsAction = computed(() => ({ inline: false, })) +const groupsAppIsLimitedTo = useLimitedGroups(() => app) const rawActions = useActions(() => app) const actions = computed(() => [ ...rawActions.value, @@ -80,6 +84,21 @@ const actions = computed(() => [ + +
    + +
+
[ color: var(--color-text-maxcontrast); } +.appTableRow__groupsCell { + display: flex; + gap: var(--default-grid-baseline); +} + .appTableRow__actionsCell { display: flex; gap: var(--default-grid-baseline); diff --git a/apps/appstore/src/components/AppstoreSidebar/AppDetailsTab.vue b/apps/appstore/src/components/AppstoreSidebar/AppDetailsTab.vue index 6d26d20e15be7..3d3ccc29aac77 100644 --- a/apps/appstore/src/components/AppstoreSidebar/AppDetailsTab.vue +++ b/apps/appstore/src/components/AppstoreSidebar/AppDetailsTab.vue @@ -16,6 +16,7 @@ import NcNoteCard from '@nextcloud/vue/components/NcNoteCard' import BadgeAppDaemon from '../BadgeAppDaemon.vue' import BadgeAppLevel from '../BadgeAppLevel.vue' import BadgeAppScore from '../BadgeAppScore.vue' +import { useLimitedGroups } from '../../composables/useLimitedGroups.ts' import { useAppsStore } from '../../store/apps.ts' const { app } = defineProps<{ app: IAppstoreApp | IAppstoreExApp }>() @@ -43,15 +44,8 @@ const appAuthors = computed(() => { .join(', ') }) -const groupsAppIsLimitedto = computed(() => { - if (!app.groups) { - return [] - } - - return app.groups.map((group) => ({ id: group, name: group })) -}) - const appstoreUrl = computed(() => `https://apps.nextcloud.com/apps/${app.id}`) +const groupsAppIsLimitedTo = useLimitedGroups(() => app) /** * Further external resources (e.g. website) @@ -144,16 +138,16 @@ function authorName(xmlNode): string { -
+

{{ t('appstore', 'Limited to groups') }}

  • - {{ group.name }} + {{ group.displayName }}
diff --git a/apps/appstore/src/composables/useLimitedGroups.ts b/apps/appstore/src/composables/useLimitedGroups.ts new file mode 100644 index 0000000000000..d2c8360be2359 --- /dev/null +++ b/apps/appstore/src/composables/useLimitedGroups.ts @@ -0,0 +1,33 @@ +/*! + * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import type { MaybeRefOrGetter } from 'vue' +import type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts' + +import { readonly, ref, toValue, watch } from 'vue' +import { useGroupsStore } from '../store/groups.ts' + +/** + * Get the groups an app is limited to and keep it up to date + * + * @param app - The app to get the groups + */ +export function useLimitedGroups(app: MaybeRefOrGetter) { + const groupsStore = useGroupsStore() + const groupsAppIsLimitedTo = ref<{ id: string, displayName: string }[]>([]) + watch(() => toValue(app).groups, async () => { + const groups = toValue(app).groups + if (groups === undefined) { + groupsAppIsLimitedTo.value = [] + return + } + + const promises = groups.map((group) => groupsStore.fetchGroupById(group)) + const results = await Promise.all(promises) + groupsAppIsLimitedTo.value = results.filter(Boolean) as { id: string, displayName: string }[] + }, { immediate: true }) + + return readonly(groupsAppIsLimitedTo) +} diff --git a/apps/appstore/src/store/groups.ts b/apps/appstore/src/store/groups.ts index 703b9587dcc1d..3e29bdf48d56f 100644 --- a/apps/appstore/src/store/groups.ts +++ b/apps/appstore/src/store/groups.ts @@ -8,13 +8,25 @@ import type { NcSelectUsersModel } from '@nextcloud/vue/components/NcSelectUsers import axios from '@nextcloud/axios' import { generateOcsUrl } from '@nextcloud/router' +import PQueue from 'p-queue' import { defineStore } from 'pinia' import { computed, ref } from 'vue' import logger from '../utils/logger.ts' +const queue = new PQueue({ concurrency: 3 }) + export const useGroupsStore = defineStore('groups', () => { const groups = ref(new Map()) + /** + * Get group details by id + * + * @param groupId - The id of the group to fetch + */ + async function fetchGroupById(groupId: string) { + return await queue.add(() => internalFetchGroupById(groupId)) + } + /** * Search the API for groups matching the query * @@ -59,5 +71,18 @@ export const useGroupsStore = defineStore('groups', () => { groups: computed(() => Array.from(groups.value.values())), searchGroups, getGroupById, + fetchGroupById, + } + + /** + * Handle fetching group details by id + * + * @param groupId - The id of the group to fetch + */ + async function internalFetchGroupById(groupId: string) { + if (!groups.value.has(groupId)) { + await searchGroups(groupId) + } + return groups.value.get(groupId) } }) From 0062826b7b8f734c68f68f0c56f8b6e8da415d7a Mon Sep 17 00:00:00 2001 From: nextcloud-command Date: Sat, 16 May 2026 08:13:11 +0000 Subject: [PATCH 2/2] chore(assets): Recompile assets Signed-off-by: nextcloud-command --- dist/AppstoreDiscover-CsNEGXg6.chunk.mjs | 2 +- ...appstore-appstore-main-fIugqNvM.chunk.css} | 2 +- dist/appstore-main.css | 2 +- dist/appstore-main.mjs | 46 +++++++++---------- dist/appstore-main.mjs.map | 2 +- 5 files changed, 27 insertions(+), 27 deletions(-) rename dist/{appstore-appstore-main-eATUKVIF.chunk.css => appstore-appstore-main-fIugqNvM.chunk.css} (74%) diff --git a/dist/AppstoreDiscover-CsNEGXg6.chunk.mjs b/dist/AppstoreDiscover-CsNEGXg6.chunk.mjs index c3e42924978be..97c41bceaca85 100644 --- a/dist/AppstoreDiscover-CsNEGXg6.chunk.mjs +++ b/dist/AppstoreDiscover-CsNEGXg6.chunk.mjs @@ -1,3 +1,3 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/DiscoverTypePost-CceEAg_E.chunk.mjs'),window.OC.filePath('', '', 'dist/mdi-BjKyjJ9m.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-JDdFcric.chunk.mjs'),window.OC.filePath('', '', 'dist/preload-helper-CX9gtE7n.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-lLWc6zap.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CPJIGC2H.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CziSTDUD.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Web-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-ArrowRight-D7L4ZBkR.chunk.css'),window.OC.filePath('', '', 'dist/common-mdi-Jq77EThs.chunk.css'),window.OC.filePath('', '', 'dist/index-DZVjGEW7.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-main.mjs'),window.OC.filePath('', '', 'dist/pinia-Bx2CoJV6.chunk.mjs'),window.OC.filePath('', '', 'dist/NcContent-D69ktIEB-D1gmP6xt.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-kyWZ3UFC-CV6Hvf6d.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcModal-kyWZ3UFC-CBh34man.chunk.css'),window.OC.filePath('', '', 'dist/common-NcContent-D69ktIEB-Di5xp43u.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-Bexowggr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-DdQinVMt.chunk.css'),window.OC.filePath('', '', 'dist/NcTextArea-CseOD9aM-Dr3vykGl.chunk.mjs'),window.OC.filePath('', '', 'dist/index-Ck6YKth1.chunk.mjs'),window.OC.filePath('', '', 'dist/TrashCanOutline-B-GxU5E3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-B9mkBKAR.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-rkgZntG8.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-D79n0IQ6.chunk.css'),window.OC.filePath('', '', 'dist/NcInputField-CPL-a_MM-WQA5jsOf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-CPL-a_MM-Bsffit-T.chunk.css'),window.OC.filePath('', '', 'dist/index-C6zIcU-d.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-ruClKRzS-DbbQH8Qz.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BpWtOFbq.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BUyb4W9M.chunk.mjs'),window.OC.filePath('', '', 'dist/colors-BfjxNgsx-CknPG731.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-JWiuiAXe-FPvdKWWr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-JWiuiAXe-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-B4upiZjL-CDStkW4e.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-DS-ziNw6.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-ruClKRzS-D_G6wUEW.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CDgWCt_m-DHBOrQzP.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CDgWCt_m-DoZPzs7J.chunk.css'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-5gl8Syfa-BJLyzFWC.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BOLzDHBJ-Ocef6zuk.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BOLzDHBJ-DxPSRxK-.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-B-4HNjYH-CTxKDSgI.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-5gl8Syfa-CtBAA7-7.chunk.css'),window.OC.filePath('', '', 'dist/common-NcTextArea-CseOD9aM-2PqDnzma.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-D0gFwEVl-DUWN1FjH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-D0gFwEVl-CQwJiKOs.chunk.css'),window.OC.filePath('', '', 'dist/Plus-BNgsg9Vm.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Plus-Som-mR4B.chunk.css'),window.OC.filePath('', '', 'dist/index-blkJtiu8.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-Bwe91UZ7.chunk.css'),window.OC.filePath('', '', 'dist/index-CJNrZ-7b.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index--xyrXnuf.chunk.css'),window.OC.filePath('', '', 'dist/NcEmojiPicker-DGgqTnHp-BL4_K0PB.chunk.mjs'),window.OC.filePath('', '', 'dist/emoji-V9hqFgPs-BoVPPNKM.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmojiPicker-DGgqTnHp-ChsL0oK6.chunk.css'),window.OC.filePath('', '', 'dist/index-DziQfluU.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index--M3XHucY.chunk.css'),window.OC.filePath('', '', 'dist/index-DIXoyWI1.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-DK2nV6zf.chunk.css'),window.OC.filePath('', '', 'dist/NcSelectTags-B3_tcJAf-CNiunM5T.chunk.mjs'),window.OC.filePath('', '', 'dist/ContentCopy-DS0QzQtq.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ContentCopy-D7mIRwIy.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BE6yD-R0-BI6ZwX-N.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-BE6yD-R0-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/modulepreload-polyfill-BxzAKjcf.chunk.mjs'),window.OC.filePath('', '', 'dist/index-C1xmmKTZ-BdqLiU2K.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BeaM7LiW.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-appstore-main-eATUKVIF.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-Ct2RnclR-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/common-NcGuestContent-j8ai4O1K-D0718NyY.chunk.css'),window.OC.filePath('', '', 'dist/common-DiscoverTypePost-CpeIz2iE.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeCarousel-BwKQ9_CZ.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeCarousel--4FoDSYW.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeShowcase-BPCZn_Sc.chunk.mjs'),window.OC.filePath('', '', 'dist/AppstoreSearch-9wHV7La2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-AppstoreSearch-CAiP7JM1.chunk.css'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeShowcase-BsnvP-Fa.chunk.css')])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/DiscoverTypePost-CceEAg_E.chunk.mjs'),window.OC.filePath('', '', 'dist/mdi-BjKyjJ9m.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-JDdFcric.chunk.mjs'),window.OC.filePath('', '', 'dist/preload-helper-CX9gtE7n.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-lLWc6zap.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CPJIGC2H.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CziSTDUD.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Web-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-ArrowRight-D7L4ZBkR.chunk.css'),window.OC.filePath('', '', 'dist/common-mdi-Jq77EThs.chunk.css'),window.OC.filePath('', '', 'dist/index-DZVjGEW7.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-main.mjs'),window.OC.filePath('', '', 'dist/pinia-Bx2CoJV6.chunk.mjs'),window.OC.filePath('', '', 'dist/NcContent-D69ktIEB-D1gmP6xt.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-kyWZ3UFC-CV6Hvf6d.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcModal-kyWZ3UFC-CBh34man.chunk.css'),window.OC.filePath('', '', 'dist/common-NcContent-D69ktIEB-Di5xp43u.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-Bexowggr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-DdQinVMt.chunk.css'),window.OC.filePath('', '', 'dist/NcTextArea-CseOD9aM-Dr3vykGl.chunk.mjs'),window.OC.filePath('', '', 'dist/index-Ck6YKth1.chunk.mjs'),window.OC.filePath('', '', 'dist/TrashCanOutline-B-GxU5E3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-B9mkBKAR.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-rkgZntG8.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-D79n0IQ6.chunk.css'),window.OC.filePath('', '', 'dist/NcInputField-CPL-a_MM-WQA5jsOf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-CPL-a_MM-Bsffit-T.chunk.css'),window.OC.filePath('', '', 'dist/index-C6zIcU-d.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-ruClKRzS-DbbQH8Qz.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BpWtOFbq.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BUyb4W9M.chunk.mjs'),window.OC.filePath('', '', 'dist/colors-BfjxNgsx-CknPG731.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-JWiuiAXe-FPvdKWWr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-JWiuiAXe-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-B4upiZjL-CDStkW4e.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-DS-ziNw6.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-ruClKRzS-D_G6wUEW.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CDgWCt_m-DHBOrQzP.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CDgWCt_m-DoZPzs7J.chunk.css'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-5gl8Syfa-BJLyzFWC.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BOLzDHBJ-Ocef6zuk.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BOLzDHBJ-DxPSRxK-.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-B-4HNjYH-CTxKDSgI.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-5gl8Syfa-CtBAA7-7.chunk.css'),window.OC.filePath('', '', 'dist/common-NcTextArea-CseOD9aM-2PqDnzma.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-D0gFwEVl-DUWN1FjH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-D0gFwEVl-CQwJiKOs.chunk.css'),window.OC.filePath('', '', 'dist/Plus-BNgsg9Vm.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Plus-Som-mR4B.chunk.css'),window.OC.filePath('', '', 'dist/index-blkJtiu8.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-Bwe91UZ7.chunk.css'),window.OC.filePath('', '', 'dist/index-CJNrZ-7b.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index--xyrXnuf.chunk.css'),window.OC.filePath('', '', 'dist/NcEmojiPicker-DGgqTnHp-BL4_K0PB.chunk.mjs'),window.OC.filePath('', '', 'dist/emoji-V9hqFgPs-BoVPPNKM.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmojiPicker-DGgqTnHp-ChsL0oK6.chunk.css'),window.OC.filePath('', '', 'dist/index-DziQfluU.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index--M3XHucY.chunk.css'),window.OC.filePath('', '', 'dist/index-DIXoyWI1.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-DK2nV6zf.chunk.css'),window.OC.filePath('', '', 'dist/NcSelectTags-B3_tcJAf-CNiunM5T.chunk.mjs'),window.OC.filePath('', '', 'dist/ContentCopy-DS0QzQtq.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ContentCopy-D7mIRwIy.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BE6yD-R0-BI6ZwX-N.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-BE6yD-R0-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/modulepreload-polyfill-BxzAKjcf.chunk.mjs'),window.OC.filePath('', '', 'dist/index-C1xmmKTZ-BdqLiU2K.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BeaM7LiW.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-appstore-main-fIugqNvM.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-Ct2RnclR-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/common-NcGuestContent-j8ai4O1K-D0718NyY.chunk.css'),window.OC.filePath('', '', 'dist/common-DiscoverTypePost-CpeIz2iE.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeCarousel-BwKQ9_CZ.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeCarousel--4FoDSYW.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeShowcase-BPCZn_Sc.chunk.mjs'),window.OC.filePath('', '', 'dist/AppstoreSearch-9wHV7La2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-AppstoreSearch-CAiP7JM1.chunk.css'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeShowcase-BsnvP-Fa.chunk.css')])))=>i.map(i=>d[i]); import{b as _,A as x,o as i,c as u,w as v,k as y,u as e,f as h,F as A,B as N,m as C,C as I,l as w,a as d,_ as l}from"./preload-helper-CX9gtE7n.chunk.mjs";import{e as L}from"./mdi-BjKyjJ9m.chunk.mjs";import{a as O}from"./index-C1xmmKTZ-BdqLiU2K.chunk.mjs";import{t as p}from"./translation-DoG5ZELJ-CPJIGC2H.chunk.mjs";import{N as D}from"./NcEmptyContent-CDgWCt_m-DHBOrQzP.chunk.mjs";import{N as P}from"./Web-lLWc6zap.chunk.mjs";import{N as R}from"./TrashCanOutline-B-GxU5E3.chunk.mjs";import{c as T}from"./index-BpWtOFbq.chunk.mjs";import{c as V}from"./index-CziSTDUD.chunk.mjs";import{l as g}from"./appstore-main.mjs";import{_ as b}from"./public-C1mLBHT3.chunk.mjs";import"./ArrowRight-JDdFcric.chunk.mjs";import"./index-C6zIcU-d.chunk.mjs";import"./NcModal-kyWZ3UFC-CV6Hvf6d.chunk.mjs";import"./util-BUyb4W9M.chunk.mjs";import"./pinia-Bx2CoJV6.chunk.mjs";import"./NcContent-D69ktIEB-D1gmP6xt.chunk.mjs";import"./PencilOutline-Bexowggr.chunk.mjs";import"./NcTextArea-CseOD9aM-Dr3vykGl.chunk.mjs";import"./index-Ck6YKth1.chunk.mjs";import"./TrayArrowDown-rkgZntG8.chunk.mjs";import"./NcInputField-CPL-a_MM-WQA5jsOf.chunk.mjs";import"./NcAvatar-ruClKRzS-DbbQH8Qz.chunk.mjs";import"./colors-BfjxNgsx-CknPG731.chunk.mjs";import"./NcUserStatusIcon-JWiuiAXe-FPvdKWWr.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-B4upiZjL-CDStkW4e.chunk.mjs";import"./NcBreadcrumbs-5gl8Syfa-BJLyzFWC.chunk.mjs";import"./NcPasswordField-BOLzDHBJ-Ocef6zuk.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-B-4HNjYH-CTxKDSgI.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-D0gFwEVl-DUWN1FjH.chunk.mjs";import"./Plus-BNgsg9Vm.chunk.mjs";import"./index-blkJtiu8.chunk.mjs";import"./index-CJNrZ-7b.chunk.mjs";import"./NcEmojiPicker-DGgqTnHp-BL4_K0PB.chunk.mjs";import"./emoji-V9hqFgPs-BoVPPNKM.chunk.mjs";import"./index-DziQfluU.chunk.mjs";/* empty css */import"./index-DIXoyWI1.chunk.mjs";import"./NcSelectTags-B3_tcJAf-CNiunM5T.chunk.mjs";import"./ContentCopy-DS0QzQtq.chunk.mjs";import"./NcUserBubble-BE6yD-R0-BI6ZwX-N.chunk.mjs";import"./index-DZVjGEW7.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-BeaM7LiW.chunk.mjs";function z(o){const t={...o};if(t.date&&(t.date=Date.parse(t.date)),t.expiryDate&&(t.expiryDate=Date.parse(t.expiryDate)),t.type==="post"||t.type==="showcase"||t.type==="carousel")return t;throw new Error(`Invalid argument, app discover element with type ${o.type??"unknown"} is unknown`)}function F(o){const t=Date.now();return!(o.date&&o.date>t||o.expiryDate&&o.expiryDate(s.order??1/0)<(n.order??1/0)?-1:1),a}function q(o){for(let t=o.length-1;t>0;t--){const a=Math.floor(Math.random()*(t+1));[o[t],o[a]]=[o[a],o[t]]}return o}async function B(){const o=await T.get(V("/apps/appstore/api/v1/discover")),{data:t}=o.data.ocs;return t}const U={key:2,class:"app-discover"},$=_({__name:"AppstoreDiscover",setup(o){const t=d(()=>l(()=>import("./DiscoverTypePost-CceEAg_E.chunk.mjs").then(r=>r.a),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]),import.meta.url)),a=d(()=>l(()=>import("./DiscoverTypeCarousel-BwKQ9_CZ.chunk.mjs"),__vite__mapDeps([75,3,1,2,4,5,6,7,8,9,10,0,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,76]),import.meta.url)),s=d(()=>l(()=>import("./DiscoverTypeShowcase-BPCZn_Sc.chunk.mjs"),__vite__mapDeps([77,11,3,78,5,6,2,4,7,8,9,40,41,22,23,12,13,14,15,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,1,10,61,62,63,64,65,66,67,68,69,70,71,72,73,79,0,74,80]),import.meta.url)),n=w(!1),m=w([]);x(async()=>{try{m.value=await M()}catch(r){n.value=!0,g.error(r),O(p("appstore","Could not load app discover section"))}});function k(r){return r==="post"?t:r==="carousel"?a:r==="showcase"?s:_({mounted:()=>g.error("Unknown component requested ",r),render:f=>f("div",p("appstore","Could not render element"))})}return(r,f)=>n.value?(i(),u(e(D),{key:0,name:e(p)("appstore","Nothing to show"),description:e(p)("appstore","Could not load section content from app store.")},{icon:v(()=>[y(e(P),{path:e(L),size:64},null,8,["path"])]),_:1},8,["name","description"])):m.value.length===0?(i(),u(e(D),{key:1,name:e(p)("appstore","Loading"),description:e(p)("appstore","Fetching the latest news…")},{icon:v(()=>[y(e(R),{size:64})]),_:1},8,["name","description"])):(i(),h("div",U,[(i(!0),h(A,null,N(m.value,(c,E)=>(i(),u(I(k(c.type)),C({key:c.id??E},{ref_for:!0},c),null,16))),128))]))}}),Vt=b($,[["__scopeId","data-v-daf7ec3e"]]);export{Vt as default}; //# sourceMappingURL=AppstoreDiscover-CsNEGXg6.chunk.mjs.map diff --git a/dist/appstore-appstore-main-eATUKVIF.chunk.css b/dist/appstore-appstore-main-fIugqNvM.chunk.css similarity index 74% rename from dist/appstore-appstore-main-eATUKVIF.chunk.css rename to dist/appstore-appstore-main-fIugqNvM.chunk.css index 57a52cbfeeb7d..2ce1dba77e2d6 100644 --- a/dist/appstore-appstore-main-eATUKVIF.chunk.css +++ b/dist/appstore-appstore-main-fIugqNvM.chunk.css @@ -1 +1 @@ -@charset "UTF-8";._DaemonSelectionDialogList_x38pt_2{max-height:350px;overflow-y:scroll;padding:2rem}._appstoreNavigation__categories_loading_1fsn2_2{flex:1;display:flex;align-items:center;justify-content:center}._appActions_lrf6h_2{display:flex;flex-direction:row;gap:calc(2 * var(--default-grid-baseline))}._appDeployDaemonTab_1xkhp_2{padding:20px}._appDeployDaemonTab_1xkhp_2 h4{font-weight:700;margin:10px auto}.settings-markdown[data-v-cf1f9874] a{text-decoration:underline}.settings-markdown[data-v-cf1f9874] a:after{content:"↗";padding-inline:calc(var(--default-grid-baseline) / 2)}.settings-markdown[data-v-cf1f9874] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-cf1f9874] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-cf1f9874] li{position:relative}.settings-markdown[data-v-cf1f9874] ul,.settings-markdown[data-v-cf1f9874] ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown[data-v-cf1f9874] ul li{list-style-type:disc}.settings-markdown[data-v-cf1f9874] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-cf1f9874] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-cf1f9874] blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}._appDescriptionTab_118mz_2{padding:12px}._appDaemonBadge_1n34s_2{color:var(--color-text-maxcontrast);background-color:transparent;border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}._appLevelBadge_q2et3_2{color:var(--color-text-maxcontrast);background-color:transparent;border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:var(--default-grid-baseline);padding:3px 6px;width:fit-content}._appLevelBadge__supported_q2et3_15{background-color:var(--color-success);border-color:var(--color-border-success);color:var(--color-success-text)}._badgeAppScore_1t97c_2{display:inline-flex;color:var(--color-favorite, #a08b00)}._badgeAppScore_1t97c_2>*{vertical-align:text-bottom}._appstoreDetailsTab__badges_4x76r_2{display:flex;flex-direction:row;gap:12px}._appstoreDetailsTab__section_4x76r_8{margin-top:15px}._appstoreDetailsTab__section_4x76r_8 h4{font-size:16px;font-weight:700;margin-block-end:5px}._appstoreDetailsTab__sectionDetails_4x76r_18{color:var(--color-text-maxcontrast)}._appstoreDetailsTab__missingDependencies_4x76r_22{list-style:disc;padding-block:.5lh 0;padding-inline:1em 0}._appstoreDetailsTab__resourcesLink_4x76r_28{text-decoration:underline}._appstoreDetailsTab__resourcesItem_4x76r_32{padding-inline-start:20px}._appstoreDetailsTab__resourcesItem_4x76r_32:before{width:5px;height:5px;border-radius:100%;background-color:var(--color-main-text);content:"";float:inline-start;margin-inline-start:-13px;position:relative;top:10px}._appReleasesTab__heading_9xawz_2{border-bottom:1px solid var(--color-border);font-size:20px}._appReleasesTab__text_9xawz_7 h4{font-size:19px}._appReleasesTab__text_9xawz_7 h5{font-size:17px}._appstoreSidebar_withScreenshot_1224s_3 .app-sidebar-header__figure{background-size:cover}._appstoreSidebar__fallbackIcon_1224s_9{width:100%;height:100%}._appstoreApp__content_1pi7x_2{padding-inline-end:var(--body-container-margin);position:relative}._appstoreApp__heading_1pi7x_7{margin-block-start:var(--app-navigation-padding);margin-inline-start:calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2);min-height:var(--default-clickable-area);line-height:var(--default-clickable-area);vertical-align:center}._limitToGroupDialog__input_sofp5_2{width:100%;padding-block:1lh calc(2 * var(--default-clickable-area) + var(--default-grid-baseline))}._appIcon_mcsmb_2{display:inline-flex;justify-content:center}._appIcon__image_mcsmb_7{filter:var(--invert-if-dark);object-fit:cover;height:100%;width:100%}._appTableRow_1g2vc_2{height:calc(var(--default-clickable-area) + var(--default-grid-baseline))}._appTableRow_1g2vc_2 td{padding-block:var(--default-grid-baseline);vertical-align:middle}._appTableRow__nameCell_1g2vc_11{padding-inline:var(--default-grid-baseline)}._appTableRow__levelCell_1g2vc_16{display:flex;align-items:center;gap:var(--default-grid-baseline)}._appTableRow__versionCell_1g2vc_22{color:var(--color-text-maxcontrast)}._appTableRow__actionsCell_1g2vc_26{display:flex;gap:var(--default-grid-baseline);justify-content:end}._appTableRow__actionsCellActions_1g2vc_32{width:100%;justify-content:end}._appTable_14cge_2{table-layout:fixed;width:100%}._appTable__colName_14cge_7{width:45%}._appTable_narrow_14cge_11 ._appTable__colName_14cge_7{width:60%}._appTable__colSupport_14cge_15{width:15%}._appTable__colActions_14cge_19{width:25%}._appTable_narrow_14cge_11 ._appTable__colActions_14cge_19{width:calc(3 * var(--default-grid-baseline) + 2 * var(--default-clickable-area))}._appstoreBundles__header_oplvy_2{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--default-clickable-area);padding-inline:var(--default-grid-baseline)}._appstoreBundles__appTable_oplvy_11:last-of-type{margin-bottom:var(--body-container-margin)} +@charset "UTF-8";._DaemonSelectionDialogList_x38pt_2{max-height:350px;overflow-y:scroll;padding:2rem}._appstoreNavigation__categories_loading_1fsn2_2{flex:1;display:flex;align-items:center;justify-content:center}._appActions_lrf6h_2{display:flex;flex-direction:row;gap:calc(2 * var(--default-grid-baseline))}._appDeployDaemonTab_1xkhp_2{padding:20px}._appDeployDaemonTab_1xkhp_2 h4{font-weight:700;margin:10px auto}.settings-markdown[data-v-cf1f9874] a{text-decoration:underline}.settings-markdown[data-v-cf1f9874] a:after{content:"↗";padding-inline:calc(var(--default-grid-baseline) / 2)}.settings-markdown[data-v-cf1f9874] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-cf1f9874] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-cf1f9874] li{position:relative}.settings-markdown[data-v-cf1f9874] ul,.settings-markdown[data-v-cf1f9874] ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown[data-v-cf1f9874] ul li{list-style-type:disc}.settings-markdown[data-v-cf1f9874] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-cf1f9874] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-cf1f9874] blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}._appDescriptionTab_118mz_2{padding:12px}._appDaemonBadge_1n34s_2{color:var(--color-text-maxcontrast);background-color:transparent;border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}._appLevelBadge_q2et3_2{color:var(--color-text-maxcontrast);background-color:transparent;border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:var(--default-grid-baseline);padding:3px 6px;width:fit-content}._appLevelBadge__supported_q2et3_15{background-color:var(--color-success);border-color:var(--color-border-success);color:var(--color-success-text)}._badgeAppScore_1t97c_2{display:inline-flex;color:var(--color-favorite, #a08b00)}._badgeAppScore_1t97c_2>*{vertical-align:text-bottom}._appstoreDetailsTab__badges_4x76r_2{display:flex;flex-direction:row;gap:12px}._appstoreDetailsTab__section_4x76r_8{margin-top:15px}._appstoreDetailsTab__section_4x76r_8 h4{font-size:16px;font-weight:700;margin-block-end:5px}._appstoreDetailsTab__sectionDetails_4x76r_18{color:var(--color-text-maxcontrast)}._appstoreDetailsTab__missingDependencies_4x76r_22{list-style:disc;padding-block:.5lh 0;padding-inline:1em 0}._appstoreDetailsTab__resourcesLink_4x76r_28{text-decoration:underline}._appstoreDetailsTab__resourcesItem_4x76r_32{padding-inline-start:20px}._appstoreDetailsTab__resourcesItem_4x76r_32:before{width:5px;height:5px;border-radius:100%;background-color:var(--color-main-text);content:"";float:inline-start;margin-inline-start:-13px;position:relative;top:10px}._appReleasesTab__heading_9xawz_2{border-bottom:1px solid var(--color-border);font-size:20px}._appReleasesTab__text_9xawz_7 h4{font-size:19px}._appReleasesTab__text_9xawz_7 h5{font-size:17px}._appstoreSidebar_withScreenshot_1224s_3 .app-sidebar-header__figure{background-size:cover}._appstoreSidebar__fallbackIcon_1224s_9{width:100%;height:100%}._appstoreApp__content_1pi7x_2{padding-inline-end:var(--body-container-margin);position:relative}._appstoreApp__heading_1pi7x_7{margin-block-start:var(--app-navigation-padding);margin-inline-start:calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2);min-height:var(--default-clickable-area);line-height:var(--default-clickable-area);vertical-align:center}._limitToGroupDialog__input_sofp5_2{width:100%;padding-block:1lh calc(2 * var(--default-clickable-area) + var(--default-grid-baseline))}._appIcon_mcsmb_2{display:inline-flex;justify-content:center}._appIcon__image_mcsmb_7{filter:var(--invert-if-dark);object-fit:cover;height:100%;width:100%}._appTableRow_yekky_2{height:calc(var(--default-clickable-area) + var(--default-grid-baseline))}._appTableRow_yekky_2 td{padding-block:var(--default-grid-baseline);vertical-align:middle}._appTableRow__nameCell_yekky_11{padding-inline:var(--default-grid-baseline)}._appTableRow__levelCell_yekky_16{display:flex;align-items:center;gap:var(--default-grid-baseline)}._appTableRow__versionCell_yekky_22{color:var(--color-text-maxcontrast)}._appTableRow__groupsCell_yekky_26{display:flex;gap:var(--default-grid-baseline)}._appTableRow__actionsCell_yekky_31{display:flex;gap:var(--default-grid-baseline);justify-content:end}._appTableRow__actionsCellActions_yekky_37{width:100%;justify-content:end}._appTable_ss46x_2{table-layout:fixed;width:100%}._appTable__colName_ss46x_7{width:45%}._appTable_narrow_ss46x_11 ._appTable__colName_ss46x_7{width:60%}._appTable_wide_ss46x_15 ._appTable__colName_ss46x_7{width:37%}._appTable__colSupport_ss46x_19{width:15%}._appTable_wide_ss46x_15 ._appTable__colSupport_ss46x_19{width:12%}._appTable__colActions_ss46x_27{width:25%}._appTable_wide_ss46x_15 ._appTable__colActions_ss46x_27{width:20%}._appTable_narrow_ss46x_11 ._appTable__colActions_ss46x_27{width:calc(3 * var(--default-grid-baseline) + 2 * var(--default-clickable-area))}._appstoreBundles__header_oplvy_2{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--default-clickable-area);padding-inline:var(--default-grid-baseline)}._appstoreBundles__appTable_oplvy_11:last-of-type{margin-bottom:var(--body-container-margin)} diff --git a/dist/appstore-main.css b/dist/appstore-main.css index e833ce06d355c..da561750b1f6a 100644 --- a/dist/appstore-main.css +++ b/dist/appstore-main.css @@ -1,5 +1,5 @@ /* extracted by css-entry-points-plugin */ -@import './appstore-appstore-main-eATUKVIF.chunk.css'; +@import './appstore-appstore-main-fIugqNvM.chunk.css'; @import './common-Web-C_oBIsvc.chunk.css'; @import './common-ArrowRight-D7L4ZBkR.chunk.css'; @import './common-NcModal-kyWZ3UFC-CBh34man.chunk.css'; diff --git a/dist/appstore-main.mjs b/dist/appstore-main.mjs index 76c8b4628f064..849718f9f0627 100644 --- a/dist/appstore-main.mjs +++ b/dist/appstore-main.mjs @@ -1,51 +1,51 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/AppstoreDiscover-CsNEGXg6.chunk.mjs'),window.OC.filePath('', '', 'dist/preload-helper-CX9gtE7n.chunk.mjs'),window.OC.filePath('', '', 'dist/mdi-BjKyjJ9m.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-JDdFcric.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-lLWc6zap.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CPJIGC2H.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CziSTDUD.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Web-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-ArrowRight-D7L4ZBkR.chunk.css'),window.OC.filePath('', '', 'dist/common-mdi-Jq77EThs.chunk.css'),window.OC.filePath('', '', 'dist/index-C1xmmKTZ-BdqLiU2K.chunk.mjs'),window.OC.filePath('', '', 'dist/index-C6zIcU-d.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-kyWZ3UFC-CV6Hvf6d.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcModal-kyWZ3UFC-CBh34man.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-B-GxU5E3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CDgWCt_m-DHBOrQzP.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CDgWCt_m-DoZPzs7J.chunk.css'),window.OC.filePath('', '', 'dist/index-BpWtOFbq.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BUyb4W9M.chunk.mjs'),window.OC.filePath('', '', 'dist/pinia-Bx2CoJV6.chunk.mjs'),window.OC.filePath('', '', 'dist/NcContent-D69ktIEB-D1gmP6xt.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcContent-D69ktIEB-Di5xp43u.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-Bexowggr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-DdQinVMt.chunk.css'),window.OC.filePath('', '', 'dist/NcTextArea-CseOD9aM-Dr3vykGl.chunk.mjs'),window.OC.filePath('', '', 'dist/index-Ck6YKth1.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-B9mkBKAR.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-rkgZntG8.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-D79n0IQ6.chunk.css'),window.OC.filePath('', '', 'dist/NcInputField-CPL-a_MM-WQA5jsOf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-CPL-a_MM-Bsffit-T.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-ruClKRzS-DbbQH8Qz.chunk.mjs'),window.OC.filePath('', '', 'dist/colors-BfjxNgsx-CknPG731.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-JWiuiAXe-FPvdKWWr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-JWiuiAXe-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-B4upiZjL-CDStkW4e.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-DS-ziNw6.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-ruClKRzS-D_G6wUEW.chunk.css'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-5gl8Syfa-BJLyzFWC.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BOLzDHBJ-Ocef6zuk.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BOLzDHBJ-DxPSRxK-.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-B-4HNjYH-CTxKDSgI.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-5gl8Syfa-CtBAA7-7.chunk.css'),window.OC.filePath('', '', 'dist/common-NcTextArea-CseOD9aM-2PqDnzma.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-D0gFwEVl-DUWN1FjH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-D0gFwEVl-CQwJiKOs.chunk.css'),window.OC.filePath('', '', 'dist/Plus-BNgsg9Vm.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Plus-Som-mR4B.chunk.css'),window.OC.filePath('', '', 'dist/index-blkJtiu8.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-Bwe91UZ7.chunk.css'),window.OC.filePath('', '', 'dist/index-CJNrZ-7b.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index--xyrXnuf.chunk.css'),window.OC.filePath('', '', 'dist/NcEmojiPicker-DGgqTnHp-BL4_K0PB.chunk.mjs'),window.OC.filePath('', '', 'dist/emoji-V9hqFgPs-BoVPPNKM.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmojiPicker-DGgqTnHp-ChsL0oK6.chunk.css'),window.OC.filePath('', '', 'dist/index-DziQfluU.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index--M3XHucY.chunk.css'),window.OC.filePath('', '', 'dist/index-DIXoyWI1.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-DK2nV6zf.chunk.css'),window.OC.filePath('', '', 'dist/NcSelectTags-B3_tcJAf-CNiunM5T.chunk.mjs'),window.OC.filePath('', '', 'dist/ContentCopy-DS0QzQtq.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ContentCopy-D7mIRwIy.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BE6yD-R0-BI6ZwX-N.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-BE6yD-R0-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/index-DZVjGEW7.chunk.mjs'),window.OC.filePath('', '', 'dist/modulepreload-polyfill-BxzAKjcf.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BeaM7LiW.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-AppstoreDiscover-D5SWaP1O.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-Ct2RnclR-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/common-NcGuestContent-j8ai4O1K-D0718NyY.chunk.css'),window.OC.filePath('', '', 'dist/AppstoreSearch-9wHV7La2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-AppstoreSearch-CAiP7JM1.chunk.css'),window.OC.filePath('', '', 'dist/AppstoreBrowse-orjufD6l.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-AppstoreBrowse-D_DYi-hc.chunk.css')])))=>i.map(i=>d[i]); -import{d as be,c as Ht}from"./pinia-Bx2CoJV6.chunk.mjs";import{b as B,o as d,f as A,g as _,t as x,i as jt,y as v,c as S,u as o,N as Qt,w as y,j as q,v as w,F as G,B as Q,k,l as E,a9 as Ut,p as ct,z as me,h as L,q as Me,a8 as Be,U as Ft,a as Vt,_ as ie,H as Wt,D as Xt,r as Yt,e as Jt}from"./preload-helper-CX9gtE7n.chunk.mjs";import{t as u,p as Kt,g as ea}from"./translation-DoG5ZELJ-CPJIGC2H.chunk.mjs";import{N as re,v as Oe,u as ke,Q as ta,T as aa}from"./ArrowRight-JDdFcric.chunk.mjs";import{N as na,a as sa}from"./NcContent-D69ktIEB-D1gmP6xt.chunk.mjs";import{c as Ge,f as ut,g as la,b as K}from"./index-CziSTDUD.chunk.mjs";import{_ as N,l as ee}from"./public-C1mLBHT3.chunk.mjs";import{N as ra}from"./PencilOutline-Bexowggr.chunk.mjs";import{_ as dt,N as C}from"./Web-lLWc6zap.chunk.mjs";import{c as ia,d as J,e as oa,f as pa,N as ca}from"./NcTextArea-CseOD9aM-Dr3vykGl.chunk.mjs";import{P as ua}from"./NcBreadcrumbs-5gl8Syfa-BJLyzFWC.chunk.mjs";import{N as da,a as ha,_ as ga}from"./NcDateTime.vue_vue_type_script_setup_true_lang-B4upiZjL-CDStkW4e.chunk.mjs";import{M as ma,a as fa}from"./NcModal-kyWZ3UFC-CV6Hvf6d.chunk.mjs";/* empty css */import"./NcAvatar-ruClKRzS-DbbQH8Qz.chunk.mjs";import{N as ze}from"./TrashCanOutline-B-GxU5E3.chunk.mjs";import"./NcCheckboxRadioSwitch-D0gFwEVl-DUWN1FjH.chunk.mjs";import"./Plus-BNgsg9Vm.chunk.mjs";import"./index-blkJtiu8.chunk.mjs";import{N as ba,a as ka}from"./TrayArrowDown-rkgZntG8.chunk.mjs";import"./index-CJNrZ-7b.chunk.mjs";import{N as ht,s as gt}from"./index-C6zIcU-d.chunk.mjs";import"./index-Ck6YKth1.chunk.mjs";import"./NcEmojiPicker-DGgqTnHp-BL4_K0PB.chunk.mjs";import{N as Ze}from"./NcEmptyContent-CDgWCt_m-DHBOrQzP.chunk.mjs";import"./index-DziQfluU.chunk.mjs";/* empty css */import"./NcInputField-CPL-a_MM-WQA5jsOf.chunk.mjs";import{J as _a,K as ya,L as wa,M as va,O as xa,P as $a,Q as Ta,R as Aa,S as Sa,T as Ra,U as Da,w as za,V as Ia,D as Ae,W as Ca,X as La,Y as He,y as je,Z as mt,_ as Ea,$ as ft,q as bt,a0 as Ba,a1 as Pa,a2 as qa,a3 as kt,a4 as Na,a5 as Ma,a6 as _t,N as Oa,a7 as Ga,a8 as Za,a9 as Ha,aa as ja,ab as Qa,ac as Ua,ad as Fa,l as Va,ae as Wa,af as Xa,v as Ya,ag as Ja}from"./mdi-BjKyjJ9m.chunk.mjs";import"./NcPasswordField-BOLzDHBJ-Ocef6zuk.chunk.mjs";import"./index-DIXoyWI1.chunk.mjs";import{c as M}from"./index-BpWtOFbq.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-B-4HNjYH-CTxKDSgI.chunk.mjs";import"./NcSelectTags-B3_tcJAf-CNiunM5T.chunk.mjs";import"./ContentCopy-DS0QzQtq.chunk.mjs";import"./NcUserBubble-BE6yD-R0-BI6ZwX-N.chunk.mjs";import"./NcUserStatusIcon-JWiuiAXe-FPvdKWWr.chunk.mjs";import"./emoji-V9hqFgPs-BoVPPNKM.chunk.mjs";import"./colors-BfjxNgsx-CknPG731.chunk.mjs";import{w as Ka,b as en,u as tn}from"./index-DZVjGEW7.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import{a as fe}from"./index-C1xmmKTZ-BdqLiU2K.chunk.mjs";import{a as an,P as _e,c as Qe}from"./index-BeaM7LiW.chunk.mjs";import"./util-BUyb4W9M.chunk.mjs";const nn={class:"app-navigation-spacer"},sn=B({__name:"NcAppNavigationSpacer",setup(e){return(t,n)=>(d(),A("li",nn))}}),ln=dt(sn,[["__scopeId","data-v-277fa710"]]),rn={name:"NcAppSidebarTab",inject:["registerTab","unregisterTab","getActiveTab","isTablistShown"],props:{id:{type:String,required:!0},name:{type:String,required:!0},icon:{type:String,default:""},order:{type:Number,default:0}},emits:["bottomReached","scroll"],expose:["id","name","icon","order","renderIcon"],computed:{isActive(){return this.getActiveTab()===this.id}},created(){this.registerTab(this)},beforeUnmount(){this.unregisterTab(this.id)},methods:{onScroll(e){this.$el.scrollHeight-this.$el.scrollTop===this.$el.clientHeight&&this.$emit("bottomReached",e),this.$emit("scroll",e)},renderIcon(){return this.$slots.icon?.()}}},on=["id","aria-hidden","aria-label","aria-labelledby","role","tabindex"],pn={class:"hidden-visually"};function cn(e,t,n,s,a,r){return d(),A("section",{id:`tab-${n.id}`,"aria-hidden":!r.isActive,"aria-label":r.isTablistShown()?void 0:n.name,"aria-labelledby":r.isTablistShown()?`tab-button-${n.id}`:void 0,class:v(["app-sidebar__tab",{"app-sidebar__tab--active":r.isActive}]),role:r.isTablistShown()?"tabpanel":void 0,tabindex:r.isTablistShown()?0:-1,onScroll:t[0]||(t[0]=(...l)=>r.onScroll&&r.onScroll(...l))},[_("h3",pn,x(n.name),1),jt(e.$slots,"default",{},void 0,!0)],42,on)}const Ie=dt(rn,[["render",cn],["__scopeId","data-v-dba10798"]]),W=Object.freeze({discover:u("appstore","Discover"),installed:u("appstore","Your apps"),enabled:u("appstore","Active apps"),disabled:u("appstore","Disabled apps"),updates:u("appstore","Updates"),bundles:u("appstore","App bundles"),featured:u("appstore","Featured apps"),supported:u("appstore","Supported apps"),search:u("appstore","Search results")}),X=Object.freeze({discover:Pa,installed:Ba,enabled:bt,disabled:ft,bundles:Ea,supported:mt,featured:je,updates:He,ai:La,auth:Ca,customization:Ae,dashboard:Ia,files:za,games:Da,integration:Ra,monitoring:Sa,multimedia:Aa,office:Ta,organization:$a,search:xa,security:va,social:wa,tools:ya,workflow:_a}),Hi=["post","showcase","carousel"];an(M);const te=Ge("apps/appstore/api/v1"),se=Object.freeze({apps:`${te}/apps`,categories:`${te}/apps/categories`,enable:`${te}/apps/enable`,disable:`${te}/apps/disable`,uninstall:`${te}/apps/uninstall`,update:`${te}/apps/update`,bundleEnable:`${te}/bundles/enable`}),ye=new ua({concurrency:1});async function tt(e,t=!1,n){return ye.add(async()=>{await M.post(se.enable,{appId:e,groups:n,force:t||void 0},{confirmPassword:_e.Strict})})}async function un(e){return ye.add(async()=>{await M.post(se.disable,{appId:e},{confirmPassword:_e.Lax})})}async function dn(e){return ye.add(async()=>{await M.post(se.update,{appId:e},{confirmPassword:_e.Strict})})}async function hn(e){return ye.add(async()=>{await M.post(se.uninstall,{appId:e},{confirmPassword:_e.Strict})})}async function gn(){const{data:e}=await M.get(se.apps);return e.ocs.data}async function mn(){const{data:e}=await M.get(se.categories);for(const t of e.ocs.data)t.icon=X[t.id]??"";return e.ocs.data}async function fn(e){return ye.add(async()=>{await M.post(se.bundleEnable,{bundleId:e},{confirmPassword:_e.Strict})})}async function he(){const{data:e}=await M.get(Ge("core/navigation/apps?format=json"));e.ocs.meta.statuscode===200&&(ut("nextcloud:app-menu.refresh",{apps:e.ocs.data}),window.dispatchEvent(new Event("resize")))}function oe(e){return e.installed||e.internal?!1:e.missingDependencies===void 0||e.missingDependencies.length===0||!e.isCompatible&&e.missingDependencies.length===1}function yt(e){return e.installed&&e.removable&&!e.active}function wt(e){return!Tt(e)&&!At(e)&&vt(e)&&e.isCompatible}function vt(e){return!e.active&&(e.installed||oe(e))}function we(e){return!e.active&&!e.isCompatible}function xt(e){return!Tt(e)&&!At(e)&&e.active&&!e.internal}function bn(e){return e.update!==void 0}const kn=["filesystem","prelogin","authentication","logging","prevent_group_restriction"];function $t(e){return!e.active&&!e.installed||!e.active&&we(e)?!1:e.types?e.types.every(t=>!kn.includes(t)):!0}function Tt(e){return e.app_api&&(e.status.action==="init"||e.status.action==="healthcheck")}function At(e){return e.app_api&&e.status.action==="deploy"}const j=la().setApp("appstore").detectUser().build(),_n=B({__name:"DaemonSelectionDialogListEntry",props:{daemon:{},isDefault:{type:Boolean}},emits:["selected"],setup(e,{emit:t}){const n=e,s=t,a=w(()=>`${n.daemon.name} - ${n.daemon.display_name}`);return(r,l)=>(d(),S(o(ba),{active:e.isDefault,counterNumber:e.daemon.exAppsCount,counterType:"highlighted",details:e.isDefault?o(u)("appstore","Default"):"",forceDisplayActions:"",name:a.value,onClick:l[0]||(l[0]=Qt(c=>s("selected"),["stop"]))},{subname:y(()=>[q(x(e.daemon.accepts_deploy_id),1)]),_:1},8,["active","counterNumber","details","name"]))}}),yn=["aria-label"],wn=B({__name:"DaemonSelectionDialogList",emits:["selected"],setup(e){const t=ve();return(n,s)=>(d(),A("ul",{class:v(n.$style.DaemonSelectionDialogList),"aria-label":o(u)("appstore","Registered Deploy daemons list")},[(d(!0),A(G,null,Q(o(t).dockerDaemons,a=>(d(),S(_n,{key:a.id,daemon:a,isDefault:o(t).defaultDaemon?.name===a.name,onSelected:r=>n.$emit("selected",a)},null,8,["daemon","isDefault","onSelected"]))),128))],10,yn))}}),vn="_DaemonSelectionDialogList_x38pt_2",xn={DaemonSelectionDialogList:vn},$n={$style:xn},Tn=N(wn,[["__cssModules",$n]]),An=B({__name:"DaemonSelectionDialog",props:{app:{}},emits:["close"],setup(e){const t=ve(),n=K("/settings/admin/app_api");return(s,a)=>(d(),S(o(ht),{name:o(u)("appstore","Choose Deploy Daemon for {appName}",{appName:e.app.name}),size:"normal","onUpdate:open":a[1]||(a[1]=r=>r||s.$emit("close"))},{default:y(()=>[o(t).dockerDaemons.length===0?(d(),S(o(Ze),{key:0,class:"daemon-selection-list__empty-content",name:o(u)("appstore","No Deploy daemons configured"),description:o(u)("appstore","Register a custom one or setup from available templates")},{icon:y(()=>[k(o(C),{path:o(qa)},null,8,["path"])]),action:y(()=>[k(o(re),{href:o(n)},{default:y(()=>[q(x(o(u)("appstore","Manage Deploy daemons")),1)]),_:1},8,["href"])]),_:1},8,["name","description"])):(d(),S(Tn,{key:1,app:e.app,onSelected:a[0]||(a[0]=r=>s.$emit("close",r))},null,8,["app"]))]),_:1},8,["name"]))}});async function Sn(){const{data:e}=await M.get(K("/apps/app_api/apps/list"));return e.apps}async function Rn(e){const{data:t}=await M.get(K(`/apps/app_api/apps/status/${e}`));return t}async function Ee(e,t,n){await Qe(),await M.post(K(`/apps/app_api/apps/enable/${e.id}/${t.name}`),{deployOptions:n})}async function Dn(e){await Qe(),await M.post(K("/apps/app_api/apps/force"),{appId:e})}async function at(e){await Qe(),await M.get(K(`apps/app_api/apps/disable/${e}`))}const ve=be("external-apps",()=>{const e=ee("appstore","appApiEnabled",!1),t=E([]),n=E(ee("appstore","appstoreExAppUpdateCount",0));let s=null;const a=E(ee("appstore","defaultDaemonConfigAccessible",!1)),r=E(ee("appstore","defaultDaemonConfig",null)),l=E([]),c=w(()=>t.value.filter(g=>g?.status?.action&&g.status.type!==""&&(g?.status?.action==="deploy"||g.status.action==="init"||g.status.action==="healthcheck")));function i(g){return t.value.find(({id:m})=>m===g)??null}async function h(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{if(l.value.length===1&&m.needsDownload)Ee(m,l[0]),m.daemon=l[0];else if(m.needsDownload){const Z=await gt(An,{app:m});if(!Z)throw new Error("No daemon selected");await Ee(m,Z),m.daemon=Z}else await Ee(m,m.daemon);m.installed||(m.needsDownload=!1,m.status={type:"install",action:"deploy",init:0,deploy:0}),m.removable=!0,delete m.error,await $(g)}finally{m.loading=!1}}async function p(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{await Dn(g),await R(!0),m.active=!1}finally{m.loading=!1}}async function b(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{await at(g),m.active=!1}finally{m.loading=!1}}async function f(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{await at(g),m.active=!1,m.needsDownload=!0,m.installed=!1,m.daemon=null,m.status={},m.update!==null&&n.value--,delete m.update,delete m.error}finally{m.loading=!1}}async function z(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{await M.get(K(`/apps/app_api/apps/update/${g}`)),m.version=m.update||m.version,m.status={type:"update",action:"deploy",init:0,deploy:0},delete m.update,delete m.error,n.value--,await $(g)}catch(Z){j.error("Failed to update ex app",{appId:g,error:Z}),fe(u("appstore","Could not update the app. Please try again later."))}finally{m.loading=!1}}async function R(g=!1){(g||!r.value||!l.value.length)&&await P(),(g||t.value.length===0)&&await Y()}return{isEnabled:e,apps:t,updateCount:n,defaultDaemon:r,dockerDaemons:l,daemonAccessible:a,getById:i,disableApp:b,enableApp:h,forceEnableApp:p,updateApp:z,uninstallApp:f,initialize:R};async function P(){try{const{data:g}=await M.get(K("/apps/app_api/daemons"));r.value=g.daemons.find(m=>m.name===g.default_daemon_config),l.value=g.daemons.filter(m=>m.accepts_deploy_id==="docker-install")}catch(g){return j.error("[app-api-store] Failed to fetch Docker daemons",{error:g}),!1}return!0}async function Y(){try{t.value=await Sn()}catch(g){j.error("An error occurred while fetching apps",{error:g}),fe(u("appstore","An error occurred during the request. Unable to proceed."))}}async function $(g){const m=i(g);if(!m){j.error("[app-api-store] app not found while fetching status",{appId:g});return}m.loading=!0;try{const Z=await Rn(g);m.status=Z,j.debug("[app-api-store] initializingOrDeployingApps after setAppStatus",{initializingOrDeployingApps:c}),c.value.length===0&&(j.debug("[app-api-store] Clearing interval"),clearInterval(s),s=null),m.status.error&&c.value.length===1&&(clearInterval(s),s=null)}catch(Z){throw T(),Z}finally{m.loading=!1}}function T(){clearInterval(s),c.value.length!==0&&(s=window.setInterval(()=>{j.debug("[app-api-store] initializingOrDeployingApps",{initializingOrDeployingApps:c});for(const g of c.value)$(g.id)},2e3))}}),H=be("apps",()=>{const e=ve(),t=E([]),n=E([]),s=Ut(ee("appstore","appstoreBundles")),a=E(!1),r=E(!1),l=w(()=>[...t.value,...e.isEnabled?e.apps:[]]);function c($){return n.value.find(({id:T})=>T===$)??null}function i($){return l.value.find(({id:T})=>T===$)??null}function h($){return l.value.filter(T=>[T.category].flat().includes($))}async function p($,T=!1){const g=i($);if(!g)throw new Error(`App with id ${$} not found`);if(g.active||!g.installed&&!oe(g))throw new Error(`App with id ${$} cannot be enabled`);if(!T&&we(g))throw new Error(`App with id ${$} requires force enable`);g.loading=!0;try{g.app_api?await e.enableApp($):await tt($,T),T&&(g.isCompatible=!0),g.active=!0,g.installed=!0,g.removable=!0,await he()}finally{g.loading=!1}}async function b($){const T=i($);if(!T)throw new Error(`App with id ${$} not found`);if(!xt(T))throw new Error(`App with id ${$} cannot be disabled`);T.loading=!0;try{T.app_api?await e.disableApp($):await un($),T.active=!1,T.isCompatible=T.missingDependencies===void 0||T.missingDependencies.length===0,await he()}finally{T.loading=!1}}async function f($){const T=i($);if(!T)throw new Error(`App with id ${$} not found`);if(!yt(T))throw new Error(`App with id ${$} cannot be uninstalled`);T.loading=!0;try{T.app_api?await e.uninstallApp($):await hn($),T.active=!1,T.installed=!1,await he()}finally{T.loading=!1}}async function z($,T){const g=i($);if(!g)throw new Error(`App with id ${$} not found`);if(!$t(g))throw new Error(`App with id ${$} cannot be limited to groups`);if(!g.app_api)try{g.loading=!0,await tt($,!1,T),g.groups=T}finally{g.loading=!1}}async function R($){const T=s.find(g=>g.id===$);if(!T)throw new Error(`Bundle with id ${$} not found`);try{for(const g of T.appIdentifiers){const m=i(g);m.loading=!0}await fn(T.id);for(const g of T.appIdentifiers){const m=i(g);m.active=!0,m.installed=!0,m.removable=!0,await he()}}finally{for(const g of T.appIdentifiers){const m=i(g);m.loading=!1}}}async function P(){try{r.value=!0,n.value=await mn()}catch($){j.error("Failed to load app categories",{error:$}),fe(u("appstore","Could not load app categories. Please try again later."))}finally{r.value=!1}}async function Y(){try{a.value=!0,t.value=await gn()}catch($){j.error("Failed to load apps list",{error:$}),fe(u("appstore","Could not load apps list. Please try again later."))}finally{a.value=!1}}return Y(),P(),{apps:l,bundles:s,categories:n,isLoadingApps:a,isLoadingCategories:r,disableApp:b,enableApp:p,uninstallApp:f,enableBundle:R,getAppById:i,getAppsByCategory:h,getCategoryById:c,limitAppToGroups:z}}),St=be("updates",()=>{const e=ve(),t=E(ee("appstore","appstoreUpdateCount",0)),n=w(()=>t.value+e.updateCount);async function s(a){const r=H().getAppById(a);if(!r)throw new Error(`App with id ${a} not found`);try{"app_api"in r&&r.app_api?await e.updateApp(a):(await dn(a),t.value=Math.max(t.value-1,0)),he()}catch(l){j.error("Failed to update app",{appId:a,error:l}),fe(u("appstore","Could not update the app. Please try again later."))}}return{updateCount:n,updateApp:s}}),Rt=be("userSettings",()=>{const e=E(""),t=E(!1),n=E(!0),s=w(()=>e.value==="m"?"468px":e.value==="l"?"512px":"320px");function a(l){return{...(ke()??{}).query,grid:l??t.value?e.value||null:void 0,compatible:n.value?void 0:null}}return Oe().afterEach(l=>{r(l.query)}),{defaultGridSize:e,gridSizePx:s,isGridView:t,showIncompatible:n,getQuery:a};function r(l){t.value="grid"in l,e.value=[l.grid??""].flat()[0].toLowerCase(),n.value=!("compatible"in l)}}),zn=B({__name:"AppstoreNavigation",setup(e){const t=ee("settings","appstoreEnabled",!0),n=H(),s=St(),a=Rt(),r=w(()=>n.categories),l=w(()=>n.isLoadingCategories),c=ke(),i=Oe(),h=ct("search");ma("f",()=>{h.value?.$refs.inputElement||(ut("toggle-navigation",{open:!0}),window.setTimeout(()=>h.value?.$refs.inputElement?.focus(),400)),h.value?.$refs.inputElement?.focus()},{ctrl:!0,stop:!0,prevent:!0});const p=E("");me(()=>c.query.q,f=>{p.value=[f||""].flat()[0]},{immediate:!0}),Ka(p,(f,z)=>{if(f.trim()!==z.trim()){if(i.currentRoute.value.name==="apps-discover"||i.currentRoute.value.name==="apps-manage"&&c.params.category==="bundles"){i.push({name:"apps-search",query:{...c.query,q:f.trim()||void 0}});return}i.replace({...c,query:{...c.query,q:f.trim()||void 0}})}},{debounce:500});const b=w(()=>n.apps.find(({level:f})=>f===300)!==void 0);return(f,z)=>(d(),S(o(ia),{"aria-label":o(u)("appstore","Appstore categories")},{search:y(()=>[k(o(oa),{ref_key:"search",ref:p,modelValue:p.value,"onUpdate:modelValue":z[0]||(z[0]=R=>p.value=R),label:o(u)("appstore","Search apps…")},null,8,["modelValue","label"])]),list:y(()=>[o(t)?(d(),S(o(J),{key:0,to:{name:"apps-discover"},name:o(W).discover},{icon:y(()=>[k(o(C),{path:o(X).discover},null,8,["path"])]),_:1},8,["name"])):L("",!0),k(o(J),{to:{name:"apps-manage",params:{category:"installed"}},name:o(W).installed},{icon:y(()=>[k(o(C),{path:o(X).installed},null,8,["path"])]),_:1},8,["name"]),k(o(J),{to:{name:"apps-manage",params:{category:"enabled"}},name:o(W).enabled},{icon:y(()=>[k(o(C),{path:o(X).enabled},null,8,["path"])]),_:1},8,["name"]),k(o(J),{to:{name:"apps-manage",params:{category:"disabled"}},name:o(W).disabled},{icon:y(()=>[k(o(C),{path:o(X).disabled},null,8,["path"])]),_:1},8,["name"]),o(s).updateCount>0?(d(),S(o(J),{key:1,to:{name:"apps-manage",params:{category:"updates"}},name:o(W).updates},{counter:y(()=>[k(o(ka),{count:o(s).updateCount},null,8,["count"])]),icon:y(()=>[k(o(C),{path:o(X).updates},null,8,["path"])]),_:1},8,["name"])):L("",!0),k(o(J),{to:{name:"apps-bundles"},name:o(W).bundles},{icon:y(()=>[k(o(C),{path:o(X).bundles},null,8,["path"])]),_:1},8,["name"]),k(o(ln)),o(t)&&l.value?(d(),A("li",{key:2,class:v(f.$style.appstoreNavigation__categories_loading)},[k(o(ze),{size:20,name:o(u)("appstore","Loading categories")},null,8,["name"])],2)):o(t)&&!l.value?(d(),A(G,{key:3},[b.value?(d(),S(o(J),{key:0,id:"app-category-supported",to:{name:"apps-category",params:{category:"supported"},query:o(a).getQuery(!0)},name:o(W).supported},{icon:y(()=>[k(o(C),{path:o(X).supported},null,8,["path"])]),_:1},8,["to","name"])):L("",!0),k(o(J),{id:"app-category-featured",to:{name:"apps-category",params:{category:"featured"},query:o(a).getQuery(!0)},name:o(W).featured},{icon:y(()=>[k(o(C),{path:o(X).featured},null,8,["path"])]),_:1},8,["to","name"]),(d(!0),A(G,null,Q(r.value,R=>(d(),S(o(J),{id:`app-category-${R.id}`,key:R.id,name:R.displayName,to:{name:"apps-category",params:{category:R.id},query:o(a).getQuery(!0)}},{icon:y(()=>[k(o(C),{path:R.icon},null,8,["path"])]),_:2},1032,["id","name","to"]))),128))],64)):L("",!0)]),_:1},8,["aria-label"]))}}),In="_appstoreNavigation__categories_loading_1fsn2_2",Cn={appstoreNavigation__categories_loading:In},Ln={$style:Cn},En=N(zn,[["__cssModules",Ln]]),Bn=B({__name:"AppActions",props:{app:{},actions:{},maxInlineActions:{default:1},iconOnly:{type:Boolean}},setup(e){const t=w(()=>e.actions.length<=e.maxInlineActions?e.actions:e.actions.filter(s=>s.inline!==!1).slice(0,e.maxInlineActions)),n=w(()=>e.actions.filter(s=>!t.value.includes(s)));return(s,a)=>(d(),A("div",{class:v(s.$style.appActions)},[(d(!0),A(G,null,Q(t.value,r=>(d(),S(o(re),{key:r.id,ariaLabel:e.iconOnly?r.label(e.app):void 0,title:e.iconOnly?r.label(e.app):void 0,variant:r.variant,href:"href"in r?r.href(e.app):void 0,to:"to"in r?r.to(e.app):void 0,target:"href"in r?"_blank":void 0,onClick:l=>"callback"in r&&r.callback(e.app)},Me({icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),_:2},[e.iconOnly?void 0:{name:"default",fn:y(()=>[q(x(r.label(e.app)),1)]),key:"0"}]),1032,["ariaLabel","title","variant","href","to","target","onClick"]))),128)),k(o(fa),{forceMenu:""},{default:y(()=>[(d(!0),A(G,null,Q(n.value,r=>(d(),A(G,null,["callback"in r?(d(),S(o(ra),{key:"callback-"+r.id,closeAfterClick:"",variant:r.variant,onClick:l=>r.callback(e.app)},{icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),default:y(()=>[q(" "+x(r.label(e.app)),1)]),_:2},1032,["variant","onClick"])):"href"in r?(d(),S(o(da),{key:"link-"+r.id,closeAfterClick:"",variant:r.variant,href:r.href(e.app)},{icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),default:y(()=>[q(" "+x(r.label(e.app)),1)]),_:2},1032,["variant","href"])):(d(),S(o(ha),{key:"route-"+r.id,closeAfterClick:"",variant:r.variant,to:r.to(e.app)},{icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),default:y(()=>[q(" "+x(r.label(e.app)),1)]),_:2},1032,["variant","to"]))],64))),256))]),_:1})],2))}}),Pn="_appActions_lrf6h_2",qn={appActions:Pn},Nn={$style:qn},Dt=N(Bn,[["__cssModules",Nn]]),Mn=B({__name:"AppDeployDaemonTab",props:{app:{}},setup(e){const t=E(e.app?.daemon?.deploy_config?.computeDevice?.id!=="cpu"||!1);return(n,s)=>e.app?.daemon?(d(),S(o(Ie),{key:0,id:"daemon",name:o(u)("appstore","Daemon"),order:5},{icon:y(()=>[k(o(C),{path:o(kt),size:24},null,8,["path"])]),default:y(()=>[_("div",{class:v(n.$style.appDeployDaemonTab)},[_("h4",null,x(o(u)("appstore","Deploy Daemon")),1),_("p",null,[_("b",null,x(o(u)("appstore","Type")),1),q(": "+x(e.app?.daemon.accepts_deploy_id),1)]),_("p",null,[_("b",null,x(o(u)("appstore","Name")),1),q(": "+x(e.app?.daemon.name),1)]),_("p",null,[_("b",null,x(o(u)("appstore","Display Name")),1),q(": "+x(e.app?.daemon.display_name),1)]),_("p",null,[_("b",null,x(o(u)("appstore","GPUs support")),1),q(": "+x(t.value),1)]),_("p",null,[_("b",null,x(o(u)("appstore","Compute device")),1),q(": "+x(e.app?.daemon?.deploy_config?.computeDevice?.label),1)])],2)]),_:1},8,["name"])):L("",!0)}}),On="_appDeployDaemonTab_1xkhp_2",Gn={appDeployDaemonTab:On},Zn={$style:Gn},Hn=N(Mn,[["__cssModules",Zn]]);function Ue(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var le=Ue();function nt(e){le=e}var ne={exec:()=>null};function D(e,t=""){let n=typeof e=="string"?e:e.source,s={replace:(a,r)=>{let l=typeof r=="string"?r:r.source;return l=l.replace(O.caret,"$1"),n=n.replace(a,l),s},getRegex:()=>new RegExp(n,t)};return s}var jn=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Qn=/^(?:[ \t]*(?:\n|$))+/,Un=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Fn=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,xe=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Vn=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Fe=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,zt=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,It=D(zt).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Wn=D(zt).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Ve=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Xn=/^[^\n]+/,We=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Yn=D(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",We).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Jn=D(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Fe).getRegex(),Ce="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Xe=/|$))/,Kn=D("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Xe).replace("tag",Ce).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ct=D(Ve).replace("hr",xe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ce).getRegex(),es=D(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Ct).getRegex(),Ye={blockquote:es,code:Un,def:Yn,fences:Fn,heading:Vn,hr:xe,html:Kn,lheading:It,list:Jn,newline:Qn,paragraph:Ct,table:ne,text:Xn},st=D("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",xe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ce).getRegex(),ts={...Ye,lheading:Wn,table:st,paragraph:D(Ve).replace("hr",xe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",st).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ce).getRegex()},as={...Ye,html:D(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Xe).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ne,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:D(Ve).replace("hr",xe).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",It).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},ns=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ss=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Lt=/^( {2,}|\\)\n(?!\s*$)/,ls=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",jn?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Bt=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,cs=D(Bt,"u").replace(/punct/g,pe).getRegex(),us=D(Bt,"u").replace(/punct/g,Et).getRegex(),Pt="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",ds=D(Pt,"gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Le).replace(/punct/g,pe).getRegex(),hs=D(Pt,"gu").replace(/notPunctSpace/g,os).replace(/punctSpace/g,is).replace(/punct/g,Et).getRegex(),gs=D("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Le).replace(/punct/g,pe).getRegex(),ms=D(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,pe).getRegex(),fs="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",bs=D(fs,"gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Le).replace(/punct/g,pe).getRegex(),ks=D(/\\(punct)/,"gu").replace(/punct/g,pe).getRegex(),_s=D(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ys=D(Xe).replace("(?:-->|$)","-->").getRegex(),ws=D("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",ys).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Se=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,vs=D(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Se).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),qt=D(/^!?\[(label)\]\[(ref)\]/).replace("label",Se).replace("ref",We).getRegex(),Nt=D(/^!?\[(ref)\](?:\[\])?/).replace("ref",We).getRegex(),xs=D("reflink|nolink(?!\\()","g").replace("reflink",qt).replace("nolink",Nt).getRegex(),lt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ke={_backpedal:ne,anyPunctuation:ks,autolink:_s,blockSkip:ps,br:Lt,code:ss,del:ne,delLDelim:ne,delRDelim:ne,emStrongLDelim:cs,emStrongRDelimAst:ds,emStrongRDelimUnd:gs,escape:ns,link:vs,nolink:Nt,punctuation:rs,reflink:qt,reflinkSearch:xs,tag:ws,text:ls,url:ne},$s={...Ke,link:D(/^!?\[(label)\]\((.*?)\)/).replace("label",Se).getRegex(),reflink:D(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Se).getRegex()},Pe={...Ke,emStrongRDelimAst:hs,emStrongLDelim:us,delLDelim:ms,delRDelim:bs,url:D(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",lt).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:D(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},rt=e=>As[e];function V(e,t){if(t){if(O.escapeTest.test(e))return e.replace(O.escapeReplace,rt)}else if(O.escapeTestNoEncode.test(e))return e.replace(O.escapeReplaceNoEncode,rt);return e}function it(e){try{e=encodeURI(e).replace(O.percentDecode,"%")}catch{return null}return e}function ot(e,t){let n=e.replace(O.findPipe,(r,l,c)=>{let i=!1,h=l;for(;--h>=0&&c[h]==="\\";)i=!i;return i?"|":" |"}),s=n.split(O.splitPipe),a=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length0?-2:-1}function Rs(e,t=0){let n=t,s="";for(let a of e)if(a===" "){let r=4-n%4;s+=" ".repeat(r),n+=r}else s+=a,n++;return s}function pt(e,t,n,s,a){let r=t.href,l=t.title||null,c=e[1].replace(a.other.outputLinkReplace,"$1");s.state.inLink=!0;let i={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:r,title:l,text:c,tokens:s.inlineTokens(c)};return s.state.inLink=!1,i}function Ds(e,t,n){let s=e.match(n.other.indentCodeCompensation);if(s===null)return t;let a=s[1];return t.split(` -`).map(r=>{let l=r.match(n.other.beginningSpace);if(l===null)return r;let[c]=l;return c.length>=a.length?r.slice(a.length):r}).join(` -`)}var Re=class{options;rules;lexer;constructor(e){this.options=e||le}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:de(n,` -`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],s=Ds(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let s=de(n,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(n=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:de(t[0],` -`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=de(t[0],` +import{d as ke,c as Ft}from"./pinia-Bx2CoJV6.chunk.mjs";import{b as B,o as d,f as v,g as _,t as x,i as Vt,y as w,c as S,u as o,N as Wt,w as y,j as q,v as $,F as M,B as j,k,l as E,a9 as ct,p as ut,z as re,h as I,q as Me,a8 as fe,U as Xt,a as Yt,_ as oe,H as Jt,D as Kt,r as ea,e as ta}from"./preload-helper-CX9gtE7n.chunk.mjs";import{t as u,p as aa,g as na}from"./translation-DoG5ZELJ-CPJIGC2H.chunk.mjs";import{N as ie,v as Oe,u as _e,Q as sa,T as la}from"./ArrowRight-JDdFcric.chunk.mjs";import{N as ra,a as ia}from"./NcContent-D69ktIEB-D1gmP6xt.chunk.mjs";import{c as Ge,f as dt,g as oa,b as K}from"./index-CziSTDUD.chunk.mjs";import{_ as N,l as ee}from"./public-C1mLBHT3.chunk.mjs";import{N as pa}from"./PencilOutline-Bexowggr.chunk.mjs";import{_ as ht,N as L}from"./Web-lLWc6zap.chunk.mjs";import{c as ca,d as J,e as ua,f as da,N as ha}from"./NcTextArea-CseOD9aM-Dr3vykGl.chunk.mjs";import{P as gt}from"./NcBreadcrumbs-5gl8Syfa-BJLyzFWC.chunk.mjs";import{N as ga,a as ma,_ as fa}from"./NcDateTime.vue_vue_type_script_setup_true_lang-B4upiZjL-CDStkW4e.chunk.mjs";import{M as ba,a as ka}from"./NcModal-kyWZ3UFC-CV6Hvf6d.chunk.mjs";/* empty css */import"./NcAvatar-ruClKRzS-DbbQH8Qz.chunk.mjs";import{N as Ie}from"./TrashCanOutline-B-GxU5E3.chunk.mjs";import"./NcCheckboxRadioSwitch-D0gFwEVl-DUWN1FjH.chunk.mjs";import{N as _a}from"./Plus-BNgsg9Vm.chunk.mjs";import"./index-blkJtiu8.chunk.mjs";import{N as ya,a as wa}from"./TrayArrowDown-rkgZntG8.chunk.mjs";import"./index-CJNrZ-7b.chunk.mjs";import{N as mt,s as ft}from"./index-C6zIcU-d.chunk.mjs";import"./index-Ck6YKth1.chunk.mjs";import"./NcEmojiPicker-DGgqTnHp-BL4_K0PB.chunk.mjs";import{N as Ze}from"./NcEmptyContent-CDgWCt_m-DHBOrQzP.chunk.mjs";import"./index-DziQfluU.chunk.mjs";/* empty css */import"./NcInputField-CPL-a_MM-WQA5jsOf.chunk.mjs";import{J as va,K as xa,L as $a,M as Ta,O as Aa,P as Sa,Q as Ra,R as Da,S as za,T as Ia,U as Ca,w as La,V as Ea,D as Se,W as Ba,X as Pa,Y as je,y as He,Z as bt,_ as qa,$ as kt,q as _t,a0 as Na,a1 as Ma,a2 as Oa,a3 as yt,a4 as Ga,a5 as Za,a6 as wt,N as ja,a7 as Ha,a8 as Qa,a9 as Ua,aa as Fa,ab as Va,ac as Wa,ad as Xa,l as Ya,ae as Ja,af as Ka,v as en,ag as tn}from"./mdi-BjKyjJ9m.chunk.mjs";import"./NcPasswordField-BOLzDHBJ-Ocef6zuk.chunk.mjs";import"./index-DIXoyWI1.chunk.mjs";import{c as O}from"./index-BpWtOFbq.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-B-4HNjYH-CTxKDSgI.chunk.mjs";import"./NcSelectTags-B3_tcJAf-CNiunM5T.chunk.mjs";import"./ContentCopy-DS0QzQtq.chunk.mjs";import"./NcUserBubble-BE6yD-R0-BI6ZwX-N.chunk.mjs";import"./NcUserStatusIcon-JWiuiAXe-FPvdKWWr.chunk.mjs";import"./emoji-V9hqFgPs-BoVPPNKM.chunk.mjs";import"./colors-BfjxNgsx-CknPG731.chunk.mjs";import{w as an,b as nn,u as sn}from"./index-DZVjGEW7.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import{a as be}from"./index-C1xmmKTZ-BdqLiU2K.chunk.mjs";import{a as ln,P as ye,c as Qe}from"./index-BeaM7LiW.chunk.mjs";import"./util-BUyb4W9M.chunk.mjs";const rn={class:"app-navigation-spacer"},on=B({__name:"NcAppNavigationSpacer",setup(e){return(t,n)=>(d(),v("li",rn))}}),pn=ht(on,[["__scopeId","data-v-277fa710"]]),cn={name:"NcAppSidebarTab",inject:["registerTab","unregisterTab","getActiveTab","isTablistShown"],props:{id:{type:String,required:!0},name:{type:String,required:!0},icon:{type:String,default:""},order:{type:Number,default:0}},emits:["bottomReached","scroll"],expose:["id","name","icon","order","renderIcon"],computed:{isActive(){return this.getActiveTab()===this.id}},created(){this.registerTab(this)},beforeUnmount(){this.unregisterTab(this.id)},methods:{onScroll(e){this.$el.scrollHeight-this.$el.scrollTop===this.$el.clientHeight&&this.$emit("bottomReached",e),this.$emit("scroll",e)},renderIcon(){return this.$slots.icon?.()}}},un=["id","aria-hidden","aria-label","aria-labelledby","role","tabindex"],dn={class:"hidden-visually"};function hn(e,t,n,s,a,r){return d(),v("section",{id:`tab-${n.id}`,"aria-hidden":!r.isActive,"aria-label":r.isTablistShown()?void 0:n.name,"aria-labelledby":r.isTablistShown()?`tab-button-${n.id}`:void 0,class:w(["app-sidebar__tab",{"app-sidebar__tab--active":r.isActive}]),role:r.isTablistShown()?"tabpanel":void 0,tabindex:r.isTablistShown()?0:-1,onScroll:t[0]||(t[0]=(...l)=>r.onScroll&&r.onScroll(...l))},[_("h3",dn,x(n.name),1),Vt(e.$slots,"default",{},void 0,!0)],42,un)}const Ce=ht(cn,[["render",hn],["__scopeId","data-v-dba10798"]]),W=Object.freeze({discover:u("appstore","Discover"),installed:u("appstore","Your apps"),enabled:u("appstore","Active apps"),disabled:u("appstore","Disabled apps"),updates:u("appstore","Updates"),bundles:u("appstore","App bundles"),featured:u("appstore","Featured apps"),supported:u("appstore","Supported apps"),search:u("appstore","Search results")}),X=Object.freeze({discover:Ma,installed:Na,enabled:_t,disabled:kt,bundles:qa,supported:bt,featured:He,updates:je,ai:Pa,auth:Ba,customization:Se,dashboard:Ea,files:La,games:Ca,integration:Ia,monitoring:za,multimedia:Da,office:Ra,organization:Sa,search:Aa,security:Ta,social:$a,tools:xa,workflow:va}),Ji=["post","showcase","carousel"];ln(O);const te=Ge("apps/appstore/api/v1"),se=Object.freeze({apps:`${te}/apps`,categories:`${te}/apps/categories`,enable:`${te}/apps/enable`,disable:`${te}/apps/disable`,uninstall:`${te}/apps/uninstall`,update:`${te}/apps/update`,bundleEnable:`${te}/bundles/enable`}),we=new gt({concurrency:1});async function tt(e,t=!1,n){return we.add(async()=>{await O.post(se.enable,{appId:e,groups:n,force:t||void 0},{confirmPassword:ye.Strict})})}async function gn(e){return we.add(async()=>{await O.post(se.disable,{appId:e},{confirmPassword:ye.Lax})})}async function mn(e){return we.add(async()=>{await O.post(se.update,{appId:e},{confirmPassword:ye.Strict})})}async function fn(e){return we.add(async()=>{await O.post(se.uninstall,{appId:e},{confirmPassword:ye.Strict})})}async function bn(){const{data:e}=await O.get(se.apps);return e.ocs.data}async function kn(){const{data:e}=await O.get(se.categories);for(const t of e.ocs.data)t.icon=X[t.id]??"";return e.ocs.data}async function _n(e){return we.add(async()=>{await O.post(se.bundleEnable,{bundleId:e},{confirmPassword:ye.Strict})})}async function ge(){const{data:e}=await O.get(Ge("core/navigation/apps?format=json"));e.ocs.meta.statuscode===200&&(dt("nextcloud:app-menu.refresh",{apps:e.ocs.data}),window.dispatchEvent(new Event("resize")))}function pe(e){return e.installed||e.internal?!1:e.missingDependencies===void 0||e.missingDependencies.length===0||!e.isCompatible&&e.missingDependencies.length===1}function vt(e){return e.installed&&e.removable&&!e.active}function xt(e){return!St(e)&&!Rt(e)&&$t(e)&&e.isCompatible}function $t(e){return!e.active&&(e.installed||pe(e))}function ve(e){return!e.active&&!e.isCompatible}function Tt(e){return!St(e)&&!Rt(e)&&e.active&&!e.internal}function yn(e){return e.update!==void 0}const wn=["filesystem","prelogin","authentication","logging","prevent_group_restriction"];function At(e){return!e.active&&!e.installed||!e.active&&ve(e)?!1:e.types?e.types.every(t=>!wn.includes(t)):!0}function St(e){return e.app_api&&(e.status.action==="init"||e.status.action==="healthcheck")}function Rt(e){return e.app_api&&e.status.action==="deploy"}const Q=oa().setApp("appstore").detectUser().build(),vn=B({__name:"DaemonSelectionDialogListEntry",props:{daemon:{},isDefault:{type:Boolean}},emits:["selected"],setup(e,{emit:t}){const n=e,s=t,a=$(()=>`${n.daemon.name} - ${n.daemon.display_name}`);return(r,l)=>(d(),S(o(ya),{active:e.isDefault,counterNumber:e.daemon.exAppsCount,counterType:"highlighted",details:e.isDefault?o(u)("appstore","Default"):"",forceDisplayActions:"",name:a.value,onClick:l[0]||(l[0]=Wt(p=>s("selected"),["stop"]))},{subname:y(()=>[q(x(e.daemon.accepts_deploy_id),1)]),_:1},8,["active","counterNumber","details","name"]))}}),xn=["aria-label"],$n=B({__name:"DaemonSelectionDialogList",emits:["selected"],setup(e){const t=xe();return(n,s)=>(d(),v("ul",{class:w(n.$style.DaemonSelectionDialogList),"aria-label":o(u)("appstore","Registered Deploy daemons list")},[(d(!0),v(M,null,j(o(t).dockerDaemons,a=>(d(),S(vn,{key:a.id,daemon:a,isDefault:o(t).defaultDaemon?.name===a.name,onSelected:r=>n.$emit("selected",a)},null,8,["daemon","isDefault","onSelected"]))),128))],10,xn))}}),Tn="_DaemonSelectionDialogList_x38pt_2",An={DaemonSelectionDialogList:Tn},Sn={$style:An},Rn=N($n,[["__cssModules",Sn]]),Dn=B({__name:"DaemonSelectionDialog",props:{app:{}},emits:["close"],setup(e){const t=xe(),n=K("/settings/admin/app_api");return(s,a)=>(d(),S(o(mt),{name:o(u)("appstore","Choose Deploy Daemon for {appName}",{appName:e.app.name}),size:"normal","onUpdate:open":a[1]||(a[1]=r=>r||s.$emit("close"))},{default:y(()=>[o(t).dockerDaemons.length===0?(d(),S(o(Ze),{key:0,class:"daemon-selection-list__empty-content",name:o(u)("appstore","No Deploy daemons configured"),description:o(u)("appstore","Register a custom one or setup from available templates")},{icon:y(()=>[k(o(L),{path:o(Oa)},null,8,["path"])]),action:y(()=>[k(o(ie),{href:o(n)},{default:y(()=>[q(x(o(u)("appstore","Manage Deploy daemons")),1)]),_:1},8,["href"])]),_:1},8,["name","description"])):(d(),S(Rn,{key:1,app:e.app,onSelected:a[0]||(a[0]=r=>s.$emit("close",r))},null,8,["app"]))]),_:1},8,["name"]))}});async function zn(){const{data:e}=await O.get(K("/apps/app_api/apps/list"));return e.apps}async function In(e){const{data:t}=await O.get(K(`/apps/app_api/apps/status/${e}`));return t}async function Be(e,t,n){await Qe(),await O.post(K(`/apps/app_api/apps/enable/${e.id}/${t.name}`),{deployOptions:n})}async function Cn(e){await Qe(),await O.post(K("/apps/app_api/apps/force"),{appId:e})}async function at(e){await Qe(),await O.get(K(`apps/app_api/apps/disable/${e}`))}const xe=ke("external-apps",()=>{const e=ee("appstore","appApiEnabled",!1),t=E([]),n=E(ee("appstore","appstoreExAppUpdateCount",0));let s=null;const a=E(ee("appstore","defaultDaemonConfigAccessible",!1)),r=E(ee("appstore","defaultDaemonConfig",null)),l=E([]),p=$(()=>t.value.filter(g=>g?.status?.action&&g.status.type!==""&&(g?.status?.action==="deploy"||g.status.action==="init"||g.status.action==="healthcheck")));function i(g){return t.value.find(({id:m})=>m===g)??null}async function h(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{if(l.value.length===1&&m.needsDownload)Be(m,l[0]),m.daemon=l[0];else if(m.needsDownload){const Z=await ft(Dn,{app:m});if(!Z)throw new Error("No daemon selected");await Be(m,Z),m.daemon=Z}else await Be(m,m.daemon);m.installed||(m.needsDownload=!1,m.status={type:"install",action:"deploy",init:0,deploy:0}),m.removable=!0,delete m.error,await T(g)}finally{m.loading=!1}}async function c(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{await Cn(g),await R(!0),m.active=!1}finally{m.loading=!1}}async function b(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{await at(g),m.active=!1}finally{m.loading=!1}}async function f(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{await at(g),m.active=!1,m.needsDownload=!0,m.installed=!1,m.daemon=null,m.status={},m.update!==null&&n.value--,delete m.update,delete m.error}finally{m.loading=!1}}async function z(g){const m=i(g);if(!m)throw new Error(`App with id ${g} not found`);m.loading=!0;try{await O.get(K(`/apps/app_api/apps/update/${g}`)),m.version=m.update||m.version,m.status={type:"update",action:"deploy",init:0,deploy:0},delete m.update,delete m.error,n.value--,await T(g)}catch(Z){Q.error("Failed to update ex app",{appId:g,error:Z}),be(u("appstore","Could not update the app. Please try again later."))}finally{m.loading=!1}}async function R(g=!1){(g||!r.value||!l.value.length)&&await P(),(g||t.value.length===0)&&await Y()}return{isEnabled:e,apps:t,updateCount:n,defaultDaemon:r,dockerDaemons:l,daemonAccessible:a,getById:i,disableApp:b,enableApp:h,forceEnableApp:c,updateApp:z,uninstallApp:f,initialize:R};async function P(){try{const{data:g}=await O.get(K("/apps/app_api/daemons"));r.value=g.daemons.find(m=>m.name===g.default_daemon_config),l.value=g.daemons.filter(m=>m.accepts_deploy_id==="docker-install")}catch(g){return Q.error("[app-api-store] Failed to fetch Docker daemons",{error:g}),!1}return!0}async function Y(){try{t.value=await zn()}catch(g){Q.error("An error occurred while fetching apps",{error:g}),be(u("appstore","An error occurred during the request. Unable to proceed."))}}async function T(g){const m=i(g);if(!m){Q.error("[app-api-store] app not found while fetching status",{appId:g});return}m.loading=!0;try{const Z=await In(g);m.status=Z,Q.debug("[app-api-store] initializingOrDeployingApps after setAppStatus",{initializingOrDeployingApps:p}),p.value.length===0&&(Q.debug("[app-api-store] Clearing interval"),clearInterval(s),s=null),m.status.error&&p.value.length===1&&(clearInterval(s),s=null)}catch(Z){throw A(),Z}finally{m.loading=!1}}function A(){clearInterval(s),p.value.length!==0&&(s=window.setInterval(()=>{Q.debug("[app-api-store] initializingOrDeployingApps",{initializingOrDeployingApps:p});for(const g of p.value)T(g.id)},2e3))}}),H=ke("apps",()=>{const e=xe(),t=E([]),n=E([]),s=ct(ee("appstore","appstoreBundles")),a=E(!1),r=E(!1),l=$(()=>[...t.value,...e.isEnabled?e.apps:[]]);function p(T){return n.value.find(({id:A})=>A===T)??null}function i(T){return l.value.find(({id:A})=>A===T)??null}function h(T){return l.value.filter(A=>[A.category].flat().includes(T))}async function c(T,A=!1){const g=i(T);if(!g)throw new Error(`App with id ${T} not found`);if(g.active||!g.installed&&!pe(g))throw new Error(`App with id ${T} cannot be enabled`);if(!A&&ve(g))throw new Error(`App with id ${T} requires force enable`);g.loading=!0;try{g.app_api?await e.enableApp(T):await tt(T,A),A&&(g.isCompatible=!0),g.active=!0,g.installed=!0,g.removable=!0,await ge()}finally{g.loading=!1}}async function b(T){const A=i(T);if(!A)throw new Error(`App with id ${T} not found`);if(!Tt(A))throw new Error(`App with id ${T} cannot be disabled`);A.loading=!0;try{A.app_api?await e.disableApp(T):await gn(T),A.active=!1,A.isCompatible=A.missingDependencies===void 0||A.missingDependencies.length===0,await ge()}finally{A.loading=!1}}async function f(T){const A=i(T);if(!A)throw new Error(`App with id ${T} not found`);if(!vt(A))throw new Error(`App with id ${T} cannot be uninstalled`);A.loading=!0;try{A.app_api?await e.uninstallApp(T):await fn(T),A.active=!1,A.installed=!1,await ge()}finally{A.loading=!1}}async function z(T,A){const g=i(T);if(!g)throw new Error(`App with id ${T} not found`);if(!At(g))throw new Error(`App with id ${T} cannot be limited to groups`);if(!g.app_api)try{g.loading=!0,await tt(T,!1,A),g.groups=A}finally{g.loading=!1}}async function R(T){const A=s.find(g=>g.id===T);if(!A)throw new Error(`Bundle with id ${T} not found`);try{for(const g of A.appIdentifiers){const m=i(g);m.loading=!0}await _n(A.id);for(const g of A.appIdentifiers){const m=i(g);m.active=!0,m.installed=!0,m.removable=!0,await ge()}}finally{for(const g of A.appIdentifiers){const m=i(g);m.loading=!1}}}async function P(){try{r.value=!0,n.value=await kn()}catch(T){Q.error("Failed to load app categories",{error:T}),be(u("appstore","Could not load app categories. Please try again later."))}finally{r.value=!1}}async function Y(){try{a.value=!0,t.value=await bn()}catch(T){Q.error("Failed to load apps list",{error:T}),be(u("appstore","Could not load apps list. Please try again later."))}finally{a.value=!1}}return Y(),P(),{apps:l,bundles:s,categories:n,isLoadingApps:a,isLoadingCategories:r,disableApp:b,enableApp:c,uninstallApp:f,enableBundle:R,getAppById:i,getAppsByCategory:h,getCategoryById:p,limitAppToGroups:z}}),Dt=ke("updates",()=>{const e=xe(),t=E(ee("appstore","appstoreUpdateCount",0)),n=$(()=>t.value+e.updateCount);async function s(a){const r=H().getAppById(a);if(!r)throw new Error(`App with id ${a} not found`);try{"app_api"in r&&r.app_api?await e.updateApp(a):(await mn(a),t.value=Math.max(t.value-1,0)),ge()}catch(l){Q.error("Failed to update app",{appId:a,error:l}),be(u("appstore","Could not update the app. Please try again later."))}}return{updateCount:n,updateApp:s}}),zt=ke("userSettings",()=>{const e=E(""),t=E(!1),n=E(!0),s=$(()=>e.value==="m"?"468px":e.value==="l"?"512px":"320px");function a(l){return{...(_e()??{}).query,grid:l??t.value?e.value||null:void 0,compatible:n.value?void 0:null}}return Oe().afterEach(l=>{r(l.query)}),{defaultGridSize:e,gridSizePx:s,isGridView:t,showIncompatible:n,getQuery:a};function r(l){t.value="grid"in l,e.value=[l.grid??""].flat()[0].toLowerCase(),n.value=!("compatible"in l)}}),Ln=B({__name:"AppstoreNavigation",setup(e){const t=ee("settings","appstoreEnabled",!0),n=H(),s=Dt(),a=zt(),r=$(()=>n.categories),l=$(()=>n.isLoadingCategories),p=_e(),i=Oe(),h=ut("search");ba("f",()=>{h.value?.$refs.inputElement||(dt("toggle-navigation",{open:!0}),window.setTimeout(()=>h.value?.$refs.inputElement?.focus(),400)),h.value?.$refs.inputElement?.focus()},{ctrl:!0,stop:!0,prevent:!0});const c=E("");re(()=>p.query.q,f=>{c.value=[f||""].flat()[0]},{immediate:!0}),an(c,(f,z)=>{if(f.trim()!==z.trim()){if(i.currentRoute.value.name==="apps-discover"||i.currentRoute.value.name==="apps-manage"&&p.params.category==="bundles"){i.push({name:"apps-search",query:{...p.query,q:f.trim()||void 0}});return}i.replace({...p,query:{...p.query,q:f.trim()||void 0}})}},{debounce:500});const b=$(()=>n.apps.find(({level:f})=>f===300)!==void 0);return(f,z)=>(d(),S(o(ca),{"aria-label":o(u)("appstore","Appstore categories")},{search:y(()=>[k(o(ua),{ref_key:"search",ref:c,modelValue:c.value,"onUpdate:modelValue":z[0]||(z[0]=R=>c.value=R),label:o(u)("appstore","Search apps…")},null,8,["modelValue","label"])]),list:y(()=>[o(t)?(d(),S(o(J),{key:0,to:{name:"apps-discover"},name:o(W).discover},{icon:y(()=>[k(o(L),{path:o(X).discover},null,8,["path"])]),_:1},8,["name"])):I("",!0),k(o(J),{to:{name:"apps-manage",params:{category:"installed"}},name:o(W).installed},{icon:y(()=>[k(o(L),{path:o(X).installed},null,8,["path"])]),_:1},8,["name"]),k(o(J),{to:{name:"apps-manage",params:{category:"enabled"}},name:o(W).enabled},{icon:y(()=>[k(o(L),{path:o(X).enabled},null,8,["path"])]),_:1},8,["name"]),k(o(J),{to:{name:"apps-manage",params:{category:"disabled"}},name:o(W).disabled},{icon:y(()=>[k(o(L),{path:o(X).disabled},null,8,["path"])]),_:1},8,["name"]),o(s).updateCount>0?(d(),S(o(J),{key:1,to:{name:"apps-manage",params:{category:"updates"}},name:o(W).updates},{counter:y(()=>[k(o(wa),{count:o(s).updateCount},null,8,["count"])]),icon:y(()=>[k(o(L),{path:o(X).updates},null,8,["path"])]),_:1},8,["name"])):I("",!0),k(o(J),{to:{name:"apps-bundles"},name:o(W).bundles},{icon:y(()=>[k(o(L),{path:o(X).bundles},null,8,["path"])]),_:1},8,["name"]),k(o(pn)),o(t)&&l.value?(d(),v("li",{key:2,class:w(f.$style.appstoreNavigation__categories_loading)},[k(o(Ie),{size:20,name:o(u)("appstore","Loading categories")},null,8,["name"])],2)):o(t)&&!l.value?(d(),v(M,{key:3},[b.value?(d(),S(o(J),{key:0,id:"app-category-supported",to:{name:"apps-category",params:{category:"supported"},query:o(a).getQuery(!0)},name:o(W).supported},{icon:y(()=>[k(o(L),{path:o(X).supported},null,8,["path"])]),_:1},8,["to","name"])):I("",!0),k(o(J),{id:"app-category-featured",to:{name:"apps-category",params:{category:"featured"},query:o(a).getQuery(!0)},name:o(W).featured},{icon:y(()=>[k(o(L),{path:o(X).featured},null,8,["path"])]),_:1},8,["to","name"]),(d(!0),v(M,null,j(r.value,R=>(d(),S(o(J),{id:`app-category-${R.id}`,key:R.id,name:R.displayName,to:{name:"apps-category",params:{category:R.id},query:o(a).getQuery(!0)}},{icon:y(()=>[k(o(L),{path:R.icon},null,8,["path"])]),_:2},1032,["id","name","to"]))),128))],64)):I("",!0)]),_:1},8,["aria-label"]))}}),En="_appstoreNavigation__categories_loading_1fsn2_2",Bn={appstoreNavigation__categories_loading:En},Pn={$style:Bn},qn=N(Ln,[["__cssModules",Pn]]),Nn=B({__name:"AppActions",props:{app:{},actions:{},maxInlineActions:{default:1},iconOnly:{type:Boolean}},setup(e){const t=$(()=>e.actions.length<=e.maxInlineActions?e.actions:e.actions.filter(s=>s.inline!==!1).slice(0,e.maxInlineActions)),n=$(()=>e.actions.filter(s=>!t.value.includes(s)));return(s,a)=>(d(),v("div",{class:w(s.$style.appActions)},[(d(!0),v(M,null,j(t.value,r=>(d(),S(o(ie),{key:r.id,ariaLabel:e.iconOnly?r.label(e.app):void 0,title:e.iconOnly?r.label(e.app):void 0,variant:r.variant,href:"href"in r?r.href(e.app):void 0,to:"to"in r?r.to(e.app):void 0,target:"href"in r?"_blank":void 0,onClick:l=>"callback"in r&&r.callback(e.app)},Me({icon:y(()=>[k(o(L),{path:r.icon},null,8,["path"])]),_:2},[e.iconOnly?void 0:{name:"default",fn:y(()=>[q(x(r.label(e.app)),1)]),key:"0"}]),1032,["ariaLabel","title","variant","href","to","target","onClick"]))),128)),k(o(ka),{forceMenu:""},{default:y(()=>[(d(!0),v(M,null,j(n.value,r=>(d(),v(M,null,["callback"in r?(d(),S(o(pa),{key:"callback-"+r.id,closeAfterClick:"",variant:r.variant,onClick:l=>r.callback(e.app)},{icon:y(()=>[k(o(L),{path:r.icon},null,8,["path"])]),default:y(()=>[q(" "+x(r.label(e.app)),1)]),_:2},1032,["variant","onClick"])):"href"in r?(d(),S(o(ga),{key:"link-"+r.id,closeAfterClick:"",variant:r.variant,href:r.href(e.app)},{icon:y(()=>[k(o(L),{path:r.icon},null,8,["path"])]),default:y(()=>[q(" "+x(r.label(e.app)),1)]),_:2},1032,["variant","href"])):(d(),S(o(ma),{key:"route-"+r.id,closeAfterClick:"",variant:r.variant,to:r.to(e.app)},{icon:y(()=>[k(o(L),{path:r.icon},null,8,["path"])]),default:y(()=>[q(" "+x(r.label(e.app)),1)]),_:2},1032,["variant","to"]))],64))),256))]),_:1})],2))}}),Mn="_appActions_lrf6h_2",On={appActions:Mn},Gn={$style:On},It=N(Nn,[["__cssModules",Gn]]),Zn=B({__name:"AppDeployDaemonTab",props:{app:{}},setup(e){const t=E(e.app?.daemon?.deploy_config?.computeDevice?.id!=="cpu"||!1);return(n,s)=>e.app?.daemon?(d(),S(o(Ce),{key:0,id:"daemon",name:o(u)("appstore","Daemon"),order:5},{icon:y(()=>[k(o(L),{path:o(yt),size:24},null,8,["path"])]),default:y(()=>[_("div",{class:w(n.$style.appDeployDaemonTab)},[_("h4",null,x(o(u)("appstore","Deploy Daemon")),1),_("p",null,[_("b",null,x(o(u)("appstore","Type")),1),q(": "+x(e.app?.daemon.accepts_deploy_id),1)]),_("p",null,[_("b",null,x(o(u)("appstore","Name")),1),q(": "+x(e.app?.daemon.name),1)]),_("p",null,[_("b",null,x(o(u)("appstore","Display Name")),1),q(": "+x(e.app?.daemon.display_name),1)]),_("p",null,[_("b",null,x(o(u)("appstore","GPUs support")),1),q(": "+x(t.value),1)]),_("p",null,[_("b",null,x(o(u)("appstore","Compute device")),1),q(": "+x(e.app?.daemon?.deploy_config?.computeDevice?.label),1)])],2)]),_:1},8,["name"])):I("",!0)}}),jn="_appDeployDaemonTab_1xkhp_2",Hn={appDeployDaemonTab:jn},Qn={$style:Hn},Un=N(Zn,[["__cssModules",Qn]]);function Ue(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var le=Ue();function nt(e){le=e}var ne={exec:()=>null};function D(e,t=""){let n=typeof e=="string"?e:e.source,s={replace:(a,r)=>{let l=typeof r=="string"?r:r.source;return l=l.replace(G.caret,"$1"),n=n.replace(a,l),s},getRegex:()=>new RegExp(n,t)};return s}var Fn=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Vn=/^(?:[ \t]*(?:\n|$))+/,Wn=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Xn=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,$e=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Yn=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Fe=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Ct=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Lt=D(Ct).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Jn=D(Ct).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Ve=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Kn=/^[^\n]+/,We=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,es=D(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",We).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ts=D(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Fe).getRegex(),Le="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Xe=/|$))/,as=D("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Xe).replace("tag",Le).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Et=D(Ve).replace("hr",$e).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le).getRegex(),ns=D(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Et).getRegex(),Ye={blockquote:ns,code:Wn,def:es,fences:Xn,heading:Yn,hr:$e,html:as,lheading:Lt,list:ts,newline:Vn,paragraph:Et,table:ne,text:Kn},st=D("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$e).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le).getRegex(),ss={...Ye,lheading:Jn,table:st,paragraph:D(Ve).replace("hr",$e).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",st).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le).getRegex()},ls={...Ye,html:D(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Xe).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ne,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:D(Ve).replace("hr",$e).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Lt).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},rs=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,is=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Bt=/^( {2,}|\\)\n(?!\s*$)/,os=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Fn?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),qt=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,hs=D(qt,"u").replace(/punct/g,ce).getRegex(),gs=D(qt,"u").replace(/punct/g,Pt).getRegex(),Nt="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",ms=D(Nt,"gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Ee).replace(/punct/g,ce).getRegex(),fs=D(Nt,"gu").replace(/notPunctSpace/g,us).replace(/punctSpace/g,cs).replace(/punct/g,Pt).getRegex(),bs=D("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Ee).replace(/punct/g,ce).getRegex(),ks=D(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,ce).getRegex(),_s="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",ys=D(_s,"gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Ee).replace(/punct/g,ce).getRegex(),ws=D(/\\(punct)/,"gu").replace(/punct/g,ce).getRegex(),vs=D(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),xs=D(Xe).replace("(?:-->|$)","-->").getRegex(),$s=D("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",xs).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Re=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Ts=D(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Re).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Mt=D(/^!?\[(label)\]\[(ref)\]/).replace("label",Re).replace("ref",We).getRegex(),Ot=D(/^!?\[(ref)\](?:\[\])?/).replace("ref",We).getRegex(),As=D("reflink|nolink(?!\\()","g").replace("reflink",Mt).replace("nolink",Ot).getRegex(),lt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ke={_backpedal:ne,anyPunctuation:ws,autolink:vs,blockSkip:ds,br:Bt,code:is,del:ne,delLDelim:ne,delRDelim:ne,emStrongLDelim:hs,emStrongRDelimAst:ms,emStrongRDelimUnd:bs,escape:rs,link:Ts,nolink:Ot,punctuation:ps,reflink:Mt,reflinkSearch:As,tag:$s,text:os,url:ne},Ss={...Ke,link:D(/^!?\[(label)\]\((.*?)\)/).replace("label",Re).getRegex(),reflink:D(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Re).getRegex()},Pe={...Ke,emStrongRDelimAst:fs,emStrongLDelim:gs,delLDelim:ks,delRDelim:ys,url:D(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",lt).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:D(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},rt=e=>Ds[e];function V(e,t){if(t){if(G.escapeTest.test(e))return e.replace(G.escapeReplace,rt)}else if(G.escapeTestNoEncode.test(e))return e.replace(G.escapeReplaceNoEncode,rt);return e}function it(e){try{e=encodeURI(e).replace(G.percentDecode,"%")}catch{return null}return e}function ot(e,t){let n=e.replace(G.findPipe,(r,l,p)=>{let i=!1,h=l;for(;--h>=0&&p[h]==="\\";)i=!i;return i?"|":" |"}),s=n.split(G.splitPipe),a=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length0?-2:-1}function Is(e,t=0){let n=t,s="";for(let a of e)if(a===" "){let r=4-n%4;s+=" ".repeat(r),n+=r}else s+=a,n++;return s}function pt(e,t,n,s,a){let r=t.href,l=t.title||null,p=e[1].replace(a.other.outputLinkReplace,"$1");s.state.inLink=!0;let i={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:r,title:l,text:p,tokens:s.inlineTokens(p)};return s.state.inLink=!1,i}function Cs(e,t,n){let s=e.match(n.other.indentCodeCompensation);if(s===null)return t;let a=s[1];return t.split(` +`).map(r=>{let l=r.match(n.other.beginningSpace);if(l===null)return r;let[p]=l;return p.length>=a.length?r.slice(a.length):r}).join(` +`)}var De=class{options;rules;lexer;constructor(e){this.options=e||le}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:he(n,` +`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],s=Cs(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let s=he(n,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(n=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:he(t[0],` +`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=he(t[0],` `).split(` -`),s="",a="",r=[];for(;n.length>0;){let l=!1,c=[],i;for(i=0;i0;){let l=!1,p=[],i;for(i=0;i1,a={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");let r=this.rules.other.listItemRegex(n),l=!1;for(;e;){let i=!1,h="",p="";if(!(t=r.exec(e))||this.rules.block.hr.test(e))break;h=t[0],e=e.substring(h.length);let b=Rs(t[2].split(` +`);continue}}return{type:"blockquote",raw:s,tokens:r,text:a}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),s=n.length>1,a={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");let r=this.rules.other.listItemRegex(n),l=!1;for(;e;){let i=!1,h="",c="";if(!(t=r.exec(e))||this.rules.block.hr.test(e))break;h=t[0],e=e.substring(h.length);let b=Is(t[2].split(` `,1)[0],t[1].length),f=e.split(` -`,1)[0],z=!b.trim(),R=0;if(this.options.pedantic?(R=2,p=b.trimStart()):z?R=t[1].length+1:(R=b.search(this.rules.other.nonSpaceChar),R=R>4?1:R,p=b.slice(R),R+=t[1].length),z&&this.rules.other.blankLine.test(f)&&(h+=f+` -`,e=e.substring(f.length+1),i=!0),!i){let P=this.rules.other.nextBulletRegex(R),Y=this.rules.other.hrRegex(R),$=this.rules.other.fencesBeginRegex(R),T=this.rules.other.headingBeginRegex(R),g=this.rules.other.htmlBeginRegex(R),m=this.rules.other.blockquoteBeginRegex(R);for(;e;){let Z=e.split(` -`,1)[0],ce;if(f=Z,this.options.pedantic?(f=f.replace(this.rules.other.listReplaceNesting," "),ce=f):ce=f.replace(this.rules.other.tabCharGlobal," "),$.test(f)||T.test(f)||g.test(f)||m.test(f)||P.test(f)||Y.test(f))break;if(ce.search(this.rules.other.nonSpaceChar)>=R||!f.trim())p+=` -`+ce.slice(R);else{if(z||b.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||$.test(b)||T.test(b)||Y.test(b))break;p+=` +`,1)[0],z=!b.trim(),R=0;if(this.options.pedantic?(R=2,c=b.trimStart()):z?R=t[1].length+1:(R=b.search(this.rules.other.nonSpaceChar),R=R>4?1:R,c=b.slice(R),R+=t[1].length),z&&this.rules.other.blankLine.test(f)&&(h+=f+` +`,e=e.substring(f.length+1),i=!0),!i){let P=this.rules.other.nextBulletRegex(R),Y=this.rules.other.hrRegex(R),T=this.rules.other.fencesBeginRegex(R),A=this.rules.other.headingBeginRegex(R),g=this.rules.other.htmlBeginRegex(R),m=this.rules.other.blockquoteBeginRegex(R);for(;e;){let Z=e.split(` +`,1)[0],ue;if(f=Z,this.options.pedantic?(f=f.replace(this.rules.other.listReplaceNesting," "),ue=f):ue=f.replace(this.rules.other.tabCharGlobal," "),T.test(f)||A.test(f)||g.test(f)||m.test(f)||P.test(f)||Y.test(f))break;if(ue.search(this.rules.other.nonSpaceChar)>=R||!f.trim())c+=` +`+ue.slice(R);else{if(z||b.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||T.test(b)||A.test(b)||Y.test(b))break;c+=` `+f}z=!f.trim(),h+=Z+` -`,e=e.substring(Z.length+1),b=ce.slice(R)}}a.loose||(l?a.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(l=!0)),a.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(p),loose:!1,text:p,tokens:[]}),a.raw+=h}let c=a.items.at(-1);if(c)c.raw=c.raw.trimEnd(),c.text=c.text.trimEnd();else return;a.raw=a.raw.trimEnd();for(let i of a.items){if(this.lexer.state.top=!1,i.tokens=this.lexer.blockTokens(i.text,[]),i.task){if(i.text=i.text.replace(this.rules.other.listReplaceTask,""),i.tokens[0]?.type==="text"||i.tokens[0]?.type==="paragraph"){i.tokens[0].raw=i.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),i.tokens[0].text=i.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let p=this.lexer.inlineQueue.length-1;p>=0;p--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[p].src)){this.lexer.inlineQueue[p].src=this.lexer.inlineQueue[p].src.replace(this.rules.other.listReplaceTask,"");break}}let h=this.rules.other.listTaskCheckbox.exec(i.raw);if(h){let p={type:"checkbox",raw:h[0]+" ",checked:h[0]!=="[ ]"};i.checked=p.checked,a.loose?i.tokens[0]&&["paragraph","text"].includes(i.tokens[0].type)&&"tokens"in i.tokens[0]&&i.tokens[0].tokens?(i.tokens[0].raw=p.raw+i.tokens[0].raw,i.tokens[0].text=p.raw+i.tokens[0].text,i.tokens[0].tokens.unshift(p)):i.tokens.unshift({type:"paragraph",raw:p.raw,text:p.raw,tokens:[p]}):i.tokens.unshift(p)}}if(!a.loose){let h=i.tokens.filter(b=>b.type==="space"),p=h.length>0&&h.some(b=>this.rules.other.anyLine.test(b.raw));a.loose=p}}if(a.loose)for(let i of a.items){i.loose=!0;for(let h of i.tokens)h.type==="text"&&(h.type="paragraph")}return a}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),s=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:s,title:a}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=ot(t[1]),s=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),a=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(` -`):[],r={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===s.length){for(let l of s)this.rules.other.tableAlignRight.test(l)?r.align.push("right"):this.rules.other.tableAlignCenter.test(l)?r.align.push("center"):this.rules.other.tableAlignLeft.test(l)?r.align.push("left"):r.align.push(null);for(let l=0;l({text:c,tokens:this.lexer.inline(c),header:!1,align:r.align[i]})));return r}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let n=t[1].trim();return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===` -`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let r=de(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{let r=Ss(t[2],"()");if(r===-2)return;if(r>-1){let l=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let s=t[2],a="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(s);r&&(s=r[1],a=r[3])}else a=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s=s.slice(1):s=s.slice(1,-1)),pt(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let s=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=t[s.toLowerCase()];if(!a){let r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return pt(n,a,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!(!s||!s[1]&&!s[2]&&!s[3]&&!s[4]||s[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[3])||!n||this.rules.inline.punctuation.exec(n))){let a=[...s[0]].length-1,r,l,c=a,i=0,h=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,t=t.slice(-1*e.length+a);(s=h.exec(t))!==null;){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r)continue;if(l=[...r].length,s[3]||s[4]){c+=l;continue}else if((s[5]||s[6])&&a%3&&!((a+l)%3)){i+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+i);let p=[...s[0]][0].length,b=e.slice(0,a+s.index+p+l);if(Math.min(a,l)%2){let z=b.slice(1,-1);return{type:"em",raw:b,text:z,tokens:this.lexer.inlineTokens(z)}}let f=b.slice(2,-2);return{type:"strong",raw:b,text:f,tokens:this.lexer.inlineTokens(f)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," "),s=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return s&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,n=""){let s=this.rules.inline.delLDelim.exec(e);if(s&&(!s[1]||!n||this.rules.inline.punctuation.exec(n))){let a=[...s[0]].length-1,r,l,c=a,i=this.rules.inline.delRDelim;for(i.lastIndex=0,t=t.slice(-1*e.length+a);(s=i.exec(t))!==null;){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r||(l=[...r].length,l!==a))continue;if(s[3]||s[4]){c+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c);let h=[...s[0]][0].length,p=e.slice(0,a+s.index+h+l),b=p.slice(a,-a);return{type:"del",raw:p,text:b,tokens:this.lexer.inlineTokens(b)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,s;return t[2]==="@"?(n=t[1],s="mailto:"+n):(n=t[1],s=n),{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,s;if(t[2]==="@")n=t[0],s="mailto:"+n;else{let a;do a=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(a!==t[0]);n=t[0],t[1]==="www."?s="http://"+t[0]:s=t[0]}return{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},U=class qe{tokens;options;state;inlineQueue;tokenizer;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||le,this.options.tokenizer=this.options.tokenizer||new Re,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:O,block:$e.normal,inline:ue.normal};this.options.pedantic?(n.block=$e.pedantic,n.inline=ue.pedantic):this.options.gfm&&(n.block=$e.gfm,this.options.breaks?n.inline=ue.breaks:n.inline=ue.gfm),this.tokenizer.rules=n}static get rules(){return{block:$e,inline:ue}}static lex(t,n){return new qe(n).lex(t)}static lexInline(t,n){return new qe(n).inlineTokens(t)}lex(t){t=t.replace(O.carriageReturn,` -`),this.blockTokens(t,this.tokens);for(let n=0;n(a=l.call({lexer:this},t,n))?(t=t.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.space(t)){t=t.substring(a.raw.length);let l=n.at(-1);a.raw.length===1&&l!==void 0?l.raw+=` +`,e=e.substring(Z.length+1),b=ue.slice(R)}}a.loose||(l?a.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(l=!0)),a.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}),a.raw+=h}let p=a.items.at(-1);if(p)p.raw=p.raw.trimEnd(),p.text=p.text.trimEnd();else return;a.raw=a.raw.trimEnd();for(let i of a.items){if(this.lexer.state.top=!1,i.tokens=this.lexer.blockTokens(i.text,[]),i.task){if(i.text=i.text.replace(this.rules.other.listReplaceTask,""),i.tokens[0]?.type==="text"||i.tokens[0]?.type==="paragraph"){i.tokens[0].raw=i.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),i.tokens[0].text=i.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let c=this.lexer.inlineQueue.length-1;c>=0;c--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)){this.lexer.inlineQueue[c].src=this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask,"");break}}let h=this.rules.other.listTaskCheckbox.exec(i.raw);if(h){let c={type:"checkbox",raw:h[0]+" ",checked:h[0]!=="[ ]"};i.checked=c.checked,a.loose?i.tokens[0]&&["paragraph","text"].includes(i.tokens[0].type)&&"tokens"in i.tokens[0]&&i.tokens[0].tokens?(i.tokens[0].raw=c.raw+i.tokens[0].raw,i.tokens[0].text=c.raw+i.tokens[0].text,i.tokens[0].tokens.unshift(c)):i.tokens.unshift({type:"paragraph",raw:c.raw,text:c.raw,tokens:[c]}):i.tokens.unshift(c)}}if(!a.loose){let h=i.tokens.filter(b=>b.type==="space"),c=h.length>0&&h.some(b=>this.rules.other.anyLine.test(b.raw));a.loose=c}}if(a.loose)for(let i of a.items){i.loose=!0;for(let h of i.tokens)h.type==="text"&&(h.type="paragraph")}return a}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),s=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:s,title:a}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=ot(t[1]),s=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),a=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(` +`):[],r={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===s.length){for(let l of s)this.rules.other.tableAlignRight.test(l)?r.align.push("right"):this.rules.other.tableAlignCenter.test(l)?r.align.push("center"):this.rules.other.tableAlignLeft.test(l)?r.align.push("left"):r.align.push(null);for(let l=0;l({text:p,tokens:this.lexer.inline(p),header:!1,align:r.align[i]})));return r}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let n=t[1].trim();return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===` +`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let r=he(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{let r=zs(t[2],"()");if(r===-2)return;if(r>-1){let l=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let s=t[2],a="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(s);r&&(s=r[1],a=r[3])}else a=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s=s.slice(1):s=s.slice(1,-1)),pt(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let s=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=t[s.toLowerCase()];if(!a){let r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return pt(n,a,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!(!s||!s[1]&&!s[2]&&!s[3]&&!s[4]||s[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[3])||!n||this.rules.inline.punctuation.exec(n))){let a=[...s[0]].length-1,r,l,p=a,i=0,h=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,t=t.slice(-1*e.length+a);(s=h.exec(t))!==null;){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r)continue;if(l=[...r].length,s[3]||s[4]){p+=l;continue}else if((s[5]||s[6])&&a%3&&!((a+l)%3)){i+=l;continue}if(p-=l,p>0)continue;l=Math.min(l,l+p+i);let c=[...s[0]][0].length,b=e.slice(0,a+s.index+c+l);if(Math.min(a,l)%2){let z=b.slice(1,-1);return{type:"em",raw:b,text:z,tokens:this.lexer.inlineTokens(z)}}let f=b.slice(2,-2);return{type:"strong",raw:b,text:f,tokens:this.lexer.inlineTokens(f)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," "),s=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return s&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,n=""){let s=this.rules.inline.delLDelim.exec(e);if(s&&(!s[1]||!n||this.rules.inline.punctuation.exec(n))){let a=[...s[0]].length-1,r,l,p=a,i=this.rules.inline.delRDelim;for(i.lastIndex=0,t=t.slice(-1*e.length+a);(s=i.exec(t))!==null;){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r||(l=[...r].length,l!==a))continue;if(s[3]||s[4]){p+=l;continue}if(p-=l,p>0)continue;l=Math.min(l,l+p);let h=[...s[0]][0].length,c=e.slice(0,a+s.index+h+l),b=c.slice(a,-a);return{type:"del",raw:c,text:b,tokens:this.lexer.inlineTokens(b)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,s;return t[2]==="@"?(n=t[1],s="mailto:"+n):(n=t[1],s=n),{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,s;if(t[2]==="@")n=t[0],s="mailto:"+n;else{let a;do a=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(a!==t[0]);n=t[0],t[1]==="www."?s="http://"+t[0]:s=t[0]}return{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},U=class qe{tokens;options;state;inlineQueue;tokenizer;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||le,this.options.tokenizer=this.options.tokenizer||new De,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:G,block:Te.normal,inline:de.normal};this.options.pedantic?(n.block=Te.pedantic,n.inline=de.pedantic):this.options.gfm&&(n.block=Te.gfm,this.options.breaks?n.inline=de.breaks:n.inline=de.gfm),this.tokenizer.rules=n}static get rules(){return{block:Te,inline:de}}static lex(t,n){return new qe(n).lex(t)}static lexInline(t,n){return new qe(n).inlineTokens(t)}lex(t){t=t.replace(G.carriageReturn,` +`),this.blockTokens(t,this.tokens);for(let n=0;n(a=l.call({lexer:this},t,n))?(t=t.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.space(t)){t=t.substring(a.raw.length);let l=n.at(-1);a.raw.length===1&&l!==void 0?l.raw+=` `:n.push(a);continue}if(a=this.tokenizer.code(t)){t=t.substring(a.raw.length);let l=n.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(` `)?"":` `)+a.raw,l.text+=` `+a.text,this.inlineQueue.at(-1).src=l.text):n.push(a);continue}if(a=this.tokenizer.fences(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.heading(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.hr(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.blockquote(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.list(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.html(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.def(t)){t=t.substring(a.raw.length);let l=n.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(` `)?"":` `)+a.raw,l.text+=` -`+a.raw,this.inlineQueue.at(-1).src=l.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},n.push(a));continue}if(a=this.tokenizer.table(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.lheading(t)){t=t.substring(a.raw.length),n.push(a);continue}let r=t;if(this.options.extensions?.startBlock){let l=1/0,c=t.slice(1),i;this.options.extensions.startBlock.forEach(h=>{i=h.call({lexer:this},c),typeof i=="number"&&i>=0&&(l=Math.min(l,i))}),l<1/0&&l>=0&&(r=t.substring(0,l+1))}if(this.state.top&&(a=this.tokenizer.paragraph(r))){let l=n.at(-1);s&&l?.type==="paragraph"?(l.raw+=(l.raw.endsWith(` +`+a.raw,this.inlineQueue.at(-1).src=l.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},n.push(a));continue}if(a=this.tokenizer.table(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.lheading(t)){t=t.substring(a.raw.length),n.push(a);continue}let r=t;if(this.options.extensions?.startBlock){let l=1/0,p=t.slice(1),i;this.options.extensions.startBlock.forEach(h=>{i=h.call({lexer:this},p),typeof i=="number"&&i>=0&&(l=Math.min(l,i))}),l<1/0&&l>=0&&(r=t.substring(0,l+1))}if(this.state.top&&(a=this.tokenizer.paragraph(r))){let l=n.at(-1);s&&l?.type==="paragraph"?(l.raw+=(l.raw.endsWith(` `)?"":` `)+a.raw,l.text+=` `+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):n.push(a),s=r.length!==t.length,t=t.substring(a.raw.length);continue}if(a=this.tokenizer.text(t)){t=t.substring(a.raw.length);let l=n.at(-1);l?.type==="text"?(l.raw+=(l.raw.endsWith(` `)?"":` `)+a.raw,l.text+=` -`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):n.push(a);continue}if(t){let l="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){this.tokenizer.lexer=this;let s=t,a=null;if(this.tokens.links){let i=Object.keys(this.tokens.links);if(i.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!==null;)i.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!==null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r;for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!==null;)r=a[2]?a[2].length:0,s=s.slice(0,a.index+r)+"["+"a".repeat(a[0].length-r-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);s=this.options.hooks?.emStrongMask?.call({lexer:this},s)??s;let l=!1,c="";for(;t;){l||(c=""),l=!1;let i;if(this.options.extensions?.inline?.some(p=>(i=p.call({lexer:this},t,n))?(t=t.substring(i.raw.length),n.push(i),!0):!1))continue;if(i=this.tokenizer.escape(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.tag(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.link(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(i.raw.length);let p=n.at(-1);i.type==="text"&&p?.type==="text"?(p.raw+=i.raw,p.text+=i.text):n.push(i);continue}if(i=this.tokenizer.emStrong(t,s,c)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.codespan(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.br(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.del(t,s,c)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.autolink(t)){t=t.substring(i.raw.length),n.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(t))){t=t.substring(i.raw.length),n.push(i);continue}let h=t;if(this.options.extensions?.startInline){let p=1/0,b=t.slice(1),f;this.options.extensions.startInline.forEach(z=>{f=z.call({lexer:this},b),typeof f=="number"&&f>=0&&(p=Math.min(p,f))}),p<1/0&&p>=0&&(h=t.substring(0,p+1))}if(i=this.tokenizer.inlineText(h)){t=t.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(c=i.raw.slice(-1)),l=!0;let p=n.at(-1);p?.type==="text"?(p.raw+=i.raw,p.text+=i.text):n.push(i);continue}if(t){let p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}else throw new Error(p)}}return n}},De=class{options;parser;constructor(e){this.options=e||le}space(e){return""}code({text:e,lang:t,escaped:n}){let s=(t||"").match(O.notSpaceStart)?.[0],a=e.replace(O.endingNewline,"")+` +`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):n.push(a);continue}if(t){let l="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){this.tokenizer.lexer=this;let s=t,a=null;if(this.tokens.links){let i=Object.keys(this.tokens.links);if(i.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!==null;)i.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!==null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r;for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!==null;)r=a[2]?a[2].length:0,s=s.slice(0,a.index+r)+"["+"a".repeat(a[0].length-r-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);s=this.options.hooks?.emStrongMask?.call({lexer:this},s)??s;let l=!1,p="";for(;t;){l||(p=""),l=!1;let i;if(this.options.extensions?.inline?.some(c=>(i=c.call({lexer:this},t,n))?(t=t.substring(i.raw.length),n.push(i),!0):!1))continue;if(i=this.tokenizer.escape(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.tag(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.link(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(i.raw.length);let c=n.at(-1);i.type==="text"&&c?.type==="text"?(c.raw+=i.raw,c.text+=i.text):n.push(i);continue}if(i=this.tokenizer.emStrong(t,s,p)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.codespan(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.br(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.del(t,s,p)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.autolink(t)){t=t.substring(i.raw.length),n.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(t))){t=t.substring(i.raw.length),n.push(i);continue}let h=t;if(this.options.extensions?.startInline){let c=1/0,b=t.slice(1),f;this.options.extensions.startInline.forEach(z=>{f=z.call({lexer:this},b),typeof f=="number"&&f>=0&&(c=Math.min(c,f))}),c<1/0&&c>=0&&(h=t.substring(0,c+1))}if(i=this.tokenizer.inlineText(h)){t=t.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(p=i.raw.slice(-1)),l=!0;let c=n.at(-1);c?.type==="text"?(c.raw+=i.raw,c.text+=i.text):n.push(i);continue}if(t){let c="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return n}},ze=class{options;parser;constructor(e){this.options=e||le}space(e){return""}code({text:e,lang:t,escaped:n}){let s=(t||"").match(G.notSpaceStart)?.[0],a=e.replace(G.endingNewline,"")+` `;return s?'
'+(n?a:V(a,!0))+`
`:"
"+(n?a:V(a,!0))+`
`}blockquote({tokens:e}){return`
${this.parser.parse(e)}
`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)} `}hr(e){return`
-`}list(e){let t=e.ordered,n=e.start,s="";for(let l=0;l +`}list(e){let t=e.ordered,n=e.start,s="";for(let l=0;l `+s+" `}listitem(e){return`
  • ${this.parser.parse(e.tokens)}
  • `}checkbox({checked:e}){return" '}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    @@ -56,6 +56,6 @@ ${this.parser.parse(e)} `}tablerow({text:e}){return` ${e} `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+` -`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${V(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let s=this.parser.parseInline(n),a=it(e);if(a===null)return s;e=a;let r='
    ",r}image({href:e,title:t,text:n,tokens:s}){s&&(n=this.parser.parseInline(s,this.parser.textRenderer));let a=it(e);if(a===null)return V(n);e=a;let r=`${V(n)}{let l=a[r].flat(1/0);n=n.concat(this.walkTokens(l,t))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let r=t.renderers[a.name];r?t.renderers[a.name]=function(...l){let c=a.renderer.apply(this,l);return c===!1&&(c=r.apply(this,l)),c}:t.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let r=t[a.level];r?r.unshift(a.tokenizer):t[a.level]=[a.tokenizer],a.start&&(a.level==="block"?t.startBlock?t.startBlock.push(a.start):t.startBlock=[a.start]:a.level==="inline"&&(t.startInline?t.startInline.push(a.start):t.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(t.childTokens[a.name]=a.childTokens)}),s.extensions=t),n.renderer){let a=this.defaults.renderer||new De(this.defaults);for(let r in n.renderer){if(!(r in a))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let l=r,c=n.renderer[l],i=a[l];a[l]=(...h)=>{let p=c.apply(a,h);return p===!1&&(p=i.apply(a,h)),p||""}}s.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Re(this.defaults);for(let r in n.tokenizer){if(!(r in a))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let l=r,c=n.tokenizer[l],i=a[l];a[l]=(...h)=>{let p=c.apply(a,h);return p===!1&&(p=i.apply(a,h)),p}}s.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new ge;for(let r in n.hooks){if(!(r in a))throw new Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;let l=r,c=n.hooks[l],i=a[l];ge.passThroughHooks.has(r)?a[l]=h=>{if(this.defaults.async&&ge.passThroughHooksRespectAsync.has(r))return(async()=>{let b=await c.call(a,h);return i.call(a,b)})();let p=c.call(a,h);return i.call(a,p)}:a[l]=(...h)=>{if(this.defaults.async)return(async()=>{let b=await c.apply(a,h);return b===!1&&(b=await i.apply(a,h)),b})();let p=c.apply(a,h);return p===!1&&(p=i.apply(a,h)),p}}s.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,r=n.walkTokens;s.walkTokens=function(l){let c=[];return c.push(r.call(this,l)),a&&(c=c.concat(a.call(this,l))),c}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return U.lex(e,t??this.defaults)}parser(e,t){return F.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let s={...n},a={...this.defaults,...s},r=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&s.async===!1)return r(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return r(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let l=a.hooks?await a.hooks.preprocess(t):t,c=await(a.hooks?await a.hooks.provideLexer(e):e?U.lex:U.lexInline)(l,a),i=a.hooks?await a.hooks.processAllTokens(c):c;a.walkTokens&&await Promise.all(this.walkTokens(i,a.walkTokens));let h=await(a.hooks?await a.hooks.provideParser(e):e?F.parse:F.parseInline)(i,a);return a.hooks?await a.hooks.postprocess(h):h})().catch(r);try{a.hooks&&(t=a.hooks.preprocess(t));let l=(a.hooks?a.hooks.provideLexer(e):e?U.lex:U.lexInline)(t,a);a.hooks&&(l=a.hooks.processAllTokens(l)),a.walkTokens&&this.walkTokens(l,a.walkTokens);let c=(a.hooks?a.hooks.provideParser(e):e?F.parse:F.parseInline)(l,a);return a.hooks&&(c=a.hooks.postprocess(c)),c}catch(l){return r(l)}}}onError(e,t){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let s="

    An error occurred:

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

    An error occurred:

    "+V(n.message+"",!0)+"
    ";return t?Promise.resolve(s):s}if(t)return Promise.reject(n);throw n}}},ae=new Ls;function C(e,t){return ae.parse(e,t)}C.options=C.setOptions=function(e){return ae.setOptions(e),C.defaults=ae.defaults,nt(C.defaults),C},C.getDefaults=Ue,C.defaults=le,C.use=function(...e){return ae.use(...e),C.defaults=ae.defaults,nt(C.defaults),C},C.walkTokens=function(e,t){return ae.walkTokens(e,t)},C.parseInline=ae.parseInline,C.Parser=F,C.parser=F.parse,C.Renderer=ze,C.TextRenderer=et,C.Lexer=U,C.lexer=U.lex,C.Tokenizer=De,C.Hooks=me,C.parse=C,C.options,C.setOptions,C.use,C.walkTokens,C.parseInline,F.parse,U.lex;function Es(e,t){const n=new C.Renderer;return n.blockquote=qs,n.link=Bs,n.image=Ps,$(()=>{const s=t?.minHeadingLevel??1;n.heading=Ns(s);const a=fe(e).trim();return aa.sanitize(C(a,{async:!1,renderer:n,gfm:!1,breaks:!1,pedantic:!1}),{ALLOWED_TAGS:["h1","h2","h3","h4","h5","h6","strong","p","a","ul","ol","li","em","del","blockquote"]})})}function Bs({href:e,title:t,text:n}){let s;try{s=new URL(e)}catch{return""}if(s.protocol!=="http:"&&s.protocol!=="https:")return"";let a='
    ",a}function Ps({title:e,text:t}){return t||(e??"")}function qs({text:e}){return`
    ${e}
    `}function Ns(e){return({text:t,depth:n})=>(n=Math.min(6,n+(e-1)),`${t}`)}const Ms=["innerHTML"],Os=B({__name:"MarkdownPreview",props:{text:{},minHeadingLevel:{default:1}},setup(e){const t=Es(()=>e.text,{minHeadingLevel:e.minHeadingLevel});return(n,s)=>(d(),v("div",{class:"settings-markdown",innerHTML:o(t)},null,8,Ms))}}),Gt=N(Os,[["__scopeId","data-v-cf1f9874"]]),Gs=B({__name:"AppDescriptionTab",props:{app:{}},setup(e){return(t,n)=>(d(),S(o(Ce),{id:"desc",name:o(u)("appstore","Description"),order:0},{icon:y(()=>[k(o(L),{path:o(Ga)},null,8,["path"])]),default:y(()=>[_("div",{class:w(t.$style.appDescriptionTab)},[k(Gt,{text:e.app.description,minHeadingLevel:3},null,8,["text"])],2)]),_:1},8,["name"]))}}),Zs="_appDescriptionTab_118mz_2",js={appDescriptionTab:Zs},Hs={$style:js},Qs=N(Gs,[["__cssModules",Hs]]),Us=["title"],Fs=B({__name:"BadgeAppDaemon",props:{daemon:{}},setup(e){return(t,n)=>e.daemon?(d(),v("span",{key:0,class:w(t.$style.appDaemonBadge),title:e.daemon.name},[k(o(L),{path:o(yt),size:20,inline:""},null,8,["path"]),q(" "+x(e.daemon.display_name),1)],10,Us)):I("",!0)}}),Vs="_appDaemonBadge_1n34s_2",Ws={appDaemonBadge:Vs},Xs={$style:Ws},Zt=N(Fs,[["__cssModules",Xs]]),Ys=["title"],Js=B({__name:"BadgeAppLevel",props:{level:{}},setup(e){const t=e,n=$(()=>t.level===300),s=$(()=>t.level===200),a=$(()=>n.value?bt:He),r=$(()=>n.value?u("appstore","Supported"):u("appstore","Featured")),l=$(()=>n.value?u("appstore","This app is supported via your current Nextcloud subscription."):u("appstore","Featured apps are developed by and within the community. They offer central functionality and are ready for production use."));return(p,i)=>n.value||s.value?(d(),v("span",{key:0,class:w([p.$style.appLevelBadge,{[p.$style.appLevelBadge__supported]:n.value}]),title:l.value},[k(o(L),{path:a.value,size:20,inline:""},null,8,["path"]),q(" "+x(r.value),1)],10,Ys)):I("",!0)}}),Ks="_appLevelBadge_q2et3_2",el="_appLevelBadge__supported_q2et3_15",tl={appLevelBadge:Ks,appLevelBadge__supported:el},al={$style:tl},jt=N(Js,[["__cssModules",al]]),nl=["aria-label","title"],sl=B({__name:"BadgeAppScore",props:{app:{}},setup(e){const t=$(()=>!e.app.shipped&&e.app.ratingNumOverall&&e.app.ratingNumOverall>5),n=$(()=>e.app.ratingOverall??4),s=$(()=>{const p=(n.value*5).toFixed(1);return u("appstore","Community rating: {score}/5",{score:p})}),a=$(()=>Math.floor(n.value*5+.25)),r=$(()=>Math.min(Math.floor((1-n.value)*5+.25),5-a.value)),l=$(()=>a.value+r.value<5);return(p,i)=>t.value?(d(),v("span",{key:0,role:"img","aria-label":s.value,title:s.value,class:w(p.$style.badgeAppScore)},[(d(!0),v(M,null,j(a.value,h=>(d(),S(o(L),{key:`full-star-${h}`,path:o(He),inline:""},null,8,["path"]))),128)),l.value?(d(),S(o(L),{key:0,path:o(Za),inline:""},null,8,["path"])):I("",!0),(d(!0),v(M,null,j(r.value,h=>(d(),S(o(L),{key:`empty-star-${h}`,path:o(wt),inline:""},null,8,["path"]))),128))],10,nl)):I("",!0)}}),ll="_badgeAppScore_1t97c_2",rl={badgeAppScore:ll},il={$style:rl},ol=N(sl,[["__cssModules",il]]),pl=new gt({concurrency:3}),Ht=ke("groups",()=>{const e=E(new Map);async function t(r){return await pl.add(()=>a(r))}async function n(r){const l=Ge("/cloud/groups/details");try{const{data:p}=await O.get(l,{params:{search:r.trim(),limit:10}});for(const i of p.ocs.data.groups)e.value.has(i.id)||e.value.set(i.id,{id:i.id,displayName:i.displayname,isNoUser:!0})}catch(p){Q.error("Failed to search groups",{error:p})}}function s(r){return e.value.get(r)}return{groups:$(()=>Array.from(e.value.values())),searchGroups:n,getGroupById:s,fetchGroupById:t};async function a(r){return e.value.has(r)||await n(r),e.value.get(r)}});function Qt(e){const t=Ht(),n=E([]);return re(()=>fe(e).groups,async()=>{const s=fe(e).groups;if(s===void 0){n.value=[];return}const a=s.map(l=>t.fetchGroupById(l)),r=await Promise.all(a);n.value=r.filter(Boolean)},{immediate:!0}),ct(n)}const cl={class:"app-details"},ul=["aria-label"],dl=["id"],hl=["aria-labelledby"],gl=["title"],ml=["aria-label"],fl=["href"],bl=B({__name:"AppDetailsTab",props:{app:{}},setup(e){const t=H(),n=Xt(),s=$(()=>e.app.releases?.map(c=>c.lastModified).map(c=>Date.parse(c)).sort().at(-1)),a=$(()=>e.app?[e.app.author].flat().map(h).sort((c,b)=>c.split(" ").at(-1).localeCompare(b.split(" ").at(-1))).join(", "):""),r=$(()=>`https://apps.nextcloud.com/apps/${e.app.id}`),l=Qt(()=>e.app),p=$(()=>{const c=[];return e.app.internal||c.push({id:"appstore",href:r.value,label:u("appstore","View in store")}),e.app.website&&c.push({id:"website",href:e.app.website,label:u("appstore","Visit website")}),e.app.documentation&&(e.app.documentation.user&&c.push({id:"doc-user",href:e.app.documentation.user,label:u("appstore","Usage documentation")}),e.app.documentation.admin&&c.push({id:"doc-admin",href:e.app.documentation.admin,label:u("appstore","Admin documentation")}),e.app.documentation.developer&&c.push({id:"doc-developer",href:e.app.documentation.developer,label:u("appstore","Developer documentation")})),c}),i=$(()=>[e.app.category].flat().map(c=>t.getCategoryById(c)?.displayName??c).join(", "));function h(c){return c["@value"]?c["@value"]:c}return(c,b)=>(d(),S(o(Ce),{id:"details",name:o(u)("appstore","Details"),order:1},{icon:y(()=>[k(o(L),{path:o(Ha)},null,8,["path"])]),default:y(()=>[_("div",cl,[_("div",{class:w(c.$style.appstoreDetailsTab__badges)},[k(jt,{level:e.app.level},null,8,["level"]),e.app.app_api&&e.app.daemon?(d(),S(Zt,{key:0,daemon:e.app.daemon},null,8,["daemon"])):I("",!0),k(ol,{app:e.app},null,8,["app"])],2),!e.app.isCompatible&&e.app.missingDependencies&&e.app.missingDependencies.length?(d(),S(o(ja),{key:0,type:"error"},{default:y(()=>[q(x(o(u)("appstore","This app cannot be installed because the following dependencies are not fulfilled:"))+" ",1),_("ul",{"aria-label":o(u)("appstore","Missing dependencies"),class:w(c.$style.appstoreDetailsTab__missingDependencies)},[(d(!0),v(M,null,j(e.app.missingDependencies,(f,z)=>(d(),v("li",{key:z},x(f),1))),128))],10,ul)]),_:1})):I("",!0),o(l).length?(d(),v("div",{key:1,class:w(c.$style.appstoreDetailsTab__section)},[_("h4",{id:o(n)},x(o(u)("appstore","Limited to groups")),9,dl),_("ul",{"aria-labelledby":o(n),class:w(c.$style.appstoreDetailsTab__sectionDetails)},[(d(!0),v(M,null,j(o(l),f=>(d(),v("li",{key:f.id,title:f.id},x(f.displayName),9,gl))),128))],10,hl)],2)):I("",!0),s.value&&!e.app.shipped?(d(),v("div",{key:2,class:w(c.$style.appstoreDetailsTab__section)},[_("h4",null,x(o(u)("appstore","Latest updated")),1),k(o(fa),{class:w(c.$style.appstoreDetailsTab__sectionDetails),timestamp:s.value},null,8,["class","timestamp"])],2)):I("",!0),_("div",{class:w(c.$style.appstoreDetailsTab__section)},[_("h4",null,x(o(u)("appstore","Author")),1),_("p",{class:w(c.$style.appstoreDetailsTab__sectionDetails)},x(a.value),3)],2),_("div",{class:w(c.$style.appstoreDetailsTab__section)},[_("h4",null,x(o(u)("appstore","Categories")),1),_("p",{class:w(c.$style.appstoreDetailsTab__sectionDetails)},x(i.value),3)],2),p.value.length>0?(d(),v("div",{key:3,class:w(c.$style.appstoreDetailsTab__section)},[_("h4",null,x(o(u)("appstore","Resources")),1),_("ul",{class:w(c.$style.appstoreDetailsTab__resources),"aria-label":o(u)("appstore","Documentation resources")},[(d(!0),v(M,null,j(p.value,f=>(d(),v("li",{key:f.id,class:w(c.$style.appstoreDetailsTab__resourcesItem)},[_("a",{class:w(c.$style.appstoreDetailsTab__resourcesLink),href:f.href,target:"_blank",rel:"noreferrer noopener"},x(f.label)+" ↗ ",11,fl)],2))),128))],10,ml)],2)):I("",!0)])]),_:1},8,["name"]))}}),kl="_appstoreDetailsTab__badges_4x76r_2",_l="_appstoreDetailsTab__section_4x76r_8",yl="_appstoreDetailsTab__sectionDetails_4x76r_18",wl="_appstoreDetailsTab__missingDependencies_4x76r_22",vl="_appstoreDetailsTab__resourcesLink_4x76r_28",xl="_appstoreDetailsTab__resourcesItem_4x76r_32",$l={appstoreDetailsTab__badges:kl,appstoreDetailsTab__section:_l,appstoreDetailsTab__sectionDetails:yl,appstoreDetailsTab__missingDependencies:wl,appstoreDetailsTab__resourcesLink:vl,appstoreDetailsTab__resourcesItem:xl},Tl={$style:$l},Al=N(bl,[["__cssModules",Tl]]),Sl=B({__name:"AppReleasesTab",props:{app:{}},setup(e){const t=e,n=$(()=>(t.app.releases??[]).filter(a=>{const r=Object.values(a.translations??{});return r.length>0&&r.some(({changelog:l})=>!!l)}));function s(a){return a.translations[na()]?.changelog??a.translations.en?.changelog??""}return(a,r)=>n.value.length>0?(d(),S(o(Ce),{key:0,id:"changelog",name:o(u)("appstore","Changelog"),order:2},{icon:y(()=>[k(o(L),{path:o(Qa),size:24},null,8,["path"])]),default:y(()=>[(d(!0),v(M,null,j(n.value,l=>(d(),v("div",{key:l.version,class:w(a.$style.appReleasesTab)},[_("h3",{class:w(a.$style.appReleasesTab__heading)},x(l.version),3),k(Gt,{class:w(a.$style.appReleasesTab__text),minHeadingLevel:3,text:s(l)},null,8,["class","text"])],2))),128))]),_:1},8,["name"])):I("",!0)}}),Rl="_appReleasesTab__heading_9xawz_2",Dl="_appReleasesTab__text_9xawz_7",zl={appReleasesTab__heading:Rl,appReleasesTab__text:Dl},Il={$style:zl},Cl=N(Sl,[["__cssModules",Il]]),Ll={id:"disable",icon:kt,order:10,enabled:Tt,label:()=>u("appstore","Disable"),async callback(e){await H().disableApp(e.id)}},El={id:"enable",icon:_t,order:1,variant:"primary",enabled(e){return!pe(e)&&xt(e)},label:()=>u("appstore","Enable"),async callback(e){await H().enableApp(e.id)}},Bl={id:"force-enable",icon:Ua,order:3,inline:!1,variant:"warning",label:()=>u("appstore","Force enable"),enabled(e){return!pe(e)&&$t(e)&&ve(e)},async callback(e){await H().forceEnableApp(e.id)}},Pl={id:"install",icon:je,order:5,enabled(e){return pe(e)&&!ve(e)},label:e=>e.app_api?u("appstore","Deploy and enable"):e.needsDownload?u("appstore","Download and enable"):u("appstore","Install and enable"),async callback(e){await H().enableApp(e.id)}},ql={id:"install-forced",icon:je,order:5,inline:!1,enabled(e){return pe(e)&&ve(e)},label:e=>e.app_api?u("appstore","Deploy and force enable"):e.needsDownload?u("appstore","Download and force enable"):u("appstore","Install and force enable"),async callback(e){await H().enableApp(e.id,!0)}},Nl=[{id:"rate",icon:wt,order:30,inline:!1,label:()=>u("appstore","Rate the app"),enabled(e){return!e.shipped},href(e){return`https://apps.nextcloud.com/apps/${encodeURIComponent(e.id)}#comments`}},{id:"report-bug",icon:Fa,order:32,inline:!1,label:()=>u("appstore","Report a bug"),enabled(e){return!!e.bugs},href(e){return e.bugs}},{id:"discussion",icon:Va,order:35,inline:!1,label:()=>u("appstore","Ask questions or discuss the app"),enabled(e){return!!e.discussion},href(e){return e.discussion}},{id:"website",icon:Wa,order:38,inline:!1,label:()=>u("appstore","Visit the website"),enabled(e){return!!e.website},href(e){return e.website}}],Ml=Yt(()=>oe(()=>Promise.resolve().then(()=>br),void 0,import.meta.url)),Ol={id:"limit-to-group",icon:Xa,order:16,inline:!1,label:()=>u("appstore","Limit to groups"),enabled:At,async callback(e){await ft(Ml,{app:e})}},Gl={id:"remove",order:20,icon:Ya,variant:"error",inline:!1,enabled:vt,label:()=>u("appstore","Remove"),async callback(e){await H().uninstallApp(e.id)}},Zl={id:"update",icon:Ja,variant:"primary",order:0,enabled(e){return yn(e)?e.app_api?e.daemon&&e.daemon?.accepts_deploy_id==="manual-install"?!0:xe().daemonAccessible:!0:!1},label:e=>u("appstore","Update to {version}",{version:e.update}),async callback(e){await Dt().updateApp(e.id)}},jl=[Zl,El,Ll,Bl,Pl,ql,Gl,Ol,...Nl].sort((e,t)=>e.order-t.order);function Ut(e){return $(()=>fe(e)?jl.filter(t=>t.enabled(fe(e))):[])}function Hl(e){const t=E(null),n=$(()=>{let s;return e.value?.app_api?s=Se:s=[e.value?.category??[]].flat().map(a=>X[a]).filter(a=>!!a).at(0)??(e.value?.app_api?Se:Ka),s?``:null});return Jt(async()=>{if(!e.value?.icon)t.value=n.value;else{t.value=null;try{const s=await(await(await window.fetch(e.value.icon)).blob()).text();t.value=s.replaceAll(/fill="#(fff|ffffff)([a-z0-9]{1,2})?"/ig,'fill="currentColor"')}catch(s){t.value=n.value,Q.error("Could not load app icon",{error:s})}}}),{appIcon:t}}const Ql=B({__name:"AppstoreSidebar",setup(e){const t=_e(),n=Oe(),s=H(),a=zt(),r=$(()=>[t.params.id].flat()[0]),l=$(()=>s.getAppById(r.value)??null),{appIcon:p}=Hl(l),i=$(()=>l.value?l.value.license?u("appstore","Version {version}, {license}-licensed",{version:l.value.version,license:String(l.value.license).toUpperCase()}):u("appstore","Version {version}",{version:l.value.version}):""),h=E("details");re([l],()=>{h.value="details"});function c(){n.replace({name:t.name,params:{...t.params,id:void 0},query:a.getQuery()})}const b=E(!1),f=$(()=>l.value?.screenshot&&b.value);function z(){if(l.value?.releases&&l.value?.screenshot){const P=new Image;P.onload=()=>{b.value=!0},P.src=l.value.screenshot}}re([l],z),Kt(z);const R=Ut(()=>l.value);return(P,Y)=>(d(),S(o(da),{active:h.value,"onUpdate:active":Y[0]||(Y[0]=T=>h.value=T),class:w([P.$style.appstoreSidebar,{[P.$style.appstoreSidebar_withScreenshot]:f.value}]),background:f.value?l.value.screenshot:void 0,compact:!f.value,name:l.value?.name??r.value,title:l.value?.name??r.value,subname:i.value,subtitle:i.value,onClose:c},Me({default:y(()=>[l.value?(d(),v(M,{key:1},[k(Qs,{app:l.value},null,8,["app"]),k(Cl,{app:l.value},null,8,["app"]),k(Al,{app:l.value},null,8,["app"]),l.value.app_api?(d(),S(Un,{key:0,app:l.value},null,8,["app"])):I("",!0)],64)):(d(),S(o(Ze),{key:0,name:"No such app"}))]),_:2},[f.value?void 0:{name:"header",fn:y(()=>[k(o(L),{class:w(P.$style.appstoreSidebar__fallbackIcon),svg:o(p)??"",size:64},null,8,["class","svg"])]),key:"0"},l.value?{name:"description",fn:y(()=>[k(It,{app:l.value,actions:o(R),iconOnly:"",maxInlineActions:6},null,8,["app","actions"])]),key:"1"}:void 0]),1032,["active","class","background","compact","name","title","subname","subtitle"]))}}),Ul="_appstoreSidebar_withScreenshot_1224s_3",Fl="_appstoreSidebar__fallbackIcon_1224s_9",Vl={appstoreSidebar_withScreenshot:Ul,appstoreSidebar__fallbackIcon:Fl},Wl={$style:Vl},Xl=N(Ql,[["__cssModules",Wl]]),Yl=B({__name:"AppstoreApp",setup(e){const t=_e(),n=H(),s=$(()=>t.params.category?[t.params.category].flat()[0]:t.name==="apps-bundles"?"bundles":t.name==="apps-search"?"search":"discover"),a=$(()=>s.value in W?W[s.value]:n.getCategoryById(s.value)?.displayName??s.value),r=$(()=>`${a.value} - ${u("appstore","App store")}`),l=$(()=>!!t.params.id);return(p,i)=>{const h=ea("router-view");return d(),S(o(ia),{appName:"appstore"},{default:y(()=>[k(qn),k(o(ra),{class:w(p.$style.appstoreApp__content),pageHeading:o(u)("appstore","App store"),pageTitle:r.value},{default:y(()=>[a.value?(d(),v("h2",{key:0,class:w(p.$style.appstoreApp__heading)},x(a.value),3)):I("",!0),k(h)]),_:1},8,["class","pageHeading","pageTitle"]),l.value?(d(),S(Xl,{key:0})):I("",!0)]),_:1})}}}),Jl="_appstoreApp__content_1pi7x_2",Kl="_appstoreApp__heading_1pi7x_7",er={appstoreApp__content:Jl,appstoreApp__heading:Kl},tr={$style:er},ar=N(Yl,[["__cssModules",tr]]),nr=ee("appstore","appstoreEnabled",!0),sr=()=>oe(()=>import("./AppstoreDiscover-CsNEGXg6.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72]),import.meta.url),lr=()=>oe(()=>import("./AppstoreSearch-9wHV7La2.chunk.mjs").then(e=>e.c),__vite__mapDeps([73,5,6,3,1,4,7,8,9,18,19,15,16,32,33,2,10,25,13,14,26,27,23,24,28,29,30,31,12,17,34,20,21,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,74,71,72]),import.meta.url),rr=()=>oe(()=>Promise.resolve().then(()=>ii),void 0,import.meta.url),ir=()=>oe(()=>import("./AppstoreBrowse-orjufD6l.chunk.mjs"),__vite__mapDeps([75,5,6,3,1,4,7,8,9,18,19,15,16,73,32,33,2,10,25,13,14,26,27,23,24,28,29,30,31,12,17,34,20,21,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,74,71,72,11,22,68,69,76]),import.meta.url),or=()=>oe(()=>import("./AppstoreSearch-9wHV7La2.chunk.mjs").then(e=>e.d),__vite__mapDeps([73,5,6,3,1,4,7,8,9,18,19,15,16,32,33,2,10,25,13,14,26,27,23,24,28,29,30,31,12,17,34,20,21,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,74,71,72]),import.meta.url),pr=[{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:nr?{name:"apps-discover"}:{name:"apps-manage",params:{category:"installed"}},children:[{path:"discover/:id?",name:"apps-discover",component:sr},{path:"bundles/:id?",name:"apps-bundles",component:rr},{path:":category(installed|enabled|disabled|updates)/:id?",name:"apps-manage",component:lr},{path:":category/:id?",name:"apps-category",component:ir},{path:"search/:id?",name:"apps-search",component:or}]}],cr=sa({history:la(K("")),linkActiveClass:"active",routes:pr}),ur=Ft(),Ae=ta(ar);Ae.config.idPrefix="appstore",Ae.use(ur),Ae.use(cr),Ae.mount("#content");const dr=B({__name:"LimitToGroupDialog",props:{app:{}},emits:["close"],setup(e,{emit:t}){const n=t,s=H(),a=Ht(),r=E(!1),l=E([]);re(()=>e.app,()=>{l.value=(e.app.groups??[]).map(b=>{const f=a.getGroupById(b);return f||a.searchGroups(b),f??{id:b,displayName:b,isNoUser:!0}})},{immediate:!0});const p=$(()=>a.groups.filter(b=>!l.value.includes(b))),i=nn(a.searchGroups,400);async function h(){try{r.value=!0,await s.limitAppToGroups(e.app.id,l.value.map(b=>b.id)),n("close")}finally{r.value=!1}}async function c(){try{r.value=!0,await s.limitAppToGroups(e.app.id,[]),n("close")}finally{r.value=!1}}return(b,f)=>(d(),S(o(mt),{isForm:"",name:o(u)("appstore","Limit to groups"),onSubmit:h,onReset:c},{actions:y(()=>[k(o(ie),{disabled:r.value,type:"reset"},{default:y(()=>[q(x(o(u)("appstore","Reset limitation")),1)]),_:1},8,["disabled"]),k(o(ie),{disabled:r.value,type:"submit",variant:"primary"},Me({default:y(()=>[q(" "+x(o(u)("appstore","Save")),1)]),_:2},[r.value?{name:"icon",fn:y(()=>[k(o(Ie))]),key:"0"}:void 0]),1032,["disabled"])]),default:y(()=>[_("p",null,x(o(u)("appstore","Restrict the usage of {app} to members of the following groups.",{app:e.app.name})),1),k(o(ha),{modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=z=>l.value=z),class:w(b.$style.limitToGroupDialog__input),keepOpen:"",labelOutside:"",multiple:"",options:p.value,onSearch:o(i)},null,8,["modelValue","class","options","onSearch"])]),_:1},8,["name"]))}}),hr="_limitToGroupDialog__input_sofp5_2",gr={limitToGroupDialog__input:hr},mr={$style:gr},fr=N(dr,[["__cssModules",mr]]),br=Object.freeze(Object.defineProperty({__proto__:null,default:fr},Symbol.toStringTag,{value:"Module"})),kr=["src","height","width"],_r=B({__name:"AppIcon",props:{app:{},noFallback:{type:Boolean},size:{default:20}},setup(e){const t=$(()=>e.app.icon?.endsWith(".svg")),n=E("");return re(()=>e.app.icon,async()=>{if(n.value="",e.app.icon?.endsWith(".svg")){const s=await fetch(e.app.icon);s.ok&&(n.value=await s.text())}},{immediate:!0}),(s,a)=>(d(),v("span",{class:w(s.$style.appIcon)},[n.value?(d(),S(o(L),{key:0,size:e.size,svg:n.value},null,8,["size","svg"])):e.app.icon&&!t.value?(d(),v("img",{key:1,class:w(s.$style.appIcon__image),alt:"",src:e.app.icon,height:e.size,width:e.size},null,10,kr)):e.noFallback?I("",!0):(d(),S(o(L),{key:2,path:o(Se),size:e.size},null,8,["path","size"]))],2))}}),yr="_appIcon_mcsmb_2",wr="_appIcon__image_mcsmb_7",vr={appIcon:yr,appIcon__image:wr},xr={$style:vr},$r=N(_r,[["__cssModules",xr]]),Tr={key:0,class:"hidden-visually"},Ar={class:"hidden-visually"},Sr={key:0},Rr={key:1},Dr=["title"],zr={key:0,"aria-hidden":"true"},Ir=B({__name:"AppTableRow",props:{app:{},isNarrow:{type:Boolean},isWide:{type:Boolean}},setup(e){const t=_e(),n=$(()=>({...t,params:{...t.params,id:e.app.id},query:{...t.query}})),s=$(()=>({id:"details",order:99,enabled:()=>!0,label:()=>u("appstore","Show details"),icon:en,to:()=>n.value,inline:!1})),a=Qt(()=>e.app),r=Ut(()=>e.app),l=$(()=>[...r.value,s.value]);return(p,i)=>(d(),v("tr",{class:w(p.$style.appTableRow)},[_("td",{class:w(p.$style.appTableRow__nameCell)},[k(o(ie),{alignment:"start",title:o(u)("appstore","Show details"),to:n.value,variant:"tertiary-no-background",wide:""},{icon:y(()=>[e.app.loading?(d(),S(o(Ie),{key:0,size:24})):(d(),S($r,{key:1,app:e.app,size:24},null,8,["app"]))]),default:y(()=>[q(" "+x(e.app.name)+" ",1),e.app.loading?(d(),v("span",Tr,"("+x(o(u)("appstore","is loading…"))+")",1)):I("",!0),_("span",Ar,"("+x(o(u)("appstore","Show details"))+")",1)]),_:1},8,["title","to"])],2),_("td",null,[_("span",{class:w(p.$style.appTableRow__versionCell)},x(e.app.version),3)]),e.isNarrow?I("",!0):(d(),v("td",Sr,[_("div",{class:w(p.$style.appTableRow__levelCell)},[e.app.level?(d(),S(jt,{key:0,level:e.app.level},null,8,["level"])):I("",!0),"daemon"in e.app&&e.app.daemon?(d(),S(Zt,{key:1,daemon:e.app.daemon},null,8,["daemon"])):I("",!0)],2)])),e.isWide?(d(),v("td",Rr,[o(a).length>0?(d(),v("ul",{key:0,class:w(p.$style.appTableRow__groupsCell),title:o(a).map(h=>h.displayName).join(", ")},[(d(!0),v(M,null,j(o(a),(h,c)=>(d(),v(M,{key:h.id},[c===3?(d(),v("li",zr," … ")):I("",!0),_("li",{class:w({"hidden-visually":c>2})},[k(o(_a),{text:h.displayName,noClose:""},null,8,["text"])],2)],64))),128))],10,Dr)):I("",!0)])):I("",!0),_("td",null,[_("div",{class:w(p.$style.appTableRow__actionsCell)},[k(It,{class:w(p.$style.appTableRow__actionsCellActions),app:e.app,actions:l.value,iconOnly:e.isNarrow},null,8,["class","app","actions","iconOnly"])],2)])],2))}}),Cr="_appTableRow_yekky_2",Lr="_appTableRow__nameCell_yekky_11",Er="_appTableRow__levelCell_yekky_16",Br="_appTableRow__versionCell_yekky_22",Pr="_appTableRow__groupsCell_yekky_26",qr="_appTableRow__actionsCell_yekky_31",Nr="_appTableRow__actionsCellActions_yekky_37",Mr={appTableRow:Cr,appTableRow__nameCell:Lr,appTableRow__levelCell:Er,appTableRow__versionCell:Br,appTableRow__groupsCell:Pr,appTableRow__actionsCell:qr,appTableRow__actionsCellActions:Nr},Or={$style:Mr},Gr=N(Ir,[["__cssModules",Or]]),Zr={hidden:""},jr={key:0},Hr={key:1},Qr=B({__name:"AppTable",props:{apps:{}},setup(e){const t=ut("table"),{width:n}=sn(t),s=$(()=>n.value<768),a=$(()=>n.value>=1280);return(r,l)=>(d(),v("table",{ref:"table",class:w([r.$style.appTable,{[r.$style.appTable_narrow]:s.value,[r.$style.appTable_wide]:a.value}])},[_("colgroup",null,[_("col",{class:w(r.$style.appTable__colName)},null,2),_("col",{class:w(r.$style.appTable__colVersion)},null,2),s.value?I("",!0):(d(),v("col",{key:0,class:w(r.$style.appTable__colSupport)},null,2)),a.value?(d(),v("col",{key:1,class:w(r.$style.appTable__colGroups)},null,2)):I("",!0),_("col",{class:w(r.$style.appTable__colActions)},null,2)]),_("thead",Zr,[_("tr",null,[_("th",null,x(o(u)("appstore","App name")),1),_("th",null,x(o(u)("appstore","Version")),1),s.value?I("",!0):(d(),v("th",jr,x(o(u)("appstore","Support level")),1)),a.value?(d(),v("th",Hr,x(o(u)("appstore","Groups")),1)):I("",!0),_("th",null,x(o(u)("appstore","Actions")),1)])]),_("tbody",null,[(d(!0),v(M,null,j(e.apps,p=>(d(),S(Gr,{key:p.id,app:p,isNarrow:s.value,isWide:a.value},null,8,["app","isNarrow","isWide"]))),128))])],2))}}),Ur="_appTable_ss46x_2",Fr="_appTable__colName_ss46x_7",Vr="_appTable_narrow_ss46x_11",Wr="_appTable_wide_ss46x_15",Xr="_appTable__colSupport_ss46x_19",Yr="_appTable__colActions_ss46x_27",Jr={appTable:Ur,appTable__colName:Fr,appTable_narrow:Vr,appTable_wide:Wr,appTable__colSupport:Xr,appTable__colActions:Yr},Kr={$style:Jr},ei=N(Qr,[["__cssModules",Kr]]),ti=B({__name:"AppstoreBundles",setup(e){const t=H(),n=$(()=>t.bundles.map(l=>({...l,apps:l.appIdentifiers.map(p=>t.apps.find(i=>i.id===p)).filter(Boolean),isEnabling:!1})));function s(l){return l.appIdentifiers.every(p=>{const i=t.apps.find(h=>h.id===p);return i&&(i.active||xt(i))})}function a(l){return l.appIdentifiers.every(p=>{const i=t.apps.find(h=>h.id===p);return i&&i.active})}async function r(l){l.isEnabling=!0,await t.enableBundle(l.id),l.isEnabling=!1}return(l,p)=>o(t).isLoadingApps?(d(),S(o(Ze),{key:0,name:o(u)("appstore","Loading app list")},{icon:y(()=>[k(o(Ie),{size:64})]),_:1},8,["name"])):(d(!0),v(M,{key:1},j(n.value,i=>(d(),v("section",{key:i.id},[_("div",{class:w(l.$style.appstoreBundles__header)},[_("h3",null,x(i.name),1),a(i)?I("",!0):(d(),S(o(ie),{key:0,disabled:!s(i),variant:"primary",onClick:h=>r(i)},{icon:y(()=>[k(o(L),{path:o(tn)},null,8,["path"])]),default:y(()=>[q(" "+x(o(u)("appstore","Download and enable all")),1)]),_:1},8,["disabled","onClick"]))],2),k(ei,{class:w(l.$style.appstoreBundles__appTable),apps:i.apps},null,8,["class","apps"])]))),128))}}),ai="_appstoreBundles__header_oplvy_2",ni="_appstoreBundles__appTable_oplvy_11",si={appstoreBundles__header:ai,appstoreBundles__appTable:ni},li={$style:si},ri=N(ti,[["__cssModules",li]]),ii=Object.freeze(Object.defineProperty({__proto__:null,default:ri},Symbol.toStringTag,{value:"Module"}));export{Ji as A,ol as B,Tt as a,zt as b,pe as c,ei as d,jt as e,Zt as f,Q as l,ve as n,H as u}; //# sourceMappingURL=appstore-main.mjs.map diff --git a/dist/appstore-main.mjs.map b/dist/appstore-main.mjs.map index 925ed99ef3e22..ceb3c5a241353 100644 --- a/dist/appstore-main.mjs.map +++ b/dist/appstore-main.mjs.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["_hoisted_1","_sfc_main","defineComponent","__props","_ctx","_cache","openBlock","createElementBlock","NcAppNavigationSpacer","_export_sfc","event","_hoisted_2","_sfc_render","$props","$setup","$data","$options","normalizeClass","args","createElementVNode","toDisplayString","renderSlot","NcAppSidebarTab","APPSTORE_CATEGORY_NAMES","t","APPSTORE_CATEGORY_ICONS","mdiStarCircleOutline","mdiAccountOutline","mdiCheck","mdiClose","mdiArchiveOutline","mdiStarShootingOutline","mdiStar","mdiDownload","mdiCreationOutline","mdiKeyOutline","mdiCogOutline","mdiViewColumnOutline","mdiFolder","mdiControllerClassicOutline","mdiOpenInApp","mdiMonitorEye","mdiMultimedia","mdiFileDocumentEdit","mdiOfficeBuildingOutline","mdiMagnify","mdiSecurity","mdiAccountMultipleOutline","mdiTools","mdiClipboardFlowOutline","APP_DISCOVER_KNOWN_TYPES","addPasswordConfirmationInterceptors","axios","BASE_URL","generateOcsUrl","Url","queue","PQueue","enableApp","appId","force","groups","PwdConfirmationMode","disableApp","updateApp","uninstallApp","getApps","data","getCategories","category","enableBundle","bundleId","rebuildNavigation","emit","canInstall","app","canUninstall","canEnable","isInitializing","isDeploying","canForceEnable","needForceEnable","canDisable","canUpdate","restrictedTypes","canLimitToGroups","type","logger","getLoggerBuilder","props","__emit","itemTitle","computed","_createBlock","_unref","NcListItem","_createTextVNode","_toDisplayString","store","useExAppsStore","_createElementBlock","_normalizeClass","$style","_openBlock","_Fragment","_renderList","daemon","DaemonSelectionDialogListEntry","$event","$emit","appApiAdminPage","generateUrl","NcDialog","NcEmptyContent","_createVNode","NcIconSvgWrapper","mdiFormatListBulleted","NcButton","DaemonSelectionDialogList","fetchApps","fetchAppStatus","enableExApp","deployOptions","confirmPassword","forceEnableExApp","disableExApp","defineStore","isEnabled","loadState","apps","ref","updateCount","statusUpdater","daemonAccessible","defaultDaemon","dockerDaemons","initializingOrDeployingApps","getById","id","exAppApi.enableExApp","spawnDialog","DaemonSelectionDialog","forceEnableApp","exAppApi.forceEnableExApp","initialize","exAppApi.disableExApp","error","showError","fetchDockerDaemons","fetchAllApps","exAppApi.fetchApps","status","exAppApi.fetchAppStatus","e","updateAppsStatus","useAppsStore","exApps","appstoreApps","categories","bundles","readonly","isLoadingApps","isLoadingCategories","getCategoryById","categoryId","getAppById","getAppsByCategory","api.enableApp","api.disableApp","api.uninstallApp","limitAppToGroups","bundle","b","api.enableBundle","loadCategories","api.getCategories","loadApps","api.getApps","useUpdatesStore","internalUpdateCount","api.updateApp","useUserSettingsStore","defaultGridSize","isGridView","showIncompatible","gridSizePx","getQuery","gridMode","useRoute","useRouter","to","updateFromQuery","query","appstoreEnabled","updateStore","userSettings","categoriesLoading","route","router","searchElement","useTemplateRef","useHotKey","search","watch","newQuery","watchDebounced","newValue","oldValue","isSubscribed","level","NcAppNavigation","NcAppNavigationSearch","NcAppNavigationItem","NcCounterBubble","NcLoadingIcon","inlineActions","action","menuActions","NcActions","NcActionButton","NcActionLink","NcActionRouter","gpuSupport","mdiFileChart","_createElementVNode","M","O","G","u","_","k","n","r","i","s","m","be","Re","Oe","Te","C","we","Q","se","ie","ye","j","Pe","F","Se","$e","v","U","_e","oe","Le","K","ne","Me","ze","Ee","Ie","ae","Ae","z","H","W","Ce","le","Be","De","qe","ue","ve","He","pe","Ze","Ge","Ne","Qe","je","Fe","Ue","Ke","We","Xe","q","Je","ce","he","Ve","re","X","Ye","N","et","B","E","tt","ke","T","J","V","a","o","l","I","de","ge","fe","nt","w","p","c","d","h","R","f","S","ee","te","me","xe","Z","A","x","y","$","P","D","L","g","useMarkdown","text","options","renderer","marked","markedBlockquote","markedLink","markedImage","minHeading","getMarkedHeading","markdown","toValue","dompurify","href","title","url","out","depth","renderMarkdown","mdiTextShort","MarkdownPreview","isSupported","isFeatured","badgeIcon","badgeText","badgeTitle","isShown","score","appScore","fullStars","emptyStars","hasHalfStar","index","mdiStarHalfFull","mdiStarOutline","idLimitedToGroups","useId","lastModified","release","date","appAuthors","authorName","groupsAppIsLimitedto","group","appstoreUrl","externalResources","resources","appCategories","xmlNode","mdiTextBoxOutline","BadgeAppLevel","BadgeAppDaemon","BadgeAppScore","NcNoteCard","dep","_hoisted_3","_hoisted_5","NcDateTime","resource","_hoisted_7","releases","values","changelog","createChangelogFromRelease","getLanguage","mdiClockFast","actionDisable","actionEnable","actionForceEnable","mdiAlertCircleCheckOutline","actionInstall","actionInstallForced","actionsInteract","mdiBugOutline","mdiForumOutline","mdiWeb","LimitToGroupDialog","defineAsyncComponent","__vitePreload","LimitToGroupDialog$1","actionLimitToGroup","mdiAccountGroup","actionRemove","mdiTrashCanOutline","actionUpdate","mdiUpdate","actions","useActions","useAppIcon","appIcon","categoryIcon","path","name","icon","mdiCog","watchEffect","rawSvg","licenseText","activeTab","hideAppDetails","screenshotLoaded","hasScreenshot","loadScreenshot","image","onMounted","NcAppSidebar","AppDescriptionTab","AppReleasesTab","AppDetailsTab","AppDeployDaemonTab","AppActions","currentCategory","heading","pageTitle","showSidebar","NcContent","AppstoreNavigation","NcAppContent","_component_router_view","AppstoreSidebar","AppstoreDiscover","AppstoreManage","AppstoreBundles","AppstoreBrowse","AppstoreSearch","routes","createRouter","createWebHistory","pinia","createPinia","createApp","AppstoreApp","useGroupsStore","searchGroups","getGroupById","groupId","groupsStore","loading","availableGroups","onSearch","useDebounceFn","onSave","onReset","NcSelectUsers","isSvg","svgIcon","response","detailsRoute","detailsAction","mdiInformationOutline","rawActions","AppIcon","tableElement","tableWidth","useElementSize","isNarrow","AppTableRow","appBundles","canEnableBundle","isBundleEnabled","enableAll","mdiDownloadMultiple","AppTable"],"ignoreList":[0,1,18],"sources":["../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSpacer-CIRC4ZEj.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSidebarTab-DOSDDbGA.mjs","../build/frontend/apps/appstore/src/constants.ts","../build/frontend/apps/appstore/src/service/api.ts","../build/frontend/apps/appstore/src/service/rebuild-navigation.ts","../build/frontend/apps/appstore/src/utils/appStatus.ts","../build/frontend/apps/appstore/src/utils/logger.ts","../build/frontend/apps/appstore/src/components/DaemonSelectionDialog/DaemonSelectionDialogListEntry.vue","../build/frontend/apps/appstore/src/components/DaemonSelectionDialog/DaemonSelectionDialogList.vue","../build/frontend/apps/appstore/src/components/DaemonSelectionDialog/DaemonSelectionDialog.vue","../build/frontend/apps/appstore/src/service/exAppApi.ts","../build/frontend/apps/appstore/src/store/exApps.ts","../build/frontend/apps/appstore/src/store/apps.ts","../build/frontend/apps/appstore/src/store/updates.ts","../build/frontend/apps/appstore/src/store/userSettings.ts","../build/frontend/apps/appstore/src/views/AppstoreNavigation.vue","../build/frontend/apps/appstore/src/components/AppActions.vue","../build/frontend/apps/appstore/src/components/AppstoreSidebar/AppDeployDaemonTab.vue","../node_modules/marked/lib/marked.esm.js","../build/frontend/apps/appstore/src/composables/useMarkdown.ts","../build/frontend/apps/appstore/src/components/MarkdownPreview.vue","../build/frontend/apps/appstore/src/components/AppstoreSidebar/AppDescriptionTab.vue","../build/frontend/apps/appstore/src/components/BadgeAppDaemon.vue","../build/frontend/apps/appstore/src/components/BadgeAppLevel.vue","../build/frontend/apps/appstore/src/components/BadgeAppScore.vue","../build/frontend/apps/appstore/src/components/AppstoreSidebar/AppDetailsTab.vue","../build/frontend/apps/appstore/src/components/AppstoreSidebar/AppReleasesTab.vue","../build/frontend/apps/appstore/src/actions/actionDisable.ts","../build/frontend/apps/appstore/src/actions/actionEnable.ts","../build/frontend/apps/appstore/src/actions/actionForceEnable.ts","../build/frontend/apps/appstore/src/actions/actionInstall.ts","../build/frontend/apps/appstore/src/actions/actionInstallForced.ts","../build/frontend/apps/appstore/src/actions/actionInteract.ts","../build/frontend/apps/appstore/src/actions/actionLimitToGroup.ts","../build/frontend/apps/appstore/src/actions/actionRemove.ts","../build/frontend/apps/appstore/src/actions/actionUpdate.ts","../build/frontend/apps/appstore/src/actions/index.ts","../build/frontend/apps/appstore/src/composables/useActions.ts","../build/frontend/apps/appstore/src/composables/useAppIcon.ts","../build/frontend/apps/appstore/src/views/AppstoreSidebar.vue","../build/frontend/apps/appstore/src/AppstoreApp.vue","../build/frontend/apps/appstore/src/router/routes.ts","../build/frontend/apps/appstore/src/router/index.ts","../build/frontend/apps/appstore/src/main.ts","../build/frontend/apps/appstore/src/store/groups.ts","../build/frontend/apps/appstore/src/components/LimitToGroupDialog.vue","../build/frontend/apps/appstore/src/components/AppIcon.vue","../build/frontend/apps/appstore/src/components/AppTable/AppTableRow.vue","../build/frontend/apps/appstore/src/components/AppTable/AppTable.vue","../build/frontend/apps/appstore/src/views/AppstoreBundles.vue"],"sourcesContent":["import '../assets/NcAppNavigationSpacer-LST5uYYS.css';\nimport { defineComponent, openBlock, createElementBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"app-navigation-spacer\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationSpacer\",\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1);\n };\n }\n});\nconst NcAppNavigationSpacer = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-277fa710\"]]);\nexport {\n NcAppNavigationSpacer as N\n};\n//# sourceMappingURL=NcAppNavigationSpacer-CIRC4ZEj.mjs.map\n","import '../assets/NcAppSidebarTab-Xd3HTDbw.css';\nimport { openBlock, createElementBlock, normalizeClass, createElementVNode, toDisplayString, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppSidebarTab\",\n inject: [\"registerTab\", \"unregisterTab\", \"getActiveTab\", \"isTablistShown\"],\n props: {\n /**\n * Unique id of the sidebar tab\n */\n id: {\n type: String,\n required: true\n },\n /**\n * Tab name in navigation\n */\n name: {\n type: String,\n required: true\n },\n /**\n * Tab icon's html class in navigation. Used if #icon slot is not provided\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Tab order in navigation. If not provided, name is used.\n */\n order: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"bottomReached\",\n \"scroll\"\n ],\n expose: [\"id\", \"name\", \"icon\", \"order\", \"renderIcon\"],\n computed: {\n /**\n * Is the current tab an active tab, that should be shown?\n *\n * @return {boolean}\n */\n isActive() {\n return this.getActiveTab() === this.id;\n }\n },\n created() {\n this.registerTab(this);\n },\n beforeUnmount() {\n this.unregisterTab(this.id);\n },\n methods: {\n onScroll(event) {\n if (this.$el.scrollHeight - this.$el.scrollTop === this.$el.clientHeight) {\n this.$emit(\"bottomReached\", event);\n }\n this.$emit(\"scroll\", event);\n },\n /**\n * Render tab's icon slot if any\n *\n * @return {import('vue').VNode[]}\n */\n renderIcon() {\n return this.$slots.icon?.();\n }\n }\n};\nconst _hoisted_1 = [\"id\", \"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"role\", \"tabindex\"];\nconst _hoisted_2 = { class: \"hidden-visually\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"section\", {\n id: `tab-${$props.id}`,\n \"aria-hidden\": !$options.isActive,\n \"aria-label\": $options.isTablistShown() ? void 0 : $props.name,\n \"aria-labelledby\": $options.isTablistShown() ? `tab-button-${$props.id}` : void 0,\n class: normalizeClass([\"app-sidebar__tab\", { \"app-sidebar__tab--active\": $options.isActive }]),\n role: $options.isTablistShown() ? \"tabpanel\" : void 0,\n tabindex: $options.isTablistShown() ? 0 : -1,\n onScroll: _cache[0] || (_cache[0] = (...args) => $options.onScroll && $options.onScroll(...args))\n }, [\n createElementVNode(\"h3\", _hoisted_2, toDisplayString($props.name), 1),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 42, _hoisted_1);\n}\nconst NcAppSidebarTab = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-dba10798\"]]);\nexport {\n NcAppSidebarTab as N\n};\n//# sourceMappingURL=NcAppSidebarTab-DOSDDbGA.mjs.map\n","/**\n * SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tmdiAccountMultipleOutline,\n\tmdiAccountOutline,\n\tmdiArchiveOutline,\n\tmdiCheck,\n\tmdiClipboardFlowOutline,\n\tmdiClose,\n\tmdiCogOutline,\n\tmdiControllerClassicOutline,\n\tmdiCreationOutline,\n\tmdiDownload,\n\tmdiFileDocumentEdit,\n\tmdiFolder,\n\tmdiKeyOutline,\n\tmdiMagnify,\n\tmdiMonitorEye,\n\tmdiMultimedia,\n\tmdiOfficeBuildingOutline,\n\tmdiOpenInApp,\n\tmdiSecurity,\n\tmdiStar,\n\tmdiStarCircleOutline,\n\tmdiStarShootingOutline,\n\tmdiTools,\n\tmdiViewColumnOutline,\n} from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\n\n/**\n * The names of the special appstore sections\n */\nexport const APPSTORE_CATEGORY_NAMES = Object.freeze({\n\tdiscover: t('appstore', 'Discover'),\n\tinstalled: t('appstore', 'Your apps'),\n\tenabled: t('appstore', 'Active apps'),\n\tdisabled: t('appstore', 'Disabled apps'),\n\tupdates: t('appstore', 'Updates'),\n\tbundles: t('appstore', 'App bundles'),\n\tfeatured: t('appstore', 'Featured apps'),\n\tsupported: t('appstore', 'Supported apps'), // From subscription\n\tsearch: t('appstore', 'Search results'),\n})\n\n/**\n * SVG paths used for appstore category icons\n */\nexport const APPSTORE_CATEGORY_ICONS = Object.freeze({\n\t// system special categories\n\tdiscover: mdiStarCircleOutline,\n\tinstalled: mdiAccountOutline,\n\tenabled: mdiCheck,\n\tdisabled: mdiClose,\n\tbundles: mdiArchiveOutline,\n\tsupported: mdiStarShootingOutline,\n\tfeatured: mdiStar,\n\tupdates: mdiDownload,\n\n\t// generic category\n\tai: mdiCreationOutline,\n\tauth: mdiKeyOutline,\n\tcustomization: mdiCogOutline,\n\tdashboard: mdiViewColumnOutline,\n\tfiles: mdiFolder,\n\tgames: mdiControllerClassicOutline,\n\tintegration: mdiOpenInApp,\n\tmonitoring: mdiMonitorEye,\n\tmultimedia: mdiMultimedia,\n\toffice: mdiFileDocumentEdit,\n\torganization: mdiOfficeBuildingOutline,\n\tsearch: mdiMagnify,\n\tsecurity: mdiSecurity,\n\tsocial: mdiAccountMultipleOutline,\n\ttools: mdiTools,\n\tworkflow: mdiClipboardFlowOutline,\n})\n\n/**\n * Currently known types of app discover section elements\n */\nexport const APP_DISCOVER_KNOWN_TYPES = ['post', 'showcase', 'carousel'] as const\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\nimport type { IAppstoreApp, IAppstoreCategory } from '../apps.d.ts'\n\nimport axios from '@nextcloud/axios'\nimport { addPasswordConfirmationInterceptors, PwdConfirmationMode } from '@nextcloud/password-confirmation'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport PQueue from 'p-queue'\nimport { APPSTORE_CATEGORY_ICONS } from '../constants.ts'\n\naddPasswordConfirmationInterceptors(axios)\n\nconst BASE_URL = generateOcsUrl('apps/appstore/api/v1')\nconst Url = Object.freeze({\n\tapps: `${BASE_URL}/apps`,\n\tcategories: `${BASE_URL}/apps/categories`,\n\tenable: `${BASE_URL}/apps/enable`,\n\tdisable: `${BASE_URL}/apps/disable`,\n\tuninstall: `${BASE_URL}/apps/uninstall`,\n\tupdate: `${BASE_URL}/apps/update`,\n\tbundleEnable: `${BASE_URL}/bundles/enable`,\n})\n\nconst queue = new PQueue({ concurrency: 1 })\n\n/**\n * Enable an app by its app id\n *\n * @param appId - The app to enable\n * @param force - Whether to force enable the app\n * @param groups - The groups to enable the app for\n */\nexport async function enableApp(appId: string, force = false, groups?: string[]) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.enable, { appId, groups, force: force || undefined }, { confirmPassword: PwdConfirmationMode.Strict })\n\t})\n}\n\n/**\n * Disable app by its app id\n *\n * @param appId - The app to disable\n */\nexport async function disableApp(appId: string) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.disable, { appId }, { confirmPassword: PwdConfirmationMode.Lax })\n\t})\n}\n\n/**\n * Update an app by its app id\n *\n * @param appId - The app id to update\n */\nexport async function updateApp(appId: string) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.update, { appId }, { confirmPassword: PwdConfirmationMode.Strict })\n\t})\n}\n\n/**\n * Uninstall an app by its app id\n *\n * @param appId - The app to uninstall\n */\nexport async function uninstallApp(appId: string) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.uninstall, { appId }, { confirmPassword: PwdConfirmationMode.Strict })\n\t})\n}\n\n/**\n * Get all apps from the appstore\n */\nexport async function getApps() {\n\tconst { data } = await axios.get>(Url.apps)\n\treturn data.ocs.data\n}\n\n/**\n * Get app categories\n */\nexport async function getCategories() {\n\tconst { data } = await axios.get>(Url.categories)\n\tfor (const category of data.ocs.data) {\n\t\tcategory.icon = APPSTORE_CATEGORY_ICONS[category.id] ?? ''\n\t}\n\treturn data.ocs.data\n}\n\n/**\n * Enable an app bundle by its id\n *\n * @param bundleId - The id of the bundle to enable\n */\nexport async function enableBundle(bundleId: string) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.bundleEnable, { bundleId }, { confirmPassword: PwdConfirmationMode.Strict })\n\t})\n}\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Rebuilds the app navigation menu\n */\nexport async function rebuildNavigation() {\n\tconst { data } = await axios.get(generateOcsUrl('core/navigation/apps?format=json'))\n\tif (data.ocs.meta.statuscode !== 200) {\n\t\treturn\n\t}\n\n\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\twindow.dispatchEvent(new Event('resize'))\n}\n","/*!\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\n/**\n * Check if an app can be installed.\n *\n * @param app - The app to check if installable\n */\nexport function canInstall(app: IAppstoreApp | IAppstoreExApp) {\n\tif (app.installed || app.internal) {\n\t\treturn false\n\t}\n\n\tif (app.missingDependencies === undefined || app.missingDependencies.length === 0) {\n\t\treturn true\n\t}\n\n\tif (!app.isCompatible && app.missingDependencies.length === 1) {\n\t\t// incompatible so can be installed but has to be force-enabled\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n/**\n * Check if an app can be uninstalled.\n *\n * @param app - The app to check if uninstallable\n */\nexport function canUninstall(app: IAppstoreApp | IAppstoreExApp) {\n\treturn app.installed && app.removable && !app.active\n}\n\n/**\n * Check if app can be enabled.\n *\n * @param app - The app to check\n */\nexport function canEnable(app: IAppstoreApp | IAppstoreExApp) {\n\treturn !isInitializing(app) && !isDeploying(app) && canForceEnable(app) && app.isCompatible\n}\n\n/**\n * Check if an app can be force-enabled\n *\n * @param app - The app to check\n */\nexport function canForceEnable(app: IAppstoreApp | IAppstoreExApp) {\n\treturn !app.active && (app.installed || canInstall(app))\n}\n\n/**\n * Check if an app needs to be force-enabled\n *\n * @param app - The app to check\n */\nexport function needForceEnable(app: IAppstoreApp | IAppstoreExApp) {\n\treturn !app.active && !app.isCompatible\n}\n\n/**\n * Check if an app can be disabled.\n *\n * @param app - The app to check\n */\nexport function canDisable(app: IAppstoreApp | IAppstoreExApp) {\n\treturn !isInitializing(app) && !isDeploying(app) && app.active && !app.internal\n}\n\n/**\n * Check if an app can be updated.\n *\n * @param app - The app to check if update-able\n */\nexport function canUpdate(app: IAppstoreApp | IAppstoreExApp) {\n\treturn app.update !== undefined\n}\n\nconst restrictedTypes = ['filesystem', 'prelogin', 'authentication', 'logging', 'prevent_group_restriction']\n\n/**\n * Check if an app can be limited to groups\n *\n * @param app - The app to check if can be limited to groups\n */\nexport function canLimitToGroups(app: IAppstoreApp | IAppstoreExApp) {\n\tif (!app.active && !app.installed) {\n\t\treturn false\n\t}\n\n\tif (!app.active && needForceEnable(app)) {\n\t\treturn false\n\t}\n\n\tif (!app.types) {\n\t\treturn true\n\t}\n\n\treturn app.types.every((type) => !restrictedTypes.includes(type))\n}\n\n/**\n * Check if an app is currently being initialized.\n *\n * @param app - The app to check\n */\nfunction isInitializing(app: IAppstoreApp | IAppstoreExApp) {\n\treturn app.app_api\n\t\t&& (app.status.action === 'init' || app.status.action === 'healthcheck')\n}\n\n/**\n * Check if an app is currently being deployed.\n *\n * @param app - The app to check\n */\nfunction isDeploying(app: IAppstoreApp | IAppstoreExApp) {\n\treturn app.app_api\n\t\t&& app.status.action === 'deploy'\n}\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('appstore')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n","/*!\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { IAppstoreExApp, IDeployDaemon, IDeployOptions, IExAppStatus } from '../apps.d.ts'\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport { generateUrl } from '@nextcloud/router'\n\n/**\n * Fetch all external (app_api) apps from the server.\n */\nexport async function fetchApps() {\n\tconst { data } = await axios.get(generateUrl('/apps/app_api/apps/list'))\n\treturn data.apps as IAppstoreExApp[]\n}\n\n/**\n * Get the status of an external app.\n *\n * @param appId - The app to fetch\n */\nexport async function fetchAppStatus(appId: string) {\n\tconst { data } = await axios.get(generateUrl(`/apps/app_api/apps/status/${appId}`))\n\treturn data\n}\n\n/**\n * Enable an external app.\n *\n * @param app - The app to enable\n * @param daemon - The daemon to use for deployment\n * @param deployOptions - Additional options for deployment\n */\nexport async function enableExApp(app: IAppstoreExApp, daemon: IDeployDaemon, deployOptions?: IDeployOptions) {\n\tawait confirmPassword()\n\tawait axios.post(generateUrl(`/apps/app_api/apps/enable/${app.id}/${daemon.name}`), { deployOptions })\n}\n\n/**\n * Force enable an external app\n *\n * @param appId - The app to force-enable\n */\nexport async function forceEnableExApp(appId: string) {\n\tawait confirmPassword()\n\tawait axios.post(generateUrl('/apps/app_api/apps/force'), { appId })\n}\n\n/**\n * Disable an external app.\n *\n * @param appId - The app to disable\n */\nexport async function disableExApp(appId: string) {\n\tawait confirmPassword()\n\tawait axios.get(generateUrl(`apps/app_api/apps/disable/${appId}`))\n}\n\n/**\n * Remove an external app.\n *\n * @param appId - The app to uninstall\n * @param removeData - If all data should be removed\n */\nexport async function uninstallExApp(appId: string, removeData = false) {\n\tawait confirmPassword()\n\tawait axios.get(generateUrl(`/apps/app_api/apps/uninstall/${appId}?removeData=${removeData}`))\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreExApp, IDeployDaemon, IExAppStatus } from '../apps.d.ts'\n\nimport axios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\nimport { generateUrl } from '@nextcloud/router'\nimport { spawnDialog } from '@nextcloud/vue'\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport DaemonSelectionDialog from '../components/DaemonSelectionDialog/DaemonSelectionDialog.vue'\nimport * as exAppApi from '../service/exAppApi.ts'\nimport logger from '../utils/logger.ts'\n\nexport const useExAppsStore = defineStore('external-apps', () => {\n\t/**\n\t * Is the App API enabled\n\t */\n\tconst isEnabled = loadState('appstore', 'appApiEnabled', false)\n\n\t/**\n\t * All external apps available\n\t */\n\tconst apps = ref([])\n\n\t/**\n\t * Number of external apps with available updates, used to show the update badge in the UI\n\t */\n\tconst updateCount = ref(loadState('appstore', 'appstoreExAppUpdateCount', 0))\n\n\t/**\n\t * The interval ID for the status updater\n\t */\n\tlet statusUpdater: number | null = null\n\n\t/**\n\t * Whether at least one of the configured daemons is accessible.\n\t */\n\tconst daemonAccessible = ref(loadState('appstore', 'defaultDaemonConfigAccessible', false))\n\n\t/**\n\t * The default daemon, used for apps that don't specify a daemon or have a daemon that is not accessible.\n\t */\n\tconst defaultDaemon = ref(loadState('appstore', 'defaultDaemonConfig', null))\n\n\t/**\n\t * The list of daemons that support docker-based deployment, used to show the daemon selection when enabling an app.\n\t */\n\tconst dockerDaemons = ref([])\n\n\tconst initializingOrDeployingApps = computed(() => apps.value\n\t\t.filter((app) => app?.status?.action\n\t\t\t&& app.status.type !== ''\n\t\t\t&& (app?.status?.action === 'deploy' || app.status.action === 'init' || app.status.action === 'healthcheck')))\n\n\t/**\n\t * Get an external app by its ID\n\t *\n\t * @param appId - The app ID\n\t */\n\tfunction getById(appId: string): IAppstoreExApp | null {\n\t\treturn apps.value.find(({ id }) => id === appId) ?? null\n\t}\n\n\t/**\n\t * Enable an exApp.\n\t *\n\t * @param appId - The app ID\n\t */\n\tasync function enableApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tif (dockerDaemons.value.length === 1 && app.needsDownload) {\n\t\t\t\texAppApi.enableExApp(app, dockerDaemons[0])\n\t\t\t\tapp.daemon = dockerDaemons[0]\n\t\t\t} else if (app.needsDownload) {\n\t\t\t\tconst daemon = await spawnDialog(DaemonSelectionDialog, { app })\n\t\t\t\tif (!daemon) {\n\t\t\t\t\tthrow new Error('No daemon selected')\n\t\t\t\t}\n\t\t\t\tawait exAppApi.enableExApp(app, daemon)\n\t\t\t\tapp.daemon = daemon\n\t\t\t} else {\n\t\t\t\tawait exAppApi.enableExApp(app, app.daemon!)\n\t\t\t}\n\n\t\t\tif (!app.installed) {\n\t\t\t\tapp.needsDownload = false\n\t\t\t\tapp.status = {\n\t\t\t\t\ttype: 'install',\n\t\t\t\t\taction: 'deploy',\n\t\t\t\t\tinit: 0,\n\t\t\t\t\tdeploy: 0,\n\t\t\t\t} as IExAppStatus\n\t\t\t}\n\t\t\tapp.removable = true\n\t\t\tdelete app.error\n\n\t\t\tawait fetchAppStatus(appId)\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Force enable an exApp by ignoring its dependencies.\n\t *\n\t * @param appId - The app to force-enable\n\t */\n\tasync function forceEnableApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tawait exAppApi.forceEnableExApp(appId)\n\t\t\tawait initialize(true)\n\t\t\tapp.active = false\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * @param appId - The app to disable\n\t */\n\tasync function disableApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tawait exAppApi.disableExApp(appId)\n\t\t\tapp.active = false\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Uninstall an app by its id\n\t *\n\t * @param appId - The app to uninstall\n\t */\n\tasync function uninstallApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tawait exAppApi.disableExApp(appId)\n\t\t\tapp.active = false\n\t\t\tapp.needsDownload = true\n\t\t\tapp.installed = false\n\t\t\tapp.daemon = null\n\t\t\tapp.status = {}\n\t\t\tif (app.update !== null) {\n\t\t\t\tupdateCount.value--\n\t\t\t}\n\t\t\tdelete app.update\n\t\t\tdelete app.error\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Update an external app\n\t *\n\t * @param appId - The app ID\n\t */\n\tasync function updateApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tawait axios.get(generateUrl(`/apps/app_api/apps/update/${appId}`))\n\t\t\tapp.version = app.update || app.version\n\t\t\tapp.status = {\n\t\t\t\ttype: 'update',\n\t\t\t\taction: 'deploy',\n\t\t\t\tinit: 0,\n\t\t\t\tdeploy: 0,\n\t\t\t} satisfies IExAppStatus\n\t\t\tdelete app.update\n\t\t\tdelete app.error\n\t\t\tupdateCount.value--\n\n\t\t\tawait fetchAppStatus(appId)\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to update ex app', { appId, error })\n\t\t\tshowError(t('appstore', 'Could not update the app. Please try again later.'))\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Initialize the store.\n\t * This only needs to be called when an app management operation is performed.\n\t *\n\t * @param force - If the initialization should be forced (to run again)\n\t */\n\tasync function initialize(force = false) {\n\t\tif (force || (!defaultDaemon.value || !dockerDaemons.value.length)) {\n\t\t\tawait fetchDockerDaemons()\n\t\t}\n\t\tif (force || apps.value.length === 0) {\n\t\t\tawait fetchAllApps()\n\t\t}\n\t}\n\n\treturn {\n\t\tisEnabled,\n\n\t\tapps,\n\t\tupdateCount,\n\t\tdefaultDaemon,\n\t\tdockerDaemons,\n\t\tdaemonAccessible,\n\n\t\tgetById,\n\t\tdisableApp,\n\t\tenableApp,\n\t\tforceEnableApp,\n\t\tupdateApp,\n\t\tuninstallApp,\n\t\tinitialize,\n\t}\n\n\t/**\n\t * Fetch the configured docker daemons from the backend.\n\t */\n\tasync function fetchDockerDaemons() {\n\t\ttry {\n\t\t\tconst { data } = await axios.get(generateUrl('/apps/app_api/daemons'))\n\t\t\tdefaultDaemon.value = data.daemons.find((daemon: IDeployDaemon) => daemon.name === data.default_daemon_config)\n\t\t\tdockerDaemons.value = data.daemons.filter((daemon: IDeployDaemon) => daemon.accepts_deploy_id === 'docker-install')\n\t\t} catch (error) {\n\t\t\tlogger.error('[app-api-store] Failed to fetch Docker daemons', { error })\n\t\t\treturn false\n\t\t}\n\t\treturn true\n\t}\n\n\t/**\n\t * Fetch the list of external apps from the backend.\n\t */\n\tasync function fetchAllApps() {\n\t\ttry {\n\t\t\tapps.value = await exAppApi.fetchApps()\n\t\t} catch (error) {\n\t\t\tlogger.error('An error occurred while fetching apps', { error })\n\t\t\tshowError(t('appstore', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t}\n\n\t/**\n\t * Get the status of an external app.\n\t *\n\t * @param appId - The app ID to fetch the status for\n\t */\n\tasync function fetchAppStatus(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tlogger.error('[app-api-store] app not found while fetching status', { appId })\n\t\t\treturn\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tconst status = await exAppApi.fetchAppStatus(appId)\n\t\t\tapp.status = status\n\t\t\tlogger.debug('[app-api-store] initializingOrDeployingApps after setAppStatus', { initializingOrDeployingApps })\n\t\t\tif (initializingOrDeployingApps.value.length === 0) {\n\t\t\t\tlogger.debug('[app-api-store] Clearing interval')\n\t\t\t\tclearInterval(statusUpdater as number)\n\t\t\t\tstatusUpdater = null\n\t\t\t}\n\t\t\tif (app.status.error && initializingOrDeployingApps.value.length === 1) {\n\t\t\t\tclearInterval(statusUpdater as number)\n\t\t\t\tstatusUpdater = null\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tupdateAppsStatus()\n\t\t\tthrow e\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Update the status of all apps that are currently initializing or deploying\n\t */\n\tfunction updateAppsStatus() {\n\t\tclearInterval(statusUpdater as number)\n\t\tif (initializingOrDeployingApps.value.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tstatusUpdater = window.setInterval(() => {\n\t\t\tlogger.debug('[app-api-store] initializingOrDeployingApps', { initializingOrDeployingApps })\n\t\t\tfor (const app of initializingOrDeployingApps.value) {\n\t\t\t\tfetchAppStatus(app.id)\n\t\t\t}\n\t\t}, 2000)\n\t}\n})\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppBundle, IAppstoreApp, IAppstoreCategory, IAppstoreExApp } from '../apps.d.ts'\n\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\nimport { defineStore } from 'pinia'\nimport { computed, readonly, ref } from 'vue'\nimport * as api from '../service/api.ts'\nimport { rebuildNavigation } from '../service/rebuild-navigation.ts'\nimport { canDisable, canInstall, canLimitToGroups, canUninstall, needForceEnable } from '../utils/appStatus.ts'\nimport logger from '../utils/logger.ts'\nimport { useExAppsStore } from './exApps.ts'\n\nexport const useAppsStore = defineStore('apps', () => {\n\tconst exApps = useExAppsStore()\n\n\t/**\n\t * All apps available in the appstore\n\t */\n\tconst appstoreApps = ref([])\n\t/**\n\t * All app categories available in the appstore\n\t */\n\tconst categories = ref([])\n\t/**\n\t * All app bundles available in the appstore\n\t */\n\tconst bundles = readonly(loadState('appstore', 'appstoreBundles'))\n\n\t/**\n\t * Loading state of the store\n\t */\n\tconst isLoadingApps = ref(false)\n\tconst isLoadingCategories = ref(false)\n\n\t/**\n\t * All apps available\n\t */\n\tconst apps = computed(() => [...appstoreApps.value, ...(exApps.isEnabled ? exApps.apps : [])])\n\n\t/**\n\t * Get a category by its id\n\t *\n\t * @param categoryId - The id of the category\n\t */\n\tfunction getCategoryById(categoryId: string) {\n\t\treturn categories.value.find(({ id }) => id === categoryId) ?? null\n\t}\n\n\t/**\n\t * Get an app by its id\n\t *\n\t * @param appId - The id of the app\n\t */\n\tfunction getAppById(appId: string): IAppstoreApp | IAppstoreExApp | null {\n\t\treturn apps.value.find(({ id }) => id === appId) ?? null\n\t}\n\n\t/**\n\t * Get all apps of a category\n\t *\n\t * @param categoryId - The id of the category\n\t */\n\tfunction getAppsByCategory(categoryId: string): (IAppstoreApp | IAppstoreExApp)[] {\n\t\treturn apps.value.filter((app) => [app.category].flat().includes(categoryId))\n\t}\n\n\t/**\n\t * Enable an app by its id\n\t *\n\t * @param appId - The app to enable\n\t * @param force - Whether to force enable the app\n\t */\n\tasync function enableApp(appId: string, force = false) {\n\t\tconst app = getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tif (app.active || (!app.installed && !canInstall(app))) {\n\t\t\tthrow new Error(`App with id ${appId} cannot be enabled`)\n\t\t}\n\n\t\tif (!force && needForceEnable(app)) {\n\t\t\tthrow new Error(`App with id ${appId} requires force enable`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tif (app.app_api) {\n\t\t\t\tawait exApps.enableApp(appId)\n\t\t\t} else {\n\t\t\t\tawait api.enableApp(appId, force)\n\t\t\t}\n\t\t\tif (force) {\n\t\t\t\tapp.isCompatible = true\n\t\t\t}\n\t\t\tapp.active = true\n\t\t\tapp.installed = true\n\t\t\tapp.removable = true\n\t\t\tawait rebuildNavigation()\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Disable an app by its id\n\t *\n\t * @param appId - The app to disable\n\t */\n\tasync function disableApp(appId: string) {\n\t\tconst app = getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tif (!canDisable(app)) {\n\t\t\tthrow new Error(`App with id ${appId} cannot be disabled`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tif (app.app_api) {\n\t\t\t\tawait exApps.disableApp(appId)\n\t\t\t} else {\n\t\t\t\tawait api.disableApp(appId)\n\t\t\t}\n\t\t\tapp.active = false\n\t\t\t// revert \"force enable\"\n\t\t\tapp.isCompatible = app.missingDependencies === undefined || app.missingDependencies.length === 0\n\t\t\tawait rebuildNavigation()\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Uninstall an app by its id\n\t *\n\t * @param appId - The app to uninstall\n\t */\n\tasync function uninstallApp(appId: string) {\n\t\tconst app = getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tif (!canUninstall(app)) {\n\t\t\tthrow new Error(`App with id ${appId} cannot be uninstalled`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tif (app.app_api) {\n\t\t\t\tawait exApps.uninstallApp(appId)\n\t\t\t} else {\n\t\t\t\tawait api.uninstallApp(appId)\n\t\t\t}\n\t\t\tapp.active = false\n\t\t\tapp.installed = false\n\t\t\tawait rebuildNavigation()\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Limit access to an app to specific groups\n\t *\n\t * @param appId - The app to limit access to\n\t * @param groups - The groups which should have access\n\t */\n\tasync function limitAppToGroups(appId: string, groups: string[]) {\n\t\tconst app = getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tif (!canLimitToGroups(app)) {\n\t\t\tthrow new Error(`App with id ${appId} cannot be limited to groups`)\n\t\t}\n\n\t\tif (app.app_api) {\n\t\t\treturn\n\t\t}\n\n\t\ttry {\n\t\t\tapp.loading = true\n\t\t\tawait api.enableApp(appId, false, groups)\n\t\t\tapp.groups = groups\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Enable a whole bundle of apps by its id\n\t *\n\t * @param bundleId - The id of the bundle to enable\n\t */\n\tasync function enableBundle(bundleId: string) {\n\t\tconst bundle = bundles.find((b) => b.id === bundleId)\n\t\tif (!bundle) {\n\t\t\tthrow new Error(`Bundle with id ${bundleId} not found`)\n\t\t}\n\n\t\ttry {\n\t\t\tfor (const appId of bundle.appIdentifiers) {\n\t\t\t\tconst app = getAppById(appId)!\n\t\t\t\tapp.loading = true\n\t\t\t}\n\t\t\tawait api.enableBundle(bundle.id)\n\t\t\tfor (const appId of bundle.appIdentifiers) {\n\t\t\t\tconst app = getAppById(appId)!\n\t\t\t\tapp.active = true\n\t\t\t\tapp.installed = true\n\t\t\t\tapp.removable = true\n\t\t\t\tawait rebuildNavigation()\n\t\t\t}\n\t\t} finally {\n\t\t\tfor (const appId of bundle.appIdentifiers) {\n\t\t\t\tconst app = getAppById(appId)!\n\t\t\t\tapp.loading = false\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the app categories from the backend\n\t */\n\tasync function loadCategories() {\n\t\ttry {\n\t\t\tisLoadingCategories.value = true\n\t\t\tcategories.value = await api.getCategories()\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to load app categories', { error })\n\t\t\tshowError(t('appstore', 'Could not load app categories. Please try again later.'))\n\t\t} finally {\n\t\t\tisLoadingCategories.value = false\n\t\t}\n\t}\n\n\t/**\n\t * Load the apps from the backend\n\t */\n\tasync function loadApps() {\n\t\ttry {\n\t\t\tisLoadingApps.value = true\n\t\t\tappstoreApps.value = await api.getApps()\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to load apps list', { error })\n\t\t\tshowError(t('appstore', 'Could not load apps list. Please try again later.'))\n\t\t} finally {\n\t\t\tisLoadingApps.value = false\n\t\t}\n\t}\n\n\t// initialize store\n\tloadApps()\n\tloadCategories()\n\n\treturn {\n\t\tapps,\n\t\tbundles,\n\t\tcategories,\n\t\tisLoadingApps,\n\t\tisLoadingCategories,\n\n\t\tdisableApp,\n\t\tenableApp,\n\t\tuninstallApp,\n\t\tenableBundle,\n\n\t\tgetAppById,\n\t\tgetAppsByCategory,\n\t\tgetCategoryById,\n\t\tlimitAppToGroups,\n\t}\n})\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport * as api from '../service/api.ts'\nimport { rebuildNavigation } from '../service/rebuild-navigation.ts'\nimport logger from '../utils/logger.ts'\nimport { useAppsStore } from './apps.ts'\nimport { useExAppsStore } from './exApps.ts'\n\nexport const useUpdatesStore = defineStore('updates', () => {\n\tconst exApps = useExAppsStore()\n\n\t/**\n\t * Number of apps with available updates\n\t */\n\tconst internalUpdateCount = ref(loadState('appstore', 'appstoreUpdateCount', 0))\n\n\t/**\n\t * Total number of apps with available updates\n\t */\n\tconst updateCount = computed(() => internalUpdateCount.value + exApps.updateCount)\n\n\t/**\n\t * Update the given app\n\t *\n\t * @param appId - The app id to update\n\t * @throws {Error} if the app is not found\n\t */\n\tasync function updateApp(appId: string) {\n\t\tconst store = useAppsStore()\n\n\t\tconst app = store.getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\ttry {\n\t\t\tif ('app_api' in app && app.app_api) {\n\t\t\t\tawait exApps.updateApp(appId)\n\t\t\t} else {\n\t\t\t\tawait api.updateApp(appId)\n\t\t\t\tinternalUpdateCount.value = Math.max(internalUpdateCount.value - 1, 0)\n\t\t\t}\n\n\t\t\trebuildNavigation()\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to update app', { appId, error })\n\t\t\tshowError(t('appstore', 'Could not update the app. Please try again later.'))\n\t\t}\n\t}\n\n\treturn {\n\t\tupdateCount,\n\t\tupdateApp,\n\t}\n})\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { LocationQuery } from 'vue-router'\n\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\nexport const useUserSettingsStore = defineStore('userSettings', () => {\n\tconst defaultGridSize = ref('')\n\n\tconst isGridView = ref(false)\n\tconst showIncompatible = ref(true)\n\n\tconst gridSizePx = computed(() => {\n\t\tif (defaultGridSize.value === 'm') {\n\t\t\treturn '468px'\n\t\t} else if (defaultGridSize.value === 'l') {\n\t\t\treturn '512px'\n\t\t}\n\t\treturn '320px'\n\t})\n\n\t/**\n\t * Get the query parameters for the current settings\n\t *\n\t * @param gridMode Optional override for the grid mode, if not provided it will use the current setting\n\t */\n\tfunction getQuery(gridMode?: boolean) {\n\t\tconst route = useRoute() ?? {}\n\t\treturn {\n\t\t\t...route.query,\n\t\t\tgrid: (gridMode ?? isGridView.value) ? (defaultGridSize.value || null) : undefined,\n\t\t\tcompatible: showIncompatible.value ? undefined : null,\n\t\t}\n\t}\n\n\tconst router = useRouter()\n\trouter.afterEach((to) => {\n\t\tupdateFromQuery(to.query)\n\t})\n\n\treturn {\n\t\tdefaultGridSize,\n\t\tgridSizePx,\n\n\t\tisGridView,\n\t\tshowIncompatible,\n\n\t\tgetQuery,\n\t}\n\n\t/**\n\t * Initializes the store with the current query parameters\n\t *\n\t * @param query The query parameters to initialize the store with\n\t */\n\tfunction updateFromQuery(query: LocationQuery) {\n\t\tisGridView.value = 'grid' in query\n\t\tdefaultGridSize.value = [query.grid ?? ''].flat()[0]!.toLowerCase()\n\t\tshowIncompatible.value = !('compatible' in query)\n\t}\n})\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/**\n * marked v17.0.6 - a markdown parser\n * Copyright (c) 2018-2026, MarkedJS. (MIT License)\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction M(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var O=M();function G(u){O=u}var _={exec:()=>null};function k(u,e=\"\"){let t=typeof u==\"string\"?u:u.source,n={replace:(r,i)=>{let s=typeof i==\"string\"?i:i.source;return s=s.replace(m.caret,\"$1\"),t=t.replace(r,s),n},getRegex:()=>new RegExp(t,e)};return n}var be=(()=>{try{return!!new RegExp(\"(?<=1)(?/,blockquoteSetextReplace:/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \\t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\\[[ xX]\\] +\\S/,listReplaceTask:/^\\[[ xX]\\] +/,listTaskCheckbox:/\\[[ xX]\\]/,anyLine:/\\n.*\\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\\||\\| *$/g,tableRowBlankLine:/\\n[ \\t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\\s|>)/i,endPreScriptTag:/^<\\/(pre|code|kbd|script)(\\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,unicodeAlphaNumeric:/[\\p{L}\\p{N}]/u,escapeTest:/[&<>\"']/,escapeReplace:/[&<>\"']/g,escapeTestNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,escapeReplaceNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,caret:/(^|[^\\[])\\^/g,percentDecode:/%25/g,findPipe:/\\|/g,splitPipe:/ \\|/,slashPipe:/\\\\\\|/g,carriageReturn:/\\r\\n|\\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\\S*/,endingNewline:/\\n$/,listItemRegex:u=>new RegExp(`^( {0,3}${u})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),nextBulletRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),hrRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),fencesBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\\`\\`\\`|~~~)`),headingBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}#`),htmlBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}<(?:[a-z].*>|!--)`,\"i\"),blockquoteBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}>`)},Re=/^(?:[ \\t]*(?:\\n|$))+/,Oe=/^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/,Te=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,C=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,we=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,Q=/ {0,3}(?:[*+-]|\\d{1,9}[.)])/,se=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,ie=k(se).replace(/bull/g,Q).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g,\"\").getRegex(),ye=k(se).replace(/bull/g,Q).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/table/g,/ {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(),j=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,Pe=/^[^\\n]+/,F=/(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/,Se=k(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\",F).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),$e=k(/^(bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g,Q).getRegex(),v=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",U=/|$))/,_e=k(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|\\\\n*|$)|\\\\n*|$)|)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\",\"i\").replace(\"comment\",U).replace(\"tag\",v).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),oe=k(j).replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),Le=k(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",oe).getRegex(),K={blockquote:Le,code:Oe,def:Se,fences:Te,heading:we,hr:C,html:_e,lheading:ie,list:$e,newline:Re,paragraph:oe,table:_,text:Pe},ne=k(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),Me={...K,lheading:ye,table:ne,paragraph:k(j).replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",ne).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex()},ze={...K,html:k(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",U).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:_,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:k(j).replace(\"hr\",C).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",ie).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},Ee=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,Ie=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,ae=/^( {2,}|\\\\)\\n(?!\\s*$)/,Ae=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\`+)[^`]+\\k(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\",be?\"(?`+)[^`]+\\k(?!`)/).replace(\"html\",/<(?! )[^<>]*?>/).getRegex(),ue=/^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/,ve=k(ue,\"u\").replace(/punct/g,z).getRegex(),He=k(ue,\"u\").replace(/punct/g,le).getRegex(),pe=\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\",Ze=k(pe,\"gu\").replace(/notPunctSpace/g,W).replace(/punctSpace/g,H).replace(/punct/g,z).getRegex(),Ge=k(pe,\"gu\").replace(/notPunctSpace/g,De).replace(/punctSpace/g,Be).replace(/punct/g,le).getRegex(),Ne=k(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\",\"gu\").replace(/notPunctSpace/g,W).replace(/punctSpace/g,H).replace(/punct/g,z).getRegex(),Qe=k(/^~~?(?:((?!~)punct)|[^\\s~])/,\"u\").replace(/punct/g,z).getRegex(),je=\"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\",Fe=k(je,\"gu\").replace(/notPunctSpace/g,W).replace(/punctSpace/g,H).replace(/punct/g,z).getRegex(),Ue=k(/\\\\(punct)/,\"gu\").replace(/punct/g,z).getRegex(),Ke=k(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),We=k(U).replace(\"(?:-->|$)\",\"-->\").getRegex(),Xe=k(\"^comment|^|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^|^\").replace(\"comment\",We).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),q=/(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/,Je=k(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace(\"label\",q).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),ce=k(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",q).replace(\"ref\",F).getRegex(),he=k(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",F).getRegex(),Ve=k(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",ce).replace(\"nolink\",he).getRegex(),re=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,X={_backpedal:_,anyPunctuation:Ue,autolink:Ke,blockSkip:qe,br:ae,code:Ie,del:_,delLDelim:_,delRDelim:_,emStrongLDelim:ve,emStrongRDelimAst:Ze,emStrongRDelimUnd:Ne,escape:Ee,link:Je,nolink:he,punctuation:Ce,reflink:ce,reflinkSearch:Ve,tag:Xe,text:Ae,url:_},Ye={...X,link:k(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",q).getRegex(),reflink:k(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",q).getRegex()},N={...X,emStrongRDelimAst:Ge,emStrongLDelim:He,delLDelim:Qe,delRDelim:Fe,url:k(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\",re).replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/,text:k(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\\":\">\",'\"':\""\",\"'\":\"'\"},ke=u=>tt[u];function T(u,e){if(e){if(m.escapeTest.test(u))return u.replace(m.escapeReplace,ke)}else if(m.escapeTestNoEncode.test(u))return u.replace(m.escapeReplaceNoEncode,ke);return u}function J(u){try{u=encodeURI(u).replace(m.percentDecode,\"%\")}catch{return null}return u}function V(u,e){let t=u.replace(m.findPipe,(i,s,a)=>{let o=!1,l=s;for(;--l>=0&&a[l]===\"\\\\\";)o=!o;return o?\"|\":\" |\"}),n=t.split(m.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function ge(u,e=0){let t=e,n=\"\";for(let r of u)if(r===\"\t\"){let i=4-t%4;n+=\" \".repeat(i),t+=i}else n+=r,t++;return n}function fe(u,e,t,n,r){let i=e.href,s=e.title||null,a=u[1].replace(r.other.outputLinkReplace,\"$1\");n.state.inLink=!0;let o={type:u[0].charAt(0)===\"!\"?\"image\":\"link\",raw:t,href:i,title:s,text:a,tokens:n.inlineTokens(a)};return n.state.inLink=!1,o}function nt(u,e,t){let n=u.match(t.other.indentCodeCompensation);if(n===null)return e;let r=n[1];return e.split(`\n`).map(i=>{let s=i.match(t.other.beginningSpace);if(s===null)return i;let[a]=s;return a.length>=r.length?i.slice(r.length):i}).join(`\n`)}var w=class{options;rules;lexer;constructor(e){this.options=e||O}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:\"space\",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,\"\");return{type:\"code\",raw:t[0],codeBlockStyle:\"indented\",text:this.options.pedantic?n:I(n,`\n`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=nt(n,t[3]||\"\",this.rules);return{type:\"code\",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=I(n,\"#\");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:\"heading\",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:\"hr\",raw:I(t[0],`\n`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=I(t[0],`\n`).split(`\n`),r=\"\",i=\"\",s=[];for(;n.length>0;){let a=!1,o=[],l;for(l=0;l1,i={type:\"list\",raw:\"\",ordered:r,start:r?+n.slice(0,-1):\"\",loose:!1,items:[]};n=r?`\\\\d{1,9}\\\\${n.slice(-1)}`:`\\\\${n}`,this.options.pedantic&&(n=r?n:\"[*+-]\");let s=this.rules.other.listItemRegex(n),a=!1;for(;e;){let l=!1,p=\"\",c=\"\";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;p=t[0],e=e.substring(p.length);let d=ge(t[2].split(`\n`,1)[0],t[1].length),h=e.split(`\n`,1)[0],R=!d.trim(),f=0;if(this.options.pedantic?(f=2,c=d.trimStart()):R?f=t[1].length+1:(f=d.search(this.rules.other.nonSpaceChar),f=f>4?1:f,c=d.slice(f),f+=t[1].length),R&&this.rules.other.blankLine.test(h)&&(p+=h+`\n`,e=e.substring(h.length+1),l=!0),!l){let S=this.rules.other.nextBulletRegex(f),Y=this.rules.other.hrRegex(f),ee=this.rules.other.fencesBeginRegex(f),te=this.rules.other.headingBeginRegex(f),me=this.rules.other.htmlBeginRegex(f),xe=this.rules.other.blockquoteBeginRegex(f);for(;e;){let Z=e.split(`\n`,1)[0],A;if(h=Z,this.options.pedantic?(h=h.replace(this.rules.other.listReplaceNesting,\" \"),A=h):A=h.replace(this.rules.other.tabCharGlobal,\" \"),ee.test(h)||te.test(h)||me.test(h)||xe.test(h)||S.test(h)||Y.test(h))break;if(A.search(this.rules.other.nonSpaceChar)>=f||!h.trim())c+=`\n`+A.slice(f);else{if(R||d.replace(this.rules.other.tabCharGlobal,\" \").search(this.rules.other.nonSpaceChar)>=4||ee.test(d)||te.test(d)||Y.test(d))break;c+=`\n`+h}R=!h.trim(),p+=Z+`\n`,e=e.substring(Z.length+1),d=A.slice(f)}}i.loose||(a?i.loose=!0:this.rules.other.doubleBlankLine.test(p)&&(a=!0)),i.items.push({type:\"list_item\",raw:p,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}),i.raw+=p}let o=i.items.at(-1);if(o)o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let l of i.items){if(this.lexer.state.top=!1,l.tokens=this.lexer.blockTokens(l.text,[]),l.task){if(l.text=l.text.replace(this.rules.other.listReplaceTask,\"\"),l.tokens[0]?.type===\"text\"||l.tokens[0]?.type===\"paragraph\"){l.tokens[0].raw=l.tokens[0].raw.replace(this.rules.other.listReplaceTask,\"\"),l.tokens[0].text=l.tokens[0].text.replace(this.rules.other.listReplaceTask,\"\");for(let c=this.lexer.inlineQueue.length-1;c>=0;c--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)){this.lexer.inlineQueue[c].src=this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask,\"\");break}}let p=this.rules.other.listTaskCheckbox.exec(l.raw);if(p){let c={type:\"checkbox\",raw:p[0]+\" \",checked:p[0]!==\"[ ]\"};l.checked=c.checked,i.loose?l.tokens[0]&&[\"paragraph\",\"text\"].includes(l.tokens[0].type)&&\"tokens\"in l.tokens[0]&&l.tokens[0].tokens?(l.tokens[0].raw=c.raw+l.tokens[0].raw,l.tokens[0].text=c.raw+l.tokens[0].text,l.tokens[0].tokens.unshift(c)):l.tokens.unshift({type:\"paragraph\",raw:c.raw,text:c.raw,tokens:[c]}):l.tokens.unshift(c)}}if(!i.loose){let p=l.tokens.filter(d=>d.type===\"space\"),c=p.length>0&&p.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=c}}if(i.loose)for(let l of i.items){l.loose=!0;for(let p of l.tokens)p.type===\"text\"&&(p.type=\"paragraph\")}return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:\"html\",block:!0,raw:t[0],pre:t[1]===\"pre\"||t[1]===\"script\"||t[1]===\"style\",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,\" \"),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):t[3];return{type:\"def\",tag:n,raw:t[0],href:r,title:i}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=V(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,\"\").split(\"|\"),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,\"\").split(`\n`):[],s={type:\"table\",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let a of r)this.rules.other.tableAlignRight.test(a)?s.align.push(\"right\"):this.rules.other.tableAlignCenter.test(a)?s.align.push(\"center\"):this.rules.other.tableAlignLeft.test(a)?s.align.push(\"left\"):s.align.push(null);for(let a=0;a({text:o,tokens:this.lexer.inline(o),header:!1,align:s.align[l]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let n=t[1].trim();return{type:\"heading\",raw:t[0],depth:t[2].charAt(0)===\"=\"?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`\n`?t[1].slice(0,-1):t[1];return{type:\"paragraph\",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:\"text\",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:\"escape\",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:\"html\",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=I(n.slice(0,-1),\"\\\\\");if((n.length-s.length)%2===0)return}else{let s=de(t[2],\"()\");if(s===-2)return;if(s>-1){let o=(t[0].indexOf(\"!\")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,o).trim(),t[3]=\"\"}}let r=t[2],i=\"\";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):\"\";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),fe(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,\"$1\"),title:i&&i.replace(this.rules.inline.anyPunctuation,\"$1\")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,\" \"),i=t[r.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:\"text\",raw:s,text:s}}return fe(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=\"\"){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(r[1]||r[3]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,a,o,l=s,p=0,c=r[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+s);(r=c.exec(t))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){l+=o;continue}else if((r[5]||r[6])&&s%3&&!((s+o)%3)){p+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+p);let d=[...r[0]][0].length,h=e.slice(0,s+r.index+d+o);if(Math.min(s,o)%2){let f=h.slice(1,-1);return{type:\"em\",raw:h,text:f,tokens:this.lexer.inlineTokens(f)}}let R=h.slice(2,-2);return{type:\"strong\",raw:h,text:R,tokens:this.lexer.inlineTokens(R)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal,\" \"),r=this.rules.other.nonSpaceChar.test(n),i=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&i&&(n=n.substring(1,n.length-1)),{type:\"codespan\",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:\"br\",raw:t[0]}}del(e,t,n=\"\"){let r=this.rules.inline.delLDelim.exec(e);if(!r)return;if(!(r[1]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,a,o,l=s,p=this.rules.inline.delRDelim;for(p.lastIndex=0,t=t.slice(-1*e.length+s);(r=p.exec(t))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a||(o=[...a].length,o!==s))continue;if(r[3]||r[4]){l+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l);let c=[...r[0]][0].length,d=e.slice(0,s+r.index+c+o),h=d.slice(s,-s);return{type:\"del\",raw:d,text:h,tokens:this.lexer.inlineTokens(h)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]===\"@\"?(n=t[1],r=\"mailto:\"+n):(n=t[1],r=n),{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,r;if(t[2]===\"@\")n=t[0],r=\"mailto:\"+n;else{let i;do i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??\"\";while(i!==t[0]);n=t[0],t[1]===\"www.\"?r=\"http://\"+t[0]:r=t[0]}return{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:\"text\",raw:t[0],text:t[0],escaped:n}}}};var x=class u{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||O,this.options.tokenizer=this.options.tokenizer||new w,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:m,block:B.normal,inline:E.normal};this.options.pedantic?(t.block=B.pedantic,t.inline=E.pedantic):this.options.gfm&&(t.block=B.gfm,this.options.breaks?t.inline=E.breaks:t.inline=E.gfm),this.tokenizer.rules=t}static get rules(){return{block:B,inline:E}}static lex(e,t){return new u(t).lex(e)}static lexInline(e,t){return new u(t).inlineTokens(e)}lex(e){e=e.replace(m.carriageReturn,`\n`),this.blockTokens(e,this.tokens);for(let t=0;t(r=s.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let s=t.at(-1);r.raw.length===1&&s!==void 0?s.raw+=`\n`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let s=1/0,a=e.slice(1),o;this.options.extensions.startBlock.forEach(l=>{o=l.call({lexer:this},a),typeof o==\"number\"&&o>=0&&(s=Math.min(s,o))}),s<1/0&&s>=0&&(i=e.substring(0,s+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let s=t.at(-1);n&&s?.type===\"paragraph\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(e){let s=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let o=Object.keys(this.tokens.links);if(o.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)o.includes(r[0].slice(r[0].lastIndexOf(\"[\")+1,-1))&&(n=n.slice(0,r.index)+\"[\"+\"a\".repeat(r[0].length-2)+\"]\"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+\"++\"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+\"[\"+\"a\".repeat(r[0].length-i-2)+\"]\"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,a=\"\";for(;e;){s||(a=\"\"),s=!1;let o;if(this.options.extensions?.inline?.some(p=>(o=p.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let p=t.at(-1);o.type===\"text\"&&p?.type===\"text\"?(p.raw+=o.raw,p.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,a)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e,n,a)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let l=e;if(this.options.extensions?.startInline){let p=1/0,c=e.slice(1),d;this.options.extensions.startInline.forEach(h=>{d=h.call({lexer:this},c),typeof d==\"number\"&&d>=0&&(p=Math.min(p,d))}),p<1/0&&p>=0&&(l=e.substring(0,p+1))}if(o=this.tokenizer.inlineText(l)){e=e.substring(o.raw.length),o.raw.slice(-1)!==\"_\"&&(a=o.raw.slice(-1)),s=!0;let p=t.at(-1);p?.type===\"text\"?(p.raw+=o.raw,p.text+=o.text):t.push(o);continue}if(e){let p=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(p);break}else throw new Error(p)}}return t}};var y=class{options;parser;constructor(e){this.options=e||O}space(e){return\"\"}code({text:e,lang:t,escaped:n}){let r=(t||\"\").match(m.notSpaceStart)?.[0],i=e.replace(m.endingNewline,\"\")+`\n`;return r?'
    '+(n?i:T(i,!0))+`
    \n`:\"
    \"+(n?i:T(i,!0))+`
    \n`}blockquote({tokens:e}){return`
    \n${this.parser.parse(e)}
    \n`}html({text:e}){return e}def(e){return\"\"}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)}\n`}hr(e){return`
    \n`}list(e){let t=e.ordered,n=e.start,r=\"\";for(let a=0;a\n`+r+\"\n`}listitem(e){return`
  • ${this.parser.parse(e.tokens)}
  • \n`}checkbox({checked:e}){return\" '}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    \n`}table(e){let t=\"\",n=\"\";for(let i=0;i${r}`),`\n\n`+t+`\n`+r+`
    \n`}tablerow({text:e}){return`\n${e}\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?\"th\":\"td\";return(e.align?`<${n} align=\"${e.align}\">`:`<${n}>`)+t+`\n`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${T(e,!0)}`}br(e){return\"
    \"}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=J(e);if(i===null)return r;e=i;let s='
    \"+r+\"\",s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=J(e);if(i===null)return T(n);e=i;let s=`\"${T(n)}\"`;return\",s}text(e){return\"tokens\"in e&&e.tokens?this.parser.parseInline(e.tokens):\"escaped\"in e&&e.escaped?e.text:T(e.text)}};var $=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return\"\"+e}image({text:e}){return\"\"+e}br(){return\"\"}checkbox({raw:e}){return e}};var b=class u{options;renderer;textRenderer;constructor(e){this.options=e||O,this.options.renderer=this.options.renderer||new y,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $}static parse(e,t){return new u(t).parse(e)}static parseInline(e,t){return new u(t).parseInline(e)}parse(e){this.renderer.parser=this;let t=\"\";for(let n=0;n{let a=i[s].flat(1/0);n=n.concat(this.walkTokens(a,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error(\"extension name required\");if(\"renderer\"in i){let s=t.renderers[i.name];s?t.renderers[i.name]=function(...a){let o=i.renderer.apply(this,a);return o===!1&&(o=s.apply(this,a)),o}:t.renderers[i.name]=i.renderer}if(\"tokenizer\"in i){if(!i.level||i.level!==\"block\"&&i.level!==\"inline\")throw new Error(\"extension level must be 'block' or 'inline'\");let s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level===\"block\"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level===\"inline\"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}\"childTokens\"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new y(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if([\"options\",\"parser\"].includes(s))continue;let a=s,o=n.renderer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c||\"\"}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new w(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes(s))continue;let a=s,o=n.tokenizer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new P;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if([\"options\",\"block\"].includes(s))continue;let a=s,o=n.hooks[a],l=i[a];P.passThroughHooks.has(s)?i[a]=p=>{if(this.defaults.async&&P.passThroughHooksRespectAsync.has(s))return(async()=>{let d=await o.call(i,p);return l.call(i,d)})();let c=o.call(i,p);return l.call(i,c)}:i[a]=(...p)=>{if(this.defaults.async)return(async()=>{let d=await o.apply(i,p);return d===!1&&(d=await l.apply(i,p)),d})();let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(a){let o=[];return o.push(s.call(this,a)),i&&(o=o.concat(i.call(this,a))),o}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return x.lex(e,t??this.defaults)}parser(e,t){return b.parse(e,t??this.defaults)}parseMarkdown(e){return(n,r)=>{let i={...r},s={...this.defaults,...i},a=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return a(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof n>\"u\"||n===null)return a(new Error(\"marked(): input parameter is undefined or null\"));if(typeof n!=\"string\")return a(new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(n)+\", string expected\"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let o=s.hooks?await s.hooks.preprocess(n):n,p=await(s.hooks?await s.hooks.provideLexer(e):e?x.lex:x.lexInline)(o,s),c=s.hooks?await s.hooks.processAllTokens(p):p;s.walkTokens&&await Promise.all(this.walkTokens(c,s.walkTokens));let h=await(s.hooks?await s.hooks.provideParser(e):e?b.parse:b.parseInline)(c,s);return s.hooks?await s.hooks.postprocess(h):h})().catch(a);try{s.hooks&&(n=s.hooks.preprocess(n));let l=(s.hooks?s.hooks.provideLexer(e):e?x.lex:x.lexInline)(n,s);s.hooks&&(l=s.hooks.processAllTokens(l)),s.walkTokens&&this.walkTokens(l,s.walkTokens);let c=(s.hooks?s.hooks.provideParser(e):e?b.parse:b.parseInline)(l,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(o){return a(o)}}}onError(e,t){return n=>{if(n.message+=`\nPlease report this to https://github.com/markedjs/marked.`,e){let r=\"

    An error occurred:

    \"+T(n.message+\"\",!0)+\"
    \";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}};var L=new D;function g(u,e){return L.parse(u,e)}g.options=g.setOptions=function(u){return L.setOptions(u),g.defaults=L.defaults,G(g.defaults),g};g.getDefaults=M;g.defaults=O;g.use=function(...u){return L.use(...u),g.defaults=L.defaults,G(g.defaults),g};g.walkTokens=function(u,e){return L.walkTokens(u,e)};g.parseInline=L.parseInline;g.Parser=b;g.parser=b.parse;g.Renderer=y;g.TextRenderer=$;g.Lexer=x;g.lexer=x.lex;g.Tokenizer=w;g.Hooks=P;g.parse=g;var Qt=g.options,jt=g.setOptions,Ft=g.use,Ut=g.walkTokens,Kt=g.parseInline,Wt=g,Xt=b.parse,Jt=x.lex;export{P as Hooks,x as Lexer,D as Marked,b as Parser,y as Renderer,$ as TextRenderer,w as Tokenizer,O as defaults,M as getDefaults,Jt as lexer,g as marked,Qt as options,Wt as parse,Kt as parseInline,Xt as parser,jt as setOptions,Ft as use,Ut as walkTokens};\n//# sourceMappingURL=marked.esm.js.map\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Tokens } from 'marked'\nimport type { MaybeRefOrGetter } from 'vue'\n\nimport dompurify from 'dompurify'\nimport { marked } from 'marked'\nimport { computed, toValue } from 'vue'\n\nexport interface MarkdownOptions {\n\tminHeadingLevel?: number\n}\n\n/**\n * Render Markdown to HTML\n *\n * @param text - The Markdown source\n * @param options - Markdown options\n */\nexport function useMarkdown(text: MaybeRefOrGetter, options?: MarkdownOptions) {\n\tconst renderer = new marked.Renderer()\n\trenderer.blockquote = markedBlockquote\n\trenderer.link = markedLink\n\trenderer.image = markedImage\n\n\treturn computed(() => {\n\t\tconst minHeading = options?.minHeadingLevel ?? 1\n\t\trenderer.heading = getMarkedHeading(minHeading)\n\t\tconst markdown = toValue(text).trim()\n\n\t\treturn dompurify.sanitize(\n\t\t\tmarked(markdown, {\n\t\t\t\tasync: false,\n\t\t\t\trenderer,\n\t\t\t\tgfm: false,\n\t\t\t\tbreaks: false,\n\t\t\t\tpedantic: false,\n\t\t\t}),\n\t\t\t{\n\t\t\t\tALLOWED_TAGS: [\n\t\t\t\t\t'h1',\n\t\t\t\t\t'h2',\n\t\t\t\t\t'h3',\n\t\t\t\t\t'h4',\n\t\t\t\t\t'h5',\n\t\t\t\t\t'h6',\n\t\t\t\t\t'strong',\n\t\t\t\t\t'p',\n\t\t\t\t\t'a',\n\t\t\t\t\t'ul',\n\t\t\t\t\t'ol',\n\t\t\t\t\t'li',\n\t\t\t\t\t'em',\n\t\t\t\t\t'del',\n\t\t\t\t\t'blockquote',\n\t\t\t\t],\n\t\t\t},\n\t\t)\n\t})\n}\n\n/**\n * Custom link renderer that only allows http and https links\n *\n * @param ctx - The render context\n * @param ctx.href - The link href\n * @param ctx.title - The link title\n * @param ctx.text - The link text\n */\nfunction markedLink({ href, title, text }: Tokens.Link) {\n\tlet url: URL\n\ttry {\n\t\turl = new URL(href)\n\t} catch {\n\t\treturn ''\n\t}\n\n\tif (url.protocol !== 'http:' && url.protocol !== 'https:') {\n\t\treturn ''\n\t}\n\n\tlet out = ''\n\treturn out\n}\n\n/**\n * Only render image alt text or title\n *\n * @param ctx - The render context\n * @param ctx.title - The image title\n * @param ctx.text - The image alt text\n */\nfunction markedImage({ title, text }: Tokens.Image): string {\n\tif (text) {\n\t\treturn text\n\t}\n\treturn title ?? ''\n}\n\n/**\n * Render block quotes without any special styling\n *\n * @param ctx - The render context\n * @param ctx.text - The blockquote text\n */\nfunction markedBlockquote({ text }: Tokens.Blockquote): string {\n\treturn `
    ${text}
    `\n}\n\n/**\n * Get a custom heading renderer that clamps heading levels\n *\n * @param minHeading - The heading to clamp to\n */\nfunction getMarkedHeading(minHeading: number) {\n\t/**\n\t * Custom heading renderer that adjusts heading levels\n\t *\n\t * @param ctx - The render context\n\t * @param ctx.text - The heading text\n\t * @param ctx.depth - The heading depth\n\t */\n\treturn ({ text, depth }: Tokens.Heading): string => {\n\t\tdepth = Math.min(6, depth + (minHeading - 1))\n\t\treturn `${text}`\n\t}\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiClose } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canDisable } from '../utils/appStatus.ts'\n\nexport const actionDisable: AppAction = {\n\tid: 'disable',\n\ticon: mdiClose,\n\torder: 10,\n\tenabled: canDisable,\n\tlabel: () => t('appstore', 'Disable'),\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.disableApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiCheck } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canEnable, canInstall } from '../utils/appStatus.ts'\n\nexport const actionEnable: AppAction = {\n\tid: 'enable',\n\ticon: mdiCheck,\n\torder: 1,\n\tvariant: 'primary',\n\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\treturn !canInstall(app) && canEnable(app)\n\t},\n\tlabel: () => t('appstore', 'Enable'),\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.enableApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiAlertCircleCheckOutline } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canForceEnable, canInstall, needForceEnable } from '../utils/appStatus.ts'\n\nexport const actionForceEnable: AppAction = {\n\tid: 'force-enable',\n\ticon: mdiAlertCircleCheckOutline,\n\torder: 3,\n\tinline: false,\n\tvariant: 'warning',\n\tlabel: () => t('appstore', 'Force enable'),\n\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\treturn !canInstall(app) && canForceEnable(app) && needForceEnable(app)\n\t},\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.forceEnableApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiDownload } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canInstall, needForceEnable } from '../utils/appStatus.ts'\n\nexport const actionInstall: AppAction = {\n\tid: 'install',\n\ticon: mdiDownload,\n\torder: 5,\n\tenabled(app) {\n\t\treturn canInstall(app) && !needForceEnable(app)\n\t},\n\tlabel: (app: IAppstoreApp | IAppstoreExApp) => {\n\t\tif (app.app_api) {\n\t\t\treturn t('appstore', 'Deploy and enable')\n\t\t}\n\t\tif (app.needsDownload) {\n\t\t\treturn t('appstore', 'Download and enable')\n\t\t}\n\t\treturn t('appstore', 'Install and enable')\n\t},\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.enableApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiDownload } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canInstall, needForceEnable } from '../utils/appStatus.ts'\n\nexport const actionInstallForced: AppAction = {\n\tid: 'install-forced',\n\ticon: mdiDownload,\n\torder: 5,\n\tinline: false,\n\tenabled(app) {\n\t\treturn canInstall(app) && needForceEnable(app)\n\t},\n\tlabel: (app: IAppstoreApp | IAppstoreExApp) => {\n\t\tif (app.app_api) {\n\t\t\treturn t('appstore', 'Deploy and force enable')\n\t\t}\n\t\tif (app.needsDownload) {\n\t\t\treturn t('appstore', 'Download and force enable')\n\t\t}\n\t\treturn t('appstore', 'Install and force enable')\n\t},\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.enableApp(app.id, true)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiBugOutline, mdiForumOutline, mdiStarOutline, mdiWeb } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\n\nexport const actionsInteract: AppAction[] = [\n\t{\n\t\tid: 'rate',\n\t\ticon: mdiStarOutline,\n\t\torder: 30,\n\t\tinline: false,\n\t\tlabel: () => t('appstore', 'Rate the app'),\n\t\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn !app.shipped\n\t\t},\n\t\thref(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn `https://apps.nextcloud.com/apps/${encodeURIComponent(app.id)}#comments`\n\t\t},\n\t},\n\t{\n\t\tid: 'report-bug',\n\t\ticon: mdiBugOutline,\n\t\torder: 32,\n\t\tinline: false,\n\t\tlabel: () => t('appstore', 'Report a bug'),\n\t\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn !!app.bugs\n\t\t},\n\t\thref(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn app.bugs!\n\t\t},\n\t},\n\t{\n\t\tid: 'discussion',\n\t\ticon: mdiForumOutline,\n\t\torder: 35,\n\t\tinline: false,\n\t\tlabel: () => t('appstore', 'Ask questions or discuss the app'),\n\t\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn !!app.discussion\n\t\t},\n\t\thref(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn app.discussion!\n\t\t},\n\t},\n\t{\n\t\tid: 'website',\n\t\ticon: mdiWeb,\n\t\torder: 38,\n\t\tinline: false,\n\t\tlabel: () => t('appstore', 'Visit the website'),\n\t\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn !!app.website\n\t\t},\n\t\thref(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn app.website!\n\t\t},\n\t},\n]\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiAccountGroup } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { spawnDialog } from '@nextcloud/vue'\nimport { defineAsyncComponent } from 'vue'\nimport { canLimitToGroups } from '../utils/appStatus.ts'\n\nconst LimitToGroupDialog = defineAsyncComponent(() => import('../components/LimitToGroupDialog.vue'))\n\nexport const actionLimitToGroup: AppAction = {\n\tid: 'limit-to-group',\n\ticon: mdiAccountGroup,\n\torder: 16,\n\tinline: false,\n\tlabel: () => t('appstore', 'Limit to groups'),\n\tenabled: canLimitToGroups,\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tawait spawnDialog(LimitToGroupDialog, { app })\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiTrashCanOutline } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canUninstall } from '../utils/appStatus.ts'\n\nexport const actionRemove: AppAction = {\n\tid: 'remove',\n\torder: 20,\n\ticon: mdiTrashCanOutline,\n\tvariant: 'error',\n\tinline: false,\n\tenabled: canUninstall,\n\tlabel: () => t('appstore', 'Remove'),\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.uninstallApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiUpdate } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useExAppsStore } from '../store/exApps.ts'\nimport { useUpdatesStore } from '../store/updates.ts'\nimport { canUpdate } from '../utils/appStatus.ts'\n\nexport const actionUpdate: AppAction = {\n\tid: 'update',\n\ticon: mdiUpdate,\n\tvariant: 'primary',\n\torder: 0,\n\tenabled(app) {\n\t\tif (!canUpdate(app)) {\n\t\t\treturn false\n\t\t}\n\t\tif (app.app_api) {\n\t\t\tif (app.daemon && app.daemon?.accepts_deploy_id === 'manual-install') {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tconst exAppsStore = useExAppsStore()\n\t\t\treturn exAppsStore.daemonAccessible\n\t\t}\n\t\treturn true\n\t},\n\tlabel: (app: IAppstoreApp | IAppstoreExApp) => t('appstore', 'Update to {version}', { version: app.update! }),\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useUpdatesStore()\n\t\tawait store.updateApp(app.id)\n\t},\n}\n","/*\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { RouteLocationRaw } from 'vue-router'\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\nimport { actionDisable } from './actionDisable.ts'\nimport { actionEnable } from './actionEnable.ts'\nimport { actionForceEnable } from './actionForceEnable.ts'\nimport { actionInstall } from './actionInstall.ts'\nimport { actionInstallForced } from './actionInstallForced.ts'\nimport { actionsInteract } from './actionInteract.ts'\nimport { actionLimitToGroup } from './actionLimitToGroup.ts'\nimport { actionRemove } from './actionRemove.ts'\nimport { actionUpdate } from './actionUpdate.ts'\n\ninterface AppActionBase {\n\tenabled: (app: IAppstoreApp | IAppstoreExApp) => boolean\n\n\tid: string\n\ticon: string\n\torder: number\n\tlabel: (app: IAppstoreApp | IAppstoreExApp) => string\n\tvariant?: 'primary' | 'error' | 'warning'\n\tinline?: boolean\n}\n\ninterface AppActionWithCallback extends AppActionBase {\n\tcallback: (app: IAppstoreApp | IAppstoreExApp) => Promise\n}\n\ninterface AppActionWithHref extends AppActionBase {\n\thref: (app: IAppstoreApp | IAppstoreExApp) => string\n}\n\ninterface AppActionWithRoute extends AppActionBase {\n\tto: (app: IAppstoreApp | IAppstoreExApp) => RouteLocationRaw\n}\n\nexport type AppAction = AppActionWithCallback | AppActionWithHref | AppActionWithRoute\n\nexport const actions = [\n\tactionUpdate,\n\tactionEnable,\n\tactionDisable,\n\tactionForceEnable,\n\tactionInstall,\n\tactionInstallForced,\n\tactionRemove,\n\tactionLimitToGroup,\n\t...actionsInteract,\n].sort((a, b) => a.order - b.order)\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from 'vue'\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\nimport { computed, toValue } from 'vue'\nimport { actions } from '../actions/index.ts'\n\n/**\n * Get the available actions for an app\n *\n * @param app - The app to get the actions for\n */\nexport function useActions(app: MaybeRefOrGetter) {\n\treturn computed(() => toValue(app) ? actions.filter((action) => action.enabled(toValue(app)!)) : [])\n}\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Ref } from 'vue'\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\nimport { mdiCog, mdiCogOutline } from '@mdi/js'\nimport { computed, ref, watchEffect } from 'vue'\nimport { APPSTORE_CATEGORY_ICONS } from '../constants.ts'\nimport logger from '../utils/logger.ts'\n\n/**\n * Get the app icon raw SVG for use with `NcIconSvgWrapper` (do never use without sanitizing)\n * It has a fallback to the categroy icon.\n *\n * @param app The app to get the icon for\n */\nexport function useAppIcon(app: Ref) {\n\tconst appIcon = ref(null)\n\n\t/**\n\t * Fallback value if no app icon available\n\t */\n\tconst categoryIcon = computed(() => {\n\t\tlet path: string\n\t\tif (app.value?.app_api) {\n\t\t\t// Use different default icon for ExApps (AppAPI)\n\t\t\tpath = mdiCogOutline\n\t\t} else {\n\t\t\tpath = [app.value?.category ?? []].flat()\n\t\t\t\t.map((name) => APPSTORE_CATEGORY_ICONS[name])\n\t\t\t\t.filter((icon) => !!icon)\n\t\t\t\t.at(0)\n\t\t\t\t?? (!app.value?.app_api ? mdiCog : mdiCogOutline)\n\t\t}\n\t\treturn path ? `` : null\n\t})\n\n\twatchEffect(async () => {\n\t\t// Note: Only variables until the first `await` will be watched!\n\t\tif (!app.value?.icon) {\n\t\t\tappIcon.value = categoryIcon.value\n\t\t} else {\n\t\t\tappIcon.value = null\n\t\t\t// Now try to load the real app icon\n\t\t\ttry {\n\t\t\t\tconst response = await window.fetch(app.value.icon)\n\t\t\t\tconst blob = await response.blob()\n\t\t\t\tconst rawSvg = await blob.text()\n\t\t\t\tappIcon.value = rawSvg.replaceAll(/fill=\"#(fff|ffffff)([a-z0-9]{1,2})?\"/ig, 'fill=\"currentColor\"')\n\t\t\t} catch (error) {\n\t\t\t\tappIcon.value = categoryIcon.value\n\t\t\t\tlogger.error('Could not load app icon', { error })\n\t\t\t}\n\t\t}\n\t})\n\n\treturn {\n\t\tappIcon,\n\t}\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst appstoreEnabled = loadState('appstore', 'appstoreEnabled', true)\n\n// Dynamic loading\nconst AppstoreDiscover = () => import('../views/AppstoreDiscover.vue')\nconst AppstoreManage = () => import('../views/AppstoreManage.vue')\nconst AppstoreBundles = () => import('../views/AppstoreBundles.vue')\nconst AppstoreBrowse = () => import('../views/AppstoreBrowse.vue')\nconst AppstoreSearch = () => import('../views/AppstoreSearch.vue')\n\nconst routes: RouteRecordRaw[] = [\n\t{\n\t\tpath: '/:index(index.php/)?settings/apps',\n\t\tname: 'apps',\n\t\tredirect: appstoreEnabled\n\t\t\t? {\n\t\t\t\t\tname: 'apps-discover',\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\tname: 'apps-manage',\n\t\t\t\t\tparams: { category: 'installed' },\n\t\t\t\t},\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: 'discover/:id?',\n\t\t\t\tname: 'apps-discover',\n\t\t\t\tcomponent: AppstoreDiscover,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'bundles/:id?',\n\t\t\t\tname: 'apps-bundles',\n\t\t\t\tcomponent: AppstoreBundles,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: ':category(installed|enabled|disabled|updates)/:id?',\n\t\t\t\tname: 'apps-manage',\n\t\t\t\tcomponent: AppstoreManage,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: ':category/:id?',\n\t\t\t\tname: 'apps-category',\n\t\t\t\tcomponent: AppstoreBrowse,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'search/:id?',\n\t\t\t\tname: 'apps-search',\n\t\t\t\tcomponent: AppstoreSearch,\n\t\t\t},\n\t\t],\n\t},\n]\n\nexport default routes\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport routes from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nexport default router\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { createPinia } from 'pinia'\nimport { createApp } from 'vue'\nimport AppstoreApp from './AppstoreApp.vue'\nimport router from './router/index.ts'\n\nimport 'vite/modulepreload-polyfill'\n\nconst pinia = createPinia()\nconst app = createApp(AppstoreApp)\napp.config.idPrefix = 'appstore'\napp.use(pinia)\napp.use(router)\napp.mount('#content')\n","/**\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\nimport type { NcSelectUsersModel } from '@nextcloud/vue/components/NcSelectUsers'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport logger from '../utils/logger.ts'\n\nexport const useGroupsStore = defineStore('groups', () => {\n\tconst groups = ref(new Map())\n\n\t/**\n\t * Search the API for groups matching the query\n\t *\n\t * @param query - Query to search\n\t */\n\tasync function searchGroups(query: string) {\n\t\tconst url = generateOcsUrl('/cloud/groups/details')\n\t\ttry {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\tconst { data } = await axios.get>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\tsearch: query.trim(),\n\t\t\t\t\tlimit: 10,\n\t\t\t\t},\n\t\t\t})\n\t\t\tfor (const group of data.ocs.data.groups) {\n\t\t\t\tif (groups.value.has(group.id)) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tgroups.value.set(group.id, {\n\t\t\t\t\tid: group.id,\n\t\t\t\t\tdisplayName: group.displayname,\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t})\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to search groups', { error })\n\t\t}\n\t}\n\n\t/**\n\t * Get a group by its id\n\t *\n\t * @param groupId - The id of the group to retrieve\n\t */\n\tfunction getGroupById(groupId: string) {\n\t\treturn groups.value.get(groupId)\n\t}\n\n\treturn {\n\t\tgroups: computed(() => Array.from(groups.value.values())),\n\t\tsearchGroups,\n\t\tgetGroupById,\n\t}\n})\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n"],"file":"appstore-main.mjs"} \ No newline at end of file +{"version":3,"mappings":"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","names":["_hoisted_1","_sfc_main","defineComponent","__props","_ctx","_cache","openBlock","createElementBlock","NcAppNavigationSpacer","_export_sfc","event","_hoisted_2","_sfc_render","$props","$setup","$data","$options","normalizeClass","args","createElementVNode","toDisplayString","renderSlot","NcAppSidebarTab","APPSTORE_CATEGORY_NAMES","t","APPSTORE_CATEGORY_ICONS","mdiStarCircleOutline","mdiAccountOutline","mdiCheck","mdiClose","mdiArchiveOutline","mdiStarShootingOutline","mdiStar","mdiDownload","mdiCreationOutline","mdiKeyOutline","mdiCogOutline","mdiViewColumnOutline","mdiFolder","mdiControllerClassicOutline","mdiOpenInApp","mdiMonitorEye","mdiMultimedia","mdiFileDocumentEdit","mdiOfficeBuildingOutline","mdiMagnify","mdiSecurity","mdiAccountMultipleOutline","mdiTools","mdiClipboardFlowOutline","APP_DISCOVER_KNOWN_TYPES","addPasswordConfirmationInterceptors","axios","BASE_URL","generateOcsUrl","Url","queue","PQueue","enableApp","appId","force","groups","PwdConfirmationMode","disableApp","updateApp","uninstallApp","getApps","data","getCategories","category","enableBundle","bundleId","rebuildNavigation","emit","canInstall","app","canUninstall","canEnable","isInitializing","isDeploying","canForceEnable","needForceEnable","canDisable","canUpdate","restrictedTypes","canLimitToGroups","type","logger","getLoggerBuilder","props","__emit","itemTitle","computed","_createBlock","_unref","NcListItem","_createTextVNode","_toDisplayString","store","useExAppsStore","_createElementBlock","_normalizeClass","$style","_openBlock","_Fragment","_renderList","daemon","DaemonSelectionDialogListEntry","$event","$emit","appApiAdminPage","generateUrl","NcDialog","NcEmptyContent","_createVNode","NcIconSvgWrapper","mdiFormatListBulleted","NcButton","DaemonSelectionDialogList","fetchApps","fetchAppStatus","enableExApp","deployOptions","confirmPassword","forceEnableExApp","disableExApp","defineStore","isEnabled","loadState","apps","ref","updateCount","statusUpdater","daemonAccessible","defaultDaemon","dockerDaemons","initializingOrDeployingApps","getById","id","exAppApi.enableExApp","spawnDialog","DaemonSelectionDialog","forceEnableApp","exAppApi.forceEnableExApp","initialize","exAppApi.disableExApp","error","showError","fetchDockerDaemons","fetchAllApps","exAppApi.fetchApps","status","exAppApi.fetchAppStatus","e","updateAppsStatus","useAppsStore","exApps","appstoreApps","categories","bundles","readonly","isLoadingApps","isLoadingCategories","getCategoryById","categoryId","getAppById","getAppsByCategory","api.enableApp","api.disableApp","api.uninstallApp","limitAppToGroups","bundle","b","api.enableBundle","loadCategories","api.getCategories","loadApps","api.getApps","useUpdatesStore","internalUpdateCount","api.updateApp","useUserSettingsStore","defaultGridSize","isGridView","showIncompatible","gridSizePx","getQuery","gridMode","useRoute","useRouter","to","updateFromQuery","query","appstoreEnabled","updateStore","userSettings","categoriesLoading","route","router","searchElement","useTemplateRef","useHotKey","search","watch","newQuery","watchDebounced","newValue","oldValue","isSubscribed","level","NcAppNavigation","NcAppNavigationSearch","NcAppNavigationItem","NcCounterBubble","NcLoadingIcon","inlineActions","action","menuActions","NcActions","NcActionButton","NcActionLink","NcActionRouter","gpuSupport","mdiFileChart","_createElementVNode","M","O","G","u","_","k","n","r","i","s","m","be","Re","Oe","Te","C","we","Q","se","ie","ye","j","Pe","F","Se","$e","v","U","_e","oe","Le","K","ne","Me","ze","Ee","Ie","ae","Ae","z","H","W","Ce","le","Be","De","qe","ue","ve","He","pe","Ze","Ge","Ne","Qe","je","Fe","Ue","Ke","We","Xe","q","Je","ce","he","Ve","re","X","Ye","N","et","B","E","tt","ke","T","J","V","a","o","l","I","de","ge","fe","nt","w","p","d","h","R","f","S","ee","te","me","xe","Z","A","c","x","y","$","P","D","L","g","useMarkdown","text","options","renderer","marked","markedBlockquote","markedLink","markedImage","minHeading","getMarkedHeading","markdown","toValue","dompurify","href","title","url","out","depth","renderMarkdown","mdiTextShort","MarkdownPreview","isSupported","isFeatured","badgeIcon","badgeText","badgeTitle","isShown","score","appScore","fullStars","emptyStars","hasHalfStar","index","mdiStarHalfFull","mdiStarOutline","useGroupsStore","fetchGroupById","groupId","internalFetchGroupById","searchGroups","group","getGroupById","useLimitedGroups","groupsStore","groupsAppIsLimitedTo","promises","results","idLimitedToGroups","useId","lastModified","release","date","appAuthors","authorName","appstoreUrl","externalResources","resources","appCategories","xmlNode","mdiTextBoxOutline","BadgeAppLevel","BadgeAppDaemon","BadgeAppScore","NcNoteCard","dep","_hoisted_3","_hoisted_5","NcDateTime","resource","_hoisted_7","releases","values","changelog","createChangelogFromRelease","getLanguage","mdiClockFast","actionDisable","actionEnable","actionForceEnable","mdiAlertCircleCheckOutline","actionInstall","actionInstallForced","actionsInteract","mdiBugOutline","mdiForumOutline","mdiWeb","LimitToGroupDialog","defineAsyncComponent","__vitePreload","LimitToGroupDialog$1","actionLimitToGroup","mdiAccountGroup","actionRemove","mdiTrashCanOutline","actionUpdate","mdiUpdate","actions","useActions","useAppIcon","appIcon","categoryIcon","path","name","icon","mdiCog","watchEffect","rawSvg","licenseText","activeTab","hideAppDetails","screenshotLoaded","hasScreenshot","loadScreenshot","image","onMounted","NcAppSidebar","AppDescriptionTab","AppReleasesTab","AppDetailsTab","AppDeployDaemonTab","AppActions","currentCategory","heading","pageTitle","showSidebar","NcContent","AppstoreNavigation","NcAppContent","_component_router_view","AppstoreSidebar","AppstoreDiscover","AppstoreManage","AppstoreBundles","AppstoreBrowse","AppstoreSearch","routes","createRouter","createWebHistory","pinia","createPinia","createApp","AppstoreApp","loading","availableGroups","onSearch","useDebounceFn","onSave","onReset","NcSelectUsers","isSvg","svgIcon","response","detailsRoute","detailsAction","mdiInformationOutline","rawActions","AppIcon","_hoisted_4","_hoisted_6","NcChip","tableElement","tableWidth","useElementSize","isNarrow","isWide","AppTableRow","appBundles","canEnableBundle","isBundleEnabled","enableAll","mdiDownloadMultiple","AppTable"],"ignoreList":[0,1,18],"sources":["../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSpacer-CIRC4ZEj.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSidebarTab-DOSDDbGA.mjs","../build/frontend/apps/appstore/src/constants.ts","../build/frontend/apps/appstore/src/service/api.ts","../build/frontend/apps/appstore/src/service/rebuild-navigation.ts","../build/frontend/apps/appstore/src/utils/appStatus.ts","../build/frontend/apps/appstore/src/utils/logger.ts","../build/frontend/apps/appstore/src/components/DaemonSelectionDialog/DaemonSelectionDialogListEntry.vue","../build/frontend/apps/appstore/src/components/DaemonSelectionDialog/DaemonSelectionDialogList.vue","../build/frontend/apps/appstore/src/components/DaemonSelectionDialog/DaemonSelectionDialog.vue","../build/frontend/apps/appstore/src/service/exAppApi.ts","../build/frontend/apps/appstore/src/store/exApps.ts","../build/frontend/apps/appstore/src/store/apps.ts","../build/frontend/apps/appstore/src/store/updates.ts","../build/frontend/apps/appstore/src/store/userSettings.ts","../build/frontend/apps/appstore/src/views/AppstoreNavigation.vue","../build/frontend/apps/appstore/src/components/AppActions.vue","../build/frontend/apps/appstore/src/components/AppstoreSidebar/AppDeployDaemonTab.vue","../node_modules/marked/lib/marked.esm.js","../build/frontend/apps/appstore/src/composables/useMarkdown.ts","../build/frontend/apps/appstore/src/components/MarkdownPreview.vue","../build/frontend/apps/appstore/src/components/AppstoreSidebar/AppDescriptionTab.vue","../build/frontend/apps/appstore/src/components/BadgeAppDaemon.vue","../build/frontend/apps/appstore/src/components/BadgeAppLevel.vue","../build/frontend/apps/appstore/src/components/BadgeAppScore.vue","../build/frontend/apps/appstore/src/store/groups.ts","../build/frontend/apps/appstore/src/composables/useLimitedGroups.ts","../build/frontend/apps/appstore/src/components/AppstoreSidebar/AppDetailsTab.vue","../build/frontend/apps/appstore/src/components/AppstoreSidebar/AppReleasesTab.vue","../build/frontend/apps/appstore/src/actions/actionDisable.ts","../build/frontend/apps/appstore/src/actions/actionEnable.ts","../build/frontend/apps/appstore/src/actions/actionForceEnable.ts","../build/frontend/apps/appstore/src/actions/actionInstall.ts","../build/frontend/apps/appstore/src/actions/actionInstallForced.ts","../build/frontend/apps/appstore/src/actions/actionInteract.ts","../build/frontend/apps/appstore/src/actions/actionLimitToGroup.ts","../build/frontend/apps/appstore/src/actions/actionRemove.ts","../build/frontend/apps/appstore/src/actions/actionUpdate.ts","../build/frontend/apps/appstore/src/actions/index.ts","../build/frontend/apps/appstore/src/composables/useActions.ts","../build/frontend/apps/appstore/src/composables/useAppIcon.ts","../build/frontend/apps/appstore/src/views/AppstoreSidebar.vue","../build/frontend/apps/appstore/src/AppstoreApp.vue","../build/frontend/apps/appstore/src/router/routes.ts","../build/frontend/apps/appstore/src/router/index.ts","../build/frontend/apps/appstore/src/main.ts","../build/frontend/apps/appstore/src/components/LimitToGroupDialog.vue","../build/frontend/apps/appstore/src/components/AppIcon.vue","../build/frontend/apps/appstore/src/components/AppTable/AppTableRow.vue","../build/frontend/apps/appstore/src/components/AppTable/AppTable.vue","../build/frontend/apps/appstore/src/views/AppstoreBundles.vue"],"sourcesContent":["import '../assets/NcAppNavigationSpacer-LST5uYYS.css';\nimport { defineComponent, openBlock, createElementBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"app-navigation-spacer\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationSpacer\",\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1);\n };\n }\n});\nconst NcAppNavigationSpacer = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-277fa710\"]]);\nexport {\n NcAppNavigationSpacer as N\n};\n//# sourceMappingURL=NcAppNavigationSpacer-CIRC4ZEj.mjs.map\n","import '../assets/NcAppSidebarTab-Xd3HTDbw.css';\nimport { openBlock, createElementBlock, normalizeClass, createElementVNode, toDisplayString, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppSidebarTab\",\n inject: [\"registerTab\", \"unregisterTab\", \"getActiveTab\", \"isTablistShown\"],\n props: {\n /**\n * Unique id of the sidebar tab\n */\n id: {\n type: String,\n required: true\n },\n /**\n * Tab name in navigation\n */\n name: {\n type: String,\n required: true\n },\n /**\n * Tab icon's html class in navigation. Used if #icon slot is not provided\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Tab order in navigation. If not provided, name is used.\n */\n order: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"bottomReached\",\n \"scroll\"\n ],\n expose: [\"id\", \"name\", \"icon\", \"order\", \"renderIcon\"],\n computed: {\n /**\n * Is the current tab an active tab, that should be shown?\n *\n * @return {boolean}\n */\n isActive() {\n return this.getActiveTab() === this.id;\n }\n },\n created() {\n this.registerTab(this);\n },\n beforeUnmount() {\n this.unregisterTab(this.id);\n },\n methods: {\n onScroll(event) {\n if (this.$el.scrollHeight - this.$el.scrollTop === this.$el.clientHeight) {\n this.$emit(\"bottomReached\", event);\n }\n this.$emit(\"scroll\", event);\n },\n /**\n * Render tab's icon slot if any\n *\n * @return {import('vue').VNode[]}\n */\n renderIcon() {\n return this.$slots.icon?.();\n }\n }\n};\nconst _hoisted_1 = [\"id\", \"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"role\", \"tabindex\"];\nconst _hoisted_2 = { class: \"hidden-visually\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"section\", {\n id: `tab-${$props.id}`,\n \"aria-hidden\": !$options.isActive,\n \"aria-label\": $options.isTablistShown() ? void 0 : $props.name,\n \"aria-labelledby\": $options.isTablistShown() ? `tab-button-${$props.id}` : void 0,\n class: normalizeClass([\"app-sidebar__tab\", { \"app-sidebar__tab--active\": $options.isActive }]),\n role: $options.isTablistShown() ? \"tabpanel\" : void 0,\n tabindex: $options.isTablistShown() ? 0 : -1,\n onScroll: _cache[0] || (_cache[0] = (...args) => $options.onScroll && $options.onScroll(...args))\n }, [\n createElementVNode(\"h3\", _hoisted_2, toDisplayString($props.name), 1),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 42, _hoisted_1);\n}\nconst NcAppSidebarTab = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-dba10798\"]]);\nexport {\n NcAppSidebarTab as N\n};\n//# sourceMappingURL=NcAppSidebarTab-DOSDDbGA.mjs.map\n","/**\n * SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tmdiAccountMultipleOutline,\n\tmdiAccountOutline,\n\tmdiArchiveOutline,\n\tmdiCheck,\n\tmdiClipboardFlowOutline,\n\tmdiClose,\n\tmdiCogOutline,\n\tmdiControllerClassicOutline,\n\tmdiCreationOutline,\n\tmdiDownload,\n\tmdiFileDocumentEdit,\n\tmdiFolder,\n\tmdiKeyOutline,\n\tmdiMagnify,\n\tmdiMonitorEye,\n\tmdiMultimedia,\n\tmdiOfficeBuildingOutline,\n\tmdiOpenInApp,\n\tmdiSecurity,\n\tmdiStar,\n\tmdiStarCircleOutline,\n\tmdiStarShootingOutline,\n\tmdiTools,\n\tmdiViewColumnOutline,\n} from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\n\n/**\n * The names of the special appstore sections\n */\nexport const APPSTORE_CATEGORY_NAMES = Object.freeze({\n\tdiscover: t('appstore', 'Discover'),\n\tinstalled: t('appstore', 'Your apps'),\n\tenabled: t('appstore', 'Active apps'),\n\tdisabled: t('appstore', 'Disabled apps'),\n\tupdates: t('appstore', 'Updates'),\n\tbundles: t('appstore', 'App bundles'),\n\tfeatured: t('appstore', 'Featured apps'),\n\tsupported: t('appstore', 'Supported apps'), // From subscription\n\tsearch: t('appstore', 'Search results'),\n})\n\n/**\n * SVG paths used for appstore category icons\n */\nexport const APPSTORE_CATEGORY_ICONS = Object.freeze({\n\t// system special categories\n\tdiscover: mdiStarCircleOutline,\n\tinstalled: mdiAccountOutline,\n\tenabled: mdiCheck,\n\tdisabled: mdiClose,\n\tbundles: mdiArchiveOutline,\n\tsupported: mdiStarShootingOutline,\n\tfeatured: mdiStar,\n\tupdates: mdiDownload,\n\n\t// generic category\n\tai: mdiCreationOutline,\n\tauth: mdiKeyOutline,\n\tcustomization: mdiCogOutline,\n\tdashboard: mdiViewColumnOutline,\n\tfiles: mdiFolder,\n\tgames: mdiControllerClassicOutline,\n\tintegration: mdiOpenInApp,\n\tmonitoring: mdiMonitorEye,\n\tmultimedia: mdiMultimedia,\n\toffice: mdiFileDocumentEdit,\n\torganization: mdiOfficeBuildingOutline,\n\tsearch: mdiMagnify,\n\tsecurity: mdiSecurity,\n\tsocial: mdiAccountMultipleOutline,\n\ttools: mdiTools,\n\tworkflow: mdiClipboardFlowOutline,\n})\n\n/**\n * Currently known types of app discover section elements\n */\nexport const APP_DISCOVER_KNOWN_TYPES = ['post', 'showcase', 'carousel'] as const\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\nimport type { IAppstoreApp, IAppstoreCategory } from '../apps.d.ts'\n\nimport axios from '@nextcloud/axios'\nimport { addPasswordConfirmationInterceptors, PwdConfirmationMode } from '@nextcloud/password-confirmation'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport PQueue from 'p-queue'\nimport { APPSTORE_CATEGORY_ICONS } from '../constants.ts'\n\naddPasswordConfirmationInterceptors(axios)\n\nconst BASE_URL = generateOcsUrl('apps/appstore/api/v1')\nconst Url = Object.freeze({\n\tapps: `${BASE_URL}/apps`,\n\tcategories: `${BASE_URL}/apps/categories`,\n\tenable: `${BASE_URL}/apps/enable`,\n\tdisable: `${BASE_URL}/apps/disable`,\n\tuninstall: `${BASE_URL}/apps/uninstall`,\n\tupdate: `${BASE_URL}/apps/update`,\n\tbundleEnable: `${BASE_URL}/bundles/enable`,\n})\n\nconst queue = new PQueue({ concurrency: 1 })\n\n/**\n * Enable an app by its app id\n *\n * @param appId - The app to enable\n * @param force - Whether to force enable the app\n * @param groups - The groups to enable the app for\n */\nexport async function enableApp(appId: string, force = false, groups?: string[]) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.enable, { appId, groups, force: force || undefined }, { confirmPassword: PwdConfirmationMode.Strict })\n\t})\n}\n\n/**\n * Disable app by its app id\n *\n * @param appId - The app to disable\n */\nexport async function disableApp(appId: string) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.disable, { appId }, { confirmPassword: PwdConfirmationMode.Lax })\n\t})\n}\n\n/**\n * Update an app by its app id\n *\n * @param appId - The app id to update\n */\nexport async function updateApp(appId: string) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.update, { appId }, { confirmPassword: PwdConfirmationMode.Strict })\n\t})\n}\n\n/**\n * Uninstall an app by its app id\n *\n * @param appId - The app to uninstall\n */\nexport async function uninstallApp(appId: string) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.uninstall, { appId }, { confirmPassword: PwdConfirmationMode.Strict })\n\t})\n}\n\n/**\n * Get all apps from the appstore\n */\nexport async function getApps() {\n\tconst { data } = await axios.get>(Url.apps)\n\treturn data.ocs.data\n}\n\n/**\n * Get app categories\n */\nexport async function getCategories() {\n\tconst { data } = await axios.get>(Url.categories)\n\tfor (const category of data.ocs.data) {\n\t\tcategory.icon = APPSTORE_CATEGORY_ICONS[category.id] ?? ''\n\t}\n\treturn data.ocs.data\n}\n\n/**\n * Enable an app bundle by its id\n *\n * @param bundleId - The id of the bundle to enable\n */\nexport async function enableBundle(bundleId: string) {\n\treturn queue.add(async () => {\n\t\tawait axios.post(Url.bundleEnable, { bundleId }, { confirmPassword: PwdConfirmationMode.Strict })\n\t})\n}\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Rebuilds the app navigation menu\n */\nexport async function rebuildNavigation() {\n\tconst { data } = await axios.get(generateOcsUrl('core/navigation/apps?format=json'))\n\tif (data.ocs.meta.statuscode !== 200) {\n\t\treturn\n\t}\n\n\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\twindow.dispatchEvent(new Event('resize'))\n}\n","/*!\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\n/**\n * Check if an app can be installed.\n *\n * @param app - The app to check if installable\n */\nexport function canInstall(app: IAppstoreApp | IAppstoreExApp) {\n\tif (app.installed || app.internal) {\n\t\treturn false\n\t}\n\n\tif (app.missingDependencies === undefined || app.missingDependencies.length === 0) {\n\t\treturn true\n\t}\n\n\tif (!app.isCompatible && app.missingDependencies.length === 1) {\n\t\t// incompatible so can be installed but has to be force-enabled\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n/**\n * Check if an app can be uninstalled.\n *\n * @param app - The app to check if uninstallable\n */\nexport function canUninstall(app: IAppstoreApp | IAppstoreExApp) {\n\treturn app.installed && app.removable && !app.active\n}\n\n/**\n * Check if app can be enabled.\n *\n * @param app - The app to check\n */\nexport function canEnable(app: IAppstoreApp | IAppstoreExApp) {\n\treturn !isInitializing(app) && !isDeploying(app) && canForceEnable(app) && app.isCompatible\n}\n\n/**\n * Check if an app can be force-enabled\n *\n * @param app - The app to check\n */\nexport function canForceEnable(app: IAppstoreApp | IAppstoreExApp) {\n\treturn !app.active && (app.installed || canInstall(app))\n}\n\n/**\n * Check if an app needs to be force-enabled\n *\n * @param app - The app to check\n */\nexport function needForceEnable(app: IAppstoreApp | IAppstoreExApp) {\n\treturn !app.active && !app.isCompatible\n}\n\n/**\n * Check if an app can be disabled.\n *\n * @param app - The app to check\n */\nexport function canDisable(app: IAppstoreApp | IAppstoreExApp) {\n\treturn !isInitializing(app) && !isDeploying(app) && app.active && !app.internal\n}\n\n/**\n * Check if an app can be updated.\n *\n * @param app - The app to check if update-able\n */\nexport function canUpdate(app: IAppstoreApp | IAppstoreExApp) {\n\treturn app.update !== undefined\n}\n\nconst restrictedTypes = ['filesystem', 'prelogin', 'authentication', 'logging', 'prevent_group_restriction']\n\n/**\n * Check if an app can be limited to groups\n *\n * @param app - The app to check if can be limited to groups\n */\nexport function canLimitToGroups(app: IAppstoreApp | IAppstoreExApp) {\n\tif (!app.active && !app.installed) {\n\t\treturn false\n\t}\n\n\tif (!app.active && needForceEnable(app)) {\n\t\treturn false\n\t}\n\n\tif (!app.types) {\n\t\treturn true\n\t}\n\n\treturn app.types.every((type) => !restrictedTypes.includes(type))\n}\n\n/**\n * Check if an app is currently being initialized.\n *\n * @param app - The app to check\n */\nfunction isInitializing(app: IAppstoreApp | IAppstoreExApp) {\n\treturn app.app_api\n\t\t&& (app.status.action === 'init' || app.status.action === 'healthcheck')\n}\n\n/**\n * Check if an app is currently being deployed.\n *\n * @param app - The app to check\n */\nfunction isDeploying(app: IAppstoreApp | IAppstoreExApp) {\n\treturn app.app_api\n\t\t&& app.status.action === 'deploy'\n}\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('appstore')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n","/*!\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { IAppstoreExApp, IDeployDaemon, IDeployOptions, IExAppStatus } from '../apps.d.ts'\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport { generateUrl } from '@nextcloud/router'\n\n/**\n * Fetch all external (app_api) apps from the server.\n */\nexport async function fetchApps() {\n\tconst { data } = await axios.get(generateUrl('/apps/app_api/apps/list'))\n\treturn data.apps as IAppstoreExApp[]\n}\n\n/**\n * Get the status of an external app.\n *\n * @param appId - The app to fetch\n */\nexport async function fetchAppStatus(appId: string) {\n\tconst { data } = await axios.get(generateUrl(`/apps/app_api/apps/status/${appId}`))\n\treturn data\n}\n\n/**\n * Enable an external app.\n *\n * @param app - The app to enable\n * @param daemon - The daemon to use for deployment\n * @param deployOptions - Additional options for deployment\n */\nexport async function enableExApp(app: IAppstoreExApp, daemon: IDeployDaemon, deployOptions?: IDeployOptions) {\n\tawait confirmPassword()\n\tawait axios.post(generateUrl(`/apps/app_api/apps/enable/${app.id}/${daemon.name}`), { deployOptions })\n}\n\n/**\n * Force enable an external app\n *\n * @param appId - The app to force-enable\n */\nexport async function forceEnableExApp(appId: string) {\n\tawait confirmPassword()\n\tawait axios.post(generateUrl('/apps/app_api/apps/force'), { appId })\n}\n\n/**\n * Disable an external app.\n *\n * @param appId - The app to disable\n */\nexport async function disableExApp(appId: string) {\n\tawait confirmPassword()\n\tawait axios.get(generateUrl(`apps/app_api/apps/disable/${appId}`))\n}\n\n/**\n * Remove an external app.\n *\n * @param appId - The app to uninstall\n * @param removeData - If all data should be removed\n */\nexport async function uninstallExApp(appId: string, removeData = false) {\n\tawait confirmPassword()\n\tawait axios.get(generateUrl(`/apps/app_api/apps/uninstall/${appId}?removeData=${removeData}`))\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreExApp, IDeployDaemon, IExAppStatus } from '../apps.d.ts'\n\nimport axios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\nimport { generateUrl } from '@nextcloud/router'\nimport { spawnDialog } from '@nextcloud/vue'\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport DaemonSelectionDialog from '../components/DaemonSelectionDialog/DaemonSelectionDialog.vue'\nimport * as exAppApi from '../service/exAppApi.ts'\nimport logger from '../utils/logger.ts'\n\nexport const useExAppsStore = defineStore('external-apps', () => {\n\t/**\n\t * Is the App API enabled\n\t */\n\tconst isEnabled = loadState('appstore', 'appApiEnabled', false)\n\n\t/**\n\t * All external apps available\n\t */\n\tconst apps = ref([])\n\n\t/**\n\t * Number of external apps with available updates, used to show the update badge in the UI\n\t */\n\tconst updateCount = ref(loadState('appstore', 'appstoreExAppUpdateCount', 0))\n\n\t/**\n\t * The interval ID for the status updater\n\t */\n\tlet statusUpdater: number | null = null\n\n\t/**\n\t * Whether at least one of the configured daemons is accessible.\n\t */\n\tconst daemonAccessible = ref(loadState('appstore', 'defaultDaemonConfigAccessible', false))\n\n\t/**\n\t * The default daemon, used for apps that don't specify a daemon or have a daemon that is not accessible.\n\t */\n\tconst defaultDaemon = ref(loadState('appstore', 'defaultDaemonConfig', null))\n\n\t/**\n\t * The list of daemons that support docker-based deployment, used to show the daemon selection when enabling an app.\n\t */\n\tconst dockerDaemons = ref([])\n\n\tconst initializingOrDeployingApps = computed(() => apps.value\n\t\t.filter((app) => app?.status?.action\n\t\t\t&& app.status.type !== ''\n\t\t\t&& (app?.status?.action === 'deploy' || app.status.action === 'init' || app.status.action === 'healthcheck')))\n\n\t/**\n\t * Get an external app by its ID\n\t *\n\t * @param appId - The app ID\n\t */\n\tfunction getById(appId: string): IAppstoreExApp | null {\n\t\treturn apps.value.find(({ id }) => id === appId) ?? null\n\t}\n\n\t/**\n\t * Enable an exApp.\n\t *\n\t * @param appId - The app ID\n\t */\n\tasync function enableApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tif (dockerDaemons.value.length === 1 && app.needsDownload) {\n\t\t\t\texAppApi.enableExApp(app, dockerDaemons[0])\n\t\t\t\tapp.daemon = dockerDaemons[0]\n\t\t\t} else if (app.needsDownload) {\n\t\t\t\tconst daemon = await spawnDialog(DaemonSelectionDialog, { app })\n\t\t\t\tif (!daemon) {\n\t\t\t\t\tthrow new Error('No daemon selected')\n\t\t\t\t}\n\t\t\t\tawait exAppApi.enableExApp(app, daemon)\n\t\t\t\tapp.daemon = daemon\n\t\t\t} else {\n\t\t\t\tawait exAppApi.enableExApp(app, app.daemon!)\n\t\t\t}\n\n\t\t\tif (!app.installed) {\n\t\t\t\tapp.needsDownload = false\n\t\t\t\tapp.status = {\n\t\t\t\t\ttype: 'install',\n\t\t\t\t\taction: 'deploy',\n\t\t\t\t\tinit: 0,\n\t\t\t\t\tdeploy: 0,\n\t\t\t\t} as IExAppStatus\n\t\t\t}\n\t\t\tapp.removable = true\n\t\t\tdelete app.error\n\n\t\t\tawait fetchAppStatus(appId)\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Force enable an exApp by ignoring its dependencies.\n\t *\n\t * @param appId - The app to force-enable\n\t */\n\tasync function forceEnableApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tawait exAppApi.forceEnableExApp(appId)\n\t\t\tawait initialize(true)\n\t\t\tapp.active = false\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * @param appId - The app to disable\n\t */\n\tasync function disableApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tawait exAppApi.disableExApp(appId)\n\t\t\tapp.active = false\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Uninstall an app by its id\n\t *\n\t * @param appId - The app to uninstall\n\t */\n\tasync function uninstallApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tawait exAppApi.disableExApp(appId)\n\t\t\tapp.active = false\n\t\t\tapp.needsDownload = true\n\t\t\tapp.installed = false\n\t\t\tapp.daemon = null\n\t\t\tapp.status = {}\n\t\t\tif (app.update !== null) {\n\t\t\t\tupdateCount.value--\n\t\t\t}\n\t\t\tdelete app.update\n\t\t\tdelete app.error\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Update an external app\n\t *\n\t * @param appId - The app ID\n\t */\n\tasync function updateApp(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tawait axios.get(generateUrl(`/apps/app_api/apps/update/${appId}`))\n\t\t\tapp.version = app.update || app.version\n\t\t\tapp.status = {\n\t\t\t\ttype: 'update',\n\t\t\t\taction: 'deploy',\n\t\t\t\tinit: 0,\n\t\t\t\tdeploy: 0,\n\t\t\t} satisfies IExAppStatus\n\t\t\tdelete app.update\n\t\t\tdelete app.error\n\t\t\tupdateCount.value--\n\n\t\t\tawait fetchAppStatus(appId)\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to update ex app', { appId, error })\n\t\t\tshowError(t('appstore', 'Could not update the app. Please try again later.'))\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Initialize the store.\n\t * This only needs to be called when an app management operation is performed.\n\t *\n\t * @param force - If the initialization should be forced (to run again)\n\t */\n\tasync function initialize(force = false) {\n\t\tif (force || (!defaultDaemon.value || !dockerDaemons.value.length)) {\n\t\t\tawait fetchDockerDaemons()\n\t\t}\n\t\tif (force || apps.value.length === 0) {\n\t\t\tawait fetchAllApps()\n\t\t}\n\t}\n\n\treturn {\n\t\tisEnabled,\n\n\t\tapps,\n\t\tupdateCount,\n\t\tdefaultDaemon,\n\t\tdockerDaemons,\n\t\tdaemonAccessible,\n\n\t\tgetById,\n\t\tdisableApp,\n\t\tenableApp,\n\t\tforceEnableApp,\n\t\tupdateApp,\n\t\tuninstallApp,\n\t\tinitialize,\n\t}\n\n\t/**\n\t * Fetch the configured docker daemons from the backend.\n\t */\n\tasync function fetchDockerDaemons() {\n\t\ttry {\n\t\t\tconst { data } = await axios.get(generateUrl('/apps/app_api/daemons'))\n\t\t\tdefaultDaemon.value = data.daemons.find((daemon: IDeployDaemon) => daemon.name === data.default_daemon_config)\n\t\t\tdockerDaemons.value = data.daemons.filter((daemon: IDeployDaemon) => daemon.accepts_deploy_id === 'docker-install')\n\t\t} catch (error) {\n\t\t\tlogger.error('[app-api-store] Failed to fetch Docker daemons', { error })\n\t\t\treturn false\n\t\t}\n\t\treturn true\n\t}\n\n\t/**\n\t * Fetch the list of external apps from the backend.\n\t */\n\tasync function fetchAllApps() {\n\t\ttry {\n\t\t\tapps.value = await exAppApi.fetchApps()\n\t\t} catch (error) {\n\t\t\tlogger.error('An error occurred while fetching apps', { error })\n\t\t\tshowError(t('appstore', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t}\n\n\t/**\n\t * Get the status of an external app.\n\t *\n\t * @param appId - The app ID to fetch the status for\n\t */\n\tasync function fetchAppStatus(appId: string) {\n\t\tconst app = getById(appId)\n\t\tif (!app) {\n\t\t\tlogger.error('[app-api-store] app not found while fetching status', { appId })\n\t\t\treturn\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tconst status = await exAppApi.fetchAppStatus(appId)\n\t\t\tapp.status = status\n\t\t\tlogger.debug('[app-api-store] initializingOrDeployingApps after setAppStatus', { initializingOrDeployingApps })\n\t\t\tif (initializingOrDeployingApps.value.length === 0) {\n\t\t\t\tlogger.debug('[app-api-store] Clearing interval')\n\t\t\t\tclearInterval(statusUpdater as number)\n\t\t\t\tstatusUpdater = null\n\t\t\t}\n\t\t\tif (app.status.error && initializingOrDeployingApps.value.length === 1) {\n\t\t\t\tclearInterval(statusUpdater as number)\n\t\t\t\tstatusUpdater = null\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tupdateAppsStatus()\n\t\t\tthrow e\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Update the status of all apps that are currently initializing or deploying\n\t */\n\tfunction updateAppsStatus() {\n\t\tclearInterval(statusUpdater as number)\n\t\tif (initializingOrDeployingApps.value.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tstatusUpdater = window.setInterval(() => {\n\t\t\tlogger.debug('[app-api-store] initializingOrDeployingApps', { initializingOrDeployingApps })\n\t\t\tfor (const app of initializingOrDeployingApps.value) {\n\t\t\t\tfetchAppStatus(app.id)\n\t\t\t}\n\t\t}, 2000)\n\t}\n})\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppBundle, IAppstoreApp, IAppstoreCategory, IAppstoreExApp } from '../apps.d.ts'\n\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\nimport { defineStore } from 'pinia'\nimport { computed, readonly, ref } from 'vue'\nimport * as api from '../service/api.ts'\nimport { rebuildNavigation } from '../service/rebuild-navigation.ts'\nimport { canDisable, canInstall, canLimitToGroups, canUninstall, needForceEnable } from '../utils/appStatus.ts'\nimport logger from '../utils/logger.ts'\nimport { useExAppsStore } from './exApps.ts'\n\nexport const useAppsStore = defineStore('apps', () => {\n\tconst exApps = useExAppsStore()\n\n\t/**\n\t * All apps available in the appstore\n\t */\n\tconst appstoreApps = ref([])\n\t/**\n\t * All app categories available in the appstore\n\t */\n\tconst categories = ref([])\n\t/**\n\t * All app bundles available in the appstore\n\t */\n\tconst bundles = readonly(loadState('appstore', 'appstoreBundles'))\n\n\t/**\n\t * Loading state of the store\n\t */\n\tconst isLoadingApps = ref(false)\n\tconst isLoadingCategories = ref(false)\n\n\t/**\n\t * All apps available\n\t */\n\tconst apps = computed(() => [...appstoreApps.value, ...(exApps.isEnabled ? exApps.apps : [])])\n\n\t/**\n\t * Get a category by its id\n\t *\n\t * @param categoryId - The id of the category\n\t */\n\tfunction getCategoryById(categoryId: string) {\n\t\treturn categories.value.find(({ id }) => id === categoryId) ?? null\n\t}\n\n\t/**\n\t * Get an app by its id\n\t *\n\t * @param appId - The id of the app\n\t */\n\tfunction getAppById(appId: string): IAppstoreApp | IAppstoreExApp | null {\n\t\treturn apps.value.find(({ id }) => id === appId) ?? null\n\t}\n\n\t/**\n\t * Get all apps of a category\n\t *\n\t * @param categoryId - The id of the category\n\t */\n\tfunction getAppsByCategory(categoryId: string): (IAppstoreApp | IAppstoreExApp)[] {\n\t\treturn apps.value.filter((app) => [app.category].flat().includes(categoryId))\n\t}\n\n\t/**\n\t * Enable an app by its id\n\t *\n\t * @param appId - The app to enable\n\t * @param force - Whether to force enable the app\n\t */\n\tasync function enableApp(appId: string, force = false) {\n\t\tconst app = getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tif (app.active || (!app.installed && !canInstall(app))) {\n\t\t\tthrow new Error(`App with id ${appId} cannot be enabled`)\n\t\t}\n\n\t\tif (!force && needForceEnable(app)) {\n\t\t\tthrow new Error(`App with id ${appId} requires force enable`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tif (app.app_api) {\n\t\t\t\tawait exApps.enableApp(appId)\n\t\t\t} else {\n\t\t\t\tawait api.enableApp(appId, force)\n\t\t\t}\n\t\t\tif (force) {\n\t\t\t\tapp.isCompatible = true\n\t\t\t}\n\t\t\tapp.active = true\n\t\t\tapp.installed = true\n\t\t\tapp.removable = true\n\t\t\tawait rebuildNavigation()\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Disable an app by its id\n\t *\n\t * @param appId - The app to disable\n\t */\n\tasync function disableApp(appId: string) {\n\t\tconst app = getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tif (!canDisable(app)) {\n\t\t\tthrow new Error(`App with id ${appId} cannot be disabled`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tif (app.app_api) {\n\t\t\t\tawait exApps.disableApp(appId)\n\t\t\t} else {\n\t\t\t\tawait api.disableApp(appId)\n\t\t\t}\n\t\t\tapp.active = false\n\t\t\t// revert \"force enable\"\n\t\t\tapp.isCompatible = app.missingDependencies === undefined || app.missingDependencies.length === 0\n\t\t\tawait rebuildNavigation()\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Uninstall an app by its id\n\t *\n\t * @param appId - The app to uninstall\n\t */\n\tasync function uninstallApp(appId: string) {\n\t\tconst app = getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tif (!canUninstall(app)) {\n\t\t\tthrow new Error(`App with id ${appId} cannot be uninstalled`)\n\t\t}\n\n\t\tapp.loading = true\n\t\ttry {\n\t\t\tif (app.app_api) {\n\t\t\t\tawait exApps.uninstallApp(appId)\n\t\t\t} else {\n\t\t\t\tawait api.uninstallApp(appId)\n\t\t\t}\n\t\t\tapp.active = false\n\t\t\tapp.installed = false\n\t\t\tawait rebuildNavigation()\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Limit access to an app to specific groups\n\t *\n\t * @param appId - The app to limit access to\n\t * @param groups - The groups which should have access\n\t */\n\tasync function limitAppToGroups(appId: string, groups: string[]) {\n\t\tconst app = getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\tif (!canLimitToGroups(app)) {\n\t\t\tthrow new Error(`App with id ${appId} cannot be limited to groups`)\n\t\t}\n\n\t\tif (app.app_api) {\n\t\t\treturn\n\t\t}\n\n\t\ttry {\n\t\t\tapp.loading = true\n\t\t\tawait api.enableApp(appId, false, groups)\n\t\t\tapp.groups = groups\n\t\t} finally {\n\t\t\tapp.loading = false\n\t\t}\n\t}\n\n\t/**\n\t * Enable a whole bundle of apps by its id\n\t *\n\t * @param bundleId - The id of the bundle to enable\n\t */\n\tasync function enableBundle(bundleId: string) {\n\t\tconst bundle = bundles.find((b) => b.id === bundleId)\n\t\tif (!bundle) {\n\t\t\tthrow new Error(`Bundle with id ${bundleId} not found`)\n\t\t}\n\n\t\ttry {\n\t\t\tfor (const appId of bundle.appIdentifiers) {\n\t\t\t\tconst app = getAppById(appId)!\n\t\t\t\tapp.loading = true\n\t\t\t}\n\t\t\tawait api.enableBundle(bundle.id)\n\t\t\tfor (const appId of bundle.appIdentifiers) {\n\t\t\t\tconst app = getAppById(appId)!\n\t\t\t\tapp.active = true\n\t\t\t\tapp.installed = true\n\t\t\t\tapp.removable = true\n\t\t\t\tawait rebuildNavigation()\n\t\t\t}\n\t\t} finally {\n\t\t\tfor (const appId of bundle.appIdentifiers) {\n\t\t\t\tconst app = getAppById(appId)!\n\t\t\t\tapp.loading = false\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the app categories from the backend\n\t */\n\tasync function loadCategories() {\n\t\ttry {\n\t\t\tisLoadingCategories.value = true\n\t\t\tcategories.value = await api.getCategories()\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to load app categories', { error })\n\t\t\tshowError(t('appstore', 'Could not load app categories. Please try again later.'))\n\t\t} finally {\n\t\t\tisLoadingCategories.value = false\n\t\t}\n\t}\n\n\t/**\n\t * Load the apps from the backend\n\t */\n\tasync function loadApps() {\n\t\ttry {\n\t\t\tisLoadingApps.value = true\n\t\t\tappstoreApps.value = await api.getApps()\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to load apps list', { error })\n\t\t\tshowError(t('appstore', 'Could not load apps list. Please try again later.'))\n\t\t} finally {\n\t\t\tisLoadingApps.value = false\n\t\t}\n\t}\n\n\t// initialize store\n\tloadApps()\n\tloadCategories()\n\n\treturn {\n\t\tapps,\n\t\tbundles,\n\t\tcategories,\n\t\tisLoadingApps,\n\t\tisLoadingCategories,\n\n\t\tdisableApp,\n\t\tenableApp,\n\t\tuninstallApp,\n\t\tenableBundle,\n\n\t\tgetAppById,\n\t\tgetAppsByCategory,\n\t\tgetCategoryById,\n\t\tlimitAppToGroups,\n\t}\n})\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport * as api from '../service/api.ts'\nimport { rebuildNavigation } from '../service/rebuild-navigation.ts'\nimport logger from '../utils/logger.ts'\nimport { useAppsStore } from './apps.ts'\nimport { useExAppsStore } from './exApps.ts'\n\nexport const useUpdatesStore = defineStore('updates', () => {\n\tconst exApps = useExAppsStore()\n\n\t/**\n\t * Number of apps with available updates\n\t */\n\tconst internalUpdateCount = ref(loadState('appstore', 'appstoreUpdateCount', 0))\n\n\t/**\n\t * Total number of apps with available updates\n\t */\n\tconst updateCount = computed(() => internalUpdateCount.value + exApps.updateCount)\n\n\t/**\n\t * Update the given app\n\t *\n\t * @param appId - The app id to update\n\t * @throws {Error} if the app is not found\n\t */\n\tasync function updateApp(appId: string) {\n\t\tconst store = useAppsStore()\n\n\t\tconst app = store.getAppById(appId)\n\t\tif (!app) {\n\t\t\tthrow new Error(`App with id ${appId} not found`)\n\t\t}\n\n\t\ttry {\n\t\t\tif ('app_api' in app && app.app_api) {\n\t\t\t\tawait exApps.updateApp(appId)\n\t\t\t} else {\n\t\t\t\tawait api.updateApp(appId)\n\t\t\t\tinternalUpdateCount.value = Math.max(internalUpdateCount.value - 1, 0)\n\t\t\t}\n\n\t\t\trebuildNavigation()\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to update app', { appId, error })\n\t\t\tshowError(t('appstore', 'Could not update the app. Please try again later.'))\n\t\t}\n\t}\n\n\treturn {\n\t\tupdateCount,\n\t\tupdateApp,\n\t}\n})\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { LocationQuery } from 'vue-router'\n\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\nexport const useUserSettingsStore = defineStore('userSettings', () => {\n\tconst defaultGridSize = ref('')\n\n\tconst isGridView = ref(false)\n\tconst showIncompatible = ref(true)\n\n\tconst gridSizePx = computed(() => {\n\t\tif (defaultGridSize.value === 'm') {\n\t\t\treturn '468px'\n\t\t} else if (defaultGridSize.value === 'l') {\n\t\t\treturn '512px'\n\t\t}\n\t\treturn '320px'\n\t})\n\n\t/**\n\t * Get the query parameters for the current settings\n\t *\n\t * @param gridMode Optional override for the grid mode, if not provided it will use the current setting\n\t */\n\tfunction getQuery(gridMode?: boolean) {\n\t\tconst route = useRoute() ?? {}\n\t\treturn {\n\t\t\t...route.query,\n\t\t\tgrid: (gridMode ?? isGridView.value) ? (defaultGridSize.value || null) : undefined,\n\t\t\tcompatible: showIncompatible.value ? undefined : null,\n\t\t}\n\t}\n\n\tconst router = useRouter()\n\trouter.afterEach((to) => {\n\t\tupdateFromQuery(to.query)\n\t})\n\n\treturn {\n\t\tdefaultGridSize,\n\t\tgridSizePx,\n\n\t\tisGridView,\n\t\tshowIncompatible,\n\n\t\tgetQuery,\n\t}\n\n\t/**\n\t * Initializes the store with the current query parameters\n\t *\n\t * @param query The query parameters to initialize the store with\n\t */\n\tfunction updateFromQuery(query: LocationQuery) {\n\t\tisGridView.value = 'grid' in query\n\t\tdefaultGridSize.value = [query.grid ?? ''].flat()[0]!.toLowerCase()\n\t\tshowIncompatible.value = !('compatible' in query)\n\t}\n})\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/**\n * marked v17.0.6 - a markdown parser\n * Copyright (c) 2018-2026, MarkedJS. (MIT License)\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction M(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var O=M();function G(u){O=u}var _={exec:()=>null};function k(u,e=\"\"){let t=typeof u==\"string\"?u:u.source,n={replace:(r,i)=>{let s=typeof i==\"string\"?i:i.source;return s=s.replace(m.caret,\"$1\"),t=t.replace(r,s),n},getRegex:()=>new RegExp(t,e)};return n}var be=(()=>{try{return!!new RegExp(\"(?<=1)(?/,blockquoteSetextReplace:/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \\t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\\[[ xX]\\] +\\S/,listReplaceTask:/^\\[[ xX]\\] +/,listTaskCheckbox:/\\[[ xX]\\]/,anyLine:/\\n.*\\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\\||\\| *$/g,tableRowBlankLine:/\\n[ \\t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\\s|>)/i,endPreScriptTag:/^<\\/(pre|code|kbd|script)(\\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,unicodeAlphaNumeric:/[\\p{L}\\p{N}]/u,escapeTest:/[&<>\"']/,escapeReplace:/[&<>\"']/g,escapeTestNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,escapeReplaceNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,caret:/(^|[^\\[])\\^/g,percentDecode:/%25/g,findPipe:/\\|/g,splitPipe:/ \\|/,slashPipe:/\\\\\\|/g,carriageReturn:/\\r\\n|\\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\\S*/,endingNewline:/\\n$/,listItemRegex:u=>new RegExp(`^( {0,3}${u})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),nextBulletRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),hrRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),fencesBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\\`\\`\\`|~~~)`),headingBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}#`),htmlBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}<(?:[a-z].*>|!--)`,\"i\"),blockquoteBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}>`)},Re=/^(?:[ \\t]*(?:\\n|$))+/,Oe=/^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/,Te=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,C=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,we=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,Q=/ {0,3}(?:[*+-]|\\d{1,9}[.)])/,se=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,ie=k(se).replace(/bull/g,Q).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g,\"\").getRegex(),ye=k(se).replace(/bull/g,Q).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/table/g,/ {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(),j=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,Pe=/^[^\\n]+/,F=/(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/,Se=k(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\",F).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),$e=k(/^(bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g,Q).getRegex(),v=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",U=/|$))/,_e=k(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|\\\\n*|$)|\\\\n*|$)|)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\",\"i\").replace(\"comment\",U).replace(\"tag\",v).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),oe=k(j).replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),Le=k(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",oe).getRegex(),K={blockquote:Le,code:Oe,def:Se,fences:Te,heading:we,hr:C,html:_e,lheading:ie,list:$e,newline:Re,paragraph:oe,table:_,text:Pe},ne=k(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),Me={...K,lheading:ye,table:ne,paragraph:k(j).replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",ne).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex()},ze={...K,html:k(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",U).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:_,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:k(j).replace(\"hr\",C).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",ie).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},Ee=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,Ie=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,ae=/^( {2,}|\\\\)\\n(?!\\s*$)/,Ae=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\`+)[^`]+\\k(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\",be?\"(?`+)[^`]+\\k(?!`)/).replace(\"html\",/<(?! )[^<>]*?>/).getRegex(),ue=/^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/,ve=k(ue,\"u\").replace(/punct/g,z).getRegex(),He=k(ue,\"u\").replace(/punct/g,le).getRegex(),pe=\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\",Ze=k(pe,\"gu\").replace(/notPunctSpace/g,W).replace(/punctSpace/g,H).replace(/punct/g,z).getRegex(),Ge=k(pe,\"gu\").replace(/notPunctSpace/g,De).replace(/punctSpace/g,Be).replace(/punct/g,le).getRegex(),Ne=k(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\",\"gu\").replace(/notPunctSpace/g,W).replace(/punctSpace/g,H).replace(/punct/g,z).getRegex(),Qe=k(/^~~?(?:((?!~)punct)|[^\\s~])/,\"u\").replace(/punct/g,z).getRegex(),je=\"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\",Fe=k(je,\"gu\").replace(/notPunctSpace/g,W).replace(/punctSpace/g,H).replace(/punct/g,z).getRegex(),Ue=k(/\\\\(punct)/,\"gu\").replace(/punct/g,z).getRegex(),Ke=k(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),We=k(U).replace(\"(?:-->|$)\",\"-->\").getRegex(),Xe=k(\"^comment|^|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^|^\").replace(\"comment\",We).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),q=/(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/,Je=k(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace(\"label\",q).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),ce=k(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",q).replace(\"ref\",F).getRegex(),he=k(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",F).getRegex(),Ve=k(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",ce).replace(\"nolink\",he).getRegex(),re=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,X={_backpedal:_,anyPunctuation:Ue,autolink:Ke,blockSkip:qe,br:ae,code:Ie,del:_,delLDelim:_,delRDelim:_,emStrongLDelim:ve,emStrongRDelimAst:Ze,emStrongRDelimUnd:Ne,escape:Ee,link:Je,nolink:he,punctuation:Ce,reflink:ce,reflinkSearch:Ve,tag:Xe,text:Ae,url:_},Ye={...X,link:k(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",q).getRegex(),reflink:k(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",q).getRegex()},N={...X,emStrongRDelimAst:Ge,emStrongLDelim:He,delLDelim:Qe,delRDelim:Fe,url:k(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\",re).replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/,text:k(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\\":\">\",'\"':\""\",\"'\":\"'\"},ke=u=>tt[u];function T(u,e){if(e){if(m.escapeTest.test(u))return u.replace(m.escapeReplace,ke)}else if(m.escapeTestNoEncode.test(u))return u.replace(m.escapeReplaceNoEncode,ke);return u}function J(u){try{u=encodeURI(u).replace(m.percentDecode,\"%\")}catch{return null}return u}function V(u,e){let t=u.replace(m.findPipe,(i,s,a)=>{let o=!1,l=s;for(;--l>=0&&a[l]===\"\\\\\";)o=!o;return o?\"|\":\" |\"}),n=t.split(m.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function ge(u,e=0){let t=e,n=\"\";for(let r of u)if(r===\"\t\"){let i=4-t%4;n+=\" \".repeat(i),t+=i}else n+=r,t++;return n}function fe(u,e,t,n,r){let i=e.href,s=e.title||null,a=u[1].replace(r.other.outputLinkReplace,\"$1\");n.state.inLink=!0;let o={type:u[0].charAt(0)===\"!\"?\"image\":\"link\",raw:t,href:i,title:s,text:a,tokens:n.inlineTokens(a)};return n.state.inLink=!1,o}function nt(u,e,t){let n=u.match(t.other.indentCodeCompensation);if(n===null)return e;let r=n[1];return e.split(`\n`).map(i=>{let s=i.match(t.other.beginningSpace);if(s===null)return i;let[a]=s;return a.length>=r.length?i.slice(r.length):i}).join(`\n`)}var w=class{options;rules;lexer;constructor(e){this.options=e||O}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:\"space\",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,\"\");return{type:\"code\",raw:t[0],codeBlockStyle:\"indented\",text:this.options.pedantic?n:I(n,`\n`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=nt(n,t[3]||\"\",this.rules);return{type:\"code\",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=I(n,\"#\");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:\"heading\",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:\"hr\",raw:I(t[0],`\n`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=I(t[0],`\n`).split(`\n`),r=\"\",i=\"\",s=[];for(;n.length>0;){let a=!1,o=[],l;for(l=0;l1,i={type:\"list\",raw:\"\",ordered:r,start:r?+n.slice(0,-1):\"\",loose:!1,items:[]};n=r?`\\\\d{1,9}\\\\${n.slice(-1)}`:`\\\\${n}`,this.options.pedantic&&(n=r?n:\"[*+-]\");let s=this.rules.other.listItemRegex(n),a=!1;for(;e;){let l=!1,p=\"\",c=\"\";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;p=t[0],e=e.substring(p.length);let d=ge(t[2].split(`\n`,1)[0],t[1].length),h=e.split(`\n`,1)[0],R=!d.trim(),f=0;if(this.options.pedantic?(f=2,c=d.trimStart()):R?f=t[1].length+1:(f=d.search(this.rules.other.nonSpaceChar),f=f>4?1:f,c=d.slice(f),f+=t[1].length),R&&this.rules.other.blankLine.test(h)&&(p+=h+`\n`,e=e.substring(h.length+1),l=!0),!l){let S=this.rules.other.nextBulletRegex(f),Y=this.rules.other.hrRegex(f),ee=this.rules.other.fencesBeginRegex(f),te=this.rules.other.headingBeginRegex(f),me=this.rules.other.htmlBeginRegex(f),xe=this.rules.other.blockquoteBeginRegex(f);for(;e;){let Z=e.split(`\n`,1)[0],A;if(h=Z,this.options.pedantic?(h=h.replace(this.rules.other.listReplaceNesting,\" \"),A=h):A=h.replace(this.rules.other.tabCharGlobal,\" \"),ee.test(h)||te.test(h)||me.test(h)||xe.test(h)||S.test(h)||Y.test(h))break;if(A.search(this.rules.other.nonSpaceChar)>=f||!h.trim())c+=`\n`+A.slice(f);else{if(R||d.replace(this.rules.other.tabCharGlobal,\" \").search(this.rules.other.nonSpaceChar)>=4||ee.test(d)||te.test(d)||Y.test(d))break;c+=`\n`+h}R=!h.trim(),p+=Z+`\n`,e=e.substring(Z.length+1),d=A.slice(f)}}i.loose||(a?i.loose=!0:this.rules.other.doubleBlankLine.test(p)&&(a=!0)),i.items.push({type:\"list_item\",raw:p,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}),i.raw+=p}let o=i.items.at(-1);if(o)o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let l of i.items){if(this.lexer.state.top=!1,l.tokens=this.lexer.blockTokens(l.text,[]),l.task){if(l.text=l.text.replace(this.rules.other.listReplaceTask,\"\"),l.tokens[0]?.type===\"text\"||l.tokens[0]?.type===\"paragraph\"){l.tokens[0].raw=l.tokens[0].raw.replace(this.rules.other.listReplaceTask,\"\"),l.tokens[0].text=l.tokens[0].text.replace(this.rules.other.listReplaceTask,\"\");for(let c=this.lexer.inlineQueue.length-1;c>=0;c--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)){this.lexer.inlineQueue[c].src=this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask,\"\");break}}let p=this.rules.other.listTaskCheckbox.exec(l.raw);if(p){let c={type:\"checkbox\",raw:p[0]+\" \",checked:p[0]!==\"[ ]\"};l.checked=c.checked,i.loose?l.tokens[0]&&[\"paragraph\",\"text\"].includes(l.tokens[0].type)&&\"tokens\"in l.tokens[0]&&l.tokens[0].tokens?(l.tokens[0].raw=c.raw+l.tokens[0].raw,l.tokens[0].text=c.raw+l.tokens[0].text,l.tokens[0].tokens.unshift(c)):l.tokens.unshift({type:\"paragraph\",raw:c.raw,text:c.raw,tokens:[c]}):l.tokens.unshift(c)}}if(!i.loose){let p=l.tokens.filter(d=>d.type===\"space\"),c=p.length>0&&p.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=c}}if(i.loose)for(let l of i.items){l.loose=!0;for(let p of l.tokens)p.type===\"text\"&&(p.type=\"paragraph\")}return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:\"html\",block:!0,raw:t[0],pre:t[1]===\"pre\"||t[1]===\"script\"||t[1]===\"style\",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,\" \"),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):t[3];return{type:\"def\",tag:n,raw:t[0],href:r,title:i}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=V(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,\"\").split(\"|\"),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,\"\").split(`\n`):[],s={type:\"table\",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let a of r)this.rules.other.tableAlignRight.test(a)?s.align.push(\"right\"):this.rules.other.tableAlignCenter.test(a)?s.align.push(\"center\"):this.rules.other.tableAlignLeft.test(a)?s.align.push(\"left\"):s.align.push(null);for(let a=0;a({text:o,tokens:this.lexer.inline(o),header:!1,align:s.align[l]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let n=t[1].trim();return{type:\"heading\",raw:t[0],depth:t[2].charAt(0)===\"=\"?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`\n`?t[1].slice(0,-1):t[1];return{type:\"paragraph\",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:\"text\",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:\"escape\",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:\"html\",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=I(n.slice(0,-1),\"\\\\\");if((n.length-s.length)%2===0)return}else{let s=de(t[2],\"()\");if(s===-2)return;if(s>-1){let o=(t[0].indexOf(\"!\")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,o).trim(),t[3]=\"\"}}let r=t[2],i=\"\";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):\"\";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),fe(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,\"$1\"),title:i&&i.replace(this.rules.inline.anyPunctuation,\"$1\")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,\" \"),i=t[r.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:\"text\",raw:s,text:s}}return fe(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=\"\"){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(r[1]||r[3]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,a,o,l=s,p=0,c=r[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+s);(r=c.exec(t))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){l+=o;continue}else if((r[5]||r[6])&&s%3&&!((s+o)%3)){p+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+p);let d=[...r[0]][0].length,h=e.slice(0,s+r.index+d+o);if(Math.min(s,o)%2){let f=h.slice(1,-1);return{type:\"em\",raw:h,text:f,tokens:this.lexer.inlineTokens(f)}}let R=h.slice(2,-2);return{type:\"strong\",raw:h,text:R,tokens:this.lexer.inlineTokens(R)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal,\" \"),r=this.rules.other.nonSpaceChar.test(n),i=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&i&&(n=n.substring(1,n.length-1)),{type:\"codespan\",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:\"br\",raw:t[0]}}del(e,t,n=\"\"){let r=this.rules.inline.delLDelim.exec(e);if(!r)return;if(!(r[1]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,a,o,l=s,p=this.rules.inline.delRDelim;for(p.lastIndex=0,t=t.slice(-1*e.length+s);(r=p.exec(t))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a||(o=[...a].length,o!==s))continue;if(r[3]||r[4]){l+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l);let c=[...r[0]][0].length,d=e.slice(0,s+r.index+c+o),h=d.slice(s,-s);return{type:\"del\",raw:d,text:h,tokens:this.lexer.inlineTokens(h)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]===\"@\"?(n=t[1],r=\"mailto:\"+n):(n=t[1],r=n),{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,r;if(t[2]===\"@\")n=t[0],r=\"mailto:\"+n;else{let i;do i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??\"\";while(i!==t[0]);n=t[0],t[1]===\"www.\"?r=\"http://\"+t[0]:r=t[0]}return{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:\"text\",raw:t[0],text:t[0],escaped:n}}}};var x=class u{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||O,this.options.tokenizer=this.options.tokenizer||new w,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:m,block:B.normal,inline:E.normal};this.options.pedantic?(t.block=B.pedantic,t.inline=E.pedantic):this.options.gfm&&(t.block=B.gfm,this.options.breaks?t.inline=E.breaks:t.inline=E.gfm),this.tokenizer.rules=t}static get rules(){return{block:B,inline:E}}static lex(e,t){return new u(t).lex(e)}static lexInline(e,t){return new u(t).inlineTokens(e)}lex(e){e=e.replace(m.carriageReturn,`\n`),this.blockTokens(e,this.tokens);for(let t=0;t(r=s.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let s=t.at(-1);r.raw.length===1&&s!==void 0?s.raw+=`\n`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let s=1/0,a=e.slice(1),o;this.options.extensions.startBlock.forEach(l=>{o=l.call({lexer:this},a),typeof o==\"number\"&&o>=0&&(s=Math.min(s,o))}),s<1/0&&s>=0&&(i=e.substring(0,s+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let s=t.at(-1);n&&s?.type===\"paragraph\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(e){let s=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let o=Object.keys(this.tokens.links);if(o.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)o.includes(r[0].slice(r[0].lastIndexOf(\"[\")+1,-1))&&(n=n.slice(0,r.index)+\"[\"+\"a\".repeat(r[0].length-2)+\"]\"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+\"++\"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+\"[\"+\"a\".repeat(r[0].length-i-2)+\"]\"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,a=\"\";for(;e;){s||(a=\"\"),s=!1;let o;if(this.options.extensions?.inline?.some(p=>(o=p.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let p=t.at(-1);o.type===\"text\"&&p?.type===\"text\"?(p.raw+=o.raw,p.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,a)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e,n,a)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let l=e;if(this.options.extensions?.startInline){let p=1/0,c=e.slice(1),d;this.options.extensions.startInline.forEach(h=>{d=h.call({lexer:this},c),typeof d==\"number\"&&d>=0&&(p=Math.min(p,d))}),p<1/0&&p>=0&&(l=e.substring(0,p+1))}if(o=this.tokenizer.inlineText(l)){e=e.substring(o.raw.length),o.raw.slice(-1)!==\"_\"&&(a=o.raw.slice(-1)),s=!0;let p=t.at(-1);p?.type===\"text\"?(p.raw+=o.raw,p.text+=o.text):t.push(o);continue}if(e){let p=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(p);break}else throw new Error(p)}}return t}};var y=class{options;parser;constructor(e){this.options=e||O}space(e){return\"\"}code({text:e,lang:t,escaped:n}){let r=(t||\"\").match(m.notSpaceStart)?.[0],i=e.replace(m.endingNewline,\"\")+`\n`;return r?'
    '+(n?i:T(i,!0))+`
    \n`:\"
    \"+(n?i:T(i,!0))+`
    \n`}blockquote({tokens:e}){return`
    \n${this.parser.parse(e)}
    \n`}html({text:e}){return e}def(e){return\"\"}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)}\n`}hr(e){return`
    \n`}list(e){let t=e.ordered,n=e.start,r=\"\";for(let a=0;a\n`+r+\"\n`}listitem(e){return`
  • ${this.parser.parse(e.tokens)}
  • \n`}checkbox({checked:e}){return\" '}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    \n`}table(e){let t=\"\",n=\"\";for(let i=0;i${r}`),`\n\n`+t+`\n`+r+`
    \n`}tablerow({text:e}){return`\n${e}\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?\"th\":\"td\";return(e.align?`<${n} align=\"${e.align}\">`:`<${n}>`)+t+`\n`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${T(e,!0)}`}br(e){return\"
    \"}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=J(e);if(i===null)return r;e=i;let s='
    \"+r+\"\",s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=J(e);if(i===null)return T(n);e=i;let s=`\"${T(n)}\"`;return\",s}text(e){return\"tokens\"in e&&e.tokens?this.parser.parseInline(e.tokens):\"escaped\"in e&&e.escaped?e.text:T(e.text)}};var $=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return\"\"+e}image({text:e}){return\"\"+e}br(){return\"\"}checkbox({raw:e}){return e}};var b=class u{options;renderer;textRenderer;constructor(e){this.options=e||O,this.options.renderer=this.options.renderer||new y,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $}static parse(e,t){return new u(t).parse(e)}static parseInline(e,t){return new u(t).parseInline(e)}parse(e){this.renderer.parser=this;let t=\"\";for(let n=0;n{let a=i[s].flat(1/0);n=n.concat(this.walkTokens(a,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error(\"extension name required\");if(\"renderer\"in i){let s=t.renderers[i.name];s?t.renderers[i.name]=function(...a){let o=i.renderer.apply(this,a);return o===!1&&(o=s.apply(this,a)),o}:t.renderers[i.name]=i.renderer}if(\"tokenizer\"in i){if(!i.level||i.level!==\"block\"&&i.level!==\"inline\")throw new Error(\"extension level must be 'block' or 'inline'\");let s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level===\"block\"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level===\"inline\"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}\"childTokens\"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new y(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if([\"options\",\"parser\"].includes(s))continue;let a=s,o=n.renderer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c||\"\"}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new w(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes(s))continue;let a=s,o=n.tokenizer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new P;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if([\"options\",\"block\"].includes(s))continue;let a=s,o=n.hooks[a],l=i[a];P.passThroughHooks.has(s)?i[a]=p=>{if(this.defaults.async&&P.passThroughHooksRespectAsync.has(s))return(async()=>{let d=await o.call(i,p);return l.call(i,d)})();let c=o.call(i,p);return l.call(i,c)}:i[a]=(...p)=>{if(this.defaults.async)return(async()=>{let d=await o.apply(i,p);return d===!1&&(d=await l.apply(i,p)),d})();let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(a){let o=[];return o.push(s.call(this,a)),i&&(o=o.concat(i.call(this,a))),o}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return x.lex(e,t??this.defaults)}parser(e,t){return b.parse(e,t??this.defaults)}parseMarkdown(e){return(n,r)=>{let i={...r},s={...this.defaults,...i},a=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return a(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof n>\"u\"||n===null)return a(new Error(\"marked(): input parameter is undefined or null\"));if(typeof n!=\"string\")return a(new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(n)+\", string expected\"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let o=s.hooks?await s.hooks.preprocess(n):n,p=await(s.hooks?await s.hooks.provideLexer(e):e?x.lex:x.lexInline)(o,s),c=s.hooks?await s.hooks.processAllTokens(p):p;s.walkTokens&&await Promise.all(this.walkTokens(c,s.walkTokens));let h=await(s.hooks?await s.hooks.provideParser(e):e?b.parse:b.parseInline)(c,s);return s.hooks?await s.hooks.postprocess(h):h})().catch(a);try{s.hooks&&(n=s.hooks.preprocess(n));let l=(s.hooks?s.hooks.provideLexer(e):e?x.lex:x.lexInline)(n,s);s.hooks&&(l=s.hooks.processAllTokens(l)),s.walkTokens&&this.walkTokens(l,s.walkTokens);let c=(s.hooks?s.hooks.provideParser(e):e?b.parse:b.parseInline)(l,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(o){return a(o)}}}onError(e,t){return n=>{if(n.message+=`\nPlease report this to https://github.com/markedjs/marked.`,e){let r=\"

    An error occurred:

    \"+T(n.message+\"\",!0)+\"
    \";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}};var L=new D;function g(u,e){return L.parse(u,e)}g.options=g.setOptions=function(u){return L.setOptions(u),g.defaults=L.defaults,G(g.defaults),g};g.getDefaults=M;g.defaults=O;g.use=function(...u){return L.use(...u),g.defaults=L.defaults,G(g.defaults),g};g.walkTokens=function(u,e){return L.walkTokens(u,e)};g.parseInline=L.parseInline;g.Parser=b;g.parser=b.parse;g.Renderer=y;g.TextRenderer=$;g.Lexer=x;g.lexer=x.lex;g.Tokenizer=w;g.Hooks=P;g.parse=g;var Qt=g.options,jt=g.setOptions,Ft=g.use,Ut=g.walkTokens,Kt=g.parseInline,Wt=g,Xt=b.parse,Jt=x.lex;export{P as Hooks,x as Lexer,D as Marked,b as Parser,y as Renderer,$ as TextRenderer,w as Tokenizer,O as defaults,M as getDefaults,Jt as lexer,g as marked,Qt as options,Wt as parse,Kt as parseInline,Xt as parser,jt as setOptions,Ft as use,Ut as walkTokens};\n//# sourceMappingURL=marked.esm.js.map\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Tokens } from 'marked'\nimport type { MaybeRefOrGetter } from 'vue'\n\nimport dompurify from 'dompurify'\nimport { marked } from 'marked'\nimport { computed, toValue } from 'vue'\n\nexport interface MarkdownOptions {\n\tminHeadingLevel?: number\n}\n\n/**\n * Render Markdown to HTML\n *\n * @param text - The Markdown source\n * @param options - Markdown options\n */\nexport function useMarkdown(text: MaybeRefOrGetter, options?: MarkdownOptions) {\n\tconst renderer = new marked.Renderer()\n\trenderer.blockquote = markedBlockquote\n\trenderer.link = markedLink\n\trenderer.image = markedImage\n\n\treturn computed(() => {\n\t\tconst minHeading = options?.minHeadingLevel ?? 1\n\t\trenderer.heading = getMarkedHeading(minHeading)\n\t\tconst markdown = toValue(text).trim()\n\n\t\treturn dompurify.sanitize(\n\t\t\tmarked(markdown, {\n\t\t\t\tasync: false,\n\t\t\t\trenderer,\n\t\t\t\tgfm: false,\n\t\t\t\tbreaks: false,\n\t\t\t\tpedantic: false,\n\t\t\t}),\n\t\t\t{\n\t\t\t\tALLOWED_TAGS: [\n\t\t\t\t\t'h1',\n\t\t\t\t\t'h2',\n\t\t\t\t\t'h3',\n\t\t\t\t\t'h4',\n\t\t\t\t\t'h5',\n\t\t\t\t\t'h6',\n\t\t\t\t\t'strong',\n\t\t\t\t\t'p',\n\t\t\t\t\t'a',\n\t\t\t\t\t'ul',\n\t\t\t\t\t'ol',\n\t\t\t\t\t'li',\n\t\t\t\t\t'em',\n\t\t\t\t\t'del',\n\t\t\t\t\t'blockquote',\n\t\t\t\t],\n\t\t\t},\n\t\t)\n\t})\n}\n\n/**\n * Custom link renderer that only allows http and https links\n *\n * @param ctx - The render context\n * @param ctx.href - The link href\n * @param ctx.title - The link title\n * @param ctx.text - The link text\n */\nfunction markedLink({ href, title, text }: Tokens.Link) {\n\tlet url: URL\n\ttry {\n\t\turl = new URL(href)\n\t} catch {\n\t\treturn ''\n\t}\n\n\tif (url.protocol !== 'http:' && url.protocol !== 'https:') {\n\t\treturn ''\n\t}\n\n\tlet out = ''\n\treturn out\n}\n\n/**\n * Only render image alt text or title\n *\n * @param ctx - The render context\n * @param ctx.title - The image title\n * @param ctx.text - The image alt text\n */\nfunction markedImage({ title, text }: Tokens.Image): string {\n\tif (text) {\n\t\treturn text\n\t}\n\treturn title ?? ''\n}\n\n/**\n * Render block quotes without any special styling\n *\n * @param ctx - The render context\n * @param ctx.text - The blockquote text\n */\nfunction markedBlockquote({ text }: Tokens.Blockquote): string {\n\treturn `
    ${text}
    `\n}\n\n/**\n * Get a custom heading renderer that clamps heading levels\n *\n * @param minHeading - The heading to clamp to\n */\nfunction getMarkedHeading(minHeading: number) {\n\t/**\n\t * Custom heading renderer that adjusts heading levels\n\t *\n\t * @param ctx - The render context\n\t * @param ctx.text - The heading text\n\t * @param ctx.depth - The heading depth\n\t */\n\treturn ({ text, depth }: Tokens.Heading): string => {\n\t\tdepth = Math.min(6, depth + (minHeading - 1))\n\t\treturn `${text}`\n\t}\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\nimport type { NcSelectUsersModel } from '@nextcloud/vue/components/NcSelectUsers'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport PQueue from 'p-queue'\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport logger from '../utils/logger.ts'\n\nconst queue = new PQueue({ concurrency: 3 })\n\nexport const useGroupsStore = defineStore('groups', () => {\n\tconst groups = ref(new Map())\n\n\t/**\n\t * Get group details by id\n\t *\n\t * @param groupId - The id of the group to fetch\n\t */\n\tasync function fetchGroupById(groupId: string) {\n\t\treturn await queue.add(() => internalFetchGroupById(groupId))\n\t}\n\n\t/**\n\t * Search the API for groups matching the query\n\t *\n\t * @param query - Query to search\n\t */\n\tasync function searchGroups(query: string) {\n\t\tconst url = generateOcsUrl('/cloud/groups/details')\n\t\ttry {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\tconst { data } = await axios.get>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\tsearch: query.trim(),\n\t\t\t\t\tlimit: 10,\n\t\t\t\t},\n\t\t\t})\n\t\t\tfor (const group of data.ocs.data.groups) {\n\t\t\t\tif (groups.value.has(group.id)) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tgroups.value.set(group.id, {\n\t\t\t\t\tid: group.id,\n\t\t\t\t\tdisplayName: group.displayname,\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t})\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tlogger.error('Failed to search groups', { error })\n\t\t}\n\t}\n\n\t/**\n\t * Get a group by its id\n\t *\n\t * @param groupId - The id of the group to retrieve\n\t */\n\tfunction getGroupById(groupId: string) {\n\t\treturn groups.value.get(groupId)\n\t}\n\n\treturn {\n\t\tgroups: computed(() => Array.from(groups.value.values())),\n\t\tsearchGroups,\n\t\tgetGroupById,\n\t\tfetchGroupById,\n\t}\n\n\t/**\n\t * Handle fetching group details by id\n\t *\n\t * @param groupId - The id of the group to fetch\n\t */\n\tasync function internalFetchGroupById(groupId: string) {\n\t\tif (!groups.value.has(groupId)) {\n\t\t\tawait searchGroups(groupId)\n\t\t}\n\t\treturn groups.value.get(groupId)\n\t}\n})\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from 'vue'\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\nimport { readonly, ref, toValue, watch } from 'vue'\nimport { useGroupsStore } from '../store/groups.ts'\n\n/**\n * Get the groups an app is limited to and keep it up to date\n *\n * @param app - The app to get the groups\n */\nexport function useLimitedGroups(app: MaybeRefOrGetter) {\n\tconst groupsStore = useGroupsStore()\n\tconst groupsAppIsLimitedTo = ref<{ id: string, displayName: string }[]>([])\n\twatch(() => toValue(app).groups, async () => {\n\t\tconst groups = toValue(app).groups\n\t\tif (groups === undefined) {\n\t\t\tgroupsAppIsLimitedTo.value = []\n\t\t\treturn\n\t\t}\n\n\t\tconst promises = groups.map((group) => groupsStore.fetchGroupById(group))\n\t\tconst results = await Promise.all(promises)\n\t\tgroupsAppIsLimitedTo.value = results.filter(Boolean) as { id: string, displayName: string }[]\n\t}, { immediate: true })\n\n\treturn readonly(groupsAppIsLimitedTo)\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiClose } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canDisable } from '../utils/appStatus.ts'\n\nexport const actionDisable: AppAction = {\n\tid: 'disable',\n\ticon: mdiClose,\n\torder: 10,\n\tenabled: canDisable,\n\tlabel: () => t('appstore', 'Disable'),\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.disableApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiCheck } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canEnable, canInstall } from '../utils/appStatus.ts'\n\nexport const actionEnable: AppAction = {\n\tid: 'enable',\n\ticon: mdiCheck,\n\torder: 1,\n\tvariant: 'primary',\n\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\treturn !canInstall(app) && canEnable(app)\n\t},\n\tlabel: () => t('appstore', 'Enable'),\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.enableApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiAlertCircleCheckOutline } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canForceEnable, canInstall, needForceEnable } from '../utils/appStatus.ts'\n\nexport const actionForceEnable: AppAction = {\n\tid: 'force-enable',\n\ticon: mdiAlertCircleCheckOutline,\n\torder: 3,\n\tinline: false,\n\tvariant: 'warning',\n\tlabel: () => t('appstore', 'Force enable'),\n\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\treturn !canInstall(app) && canForceEnable(app) && needForceEnable(app)\n\t},\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.forceEnableApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiDownload } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canInstall, needForceEnable } from '../utils/appStatus.ts'\n\nexport const actionInstall: AppAction = {\n\tid: 'install',\n\ticon: mdiDownload,\n\torder: 5,\n\tenabled(app) {\n\t\treturn canInstall(app) && !needForceEnable(app)\n\t},\n\tlabel: (app: IAppstoreApp | IAppstoreExApp) => {\n\t\tif (app.app_api) {\n\t\t\treturn t('appstore', 'Deploy and enable')\n\t\t}\n\t\tif (app.needsDownload) {\n\t\t\treturn t('appstore', 'Download and enable')\n\t\t}\n\t\treturn t('appstore', 'Install and enable')\n\t},\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.enableApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiDownload } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canInstall, needForceEnable } from '../utils/appStatus.ts'\n\nexport const actionInstallForced: AppAction = {\n\tid: 'install-forced',\n\ticon: mdiDownload,\n\torder: 5,\n\tinline: false,\n\tenabled(app) {\n\t\treturn canInstall(app) && needForceEnable(app)\n\t},\n\tlabel: (app: IAppstoreApp | IAppstoreExApp) => {\n\t\tif (app.app_api) {\n\t\t\treturn t('appstore', 'Deploy and force enable')\n\t\t}\n\t\tif (app.needsDownload) {\n\t\t\treturn t('appstore', 'Download and force enable')\n\t\t}\n\t\treturn t('appstore', 'Install and force enable')\n\t},\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.enableApp(app.id, true)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiBugOutline, mdiForumOutline, mdiStarOutline, mdiWeb } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\n\nexport const actionsInteract: AppAction[] = [\n\t{\n\t\tid: 'rate',\n\t\ticon: mdiStarOutline,\n\t\torder: 30,\n\t\tinline: false,\n\t\tlabel: () => t('appstore', 'Rate the app'),\n\t\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn !app.shipped\n\t\t},\n\t\thref(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn `https://apps.nextcloud.com/apps/${encodeURIComponent(app.id)}#comments`\n\t\t},\n\t},\n\t{\n\t\tid: 'report-bug',\n\t\ticon: mdiBugOutline,\n\t\torder: 32,\n\t\tinline: false,\n\t\tlabel: () => t('appstore', 'Report a bug'),\n\t\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn !!app.bugs\n\t\t},\n\t\thref(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn app.bugs!\n\t\t},\n\t},\n\t{\n\t\tid: 'discussion',\n\t\ticon: mdiForumOutline,\n\t\torder: 35,\n\t\tinline: false,\n\t\tlabel: () => t('appstore', 'Ask questions or discuss the app'),\n\t\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn !!app.discussion\n\t\t},\n\t\thref(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn app.discussion!\n\t\t},\n\t},\n\t{\n\t\tid: 'website',\n\t\ticon: mdiWeb,\n\t\torder: 38,\n\t\tinline: false,\n\t\tlabel: () => t('appstore', 'Visit the website'),\n\t\tenabled(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn !!app.website\n\t\t},\n\t\thref(app: IAppstoreApp | IAppstoreExApp) {\n\t\t\treturn app.website!\n\t\t},\n\t},\n]\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiAccountGroup } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { spawnDialog } from '@nextcloud/vue'\nimport { defineAsyncComponent } from 'vue'\nimport { canLimitToGroups } from '../utils/appStatus.ts'\n\nconst LimitToGroupDialog = defineAsyncComponent(() => import('../components/LimitToGroupDialog.vue'))\n\nexport const actionLimitToGroup: AppAction = {\n\tid: 'limit-to-group',\n\ticon: mdiAccountGroup,\n\torder: 16,\n\tinline: false,\n\tlabel: () => t('appstore', 'Limit to groups'),\n\tenabled: canLimitToGroups,\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tawait spawnDialog(LimitToGroupDialog, { app })\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiTrashCanOutline } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useAppsStore } from '../store/apps.ts'\nimport { canUninstall } from '../utils/appStatus.ts'\n\nexport const actionRemove: AppAction = {\n\tid: 'remove',\n\torder: 20,\n\ticon: mdiTrashCanOutline,\n\tvariant: 'error',\n\tinline: false,\n\tenabled: canUninstall,\n\tlabel: () => t('appstore', 'Remove'),\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useAppsStore()\n\t\tawait store.uninstallApp(app.id)\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\nimport type { AppAction } from './index.ts'\n\nimport { mdiUpdate } from '@mdi/js'\nimport { t } from '@nextcloud/l10n'\nimport { useExAppsStore } from '../store/exApps.ts'\nimport { useUpdatesStore } from '../store/updates.ts'\nimport { canUpdate } from '../utils/appStatus.ts'\n\nexport const actionUpdate: AppAction = {\n\tid: 'update',\n\ticon: mdiUpdate,\n\tvariant: 'primary',\n\torder: 0,\n\tenabled(app) {\n\t\tif (!canUpdate(app)) {\n\t\t\treturn false\n\t\t}\n\t\tif (app.app_api) {\n\t\t\tif (app.daemon && app.daemon?.accepts_deploy_id === 'manual-install') {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tconst exAppsStore = useExAppsStore()\n\t\t\treturn exAppsStore.daemonAccessible\n\t\t}\n\t\treturn true\n\t},\n\tlabel: (app: IAppstoreApp | IAppstoreExApp) => t('appstore', 'Update to {version}', { version: app.update! }),\n\tasync callback(app: IAppstoreApp | IAppstoreExApp) {\n\t\tconst store = useUpdatesStore()\n\t\tawait store.updateApp(app.id)\n\t},\n}\n","/*\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { RouteLocationRaw } from 'vue-router'\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\nimport { actionDisable } from './actionDisable.ts'\nimport { actionEnable } from './actionEnable.ts'\nimport { actionForceEnable } from './actionForceEnable.ts'\nimport { actionInstall } from './actionInstall.ts'\nimport { actionInstallForced } from './actionInstallForced.ts'\nimport { actionsInteract } from './actionInteract.ts'\nimport { actionLimitToGroup } from './actionLimitToGroup.ts'\nimport { actionRemove } from './actionRemove.ts'\nimport { actionUpdate } from './actionUpdate.ts'\n\ninterface AppActionBase {\n\tenabled: (app: IAppstoreApp | IAppstoreExApp) => boolean\n\n\tid: string\n\ticon: string\n\torder: number\n\tlabel: (app: IAppstoreApp | IAppstoreExApp) => string\n\tvariant?: 'primary' | 'error' | 'warning'\n\tinline?: boolean\n}\n\ninterface AppActionWithCallback extends AppActionBase {\n\tcallback: (app: IAppstoreApp | IAppstoreExApp) => Promise\n}\n\ninterface AppActionWithHref extends AppActionBase {\n\thref: (app: IAppstoreApp | IAppstoreExApp) => string\n}\n\ninterface AppActionWithRoute extends AppActionBase {\n\tto: (app: IAppstoreApp | IAppstoreExApp) => RouteLocationRaw\n}\n\nexport type AppAction = AppActionWithCallback | AppActionWithHref | AppActionWithRoute\n\nexport const actions = [\n\tactionUpdate,\n\tactionEnable,\n\tactionDisable,\n\tactionForceEnable,\n\tactionInstall,\n\tactionInstallForced,\n\tactionRemove,\n\tactionLimitToGroup,\n\t...actionsInteract,\n].sort((a, b) => a.order - b.order)\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from 'vue'\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\nimport { computed, toValue } from 'vue'\nimport { actions } from '../actions/index.ts'\n\n/**\n * Get the available actions for an app\n *\n * @param app - The app to get the actions for\n */\nexport function useActions(app: MaybeRefOrGetter) {\n\treturn computed(() => toValue(app) ? actions.filter((action) => action.enabled(toValue(app)!)) : [])\n}\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Ref } from 'vue'\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\nimport { mdiCog, mdiCogOutline } from '@mdi/js'\nimport { computed, ref, watchEffect } from 'vue'\nimport { APPSTORE_CATEGORY_ICONS } from '../constants.ts'\nimport logger from '../utils/logger.ts'\n\n/**\n * Get the app icon raw SVG for use with `NcIconSvgWrapper` (do never use without sanitizing)\n * It has a fallback to the categroy icon.\n *\n * @param app The app to get the icon for\n */\nexport function useAppIcon(app: Ref) {\n\tconst appIcon = ref(null)\n\n\t/**\n\t * Fallback value if no app icon available\n\t */\n\tconst categoryIcon = computed(() => {\n\t\tlet path: string\n\t\tif (app.value?.app_api) {\n\t\t\t// Use different default icon for ExApps (AppAPI)\n\t\t\tpath = mdiCogOutline\n\t\t} else {\n\t\t\tpath = [app.value?.category ?? []].flat()\n\t\t\t\t.map((name) => APPSTORE_CATEGORY_ICONS[name])\n\t\t\t\t.filter((icon) => !!icon)\n\t\t\t\t.at(0)\n\t\t\t\t?? (!app.value?.app_api ? mdiCog : mdiCogOutline)\n\t\t}\n\t\treturn path ? `` : null\n\t})\n\n\twatchEffect(async () => {\n\t\t// Note: Only variables until the first `await` will be watched!\n\t\tif (!app.value?.icon) {\n\t\t\tappIcon.value = categoryIcon.value\n\t\t} else {\n\t\t\tappIcon.value = null\n\t\t\t// Now try to load the real app icon\n\t\t\ttry {\n\t\t\t\tconst response = await window.fetch(app.value.icon)\n\t\t\t\tconst blob = await response.blob()\n\t\t\t\tconst rawSvg = await blob.text()\n\t\t\t\tappIcon.value = rawSvg.replaceAll(/fill=\"#(fff|ffffff)([a-z0-9]{1,2})?\"/ig, 'fill=\"currentColor\"')\n\t\t\t} catch (error) {\n\t\t\t\tappIcon.value = categoryIcon.value\n\t\t\t\tlogger.error('Could not load app icon', { error })\n\t\t\t}\n\t\t}\n\t})\n\n\treturn {\n\t\tappIcon,\n\t}\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteRecordRaw } from 'vue-router'\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst appstoreEnabled = loadState('appstore', 'appstoreEnabled', true)\n\n// Dynamic loading\nconst AppstoreDiscover = () => import('../views/AppstoreDiscover.vue')\nconst AppstoreManage = () => import('../views/AppstoreManage.vue')\nconst AppstoreBundles = () => import('../views/AppstoreBundles.vue')\nconst AppstoreBrowse = () => import('../views/AppstoreBrowse.vue')\nconst AppstoreSearch = () => import('../views/AppstoreSearch.vue')\n\nconst routes: RouteRecordRaw[] = [\n\t{\n\t\tpath: '/:index(index.php/)?settings/apps',\n\t\tname: 'apps',\n\t\tredirect: appstoreEnabled\n\t\t\t? {\n\t\t\t\t\tname: 'apps-discover',\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\tname: 'apps-manage',\n\t\t\t\t\tparams: { category: 'installed' },\n\t\t\t\t},\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: 'discover/:id?',\n\t\t\t\tname: 'apps-discover',\n\t\t\t\tcomponent: AppstoreDiscover,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'bundles/:id?',\n\t\t\t\tname: 'apps-bundles',\n\t\t\t\tcomponent: AppstoreBundles,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: ':category(installed|enabled|disabled|updates)/:id?',\n\t\t\t\tname: 'apps-manage',\n\t\t\t\tcomponent: AppstoreManage,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: ':category/:id?',\n\t\t\t\tname: 'apps-category',\n\t\t\t\tcomponent: AppstoreBrowse,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'search/:id?',\n\t\t\t\tname: 'apps-search',\n\t\t\t\tcomponent: AppstoreSearch,\n\t\t\t},\n\t\t],\n\t},\n]\n\nexport default routes\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport routes from './routes.ts'\n\nconst router = createRouter({\n\thistory: createWebHistory(generateUrl('')),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nexport default router\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { createPinia } from 'pinia'\nimport { createApp } from 'vue'\nimport AppstoreApp from './AppstoreApp.vue'\nimport router from './router/index.ts'\n\nimport 'vite/modulepreload-polyfill'\n\nconst pinia = createPinia()\nconst app = createApp(AppstoreApp)\napp.config.idPrefix = 'appstore'\napp.use(pinia)\napp.use(router)\napp.mount('#content')\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n"],"file":"appstore-main.mjs"} \ No newline at end of file