"use strict";(globalThis.webpackChunknextcloud_ui_legacy=globalThis.webpackChunknextcloud_ui_legacy||[]).push([[4529],{92973(t,e,n){n.d(e,{l:()=>i});var a=n(53334);const i=Object.freeze({discover:(0,a.Tl)("settings","Discover"),installed:(0,a.Tl)("settings","Your apps"),enabled:(0,a.Tl)("settings","Active apps"),disabled:(0,a.Tl)("settings","Disabled apps"),updates:(0,a.Tl)("settings","Updates"),"app-bundles":(0,a.Tl)("settings","App bundles"),featured:(0,a.Tl)("settings","Featured apps"),supported:(0,a.Tl)("settings","Supported apps")})},23453(e,n,a){a.d(n,{A:()=>c});var i=a(85168),o=a(19051),s=a(61338),r=a(63814);const p=()=>o.Ay.get((0,r.KT)("core/navigation",2)+"/apps?format=json").then(({data:t})=>{200===t.ocs.meta.statuscode&&((0,s.Ic)("nextcloud:app-menu.refresh",{apps:t.ocs.data}),window.dispatchEvent(new Event("resize")))}),l=window.OC.theme.productName,c={computed:{appGroups(){return this.app.groups.map(t=>({id:t,name:t}))},installing(){return this.app?.app_api?this.app&&!0===this?.appApiStore.getLoading("install"):this.$store.getters.loading("install")},isLoading(){return this.app?.app_api?this.app&&!0===this?.appApiStore.getLoading(this.app.id):this.app&&this.$store.getters.loading(this.app.id)},isInitializing(){return!!this.app?.app_api&&this.app&&("init"===this.app?.status?.action||"healthcheck"===this.app?.status?.action)},isDeploying(){return!!this.app?.app_api&&this.app&&"deploy"===this.app?.status?.action},isManualInstall(){return!!this.app?.app_api&&"manual-install"===this.app?.daemon?.accepts_deploy_id},updateButtonText(){return this.app?.app_api&&"manual-install"===this.app?.daemon?.accepts_deploy_id?t("settings","Manually installed apps cannot be updated"):t("settings","Update to {version}",{version:this.app?.update})},enableButtonText(){return this.app?.app_api?this.app&&this.app?.status?.action&&"deploy"===this.app?.status?.action?t("settings","{progress}% Deploying …",{progress:this.app?.status?.deploy??0}):this.app&&this.app?.status?.action&&"init"===this.app?.status?.action?t("settings","{progress}% Initializing …",{progress:this.app?.status?.init??0}):this.app&&this.app?.status?.action&&"healthcheck"===this.app?.status?.action?t("settings","Health checking"):this.app.needsDownload?t("settings","Deploy and Enable"):t("settings","Enable"):this.app.needsDownload?t("settings","Download and enable"):t("settings","Enable")},disableButtonText(){if(this.app?.app_api){if(this.app&&this.app?.status?.action&&"deploy"===this.app?.status?.action)return t("settings","{progress}% Deploying …",{progress:this.app?.status?.deploy});if(this.app&&this.app?.status?.action&&"init"===this.app?.status?.action)return t("settings","{progress}% Initializing …",{progress:this.app?.status?.init});if(this.app&&this.app?.status?.action&&"healthcheck"===this.app?.status?.action)return t("settings","Health checking")}return t("settings","Disable")},forceEnableButtonText(){return this.app.needsDownload,t("settings","Allow untested app")},enableButtonTooltip(){return!this.app?.app_api&&this.app.needsDownload?t("settings","The app will be downloaded from the App Store"):null},forceEnableButtonTooltip(){const e=t("settings","This app is not marked as compatible with your {productName} version.",{productName:l})+" "+t("settings","If you continue you will still be able to install the app. Note that the app might not work as expected.");return this.app.needsDownload?e+" "+t("settings","The app will be downloaded from the App Store"):e},defaultDeployDaemonAccessible(){return!this.app?.app_api||!(!this.app?.daemon||"manual-install"!==this.app?.daemon?.accepts_deploy_id)||("docker-install"===this.app?.daemon?.accepts_deploy_id&&this.appApiStore.getDefaultDaemon?.name===this.app?.daemon?.name?!0===this?.appApiStore.getDaemonAccessible:this?.appApiStore.getDaemonAccessible)}},data:()=>({groupCheckedAppsData:!1}),mounted(){this.app&&this.app.groups&&this.app.groups.length>0&&(this.groupCheckedAppsData=!0)},methods:{asyncFindGroup(t){return this.$store.dispatch("getGroups",{search:t,limit:5,offset:0})},isLimitedToGroups(){return!this.app?.app_api&&(this.app.groups.length||this.groupCheckedAppsData)},setGroupLimit(){this.app?.app_api||this.groupCheckedAppsData||this.$store.dispatch("enableApp",{appId:this.app.id,groups:[]})},canLimitToGroups:t=>!(t.types&&t.types.includes("filesystem")||t.types.includes("prelogin")||t.types.includes("authentication")||t.types.includes("logging")||t.types.includes("prevent_group_restriction")||t?.app_api),addGroupLimitation(t){if(this.app?.app_api)return;const e=t.pop(),n=this.app.groups.concat([]).concat([e.id]);this.store&&this.store.updateAppGroups&&this.store.updateAppGroups(this.app.id,n),this.$store.dispatch("enableApp",{appId:this.app.id,groups:n})},removeGroupLimitation(t){if(this.app?.app_api)return;const e=this.app.groups.concat([]),n=e.indexOf(t.id);n>-1&&e.splice(n,1),this.store&&this.store.updateAppGroups&&this.store.updateAppGroups(this.app.id,e),0===e.length&&(this.groupCheckedAppsData=!1),this.$store.dispatch("enableApp",{appId:this.app.id,groups:e})},forceEnable(t){this.app?.app_api?this.appApiStore.forceEnableApp(t).then(()=>{p()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("forceEnableApp",{appId:t,groups:[]}).then(()=>{p()}).catch(t=>{(0,i.Qg)(t)})},enable(t,e=null,n={}){this.app?.app_api?this.appApiStore.enableApp(t,e,n).then(()=>{p()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("enableApp",{appId:t,groups:[]}).then(()=>{p()}).catch(t=>{(0,i.Qg)(t)})},disable(t){this.app?.app_api?this.appApiStore.disableApp(t).then(()=>{p()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("disableApp",{appId:t}).then(()=>{p()}).catch(t=>{(0,i.Qg)(t)})},async remove(t,e=!1){try{this.app?.app_api?await this.appApiStore.uninstallApp(t,e):await this.$store.dispatch("uninstallApp",{appId:t,removeData:e}),await p()}catch(t){(0,i.Qg)(t)}},install(t){this.app?.app_api?this.appApiStore.enableApp(t).then(()=>{p()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("enableApp",{appId:t}).then(()=>{p()}).catch(t=>{(0,i.Qg)(t)})},update(t){return this.app?.app_api?this.appApiStore.updateApp(t).then(()=>{p()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("updateApp",{appId:t}).catch(t=>{(0,i.Qg)(t)}).then(()=>{p(),this.store.updateCount=Math.max(this.store.updateCount-1,0)})}}}},65568(t,e,n){n.d(e,{A:()=>i});var a=n(9165);const i=Object.freeze({discover:a.tZc,installed:a.EzL,enabled:a.Tfj,disabled:a.hyP,bundles:a.xR9,supported:a.UD9,featured:a.ZL5,updates:a.XCd,ai:a.aKS,auth:a.Mx_,customization:a.ED,dashboard:a.Knj,files:a.fEr,games:a.v3v,integration:a.bur,monitoring:a.y48,multimedia:a.WI,office:a.Ku3,organization:a.d9V,search:a.U4M,security:a.JiW,social:a.aie,tools:a.QKT,workflow:a.Rt7})},97200(t,e,n){n.d(e,{a:()=>A});var a=n(19051),i=n(85168),o=n(81222),s=n(53334),r=n(47176),p=n(63814),l=n(10810),c=n(85471),d=n(21106),u=n(6028);const A=(0,l.nY)("app-api-apps",{state:()=>({apps:[],updateCount:(0,o.C)("settings","appstoreExAppUpdateCount",0),loading:{},loadingList:!1,statusUpdater:null,daemonAccessible:(0,o.C)("settings","defaultDaemonConfigAccessible",!1),defaultDaemon:(0,o.C)("settings","defaultDaemonConfig",null),dockerDaemons:[]}),getters:{getLoading:t=>e=>t.loading[e]??!1,getAllApps:t=>t.apps,getUpdateCount:t=>t.updateCount,getDaemonAccessible:t=>t.daemonAccessible,getDefaultDaemon:t=>t.defaultDaemon,getAppStatus:t=>e=>t.apps.find(t=>t.id===e)?.status||null,getStatusUpdater:t=>t.statusUpdater,getInitializingOrDeployingApps:t=>t.apps.filter(t=>t?.status?.action&&("deploy"===t?.status?.action||"init"===t.status.action||"healthcheck"===t.status.action)&&""!==t.status.type)},actions:{appsApiFailure(t){(0,i.Qg)((0,s.Tl)("settings","An error occurred during the request. Unable to proceed.")+"
"+t.error.response.data.data.message,{isHTML:!0}),d.A.error(t)},setLoading(t,e){c.Ay.set(this.loading,t,e)},setError(t,e){(Array.isArray(t)?t:[t]).forEach(t=>{const n=this.apps.find(e=>e.id===t);n&&(n.error=e)})},enableApp(t,e,n){return this.setLoading(t,!0),this.setLoading("install",!0),(0,r.C5)().then(()=>a.Ay.post((0,p.Jv)(`/apps/app_api/apps/enable/${t}/${e.name}`),{deployOptions:n}).then(n=>{this.setLoading(t,!1),this.setLoading("install",!1);const o=this.apps.find(e=>e.id===t);return o&&(o.installed||(o.installed=!0,o.needsDownload=!1,o.daemon=e,o.status={type:"install",action:"deploy",init:0,deploy:0}),o.active=!0,o.canUnInstall=!1,o.removable=!0,o.error=""),this.updateAppsStatus(),a.Ay.get((0,p.Jv)("apps/files")).then(()=>{n.data.update_required&&((0,i.cf)((0,s.Tl)("settings","The app has been enabled but needs to be updated."),{onClick:()=>window.location.reload(),close:!1}),setTimeout(()=>{location.reload()},5e3))}).catch(()=>{this.setError(t,(0,s.Tl)("settings","Error: This app cannot be enabled because it makes the server unstable"))})}).catch(e=>{this.setLoading(t,!1),this.setLoading("install",!1),this.setError(t,e.response.data.data.message),this.appsApiFailure({appId:t,error:e})})).catch(()=>{this.setLoading(t,!1),this.setLoading("install",!1)})},forceEnableApp(t){return this.setLoading(t,!0),this.setLoading("install",!0),(0,r.C5)().then(()=>u.A.post((0,p.Jv)("/apps/app_api/apps/force"),{appId:t}).then(()=>{location.reload()}).catch(e=>{this.setLoading(t,!1),this.setLoading("install",!1),this.setError(t,e.response.data.data.message),this.appsApiFailure({appId:t,error:e})})).catch(()=>{this.setLoading(t,!1),this.setLoading("install",!1)})},disableApp(t){return this.setLoading(t,!0),(0,r.C5)().then(()=>u.A.get((0,p.Jv)(`apps/app_api/apps/disable/${t}`)).then(()=>{this.setLoading(t,!1);const e=this.apps.find(e=>e.id===t);return e&&(e.active=!1,e.removable&&(e.canUnInstall=!0)),!0}).catch(e=>{this.setLoading(t,!1),this.appsApiFailure({appId:t,error:e})})).catch(()=>{this.setLoading(t,!1)})},uninstallApp(t,e){return this.setLoading(t,!0),(0,r.C5)().then(()=>u.A.get((0,p.Jv)(`/apps/app_api/apps/uninstall/${t}?removeData=${e}`)).then(()=>{this.setLoading(t,!1);const e=this.apps.find(e=>e.id===t);return e&&(e.active=!1,e.needsDownload=!0,e.installed=!1,e.canUnInstall=!1,e.canInstall=!0,e.daemon=null,e.status={},null!==e.update&&this.updateCount--,e.update=void 0),!0}).catch(e=>{this.setLoading(t,!1),this.appsApiFailure({appId:t,error:e})}))},updateApp(t){return this.setLoading(t,!0),this.setLoading("install",!0),(0,r.C5)().then(()=>u.A.get((0,p.Jv)(`/apps/app_api/apps/update/${t}`)).then(()=>{this.setLoading(t,!1),this.setLoading("install",!1);const e=this.apps.find(e=>e.id===t);if(e){const t=e.update;e.update=void 0,e.version=t||e.version,e.status={type:"update",action:"deploy",init:0,deploy:0},e.error=""}return this.updateCount--,this.updateAppsStatus(),!0}).catch(e=>{this.setLoading(t,!1),this.setLoading("install",!1),this.appsApiFailure({appId:t,error:e})})).catch(()=>{this.setLoading(t,!1),this.setLoading("install",!1)})},async fetchAllApps(){this.loadingList=!0;try{const t=await u.A.get((0,p.Jv)("/apps/app_api/apps/list"));return this.apps=t.data.apps,this.loadingList=!1,!0}catch(t){d.A.error(t),(0,i.Qg)((0,s.Tl)("settings","An error occurred during the request. Unable to proceed.")),this.loadingList=!1}},async fetchAppStatus(t){return u.A.get((0,p.Jv)(`/apps/app_api/apps/status/${t}`)).then(e=>{const n=this.apps.find(e=>e.id===t);n&&(n.status=e.data);const a=this.getInitializingOrDeployingApps;d.A.debug("initializingOrDeployingApps after setAppStatus",{initializingOrDeployingApps:a}),0===a.length&&(d.A.debug("clearing interval"),clearInterval(this.statusUpdater),this.statusUpdater=null),Object.hasOwn(e.data,"error")&&""!==e.data.error&&1===a.length&&(clearInterval(this.statusUpdater),this.statusUpdater=null)}).catch(e=>{this.appsApiFailure({appId:t,error:e}),this.apps=this.apps.filter(e=>e.id!==t),this.updateAppsStatus()})},async fetchDockerDaemons(){try{const{data:t}=await a.Ay.get((0,p.Jv)("/apps/app_api/daemons"));this.defaultDaemon=t.daemons.find(e=>e.name===t.default_daemon_config),this.dockerDaemons=t.daemons.filter(t=>"docker-install"===t.accepts_deploy_id)}catch(t){return d.A.error("[app-api-store] Failed to fetch Docker daemons",{error:t}),!1}return!0},updateAppsStatus(){clearInterval(this.statusUpdater),0!==this.getInitializingOrDeployingApps.length&&(this.statusUpdater=setInterval(()=>{const t=this.getInitializingOrDeployingApps;d.A.debug("initializingOrDeployingApps",{initializingOrDeployingApps:t}),t.forEach(t=>{this.fetchAppStatus(t.id)})},2e3))}}})},85148(t,e,n){n.d(e,{T:()=>u});var a=n(19051),i=n(85168),o=n(81222),s=n(53334),r=n(63814),p=n(10810),l=n(65568),c=n(21106);const d=()=>(0,i.Qg)((0,s.Tl)("settings","An error occurred during the request. Unable to proceed.")),u=(0,p.nY)("settings-apps",{state:()=>({apps:[],categories:[],updateCount:(0,o.C)("settings","appstoreUpdateCount",0),loading:{apps:!1,categories:!1},loadingList:!1,gettingCategoriesPromise:null}),actions:{async loadCategories(t=!1){if(!(this.categories.length>0)||t)try{this.loading.categories=!0;const{data:t}=await a.Ay.get((0,r.Jv)("settings/apps/categories"));for(const e of t)e.icon=l.A[e.id]??"";this.$patch({categories:t})}catch(t){c.A.error(t),d()}finally{this.loading.categories=!1}},async loadApps(t=!1){if(!(this.apps.length>0)||t)try{this.loading.apps=!0;const{data:t}=await a.Ay.get((0,r.Jv)("settings/apps/list"));this.$patch({apps:t.apps})}catch(t){c.A.error(t),d()}finally{this.loading.apps=!1}},getCategoryById(t){return this.categories.find(({id:e})=>e===t)??null},getAppById(t){return this.apps.find(({id:e})=>e===t)??null},updateAppGroups(t,e){const n=this.apps.find(({id:e})=>e===t);n&&(n.groups=[...e])}}})},2602(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,".daemon-selection-list[data-v-a31da1f4]{max-height:350px;overflow-y:scroll;padding:2rem}.daemon-selection-list__empty-content[data-v-a31da1f4]{margin-top:0;text-align:center}","",{version:3,sources:["webpack://./apps/settings/src/components/AppAPI/DaemonSelectionList.vue"],names:[],mappings:"AACA,wCACC,gBAAA,CACA,iBAAA,CACA,YAAA,CAEA,uDACC,YAAA,CACA,iBAAA",sourcesContent:["\n.daemon-selection-list {\n\tmax-height: 350px;\n\toverflow-y: scroll;\n\tpadding: 2rem;\n\n\t&__empty-content {\n\t\tmargin-top: 0;\n\t\ttext-align: center;\n\t}\n}\n"],sourceRoot:""}]);const r=s},43154(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,".apps-list[data-v-357f7b71]{display:flex;flex-wrap:wrap;align-content:flex-start}.apps-list--move[data-v-357f7b71]{transition:transform 1s}.apps-list #app-list-update-all[data-v-357f7b71]{margin-inline-start:10px}.apps-list__toolbar[data-v-357f7b71]{height:60px;padding:8px;padding-inline-start:60px;width:100%;background-color:var(--color-main-background);position:sticky;top:0;z-index:1;display:flex;align-items:center}.apps-list--list-view[data-v-357f7b71]{margin-bottom:100px;position:relative}.apps-list__list-container[data-v-357f7b71]{width:100%}.apps-list__store-container[data-v-357f7b71]{display:flex;flex-wrap:wrap}.apps-list__bundle-heading[data-v-357f7b71]{display:flex;align-items:center;margin-block:20px;margin-inline:0 10px}.apps-list__bundle-header[data-v-357f7b71]{color:var(--color-main-text);margin-block:0;margin-inline:50px 10px;font-weight:bold;font-size:20px;line-height:30px}#apps-list-search .app-item h2[data-v-357f7b71]{margin-bottom:0}","",{version:3,sources:["webpack://./apps/settings/src/components/AppList.vue"],names:[],mappings:"AAIA,4BACC,YAAA,CACA,cAAA,CACA,wBAAA,CAGA,kCACC,uBAAA,CAGD,iDACC,wBAAA,CAGD,qCACC,WAjBe,CAkBf,WAnBgB,CAqBhB,yBApBe,CAqBf,UAAA,CACA,6CAAA,CACA,eAAA,CACA,KAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CAGD,uCACC,mBAAA,CAEA,iBAAA,CAGD,4CACC,UAAA,CAGD,6CACC,YAAA,CACA,cAAA,CAGD,4CACC,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,oBAAA,CAGD,2CACC,4BAAA,CACA,cAAA,CACA,uBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAMA,gDACC,eAAA",sourcesContent:["\n$toolbar-padding: 8px;\n$toolbar-height: 44px + $toolbar-padding * 2;\n\n.apps-list {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-content: flex-start;\n\n\t// For transition group\n\t&--move {\n\t\ttransition: transform 1s;\n\t}\n\n\t#app-list-update-all {\n\t\tmargin-inline-start: 10px;\n\t}\n\n\t&__toolbar {\n\t\theight: $toolbar-height;\n\t\tpadding: $toolbar-padding;\n\t\t// Leave room for app-navigation-toggle\n\t\tpadding-inline-start: $toolbar-height;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t&--list-view {\n\t\tmargin-bottom: 100px;\n\t\t// For positioning link overlay on rows\n\t\tposition: relative;\n\t}\n\n\t&__list-container {\n\t\twidth: 100%;\n\t}\n\n\t&__store-container {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\t&__bundle-heading {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmargin-block: 20px;\n\t\tmargin-inline: 0 10px;\n\t}\n\n\t&__bundle-header {\n\t\tcolor: var(--color-main-text);\n\t\tmargin-block: 0;\n\t\tmargin-inline: 50px 10px;\n\t\tfont-weight: bold;\n\t\tfont-size: 20px;\n\t\tline-height: 30px;\n\t}\n}\n\n#apps-list-search {\n\t.app-item {\n\t\th2 {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const r=s},20720(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,".app-daemon-badge[data-v-d2263fb4]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);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}","",{version:3,sources:["webpack://./apps/settings/src/components/AppList/AppDaemonBadge.vue"],names:[],mappings:"AACA,mCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA",sourcesContent:["\n.app-daemon-badge {\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: transparent;\n\tborder: 1px solid var(--color-text-maxcontrast);\n\tborder-radius: var(--border-radius);\n\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: 6px;\n\tpadding: 3px 6px;\n\twidth: fit-content;\n}\n"],sourceRoot:""}]);const r=s},87755(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,'/*!\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */.app-item[data-v-50fa5285]{position:relative}.app-item[data-v-50fa5285]:hover{background-color:var(--color-background-dark)}.app-item--list-view[data-v-50fa5285]{--app-item-padding: calc(var(--default-grid-baseline) * 2);--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2)}.app-item--list-view.app-item--selected[data-v-50fa5285]{background-color:var(--color-background-dark)}.app-item--list-view>*[data-v-50fa5285]{vertical-align:middle;border-bottom:1px solid var(--color-border);padding:var(--app-item-padding);height:var(--app-item-height)}.app-item--list-view .app-image[data-v-50fa5285]{width:var(--default-clickable-area);height:auto;text-align:end}.app-item--list-view .app-image-icon svg[data-v-50fa5285],.app-item--list-view .app-image-icon .icon-settings-dark[data-v-50fa5285]{margin-top:5px;width:20px;height:20px;opacity:.5;background-size:cover;display:inline-block}.app-item--list-view .app-name[data-v-50fa5285]{padding:0 var(--app-item-padding)}.app-item--list-view .app-name--link[data-v-50fa5285]{height:var(--app-item-height);display:flex;align-items:center}.app-item--list-view .app-name--link[data-v-50fa5285]::after{content:"";position:absolute;inset-inline:0;height:var(--app-item-height)}.app-item--list-view .app-actions[data-v-50fa5285]{display:flex;gap:var(--app-item-padding);flex-wrap:wrap;justify-content:end}.app-item--list-view .app-actions .icon-loading-small[data-v-50fa5285]{display:inline-block;top:4px;margin-inline-end:10px}@media only screen and (max-width: 900px){.app-item--list-view .app-version[data-v-50fa5285],.app-item--list-view .app-level[data-v-50fa5285]{display:none}}@media only screen and (max-width: 512px){.app-item--list-view .app-actions[data-v-50fa5285]{display:none}}.app-item--store-view[data-v-50fa5285]{padding:30px}.app-item--store-view .app-image-icon .icon-settings-dark[data-v-50fa5285]{width:100%;height:150px;background-size:45px;opacity:.5}.app-item--store-view .app-image-icon svg[data-v-50fa5285]{position:absolute;bottom:43px;width:64px;height:64px;opacity:.1}.app-item--store-view .app-name[data-v-50fa5285]{margin:5px 0}.app-item--store-view .app-name--link[data-v-50fa5285]::after{content:"";position:absolute;inset-block:0;inset-inline:0}.app-item--store-view .app-actions[data-v-50fa5285]{margin:10px 0}@media only screen and (min-width: 1601px){.app-item--store-view[data-v-50fa5285]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:33%}}@media only screen and (max-width: 1600px){.app-item--store-view[data-v-50fa5285]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:33%}}@media only screen and (max-width: 1400px){.app-item--store-view[data-v-50fa5285]{width:33%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:50%}}@media only screen and (max-width: 900px){.app-item--store-view[data-v-50fa5285]{width:50%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:100%}}@media only screen and (max-width: 1024px){.app-item--store-view[data-v-50fa5285]{width:50%}}@media only screen and (max-width: 480px){.app-item--store-view[data-v-50fa5285]{width:100%}}.app-icon[data-v-50fa5285]{filter:var(--background-invert-if-bright)}.app-image[data-v-50fa5285]{position:relative;height:150px;opacity:1;overflow:hidden}.app-image img[data-v-50fa5285]{width:100%}.app-version[data-v-50fa5285]{color:var(--color-text-maxcontrast)}',"",{version:3,sources:["webpack://./core/css/variables.scss","webpack://./apps/settings/src/components/AppList/AppItem.vue"],names:[],mappings:"AAEA;;;EAAA,CCEA,2BACC,iBAAA,CAEA,iCACC,6CAAA,CAGD,sCACC,0DAAA,CACA,oFAAA,CAEA,yDACC,6CAAA,CAGD,wCACC,qBAAA,CACA,2CAAA,CACA,+BAAA,CACA,6BAAA,CAGD,iDACC,mCAAA,CACA,WAAA,CACA,cAAA,CAGD,oIAEC,cAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CACA,oBAAA,CAGD,gDACC,iCAAA,CAGD,sDACC,6BAAA,CACA,YAAA,CACA,kBAAA,CAMD,6DACC,UAAA,CACA,iBAAA,CACA,cAAA,CACA,6BAAA,CAGD,mDACC,YAAA,CACA,2BAAA,CACA,cAAA,CACA,mBAAA,CAEA,uEACC,oBAAA,CACA,OAAA,CACA,sBAAA,CAKF,0CACC,oGAEC,YAAA,CAAA,CAKF,0CACC,mDACC,YAAA,CAAA,CAKH,uCACC,YAAA,CAEA,2EACC,UAAA,CACA,YAAA,CACA,oBAAA,CACA,UAAA,CAGD,2DACC,iBAAA,CACA,WAAA,CAEA,UAAA,CACA,WAAA,CACA,UAAA,CAGD,iDACC,YAAA,CAGD,8DACC,UAAA,CACA,iBAAA,CACA,aAAA,CACA,cAAA,CAGD,oDACC,aAAA,CAGD,2CAlCD,uCAmCE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CA1CD,uCA2CE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CAlDD,uCAmDE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,0CA1DD,uCA2DE,SAAA,CAEA,8DACC,UAAA,CAAA,CAIF,2CAlED,uCAmEE,SAAA,CAAA,CAGD,0CAtED,uCAuEE,UAAA,CAAA,CAKH,2BACC,yCAAA,CAGD,4BACC,iBAAA,CACA,YAAA,CACA,SAAA,CACA,eAAA,CAEA,gCACC,UAAA,CAIF,8BACC,mCAAA",sourcesContent:['@use \'sass:color\';\n\n/*!\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// SCSS darken/lighten function override\n@function nc-darken($color, $value) {\n\t@return color.adjust($color, $lightness: - $value, $space: hsl);\n}\n\n@function nc-lighten($color, $value) {\n\t@return color.adjust($color, $lightness: $value, $space: hsl);\n}\n\n// SCSS variables\n// DEPRECATED, please use CSS4 vars\n$color-main-text: #222 !default; // Not #000 for better readability\n$color-main-background: #fff !default;\n$color-main-background-translucent: rgba($color-main-background, .97) !default;\n\n// used for different active/hover/focus/disabled states\n$color-background-hover: nc-darken($color-main-background, 4%) !default;\n$color-background-dark: nc-darken($color-main-background, 7%) !default;\n$color-background-darker: nc-darken($color-main-background, 14%) !default;\n\n$color-placeholder-light: nc-darken($color-main-background, 10%) !default;\n$color-placeholder-dark: nc-darken($color-main-background, 20%) !default;\n\n$color-primary: #0082c9 !default;\n$color-primary-hover: color.mix($color-primary, $color-main-background, 80%) !default;\n\n$color-primary-light: color.mix($color-primary, $color-main-background, 10%) !default;\n$color-primary-light-text: $color-primary !default;\n$color-primary-light-hover: color.mix($color-primary-light, $color-main-text, 95%) !default;\n\n$color-primary-text: #ffffff !default;\n// do not use nc-darken/lighten in case of overriding because\n// primary-text is independent of color-main-text\n$color-primary-element-text-dark: color.adjust($color-primary-text, $lightness: -7%, $space: hsl) !default;\n$color-primary-element: $color-primary !default;\n$color-primary-element-hover: color.mix($color-primary-element, $color-main-background, 80%) !default;\n$color-primary-element-light: color.adjust($color-primary-element, $lightness: 15%, $space: hsl) !default;\n\n$color-error: #e9322d;\n$color-error-hover: color.mix($color-error, $color-main-background, 80%) !default;\n$color-warning: #eca700;\n$color-warning-hover: color.mix($color-warning, $color-main-background, 80%) !default;\n$color-success: #46ba61;\n$color-success-hover: color.mix($color-success, $color-main-background, 80%) !default;\n// used for svg\n$color-white: #fff;\n$color-black: #000;\n$color-yellow: #FC0;\n\n// rgb(118, 118, 118) / #767676\n// min. color contrast for normal text on white background according to WCAG AA\n// (Works as well: color: #000; opacity: 0.57;)\n$color-text-maxcontrast: nc-lighten($color-main-text, 33%) !default;\n\n$image-logo: url(\'../img/logo/logo.svg?v=1\') !default;\n$image-login-background: url(\'../img/background.png?v=2\') !default;\n$image-logoheader: url(\'../img/logo/logo.svg?v=1\') !default;\n$image-favicon: url(\'../img/logo/logo.svg?v=1\') !default;\n\n$color-loading-light: #ccc !default;\n$color-loading-dark: #444 !default;\n\n$color-box-shadow: color.adjust(nc-darken($color-main-background, 70%), $alpha: -0.5, $space: hsl) !default;\n\n// light border like file table or app-content list\n$color-border: nc-darken($color-main-background, 7%) !default;\n// darker border like inputs or very visible elements\n$color-border-dark: nc-darken($color-main-background, 14%) !default;\n\n$border-radius: 3px !default;\n$border-radius-large: 10px !default;\n// Pill-style button, value is large so big buttons also have correct roundness\n$border-radius-pill: 100px !default;\n\n$font-face: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;\n$default-font-size: 15px;\n\n$default-line-height: 24px;\n\n$animation-quick: 100ms;\n$animation-slow: 300ms;\n\n// various structure data\n$header-height: 50px;\n$navigation-width: 300px;\n$sidebar-min-width: 300px;\n$sidebar-max-width: 500px;\n$list-min-width: 200px;\n$list-max-width: 300px;\n$header-menu-item-height: 44px;\n$header-menu-profile-item-height: 66px;\n\n// mobile. Keep in sync with core/js/js.js\n$breakpoint-mobile: 1024px;\n',"\n@use '../../../../../core/css/variables.scss' as variables;\n@use 'sass:math';\n\n.app-item {\n\tposition: relative;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&--list-view {\n\t\t--app-item-padding: calc(var(--default-grid-baseline) * 2);\n\t\t--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2);\n\n\t\t&.app-item--selected {\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t}\n\n\t\t> * {\n\t\t\tvertical-align: middle;\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\tpadding: var(--app-item-padding);\n\t\t\theight: var(--app-item-height);\n\t\t}\n\n\t\t.app-image {\n\t\t\twidth: var(--default-clickable-area);\n\t\t\theight: auto;\n\t\t\ttext-align: end;\n\t\t}\n\n\t\t.app-image-icon svg,\n\t\t.app-image-icon .icon-settings-dark {\n\t\t\tmargin-top: 5px;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\topacity: .5;\n\t\t\tbackground-size: cover;\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t.app-name {\n\t\t\tpadding: 0 var(--app-item-padding);\n\t\t}\n\n\t\t.app-name--link {\n\t\t\theight: var(--app-item-height);\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t// Note: because of Safari bug, we cannot position link overlay relative to the table row\n\t\t// So we need to manually position it relative to the table container and cell\n\t\t// See: https://bugs.webkit.org/show_bug.cgi?id=240961\n\t\t.app-name--link::after {\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\tinset-inline: 0;\n\t\t\theight: var(--app-item-height);\n\t\t}\n\n\t\t.app-actions {\n\t\t\tdisplay: flex;\n\t\t\tgap: var(--app-item-padding);\n\t\t\tflex-wrap: wrap;\n\t\t\tjustify-content: end;\n\n\t\t\t.icon-loading-small {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\ttop: 4px;\n\t\t\t\tmargin-inline-end: 10px;\n\t\t\t}\n\t\t}\n\n\t\t/* hide app version and level on narrower screens */\n\t\t@media only screen and (max-width: 900px) {\n\t\t\t.app-version,\n\t\t\t.app-level {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\n\t\t/* Hide actions on a small screen. Click on app opens fill-screen sidebar with the buttons */\n\t\t@media only screen and (max-width: math.div(variables.$breakpoint-mobile, 2)) {\n\t\t\t.app-actions {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--store-view {\n\t\tpadding: 30px;\n\n\t\t.app-image-icon .icon-settings-dark {\n\t\t\twidth: 100%;\n\t\t\theight: 150px;\n\t\t\tbackground-size: 45px;\n\t\t\topacity: 0.5;\n\t\t}\n\n\t\t.app-image-icon svg {\n\t\t\tposition: absolute;\n\t\t\tbottom: 43px;\n\t\t\t/* position halfway vertically */\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\t\t\topacity: .1;\n\t\t}\n\n\t\t.app-name {\n\t\t\tmargin: 5px 0;\n\t\t}\n\n\t\t.app-name--link::after {\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\tinset-block: 0;\n\t\t\tinset-inline: 0;\n\t\t}\n\n\t\t.app-actions {\n\t\t\tmargin: 10px 0;\n\t\t}\n\n\t\t@media only screen and (min-width: 1601px) {\n\t\t\twidth: 25%;\n\n\t\t\t&.app-item--with-sidebar {\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t}\n\n\t\t@media only screen and (max-width: 1600px) {\n\t\t\twidth: 25%;\n\n\t\t\t&.app-item--with-sidebar {\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t}\n\n\t\t@media only screen and (max-width: 1400px) {\n\t\t\twidth: 33%;\n\n\t\t\t&.app-item--with-sidebar {\n\t\t\t\twidth: 50%;\n\t\t\t}\n\t\t}\n\n\t\t@media only screen and (max-width: 900px) {\n\t\t\twidth: 50%;\n\n\t\t\t&.app-item--with-sidebar {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\n\t\t@media only screen and (max-width: variables.$breakpoint-mobile) {\n\t\t\twidth: 50%;\n\t\t}\n\n\t\t@media only screen and (max-width: 480px) {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n.app-icon {\n\tfilter: var(--background-invert-if-bright);\n}\n\n.app-image {\n\tposition: relative;\n\theight: 150px;\n\topacity: 1;\n\toverflow: hidden;\n\n\timg {\n\t\twidth: 100%;\n\t}\n}\n\n.app-version {\n\tcolor: var(--color-text-maxcontrast);\n}\n"],sourceRoot:""}]);const r=s},39094(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,".app-level-badge[data-v-11da8cb3]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);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}.app-level-badge--supported[data-v-11da8cb3]{background-color:var(--color-success);border-color:var(--color-border-success);color:var(--color-success-text)}","",{version:3,sources:["webpack://./apps/settings/src/components/AppList/AppLevelBadge.vue"],names:[],mappings:"AACA,kCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA,CAEA,6CACC,qCAAA,CACA,wCAAA,CACA,+BAAA",sourcesContent:["\n.app-level-badge {\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: transparent;\n\tborder: 1px solid var(--color-text-maxcontrast);\n\tborder-radius: var(--border-radius);\n\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: 6px;\n\tpadding: 3px 6px;\n\twidth: fit-content;\n\n\t&--supported {\n\t\tbackground-color: var(--color-success);\n\t\tborder-color: var(--color-border-success);\n\t\tcolor: var(--color-success-text);\n\t}\n}\n"],sourceRoot:""}]);const r=s},50557(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,'.office-suite-switcher[data-v-73a1d180]{padding:20px;margin-bottom:30px}.office-suite-switcher__aio-message[data-v-73a1d180]{background-color:var(--color-background-dark);border:1px solid var(--color-border);border-radius:var(--border-radius-large);padding:20px;text-align:center}.office-suite-switcher p[data-v-73a1d180]{margin:8px 0}.office-suite-switcher p[data-v-73a1d180]:first-child{font-weight:600}.office-suite-cards[data-v-73a1d180]{display:flex;gap:20px;max-width:1200px}.office-suite-card[data-v-73a1d180]{flex:1;background-color:var(--color-main-background);border:2px solid var(--color-border);border-radius:var(--border-radius-large);padding:24px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column}.office-suite-card *[data-v-73a1d180]{cursor:pointer}.office-suite-card[data-v-73a1d180]:hover{border-color:var(--color-primary-element);box-shadow:0 4px 12px rgba(0,0,0,.1)}.office-suite-card--selected[data-v-73a1d180]{background:linear-gradient(135deg, var(--color-primary-element-light) 0%, var(--color-main-background) 100%);color:var(--color-main-text);border-color:var(--color-primary-element)}.office-suite-card__header[data-v-73a1d180]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.office-suite-card__title[data-v-73a1d180]{font-size:24px;font-weight:600;margin:0}.office-suite-card--primary .office-suite-card__check[data-v-73a1d180]{color:var(--color-primary-element)}.office-suite-card__features[data-v-73a1d180]{list-style:none;padding:0;margin:0 0 20px 0;flex-grow:1}.office-suite-card__features li[data-v-73a1d180]{padding:4px 0;padding-inline-start:20px;position:relative;line-height:1.5}.office-suite-card__features li[data-v-73a1d180]::before{content:"•";position:absolute;inset-inline-start:0;font-weight:bold}.office-suite-card__link[data-v-73a1d180]{display:inline-flex;align-items:center;gap:6px;color:var(--color-main-text);text-decoration:none;font-weight:500;margin-top:auto}.office-suite-card__link[data-v-73a1d180]:hover{text-decoration:underline}.office-suite-card--selected .office-suite-card__link[data-v-73a1d180]{color:var(--color-main-text)}.office-suite-actions[data-v-73a1d180]{margin-top:16px}.office-suite-disable-button[data-v-73a1d180]{background:rgba(0,0,0,0);border:1px solid var(--color-border);border-radius:var(--border-radius-small);padding:8px 12px;font-weight:600;color:var(--color-main-text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.office-suite-disable-button[data-v-73a1d180]:disabled{opacity:.5;cursor:default}.office-suite-disable-button[data-v-73a1d180]:hover:not(:disabled){border-color:var(--color-primary-element);background:var(--color-background-dark)}@media(max-width: 768px){.office-suite-cards[data-v-73a1d180]{flex-direction:column}}',"",{version:3,sources:["webpack://./OfficeSuiteSwitcher.vue","webpack://./apps/settings/src/components/AppList/OfficeSuiteSwitcher.vue"],names:[],mappings:"AAAA,wCCCA,YACC,CAAA,kBACA,CAAA,qDAEA,6CACC,CAAA,oCACA,CAAA,wCACA,CAAA,YACA,CAAA,iBACA,CAAA,0CAGE,YACI,CAAA,sDAEA,eACI,CAAA,qCAKZ,YACC,CAAA,QACA,CAAA,gBACA,CAAA,oCAGD,MACC,CAAA,6CACA,CAAA,oCACA,CAAA,wCACA,CAAA,YACA,CAAA,cACA,CAAA,uBACA,CAAA,YACA,CAAA,qBACA,CAAA,sCAEA,cACC,CAAA,0CAGD,yCACC,CAAA,oCACA,CAAA,8CAGD,4GACC,CAAA,4BACA,CAAA,yCACA,CAAA,4CAGD,YACC,CAAA,6BACA,CAAA,kBACA,CAAA,kBACA,CAAA,2CAGD,cACC,CAAA,eACA,CAAA,QACA,CAAA,uEAGD,kCACC,CAAA,8CAGD,eACC,CAAA,SACA,CAAA,iBACA,CAAA,WACA,CAAA,iDAEA,aACC,CAAA,yBACA,CAAA,iBACA,CAAA,eACA,CAAA,yDAEA,WACC,CAAA,iBACA,CAAA,oBACA,CAAA,gBACA,CAAA,0CAKH,mBACC,CAAA,kBACA,CAAA,OACA,CAAA,4BACA,CAAA,oBACA,CAAA,eACA,CAAA,eACA,CAAA,gDAEA,yBACC,CAAA,uEAIF,4BACC,CAAA,uCAIF,eACC,CAAA,8CAGD,wBACC,CAAA,oCACA,CAAA,wCACA,CAAA,gBACA,CAAA,eACA,CAAA,4BACA,CAAA,cACA,CAAA,sDACA,CAAA,uDAGD,UACC,CAAA,cACA,CAAA,mEAGD,yCACC,CAAA,uCACA,CAAA,yBAGD,qCACC,qBACC,CAAA",sourcesContent:['.office-suite-switcher{padding:20px;margin-bottom:30px}.office-suite-switcher__aio-message{background-color:var(--color-background-dark);border:1px solid var(--color-border);border-radius:var(--border-radius-large);padding:20px;text-align:center}.office-suite-switcher p{margin:8px 0}.office-suite-switcher p:first-child{font-weight:600}.office-suite-cards{display:flex;gap:20px;max-width:1200px}.office-suite-card{flex:1;background-color:var(--color-main-background);border:2px solid var(--color-border);border-radius:var(--border-radius-large);padding:24px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column}.office-suite-card *{cursor:pointer}.office-suite-card:hover{border-color:var(--color-primary-element);box-shadow:0 4px 12px rgba(0,0,0,.1)}.office-suite-card--selected{background:linear-gradient(135deg, var(--color-primary-element-light) 0%, var(--color-main-background) 100%);color:var(--color-main-text);border-color:var(--color-primary-element)}.office-suite-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.office-suite-card__title{font-size:24px;font-weight:600;margin:0}.office-suite-card--primary .office-suite-card__check{color:var(--color-primary-element)}.office-suite-card__features{list-style:none;padding:0;margin:0 0 20px 0;flex-grow:1}.office-suite-card__features li{padding:4px 0;padding-inline-start:20px;position:relative;line-height:1.5}.office-suite-card__features li::before{content:"•";position:absolute;inset-inline-start:0;font-weight:bold}.office-suite-card__link{display:inline-flex;align-items:center;gap:6px;color:var(--color-main-text);text-decoration:none;font-weight:500;margin-top:auto}.office-suite-card__link:hover{text-decoration:underline}.office-suite-card--selected .office-suite-card__link{color:var(--color-main-text)}.office-suite-actions{margin-top:16px}.office-suite-disable-button{background:rgba(0,0,0,0);border:1px solid var(--color-border);border-radius:var(--border-radius-small);padding:8px 12px;font-weight:600;color:var(--color-main-text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.office-suite-disable-button:disabled{opacity:.5;cursor:default}.office-suite-disable-button:hover:not(:disabled){border-color:var(--color-primary-element);background:var(--color-background-dark)}@media(max-width: 768px){.office-suite-cards{flex-direction:column}}',"\n.office-suite-switcher {\n\tpadding: 20px;\n\tmargin-bottom: 30px;\n\n\t&__aio-message {\n\t\tbackground-color: var(--color-background-dark);\n\t\tborder: 1px solid var(--color-border);\n\t\tborder-radius: var(--border-radius-large);\n\t\tpadding: 20px;\n\t\ttext-align: center;\n\t}\n\n p {\n margin: 8px 0;\n\n &:first-child {\n font-weight: 600;\n }\n }\n}\n\n.office-suite-cards {\n\tdisplay: flex;\n\tgap: 20px;\n\tmax-width: 1200px;\n}\n\n.office-suite-card {\n\tflex: 1;\n\tbackground-color: var(--color-main-background);\n\tborder: 2px solid var(--color-border);\n\tborder-radius: var(--border-radius-large);\n\tpadding: 24px;\n\tcursor: pointer;\n\ttransition: all 0.2s ease;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t& * {\n\t\tcursor: pointer;\n\t}\n\n\t&:hover {\n\t\tborder-color: var(--color-primary-element);\n\t\tbox-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n\t}\n\n\t&--selected {\n\t\tbackground: linear-gradient(135deg, var(--color-primary-element-light) 0%, var(--color-main-background) 100%);\n\t\tcolor: var(--color-main-text);\n\t\tborder-color: var(--color-primary-element);\n\t}\n\n\t&__header {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tmargin-bottom: 16px;\n\t}\n\n\t&__title {\n\t\tfont-size: 24px;\n\t\tfont-weight: 600;\n\t\tmargin: 0;\n\t}\n\n\t.office-suite-card--primary &__check {\n\t\tcolor: var(--color-primary-element);\n\t}\n\n\t&__features {\n\t\tlist-style: none;\n\t\tpadding: 0;\n\t\tmargin: 0 0 20px 0;\n\t\tflex-grow: 1;\n\n\t\tli {\n\t\t\tpadding: 4px 0;\n\t\t\tpadding-inline-start: 20px;\n\t\t\tposition: relative;\n\t\t\tline-height: 1.5;\n\n\t\t\t&::before {\n\t\t\t\tcontent: '•';\n\t\t\t\tposition: absolute;\n\t\t\t\tinset-inline-start: 0;\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__link {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tgap: 6px;\n\t\tcolor: var(--color-main-text);\n\t\ttext-decoration: none;\n\t\tfont-weight: 500;\n\t\tmargin-top: auto;\n\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\t.office-suite-card--selected &__link {\n\t\tcolor: var(--color-main-text);\n\t}\n}\n\n.office-suite-actions {\n\tmargin-top: 16px;\n}\n\n.office-suite-disable-button {\n\tbackground: transparent;\n\tborder: 1px solid var(--color-border);\n\tborder-radius: var(--border-radius-small);\n\tpadding: 8px 12px;\n\tfont-weight: 600;\n\tcolor: var(--color-main-text);\n\tcursor: pointer;\n\ttransition: background 0.15s ease, border-color 0.15s ease;\n}\n\n.office-suite-disable-button:disabled {\n\topacity: 0.5;\n\tcursor: default;\n}\n\n.office-suite-disable-button:hover:not(:disabled) {\n\tborder-color: var(--color-primary-element);\n\tbackground: var(--color-background-dark);\n}\n\n@media (max-width: 768px) {\n\t.office-suite-cards {\n\t\tflex-direction: column;\n\t}\n}\n"],sourceRoot:""}]);const r=s},39302(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,".app-discover[data-v-32ad4b6a]{max-width:1008px;margin-inline:auto;padding-inline:54px;padding-block-end:var(--default-clickable-area, 44px);display:flex;flex-direction:column;gap:var(--default-clickable-area, 44px)}","",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue"],names:[],mappings:"AACA,+BACC,gBAAA,CACA,kBAAA,CACA,mBAAA,CAEA,qDAAA,CAEA,YAAA,CACA,qBAAA,CACA,uCAAA",sourcesContent:["\n.app-discover {\n\tmax-width: 1008px; /* 900px + 2x 54px padding for the carousel controls */\n\tmargin-inline: auto;\n\tpadding-inline: 54px;\n\t/* Padding required to make last element not bound to the bottom */\n\tpadding-block-end: var(--default-clickable-area, 44px);\n\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--default-clickable-area, 44px);\n}\n"],sourceRoot:""}]);const r=s},9754(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,".daemon[data-v-28419269]{padding:20px}.daemon h4[data-v-28419269]{font-weight:bold;margin:10px auto}","",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue"],names:[],mappings:"AACA,yBACE,YAAA,CAEA,4BACE,gBAAA,CACA,gBAAA",sourcesContent:["\n.daemon {\n padding: 20px;\n\n h4 {\n font-weight: bold;\n margin: 10px auto;\n }\n}\n"],sourceRoot:""}]);const r=s},74142(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,".app-description[data-v-1d5b4408]{padding:12px}","",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue"],names:[],mappings:"AACA,kCACC,YAAA",sourcesContent:["\n.app-description {\n\tpadding: 12px;\n}\n"],sourceRoot:""}]);const r=s},77946(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,'.app-details[data-v-158761c9]{padding:20px}.app-details__actions-manage[data-v-158761c9]{display:flex;align-items:center}.app-details__actions-manage input[data-v-158761c9]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__authors[data-v-158761c9]{color:var(--color-text-maxcontrast)}.app-details__section[data-v-158761c9]{margin-top:15px}.app-details__section h4[data-v-158761c9]{font-size:16px;font-weight:bold;margin-block-end:5px}.app-details__interact[data-v-158761c9]{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.app-details__documentation a[data-v-158761c9]{text-decoration:underline}.app-details__documentation li[data-v-158761c9]{padding-inline-start:20px}.app-details__documentation li[data-v-158761c9]::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}.force[data-v-158761c9]{color:var(--color-text-error);border-color:var(--color-border-error);background:var(--color-main-background)}.force[data-v-158761c9]:hover,.force[data-v-158761c9]:active{color:var(--color-main-background);border-color:var(--color-border-error) !important;background:var(--color-error)}.missing-dependencies[data-v-158761c9]{list-style:initial;list-style-type:initial;list-style-position:inside}',"",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue"],names:[],mappings:"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,kBAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,uCACC,mCAAA,CAGD,uCACC,eAAA,CAEA,0CACC,cAAA,CACA,gBAAA,CACA,oBAAA,CAIF,wCACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,QAAA,CAIA,+CACC,yBAAA,CAED,gDACC,yBAAA,CAEA,wDACC,SAAA,CACA,UAAA,CACA,kBAAA,CACA,uCAAA,CACA,UAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA,CACA,QAAA,CAMJ,wBACC,6BAAA,CACA,sCAAA,CACA,uCAAA,CAGD,6DAEC,kCAAA,CACA,iDAAA,CACA,6BAAA,CAGD,uCACC,kBAAA,CACA,uBAAA,CACA,0BAAA",sourcesContent:['\n.app-details {\n\tpadding: 20px;\n\n\t&__actions {\n\t\t// app management\n\t\t&-manage {\n\t\t\t// if too many, shrink them and ellipsis\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tinput {\n\t\t\t\tflex: 0 1 auto;\n\t\t\t\tmin-width: 0;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t}\n\t}\n\t&__authors {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__section {\n\t\tmargin-top: 15px;\n\n\t\th4 {\n\t\t\tfont-size: 16px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin-block-end: 5px;\n\t\t}\n\t}\n\n\t&__interact {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tgap: 12px;\n\t}\n\n\t&__documentation {\n\t\ta {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t\tli {\n\t\t\tpadding-inline-start: 20px;\n\n\t\t\t&::before {\n\t\t\t\twidth: 5px;\n\t\t\t\theight: 5px;\n\t\t\t\tborder-radius: 100%;\n\t\t\t\tbackground-color: var(--color-main-text);\n\t\t\t\tcontent: "";\n\t\t\t\tfloat: inline-start;\n\t\t\t\tmargin-inline-start: -13px;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: 10px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.force {\n\tcolor: var(--color-text-error);\n\tborder-color: var(--color-border-error);\n\tbackground: var(--color-main-background);\n}\n\n.force:hover,\n.force:active {\n\tcolor: var(--color-main-background);\n\tborder-color: var(--color-border-error) !important;\n\tbackground: var(--color-error);\n}\n\n.missing-dependencies {\n\tlist-style: initial;\n\tlist-style-type: initial;\n\tlist-style-position: inside;\n}\n'],sourceRoot:""}]);const r=s},36767(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,".app-sidebar-tabs__release h2[data-v-69f0fc16]{border-bottom:1px solid var(--color-border);font-size:24px}.app-sidebar-tabs__release-text[data-v-69f0fc16] h3{font-size:20px}.app-sidebar-tabs__release-text[data-v-69f0fc16] h4{font-size:17px}","",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue"],names:[],mappings:"AAEC,+CACC,2CAAA,CACA,cAAA,CAKA,oDACC,cAAA,CAED,oDACC,cAAA",sourcesContent:["\n.app-sidebar-tabs__release {\n\th2 {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t\tfont-size: 24px;\n\t}\n\n\t&-text {\n\t\t// Overwrite changelog heading styles\n\t\t:deep(h3) {\n\t\t\tfont-size: 20px;\n\t\t}\n\t\t:deep(h4) {\n\t\t\tfont-size: 17px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const r=s},74243(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,'.settings-markdown[data-v-62ec0d6b] a{text-decoration:underline}.settings-markdown[data-v-62ec0d6b] a::after{content:"↗";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown[data-v-62ec0d6b] 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-62ec0d6b] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-62ec0d6b] li{position:relative}.settings-markdown[data-v-62ec0d6b] ul,.settings-markdown[data-v-62ec0d6b] ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown[data-v-62ec0d6b] ul li{list-style-type:disc}.settings-markdown[data-v-62ec0d6b] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-62ec0d6b] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-62ec0d6b] blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}',"",{version:3,sources:["webpack://./Markdown.vue","webpack://./apps/settings/src/components/Markdown.vue"],names:[],mappings:"AAAA,sCCEC,yBACC,CAAA,6CACA,WACC,CAAA,mDACA,CAAA,wCAIF,eACC,CAAA,eACA,CAAA,6CACA,CAAA,kCACA,CAAA,iBACA,CAAA,iBACA,CAAA,2CAGD,6CACC,CAAA,kCACA,CAAA,iBACA,CAAA,uCAGD,iBACC,CAAA,8EAGD,yBACC,CAAA,wBACA,CAAA,0CAGD,oBACC,CAAA,gDAGD,sBACC,CAAA,sDAGD,sBACC,CAAA,+CAGD,wBACC,CAAA,0DACA,CAAA,mCACA,CAAA,eACA",sourcesContent:['.settings-markdown :deep a{text-decoration:underline}.settings-markdown :deep a::after{content:"↗";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown :deep 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 :deep p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown :deep li{position:relative}.settings-markdown :deep ul,.settings-markdown :deep ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown :deep ul li{list-style-type:disc}.settings-markdown :deep ul>li>ul>li{list-style-type:circle}.settings-markdown :deep ul>li>ul>li ul li{list-style-type:square}.settings-markdown :deep blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}',"\n.settings-markdown :deep {\n\ta {\n\t\ttext-decoration: underline;\n\t\t&::after {\n\t\t\tcontent: '↗';\n\t\t\tpadding-inline: calc(var(--default-grid-baseline) / 2);\n\t\t}\n\t}\n\n\tpre {\n\t\twhite-space: pre;\n\t\toverflow-x: auto;\n\t\tbackground-color: var(--color-background-dark);\n\t\tborder-radius: var(--border-radius);\n\t\tpadding: 1em 1.3em;\n\t\tmargin-bottom: 1em;\n\t}\n\n\tp code {\n\t\tbackground-color: var(--color-background-dark);\n\t\tborder-radius: var(--border-radius);\n\t\tpadding: .1em .3em;\n\t}\n\n\tli {\n\t\tposition: relative;\n\t}\n\n\tul, ol {\n\t\tpadding-inline-start: 10px;\n\t\tmargin-inline-start: 10px;\n\t}\n\n\tul li {\n\t\tlist-style-type: disc;\n\t}\n\n\tul > li > ul > li {\n\t\tlist-style-type: circle;\n\t}\n\n\tul > li > ul > li ul li {\n\t\tlist-style-type: square;\n\t}\n\n\tblockquote {\n\t\tpadding-inline-start: 1em;\n\t\tborder-inline-start: 4px solid var(--color-primary-element);\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-inline: 0;\n\t}\n}\n"],sourceRoot:""}]);const r=s},67738(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,".app-sidebar--with-screenshot[data-v-ef4e006a] .app-sidebar-header__figure{background-size:cover}.app-sidebar__fallback-icon[data-v-ef4e006a]{width:100%;height:100%}.app-sidebar__badges[data-v-ef4e006a]{display:flex;flex-direction:row;gap:12px}.app-sidebar__version[data-v-ef4e006a]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/views/AppStoreSidebar.vue"],names:[],mappings:"AAIE,2EACC,qBAAA,CAIF,6CAEC,UAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,QAAA,CAGD,uCACC,mCAAA",sourcesContent:["\n.app-sidebar {\n\t// If a screenshot is available it should cover the whole figure\n\t&--with-screenshot {\n\t\t:deep(.app-sidebar-header__figure) {\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__fallback-icon {\n\t\t// both 100% to center the icon\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&__badges {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 12px;\n\t}\n\n\t&__version {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const r=s},62272(t,e,n){n.d(e,{A:()=>r});var a=n(71354),i=n.n(a),o=n(76314),s=n.n(o)()(i());s.push([t.id,"\n.app-score__wrapper[data-v-0774afca] {\n\tdisplay: inline-flex;\n\tcolor: var(--color-favorite, #a08b00);\n> *[data-v-0774afca] {\n\t\tvertical-align: text-bottom;\n}\n}\n","",{version:3,sources:["webpack://./apps/settings/src/components/AppList/AppScore.vue"],names:[],mappings:";AA0EA;CACA,oBAAA;CACA,qCAAA;AAEA;EACA,2BAAA;AACA;AACA",sourcesContent:['\x3c!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\n\n