settings-apps-view-4529.js 79 KB

12
  1. (self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[4529],{87558:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var s=n(71354),a=n.n(s),i=n(76314),r=n.n(i)()(a());r.push([e.id,".app-details[data-v-79b6e1ee]{padding:20px}.app-details__actions-manage[data-v-79b6e1ee]{display:flex}.app-details__actions-manage input[data-v-79b6e1ee]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__dependencies[data-v-79b6e1ee]{opacity:.7}.app-details__documentation[data-v-79b6e1ee]{padding-top:20px}.app-details__documentation a.appslink[data-v-79b6e1ee]{display:block}.app-details__description[data-v-79b6e1ee]{padding-top:20px}.force[data-v-79b6e1ee]{color:var(--color-error);border-color:var(--color-error);background:var(--color-main-background)}.force[data-v-79b6e1ee]:hover,.force[data-v-79b6e1ee]:active{color:var(--color-main-background);border-color:var(--color-error) !important;background:var(--color-error)}","",{version:3,sources:["webpack://./apps/settings/src/components/AppDetails.vue"],names:[],mappings:"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,4CACC,UAAA,CAED,6CACC,gBAAA,CACA,wDACC,aAAA,CAGF,2CACC,gBAAA,CAIF,wBACC,wBAAA,CACA,+BAAA,CACA,uCAAA,CAED,6DAEC,kCAAA,CACA,0CAAA,CACA,6BAAA",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\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&__dependencies {\n\t\topacity: .7;\n\t}\n\t&__documentation {\n\t\tpadding-top: 20px;\n\t\ta.appslink {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\t&__description {\n\t\tpadding-top: 20px;\n\t}\n}\n\n.force {\n\tcolor: var(--color-error);\n\tborder-color: var(--color-error);\n\tbackground: var(--color-main-background);\n}\n.force:hover,\n.force:active {\n\tcolor: var(--color-main-background);\n\tborder-color: var(--color-error) !important;\n\tbackground: var(--color-error);\n}\n\n"],sourceRoot:""}]);const o=r},93991:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var s=n(71354),a=n.n(s),i=n(76314),r=n.n(i)()(a());r.push([e.id,".app-bundle-heading[data-v-0294f215]{display:flex;align-items:center;margin:20px 10px 20px 0}.app-bundle-header[data-v-0294f215]{margin:0 10px 0 50px;font-weight:bold;font-size:20px;line-height:30px;color:var(--color-text-light)}.apps-store-view[data-v-0294f215]{display:flex;flex-wrap:wrap}","",{version:3,sources:["webpack://./apps/settings/src/components/AppList.vue"],names:[],mappings:"AACA,qCACC,YAAA,CACA,kBAAA,CACA,uBAAA,CAED,oCACC,oBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,6BAAA,CAED,kCACC,YAAA,CACA,cAAA",sourcesContent:["\n.app-bundle-heading {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin: 20px 10px 20px 0;\n}\n.app-bundle-header {\n\tmargin: 0 10px 0 50px;\n\tfont-weight: bold;\n\tfont-size: 20px;\n\tline-height: 30px;\n\tcolor: var(--color-text-light);\n}\n.apps-store-view {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n"],sourceRoot:""}]);const o=r},4554:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var s=n(71354),a=n.n(s),i=n(76314),r=n.n(i)()(a());r.push([e.id,'.app-icon[data-v-79bd4dc4]{filter:var(--background-invert-if-bright)}.app-image img[data-v-79bd4dc4]{width:100%}.app-name--link[data-v-79bd4dc4]::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0}',"",{version:3,sources:["webpack://./apps/settings/src/components/AppList/AppItem.vue"],names:[],mappings:"AACA,2BACC,yCAAA,CAGD,gCACC,UAAA,CAGD,wCACE,UAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA",sourcesContent:["\n.app-icon {\n\tfilter: var(--background-invert-if-bright);\n}\n\n.app-image img {\n\twidth: 100%;\n}\n\n.app-name--link::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n"],sourceRoot:""}]);const o=r},44958:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var s=n(71354),a=n.n(s),i=n(76314),r=n.n(i)()(a());r.push([e.id,".settings-markdown[data-v-ffd9a2d6] h1,.settings-markdown[data-v-ffd9a2d6] h2,.settings-markdown[data-v-ffd9a2d6] h3,.settings-markdown[data-v-ffd9a2d6] h4,.settings-markdown[data-v-ffd9a2d6] h5,.settings-markdown[data-v-ffd9a2d6] h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}.settings-markdown[data-v-ffd9a2d6] h1{font-size:36px;margin-top:48px}.settings-markdown[data-v-ffd9a2d6] h2{font-size:28px;margin-top:48px}.settings-markdown[data-v-ffd9a2d6] h3{font-size:24px}.settings-markdown[data-v-ffd9a2d6] h4{font-size:21px}.settings-markdown[data-v-ffd9a2d6] h5{font-size:17px}.settings-markdown[data-v-ffd9a2d6] h6{font-size:var(--default-font-size)}.settings-markdown[data-v-ffd9a2d6] 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-ffd9a2d6] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-ffd9a2d6] li{position:relative}.settings-markdown[data-v-ffd9a2d6] ul,.settings-markdown[data-v-ffd9a2d6] ol{padding-left:10px;margin-left:10px}.settings-markdown[data-v-ffd9a2d6] ul li{list-style-type:disc}.settings-markdown[data-v-ffd9a2d6] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-ffd9a2d6] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-ffd9a2d6] blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}","",{version:3,sources:["webpack://./apps/settings/src/components/Markdown.vue"],names:[],mappings:"AAGA,0OAMC,eAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,4BAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,kCAAA,CAGD,wCACC,eAAA,CACA,eAAA,CACA,6CAAA,CACA,kCAAA,CACA,iBAAA,CACA,iBAAA,CAGD,2CACC,6CAAA,CACA,kCAAA,CACA,iBAAA,CAGD,uCACC,iBAAA,CAGD,8EACC,iBAAA,CACA,gBAAA,CAGD,0CACC,oBAAA,CAGD,gDACC,sBAAA,CAGD,sDACC,sBAAA,CAGD,+CACC,gBAAA,CACA,kDAAA,CACA,mCAAA,CACA,aAAA,CACA,cAAA",sourcesContent:["\n.settings-markdown::v-deep {\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n\tfont-weight: 600;\n\tline-height: 120%;\n\tmargin-top: 24px;\n\tmargin-bottom: 12px;\n\tcolor: var(--color-main-text);\n}\n\nh1 {\n\tfont-size: 36px;\n\tmargin-top: 48px;\n}\n\nh2 {\n\tfont-size: 28px;\n\tmargin-top: 48px;\n}\n\nh3 {\n\tfont-size: 24px;\n}\n\nh4 {\n\tfont-size: 21px;\n}\n\nh5 {\n\tfont-size: 17px;\n}\n\nh6 {\n\tfont-size: var(--default-font-size);\n}\n\npre {\n\twhite-space: pre;\n\toverflow-x: auto;\n\tbackground-color: var(--color-background-dark);\n\tborder-radius: var(--border-radius);\n\tpadding: 1em 1.3em;\n\tmargin-bottom: 1em;\n}\n\np code {\n\tbackground-color: var(--color-background-dark);\n\tborder-radius: var(--border-radius);\n\tpadding: .1em .3em;\n}\n\nli {\n\tposition: relative;\n}\n\nul, ol {\n\tpadding-left: 10px;\n\tmargin-left: 10px;\n}\n\nul li {\n\tlist-style-type: disc;\n}\n\nul > li > ul > li {\n\tlist-style-type: circle;\n}\n\nul > li > ul > li ul li {\n\tlist-style-type: square;\n}\n\nblockquote {\n\tpadding-left: 1em;\n\tborder-left: 4px solid var(--color-primary-element);\n\tcolor: var(--color-text-maxcontrast);\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n}\n"],sourceRoot:""}]);const o=r},27794:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var s=n(71354),a=n.n(s),i=n(76314),r=n.n(i)()(a());r.push([e.id,".app-sidebar[data-v-611a3de0]:not(.app-sidebar--without-background) :not(.app-sidebar-header--compact) .app-sidebar-header__figure{background-size:cover}.app-sidebar[data-v-611a3de0]:not(.app-sidebar--without-background) .app-sidebar-header--compact .app-sidebar-header__figure{background-size:32px;filter:var(--background-invert-if-bright)}.app-sidebar[data-v-611a3de0] .app-sidebar-header__description .app-version{padding-left:10px}.app-sidebar[data-v-611a3de0].app-sidebar--without-background .app-sidebar-header__figure{display:flex;align-items:center;justify-content:center}.app-sidebar[data-v-611a3de0].app-sidebar--without-background .app-sidebar-header__figure--default-app-icon{width:32px;height:32px;background-size:32px}.app-sidebar[data-v-611a3de0] .app-sidebar-header__desc .app-sidebar-header__subtitle{overflow:visible !important;height:auto;white-space:normal !important;line-height:16px}.app-sidebar[data-v-611a3de0] .app-sidebar-header__action{margin:0 20px}.app-sidebar[data-v-611a3de0] .app-sidebar-header__action input{margin:3px}.app-navigation[data-v-611a3de0] button.app-navigation-toggle{top:8px;right:-8px}.app-sidebar-tabs__release h2[data-v-611a3de0]{border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__release[data-v-611a3de0] h3{font-size:20px}.app-sidebar-tabs__release[data-v-611a3de0] h4{font-size:17px}","",{version:3,sources:["webpack://./apps/settings/src/views/Apps.vue"],names:[],mappings:"AAIE,mIACC,qBAAA,CAGD,6HACC,oBAAA,CAEA,yCAAA,CAKD,4EACC,iBAAA,CAMD,0FACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,4GACC,UAAA,CACA,WAAA,CACA,oBAAA,CAQF,sFACC,2BAAA,CACA,WAAA,CACA,6BAAA,CACA,gBAAA,CAIF,0DAEC,aAAA,CACA,gEACC,UAAA,CAMH,8DACC,OAAA,CACA,UAAA,CAIA,+CACC,2CAAA,CAKA,+CACC,cAAA,CAED,+CACC,cAAA",sourcesContent:["\n.app-sidebar::v-deep {\n\t&:not(.app-sidebar--without-background) {\n\t\t// with full screenshot, let's fill the figure\n\t\t:not(.app-sidebar-header--compact) .app-sidebar-header__figure {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t// revert sidebar app icon so it is black\n\t\t.app-sidebar-header--compact .app-sidebar-header__figure {\n\t\t\tbackground-size: 32px;\n\n\t\t\tfilter: var(--background-invert-if-bright);\n\t\t}\n\t}\n\n\t.app-sidebar-header__description {\n\t\t.app-version {\n\t\t\tpadding-left: 10px;\n\t\t}\n\t}\n\n\t// default icon slot styling\n\t&.app-sidebar--without-background {\n\t\t.app-sidebar-header__figure {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\t&--default-app-icon {\n\t\t\t\twidth: 32px;\n\t\t\t\theight: 32px;\n\t\t\t\tbackground-size: 32px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: migrate to components\n\t.app-sidebar-header__desc {\n\t\t// allow multi line subtitle for the license\n\t\t.app-sidebar-header__subtitle {\n\t\t\toverflow: visible !important;\n\t\t\theight: auto;\n\t\t\twhite-space: normal !important;\n\t\t\tline-height: 16px;\n\t\t}\n\t}\n\n\t.app-sidebar-header__action {\n\t\t// align with tab content\n\t\tmargin: 0 20px;\n\t\tinput {\n\t\t\tmargin: 3px;\n\t\t}\n\t}\n}\n\n// Align the appNavigation toggle with the apps header toolbar\n.app-navigation::v-deep button.app-navigation-toggle {\n\ttop: 8px;\n\tright: -8px;\n}\n\n.app-sidebar-tabs__release {\n\th2 {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t// Overwrite changelog heading styles\n\t::v-deep {\n\t\th3 {\n\t\t\tfont-size: 20px;\n\t\t}\n\t\th4 {\n\t\t\tfont-size: 17px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},61653:(e,n,s)=>{"use strict";s.r(n),s.d(n,{default:()=>$t});var a=s(61338),i=s(85471),r=s(35973),o=s.n(r),l=s(18195),p=s(42530),c=s(52439),d=s(46700),u=s(74769),h=s(11831),g=s(74719),A=s(22378);const f={name:"StarShootingIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var m=s(14486);const b=(0,m.A)(f,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon star-shooting-icon",attrs:{"aria-hidden":!e.title||null,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M18.09 11.77L19.56 18.1L14 14.74L8.44 18.1L9.9 11.77L5 7.5L11.47 6.96L14 1L16.53 6.96L23 7.5L18.09 11.77M2 12.43C2.19 12.43 2.38 12.37 2.55 12.26L5.75 10.15L4.18 8.79L1.45 10.59C.989 10.89 .861 11.5 1.16 12C1.36 12.27 1.68 12.43 2 12.43M1.16 21.55C1.36 21.84 1.68 22 2 22C2.19 22 2.38 21.95 2.55 21.84L6.66 19.13L7 17.76L7.31 16.31L1.45 20.16C.989 20.47 .861 21.09 1.16 21.55M1.45 15.38C.989 15.68 .861 16.3 1.16 16.76C1.36 17.06 1.68 17.21 2 17.21C2.19 17.21 2.38 17.16 2.55 17.05L7.97 13.5L8.24 12.31L7.32 11.5L1.45 15.38Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports;var k=s(99498);const v={name:"AppScore",props:["score"],computed:{appScore(){return Math.round(10*this.score)},scoreImage(){const e="rating/s"+this.appScore+".svg";return(0,k.d0)("core",e)}}},_=(0,m.A)(v,(function(){var e=this;return(0,e._self._c)("img",{staticClass:"app-score-image",attrs:{src:e.scoreImage,alt:e.t("settings","Rating: {score}/10",{score:e.appScore})}})}),[],!1,null,null,null).exports;var x=s(85168),C=s(26287);const w=()=>C.A.get((0,k.KT)("core/navigation",2)+"/apps?format=json").then((e=>{let{data:t}=e;200===t.ocs.meta.statuscode&&((0,a.Ic)("nextcloud:app-menu.refresh",{apps:t.ocs.data}),window.dispatchEvent(new Event("resize")))})),y={computed:{appGroups(){return this.app.groups.map((e=>({id:e,name:e})))},installing(){return this.$store.getters.loading("install")},isLoading(){return this.app&&this.$store.getters.loading(this.app.id)},enableButtonText(){return this.app.needsDownload?t("settings","Download and enable"):t("settings","Enable")},forceEnableButtonText(){return this.app.needsDownload,t("settings","Allow untested app")},enableButtonTooltip(){return 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 Nextcloud version. 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}},data:()=>({groupCheckedAppsData:!1}),mounted(){this.app&&this.app.groups&&this.app.groups.length>0&&(this.groupCheckedAppsData=!0)},methods:{asyncFindGroup(e){return this.$store.dispatch("getGroups",{search:e,limit:5,offset:0})},isLimitedToGroups(e){return!(!this.app.groups.length&&!this.groupCheckedAppsData)},setGroupLimit(){this.groupCheckedAppsData||this.$store.dispatch("enableApp",{appId:this.app.id,groups:[]})},canLimitToGroups:e=>!(e.types&&e.types.includes("filesystem")||e.types.includes("prelogin")||e.types.includes("authentication")||e.types.includes("logging")||e.types.includes("prevent_group_restriction")),addGroupLimitation(e){const t=e.pop(),n=this.app.groups.concat([]).concat([t.id]);this.$store.dispatch("enableApp",{appId:this.app.id,groups:n})},removeGroupLimitation(e){const t=this.app.groups.concat([]),n=t.indexOf(e.id);n>-1&&t.splice(n,1),this.$store.dispatch("enableApp",{appId:this.app.id,groups:t})},forceEnable(e){this.$store.dispatch("forceEnableApp",{appId:e,groups:[]}).then((e=>{w()})).catch((e=>{(0,x.Qg)(e)}))},enable(e){this.$store.dispatch("enableApp",{appId:e,groups:[]}).then((e=>{w()})).catch((e=>{(0,x.Qg)(e)}))},disable(e){this.$store.dispatch("disableApp",{appId:e}).then((e=>{w()})).catch((e=>{(0,x.Qg)(e)}))},remove(e){this.$store.dispatch("uninstallApp",{appId:e}).then((e=>{w()})).catch((e=>{(0,x.Qg)(e)}))},install(e){this.$store.dispatch("enableApp",{appId:e}).then((e=>{w()})).catch((e=>{(0,x.Qg)(e)}))},update(e){this.$store.dispatch("updateApp",{appId:e}).then((e=>{w()})).catch((e=>{(0,x.Qg)(e)}))}}},$={name:"SvgFilterMixin",data:()=>({filterId:""}),computed:{filterUrl(){return"url(#".concat(this.filterId,")")}},mounted(){this.filterId="invertIconApps-"+Math.random().toString(36).substring(2)}},S=(0,m.A)($,void 0,void 0,!1,null,null,null).exports;var I=s(54576);const T={name:"AppItem",components:{AppScore:_,NcButton:I.A},mixins:[y,S],props:{app:{},category:{},listView:{type:Boolean,default:!0},useBundleView:{type:Boolean,default:!1},headers:{type:String,default:null}},data:()=>({isSelected:!1,scrolled:!1,screenshotLoaded:!1}),computed:{hasRating(){return this.app.appstoreData&&this.app.appstoreData.ratingNumOverall>5},dataItemTag(){return this.listView?"td":"div"}},watch:{"$route.params.id"(e){this.isSelected=this.app.id===e}},mounted(){if(this.isSelected=this.app.id===this.$route.params.id,this.app.releases&&this.app.screenshot){const e=new Image;e.onload=e=>{this.screenshotLoaded=!0},e.src=this.app.screenshot}},watchers:{},methods:{prefix:(e,t)=>e+"_"+t,getDataItemHeaders(e){return this.useBundleView?[this.headers,e].join(" "):null}}};var z=s(85072),B=s.n(z),N=s(97825),D=s.n(N),E=s(77659),L=s.n(E),R=s(55056),P=s.n(R),O=s(10540),M=s.n(O),G=s(41113),U=s.n(G),q=s(4554),V={};V.styleTagTransform=U(),V.setAttributes=P(),V.insert=L().bind(null,"head"),V.domAPI=D(),V.insertStyleElement=M(),B()(q.A,V),q.A&&q.A.locals&&q.A.locals;const Q=(0,m.A)(T,(function(){var e=this,t=e._self._c;return t(e.listView?"tr":"li",{tag:"component",staticClass:"section",class:{selected:e.isSelected}},[t(e.dataItemTag,{tag:"component",staticClass:"app-image app-image-icon",attrs:{headers:e.getDataItemHeaders("app-table-col-icon")}},[e.listView&&!e.app.preview||!e.listView&&!e.screenshotLoaded?t("div",{staticClass:"icon-settings-dark"}):e.listView&&e.app.preview?t("svg",{attrs:{width:"32",height:"32",viewBox:"0 0 32 32"}},[t("image",{staticClass:"app-icon",attrs:{x:"0",y:"0",width:"32",height:"32",preserveAspectRatio:"xMinYMin meet","xlink:href":e.app.preview}})]):e._e(),e._v(" "),!e.listView&&e.app.screenshot&&e.screenshotLoaded?t("img",{attrs:{src:e.app.screenshot,alt:""}}):e._e()]),e._v(" "),t(e.dataItemTag,{tag:"component",staticClass:"app-name",attrs:{headers:e.getDataItemHeaders("app-table-col-name")}},[t("router-link",{staticClass:"app-name--link",attrs:{to:{name:"apps-details",params:{category:e.category,id:e.app.id}},"aria-label":e.t("settings","Show details for {appName} app",{appName:e.app.name})}},[e._v("\n\t\t\t"+e._s(e.app.name)+"\n\t\t")])],1),e._v(" "),e.listView?e._e():t(e.dataItemTag,{tag:"component",staticClass:"app-summary",attrs:{headers:e.getDataItemHeaders("app-version")}},[e._v("\n\t\t"+e._s(e.app.summary)+"\n\t")]),e._v(" "),e.listView?t(e.dataItemTag,{tag:"component",staticClass:"app-version",attrs:{headers:e.getDataItemHeaders("app-table-col-version")}},[e.app.version?t("span",[e._v(e._s(e.app.version))]):e.app.appstoreData.releases[0].version?t("span",[e._v(e._s(e.app.appstoreData.releases[0].version))]):e._e()]):e._e(),e._v(" "),t(e.dataItemTag,{tag:"component",staticClass:"app-level",attrs:{headers:e.getDataItemHeaders("app-table-col-level")}},[300===e.app.level?t("span",{staticClass:"supported icon-checkmark-color",attrs:{title:e.t("settings","This app is supported via your current Nextcloud subscription."),"aria-label":e.t("settings","This app is supported via your current Nextcloud subscription.")}},[e._v("\n\t\t\t"+e._s(e.t("settings","Supported")))]):e._e(),e._v(" "),200===e.app.level?t("span",{staticClass:"official icon-checkmark",attrs:{title:e.t("settings","Featured apps are developed by and within the community. They offer central functionality and are ready for production use."),"aria-label":e.t("settings","Featured apps are developed by and within the community. They offer central functionality and are ready for production use.")}},[e._v("\n\t\t\t"+e._s(e.t("settings","Featured")))]):e._e(),e._v(" "),e.hasRating&&!e.listView?t("AppScore",{attrs:{score:e.app.score}}):e._e()],1),e._v(" "),t(e.dataItemTag,{tag:"component",staticClass:"actions",attrs:{headers:e.getDataItemHeaders("app-table-col-actions")}},[e.app.error?t("div",{staticClass:"warning"},[e._v("\n\t\t\t"+e._s(e.app.error)+"\n\t\t")]):e._e(),e._v(" "),e.isLoading?t("div",{staticClass:"icon icon-loading-small"}):e._e(),e._v(" "),e.app.update?t("NcButton",{attrs:{type:"primary",disabled:e.installing||e.isLoading},on:{click:function(t){return t.stopPropagation(),e.update(e.app.id)}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Update to {update}",{update:e.app.update}))+"\n\t\t")]):e._e(),e._v(" "),e.app.canUnInstall?t("NcButton",{staticClass:"uninstall",attrs:{type:"tertiary",disabled:e.installing||e.isLoading},on:{click:function(t){return t.stopPropagation(),e.remove(e.app.id)}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Remove"))+"\n\t\t")]):e._e(),e._v(" "),e.app.active?t("NcButton",{attrs:{disabled:e.installing||e.isLoading},on:{click:function(t){return t.stopPropagation(),e.disable(e.app.id)}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Disable"))+"\n\t\t")]):e._e(),e._v(" "),e.app.active||!e.app.canInstall&&!e.app.isCompatible?e.app.active?e._e():t("NcButton",{attrs:{title:e.forceEnableButtonTooltip,"aria-label":e.forceEnableButtonTooltip,type:"secondary",disabled:e.installing||e.isLoading},on:{click:function(t){return t.stopPropagation(),e.forceEnable(e.app.id)}}},[e._v("\n\t\t\t"+e._s(e.forceEnableButtonText)+"\n\t\t")]):t("NcButton",{attrs:{title:e.enableButtonTooltip,"aria-label":e.enableButtonTooltip,type:"primary",disabled:!e.app.canInstall||e.installing||e.isLoading},on:{click:function(t){return t.stopPropagation(),e.enable(e.app.id)}}},[e._v("\n\t\t\t"+e._s(e.enableButtonText)+"\n\t\t")])],1)],1)}),[],!1,null,"79bd4dc4",null).exports,Z=(0,m.A)({name:"PrefixMixin",methods:{prefix:(e,t)=>e+"_"+t}},void 0,void 0,!1,null,null,null).exports;var F=s(98959);function j(e){if(!Number.isInteger(e)&&e!==Number.POSITIVE_INFINITY||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new F.A;let n=0;const s=async(e,s,a)=>{n++;const i=(async()=>e(...a))();s(i);try{await i}catch{}n--,t.size>0&&t.dequeue()()},a=function(a){for(var i=arguments.length,r=new Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];return new Promise((i=>{((a,i,r)=>{t.enqueue(s.bind(void 0,a,i,r)),(async()=>{await Promise.resolve(),n<e&&t.size>0&&t.dequeue()()})()})(a,i,r)}))};return Object.defineProperties(a,{activeCount:{get:()=>n},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),a}var H=s(96763);const Y={name:"AppList",components:{AppItem:Q,NcButton:I.A},mixins:[Z],props:["category","app","search"],computed:{counter(){return this.apps.filter((e=>e.update)).length},loading(){return this.$store.getters.loading("list")},hasPendingUpdate(){return this.apps.filter((e=>e.update)).length>0},showUpdateAll(){return this.hasPendingUpdate&&this.useListView},apps(){const e=this.$store.getters.getAllApps.filter((e=>-1!==e.name.toLowerCase().search(this.search.toLowerCase()))).sort((function(e,t){const n=""+(e.active?0:1)+(e.update?0:1)+e.name,s=""+(t.active?0:1)+(t.update?0:1)+t.name;return OC.Util.naturalSortCompare(n,s)}));return"installed"===this.category?e.filter((e=>e.installed)):"enabled"===this.category?e.filter((e=>e.active&&e.installed)):"disabled"===this.category?e.filter((e=>!e.active&&e.installed)):"app-bundles"===this.category?e.filter((e=>e.bundles)):"updates"===this.category?e.filter((e=>e.update)):"supported"===this.category?e.filter((e=>300===e.level)):"featured"===this.category?e.filter((e=>200===e.level)):e.filter((e=>e.appstore&&void 0!==e.category&&(e.category===this.category||e.category.indexOf(this.category)>-1)))},bundles(){return this.$store.getters.getAppBundles.filter((e=>this.bundleApps(e.id).length>0))},bundleApps:()=>function(e){return this.$store.getters.getAllApps.filter((t=>void 0!==t.bundleIds&&t.bundleIds.includes(e)))},searchApps(){return""===this.search?[]:this.$store.getters.getAllApps.filter((e=>-1!==e.name.toLowerCase().search(this.search.toLowerCase())&&!this.apps.find((t=>t.id===e.id))))},useAppStoreView(){return!this.useListView&&!this.useBundleView},useListView(){return"installed"===this.category||"enabled"===this.category||"disabled"===this.category||"updates"===this.category||"featured"===this.category||"supported"===this.category},useBundleView(){return"app-bundles"===this.category},allBundlesEnabled(){return e=>0===this.bundleApps(e).filter((e=>!e.active)).length},bundleToggleText(){return e=>this.allBundlesEnabled(e)?t("settings","Disable all"):t("settings","Download and enable all")}},methods:{toggleBundle(e){return this.allBundlesEnabled(e)?this.disableBundle(e):this.enableBundle(e)},enableBundle(e){const t=this.bundleApps(e).map((e=>e.id));this.$store.dispatch("enableApp",{appId:t,groups:[]}).catch((e=>{H.error(e),OC.Notification.show(e)}))},disableBundle(e){const t=this.bundleApps(e).map((e=>e.id));this.$store.dispatch("disableApp",{appId:t,groups:[]}).catch((e=>{OC.Notification.show(e)}))},updateAll(){const e=j(1);this.apps.filter((e=>e.update)).map((t=>e((()=>this.$store.dispatch("updateApp",{appId:t.id})))))}}};var K=s(93991),J={};J.styleTagTransform=U(),J.setAttributes=P(),J.insert=L().bind(null,"head"),J.domAPI=D(),J.insertStyleElement=M(),B()(K.A,J),K.A&&K.A.locals&&K.A.locals;const W=(0,m.A)(Y,(function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app-content-inner"}},[t("div",{staticClass:"apps-list",class:{installed:e.useBundleView||e.useListView,store:e.useAppStoreView},attrs:{id:"apps-list"}},[e.useListView?[e.showUpdateAll?t("div",{staticClass:"toolbar"},[e._v("\n\t\t\t\t"+e._s(e.n("settings","%n app has an update available","%n apps have an update available",e.counter))+"\n\t\t\t\t"),e.showUpdateAll?t("NcButton",{attrs:{id:"app-list-update-all",type:"primary"},on:{click:e.updateAll}},[e._v("\n\t\t\t\t\t"+e._s(e.n("settings","Update","Update all",e.counter))+"\n\t\t\t\t")]):e._e()],1):e._e(),e._v(" "),e.showUpdateAll?e._e():t("div",{staticClass:"toolbar"},[e._v("\n\t\t\t\t"+e._s(e.t("settings","All apps are up-to-date."))+"\n\t\t\t")]),e._v(" "),t("transition-group",{staticClass:"apps-list-container",attrs:{name:"app-list",tag:"table"}},[t("tr",{key:"app-list-view-header",staticClass:"apps-header"},[t("th",{staticClass:"app-image"},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Icon")))])]),e._v(" "),t("th",{staticClass:"app-name"},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Name")))])]),e._v(" "),t("th",{staticClass:"app-version"},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Version")))])]),e._v(" "),t("th",{staticClass:"app-level"},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Level")))])]),e._v(" "),t("th",{staticClass:"actions"},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Actions")))])])]),e._v(" "),e._l(e.apps,(function(n){return t("AppItem",{key:n.id,attrs:{app:n,category:e.category}})}))],2)]:e._e(),e._v(" "),e.useBundleView?t("table",{staticClass:"apps-list-container"},[t("tr",{key:"app-list-view-header",staticClass:"apps-header"},[t("th",{staticClass:"app-image",attrs:{id:"app-table-col-icon"}},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Icon")))])]),e._v(" "),t("th",{staticClass:"app-name",attrs:{id:"app-table-col-name"}},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Name")))])]),e._v(" "),t("th",{staticClass:"app-version",attrs:{id:"app-table-col-version"}},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Version")))])]),e._v(" "),t("th",{staticClass:"app-level",attrs:{id:"app-table-col-level"}},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Level")))])]),e._v(" "),t("th",{staticClass:"actions",attrs:{id:"app-table-col-actions"}},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Actions")))])])]),e._v(" "),e._l(e.bundles,(function(n){return[t("tr",{key:n.id},[t("th",{attrs:{id:"app-table-rowgroup-".concat(n.id),colspan:"5",scope:"rowgroup"}},[t("div",{staticClass:"app-bundle-heading"},[t("span",{staticClass:"app-bundle-header"},[e._v("\n\t\t\t\t\t\t\t\t"+e._s(n.name)+"\n\t\t\t\t\t\t\t")]),e._v(" "),t("NcButton",{attrs:{type:"secondary"},on:{click:function(t){return e.toggleBundle(n.id)}}},[e._v("\n\t\t\t\t\t\t\t\t"+e._s(e.t("settings",e.bundleToggleText(n.id)))+"\n\t\t\t\t\t\t\t")])],1)])]),e._v(" "),e._l(e.bundleApps(n.id),(function(s){return t("AppItem",{key:n.id+s.id,attrs:{"use-bundle-view":!0,headers:"app-table-rowgroup-".concat(n.id),app:s,category:e.category}})}))]}))],2):e._e(),e._v(" "),e.useAppStoreView?t("ul",{staticClass:"apps-store-view"},e._l(e.apps,(function(n){return t("AppItem",{key:n.id,attrs:{app:n,category:e.category,"list-view":!1}})})),1):e._e()],2),e._v(" "),t("div",{staticClass:"apps-list installed",attrs:{id:"apps-list-search"}},[t("div",{staticClass:"apps-list-container"},[""!==e.search&&e.searchApps.length>0?[t("div",{staticClass:"section"},[t("div"),e._v(" "),t("td",{attrs:{colspan:"5"}},[t("h2",[e._v(e._s(e.t("settings","Results from other categories")))])])]),e._v(" "),e._l(e.searchApps,(function(n){return t("AppItem",{key:n.id,attrs:{app:n,category:e.category}})}))]:e._e()],2)]),e._v(" "),""===e.search||e.loading||0!==e.searchApps.length||0!==e.apps.length?e._e():t("div",{staticClass:"emptycontent emptycontent-search",attrs:{id:"apps-list-empty"}},[t("div",{staticClass:"icon-settings-dark",attrs:{id:"app-list-empty-icon"}}),e._v(" "),t("h2",[e._v(e._s(e.t("settings","No apps found for your version")))])]),e._v(" "),t("div",{attrs:{id:"searchresults"}})])}),[],!1,null,"0294f215",null).exports;var X=s(67607),ee=s(96763);let te={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function ne(e){te=e}const se=/[&<>"']/,ae=new RegExp(se.source,"g"),ie=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,re=new RegExp(ie.source,"g"),oe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},le=e=>oe[e];function pe(e,t){if(t){if(se.test(e))return e.replace(ae,le)}else if(ie.test(e))return e.replace(re,le);return e}const ce=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function de(e){return e.replace(ce,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}const ue=/(^|[^\[])\^/g;function he(e,t){let n="string"==typeof e?e:e.source;t=t||"";const s={replace:(e,t)=>{let a="string"==typeof t?t:t.source;return a=a.replace(ue,"$1"),n=n.replace(e,a),s},getRegex:()=>new RegExp(n,t)};return s}function ge(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return null}return e}const Ae={exec:()=>null};function fe(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let s=!1,a=t;for(;--a>=0&&"\\"===n[a];)s=!s;return s?"|":" |"})).split(/ \|/);let s=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;s<n.length;s++)n[s]=n[s].trim().replace(/\\\|/g,"|");return n}function me(e,t,n){const s=e.length;if(0===s)return"";let a=0;for(;a<s;){const i=e.charAt(s-a-1);if(i!==t||n){if(i===t||!n)break;a++}else a++}return e.slice(0,s-a)}function be(e,t,n,s){const a=t.href,i=t.title?pe(t.title):null,r=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){s.state.inLink=!0;const e={type:"link",raw:n,href:a,title:i,text:r,tokens:s.inlineTokens(r)};return s.state.inLink=!1,e}return{type:"image",raw:n,href:a,title:i,text:pe(r)}}class ke{options;rules;lexer;constructor(e){this.options=e||te}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:me(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const s=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=s.length?e.slice(s.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=me(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=me(t[0].replace(/^ *>[ \t]?/gm,""),"\n"),n=this.lexer.state.top;this.lexer.state.top=!0;const s=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:"blockquote",raw:t[0],tokens:s,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim();const 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:"[*+-]");const i=new RegExp(`^( {0,3}${n})((?:[\t ][^\\n]*)?(?:\\n|$))`);let r="",o="",l=!1;for(;e;){let n=!1;if(!(t=i.exec(e)))break;if(this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let s=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),p=e.split("\n",1)[0],c=0;this.options.pedantic?(c=2,o=s.trimStart()):(c=t[2].search(/[^ ]/),c=c>4?1:c,o=s.slice(c),c+=t[1].length);let d=!1;if(!s&&/^ *$/.test(p)&&(r+=p+"\n",e=e.substring(p.length+1),n=!0),!n){const t=new RegExp(`^ {0,${Math.min(3,c-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),n=new RegExp(`^ {0,${Math.min(3,c-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),a=new RegExp(`^ {0,${Math.min(3,c-1)}}(?:\`\`\`|~~~)`),i=new RegExp(`^ {0,${Math.min(3,c-1)}}#`);for(;e;){const l=e.split("\n",1)[0];if(p=l,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),a.test(p))break;if(i.test(p))break;if(t.test(p))break;if(n.test(e))break;if(p.search(/[^ ]/)>=c||!p.trim())o+="\n"+p.slice(c);else{if(d)break;if(s.search(/[^ ]/)>=4)break;if(a.test(s))break;if(i.test(s))break;if(n.test(s))break;o+="\n"+p}d||p.trim()||(d=!0),r+=l+"\n",e=e.substring(l.length+1),s=p.slice(c)}}a.loose||(l?a.loose=!0:/\n *\n *$/.test(r)&&(l=!0));let u,h=null;this.options.gfm&&(h=/^\[[ xX]\] /.exec(o),h&&(u="[ ] "!==h[0],o=o.replace(/^\[[ xX]\] +/,""))),a.items.push({type:"list_item",raw:r,task:!!h,checked:u,loose:!1,text:o,tokens:[]}),a.raw+=r}a.items[a.items.length-1].raw=r.trimEnd(),a.items[a.items.length-1].text=o.trimEnd(),a.raw=a.raw.trimEnd();for(let e=0;e<a.items.length;e++)if(this.lexer.state.top=!1,a.items[e].tokens=this.lexer.blockTokens(a.items[e].text,[]),!a.loose){const t=a.items[e].tokens.filter((e=>"space"===e.type)),n=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));a.loose=n}if(a.loose)for(let e=0;e<a.items.length;e++)a.items[e].loose=!0;return a}}html(e){const t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}def(e){const t=this.rules.block.def.exec(e);if(t){const e=t[1].toLowerCase().replace(/\s+/g," "),n=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:s}}}table(e){const t=this.rules.block.table.exec(e);if(!t)return;if(!/[:|]/.test(t[2]))return;const n=fe(t[1]),s=t[2].replace(/^\||\| *$/g,"").split("|"),a=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],i={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===s.length){for(const e of s)/^ *-+: *$/.test(e)?i.align.push("right"):/^ *:-+: *$/.test(e)?i.align.push("center"):/^ *:-+ *$/.test(e)?i.align.push("left"):i.align.push(null);for(const e of n)i.header.push({text:e,tokens:this.lexer.inline(e)});for(const e of a)i.rows.push(fe(e,i.header.length).map((e=>({text:e,tokens:this.lexer.inline(e)}))));return i}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){const 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){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:pe(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.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){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^</.test(e)){if(!/>$/.test(e))return;const t=me(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let n=0;for(let s=0;s<e.length;s++)if("\\"===e[s])s++;else if(e[s]===t[0])n++;else if(e[s]===t[1]&&(n--,n<0))return s;return-1}(t[2],"()");if(e>-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],s="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],s=e[3])}else s=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(n=this.options.pedantic&&!/>$/.test(e)?n.slice(1):n.slice(1,-1)),be(t,{href:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n,title:s?s.replace(this.rules.inline.anyPunctuation,"$1"):s},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const e=t[(n[2]||n[1]).replace(/\s+/g," ").toLowerCase()];if(!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return be(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(s&&(!s[3]||!n.match(/[\p{L}\p{N}]/u))&&(!s[1]&&!s[2]||!n||this.rules.inline.punctuation.exec(n))){const n=[...s[0]].length-1;let a,i,r=n,o=0;const l="*"===s[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+n);null!=(s=l.exec(t));){if(a=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!a)continue;if(i=[...a].length,s[3]||s[4]){r+=i;continue}if((s[5]||s[6])&&n%3&&!((n+i)%3)){o+=i;continue}if(r-=i,r>0)continue;i=Math.min(i,i+r+o);const t=[...s[0]][0].length,l=e.slice(0,n+s.index+t+i);if(Math.min(n,i)%2){const e=l.slice(1,-1);return{type:"em",raw:l,text:e,tokens:this.lexer.inlineTokens(e)}}const p=l.slice(2,-2);return{type:"strong",raw:l,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),s=/^ /.test(e)&&/ $/.test(e);return n&&s&&(e=e.substring(1,e.length-1)),e=pe(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,n;return"@"===t[2]?(e=pe(t[1]),n="mailto:"+e):(e=pe(t[1]),n=e),{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])e=pe(t[0]),n="mailto:"+e;else{let s;do{s=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(s!==t[0]);e=pe(t[0]),n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:pe(t[0]),{type:"text",raw:t[0],text:e}}}}const ve=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,_e=/(?:[*+-]|\d{1,9}[.)])/,xe=he(/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,_e).getRegex(),Ce=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,we=/(?!\s*\])(?:\\.|[^\[\]\\])+/,ye=he(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",we).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),$e=he(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,_e).getRegex(),Se="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|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ie=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,Te=he("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",Ie).replace("tag",Se).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ze=he(Ce).replace("hr",ve).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[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Se).getRegex(),Be={blockquote:he(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ze).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:ye,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:ve,html:Te,lheading:xe,list:$e,newline:/^(?: *(?:\n|$))+/,paragraph:ze,table:Ae,text:/^[^\n]+/},Ne=he("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ve).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Se).getRegex(),De={...Be,table:Ne,paragraph:he(Ce).replace("hr",ve).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[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Se).getRegex()},Ee={...Be,html:he("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Ie).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:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ae,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:he(Ce).replace("hr",ve).replace("heading"," *#{1,6} *[^\n]").replace("lheading",xe).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Le=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Re=/^( {2,}|\\)\n(?!\s*$)/,Pe="\\p{P}$+<=>`^|~",Oe=he(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,Pe).getRegex(),Me=he(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Pe).getRegex(),Ge=he("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Pe).getRegex(),Ue=he("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Pe).getRegex(),qe=he(/\\([punct])/,"gu").replace(/punct/g,Pe).getRegex(),Ve=he(/^<(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(),Qe=he(Ie).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ze=he("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Qe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Fe=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,je=he(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Fe).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),He=he(/^!?\[(label)\]\[(ref)\]/).replace("label",Fe).replace("ref",we).getRegex(),Ye=he(/^!?\[(ref)\](?:\[\])?/).replace("ref",we).getRegex(),Ke={_backpedal:Ae,anyPunctuation:qe,autolink:Ve,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:Re,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:Ae,emStrongLDelim:Me,emStrongRDelimAst:Ge,emStrongRDelimUnd:Ue,escape:Le,link:je,nolink:Ye,punctuation:Oe,reflink:He,reflinkSearch:he("reflink|nolink(?!\\()","g").replace("reflink",He).replace("nolink",Ye).getRegex(),tag:Ze,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:Ae},Je={...Ke,link:he(/^!?\[(label)\]\((.*?)\)/).replace("label",Fe).getRegex(),reflink:he(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Fe).getRegex()},We={...Ke,escape:he(Le).replace("])","~|])").getRegex(),url:he(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").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~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},Xe={...We,br:he(Re).replace("{2,}","*").getRegex(),text:he(We.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},et={normal:Be,gfm:De,pedantic:Ee},tt={normal:Ke,gfm:We,breaks:Xe,pedantic:Je};class nt{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||te,this.options.tokenizer=this.options.tokenizer||new ke,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:et.normal,inline:tt.normal};this.options.pedantic?(t.block=et.pedantic,t.inline=tt.pedantic):this.options.gfm&&(t.block=et.gfm,this.options.breaks?t.inline=tt.breaks:t.inline=tt.gfm),this.tokenizer.rules=t}static get rules(){return{block:et,inline:tt}}static lex(e,t){return new nt(t).lex(e)}static lexInline(e,t){return new nt(t).inlineTokens(e)}lex(e){e=e.replace(/\r\n|\r/g,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){const t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[]){let n,s,a,i;for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,((e,t,n)=>t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((s=>!!(n=s.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?t.push(n):(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(s.raw+="\n"+n.raw,s.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(a=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let s;this.options.extensions.startBlock.forEach((e=>{s=e.call({lexer:this},n),"number"==typeof s&&s>=0&&(t=Math.min(t,s))})),t<1/0&&t>=0&&(a=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(a)))s=t[t.length-1],i&&"paragraph"===s.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n),i=a.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===s.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){ee.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,s,a,i,r,o,l=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(l));)e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.anyPunctuation.exec(l));)l=l.slice(0,i.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(r||(o=""),r=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((s=>!!(n=s.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===n.type&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===n.type&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,l,o))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e))){if(a=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let s;this.options.extensions.startInline.forEach((e=>{s=e.call({lexer:this},n),"number"==typeof s&&s>=0&&(t=Math.min(t,s))})),t<1/0&&t>=0&&(a=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(a))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(o=n.raw.slice(-1)),r=!0,s=t[t.length-1],s&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){ee.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class st{options;constructor(e){this.options=e||te}code(e,t,n){const s=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+"\n",s?'<pre><code class="language-'+pe(s)+'">'+(n?e:pe(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:pe(e,!0))+"</code></pre>\n"}blockquote(e){return`<blockquote>\n${e}</blockquote>\n`}html(e,t){return e}heading(e,t,n){return`<h${t}>${e}</h${t}>\n`}hr(){return"<hr>\n"}list(e,t,n){const s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+s+">\n"}listitem(e,t,n){return`<li>${e}</li>\n`}checkbox(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph(e){return`<p>${e}</p>\n`}table(e,t){return t&&(t=`<tbody>${t}</tbody>`),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"}tablerow(e){return`<tr>\n${e}</tr>\n`}tablecell(e,t){const n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>\n`}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,t,n){const s=ge(e);if(null===s)return n;let a='<a href="'+(e=s)+'"';return t&&(a+=' title="'+t+'"'),a+=">"+n+"</a>",a}image(e,t,n){const s=ge(e);if(null===s)return n;let a=`<img src="${e=s}" alt="${n}"`;return t&&(a+=` title="${t}"`),a+=">",a}text(e){return e}}class at{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class it{options;renderer;textRenderer;constructor(e){this.options=e||te,this.options.renderer=this.options.renderer||new st,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new at}static parse(e,t){return new it(t).parse(e)}static parseInline(e,t){return new it(t).parseInline(e)}parse(e,t=!0){let n="";for(let s=0;s<e.length;s++){const a=e[s];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[a.type]){const e=a,t=this.options.extensions.renderers[e.type].call({parser:this},e);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(e.type)){n+=t||"";continue}}switch(a.type){case"space":continue;case"hr":n+=this.renderer.hr();continue;case"heading":{const e=a;n+=this.renderer.heading(this.parseInline(e.tokens),e.depth,de(this.parseInline(e.tokens,this.textRenderer)));continue}case"code":{const e=a;n+=this.renderer.code(e.text,e.lang,!!e.escaped);continue}case"table":{const e=a;let t="",s="";for(let t=0;t<e.header.length;t++)s+=this.renderer.tablecell(this.parseInline(e.header[t].tokens),{header:!0,align:e.align[t]});t+=this.renderer.tablerow(s);let i="";for(let t=0;t<e.rows.length;t++){const n=e.rows[t];s="";for(let t=0;t<n.length;t++)s+=this.renderer.tablecell(this.parseInline(n[t].tokens),{header:!1,align:e.align[t]});i+=this.renderer.tablerow(s)}n+=this.renderer.table(t,i);continue}case"blockquote":{const e=a,t=this.parse(e.tokens);n+=this.renderer.blockquote(t);continue}case"list":{const e=a,t=e.ordered,s=e.start,i=e.loose;let r="";for(let t=0;t<e.items.length;t++){const n=e.items[t],s=n.checked,a=n.task;let o="";if(n.task){const e=this.renderer.checkbox(!!s);i?n.tokens.length>0&&"paragraph"===n.tokens[0].type?(n.tokens[0].text=e+" "+n.tokens[0].text,n.tokens[0].tokens&&n.tokens[0].tokens.length>0&&"text"===n.tokens[0].tokens[0].type&&(n.tokens[0].tokens[0].text=e+" "+n.tokens[0].tokens[0].text)):n.tokens.unshift({type:"text",text:e+" "}):o+=e+" "}o+=this.parse(n.tokens,i),r+=this.renderer.listitem(o,a,!!s)}n+=this.renderer.list(r,t,s);continue}case"html":{const e=a;n+=this.renderer.html(e.text,e.block);continue}case"paragraph":{const e=a;n+=this.renderer.paragraph(this.parseInline(e.tokens));continue}case"text":{let i=a,r=i.tokens?this.parseInline(i.tokens):i.text;for(;s+1<e.length&&"text"===e[s+1].type;)i=e[++s],r+="\n"+(i.tokens?this.parseInline(i.tokens):i.text);n+=t?this.renderer.paragraph(r):r;continue}default:{const e='Token with "'+a.type+'" type was not found.';if(this.options.silent)return ee.error(e),"";throw new Error(e)}}}return n}parseInline(e,t){t=t||this.renderer;let n="";for(let s=0;s<e.length;s++){const a=e[s];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[a.type]){const e=this.options.extensions.renderers[a.type].call({parser:this},a);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){n+=e||"";continue}}switch(a.type){case"escape":{const e=a;n+=t.text(e.text);break}case"html":{const e=a;n+=t.html(e.text);break}case"link":{const e=a;n+=t.link(e.href,e.title,this.parseInline(e.tokens,t));break}case"image":{const e=a;n+=t.image(e.href,e.title,e.text);break}case"strong":{const e=a;n+=t.strong(this.parseInline(e.tokens,t));break}case"em":{const e=a;n+=t.em(this.parseInline(e.tokens,t));break}case"codespan":{const e=a;n+=t.codespan(e.text);break}case"br":n+=t.br();break;case"del":{const e=a;n+=t.del(this.parseInline(e.tokens,t));break}case"text":{const e=a;n+=t.text(e.text);break}default:{const e='Token with "'+a.type+'" type was not found.';if(this.options.silent)return ee.error(e),"";throw new Error(e)}}}return n}}class rt{options;constructor(e){this.options=e||te}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}const ot=new class{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.#e(nt.lex,it.parse);parseInline=this.#e(nt.lexInline,it.parseInline);Parser=it;Renderer=st;TextRenderer=at;Lexer=nt;Tokenizer=ke;Hooks=rt;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(const s of e)switch(n=n.concat(t.call(this,s)),s.type){case"table":{const e=s;for(const s of e.header)n=n.concat(this.walkTokens(s.tokens,t));for(const s of e.rows)for(const e of s)n=n.concat(this.walkTokens(e.tokens,t));break}case"list":{const e=s;n=n.concat(this.walkTokens(e.items,t));break}default:{const e=s;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach((s=>{const a=e[s].flat(1/0);n=n.concat(this.walkTokens(a,t))})):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let s=e.renderer.apply(this,t);return!1===s&&(s=n.apply(this,t)),s}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),n.extensions=t),e.renderer){const t=this.defaults.renderer||new st(this.defaults);for(const n in e.renderer){if(!(n in t))throw new Error(`renderer '${n}' does not exist`);if("options"===n)continue;const s=n,a=e.renderer[s],i=t[s];t[s]=(...e)=>{let n=a.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new ke(this.defaults);for(const n in e.tokenizer){if(!(n in t))throw new Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;const s=n,a=e.tokenizer[s],i=t[s];t[s]=(...e)=>{let n=a.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new rt;for(const n in e.hooks){if(!(n in t))throw new Error(`hook '${n}' does not exist`);if("options"===n)continue;const s=n,a=e.hooks[s],i=t[s];rt.passThroughHooks.has(n)?t[s]=e=>{if(this.defaults.async)return Promise.resolve(a.call(t,e)).then((e=>i.call(t,e)));const n=a.call(t,e);return i.call(t,n)}:t[s]=(...e)=>{let n=a.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){const t=this.defaults.walkTokens,s=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(s.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}})),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return nt.lex(e,t??this.defaults)}parser(e,t){return it.parse(e,t??this.defaults)}#e(e,t){return(n,s)=>{const a={...s},i={...this.defaults,...a};!0===this.defaults.async&&!1===a.async&&(i.silent||ee.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),i.async=!0);const r=this.#t(!!i.silent,!!i.async);if(null==n)return r(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(i.hooks&&(i.hooks.options=i),i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(n):n).then((t=>e(t,i))).then((e=>i.hooks?i.hooks.processAllTokens(e):e)).then((e=>i.walkTokens?Promise.all(this.walkTokens(e,i.walkTokens)).then((()=>e)):e)).then((e=>t(e,i))).then((e=>i.hooks?i.hooks.postprocess(e):e)).catch(r);try{i.hooks&&(n=i.hooks.preprocess(n));let s=e(n,i);i.hooks&&(s=i.hooks.processAllTokens(s)),i.walkTokens&&this.walkTokens(s,i.walkTokens);let a=t(s,i);return i.hooks&&(a=i.hooks.postprocess(a)),a}catch(e){return r(e)}}}#t(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="<p>An error occurred:</p><pre>"+pe(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function lt(e,t){return ot.parse(e,t)}lt.options=lt.setOptions=function(e){return ot.setOptions(e),lt.defaults=ot.defaults,ne(lt.defaults),lt},lt.getDefaults=function(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}},lt.defaults=te,lt.use=function(...e){return ot.use(...e),lt.defaults=ot.defaults,ne(lt.defaults),lt},lt.walkTokens=function(e,t){return ot.walkTokens(e,t)},lt.parseInline=ot.parseInline,lt.Parser=it,lt.parser=it.parse,lt.Renderer=st,lt.TextRenderer=at,lt.Lexer=nt,lt.lexer=nt.lex,lt.Tokenizer=ke,lt.Hooks=rt,lt.parse=lt,lt.options,lt.setOptions,lt.use,lt.walkTokens,lt.parseInline,it.parse,nt.lex;var pt=s(42838),ct=s.n(pt);const dt={name:"Markdown",props:{text:{type:String,default:""}},computed:{renderMarkdown(){const e=new lt.Renderer;return e.link=function(e,t,n){let s;try{s=decodeURIComponent(unescape(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0!==s.indexOf("http:")&&0!==s.indexOf("https:"))return"";let a='<a href="'+e+'" rel="noreferrer noopener"';return t&&(a+=' title="'+t+'"'),a+=">"+n+"</a>",a},e.image=function(e,t,n){return n||t},e.blockquote=function(e){return e},ct().sanitize(lt(this.text.trim(),{renderer:e,gfm:!1,highlight:!1,tables:!1,breaks:!1,pedantic:!1,sanitize:!0,smartLists:!0,smartypants:!1}),{SAFE_FOR_JQUERY:!0,ALLOWED_TAGS:["h1","h2","h3","h4","h5","h6","strong","p","a","ul","ol","li","em","del","blockquote"]})}}};var ut=s(44958),ht={};ht.styleTagTransform=U(),ht.setAttributes=P(),ht.insert=L().bind(null,"head"),ht.domAPI=D(),ht.insertStyleElement=M(),B()(ut.A,ht),ut.A&&ut.A.locals&&ut.A.locals;const gt=(0,m.A)(dt,(function(){var e=this;return(0,e._self._c)("div",{staticClass:"settings-markdown",domProps:{innerHTML:e._s(e.renderMarkdown)}})}),[],!1,null,"ffd9a2d6",null).exports,At={name:"AppDetails",components:{NcSelect:X.A,Markdown:gt},mixins:[y,Z],props:{app:{type:Object,required:!0}},data:()=>({groupCheckedAppsData:!1}),computed:{appstoreUrl(){return"https://apps.nextcloud.com/apps/".concat(this.app.id)},licence(){return this.app.licence?t("settings","{license}-licensed",{license:(""+this.app.licence).toUpperCase()}):null},author(){return"string"==typeof this.app.author?[{"@value":this.app.author}]:this.app.author["@value"]?[this.app.author]:this.app.author},appGroups(){return this.app.groups.map((e=>({id:e,name:e})))},groups(){return this.$store.getters.getGroups.filter((e=>"disabled"!==e.id)).sort(((e,t)=>e.name.localeCompare(t.name)))}},mounted(){this.app.groups.length>0&&(this.groupCheckedAppsData=!0)}};var ft=s(87558),mt={};mt.styleTagTransform=U(),mt.setAttributes=P(),mt.insert=L().bind(null,"head"),mt.domAPI=D(),mt.insertStyleElement=M(),B()(ft.A,mt),ft.A&&ft.A.locals&&ft.A.locals;const bt=(0,m.A)(At,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-details"},[t("div",{staticClass:"app-details__actions"},[e.app.active&&e.canLimitToGroups(e.app)?t("div",{staticClass:"app-details__actions-groups"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.groupCheckedAppsData,expression:"groupCheckedAppsData"}],staticClass:"groups-enable__checkbox checkbox",attrs:{id:e.prefix("groups_enable",e.app.id),type:"checkbox"},domProps:{value:e.app.id,checked:Array.isArray(e.groupCheckedAppsData)?e._i(e.groupCheckedAppsData,e.app.id)>-1:e.groupCheckedAppsData},on:{change:[function(t){var n=e.groupCheckedAppsData,s=t.target,a=!!s.checked;if(Array.isArray(n)){var i=e.app.id,r=e._i(n,i);s.checked?r<0&&(e.groupCheckedAppsData=n.concat([i])):r>-1&&(e.groupCheckedAppsData=n.slice(0,r).concat(n.slice(r+1)))}else e.groupCheckedAppsData=a},e.setGroupLimit]}}),e._v(" "),t("label",{attrs:{for:e.prefix("groups_enable",e.app.id)}},[e._v(e._s(e.t("settings","Limit to groups")))]),e._v(" "),t("input",{staticClass:"group_select",attrs:{type:"hidden",title:e.t("settings","All"),value:""}}),e._v(" "),t("br"),e._v(" "),t("label",{attrs:{for:"limitToGroups"}},[t("span",[e._v(e._s(e.t("settings","Limit app usage to groups")))])]),e._v(" "),e.isLimitedToGroups(e.app)?t("NcSelect",{attrs:{"input-id":"limitToGroups",options:e.groups,value:e.appGroups,limit:5,label:"name",multiple:!0,"close-on-select":!1},on:{"option:selected":e.addGroupLimitation,"option:deselected":e.removeGroupLimitation,search:e.asyncFindGroup}},[t("span",{attrs:{slot:"noResult"},slot:"noResult"},[e._v(e._s(e.t("settings","No results")))])]):e._e()],1):e._e(),e._v(" "),t("div",{staticClass:"app-details__actions-manage"},[e.app.update?t("input",{staticClass:"update primary",attrs:{type:"button",value:e.t("settings","Update to {version}",{version:e.app.update}),disabled:e.installing||e.isLoading},on:{click:function(t){return e.update(e.app.id)}}}):e._e(),e._v(" "),e.app.canUnInstall?t("input",{staticClass:"uninstall",attrs:{type:"button",value:e.t("settings","Remove"),disabled:e.installing||e.isLoading},on:{click:function(t){return e.remove(e.app.id)}}}):e._e(),e._v(" "),e.app.active?t("input",{staticClass:"enable",attrs:{type:"button",value:e.t("settings","Disable"),disabled:e.installing||e.isLoading},on:{click:function(t){return e.disable(e.app.id)}}}):e._e(),e._v(" "),e.app.active||!e.app.canInstall&&!e.app.isCompatible?e.app.active||e.app.canInstall?e._e():t("input",{staticClass:"enable force",attrs:{title:e.forceEnableButtonTooltip,"aria-label":e.forceEnableButtonTooltip,type:"button",value:e.forceEnableButtonText,disabled:e.installing||e.isLoading},on:{click:function(t){return e.forceEnable(e.app.id)}}}):t("input",{staticClass:"enable primary",attrs:{title:e.enableButtonTooltip,"aria-label":e.enableButtonTooltip,type:"button",value:e.enableButtonText,disabled:!e.app.canInstall||e.installing||e.isLoading},on:{click:function(t){return e.enable(e.app.id)}}})])]),e._v(" "),t("ul",{staticClass:"app-details__dependencies"},[e.app.missingMinOwnCloudVersion?t("li",[e._v("\n\t\t\t"+e._s(e.t("settings","This app has no minimum Nextcloud version assigned. This will be an error in the future."))+"\n\t\t")]):e._e(),e._v(" "),e.app.missingMaxOwnCloudVersion?t("li",[e._v("\n\t\t\t"+e._s(e.t("settings","This app has no maximum Nextcloud version assigned. This will be an error in the future."))+"\n\t\t")]):e._e(),e._v(" "),e.app.canInstall?e._e():t("li",[e._v("\n\t\t\t"+e._s(e.t("settings","This app cannot be installed because the following dependencies are not fulfilled:"))+"\n\t\t\t"),t("ul",{staticClass:"missing-dependencies"},e._l(e.app.missingDependencies,(function(n,s){return t("li",{key:s},[e._v("\n\t\t\t\t\t"+e._s(n)+"\n\t\t\t\t")])})),0)])]),e._v(" "),t("p",{staticClass:"app-details__documentation"},[e.app.internal?e._e():t("a",{staticClass:"appslink",attrs:{href:e.appstoreUrl,target:"_blank",rel:"noreferrer noopener"}},[e._v(e._s(e.t("settings","View in store"))+" ↗")]),e._v(" "),e.app.website?t("a",{staticClass:"appslink",attrs:{href:e.app.website,target:"_blank",rel:"noreferrer noopener"}},[e._v(e._s(e.t("settings","Visit website"))+" ↗")]):e._e(),e._v(" "),e.app.bugs?t("a",{staticClass:"appslink",attrs:{href:e.app.bugs,target:"_blank",rel:"noreferrer noopener"}},[e._v(e._s(e.t("settings","Report a bug"))+" ↗")]):e._e(),e._v(" "),e.app.documentation&&e.app.documentation.user?t("a",{staticClass:"appslink",attrs:{href:e.app.documentation.user,target:"_blank",rel:"noreferrer noopener"}},[e._v(e._s(e.t("settings","Usage documentation"))+" ↗")]):e._e(),e._v(" "),e.app.documentation&&e.app.documentation.admin?t("a",{staticClass:"appslink",attrs:{href:e.app.documentation.admin,target:"_blank",rel:"noreferrer noopener"}},[e._v(e._s(e.t("settings","Admin documentation"))+" ↗")]):e._e(),e._v(" "),e.app.documentation&&e.app.documentation.developer?t("a",{staticClass:"appslink",attrs:{href:e.app.documentation.developer,target:"_blank",rel:"noreferrer noopener"}},[e._v(e._s(e.t("settings","Developer documentation"))+" ↗")]):e._e()]),e._v(" "),t("Markdown",{staticClass:"app-details__description",attrs:{text:e.app.description}})],1)}),[],!1,null,"79b6e1ee",null).exports;var kt=s(92973),vt=s(38613);i.Ay.use(o());const _t=(0,vt.C)("settings","appstoreEnabled"),xt=(0,vt.C)("settings","appstoreDeveloperDocs"),Ct={name:"Apps",APPS_SECTION_ENUM:kt.l,components:{NcAppContent:l.A,AppDetails:bt,AppList:W,IconStarShooting:b,NcAppNavigation:p.A,NcAppNavigationItem:c.A,NcAppNavigationSpacer:d.A,NcCounterBubble:g.A,AppScore:_,NcAppSidebar:u.N,NcAppSidebarTab:h.A,NcContent:A.A,Markdown:gt},mixins:[y],props:{category:{type:String,default:"installed"},id:{type:String,default:""}},data:()=>({searchQuery:"",screenshotLoaded:!1}),computed:{appstoreEnabled:()=>_t,pageHeading(){return this.$options.APPS_SECTION_ENUM[this.category]?this.$options.APPS_SECTION_ENUM[this.category]:this.$store.getters.getCategoryById(this.category).displayName},loading(){return this.$store.getters.loading("categories")},loadingList(){return this.$store.getters.loading("list")},app(){return this.apps.find((e=>e.id===this.id))},categories(){return this.$store.getters.getCategories},apps(){return this.$store.getters.getAllApps},updateCount(){return this.$store.getters.getUpdateCount},hasRating(){return this.app.appstoreData&&this.app.appstoreData.ratingNumOverall>5},appSidebar(){const e=e=>e["@value"]?e["@value"]:e,n=Array.isArray(this.app.author)?this.app.author.map(e).join(", "):e(this.app.author),s=t("settings","{license}-licensed",{license:(""+this.app.licence).toUpperCase()}),a=t("settings","by {author}\n{license}",{author:n,license:s});return{background:this.app.screenshot&&this.screenshotLoaded?this.app.screenshot:this.app.preview,compact:!(this.app.screenshot&&this.screenshotLoaded),name:this.app.name,subname:a}},changelog:()=>e=>e.translations.en.changelog,isSubscribed(){return this.apps.some((e=>300===e.level))}},watch:{category(){this.searchQuery=""},app(){var e,t;if(this.screenshotLoaded=!1,null!==(e=this.app)&&void 0!==e&&e.releases&&null!==(t=this.app)&&void 0!==t&&t.screenshot){const e=new Image;e.onload=e=>{this.screenshotLoaded=!0},e.src=this.app.screenshot}}},beforeMount(){this.$store.dispatch("getCategories",{shouldRefetchCategories:!0}),this.$store.dispatch("getAllApps"),this.$store.dispatch("getGroups",{offset:0,limit:5})},mounted(){(0,a.B1)("nextcloud:unified-search.search",this.setSearch),(0,a.B1)("nextcloud:unified-search.reset",this.resetSearch)},beforeDestroy(){(0,a.al)("nextcloud:unified-search.search",this.setSearch),(0,a.al)("nextcloud:unified-search.reset",this.resetSearch)},methods:{setSearch(e){let{query:t}=e;this.searchQuery=t},resetSearch(){this.searchQuery=""},hideAppDetails(){this.$router.push({name:"apps-category",params:{category:this.category}})},openDeveloperDocumentation(){window.open(xt)}}};var wt=s(27794),yt={};yt.styleTagTransform=U(),yt.setAttributes=P(),yt.insert=L().bind(null,"head"),yt.domAPI=D(),yt.insertStyleElement=M(),B()(wt.A,yt),wt.A&&wt.A.locals&&wt.A.locals;const $t=(0,m.A)(Ct,(function(){var e=this,t=e._self._c;return t("NcContent",{class:{"with-app-sidebar":e.app},attrs:{"app-name":"settings"}},[t("NcAppNavigation",{class:{"icon-loading":e.loading},attrs:{"aria-label":e.t("settings","Apps")},scopedSlots:e._u([{key:"list",fn:function(){return[t("NcAppNavigationItem",{attrs:{id:"app-category-your-apps",to:{name:"apps"},exact:!0,icon:"icon-category-installed",name:e.$options.APPS_SECTION_ENUM.installed}}),e._v(" "),t("NcAppNavigationItem",{attrs:{id:"app-category-enabled",to:{name:"apps-category",params:{category:"enabled"}},icon:"icon-category-enabled",name:e.$options.APPS_SECTION_ENUM.enabled}}),e._v(" "),t("NcAppNavigationItem",{attrs:{id:"app-category-disabled",to:{name:"apps-category",params:{category:"disabled"}},icon:"icon-category-disabled",name:e.$options.APPS_SECTION_ENUM.disabled}}),e._v(" "),e.updateCount>0?t("NcAppNavigationItem",{attrs:{id:"app-category-updates",to:{name:"apps-category",params:{category:"updates"}},icon:"icon-download",name:e.$options.APPS_SECTION_ENUM.updates},scopedSlots:e._u([{key:"counter",fn:function(){return[t("NcCounterBubble",[e._v(e._s(e.updateCount))])]},proxy:!0}],null,!1,54487302)}):e._e(),e._v(" "),e.isSubscribed?t("NcAppNavigationItem",{attrs:{id:"app-category-supported",to:{name:"apps-category",params:{category:"supported"}},name:e.$options.APPS_SECTION_ENUM.supported},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconStarShooting",{attrs:{size:20}})]},proxy:!0}],null,!1,704374136)}):e._e(),e._v(" "),t("NcAppNavigationItem",{attrs:{id:"app-category-your-bundles",to:{name:"apps-category",params:{category:"app-bundles"}},icon:"icon-category-app-bundles",name:e.$options.APPS_SECTION_ENUM["app-bundles"]}}),e._v(" "),t("NcAppNavigationSpacer"),e._v(" "),e.appstoreEnabled?[t("NcAppNavigationItem",{attrs:{id:"app-category-featured",to:{name:"apps-category",params:{category:"featured"}},icon:"icon-favorite",name:e.$options.APPS_SECTION_ENUM.featured}}),e._v(" "),e._l(e.categories,(function(e){return t("NcAppNavigationItem",{key:"icon-category-"+e.id,attrs:{icon:"icon-category-"+e.id,to:{name:"apps-category",params:{category:e.id}},name:e.displayName}})}))]:e._e(),e._v(" "),t("NcAppNavigationItem",{attrs:{id:"app-developer-docs",name:e.t("settings","Developer documentation")+" ↗"},on:{click:e.openDeveloperDocumentation}})]},proxy:!0}])}),e._v(" "),t("NcAppContent",{staticClass:"app-settings-content",class:{"icon-loading":e.loadingList},attrs:{"page-heading":e.pageHeading}},[t("AppList",{attrs:{category:e.category,app:e.app,search:e.searchQuery}})],1),e._v(" "),e.id&&e.app?t("NcAppSidebar",e._b({class:{"app-sidebar--without-background":!e.appSidebar.background},on:{close:e.hideAppDetails},scopedSlots:e._u([e.appSidebar.background?null:{key:"header",fn:function(){return[t("div",{staticClass:"app-sidebar-header__figure--default-app-icon icon-settings-dark"})]},proxy:!0},{key:"description",fn:function(){return[300===e.app.level||200===e.app.level||e.hasRating?t("div",{staticClass:"app-level"},[300===e.app.level?t("span",{staticClass:"supported icon-checkmark-color",attrs:{title:e.t("settings","This app is supported via your current Nextcloud subscription.")}},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Supported")))]):e._e(),e._v(" "),200===e.app.level?t("span",{staticClass:"official icon-checkmark",attrs:{title:e.t("settings","Featured apps are developed by and within the community. They offer central functionality and are ready for production use.")}},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Featured")))]):e._e(),e._v(" "),e.hasRating?t("AppScore",{attrs:{score:e.app.appstoreData.ratingOverall}}):e._e()],1):e._e(),e._v(" "),t("div",{staticClass:"app-version"},[t("p",[e._v(e._s(e.app.version))])])]},proxy:!0}],null,!0)},"NcAppSidebar",e.appSidebar,!1),[e._v(" "),e._v(" "),t("NcAppSidebarTab",{attrs:{id:"desc",icon:"icon-category-office",name:e.t("settings","Details"),order:0}},[t("AppDetails",{attrs:{app:e.app}})],1),e._v(" "),e.app.appstoreData&&e.app.releases[0].translations.en.changelog?t("NcAppSidebarTab",{attrs:{id:"desca",icon:"icon-category-organization",name:e.t("settings","Changelog"),order:1}},e._l(e.app.releases,(function(n){return t("div",{key:n.version,staticClass:"app-sidebar-tabs__release"},[t("h2",[e._v(e._s(n.version))]),e._v(" "),e.changelog(n)?t("Markdown",{attrs:{text:e.changelog(n)}}):e._e()],1)})),0):e._e()],1):e._e()],1)}),[],!1,null,"611a3de0",null).exports},35973:function(e,t,n){var s=n(65606),a=n(96763);e.exports=function(){"use strict";var e=function(){this._properties={},this._namespace="",this._isSupported=!0},t={namespace:{}};t.namespace.get=function(){return this._namespace},t.namespace.set=function(e){this._namespace=e?e+".":""},e.prototype._getLsKey=function(e){return""+this._namespace+e},e.prototype._lsSet=function(e,t,n){var s=this._getLsKey(e),a=n&&[Array,Object].includes(n)?JSON.stringify(t):t;window.localStorage.setItem(s,a)},e.prototype._lsGet=function(e){var t=this._getLsKey(e);return window.localStorage[t]},e.prototype.get=function(e,t,n){if(void 0===t&&(t=null),void 0===n&&(n=String),!this._isSupported)return null;if(this._lsGet(e)){var s=n;for(var a in this._properties)if(a===e){s=this._properties[a].type;break}return this._process(s,this._lsGet(e))}return null!==t?t:null},e.prototype.set=function(e,t){var n=this;if(!this._isSupported)return null;for(var s in n._properties){var a=n._properties[s].type;if(s===e)return n._lsSet(e,t,a),t}return this._lsSet(e,t),t},e.prototype.remove=function(e){return this._isSupported?window.localStorage.removeItem(e):null},e.prototype.addProperty=function(e,t,n){void 0===n&&(n=void 0),t=t||String,this._properties[e]={type:t},this._lsGet(e)||null===n||this._lsSet(e,n,t)},e.prototype._process=function(e,t){switch(e){case Boolean:return"true"===t;case Number:return parseFloat(t);case Array:try{var n=JSON.parse(t);return Array.isArray(n)?n:[]}catch(e){return[]}case Object:try{return JSON.parse(t)}catch(e){return{}}default:return t}},Object.defineProperties(e.prototype,t);var n=new e;return{install:function(e,t){if(void 0===t&&(t={}),void 0===s||!(s.server||s.SERVER_BUILD||s.env&&"server"===s.env.VUE_ENV)){var i=!0;try{var r="__vue-localstorage-test__";window.localStorage.setItem(r,r),window.localStorage.removeItem(r)}catch(e){i=!1,n._isSupported=!1,a.error("Local storage is not supported")}var o=t.name||"localStorage",l=t.bind;t.namespace&&(n.namespace=t.namespace),e.mixin({beforeCreate:function(){var t=this;i&&this.$options[o]&&Object.keys(this.$options[o]).forEach((function(s){var i=t.$options[o][s],r=[i.type,i.default],p=r[0],c=r[1];if(n.addProperty(s,p,c),Object.getOwnPropertyDescriptor(n,s))e.config.silent||a.log(s+": is already defined and will be reused");else{var d={get:function(){return e.localStorage.get(s,c)},set:function(t){return e.localStorage.set(s,t)},configurable:!0};Object.defineProperty(n,s,d),e.util.defineReactive(n,s,c)}(l||i.bind)&&!1!==i.bind&&(t.$options.computed=t.$options.computed||{},t.$options.computed[s]||(t.$options.computed[s]={get:function(){return e.localStorage[s]},set:function(t){e.localStorage[s]=t}}))}))}}),e[o]=n,e.prototype["$"+o]=n}}}}()}}]);
  2. //# sourceMappingURL=settings-apps-view-4529.js.map?v=74f74c25257225672edf