(()=>{var e,n={70938:(e,n,o)=>{"use strict";var a=o(85471),i=o(63814),r=o(21777),s=o(32981),l=o(65043),d=o(9518),c=o(432),u=o.n(c),p=o(53278),h=o(8259),f=o(93919);const g={data(){return{isMobile:this._isMobile()}},beforeMount(){window.addEventListener("resize",this._onResize)},beforeDestroy(){window.removeEventListener("resize",this._onResize)},methods:{_onResize(){this.isMobile=this._isMobile()},_isMobile:()=>document.documentElement.clientWidth<768}};o(54064);var v=o(63420),m=o(90116),b=o(50953),A=o(63127),y=o(6840),x=o(10700),C=o(51246),w=o(59594),S=o(3200),k=o(10501),_=o(63961),E=o(34375),D=o(86921),O=o(47611),I=o(10363),N=o(41430),T=o(19858),M=o(68776),P=o(15650),j=o(71246),B=o(46447),L=o(69176),W=o(82936),F=o(14645),R=o(89902),U=o(947),$=o(58589),G=o(18503),z=o(37595),H=o(91680),V=o(49296),Y=o(38868),X=o(23503),K=o(52870),q=o(70563),Q=o(66250),J=o(35725),Z=o(28245),tt=o(35428),et=o(43899),nt=o(33828),ot=o(84003),at=o(740),it=o(10833),rt=o(1620),st=o(94305),lt=o(27720),dt=o(6936),ct=o(44559),ut=o(78768),pt=o(46222),ht=o(48934),ft=o(51375),gt=o(28690),vt=o(15224),mt=o(5392),bt=o(11285),At=o(22911),yt=o(35384),xt=(o(78460),o(66957),o(8012)),Ct=o(59567),wt=(o(61338),o(64981)),St=o(12888),kt=o(41347),_t=o(61217),Et=o(82898),Dt=o(86598),Ot=o(92019),It=o(47732),Nt=(o(23020),o(53429),o(58995),o(89921),o(42892)),Tt=o(65842),Mt=o(57874),Pt=(o(75105),o(92471),o(16406),o(2508));v.A,m.N,b.A,A.A,y.N,x.A,C.A,w.A,k.A,_.A,E.A,S.N,D.N,O.A,I.A,N.N,T.N,M.A,P.N,j.A,B.A,L.N,W.N,F.A,R.N,U.A,$.N,G.A,At.N,z.N,H.N,V.N,d.A,Y.N,X.N,K.N,q.A,Q.N,J.N,Z.N,tt.A,et.A,nt.N,ot.N,at.N,it.A,rt.A,st.N,lt.N,dt.N,ct.N,ut.N,pt.A,bt.N,p.A,ht.A,ft.N,gt.N,vt.N,mt.N,At.a,yt.N,wt.N,xt.N,St.N,kt.N,_t.N,Et.N,It.A,Ct.N,Dt.N,Ot.N,h.N,Symbol.toStringTag,Nt.u,Tt.u,Pt.yw,Symbol.toStringTag;var jt=o(85338);const Bt={name:"ApiDashboardWidget",components:{NcAvatar:z.N,NcDashboardWidget:Q.N,NcDashboardWidgetItem:J.N,NcEmptyContent:it.A,NcButton:d.A,CheckIcon:jt.A},props:{widget:{type:[Object,void 0],default:void 0},data:{type:[Object,void 0],default:void 0},loading:{type:Boolean,required:!0}},computed:{items(){var t,e;return null!==(t=null===(e=this.data)||void 0===e?void 0:e.items)&&void 0!==t?t:[]},emptyContentMessage(){var t,e;return null!==(t=null===(e=this.data)||void 0===e?void 0:e.emptyContentMessage)&&void 0!==t?t:""},halfEmptyContentMessage(){var t,e;return null!==(t=null===(e=this.data)||void 0===e?void 0:e.halfEmptyContentMessage)&&void 0!==t?t:""},newButton(){var t;return null===(t=this.widget)||void 0===t||null===(t=t.buttons)||void 0===t?void 0:t.find((t=>"new"===t.type))},moreButton(){var t;return null===(t=this.widget)||void 0===t||null===(t=t.buttons)||void 0===t?void 0:t.find((t=>"more"===t.type))},setupButton(){var t;return null===(t=this.widget)||void 0===t||null===(t=t.buttons)||void 0===t?void 0:t.find((t=>"setup"===t.type))},showMoreLabel(){var t;return null===(t=this.moreButton)||void 0===t?void 0:t.text},showMoreUrl(){var t;return null===(t=this.moreButton)||void 0===t?void 0:t.link}}};var Lt=o(14486);const Wt=(0,Lt.A)(Bt,(function(){var t=this,e=t._self._c;return e("NcDashboardWidget",{attrs:{items:t.items,"show-more-label":t.showMoreLabel,"show-more-url":t.showMoreUrl,loading:t.loading,"show-items-and-empty-content":!!t.halfEmptyContentMessage,"half-empty-content-message":t.halfEmptyContentMessage},scopedSlots:t._u([{key:"default",fn:function(n){let{item:o}=n;return[e("NcDashboardWidgetItem",{attrs:{"target-url":o.link,"overlay-icon-url":o.overlayIconUrl?o.overlayIconUrl:"","main-text":o.title,"sub-text":o.subtitle},scopedSlots:t._u([{key:"avatar",fn:function(){return[o.iconUrl?[e("NcAvatar",{attrs:{size:44,url:o.iconUrl}})]:t._e()]},proxy:!0}],null,!0)})]}},{key:"empty-content",fn:function(){return[0===t.items.length?e("NcEmptyContent",{attrs:{description:t.emptyContentMessage},scopedSlots:t._u([{key:"icon",fn:function(){return[t.emptyContentMessage?e("CheckIcon",{attrs:{size:65}}):t._e()]},proxy:!0},{key:"action",fn:function(){return[t.setupButton?e("NcButton",{attrs:{href:t.setupButton.link}},[t._v("\n\t\t\t\t\t"+t._s(t.setupButton.text)+"\n\t\t\t\t")]):t._e()]},proxy:!0}],null,!1,4172361897)}):t._e()]},proxy:!0}])})}),[],!1,null,"5de638ed",null).exports;var Ft=o(96763);const Rt=(0,s.C)("dashboard","panels"),Ut=(0,s.C)("dashboard","firstRun"),$t={weather:{text:t("dashboard","Weather"),icon:"icon-weather-status"},status:{text:t("dashboard","Status")}},Gt={name:"DashboardApp",components:{ApiDashboardWidget:Wt,NcButton:d.A,Draggable:u(),NcModal:p.A,Pencil:f.A,NcUserStatusIcon:h.N},mixins:[g],data(){var t,e;return{isAdmin:(0,r.HW)().isAdmin,timer:new Date,registeredStatus:[],callbacks:{},callbacksStatus:{},allCallbacksStatus:{},statusInfo:$t,enabledStatuses:(0,s.C)("dashboard","statuses"),panels:Rt,firstRun:Ut,displayName:null===(t=(0,r.HW)())||void 0===t?void 0:t.displayName,uid:null===(e=(0,r.HW)())||void 0===e?void 0:e.uid,layout:(0,s.C)("dashboard","layout").filter((t=>Rt[t])),modal:!1,appStoreUrl:(0,i.Jv)("/settings/apps/dashboard"),appStoreEnabled:(0,s.C)("dashboard","appStoreEnabled",!0),statuses:{},apiWidgets:[],apiWidgetItems:{},loadingItems:!0}},computed:{greeting(){const e=this.timer.getHours();let n;n=e>=22||e<5?"night":e>=18?"evening":e>=12?"afternoon":"morning";const o={morning:{generic:t("dashboard","Good morning"),withName:t("dashboard","Good morning, {name}",{name:this.displayName},void 0,{escape:!1})},afternoon:{generic:t("dashboard","Good afternoon"),withName:t("dashboard","Good afternoon, {name}",{name:this.displayName},void 0,{escape:!1})},evening:{generic:t("dashboard","Good evening"),withName:t("dashboard","Good evening, {name}",{name:this.displayName},void 0,{escape:!1})},night:{generic:t("dashboard","Hello"),withName:t("dashboard","Hello, {name}",{name:this.displayName},void 0,{escape:!1})}};return{text:this.displayName&&this.uid!==this.displayName?o[n].withName:o[n].generic}},isActive(){return t=>this.layout.indexOf(t.id)>-1},isStatusActive(){return t=>-1!==this.enabledStatuses.findIndex((e=>e===t))},sortedAllStatuses(){return Object.keys(this.allCallbacksStatus).slice().sort(this.sortStatuses)},sortedPanels(){return Object.values(this.panels).sort(((t,e)=>{const n=this.layout.indexOf(t.id),o=this.layout.indexOf(e.id);return-1===n||-1===o?o-n||t.id-e.id:n-o||t.id-e.id}))},sortedRegisteredStatus(){return this.registeredStatus.slice().sort(this.sortStatuses)}},watch:{callbacks(){this.rerenderPanels()},callbacksStatus(){for(const t in this.callbacksStatus){const e=this.$refs["status-"+t];this.statuses[t]&&this.statuses[t].mounted||(e?(this.callbacksStatus[t](e[0]),a.Ay.set(this.statuses,t,{mounted:!0})):Ft.error("Failed to register panel in the frontend as no backend data was provided for "+t))}}},async created(){await this.fetchApiWidgets();const t=Object.values(this.apiWidgets).filter((t=>this.isApiWidgetV2(t.id))).map((t=>t.id));await Promise.all(t.map((t=>this.fetchApiWidgetItems([t],!0))));for(const t of Object.values(this.apiWidgets))t.reload_interval>0&&setInterval((async()=>{await this.fetchApiWidgetItems([t.id],!0)}),1e3*t.reload_interval)},mounted(){this.updateSkipLink(),window.addEventListener("scroll",this.handleScroll),setInterval((()=>{this.timer=new Date}),3e4),this.firstRun&&window.addEventListener("scroll",this.disableFirstrunHint)},destroyed(){window.removeEventListener("scroll",this.handleScroll)},methods:{register(t,e){a.Ay.set(this.callbacks,t,e)},registerStatus(t,e){a.Ay.set(this.allCallbacksStatus,t,e),this.isStatusActive(t)&&(this.registeredStatus.push(t),this.$nextTick((()=>{a.Ay.set(this.callbacksStatus,t,e)})))},rerenderPanels(){for(const t in this.callbacks){if(this.isApiWidgetV2(this.panels[t].id))continue;const e=this.$refs[t];-1!==this.layout.indexOf(t)&&(this.panels[t]&&this.panels[t].mounted||(e?(this.callbacks[t](e[0],{widget:this.panels[t]}),a.Ay.set(this.panels[t],"mounted",!0)):Ft.error("Failed to register panel in the frontend as no backend data was provided for "+t)))}},saveLayout(){l.Ay.post((0,i.KT)("/apps/dashboard/api/v3/layout"),{layout:this.layout})},saveStatuses(){l.Ay.post((0,i.KT)("/apps/dashboard/api/v3/statuses"),{statuses:this.enabledStatuses})},showModal(){this.modal=!0,this.firstRun=!1},closeModal(){this.modal=!1},updateCheckbox(t,e){const n=this.layout.indexOf(t.id);!e&&n>-1?this.layout.splice(n,1):this.layout.push(t.id),a.Ay.set(this.panels[t.id],"mounted",!1),this.saveLayout(),this.$nextTick((()=>this.rerenderPanels()))},disableFirstrunHint(){window.removeEventListener("scroll",this.disableFirstrunHint),setTimeout((()=>{this.firstRun=!1}),1e3)},updateSkipLink(){document.getElementsByClassName("skip-navigation")[0].setAttribute("href","#app-dashboard")},updateStatusCheckbox(t,e){e?this.enableStatus(t):this.disableStatus(t)},enableStatus(t){this.enabledStatuses.push(t),this.registerStatus(t,this.allCallbacksStatus[t]),this.saveStatuses()},disableStatus(t){const e=this.enabledStatuses.findIndex((e=>e===t));-1!==e&&this.enabledStatuses.splice(e,1);const n=this.registeredStatus.findIndex((e=>e===t));-1!==n&&(this.registeredStatus.splice(n,1),a.Ay.set(this.statuses,t,{mounted:!1}),this.$nextTick((()=>{a.Ay.delete(this.callbacksStatus,t)}))),this.saveStatuses()},sortStatuses(t,e){const n=t.toLowerCase(),o=e.toLowerCase();return n>o?1:n70?document.body.classList.add("dashboard--scrolled"):document.body.classList.remove("dashboard--scrolled")},async fetchApiWidgets(){const t=await l.Ay.get((0,i.KT)("/apps/dashboard/api/v1/widgets"));this.apiWidgets=t.data.ocs.data},async fetchApiWidgetItems(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{const n=(0,i.KT)("/apps/dashboard/api/v2/widget-items"),o=new URLSearchParams(t.map((t=>["widgets[]",t]))),a=(await l.Ay.get("".concat(n,"?").concat(o.toString()))).data.ocs.data;this.apiWidgetItems=e?Object.assign({},this.apiWidgetItems,a):a}finally{this.loadingItems=!1}},isApiWidgetV2(t){for(const e of Object.values(this.apiWidgets))if(e.id===t&&e.item_api_versions.includes(2))return!0;return!1}}};var zt=o(85072),Ht=o.n(zt),Vt=o(97825),Yt=o.n(Vt),Xt=o(77659),Kt=o.n(Xt),qt=o(55056),Qt=o.n(qt),Jt=o(10540),Zt=o.n(Jt),te=o(41113),ee=o.n(te),ne=o(27872),oe={};oe.styleTagTransform=ee(),oe.setAttributes=Qt(),oe.insert=Kt().bind(null,"head"),oe.domAPI=Yt(),oe.insertStyleElement=Zt(),Ht()(ne.A,oe),ne.A&&ne.A.locals&&ne.A.locals;var ae=o(40833),ie={};ie.styleTagTransform=ee(),ie.setAttributes=Qt(),ie.insert=Kt().bind(null,"head"),ie.domAPI=Yt(),ie.insertStyleElement=Zt(),Ht()(ae.A,ie),ae.A&&ae.A.locals&&ae.A.locals;const re=(0,Lt.A)(Gt,(function(){var t=this,e=t._self._c;return e("div",{attrs:{id:"app-dashboard"}},[e("h2",[t._v(t._s(t.greeting.text))]),t._v(" "),e("ul",{staticClass:"statuses"},t._l(t.sortedRegisteredStatus,(function(t){return e("li",{key:t,attrs:{id:"status-"+t}},[e("div",{ref:"status-"+t,refInFor:!0})])})),0),t._v(" "),e("Draggable",t._b({staticClass:"panels",attrs:{handle:".panel--header"},on:{end:t.saveLayout},model:{value:t.layout,callback:function(e){t.layout=e},expression:"layout"}},"Draggable",{swapThreshold:.3,delay:500,delayOnTouchOnly:!0,touchStartThreshold:3},!1),[t._l(t.layout,(function(n){return[t.isApiWidgetV2(t.panels[n].id)?e("div",{key:"".concat(t.panels[n].id,"-v2"),staticClass:"panel"},[e("div",{staticClass:"panel--header"},[e("h2",[e("span",{class:t.apiWidgets[t.panels[n].id].icon_class,attrs:{"aria-labelledby":"panel-".concat(t.panels[n].id,"--header--icon--description"),"aria-hidden":"true",role:"img"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.apiWidgets[t.panels[n].id].title)+"\n\t\t\t\t\t")]),t._v(" "),e("span",{staticClass:"hidden-visually",attrs:{id:"panel-".concat(t.panels[n].id,"--header--icon--description")}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("dashboard",'"{title} icon"',{title:t.apiWidgets[t.panels[n].id].title}))+"\n\t\t\t\t\t")])]),t._v(" "),e("div",{staticClass:"panel--content"},[e("ApiDashboardWidget",{attrs:{widget:t.apiWidgets[t.panels[n].id],data:t.apiWidgetItems[t.panels[n].id],loading:t.loadingItems}})],1)]):e("div",{key:t.panels[n].id,staticClass:"panel"},[e("div",{staticClass:"panel--header"},[e("h2",[e("span",{class:t.panels[n].iconClass,attrs:{"aria-labelledby":"panel-".concat(t.panels[n].id,"--header--icon--description"),"aria-hidden":"true",role:"img"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.panels[n].title)+"\n\t\t\t\t\t")]),t._v(" "),e("span",{staticClass:"hidden-visually",attrs:{id:"panel-".concat(t.panels[n].id,"--header--icon--description")}},[t._v(" "+t._s(t.t("dashboard",'"{title} icon"',{title:t.panels[n].title}))+" ")])]),t._v(" "),e("div",{staticClass:"panel--content",class:{loading:!t.panels[n].mounted}},[e("div",{ref:t.panels[n].id,refInFor:!0,attrs:{"data-id":t.panels[n].id}})])])]}))],2),t._v(" "),e("div",{staticClass:"footer"},[e("NcButton",{on:{click:t.showModal},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Pencil",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t"+t._s(t.t("dashboard","Customize"))+"\n\t\t")])],1),t._v(" "),t.modal?e("NcModal",{attrs:{size:"large"},on:{close:t.closeModal}},[e("div",{staticClass:"modal__content"},[e("h2",[t._v(t._s(t.t("dashboard","Edit widgets")))]),t._v(" "),e("ol",{staticClass:"panels"},t._l(t.sortedAllStatuses,(function(n){return e("li",{key:n,class:"panel-"+n},[e("input",{staticClass:"checkbox",attrs:{id:"status-checkbox-"+n,type:"checkbox"},domProps:{checked:t.isStatusActive(n)},on:{input:function(e){return t.updateStatusCheckbox(n,e.target.checked)}}}),t._v(" "),e("label",{attrs:{for:"status-checkbox-"+n}},["status"===n?e("NcUserStatusIcon",{attrs:{status:"online","aria-hidden":"true"}}):e("span",{class:t.statusInfo[n].icon,attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.statusInfo[n].text)+"\n\t\t\t\t\t")],1)])})),0),t._v(" "),e("Draggable",t._b({staticClass:"panels",attrs:{tag:"ol",handle:".draggable"},on:{end:t.saveLayout},model:{value:t.layout,callback:function(e){t.layout=e},expression:"layout"}},"Draggable",{swapThreshold:.3,delay:500,delayOnTouchOnly:!0,touchStartThreshold:3},!1),t._l(t.sortedPanels,(function(n){return e("li",{key:n.id,class:"panel-"+n.id},[e("input",{staticClass:"checkbox",attrs:{id:"panel-checkbox-"+n.id,type:"checkbox"},domProps:{checked:t.isActive(n)},on:{input:function(e){return t.updateCheckbox(n,e.target.checked)}}}),t._v(" "),e("label",{class:{draggable:t.isActive(n)},attrs:{for:"panel-checkbox-"+n.id}},[e("span",{class:n.iconClass,attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(n.title)+"\n\t\t\t\t\t")])])})),0),t._v(" "),t.isAdmin&&t.appStoreEnabled?e("a",{staticClass:"button",attrs:{href:t.appStoreUrl}},[t._v(t._s(t.t("dashboard","Get more widgets from the App Store")))]):t._e(),t._v(" "),t.statuses.weather&&t.isStatusActive("weather")?e("div",[e("h2",[t._v(t._s(t.t("dashboard","Weather service")))]),t._v(" "),e("p",[t._v("\n\t\t\t\t\t"+t._s(t.t("dashboard","For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information."))+"\n\t\t\t\t")]),t._v(" "),e("p",{staticClass:"credits--end"},[e("a",{attrs:{href:"https://api.met.no/doc/TermsOfService",target:"_blank",rel:"noopener"}},[t._v(t._s(t.t("dashboard","Weather data from Met.no")))]),t._v(",\n\t\t\t\t\t"),e("a",{attrs:{href:"https://wiki.osmfoundation.org/wiki/Privacy_Policy",target:"_blank",rel:"noopener"}},[t._v(t._s(t.t("dashboard","geocoding with Nominatim")))]),t._v(",\n\t\t\t\t\t"),e("a",{attrs:{href:"https://www.opentopodata.org/#public-api",target:"_blank",rel:"noopener"}},[t._v(t._s(t.t("dashboard","elevation data from OpenTopoData")))]),t._v(".\n\t\t\t\t")])]):t._e()],1)]):t._e()],1)}),[],!1,null,"7d48dfda",null).exports;var se=o(53334);o.nc=btoa((0,r.do)()),a.Ay.directive("Tooltip",Mt.A),a.Ay.prototype.t=se.Tl;const le=new(a.Ay.extend(re))({}).$mount("#app-content-vue");window.OCA.Dashboard={register:(t,e)=>le.register(t,e),registerStatus:(t,e)=>le.registerStatus(t,e)}},27872:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var o=n(71354),a=n.n(o),i=n(76314),r=n.n(i)()(a());r.push([t.id,"#app-dashboard[data-v-7d48dfda]{width:100%;min-height:100%;background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed}#app-dashboard>h2[data-v-7d48dfda]{color:var(--color-background-plain-text);text-align:center;font-size:32px;line-height:130%;padding:1rem 0}.panels[data-v-7d48dfda]{width:auto;margin:auto;max-width:1800px;display:flex;justify-content:center;flex-direction:row;align-items:flex-start;flex-wrap:wrap}.panel[data-v-7d48dfda],.panels>div[data-v-7d48dfda]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));width:320px;max-width:100%;margin:16px;align-self:stretch;background-color:var(--color-main-background-blur);-webkit-backdrop-filter:var(--filter-background-blur);backdrop-filter:var(--filter-background-blur);border-radius:var(--border-radius-rounded)}#body-user.theme--highcontrast .panel[data-v-7d48dfda],#body-user.theme--highcontrast .panels>div[data-v-7d48dfda]{border:2px solid var(--color-border)}.panel.sortable-ghost[data-v-7d48dfda],.panels>div.sortable-ghost[data-v-7d48dfda]{opacity:.1}.panel>.panel--header[data-v-7d48dfda],.panels>div>.panel--header[data-v-7d48dfda]{display:flex;z-index:1;top:50px;padding:16px;cursor:grab}.panel>.panel--header[data-v-7d48dfda],.panel>.panel--header[data-v-7d48dfda] *,.panels>div>.panel--header[data-v-7d48dfda],.panels>div>.panel--header[data-v-7d48dfda] *{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.panel>.panel--header[data-v-7d48dfda]:active,.panels>div>.panel--header[data-v-7d48dfda]:active{cursor:grabbing}.panel>.panel--header a[data-v-7d48dfda],.panels>div>.panel--header a[data-v-7d48dfda]{flex-grow:1}.panel>.panel--header>h2[data-v-7d48dfda],.panels>div>.panel--header>h2[data-v-7d48dfda]{display:block;align-items:center;flex-grow:1;margin:0;font-size:20px;line-height:24px;font-weight:bold;padding:16px 8px;height:56px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab}.panel>.panel--header>h2 span[data-v-7d48dfda],.panels>div>.panel--header>h2 span[data-v-7d48dfda]{background-size:32px;width:32px;height:32px;margin-right:16px;background-position:center;float:left;margin-top:-6px;margin-left:6px}.panel>.panel--content[data-v-7d48dfda],.panels>div>.panel--content[data-v-7d48dfda]{margin:0 16px 16px 16px;height:424px;overflow:visible}@media only screen and (max-width: 709px){.panel>.panel--content[data-v-7d48dfda],.panels>div>.panel--content[data-v-7d48dfda]{height:auto}}.footer[data-v-7d48dfda]{display:flex;justify-content:center;transition:bottom var(--animation-slow) ease-in-out;padding:1rem 0}.edit-panels[data-v-7d48dfda]{display:inline-block;margin:auto;background-position:16px center;padding:12px 16px;padding-left:36px;border-radius:var(--border-radius-pill);max-width:200px;opacity:1;text-align:center}.button[data-v-7d48dfda],.button-vue[data-v-7d48dfda],.edit-panels[data-v-7d48dfda],.statuses[data-v-7d48dfda] .action-item .action-item__menutoggle,.statuses[data-v-7d48dfda] .action-item.action-item--open .action-item__menutoggle{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));background-color:var(--color-main-background-blur);-webkit-backdrop-filter:var(--filter-background-blur);backdrop-filter:var(--filter-background-blur);opacity:1 !important}.button[data-v-7d48dfda]:hover,.button[data-v-7d48dfda]:focus,.button[data-v-7d48dfda]:active,.button-vue[data-v-7d48dfda]:hover,.button-vue[data-v-7d48dfda]:focus,.button-vue[data-v-7d48dfda]:active,.edit-panels[data-v-7d48dfda]:hover,.edit-panels[data-v-7d48dfda]:focus,.edit-panels[data-v-7d48dfda]:active,.statuses[data-v-7d48dfda] .action-item .action-item__menutoggle:hover,.statuses[data-v-7d48dfda] .action-item .action-item__menutoggle:focus,.statuses[data-v-7d48dfda] .action-item .action-item__menutoggle:active,.statuses[data-v-7d48dfda] .action-item.action-item--open .action-item__menutoggle:hover,.statuses[data-v-7d48dfda] .action-item.action-item--open .action-item__menutoggle:focus,.statuses[data-v-7d48dfda] .action-item.action-item--open .action-item__menutoggle:active{background-color:var(--color-background-hover) !important}.button[data-v-7d48dfda]:focus-visible,.button-vue[data-v-7d48dfda]:focus-visible,.edit-panels[data-v-7d48dfda]:focus-visible,.statuses[data-v-7d48dfda] .action-item .action-item__menutoggle:focus-visible,.statuses[data-v-7d48dfda] .action-item.action-item--open .action-item__menutoggle:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}.modal__content[data-v-7d48dfda]{padding:32px 16px;text-align:center}.modal__content ol[data-v-7d48dfda]{display:flex;flex-direction:row;justify-content:center;list-style-type:none;padding-bottom:16px}.modal__content li label[data-v-7d48dfda]{position:relative;display:block;padding:48px 16px 14px 16px;margin:8px;width:140px;background-color:var(--color-background-hover);border:2px solid var(--color-main-background);border-radius:var(--border-radius-large);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal__content li label span[data-v-7d48dfda]{position:absolute;top:16px;width:24px;height:24px;background-size:24px}.modal__content li label[data-v-7d48dfda]:hover{border-color:var(--color-primary-element)}.modal__content li:not(.panel-status) label span[data-v-7d48dfda]{filter:var(--background-invert-if-dark)}.modal__content li input[type=checkbox].checkbox+label[data-v-7d48dfda]:before{position:absolute;right:12px;top:16px}.modal__content li input:focus+label[data-v-7d48dfda]{border-color:var(--color-primary-element)}.modal__content h2[data-v-7d48dfda]{font-weight:bold;margin-top:12px}.modal__content .button[data-v-7d48dfda]{display:inline-block;padding:10px 16px;margin:0}.modal__content p[data-v-7d48dfda]{max-width:650px;margin:0 auto}.modal__content p a[data-v-7d48dfda]:hover,.modal__content p a[data-v-7d48dfda]:focus{border-bottom:2px solid var(--color-border)}.modal__content .credits--end[data-v-7d48dfda]{padding-bottom:32px;color:var(--color-text-maxcontrast)}.modal__content .credits--end a[data-v-7d48dfda]{color:var(--color-text-maxcontrast)}.flip-list-move[data-v-7d48dfda]{transition:transform var(--animation-slow)}.statuses[data-v-7d48dfda]{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;margin-bottom:36px}.statuses>li[data-v-7d48dfda]{margin:8px}","",{version:3,sources:["webpack://./apps/dashboard/src/DashboardApp.vue"],names:[],mappings:"AACA,gCACC,UAAA,CACA,eAAA,CACA,qBAAA,CACA,iCAAA,CACA,2BAAA,CACA,2BAAA,CAEA,mCAEC,wCAAA,CACA,iBAAA,CACA,cAAA,CACA,gBAAA,CACA,cAAA,CAIF,yBACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CACA,cAAA,CAGD,qDAEC,+FAAA,CAEA,WAAA,CACA,cAAA,CACA,WAAA,CACA,kBAAA,CACA,kDAAA,CACA,qDAAA,CACA,6CAAA,CACA,0CAAA,CAEA,mHACC,oCAAA,CAGD,mFACE,UAAA,CAGF,mFACC,YAAA,CACA,SAAA,CACA,QAAA,CACA,YAAA,CACA,WAAA,CAEA,0KACC,0BAAA,CACA,wBAAA,CACA,uBAAA,CACA,qBAAA,CACA,oBAAA,CACA,gBAAA,CAGD,iGACC,eAAA,CAGD,uFACC,WAAA,CAGD,yFACC,aAAA,CACA,kBAAA,CACA,WAAA,CACA,QAAA,CACA,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,gBAAA,CACA,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,WAAA,CACA,mGACC,oBAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,0BAAA,CACA,UAAA,CACA,eAAA,CACA,eAAA,CAKH,qFACC,uBAAA,CACA,YAAA,CAEA,gBAAA,CAID,0CACC,qFACC,WAAA,CAAA,CAKH,yBACC,YAAA,CACA,sBAAA,CACA,mDAAA,CACA,cAAA,CAGD,8BACC,oBAAA,CACA,WAAA,CACA,+BAAA,CACA,iBAAA,CACA,iBAAA,CACA,uCAAA,CACA,eAAA,CACA,SAAA,CACA,iBAAA,CAGD,wOAMC,+FAAA,CAEA,kDAAA,CACA,qDAAA,CACA,6CAAA,CACA,oBAAA,CAEA,uxBAGC,yDAAA,CAED,8SACC,4DAAA,CACA,mDAAA,CAIF,iCACC,iBAAA,CACA,iBAAA,CAEA,oCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,oBAAA,CACA,mBAAA,CAGA,0CACC,iBAAA,CACA,aAAA,CACA,2BAAA,CACA,UAAA,CACA,WAAA,CACA,8CAAA,CACA,6CAAA,CACA,wCAAA,CACA,eAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA,CAEA,+CACC,iBAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CACA,oBAAA,CAGD,gDACC,yCAAA,CAKF,kEACC,uCAAA,CAGD,+EACC,iBAAA,CACA,UAAA,CACA,QAAA,CAGD,sDACC,yCAAA,CAIF,oCACC,gBAAA,CACA,eAAA,CAID,yCACC,oBAAA,CACA,iBAAA,CACA,QAAA,CAGD,mCACC,eAAA,CACA,aAAA,CAEA,sFAEC,2CAAA,CAIF,+CACC,mBAAA,CACA,mCAAA,CAEA,iDACC,mCAAA,CAKH,iCACC,0CAAA,CAGD,2BACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,cAAA,CACA,kBAAA,CAEA,8BACC,UAAA",sourcesContent:["\n#app-dashboard {\n\twidth: 100%;\n\tmin-height: 100%;\n\tbackground-size: cover;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-attachment: fixed;\n\n\t> h2 {\n\t\t// this is shown directly on the background image / color\n\t\tcolor: var(--color-background-plain-text);\n\t\ttext-align: center;\n\t\tfont-size: 32px;\n\t\tline-height: 130%;\n\t\tpadding: 1rem 0;\n\t}\n}\n\n.panels {\n\twidth: auto;\n\tmargin: auto;\n\tmax-width: 1800px;\n\tdisplay: flex;\n\tjustify-content: center;\n\tflex-direction: row;\n\talign-items: flex-start;\n\tflex-wrap: wrap;\n}\n\n.panel, .panels > div {\n\t// Ensure the maxcontrast color is set for the background\n\t--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));\n\n\twidth: 320px;\n\tmax-width: 100%;\n\tmargin: 16px;\n\talign-self: stretch;\n\tbackground-color: var(--color-main-background-blur);\n\t-webkit-backdrop-filter: var(--filter-background-blur);\n\tbackdrop-filter: var(--filter-background-blur);\n\tborder-radius: var(--border-radius-rounded);\n\n\t#body-user.theme--highcontrast & {\n\t\tborder: 2px solid var(--color-border);\n\t}\n\n\t&.sortable-ghost {\n\t\t opacity: 0.1;\n\t}\n\n\t& > .panel--header {\n\t\tdisplay: flex;\n\t\tz-index: 1;\n\t\ttop: 50px;\n\t\tpadding: 16px;\n\t\tcursor: grab;\n\n\t\t&, ::v-deep * {\n\t\t\t-webkit-touch-callout: none;\n\t\t\t-webkit-user-select: none;\n\t\t\t-khtml-user-select: none;\n\t\t\t-moz-user-select: none;\n\t\t\t-ms-user-select: none;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tcursor: grabbing;\n\t\t}\n\n\t\ta {\n\t\t\tflex-grow: 1;\n\t\t}\n\n\t\t> h2 {\n\t\t\tdisplay: block;\n\t\t\talign-items: center;\n\t\t\tflex-grow: 1;\n\t\t\tmargin: 0;\n\t\t\tfont-size: 20px;\n\t\t\tline-height: 24px;\n\t\t\tfont-weight: bold;\n\t\t\tpadding: 16px 8px;\n\t\t\theight: 56px;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\tcursor: grab;\n\t\t\tspan {\n\t\t\t\tbackground-size: 32px;\n\t\t\t\twidth: 32px;\n\t\t\t\theight: 32px;\n\t\t\t\tmargin-right: 16px;\n\t\t\t\tbackground-position: center;\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: -6px;\n\t\t\t\tmargin-left: 6px;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .panel--content {\n\t\tmargin: 0 16px 16px 16px;\n\t\theight: 424px;\n\t\t// We specifically do not want scrollbars inside widgets\n\t\toverflow: visible;\n\t}\n\n\t// No need to extend height of widgets if only one column is shown\n\t@media only screen and (max-width: 709px) {\n\t\t& > .panel--content {\n\t\t\theight: auto;\n\t\t}\n\t}\n}\n\n.footer {\n\tdisplay: flex;\n\tjustify-content: center;\n\ttransition: bottom var(--animation-slow) ease-in-out;\n\tpadding: 1rem 0;\n}\n\n.edit-panels {\n\tdisplay: inline-block;\n\tmargin:auto;\n\tbackground-position: 16px center;\n\tpadding: 12px 16px;\n\tpadding-left: 36px;\n\tborder-radius: var(--border-radius-pill);\n\tmax-width: 200px;\n\topacity: 1;\n\ttext-align: center;\n}\n\n.button,\n.button-vue,\n.edit-panels,\n.statuses ::v-deep .action-item .action-item__menutoggle,\n.statuses ::v-deep .action-item.action-item--open .action-item__menutoggle {\n\t// Ensure the maxcontrast color is set for the background\n\t--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));\n\n\tbackground-color: var(--color-main-background-blur);\n\t-webkit-backdrop-filter: var(--filter-background-blur);\n\tbackdrop-filter: var(--filter-background-blur);\n\topacity: 1 !important;\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbackground-color: var(--color-background-hover)!important;\n\t}\n\t&:focus-visible {\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t}\n}\n\n.modal__content {\n\tpadding: 32px 16px;\n\ttext-align: center;\n\n\tol {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: center;\n\t\tlist-style-type: none;\n\t\tpadding-bottom: 16px;\n\t}\n\tli {\n\t\tlabel {\n\t\t\tposition: relative;\n\t\t\tdisplay: block;\n\t\t\tpadding: 48px 16px 14px 16px;\n\t\t\tmargin: 8px;\n\t\t\twidth: 140px;\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder: 2px solid var(--color-main-background);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t\ttext-align: left;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\n\t\t\tspan {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 16px;\n\t\t\t\twidth: 24px;\n\t\t\t\theight: 24px;\n\t\t\t\tbackground-size: 24px;\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\tborder-color: var(--color-primary-element);\n\t\t\t}\n\t\t}\n\n\t\t// Do not invert status icons\n\t\t&:not(.panel-status) label span {\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\n\t\tinput[type='checkbox'].checkbox + label:before {\n\t\t\tposition: absolute;\n\t\t\tright: 12px;\n\t\t\ttop: 16px;\n\t\t}\n\n\t\tinput:focus + label {\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\th2 {\n\t\tfont-weight: bold;\n\t\tmargin-top: 12px;\n\t}\n\n\t// Adjust design of 'Get more widgets' button\n\t.button {\n\t\tdisplay: inline-block;\n\t\tpadding: 10px 16px;\n\t\tmargin: 0;\n\t}\n\n\tp {\n\t\tmax-width: 650px;\n\t\tmargin: 0 auto;\n\n\t\ta:hover,\n\t\ta:focus {\n\t\t\tborder-bottom: 2px solid var(--color-border);\n\t\t}\n\t}\n\n\t.credits--end {\n\t\tpadding-bottom: 32px;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\ta {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n}\n\n.flip-list-move {\n\ttransition: transform var(--animation-slow);\n}\n\n.statuses {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: center;\n\tflex-wrap: wrap;\n\tmargin-bottom: 36px;\n\n\t& > li {\n\t\tmargin: 8px;\n\t}\n}\n"],sourceRoot:""}]);const s=r},40833:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var o=n(71354),a=n.n(o),i=n(76314),r=n.n(i)()(a());r.push([t.id,"\nhtml, body {\n\tbackground-attachment: fixed;\n}\n#body-user #header {\n\tposition: fixed;\n}\n#content {\n\toverflow: auto;\n}\n","",{version:3,sources:["webpack://./apps/dashboard/src/DashboardApp.vue"],names:[],mappings:";AA2tBA;CACA,4BAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,cAAA;AACA",sourcesContent:["\x3c!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n --\x3e\n\n\n