aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornextcloud-command <nextcloud-command@users.noreply.github.com>2025-06-02 20:03:51 +0000
committernextcloud-command <nextcloud-command@users.noreply.github.com>2025-06-02 20:03:51 +0000
commitcefcb880c2431f68dc6301762d47ed9b931ac947 (patch)
treed125394032fc774767e06655dde064e61836f1c6
parentfe4592c90e15dba21aeeddec0f34c1bfd090fce6 (diff)
downloadnextcloud-server-fix/noid-fix-user-create-quota.tar.gz
nextcloud-server-fix/noid-fix-user-create-quota.zip
chore(assets): Recompile assetsfix/noid-fix-user-create-quota
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
-rw-r--r--dist/settings-users-3239.js4
-rw-r--r--dist/settings-users-3239.js.map2
-rw-r--r--dist/settings-vue-settings-apps-users-management.js4
-rw-r--r--dist/settings-vue-settings-apps-users-management.js.map2
4 files changed, 6 insertions, 6 deletions
diff --git a/dist/settings-users-3239.js b/dist/settings-users-3239.js
index de6cd7c6139..259a17801ec 100644
--- a/dist/settings-users-3239.js
+++ b/dist/settings-users-3239.js
@@ -1,2 +1,2 @@
-(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[3239,9697],{523:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-button-group-base > div {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button {\n padding: 0 !important;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\n background-color: var(--color-primary-element);\n border-radius: var(--border-radius-large);\n color: var(--color-primary-element-text);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\n background-color: var(--color-primary-element-hover);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\n display: none;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,oCAAoC;AACtC;AACA;EACE,aAAa;EACb,QAAQ;EACR,8BAA8B;AAChC;AACA;EACE,SAAS;AACX;AACA;EACE,qBAAqB;EACrB,WAAW;EACX,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,8CAA8C;EAC9C,yCAAyC;EACzC,wCAAwC;AAC1C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,aAAa;AACf",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-button-group-base > div {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button {\n padding: 0 !important;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\n background-color: var(--color-primary-element);\n border-radius: var(--border-radius-large);\n color: var(--color-primary-element-text);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\n background-color: var(--color-primary-element-hover);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\n display: none;\n}"],sourceRoot:""}]);const s=o},2837:(e,t,n)=>{"use strict";n.d(t,{N:()=>B,d:()=>G,g:()=>ge}),n(7861);var a=n(58322),i=n(51431),r=n(83653),o=n(65043),s=n(32981),l=n(63814),c=n(32190),d=n(26517),u=n(28851),p=n(13073),A=n(85471),g=n(40173),h=n(43921),m=n(97012),f=n(59892),v=n(4266),C=n(47296),b=n(69496),y=n(61338),_=n(83427),x=n(89916);(0,r.r)(r.V);const w={name:"NcReferenceWidget",components:{NcButton:m.A},props:{reference:{type:Object,required:!0},interactive:{type:Boolean,default:!0},interactiveOptIn:{type:Boolean,default:!1}},setup(){const e=(0,A.KR)(!1),t=(0,A.KR)(),{width:n}=(0,p.Lhy)(t);return(0,p.BLq)(t,(([t])=>{(0,A.dY)((()=>{e.value=t.isIntersecting}))})),{width:n,isVisible:e,widgetRoot:t}},data:()=>({showInteractive:!1,rendered:!1,idleTimeout:null}),computed:{isInteractive(){return!this.interactiveOptIn&&this.interactive||this.showInteractive},hasFullWidth(){return(0,a.f)(this.reference.richObjectType)},hasCustomWidget(){return(0,a.i)(this.reference.richObjectType)},hasInteractiveView(){return(0,a.i)(this.reference.richObjectType)&&(0,a.h)(this.reference.richObjectType)},noAccess(){return this.reference&&!this.reference.accessible},descriptionStyle(){if(0===this.numberOfLines)return{display:"none"};const e=this.numberOfLines;return{lineClamp:e,webkitLineClamp:e}},numberOfLines(){return[450,550,650,1/0].findIndex((e=>this.width<e))},compactLink(){const e=this.reference.openGraphObject.link;return e?e.startsWith("https://")?e.substring(8):e.startsWith("http://")?e.substring(7):e:""},route(){return(0,h.g)(this.$router,this.reference.openGraphObject.link)},referenceWidgetLinkComponent(){return this.route?g.Wk:"a"},referenceWidgetLinkProps(){return this.route?{to:this.route}:{href:this.reference.openGraphObject.link,target:"_blank"}}},watch:{isVisible:{handler(e){e?(this.idleTimeout&&(clearTimeout(this.idleTimeout),this.idleTimeout=null),this.rendered||this.renderWidget()):this.idleTimeout=setTimeout((()=>{this.isVisible||this.destroyWidget()}),18e4)},immediate:!0}},beforeDestroy(){this.destroyWidget()},methods:{t:r.a,enableInteractive(){this.showInteractive=!0,this.renderWidget()},renderWidget(){if(!this.$refs.customWidget)return;if("open-graph"===this?.reference?.richObjectType)return;this.$refs.customWidget.innerHTML="";const e=document.createElement("div");e.style="width: 100%;",this.$refs.customWidget.appendChild(e),this.$nextTick((()=>{(0,a.a)(e,{...this.reference,interactive:this.isInteractive}),this.rendered=!0}))},destroyWidget(){this.rendered&&((0,a.e)(this.reference.richObjectType,this.$el),this.rendered=!1)}}};var E=function(){var e=this,t=e._self._c;return t("div",{ref:"widgetRoot",class:{"toggle-interactive":e.hasInteractiveView&&!e.isInteractive}},[e.reference&&e.hasCustomWidget?t("div",{ref:"customWidget",staticClass:"widget-custom",class:{"full-width":e.hasFullWidth}}):!e.noAccess&&e.reference&&e.reference.openGraphObject&&!e.hasCustomWidget?t(e.referenceWidgetLinkComponent,e._b({tag:"component",staticClass:"widget-default",attrs:{rel:"noopener noreferrer"}},"component",e.referenceWidgetLinkProps,!1),[e.reference.openGraphObject.thumb?t("img",{staticClass:"widget-default--image",attrs:{src:e.reference.openGraphObject.thumb}}):e._e(),t("div",{staticClass:"widget-default--details"},[t("p",{staticClass:"widget-default--name"},[e._v(" "+e._s(e.reference.openGraphObject.name)+" ")]),t("p",{staticClass:"widget-default--description",style:e.descriptionStyle},[e._v(" "+e._s(e.reference.openGraphObject.description)+" ")]),t("p",{staticClass:"widget-default--link"},[e._v(" "+e._s(e.compactLink)+" ")])])]):e._e(),e.interactiveOptIn&&e.hasInteractiveView&&!e.isInteractive?t("NcButton",{staticClass:"toggle-interactive--button",on:{click:e.enableInteractive}},[e._v(" "+e._s(e.t("Enable interactive view"))+" ")]):e._e()],1)},k=[];const B=(0,i.n)(w,E,k,!1,null,"734d6ae9").exports,N={name:"NcCustomPickerElement",props:{provider:{type:Object,required:!0}},emits:["cancel","submit"],data(){return{isRegistered:(0,a.d)(this.provider.id),renderResult:null}},mounted(){this.isRegistered&&this.renderElement()},beforeDestroy(){this.isRegistered&&(0,a.g)(this.provider.id,this.$el,this.renderResult)},methods:{renderElement(){this.$refs.domElement&&(this.$refs.domElement.innerHTML="");const e=(0,a.c)(this.$refs.domElement,{providerId:this.provider.id,accessible:!1});Promise.resolve(e).then((e=>{this.renderResult=e,this.renderResult.object?._isVue&&this.renderResult.object?.$on&&(this.renderResult.object.$on("submit",this.onSubmit),this.renderResult.object.$on("cancel",this.onCancel)),this.renderResult.element.addEventListener("submit",(e=>{this.onSubmit(e.detail)})),this.renderResult.element.addEventListener("cancel",this.onCancel)}))},onSubmit(e){this.$emit("submit",e)},onCancel(){this.$emit("cancel")}}};var S=function(){return(0,this._self._c)("div",{ref:"domElement"})},I=[];const D=(0,i.n)(N,S,I,!1,null,"de9850e4").exports;(0,r.r)(r.W);const T="any-link",L={id:T,title:(0,r.a)("Any link"),icon_url:(0,l.d0)("core","filetypes/link.svg")};function P(){return window._vue_richtext_reference_providers.filter((e=>{const t=!!e.search_providers_ids&&e.search_providers_ids.length>0||(0,a.d)(e.id);return t||console.debug("[smart picker]",e.id,"reference provider is discoverable but does not have any related search provider or custom picker component registered"),t}))}function G(e,t=null){const n=P(),a=e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&"),i=new RegExp(a,"i"),r=function(e){const t=window._vue_richtext_reference_provider_timestamps;return e.sort(((e,t)=>e.order===t.order?0:e.order>t.order?1:-1)).sort(((e,n)=>{const a=t[e.id],i=t[n.id];return a===i?0:void 0===i?-1:void 0===a?1:a>i?-1:1}))}(n).filter((e=>e.title.match(i))),o=t?r.slice(0,t):r;return""!==e&&0!==o.length||o.push(L),o}window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=(0,s.C)("core","reference-provider-list",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=(0,s.C)("core","reference-provider-timestamps",{}));let F=0;function O(e,t){return function(){const n=this,a=arguments;clearTimeout(F),F=setTimeout((function(){e.apply(n,a)}),t)}}function U(e){try{return Boolean(new URL(e))}catch(e){return!1}}(0,r.r)(r.Y,r.X);const R={name:"LinkVariantIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var q=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon link-variant-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},M=[];const j=(0,i.n)(R,q,M,!1,null,null).exports,z={name:"NcProviderList",components:{NcSelect:u.N,NcHighlight:d.N,NcEmptyContent:c.A,LinkVariantIcon:j},emits:["select-provider","submit"],data:()=>({selectedProvider:null,query:"",multiselectPlaceholder:(0,r.a)("Select provider"),providerIconAlt:(0,r.a)("Provider icon")}),computed:{options(){const e=[];return""!==this.query&&U(this.query)&&e.push({id:this.query,title:this.query,isLink:!0}),e.push(...G(this.query)),e}},methods:{focus(){setTimeout((()=>{this.$refs["provider-select"]?.$el?.querySelector("#provider-select-input")?.focus()}),300)},onProviderSelected(e){null!==e&&(e.isLink?this.$emit("submit",e.title):this.$emit("select-provider",e),this.selectedProvider=null)},onSearch(e,t){this.query=e}}};var $=function(){var e=this,t=e._self._c;return t("div",{staticClass:"provider-list"},[t("NcSelect",{ref:"provider-select",staticClass:"provider-list--select",attrs:{"input-id":"provider-select-input",label:"title",placeholder:e.multiselectPlaceholder,options:e.options,"append-to-body":!1,"clear-search-on-select":!0,"clear-search-on-blur":()=>!1,filterable:!1},on:{search:e.onSearch,input:e.onProviderSelected},scopedSlots:e._u([{key:"option",fn:function(n){return[n.isLink?t("div",{staticClass:"provider"},[t("LinkVariantIcon",{staticClass:"link-icon",attrs:{size:20}}),t("span",[e._v(e._s(n.title))])],1):t("div",{staticClass:"provider"},[t("img",{staticClass:"provider-icon",attrs:{src:n.icon_url,alt:e.providerIconAlt}}),t("NcHighlight",{staticClass:"option-text",attrs:{search:e.query,text:n.title}})],1)]}}]),model:{value:e.selectedProvider,callback:function(t){e.selectedProvider=t},expression:"selectedProvider"}}),t("NcEmptyContent",{staticClass:"provider-list--empty-content",scopedSlots:e._u([{key:"icon",fn:function(){return[t("LinkVariantIcon")]},proxy:!0}])})],1)},X=[];const H=(0,i.n)(z,$,X,!1,null,"f03ee0c9").exports;(0,r.r)(r.Z);const W={name:"NcRawLinkInput",components:{LinkVariantIcon:j,NcEmptyContent:c.A,NcLoadingIcon:f.A,NcReferenceWidget:B,NcTextField:v.N},props:{provider:{type:Object,required:!0}},emits:["submit"],data:()=>({inputValue:"",loading:!1,reference:null,abortController:null,inputPlaceholder:(0,r.a)("Enter link")}),computed:{isLinkValid(){return U(this.inputValue)}},methods:{focus(){this.$refs["url-input"].$el.getElementsByTagName("input")[0]?.focus()},onSubmit(e){const t=e.target.value;this.isLinkValid&&this.$emit("submit",t)},onClear(){this.inputValue="",this.reference=null},onInput(){this.reference=null,this.abortController&&this.abortController.abort(),this.isLinkValid&&O((()=>{this.updateReference()}),500)()},updateReference(){this.loading=!0,this.abortController=new AbortController,o.Ay.get((0,l.KT)("references/resolve",2)+"?reference="+encodeURIComponent(this.inputValue),{signal:this.abortController.signal}).then((e=>{this.reference=e.data.ocs.data.references[this.inputValue]})).catch((e=>{console.error(e)})).then((()=>{this.loading=!1}))}}};var V=function(){var e=this,t=e._self._c;return t("div",{staticClass:"raw-link"},[t("div",{staticClass:"input-wrapper"},[t("NcTextField",{ref:"url-input",attrs:{value:e.inputValue,"show-trailing-button":""!==e.inputValue,label:e.inputPlaceholder},on:{"update:value":[function(t){e.inputValue=t},e.onInput],"trailing-button-click":e.onClear},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.onSubmit.apply(null,arguments)}}},[e.loading?t("NcLoadingIcon",{attrs:{size:16}}):t("LinkVariantIcon",{attrs:{size:16}})],1)],1),null!==e.reference?t("NcReferenceWidget",{staticClass:"reference-widget",attrs:{reference:e.reference}}):t("NcEmptyContent",{staticClass:"raw-link--empty-content",scopedSlots:e._u([{key:"icon",fn:function(){return[e.provider.icon_url?t("img",{staticClass:"provider-icon",attrs:{src:e.provider.icon_url}}):t("LinkVariantIcon")]},proxy:!0}])})],1)},Y=[];const Q=(0,i.n)(W,V,Y,!1,null,"3c1803b5").exports,K={name:"NcSearchResult",components:{NcHighlight:d.N},props:{entry:{type:Object,required:!0},query:{type:String,required:!0}}};var Z=function(){var e=this,t=e._self._c;return t("div",{staticClass:"result"},[e.entry.icon?t("div",{staticClass:"result--icon-class",class:{[e.entry.icon]:!0,rounded:e.entry.rounded}}):t("img",{staticClass:"result--image",class:{rounded:e.entry.rounded},attrs:{src:e.entry.thumbnailUrl}}),t("div",{staticClass:"result--content"},[t("span",{staticClass:"result--content--name"},[t("NcHighlight",{attrs:{search:e.query,text:e.entry.title}})],1),t("span",{staticClass:"result--content--subline"},[t("NcHighlight",{attrs:{search:e.query,text:e.entry.subline}})],1)])])},J=[];const ee=(0,i.n)(K,Z,J,!1,null,"ff4bcbf3").exports;(0,r.r)(r._,r.Y,r.B);const te={name:"NcSearch",components:{LinkVariantIcon:j,DotsHorizontalIcon:C.D,NcEmptyContent:c.A,NcSelect:u.N,NcSearchResult:ee},props:{provider:{type:Object,required:!0},showEmptyContent:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:null}},emits:["submit"],data:()=>({searchQuery:"",selectedResult:null,resultsBySearchProvider:{},searching:!1,searchingMoreOf:null,abortController:null,noOptionsText:(0,r.a)("Start typing to search"),providerIconAlt:(0,r.a)("Provider icon")}),computed:{mySearchPlaceholder(){return this.searchPlaceholder||(0,r.a)("Search")},searchProviderIds(){return this.provider.search_providers_ids},options(){if(""===this.searchQuery)return[];const e=[];return U(this.searchQuery)&&e.push(this.rawLinkEntry),e.push(...this.formattedSearchResults),e},rawLinkEntry(){return{id:"rawLinkEntry",resourceUrl:this.searchQuery,isRawLink:!0}},formattedSearchResults(){const e=[];return this.searchProviderIds.forEach((t=>{if(this.resultsBySearchProvider[t].entries.length>0){(this.searchProviderIds.length>1||this.resultsBySearchProvider[t].entries.length>1)&&e.push({id:"groupTitle-"+t,name:this.resultsBySearchProvider[t].name,isCustomGroupTitle:!0,providerId:t});const n=this.resultsBySearchProvider[t].entries.map(((e,n)=>({id:"provider-"+t+"-entry-"+n,...e})));e.push(...n),this.resultsBySearchProvider[t].isPaginated&&e.push({id:"moreOf-"+t,name:this.resultsBySearchProvider[t].name,isMore:!0,providerId:t,isLoading:this.searchingMoreOf===t})}})),e}},mounted(){this.resetResults()},beforeDestroy(){this.cancelSearchRequests()},methods:{t:r.a,resetResults(){const e={};this.searchProviderIds.forEach((t=>{e[t]={entries:[]}})),this.resultsBySearchProvider=e},focus(){setTimeout((()=>{this.$refs["search-select"]?.$el?.querySelector("#search-select-input")?.focus()}),300)},cancelSearchRequests(){this.abortController&&this.abortController.abort()},onSearchInput(e,t){this.searchQuery=e,O((()=>{this.updateSearch()}),500)()},onSelectResultSelected(e){null!==e&&(e.resourceUrl?(this.cancelSearchRequests(),this.$emit("submit",e.resourceUrl)):e.isMore&&this.searchMoreOf(e.providerId).then((()=>{this.selectedResult=null})))},searchMoreOf(e){return this.searchingMoreOf=e,this.cancelSearchRequests(),this.searchProviders(e)},updateSearch(){if(this.cancelSearchRequests(),this.resetResults(),""!==this.searchQuery)return this.searchProviders();this.searching=!1},searchProviders(e=null){this.abortController=new AbortController,this.searching=!0;const t=null===e?[...this.searchProviderIds].map((e=>this.searchOneProvider(e))):[this.searchOneProvider(e,this.resultsBySearchProvider[e]?.cursor??null)];return Promise.allSettled(t).then((e=>{e.find((e=>"rejected"===e.status&&("CanceledError"===e.reason.name||"ERR_CANCELED"===e.reason.code)))||(this.searching=!1,this.searchingMoreOf=null)}))},searchOneProvider(e,t=null){const n=null===t?(0,l.KT)("search/providers/{providerId}/search?term={term}&limit={limit}",{providerId:e,term:this.searchQuery,limit:5}):(0,l.KT)("search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}",{providerId:e,term:this.searchQuery,limit:5,cursor:t});return o.Ay.get(n,{signal:this.abortController.signal}).then((t=>{const n=t.data.ocs.data;this.resultsBySearchProvider[e].name=n.name,this.resultsBySearchProvider[e].cursor=n.cursor,this.resultsBySearchProvider[e].isPaginated=n.isPaginated,this.resultsBySearchProvider[e].entries.push(...n.entries)}))}}};var ne=function(){var e=this,t=e._self._c;return t("div",{staticClass:"smart-picker-search",class:{"with-empty-content":e.showEmptyContent}},[t("NcSelect",{ref:"search-select",staticClass:"smart-picker-search--select",attrs:{"input-id":"search-select-input",label:"name",placeholder:e.mySearchPlaceholder,options:e.options,"append-to-body":!1,"close-on-select":!1,"clear-search-on-select":!1,"clear-search-on-blur":()=>!1,"reset-focus-on-options-change":!1,filterable:!1,autoscroll:!0,"reset-on-options-change":!1,loading:e.searching},on:{search:e.onSearchInput,input:e.onSelectResultSelected},scopedSlots:e._u([{key:"option",fn:function(n){return[n.isRawLink?t("div",{staticClass:"custom-option"},[t("LinkVariantIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t("span",{staticClass:"option-text"},[e._v(" "+e._s(e.t("Raw link {options}",{options:n.resourceUrl}))+" ")])],1):n.resourceUrl?t("NcSearchResult",{staticClass:"search-result",attrs:{entry:n,query:e.searchQuery}}):n.isCustomGroupTitle?t("span",{staticClass:"custom-option group-name"},[e.provider.icon_url?t("img",{staticClass:"provider-icon group-name-icon",attrs:{src:e.provider.icon_url}}):e._e(),t("span",{staticClass:"option-text"},[t("strong",[e._v(e._s(n.name))])])]):n.isMore?t("span",{class:{"custom-option":!0}},[n.isLoading?t("span",{staticClass:"option-simple-icon icon-loading-small"}):t("DotsHorizontalIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t("span",{staticClass:"option-text"},[e._v(" "+e._s(e.t('Load more "{options}"',{options:n.name}))+" ")])],1):e._e()]}},{key:"no-options",fn:function(){return[e._v(" "+e._s(e.noOptionsText)+" ")]},proxy:!0}]),model:{value:e.selectedResult,callback:function(t){e.selectedResult=t},expression:"selectedResult"}}),e.showEmptyContent?t("NcEmptyContent",{staticClass:"smart-picker-search--empty-content",scopedSlots:e._u([{key:"icon",fn:function(){return[e.provider.icon_url?t("img",{staticClass:"provider-icon",attrs:{alt:e.providerIconAlt,src:e.provider.icon_url}}):t("LinkVariantIcon")]},proxy:!0}],null,!1,2922132592)}):e._e()],1)},ae=[];const ie=(0,i.n)(te,ne,ae,!1,null,"05fef988").exports,re={providerList:1,standardLinkInput:2,searchInput:3,customElement:4},oe={name:"NcReferencePicker",components:{NcCustomPickerElement:D,NcProviderList:H,NcRawLinkInput:Q,NcSearch:ie},props:{initialProvider:{type:Object,default:()=>null},width:{type:Number,default:null},focusOnCreate:{type:Boolean,default:!0}},emits:["cancel","cancel-raw-link","cancel-search","provider-selected","submit"],data(){return{MODES:re,selectedProvider:this.initialProvider}},computed:{mode(){return null===this.selectedProvider?re.providerList:(0,a.d)(this.selectedProvider.id)?re.customElement:this.selectedProvider.search_providers_ids?re.searchInput:re.standardLinkInput},pickerWrapperStyle(){return{width:this.width?this.width+"px":void 0}}},mounted(){this.focusOnCreate&&(this.initialProvider?setTimeout((()=>{this.$refs["url-input"]?.focus()}),300):this.$nextTick((()=>{this.$refs["provider-list"]?.focus()})))},methods:{onEscapePressed(){null!==this.selectedProvider?this.deselectProvider():this.cancelProviderSelection()},onProviderSelected(e){this.selectedProvider=e,this.$emit("provider-selected",e),this.$nextTick((()=>{this.$refs["url-input"]?.focus()}))},cancelCustomElement(){this.deselectProvider()},cancelSearch(){this.$emit("cancel-search",this.selectedProvider?.title),this.deselectProvider()},cancelRawLinkInput(){this.$emit("cancel-raw-link",this.selectedProvider?.title),this.deselectProvider()},cancelProviderSelection(){this.$emit("cancel")},submitLink(e){null!==this.selectedProvider&&function(e){const t=Math.floor(Date.now()/1e3),n={timestamp:t},a=(0,l.KT)("references/provider/{providerId}",{providerId:e});o.Ay.put(a,n).then((n=>{window._vue_richtext_reference_provider_timestamps[e]=t}))}(this.selectedProvider.id),this.$emit("submit",e),this.deselectProvider()},deselectProvider(){this.selectedProvider=null,this.$emit("provider-selected",null),setTimeout((()=>{this.$refs["provider-list"]?.focus()}),300)}}};var se=function(){var e=this,t=e._self._c;return t("div",{staticClass:"reference-picker",style:e.pickerWrapperStyle,attrs:{tabindex:"-1"},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:(t.stopPropagation(),t.preventDefault(),e.onEscapePressed.apply(null,arguments))}}},[e.mode===e.MODES.providerList?t("NcProviderList",{ref:"provider-list",on:{"select-provider":e.onProviderSelected,submit:e.submitLink,cancel:e.cancelProviderSelection}}):e.mode===e.MODES.standardLinkInput?t("NcRawLinkInput",{ref:"url-input",attrs:{provider:e.selectedProvider},on:{submit:e.submitLink,cancel:e.cancelRawLinkInput}}):e.mode===e.MODES.searchInput?t("NcSearch",{ref:"url-input",attrs:{provider:e.selectedProvider},on:{cancel:e.cancelSearch,submit:e.submitLink}}):e.mode===e.MODES.customElement?t("div",{staticClass:"custom-element-wrapper"},[t("NcCustomPickerElement",{staticClass:"custom-element",attrs:{provider:e.selectedProvider},on:{submit:e.submitLink,cancel:e.cancelCustomElement}})],1):e._e()],1)},le=[];const ce=(0,i.n)(oe,se,le,!1,null,"cd33df8e").exports;(0,r.r)(r.$,r.n);const de={name:"NcReferencePickerModal",components:{NcReferencePicker:ce,NcModal:b.A,NcButton:m.A,ArrowLeftIcon:_.A,CloseIcon:x.C},props:{initialProvider:{type:Object,default:()=>null},focusOnCreate:{type:Boolean,default:!0},isInsideViewer:{type:Boolean,default:!1}},emits:["cancel","submit"],data(){return{show:!0,selectedProvider:this.initialProvider,backButtonTitle:(0,r.a)("Back to provider selection"),closeButtonTitle:(0,r.a)("Close"),closeButtonLabel:(0,r.a)("Close Smart Picker")}},computed:{isProviderSelected(){return null!==this.selectedProvider},showBackButton(){return null===this.initialProvider&&this.isProviderSelected},modalSize(){return this.isProviderSelected&&(0,a.d)(this.selectedProvider.id)?(0,a.j)(this.selectedProvider.id)??"large":"normal"},showModalName(){return!this.isProviderSelected||!(0,a.d)(this.selectedProvider.id)},modalName(){return this.isProviderSelected?this.selectedProvider.title:(0,r.a)("Smart Picker")}},mounted(){if(this.isInsideViewer){const e=this.$refs.modal_content;(0,y.Ic)("viewer:trapElements:changed",e)}},methods:{onCancel(){this.show=!1,this.$emit("cancel")},onSubmit(e){this.show=!1,this.$emit("submit",e)},onProviderSelect(e){this.selectedProvider=e,null===e&&null!==this.initialProvider&&this.onCancel()},onBackClicked(){this.$refs.referencePicker.deselectProvider()}}};var ue=function(){var e=this,t=e._self._c;return e.show?t("NcModal",{staticClass:"reference-picker-modal",attrs:{size:e.modalSize,"can-close":!0},on:{close:e.onCancel}},[t("div",{ref:"modal_content",staticClass:"reference-picker-modal--content"},[e.showBackButton?t("NcButton",{staticClass:"back-button",attrs:{"aria-label":e.backButtonTitle,title:e.backButtonTitle},on:{click:e.onBackClicked},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowLeftIcon")]},proxy:!0}],null,!1,3001860362)}):e._e(),t("NcButton",{staticClass:"close-button",attrs:{"aria-label":e.closeButtonLabel,title:e.closeButtonTitle,variant:"tertiary"},on:{click:e.onCancel},scopedSlots:e._u([{key:"icon",fn:function(){return[t("CloseIcon")]},proxy:!0}],null,!1,2491825086)}),e.showModalName?t("h2",[e._v(" "+e._s(e.modalName)+" ")]):e._e(),t("NcReferencePicker",{ref:"referencePicker",attrs:{"initial-provider":e.initialProvider,"focus-on-create":e.focusOnCreate},on:{"provider-selected":e.onProviderSelect,submit:e.onSubmit,cancel:e.onCancel}})],1)]):e._e()},pe=[];const Ae=(0,i.n)(de,ue,pe,!1,null,"c66449c1").exports;async function ge(e=null,t=void 0){return await new Promise(((n,a)=>{const i=document.createElement("div");i.id="referencePickerModal",document.body.append(i);const r=null===e?null:function(e){return e===T?L:P().find((t=>t.id===e))}(e)??null,o=new(A.Ay.extend(Ae))({propsData:{initialProvider:r,isInsideViewer:t}}).$mount(i);o.$on("cancel",(()=>{o.$destroy(),a(new Error("User cancellation"))})),o.$on("submit",(e=>{o.$destroy(),n(e)}))}))}},6817:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".dialog__note[data-v-9f7a355c]{font-weight:normal}fieldset[data-v-9f7a355c]{font-weight:bold}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue"],names:[],mappings:"AAEC,+BACC,kBAAA,CAIF,0BACC,gBAAA",sourcesContent:["\n.dialog {\n\t&__note {\n\t\tfont-weight: normal;\n\t}\n}\n\nfieldset {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const s=o},6848:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-20fd51f9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.header-menu[data-v-20fd51f9] {\n position: relative;\n width: var(--header-height);\n height: var(--header-height);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--header-height) !important;\n height: var(--header-height);\n opacity: 0.85;\n filter: none !important;\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\n opacity: 1;\n}\n@media only screen and (max-width: 512px) {\n.header-menu[data-v-20fd51f9] {\n width: var(--default-clickable-area);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--default-clickable-area) !important;\n}\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,2BAA2B;EAC3B,4BAA4B;AAC9B;AACA;EACE,8CAA8C;EAC9C,4BAA4B;EAC5B,aAAa;EACb,uBAAuB;EACvB,+EAA+E;AACjF;AACA;EACE,wBAAwB;EACxB,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;AACA;IACI,oCAAoC;AACxC;AACA;IACI,uDAAuD;AAC3D;AACA",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-20fd51f9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.header-menu[data-v-20fd51f9] {\n position: relative;\n width: var(--header-height);\n height: var(--header-height);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--header-height) !important;\n height: var(--header-height);\n opacity: 0.85;\n filter: none !important;\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\n opacity: 1;\n}\n@media only screen and (max-width: 512px) {\n.header-menu[data-v-20fd51f9] {\n width: var(--default-clickable-area);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--default-clickable-area) !important;\n}\n}"],sourceRoot:""}]);const s=o},12528:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".dialog__form[data-v-74033440]{display:flex;flex-direction:column;align-items:center;padding:0 8px;gap:4px 0}.dialog__item[data-v-74033440]{width:100%}.dialog__item[data-v-74033440]:not(:focus):not(:active){border-color:var(--color-border-dark)}.dialog__hint[data-v-74033440]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.dialog__label[data-v-74033440]{display:block;padding:4px 0}.dialog__select[data-v-74033440]{width:100%}.dialog__managers[data-v-74033440]{margin-bottom:12px}.dialog__submit[data-v-74033440]{margin-top:4px;margin-bottom:8px}.dialog[data-v-74033440] .dialog__actions{margin:auto}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/NewUserDialog.vue"],names:[],mappings:"AAEC,+BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,aAAA,CACA,SAAA,CAGD,+BACC,UAAA,CAEA,wDACC,qCAAA,CAIF,+BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,gCACC,aAAA,CACA,aAAA,CAGD,iCACC,UAAA,CAGD,mCACC,kBAAA,CAGD,iCACC,cAAA,CACA,iBAAA,CAIA,0CACC,WAAA",sourcesContent:["\n.dialog {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 0 8px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__managers {\n\t\tmargin-bottom: 12px;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 4px;\n\t\tmargin-bottom: 8px;\n\t}\n\n\t:deep {\n\t\t.dialog__actions {\n\t\t\tmargin: auto;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},12795:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".user-list[data-v-21942da5]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%;will-change:scroll-position}.user-list__header[data-v-21942da5],.user-list__footer[data-v-21942da5]{position:sticky;display:block}.user-list__header[data-v-21942da5]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-21942da5]{inset-inline-start:0}.user-list__body[data-v-21942da5]{display:flex;flex-direction:column;width:100%}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/VirtualList.vue"],names:[],mappings:"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,oBAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA",sourcesContent:["\n.user-list {\n\t--avatar-cell-width: 48px;\n\t--cell-padding: 7px;\n\t--cell-width: 200px;\n\t--cell-width-large: 300px;\n\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\n\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\n\n\t// Necessary for virtual scroll optimized rendering\n\tdisplay: block;\n\toverflow: auto;\n\theight: 100%;\n\twill-change: scroll-position;\n\n\t&__header,\n\t&__footer {\n\t\tposition: sticky;\n\t\t// Fix sticky positioning in Firefox\n\t\tdisplay: block;\n\t}\n\n\t&__header {\n\t\ttop: 0;\n\t\tz-index: calc(var(--sticky-column-z-index) + 1);\n\t}\n\n\t&__footer {\n\t\tinset-inline-start: 0;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t}\n}\n"],sourceRoot:""}]);const s=o},16343:(e,t,n)=>{"use strict";n.d(t,{a:()=>c,e:()=>l,g:()=>d,s:()=>u});var a=n(59097),i=n(43850),r=n(24715);const o=(0,a.c0)("nextcloud-vue").persist(!0).build();let s;function l(e,t=10){s||(s=new i.EmojiIndex(r));const n=d();let a;return e?(a=s.search(`:${e}`,t),a.length<t&&(a=a.concat(s.search(e,t-a.length)))):a=i.frequently.get(t).map((e=>s.emoji(e)))||[],a.map((e=>e.getSkin(n)))}function c(e){i.frequently.add(e)}function d(){const e=Number.parseInt(o.getItem("NcEmojiPicker::currentSkinTone")??"1");return Math.min(Math.max(e,1),6)}function u(e){e=Math.min(Math.max(e,1),6),o.setItem("NcEmojiPicker::currentSkinTone",e.toString())}},19697:(e,t,n)=>{"use strict";n.d(t,{N:()=>Vt}),n(60441);var a=n(85471),i=n(2837),r=n(43921),o=n(65043),s=n(82680),l=n(21777),c=n(63814),d=n(51431),u=n(95898),p=n(47970),A=n(64546),g=n(33239),h=n(86241),m=n(8019),f=n(87798),v=n(76643),C=n(3288),b=n(19998),y=n(86435),_=n(43819),x=n(40173);const w={name:"NcReferenceList",components:{NcReferenceWidget:i.N},props:{text:{type:String,default:""},referenceData:{type:Array,default:null},limit:{type:Number,default:1},displayFallback:{type:Boolean,default:!1},interactive:{type:Boolean,default:!0},interactiveOptIn:{type:Boolean,default:!1}},data:()=>({references:null,loading:!0}),computed:{isVisible(){return this.loading||0!==this.displayedReferences.length},values(){return this.referenceData?this.referenceData:!this.displayFallback||this.loading||this.references?this.references?Object.values(this.references):[]:[this.fallbackReference]},firstReference(){return this.values[0]??null},displayedReferences(){return this.values.slice(0,this.limit)},fallbackReference(){return{accessible:!0,openGraphObject:{id:this.text,link:this.text,name:this.text},richObjectType:"open-graph"}}},watch:{text:"fetch"},mounted(){this.fetch()},methods:{fetch(){return this.loading=!0,this.referenceData?(this.references=null,void(this.loading=!1)):new RegExp(r.U).exec(this.text)?void this.resolve().then((e=>{this.references=e.data.ocs.data.references,this.loading=!1,this.$emit("loaded")})).catch((e=>{console.error("Failed to extract references",e),this.loading=!1,this.$emit("loaded")})):(this.references=null,void(this.loading=!1))},resolve(){const e=new RegExp(r.U).exec(this.text.trim()),t=null===(0,l.HW)();return 1===this.limit&&e?t?o.Ay.get((0,c.KT)("references/resolvePublic")+`?reference=${encodeURIComponent(e[0])}&sharingToken=${(0,s.G)()}`):o.Ay.get((0,c.KT)("references/resolve")+`?reference=${encodeURIComponent(e[0])}`):t?o.Ay.post((0,c.KT)("references/extractPublic"),{text:this.text,resolve:!0,limit:this.limit,sharingToken:(0,s.G)()}):o.Ay.post((0,c.KT)("references/extract"),{text:this.text,resolve:!0,limit:this.limit})}}};var E=function(){var e=this,t=e._self._c;return e.isVisible?t("div",{staticClass:"widgets--list",class:{"icon-loading":e.loading}},e._l(e.displayedReferences,(function(n){return t("NcReferenceWidget",{key:n?.openGraphObject?.id,attrs:{reference:n,interactive:e.interactive,"interactive-opt-in":e.interactiveOptIn}})})),1):e._e()},k=[];const B=(0,d.n)(w,E,k,!1,null,"ffdba753").exports,N=function(){return function(e){(0,p.YR)(e,(e=>"text"===e.type),(function(e,t,n){const a=e.value.split(/(\{[a-z\-_.0-9]+\})/gi).map(((e,t,n)=>{const a=e.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!a)return(0,g.u)("text",e);const[,i]=a;return(0,g.u)("element",{tagName:`#${i}`})}));n.children.splice(t,1,...a)}))}},S=function(){return function(e){(0,p.YR)(e,(e=>["text","code","inlineCode"].includes(e.type)),((e,t,n)=>(n.children.splice(t,1,{...e,value:e.value.replace(/&lt;/gim,"<").replace(/&gt;/gim,">")}),[A._Z,t+1])))}};function I(e,t){const n=String(e);if("string"!=typeof t)throw new TypeError("Expected character");let a=0,i=n.indexOf(t);for(;-1!==i;)a++,i=n.indexOf(t,i+t.length);return a}const D=U(/[A-Za-z]/),T=U(/[\dA-Za-z]/);function L(e){return null!==e&&e<-2}function P(e){return null!==e&&(e<0||32===e)}function G(e){return-2===e||-1===e||32===e}const F=U(new RegExp("\\p{P}|\\p{S}","u")),O=U(/\s/);function U(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}const R=function(e){if(null==e)return M;if("function"==typeof e)return q(e);if("object"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=R(e[n]);return q((function(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}))}(e):function(e){const t=e;return q((function(n){const a=n;let i;for(i in e)if(a[i]!==t[i])return!1;return!0}))}(e);if("string"==typeof e)return t=e,q((function(e){return e&&e.type===t}));var t;throw new Error("Expected function, string, or object as test")};function q(e){return function(t,n,a){return Boolean(function(e){return null!==e&&"object"==typeof e&&"type"in e}(t)&&e.call(this,t,"number"==typeof n?n:void 0,a||void 0))}}function M(){return!0}const j=[],z=!0,$=!1,X="skip";function H(e,t,n,a){let i;i=t;const r=R(i);!function e(t,a,i){const o=t&&"object"==typeof t?t:{};if("string"==typeof o.type){const e="string"==typeof o.tagName?o.tagName:"string"==typeof o.name?o.name:void 0;Object.defineProperty(s,"name",{value:"node ("+t.type+(e?"<"+e+">":"")+")"})}return s;function s(){let o,s,l,c=j;if(r(t,a,i[i.length-1]||void 0)&&(c=function(e){return Array.isArray(e)?e:"number"==typeof e?[z,e]:null==e?j:[e]}(n(t,i)),c[0]===$))return c;if("children"in t&&t.children){const n=t;if(n.children&&c[0]!==X)for(s=0,l=i.concat(n);s>-1&&s<n.children.length;){const t=n.children[s];if(o=e(t,s,l)(),o[0]===$)return o;s="number"==typeof o[1]?o[1]:s+1}}return c}}(e,void 0,[])()}function W(e){return"function"==typeof e?e:function(){return e}}const V="phrasing",Y=["autolink","link","image","label"];function Q(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function K(e){this.config.enter.autolinkProtocol.call(this,e)}function Z(e){this.config.exit.autolinkProtocol.call(this,e)}function J(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function ee(e){this.config.exit.autolinkEmail.call(this,e)}function te(e){this.exit(e)}function ne(e){!function(e,t,n){const a=R((n||{}).ignore||[]),i=function(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let a=-1;for(;++a<n.length;){const e=n[a];t.push([(i=e[0],"string"==typeof i?new RegExp(function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(i),"g"):i),W(e[1])])}var i;return t}(t);let r=-1;for(;++r<i.length;)H(e,"text",o);function o(e,t){let n,o=-1;for(;++o<t.length;){const e=t[o],i=n?n.children:void 0;if(a(e,i?i.indexOf(e):void 0,n))return;n=e}if(n)return function(e,t){const n=t[t.length-1],a=i[r][0],o=i[r][1];let s=0;const l=n.children.indexOf(e);let c=!1,d=[];a.lastIndex=0;let u=a.exec(e.value);for(;u;){const n=u.index,i={index:u.index,input:u.input,stack:[...t,e]};let r=o(...u,i);if("string"==typeof r&&(r=r.length>0?{type:"text",value:r}:void 0),!1===r?a.lastIndex=n+1:(s!==n&&d.push({type:"text",value:e.value.slice(s,n)}),Array.isArray(r)?d.push(...r):r&&d.push(r),s=n+u[0].length,c=!0),!a.global)break;u=a.exec(e.value)}return c?(s<e.value.length&&d.push({type:"text",value:e.value.slice(s)}),n.children.splice(l,1,...d)):d=[e],l+d.length}(e,t)}}(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,ae],[/([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/g,ie]],{ignore:["link","linkReference"]})}function ae(e,t,n,a,i){let r="";if(!re(i))return!1;if(/^w/i.test(t)&&(n=t+n,t="",r="http://"),!function(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}(n))return!1;const o=function(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],a=n.indexOf(")");const i=I(e,"(");let r=I(e,")");for(;-1!==a&&i>r;)e+=n.slice(0,a+1),n=n.slice(a+1),a=n.indexOf(")"),r++;return[e,n]}(n+a);if(!o[0])return!1;const s={type:"link",title:null,url:r+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[s,{type:"text",value:o[1]}]:s}function ie(e,t,n,a){return!(!re(a,!0)||/[-\d_]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function re(e,t){const n=e.input.charCodeAt(e.index-1);return(0===e.index||O(n)||F(n))&&(!t||47!==n)}function oe(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}function se(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function le(){this.buffer()}function ce(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=oe(this.sliceSerialize(e)).toLowerCase()}function de(e){this.exit(e)}function ue(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function pe(){this.buffer()}function Ae(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=oe(this.sliceSerialize(e)).toLowerCase()}function ge(e){this.exit(e)}function he(e,t,n,a){const i=n.createTracker(a);let r=i.move("[^");const o=n.enter("footnoteReference"),s=n.enter("reference");return r+=i.move(n.safe(n.associationId(e),{...i.current(),before:r,after:"]"})),s(),o(),r+=i.move("]"),r}function me(e,t,n,a){const i=n.createTracker(a);let r=i.move("[^");const o=n.enter("footnoteDefinition"),s=n.enter("label");return r+=i.move(n.safe(n.associationId(e),{...i.current(),before:r,after:"]"})),s(),r+=i.move("]:"+(e.children&&e.children.length>0?" ":"")),i.shift(4),r+=i.move(n.indentLines(n.containerFlow(e,i.current()),fe)),o(),r}function fe(e,t,n){return 0===t?e:(n?"":" ")+e}he.peek=function(){return"["};const ve=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];function Ce(e){this.enter({type:"delete",children:[]},e)}function be(e){this.exit(e)}function ye(e,t,n,a){const i=n.createTracker(a),r=n.enter("strikethrough");let o=i.move("~~");return o+=n.containerPhrasing(e,{...i.current(),before:o,after:"~"}),o+=i.move("~~"),r(),o}function _e(e){return e.length}function xe(e){const t="string"==typeof e?e.codePointAt(0):0;return 67===t||99===t?99:76===t||108===t?108:82===t||114===t?114:0}function we(e,t,n){return">"+(n?"":" ")+e}function Ee(e,t,n){if("string"==typeof t&&(t=[t]),!t||0===t.length)return n;let a=-1;for(;++a<t.length;)if(e.includes(t[a]))return!0;return!1}function ke(e,t,n,a){let i=-1;for(;++i<n.unsafe.length;)if("\n"===n.unsafe[i].character&&(Ee(r=n.stack,(o=n.unsafe[i]).inConstruct,!0)&&!Ee(r,o.notInConstruct,!1)))return/[ \t]/.test(a.before)?"":" ";var r,o;return"\\\n"}function Be(e,t,n){return(n?"":" ")+e}function Ne(e){const t=e.options.quote||'"';if('"'!==t&&"'"!==t)throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function Se(e,t,n,a){const i=function(e){const t=e.options.emphasis||"*";if("*"!==t&&"_"!==t)throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}(n),r=n.enter("emphasis"),o=n.createTracker(a);let s=o.move(i);return s+=o.move(n.containerPhrasing(e,{before:s,after:i,...o.current()})),s+=o.move(i),r(),s}ye.peek=function(){return"~"},Se.peek=function(e,t,n){return n.options.emphasis||"*"};const Ie={};function De(e,t){const n=Ie;return Te(e,"boolean"!=typeof n.includeImageAlt||n.includeImageAlt,"boolean"!=typeof n.includeHtml||n.includeHtml)}function Te(e,t,n){if(function(e){return Boolean(e&&"object"==typeof e)}(e)){if("value"in e)return"html"!==e.type||n?e.value:"";if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Le(e.children,t,n)}return Array.isArray(e)?Le(e,t,n):""}function Le(e,t,n){const a=[];let i=-1;for(;++i<e.length;)a[i]=Te(e[i],t,n);return a.join("")}function Pe(e){return e.value||""}function Ge(e,t,n,a){const i=Ne(n),r='"'===i?"Quote":"Apostrophe",o=n.enter("image");let s=n.enter("label");const l=n.createTracker(a);let c=l.move("![");return c+=l.move(n.safe(e.alt,{before:c,after:"]",...l.current()})),c+=l.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(e.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(s=n.enter("destinationRaw"),c+=l.move(n.safe(e.url,{before:c,after:e.title?" ":")",...l.current()}))),s(),e.title&&(s=n.enter(`title${r}`),c+=l.move(" "+i),c+=l.move(n.safe(e.title,{before:c,after:i,...l.current()})),c+=l.move(i),s()),c+=l.move(")"),o(),c}function Fe(e,t,n,a){const i=e.referenceType,r=n.enter("imageReference");let o=n.enter("label");const s=n.createTracker(a);let l=s.move("![");const c=n.safe(e.alt,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const u=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=d,r(),"full"!==i&&c&&c===u?"shortcut"===i?l=l.slice(0,-1):l+=s.move("]"):l+=s.move(u+"]"),l}function Oe(e,t,n){let a=e.value||"",i="`",r=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(a);)i+="`";for(/[^ \r\n]/.test(a)&&(/^[ \r\n]/.test(a)&&/[ \r\n]$/.test(a)||/^`|`$/.test(a))&&(a=" "+a+" ");++r<n.unsafe.length;){const e=n.unsafe[r],t=n.compilePattern(e);let i;if(e.atBreak)for(;i=t.exec(a);){let e=i.index;10===a.charCodeAt(e)&&13===a.charCodeAt(e-1)&&e--,a=a.slice(0,e)+" "+a.slice(i.index+1)}}return i+a+i}function Ue(e,t){const n=De(e);return Boolean(!t.options.resourceLink&&e.url&&!e.title&&e.children&&1===e.children.length&&"text"===e.children[0].type&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}function Re(e,t,n,a){const i=Ne(n),r='"'===i?"Quote":"Apostrophe",o=n.createTracker(a);let s,l;if(Ue(e,n)){const t=n.stack;n.stack=[],s=n.enter("autolink");let a=o.move("<");return a+=o.move(n.containerPhrasing(e,{before:a,after:">",...o.current()})),a+=o.move(">"),s(),n.stack=t,a}s=n.enter("link"),l=n.enter("label");let c=o.move("[");return c+=o.move(n.containerPhrasing(e,{before:c,after:"](",...o.current()})),c+=o.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),c+=o.move("<"),c+=o.move(n.safe(e.url,{before:c,after:">",...o.current()})),c+=o.move(">")):(l=n.enter("destinationRaw"),c+=o.move(n.safe(e.url,{before:c,after:e.title?" ":")",...o.current()}))),l(),e.title&&(l=n.enter(`title${r}`),c+=o.move(" "+i),c+=o.move(n.safe(e.title,{before:c,after:i,...o.current()})),c+=o.move(i),l()),c+=o.move(")"),s(),c}function qe(e,t,n,a){const i=e.referenceType,r=n.enter("linkReference");let o=n.enter("label");const s=n.createTracker(a);let l=s.move("[");const c=n.containerPhrasing(e,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const u=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=d,r(),"full"!==i&&c&&c===u?"shortcut"===i?l=l.slice(0,-1):l+=s.move("]"):l+=s.move(u+"]"),l}function Me(e){const t=e.options.bullet||"*";if("*"!==t&&"+"!==t&&"-"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function je(e){const t=e.options.rule||"*";if("*"!==t&&"-"!==t&&"_"!==t)throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}Pe.peek=function(){return"<"},Ge.peek=function(){return"!"},Fe.peek=function(){return"!"},Oe.peek=function(){return"`"},Re.peek=function(e,t,n){return Ue(e,n)?"<":"["},qe.peek=function(){return"["};const ze=R(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function $e(e,t,n,a){const i=function(e){const t=e.options.strong||"*";if("*"!==t&&"_"!==t)throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}(n),r=n.enter("strong"),o=n.createTracker(a);let s=o.move(i+i);return s+=o.move(n.containerPhrasing(e,{before:s,after:i,...o.current()})),s+=o.move(i+i),r(),s}$e.peek=function(e,t,n){return n.options.strong||"*"};const Xe={blockquote:function(e,t,n,a){const i=n.enter("blockquote"),r=n.createTracker(a);r.move("> "),r.shift(2);const o=n.indentLines(n.containerFlow(e,r.current()),we);return i(),o},break:ke,code:function(e,t,n,a){const i=function(e){const t=e.options.fence||"`";if("`"!==t&&"~"!==t)throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}(n),r=e.value||"",o="`"===i?"GraveAccent":"Tilde";if(function(e,t){return Boolean(!1===t.options.fences&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}(e,n)){const e=n.enter("codeIndented"),t=n.indentLines(r,Be);return e(),t}const s=n.createTracker(a),l=i.repeat(Math.max(function(e,t){const n=String(e);let a=n.indexOf(t),i=a,r=0,o=0;if("string"!=typeof t)throw new TypeError("Expected substring");for(;-1!==a;)a===i?++r>o&&(o=r):r=1,i=a+t.length,a=n.indexOf(t,i);return o}(r,i)+1,3)),c=n.enter("codeFenced");let d=s.move(l);if(e.lang){const t=n.enter(`codeFencedLang${o}`);d+=s.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...s.current()})),t()}if(e.lang&&e.meta){const t=n.enter(`codeFencedMeta${o}`);d+=s.move(" "),d+=s.move(n.safe(e.meta,{before:d,after:"\n",encode:["`"],...s.current()})),t()}return d+=s.move("\n"),r&&(d+=s.move(r+"\n")),d+=s.move(l),c(),d},definition:function(e,t,n,a){const i=Ne(n),r='"'===i?"Quote":"Apostrophe",o=n.enter("definition");let s=n.enter("label");const l=n.createTracker(a);let c=l.move("[");return c+=l.move(n.safe(n.associationId(e),{before:c,after:"]",...l.current()})),c+=l.move("]: "),s(),!e.url||/[\0- \u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(e.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(s=n.enter("destinationRaw"),c+=l.move(n.safe(e.url,{before:c,after:e.title?" ":"\n",...l.current()}))),s(),e.title&&(s=n.enter(`title${r}`),c+=l.move(" "+i),c+=l.move(n.safe(e.title,{before:c,after:i,...l.current()})),c+=l.move(i),s()),o(),c},emphasis:Se,hardBreak:ke,heading:function(e,t,n,a){const i=Math.max(Math.min(6,e.depth||1),1),r=n.createTracker(a);if(function(e,t){let n=!1;return(0,p.YR)(e,(function(e){if("value"in e&&/\r?\n|\r/.test(e.value)||"break"===e.type)return n=!0,A.dc})),Boolean((!e.depth||e.depth<3)&&De(e)&&(t.options.setext||n))}(e,n)){const t=n.enter("headingSetext"),a=n.enter("phrasing"),o=n.containerPhrasing(e,{...r.current(),before:"\n",after:"\n"});return a(),t(),o+"\n"+(1===i?"=":"-").repeat(o.length-(Math.max(o.lastIndexOf("\r"),o.lastIndexOf("\n"))+1))}const o="#".repeat(i),s=n.enter("headingAtx"),l=n.enter("phrasing");r.move(o+" ");let c=n.containerPhrasing(e,{before:"# ",after:"\n",...r.current()});return/^[\t ]/.test(c)&&(c="&#x"+c.charCodeAt(0).toString(16).toUpperCase()+";"+c.slice(1)),c=c?o+" "+c:o,n.options.closeAtx&&(c+=" "+o),l(),s(),c},html:Pe,image:Ge,imageReference:Fe,inlineCode:Oe,link:Re,linkReference:qe,list:function(e,t,n,a){const i=n.enter("list"),r=n.bulletCurrent;let o=e.ordered?function(e){const t=e.options.bulletOrdered||".";if("."!==t&&")"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}(n):Me(n);const s=e.ordered?"."===o?")":".":function(e){const t=Me(e),n=e.options.bulletOther;if(!n)return"*"===t?"-":"*";if("*"!==n&&"+"!==n&&"-"!==n)throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}(n);let l=!(!t||!n.bulletLastUsed)&&o===n.bulletLastUsed;if(!e.ordered){const t=e.children?e.children[0]:void 0;if("*"!==o&&"-"!==o||!t||t.children&&t.children[0]||"list"!==n.stack[n.stack.length-1]||"listItem"!==n.stack[n.stack.length-2]||"list"!==n.stack[n.stack.length-3]||"listItem"!==n.stack[n.stack.length-4]||0!==n.indexStack[n.indexStack.length-1]||0!==n.indexStack[n.indexStack.length-2]||0!==n.indexStack[n.indexStack.length-3]||(l=!0),je(n)===o&&t){let t=-1;for(;++t<e.children.length;){const n=e.children[t];if(n&&"listItem"===n.type&&n.children&&n.children[0]&&"thematicBreak"===n.children[0].type){l=!0;break}}}}l&&(o=s),n.bulletCurrent=o;const c=n.containerFlow(e,a);return n.bulletLastUsed=o,n.bulletCurrent=r,i(),c},listItem:function(e,t,n,a){const i=function(e){const t=e.options.listItemIndent||"one";if("tab"!==t&&"one"!==t&&"mixed"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}(n);let r=n.bulletCurrent||Me(n);t&&"list"===t.type&&t.ordered&&(r=("number"==typeof t.start&&t.start>-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+r);let o=r.length+1;("tab"===i||"mixed"===i&&(t&&"list"===t.type&&t.spread||e.spread))&&(o=4*Math.ceil(o/4));const s=n.createTracker(a);s.move(r+" ".repeat(o-r.length)),s.shift(o);const l=n.enter("listItem"),c=n.indentLines(n.containerFlow(e,s.current()),(function(e,t,n){return t?(n?"":" ".repeat(o))+e:(n?r:r+" ".repeat(o-r.length))+e}));return l(),c},paragraph:function(e,t,n,a){const i=n.enter("paragraph"),r=n.enter("phrasing"),o=n.containerPhrasing(e,a);return r(),i(),o},root:function(e,t,n,a){return(e.children.some((function(e){return ze(e)}))?n.containerPhrasing:n.containerFlow).call(n,e,a)},strong:$e,text:function(e,t,n,a){return n.safe(e.value,a)},thematicBreak:function(e,t,n){const a=(je(n)+(n.options.ruleSpaces?" ":"")).repeat(function(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}(n));return n.options.ruleSpaces?a.slice(0,-1):a}};function He(e){const t=e._align;this.enter({type:"table",align:t.map((function(e){return"none"===e?null:e})),children:[]},e),this.data.inTable=!0}function We(e){this.exit(e),this.data.inTable=void 0}function Ve(e){this.enter({type:"tableRow",children:[]},e)}function Ye(e){this.exit(e)}function Qe(e){this.enter({type:"tableCell",children:[]},e)}function Ke(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Ze));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Ze(e,t){return"|"===t?t:e}function Je(e){const t=e||{},n=t.tableCellPadding,a=t.tablePipeAlign,i=t.stringLength,r=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[\t :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:function(e,t,n){let a=Xe.inlineCode(e,t,n);return n.stack.includes("tableCell")&&(a=a.replace(/\|/g,"\\$&")),a},table:function(e,t,n,a){return s(function(e,t,n){const a=e.children;let i=-1;const r=[],o=t.enter("table");for(;++i<a.length;)r[i]=l(a[i],t,n);return o(),r}(e,n,a),e.align)},tableCell:o,tableRow:function(e,t,n,a){const i=s([l(e,n,a)]);return i.slice(0,i.indexOf("\n"))}}};function o(e,t,n,a){const i=n.enter("tableCell"),o=n.enter("phrasing"),s=n.containerPhrasing(e,{...a,before:r,after:r});return o(),i(),s}function s(e,t){return function(e,t={}){const n=(t.align||[]).concat(),a=t.stringLength||_e,i=[],r=[],o=[],s=[];let l=0,c=-1;for(;++c<e.length;){const n=[],i=[];let u=-1;for(e[c].length>l&&(l=e[c].length);++u<e[c].length;){const r=null==(d=e[c][u])?"":String(d);if(!1!==t.alignDelimiters){const e=a(r);i[u]=e,(void 0===s[u]||e>s[u])&&(s[u]=e)}n.push(r)}r[c]=n,o[c]=i}var d;let u=-1;if("object"==typeof n&&"length"in n)for(;++u<l;)i[u]=xe(n[u]);else{const e=xe(n);for(;++u<l;)i[u]=e}u=-1;const p=[],A=[];for(;++u<l;){const e=i[u];let n="",a="";99===e?(n=":",a=":"):108===e?n=":":114===e&&(a=":");let r=!1===t.alignDelimiters?1:Math.max(1,s[u]-n.length-a.length);const o=n+"-".repeat(r)+a;!1!==t.alignDelimiters&&(r=n.length+r+a.length,r>s[u]&&(s[u]=r),A[u]=r),p[u]=o}r.splice(1,0,p),o.splice(1,0,A),c=-1;const g=[];for(;++c<r.length;){const e=r[c],n=o[c];u=-1;const a=[];for(;++u<l;){const r=e[u]||"";let o="",c="";if(!1!==t.alignDelimiters){const e=s[u]-(n[u]||0),t=i[u];114===t?o=" ".repeat(e):99===t?e%2?(o=" ".repeat(e/2+.5),c=" ".repeat(e/2-.5)):(o=" ".repeat(e/2),c=o):c=" ".repeat(e)}!1===t.delimiterStart||u||a.push("|"),!1===t.padding||!1===t.alignDelimiters&&""===r||!1===t.delimiterStart&&!u||a.push(" "),!1!==t.alignDelimiters&&a.push(o),a.push(r),!1!==t.alignDelimiters&&a.push(c),!1!==t.padding&&a.push(" "),!1===t.delimiterEnd&&u===l-1||a.push("|")}g.push(!1===t.delimiterEnd?a.join("").replace(/ +$/,""):a.join(""))}return g.join("\n")}(e,{align:t,alignDelimiters:a,padding:n,stringLength:i})}function l(e,t,n){const a=e.children;let i=-1;const r=[],s=t.enter("tableRow");for(;++i<a.length;)r[i]=o(a[i],0,t,n);return s(),r}}function et(e){const t=this.stack[this.stack.length-2];t.type,t.checked="taskListCheckValueChecked"===e.type}function tt(e){const t=this.stack[this.stack.length-2];if(t&&"listItem"===t.type&&"boolean"==typeof t.checked){const e=this.stack[this.stack.length-1];e.type;const n=e.children[0];if(n&&"text"===n.type){const a=t.children;let i,r=-1;for(;++r<a.length;){const e=a[r];if("paragraph"===e.type){i=e;break}}i===e&&(n.value=n.value.slice(1),0===n.value.length?e.children.shift():e.position&&n.position&&"number"==typeof n.position.start.offset&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function nt(e,t,n,a){const i=e.children[0],r="boolean"==typeof e.checked&&i&&"paragraph"===i.type,o="["+(e.checked?"x":" ")+"] ",s=n.createTracker(a);r&&s.move(o);let l=Xe.listItem(e,t,n,{...a,...s.current()});return r&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,(function(e){return e+o}))),l}function at(e,t,n,a){const i=e.length;let r,o=0;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,a.length<1e4)r=Array.from(a),r.unshift(t,n),e.splice(...r);else for(n&&e.splice(t,n);o<a.length;)r=a.slice(o,o+1e4),r.unshift(t,0),e.splice(...r),o+=1e4,t+=1e4}const it={}.hasOwnProperty;function rt(e,t){let n;for(n in t){const a=(it.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n];let r;if(i)for(r in i){it.call(a,r)||(a[r]=[]);const e=i[r];ot(a[r],Array.isArray(e)?e:e?[e]:[])}}}function ot(e,t){let n=-1;const a=[];for(;++n<t.length;)("after"===t[n].add?e:a).push(t[n]);at(e,0,0,a)}const st={tokenize:function(e,t,n){let a=0;return function t(r){return(87===r||119===r)&&a<3?(a++,e.consume(r),t):46===r&&3===a?(e.consume(r),i):n(r)};function i(e){return null===e?n(e):t(e)}},partial:!0},lt={tokenize:function(e,t,n){let a,i,r;return o;function o(t){return 46===t||95===t?e.check(dt,l,s)(t):null===t||P(t)||O(t)||45!==t&&F(t)?l(t):(r=!0,e.consume(t),o)}function s(t){return 95===t?a=!0:(i=a,a=void 0),e.consume(t),o}function l(e){return i||a||!r?n(e):t(e)}},partial:!0},ct={tokenize:function(e,t){let n=0,a=0;return i;function i(o){return 40===o?(n++,e.consume(o),i):41===o&&a<n?r(o):33===o||34===o||38===o||39===o||41===o||42===o||44===o||46===o||58===o||59===o||60===o||63===o||93===o||95===o||126===o?e.check(dt,t,r)(o):null===o||P(o)||O(o)?t(o):(e.consume(o),i)}function r(t){return 41===t&&a++,e.consume(t),i}},partial:!0},dt={tokenize:function(e,t,n){return a;function a(o){return 33===o||34===o||39===o||41===o||42===o||44===o||46===o||58===o||59===o||63===o||95===o||126===o?(e.consume(o),a):38===o?(e.consume(o),r):93===o?(e.consume(o),i):60===o||null===o||P(o)||O(o)?t(o):n(o)}function i(e){return null===e||40===e||91===e||P(e)||O(e)?t(e):a(e)}function r(e){return D(e)?o(e):n(e)}function o(t){return 59===t?(e.consume(t),a):D(t)?(e.consume(t),o):n(t)}},partial:!0},ut={tokenize:function(e,t,n){return function(t){return e.consume(t),a};function a(e){return T(e)?n(e):t(e)}},partial:!0},pt={tokenize:function(e,t,n){const a=this;return function(t){return 87!==t&&119!==t||!ft.call(a,a.previous)||yt(a.events)?n(t):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(st,e.attempt(lt,e.attempt(ct,i),n),n)(t))};function i(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:ft},At={tokenize:function(e,t,n){const a=this;let i="",r=!1;return function(t){return 72!==t&&104!==t||!vt.call(a,a.previous)||yt(a.events)?n(t):(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(t),e.consume(t),o)};function o(t){if(D(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),o;if(58===t){const n=i.toLowerCase();if("http"===n||"https"===n)return e.consume(t),s}return n(t)}function s(t){return 47===t?(e.consume(t),r?l:(r=!0,s)):n(t)}function l(t){return null===t||function(e){return null!==e&&(e<32||127===e)}(t)||P(t)||O(t)||F(t)?n(t):e.attempt(lt,e.attempt(ct,c),n)(t)}function c(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:vt},gt={tokenize:function(e,t,n){const a=this;let i,r;return function(t){return bt(t)&&Ct.call(a,a.previous)&&!yt(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(t)):n(t)};function o(t){return bt(t)?(e.consume(t),o):64===t?(e.consume(t),s):n(t)}function s(t){return 46===t?e.check(ut,c,l)(t):45===t||95===t||T(t)?(r=!0,e.consume(t),s):c(t)}function l(t){return e.consume(t),i=!0,s}function c(o){return r&&i&&D(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(o)):n(o)}},previous:Ct},ht={};let mt=48;for(;mt<123;)ht[mt]=gt,mt++,58===mt?mt=65:91===mt&&(mt=97);function ft(e){return null===e||40===e||42===e||95===e||91===e||93===e||126===e||P(e)}function vt(e){return!D(e)}function Ct(e){return!(47===e||bt(e))}function bt(e){return 43===e||45===e||46===e||95===e||T(e)}function yt(e){let t=e.length,n=!1;for(;t--;){const a=e[t][1];if(("labelLink"===a.type||"labelImage"===a.type)&&!a._balanced){n=!0;break}if(a._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}function _t(e){return null===e||P(e)||O(e)?1:F(e)?2:void 0}function xt(e,t,n){const a=[];let i=-1;for(;++i<e.length;){const r=e[i].resolveAll;r&&!a.includes(r)&&(t=r(t,n),a.push(r))}return t}function wt(e,t,n,a){const i=a?a-1:Number.POSITIVE_INFINITY;let r=0;return function(a){return G(a)?(e.enter(n),o(a)):t(a)};function o(a){return G(a)&&r++<i?(e.consume(a),o):(e.exit(n),t(a))}}ht[43]=gt,ht[45]=gt,ht[46]=gt,ht[95]=gt,ht[72]=[gt,At],ht[104]=[gt,At],ht[87]=[gt,pt],ht[119]=[gt,pt];const Et={tokenize:function(e,t,n){return function(t){return G(t)?wt(e,a,"linePrefix")(t):a(t)};function a(e){return null===e||L(e)?t(e):n(e)}},partial:!0},kt={tokenize:function(e,t,n){const a=this;return wt(e,(function(e){const i=a.events[a.events.length-1];return i&&"gfmFootnoteDefinitionIndent"===i[1].type&&4===i[2].sliceSerialize(i[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function Bt(e,t,n){const a=this;let i=a.events.length;const r=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o;for(;i--;){const e=a.events[i][1];if("labelImage"===e.type){o=e;break}if("gfmFootnoteCall"===e.type||"labelLink"===e.type||"label"===e.type||"image"===e.type||"link"===e.type)break}return function(i){if(!o||!o._balanced)return n(i);const s=oe(a.sliceSerialize({start:o.end,end:a.now()}));return 94===s.codePointAt(0)&&r.includes(s.slice(1))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(i),e.exit("gfmFootnoteCallLabelMarker"),t(i)):n(i)}}function Nt(e,t){let n=e.length;for(;n--;)if("labelImage"===e[n][1].type&&"enter"===e[n][0]){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const r={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},r.start),end:Object.assign({},r.end)},s=[e[n+1],e[n+2],["enter",a,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",r,t],["enter",o,t],["exit",o,t],["exit",r,t],e[e.length-2],e[e.length-1],["exit",a,t]];return e.splice(n,e.length-n+1,...s),e}function St(e,t,n){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let r,o=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),s};function s(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(s){if(o>999||93===s&&!r||null===s||91===s||P(s))return n(s);if(93===s){e.exit("chunkString");const r=e.exit("gfmFootnoteCallString");return i.includes(oe(a.sliceSerialize(r)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(s),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(s)}return P(s)||(r=!0),o++,e.consume(s),92===s?c:l}function c(t){return 91===t||92===t||93===t?(e.consume(t),o++,l):l(t)}}function It(e,t,n){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let r,o,s=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),l};function l(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):n(t)}function c(t){if(s>999||93===t&&!o||null===t||91===t||P(t))return n(t);if(93===t){e.exit("chunkString");const n=e.exit("gfmFootnoteDefinitionLabelString");return r=oe(a.sliceSerialize(n)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),u}return P(t)||(o=!0),s++,e.consume(t),92===t?d:c}function d(t){return 91===t||92===t||93===t?(e.consume(t),s++,c):c(t)}function u(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),i.includes(r)||i.push(r),wt(e,p,"gfmFootnoteDefinitionWhitespace")):n(t)}function p(e){return t(e)}}function Dt(e,t,n){return e.check(Et,t,e.attempt(kt,t,n))}function Tt(e){e.exit("gfmFootnoteDefinition")}function Lt(e){let t=(e||{}).singleTilde;const n={tokenize:function(e,n,a){const i=this.previous,r=this.events;let o=0;return function(t){return 126===i&&"characterEscape"!==r[r.length-1][1].type?a(t):(e.enter("strikethroughSequenceTemporary"),s(t))};function s(r){const l=_t(i);if(126===r)return o>1?a(r):(e.consume(r),o++,s);if(o<2&&!t)return a(r);const c=e.exit("strikethroughSequenceTemporary"),d=_t(r);return c._open=!d||2===d&&Boolean(l),c._close=!l||2===l&&Boolean(d),n(r)}},resolveAll:function(e,t){let n=-1;for(;++n<e.length;)if("enter"===e[n][0]&&"strikethroughSequenceTemporary"===e[n][1].type&&e[n][1]._close){let a=n;for(;a--;)if("exit"===e[a][0]&&"strikethroughSequenceTemporary"===e[a][1].type&&e[a][1]._open&&e[n][1].end.offset-e[n][1].start.offset==e[a][1].end.offset-e[a][1].start.offset){e[n][1].type="strikethroughSequence",e[a][1].type="strikethroughSequence";const i={type:"strikethrough",start:Object.assign({},e[a][1].start),end:Object.assign({},e[n][1].end)},r={type:"strikethroughText",start:Object.assign({},e[a][1].end),end:Object.assign({},e[n][1].start)},o=[["enter",i,t],["enter",e[a][1],t],["exit",e[a][1],t],["enter",r,t]],s=t.parser.constructs.insideSpan.null;s&&at(o,o.length,0,xt(s,e.slice(a+1,n),t)),at(o,o.length,0,[["exit",r,t],["enter",e[n][1],t],["exit",e[n][1],t],["exit",i,t]]),at(e,a-1,n-a+3,o),n=a+o.length-2;break}}for(n=-1;++n<e.length;)"strikethroughSequenceTemporary"===e[n][1].type&&(e[n][1].type="data");return e}};return null==t&&(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}}}class Pt{constructor(){this.map=[]}add(e,t,n){!function(e,t,n,a){let i=0;if(0!==n||0!==a.length){for(;i<e.map.length;){if(e.map[i][0]===t)return e.map[i][1]+=n,void e.map[i][2].push(...a);i+=1}e.map.push([t,n,a])}}(this,e,t,n)}consume(e){if(this.map.sort((function(e,t){return e[0]-t[0]})),0===this.map.length)return;let t=this.map.length;const n=[];for(;t>0;)t-=1,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push([...e]),e.length=0;let a=n.pop();for(;a;)e.push(...a),a=n.pop();this.map.length=0}}function Gt(e,t){let n=!1;const a=[];for(;t<e.length;){const i=e[t];if(n){if("enter"===i[0])"tableContent"===i[1].type&&a.push("tableDelimiterMarker"===e[t+1][1].type?"left":"none");else if("tableContent"===i[1].type){if("tableDelimiterMarker"===e[t-1][1].type){const e=a.length-1;a[e]="left"===a[e]?"center":"right"}}else if("tableDelimiterRow"===i[1].type)break}else"enter"===i[0]&&"tableDelimiterRow"===i[1].type&&(n=!0);t+=1}return a}function Ft(e,t,n){const a=this;let i,r=0,o=0;return function(e){let t=a.events.length-1;for(;t>-1;){const e=a.events[t][1].type;if("lineEnding"!==e&&"linePrefix"!==e)break;t--}const i=t>-1?a.events[t][1].type:null,r="tableHead"===i||"tableRow"===i?b:s;return r===b&&a.parser.lazy[a.now().line]?n(e):r(e)};function s(t){return e.enter("tableHead"),e.enter("tableRow"),function(e){return 124===e||(i=!0,o+=1),l(e)}(t)}function l(t){return null===t?n(t):L(t)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),u):n(t):G(t)?wt(e,l,"whitespace")(t):(o+=1,i&&(i=!1,r+=1),124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),i=!0,l):(e.enter("data"),c(t)))}function c(t){return null===t||124===t||P(t)?(e.exit("data"),l(t)):(e.consume(t),92===t?d:c)}function d(t){return 92===t||124===t?(e.consume(t),c):c(t)}function u(t){return a.interrupt=!1,a.parser.lazy[a.now().line]?n(t):(e.enter("tableDelimiterRow"),i=!1,G(t)?wt(e,p,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):p(t))}function p(t){return 45===t||58===t?g(t):124===t?(i=!0,e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),A):C(t)}function A(t){return G(t)?wt(e,g,"whitespace")(t):g(t)}function g(t){return 58===t?(o+=1,i=!0,e.enter("tableDelimiterMarker"),e.consume(t),e.exit("tableDelimiterMarker"),h):45===t?(o+=1,h(t)):null===t||L(t)?v(t):C(t)}function h(t){return 45===t?(e.enter("tableDelimiterFiller"),m(t)):C(t)}function m(t){return 45===t?(e.consume(t),m):58===t?(i=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(t),e.exit("tableDelimiterMarker"),f):(e.exit("tableDelimiterFiller"),f(t))}function f(t){return G(t)?wt(e,v,"whitespace")(t):v(t)}function v(n){return 124===n?p(n):(null===n||L(n))&&i&&r===o?(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(n)):C(n)}function C(e){return n(e)}function b(t){return e.enter("tableRow"),y(t)}function y(n){return 124===n?(e.enter("tableCellDivider"),e.consume(n),e.exit("tableCellDivider"),y):null===n||L(n)?(e.exit("tableRow"),t(n)):G(n)?wt(e,y,"whitespace")(n):(e.enter("data"),_(n))}function _(t){return null===t||124===t||P(t)?(e.exit("data"),y(t)):(e.consume(t),92===t?x:_)}function x(t){return 92===t||124===t?(e.consume(t),_):_(t)}}function Ot(e,t){let n,a,i,r=-1,o=!0,s=0,l=[0,0,0,0],c=[0,0,0,0],d=!1,u=0;const p=new Pt;for(;++r<e.length;){const A=e[r],g=A[1];"enter"===A[0]?"tableHead"===g.type?(d=!1,0!==u&&(Rt(p,t,u,n,a),a=void 0,u=0),n={type:"table",start:Object.assign({},g.start),end:Object.assign({},g.end)},p.add(r,0,[["enter",n,t]])):"tableRow"===g.type||"tableDelimiterRow"===g.type?(o=!0,i=void 0,l=[0,0,0,0],c=[0,r+1,0,0],d&&(d=!1,a={type:"tableBody",start:Object.assign({},g.start),end:Object.assign({},g.end)},p.add(r,0,[["enter",a,t]])),s="tableDelimiterRow"===g.type?2:a?3:1):!s||"data"!==g.type&&"tableDelimiterMarker"!==g.type&&"tableDelimiterFiller"!==g.type?"tableCellDivider"===g.type&&(o?o=!1:(0!==l[1]&&(c[0]=c[1],i=Ut(p,t,l,s,void 0,i)),l=c,c=[l[1],r,0,0])):(o=!1,0===c[2]&&(0!==l[1]&&(c[0]=c[1],i=Ut(p,t,l,s,void 0,i),l=[0,0,0,0]),c[2]=r)):"tableHead"===g.type?(d=!0,u=r):"tableRow"===g.type||"tableDelimiterRow"===g.type?(u=r,0!==l[1]?(c[0]=c[1],i=Ut(p,t,l,s,r,i)):0!==c[1]&&(i=Ut(p,t,c,s,r,i)),s=0):!s||"data"!==g.type&&"tableDelimiterMarker"!==g.type&&"tableDelimiterFiller"!==g.type||(c[3]=r)}for(0!==u&&Rt(p,t,u,n,a),p.consume(t.events),r=-1;++r<t.events.length;){const e=t.events[r];"enter"===e[0]&&"table"===e[1].type&&(e[1]._align=Gt(t.events,r))}return e}function Ut(e,t,n,a,i,r){const o=1===a?"tableHeader":2===a?"tableDelimiter":"tableData";0!==n[0]&&(r.end=Object.assign({},qt(t.events,n[0])),e.add(n[0],0,[["exit",r,t]]));const s=qt(t.events,n[1]);if(r={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[["enter",r,t]]),0!==n[2]){const i=qt(t.events,n[2]),r=qt(t.events,n[3]),o={type:"tableContent",start:Object.assign({},i),end:Object.assign({},r)};if(e.add(n[2],0,[["enter",o,t]]),2!==a){const a=t.events[n[2]],i=t.events[n[3]];if(a[1].end=Object.assign({},i[1].end),a[1].type="chunkText",a[1].contentType="text",n[3]>n[2]+1){const t=n[2]+1,a=n[3]-n[2]-1;e.add(t,a,[])}}e.add(n[3]+1,0,[["exit",o,t]])}return void 0!==i&&(r.end=Object.assign({},qt(t.events,i)),e.add(i,0,[["exit",r,t]]),r=void 0),r}function Rt(e,t,n,a,i){const r=[],o=qt(t.events,n);i&&(i.end=Object.assign({},o),r.push(["exit",i,t])),a.end=Object.assign({},o),r.push(["exit",a,t]),e.add(n+1,0,r)}function qt(e,t){const n=e[t],a="enter"===n[0]?"start":"end";return n[1][a]}const Mt={tokenize:function(e,t,n){const a=this;return function(t){return null===a.previous&&a._gfmTasklistFirstContentOfListItem?(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),i):n(t)};function i(t){return P(t)?(e.enter("taskListCheckValueUnchecked"),e.consume(t),e.exit("taskListCheckValueUnchecked"),r):88===t||120===t?(e.enter("taskListCheckValueChecked"),e.consume(t),e.exit("taskListCheckValueChecked"),r):n(t)}function r(t){return 93===t?(e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):n(t)}function o(a){return L(a)?t(a):G(a)?e.check({tokenize:jt},t,n)(a):n(a)}}};function jt(e,t,n){return wt(e,(function(e){return null===e?n(e):t(e)}),"whitespace")}const zt={};function $t(e){const t=e||zt,n=this.data(),a=n.micromarkExtensions||(n.micromarkExtensions=[]),i=n.fromMarkdownExtensions||(n.fromMarkdownExtensions=[]),r=n.toMarkdownExtensions||(n.toMarkdownExtensions=[]);a.push(function(e){return function(e){const t={};let n=-1;for(;++n<e.length;)rt(t,e[n]);return t}([{text:ht},{document:{91:{tokenize:It,continuation:{tokenize:Dt},exit:Tt}},text:{91:{tokenize:St},93:{add:"after",tokenize:Bt,resolveTo:Nt}}},Lt(e),{flow:{null:{tokenize:Ft,resolveAll:Ot}}},{text:{91:Mt}}])}(t)),i.push([{transforms:[ne],enter:{literalAutolink:Q,literalAutolinkEmail:K,literalAutolinkHttp:K,literalAutolinkWww:K},exit:{literalAutolink:te,literalAutolinkEmail:ee,literalAutolinkHttp:Z,literalAutolinkWww:J}},{enter:{gfmFootnoteDefinition:se,gfmFootnoteDefinitionLabelString:le,gfmFootnoteCall:ue,gfmFootnoteCallString:pe},exit:{gfmFootnoteDefinition:de,gfmFootnoteDefinitionLabelString:ce,gfmFootnoteCall:ge,gfmFootnoteCallString:Ae}},{canContainEols:["delete"],enter:{strikethrough:Ce},exit:{strikethrough:be}},{enter:{table:He,tableData:Qe,tableHeader:Qe,tableRow:Ve},exit:{codeText:Ke,table:We,tableData:Ye,tableHeader:Ye,tableRow:Ye}},{exit:{taskListCheckValueChecked:et,taskListCheckValueUnchecked:et,paragraph:tt}}]),r.push(function(e){return{extensions:[{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:V,notInConstruct:Y},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:V,notInConstruct:Y},{character:":",before:"[ps]",after:"\\/",inConstruct:V,notInConstruct:Y}]},{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:me,footnoteReference:he}},{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:ve}],handlers:{delete:ye}},Je(e),{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:nt}}]}}(t))}const Xt=["http","https","mailto","tel"],Ht=(0,a.KR)(null),Wt={name:"NcRichText",components:{NcReferenceList:B},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},referenceInteractive:{type:Boolean,default:!0},referenceInteractiveOptIn:{type:Boolean,default:!1},references:{type:Array,default:null},useMarkdown:{type:Boolean,default:!1},useExtendedMarkdown:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},emits:["interact:todo"],data:()=>({parentId:(0,h.G)(5)}),methods:{renderPlaintext(e){const t=this,n=this.text.split(/(\{[a-z\-_.0-9]+\})/gi).map((function(n,a,i){const o=n.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!o)return(({h:e,context:t},n)=>(t.autolink&&(n=(0,r.p)(n)),Array.isArray(n)?n.map((t=>{if("string"==typeof t)return t;const{component:n,props:a}=t,i="NcLink"===n.name?void 0:"rich-text--component";return e(n,{props:a,class:i})})):n))({h:e,context:t},n);const s=o[1],l=t.arguments[s];if("object"==typeof l){const{component:t,props:n}=l;return e(t,{props:n,class:"rich-text--component"})}return l?e("span",{class:"rich-text--fallback"},l):n}));return e("div",{class:"rich-text--wrapper"},[e("div",{},n.flat()),this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(B,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])},renderMarkdown(e){const t=(0,m.l)().use(f.A).use(r.r,{autolink:this.autolink,useMarkdown:this.useMarkdown,useExtendedMarkdown:this.useExtendedMarkdown}).use(S).use(this.useExtendedMarkdown?$t:void 0).use(v.A).use(C.A,{except:Xt}).use(b.A,{handlers:{component:(e,t)=>e(t,t.component,{value:t.value})}}).use(this.useExtendedMarkdown?Ht.value:void 0).use(N).use(_.A,{target:"_blank",rel:["noopener noreferrer"]}).use(y.A,{createElement:(t,a,i)=>{if(!t.startsWith("#")){if(this.useExtendedMarkdown){"code"===t&&!Ht.value&&a?.attrs?.class?.includes("language")&&async function(){const e=await n.e(5862).then(n.bind(n,75862));Ht.value=e.default}();let r=null;if("li"===t&&Array.isArray(i)&&"input"===i[0].tag&&"checkbox"===i[0].data.attrs.type){const[n,...o]=i,s=o.findIndex((e=>["ul","ol","li","blockquote","pre"].includes(e.tag)));-1!==s&&(r=o[s],o.splice(s));const l=this.parentId+"-markdown-input-"+(0,h.G)(5),c=e(u.N,{attrs:{...n.data.attrs,id:l,disabled:!this.interactive},on:{"update:checked":()=>{this.$emit("interact:todo",l)}}},o);return e(t,a,[c,r])}}if("a"===t){const t=(0,r.g)(this.$router,a.attrs.href);if(t)return delete a.attrs.href,delete a.attrs.target,e(x.Wk,{...a,props:{to:t}},i)}return e(t,a,i)}const o=this.arguments[t.slice(1)];return o?o.component?e(o.component,{attrs:a,props:o.props,class:"rich-text--component"},i):e("span",a,[o]):e("span",{attrs:a,class:"rich-text--fallback"},[`{${t.slice(1)}}`])},prefix:!1}).processSync(this.text.replace(/<[^>]+>/g,(e=>e.replace(/</g,"&lt;"))).replace(/&gt;/gim,">")).result;return e("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[t,this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(B,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])}},render(e){return this.useMarkdown||this.useExtendedMarkdown?this.renderMarkdown(e):this.renderPlaintext(e)}},Vt=(0,d.n)(Wt,null,null,!1,null,"ddd5e67e").exports},23941:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-878b819f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\n opacity: 0;\n}\n.linked-icons[data-v-878b819f] {\n display: flex;\n}\n.linked-icons img[data-v-878b819f] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-878b819f]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-878b819f] {\n display: none;\n}\n.popovermenu.open[data-v-878b819f] {\n display: block;\n}\nli.collection-list-item[data-v-878b819f] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-878b819f] {\n margin-top: 0;\n}\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-878b819f] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-878b819f] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-878b819f] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\n opacity: 1;\n}\n.should-shake[data-v-878b819f] {\n animation: shake-878b819f 0.6s 1 linear;\n}\n@keyframes shake-878b819f {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-efe8beb8] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.collection-list *[data-v-efe8beb8] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-efe8beb8] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-efe8beb8] {\n margin-top: 0;\n}\n#collection-select-container[data-v-efe8beb8] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-efe8beb8] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-efe8beb8]:hover {\n opacity: 1;\n}\np.hint[data-v-efe8beb8] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-efe8beb8] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-efe8beb8] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-efe8beb8] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-efe8beb8] {\n display: block;\n width: 32px;\n height: 32px;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-efe8beb8] {\n padding: 4px;\n}\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\n opacity: 0;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,uCAAuC;AACzC;AACA;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA,qCAAqC;AACrC;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,UAAU;AACZ",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-878b819f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\n opacity: 0;\n}\n.linked-icons[data-v-878b819f] {\n display: flex;\n}\n.linked-icons img[data-v-878b819f] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-878b819f]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-878b819f] {\n display: none;\n}\n.popovermenu.open[data-v-878b819f] {\n display: block;\n}\nli.collection-list-item[data-v-878b819f] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-878b819f] {\n margin-top: 0;\n}\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-878b819f] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-878b819f] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-878b819f] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\n opacity: 1;\n}\n.should-shake[data-v-878b819f] {\n animation: shake-878b819f 0.6s 1 linear;\n}\n@keyframes shake-878b819f {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-efe8beb8] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.collection-list *[data-v-efe8beb8] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-efe8beb8] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-efe8beb8] {\n margin-top: 0;\n}\n#collection-select-container[data-v-efe8beb8] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-efe8beb8] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-efe8beb8]:hover {\n opacity: 1;\n}\np.hint[data-v-efe8beb8] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-efe8beb8] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-efe8beb8] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-efe8beb8] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-efe8beb8] {\n display: block;\n width: 32px;\n height: 32px;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-efe8beb8] {\n padding: 4px;\n}\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\n opacity: 0;\n}"],sourceRoot:""}]);const s=o},24882:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".header[data-v-5c0f8828]{border-bottom:1px solid var(--color-border);position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.header__cell[data-v-5c0f8828]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-5c0f8828],.header__cell span[data-v-5c0f8828],.header__cell label[data-v-5c0f8828]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-5c0f8828],.header__cell--displayname[data-v-5c0f8828]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-5c0f8828]{inset-inline-start:0}.header__cell--displayname[data-v-5c0f8828]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.header__cell--username[data-v-5c0f8828]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.header__cell--avatar[data-v-5c0f8828]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-5c0f8828]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-5c0f8828]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-5c0f8828]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-5c0f8828]{min-width:400px;width:400px}.header__cell--fill[data-v-5c0f8828]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-5c0f8828]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.header__subtitle[data-v-5c0f8828]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListHeader.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBACC,2CAAA,CCEA,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA",sourcesContent:["\n@use './shared/styles';\n\n.header {\n\tborder-bottom: 1px solid var(--color-border);\n\n\t@include styles.row;\n\t@include styles.cell;\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const s=o},26865:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-9e46b7b2] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.team-resources__header[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-team[data-v-9e46b7b2] {\n border-radius: var(--border-radius-rounded);\n border: 2px solid var(--color-border-dark);\n margin-bottom: 6px;\n}\n.related-team__open[data-v-9e46b7b2] {\n border-color: var(--color-primary-element);\n}\n.related-team__header[data-v-9e46b7b2] {\n padding: 6px;\n padding-right: 24px;\n display: flex;\n gap: 12px;\n}\n.related-team__name[data-v-9e46b7b2] {\n display: flex;\n flex-grow: 1;\n align-items: center;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n margin: 0;\n}\n.related-team .related-team-provider[data-v-9e46b7b2] {\n padding: 6px 12px;\n}\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 3px;\n}\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n height: var(--default-clickable-area);\n align-items: center;\n border-radius: var(--border-radius-large);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\n background-color: var(--color-background-hover);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\n background-color: var(--color-background-hover);\n outline: 2px solid var(--color-primary-element);\n}\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\n border-radius: var(--border-radius-pill);\n overflow: hidden;\n width: 32px;\n height: 32px;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-77c38062] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resource[data-v-77c38062] {\n display: flex;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.resource__button[data-v-77c38062] {\n width: 100% !important;\n justify-content: flex-start !important;\n padding: 0 !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper {\n justify-content: flex-start !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\n font-weight: normal !important;\n margin-left: 2px !important;\n}\n.resource__icon[data-v-77c38062] {\n width: 32px;\n height: 32px;\n background-color: var(--color-text-maxcontrast);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.resource__icon img[data-v-77c38062] {\n width: 16px;\n height: 16px;\n filter: var(--background-invert-if-dark);\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-badd46a9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.related-resources__header h5[data-v-badd46a9] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-resources__header p[data-v-badd46a9] {\n color: var(--color-text-maxcontrast);\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,2CAA2C;EAC3C,0CAA0C;EAC1C,kBAAkB;AACpB;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,YAAY;EACZ,mBAAmB;EACnB,aAAa;EACb,SAAS;AACX;AACA;EACE,aAAa;EACb,YAAY;EACZ,mBAAmB;EACnB,SAAS;EACT,iBAAiB;EACjB,iBAAiB;EACjB,SAAS;AACX;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,SAAS;EACT,iBAAiB;EACjB,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,SAAS;EACT,qCAAqC;EACrC,mBAAmB;EACnB,yCAAyC;AAC3C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;EAC/C,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB;AACA;EACE,wCAAwC;EACxC,gBAAgB;EAChB,WAAW;EACX,YAAY;AACd,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,qCAAqC;AACvC;AACA;EACE,sBAAsB;EACtB,sCAAsC;EACtC,qBAAqB;AACvB;AACA;EACE,sCAAsC;AACxC;AACA;EACE,8BAA8B;EAC9B,2BAA2B;AAC7B;AACA;EACE,WAAW;EACX,YAAY;EACZ,+CAA+C;EAC/C,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,YAAY;EACZ,wCAAwC;AAC1C,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,oCAAoC;AACtC",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-9e46b7b2] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.team-resources__header[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-team[data-v-9e46b7b2] {\n border-radius: var(--border-radius-rounded);\n border: 2px solid var(--color-border-dark);\n margin-bottom: 6px;\n}\n.related-team__open[data-v-9e46b7b2] {\n border-color: var(--color-primary-element);\n}\n.related-team__header[data-v-9e46b7b2] {\n padding: 6px;\n padding-right: 24px;\n display: flex;\n gap: 12px;\n}\n.related-team__name[data-v-9e46b7b2] {\n display: flex;\n flex-grow: 1;\n align-items: center;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n margin: 0;\n}\n.related-team .related-team-provider[data-v-9e46b7b2] {\n padding: 6px 12px;\n}\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 3px;\n}\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n height: var(--default-clickable-area);\n align-items: center;\n border-radius: var(--border-radius-large);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\n background-color: var(--color-background-hover);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\n background-color: var(--color-background-hover);\n outline: 2px solid var(--color-primary-element);\n}\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\n border-radius: var(--border-radius-pill);\n overflow: hidden;\n width: 32px;\n height: 32px;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-77c38062] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resource[data-v-77c38062] {\n display: flex;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.resource__button[data-v-77c38062] {\n width: 100% !important;\n justify-content: flex-start !important;\n padding: 0 !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper {\n justify-content: flex-start !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\n font-weight: normal !important;\n margin-left: 2px !important;\n}\n.resource__icon[data-v-77c38062] {\n width: 32px;\n height: 32px;\n background-color: var(--color-text-maxcontrast);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.resource__icon img[data-v-77c38062] {\n width: 16px;\n height: 16px;\n filter: var(--background-invert-if-dark);\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-badd46a9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.related-resources__header h5[data-v-badd46a9] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-resources__header p[data-v-badd46a9] {\n color: var(--color-text-maxcontrast);\n}"],sourceRoot:""}]);const s=o},27514:e=>{"use strict";e.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},27518:e=>{"use strict";e.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},29420:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0b3c495c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/* 'New' button */\n.app-navigation-new[data-v-0b3c495c] {\n display: block;\n padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.app-navigation-new button[data-v-0b3c495c] {\n width: 100%;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA,iBAAiB;AACjB;EACE,cAAc;EACd,oDAAoD;AACtD;AACA;EACE,WAAW;AACb",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0b3c495c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/* 'New' button */\n.app-navigation-new[data-v-0b3c495c] {\n display: block;\n padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.app-navigation-new button[data-v-0b3c495c] {\n width: 100%;\n}"],sourceRoot:""}]);const s=o},32402:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-938dadb1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\n display: block;\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n}\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\n width: 14px;\n height: 14px;\n cursor: pointer;\n transition: background 100ms ease-in-out;\n border: none;\n border-radius: 50%;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,+DAA+D;AACjE;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,wCAAwC;EACxC,YAAY;EACZ,kBAAkB;AACpB",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-938dadb1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\n display: block;\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n}\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\n width: 14px;\n height: 14px;\n cursor: pointer;\n transition: background 100ms ease-in-out;\n border: none;\n border-radius: 50%;\n}"],sourceRoot:""}]);const s=o},34188:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-8ddd08c0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-8ddd08c0]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-8ddd08c0] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-8ddd08c0] {\n opacity: 1 !important;\n}\n.action-radio[data-v-8ddd08c0] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* checkbox/radio fixes */\n}\n.action-radio__radio[data-v-8ddd08c0] {\n position: absolute;\n inset-inline-start: 0 !important;\n z-index: -1;\n opacity: 0;\n}\n.action-radio__label[data-v-8ddd08c0] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 !important;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\n}\n.action-radio__label[data-v-8ddd08c0]::before {\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\n}\n.action-radio--disabled[data-v-8ddd08c0],\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\n cursor: pointer;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,yBAAyB;AAC3B;AACA;EACE,kBAAkB;EAClB,gCAAgC;EAChC,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,qBAAqB;EACrB,+EAA+E;AACjF;AACA;EACE,mEAAmE;AACrE;AACA;;EAEE,eAAe;AACjB",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-8ddd08c0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-8ddd08c0]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-8ddd08c0] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-8ddd08c0] {\n opacity: 1 !important;\n}\n.action-radio[data-v-8ddd08c0] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* checkbox/radio fixes */\n}\n.action-radio__radio[data-v-8ddd08c0] {\n position: absolute;\n inset-inline-start: 0 !important;\n z-index: -1;\n opacity: 0;\n}\n.action-radio__label[data-v-8ddd08c0] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 !important;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\n}\n.action-radio__label[data-v-8ddd08c0]::before {\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\n}\n.action-radio--disabled[data-v-8ddd08c0],\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\n cursor: pointer;\n}"],sourceRoot:""}]);const s=o},46984:(e,t,n)=>{"use strict";n.d(t,{FF:()=>c,Iu:()=>l,N_:()=>s});var a=n(65043),i=n(63814),r=n(36117);const o=e=>({id:e.id,name:e.displayname,usercount:e.usercount,disabled:e.disabled,canAdd:e.canAdd,canRemove:e.canRemove}),s=e=>{let{search:t,offset:n,limit:s}=e;const l=new AbortController;return new r.CancelablePromise((async(e,r,c)=>{c((()=>l.abort()));try{const{data:r}=await a.Ay.get((0,i.KT)("/cloud/groups/details?search={search}&offset={offset}&limit={limit}",{search:t,offset:n,limit:s}),{signal:l.signal});e((r.ocs?.data?.groups??[]).map(o))}catch(e){r(e)}}))},l=async e=>{let{userId:t}=e;const n=(0,i.KT)("/cloud/users/{userId}/groups/details",{userId:t}),{data:r}=await a.Ay.get(n);return(r.ocs?.data?.groups??[]).map(o)},c=async e=>{let{userId:t}=e;const n=(0,i.KT)("/cloud/users/{userId}/subadmins/details",{userId:t}),{data:r}=await a.Ay.get(n);return(r.ocs?.data?.groups??[]).map(o)}},47999:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-d278a327] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#app-settings[data-v-d278a327] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-d278a327] {\n box-sizing: border-box;\n margin: 0 3px 3px 3px;\n}\n#app-settings__header .settings-button[data-v-d278a327] {\n display: flex;\n flex: 1 1 0;\n height: var(--default-clickable-area);\n width: 100%;\n padding: 0;\n margin: 0;\n background-color: transparent;\n box-shadow: none;\n border: 0;\n border-radius: var(--body-container-radius);\n text-align: start;\n font-weight: normal;\n font-size: 100%;\n color: var(--color-main-text);\n padding-inline-end: 14px;\n line-height: var(--default-clickable-area);\n}\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__icon[data-v-d278a327] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n min-width: var(--default-clickable-area);\n}\n#app-settings__header .settings-button__label[data-v-d278a327] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-d278a327] {\n display: block;\n padding: 10px;\n /* prevent scrolled contents from stopping too early */\n margin-bottom: -3px;\n /* restrict height of settings and make scrollable */\n max-height: 300px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.slide-up-leave-active[data-v-d278a327],\n.slide-up-enter-active[data-v-d278a327] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-d278a327],\n.slide-up-leave-to[data-v-d278a327] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,WAAW;EACX,qCAAqC;EACrC,WAAW;EACX,UAAU;EACV,SAAS;EACT,6BAA6B;EAC7B,gBAAgB;EAChB,SAAS;EACT,2CAA2C;EAC3C,iBAAiB;EACjB,mBAAmB;EACnB,eAAe;EACf,6BAA6B;EAC7B,wBAAwB;EACxB,0CAA0C;AAC5C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,wCAAwC;AAC1C;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,aAAa;EACb,sDAAsD;EACtD,mBAAmB;EACnB,oDAAoD;EACpD,iBAAiB;EACjB,gBAAgB;EAChB,sBAAsB;AACxB;AACA;;EAEE,0CAA0C;EAC1C,wCAAwC;EACxC,6BAA6B;AAC/B;AACA;;EAEE,wBAAwB;EACxB,0BAA0B;AAC5B",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-d278a327] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#app-settings[data-v-d278a327] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-d278a327] {\n box-sizing: border-box;\n margin: 0 3px 3px 3px;\n}\n#app-settings__header .settings-button[data-v-d278a327] {\n display: flex;\n flex: 1 1 0;\n height: var(--default-clickable-area);\n width: 100%;\n padding: 0;\n margin: 0;\n background-color: transparent;\n box-shadow: none;\n border: 0;\n border-radius: var(--body-container-radius);\n text-align: start;\n font-weight: normal;\n font-size: 100%;\n color: var(--color-main-text);\n padding-inline-end: 14px;\n line-height: var(--default-clickable-area);\n}\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__icon[data-v-d278a327] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n min-width: var(--default-clickable-area);\n}\n#app-settings__header .settings-button__label[data-v-d278a327] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-d278a327] {\n display: block;\n padding: 10px;\n /* prevent scrolled contents from stopping too early */\n margin-bottom: -3px;\n /* restrict height of settings and make scrollable */\n max-height: 300px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.slide-up-leave-active[data-v-d278a327],\n.slide-up-enter-active[data-v-d278a327] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-d278a327],\n.slide-up-leave-to[data-v-d278a327] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}"],sourceRoot:""}]);const s=o},49977:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".account-management__navigation[data-v-edf83404] .app-navigation__body{will-change:scroll-position}.account-management__system-list[data-v-edf83404]{height:auto !important;overflow:visible !important}.account-management__group-list[data-v-edf83404]{height:100% !important}.account-management__settings-toggle[data-v-edf83404]{margin-bottom:12px}","",{version:3,sources:["webpack://./apps/settings/src/views/UserManagementNavigation.vue"],names:[],mappings:"AAGE,uEACC,2BAAA,CAGF,kDACC,sBAAA,CACA,2BAAA,CAGD,iDACC,sBAAA,CAGD,sDACC,kBAAA",sourcesContent:["\n.account-management {\n\t&__navigation {\n\t\t:deep(.app-navigation__body) {\n\t\t\twill-change: scroll-position;\n\t\t}\n\t}\n\t&__system-list {\n\t\theight: auto !important;\n\t\toverflow: visible !important;\n\t}\n\n\t&__group-list {\n\t\theight: 100% !important;\n\t}\n\n\t&__settings-toggle {\n\t\tmargin-bottom: 12px;\n\t}\n}\n"],sourceRoot:""}]);const s=o},50332:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0907eb0a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-wrapper[data-v-0907eb0a] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 100%;\n max-width: 400px;\n}\n.input-wrapper .action-input__label[data-v-0907eb0a] {\n margin-right: 12px;\n}\n.input-wrapper[data-v-0907eb0a]:disabled {\n cursor: default;\n}\n.input-wrapper .hint[data-v-0907eb0a] {\n color: var(--color-text-maxcontrast);\n margin-left: 8px;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;EACpC,gBAAgB;AAClB",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0907eb0a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-wrapper[data-v-0907eb0a] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 100%;\n max-width: 400px;\n}\n.input-wrapper .action-input__label[data-v-0907eb0a] {\n margin-right: 12px;\n}\n.input-wrapper[data-v-0907eb0a]:disabled {\n cursor: default;\n}\n.input-wrapper .hint[data-v-0907eb0a] {\n color: var(--color-text-maxcontrast);\n margin-left: 8px;\n}"],sourceRoot:""}]);const s=o},50998:(e,t,n)=>{"use strict";n.d(t,{N:()=>l}),n(54775);var a=n(21651),i=n(51431);const r={name:"NcAppNavigationCaption",components:{NcActions:a.N},inheritAttrs:!1,props:{name:{type:String,required:!0},headingId:{type:String,default:null},isHeading:{type:Boolean,default:!1},headingLevel:{type:Number,default:2}," ":{}},computed:{wrapperTag(){return this.isHeading?"div":"li"},captionTag(){const e=Math.max(2,this.headingLevel);return this.isHeading?`h${e}`:"span"},hasActions(){return!!this.$slots.actions}}};var o=function(){var e=this,t=e._self._c;return t(e.wrapperTag,{tag:"component",staticClass:"app-navigation-caption",class:{"app-navigation-caption--heading":e.isHeading}},[t(e.captionTag,{tag:"component",staticClass:"app-navigation-caption__name",attrs:{id:e.headingId}},[e._v(" "+e._s(e.name)+" ")]),e.hasActions?t("div",{staticClass:"app-navigation-caption__actions"},[t("NcActions",e._g(e._b({scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("actionsTriggerIcon")]},proxy:!0}],null,!0)},"NcActions",e.$attrs,!1),e.$listeners),[e._t("actions")],2)],1):e._e()],1)},s=[];const l=(0,i.n)(r,o,s,!1,null,"1133b4da").exports},51439:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-a4505289] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * color-text-lighter\t\tnormal state\n * color-text-lighter\t\tactive state\n * color-text-maxcontrast \tdisabled state\n */\n/* Default global values */\nbutton[data-v-a4505289]:not(.button-vue),\ninput[data-v-a4505289]:not([type=range]),\ntextarea[data-v-a4505289] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n /* Primary action button, use sparingly */\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\n /* active class used for multiselect */\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-a4505289]:not(.button-vue):disabled,\ninput[data-v-a4505289]:not([type=range]):disabled,\ntextarea[data-v-a4505289]:disabled {\n cursor: default;\n opacity: 0.5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-a4505289]:not(.button-vue):required,\ninput[data-v-a4505289]:not([type=range]):required,\ntextarea[data-v-a4505289]:required {\n box-shadow: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):invalid,\ninput[data-v-a4505289]:not([type=range]):invalid,\ntextarea[data-v-a4505289]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-a4505289],\ninput:not([type=range]).primary[data-v-a4505289],\ntextarea.primary[data-v-a4505289] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\ntextarea.primary[data-v-a4505289]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-a4505289]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-a4505289] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-a4505289] {\n opacity: 1 !important;\n}\n.action-text-editable[data-v-a4505289] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* Inputs inside popover supports text, submit & reset */\n}\n.action-text-editable > span[data-v-a4505289] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text-editable__icon[data-v-a4505289] {\n min-width: 0; /* Overwrite icons*/\n min-height: 0;\n /* Keep padding to define the width to\n \tassure correct position of a possible text */\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n opacity: 1;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text-editable__form[data-v-a4505289] {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n position: relative;\n margin: 4px 0;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.action-text-editable__submit[data-v-a4505289] {\n position: absolute;\n inset-inline-start: 0;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -1;\n opacity: 0;\n}\n.action-text-editable__label[data-v-a4505289] {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n bottom: 1px;\n width: calc(var(--default-clickable-area) - 8px);\n height: calc(var(--default-clickable-area) - 8px);\n box-sizing: border-box;\n margin: 0;\n padding: 7px 6px;\n border: 0;\n border-radius: 50%;\n /* Avoid background under border */\n background-color: var(--color-main-background);\n background-clip: padding-box;\n}\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\n cursor: pointer;\n}\n.action-text-editable__textarea[data-v-a4505289] {\n flex: 1 1 auto;\n color: inherit;\n border-color: var(--color-border-maxcontrast);\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\n min-width: calc(var(--default-clickable-area) * 4);\n width: 100% !important;\n margin: 0;\n /* only show confirm borders if input is not focused */\n}\n.action-text-editable__textarea[data-v-a4505289]:disabled {\n cursor: default;\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\n background-color: var(--color-error);\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\n /* above previous input */\n z-index: 2;\n border-color: var(--color-primary-element);\n border-inline-start-color: transparent;\n}\nli:last-child > .action-text-editable[data-v-a4505289] {\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}\nli:first-child > .action-text-editable[data-v-a4505289] {\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;;;;EAIE;AACF,0BAA0B;AAC1B;;;EAGE,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,gCAAgC;EAChC,0CAA0C;EAC1C,mCAAmC;EACnC,aAAa;EACb,8CAA8C;EAC9C,eAAe;EACf,yCAAyC;AAC3C;AACA;;;;;;;EAOE,sCAAsC;EACtC,0CAA0C;EAC1C,aAAa;AACf;AACA;;;EAGE,8BAA8B;EAC9B,aAAa;EACb,8CAA8C;AAChD;AACA;;;EAGE,eAAe;EACf,YAAY;EACZ,oCAAoC;EACpC,8CAA8C;AAChD;AACA;;;EAGE,gBAAgB;AAClB;AACA;;;EAGE,gCAAgC;EAChC,2BAA2B;AAC7B;AACA;;;EAGE,eAAe;EACf,wCAAwC;EACxC,0CAA0C;EAC1C,8CAA8C;AAChD;AACA;;;;;;;EAOE,gDAAgD;EAChD,oDAAoD;AACtD;AACA;;;EAGE,6CAA6C;AAC/C;AACA;;;EAGE,eAAe;EACf,6CAA6C;EAC7C,8CAA8C;AAChD;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,wDAAwD;AAC1D;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,YAAY,EAAE,mBAAmB;EACjC,aAAa;EACb;+CAC6C;EAC7C,wHAAwH;EACxH,4EAA4E;EAC5E,qBAAqB;AACvB;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,kBAAkB;EAClB,aAAa;EACb,oEAAoE;AACtE;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,SAAS;EACT,UAAU;EACV,WAAW;EACX,gBAAgB;EAChB,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;EAClB,wEAAwE;EACxE,WAAW;EACX,gDAAgD;EAChD,iDAAiD;EACjD,sBAAsB;EACtB,SAAS;EACT,gBAAgB;EAChB,SAAS;EACT,kBAAkB;EAClB,kCAAkC;EAClC,8CAA8C;EAC9C,4BAA4B;AAC9B;AACA;EACE,eAAe;AACjB;AACA;EACE,cAAc;EACd,cAAc;EACd,6CAA6C;EAC7C,yDAAyD,EAAE,+BAA+B;EAC1F,yDAAyD,EAAE,+BAA+B;EAC1F,kDAAkD;EAClD,sBAAsB;EACtB,SAAS;EACT,sDAAsD;AACxD;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,8CAA8C;EAC9C,wCAAwC;AAC1C;AACA;EACE,yBAAyB;EACzB,UAAU;EACV,0CAA0C;EAC1C,sCAAsC;AACxC;AACA;EACE,qEAAqE;AACvE;AACA;EACE,kEAAkE;AACpE",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-a4505289] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * color-text-lighter\t\tnormal state\n * color-text-lighter\t\tactive state\n * color-text-maxcontrast \tdisabled state\n */\n/* Default global values */\nbutton[data-v-a4505289]:not(.button-vue),\ninput[data-v-a4505289]:not([type=range]),\ntextarea[data-v-a4505289] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n /* Primary action button, use sparingly */\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\n /* active class used for multiselect */\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-a4505289]:not(.button-vue):disabled,\ninput[data-v-a4505289]:not([type=range]):disabled,\ntextarea[data-v-a4505289]:disabled {\n cursor: default;\n opacity: 0.5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-a4505289]:not(.button-vue):required,\ninput[data-v-a4505289]:not([type=range]):required,\ntextarea[data-v-a4505289]:required {\n box-shadow: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):invalid,\ninput[data-v-a4505289]:not([type=range]):invalid,\ntextarea[data-v-a4505289]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-a4505289],\ninput:not([type=range]).primary[data-v-a4505289],\ntextarea.primary[data-v-a4505289] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\ntextarea.primary[data-v-a4505289]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-a4505289]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-a4505289] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-a4505289] {\n opacity: 1 !important;\n}\n.action-text-editable[data-v-a4505289] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* Inputs inside popover supports text, submit & reset */\n}\n.action-text-editable > span[data-v-a4505289] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text-editable__icon[data-v-a4505289] {\n min-width: 0; /* Overwrite icons*/\n min-height: 0;\n /* Keep padding to define the width to\n \tassure correct position of a possible text */\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n opacity: 1;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text-editable__form[data-v-a4505289] {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n position: relative;\n margin: 4px 0;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.action-text-editable__submit[data-v-a4505289] {\n position: absolute;\n inset-inline-start: 0;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -1;\n opacity: 0;\n}\n.action-text-editable__label[data-v-a4505289] {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n bottom: 1px;\n width: calc(var(--default-clickable-area) - 8px);\n height: calc(var(--default-clickable-area) - 8px);\n box-sizing: border-box;\n margin: 0;\n padding: 7px 6px;\n border: 0;\n border-radius: 50%;\n /* Avoid background under border */\n background-color: var(--color-main-background);\n background-clip: padding-box;\n}\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\n cursor: pointer;\n}\n.action-text-editable__textarea[data-v-a4505289] {\n flex: 1 1 auto;\n color: inherit;\n border-color: var(--color-border-maxcontrast);\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\n min-width: calc(var(--default-clickable-area) * 4);\n width: 100% !important;\n margin: 0;\n /* only show confirm borders if input is not focused */\n}\n.action-text-editable__textarea[data-v-a4505289]:disabled {\n cursor: default;\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\n background-color: var(--color-error);\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\n /* above previous input */\n z-index: 2;\n border-color: var(--color-primary-element);\n border-inline-start-color: transparent;\n}\nli:last-child > .action-text-editable[data-v-a4505289] {\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}\nli:first-child > .action-text-editable[data-v-a4505289] {\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}"],sourceRoot:""}]);const s=o},52867:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".user-list__row[data-v-47722426]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-47722426]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-47722426]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-47722426]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-47722426]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-47722426],.row__cell span[data-v-47722426],.row__cell label[data-v-47722426]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-47722426],.row__cell--displayname[data-v-47722426]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-47722426]{inset-inline-start:0}.row__cell--displayname[data-v-47722426]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-47722426]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-47722426]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-47722426]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-47722426]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-47722426]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-47722426]{min-width:400px;width:400px}.row__cell--fill[data-v-47722426]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-47722426]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.row__subtitle[data-v-47722426]{color:var(--color-text-maxcontrast)}.row__cell[data-v-47722426]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-47722426] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-47722426]{margin-top:4px}.row__progress--warn[data-v-47722426]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-47722426]::-webkit-progress-value{background:var(--color-warning) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserRow.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,iCCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDLA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCDD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,oBAAA,CAGD,yCACC,2CAAA,CACA,+CAAA,CAAA,CAIF,sCACC,yDAAA,CAGD,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,gCACC,mCAAA,CDpFD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA",sourcesContent:["\n@use './shared/styles';\n\n.user-list__row {\n\t@include styles.row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include styles.cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const s=o},54775:(e,t,n)=>{"use strict";var a=n(85072),i=n.n(a),r=n(97825),o=n.n(r),s=n(77659),l=n.n(s),c=n(55056),d=n.n(c),u=n(10540),p=n.n(u),A=n(41113),g=n.n(A),h=n(88032),m={};m.styleTagTransform=g(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=o(),m.insertStyleElement=p(),i()(h.A,m),h.A&&h.A.locals&&h.A.locals},60104:(e,t,n)=>{"use strict";n.d(t,{A:()=>l}),n(75463);var a=n(97012),i=n(51431);const r={components:{NcButton:a.A},props:{buttonId:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},text:{type:String,required:!0},type:{type:String,default:"primary",validator:e=>-1!==["primary","secondary","tertiary"].indexOf(e)},variant:{type:String,default:"primary",validator:e=>-1!==["primary","secondary","tertiary"].indexOf(e)}},emits:["click"]};var o=function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-navigation-new"},[t("NcButton",{attrs:{id:e.buttonId,disabled:e.disabled,variant:"primary"!==e.type?e.type:e.variant},on:{click:function(t){return e.$emit("click")}},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("icon")]},proxy:!0}],null,!0)},[e._v(" "+e._s(e.text)+" ")])],1)},s=[];const l=(0,i.n)(r,o,s,!1,null,"0b3c495c").exports},60197:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".modal__header[data-v-3e2f3c17]{margin:0}.modal__content[data-v-3e2f3c17]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-3e2f3c17]{display:flex;width:100%;justify-content:space-between}","",{version:3,sources:["webpack://./apps/settings/src/components/GroupListItem.vue"],names:[],mappings:"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA",sourcesContent:["\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n"],sourceRoot:""}]);const s=o},63779:()=>{},64043:(e,t,n)=>{var a=n(62045).hp;!function(e){e.parser=function(e,t){return new r(e,t)},e.SAXParser=r,e.SAXStream=s,e.createStream=function(e,t){return new s(e,t)},e.MAX_BUFFER_LENGTH=65536;var t,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function r(t,n){if(!(this instanceof r))return new r(t,n);var a=this;!function(e){for(var t=0,n=i.length;t<n;t++)e[i[t]]=""}(a),a.q=a.c="",a.bufferCheckPosition=e.MAX_BUFFER_LENGTH,a.opt=n||{},a.opt.lowercase=a.opt.lowercase||a.opt.lowercasetags,a.looseCase=a.opt.lowercase?"toLowerCase":"toUpperCase",a.tags=[],a.closed=a.closedRoot=a.sawRoot=!1,a.tag=a.error=null,a.strict=!!t,a.noscript=!(!t&&!a.opt.noscript),a.state=E.BEGIN,a.strictEntities=a.opt.strictEntities,a.ENTITIES=a.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),a.attribList=[],a.opt.xmlns&&(a.ns=Object.create(p)),void 0===a.opt.unquotedAttributeValues&&(a.opt.unquotedAttributeValues=!t),a.trackPosition=!1!==a.opt.position,a.trackPosition&&(a.position=a.line=a.column=0),B(a,"onready")}e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(e){function t(){}return t.prototype=e,new t}),Object.keys||(Object.keys=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}),r.prototype={end:function(){T(this)},write:function(t){var n=this;if(this.error)throw this.error;if(n.closed)return D(n,"Cannot write after close. Assign an onready handler.");if(null===t)return T(n);"object"==typeof t&&(t=t.toString());for(var a=0,r="";r=M(t,a++),n.c=r,r;)switch(n.trackPosition&&(n.position++,"\n"===r?(n.line++,n.column=0):n.column++),n.state){case E.BEGIN:if(n.state=E.BEGIN_WHITESPACE,"\ufeff"===r)continue;q(n,r);continue;case E.BEGIN_WHITESPACE:q(n,r);continue;case E.TEXT:if(n.sawRoot&&!n.closedRoot){for(var o=a-1;r&&"<"!==r&&"&"!==r;)(r=M(t,a++))&&n.trackPosition&&(n.position++,"\n"===r?(n.line++,n.column=0):n.column++);n.textNode+=t.substring(o,a-1)}"<"!==r||n.sawRoot&&n.closedRoot&&!n.strict?(f(r)||n.sawRoot&&!n.closedRoot||L(n,"Text data outside of root node."),"&"===r?n.state=E.TEXT_ENTITY:n.textNode+=r):(n.state=E.OPEN_WAKA,n.startTagPosition=n.position);continue;case E.SCRIPT:"<"===r?n.state=E.SCRIPT_ENDING:n.script+=r;continue;case E.SCRIPT_ENDING:"/"===r?n.state=E.CLOSE_TAG:(n.script+="<"+r,n.state=E.SCRIPT);continue;case E.OPEN_WAKA:if("!"===r)n.state=E.SGML_DECL,n.sgmlDecl="";else if(f(r));else if(b(A,r))n.state=E.OPEN_TAG,n.tagName=r;else if("/"===r)n.state=E.CLOSE_TAG,n.tagName="";else if("?"===r)n.state=E.PROC_INST,n.procInstName=n.procInstBody="";else{if(L(n,"Unencoded <"),n.startTagPosition+1<n.position){var s=n.position-n.startTagPosition;r=new Array(s).join(" ")+r}n.textNode+="<"+r,n.state=E.TEXT}continue;case E.SGML_DECL:if(n.sgmlDecl+r==="--"){n.state=E.COMMENT,n.comment="",n.sgmlDecl="";continue}n.doctype&&!0!==n.doctype&&n.sgmlDecl?(n.state=E.DOCTYPE_DTD,n.doctype+="<!"+n.sgmlDecl+r,n.sgmlDecl=""):(n.sgmlDecl+r).toUpperCase()===l?(N(n,"onopencdata"),n.state=E.CDATA,n.sgmlDecl="",n.cdata=""):(n.sgmlDecl+r).toUpperCase()===c?(n.state=E.DOCTYPE,(n.doctype||n.sawRoot)&&L(n,"Inappropriately located doctype declaration"),n.doctype="",n.sgmlDecl=""):">"===r?(N(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=E.TEXT):v(r)?(n.state=E.SGML_DECL_QUOTED,n.sgmlDecl+=r):n.sgmlDecl+=r;continue;case E.SGML_DECL_QUOTED:r===n.q&&(n.state=E.SGML_DECL,n.q=""),n.sgmlDecl+=r;continue;case E.DOCTYPE:">"===r?(n.state=E.TEXT,N(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=r,"["===r?n.state=E.DOCTYPE_DTD:v(r)&&(n.state=E.DOCTYPE_QUOTED,n.q=r));continue;case E.DOCTYPE_QUOTED:n.doctype+=r,r===n.q&&(n.q="",n.state=E.DOCTYPE);continue;case E.DOCTYPE_DTD:"]"===r?(n.doctype+=r,n.state=E.DOCTYPE):"<"===r?(n.state=E.OPEN_WAKA,n.startTagPosition=n.position):v(r)?(n.doctype+=r,n.state=E.DOCTYPE_DTD_QUOTED,n.q=r):n.doctype+=r;continue;case E.DOCTYPE_DTD_QUOTED:n.doctype+=r,r===n.q&&(n.state=E.DOCTYPE_DTD,n.q="");continue;case E.COMMENT:"-"===r?n.state=E.COMMENT_ENDING:n.comment+=r;continue;case E.COMMENT_ENDING:"-"===r?(n.state=E.COMMENT_ENDED,n.comment=I(n.opt,n.comment),n.comment&&N(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+r,n.state=E.COMMENT);continue;case E.COMMENT_ENDED:">"!==r?(L(n,"Malformed comment"),n.comment+="--"+r,n.state=E.COMMENT):n.doctype&&!0!==n.doctype?n.state=E.DOCTYPE_DTD:n.state=E.TEXT;continue;case E.CDATA:"]"===r?n.state=E.CDATA_ENDING:n.cdata+=r;continue;case E.CDATA_ENDING:"]"===r?n.state=E.CDATA_ENDING_2:(n.cdata+="]"+r,n.state=E.CDATA);continue;case E.CDATA_ENDING_2:">"===r?(n.cdata&&N(n,"oncdata",n.cdata),N(n,"onclosecdata"),n.cdata="",n.state=E.TEXT):"]"===r?n.cdata+="]":(n.cdata+="]]"+r,n.state=E.CDATA);continue;case E.PROC_INST:"?"===r?n.state=E.PROC_INST_ENDING:f(r)?n.state=E.PROC_INST_BODY:n.procInstName+=r;continue;case E.PROC_INST_BODY:if(!n.procInstBody&&f(r))continue;"?"===r?n.state=E.PROC_INST_ENDING:n.procInstBody+=r;continue;case E.PROC_INST_ENDING:">"===r?(N(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=E.TEXT):(n.procInstBody+="?"+r,n.state=E.PROC_INST_BODY);continue;case E.OPEN_TAG:b(g,r)?n.tagName+=r:(P(n),">"===r?O(n):"/"===r?n.state=E.OPEN_TAG_SLASH:(f(r)||L(n,"Invalid character in tag name"),n.state=E.ATTRIB));continue;case E.OPEN_TAG_SLASH:">"===r?(O(n,!0),U(n)):(L(n,"Forward-slash in opening tag not followed by >"),n.state=E.ATTRIB);continue;case E.ATTRIB:if(f(r))continue;">"===r?O(n):"/"===r?n.state=E.OPEN_TAG_SLASH:b(A,r)?(n.attribName=r,n.attribValue="",n.state=E.ATTRIB_NAME):L(n,"Invalid attribute name");continue;case E.ATTRIB_NAME:"="===r?n.state=E.ATTRIB_VALUE:">"===r?(L(n,"Attribute without value"),n.attribValue=n.attribName,F(n),O(n)):f(r)?n.state=E.ATTRIB_NAME_SAW_WHITE:b(g,r)?n.attribName+=r:L(n,"Invalid attribute name");continue;case E.ATTRIB_NAME_SAW_WHITE:if("="===r)n.state=E.ATTRIB_VALUE;else{if(f(r))continue;L(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",N(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===r?O(n):b(A,r)?(n.attribName=r,n.state=E.ATTRIB_NAME):(L(n,"Invalid attribute name"),n.state=E.ATTRIB)}continue;case E.ATTRIB_VALUE:if(f(r))continue;v(r)?(n.q=r,n.state=E.ATTRIB_VALUE_QUOTED):(n.opt.unquotedAttributeValues||D(n,"Unquoted attribute value"),n.state=E.ATTRIB_VALUE_UNQUOTED,n.attribValue=r);continue;case E.ATTRIB_VALUE_QUOTED:if(r!==n.q){"&"===r?n.state=E.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=r;continue}F(n),n.q="",n.state=E.ATTRIB_VALUE_CLOSED;continue;case E.ATTRIB_VALUE_CLOSED:f(r)?n.state=E.ATTRIB:">"===r?O(n):"/"===r?n.state=E.OPEN_TAG_SLASH:b(A,r)?(L(n,"No whitespace between attributes"),n.attribName=r,n.attribValue="",n.state=E.ATTRIB_NAME):L(n,"Invalid attribute name");continue;case E.ATTRIB_VALUE_UNQUOTED:if(!C(r)){"&"===r?n.state=E.ATTRIB_VALUE_ENTITY_U:n.attribValue+=r;continue}F(n),">"===r?O(n):n.state=E.ATTRIB;continue;case E.CLOSE_TAG:if(n.tagName)">"===r?U(n):b(g,r)?n.tagName+=r:n.script?(n.script+="</"+n.tagName,n.tagName="",n.state=E.SCRIPT):(f(r)||L(n,"Invalid tagname in closing tag"),n.state=E.CLOSE_TAG_SAW_WHITE);else{if(f(r))continue;y(A,r)?n.script?(n.script+="</"+r,n.state=E.SCRIPT):L(n,"Invalid tagname in closing tag."):n.tagName=r}continue;case E.CLOSE_TAG_SAW_WHITE:if(f(r))continue;">"===r?U(n):L(n,"Invalid characters in closing tag");continue;case E.TEXT_ENTITY:case E.ATTRIB_VALUE_ENTITY_Q:case E.ATTRIB_VALUE_ENTITY_U:var d,u;switch(n.state){case E.TEXT_ENTITY:d=E.TEXT,u="textNode";break;case E.ATTRIB_VALUE_ENTITY_Q:d=E.ATTRIB_VALUE_QUOTED,u="attribValue";break;case E.ATTRIB_VALUE_ENTITY_U:d=E.ATTRIB_VALUE_UNQUOTED,u="attribValue"}if(";"===r){var p=R(n);n.opt.unparsedEntities&&!Object.values(e.XML_ENTITIES).includes(p)?(n.entity="",n.state=d,n.write(p)):(n[u]+=p,n.entity="",n.state=d)}else b(n.entity.length?m:h,r)?n.entity+=r:(L(n,"Invalid character in entity name"),n[u]+="&"+n.entity+r,n.entity="",n.state=d);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(t){for(var n=Math.max(e.MAX_BUFFER_LENGTH,10),a=0,r=0,o=i.length;r<o;r++){var s=t[i[r]].length;if(s>n)switch(i[r]){case"textNode":S(t);break;case"cdata":N(t,"oncdata",t.cdata),t.cdata="";break;case"script":N(t,"onscript",t.script),t.script="";break;default:D(t,"Max buffer length exceeded: "+i[r])}a=Math.max(a,s)}var l=e.MAX_BUFFER_LENGTH-a;t.bufferCheckPosition=l+t.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;S(e=this),""!==e.cdata&&(N(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(N(e,"onscript",e.script),e.script="")}};try{t=n(88310).Stream}catch(e){t=function(){}}t||(t=function(){});var o=e.EVENTS.filter((function(e){return"error"!==e&&"end"!==e}));function s(e,n){if(!(this instanceof s))return new s(e,n);t.apply(this),this._parser=new r(e,n),this.writable=!0,this.readable=!0;var a=this;this._parser.onend=function(){a.emit("end")},this._parser.onerror=function(e){a.emit("error",e),a._parser.error=null},this._decoder=null,o.forEach((function(e){Object.defineProperty(a,"on"+e,{get:function(){return a._parser["on"+e]},set:function(t){if(!t)return a.removeAllListeners(e),a._parser["on"+e]=t,t;a.on(e,t)},enumerable:!0,configurable:!1})}))}s.prototype=Object.create(t.prototype,{constructor:{value:s}}),s.prototype.write=function(e){if("function"==typeof a&&"function"==typeof a.isBuffer&&a.isBuffer(e)){if(!this._decoder){var t=n(83141).I;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},s.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},s.prototype.on=function(e,n){var a=this;return a._parser["on"+e]||-1===o.indexOf(e)||(a._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),a.emit.apply(a,t)}),t.prototype.on.call(a,e,n)};var l="[CDATA[",c="DOCTYPE",d="http://www.w3.org/XML/1998/namespace",u="http://www.w3.org/2000/xmlns/",p={xml:d,xmlns:u},A=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,m=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function f(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function v(e){return'"'===e||"'"===e}function C(e){return">"===e||f(e)}function b(e,t){return e.test(t)}function y(e,t){return!b(e,t)}var _,x,w,E=0;for(var k in e.STATE={BEGIN:E++,BEGIN_WHITESPACE:E++,TEXT:E++,TEXT_ENTITY:E++,OPEN_WAKA:E++,SGML_DECL:E++,SGML_DECL_QUOTED:E++,DOCTYPE:E++,DOCTYPE_QUOTED:E++,DOCTYPE_DTD:E++,DOCTYPE_DTD_QUOTED:E++,COMMENT_STARTING:E++,COMMENT:E++,COMMENT_ENDING:E++,COMMENT_ENDED:E++,CDATA:E++,CDATA_ENDING:E++,CDATA_ENDING_2:E++,PROC_INST:E++,PROC_INST_BODY:E++,PROC_INST_ENDING:E++,OPEN_TAG:E++,OPEN_TAG_SLASH:E++,ATTRIB:E++,ATTRIB_NAME:E++,ATTRIB_NAME_SAW_WHITE:E++,ATTRIB_VALUE:E++,ATTRIB_VALUE_QUOTED:E++,ATTRIB_VALUE_CLOSED:E++,ATTRIB_VALUE_UNQUOTED:E++,ATTRIB_VALUE_ENTITY_Q:E++,ATTRIB_VALUE_ENTITY_U:E++,CLOSE_TAG:E++,CLOSE_TAG_SAW_WHITE:E++,SCRIPT:E++,SCRIPT_ENDING:E++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach((function(t){var n=e.ENTITIES[t],a="number"==typeof n?String.fromCharCode(n):n;e.ENTITIES[t]=a})),e.STATE)e.STATE[e.STATE[k]]=k;function B(e,t,n){e[t]&&e[t](n)}function N(e,t,n){e.textNode&&S(e),B(e,t,n)}function S(e){e.textNode=I(e.opt,e.textNode),e.textNode&&B(e,"ontext",e.textNode),e.textNode=""}function I(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function D(e,t){return S(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,B(e,"onerror",t),e}function T(e){return e.sawRoot&&!e.closedRoot&&L(e,"Unclosed root tag"),e.state!==E.BEGIN&&e.state!==E.BEGIN_WHITESPACE&&e.state!==E.TEXT&&D(e,"Unexpected end"),S(e),e.c="",e.closed=!0,B(e,"onend"),r.call(e,e.strict,e.opt),e}function L(e,t){if("object"!=typeof e||!(e instanceof r))throw new Error("bad call to strictFail");e.strict&&D(e,t)}function P(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,N(e,"onopentagstart",n)}function G(e,t){var n=e.indexOf(":")<0?["",e]:e.split(":"),a=n[0],i=n[1];return t&&"xmlns"===e&&(a="xmlns",i=""),{prefix:a,local:i}}function F(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=G(e.attribName,!0),n=t.prefix,a=t.local;if("xmlns"===n)if("xml"===a&&e.attribValue!==d)L(e,"xml: prefix must be bound to "+d+"\nActual: "+e.attribValue);else if("xmlns"===a&&e.attribValue!==u)L(e,"xmlns: prefix must be bound to "+u+"\nActual: "+e.attribValue);else{var i=e.tag,r=e.tags[e.tags.length-1]||e;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[a]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,N(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function O(e,t){if(e.opt.xmlns){var n=e.tag,a=G(e.tagName);n.prefix=a.prefix,n.local=a.local,n.uri=n.ns[a.prefix]||"",n.prefix&&!n.uri&&(L(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=a.prefix);var i=e.tags[e.tags.length-1]||e;n.ns&&i.ns!==n.ns&&Object.keys(n.ns).forEach((function(t){N(e,"onopennamespace",{prefix:t,uri:n.ns[t]})}));for(var r=0,o=e.attribList.length;r<o;r++){var s=e.attribList[r],l=s[0],c=s[1],d=G(l,!0),u=d.prefix,p=d.local,A=""===u?"":n.ns[u]||"",g={name:l,value:c,prefix:u,local:p,uri:A};u&&"xmlns"!==u&&!A&&(L(e,"Unbound namespace prefix: "+JSON.stringify(u)),g.uri=u),e.tag.attributes[l]=g,N(e,"onattribute",g)}e.attribList.length=0}e.tag.isSelfClosing=!!t,e.sawRoot=!0,e.tags.push(e.tag),N(e,"onopentag",e.tag),t||(e.noscript||"script"!==e.tagName.toLowerCase()?e.state=E.TEXT:e.state=E.SCRIPT,e.tag=null,e.tagName=""),e.attribName=e.attribValue="",e.attribList.length=0}function U(e){if(!e.tagName)return L(e,"Weird empty close tag."),e.textNode+="</>",void(e.state=E.TEXT);if(e.script){if("script"!==e.tagName)return e.script+="</"+e.tagName+">",e.tagName="",void(e.state=E.SCRIPT);N(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var a=n;t--&&e.tags[t].name!==a;)L(e,"Unexpected close tag");if(t<0)return L(e,"Unmatched closing tag: "+e.tagName),e.textNode+="</"+e.tagName+">",void(e.state=E.TEXT);e.tagName=n;for(var i=e.tags.length;i-- >t;){var r=e.tag=e.tags.pop();e.tagName=e.tag.name,N(e,"onclosetag",e.tagName);var o={};for(var s in r.ns)o[s]=r.ns[s];var l=e.tags[e.tags.length-1]||e;e.opt.xmlns&&r.ns!==l.ns&&Object.keys(r.ns).forEach((function(t){var n=r.ns[t];N(e,"onclosenamespace",{prefix:t,uri:n})}))}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=E.TEXT}function R(e){var t,n=e.entity,a=n.toLowerCase(),i="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[a]?e.ENTITIES[a]:("#"===(n=a).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),i=(t=parseInt(n,16)).toString(16)):(n=n.slice(1),i=(t=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(t)||i.toLowerCase()!==n?(L(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function q(e,t){"<"===t?(e.state=E.OPEN_WAKA,e.startTagPosition=e.position):f(t)||(L(e,"Non-whitespace before first tag."),e.textNode=t,e.state=E.TEXT)}function M(e,t){var n="";return t<e.length&&(n=e.charAt(t)),n}E=e.STATE,String.fromCodePoint||(_=String.fromCharCode,x=Math.floor,w=function(){var e,t,n=[],a=-1,i=arguments.length;if(!i)return"";for(var r="";++a<i;){var o=Number(arguments[a]);if(!isFinite(o)||o<0||o>1114111||x(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?n.push(o):(e=55296+((o-=65536)>>10),t=o%1024+56320,n.push(e,t)),(a+1===i||n.length>16384)&&(r+=_.apply(null,n),n.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:w,configurable:!0,writable:!0}):String.fromCodePoint=w)}(t)},65958:(e,n,a)=>{"use strict";a.r(n),a.d(n,{default:()=>ei});var i=a(53334),r=a(61338),o=a(85471),s=a(18195),l=a(9165),c=a(85168),d=a(54914),u=a(32190),p=a(6695),A=a(59892),g=a(55042),h=a(17334),m=a.n(h),f=a(36620);o.Ay.directive("elementVisibility",g.Zx);const v=o.Ay.extend({name:"VirtualList",props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},itemHeight:{type:Number,required:!0},extraProps:{type:Object,default:()=>({})}},data:()=>({bufferItems:3,index:0,headerHeight:0,tableHeight:0,resizeObserver:null}),computed:{startIndex(){return Math.max(0,this.index-3)},shownItems(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+6},renderedItems(){return this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems)},tbodyStyle(){const e=this.startIndex+this.shownItems>this.dataSources.length,t=this.dataSources.length-this.startIndex-this.shownItems,n=Math.min(this.dataSources.length-this.startIndex,t);return{paddingTop:this.startIndex*this.itemHeight+"px",paddingBottom:e?0:n*this.itemHeight+"px"}}},mounted(){const e=this.$el,t=this.$refs?.tfoot,n=this.$refs?.thead;this.resizeObserver=new ResizeObserver(m()((()=>{this.headerHeight=n?.clientHeight??0,this.tableHeight=e?.clientHeight??0,f.A.debug("VirtualList resizeObserver updated"),this.onScroll()}),100,!1)),this.resizeObserver.observe(e),this.resizeObserver.observe(t),this.resizeObserver.observe(n),this.$el.addEventListener("scroll",this.onScroll)},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{handleFooterVisibility(e){e&&this.$emit("scroll-end")},onScroll(){this.index=Math.max(0,Math.round(this.$el.scrollTop/this.itemHeight))}}});var C=a(85072),b=a.n(C),y=a(97825),_=a.n(y),x=a(77659),w=a.n(x),E=a(55056),k=a.n(E),B=a(10540),N=a.n(B),S=a(41113),I=a.n(S),D=a(12795),T={};T.styleTagTransform=I(),T.setAttributes=k(),T.insert=w().bind(null,"head"),T.domAPI=_(),T.insertStyleElement=N(),b()(D.A,T),D.A&&D.A.locals&&D.A.locals;var L=a(14486);const P=(0,L.A)(v,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("table",{staticClass:"user-list"},[e._t("before"),e._v(" "),t("thead",{ref:"thead",staticClass:"user-list__header",attrs:{role:"rowgroup"}},[e._t("header")],2),e._v(" "),t("tbody",{staticClass:"user-list__body",style:e.tbodyStyle},e._l(e.renderedItems,(function(n,a){return t(e.dataComponent,e._b({key:n[e.dataKey],tag:"component",attrs:{user:n,visible:(a>=e.bufferItems||e.index<=e.bufferItems)&&a<e.shownItems-e.bufferItems}},"component",e.extraProps,!1))})),1),e._v(" "),t("tfoot",{directives:[{name:"element-visibility",rawName:"v-element-visibility",value:e.handleFooterVisibility,expression:"handleFooterVisibility"}],ref:"tfoot",staticClass:"user-list__footer",attrs:{role:"rowgroup"}},[e._t("footer")],2)],2)}),[],!1,null,"21942da5",null).exports;var G=a(35810),F=a(97012),O=a(94219),U=a(16044),R=a(67607),q=a(82182),M=a(46984);const j={name:"NewUserDialog",components:{NcButton:F.A,NcDialog:O.A,NcPasswordField:U.A,NcSelect:R.A,NcTextField:q.A},props:{loading:{type:Object,required:!0},newUser:{type:Object,required:!0},quotaOptions:{type:Array,required:!0}},data:()=>({possibleManagers:[],managerInputLabel:t("settings","Manager"),managerLabel:t("settings","Set line manager"),promise:null}),computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},usernameLabel(){return this.settings.newUserGenerateUserID?t("settings","Account name will be autogenerated"):t("settings","Account name (required)")},minPasswordLength(){return this.$store.getters.getPasswordPolicyMinLength},availableGroups(){return(this.settings.isAdmin||this.settings.isDelegatedAdmin?this.$store.getters.getSortedGroups:this.$store.getters.getSubAdminGroups).filter((e=>"__nc_internal_recent"!==e.id&&"disabled"!==e.id))},languages(){return[{name:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},...this.settings.languages.commonLanguages,{name:t("settings","Other languages"),languages:this.settings.languages.otherLanguages},...this.settings.languages.otherLanguages]}},async beforeMount(){await this.searchUserManager()},mounted(){this.$refs.username?.focus?.()},methods:{async createUser(){this.loading.all=!0;try{await this.$store.dispatch("addUser",{userid:this.newUser.id,password:this.newUser.password,displayName:this.newUser.displayName,email:this.newUser.mailAddress,groups:this.newUser.groups.map((e=>e.id)),subadmin:this.newUser.subAdminsGroups.map((e=>e.id)),quota:this.newUser.quota.id,language:this.newUser.language.code,manager:this.newUser.manager.id}),this.$emit("reset"),this.$refs.username?.focus?.(),this.$emit("closing")}catch(e){if(this.loading.all=!1,e.response&&e.response.data&&e.response.data.ocs&&e.response.data.ocs.meta){const t=e.response.data.ocs.meta.statuscode;102===t?this.$refs.username?.focus?.():107===t&&this.$refs.password?.focus?.()}}},async searchGroups(e,n){if(this.settings.isAdmin||this.settings.isDelegatedAdmin){this.promise&&this.promise.cancel(),n(!0);try{this.promise=(0,M.N_)({search:e,offset:0,limit:25});const t=await this.promise;for(const e of t)this.$store.commit("addGroup",e)}catch(e){f.A.error(t("settings","Failed to search groups"),{error:e})}this.promise=null,n(!1)}},async createGroup(e){let{name:n}=e;this.loading.groups=!0;try{await this.$store.dispatch("addGroup",n),this.newUser.groups.push({id:n,name:n})}catch(e){f.A.error(t("settings","Failed to create group"),{error:e})}this.loading.groups=!1},async addGroup(e){e.isCreating||!1!==e.canAdd&&this.newUser.groups.push(e)},validateQuota(e){const t=OC.Util.computerFileSize(e);return null!==t&&t>=0?(e=(0,G.v7)((0,G.lT)(e)),this.newUser.quota={id:e,label:e},this.newUser.quota):(this.newUser.quota=this.quotaOptions[0],this.quotaOptions[0])},languageFilterBy:(e,t,n)=>e.languages?e.languages.some((e=>{let{name:t}=e;return t.toLocaleLowerCase().includes(n.toLocaleLowerCase())})):(t||"").toLocaleLowerCase().includes(n.toLocaleLowerCase()),async searchUserManager(e){await this.$store.dispatch("searchUsers",{offset:0,limit:10,search:e}).then((e=>{const t=e?.data?Object.values(e?.data.ocs.data.users):[];t.length>0&&(this.possibleManagers=t)}))}}};var z=a(12528),$={};$.styleTagTransform=I(),$.setAttributes=k(),$.insert=w().bind(null,"head"),$.domAPI=_(),$.insertStyleElement=N(),b()(z.A,$),z.A&&z.A.locals&&z.A.locals;var X=(0,L.A)(j,(function(){var e=this,t=e._self._c;return t("NcDialog",e._g({staticClass:"dialog",attrs:{size:"small",name:e.t("settings","New account"),"out-transition":""},scopedSlots:e._u([{key:"actions",fn:function(){return[t("NcButton",{staticClass:"dialog__submit",attrs:{"data-test":"submit",form:"new-user-form",type:"primary","native-type":"submit"}},[e._v("\n\t\t\t"+e._s(e.t("settings","Add new account"))+"\n\t\t")])]},proxy:!0}])},e.$listeners),[t("form",{staticClass:"dialog__form",attrs:{id:"new-user-form","data-test":"form",disabled:e.loading.all},on:{submit:function(t){return t.preventDefault(),e.createUser.apply(null,arguments)}}},[t("NcTextField",{ref:"username",staticClass:"dialog__item",attrs:{"data-test":"username",value:e.newUser.id,disabled:e.settings.newUserGenerateUserID,label:e.usernameLabel,autocapitalize:"none",autocomplete:"off",spellcheck:"false",pattern:"[a-zA-Z0-9 _\\.@\\-']+",required:""},on:{"update:value":function(t){return e.$set(e.newUser,"id",t)}}}),e._v(" "),t("NcTextField",{staticClass:"dialog__item",attrs:{"data-test":"displayName",value:e.newUser.displayName,label:e.t("settings","Display name"),autocapitalize:"none",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(t){return e.$set(e.newUser,"displayName",t)}}}),e._v(" "),e.settings.newUserRequireEmail?e._e():t("span",{staticClass:"dialog__hint",attrs:{id:"password-email-hint"}},[e._v("\n\t\t\t"+e._s(e.t("settings","Either password or email is required"))+"\n\t\t")]),e._v(" "),t("NcPasswordField",{ref:"password",staticClass:"dialog__item",attrs:{"data-test":"password",value:e.newUser.password,minlength:e.minPasswordLength,maxlength:469,"aria-describedby":"password-email-hint",label:""===e.newUser.mailAddress?e.t("settings","Password (required)"):e.t("settings","Password"),autocapitalize:"none",autocomplete:"new-password",spellcheck:"false",required:""===e.newUser.mailAddress},on:{"update:value":function(t){return e.$set(e.newUser,"password",t)}}}),e._v(" "),t("NcTextField",{staticClass:"dialog__item",attrs:{"data-test":"email",type:"email",value:e.newUser.mailAddress,"aria-describedby":"password-email-hint",label:""===e.newUser.password||e.settings.newUserRequireEmail?e.t("settings","Email (required)"):e.t("settings","Email"),autocapitalize:"none",autocomplete:"off",spellcheck:"false",required:""===e.newUser.password||e.settings.newUserRequireEmail},on:{"update:value":function(t){return e.$set(e.newUser,"mailAddress",t)}}}),e._v(" "),t("div",{staticClass:"dialog__item"},[t("NcSelect",{staticClass:"dialog__select",attrs:{"data-test":"groups","input-label":e.settings.isAdmin||e.settings.isDelegatedAdmin?e.t("settings","Member of the following groups"):e.t("settings","Member of the following groups (required)"),placeholder:e.t("settings","Set account groups"),disabled:e.loading.groups||e.loading.all,options:e.availableGroups,value:e.newUser.groups,label:"name","close-on-select":!1,multiple:!0,taggable:e.settings.isAdmin||e.settings.isDelegatedAdmin,required:!e.settings.isAdmin&&!e.settings.isDelegatedAdmin,"create-option":e=>({id:e,name:e,isCreating:!0})},on:{search:e.searchGroups,"option:created":e.createGroup,"option:selected":t=>e.addGroup(t.at(-1))}})],1),e._v(" "),t("div",{staticClass:"dialog__item"},[t("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":e.t("settings","Admin of the following groups"),placeholder:e.t("settings","Set account as admin for …"),disabled:e.loading.groups||e.loading.all,options:e.availableGroups,"close-on-select":!1,multiple:!0,label:"name"},on:{search:e.searchGroups},model:{value:e.newUser.subAdminsGroups,callback:function(t){e.$set(e.newUser,"subAdminsGroups",t)},expression:"newUser.subAdminsGroups"}})],1),e._v(" "),t("div",{staticClass:"dialog__item"},[t("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":e.t("settings","Quota"),placeholder:e.t("settings","Set account quota"),options:e.quotaOptions,clearable:!1,taggable:!0,"create-option":e.validateQuota},model:{value:e.newUser.quota,callback:function(t){e.$set(e.newUser,"quota",t)},expression:"newUser.quota"}})],1),e._v(" "),e.showConfig.showLanguages?t("div",{staticClass:"dialog__item"},[t("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":e.t("settings","Language"),placeholder:e.t("settings","Set default language"),clearable:!1,selectable:e=>!e.languages,"filter-by":e.languageFilterBy,options:e.languages,label:"name"},model:{value:e.newUser.language,callback:function(t){e.$set(e.newUser,"language",t)},expression:"newUser.language"}})],1):e._e(),e._v(" "),t("div",{class:["dialog__item dialog__managers",{"icon-loading-small":e.loading.manager}]},[t("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":e.managerInputLabel,placeholder:e.managerLabel,options:e.possibleManagers,"user-select":!0,label:"displayname"},on:{search:e.searchUserManager},model:{value:e.newUser.manager,callback:function(t){e.$set(e.newUser,"manager",t)},expression:"newUser.manager"}})],1)],1)])}),[],!1,null,"74033440",null);const H=X.exports,W=o.Ay.extend({name:"UserListFooter",components:{NcLoadingIcon:A.A},props:{loading:{type:Boolean,required:!0},filteredUsers:{type:Array,required:!0}},computed:{userCount(){return this.loading?this.n("settings","{userCount} account …","{userCount} accounts …",this.filteredUsers.length,{userCount:this.filteredUsers.length}):this.n("settings","{userCount} account","{userCount} accounts",this.filteredUsers.length,{userCount:this.filteredUsers.length})}},methods:{t:i.Tl,n:i.zw}});var V=a(95066),Y={};Y.styleTagTransform=I(),Y.setAttributes=k(),Y.insert=w().bind(null,"head"),Y.domAPI=_(),Y.insertStyleElement=N(),b()(V.A,Y),V.A&&V.A.locals&&V.A.locals;const Q=(0,L.A)(W,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("tr",{staticClass:"footer"},[t("th",{attrs:{scope:"row"}},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Total rows summary")))])]),e._v(" "),t("td",{staticClass:"footer__cell footer__cell--loading"},[e.loading?t("NcLoadingIcon",{attrs:{title:e.t("settings","Loading accounts …"),size:32}}):e._e()],1),e._v(" "),t("td",{staticClass:"footer__cell footer__cell--count footer__cell--multiline"},[t("span",{attrs:{"aria-describedby":"user-count-desc"}},[e._v(e._s(e.userCount))]),e._v(" "),t("span",{staticClass:"hidden-visually",attrs:{id:"user-count-desc"}},[e._v("\n\t\t\t"+e._s(e.t("settings","Scroll to load more rows"))+"\n\t\t")])])])}),[],!1,null,"db2a7c4e",null).exports,K=o.Ay.extend({name:"UserListHeader",props:{hasObfuscated:{type:Boolean,required:!0}},computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},passwordLabel(){return this.hasObfuscated?(0,i.Tl)("settings","Password or insufficient permissions message"):(0,i.Tl)("settings","Password")}},methods:{t:i.Tl}});var Z=a(24882),J={};J.styleTagTransform=I(),J.setAttributes=k(),J.insert=w().bind(null,"head"),J.domAPI=_(),J.insertStyleElement=N(),b()(Z.A,J),Z.A&&Z.A.locals&&Z.A.locals;const ee=(0,L.A)(K,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("tr",{staticClass:"header"},[t("th",{staticClass:"header__cell header__cell--avatar",attrs:{"data-cy-user-list-header-avatar":"",scope:"col"}},[t("span",{staticClass:"hidden-visually"},[e._v("\n\t\t\t"+e._s(e.t("settings","Avatar"))+"\n\t\t")])]),e._v(" "),t("th",{staticClass:"header__cell header__cell--displayname",attrs:{"data-cy-user-list-header-displayname":"",scope:"col"}},[t("strong",[e._v("\n\t\t\t"+e._s(e.t("settings","Display name"))+"\n\t\t")])]),e._v(" "),t("th",{staticClass:"header__cell header__cell--username",attrs:{"data-cy-user-list-header-username":"",scope:"col"}},[t("span",[e._v("\n\t\t\t"+e._s(e.t("settings","Account name"))+"\n\t\t")])]),e._v(" "),t("th",{staticClass:"header__cell",class:{"header__cell--obfuscated":e.hasObfuscated},attrs:{"data-cy-user-list-header-password":"",scope:"col"}},[t("span",[e._v(e._s(e.passwordLabel))])]),e._v(" "),t("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-email":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Email")))])]),e._v(" "),t("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-groups":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Groups")))])]),e._v(" "),e.settings.isAdmin||e.settings.isDelegatedAdmin?t("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-subadmins":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Group admin for")))])]):e._e(),e._v(" "),t("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-quota":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Quota")))])]),e._v(" "),e.showConfig.showLanguages?t("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-languages":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Language")))])]):e._e(),e._v(" "),e.showConfig.showUserBackend||e.showConfig.showStoragePath?t("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-storage-location":"",scope:"col"}},[e.showConfig.showUserBackend?t("span",[e._v("\n\t\t\t"+e._s(e.t("settings","Account backend"))+"\n\t\t")]):e._e(),e._v(" "),e.showConfig.showStoragePath?t("span",{staticClass:"header__subtitle"},[e._v("\n\t\t\t"+e._s(e.t("settings","Storage location"))+"\n\t\t")]):e._e()]):e._e(),e._v(" "),e.showConfig.showFirstLogin?t("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-first-login":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","First login")))])]):e._e(),e._v(" "),e.showConfig.showLastLogin?t("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-last-login":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Last login")))])]):e._e(),e._v(" "),t("th",{staticClass:"header__cell header__cell--large header__cell--fill",attrs:{"data-cy-user-list-header-manager":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Manager")))])]),e._v(" "),t("th",{staticClass:"header__cell header__cell--actions",attrs:{"data-cy-user-list-header-actions":"",scope:"col"}},[t("span",{staticClass:"hidden-visually"},[e._v("\n\t\t\t"+e._s(e.t("settings","Account actions"))+"\n\t\t")])])])}),[],!1,null,"5c0f8828",null).exports;var te=a(21777),ne=a(56760),ae=a(41944),ie=a(95101),re=a(64043);const oe={"http://www.w3.org/2000/svg":{ext:"svg",mime:"image/svg+xml"},"http://www.w3.org/1999/xhtml":{ext:"xhtml",mime:"application/xhtml+xml"},"http://www.opengis.net/kml/2.2":{ext:"kml",mime:"application/vnd.google-earth.kml+xml"},"http://www.opengis.net/gml":{ext:"gml",mime:"application/gml+xml"}},se={rss:{ext:"rss",mime:"application/rss+xml"},"score-partwise":{ext:"musicxml",mime:"application/vnd.recordare.musicxml+xml"},svg:{ext:"svg",mime:"image/svg+xml"}};class le{constructor(e){this.options=e??{},this.firstTag=!0,this.onEnd=!1,this.parser=re.parser(!0,{xmlns:!0}),this.nesting=0,this.parser.onerror=e=>{e.message.startsWith("Invalid character entity")||(this.fileType=void 0,this.onEnd=!0)},this.parser.onopentag=e=>{++this.nesting,this.firstTag&&!this.onEnd&&(this.firstTag=!1,e.uri?this.fileType=oe[e.uri]:e.name&&(this.fileType=se[e.name.toLowerCase()]),this.fileType&&!this.options.fullScan&&(this.onEnd=!0))},this.parser.onclosetag=()=>{--this.nesting}}write(e){this.parser.write(e)}close(){this.parser.close(),this.onEnd=!0}isValid(){return 0===this.nesting}}var ce=a(57505),de=a(24764),ue=a(65659),pe=a(19664);const Ae=(0,o.pM)({components:{NcActionButton:ce.A,NcActions:de.A,NcIconSvgWrapper:p.A},props:{actions:{type:Array,required:!0},disabled:{type:Boolean,required:!0},edit:{type:Boolean,required:!0},user:{type:Object,required:!0}},computed:{editSvg(){return this.edit?ue:pe},enabledActions(){return this.actions.filter((e=>"function"!=typeof e.enabled||e.enabled(this.user)))}},methods:{isSvg:function(e){if("string"!=typeof e)throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);if(0===(e=e.trim()).length)return!1;const t=new le;return t.write(e),t.isValid()&&"svg"===t.fileType?.ext},toggleEdit(){this.$emit("update:edit",!this.edit)}}});const ge=(0,L.A)(Ae,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcActions",{attrs:{"aria-label":e.t("settings","Toggle account actions menu"),disabled:e.disabled,inline:1}},[t("NcActionButton",{attrs:{"data-cy-user-list-action-toggle-edit":`${e.edit}`,disabled:e.disabled},on:{click:e.toggleEdit},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{key:e.editSvg,attrs:{svg:e.editSvg,"aria-hidden":"true"}})]},proxy:!0}])},[e._v("\n\t\t"+e._s(e.edit?e.t("settings","Done"):e.t("settings","Edit"))+"\n\t\t")]),e._v(" "),e._l(e.enabledActions,(function(n,a){let{action:i,icon:r,text:o}=n;return t("NcActionButton",{key:a,attrs:{disabled:e.disabled,"aria-label":o,icon:r,"close-after-click":""},on:{click:t=>i(t,{...e.user})},scopedSlots:e._u([e.isSvg(r)?{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{svg:r,"aria-hidden":"true"}})]},proxy:!0}:null],null,!0)},[e._v("\n\t\t"+e._s(o)+"\n\t\t")])}))],2)}),[],!1,null,null,null).exports;var he=a(27126),me=a(523),fe={};fe.styleTagTransform=I(),fe.setAttributes=k(),fe.insert=w().bind(null,"head"),fe.domAPI=_(),fe.insertStyleElement=N(),b()(me.A,fe),me.A&&me.A.locals&&me.A.locals;var ve=a(86241),Ce=a(83653),be=a(51431);(0,Ce.r)();const ye=(0,o.pM)({name:"NcActionButtonGroup",inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{name:{required:!1,default:void 0,type:String}},setup:()=>({labelId:`nc-action-button-group-${(0,ve.G)()}`}),methods:{t:Ce.a}});var _e=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("li",{staticClass:"nc-button-group-base",attrs:{role:e.isInSemanticMenu&&"presentation"}},[e.name?t("div",{attrs:{id:e.labelId}},[e._v(" "+e._s(e.name)+" ")]):e._e(),t("ul",{staticClass:"nc-button-group-content",attrs:{role:"group","aria-labelledby":e.name?e.labelId:void 0}},[e._t("default")],2)])},xe=[];(0,be.n)(ye,_e,xe,!1,null,null).exports;var we=a(61744),Ee=a(97691),ke=a(89742),Be=a(72298),Ne=a(34188),Se={};Se.styleTagTransform=I(),Se.setAttributes=k(),Se.insert=w().bind(null,"head"),Se.domAPI=_(),Se.insertStyleElement=N(),b()(Ne.A,Se),Ne.A&&Ne.A.locals&&Ne.A.locals;var Ie=a(39841);const De={name:"NcActionRadio",mixins:[a(16086).A],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},model:{prop:"modelValue",event:"update:modelValue"},props:{id:{type:String,default:()=>"action-"+(0,ve.G)(),validator:e=>""!==e.trim()},checked:{type:Boolean,default:void 0},modelValue:{type:[Boolean,String,Number],default:!1},name:{type:String,required:!0},value:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1}},emits:["update:checked","update:modelValue","update:model-value","change"],setup:e=>("boolean"==typeof e.modelValue&&o.Ay.util.warn("[NcActionRadio] Boolean type of `modelValue` is deprecated and will be removed in next versions"),{model:(0,Ie.u)("checked","update:checked")}),computed:{isFocusable(){return!this.disabled},ariaChecked(){if(this.isInSemanticMenu)return this.model?"true":"false"}},methods:{toggleInput(e){this.$refs.label.click()},onChange(e){this.$emit("change",e)}}};var Te=function(){var e=this,t=e._self._c;return t("li",{staticClass:"action",class:{"action--disabled":e.disabled},attrs:{role:e.isInSemanticMenu&&"presentation"}},[t("span",{staticClass:"action-radio",attrs:{role:"menuitemradio","aria-checked":e.ariaChecked}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"radio action-radio__radio",class:{focusable:e.isFocusable},attrs:{id:e.id,disabled:e.disabled,name:e.name,type:"radio"},domProps:{value:e.value,checked:e._q(e.model,e.value)},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.toggleInput.apply(null,arguments))},change:[function(t){e.model=e.value},e.onChange]}}),t("label",{ref:"label",staticClass:"action-radio__label",attrs:{for:e.id}},[e._v(e._s(e.text))]),e._e()],2)])},Le=[];(0,be.n)(De,Te,Le,!1,null,"8ddd08c0").exports;var Pe=a(90309),Ge=a(21651),Fe=a(15502),Oe=a(30594),Ue=a(51439),Re={};Re.styleTagTransform=I(),Re.setAttributes=k(),Re.insert=w().bind(null,"head"),Re.domAPI=_(),Re.insertStyleElement=N(),b()(Ue.A,Re),Ue.A&&Ue.A.locals&&Ue.A.locals;var qe=a(50700),Me=a(5340),je=a(22792);const ze={name:"NcActionTextEditable",components:{NcIconSvgWrapper:je.N},mixins:[Me.A],model:{prop:"modelValue",event:"update:modelValue"},props:{id:{type:String,default:()=>"action-"+(0,ve.G)(),validator:e=>""!==e.trim()},disabled:{type:Boolean,default:!1},value:{type:String,default:void 0},modelValue:{type:String,default:""}},emits:["input","update:value","update:modelValue","update:model-value","submit"],setup:()=>({model:(0,Ie.u)("value","update:value"),mdiArrowRight:qe.b}),computed:{isFocusable(){return!this.disabled},computedId:()=>(0,ve.G)()},methods:{onInput(e){this.$emit("input",e),this.model=e.target.value},onSubmit(e){if(e.preventDefault(),e.stopPropagation(),this.disabled)return!1;this.$emit("submit",e)}}};var $e=function(){var e=this,t=e._self._c;return t("li",{staticClass:"action",class:{"action--disabled":e.disabled}},[t("span",{staticClass:"action-text-editable",on:{click:e.onClick}},[e._t("icon",(function(){return[t("span",{staticClass:"action-text-editable__icon",class:[e.isIconUrl?"action-text-editable__icon--url":e.icon],style:{backgroundImage:e.isIconUrl?`url(${e.icon})`:null}})]})),t("form",{ref:"form",staticClass:"action-text-editable__form",attrs:{disabled:e.disabled},on:{submit:function(t){return t.preventDefault(),e.onSubmit.apply(null,arguments)}}},[t("input",{staticClass:"action-text-editable__submit",attrs:{id:e.id,type:"submit"}}),e.name?t("label",{staticClass:"action-text-editable__name",attrs:{for:e.computedId}},[e._v(" "+e._s(e.name)+" ")]):e._e(),t("textarea",e._b({class:["action-text-editable__textarea",{focusable:e.isFocusable}],attrs:{id:e.computedId,disabled:e.disabled},domProps:{value:e.model},on:{input:e.onInput}},"textarea",e.$attrs,!1)),t("label",{directives:[{name:"show",rawName:"v-show",value:!e.disabled,expression:"!disabled"}],staticClass:"action-text-editable__label",attrs:{for:e.id}},[t("NcIconSvgWrapper",{attrs:{directional:"",path:e.mdiArrowRight}})],1)])],2)])},Xe=[];(0,be.n)(ze,$e,Xe,!1,null,"a4505289").exports;var He=a(56381);const We={name:"NcAppContentDetails"};var Ve=function(){return(0,this._self._c)("div",{staticClass:"app-content-details"},[this._t("default")],2)},Ye=[];(0,be.n)(We,Ve,Ye,!1,null,null).exports;const Qe={name:"NcAppContentList",props:{selection:{type:Boolean,default:!1},showDetails:{type:Boolean,default:!1}}};var Ke=function(){var e=this;return(0,e._self._c)("div",{staticClass:"app-content-list",class:{selection:e.selection,showdetails:e.showDetails}},[e._t("default")],2)},Ze=[];(0,be.n)(Qe,Ke,Ze,!1,null,null).exports;var Je=a(58979),et=a(50998),tt=a(32402),nt={};nt.styleTagTransform=I(),nt.setAttributes=k(),nt.insert=w().bind(null,"head"),nt.domAPI=_(),nt.insertStyleElement=N(),b()(tt.A,nt),tt.A&&tt.A.locals&&tt.A.locals;const at={name:"NcAppNavigationIconBullet",props:{color:{type:String,required:!0,validator:e=>/^#?([0-9A-F]{3}){1,2}$/i.test(e)}},emits:["click"],computed:{formattedColor(){return this.color.startsWith("#")?this.color:"#"+this.color}},methods:{onClick(e){this.$emit("click",e)}}};var it=function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-navigation-entry__icon-bullet",on:{click:e.onClick}},[t("div",{style:{backgroundColor:e.formattedColor}})])},rt=[];(0,be.n)(at,it,rt,!1,null,"938dadb1").exports;var ot=a(85999),st=a(27345),lt=a(60104),ct=a(93131),dt={};dt.styleTagTransform=I(),dt.setAttributes=k(),dt.insert=w().bind(null,"head"),dt.domAPI=_(),dt.insertStyleElement=N(),b()(ct.A,dt),ct.A&&ct.A.locals&&ct.A.locals;const ut={name:"NcAppNavigationNewItem",components:{NcInputConfirmCancel:a(30892).N,NcLoadingIcon:A.A},props:{name:{type:String,required:!0},icon:{type:String,default:""},loading:{type:Boolean,default:!1},editLabel:{type:String,default:""},editPlaceholder:{type:String,default:""}},emits:["new-item"],data:()=>({newItemValue:"",newItemActive:!1}),methods:{handleNewItem(){this.loading||(this.newItemActive=!0,this.$nextTick((()=>{this.$refs.newItemInput.focusInput()})))},cancelNewItem(){this.newItemActive=!1},handleNewItemDone(){this.$emit("new-item",this.newItemValue),this.newItemValue="",this.newItemActive=!1}}};var pt=function(){var e=this,t=e._self._c;return t("li",{staticClass:"app-navigation-entry",class:{"app-navigation-entry--newItemActive":e.newItemActive}},[t("button",{staticClass:"app-navigation-entry-button",on:{click:e.handleNewItem}},[t("span",{staticClass:"app-navigation-entry-icon",class:{[e.icon]:!e.loading}},[e.loading?t("NcLoadingIcon"):e._t("icon")],2),e.newItemActive?e._e():t("span",{staticClass:"app-navigation-new-item__name",attrs:{title:e.name}},[e._v(" "+e._s(e.name)+" ")]),e.newItemActive?t("span",{staticClass:"newItemContainer"},[t("NcInputConfirmCancel",{ref:"newItemInput",attrs:{placeholder:""!==e.editPlaceholder?e.editPlaceholder:e.name},on:{cancel:e.cancelNewItem,confirm:e.handleNewItemDone},model:{value:e.newItemValue,callback:function(t){e.newItemValue=t},expression:"newItemValue"}})],1):e._e()])])},At=[];(0,be.n)(ut,pt,At,!1,null,"46fee9ac").exports;var gt=a(60126),ht=(a(59365),a(47999)),mt={};mt.styleTagTransform=I(),mt.setAttributes=k(),mt.insert=w().bind(null,"head"),mt.domAPI=_(),mt.insertStyleElement=N(),b()(ht.A,mt),ht.A&&ht.A.locals&&ht.A.locals;var ft=a(75105),vt=(a(23020),a(53429),a(70580),a(44349),a(65043));(0,Ce.r)(Ce.x);const Ct={name:"CogIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var bt=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon cog-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},yt=[];const _t=(0,be.n)(Ct,bt,yt,!1,null,null).exports,xt={directives:{ClickOutside:g.z0},components:{Cog:_t},mixins:[ft.A],props:{name:{type:String,required:!1,default:(0,Ce.a)("Settings")}},data:()=>({open:!1}),computed:{clickOutsideConfig(){return[this.closeMenu,this.clickOutsideOptions]}},methods:{toggleMenu(){this.open=!this.open},closeMenu(){this.open=!1}}};var wt=function(){var e=this,t=e._self._c;return t("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.clickOutsideConfig,expression:"clickOutsideConfig"}],class:{open:e.open},attrs:{id:"app-settings"}},[t("div",{attrs:{id:"app-settings__header"}},[t("button",{staticClass:"settings-button",attrs:{type:"button","aria-expanded":e.open?"true":"false","aria-controls":"app-settings__content"},on:{click:e.toggleMenu}},[t("Cog",{staticClass:"settings-button__icon",attrs:{size:20}}),t("span",{staticClass:"settings-button__label"},[e._v(e._s(e.name))])],1)]),t("Transition",{attrs:{name:"slide-up"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],attrs:{id:"app-settings__content"}},[e._t("default")],2)])],1)},Et=[];(0,be.n)(xt,wt,Et,!1,null,"d278a327").exports;var kt=a(542),Bt=a(29270),Nt=a(14727),St=a(18485),It=a(19015),Dt=a(18608),Tt=a(12732),Lt=a(74307),Pt={};Pt.styleTagTransform=I(),Pt.setAttributes=k(),Pt.insert=w().bind(null,"head"),Pt.domAPI=_(),Pt.insertStyleElement=N(),b()(Lt.A,Pt),Lt.A&&Lt.A.locals&&Lt.A.locals;var Gt=a(95341),Ft=a(3168);const Ot=new(a(49264).A)({concurrency:5}),Ut={__name:"NcBlurHash",props:{hash:{required:!0,type:String},alt:{type:String,default:""},src:{type:String,default:""}},emits:["load"],setup(e,{emit:t}){const n=e,a=(0,o.KR)(),i=(0,o.KR)(!1);function r(){if(i.value)return;if(!n.hash)return void Ft.l.error("Invalid BlurHash value");if(void 0===a.value)return void Ft.l.error("BlurHash canvas not available");const{height:e,width:t}=a.value,r=(0,Gt.D4)(n.hash,t,e),o=a.value.getContext("2d");if(null===o)return void Ft.l.error("Cannot create context for BlurHash canvas");const s=o.createImageData(t,e);s.data.set(r),o.putImageData(s,0,0)}return(0,o.wB)((()=>n.hash),r),(0,o.wB)(i,(()=>{!1===i.value&&(0,o.dY)((()=>r()))}),{immediate:!0}),(0,o.wB)((()=>n.src),(()=>{i.value=!1,n.src&&function(e){const{resolve:t,promise:n}=Promise.withResolvers();return Ot.add((()=>{const a=new Image;return a.onerror=()=>t(!1),a.onload=()=>t(!0),a.src=e,n})),n}(n.src).then((e=>{i.value=e,t("load",e)}))}),{immediate:!0}),{__sfc:!0,props:n,emit:t,canvas:a,imageLoaded:i,drawBlurHash:r}}};var Rt=function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t("Transition",{attrs:{css:!!e.src&&void 0,"enter-active-class":e.$style.fadeTransition,"leave-active-class":e.$style.fadeTransition,"enter-class":e.$style.fadeTransitionActive,"leave-to-class":e.$style.fadeTransitionActive}},[n.imageLoaded?t("img",{attrs:{alt:e.alt,src:e.src}}):t("canvas",{ref:"canvas",attrs:{"aria-hidden":e.alt?null:"true","aria-label":e.alt}})])},qt=[];const Mt={$style:{fadeTransition:"_fadeTransition_13rtj_2",fadeTransitionActive:"_fadeTransitionActive_13rtj_6"}};function jt(e){for(var t in Mt)this[t]=Mt[t]}(0,be.n)(Ut,Rt,qt,!1,jt,null).exports;var zt=a(81199),$t=a(75749),Xt=a(95898),Ht=a(23941),Wt={};Wt.styleTagTransform=I(),Wt.setAttributes=k(),Wt.insert=w().bind(null,"head"),Wt.domAPI=_(),Wt.insertStyleElement=N(),b()(Ht.A,Wt),Ht.A&&Ht.A.locals&&Ht.A.locals;var Vt=a(28851),Yt=a(43921),Qt=a(63814);(0,Ce.r)(Ce.L),(0,Ce.r)(Ce.M);const Kt={name:"NcCollectionListItem",components:{NcAvatar:Tt.N,NcActions:Ge.N,NcActionButton:he.N},props:{collection:{type:Object,default:null},error:{type:String,default:void 0}},emits:["remove-resource","rename-collection"],data:()=>({detailsOpen:!1,newName:null}),computed:{getIcon:()=>e=>[e.iconClass],typeClass:()=>e=>"resource-type-"+e.type,resources(){return this.collection.resources?.filter((e=>!Array.isArray(e)))??[]},getComponent(){return e=>{const t=(0,Yt.g)(this.$router,e.link);return t?{component:"router-link",to:t,href:void 0}:{component:"a",to:void 0,href:e.link}}},iconUrl:()=>e=>e.mimetype?OC.MimeType.getIconUrl(e.mimetype):e.iconUrl?e.iconUrl:""},methods:{t:Ce.a,toggleDetails(){this.detailsOpen=!this.detailsOpen},showDetails(){this.detailsOpen=!0},removeResource(e,t){this.$emit("remove-resource",{collectionId:e.id,resourceType:t.type,resourceId:t.id})},openRename(){this.newName=this.collection.name},renameCollection(){this.newName&&this.$emit("rename-collection",{collectionId:this.collection.id,name:this.newName}),this.newName=null}}};var Zt=function(){var e=this,t=e._self._c;return t("li",{staticClass:"collection-list-item"},[t("NcAvatar",{staticClass:"collection-avatar",attrs:{"display-name":e.collection.name,"allow-placeholder":""}}),null===e.newName?t("span",{staticClass:"collection-item-name",attrs:{title:""},on:{click:e.showDetails}},[e._v(e._s(e.collection.name))]):t("form",{class:{"should-shake":e.error},on:{submit:function(t){return t.preventDefault(),e.renameCollection.apply(null,arguments)}}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.newName,expression:"newName"}],attrs:{type:"text",autocomplete:"off",autocapitalize:"off"},domProps:{value:e.newName},on:{input:function(t){t.target.composing||(e.newName=t.target.value)}}}),t("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),e.detailsOpen||null!==e.newName?e._e():t("div",{staticClass:"linked-icons"},e._l(e.resources.slice(0,2),(function(n){return t(e.getComponent(n).component,{key:n.type+"|"+n.id,tag:"component",class:e.typeClass(n),attrs:{title:n.name,to:e.getComponent(n).to,href:e.getComponent(n).href}},[t("img",{attrs:{src:e.iconUrl(n),alt:n.name}})])})),1),null===e.newName?t("span",{staticClass:"sharingOptionsGroup"},[t("NcActions",[t("NcActionButton",{attrs:{icon:"icon-info"},on:{click:function(t){return t.preventDefault(),e.toggleDetails.apply(null,arguments)}}},[e._v(" "+e._s(e.detailsOpen?e.t("Hide details"):e.t("Show details"))+" ")]),t("NcActionButton",{attrs:{icon:"icon-rename"},on:{click:function(t){return t.preventDefault(),e.openRename.apply(null,arguments)}}},[e._v(" "+e._s(e.t("Rename project"))+" ")])],1)],1):e._e(),t("transition",{attrs:{name:"fade"}},[e.error?t("div",{staticClass:"error"},[e._v(" "+e._s(e.error)+" ")]):e._e()]),t("transition",{attrs:{name:"fade"}},[e.detailsOpen?t("ul",{staticClass:"resource-list-details"},e._l(e.resources,(function(n){return t("li",{key:n.type+"|"+n.id,class:e.typeClass(n)},[t(e.getComponent(n).component,{tag:"component",attrs:{to:e.getComponent(n).to,href:e.getComponent(n).href}},[t("img",{attrs:{src:e.iconUrl(n),alt:n.name}}),t("span",{staticClass:"resource-name"},[e._v(e._s(n.name||""))])]),t("span",{staticClass:"icon-close",on:{click:function(t){return e.removeResource(e.collection,n)}}})],1)})),0):e._e()])],1)},Jt=[];function en(e){return e.data.ocs.data}const tn={name:"NcCollectionList",components:{NcCollectionListItem:(0,be.n)(Kt,Zt,Jt,!1,null,"878b819f").exports,NcAvatar:Tt.N,NcSelect:Vt.N},props:{type:{type:String,default:null},id:{type:String,default:null},name:{type:String,default:""},isActive:{type:Boolean,default:!0}},setup(){const{storedCollections:e,fetchCollectionsByResource:t,createCollection:n,addResourceToCollection:a,removeResourceFromCollection:i,renameCollection:r}=function(){const e=(0,o.KR)([]),t=t=>{(0,o.hZ)(e,"value",[...e.value,t])},n=n=>{const a=e.value.findIndex((e=>e.id===n.id));-1!==a?(0,o.hZ)(e.value,a,n):t(n)},a=async({collectionId:e,resourceType:t,resourceId:a})=>{const i=await function(e,t,n){return vt.Ay.post((0,Qt.KT)("collaboration/resources/collections/{collectionId}",{collectionId:e}),{resourceType:t,resourceId:n}).then(en)}(e,t,String(a));n(i)};return{storedCollections:e,fetchCollectionsByResource:async({resourceType:t,resourceId:n})=>{const a=await function(e,t){return vt.Ay.get((0,Qt.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:e,resourceId:t})).then(en)}(t,n);(t=>{(0,o.hZ)(e,"value",t)})(a)},createCollection:async({baseResourceType:e,baseResourceId:n,resourceType:i,resourceId:r,name:o})=>{const s=await function(e,t,n){return vt.Ay.post((0,Qt.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:e,resourceId:t}),{name:n}).then(en)}(e,n,o);t(s),await a({collectionId:s.id,resourceType:i,resourceId:r})},renameCollection:async({collectionId:e,name:t})=>{const a=await function(e,t){return vt.Ay.put((0,Qt.KT)("collaboration/resources/collections/{collectionId}",{collectionId:e}),{collectionName:t}).then(en)}(e,t);n(a)},addResourceToCollection:a,removeResourceFromCollection:async({collectionId:t,resourceType:a,resourceId:i})=>{const r=await function(e,t,n){return vt.Ay.delete((0,Qt.KT)("collaboration/resources/collections/{collectionId}",{collectionId:e}),{params:{resourceType:t,resourceId:n}}).then(en)}(t,a,String(i));r.resources.length>0?n(r):(t=>{(0,o.hZ)(e,"value",e.value.filter((e=>e.id!==t)))})(t)}}}(),s=(0,o.KR)([]),l=h((function(e,t){""!==e&&(t(!0),function(e){return vt.Ay.get((0,Qt.KT)("collaboration/resources/collections/search/{query}",{query:e})).then(en)}(e).then((e=>{s.value=e})).catch((e=>{console.error("Failed to search for collections",e)})).finally((()=>{t(!1)})))}),500);return{storedCollections:e,fetchCollectionsByResource:t,createCollection:n,addResourceToCollection:a,removeResourceFromCollection:i,renameCollection:r,searchCollections:s,search:l}},data:()=>({selectIsOpen:!1,generatingCodes:!1,codes:void 0,value:null,model:{},collectionsError:{},error:null,isSelectOpen:!1}),computed:{collections(){return this.storedCollections.filter((e=>e.resources.some((e=>e&&e.id===String(this.id)&&e.type===this.type))))},placeholder(){return this.isSelectOpen?(0,Ce.a)("Type to search for existing projects"):(0,Ce.a)("Add to a project")},options(){const e=[];window.OCP.Collaboration.getTypes().sort().forEach((t=>{e.push({method:0,type:t,title:window.OCP.Collaboration.getLabel(t),class:window.OCP.Collaboration.getIcon(t),action:()=>window.OCP.Collaboration.trigger(t)})}));for(const t in this.searchCollections)this.collections.find((e=>e.id===this.searchCollections[t].id))||e.push({method:1,title:this.searchCollections[t].name,collectionId:this.searchCollections[t].id});return e},resourceIdentifier(){return{resourceType:this.type,resourceId:this.id,isActive:this.isActive}}},watch:{resourceIdentifier:{deep:!0,immediate:!0,handler(e){e.isActive&&e.resourceId&&e.resourceType&&this.fetchCollectionsByResource(e)}}},methods:{t:Ce.a,select(e){0===e.method&&e.action().then((t=>{this.createCollection({baseResourceType:this.type,baseResourceId:this.id,resourceType:e.type,resourceId:t,name:this.name}).catch((e=>{this.setError((0,Ce.a)("Failed to create a project"),e)}))})).catch((e=>{console.error("No resource selected",e)})),1===e.method&&this.addResourceToCollection({collectionId:e.collectionId,resourceType:this.type,resourceId:this.id}).catch((e=>{this.setError((0,Ce.a)("Failed to add the item to the project"),e)})),this.value=null},showSelect(){this.selectIsOpen=!0,this.$refs.select.$el.focus()},setError(e,t){console.error(e,t),this.error=e,setTimeout((()=>{this.error=null}),5e3)},renameCollectionFromItem({collectionId:e,name:t}){this.renameCollection({collectionId:e,name:t}).catch((t=>{console.error((0,Ce.a)("Failed to rename the project"),t),this.collectionsError[e]=(0,Ce.a)("Failed to rename the project"),setTimeout((()=>{this.collectionsError[e]=null}),5e3)}))}}};var nn=function(){var e=this,t=e._self._c;return e.collections&&e.type&&e.id?t("ul",{staticClass:"collection-list",attrs:{id:"collection-list"}},[t("li",{on:{click:e.showSelect}},[e._m(0),t("div",{attrs:{id:"collection-select-container"}},[t("NcSelect",{ref:"select",attrs:{"aria-label-combobox":e.t("Add to a project"),options:e.options,placeholder:e.placeholder,label:"title",limit:5},on:{close:function(t){e.isSelectOpen=!1},open:function(t){e.isSelectOpen=!0},"option:selected":e.select,search:e.search},scopedSlots:e._u([{key:"selected-option",fn:function(n){return[t("span",{staticClass:"option__desc"},[t("span",{staticClass:"option__title"},[e._v(e._s(n.title))])])]}},{key:"option",fn:function(n){return[t("span",{staticClass:"option__wrapper"},[n.class?t("span",{staticClass:"avatar",class:n.class}):2!==n.method?t("NcAvatar",{attrs:{"allow-placeholder":"","display-name":n.title}}):e._e(),t("span",{staticClass:"option__title"},[e._v(e._s(n.title))])],1)]}}],null,!1,2397208459),model:{value:e.value,callback:function(t){e.value=t},expression:"value"}},[t("p",{staticClass:"hint"},[e._v(" "+e._s(e.t("Connect items to a project to make them easier to find"))+" ")])])],1)]),t("transition",{attrs:{name:"fade"}},[e.error?t("li",{staticClass:"error"},[e._v(" "+e._s(e.error)+" ")]):e._e()]),e._l(e.collections,(function(n){return t("NcCollectionListItem",{key:n.id,attrs:{collection:n,error:e.collectionsError[n.id]},on:{"rename-collection":e.renameCollectionFromItem,"remove-resource":e.removeResourceFromCollection}})}))],2):e._e()},an=[function(){var e=this._self._c;return e("div",{staticClass:"avatar"},[e("span",{staticClass:"icon-projects"})])}];(0,be.n)(tn,nn,an,!1,null,"efe8beb8").exports;var rn=a(35774),on=a(4419),sn=a(75971),ln=a(30178),cn=a(80575),dn=a(18798),un=a(14395),pn=a(88984),An=a(7897),gn=a(91407),hn=a(25521),mn=a(454),fn=a(96599),vn={};vn.styleTagTransform=I(),vn.setAttributes=k(),vn.insert=w().bind(null,"head"),vn.domAPI=_(),vn.insertStyleElement=N(),b()(fn.A,vn),fn.A&&fn.A.locals&&fn.A.locals;const Cn={name:"NcGuestContent",mounted(){document.getElementById("content").classList.add("nc-guest-content")},destroyed(){document.getElementById("content").classList.remove("nc-guest-content")}};var bn=function(){return(0,this._self._c)("div",{attrs:{id:"guest-content-vue"}},[this._t("default")],2)},yn=[];(0,be.n)(Cn,bn,yn,!1,null,"cbad78fb").exports;var _n=a(6848),xn={};xn.styleTagTransform=I(),xn.setAttributes=k(),xn.insert=w().bind(null,"head"),xn.domAPI=_(),xn.insertStyleElement=N(),b()(_n.A,xn),_n.A&&_n.A.locals&&_n.A.locals;const wn={name:"NcHeaderButton",components:{NcButton:F.A},props:{id:{type:String,required:!0},ariaLabel:{type:String,required:!0},description:{type:String,default:null}},emits:["click"],data:()=>({descriptionId:(0,ve.G)()})};var En=function(){var e=this,t=e._self._c;return t("div",{staticClass:"header-menu",attrs:{id:e.id}},[t("NcButton",{staticClass:"header-menu__trigger",attrs:{"aria-label":e.ariaLabel,"aria-describedby":e.descriptionId,size:"large",variant:"tertiary-no-background"},on:{click:function(t){return t.preventDefault(),e.$emit("click",t)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("icon")]},proxy:!0}],null,!0)}),e.description?t("span",{staticClass:"header-menu__description hidden-visually",attrs:{id:e.descriptionId}},[e._v(" "+e._s(e.description)+" ")]):e._e()],1)},kn=[];(0,be.n)(wn,En,kn,!1,null,"20fd51f9").exports;var Bn=a(83),Nn=a(26517),Sn=a(56849),In=a(85034),Dn=a(47451),Tn=a(69496),Ln=a(40083),Pn=a(90462),Gn=a(48718),Fn=a(74484),On=a(26865),Un={};Un.styleTagTransform=I(),Un.setAttributes=k(),Un.insert=w().bind(null,"head"),Un.domAPI=_(),Un.insertStyleElement=N(),b()(On.A,Un),On.A&&On.A.locals&&On.A.locals;var Rn=a(87485),qn=a(47266),Mn=a(29365);const jn={name:"AccountGroupIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var zn=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon account-group-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},$n=[];const Xn=(0,be.n)(jn,zn,$n,!1,null,null).exports,Hn={name:"OpenInNewIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Wn=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon open-in-new-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},Vn=[];const Yn=(0,be.n)(Hn,Wn,Vn,!1,null,null).exports;(0,Ce.r)(Ce.S);const Qn=(0,Rn.F)()?.circles?.teamResourceProviders??[],Kn={name:"NcTeamResources",components:{AccountGroup:Xn,ChevronDown:qn.C,ChevronUp:Mn.C,OpenInNew:Yn,NcButton:F.A,NcIconSvgWrapper:je.N},props:{providerId:{type:String,default:null},itemId:{type:[String,Number],default:null}},data:()=>({appEnabled:void 0!==OC?.appswebroots?.circles&&(OC.config.version.split(".")[0]??0)>=29,loading:!1,teamResources:null,teamOpen:[]}),computed:{isVisible(){return!this.loading&&this.teamResources?.length>0},teamProviders(){return e=>{const t=this.teamResources.find((t=>t.teamId===e));return t.resources?.reduce(((e,t)=>(t.provider.id===this.providerId&&t.id===String(this.itemId)||(e[t.provider.id]||(e[t.provider.id]=t.provider,e[t.provider.id].resources=[]),t.provider.id===this.providerId&&t.id===String(this.itemId)||e[t.provider.id].resources.push(t)),e)),{})}},open(){return e=>-1!==this.teamOpen.indexOf(e)}},watch:{providerId(){this.fetchTeamResources()},itemId(){this.fetchTeamResources()}},created(){this.fetchTeamResources()},methods:{t:Ce.a,async fetchTeamResources(){if(Qn.includes(this.providerId))try{this.loading=!0;const e=await vt.Ay.get((0,Qt.KT)(`/teams/resources/${this.providerId}/${this.itemId}`));this.teamResources=e.data.ocs.data.teams,this.teamOpen=[this.teamResources[0]?.teamId]}catch(e){this.teamResources=null,console.error(e)}finally{this.loading=!1}},toggleOpen(e,t){t?this.teamOpen.push(e):this.teamOpen.splice(this.teamOpen.indexOf(e),1)}}};var Zn=function(){var e=this,t=e._self._c;return e.appEnabled&&e.isVisible?t("div",{staticClass:"team-resources"},[t("h5",{staticClass:"team-resources__header"},[e._v(" "+e._s(e.t("Related team resources"))+" ")]),e._l(e.teamResources,(function(n){return t("details",{key:n.teamId,staticClass:"related-team",attrs:{name:"Team resources",open:e.open(n.teamId)},on:{toggle:t=>e.toggleOpen(n.teamId,t.target.open)}},[t("summary",{staticClass:"related-team__header"},[t("h5",{staticClass:"related-team__name"},[t("AccountGroup",{attrs:{size:20}}),e._v(" "+e._s(n.displayName)+" ")],1),t("NcButton",{attrs:{"aria-label":e.t("View team"),href:n.link,title:e.t("View team"),variant:"tertiary"},scopedSlots:e._u([{key:"icon",fn:function(){return[t("OpenInNew",{attrs:{size:20}})]},proxy:!0}],null,!0)}),e.open(n.teamId)?t("ChevronUp",{attrs:{size:20}}):t("ChevronDown",{attrs:{size:20}})],1),t("div",e._l(e.teamProviders(n.teamId),(function(n){return t("div",{key:n.id,staticClass:"related-team-provider"},[n.resources.length>0?t("h6",[e._v(" "+e._s(n.name)+" ")]):e._e(),t("ul",e._l(n.resources,(function(n){return t("li",{key:n.url,staticClass:"related-team-resource"},[t("a",{staticClass:"related-team-resource__link",attrs:{href:n.url}},[n.iconEmoji?t("span",{staticClass:"resource__icon"},[e._v(" "+e._s(n.iconEmoji)+" ")]):n.iconSvg?t("NcIconSvgWrapper",{staticClass:"resource__icon",attrs:{svg:n.iconSvg,size:20}}):n.iconURL?t("span",{staticClass:"resource__icon"},[t("img",{attrs:{src:n.iconURL,alt:""}})]):e._e(),t("span",{staticClass:"resource__name"},[e._v(" "+e._s(n.label)+" ")])],1)])})),0)])})),0)])}))],2):e._e()},Jn=[];const ea=(0,be.n)(Kn,Zn,Jn,!1,null,"9e46b7b2").exports;(0,Ce.r)(Ce.T);const ta={name:"NcResource",components:{NcButton:F.A},props:{icon:{type:String,required:!0},name:{type:String,required:!0},url:{type:String,required:!0}},data(){return{labelTranslated:(0,Ce.a)('Open link to "{resourceName}"',{resourceName:this.name})}},computed:{route(){return(0,Yt.g)(this.$router,this.url)}},methods:{t:Ce.a}};var na=function(){var e=this,t=e._self._c;return t("li",{staticClass:"resource"},[t("NcButton",{staticClass:"resource__button",attrs:{"aria-label":e.labelTranslated,to:e.route,href:e.route?null:e.url,variant:"tertiary"},scopedSlots:e._u([{key:"icon",fn:function(){return[t("div",{staticClass:"resource__icon"},[t("img",{attrs:{src:e.icon}})])]},proxy:!0}])},[e._v(" "+e._s(e.name)+" ")])],1)},aa=[];const ia=(0,be.n)(ta,na,aa,!1,null,"77c38062").exports;(0,Ce.r)(Ce.U);const ra={name:"NcRelatedResourcesPanel",components:{NcResource:ia,NcTeamResources:ea},props:{providerId:{type:String,default:null},itemId:{type:[String,Number],default:null},resourceType:{type:String,default:""},limit:{type:Number,default:0},fileInfo:{type:Object,default:null},header:{type:String,default:(0,Ce.a)("Related resources")},description:{type:String,default:(0,Ce.a)("Anything shared with the same group of people will show up here")},primary:{type:Boolean,default:!1}},emits:["has-error","has-resources"],data:()=>({appEnabled:void 0!==OC?.appswebroots?.related_resources,loading:!1,error:null,resources:[]}),computed:{isVisible(){return!this.loading&&(this.error??this.resources.length>0)},subline(){return this.error?(0,Ce.a)("Error getting related resources. Please contact your system administrator if you have any questions."):this.description},hasResourceInfo(){return null!==this.providerId&&null!==this.itemId||null!==this.fileInfo},isFiles(){return void 0!==this.fileInfo?.id},url(){let e=null,t=null;return this.isFiles?(e="files",t=this.fileInfo.id):(e=this.providerId,t=this.itemId),(0,Qt.KT)("/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json",{providerId:e,itemId:t,resourceType:this.resourceType,limit:this.limit})}},watch:{providerId(){this.fetchRelatedResources()},itemId(){this.fetchRelatedResources()},fileInfo(){this.fetchRelatedResources()},error(e){this.$emit("has-error",Boolean(e))},resources(e){this.$emit("has-resources",e.length>0)}},created(){this.fetchRelatedResources()},methods:{t:Ce.a,async fetchRelatedResources(){if(this.appEnabled&&this.hasResourceInfo){this.loading=!0,this.error=null,this.resources=[];try{const e=await vt.Ay.get(this.url);this.resources=e.data.ocs?.data}catch(e){this.error=e,console.error(e)}finally{this.loading=!1}}}}};var oa=function(){var e=this,t=e._self._c;return t("div",[t("NcTeamResources",{attrs:{"provider-id":e.providerId,"item-id":e.itemId}}),e.appEnabled&&e.isVisible?t("div",{staticClass:"related-resources"},[t("div",{staticClass:"related-resources__header"},[t("h5",[e._v(e._s(e.header))]),t("p",[e._v(e._s(e.subline))])]),e._l(e.resources,(function(e){return t("NcResource",{key:e.itemId,staticClass:"related-resources__entry",attrs:{icon:e.icon,name:e.title,url:e.url}})}))],2):e._e()],1)},sa=[];(0,be.n)(ra,oa,sa,!1,null,"badd46a9").exports;var la=a(60945),ca=a(93368),da=a(19697),ua=(a(58322),a(2837),a(4266));const pa=(0,o.pM)({name:"NcSavingIndicatorIcon",props:{size:{type:Number,default:20},name:{type:String,default:""},saving:{type:Boolean,default:!1,required:!1},error:{type:Boolean,default:!1,required:!1}},emits:["click"],computed:{indicatorColor(){return this.error?"var(--color-error)":this.saving?"var(--color-primary-element)":"none"}}});var Aa=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("span",{staticClass:"material-design-icon",attrs:{"aria-label":e.name,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},[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:{fill:e.indicatorColor,d:"m19 15a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4z"}}),t("path",{attrs:{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}},[e.name?t("title",[e._v(e._s(e.name))]):e._e()])])])},ga=[];(0,be.n)(pa,Aa,ga,!1,null,null).exports;var ha=a(27355),ma=a(77332),fa={};fa.styleTagTransform=I(),fa.setAttributes=k(),fa.insert=w().bind(null,"head"),fa.domAPI=_(),fa.insertStyleElement=N(),b()(ma.A,fa),ma.A&&ma.A.locals&&ma.A.locals,(0,Ce.r)(Ce.d,Ce.i);const va={__name:"NcSelectUsers",props:{ariaLabelClearSelected:{type:String,default:(0,Ce.a)("Clear selected")},ariaLabelListbox:{type:String,default:(0,Ce.a)("Options")},ariaLabelDeselectOption:{type:Function,default:e=>(0,Ce.a)("Deselect {option}",{option:e})},keepOpen:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},filterBy:{type:Function,default:null},inputId:{type:String,default:()=>(0,ve.G)()},inputLabel:{type:String,default:(0,Ce.a)("Select account")},labelOutside:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},required:{type:Boolean,default:!1},modelValue:{type:Object,default:null}},emits:["search","update:modelValue"],setup(e,{emit:t}){const n=e,a=(0,o.KR)("");(0,o.wB)(a,(()=>{t("search",a.value)}));const i=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area")),r=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline"));return{__sfc:!0,props:n,emit:t,search:a,clickableArea:i,gridBaseLine:r,avatarSize:i-2*r,localFilterBy:function(e,t,a){if(n.filterBy)return n.filterBy;const i=a.match(/[^<]*<([^>]+)/),r=e.subname?.toLocaleLowerCase()??"";return i&&r.indexOf(i[1].toLocaleLowerCase())>-1||`${t} ${e.subname}`.toLocaleLowerCase().indexOf(a.toLocaleLowerCase())>-1},NcListItemIcon:Dn.N,NcSelect:Vt.N}}};var Ca=function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcSelect,e._b({staticClass:"nc-select-users",attrs:{"filter-by":n.localFilterBy,label:"displayName"},on:{search:function(e){n.search=e},"update:model-value":function(t){return e.$emit("update:modelValue",t)}},scopedSlots:e._u([{key:"option",fn:function(a){return[t(n.NcListItemIcon,e._b({attrs:{"avatar-size":32,name:a.displayName,search:n.search}},"NcListItemIcon",a,!1))]}},{key:"selected-option",fn:function(a){return[t(n.NcListItemIcon,e._b({attrs:{"avatar-size":n.avatarSize,name:a.displayName,"no-margin":"",search:n.search}},"NcListItemIcon",a,!1))]}}])},"NcSelect",e.$props,!1))},ba=[];(0,be.n)(va,Ca,ba,!1,null,"ecb8da4e").exports;var ya=a(50332),_a={};_a.styleTagTransform=I(),_a.setAttributes=k(),_a.insert=w().bind(null,"head"),_a.domAPI=_(),_a.insertStyleElement=N(),b()(ya.A,_a),ya.A&&ya.A.locals&&ya.A.locals,(0,Ce.r)(Ce.h);const xa={name:"NcSettingsInputText",model:{prop:"value",event:"update:value"},props:{label:{type:String,required:!0},hint:{type:String,default:""},value:{type:String,default:void 0},modelValue:{type:String,default:""},disabled:{type:Boolean,default:!1},id:{type:String,default:()=>"settings-input-text-"+(0,ve.G)(),validator:e=>""!==e.trim()}},emits:["update:value","update:modelValue","update:model-value","input","submit","change"],setup:()=>({model:(0,Ie.u)("value","update:value")}),data:()=>({submitTranslated:(0,Ce.a)("Submit")}),computed:{idSubmit(){return this.id+"-submit"}},methods:{onInput(e){this.$emit("input",e),this.model=e.target.value},onSubmit(e){this.disabled||this.$emit("submit",e)},onChange(e){this.$emit("change",e)}}};var wa=function(){var e=this,t=e._self._c;return t("form",{ref:"form",attrs:{disabled:e.disabled},on:{submit:function(t){return t.preventDefault(),t.stopPropagation(),e.onSubmit.apply(null,arguments)}}},[t("div",{staticClass:"input-wrapper"},[t("label",{staticClass:"action-input__label",attrs:{for:e.id}},[e._v(e._s(e.label))]),t("input",{attrs:{id:e.id,type:"text",disabled:e.disabled},domProps:{value:e.model},on:{input:e.onInput,change:e.onChange}}),t("input",{staticClass:"action-input__submit",attrs:{id:e.idSubmit,type:"submit"},domProps:{value:e.submitTranslated}}),e.hint?t("p",{staticClass:"hint"},[e._v(" "+e._s(e.hint)+" ")]):e._e()])])},Ea=[];(0,be.n)(xa,wa,Ea,!1,null,"0907eb0a").exports;var ka=a(11229),Ba=a(43844),Na=a(30709),Sa=a(71940),Ia=a(4212),Da=a(89337),Ta=a(23610),La=(a(94205),a(13073)),Pa=a(59271);function Ga(e=document.body){const t=window.getComputedStyle(e).getPropertyValue("--background-invert-if-dark");return void 0!==t&&"invert(100%)"===t}Ga(),(0,Pa.F)((()=>function(e=document.body){const t=(0,o.KR)(Ga(e)),n=(0,La.Nk8)();function a(){t.value=Ga(e)}return(0,La.P1n)(e,a,{attributes:!0}),(0,o.wB)(n,a,{immediate:!0}),(0,o.tB)(t)}())),a(23739),a(16343),a(53476);var Fa=a(42892),Oa=a(15074);a(59656);var Ua=a(2508);he.N,we.A,Ee.N,ke.N,Be.A,Pe.A,Fe.A,Oe.A,Ge.N,He.N,Je.N,et.N,ot.N,st.A,lt.A,gt.N,kt.A,Bt.N,Nt.A,St.N,It.N,Dt.A,ca.N,Tt.N,zt.N,$t.N,F.A,Xt.N,rn.N,on.N,sn.N,ln.N,cn.N,dn.N,un.A,pn.A,An.N,gn.N,hn.A,mn.N,u.A,Bn.N,Nn.N,je.N,Sn.N,In.N,Dn.N,A.A,la.N,Tn.A,Ln.A,Pn.N,Gn.N,Fn.N,ca.a,da.N,Vt.N,ha.N,ka.N,Ba.N,Na.N,ua.N,Sa.N,Ia.N,Da.N,Ta.A,Symbol.toStringTag,Fa.A,Oa.u,Ua.yw,Symbol.toStringTag;const Ra={props:{user:{type:Object,required:!0},settings:{type:Object,default:()=>({})},quotaOptions:{type:Array,default:()=>[]},languages:{type:Array,required:!0},externalActions:{type:Array,default:()=>[]}},setup(e){const{formattedFullTime:t}=(0,dn.u)(1e3*e.user.firstLoginTimestamp,{relativeTime:!1,format:{timeStyle:"short",dateStyle:"short"}});return{formattedFullTime:t}},data(){return{selectedGroups:this.user.groups.map((e=>({id:e,name:e}))),selectedSubAdminGroups:this.user.subadmin.map((e=>({id:e,name:e}))),userGroups:this.user.groups.map((e=>({id:e,name:e}))),userSubAdminGroups:this.user.subadmin.map((e=>({id:e,name:e})))}},computed:{showConfig(){return this.$store.getters.getShowConfig},usedSpace(){const e=this.user.quota.used>0?this.user.quota.used:0;return t("settings","{size} used",{size:(0,G.v7)(e,!0)})},usedQuota(){let e=this.user.quota.quota;return e=e>0?Math.min(100,Math.round(this.user.quota.used/e*100)):95*(1-1/(this.user.quota.used/(10*Math.pow(2,30))+1)),isNaN(e)?0:e},userQuota(){if(this.user.quota.quota>=0){const e=(0,G.v7)(this.user.quota.quota);return this.quotaOptions.find((t=>t.id===e))||{id:e,label:e}}return"default"===this.user.quota.quota?this.quotaOptions[0]:this.quotaOptions[1]},minPasswordLength(){return this.$store.getters.getPasswordPolicyMinLength},userLanguage(){const e=this.languages[0].languages.concat(this.languages[1].languages).find((e=>e.code===this.user.language));return"object"!=typeof e&&""!==this.user.language?{code:this.user.language,name:this.user.language}:""!==this.user.language&&e},userFirstLogin(){return this.user.firstLoginTimestamp>0?this.formattedFullTime:this.user.firstLoginTimestamp<0?t("settings","Unknown"):t("settings","Never")},userLastLoginTooltip(){return this.user.lastLoginTimestamp>0?OC.Util.formatDate(1e3*this.user.lastLoginTimestamp):""},userLastLogin(){return this.user.lastLoginTimestamp>0?OC.Util.relativeModifiedDate(1e3*this.user.lastLoginTimestamp):t("settings","Never")}}};var qa=a(95668);const Ma={name:"UserRow",components:{NcAvatar:ae.A,NcLoadingIcon:A.A,NcProgressBar:ie.A,NcSelect:R.A,NcTextField:q.A,UserRowActions:ge},mixins:[Ra],props:{user:{type:Object,required:!0},visible:{type:Boolean,required:!0},users:{type:Array,required:!0},hasObfuscated:{type:Boolean,required:!0},quotaOptions:{type:Array,required:!0},languages:{type:Array,required:!0},settings:{type:Object,required:!0},externalActions:{type:Array,default:()=>[]}},data(){return{selectedQuota:!1,rand:Math.random().toString(36).substring(2),loadingPossibleManagers:!1,possibleManagers:[],currentManager:"",editing:!1,loading:{all:!1,displayName:!1,password:!1,mailAddress:!1,groups:!1,groupsDetails:!1,subAdminGroupsDetails:!1,subadmins:!1,quota:!1,delete:!1,disable:!1,languages:!1,wipe:!1,manager:!1},editedDisplayName:this.user.displayname,editedPassword:"",editedMail:this.user.email??"",promise:null}},computed:{managerLabel:()=>t("settings","Set line manager"),isObfuscated(){return(0,qa.HK)(this.user)},showConfig(){return this.$store.getters.getShowConfig},isLoadingUser(){return this.loading.delete||this.loading.disable||this.loading.wipe},isLoadingField(){return this.loading.delete||this.loading.disable||this.loading.all},uniqueId(){return encodeURIComponent(this.user.id+this.rand)},availableGroups(){return(this.settings.isAdmin||this.settings.isDelegatedAdmin?this.$store.getters.getSortedGroups:this.$store.getters.getSubAdminGroups).filter((e=>"__nc_internal_recent"!==e.id&&"disabled"!==e.id))},availableSubAdminGroups(){return this.availableGroups.filter((e=>"admin"!==e.id))},userGroupsLabels(){return this.userGroups.map((e=>e.name??e.id)).join(", ")},userSubAdminGroupsLabels(){return this.userSubAdminGroups.map((e=>e.name??e.id)).join(", ")},usedSpace(){return this.user.quota?.used?t("settings","{size} used",{size:(0,G.v7)(this.user.quota?.used)}):t("settings","{size} used",{size:(0,G.v7)(0)})},canEdit(){return(0,te.HW)().uid!==this.user.id||this.settings.isAdmin||this.settings.isDelegatedAdmin},userQuota(){let e=this.user.quota?.quota;return"default"===e&&(e=this.settings.defaultQuota,"none"!==e&&(e=(0,G.lT)(e,!0))),"none"===e||-3===e?t("settings","Unlimited"):e>=0?(0,G.v7)(e):(0,G.v7)(0)},userActions(){const e=[{icon:"icon-delete",text:t("settings","Delete account"),action:this.deleteUser},{icon:"icon-delete",text:t("settings","Disconnect all devices and delete local data"),action:this.wipeUserDevices},{icon:this.user.enabled?"icon-close":"icon-add",text:this.user.enabled?t("settings","Disable account"):t("settings","Enable account"),action:this.enableDisableUser}];return null!==this.user.email&&""!==this.user.email&&e.push({icon:"icon-mail",text:t("settings","Resend welcome email"),action:this.sendWelcomeMail}),e.concat(this.externalActions)},editedUserQuota:{get(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==qa.SA.id&&(0,G.lT)(this.settings.defaultQuota,!0)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:qa.SA},set(e){this.selectedQuota=e}},availableLanguages(){return this.languages[0].languages.concat(this.languages[1].languages)}},async beforeMount(){this.user.manager&&await this.initManager(this.user.manager)},methods:{async wipeUserDevices(){const e=this.user.id;await(0,ne.C5)(),OC.dialogs.confirmDestructive(t("settings","In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",{userid:e}),t("settings","Remote wipe of devices"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Wipe {userid}'s devices",{userid:e}),confirmClasses:"error",cancel:t("settings","Cancel")},(n=>{n&&(this.loading.wipe=!0,this.loading.all=!0,this.$store.dispatch("wipeUserDevices",e).then((()=>(0,c.Te)(t("settings","Wiped {userid}'s devices",{userid:e}))),{timeout:2e3}).finally((()=>{this.loading.wipe=!1,this.loading.all=!1})))}),!0)},filterManagers(e){return e.filter((e=>e.id!==this.user.id))},async initManager(e){await this.$store.dispatch("getUser",e).then((e=>{this.currentManager=e?.data.ocs.data}))},async searchInitialUserManager(){this.loadingPossibleManagers=!0,await this.searchUserManager(),this.loadingPossibleManagers=!1},async loadGroupsDetails(){this.loading.groups=!0,this.loading.groupsDetails=!0;try{const e=await(0,M.Iu)({userId:this.user.id});for(const t of e)this.$store.commit("addGroup",t);this.selectedGroups=this.selectedGroups.map((t=>e.find((e=>e.id===t.id))??t))}catch(e){f.A.error(t("settings","Failed to load groups with details"),{error:e})}this.loading.groups=!1,this.loading.groupsDetails=!1},async loadSubAdminGroupsDetails(){this.loading.subadmins=!0,this.loading.subAdminGroupsDetails=!0;try{const e=await(0,M.FF)({userId:this.user.id});for(const t of e)this.$store.commit("addGroup",t);this.selectedSubAdminGroups=this.selectedSubAdminGroups.map((t=>e.find((e=>e.id===t.id))??t))}catch(e){f.A.error(t("settings","Failed to load sub admin groups with details"),{error:e})}this.loading.subadmins=!1,this.loading.subAdminGroupsDetails=!1},async searchGroups(e,n){if(""!==e){this.promise&&this.promise.cancel(),n(!0);try{this.promise=await(0,M.N_)({search:e,offset:0,limit:25});const t=await this.promise;for(const e of t)this.$store.commit("addGroup",e)}catch(e){f.A.error(t("settings","Failed to search groups"),{error:e})}this.promise=null,n(!1)}},async searchUserManager(e){await this.$store.dispatch("searchUsers",{offset:0,limit:10,search:e}).then((e=>{const t=e?.data?this.filterManagers(Object.values(e?.data.ocs.data.users)):[];t.length>0&&(this.possibleManagers=t)}))},async updateUserManager(){this.loading.manager=!0;const e=this.user.manager;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"manager",value:this.currentManager?this.currentManager.id:""})}catch(n){(0,c.Qg)(t("settings","Failed to update line manager")),f.A.error("Failed to update manager:",{error:n}),this.currentManager=e}finally{this.loading.manager=!1}},async deleteUser(){const e=this.user.id;await(0,ne.C5)(),OC.dialogs.confirmDestructive(t("settings","Fully delete {userid}'s account including all their personal files, app data, etc.",{userid:e}),t("settings","Account deletion"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Delete {userid}'s account",{userid:e}),confirmClasses:"error",cancel:t("settings","Cancel")},(t=>{if(t)return this.loading.delete=!0,this.loading.all=!0,this.$store.dispatch("deleteUser",e).then((()=>{this.loading.delete=!1,this.loading.all=!1}))}),!0)},enableDisableUser(){this.loading.delete=!0,this.loading.all=!0;const e=this.user.id,t=!this.user.enabled;return this.$store.dispatch("enableDisableUser",{userid:e,enabled:t}).then((()=>{this.loading.delete=!1,this.loading.all=!1}))},async updateDisplayName(){this.loading.displayName=!0;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"displayname",value:this.editedDisplayName}),this.editedDisplayName===this.user.displayname&&(0,c.Te)(t("settings","Display name was successfully changed"))}finally{this.loading.displayName=!1}},async updatePassword(){if(this.loading.password=!0,0===this.editedPassword.length)(0,c.Qg)(t("settings","Password can't be empty")),this.loading.password=!1;else try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"password",value:this.editedPassword}),this.editedPassword="",(0,c.Te)(t("settings","Password was successfully changed"))}finally{this.loading.password=!1}},async updateEmail(){if(this.loading.mailAddress=!0,""===this.editedMail)(0,c.Qg)(t("settings","Email can't be empty")),this.loading.mailAddress=!1,this.editedMail=this.user.email;else try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"email",value:this.editedMail}),this.editedMail===this.user.email&&(0,c.Te)(t("settings","Email was successfully changed"))}finally{this.loading.mailAddress=!1}},async createGroup(e){let{name:n}=e;this.loading.groups=!0;try{await this.$store.dispatch("addGroup",n);const e=this.user.id;await this.$store.dispatch("addUserGroup",{userid:e,gid:n}),this.userGroups.push({id:n,name:n})}catch(e){f.A.error(t("settings","Failed to create group"),{error:e})}this.loading.groups=!1},async addUserGroup(e){if(e.isCreating)return;const t=this.user.id,n=e.id;if(!1!==e.canAdd){this.loading.groups=!0;try{await this.$store.dispatch("addUserGroup",{userid:t,gid:n}),this.userGroups.push(e)}catch(e){console.error(e)}this.loading.groups=!1}},async removeUserGroup(e){if(!1===e.canRemove)return!1;this.loading.groups=!0;const t=this.user.id,n=e.id;try{await this.$store.dispatch("removeUserGroup",{userid:t,gid:n}),this.userGroups=this.userGroups.filter((e=>e.id!==n)),this.loading.groups=!1,this.$route.params.selectedGroup===n&&this.$store.commit("deleteUser",t)}catch{this.loading.groups=!1}},async addUserSubAdmin(e){this.loading.subadmins=!0;const t=this.user.id,n=e.id;try{await this.$store.dispatch("addUserSubAdmin",{userid:t,gid:n}),this.userSubAdminGroups.push(e)}catch(e){console.error(e)}this.loading.subadmins=!1},async removeUserSubAdmin(e){this.loading.subadmins=!0;const t=this.user.id,n=e.id;try{await this.$store.dispatch("removeUserSubAdmin",{userid:t,gid:n}),this.userSubAdminGroups=this.userSubAdminGroups.filter((e=>e.id!==n))}catch(e){console.error(e)}finally{this.loading.subadmins=!1}},async setUserQuota(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";"none"===e&&(e=qa.SA),this.loading.quota=!0,e=e.id?e.id:e;try{const t=((0,G.lT)(e,!0)||e).toString();await this.$store.dispatch("setUserData",{userid:this.user.id,key:"quota",value:t})}catch(e){console.error(e)}finally{this.loading.quota=!1}return e},validateQuota:e=>("object"==typeof e&&(e=e?.id||e.label),null===(0,G.lT)(e,!0)?qa.SA:{id:e=(0,G.v7)((0,G.lT)(e,!0)),label:e}),async setUserLanguage(e){this.loading.languages=!0;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"language",value:e.code}),this.loading.languages=!1}catch(e){console.error(e)}return e},sendWelcomeMail(){this.loading.all=!0,this.$store.dispatch("sendWelcomeMail",this.user.id).then((()=>(0,c.Te)(t("settings","Welcome mail sent!"),{timeout:2e3}))).finally((()=>{this.loading.all=!1}))},async toggleEdit(){this.editing=!this.editing,this.editing&&(await this.$nextTick(),this.$refs.displayNameField?.$refs?.inputField?.$refs?.input?.focus(),this.loadGroupsDetails(),this.loadSubAdminGroupsDetails()),this.editedDisplayName!==this.user.displayname?this.editedDisplayName=this.user.displayname:this.editedMail!==this.user.email&&(this.editedMail=this.user.email??"")}}};var ja=a(52867),za={};za.styleTagTransform=I(),za.setAttributes=k(),za.insert=w().bind(null,"head"),za.domAPI=_(),za.insertStyleElement=N(),b()(ja.A,za),ja.A&&ja.A.locals&&ja.A.locals;var $a=(0,L.A)(Ma,(function(){var e=this,t=e._self._c;return t("tr",{staticClass:"user-list__row",attrs:{"data-cy-user-row":e.user.id}},[t("td",{staticClass:"row__cell row__cell--avatar",attrs:{"data-cy-user-list-cell-avatar":""}},[e.isLoadingUser?t("NcLoadingIcon",{attrs:{name:e.t("settings","Loading account …"),size:32}}):e.visible?t("NcAvatar",{attrs:{"disable-menu":"","show-user-status":!1,user:e.user.id}}):e._e()],1),e._v(" "),t("td",{staticClass:"row__cell row__cell--displayname",attrs:{"data-cy-user-list-cell-displayname":""}},[e.editing&&e.user.backendCapabilities.setDisplayName?[t("NcTextField",{ref:"displayNameField",staticClass:"user-row-text-field",class:{"icon-loading-small":e.loading.displayName},attrs:{"data-cy-user-list-input-displayname":"","data-loading":e.loading.displayName||void 0,"trailing-button-label":e.t("settings","Submit"),"show-trailing-button":!0,disabled:e.loading.displayName||e.isLoadingField,label:e.t("settings","Change display name"),"trailing-button-icon":"arrowRight",value:e.editedDisplayName,autocapitalize:"off",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(t){e.editedDisplayName=t},"trailing-button-click":e.updateDisplayName}})]:e.isObfuscated?e._e():t("strong",{attrs:{title:e.user.displayname?.length>20?e.user.displayname:null}},[e._v("\n\t\t\t"+e._s(e.user.displayname)+"\n\t\t")])],2),e._v(" "),t("td",{staticClass:"row__cell row__cell--username",attrs:{"data-cy-user-list-cell-username":""}},[t("span",{staticClass:"row__subtitle"},[e._v(e._s(e.user.id))])]),e._v(" "),t("td",{staticClass:"row__cell",class:{"row__cell--obfuscated":e.hasObfuscated},attrs:{"data-cy-user-list-cell-password":""}},[e.editing&&e.settings.canChangePassword&&e.user.backendCapabilities.setPassword?[t("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":e.loading.password},attrs:{"data-cy-user-list-input-password":"","data-loading":e.loading.password||void 0,"trailing-button-label":e.t("settings","Submit"),"show-trailing-button":!0,disabled:e.loading.password||e.isLoadingField,minlength:e.minPasswordLength,maxlength:"469",label:e.t("settings","Set new password"),"trailing-button-icon":"arrowRight",value:e.editedPassword,autocapitalize:"off",autocomplete:"new-password",required:"",spellcheck:"false",type:"password"},on:{"update:value":function(t){e.editedPassword=t},"trailing-button-click":e.updatePassword}})]:e.isObfuscated?t("span",[e._v("\n\t\t\t"+e._s(e.t("settings","You do not have permissions to see the details of this account"))+"\n\t\t")]):e._e()],2),e._v(" "),t("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-email":""}},[e.editing?[t("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":e.loading.mailAddress},attrs:{"data-cy-user-list-input-email":"","data-loading":e.loading.mailAddress||void 0,"show-trailing-button":!0,"trailing-button-label":e.t("settings","Submit"),label:e.t("settings","Set new email address"),disabled:e.loading.mailAddress||e.isLoadingField,"trailing-button-icon":"arrowRight",value:e.editedMail,autocapitalize:"off",autocomplete:"email",spellcheck:"false",type:"email"},on:{"update:value":function(t){e.editedMail=t},"trailing-button-click":e.updateEmail}})]:e.isObfuscated?e._e():t("span",{attrs:{title:e.user.email?.length>20?e.user.email:null}},[e._v("\n\t\t\t"+e._s(e.user.email)+"\n\t\t")])],2),e._v(" "),t("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-cy-user-list-cell-groups":""}},[e.editing?[t("label",{staticClass:"hidden-visually",attrs:{for:"groups"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Add account to group"))+"\n\t\t\t")]),e._v(" "),t("NcSelect",{attrs:{"data-cy-user-list-input-groups":"","data-loading":e.loading.groups||void 0,"input-id":"groups"+e.uniqueId,"close-on-select":!1,disabled:e.isLoadingField||e.loading.groupsDetails,loading:e.loading.groups,multiple:!0,"append-to-body":!1,options:e.availableGroups,placeholder:e.t("settings","Add account to group"),taggable:e.settings.isAdmin||e.settings.isDelegatedAdmin,value:e.userGroups,label:"name","no-wrap":!0,"create-option":e=>({id:e,name:e,isCreating:!0})},on:{search:e.searchGroups,"option:created":e.createGroup,"option:selected":t=>e.addUserGroup(t.at(-1)),"option:deselected":e.removeUserGroup}})]:e.isObfuscated?e._e():t("span",{attrs:{title:e.userGroupsLabels?.length>40?e.userGroupsLabels:null}},[e._v("\n\t\t\t"+e._s(e.userGroupsLabels)+"\n\t\t")])],2),e._v(" "),e.settings.isAdmin||e.settings.isDelegatedAdmin?t("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-cy-user-list-cell-subadmins":""}},[e.editing&&(e.settings.isAdmin||e.settings.isDelegatedAdmin)?[t("label",{staticClass:"hidden-visually",attrs:{for:"subadmins"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Set account as admin for"))+"\n\t\t\t")]),e._v(" "),t("NcSelect",{attrs:{"data-cy-user-list-input-subadmins":"","data-loading":e.loading.subadmins||void 0,"input-id":"subadmins"+e.uniqueId,"close-on-select":!1,disabled:e.isLoadingField||e.loading.subAdminGroupsDetails,loading:e.loading.subadmins,label:"name","append-to-body":!1,multiple:!0,"no-wrap":!0,options:e.availableSubAdminGroups,placeholder:e.t("settings","Set account as admin for"),value:e.userSubAdminGroups},on:{search:e.searchGroups,"option:deselected":e.removeUserSubAdmin,"option:selected":t=>e.addUserSubAdmin(t.at(-1))}})]:e.isObfuscated?e._e():t("span",{attrs:{title:e.userSubAdminGroupsLabels?.length>40?e.userSubAdminGroupsLabels:null}},[e._v("\n\t\t\t"+e._s(e.userSubAdminGroupsLabels)+"\n\t\t")])],2):e._e(),e._v(" "),t("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-quota":""}},[e.editing?[t("label",{staticClass:"hidden-visually",attrs:{for:"quota"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Select account quota"))+"\n\t\t\t")]),e._v(" "),t("NcSelect",{attrs:{"close-on-select":!0,"create-option":e.validateQuota,"data-cy-user-list-input-quota":"","data-loading":e.loading.quota||void 0,disabled:e.isLoadingField,loading:e.loading.quota,"append-to-body":!1,clearable:!1,"input-id":"quota"+e.uniqueId,options:e.quotaOptions,placeholder:e.t("settings","Select account quota"),taggable:!0},on:{"option:selected":e.setUserQuota},model:{value:e.editedUserQuota,callback:function(t){e.editedUserQuota=t},expression:"editedUserQuota"}})]:e.isObfuscated?e._e():[t("span",{attrs:{id:"quota-progress"+e.uniqueId}},[e._v(e._s(e.userQuota)+" ("+e._s(e.usedSpace)+")")]),e._v(" "),t("NcProgressBar",{staticClass:"row__progress",class:{"row__progress--warn":e.usedQuota>80},attrs:{"aria-labelledby":"quota-progress"+e.uniqueId,value:e.usedQuota}})]],2),e._v(" "),e.showConfig.showLanguages?t("td",{staticClass:"row__cell row__cell--large",attrs:{"data-cy-user-list-cell-language":""}},[e.editing?[t("label",{staticClass:"hidden-visually",attrs:{for:"language"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Set the language"))+"\n\t\t\t")]),e._v(" "),t("NcSelect",{attrs:{id:"language"+e.uniqueId,"data-cy-user-list-input-language":"","data-loading":e.loading.languages||void 0,"allow-empty":!1,disabled:e.isLoadingField,loading:e.loading.languages,clearable:!1,"append-to-body":!1,options:e.availableLanguages,placeholder:e.t("settings","No language set"),value:e.userLanguage,label:"name"},on:{input:e.setUserLanguage}})]:e.isObfuscated?e._e():t("span",[e._v("\n\t\t\t"+e._s(e.userLanguage.name)+"\n\t\t")])],2):e._e(),e._v(" "),e.showConfig.showUserBackend||e.showConfig.showStoragePath?t("td",{staticClass:"row__cell row__cell--large",attrs:{"data-cy-user-list-cell-storage-location":""}},[e.isObfuscated?e._e():[e.showConfig.showUserBackend?t("span",[e._v(e._s(e.user.backend))]):e._e(),e._v(" "),e.showConfig.showStoragePath?t("span",{staticClass:"row__subtitle",attrs:{title:e.user.storageLocation}},[e._v("\n\t\t\t\t"+e._s(e.user.storageLocation)+"\n\t\t\t")]):e._e()]],2):e._e(),e._v(" "),e.showConfig.showFirstLogin?t("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-first-login":""}},[e.isObfuscated?e._e():t("span",[e._v(e._s(e.userFirstLogin))])]):e._e(),e._v(" "),e.showConfig.showLastLogin?t("td",{staticClass:"row__cell",attrs:{title:e.userLastLoginTooltip,"data-cy-user-list-cell-last-login":""}},[e.isObfuscated?e._e():t("span",[e._v(e._s(e.userLastLogin))])]):e._e(),e._v(" "),t("td",{staticClass:"row__cell row__cell--large row__cell--fill",attrs:{"data-cy-user-list-cell-manager":""}},[e.editing?[t("label",{staticClass:"hidden-visually",attrs:{for:"manager"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.managerLabel)+"\n\t\t\t")]),e._v(" "),t("NcSelect",{staticClass:"select--fill",attrs:{"data-cy-user-list-input-manager":"","data-loading":e.loading.manager||void 0,"input-id":"manager"+e.uniqueId,disabled:e.isLoadingField,loading:e.loadingPossibleManagers||e.loading.manager,options:e.possibleManagers,placeholder:e.managerLabel,label:"displayname",filterable:!1,"internal-search":!1,clearable:!0},on:{open:e.searchInitialUserManager,search:e.searchUserManager,"update:model-value":e.updateUserManager},model:{value:e.currentManager,callback:function(t){e.currentManager=t},expression:"currentManager"}})]:e.isObfuscated?e._e():t("span",[e._v("\n\t\t\t"+e._s(e.user.manager)+"\n\t\t")])],2),e._v(" "),t("td",{staticClass:"row__cell row__cell--actions",attrs:{"data-cy-user-list-cell-actions":""}},[e.visible&&!e.isObfuscated&&e.canEdit&&!e.loading.all?t("UserRowActions",{attrs:{actions:e.userActions,disabled:e.isLoadingField,edit:e.editing,user:e.user},on:{"update:edit":e.toggleEdit}}):e._e()],1)])}),[],!1,null,"47722426",null);const Xa=$a.exports,Ha=Object.freeze({id:"",displayName:"",password:"",mailAddress:"",groups:[],manager:"",subAdminsGroups:[],quota:qa.MY,language:{code:"en",name:t("settings","Default language")}}),Wa={name:"UserList",components:{Fragment:d.F,NcEmptyContent:u.A,NcIconSvgWrapper:p.A,NcLoadingIcon:A.A,NewUserDialog:H,UserListFooter:Q,UserListHeader:ee,VirtualList:P},props:{selectedGroup:{type:String,default:null},externalActions:{type:Array,default:()=>[]}},setup:()=>({mdiAccountGroup:l.n7C,rowHeight:55,UserRow:Xa}),data:()=>({loading:{all:!1,groups:!1,users:!1},newUser:{...Ha},isInitialLoad:!0,searchQuery:""}),computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},style(){return{"--row-height":`${this.rowHeight}px`}},hasObfuscated(){return this.filteredUsers.some((e=>(0,qa.HK)(e)))},users(){return this.$store.getters.getUsers},filteredUsers(){return"disabled"===this.selectedGroup?this.users.filter((e=>!1===e.enabled)):this.users.filter((e=>!1!==e.enabled))},groups(){return this.$store.getters.getSortedGroups.filter((e=>"__nc_internal_recent"!==e.id&&"disabled"!==e.id))},quotaOptions(){const e=this.settings.quotaPreset.reduce(((e,t)=>e.concat({id:t,label:t})),[]);return this.settings.allowUnlimitedQuota&&e.unshift(qa.SA),e.unshift(qa.MY),e},usersOffset(){return this.$store.getters.getUsersOffset},usersLimit(){return this.$store.getters.getUsersLimit},disabledUsersOffset(){return this.$store.getters.getDisabledUsersOffset},disabledUsersLimit(){return this.$store.getters.getDisabledUsersLimit},usersCount(){return this.users.length},languages(){return[{label:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},{label:t("settings","Other languages"),languages:this.settings.languages.otherLanguages}]}},watch:{async selectedGroup(e){this.isInitialLoad=!0,await this.redirectIfDisabled(),this.$store.commit("resetUsers"),await this.loadUsers(),this.setNewUserDefaultGroup(e)},filteredUsers(e){f.A.debug(`${e.length} filtered user(s)`)}},async created(){await this.loadUsers()},async mounted(){this.settings.canChangePassword||OC.Notification.showTemporary(t("settings","Password change is disabled because the master key is disabled")),this.resetForm(),(0,r.B1)("nextcloud:unified-search.search",this.search),(0,r.B1)("nextcloud:unified-search.reset",this.resetSearch),await this.redirectIfDisabled()},beforeDestroy(){(0,r.al)("nextcloud:unified-search.search",this.search),(0,r.al)("nextcloud:unified-search.reset",this.resetSearch)},methods:{async handleScrollEnd(){await this.loadUsers()},async loadUsers(){this.loading.users=!0;try{"disabled"===this.selectedGroup?await this.$store.dispatch("getDisabledUsers",{offset:this.disabledUsersOffset,limit:this.disabledUsersLimit,search:this.searchQuery}):"__nc_internal_recent"===this.selectedGroup?await this.$store.dispatch("getRecentUsers",{offset:this.usersOffset,limit:this.usersLimit,search:this.searchQuery}):await this.$store.dispatch("getUsers",{offset:this.usersOffset,limit:this.usersLimit,group:this.selectedGroup,search:this.searchQuery}),f.A.debug(`${this.users.length} total user(s) loaded`)}catch(e){f.A.error("Failed to load accounts",{error:e}),(0,c.Qg)("Failed to load accounts")}this.loading.users=!1,this.isInitialLoad=!1},closeDialog(){this.$store.commit("setShowConfig",{key:"showNewUserForm",value:!1})},async search(e){let{query:t}=e;this.searchQuery=t,this.$store.commit("resetUsers"),await this.loadUsers()},resetSearch(){this.search({query:""})},resetForm(){this.newUser=Object.assign({},Ha),this.settings.defaultLanguage&&o.Ay.set(this.newUser.language,"code",this.settings.defaultLanguage),this.setNewUserDefaultGroup(this.selectedGroup),this.loading.all=!1},setNewUserDefaultGroup(e){if(e||this.settings.isAdmin||this.settings.isDelegatedAdmin){if(e){const t=this.groups.find((t=>t.id===e));if(t)return void(this.newUser.groups=[t])}this.newUser.groups=[]}else{const e=this.$store.getters.getSubAdminGroups;1===e.length&&(this.newUser.groups=[...e])}},async redirectIfDisabled(){const e=this.$store.getters.getGroups;"disabled"===this.selectedGroup&&e.findIndex((e=>"disabled"===e.id&&0===e.usercount))>-1&&(this.$router.push({name:"users"}),await this.loadUsers())}}};var Va=a(79498),Ya={};Ya.styleTagTransform=I(),Ya.setAttributes=k(),Ya.insert=w().bind(null,"head"),Ya.domAPI=_(),Ya.insertStyleElement=N(),b()(Va.A,Ya),Va.A&&Va.A.locals&&Va.A.locals;const Qa=(0,L.A)(Wa,(function(){var e=this,t=e._self._c;return t("Fragment",[e.showConfig.showNewUserForm?t("NewUserDialog",{attrs:{loading:e.loading,"new-user":e.newUser,"quota-options":e.quotaOptions},on:{reset:e.resetForm,closing:e.closeDialog}}):e._e(),e._v(" "),0===e.filteredUsers.length?t("NcEmptyContent",{staticClass:"empty",attrs:{name:e.isInitialLoad&&e.loading.users?null:e.t("settings","No accounts")},scopedSlots:e._u([{key:"icon",fn:function(){return[e.isInitialLoad&&e.loading.users?t("NcLoadingIcon",{attrs:{name:e.t("settings","Loading accounts …"),size:64}}):t("NcIconSvgWrapper",{attrs:{path:e.mdiAccountGroup,size:64}})]},proxy:!0}],null,!1,226056511)}):t("VirtualList",{style:e.style,attrs:{"data-component":e.UserRow,"data-sources":e.filteredUsers,"data-key":"id","data-cy-user-list":"","item-height":e.rowHeight,"extra-props":{users:e.users,settings:e.settings,hasObfuscated:e.hasObfuscated,quotaOptions:e.quotaOptions,languages:e.languages,externalActions:e.externalActions}},on:{"scroll-end":e.handleScrollEnd},scopedSlots:e._u([{key:"before",fn:function(){return[t("caption",{staticClass:"hidden-visually"},[e._v("\n\t\t\t\t"+e._s(e.t("settings","List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list."))+"\n\t\t\t")])]},proxy:!0},{key:"header",fn:function(){return[t("UserListHeader",{attrs:{"has-obfuscated":e.hasObfuscated}})]},proxy:!0},{key:"footer",fn:function(){return[t("UserListFooter",{attrs:{loading:e.loading.users,"filtered-users":e.filteredUsers}})]},proxy:!0}])})],1)}),[],!1,null,"1e8fee5a",null).exports,Ka=(0,o.pM)({name:"UserManagement",components:{NcAppContent:s.A,UserList:Qa},data:()=>({externalActions:[]}),computed:{pageHeading(){return null===this.selectedGroupDecoded?(0,i.Tl)("settings","All accounts"):{admin:(0,i.Tl)("settings","Admins"),disabled:(0,i.Tl)("settings","Disabled accounts")}[this.selectedGroupDecoded]??(0,i.Tl)("settings","Account group: {group}",{group:this.selectedGroupDecoded})},selectedGroup(){return this.$route.params.selectedGroup},selectedGroupDecoded(){return this.selectedGroup?decodeURIComponent(this.selectedGroup):null}},beforeMount(){this.$store.dispatch("getPasswordPolicyMinLength")},created(){window.OCA=window.OCA??{},window.OCA.Settings=window.OCA.Settings??{},window.OCA.Settings.UserList=window.OCA.Settings.UserList??{},window.OCA.Settings.UserList.registerAction=this.registerAction,(0,r.Ic)("settings:user-management:loaded")},methods:{t:i.Tl,registerAction(e,t,n,a){return this.externalActions.push({icon:e,text:t,action:n,enabled:a}),this.externalActions}}});var Za=a(82009),Ja={};Ja.styleTagTransform=I(),Ja.setAttributes=k(),Ja.insert=w().bind(null,"head"),Ja.domAPI=_(),Ja.insertStyleElement=N(),b()(Za.A,Ja),Za.A&&Za.A.locals&&Za.A.locals;const ei=(0,L.A)(Ka,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcAppContent",{attrs:{"page-heading":e.pageHeading}},[t("UserList",{attrs:{"selected-group":e.selectedGroupDecoded,"external-actions":e.externalActions}})],1)}),[],!1,null,"253f9eec",null).exports},74307:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"\n._fadeTransition_13rtj_2 {\n\ttransition: all var(--animation-quick) ease;\n}\n._fadeTransitionActive_13rtj_6 {\n\topacity: 0;\n\tposition: absolute;\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css"],names:[],mappings:";AACA;CACC,2CAA2C;AAC5C;AACA;CACC,UAAU;CACV,kBAAkB;AACnB",sourcesContent:["\n._fadeTransition_13rtj_2 {\n\ttransition: all var(--animation-quick) ease;\n}\n._fadeTransitionActive_13rtj_6 {\n\topacity: 0;\n\tposition: absolute;\n}\n"],sourceRoot:""}]);const s=o},75463:(e,t,n)=>{"use strict";var a=n(85072),i=n.n(a),r=n(97825),o=n.n(r),s=n(77659),l=n.n(s),c=n(55056),d=n.n(c),u=n(10540),p=n.n(u),A=n(41113),g=n.n(A),h=n(29420),m={};m.styleTagTransform=g(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=o(),m.insertStyleElement=p(),i()(h.A,m),h.A&&h.A.locals&&h.A.locals},77199:()=>{},77332:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"\n.nc-select-users[data-v-ecb8da4e] .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-CRH00RA2.css"],names:[],mappings:";AACA;CACC,gCAAgC;AACjC",sourcesContent:["\n.nc-select-users[data-v-ecb8da4e] .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n"],sourceRoot:""}]);const s=o},79498:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".empty[data-v-1e8fee5a] .icon-vue{width:64px;height:64px}.empty[data-v-1e8fee5a] .icon-vue svg{max-width:64px;max-height:64px}","",{version:3,sources:["webpack://./apps/settings/src/components/UserList.vue"],names:[],mappings:"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA",sourcesContent:["\n@use './Users/shared/styles' as *;\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},79722:e=>{"use strict";e.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},82009:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".app-content[data-v-253f9eec]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}","",{version:3,sources:["webpack://./apps/settings/src/views/UserManagement.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n"],sourceRoot:""}]);const s=o},84399:(e,n,a)=>{"use strict";a.r(n),a.d(n,{default:()=>he});var i=a(85471),r=a(9165),o=a(53334),s=a(42530),l=a(52439),c=a(27345),d=a(60104),u=a(97012),p=a(85947),A=a(6695),g=a(35810),h=a(63814),m=a(65043),f=a(29270),v=a(14727),C=a(32073),b=a(40083),y=a(67607),_=a(15916),x=a(95668),w=a(36620);const E={name:"UserSettingsDialog",components:{NcAppSettingsDialog:f.N,NcAppSettingsSection:v.A,NcCheckboxRadioSwitch:C.A,NcNoteCard:b.A,NcSelect:y.A},props:{open:{type:Boolean,required:!0}},data:()=>({selectedQuota:!1,loadingSendMail:!1}),computed:{groupSorting:{get(){return this.$store.getters.getGroupSorting===_.q.GroupName?"name":"member-count"},set(e){this.$store.commit("setGroupSorting","name"===e?_.q.GroupName:_.q.UserCount)}},isGroupSortingEnforced(){return this.$store.getters.getServerData.forceSortGroupByName},isModalOpen:{get(){return this.open},set(e){this.$emit("update:open",e)}},showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},showLanguages:{get(){return this.showConfig.showLanguages},set(e){this.setShowConfig("showLanguages",e)}},showFirstLogin:{get(){return this.showConfig.showFirstLogin},set(e){this.setShowConfig("showFirstLogin",e)}},showLastLogin:{get(){return this.showConfig.showLastLogin},set(e){this.setShowConfig("showLastLogin",e)}},showUserBackend:{get(){return this.showConfig.showUserBackend},set(e){this.setShowConfig("showUserBackend",e)}},showStoragePath:{get(){return this.showConfig.showStoragePath},set(e){this.setShowConfig("showStoragePath",e)}},quotaOptions(){const e=this.settings.quotaPreset.reduce(((e,t)=>e.concat({id:t,label:t})),[]);return this.settings.allowUnlimitedQuota&&e.unshift(x.SA),e},defaultQuota:{get(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==x.SA.id&&OC.Util.computerFileSize(this.settings.defaultQuota)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:x.SA},set(e){this.selectedQuota=e}},sendWelcomeMail:{get(){return this.settings.newUserSendEmail},async set(e){try{this.loadingSendMail=!0,this.$store.commit("setServerData",{...this.settings,newUserSendEmail:e}),await m.Ay.post((0,h.Jv)("/settings/users/preferences/newUser.sendEmail"),{value:e?"yes":"no"})}catch(e){w.A.error("Could not update newUser.sendEmail preference",{error:e})}finally{this.loadingSendMail=!1}}}},methods:{filterQuotas(e,t,n){const a=n.toLocaleLowerCase().replaceAll(/\s/g,"");return(t||"").toLocaleLowerCase().replaceAll(/\s/g,"").indexOf(a)>-1},setShowConfig(e,t){this.$store.commit("setShowConfig",{key:e,value:t})},validateQuota(e){"object"==typeof e&&(e=e?.id||e.label);const t=(0,g.lT)(e,!0);return null===t?x.SA:{id:e=(0,g.v7)(t),label:e}},setDefaultQuota(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";"none"===e&&(e=x.SA),this.$store.dispatch("setAppConfig",{app:"files",key:"default_quota",value:e.id?e.id:e}).then((()=>{"object"!=typeof e&&(e={id:e,label:e}),this.defaultQuota=e}))}}};var k=a(85072),B=a.n(k),N=a(97825),S=a.n(N),I=a(77659),D=a.n(I),T=a(55056),L=a.n(T),P=a(10540),G=a.n(P),F=a(41113),O=a.n(F),U=a(6817),R={};R.styleTagTransform=O(),R.setAttributes=L(),R.insert=D().bind(null,"head"),R.domAPI=S(),R.insertStyleElement=G(),B()(U.A,R),U.A&&U.A.locals&&U.A.locals;var q=a(14486);const M=(0,q.A)(E,(function(){var e=this,t=e._self._c;return t("NcAppSettingsDialog",{attrs:{open:e.isModalOpen,"show-navigation":!0,name:e.t("settings","Account management settings")},on:{"update:open":function(t){e.isModalOpen=t}}},[t("NcAppSettingsSection",{attrs:{id:"visibility-settings",name:e.t("settings","Visibility")}},[t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLanguages",checked:e.showLanguages},on:{"update:checked":function(t){e.showLanguages=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show language"))+"\n\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showUserBackend",checked:e.showUserBackend},on:{"update:checked":function(t){e.showUserBackend=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show account backend"))+"\n\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showStoragePath",checked:e.showStoragePath},on:{"update:checked":function(t){e.showStoragePath=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show storage path"))+"\n\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showFirstLogin",checked:e.showFirstLogin},on:{"update:checked":function(t){e.showFirstLogin=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show first login"))+"\n\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLastLogin",checked:e.showLastLogin},on:{"update:checked":function(t){e.showLastLogin=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show last login"))+"\n\t\t")])],1),e._v(" "),t("NcAppSettingsSection",{attrs:{id:"groups-sorting",name:e.t("settings","Sorting")}},[e.isGroupSortingEnforced?t("NcNoteCard",{attrs:{type:"warning"}},[e._v("\n\t\t\t"+e._s(e.t("settings","The system config enforces sorting the groups by name. This also disables showing the member count."))+"\n\t\t")]):e._e(),e._v(" "),t("fieldset",[t("legend",[e._v(e._s(e.t("settings","Group list sorting")))]),e._v(" "),t("NcNoteCard",{staticClass:"dialog__note",attrs:{type:"info",text:e.t("settings","Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.")}}),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"radio",checked:e.groupSorting,"data-test":"sortGroupsByMemberCount",disabled:e.isGroupSortingEnforced,name:"group-sorting-mode",value:"member-count"},on:{"update:checked":function(t){e.groupSorting=t}}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","By member count"))+"\n\t\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"radio",checked:e.groupSorting,"data-test":"sortGroupsByName",disabled:e.isGroupSortingEnforced,name:"group-sorting-mode",value:"name"},on:{"update:checked":function(t){e.groupSorting=t}}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","By name"))+"\n\t\t\t")])],1)],1),e._v(" "),t("NcAppSettingsSection",{attrs:{id:"email-settings",name:e.t("settings","Send email")}},[t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"sendWelcomeMail",checked:e.sendWelcomeMail,disabled:e.loadingSendMail},on:{"update:checked":function(t){e.sendWelcomeMail=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Send welcome email to new accounts"))+"\n\t\t")])],1),e._v(" "),t("NcAppSettingsSection",{attrs:{id:"default-settings",name:e.t("settings","Defaults")}},[t("NcSelect",{attrs:{clearable:!1,"create-option":e.validateQuota,"filter-by":e.filterQuotas,"input-label":e.t("settings","Default quota"),options:e.quotaOptions,placement:"top",placeholder:e.t("settings","Select default quota"),taggable:""},on:{"option:selected":e.setDefaultQuota},model:{value:e.defaultQuota,callback:function(t){e.defaultQuota=t},expression:"defaultQuota"}})],1)],1)}),[],!1,null,"9f7a355c",null).exports;var j=a(85168),z=a(13073),$=a(54914),X=a(24387),H=a(44131),W=a(30594),V=a(50998),Y=a(60126),Q=a(59892),K=a(57505),Z=a(69496),J=a(43261),ee=a(79759),te=a(2413);const ne={name:"GroupListItem",components:{AccountGroup:J.A,Delete:ee.A,Fragment:$.F,NcActionButton:K.A,NcActionInput:H.A,NcAppNavigationItem:l.A,NcButton:u.A,NcCounterBubble:p.A,NcModal:Z.A,NcNoteCard:b.A,Pencil:te.A},props:{active:{type:Boolean,required:!0},count:{type:Number,default:null},id:{type:String,required:!0},name:{type:String,required:!0}},data:()=>({loadingRenameGroup:!1,openGroupMenu:!1,showRemoveGroupModal:!1}),computed:{settings(){return this.$store.getters.getServerData}},methods:{handleGroupMenuOpen(){this.openGroupMenu=!0},async renameGroup(e){if(""===e.trim())return;const t=this.$refs.displayNameInput.$el.querySelector('input[type="text"]').value;if(""!==t.trim())try{this.openGroupMenu=!1,this.loadingRenameGroup=!0,await this.$store.dispatch("renameGroup",{groupid:e.trim(),displayName:t.trim()}),this.loadingRenameGroup=!1}catch{this.openGroupMenu=!0,this.loadingRenameGroup=!1}},async removeGroup(){try{await this.$store.dispatch("removeGroup",this.id),this.showRemoveGroupModal=!1}catch(e){(0,j.Qg)(t("settings",'Failed to delete group "{group}"',{group:this.name}))}}}};var ae=a(60197),ie={};ie.styleTagTransform=O(),ie.setAttributes=L(),ie.insert=D().bind(null,"head"),ie.domAPI=S(),ie.insertStyleElement=G(),B()(ae.A,ie),ae.A&&ae.A.locals&&ae.A.locals;const re=(0,q.A)(ne,(function(){var e=this,t=e._self._c;return t("Fragment",[e.showRemoveGroupModal?t("NcModal",{on:{close:function(t){e.showRemoveGroupModal=!1}}},[t("div",{staticClass:"modal__content"},[t("h2",{staticClass:"modal__header"},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Please confirm the group removal"))+"\n\t\t\t")]),e._v(" "),t("NcNoteCard",{attrs:{type:"warning","show-alert":""}},[e._v("\n\t\t\t\t"+e._s(e.t("settings",'You are about to delete the group "{group}". The accounts will NOT be deleted.',{group:e.name}))+"\n\t\t\t")]),e._v(" "),t("div",{staticClass:"modal__button-row"},[t("NcButton",{attrs:{type:"secondary"},on:{click:function(t){e.showRemoveGroupModal=!1}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Cancel"))+"\n\t\t\t\t")]),e._v(" "),t("NcButton",{attrs:{type:"primary"},on:{click:e.removeGroup}},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Confirm"))+"\n\t\t\t\t")])],1)],1)]):e._e(),e._v(" "),t("NcAppNavigationItem",{key:e.id,ref:"listItem",attrs:{exact:!0,name:e.name,to:{name:"group",params:{selectedGroup:encodeURIComponent(e.id)}},loading:e.loadingRenameGroup,"menu-open":e.openGroupMenu},on:{"update:menuOpen":e.handleGroupMenuOpen},scopedSlots:e._u([{key:"icon",fn:function(){return[t("AccountGroup",{attrs:{size:20}})]},proxy:!0},{key:"counter",fn:function(){return[e.count?t("NcCounterBubble",{attrs:{type:e.active?"highlighted":void 0}},[e._v("\n\t\t\t\t"+e._s(e.count)+"\n\t\t\t")]):e._e()]},proxy:!0},{key:"actions",fn:function(){return["admin"!==e.id&&"disabled"!==e.id&&(e.settings.isAdmin||e.settings.isDelegatedAdmin)?t("NcActionInput",{ref:"displayNameInput",attrs:{"trailing-button-label":e.t("settings","Submit"),type:"text",value:e.name,label:e.t("settings","Rename group")},on:{submit:function(t){return e.renameGroup(e.id)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Pencil",{attrs:{size:20}})]},proxy:!0}],null,!1,580569589)}):e._e(),e._v(" "),"admin"!==e.id&&"disabled"!==e.id&&(e.settings.isAdmin||e.settings.isDelegatedAdmin)?t("NcActionButton",{on:{click:function(t){e.showRemoveGroupModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Delete group"))+"\n\t\t\t")]):e._e()]},proxy:!0}])})],1)}),[],!1,null,"3e2f3c17",null).exports;function oe(e){return void 0===e?null:{id:e.id,title:e.name,usercount:e.usercount??0,count:Math.max(0,(e.usercount??0)-(e.disabled??0))}}const se=e=>{const t=(0,i.EW)((()=>e.value.filter((e=>"disabled"!==e.id&&"__nc_internal_recent"!==e.id&&"admin"!==e.id)).map((e=>oe(e))).filter((e=>null!==e)))),n=(0,i.EW)((()=>oe(e.value.find((e=>"admin"===e.id))))),a=(0,i.EW)((()=>oe(e.value.find((e=>"disabled"===e.id)))));return{adminGroup:n,recentGroup:(0,i.EW)((()=>oe(e.value.find((e=>"__nc_internal_recent"===e.id))))),disabledGroup:a,userGroups:t}};var le=a(14744),ce=a(46984);const de=(0,i.pM)({__name:"AppNavigationGroupList",setup(e){const t=(0,le.P)(),n=(0,X.lq)(),a=(0,X.rd)();(0,i.KC)((async()=>{await N()}));const s=(0,i.EW)((()=>n.params?.selectedGroup)),l=(0,i.EW)((()=>s.value?decodeURIComponent(s.value):null)),d=(0,i.EW)((()=>g.value?t.getters.getSortedGroups:t.getters.getSubAdminGroups)),{userGroups:u}=se(d),p=(0,i.EW)((()=>t.getters.getServerData)),g=(0,i.EW)((()=>p.value.isAdmin||p.value.isDelegatedAdmin)),h=(0,i.KR)(!1),m=(0,i.KR)(!1),f=(0,i.KR)(!1),v=(0,i.KR)(""),C=(0,i.KR)(!1),b=(0,i.KR)(0),y=(0,i.KR)(""),_=(0,i.EW)((()=>{if(g.value)return u.value;const e=y.value.toLowerCase();return u.value.filter((t=>-1!==t.id.toLowerCase().search(e)||-1!==t.title.toLowerCase().search(e)))})),x=(0,i.KR)([]),E=(0,i.EW)((()=>x.value.findLast((e=>e?.$vnode?.key===u.value?.at(-1)?.id))?.$refs?.listItem?.$el)),k=(0,z.ITo)(E);(0,i.wB)(k,(async()=>{k.value&&await N()})),(0,i.wB)(y,(async()=>{t.commit("resetGroups"),b.value=0,await N()}));const B=(0,i.KR)();async function N(){if(g.value){B.value&&B.value.cancel(),C.value=!0;try{B.value=(0,ce.N_)({search:y.value,offset:b.value,limit:25});const e=await B.value;e.length>0&&(b.value+=25);for(const n of e)t.commit("addGroup",n)}catch(e){w.A.error((0,o.t)("settings","Failed to load groups"),{error:e})}B.value=void 0,C.value=!1}}return{__sfc:!0,store:t,route:n,router:a,selectedGroup:s,selectedGroupDecoded:l,groups:d,userGroups:u,settings:p,isAdminOrDelegatedAdmin:g,isAddGroupOpen:h,loadingAddGroup:m,hasAddGroupError:f,newGroupName:v,loadingGroups:C,offset:b,groupsSearchQuery:y,filteredGroups:_,groupListItems:x,lastGroupListItem:E,isLastGroupVisible:k,promise:B,loadGroups:N,createGroup:async function(){f.value=!1;const e=v.value.trim();if(""!==e){h.value=!1,m.value=!0;try{await t.dispatch("addGroup",e),await a.push({name:"group",params:{selectedGroup:encodeURIComponent(e)}});const n=x.value.findLast((t=>t?.$vnode?.key===e));n?.$refs?.listItem?.$el?.scrollIntoView({behavior:"smooth",block:"nearest"}),v.value=""}catch{(0,j.Qg)((0,o.t)("settings","Failed to create group"))}m.value=!1}else f.value=!0},mdiAccountGroup:r.n7C,mdiPlus:r.biz,t:o.t,Fragment:$.F,NcActionInput:H.A,NcActionText:W.A,NcAppNavigationCaption:V.N,NcAppNavigationList:c.A,NcAppNavigationSearch:Y.N,NcIconSvgWrapper:A.A,NcLoadingIcon:Q.A,GroupListItem:re}}}),ue=(0,q.A)(de,(function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.Fragment,[t(n.NcAppNavigationCaption,{attrs:{name:n.t("settings","Groups"),disabled:n.loadingAddGroup,"aria-label":n.loadingAddGroup?n.t("settings","Creating group…"):n.t("settings","Create group"),"force-menu":"","is-heading":"",open:n.isAddGroupOpen},on:{"update:open":function(e){n.isAddGroupOpen=e}},scopedSlots:e._u([n.isAdminOrDelegatedAdmin?{key:"actionsTriggerIcon",fn:function(){return[n.loadingAddGroup?t(n.NcLoadingIcon):t(n.NcIconSvgWrapper,{attrs:{path:n.mdiPlus}})]},proxy:!0}:null,n.isAdminOrDelegatedAdmin?{key:"actions",fn:function(){return[t(n.NcActionText,{scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiAccountGroup}})]},proxy:!0}],null,!1,3607647275)},[e._v("\n\t\t\t\t"+e._s(n.t("settings","Create group"))+"\n\t\t\t")]),e._v(" "),t(n.NcActionInput,{attrs:{label:n.t("settings","Group name"),"data-cy-users-settings-new-group-name":"","label-outside":!1,disabled:n.loadingAddGroup,value:n.newGroupName,error:n.hasAddGroupError,"helper-text":n.hasAddGroupError?n.t("settings","Please enter a valid group name"):""},on:{"update:value":function(e){n.newGroupName=e},submit:n.createGroup}})]},proxy:!0}:null],null,!0)}),e._v(" "),t(n.NcAppNavigationSearch,{attrs:{label:n.t("settings","Search groups…")},model:{value:n.groupsSearchQuery,callback:function(e){n.groupsSearchQuery=e},expression:"groupsSearchQuery"}}),e._v(" "),t("p",{staticClass:"hidden-visually",attrs:{id:"group-list-desc"}},[e._v("\n\t\t"+e._s(n.t("settings","List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list."))+"\n\t")]),e._v(" "),t(n.NcAppNavigationList,{staticClass:"account-management__group-list",attrs:{"aria-describedby":"group-list-desc","data-cy-users-settings-navigation-groups":"custom"}},[e._l(n.filteredGroups,(function(e){return t(n.GroupListItem,{key:e.id,ref:"groupListItems",refInFor:!0,attrs:{id:e.id,active:n.selectedGroupDecoded===e.id,name:e.title,count:e.count}})})),e._v(" "),n.loadingGroups?t("div",{attrs:{role:"note"}},[t(n.NcLoadingIcon,{attrs:{name:n.t("settings","Loading groups…")}})],1):e._e()],2)],1)}),[],!1,null,null,null).exports,pe=(0,i.pM)({__name:"UserManagementNavigation",setup(e){const t=(0,X.lq)(),n=(0,le.P)(),a=(0,i.KR)(!1),g=(0,i.EW)((()=>t.params?.selectedGroup)),h=(0,i.EW)((()=>g.value?decodeURIComponent(g.value):null)),m=(0,i.EW)((()=>n.getters.getUserCount)),f=(0,i.EW)((()=>n.getters.getSortedGroups)),{adminGroup:v,recentGroup:C,disabledGroup:b}=se(f),y=(0,i.EW)((()=>n.getters.getServerData)),_=(0,i.EW)((()=>y.value.isAdmin||y.value.isDelegatedAdmin));return{__sfc:!0,route:t,store:n,isDialogOpen:a,selectedGroup:g,selectedGroupDecoded:h,userCount:m,groups:f,adminGroup:v,recentGroup:C,disabledGroup:b,settings:y,isAdminOrDelegatedAdmin:_,showNewUserMenu:function(){n.commit("setShowConfig",{key:"showNewUserForm",value:!0})},mdiAccount:r.Gbn,mdiAccountOff:r.lBC,mdiCog:r.CZ3,mdiPlus:r.biz,mdiShieldAccount:r.Jey,mdiHistory:r.LP2,t:o.Tl,NcAppNavigation:s.A,NcAppNavigationItem:l.A,NcAppNavigationList:c.A,NcAppNavigationNew:d.A,NcButton:u.A,NcCounterBubble:p.A,NcIconSvgWrapper:A.A,UserSettingsDialog:M,AppNavigationGroupList:ue}}});var Ae=a(49977),ge={};ge.styleTagTransform=O(),ge.setAttributes=L(),ge.insert=D().bind(null,"head"),ge.domAPI=S(),ge.insertStyleElement=G(),B()(Ae.A,ge),Ae.A&&Ae.A.locals&&Ae.A.locals;const he=(0,q.A)(pe,(function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcAppNavigation,{staticClass:"account-management__navigation",attrs:{"aria-label":n.t("settings","Account management")},scopedSlots:e._u([{key:"footer",fn:function(){return[t(n.NcButton,{staticClass:"account-management__settings-toggle",attrs:{type:"tertiary"},on:{click:function(e){n.isDialogOpen=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiCog}})]},proxy:!0}])},[e._v("\n\t\t\t"+e._s(n.t("settings","Account management settings"))+"\n\t\t")]),e._v(" "),t(n.UserSettingsDialog,{attrs:{open:n.isDialogOpen},on:{"update:open":function(e){n.isDialogOpen=e}}})]},proxy:!0}])},[t(n.NcAppNavigationNew,{attrs:{"button-id":"new-user-button",text:n.t("settings","New account")},on:{click:n.showNewUserMenu,keyup:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:n.showNewUserMenu.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:n.showNewUserMenu.apply(null,arguments)}]},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiPlus}})]},proxy:!0}])}),e._v(" "),t(n.NcAppNavigationList,{staticClass:"account-management__system-list",attrs:{"data-cy-users-settings-navigation-groups":"system"}},[t(n.NcAppNavigationItem,{attrs:{id:"everyone",exact:!0,name:n.t("settings","All accounts"),to:{name:"users"}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiAccount}})]},proxy:!0},{key:"counter",fn:function(){return[n.userCount?t(n.NcCounterBubble,{attrs:{type:n.selectedGroupDecoded?void 0:"highlighted"}},[e._v("\n\t\t\t\t\t"+e._s(n.userCount)+"\n\t\t\t\t")]):e._e()]},proxy:!0}])}),e._v(" "),n.settings.isAdmin?t(n.NcAppNavigationItem,{attrs:{id:"admin",exact:!0,name:n.t("settings","Admins"),to:{name:"group",params:{selectedGroup:"admin"}}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiShieldAccount}})]},proxy:!0},{key:"counter",fn:function(){return[n.adminGroup&&n.adminGroup.count>0?t(n.NcCounterBubble,{attrs:{type:"admin"===n.selectedGroupDecoded?"highlighted":void 0}},[e._v("\n\t\t\t\t\t"+e._s(n.adminGroup.count)+"\n\t\t\t\t")]):e._e()]},proxy:!0}],null,!1,2218088905)}):e._e(),e._v(" "),n.isAdminOrDelegatedAdmin?t(n.NcAppNavigationItem,{attrs:{id:"recent",exact:!0,name:n.t("settings","Recently active"),to:{name:"group",params:{selectedGroup:"__nc_internal_recent"}}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiHistory}})]},proxy:!0},{key:"counter",fn:function(){return[n.recentGroup?.usercount?t(n.NcCounterBubble,{attrs:{type:"__nc_internal_recent"===n.selectedGroupDecoded?"highlighted":void 0}},[e._v("\n\t\t\t\t\t"+e._s(n.recentGroup.usercount)+"\n\t\t\t\t")]):e._e()]},proxy:!0}],null,!1,2299424282)}):e._e(),e._v(" "),n.disabledGroup&&(n.disabledGroup.usercount>0||-1===n.disabledGroup.usercount)?t(n.NcAppNavigationItem,{attrs:{id:"disabled",exact:!0,name:n.t("settings","Disabled accounts"),to:{name:"group",params:{selectedGroup:"disabled"}}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiAccountOff}})]},proxy:!0},n.disabledGroup.usercount>0?{key:"counter",fn:function(){return[t(n.NcCounterBubble,{attrs:{type:"disabled"===n.selectedGroupDecoded?"highlighted":void 0}},[e._v("\n\t\t\t\t\t"+e._s(n.disabledGroup.usercount)+"\n\t\t\t\t")])]},proxy:!0}:null],null,!0)}):e._e()],1),e._v(" "),t(n.AppNavigationGroupList)],1)}),[],!1,null,"edf83404",null).exports},86886:e=>{"use strict";e.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"},88032:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-1133b4da] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-1133b4da] {\n display: flex;\n justify-content: space-between;\n}\n.app-navigation-caption--heading[data-v-1133b4da] {\n padding: var(--app-navigation-padding);\n}\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\n padding: 0 var(--app-navigation-padding);\n}\n.app-navigation-caption__name[data-v-1133b4da] {\n font-weight: bold;\n color: var(--color-main-text);\n font-size: var(--default-font-size);\n line-height: var(--default-clickable-area);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-shadow: none !important;\n flex-shrink: 1;\n padding-block: 0;\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\n margin-top: 0px;\n margin-bottom: var(--default-grid-baseline);\n}\n.app-navigation-caption__actions[data-v-1133b4da] {\n flex: 0 0 var(--default-clickable-area);\n}\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\n margin-top: calc(var(--default-clickable-area) / 2);\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,8BAA8B;AAChC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,iBAAiB;EACjB,6BAA6B;EAC7B,mCAAmC;EACnC,0CAA0C;EAC1C,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,2BAA2B;EAC3B,cAAc;EACd,gBAAgB;EAChB,6DAA6D;EAC7D,eAAe;EACf,2CAA2C;AAC7C;AACA;EACE,uCAAuC;AACzC;AACA;EACE,mDAAmD;AACrD",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-1133b4da] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-1133b4da] {\n display: flex;\n justify-content: space-between;\n}\n.app-navigation-caption--heading[data-v-1133b4da] {\n padding: var(--app-navigation-padding);\n}\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\n padding: 0 var(--app-navigation-padding);\n}\n.app-navigation-caption__name[data-v-1133b4da] {\n font-weight: bold;\n color: var(--color-main-text);\n font-size: var(--default-font-size);\n line-height: var(--default-clickable-area);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-shadow: none !important;\n flex-shrink: 1;\n padding-block: 0;\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\n margin-top: 0px;\n margin-bottom: var(--default-grid-baseline);\n}\n.app-navigation-caption__actions[data-v-1133b4da] {\n flex: 0 0 var(--default-clickable-area);\n}\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\n margin-top: calc(var(--default-clickable-area) / 2);\n}"],sourceRoot:""}]);const s=o},93131:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-46fee9ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.app-navigation-entry[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: var(--default-clickable-area);\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color 200ms ease-in-out;\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n /* hide deletion/collapse of subitems */\n}\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry.active[data-v-46fee9ac] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\n z-index: 100; /* above the bullet to allow click*/\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: var(--default-clickable-area);\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px 16px;\n line-height: var(--default-clickable-area);\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\n display: flex;\n align-items: center;\n flex: 0 0 var(--default-clickable-area);\n justify-content: center;\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n}\n\n/* Second level nesting for lists */\n.app-navigation-entry__children[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-inline-start: 16px;\n}\n\n/* Deleted entries */\n.app-navigation-entry__deleted[data-v-46fee9ac] {\n display: inline-flex;\n flex: 1 1 0;\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: var(--default-clickable-area);\n}\n\n/* counter and actions */\n.app-navigation-entry__utils[data-v-46fee9ac] {\n display: flex;\n min-width: var(--default-clickable-area);\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n /* counter */\n /* actions */\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: none;\n}\n\n/* editing state */\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\n z-index: 250;\n opacity: 1;\n}\n\n/* deleted state */\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\n z-index: 250;\n transform: translateX(0);\n}\n\n/* pinned state */\n.app-navigation-entry--pinned[data-v-46fee9ac] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n.app-navigation-new-item__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-inline-start: 7px;\n font-size: 14px;\n}\n.newItemContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-D7wroqrc.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;EACX,yCAAyC;EACzC,+DAA+D;EAC/D,8CAA8C;EAC9C,sEAAsE;EACtE,uCAAuC;AACzC;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,+DAA+D;AACjE;AACA;EACE,mDAAmD;AACrD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;AACf;AACA;EACE,oEAAoE;AACtE;AACA;EACE,YAAY,EAAE,mCAAmC;EACjD,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,sBAAsB;EACtB,yCAAyC;EACzC,UAAU;EACV,mBAAmB;EACnB,6BAA6B;EAC7B,4BAA4B;EAC5B,4EAA4E;EAC5E,0BAA0B;EAC1B,0CAA0C;AAC5C;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uCAAuC;EACvC,uBAAuB;EACvB,oCAAoC;EACpC,qCAAqC;EACrC,0BAA0B;EAC1B,4BAA4B;EAC5B,4EAA4E;AAC9E;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd;AACA;EACE,kDAAkD;EAClD,yCAAyC;EACzC,sEAAsE;AACxE;;AAEA,mCAAmC;AACnC;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,WAAW;EACX,sCAAsC;AACxC;AACA;EACE,oBAAoB;EACpB,eAAe;EACf,0BAA0B;AAC5B;;AAEA,oBAAoB;AACpB;EACE,oBAAoB;EACpB,WAAW;EACX,iHAAiH;AACnH;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,WAAW;EACX,mBAAmB;EACnB,uBAAuB;EACvB,0CAA0C;AAC5C;;AAEA,wBAAwB;AACxB;EACE,aAAa;EACb,wCAAwC;EACxC,mBAAmB;EACnB,cAAc;EACd,yBAAyB;EACzB,YAAY;EACZ,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,yDAAyD;EACzD,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,aAAa;AACf;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,UAAU;AACZ;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,wBAAwB;AAC1B;;AAEA,iBAAiB;AACjB;EACE,QAAQ;EACR,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,qEAAqE;AACvE;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,yBAAyB;EACzB,eAAe;AACjB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-46fee9ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.app-navigation-entry[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: var(--default-clickable-area);\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color 200ms ease-in-out;\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n /* hide deletion/collapse of subitems */\n}\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry.active[data-v-46fee9ac] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\n z-index: 100; /* above the bullet to allow click*/\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: var(--default-clickable-area);\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px 16px;\n line-height: var(--default-clickable-area);\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\n display: flex;\n align-items: center;\n flex: 0 0 var(--default-clickable-area);\n justify-content: center;\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n}\n\n/* Second level nesting for lists */\n.app-navigation-entry__children[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-inline-start: 16px;\n}\n\n/* Deleted entries */\n.app-navigation-entry__deleted[data-v-46fee9ac] {\n display: inline-flex;\n flex: 1 1 0;\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: var(--default-clickable-area);\n}\n\n/* counter and actions */\n.app-navigation-entry__utils[data-v-46fee9ac] {\n display: flex;\n min-width: var(--default-clickable-area);\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n /* counter */\n /* actions */\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: none;\n}\n\n/* editing state */\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\n z-index: 250;\n opacity: 1;\n}\n\n/* deleted state */\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\n z-index: 250;\n transform: translateX(0);\n}\n\n/* pinned state */\n.app-navigation-entry--pinned[data-v-46fee9ac] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n.app-navigation-new-item__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-inline-start: 7px;\n font-size: 14px;\n}\n.newItemContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}"],sourceRoot:""}]);const s=o},95066:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".footer[data-v-db2a7c4e]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-db2a7c4e]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-db2a7c4e],.footer__cell span[data-v-db2a7c4e],.footer__cell label[data-v-db2a7c4e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-db2a7c4e],.footer__cell--displayname[data-v-db2a7c4e]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-db2a7c4e]{inset-inline-start:0}.footer__cell--displayname[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.footer__cell--username[data-v-db2a7c4e]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.footer__cell--avatar[data-v-db2a7c4e]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-db2a7c4e]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-db2a7c4e]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-db2a7c4e]{min-width:400px;width:400px}.footer__cell--fill[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-db2a7c4e]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.footer__subtitle[data-v-db2a7c4e]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-db2a7c4e]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-db2a7c4e]{inset-inline-start:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListFooter.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA,CDpGD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,oBAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,2CAAA,CACA,2BAAA,CACA,uBAAA",sourcesContent:["\n@use './shared/styles';\n\n.footer {\n\t@include styles.row;\n\t@include styles.cell;\n\n\t&__cell {\n\t\tposition: sticky;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&--loading {\n\t\t\tinset-inline-start: 0;\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t&--count {\n\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\tmin-width: var(--cell-width);\n\t\t\twidth: var(--cell-width);\n\t\t}\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const s=o},95668:(e,t,n)=>{"use strict";n.d(t,{HK:()=>o,MY:()=>r,SA:()=>i});var a=n(53334);const i={id:"none",label:(0,a.Tl)("settings","Unlimited")},r={id:"default",label:(0,a.Tl)("settings","Default quota")},o=e=>{const t=Object.keys(e);return 1===t.length&&"id"===t.at(0)}},96599:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-cbad78fb] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#guest-content-vue[data-v-cbad78fb] {\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n min-width: 0;\n border-radius: var(--border-radius-large);\n box-shadow: 0 0 10px var(--color-box-shadow);\n height: fit-content;\n padding: 15px;\n margin: 20px auto;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#content.nc-guest-content {\n overflow: auto;\n margin-bottom: 0;\n height: calc(var(--body-height) + var(--body-container-margin));\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;EAC7B,8CAA8C;EAC9C,YAAY;EACZ,yCAAyC;EACzC,4CAA4C;EAC5C,mBAAmB;EACnB,aAAa;EACb,iBAAiB;AACnB,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,+DAA+D;AACjE",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-cbad78fb] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#guest-content-vue[data-v-cbad78fb] {\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n min-width: 0;\n border-radius: var(--border-radius-large);\n box-shadow: 0 0 10px var(--color-box-shadow);\n height: fit-content;\n padding: 15px;\n margin: 20px auto;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#content.nc-guest-content {\n overflow: auto;\n margin-bottom: 0;\n height: calc(var(--body-height) + var(--body-container-margin));\n}"],sourceRoot:""}]);const s=o}}]);
-//# sourceMappingURL=settings-users-3239.js.map?v=c2bb41941d6626f5c12a \ No newline at end of file
+(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[3239,9697],{523:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-button-group-base > div {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button {\n padding: 0 !important;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\n background-color: var(--color-primary-element);\n border-radius: var(--border-radius-large);\n color: var(--color-primary-element-text);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\n background-color: var(--color-primary-element-hover);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\n display: none;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,oCAAoC;AACtC;AACA;EACE,aAAa;EACb,QAAQ;EACR,8BAA8B;AAChC;AACA;EACE,SAAS;AACX;AACA;EACE,qBAAqB;EACrB,WAAW;EACX,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,8CAA8C;EAC9C,yCAAyC;EACzC,wCAAwC;AAC1C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,aAAa;AACf",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-button-group-base > div {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button {\n padding: 0 !important;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\n background-color: var(--color-primary-element);\n border-radius: var(--border-radius-large);\n color: var(--color-primary-element-text);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\n background-color: var(--color-primary-element-hover);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\n display: none;\n}"],sourceRoot:""}]);const s=o},2837:(e,t,n)=>{"use strict";n.d(t,{N:()=>B,d:()=>G,g:()=>ge}),n(7861);var a=n(58322),i=n(51431),r=n(83653),o=n(65043),s=n(32981),l=n(63814),c=n(32190),d=n(26517),u=n(28851),p=n(13073),A=n(85471),g=n(40173),h=n(43921),m=n(97012),f=n(59892),v=n(4266),C=n(47296),b=n(69496),y=n(61338),_=n(83427),x=n(89916);(0,r.r)(r.V);const w={name:"NcReferenceWidget",components:{NcButton:m.A},props:{reference:{type:Object,required:!0},interactive:{type:Boolean,default:!0},interactiveOptIn:{type:Boolean,default:!1}},setup(){const e=(0,A.KR)(!1),t=(0,A.KR)(),{width:n}=(0,p.Lhy)(t);return(0,p.BLq)(t,(([t])=>{(0,A.dY)((()=>{e.value=t.isIntersecting}))})),{width:n,isVisible:e,widgetRoot:t}},data:()=>({showInteractive:!1,rendered:!1,idleTimeout:null}),computed:{isInteractive(){return!this.interactiveOptIn&&this.interactive||this.showInteractive},hasFullWidth(){return(0,a.f)(this.reference.richObjectType)},hasCustomWidget(){return(0,a.i)(this.reference.richObjectType)},hasInteractiveView(){return(0,a.i)(this.reference.richObjectType)&&(0,a.h)(this.reference.richObjectType)},noAccess(){return this.reference&&!this.reference.accessible},descriptionStyle(){if(0===this.numberOfLines)return{display:"none"};const e=this.numberOfLines;return{lineClamp:e,webkitLineClamp:e}},numberOfLines(){return[450,550,650,1/0].findIndex((e=>this.width<e))},compactLink(){const e=this.reference.openGraphObject.link;return e?e.startsWith("https://")?e.substring(8):e.startsWith("http://")?e.substring(7):e:""},route(){return(0,h.g)(this.$router,this.reference.openGraphObject.link)},referenceWidgetLinkComponent(){return this.route?g.Wk:"a"},referenceWidgetLinkProps(){return this.route?{to:this.route}:{href:this.reference.openGraphObject.link,target:"_blank"}}},watch:{isVisible:{handler(e){e?(this.idleTimeout&&(clearTimeout(this.idleTimeout),this.idleTimeout=null),this.rendered||this.renderWidget()):this.idleTimeout=setTimeout((()=>{this.isVisible||this.destroyWidget()}),18e4)},immediate:!0}},beforeDestroy(){this.destroyWidget()},methods:{t:r.a,enableInteractive(){this.showInteractive=!0,this.renderWidget()},renderWidget(){if(!this.$refs.customWidget)return;if("open-graph"===this?.reference?.richObjectType)return;this.$refs.customWidget.innerHTML="";const e=document.createElement("div");e.style="width: 100%;",this.$refs.customWidget.appendChild(e),this.$nextTick((()=>{(0,a.a)(e,{...this.reference,interactive:this.isInteractive}),this.rendered=!0}))},destroyWidget(){this.rendered&&((0,a.e)(this.reference.richObjectType,this.$el),this.rendered=!1)}}};var E=function(){var e=this,t=e._self._c;return t("div",{ref:"widgetRoot",class:{"toggle-interactive":e.hasInteractiveView&&!e.isInteractive}},[e.reference&&e.hasCustomWidget?t("div",{ref:"customWidget",staticClass:"widget-custom",class:{"full-width":e.hasFullWidth}}):!e.noAccess&&e.reference&&e.reference.openGraphObject&&!e.hasCustomWidget?t(e.referenceWidgetLinkComponent,e._b({tag:"component",staticClass:"widget-default",attrs:{rel:"noopener noreferrer"}},"component",e.referenceWidgetLinkProps,!1),[e.reference.openGraphObject.thumb?t("img",{staticClass:"widget-default--image",attrs:{src:e.reference.openGraphObject.thumb}}):e._e(),t("div",{staticClass:"widget-default--details"},[t("p",{staticClass:"widget-default--name"},[e._v(" "+e._s(e.reference.openGraphObject.name)+" ")]),t("p",{staticClass:"widget-default--description",style:e.descriptionStyle},[e._v(" "+e._s(e.reference.openGraphObject.description)+" ")]),t("p",{staticClass:"widget-default--link"},[e._v(" "+e._s(e.compactLink)+" ")])])]):e._e(),e.interactiveOptIn&&e.hasInteractiveView&&!e.isInteractive?t("NcButton",{staticClass:"toggle-interactive--button",on:{click:e.enableInteractive}},[e._v(" "+e._s(e.t("Enable interactive view"))+" ")]):e._e()],1)},k=[];const B=(0,i.n)(w,E,k,!1,null,"734d6ae9").exports,N={name:"NcCustomPickerElement",props:{provider:{type:Object,required:!0}},emits:["cancel","submit"],data(){return{isRegistered:(0,a.d)(this.provider.id),renderResult:null}},mounted(){this.isRegistered&&this.renderElement()},beforeDestroy(){this.isRegistered&&(0,a.g)(this.provider.id,this.$el,this.renderResult)},methods:{renderElement(){this.$refs.domElement&&(this.$refs.domElement.innerHTML="");const e=(0,a.c)(this.$refs.domElement,{providerId:this.provider.id,accessible:!1});Promise.resolve(e).then((e=>{this.renderResult=e,this.renderResult.object?._isVue&&this.renderResult.object?.$on&&(this.renderResult.object.$on("submit",this.onSubmit),this.renderResult.object.$on("cancel",this.onCancel)),this.renderResult.element.addEventListener("submit",(e=>{this.onSubmit(e.detail)})),this.renderResult.element.addEventListener("cancel",this.onCancel)}))},onSubmit(e){this.$emit("submit",e)},onCancel(){this.$emit("cancel")}}};var S=function(){return(0,this._self._c)("div",{ref:"domElement"})},I=[];const D=(0,i.n)(N,S,I,!1,null,"de9850e4").exports;(0,r.r)(r.W);const T="any-link",L={id:T,title:(0,r.a)("Any link"),icon_url:(0,l.d0)("core","filetypes/link.svg")};function P(){return window._vue_richtext_reference_providers.filter((e=>{const t=!!e.search_providers_ids&&e.search_providers_ids.length>0||(0,a.d)(e.id);return t||console.debug("[smart picker]",e.id,"reference provider is discoverable but does not have any related search provider or custom picker component registered"),t}))}function G(e,t=null){const n=P(),a=e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&"),i=new RegExp(a,"i"),r=function(e){const t=window._vue_richtext_reference_provider_timestamps;return e.sort(((e,t)=>e.order===t.order?0:e.order>t.order?1:-1)).sort(((e,n)=>{const a=t[e.id],i=t[n.id];return a===i?0:void 0===i?-1:void 0===a?1:a>i?-1:1}))}(n).filter((e=>e.title.match(i))),o=t?r.slice(0,t):r;return""!==e&&0!==o.length||o.push(L),o}window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=(0,s.C)("core","reference-provider-list",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=(0,s.C)("core","reference-provider-timestamps",{}));let F=0;function O(e,t){return function(){const n=this,a=arguments;clearTimeout(F),F=setTimeout((function(){e.apply(n,a)}),t)}}function U(e){try{return Boolean(new URL(e))}catch(e){return!1}}(0,r.r)(r.Y,r.X);const R={name:"LinkVariantIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var q=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon link-variant-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},M=[];const j=(0,i.n)(R,q,M,!1,null,null).exports,z={name:"NcProviderList",components:{NcSelect:u.N,NcHighlight:d.N,NcEmptyContent:c.A,LinkVariantIcon:j},emits:["select-provider","submit"],data:()=>({selectedProvider:null,query:"",multiselectPlaceholder:(0,r.a)("Select provider"),providerIconAlt:(0,r.a)("Provider icon")}),computed:{options(){const e=[];return""!==this.query&&U(this.query)&&e.push({id:this.query,title:this.query,isLink:!0}),e.push(...G(this.query)),e}},methods:{focus(){setTimeout((()=>{this.$refs["provider-select"]?.$el?.querySelector("#provider-select-input")?.focus()}),300)},onProviderSelected(e){null!==e&&(e.isLink?this.$emit("submit",e.title):this.$emit("select-provider",e),this.selectedProvider=null)},onSearch(e,t){this.query=e}}};var $=function(){var e=this,t=e._self._c;return t("div",{staticClass:"provider-list"},[t("NcSelect",{ref:"provider-select",staticClass:"provider-list--select",attrs:{"input-id":"provider-select-input",label:"title",placeholder:e.multiselectPlaceholder,options:e.options,"append-to-body":!1,"clear-search-on-select":!0,"clear-search-on-blur":()=>!1,filterable:!1},on:{search:e.onSearch,input:e.onProviderSelected},scopedSlots:e._u([{key:"option",fn:function(n){return[n.isLink?t("div",{staticClass:"provider"},[t("LinkVariantIcon",{staticClass:"link-icon",attrs:{size:20}}),t("span",[e._v(e._s(n.title))])],1):t("div",{staticClass:"provider"},[t("img",{staticClass:"provider-icon",attrs:{src:n.icon_url,alt:e.providerIconAlt}}),t("NcHighlight",{staticClass:"option-text",attrs:{search:e.query,text:n.title}})],1)]}}]),model:{value:e.selectedProvider,callback:function(t){e.selectedProvider=t},expression:"selectedProvider"}}),t("NcEmptyContent",{staticClass:"provider-list--empty-content",scopedSlots:e._u([{key:"icon",fn:function(){return[t("LinkVariantIcon")]},proxy:!0}])})],1)},X=[];const H=(0,i.n)(z,$,X,!1,null,"f03ee0c9").exports;(0,r.r)(r.Z);const W={name:"NcRawLinkInput",components:{LinkVariantIcon:j,NcEmptyContent:c.A,NcLoadingIcon:f.A,NcReferenceWidget:B,NcTextField:v.N},props:{provider:{type:Object,required:!0}},emits:["submit"],data:()=>({inputValue:"",loading:!1,reference:null,abortController:null,inputPlaceholder:(0,r.a)("Enter link")}),computed:{isLinkValid(){return U(this.inputValue)}},methods:{focus(){this.$refs["url-input"].$el.getElementsByTagName("input")[0]?.focus()},onSubmit(e){const t=e.target.value;this.isLinkValid&&this.$emit("submit",t)},onClear(){this.inputValue="",this.reference=null},onInput(){this.reference=null,this.abortController&&this.abortController.abort(),this.isLinkValid&&O((()=>{this.updateReference()}),500)()},updateReference(){this.loading=!0,this.abortController=new AbortController,o.Ay.get((0,l.KT)("references/resolve",2)+"?reference="+encodeURIComponent(this.inputValue),{signal:this.abortController.signal}).then((e=>{this.reference=e.data.ocs.data.references[this.inputValue]})).catch((e=>{console.error(e)})).then((()=>{this.loading=!1}))}}};var V=function(){var e=this,t=e._self._c;return t("div",{staticClass:"raw-link"},[t("div",{staticClass:"input-wrapper"},[t("NcTextField",{ref:"url-input",attrs:{value:e.inputValue,"show-trailing-button":""!==e.inputValue,label:e.inputPlaceholder},on:{"update:value":[function(t){e.inputValue=t},e.onInput],"trailing-button-click":e.onClear},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.onSubmit.apply(null,arguments)}}},[e.loading?t("NcLoadingIcon",{attrs:{size:16}}):t("LinkVariantIcon",{attrs:{size:16}})],1)],1),null!==e.reference?t("NcReferenceWidget",{staticClass:"reference-widget",attrs:{reference:e.reference}}):t("NcEmptyContent",{staticClass:"raw-link--empty-content",scopedSlots:e._u([{key:"icon",fn:function(){return[e.provider.icon_url?t("img",{staticClass:"provider-icon",attrs:{src:e.provider.icon_url}}):t("LinkVariantIcon")]},proxy:!0}])})],1)},Y=[];const Q=(0,i.n)(W,V,Y,!1,null,"3c1803b5").exports,K={name:"NcSearchResult",components:{NcHighlight:d.N},props:{entry:{type:Object,required:!0},query:{type:String,required:!0}}};var Z=function(){var e=this,t=e._self._c;return t("div",{staticClass:"result"},[e.entry.icon?t("div",{staticClass:"result--icon-class",class:{[e.entry.icon]:!0,rounded:e.entry.rounded}}):t("img",{staticClass:"result--image",class:{rounded:e.entry.rounded},attrs:{src:e.entry.thumbnailUrl}}),t("div",{staticClass:"result--content"},[t("span",{staticClass:"result--content--name"},[t("NcHighlight",{attrs:{search:e.query,text:e.entry.title}})],1),t("span",{staticClass:"result--content--subline"},[t("NcHighlight",{attrs:{search:e.query,text:e.entry.subline}})],1)])])},J=[];const ee=(0,i.n)(K,Z,J,!1,null,"ff4bcbf3").exports;(0,r.r)(r._,r.Y,r.B);const te={name:"NcSearch",components:{LinkVariantIcon:j,DotsHorizontalIcon:C.D,NcEmptyContent:c.A,NcSelect:u.N,NcSearchResult:ee},props:{provider:{type:Object,required:!0},showEmptyContent:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:null}},emits:["submit"],data:()=>({searchQuery:"",selectedResult:null,resultsBySearchProvider:{},searching:!1,searchingMoreOf:null,abortController:null,noOptionsText:(0,r.a)("Start typing to search"),providerIconAlt:(0,r.a)("Provider icon")}),computed:{mySearchPlaceholder(){return this.searchPlaceholder||(0,r.a)("Search")},searchProviderIds(){return this.provider.search_providers_ids},options(){if(""===this.searchQuery)return[];const e=[];return U(this.searchQuery)&&e.push(this.rawLinkEntry),e.push(...this.formattedSearchResults),e},rawLinkEntry(){return{id:"rawLinkEntry",resourceUrl:this.searchQuery,isRawLink:!0}},formattedSearchResults(){const e=[];return this.searchProviderIds.forEach((t=>{if(this.resultsBySearchProvider[t].entries.length>0){(this.searchProviderIds.length>1||this.resultsBySearchProvider[t].entries.length>1)&&e.push({id:"groupTitle-"+t,name:this.resultsBySearchProvider[t].name,isCustomGroupTitle:!0,providerId:t});const n=this.resultsBySearchProvider[t].entries.map(((e,n)=>({id:"provider-"+t+"-entry-"+n,...e})));e.push(...n),this.resultsBySearchProvider[t].isPaginated&&e.push({id:"moreOf-"+t,name:this.resultsBySearchProvider[t].name,isMore:!0,providerId:t,isLoading:this.searchingMoreOf===t})}})),e}},mounted(){this.resetResults()},beforeDestroy(){this.cancelSearchRequests()},methods:{t:r.a,resetResults(){const e={};this.searchProviderIds.forEach((t=>{e[t]={entries:[]}})),this.resultsBySearchProvider=e},focus(){setTimeout((()=>{this.$refs["search-select"]?.$el?.querySelector("#search-select-input")?.focus()}),300)},cancelSearchRequests(){this.abortController&&this.abortController.abort()},onSearchInput(e,t){this.searchQuery=e,O((()=>{this.updateSearch()}),500)()},onSelectResultSelected(e){null!==e&&(e.resourceUrl?(this.cancelSearchRequests(),this.$emit("submit",e.resourceUrl)):e.isMore&&this.searchMoreOf(e.providerId).then((()=>{this.selectedResult=null})))},searchMoreOf(e){return this.searchingMoreOf=e,this.cancelSearchRequests(),this.searchProviders(e)},updateSearch(){if(this.cancelSearchRequests(),this.resetResults(),""!==this.searchQuery)return this.searchProviders();this.searching=!1},searchProviders(e=null){this.abortController=new AbortController,this.searching=!0;const t=null===e?[...this.searchProviderIds].map((e=>this.searchOneProvider(e))):[this.searchOneProvider(e,this.resultsBySearchProvider[e]?.cursor??null)];return Promise.allSettled(t).then((e=>{e.find((e=>"rejected"===e.status&&("CanceledError"===e.reason.name||"ERR_CANCELED"===e.reason.code)))||(this.searching=!1,this.searchingMoreOf=null)}))},searchOneProvider(e,t=null){const n=null===t?(0,l.KT)("search/providers/{providerId}/search?term={term}&limit={limit}",{providerId:e,term:this.searchQuery,limit:5}):(0,l.KT)("search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}",{providerId:e,term:this.searchQuery,limit:5,cursor:t});return o.Ay.get(n,{signal:this.abortController.signal}).then((t=>{const n=t.data.ocs.data;this.resultsBySearchProvider[e].name=n.name,this.resultsBySearchProvider[e].cursor=n.cursor,this.resultsBySearchProvider[e].isPaginated=n.isPaginated,this.resultsBySearchProvider[e].entries.push(...n.entries)}))}}};var ne=function(){var e=this,t=e._self._c;return t("div",{staticClass:"smart-picker-search",class:{"with-empty-content":e.showEmptyContent}},[t("NcSelect",{ref:"search-select",staticClass:"smart-picker-search--select",attrs:{"input-id":"search-select-input",label:"name",placeholder:e.mySearchPlaceholder,options:e.options,"append-to-body":!1,"close-on-select":!1,"clear-search-on-select":!1,"clear-search-on-blur":()=>!1,"reset-focus-on-options-change":!1,filterable:!1,autoscroll:!0,"reset-on-options-change":!1,loading:e.searching},on:{search:e.onSearchInput,input:e.onSelectResultSelected},scopedSlots:e._u([{key:"option",fn:function(n){return[n.isRawLink?t("div",{staticClass:"custom-option"},[t("LinkVariantIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t("span",{staticClass:"option-text"},[e._v(" "+e._s(e.t("Raw link {options}",{options:n.resourceUrl}))+" ")])],1):n.resourceUrl?t("NcSearchResult",{staticClass:"search-result",attrs:{entry:n,query:e.searchQuery}}):n.isCustomGroupTitle?t("span",{staticClass:"custom-option group-name"},[e.provider.icon_url?t("img",{staticClass:"provider-icon group-name-icon",attrs:{src:e.provider.icon_url}}):e._e(),t("span",{staticClass:"option-text"},[t("strong",[e._v(e._s(n.name))])])]):n.isMore?t("span",{class:{"custom-option":!0}},[n.isLoading?t("span",{staticClass:"option-simple-icon icon-loading-small"}):t("DotsHorizontalIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t("span",{staticClass:"option-text"},[e._v(" "+e._s(e.t('Load more "{options}"',{options:n.name}))+" ")])],1):e._e()]}},{key:"no-options",fn:function(){return[e._v(" "+e._s(e.noOptionsText)+" ")]},proxy:!0}]),model:{value:e.selectedResult,callback:function(t){e.selectedResult=t},expression:"selectedResult"}}),e.showEmptyContent?t("NcEmptyContent",{staticClass:"smart-picker-search--empty-content",scopedSlots:e._u([{key:"icon",fn:function(){return[e.provider.icon_url?t("img",{staticClass:"provider-icon",attrs:{alt:e.providerIconAlt,src:e.provider.icon_url}}):t("LinkVariantIcon")]},proxy:!0}],null,!1,2922132592)}):e._e()],1)},ae=[];const ie=(0,i.n)(te,ne,ae,!1,null,"05fef988").exports,re={providerList:1,standardLinkInput:2,searchInput:3,customElement:4},oe={name:"NcReferencePicker",components:{NcCustomPickerElement:D,NcProviderList:H,NcRawLinkInput:Q,NcSearch:ie},props:{initialProvider:{type:Object,default:()=>null},width:{type:Number,default:null},focusOnCreate:{type:Boolean,default:!0}},emits:["cancel","cancel-raw-link","cancel-search","provider-selected","submit"],data(){return{MODES:re,selectedProvider:this.initialProvider}},computed:{mode(){return null===this.selectedProvider?re.providerList:(0,a.d)(this.selectedProvider.id)?re.customElement:this.selectedProvider.search_providers_ids?re.searchInput:re.standardLinkInput},pickerWrapperStyle(){return{width:this.width?this.width+"px":void 0}}},mounted(){this.focusOnCreate&&(this.initialProvider?setTimeout((()=>{this.$refs["url-input"]?.focus()}),300):this.$nextTick((()=>{this.$refs["provider-list"]?.focus()})))},methods:{onEscapePressed(){null!==this.selectedProvider?this.deselectProvider():this.cancelProviderSelection()},onProviderSelected(e){this.selectedProvider=e,this.$emit("provider-selected",e),this.$nextTick((()=>{this.$refs["url-input"]?.focus()}))},cancelCustomElement(){this.deselectProvider()},cancelSearch(){this.$emit("cancel-search",this.selectedProvider?.title),this.deselectProvider()},cancelRawLinkInput(){this.$emit("cancel-raw-link",this.selectedProvider?.title),this.deselectProvider()},cancelProviderSelection(){this.$emit("cancel")},submitLink(e){null!==this.selectedProvider&&function(e){const t=Math.floor(Date.now()/1e3),n={timestamp:t},a=(0,l.KT)("references/provider/{providerId}",{providerId:e});o.Ay.put(a,n).then((n=>{window._vue_richtext_reference_provider_timestamps[e]=t}))}(this.selectedProvider.id),this.$emit("submit",e),this.deselectProvider()},deselectProvider(){this.selectedProvider=null,this.$emit("provider-selected",null),setTimeout((()=>{this.$refs["provider-list"]?.focus()}),300)}}};var se=function(){var e=this,t=e._self._c;return t("div",{staticClass:"reference-picker",style:e.pickerWrapperStyle,attrs:{tabindex:"-1"},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:(t.stopPropagation(),t.preventDefault(),e.onEscapePressed.apply(null,arguments))}}},[e.mode===e.MODES.providerList?t("NcProviderList",{ref:"provider-list",on:{"select-provider":e.onProviderSelected,submit:e.submitLink,cancel:e.cancelProviderSelection}}):e.mode===e.MODES.standardLinkInput?t("NcRawLinkInput",{ref:"url-input",attrs:{provider:e.selectedProvider},on:{submit:e.submitLink,cancel:e.cancelRawLinkInput}}):e.mode===e.MODES.searchInput?t("NcSearch",{ref:"url-input",attrs:{provider:e.selectedProvider},on:{cancel:e.cancelSearch,submit:e.submitLink}}):e.mode===e.MODES.customElement?t("div",{staticClass:"custom-element-wrapper"},[t("NcCustomPickerElement",{staticClass:"custom-element",attrs:{provider:e.selectedProvider},on:{submit:e.submitLink,cancel:e.cancelCustomElement}})],1):e._e()],1)},le=[];const ce=(0,i.n)(oe,se,le,!1,null,"cd33df8e").exports;(0,r.r)(r.$,r.n);const de={name:"NcReferencePickerModal",components:{NcReferencePicker:ce,NcModal:b.A,NcButton:m.A,ArrowLeftIcon:_.A,CloseIcon:x.C},props:{initialProvider:{type:Object,default:()=>null},focusOnCreate:{type:Boolean,default:!0},isInsideViewer:{type:Boolean,default:!1}},emits:["cancel","submit"],data(){return{show:!0,selectedProvider:this.initialProvider,backButtonTitle:(0,r.a)("Back to provider selection"),closeButtonTitle:(0,r.a)("Close"),closeButtonLabel:(0,r.a)("Close Smart Picker")}},computed:{isProviderSelected(){return null!==this.selectedProvider},showBackButton(){return null===this.initialProvider&&this.isProviderSelected},modalSize(){return this.isProviderSelected&&(0,a.d)(this.selectedProvider.id)?(0,a.j)(this.selectedProvider.id)??"large":"normal"},showModalName(){return!this.isProviderSelected||!(0,a.d)(this.selectedProvider.id)},modalName(){return this.isProviderSelected?this.selectedProvider.title:(0,r.a)("Smart Picker")}},mounted(){if(this.isInsideViewer){const e=this.$refs.modal_content;(0,y.Ic)("viewer:trapElements:changed",e)}},methods:{onCancel(){this.show=!1,this.$emit("cancel")},onSubmit(e){this.show=!1,this.$emit("submit",e)},onProviderSelect(e){this.selectedProvider=e,null===e&&null!==this.initialProvider&&this.onCancel()},onBackClicked(){this.$refs.referencePicker.deselectProvider()}}};var ue=function(){var e=this,t=e._self._c;return e.show?t("NcModal",{staticClass:"reference-picker-modal",attrs:{size:e.modalSize,"can-close":!0},on:{close:e.onCancel}},[t("div",{ref:"modal_content",staticClass:"reference-picker-modal--content"},[e.showBackButton?t("NcButton",{staticClass:"back-button",attrs:{"aria-label":e.backButtonTitle,title:e.backButtonTitle},on:{click:e.onBackClicked},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowLeftIcon")]},proxy:!0}],null,!1,3001860362)}):e._e(),t("NcButton",{staticClass:"close-button",attrs:{"aria-label":e.closeButtonLabel,title:e.closeButtonTitle,variant:"tertiary"},on:{click:e.onCancel},scopedSlots:e._u([{key:"icon",fn:function(){return[t("CloseIcon")]},proxy:!0}],null,!1,2491825086)}),e.showModalName?t("h2",[e._v(" "+e._s(e.modalName)+" ")]):e._e(),t("NcReferencePicker",{ref:"referencePicker",attrs:{"initial-provider":e.initialProvider,"focus-on-create":e.focusOnCreate},on:{"provider-selected":e.onProviderSelect,submit:e.onSubmit,cancel:e.onCancel}})],1)]):e._e()},pe=[];const Ae=(0,i.n)(de,ue,pe,!1,null,"c66449c1").exports;async function ge(e=null,t=void 0){return await new Promise(((n,a)=>{const i=document.createElement("div");i.id="referencePickerModal",document.body.append(i);const r=null===e?null:function(e){return e===T?L:P().find((t=>t.id===e))}(e)??null,o=new(A.Ay.extend(Ae))({propsData:{initialProvider:r,isInsideViewer:t}}).$mount(i);o.$on("cancel",(()=>{o.$destroy(),a(new Error("User cancellation"))})),o.$on("submit",(e=>{o.$destroy(),n(e)}))}))}},6817:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".dialog__note[data-v-9f7a355c]{font-weight:normal}fieldset[data-v-9f7a355c]{font-weight:bold}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue"],names:[],mappings:"AAEC,+BACC,kBAAA,CAIF,0BACC,gBAAA",sourcesContent:["\n.dialog {\n\t&__note {\n\t\tfont-weight: normal;\n\t}\n}\n\nfieldset {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const s=o},6848:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-20fd51f9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.header-menu[data-v-20fd51f9] {\n position: relative;\n width: var(--header-height);\n height: var(--header-height);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--header-height) !important;\n height: var(--header-height);\n opacity: 0.85;\n filter: none !important;\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\n opacity: 1;\n}\n@media only screen and (max-width: 512px) {\n.header-menu[data-v-20fd51f9] {\n width: var(--default-clickable-area);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--default-clickable-area) !important;\n}\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,2BAA2B;EAC3B,4BAA4B;AAC9B;AACA;EACE,8CAA8C;EAC9C,4BAA4B;EAC5B,aAAa;EACb,uBAAuB;EACvB,+EAA+E;AACjF;AACA;EACE,wBAAwB;EACxB,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;AACA;IACI,oCAAoC;AACxC;AACA;IACI,uDAAuD;AAC3D;AACA",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-20fd51f9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.header-menu[data-v-20fd51f9] {\n position: relative;\n width: var(--header-height);\n height: var(--header-height);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--header-height) !important;\n height: var(--header-height);\n opacity: 0.85;\n filter: none !important;\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\n opacity: 1;\n}\n@media only screen and (max-width: 512px) {\n.header-menu[data-v-20fd51f9] {\n width: var(--default-clickable-area);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--default-clickable-area) !important;\n}\n}"],sourceRoot:""}]);const s=o},12795:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".user-list[data-v-21942da5]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%;will-change:scroll-position}.user-list__header[data-v-21942da5],.user-list__footer[data-v-21942da5]{position:sticky;display:block}.user-list__header[data-v-21942da5]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-21942da5]{inset-inline-start:0}.user-list__body[data-v-21942da5]{display:flex;flex-direction:column;width:100%}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/VirtualList.vue"],names:[],mappings:"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,oBAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA",sourcesContent:["\n.user-list {\n\t--avatar-cell-width: 48px;\n\t--cell-padding: 7px;\n\t--cell-width: 200px;\n\t--cell-width-large: 300px;\n\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\n\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\n\n\t// Necessary for virtual scroll optimized rendering\n\tdisplay: block;\n\toverflow: auto;\n\theight: 100%;\n\twill-change: scroll-position;\n\n\t&__header,\n\t&__footer {\n\t\tposition: sticky;\n\t\t// Fix sticky positioning in Firefox\n\t\tdisplay: block;\n\t}\n\n\t&__header {\n\t\ttop: 0;\n\t\tz-index: calc(var(--sticky-column-z-index) + 1);\n\t}\n\n\t&__footer {\n\t\tinset-inline-start: 0;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t}\n}\n"],sourceRoot:""}]);const s=o},16343:(e,t,n)=>{"use strict";n.d(t,{a:()=>c,e:()=>l,g:()=>d,s:()=>u});var a=n(59097),i=n(43850),r=n(24715);const o=(0,a.c0)("nextcloud-vue").persist(!0).build();let s;function l(e,t=10){s||(s=new i.EmojiIndex(r));const n=d();let a;return e?(a=s.search(`:${e}`,t),a.length<t&&(a=a.concat(s.search(e,t-a.length)))):a=i.frequently.get(t).map((e=>s.emoji(e)))||[],a.map((e=>e.getSkin(n)))}function c(e){i.frequently.add(e)}function d(){const e=Number.parseInt(o.getItem("NcEmojiPicker::currentSkinTone")??"1");return Math.min(Math.max(e,1),6)}function u(e){e=Math.min(Math.max(e,1),6),o.setItem("NcEmojiPicker::currentSkinTone",e.toString())}},19697:(e,t,n)=>{"use strict";n.d(t,{N:()=>Vt}),n(60441);var a=n(85471),i=n(2837),r=n(43921),o=n(65043),s=n(82680),l=n(21777),c=n(63814),d=n(51431),u=n(95898),p=n(47970),A=n(64546),g=n(33239),h=n(86241),m=n(8019),f=n(87798),v=n(76643),C=n(3288),b=n(19998),y=n(86435),_=n(43819),x=n(40173);const w={name:"NcReferenceList",components:{NcReferenceWidget:i.N},props:{text:{type:String,default:""},referenceData:{type:Array,default:null},limit:{type:Number,default:1},displayFallback:{type:Boolean,default:!1},interactive:{type:Boolean,default:!0},interactiveOptIn:{type:Boolean,default:!1}},data:()=>({references:null,loading:!0}),computed:{isVisible(){return this.loading||0!==this.displayedReferences.length},values(){return this.referenceData?this.referenceData:!this.displayFallback||this.loading||this.references?this.references?Object.values(this.references):[]:[this.fallbackReference]},firstReference(){return this.values[0]??null},displayedReferences(){return this.values.slice(0,this.limit)},fallbackReference(){return{accessible:!0,openGraphObject:{id:this.text,link:this.text,name:this.text},richObjectType:"open-graph"}}},watch:{text:"fetch"},mounted(){this.fetch()},methods:{fetch(){return this.loading=!0,this.referenceData?(this.references=null,void(this.loading=!1)):new RegExp(r.U).exec(this.text)?void this.resolve().then((e=>{this.references=e.data.ocs.data.references,this.loading=!1,this.$emit("loaded")})).catch((e=>{console.error("Failed to extract references",e),this.loading=!1,this.$emit("loaded")})):(this.references=null,void(this.loading=!1))},resolve(){const e=new RegExp(r.U).exec(this.text.trim()),t=null===(0,l.HW)();return 1===this.limit&&e?t?o.Ay.get((0,c.KT)("references/resolvePublic")+`?reference=${encodeURIComponent(e[0])}&sharingToken=${(0,s.G)()}`):o.Ay.get((0,c.KT)("references/resolve")+`?reference=${encodeURIComponent(e[0])}`):t?o.Ay.post((0,c.KT)("references/extractPublic"),{text:this.text,resolve:!0,limit:this.limit,sharingToken:(0,s.G)()}):o.Ay.post((0,c.KT)("references/extract"),{text:this.text,resolve:!0,limit:this.limit})}}};var E=function(){var e=this,t=e._self._c;return e.isVisible?t("div",{staticClass:"widgets--list",class:{"icon-loading":e.loading}},e._l(e.displayedReferences,(function(n){return t("NcReferenceWidget",{key:n?.openGraphObject?.id,attrs:{reference:n,interactive:e.interactive,"interactive-opt-in":e.interactiveOptIn}})})),1):e._e()},k=[];const B=(0,d.n)(w,E,k,!1,null,"ffdba753").exports,N=function(){return function(e){(0,p.YR)(e,(e=>"text"===e.type),(function(e,t,n){const a=e.value.split(/(\{[a-z\-_.0-9]+\})/gi).map(((e,t,n)=>{const a=e.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!a)return(0,g.u)("text",e);const[,i]=a;return(0,g.u)("element",{tagName:`#${i}`})}));n.children.splice(t,1,...a)}))}},S=function(){return function(e){(0,p.YR)(e,(e=>["text","code","inlineCode"].includes(e.type)),((e,t,n)=>(n.children.splice(t,1,{...e,value:e.value.replace(/&lt;/gim,"<").replace(/&gt;/gim,">")}),[A._Z,t+1])))}};function I(e,t){const n=String(e);if("string"!=typeof t)throw new TypeError("Expected character");let a=0,i=n.indexOf(t);for(;-1!==i;)a++,i=n.indexOf(t,i+t.length);return a}const D=U(/[A-Za-z]/),T=U(/[\dA-Za-z]/);function L(e){return null!==e&&e<-2}function P(e){return null!==e&&(e<0||32===e)}function G(e){return-2===e||-1===e||32===e}const F=U(new RegExp("\\p{P}|\\p{S}","u")),O=U(/\s/);function U(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}const R=function(e){if(null==e)return M;if("function"==typeof e)return q(e);if("object"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=R(e[n]);return q((function(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}))}(e):function(e){const t=e;return q((function(n){const a=n;let i;for(i in e)if(a[i]!==t[i])return!1;return!0}))}(e);if("string"==typeof e)return t=e,q((function(e){return e&&e.type===t}));var t;throw new Error("Expected function, string, or object as test")};function q(e){return function(t,n,a){return Boolean(function(e){return null!==e&&"object"==typeof e&&"type"in e}(t)&&e.call(this,t,"number"==typeof n?n:void 0,a||void 0))}}function M(){return!0}const j=[],z=!0,$=!1,X="skip";function H(e,t,n,a){let i;i=t;const r=R(i);!function e(t,a,i){const o=t&&"object"==typeof t?t:{};if("string"==typeof o.type){const e="string"==typeof o.tagName?o.tagName:"string"==typeof o.name?o.name:void 0;Object.defineProperty(s,"name",{value:"node ("+t.type+(e?"<"+e+">":"")+")"})}return s;function s(){let o,s,l,c=j;if(r(t,a,i[i.length-1]||void 0)&&(c=function(e){return Array.isArray(e)?e:"number"==typeof e?[z,e]:null==e?j:[e]}(n(t,i)),c[0]===$))return c;if("children"in t&&t.children){const n=t;if(n.children&&c[0]!==X)for(s=0,l=i.concat(n);s>-1&&s<n.children.length;){const t=n.children[s];if(o=e(t,s,l)(),o[0]===$)return o;s="number"==typeof o[1]?o[1]:s+1}}return c}}(e,void 0,[])()}function W(e){return"function"==typeof e?e:function(){return e}}const V="phrasing",Y=["autolink","link","image","label"];function Q(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function K(e){this.config.enter.autolinkProtocol.call(this,e)}function Z(e){this.config.exit.autolinkProtocol.call(this,e)}function J(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function ee(e){this.config.exit.autolinkEmail.call(this,e)}function te(e){this.exit(e)}function ne(e){!function(e,t,n){const a=R((n||{}).ignore||[]),i=function(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let a=-1;for(;++a<n.length;){const e=n[a];t.push([(i=e[0],"string"==typeof i?new RegExp(function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(i),"g"):i),W(e[1])])}var i;return t}(t);let r=-1;for(;++r<i.length;)H(e,"text",o);function o(e,t){let n,o=-1;for(;++o<t.length;){const e=t[o],i=n?n.children:void 0;if(a(e,i?i.indexOf(e):void 0,n))return;n=e}if(n)return function(e,t){const n=t[t.length-1],a=i[r][0],o=i[r][1];let s=0;const l=n.children.indexOf(e);let c=!1,d=[];a.lastIndex=0;let u=a.exec(e.value);for(;u;){const n=u.index,i={index:u.index,input:u.input,stack:[...t,e]};let r=o(...u,i);if("string"==typeof r&&(r=r.length>0?{type:"text",value:r}:void 0),!1===r?a.lastIndex=n+1:(s!==n&&d.push({type:"text",value:e.value.slice(s,n)}),Array.isArray(r)?d.push(...r):r&&d.push(r),s=n+u[0].length,c=!0),!a.global)break;u=a.exec(e.value)}return c?(s<e.value.length&&d.push({type:"text",value:e.value.slice(s)}),n.children.splice(l,1,...d)):d=[e],l+d.length}(e,t)}}(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,ae],[/([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/g,ie]],{ignore:["link","linkReference"]})}function ae(e,t,n,a,i){let r="";if(!re(i))return!1;if(/^w/i.test(t)&&(n=t+n,t="",r="http://"),!function(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}(n))return!1;const o=function(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],a=n.indexOf(")");const i=I(e,"(");let r=I(e,")");for(;-1!==a&&i>r;)e+=n.slice(0,a+1),n=n.slice(a+1),a=n.indexOf(")"),r++;return[e,n]}(n+a);if(!o[0])return!1;const s={type:"link",title:null,url:r+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[s,{type:"text",value:o[1]}]:s}function ie(e,t,n,a){return!(!re(a,!0)||/[-\d_]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function re(e,t){const n=e.input.charCodeAt(e.index-1);return(0===e.index||O(n)||F(n))&&(!t||47!==n)}function oe(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}function se(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function le(){this.buffer()}function ce(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=oe(this.sliceSerialize(e)).toLowerCase()}function de(e){this.exit(e)}function ue(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function pe(){this.buffer()}function Ae(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=oe(this.sliceSerialize(e)).toLowerCase()}function ge(e){this.exit(e)}function he(e,t,n,a){const i=n.createTracker(a);let r=i.move("[^");const o=n.enter("footnoteReference"),s=n.enter("reference");return r+=i.move(n.safe(n.associationId(e),{...i.current(),before:r,after:"]"})),s(),o(),r+=i.move("]"),r}function me(e,t,n,a){const i=n.createTracker(a);let r=i.move("[^");const o=n.enter("footnoteDefinition"),s=n.enter("label");return r+=i.move(n.safe(n.associationId(e),{...i.current(),before:r,after:"]"})),s(),r+=i.move("]:"+(e.children&&e.children.length>0?" ":"")),i.shift(4),r+=i.move(n.indentLines(n.containerFlow(e,i.current()),fe)),o(),r}function fe(e,t,n){return 0===t?e:(n?"":" ")+e}he.peek=function(){return"["};const ve=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];function Ce(e){this.enter({type:"delete",children:[]},e)}function be(e){this.exit(e)}function ye(e,t,n,a){const i=n.createTracker(a),r=n.enter("strikethrough");let o=i.move("~~");return o+=n.containerPhrasing(e,{...i.current(),before:o,after:"~"}),o+=i.move("~~"),r(),o}function _e(e){return e.length}function xe(e){const t="string"==typeof e?e.codePointAt(0):0;return 67===t||99===t?99:76===t||108===t?108:82===t||114===t?114:0}function we(e,t,n){return">"+(n?"":" ")+e}function Ee(e,t,n){if("string"==typeof t&&(t=[t]),!t||0===t.length)return n;let a=-1;for(;++a<t.length;)if(e.includes(t[a]))return!0;return!1}function ke(e,t,n,a){let i=-1;for(;++i<n.unsafe.length;)if("\n"===n.unsafe[i].character&&(Ee(r=n.stack,(o=n.unsafe[i]).inConstruct,!0)&&!Ee(r,o.notInConstruct,!1)))return/[ \t]/.test(a.before)?"":" ";var r,o;return"\\\n"}function Be(e,t,n){return(n?"":" ")+e}function Ne(e){const t=e.options.quote||'"';if('"'!==t&&"'"!==t)throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function Se(e,t,n,a){const i=function(e){const t=e.options.emphasis||"*";if("*"!==t&&"_"!==t)throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}(n),r=n.enter("emphasis"),o=n.createTracker(a);let s=o.move(i);return s+=o.move(n.containerPhrasing(e,{before:s,after:i,...o.current()})),s+=o.move(i),r(),s}ye.peek=function(){return"~"},Se.peek=function(e,t,n){return n.options.emphasis||"*"};const Ie={};function De(e,t){const n=Ie;return Te(e,"boolean"!=typeof n.includeImageAlt||n.includeImageAlt,"boolean"!=typeof n.includeHtml||n.includeHtml)}function Te(e,t,n){if(function(e){return Boolean(e&&"object"==typeof e)}(e)){if("value"in e)return"html"!==e.type||n?e.value:"";if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Le(e.children,t,n)}return Array.isArray(e)?Le(e,t,n):""}function Le(e,t,n){const a=[];let i=-1;for(;++i<e.length;)a[i]=Te(e[i],t,n);return a.join("")}function Pe(e){return e.value||""}function Ge(e,t,n,a){const i=Ne(n),r='"'===i?"Quote":"Apostrophe",o=n.enter("image");let s=n.enter("label");const l=n.createTracker(a);let c=l.move("![");return c+=l.move(n.safe(e.alt,{before:c,after:"]",...l.current()})),c+=l.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(e.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(s=n.enter("destinationRaw"),c+=l.move(n.safe(e.url,{before:c,after:e.title?" ":")",...l.current()}))),s(),e.title&&(s=n.enter(`title${r}`),c+=l.move(" "+i),c+=l.move(n.safe(e.title,{before:c,after:i,...l.current()})),c+=l.move(i),s()),c+=l.move(")"),o(),c}function Fe(e,t,n,a){const i=e.referenceType,r=n.enter("imageReference");let o=n.enter("label");const s=n.createTracker(a);let l=s.move("![");const c=n.safe(e.alt,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const u=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=d,r(),"full"!==i&&c&&c===u?"shortcut"===i?l=l.slice(0,-1):l+=s.move("]"):l+=s.move(u+"]"),l}function Oe(e,t,n){let a=e.value||"",i="`",r=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(a);)i+="`";for(/[^ \r\n]/.test(a)&&(/^[ \r\n]/.test(a)&&/[ \r\n]$/.test(a)||/^`|`$/.test(a))&&(a=" "+a+" ");++r<n.unsafe.length;){const e=n.unsafe[r],t=n.compilePattern(e);let i;if(e.atBreak)for(;i=t.exec(a);){let e=i.index;10===a.charCodeAt(e)&&13===a.charCodeAt(e-1)&&e--,a=a.slice(0,e)+" "+a.slice(i.index+1)}}return i+a+i}function Ue(e,t){const n=De(e);return Boolean(!t.options.resourceLink&&e.url&&!e.title&&e.children&&1===e.children.length&&"text"===e.children[0].type&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}function Re(e,t,n,a){const i=Ne(n),r='"'===i?"Quote":"Apostrophe",o=n.createTracker(a);let s,l;if(Ue(e,n)){const t=n.stack;n.stack=[],s=n.enter("autolink");let a=o.move("<");return a+=o.move(n.containerPhrasing(e,{before:a,after:">",...o.current()})),a+=o.move(">"),s(),n.stack=t,a}s=n.enter("link"),l=n.enter("label");let c=o.move("[");return c+=o.move(n.containerPhrasing(e,{before:c,after:"](",...o.current()})),c+=o.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),c+=o.move("<"),c+=o.move(n.safe(e.url,{before:c,after:">",...o.current()})),c+=o.move(">")):(l=n.enter("destinationRaw"),c+=o.move(n.safe(e.url,{before:c,after:e.title?" ":")",...o.current()}))),l(),e.title&&(l=n.enter(`title${r}`),c+=o.move(" "+i),c+=o.move(n.safe(e.title,{before:c,after:i,...o.current()})),c+=o.move(i),l()),c+=o.move(")"),s(),c}function qe(e,t,n,a){const i=e.referenceType,r=n.enter("linkReference");let o=n.enter("label");const s=n.createTracker(a);let l=s.move("[");const c=n.containerPhrasing(e,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const u=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=d,r(),"full"!==i&&c&&c===u?"shortcut"===i?l=l.slice(0,-1):l+=s.move("]"):l+=s.move(u+"]"),l}function Me(e){const t=e.options.bullet||"*";if("*"!==t&&"+"!==t&&"-"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function je(e){const t=e.options.rule||"*";if("*"!==t&&"-"!==t&&"_"!==t)throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}Pe.peek=function(){return"<"},Ge.peek=function(){return"!"},Fe.peek=function(){return"!"},Oe.peek=function(){return"`"},Re.peek=function(e,t,n){return Ue(e,n)?"<":"["},qe.peek=function(){return"["};const ze=R(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function $e(e,t,n,a){const i=function(e){const t=e.options.strong||"*";if("*"!==t&&"_"!==t)throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}(n),r=n.enter("strong"),o=n.createTracker(a);let s=o.move(i+i);return s+=o.move(n.containerPhrasing(e,{before:s,after:i,...o.current()})),s+=o.move(i+i),r(),s}$e.peek=function(e,t,n){return n.options.strong||"*"};const Xe={blockquote:function(e,t,n,a){const i=n.enter("blockquote"),r=n.createTracker(a);r.move("> "),r.shift(2);const o=n.indentLines(n.containerFlow(e,r.current()),we);return i(),o},break:ke,code:function(e,t,n,a){const i=function(e){const t=e.options.fence||"`";if("`"!==t&&"~"!==t)throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}(n),r=e.value||"",o="`"===i?"GraveAccent":"Tilde";if(function(e,t){return Boolean(!1===t.options.fences&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}(e,n)){const e=n.enter("codeIndented"),t=n.indentLines(r,Be);return e(),t}const s=n.createTracker(a),l=i.repeat(Math.max(function(e,t){const n=String(e);let a=n.indexOf(t),i=a,r=0,o=0;if("string"!=typeof t)throw new TypeError("Expected substring");for(;-1!==a;)a===i?++r>o&&(o=r):r=1,i=a+t.length,a=n.indexOf(t,i);return o}(r,i)+1,3)),c=n.enter("codeFenced");let d=s.move(l);if(e.lang){const t=n.enter(`codeFencedLang${o}`);d+=s.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...s.current()})),t()}if(e.lang&&e.meta){const t=n.enter(`codeFencedMeta${o}`);d+=s.move(" "),d+=s.move(n.safe(e.meta,{before:d,after:"\n",encode:["`"],...s.current()})),t()}return d+=s.move("\n"),r&&(d+=s.move(r+"\n")),d+=s.move(l),c(),d},definition:function(e,t,n,a){const i=Ne(n),r='"'===i?"Quote":"Apostrophe",o=n.enter("definition");let s=n.enter("label");const l=n.createTracker(a);let c=l.move("[");return c+=l.move(n.safe(n.associationId(e),{before:c,after:"]",...l.current()})),c+=l.move("]: "),s(),!e.url||/[\0- \u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(e.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(s=n.enter("destinationRaw"),c+=l.move(n.safe(e.url,{before:c,after:e.title?" ":"\n",...l.current()}))),s(),e.title&&(s=n.enter(`title${r}`),c+=l.move(" "+i),c+=l.move(n.safe(e.title,{before:c,after:i,...l.current()})),c+=l.move(i),s()),o(),c},emphasis:Se,hardBreak:ke,heading:function(e,t,n,a){const i=Math.max(Math.min(6,e.depth||1),1),r=n.createTracker(a);if(function(e,t){let n=!1;return(0,p.YR)(e,(function(e){if("value"in e&&/\r?\n|\r/.test(e.value)||"break"===e.type)return n=!0,A.dc})),Boolean((!e.depth||e.depth<3)&&De(e)&&(t.options.setext||n))}(e,n)){const t=n.enter("headingSetext"),a=n.enter("phrasing"),o=n.containerPhrasing(e,{...r.current(),before:"\n",after:"\n"});return a(),t(),o+"\n"+(1===i?"=":"-").repeat(o.length-(Math.max(o.lastIndexOf("\r"),o.lastIndexOf("\n"))+1))}const o="#".repeat(i),s=n.enter("headingAtx"),l=n.enter("phrasing");r.move(o+" ");let c=n.containerPhrasing(e,{before:"# ",after:"\n",...r.current()});return/^[\t ]/.test(c)&&(c="&#x"+c.charCodeAt(0).toString(16).toUpperCase()+";"+c.slice(1)),c=c?o+" "+c:o,n.options.closeAtx&&(c+=" "+o),l(),s(),c},html:Pe,image:Ge,imageReference:Fe,inlineCode:Oe,link:Re,linkReference:qe,list:function(e,t,n,a){const i=n.enter("list"),r=n.bulletCurrent;let o=e.ordered?function(e){const t=e.options.bulletOrdered||".";if("."!==t&&")"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}(n):Me(n);const s=e.ordered?"."===o?")":".":function(e){const t=Me(e),n=e.options.bulletOther;if(!n)return"*"===t?"-":"*";if("*"!==n&&"+"!==n&&"-"!==n)throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}(n);let l=!(!t||!n.bulletLastUsed)&&o===n.bulletLastUsed;if(!e.ordered){const t=e.children?e.children[0]:void 0;if("*"!==o&&"-"!==o||!t||t.children&&t.children[0]||"list"!==n.stack[n.stack.length-1]||"listItem"!==n.stack[n.stack.length-2]||"list"!==n.stack[n.stack.length-3]||"listItem"!==n.stack[n.stack.length-4]||0!==n.indexStack[n.indexStack.length-1]||0!==n.indexStack[n.indexStack.length-2]||0!==n.indexStack[n.indexStack.length-3]||(l=!0),je(n)===o&&t){let t=-1;for(;++t<e.children.length;){const n=e.children[t];if(n&&"listItem"===n.type&&n.children&&n.children[0]&&"thematicBreak"===n.children[0].type){l=!0;break}}}}l&&(o=s),n.bulletCurrent=o;const c=n.containerFlow(e,a);return n.bulletLastUsed=o,n.bulletCurrent=r,i(),c},listItem:function(e,t,n,a){const i=function(e){const t=e.options.listItemIndent||"one";if("tab"!==t&&"one"!==t&&"mixed"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}(n);let r=n.bulletCurrent||Me(n);t&&"list"===t.type&&t.ordered&&(r=("number"==typeof t.start&&t.start>-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+r);let o=r.length+1;("tab"===i||"mixed"===i&&(t&&"list"===t.type&&t.spread||e.spread))&&(o=4*Math.ceil(o/4));const s=n.createTracker(a);s.move(r+" ".repeat(o-r.length)),s.shift(o);const l=n.enter("listItem"),c=n.indentLines(n.containerFlow(e,s.current()),(function(e,t,n){return t?(n?"":" ".repeat(o))+e:(n?r:r+" ".repeat(o-r.length))+e}));return l(),c},paragraph:function(e,t,n,a){const i=n.enter("paragraph"),r=n.enter("phrasing"),o=n.containerPhrasing(e,a);return r(),i(),o},root:function(e,t,n,a){return(e.children.some((function(e){return ze(e)}))?n.containerPhrasing:n.containerFlow).call(n,e,a)},strong:$e,text:function(e,t,n,a){return n.safe(e.value,a)},thematicBreak:function(e,t,n){const a=(je(n)+(n.options.ruleSpaces?" ":"")).repeat(function(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}(n));return n.options.ruleSpaces?a.slice(0,-1):a}};function He(e){const t=e._align;this.enter({type:"table",align:t.map((function(e){return"none"===e?null:e})),children:[]},e),this.data.inTable=!0}function We(e){this.exit(e),this.data.inTable=void 0}function Ve(e){this.enter({type:"tableRow",children:[]},e)}function Ye(e){this.exit(e)}function Qe(e){this.enter({type:"tableCell",children:[]},e)}function Ke(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Ze));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Ze(e,t){return"|"===t?t:e}function Je(e){const t=e||{},n=t.tableCellPadding,a=t.tablePipeAlign,i=t.stringLength,r=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[\t :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:function(e,t,n){let a=Xe.inlineCode(e,t,n);return n.stack.includes("tableCell")&&(a=a.replace(/\|/g,"\\$&")),a},table:function(e,t,n,a){return s(function(e,t,n){const a=e.children;let i=-1;const r=[],o=t.enter("table");for(;++i<a.length;)r[i]=l(a[i],t,n);return o(),r}(e,n,a),e.align)},tableCell:o,tableRow:function(e,t,n,a){const i=s([l(e,n,a)]);return i.slice(0,i.indexOf("\n"))}}};function o(e,t,n,a){const i=n.enter("tableCell"),o=n.enter("phrasing"),s=n.containerPhrasing(e,{...a,before:r,after:r});return o(),i(),s}function s(e,t){return function(e,t={}){const n=(t.align||[]).concat(),a=t.stringLength||_e,i=[],r=[],o=[],s=[];let l=0,c=-1;for(;++c<e.length;){const n=[],i=[];let u=-1;for(e[c].length>l&&(l=e[c].length);++u<e[c].length;){const r=null==(d=e[c][u])?"":String(d);if(!1!==t.alignDelimiters){const e=a(r);i[u]=e,(void 0===s[u]||e>s[u])&&(s[u]=e)}n.push(r)}r[c]=n,o[c]=i}var d;let u=-1;if("object"==typeof n&&"length"in n)for(;++u<l;)i[u]=xe(n[u]);else{const e=xe(n);for(;++u<l;)i[u]=e}u=-1;const p=[],A=[];for(;++u<l;){const e=i[u];let n="",a="";99===e?(n=":",a=":"):108===e?n=":":114===e&&(a=":");let r=!1===t.alignDelimiters?1:Math.max(1,s[u]-n.length-a.length);const o=n+"-".repeat(r)+a;!1!==t.alignDelimiters&&(r=n.length+r+a.length,r>s[u]&&(s[u]=r),A[u]=r),p[u]=o}r.splice(1,0,p),o.splice(1,0,A),c=-1;const g=[];for(;++c<r.length;){const e=r[c],n=o[c];u=-1;const a=[];for(;++u<l;){const r=e[u]||"";let o="",c="";if(!1!==t.alignDelimiters){const e=s[u]-(n[u]||0),t=i[u];114===t?o=" ".repeat(e):99===t?e%2?(o=" ".repeat(e/2+.5),c=" ".repeat(e/2-.5)):(o=" ".repeat(e/2),c=o):c=" ".repeat(e)}!1===t.delimiterStart||u||a.push("|"),!1===t.padding||!1===t.alignDelimiters&&""===r||!1===t.delimiterStart&&!u||a.push(" "),!1!==t.alignDelimiters&&a.push(o),a.push(r),!1!==t.alignDelimiters&&a.push(c),!1!==t.padding&&a.push(" "),!1===t.delimiterEnd&&u===l-1||a.push("|")}g.push(!1===t.delimiterEnd?a.join("").replace(/ +$/,""):a.join(""))}return g.join("\n")}(e,{align:t,alignDelimiters:a,padding:n,stringLength:i})}function l(e,t,n){const a=e.children;let i=-1;const r=[],s=t.enter("tableRow");for(;++i<a.length;)r[i]=o(a[i],0,t,n);return s(),r}}function et(e){const t=this.stack[this.stack.length-2];t.type,t.checked="taskListCheckValueChecked"===e.type}function tt(e){const t=this.stack[this.stack.length-2];if(t&&"listItem"===t.type&&"boolean"==typeof t.checked){const e=this.stack[this.stack.length-1];e.type;const n=e.children[0];if(n&&"text"===n.type){const a=t.children;let i,r=-1;for(;++r<a.length;){const e=a[r];if("paragraph"===e.type){i=e;break}}i===e&&(n.value=n.value.slice(1),0===n.value.length?e.children.shift():e.position&&n.position&&"number"==typeof n.position.start.offset&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function nt(e,t,n,a){const i=e.children[0],r="boolean"==typeof e.checked&&i&&"paragraph"===i.type,o="["+(e.checked?"x":" ")+"] ",s=n.createTracker(a);r&&s.move(o);let l=Xe.listItem(e,t,n,{...a,...s.current()});return r&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,(function(e){return e+o}))),l}function at(e,t,n,a){const i=e.length;let r,o=0;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,a.length<1e4)r=Array.from(a),r.unshift(t,n),e.splice(...r);else for(n&&e.splice(t,n);o<a.length;)r=a.slice(o,o+1e4),r.unshift(t,0),e.splice(...r),o+=1e4,t+=1e4}const it={}.hasOwnProperty;function rt(e,t){let n;for(n in t){const a=(it.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n];let r;if(i)for(r in i){it.call(a,r)||(a[r]=[]);const e=i[r];ot(a[r],Array.isArray(e)?e:e?[e]:[])}}}function ot(e,t){let n=-1;const a=[];for(;++n<t.length;)("after"===t[n].add?e:a).push(t[n]);at(e,0,0,a)}const st={tokenize:function(e,t,n){let a=0;return function t(r){return(87===r||119===r)&&a<3?(a++,e.consume(r),t):46===r&&3===a?(e.consume(r),i):n(r)};function i(e){return null===e?n(e):t(e)}},partial:!0},lt={tokenize:function(e,t,n){let a,i,r;return o;function o(t){return 46===t||95===t?e.check(dt,l,s)(t):null===t||P(t)||O(t)||45!==t&&F(t)?l(t):(r=!0,e.consume(t),o)}function s(t){return 95===t?a=!0:(i=a,a=void 0),e.consume(t),o}function l(e){return i||a||!r?n(e):t(e)}},partial:!0},ct={tokenize:function(e,t){let n=0,a=0;return i;function i(o){return 40===o?(n++,e.consume(o),i):41===o&&a<n?r(o):33===o||34===o||38===o||39===o||41===o||42===o||44===o||46===o||58===o||59===o||60===o||63===o||93===o||95===o||126===o?e.check(dt,t,r)(o):null===o||P(o)||O(o)?t(o):(e.consume(o),i)}function r(t){return 41===t&&a++,e.consume(t),i}},partial:!0},dt={tokenize:function(e,t,n){return a;function a(o){return 33===o||34===o||39===o||41===o||42===o||44===o||46===o||58===o||59===o||63===o||95===o||126===o?(e.consume(o),a):38===o?(e.consume(o),r):93===o?(e.consume(o),i):60===o||null===o||P(o)||O(o)?t(o):n(o)}function i(e){return null===e||40===e||91===e||P(e)||O(e)?t(e):a(e)}function r(e){return D(e)?o(e):n(e)}function o(t){return 59===t?(e.consume(t),a):D(t)?(e.consume(t),o):n(t)}},partial:!0},ut={tokenize:function(e,t,n){return function(t){return e.consume(t),a};function a(e){return T(e)?n(e):t(e)}},partial:!0},pt={tokenize:function(e,t,n){const a=this;return function(t){return 87!==t&&119!==t||!ft.call(a,a.previous)||yt(a.events)?n(t):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(st,e.attempt(lt,e.attempt(ct,i),n),n)(t))};function i(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:ft},At={tokenize:function(e,t,n){const a=this;let i="",r=!1;return function(t){return 72!==t&&104!==t||!vt.call(a,a.previous)||yt(a.events)?n(t):(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(t),e.consume(t),o)};function o(t){if(D(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),o;if(58===t){const n=i.toLowerCase();if("http"===n||"https"===n)return e.consume(t),s}return n(t)}function s(t){return 47===t?(e.consume(t),r?l:(r=!0,s)):n(t)}function l(t){return null===t||function(e){return null!==e&&(e<32||127===e)}(t)||P(t)||O(t)||F(t)?n(t):e.attempt(lt,e.attempt(ct,c),n)(t)}function c(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:vt},gt={tokenize:function(e,t,n){const a=this;let i,r;return function(t){return bt(t)&&Ct.call(a,a.previous)&&!yt(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(t)):n(t)};function o(t){return bt(t)?(e.consume(t),o):64===t?(e.consume(t),s):n(t)}function s(t){return 46===t?e.check(ut,c,l)(t):45===t||95===t||T(t)?(r=!0,e.consume(t),s):c(t)}function l(t){return e.consume(t),i=!0,s}function c(o){return r&&i&&D(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(o)):n(o)}},previous:Ct},ht={};let mt=48;for(;mt<123;)ht[mt]=gt,mt++,58===mt?mt=65:91===mt&&(mt=97);function ft(e){return null===e||40===e||42===e||95===e||91===e||93===e||126===e||P(e)}function vt(e){return!D(e)}function Ct(e){return!(47===e||bt(e))}function bt(e){return 43===e||45===e||46===e||95===e||T(e)}function yt(e){let t=e.length,n=!1;for(;t--;){const a=e[t][1];if(("labelLink"===a.type||"labelImage"===a.type)&&!a._balanced){n=!0;break}if(a._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}function _t(e){return null===e||P(e)||O(e)?1:F(e)?2:void 0}function xt(e,t,n){const a=[];let i=-1;for(;++i<e.length;){const r=e[i].resolveAll;r&&!a.includes(r)&&(t=r(t,n),a.push(r))}return t}function wt(e,t,n,a){const i=a?a-1:Number.POSITIVE_INFINITY;let r=0;return function(a){return G(a)?(e.enter(n),o(a)):t(a)};function o(a){return G(a)&&r++<i?(e.consume(a),o):(e.exit(n),t(a))}}ht[43]=gt,ht[45]=gt,ht[46]=gt,ht[95]=gt,ht[72]=[gt,At],ht[104]=[gt,At],ht[87]=[gt,pt],ht[119]=[gt,pt];const Et={tokenize:function(e,t,n){return function(t){return G(t)?wt(e,a,"linePrefix")(t):a(t)};function a(e){return null===e||L(e)?t(e):n(e)}},partial:!0},kt={tokenize:function(e,t,n){const a=this;return wt(e,(function(e){const i=a.events[a.events.length-1];return i&&"gfmFootnoteDefinitionIndent"===i[1].type&&4===i[2].sliceSerialize(i[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function Bt(e,t,n){const a=this;let i=a.events.length;const r=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o;for(;i--;){const e=a.events[i][1];if("labelImage"===e.type){o=e;break}if("gfmFootnoteCall"===e.type||"labelLink"===e.type||"label"===e.type||"image"===e.type||"link"===e.type)break}return function(i){if(!o||!o._balanced)return n(i);const s=oe(a.sliceSerialize({start:o.end,end:a.now()}));return 94===s.codePointAt(0)&&r.includes(s.slice(1))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(i),e.exit("gfmFootnoteCallLabelMarker"),t(i)):n(i)}}function Nt(e,t){let n=e.length;for(;n--;)if("labelImage"===e[n][1].type&&"enter"===e[n][0]){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const r={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},r.start),end:Object.assign({},r.end)},s=[e[n+1],e[n+2],["enter",a,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",r,t],["enter",o,t],["exit",o,t],["exit",r,t],e[e.length-2],e[e.length-1],["exit",a,t]];return e.splice(n,e.length-n+1,...s),e}function St(e,t,n){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let r,o=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),s};function s(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(s){if(o>999||93===s&&!r||null===s||91===s||P(s))return n(s);if(93===s){e.exit("chunkString");const r=e.exit("gfmFootnoteCallString");return i.includes(oe(a.sliceSerialize(r)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(s),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(s)}return P(s)||(r=!0),o++,e.consume(s),92===s?c:l}function c(t){return 91===t||92===t||93===t?(e.consume(t),o++,l):l(t)}}function It(e,t,n){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let r,o,s=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),l};function l(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):n(t)}function c(t){if(s>999||93===t&&!o||null===t||91===t||P(t))return n(t);if(93===t){e.exit("chunkString");const n=e.exit("gfmFootnoteDefinitionLabelString");return r=oe(a.sliceSerialize(n)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),u}return P(t)||(o=!0),s++,e.consume(t),92===t?d:c}function d(t){return 91===t||92===t||93===t?(e.consume(t),s++,c):c(t)}function u(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),i.includes(r)||i.push(r),wt(e,p,"gfmFootnoteDefinitionWhitespace")):n(t)}function p(e){return t(e)}}function Dt(e,t,n){return e.check(Et,t,e.attempt(kt,t,n))}function Tt(e){e.exit("gfmFootnoteDefinition")}function Lt(e){let t=(e||{}).singleTilde;const n={tokenize:function(e,n,a){const i=this.previous,r=this.events;let o=0;return function(t){return 126===i&&"characterEscape"!==r[r.length-1][1].type?a(t):(e.enter("strikethroughSequenceTemporary"),s(t))};function s(r){const l=_t(i);if(126===r)return o>1?a(r):(e.consume(r),o++,s);if(o<2&&!t)return a(r);const c=e.exit("strikethroughSequenceTemporary"),d=_t(r);return c._open=!d||2===d&&Boolean(l),c._close=!l||2===l&&Boolean(d),n(r)}},resolveAll:function(e,t){let n=-1;for(;++n<e.length;)if("enter"===e[n][0]&&"strikethroughSequenceTemporary"===e[n][1].type&&e[n][1]._close){let a=n;for(;a--;)if("exit"===e[a][0]&&"strikethroughSequenceTemporary"===e[a][1].type&&e[a][1]._open&&e[n][1].end.offset-e[n][1].start.offset==e[a][1].end.offset-e[a][1].start.offset){e[n][1].type="strikethroughSequence",e[a][1].type="strikethroughSequence";const i={type:"strikethrough",start:Object.assign({},e[a][1].start),end:Object.assign({},e[n][1].end)},r={type:"strikethroughText",start:Object.assign({},e[a][1].end),end:Object.assign({},e[n][1].start)},o=[["enter",i,t],["enter",e[a][1],t],["exit",e[a][1],t],["enter",r,t]],s=t.parser.constructs.insideSpan.null;s&&at(o,o.length,0,xt(s,e.slice(a+1,n),t)),at(o,o.length,0,[["exit",r,t],["enter",e[n][1],t],["exit",e[n][1],t],["exit",i,t]]),at(e,a-1,n-a+3,o),n=a+o.length-2;break}}for(n=-1;++n<e.length;)"strikethroughSequenceTemporary"===e[n][1].type&&(e[n][1].type="data");return e}};return null==t&&(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}}}class Pt{constructor(){this.map=[]}add(e,t,n){!function(e,t,n,a){let i=0;if(0!==n||0!==a.length){for(;i<e.map.length;){if(e.map[i][0]===t)return e.map[i][1]+=n,void e.map[i][2].push(...a);i+=1}e.map.push([t,n,a])}}(this,e,t,n)}consume(e){if(this.map.sort((function(e,t){return e[0]-t[0]})),0===this.map.length)return;let t=this.map.length;const n=[];for(;t>0;)t-=1,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push([...e]),e.length=0;let a=n.pop();for(;a;)e.push(...a),a=n.pop();this.map.length=0}}function Gt(e,t){let n=!1;const a=[];for(;t<e.length;){const i=e[t];if(n){if("enter"===i[0])"tableContent"===i[1].type&&a.push("tableDelimiterMarker"===e[t+1][1].type?"left":"none");else if("tableContent"===i[1].type){if("tableDelimiterMarker"===e[t-1][1].type){const e=a.length-1;a[e]="left"===a[e]?"center":"right"}}else if("tableDelimiterRow"===i[1].type)break}else"enter"===i[0]&&"tableDelimiterRow"===i[1].type&&(n=!0);t+=1}return a}function Ft(e,t,n){const a=this;let i,r=0,o=0;return function(e){let t=a.events.length-1;for(;t>-1;){const e=a.events[t][1].type;if("lineEnding"!==e&&"linePrefix"!==e)break;t--}const i=t>-1?a.events[t][1].type:null,r="tableHead"===i||"tableRow"===i?b:s;return r===b&&a.parser.lazy[a.now().line]?n(e):r(e)};function s(t){return e.enter("tableHead"),e.enter("tableRow"),function(e){return 124===e||(i=!0,o+=1),l(e)}(t)}function l(t){return null===t?n(t):L(t)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),u):n(t):G(t)?wt(e,l,"whitespace")(t):(o+=1,i&&(i=!1,r+=1),124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),i=!0,l):(e.enter("data"),c(t)))}function c(t){return null===t||124===t||P(t)?(e.exit("data"),l(t)):(e.consume(t),92===t?d:c)}function d(t){return 92===t||124===t?(e.consume(t),c):c(t)}function u(t){return a.interrupt=!1,a.parser.lazy[a.now().line]?n(t):(e.enter("tableDelimiterRow"),i=!1,G(t)?wt(e,p,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):p(t))}function p(t){return 45===t||58===t?g(t):124===t?(i=!0,e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),A):C(t)}function A(t){return G(t)?wt(e,g,"whitespace")(t):g(t)}function g(t){return 58===t?(o+=1,i=!0,e.enter("tableDelimiterMarker"),e.consume(t),e.exit("tableDelimiterMarker"),h):45===t?(o+=1,h(t)):null===t||L(t)?v(t):C(t)}function h(t){return 45===t?(e.enter("tableDelimiterFiller"),m(t)):C(t)}function m(t){return 45===t?(e.consume(t),m):58===t?(i=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(t),e.exit("tableDelimiterMarker"),f):(e.exit("tableDelimiterFiller"),f(t))}function f(t){return G(t)?wt(e,v,"whitespace")(t):v(t)}function v(n){return 124===n?p(n):(null===n||L(n))&&i&&r===o?(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(n)):C(n)}function C(e){return n(e)}function b(t){return e.enter("tableRow"),y(t)}function y(n){return 124===n?(e.enter("tableCellDivider"),e.consume(n),e.exit("tableCellDivider"),y):null===n||L(n)?(e.exit("tableRow"),t(n)):G(n)?wt(e,y,"whitespace")(n):(e.enter("data"),_(n))}function _(t){return null===t||124===t||P(t)?(e.exit("data"),y(t)):(e.consume(t),92===t?x:_)}function x(t){return 92===t||124===t?(e.consume(t),_):_(t)}}function Ot(e,t){let n,a,i,r=-1,o=!0,s=0,l=[0,0,0,0],c=[0,0,0,0],d=!1,u=0;const p=new Pt;for(;++r<e.length;){const A=e[r],g=A[1];"enter"===A[0]?"tableHead"===g.type?(d=!1,0!==u&&(Rt(p,t,u,n,a),a=void 0,u=0),n={type:"table",start:Object.assign({},g.start),end:Object.assign({},g.end)},p.add(r,0,[["enter",n,t]])):"tableRow"===g.type||"tableDelimiterRow"===g.type?(o=!0,i=void 0,l=[0,0,0,0],c=[0,r+1,0,0],d&&(d=!1,a={type:"tableBody",start:Object.assign({},g.start),end:Object.assign({},g.end)},p.add(r,0,[["enter",a,t]])),s="tableDelimiterRow"===g.type?2:a?3:1):!s||"data"!==g.type&&"tableDelimiterMarker"!==g.type&&"tableDelimiterFiller"!==g.type?"tableCellDivider"===g.type&&(o?o=!1:(0!==l[1]&&(c[0]=c[1],i=Ut(p,t,l,s,void 0,i)),l=c,c=[l[1],r,0,0])):(o=!1,0===c[2]&&(0!==l[1]&&(c[0]=c[1],i=Ut(p,t,l,s,void 0,i),l=[0,0,0,0]),c[2]=r)):"tableHead"===g.type?(d=!0,u=r):"tableRow"===g.type||"tableDelimiterRow"===g.type?(u=r,0!==l[1]?(c[0]=c[1],i=Ut(p,t,l,s,r,i)):0!==c[1]&&(i=Ut(p,t,c,s,r,i)),s=0):!s||"data"!==g.type&&"tableDelimiterMarker"!==g.type&&"tableDelimiterFiller"!==g.type||(c[3]=r)}for(0!==u&&Rt(p,t,u,n,a),p.consume(t.events),r=-1;++r<t.events.length;){const e=t.events[r];"enter"===e[0]&&"table"===e[1].type&&(e[1]._align=Gt(t.events,r))}return e}function Ut(e,t,n,a,i,r){const o=1===a?"tableHeader":2===a?"tableDelimiter":"tableData";0!==n[0]&&(r.end=Object.assign({},qt(t.events,n[0])),e.add(n[0],0,[["exit",r,t]]));const s=qt(t.events,n[1]);if(r={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[["enter",r,t]]),0!==n[2]){const i=qt(t.events,n[2]),r=qt(t.events,n[3]),o={type:"tableContent",start:Object.assign({},i),end:Object.assign({},r)};if(e.add(n[2],0,[["enter",o,t]]),2!==a){const a=t.events[n[2]],i=t.events[n[3]];if(a[1].end=Object.assign({},i[1].end),a[1].type="chunkText",a[1].contentType="text",n[3]>n[2]+1){const t=n[2]+1,a=n[3]-n[2]-1;e.add(t,a,[])}}e.add(n[3]+1,0,[["exit",o,t]])}return void 0!==i&&(r.end=Object.assign({},qt(t.events,i)),e.add(i,0,[["exit",r,t]]),r=void 0),r}function Rt(e,t,n,a,i){const r=[],o=qt(t.events,n);i&&(i.end=Object.assign({},o),r.push(["exit",i,t])),a.end=Object.assign({},o),r.push(["exit",a,t]),e.add(n+1,0,r)}function qt(e,t){const n=e[t],a="enter"===n[0]?"start":"end";return n[1][a]}const Mt={tokenize:function(e,t,n){const a=this;return function(t){return null===a.previous&&a._gfmTasklistFirstContentOfListItem?(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),i):n(t)};function i(t){return P(t)?(e.enter("taskListCheckValueUnchecked"),e.consume(t),e.exit("taskListCheckValueUnchecked"),r):88===t||120===t?(e.enter("taskListCheckValueChecked"),e.consume(t),e.exit("taskListCheckValueChecked"),r):n(t)}function r(t){return 93===t?(e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):n(t)}function o(a){return L(a)?t(a):G(a)?e.check({tokenize:jt},t,n)(a):n(a)}}};function jt(e,t,n){return wt(e,(function(e){return null===e?n(e):t(e)}),"whitespace")}const zt={};function $t(e){const t=e||zt,n=this.data(),a=n.micromarkExtensions||(n.micromarkExtensions=[]),i=n.fromMarkdownExtensions||(n.fromMarkdownExtensions=[]),r=n.toMarkdownExtensions||(n.toMarkdownExtensions=[]);a.push(function(e){return function(e){const t={};let n=-1;for(;++n<e.length;)rt(t,e[n]);return t}([{text:ht},{document:{91:{tokenize:It,continuation:{tokenize:Dt},exit:Tt}},text:{91:{tokenize:St},93:{add:"after",tokenize:Bt,resolveTo:Nt}}},Lt(e),{flow:{null:{tokenize:Ft,resolveAll:Ot}}},{text:{91:Mt}}])}(t)),i.push([{transforms:[ne],enter:{literalAutolink:Q,literalAutolinkEmail:K,literalAutolinkHttp:K,literalAutolinkWww:K},exit:{literalAutolink:te,literalAutolinkEmail:ee,literalAutolinkHttp:Z,literalAutolinkWww:J}},{enter:{gfmFootnoteDefinition:se,gfmFootnoteDefinitionLabelString:le,gfmFootnoteCall:ue,gfmFootnoteCallString:pe},exit:{gfmFootnoteDefinition:de,gfmFootnoteDefinitionLabelString:ce,gfmFootnoteCall:ge,gfmFootnoteCallString:Ae}},{canContainEols:["delete"],enter:{strikethrough:Ce},exit:{strikethrough:be}},{enter:{table:He,tableData:Qe,tableHeader:Qe,tableRow:Ve},exit:{codeText:Ke,table:We,tableData:Ye,tableHeader:Ye,tableRow:Ye}},{exit:{taskListCheckValueChecked:et,taskListCheckValueUnchecked:et,paragraph:tt}}]),r.push(function(e){return{extensions:[{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:V,notInConstruct:Y},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:V,notInConstruct:Y},{character:":",before:"[ps]",after:"\\/",inConstruct:V,notInConstruct:Y}]},{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:me,footnoteReference:he}},{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:ve}],handlers:{delete:ye}},Je(e),{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:nt}}]}}(t))}const Xt=["http","https","mailto","tel"],Ht=(0,a.KR)(null),Wt={name:"NcRichText",components:{NcReferenceList:B},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},referenceInteractive:{type:Boolean,default:!0},referenceInteractiveOptIn:{type:Boolean,default:!1},references:{type:Array,default:null},useMarkdown:{type:Boolean,default:!1},useExtendedMarkdown:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},emits:["interact:todo"],data:()=>({parentId:(0,h.G)(5)}),methods:{renderPlaintext(e){const t=this,n=this.text.split(/(\{[a-z\-_.0-9]+\})/gi).map((function(n,a,i){const o=n.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!o)return(({h:e,context:t},n)=>(t.autolink&&(n=(0,r.p)(n)),Array.isArray(n)?n.map((t=>{if("string"==typeof t)return t;const{component:n,props:a}=t,i="NcLink"===n.name?void 0:"rich-text--component";return e(n,{props:a,class:i})})):n))({h:e,context:t},n);const s=o[1],l=t.arguments[s];if("object"==typeof l){const{component:t,props:n}=l;return e(t,{props:n,class:"rich-text--component"})}return l?e("span",{class:"rich-text--fallback"},l):n}));return e("div",{class:"rich-text--wrapper"},[e("div",{},n.flat()),this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(B,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])},renderMarkdown(e){const t=(0,m.l)().use(f.A).use(r.r,{autolink:this.autolink,useMarkdown:this.useMarkdown,useExtendedMarkdown:this.useExtendedMarkdown}).use(S).use(this.useExtendedMarkdown?$t:void 0).use(v.A).use(C.A,{except:Xt}).use(b.A,{handlers:{component:(e,t)=>e(t,t.component,{value:t.value})}}).use(this.useExtendedMarkdown?Ht.value:void 0).use(N).use(_.A,{target:"_blank",rel:["noopener noreferrer"]}).use(y.A,{createElement:(t,a,i)=>{if(!t.startsWith("#")){if(this.useExtendedMarkdown){"code"===t&&!Ht.value&&a?.attrs?.class?.includes("language")&&async function(){const e=await n.e(5862).then(n.bind(n,75862));Ht.value=e.default}();let r=null;if("li"===t&&Array.isArray(i)&&"input"===i[0].tag&&"checkbox"===i[0].data.attrs.type){const[n,...o]=i,s=o.findIndex((e=>["ul","ol","li","blockquote","pre"].includes(e.tag)));-1!==s&&(r=o[s],o.splice(s));const l=this.parentId+"-markdown-input-"+(0,h.G)(5),c=e(u.N,{attrs:{...n.data.attrs,id:l,disabled:!this.interactive},on:{"update:checked":()=>{this.$emit("interact:todo",l)}}},o);return e(t,a,[c,r])}}if("a"===t){const t=(0,r.g)(this.$router,a.attrs.href);if(t)return delete a.attrs.href,delete a.attrs.target,e(x.Wk,{...a,props:{to:t}},i)}return e(t,a,i)}const o=this.arguments[t.slice(1)];return o?o.component?e(o.component,{attrs:a,props:o.props,class:"rich-text--component"},i):e("span",a,[o]):e("span",{attrs:a,class:"rich-text--fallback"},[`{${t.slice(1)}}`])},prefix:!1}).processSync(this.text.replace(/<[^>]+>/g,(e=>e.replace(/</g,"&lt;"))).replace(/&gt;/gim,">")).result;return e("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[t,this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(B,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])}},render(e){return this.useMarkdown||this.useExtendedMarkdown?this.renderMarkdown(e):this.renderPlaintext(e)}},Vt=(0,d.n)(Wt,null,null,!1,null,"ddd5e67e").exports},23941:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-878b819f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\n opacity: 0;\n}\n.linked-icons[data-v-878b819f] {\n display: flex;\n}\n.linked-icons img[data-v-878b819f] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-878b819f]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-878b819f] {\n display: none;\n}\n.popovermenu.open[data-v-878b819f] {\n display: block;\n}\nli.collection-list-item[data-v-878b819f] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-878b819f] {\n margin-top: 0;\n}\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-878b819f] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-878b819f] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-878b819f] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\n opacity: 1;\n}\n.should-shake[data-v-878b819f] {\n animation: shake-878b819f 0.6s 1 linear;\n}\n@keyframes shake-878b819f {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-efe8beb8] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.collection-list *[data-v-efe8beb8] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-efe8beb8] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-efe8beb8] {\n margin-top: 0;\n}\n#collection-select-container[data-v-efe8beb8] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-efe8beb8] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-efe8beb8]:hover {\n opacity: 1;\n}\np.hint[data-v-efe8beb8] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-efe8beb8] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-efe8beb8] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-efe8beb8] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-efe8beb8] {\n display: block;\n width: 32px;\n height: 32px;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-efe8beb8] {\n padding: 4px;\n}\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\n opacity: 0;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,uCAAuC;AACzC;AACA;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA,qCAAqC;AACrC;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,UAAU;AACZ",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-878b819f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\n opacity: 0;\n}\n.linked-icons[data-v-878b819f] {\n display: flex;\n}\n.linked-icons img[data-v-878b819f] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-878b819f]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-878b819f] {\n display: none;\n}\n.popovermenu.open[data-v-878b819f] {\n display: block;\n}\nli.collection-list-item[data-v-878b819f] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-878b819f] {\n margin-top: 0;\n}\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-878b819f] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-878b819f] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-878b819f] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\n opacity: 1;\n}\n.should-shake[data-v-878b819f] {\n animation: shake-878b819f 0.6s 1 linear;\n}\n@keyframes shake-878b819f {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-efe8beb8] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.collection-list *[data-v-efe8beb8] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-efe8beb8] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-efe8beb8] {\n margin-top: 0;\n}\n#collection-select-container[data-v-efe8beb8] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-efe8beb8] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-efe8beb8]:hover {\n opacity: 1;\n}\np.hint[data-v-efe8beb8] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-efe8beb8] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-efe8beb8] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-efe8beb8] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-efe8beb8] {\n display: block;\n width: 32px;\n height: 32px;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-efe8beb8] {\n padding: 4px;\n}\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\n opacity: 0;\n}"],sourceRoot:""}]);const s=o},24882:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".header[data-v-5c0f8828]{border-bottom:1px solid var(--color-border);position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.header__cell[data-v-5c0f8828]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-5c0f8828],.header__cell span[data-v-5c0f8828],.header__cell label[data-v-5c0f8828]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-5c0f8828],.header__cell--displayname[data-v-5c0f8828]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-5c0f8828]{inset-inline-start:0}.header__cell--displayname[data-v-5c0f8828]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.header__cell--username[data-v-5c0f8828]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.header__cell--avatar[data-v-5c0f8828]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-5c0f8828]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-5c0f8828]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-5c0f8828]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-5c0f8828]{min-width:400px;width:400px}.header__cell--fill[data-v-5c0f8828]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-5c0f8828]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.header__subtitle[data-v-5c0f8828]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListHeader.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBACC,2CAAA,CCEA,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA",sourcesContent:["\n@use './shared/styles';\n\n.header {\n\tborder-bottom: 1px solid var(--color-border);\n\n\t@include styles.row;\n\t@include styles.cell;\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const s=o},25966:(e,n,a)=>{"use strict";a.r(n),a.d(n,{default:()=>ei});var i=a(53334),r=a(61338),o=a(85471),s=a(18195),l=a(9165),c=a(85168),d=a(54914),u=a(32190),p=a(6695),A=a(59892),g=a(55042),h=a(17334),m=a.n(h),f=a(36620);o.Ay.directive("elementVisibility",g.Zx);const v=o.Ay.extend({name:"VirtualList",props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},itemHeight:{type:Number,required:!0},extraProps:{type:Object,default:()=>({})}},data:()=>({bufferItems:3,index:0,headerHeight:0,tableHeight:0,resizeObserver:null}),computed:{startIndex(){return Math.max(0,this.index-3)},shownItems(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+6},renderedItems(){return this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems)},tbodyStyle(){const e=this.startIndex+this.shownItems>this.dataSources.length,t=this.dataSources.length-this.startIndex-this.shownItems,n=Math.min(this.dataSources.length-this.startIndex,t);return{paddingTop:this.startIndex*this.itemHeight+"px",paddingBottom:e?0:n*this.itemHeight+"px"}}},mounted(){const e=this.$el,t=this.$refs?.tfoot,n=this.$refs?.thead;this.resizeObserver=new ResizeObserver(m()((()=>{this.headerHeight=n?.clientHeight??0,this.tableHeight=e?.clientHeight??0,f.A.debug("VirtualList resizeObserver updated"),this.onScroll()}),100,!1)),this.resizeObserver.observe(e),this.resizeObserver.observe(t),this.resizeObserver.observe(n),this.$el.addEventListener("scroll",this.onScroll)},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{handleFooterVisibility(e){e&&this.$emit("scroll-end")},onScroll(){this.index=Math.max(0,Math.round(this.$el.scrollTop/this.itemHeight))}}});var C=a(85072),b=a.n(C),y=a(97825),_=a.n(y),x=a(77659),w=a.n(x),E=a(55056),k=a.n(E),B=a(10540),N=a.n(B),S=a(41113),I=a.n(S),D=a(12795),T={};T.styleTagTransform=I(),T.setAttributes=k(),T.insert=w().bind(null,"head"),T.domAPI=_(),T.insertStyleElement=N(),b()(D.A,T),D.A&&D.A.locals&&D.A.locals;var L=a(14486);const P=(0,L.A)(v,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("table",{staticClass:"user-list"},[e._t("before"),e._v(" "),t("thead",{ref:"thead",staticClass:"user-list__header",attrs:{role:"rowgroup"}},[e._t("header")],2),e._v(" "),t("tbody",{staticClass:"user-list__body",style:e.tbodyStyle},e._l(e.renderedItems,(function(n,a){return t(e.dataComponent,e._b({key:n[e.dataKey],tag:"component",attrs:{user:n,visible:(a>=e.bufferItems||e.index<=e.bufferItems)&&a<e.shownItems-e.bufferItems}},"component",e.extraProps,!1))})),1),e._v(" "),t("tfoot",{directives:[{name:"element-visibility",rawName:"v-element-visibility",value:e.handleFooterVisibility,expression:"handleFooterVisibility"}],ref:"tfoot",staticClass:"user-list__footer",attrs:{role:"rowgroup"}},[e._t("footer")],2)],2)}),[],!1,null,"21942da5",null).exports;var G=a(35810),F=a(97012),O=a(94219),U=a(16044),R=a(67607),q=a(82182),M=a(46984);const j={name:"NewUserDialog",components:{NcButton:F.A,NcDialog:O.A,NcPasswordField:U.A,NcSelect:R.A,NcTextField:q.A},props:{loading:{type:Object,required:!0},newUser:{type:Object,required:!0},quotaOptions:{type:Array,required:!0}},data:()=>({possibleManagers:[],managerInputLabel:t("settings","Manager"),managerLabel:t("settings","Set line manager"),promise:null}),computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},usernameLabel(){return this.settings.newUserGenerateUserID?t("settings","Account name will be autogenerated"):t("settings","Account name (required)")},minPasswordLength(){return this.$store.getters.getPasswordPolicyMinLength},availableGroups(){return(this.settings.isAdmin||this.settings.isDelegatedAdmin?this.$store.getters.getSortedGroups:this.$store.getters.getSubAdminGroups).filter((e=>"__nc_internal_recent"!==e.id&&"disabled"!==e.id))},languages(){return[{name:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},...this.settings.languages.commonLanguages,{name:t("settings","Other languages"),languages:this.settings.languages.otherLanguages},...this.settings.languages.otherLanguages]}},async beforeMount(){await this.searchUserManager()},mounted(){this.$refs.username?.focus?.()},methods:{async createUser(){this.loading.all=!0;try{await this.$store.dispatch("addUser",{userid:this.newUser.id,password:this.newUser.password,displayName:this.newUser.displayName,email:this.newUser.mailAddress,groups:this.newUser.groups.map((e=>e.id)),subadmin:this.newUser.subAdminsGroups.map((e=>e.id)),quota:this.newUser.quota.id,language:this.newUser.language.code,manager:this.newUser.manager.id}),this.$emit("reset"),this.$refs.username?.focus?.(),this.$emit("closing")}catch(e){if(this.loading.all=!1,e.response&&e.response.data&&e.response.data.ocs&&e.response.data.ocs.meta){const t=e.response.data.ocs.meta.statuscode;102===t?this.$refs.username?.focus?.():107===t&&this.$refs.password?.focus?.()}}},async searchGroups(e,n){if(this.settings.isAdmin||this.settings.isDelegatedAdmin){this.promise&&this.promise.cancel(),n(!0);try{this.promise=(0,M.N_)({search:e,offset:0,limit:25});const t=await this.promise;for(const e of t)this.$store.commit("addGroup",e)}catch(e){f.A.error(t("settings","Failed to search groups"),{error:e})}this.promise=null,n(!1)}},async createGroup(e){let{name:n}=e;this.loading.groups=!0;try{await this.$store.dispatch("addGroup",n),this.newUser.groups.push({id:n,name:n})}catch(e){f.A.error(t("settings","Failed to create group"),{error:e})}this.loading.groups=!1},async addGroup(e){e.isCreating||!1!==e.canAdd&&this.newUser.groups.push(e)},validateQuota(e){const t=OC.Util.computerFileSize(e);return null!==t&&t>=0?(e=(0,G.v7)((0,G.lT)(e,!0)),this.newUser.quota={id:e,label:e},this.newUser.quota):(this.newUser.quota=this.quotaOptions[0],this.quotaOptions[0])},languageFilterBy:(e,t,n)=>e.languages?e.languages.some((e=>{let{name:t}=e;return t.toLocaleLowerCase().includes(n.toLocaleLowerCase())})):(t||"").toLocaleLowerCase().includes(n.toLocaleLowerCase()),async searchUserManager(e){await this.$store.dispatch("searchUsers",{offset:0,limit:10,search:e}).then((e=>{const t=e?.data?Object.values(e?.data.ocs.data.users):[];t.length>0&&(this.possibleManagers=t)}))}}};var z=a(90115),$={};$.styleTagTransform=I(),$.setAttributes=k(),$.insert=w().bind(null,"head"),$.domAPI=_(),$.insertStyleElement=N(),b()(z.A,$),z.A&&z.A.locals&&z.A.locals;var X=(0,L.A)(j,(function(){var e=this,t=e._self._c;return t("NcDialog",e._g({staticClass:"dialog",attrs:{size:"small",name:e.t("settings","New account"),"out-transition":""},scopedSlots:e._u([{key:"actions",fn:function(){return[t("NcButton",{staticClass:"dialog__submit",attrs:{"data-test":"submit",form:"new-user-form",type:"primary","native-type":"submit"}},[e._v("\n\t\t\t"+e._s(e.t("settings","Add new account"))+"\n\t\t")])]},proxy:!0}])},e.$listeners),[t("form",{staticClass:"dialog__form",attrs:{id:"new-user-form","data-test":"form",disabled:e.loading.all},on:{submit:function(t){return t.preventDefault(),e.createUser.apply(null,arguments)}}},[t("NcTextField",{ref:"username",staticClass:"dialog__item",attrs:{"data-test":"username",value:e.newUser.id,disabled:e.settings.newUserGenerateUserID,label:e.usernameLabel,autocapitalize:"none",autocomplete:"off",spellcheck:"false",pattern:"[a-zA-Z0-9 _\\.@\\-']+",required:""},on:{"update:value":function(t){return e.$set(e.newUser,"id",t)}}}),e._v(" "),t("NcTextField",{staticClass:"dialog__item",attrs:{"data-test":"displayName",value:e.newUser.displayName,label:e.t("settings","Display name"),autocapitalize:"none",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(t){return e.$set(e.newUser,"displayName",t)}}}),e._v(" "),e.settings.newUserRequireEmail?e._e():t("span",{staticClass:"dialog__hint",attrs:{id:"password-email-hint"}},[e._v("\n\t\t\t"+e._s(e.t("settings","Either password or email is required"))+"\n\t\t")]),e._v(" "),t("NcPasswordField",{ref:"password",staticClass:"dialog__item",attrs:{"data-test":"password",value:e.newUser.password,minlength:e.minPasswordLength,maxlength:469,"aria-describedby":"password-email-hint",label:""===e.newUser.mailAddress?e.t("settings","Password (required)"):e.t("settings","Password"),autocapitalize:"none",autocomplete:"new-password",spellcheck:"false",required:""===e.newUser.mailAddress},on:{"update:value":function(t){return e.$set(e.newUser,"password",t)}}}),e._v(" "),t("NcTextField",{staticClass:"dialog__item",attrs:{"data-test":"email",type:"email",value:e.newUser.mailAddress,"aria-describedby":"password-email-hint",label:""===e.newUser.password||e.settings.newUserRequireEmail?e.t("settings","Email (required)"):e.t("settings","Email"),autocapitalize:"none",autocomplete:"off",spellcheck:"false",required:""===e.newUser.password||e.settings.newUserRequireEmail},on:{"update:value":function(t){return e.$set(e.newUser,"mailAddress",t)}}}),e._v(" "),t("div",{staticClass:"dialog__item"},[t("NcSelect",{staticClass:"dialog__select",attrs:{"data-test":"groups","input-label":e.settings.isAdmin||e.settings.isDelegatedAdmin?e.t("settings","Member of the following groups"):e.t("settings","Member of the following groups (required)"),placeholder:e.t("settings","Set account groups"),disabled:e.loading.groups||e.loading.all,options:e.availableGroups,value:e.newUser.groups,label:"name","close-on-select":!1,multiple:!0,taggable:e.settings.isAdmin||e.settings.isDelegatedAdmin,required:!e.settings.isAdmin&&!e.settings.isDelegatedAdmin,"create-option":e=>({id:e,name:e,isCreating:!0})},on:{search:e.searchGroups,"option:created":e.createGroup,"option:selected":t=>e.addGroup(t.at(-1))}})],1),e._v(" "),t("div",{staticClass:"dialog__item"},[t("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":e.t("settings","Admin of the following groups"),placeholder:e.t("settings","Set account as admin for …"),disabled:e.loading.groups||e.loading.all,options:e.availableGroups,"close-on-select":!1,multiple:!0,label:"name"},on:{search:e.searchGroups},model:{value:e.newUser.subAdminsGroups,callback:function(t){e.$set(e.newUser,"subAdminsGroups",t)},expression:"newUser.subAdminsGroups"}})],1),e._v(" "),t("div",{staticClass:"dialog__item"},[t("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":e.t("settings","Quota"),placeholder:e.t("settings","Set account quota"),options:e.quotaOptions,clearable:!1,taggable:!0,"create-option":e.validateQuota},model:{value:e.newUser.quota,callback:function(t){e.$set(e.newUser,"quota",t)},expression:"newUser.quota"}})],1),e._v(" "),e.showConfig.showLanguages?t("div",{staticClass:"dialog__item"},[t("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":e.t("settings","Language"),placeholder:e.t("settings","Set default language"),clearable:!1,selectable:e=>!e.languages,"filter-by":e.languageFilterBy,options:e.languages,label:"name"},model:{value:e.newUser.language,callback:function(t){e.$set(e.newUser,"language",t)},expression:"newUser.language"}})],1):e._e(),e._v(" "),t("div",{class:["dialog__item dialog__managers",{"icon-loading-small":e.loading.manager}]},[t("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":e.managerInputLabel,placeholder:e.managerLabel,options:e.possibleManagers,"user-select":!0,label:"displayname"},on:{search:e.searchUserManager},model:{value:e.newUser.manager,callback:function(t){e.$set(e.newUser,"manager",t)},expression:"newUser.manager"}})],1)],1)])}),[],!1,null,"1195b9bc",null);const H=X.exports,W=o.Ay.extend({name:"UserListFooter",components:{NcLoadingIcon:A.A},props:{loading:{type:Boolean,required:!0},filteredUsers:{type:Array,required:!0}},computed:{userCount(){return this.loading?this.n("settings","{userCount} account …","{userCount} accounts …",this.filteredUsers.length,{userCount:this.filteredUsers.length}):this.n("settings","{userCount} account","{userCount} accounts",this.filteredUsers.length,{userCount:this.filteredUsers.length})}},methods:{t:i.Tl,n:i.zw}});var V=a(95066),Y={};Y.styleTagTransform=I(),Y.setAttributes=k(),Y.insert=w().bind(null,"head"),Y.domAPI=_(),Y.insertStyleElement=N(),b()(V.A,Y),V.A&&V.A.locals&&V.A.locals;const Q=(0,L.A)(W,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("tr",{staticClass:"footer"},[t("th",{attrs:{scope:"row"}},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("settings","Total rows summary")))])]),e._v(" "),t("td",{staticClass:"footer__cell footer__cell--loading"},[e.loading?t("NcLoadingIcon",{attrs:{title:e.t("settings","Loading accounts …"),size:32}}):e._e()],1),e._v(" "),t("td",{staticClass:"footer__cell footer__cell--count footer__cell--multiline"},[t("span",{attrs:{"aria-describedby":"user-count-desc"}},[e._v(e._s(e.userCount))]),e._v(" "),t("span",{staticClass:"hidden-visually",attrs:{id:"user-count-desc"}},[e._v("\n\t\t\t"+e._s(e.t("settings","Scroll to load more rows"))+"\n\t\t")])])])}),[],!1,null,"db2a7c4e",null).exports,K=o.Ay.extend({name:"UserListHeader",props:{hasObfuscated:{type:Boolean,required:!0}},computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},passwordLabel(){return this.hasObfuscated?(0,i.Tl)("settings","Password or insufficient permissions message"):(0,i.Tl)("settings","Password")}},methods:{t:i.Tl}});var Z=a(24882),J={};J.styleTagTransform=I(),J.setAttributes=k(),J.insert=w().bind(null,"head"),J.domAPI=_(),J.insertStyleElement=N(),b()(Z.A,J),Z.A&&Z.A.locals&&Z.A.locals;const ee=(0,L.A)(K,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("tr",{staticClass:"header"},[t("th",{staticClass:"header__cell header__cell--avatar",attrs:{"data-cy-user-list-header-avatar":"",scope:"col"}},[t("span",{staticClass:"hidden-visually"},[e._v("\n\t\t\t"+e._s(e.t("settings","Avatar"))+"\n\t\t")])]),e._v(" "),t("th",{staticClass:"header__cell header__cell--displayname",attrs:{"data-cy-user-list-header-displayname":"",scope:"col"}},[t("strong",[e._v("\n\t\t\t"+e._s(e.t("settings","Display name"))+"\n\t\t")])]),e._v(" "),t("th",{staticClass:"header__cell header__cell--username",attrs:{"data-cy-user-list-header-username":"",scope:"col"}},[t("span",[e._v("\n\t\t\t"+e._s(e.t("settings","Account name"))+"\n\t\t")])]),e._v(" "),t("th",{staticClass:"header__cell",class:{"header__cell--obfuscated":e.hasObfuscated},attrs:{"data-cy-user-list-header-password":"",scope:"col"}},[t("span",[e._v(e._s(e.passwordLabel))])]),e._v(" "),t("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-email":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Email")))])]),e._v(" "),t("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-groups":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Groups")))])]),e._v(" "),e.settings.isAdmin||e.settings.isDelegatedAdmin?t("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-subadmins":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Group admin for")))])]):e._e(),e._v(" "),t("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-quota":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Quota")))])]),e._v(" "),e.showConfig.showLanguages?t("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-languages":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Language")))])]):e._e(),e._v(" "),e.showConfig.showUserBackend||e.showConfig.showStoragePath?t("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-storage-location":"",scope:"col"}},[e.showConfig.showUserBackend?t("span",[e._v("\n\t\t\t"+e._s(e.t("settings","Account backend"))+"\n\t\t")]):e._e(),e._v(" "),e.showConfig.showStoragePath?t("span",{staticClass:"header__subtitle"},[e._v("\n\t\t\t"+e._s(e.t("settings","Storage location"))+"\n\t\t")]):e._e()]):e._e(),e._v(" "),e.showConfig.showFirstLogin?t("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-first-login":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","First login")))])]):e._e(),e._v(" "),e.showConfig.showLastLogin?t("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-last-login":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Last login")))])]):e._e(),e._v(" "),t("th",{staticClass:"header__cell header__cell--large header__cell--fill",attrs:{"data-cy-user-list-header-manager":"",scope:"col"}},[t("span",[e._v(e._s(e.t("settings","Manager")))])]),e._v(" "),t("th",{staticClass:"header__cell header__cell--actions",attrs:{"data-cy-user-list-header-actions":"",scope:"col"}},[t("span",{staticClass:"hidden-visually"},[e._v("\n\t\t\t"+e._s(e.t("settings","Account actions"))+"\n\t\t")])])])}),[],!1,null,"5c0f8828",null).exports;var te=a(21777),ne=a(56760),ae=a(41944),ie=a(95101),re=a(64043);const oe={"http://www.w3.org/2000/svg":{ext:"svg",mime:"image/svg+xml"},"http://www.w3.org/1999/xhtml":{ext:"xhtml",mime:"application/xhtml+xml"},"http://www.opengis.net/kml/2.2":{ext:"kml",mime:"application/vnd.google-earth.kml+xml"},"http://www.opengis.net/gml":{ext:"gml",mime:"application/gml+xml"}},se={rss:{ext:"rss",mime:"application/rss+xml"},"score-partwise":{ext:"musicxml",mime:"application/vnd.recordare.musicxml+xml"},svg:{ext:"svg",mime:"image/svg+xml"}};class le{constructor(e){this.options=e??{},this.firstTag=!0,this.onEnd=!1,this.parser=re.parser(!0,{xmlns:!0}),this.nesting=0,this.parser.onerror=e=>{e.message.startsWith("Invalid character entity")||(this.fileType=void 0,this.onEnd=!0)},this.parser.onopentag=e=>{++this.nesting,this.firstTag&&!this.onEnd&&(this.firstTag=!1,e.uri?this.fileType=oe[e.uri]:e.name&&(this.fileType=se[e.name.toLowerCase()]),this.fileType&&!this.options.fullScan&&(this.onEnd=!0))},this.parser.onclosetag=()=>{--this.nesting}}write(e){this.parser.write(e)}close(){this.parser.close(),this.onEnd=!0}isValid(){return 0===this.nesting}}var ce=a(57505),de=a(24764),ue=a(65659),pe=a(19664);const Ae=(0,o.pM)({components:{NcActionButton:ce.A,NcActions:de.A,NcIconSvgWrapper:p.A},props:{actions:{type:Array,required:!0},disabled:{type:Boolean,required:!0},edit:{type:Boolean,required:!0},user:{type:Object,required:!0}},computed:{editSvg(){return this.edit?ue:pe},enabledActions(){return this.actions.filter((e=>"function"!=typeof e.enabled||e.enabled(this.user)))}},methods:{isSvg:function(e){if("string"!=typeof e)throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);if(0===(e=e.trim()).length)return!1;const t=new le;return t.write(e),t.isValid()&&"svg"===t.fileType?.ext},toggleEdit(){this.$emit("update:edit",!this.edit)}}});const ge=(0,L.A)(Ae,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcActions",{attrs:{"aria-label":e.t("settings","Toggle account actions menu"),disabled:e.disabled,inline:1}},[t("NcActionButton",{attrs:{"data-cy-user-list-action-toggle-edit":`${e.edit}`,disabled:e.disabled},on:{click:e.toggleEdit},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{key:e.editSvg,attrs:{svg:e.editSvg,"aria-hidden":"true"}})]},proxy:!0}])},[e._v("\n\t\t"+e._s(e.edit?e.t("settings","Done"):e.t("settings","Edit"))+"\n\t\t")]),e._v(" "),e._l(e.enabledActions,(function(n,a){let{action:i,icon:r,text:o}=n;return t("NcActionButton",{key:a,attrs:{disabled:e.disabled,"aria-label":o,icon:r,"close-after-click":""},on:{click:t=>i(t,{...e.user})},scopedSlots:e._u([e.isSvg(r)?{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{svg:r,"aria-hidden":"true"}})]},proxy:!0}:null],null,!0)},[e._v("\n\t\t"+e._s(o)+"\n\t\t")])}))],2)}),[],!1,null,null,null).exports;var he=a(27126),me=a(523),fe={};fe.styleTagTransform=I(),fe.setAttributes=k(),fe.insert=w().bind(null,"head"),fe.domAPI=_(),fe.insertStyleElement=N(),b()(me.A,fe),me.A&&me.A.locals&&me.A.locals;var ve=a(86241),Ce=a(83653),be=a(51431);(0,Ce.r)();const ye=(0,o.pM)({name:"NcActionButtonGroup",inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{name:{required:!1,default:void 0,type:String}},setup:()=>({labelId:`nc-action-button-group-${(0,ve.G)()}`}),methods:{t:Ce.a}});var _e=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("li",{staticClass:"nc-button-group-base",attrs:{role:e.isInSemanticMenu&&"presentation"}},[e.name?t("div",{attrs:{id:e.labelId}},[e._v(" "+e._s(e.name)+" ")]):e._e(),t("ul",{staticClass:"nc-button-group-content",attrs:{role:"group","aria-labelledby":e.name?e.labelId:void 0}},[e._t("default")],2)])},xe=[];(0,be.n)(ye,_e,xe,!1,null,null).exports;var we=a(61744),Ee=a(97691),ke=a(89742),Be=a(72298),Ne=a(34188),Se={};Se.styleTagTransform=I(),Se.setAttributes=k(),Se.insert=w().bind(null,"head"),Se.domAPI=_(),Se.insertStyleElement=N(),b()(Ne.A,Se),Ne.A&&Ne.A.locals&&Ne.A.locals;var Ie=a(39841);const De={name:"NcActionRadio",mixins:[a(16086).A],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},model:{prop:"modelValue",event:"update:modelValue"},props:{id:{type:String,default:()=>"action-"+(0,ve.G)(),validator:e=>""!==e.trim()},checked:{type:Boolean,default:void 0},modelValue:{type:[Boolean,String,Number],default:!1},name:{type:String,required:!0},value:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1}},emits:["update:checked","update:modelValue","update:model-value","change"],setup:e=>("boolean"==typeof e.modelValue&&o.Ay.util.warn("[NcActionRadio] Boolean type of `modelValue` is deprecated and will be removed in next versions"),{model:(0,Ie.u)("checked","update:checked")}),computed:{isFocusable(){return!this.disabled},ariaChecked(){if(this.isInSemanticMenu)return this.model?"true":"false"}},methods:{toggleInput(e){this.$refs.label.click()},onChange(e){this.$emit("change",e)}}};var Te=function(){var e=this,t=e._self._c;return t("li",{staticClass:"action",class:{"action--disabled":e.disabled},attrs:{role:e.isInSemanticMenu&&"presentation"}},[t("span",{staticClass:"action-radio",attrs:{role:"menuitemradio","aria-checked":e.ariaChecked}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"radio action-radio__radio",class:{focusable:e.isFocusable},attrs:{id:e.id,disabled:e.disabled,name:e.name,type:"radio"},domProps:{value:e.value,checked:e._q(e.model,e.value)},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.toggleInput.apply(null,arguments))},change:[function(t){e.model=e.value},e.onChange]}}),t("label",{ref:"label",staticClass:"action-radio__label",attrs:{for:e.id}},[e._v(e._s(e.text))]),e._e()],2)])},Le=[];(0,be.n)(De,Te,Le,!1,null,"8ddd08c0").exports;var Pe=a(90309),Ge=a(21651),Fe=a(15502),Oe=a(30594),Ue=a(51439),Re={};Re.styleTagTransform=I(),Re.setAttributes=k(),Re.insert=w().bind(null,"head"),Re.domAPI=_(),Re.insertStyleElement=N(),b()(Ue.A,Re),Ue.A&&Ue.A.locals&&Ue.A.locals;var qe=a(50700),Me=a(5340),je=a(22792);const ze={name:"NcActionTextEditable",components:{NcIconSvgWrapper:je.N},mixins:[Me.A],model:{prop:"modelValue",event:"update:modelValue"},props:{id:{type:String,default:()=>"action-"+(0,ve.G)(),validator:e=>""!==e.trim()},disabled:{type:Boolean,default:!1},value:{type:String,default:void 0},modelValue:{type:String,default:""}},emits:["input","update:value","update:modelValue","update:model-value","submit"],setup:()=>({model:(0,Ie.u)("value","update:value"),mdiArrowRight:qe.b}),computed:{isFocusable(){return!this.disabled},computedId:()=>(0,ve.G)()},methods:{onInput(e){this.$emit("input",e),this.model=e.target.value},onSubmit(e){if(e.preventDefault(),e.stopPropagation(),this.disabled)return!1;this.$emit("submit",e)}}};var $e=function(){var e=this,t=e._self._c;return t("li",{staticClass:"action",class:{"action--disabled":e.disabled}},[t("span",{staticClass:"action-text-editable",on:{click:e.onClick}},[e._t("icon",(function(){return[t("span",{staticClass:"action-text-editable__icon",class:[e.isIconUrl?"action-text-editable__icon--url":e.icon],style:{backgroundImage:e.isIconUrl?`url(${e.icon})`:null}})]})),t("form",{ref:"form",staticClass:"action-text-editable__form",attrs:{disabled:e.disabled},on:{submit:function(t){return t.preventDefault(),e.onSubmit.apply(null,arguments)}}},[t("input",{staticClass:"action-text-editable__submit",attrs:{id:e.id,type:"submit"}}),e.name?t("label",{staticClass:"action-text-editable__name",attrs:{for:e.computedId}},[e._v(" "+e._s(e.name)+" ")]):e._e(),t("textarea",e._b({class:["action-text-editable__textarea",{focusable:e.isFocusable}],attrs:{id:e.computedId,disabled:e.disabled},domProps:{value:e.model},on:{input:e.onInput}},"textarea",e.$attrs,!1)),t("label",{directives:[{name:"show",rawName:"v-show",value:!e.disabled,expression:"!disabled"}],staticClass:"action-text-editable__label",attrs:{for:e.id}},[t("NcIconSvgWrapper",{attrs:{directional:"",path:e.mdiArrowRight}})],1)])],2)])},Xe=[];(0,be.n)(ze,$e,Xe,!1,null,"a4505289").exports;var He=a(56381);const We={name:"NcAppContentDetails"};var Ve=function(){return(0,this._self._c)("div",{staticClass:"app-content-details"},[this._t("default")],2)},Ye=[];(0,be.n)(We,Ve,Ye,!1,null,null).exports;const Qe={name:"NcAppContentList",props:{selection:{type:Boolean,default:!1},showDetails:{type:Boolean,default:!1}}};var Ke=function(){var e=this;return(0,e._self._c)("div",{staticClass:"app-content-list",class:{selection:e.selection,showdetails:e.showDetails}},[e._t("default")],2)},Ze=[];(0,be.n)(Qe,Ke,Ze,!1,null,null).exports;var Je=a(58979),et=a(50998),tt=a(32402),nt={};nt.styleTagTransform=I(),nt.setAttributes=k(),nt.insert=w().bind(null,"head"),nt.domAPI=_(),nt.insertStyleElement=N(),b()(tt.A,nt),tt.A&&tt.A.locals&&tt.A.locals;const at={name:"NcAppNavigationIconBullet",props:{color:{type:String,required:!0,validator:e=>/^#?([0-9A-F]{3}){1,2}$/i.test(e)}},emits:["click"],computed:{formattedColor(){return this.color.startsWith("#")?this.color:"#"+this.color}},methods:{onClick(e){this.$emit("click",e)}}};var it=function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-navigation-entry__icon-bullet",on:{click:e.onClick}},[t("div",{style:{backgroundColor:e.formattedColor}})])},rt=[];(0,be.n)(at,it,rt,!1,null,"938dadb1").exports;var ot=a(85999),st=a(27345),lt=a(60104),ct=a(93131),dt={};dt.styleTagTransform=I(),dt.setAttributes=k(),dt.insert=w().bind(null,"head"),dt.domAPI=_(),dt.insertStyleElement=N(),b()(ct.A,dt),ct.A&&ct.A.locals&&ct.A.locals;const ut={name:"NcAppNavigationNewItem",components:{NcInputConfirmCancel:a(30892).N,NcLoadingIcon:A.A},props:{name:{type:String,required:!0},icon:{type:String,default:""},loading:{type:Boolean,default:!1},editLabel:{type:String,default:""},editPlaceholder:{type:String,default:""}},emits:["new-item"],data:()=>({newItemValue:"",newItemActive:!1}),methods:{handleNewItem(){this.loading||(this.newItemActive=!0,this.$nextTick((()=>{this.$refs.newItemInput.focusInput()})))},cancelNewItem(){this.newItemActive=!1},handleNewItemDone(){this.$emit("new-item",this.newItemValue),this.newItemValue="",this.newItemActive=!1}}};var pt=function(){var e=this,t=e._self._c;return t("li",{staticClass:"app-navigation-entry",class:{"app-navigation-entry--newItemActive":e.newItemActive}},[t("button",{staticClass:"app-navigation-entry-button",on:{click:e.handleNewItem}},[t("span",{staticClass:"app-navigation-entry-icon",class:{[e.icon]:!e.loading}},[e.loading?t("NcLoadingIcon"):e._t("icon")],2),e.newItemActive?e._e():t("span",{staticClass:"app-navigation-new-item__name",attrs:{title:e.name}},[e._v(" "+e._s(e.name)+" ")]),e.newItemActive?t("span",{staticClass:"newItemContainer"},[t("NcInputConfirmCancel",{ref:"newItemInput",attrs:{placeholder:""!==e.editPlaceholder?e.editPlaceholder:e.name},on:{cancel:e.cancelNewItem,confirm:e.handleNewItemDone},model:{value:e.newItemValue,callback:function(t){e.newItemValue=t},expression:"newItemValue"}})],1):e._e()])])},At=[];(0,be.n)(ut,pt,At,!1,null,"46fee9ac").exports;var gt=a(60126),ht=(a(59365),a(47999)),mt={};mt.styleTagTransform=I(),mt.setAttributes=k(),mt.insert=w().bind(null,"head"),mt.domAPI=_(),mt.insertStyleElement=N(),b()(ht.A,mt),ht.A&&ht.A.locals&&ht.A.locals;var ft=a(75105),vt=(a(23020),a(53429),a(70580),a(44349),a(65043));(0,Ce.r)(Ce.x);const Ct={name:"CogIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var bt=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon cog-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},yt=[];const _t=(0,be.n)(Ct,bt,yt,!1,null,null).exports,xt={directives:{ClickOutside:g.z0},components:{Cog:_t},mixins:[ft.A],props:{name:{type:String,required:!1,default:(0,Ce.a)("Settings")}},data:()=>({open:!1}),computed:{clickOutsideConfig(){return[this.closeMenu,this.clickOutsideOptions]}},methods:{toggleMenu(){this.open=!this.open},closeMenu(){this.open=!1}}};var wt=function(){var e=this,t=e._self._c;return t("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.clickOutsideConfig,expression:"clickOutsideConfig"}],class:{open:e.open},attrs:{id:"app-settings"}},[t("div",{attrs:{id:"app-settings__header"}},[t("button",{staticClass:"settings-button",attrs:{type:"button","aria-expanded":e.open?"true":"false","aria-controls":"app-settings__content"},on:{click:e.toggleMenu}},[t("Cog",{staticClass:"settings-button__icon",attrs:{size:20}}),t("span",{staticClass:"settings-button__label"},[e._v(e._s(e.name))])],1)]),t("Transition",{attrs:{name:"slide-up"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],attrs:{id:"app-settings__content"}},[e._t("default")],2)])],1)},Et=[];(0,be.n)(xt,wt,Et,!1,null,"d278a327").exports;var kt=a(542),Bt=a(29270),Nt=a(14727),St=a(18485),It=a(19015),Dt=a(18608),Tt=a(12732),Lt=a(74307),Pt={};Pt.styleTagTransform=I(),Pt.setAttributes=k(),Pt.insert=w().bind(null,"head"),Pt.domAPI=_(),Pt.insertStyleElement=N(),b()(Lt.A,Pt),Lt.A&&Lt.A.locals&&Lt.A.locals;var Gt=a(95341),Ft=a(3168);const Ot=new(a(49264).A)({concurrency:5}),Ut={__name:"NcBlurHash",props:{hash:{required:!0,type:String},alt:{type:String,default:""},src:{type:String,default:""}},emits:["load"],setup(e,{emit:t}){const n=e,a=(0,o.KR)(),i=(0,o.KR)(!1);function r(){if(i.value)return;if(!n.hash)return void Ft.l.error("Invalid BlurHash value");if(void 0===a.value)return void Ft.l.error("BlurHash canvas not available");const{height:e,width:t}=a.value,r=(0,Gt.D4)(n.hash,t,e),o=a.value.getContext("2d");if(null===o)return void Ft.l.error("Cannot create context for BlurHash canvas");const s=o.createImageData(t,e);s.data.set(r),o.putImageData(s,0,0)}return(0,o.wB)((()=>n.hash),r),(0,o.wB)(i,(()=>{!1===i.value&&(0,o.dY)((()=>r()))}),{immediate:!0}),(0,o.wB)((()=>n.src),(()=>{i.value=!1,n.src&&function(e){const{resolve:t,promise:n}=Promise.withResolvers();return Ot.add((()=>{const a=new Image;return a.onerror=()=>t(!1),a.onload=()=>t(!0),a.src=e,n})),n}(n.src).then((e=>{i.value=e,t("load",e)}))}),{immediate:!0}),{__sfc:!0,props:n,emit:t,canvas:a,imageLoaded:i,drawBlurHash:r}}};var Rt=function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t("Transition",{attrs:{css:!!e.src&&void 0,"enter-active-class":e.$style.fadeTransition,"leave-active-class":e.$style.fadeTransition,"enter-class":e.$style.fadeTransitionActive,"leave-to-class":e.$style.fadeTransitionActive}},[n.imageLoaded?t("img",{attrs:{alt:e.alt,src:e.src}}):t("canvas",{ref:"canvas",attrs:{"aria-hidden":e.alt?null:"true","aria-label":e.alt}})])},qt=[];const Mt={$style:{fadeTransition:"_fadeTransition_13rtj_2",fadeTransitionActive:"_fadeTransitionActive_13rtj_6"}};function jt(e){for(var t in Mt)this[t]=Mt[t]}(0,be.n)(Ut,Rt,qt,!1,jt,null).exports;var zt=a(81199),$t=a(75749),Xt=a(95898),Ht=a(23941),Wt={};Wt.styleTagTransform=I(),Wt.setAttributes=k(),Wt.insert=w().bind(null,"head"),Wt.domAPI=_(),Wt.insertStyleElement=N(),b()(Ht.A,Wt),Ht.A&&Ht.A.locals&&Ht.A.locals;var Vt=a(28851),Yt=a(43921),Qt=a(63814);(0,Ce.r)(Ce.L),(0,Ce.r)(Ce.M);const Kt={name:"NcCollectionListItem",components:{NcAvatar:Tt.N,NcActions:Ge.N,NcActionButton:he.N},props:{collection:{type:Object,default:null},error:{type:String,default:void 0}},emits:["remove-resource","rename-collection"],data:()=>({detailsOpen:!1,newName:null}),computed:{getIcon:()=>e=>[e.iconClass],typeClass:()=>e=>"resource-type-"+e.type,resources(){return this.collection.resources?.filter((e=>!Array.isArray(e)))??[]},getComponent(){return e=>{const t=(0,Yt.g)(this.$router,e.link);return t?{component:"router-link",to:t,href:void 0}:{component:"a",to:void 0,href:e.link}}},iconUrl:()=>e=>e.mimetype?OC.MimeType.getIconUrl(e.mimetype):e.iconUrl?e.iconUrl:""},methods:{t:Ce.a,toggleDetails(){this.detailsOpen=!this.detailsOpen},showDetails(){this.detailsOpen=!0},removeResource(e,t){this.$emit("remove-resource",{collectionId:e.id,resourceType:t.type,resourceId:t.id})},openRename(){this.newName=this.collection.name},renameCollection(){this.newName&&this.$emit("rename-collection",{collectionId:this.collection.id,name:this.newName}),this.newName=null}}};var Zt=function(){var e=this,t=e._self._c;return t("li",{staticClass:"collection-list-item"},[t("NcAvatar",{staticClass:"collection-avatar",attrs:{"display-name":e.collection.name,"allow-placeholder":""}}),null===e.newName?t("span",{staticClass:"collection-item-name",attrs:{title:""},on:{click:e.showDetails}},[e._v(e._s(e.collection.name))]):t("form",{class:{"should-shake":e.error},on:{submit:function(t){return t.preventDefault(),e.renameCollection.apply(null,arguments)}}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.newName,expression:"newName"}],attrs:{type:"text",autocomplete:"off",autocapitalize:"off"},domProps:{value:e.newName},on:{input:function(t){t.target.composing||(e.newName=t.target.value)}}}),t("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),e.detailsOpen||null!==e.newName?e._e():t("div",{staticClass:"linked-icons"},e._l(e.resources.slice(0,2),(function(n){return t(e.getComponent(n).component,{key:n.type+"|"+n.id,tag:"component",class:e.typeClass(n),attrs:{title:n.name,to:e.getComponent(n).to,href:e.getComponent(n).href}},[t("img",{attrs:{src:e.iconUrl(n),alt:n.name}})])})),1),null===e.newName?t("span",{staticClass:"sharingOptionsGroup"},[t("NcActions",[t("NcActionButton",{attrs:{icon:"icon-info"},on:{click:function(t){return t.preventDefault(),e.toggleDetails.apply(null,arguments)}}},[e._v(" "+e._s(e.detailsOpen?e.t("Hide details"):e.t("Show details"))+" ")]),t("NcActionButton",{attrs:{icon:"icon-rename"},on:{click:function(t){return t.preventDefault(),e.openRename.apply(null,arguments)}}},[e._v(" "+e._s(e.t("Rename project"))+" ")])],1)],1):e._e(),t("transition",{attrs:{name:"fade"}},[e.error?t("div",{staticClass:"error"},[e._v(" "+e._s(e.error)+" ")]):e._e()]),t("transition",{attrs:{name:"fade"}},[e.detailsOpen?t("ul",{staticClass:"resource-list-details"},e._l(e.resources,(function(n){return t("li",{key:n.type+"|"+n.id,class:e.typeClass(n)},[t(e.getComponent(n).component,{tag:"component",attrs:{to:e.getComponent(n).to,href:e.getComponent(n).href}},[t("img",{attrs:{src:e.iconUrl(n),alt:n.name}}),t("span",{staticClass:"resource-name"},[e._v(e._s(n.name||""))])]),t("span",{staticClass:"icon-close",on:{click:function(t){return e.removeResource(e.collection,n)}}})],1)})),0):e._e()])],1)},Jt=[];function en(e){return e.data.ocs.data}const tn={name:"NcCollectionList",components:{NcCollectionListItem:(0,be.n)(Kt,Zt,Jt,!1,null,"878b819f").exports,NcAvatar:Tt.N,NcSelect:Vt.N},props:{type:{type:String,default:null},id:{type:String,default:null},name:{type:String,default:""},isActive:{type:Boolean,default:!0}},setup(){const{storedCollections:e,fetchCollectionsByResource:t,createCollection:n,addResourceToCollection:a,removeResourceFromCollection:i,renameCollection:r}=function(){const e=(0,o.KR)([]),t=t=>{(0,o.hZ)(e,"value",[...e.value,t])},n=n=>{const a=e.value.findIndex((e=>e.id===n.id));-1!==a?(0,o.hZ)(e.value,a,n):t(n)},a=async({collectionId:e,resourceType:t,resourceId:a})=>{const i=await function(e,t,n){return vt.Ay.post((0,Qt.KT)("collaboration/resources/collections/{collectionId}",{collectionId:e}),{resourceType:t,resourceId:n}).then(en)}(e,t,String(a));n(i)};return{storedCollections:e,fetchCollectionsByResource:async({resourceType:t,resourceId:n})=>{const a=await function(e,t){return vt.Ay.get((0,Qt.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:e,resourceId:t})).then(en)}(t,n);(t=>{(0,o.hZ)(e,"value",t)})(a)},createCollection:async({baseResourceType:e,baseResourceId:n,resourceType:i,resourceId:r,name:o})=>{const s=await function(e,t,n){return vt.Ay.post((0,Qt.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:e,resourceId:t}),{name:n}).then(en)}(e,n,o);t(s),await a({collectionId:s.id,resourceType:i,resourceId:r})},renameCollection:async({collectionId:e,name:t})=>{const a=await function(e,t){return vt.Ay.put((0,Qt.KT)("collaboration/resources/collections/{collectionId}",{collectionId:e}),{collectionName:t}).then(en)}(e,t);n(a)},addResourceToCollection:a,removeResourceFromCollection:async({collectionId:t,resourceType:a,resourceId:i})=>{const r=await function(e,t,n){return vt.Ay.delete((0,Qt.KT)("collaboration/resources/collections/{collectionId}",{collectionId:e}),{params:{resourceType:t,resourceId:n}}).then(en)}(t,a,String(i));r.resources.length>0?n(r):(t=>{(0,o.hZ)(e,"value",e.value.filter((e=>e.id!==t)))})(t)}}}(),s=(0,o.KR)([]),l=h((function(e,t){""!==e&&(t(!0),function(e){return vt.Ay.get((0,Qt.KT)("collaboration/resources/collections/search/{query}",{query:e})).then(en)}(e).then((e=>{s.value=e})).catch((e=>{console.error("Failed to search for collections",e)})).finally((()=>{t(!1)})))}),500);return{storedCollections:e,fetchCollectionsByResource:t,createCollection:n,addResourceToCollection:a,removeResourceFromCollection:i,renameCollection:r,searchCollections:s,search:l}},data:()=>({selectIsOpen:!1,generatingCodes:!1,codes:void 0,value:null,model:{},collectionsError:{},error:null,isSelectOpen:!1}),computed:{collections(){return this.storedCollections.filter((e=>e.resources.some((e=>e&&e.id===String(this.id)&&e.type===this.type))))},placeholder(){return this.isSelectOpen?(0,Ce.a)("Type to search for existing projects"):(0,Ce.a)("Add to a project")},options(){const e=[];window.OCP.Collaboration.getTypes().sort().forEach((t=>{e.push({method:0,type:t,title:window.OCP.Collaboration.getLabel(t),class:window.OCP.Collaboration.getIcon(t),action:()=>window.OCP.Collaboration.trigger(t)})}));for(const t in this.searchCollections)this.collections.find((e=>e.id===this.searchCollections[t].id))||e.push({method:1,title:this.searchCollections[t].name,collectionId:this.searchCollections[t].id});return e},resourceIdentifier(){return{resourceType:this.type,resourceId:this.id,isActive:this.isActive}}},watch:{resourceIdentifier:{deep:!0,immediate:!0,handler(e){e.isActive&&e.resourceId&&e.resourceType&&this.fetchCollectionsByResource(e)}}},methods:{t:Ce.a,select(e){0===e.method&&e.action().then((t=>{this.createCollection({baseResourceType:this.type,baseResourceId:this.id,resourceType:e.type,resourceId:t,name:this.name}).catch((e=>{this.setError((0,Ce.a)("Failed to create a project"),e)}))})).catch((e=>{console.error("No resource selected",e)})),1===e.method&&this.addResourceToCollection({collectionId:e.collectionId,resourceType:this.type,resourceId:this.id}).catch((e=>{this.setError((0,Ce.a)("Failed to add the item to the project"),e)})),this.value=null},showSelect(){this.selectIsOpen=!0,this.$refs.select.$el.focus()},setError(e,t){console.error(e,t),this.error=e,setTimeout((()=>{this.error=null}),5e3)},renameCollectionFromItem({collectionId:e,name:t}){this.renameCollection({collectionId:e,name:t}).catch((t=>{console.error((0,Ce.a)("Failed to rename the project"),t),this.collectionsError[e]=(0,Ce.a)("Failed to rename the project"),setTimeout((()=>{this.collectionsError[e]=null}),5e3)}))}}};var nn=function(){var e=this,t=e._self._c;return e.collections&&e.type&&e.id?t("ul",{staticClass:"collection-list",attrs:{id:"collection-list"}},[t("li",{on:{click:e.showSelect}},[e._m(0),t("div",{attrs:{id:"collection-select-container"}},[t("NcSelect",{ref:"select",attrs:{"aria-label-combobox":e.t("Add to a project"),options:e.options,placeholder:e.placeholder,label:"title",limit:5},on:{close:function(t){e.isSelectOpen=!1},open:function(t){e.isSelectOpen=!0},"option:selected":e.select,search:e.search},scopedSlots:e._u([{key:"selected-option",fn:function(n){return[t("span",{staticClass:"option__desc"},[t("span",{staticClass:"option__title"},[e._v(e._s(n.title))])])]}},{key:"option",fn:function(n){return[t("span",{staticClass:"option__wrapper"},[n.class?t("span",{staticClass:"avatar",class:n.class}):2!==n.method?t("NcAvatar",{attrs:{"allow-placeholder":"","display-name":n.title}}):e._e(),t("span",{staticClass:"option__title"},[e._v(e._s(n.title))])],1)]}}],null,!1,2397208459),model:{value:e.value,callback:function(t){e.value=t},expression:"value"}},[t("p",{staticClass:"hint"},[e._v(" "+e._s(e.t("Connect items to a project to make them easier to find"))+" ")])])],1)]),t("transition",{attrs:{name:"fade"}},[e.error?t("li",{staticClass:"error"},[e._v(" "+e._s(e.error)+" ")]):e._e()]),e._l(e.collections,(function(n){return t("NcCollectionListItem",{key:n.id,attrs:{collection:n,error:e.collectionsError[n.id]},on:{"rename-collection":e.renameCollectionFromItem,"remove-resource":e.removeResourceFromCollection}})}))],2):e._e()},an=[function(){var e=this._self._c;return e("div",{staticClass:"avatar"},[e("span",{staticClass:"icon-projects"})])}];(0,be.n)(tn,nn,an,!1,null,"efe8beb8").exports;var rn=a(35774),on=a(4419),sn=a(75971),ln=a(30178),cn=a(80575),dn=a(18798),un=a(14395),pn=a(88984),An=a(7897),gn=a(91407),hn=a(25521),mn=a(454),fn=a(96599),vn={};vn.styleTagTransform=I(),vn.setAttributes=k(),vn.insert=w().bind(null,"head"),vn.domAPI=_(),vn.insertStyleElement=N(),b()(fn.A,vn),fn.A&&fn.A.locals&&fn.A.locals;const Cn={name:"NcGuestContent",mounted(){document.getElementById("content").classList.add("nc-guest-content")},destroyed(){document.getElementById("content").classList.remove("nc-guest-content")}};var bn=function(){return(0,this._self._c)("div",{attrs:{id:"guest-content-vue"}},[this._t("default")],2)},yn=[];(0,be.n)(Cn,bn,yn,!1,null,"cbad78fb").exports;var _n=a(6848),xn={};xn.styleTagTransform=I(),xn.setAttributes=k(),xn.insert=w().bind(null,"head"),xn.domAPI=_(),xn.insertStyleElement=N(),b()(_n.A,xn),_n.A&&_n.A.locals&&_n.A.locals;const wn={name:"NcHeaderButton",components:{NcButton:F.A},props:{id:{type:String,required:!0},ariaLabel:{type:String,required:!0},description:{type:String,default:null}},emits:["click"],data:()=>({descriptionId:(0,ve.G)()})};var En=function(){var e=this,t=e._self._c;return t("div",{staticClass:"header-menu",attrs:{id:e.id}},[t("NcButton",{staticClass:"header-menu__trigger",attrs:{"aria-label":e.ariaLabel,"aria-describedby":e.descriptionId,size:"large",variant:"tertiary-no-background"},on:{click:function(t){return t.preventDefault(),e.$emit("click",t)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("icon")]},proxy:!0}],null,!0)}),e.description?t("span",{staticClass:"header-menu__description hidden-visually",attrs:{id:e.descriptionId}},[e._v(" "+e._s(e.description)+" ")]):e._e()],1)},kn=[];(0,be.n)(wn,En,kn,!1,null,"20fd51f9").exports;var Bn=a(83),Nn=a(26517),Sn=a(56849),In=a(85034),Dn=a(47451),Tn=a(69496),Ln=a(40083),Pn=a(90462),Gn=a(48718),Fn=a(74484),On=a(26865),Un={};Un.styleTagTransform=I(),Un.setAttributes=k(),Un.insert=w().bind(null,"head"),Un.domAPI=_(),Un.insertStyleElement=N(),b()(On.A,Un),On.A&&On.A.locals&&On.A.locals;var Rn=a(87485),qn=a(47266),Mn=a(29365);const jn={name:"AccountGroupIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var zn=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon account-group-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},$n=[];const Xn=(0,be.n)(jn,zn,$n,!1,null,null).exports,Hn={name:"OpenInNewIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Wn=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon open-in-new-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},Vn=[];const Yn=(0,be.n)(Hn,Wn,Vn,!1,null,null).exports;(0,Ce.r)(Ce.S);const Qn=(0,Rn.F)()?.circles?.teamResourceProviders??[],Kn={name:"NcTeamResources",components:{AccountGroup:Xn,ChevronDown:qn.C,ChevronUp:Mn.C,OpenInNew:Yn,NcButton:F.A,NcIconSvgWrapper:je.N},props:{providerId:{type:String,default:null},itemId:{type:[String,Number],default:null}},data:()=>({appEnabled:void 0!==OC?.appswebroots?.circles&&(OC.config.version.split(".")[0]??0)>=29,loading:!1,teamResources:null,teamOpen:[]}),computed:{isVisible(){return!this.loading&&this.teamResources?.length>0},teamProviders(){return e=>{const t=this.teamResources.find((t=>t.teamId===e));return t.resources?.reduce(((e,t)=>(t.provider.id===this.providerId&&t.id===String(this.itemId)||(e[t.provider.id]||(e[t.provider.id]=t.provider,e[t.provider.id].resources=[]),t.provider.id===this.providerId&&t.id===String(this.itemId)||e[t.provider.id].resources.push(t)),e)),{})}},open(){return e=>-1!==this.teamOpen.indexOf(e)}},watch:{providerId(){this.fetchTeamResources()},itemId(){this.fetchTeamResources()}},created(){this.fetchTeamResources()},methods:{t:Ce.a,async fetchTeamResources(){if(Qn.includes(this.providerId))try{this.loading=!0;const e=await vt.Ay.get((0,Qt.KT)(`/teams/resources/${this.providerId}/${this.itemId}`));this.teamResources=e.data.ocs.data.teams,this.teamOpen=[this.teamResources[0]?.teamId]}catch(e){this.teamResources=null,console.error(e)}finally{this.loading=!1}},toggleOpen(e,t){t?this.teamOpen.push(e):this.teamOpen.splice(this.teamOpen.indexOf(e),1)}}};var Zn=function(){var e=this,t=e._self._c;return e.appEnabled&&e.isVisible?t("div",{staticClass:"team-resources"},[t("h5",{staticClass:"team-resources__header"},[e._v(" "+e._s(e.t("Related team resources"))+" ")]),e._l(e.teamResources,(function(n){return t("details",{key:n.teamId,staticClass:"related-team",attrs:{name:"Team resources",open:e.open(n.teamId)},on:{toggle:t=>e.toggleOpen(n.teamId,t.target.open)}},[t("summary",{staticClass:"related-team__header"},[t("h5",{staticClass:"related-team__name"},[t("AccountGroup",{attrs:{size:20}}),e._v(" "+e._s(n.displayName)+" ")],1),t("NcButton",{attrs:{"aria-label":e.t("View team"),href:n.link,title:e.t("View team"),variant:"tertiary"},scopedSlots:e._u([{key:"icon",fn:function(){return[t("OpenInNew",{attrs:{size:20}})]},proxy:!0}],null,!0)}),e.open(n.teamId)?t("ChevronUp",{attrs:{size:20}}):t("ChevronDown",{attrs:{size:20}})],1),t("div",e._l(e.teamProviders(n.teamId),(function(n){return t("div",{key:n.id,staticClass:"related-team-provider"},[n.resources.length>0?t("h6",[e._v(" "+e._s(n.name)+" ")]):e._e(),t("ul",e._l(n.resources,(function(n){return t("li",{key:n.url,staticClass:"related-team-resource"},[t("a",{staticClass:"related-team-resource__link",attrs:{href:n.url}},[n.iconEmoji?t("span",{staticClass:"resource__icon"},[e._v(" "+e._s(n.iconEmoji)+" ")]):n.iconSvg?t("NcIconSvgWrapper",{staticClass:"resource__icon",attrs:{svg:n.iconSvg,size:20}}):n.iconURL?t("span",{staticClass:"resource__icon"},[t("img",{attrs:{src:n.iconURL,alt:""}})]):e._e(),t("span",{staticClass:"resource__name"},[e._v(" "+e._s(n.label)+" ")])],1)])})),0)])})),0)])}))],2):e._e()},Jn=[];const ea=(0,be.n)(Kn,Zn,Jn,!1,null,"9e46b7b2").exports;(0,Ce.r)(Ce.T);const ta={name:"NcResource",components:{NcButton:F.A},props:{icon:{type:String,required:!0},name:{type:String,required:!0},url:{type:String,required:!0}},data(){return{labelTranslated:(0,Ce.a)('Open link to "{resourceName}"',{resourceName:this.name})}},computed:{route(){return(0,Yt.g)(this.$router,this.url)}},methods:{t:Ce.a}};var na=function(){var e=this,t=e._self._c;return t("li",{staticClass:"resource"},[t("NcButton",{staticClass:"resource__button",attrs:{"aria-label":e.labelTranslated,to:e.route,href:e.route?null:e.url,variant:"tertiary"},scopedSlots:e._u([{key:"icon",fn:function(){return[t("div",{staticClass:"resource__icon"},[t("img",{attrs:{src:e.icon}})])]},proxy:!0}])},[e._v(" "+e._s(e.name)+" ")])],1)},aa=[];const ia=(0,be.n)(ta,na,aa,!1,null,"77c38062").exports;(0,Ce.r)(Ce.U);const ra={name:"NcRelatedResourcesPanel",components:{NcResource:ia,NcTeamResources:ea},props:{providerId:{type:String,default:null},itemId:{type:[String,Number],default:null},resourceType:{type:String,default:""},limit:{type:Number,default:0},fileInfo:{type:Object,default:null},header:{type:String,default:(0,Ce.a)("Related resources")},description:{type:String,default:(0,Ce.a)("Anything shared with the same group of people will show up here")},primary:{type:Boolean,default:!1}},emits:["has-error","has-resources"],data:()=>({appEnabled:void 0!==OC?.appswebroots?.related_resources,loading:!1,error:null,resources:[]}),computed:{isVisible(){return!this.loading&&(this.error??this.resources.length>0)},subline(){return this.error?(0,Ce.a)("Error getting related resources. Please contact your system administrator if you have any questions."):this.description},hasResourceInfo(){return null!==this.providerId&&null!==this.itemId||null!==this.fileInfo},isFiles(){return void 0!==this.fileInfo?.id},url(){let e=null,t=null;return this.isFiles?(e="files",t=this.fileInfo.id):(e=this.providerId,t=this.itemId),(0,Qt.KT)("/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json",{providerId:e,itemId:t,resourceType:this.resourceType,limit:this.limit})}},watch:{providerId(){this.fetchRelatedResources()},itemId(){this.fetchRelatedResources()},fileInfo(){this.fetchRelatedResources()},error(e){this.$emit("has-error",Boolean(e))},resources(e){this.$emit("has-resources",e.length>0)}},created(){this.fetchRelatedResources()},methods:{t:Ce.a,async fetchRelatedResources(){if(this.appEnabled&&this.hasResourceInfo){this.loading=!0,this.error=null,this.resources=[];try{const e=await vt.Ay.get(this.url);this.resources=e.data.ocs?.data}catch(e){this.error=e,console.error(e)}finally{this.loading=!1}}}}};var oa=function(){var e=this,t=e._self._c;return t("div",[t("NcTeamResources",{attrs:{"provider-id":e.providerId,"item-id":e.itemId}}),e.appEnabled&&e.isVisible?t("div",{staticClass:"related-resources"},[t("div",{staticClass:"related-resources__header"},[t("h5",[e._v(e._s(e.header))]),t("p",[e._v(e._s(e.subline))])]),e._l(e.resources,(function(e){return t("NcResource",{key:e.itemId,staticClass:"related-resources__entry",attrs:{icon:e.icon,name:e.title,url:e.url}})}))],2):e._e()],1)},sa=[];(0,be.n)(ra,oa,sa,!1,null,"badd46a9").exports;var la=a(60945),ca=a(93368),da=a(19697),ua=(a(58322),a(2837),a(4266));const pa=(0,o.pM)({name:"NcSavingIndicatorIcon",props:{size:{type:Number,default:20},name:{type:String,default:""},saving:{type:Boolean,default:!1,required:!1},error:{type:Boolean,default:!1,required:!1}},emits:["click"],computed:{indicatorColor(){return this.error?"var(--color-error)":this.saving?"var(--color-primary-element)":"none"}}});var Aa=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("span",{staticClass:"material-design-icon",attrs:{"aria-label":e.name,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},[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:{fill:e.indicatorColor,d:"m19 15a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4z"}}),t("path",{attrs:{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}},[e.name?t("title",[e._v(e._s(e.name))]):e._e()])])])},ga=[];(0,be.n)(pa,Aa,ga,!1,null,null).exports;var ha=a(27355),ma=a(77332),fa={};fa.styleTagTransform=I(),fa.setAttributes=k(),fa.insert=w().bind(null,"head"),fa.domAPI=_(),fa.insertStyleElement=N(),b()(ma.A,fa),ma.A&&ma.A.locals&&ma.A.locals,(0,Ce.r)(Ce.d,Ce.i);const va={__name:"NcSelectUsers",props:{ariaLabelClearSelected:{type:String,default:(0,Ce.a)("Clear selected")},ariaLabelListbox:{type:String,default:(0,Ce.a)("Options")},ariaLabelDeselectOption:{type:Function,default:e=>(0,Ce.a)("Deselect {option}",{option:e})},keepOpen:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},filterBy:{type:Function,default:null},inputId:{type:String,default:()=>(0,ve.G)()},inputLabel:{type:String,default:(0,Ce.a)("Select account")},labelOutside:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},required:{type:Boolean,default:!1},modelValue:{type:Object,default:null}},emits:["search","update:modelValue"],setup(e,{emit:t}){const n=e,a=(0,o.KR)("");(0,o.wB)(a,(()=>{t("search",a.value)}));const i=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area")),r=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline"));return{__sfc:!0,props:n,emit:t,search:a,clickableArea:i,gridBaseLine:r,avatarSize:i-2*r,localFilterBy:function(e,t,a){if(n.filterBy)return n.filterBy;const i=a.match(/[^<]*<([^>]+)/),r=e.subname?.toLocaleLowerCase()??"";return i&&r.indexOf(i[1].toLocaleLowerCase())>-1||`${t} ${e.subname}`.toLocaleLowerCase().indexOf(a.toLocaleLowerCase())>-1},NcListItemIcon:Dn.N,NcSelect:Vt.N}}};var Ca=function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcSelect,e._b({staticClass:"nc-select-users",attrs:{"filter-by":n.localFilterBy,label:"displayName"},on:{search:function(e){n.search=e},"update:model-value":function(t){return e.$emit("update:modelValue",t)}},scopedSlots:e._u([{key:"option",fn:function(a){return[t(n.NcListItemIcon,e._b({attrs:{"avatar-size":32,name:a.displayName,search:n.search}},"NcListItemIcon",a,!1))]}},{key:"selected-option",fn:function(a){return[t(n.NcListItemIcon,e._b({attrs:{"avatar-size":n.avatarSize,name:a.displayName,"no-margin":"",search:n.search}},"NcListItemIcon",a,!1))]}}])},"NcSelect",e.$props,!1))},ba=[];(0,be.n)(va,Ca,ba,!1,null,"ecb8da4e").exports;var ya=a(50332),_a={};_a.styleTagTransform=I(),_a.setAttributes=k(),_a.insert=w().bind(null,"head"),_a.domAPI=_(),_a.insertStyleElement=N(),b()(ya.A,_a),ya.A&&ya.A.locals&&ya.A.locals,(0,Ce.r)(Ce.h);const xa={name:"NcSettingsInputText",model:{prop:"value",event:"update:value"},props:{label:{type:String,required:!0},hint:{type:String,default:""},value:{type:String,default:void 0},modelValue:{type:String,default:""},disabled:{type:Boolean,default:!1},id:{type:String,default:()=>"settings-input-text-"+(0,ve.G)(),validator:e=>""!==e.trim()}},emits:["update:value","update:modelValue","update:model-value","input","submit","change"],setup:()=>({model:(0,Ie.u)("value","update:value")}),data:()=>({submitTranslated:(0,Ce.a)("Submit")}),computed:{idSubmit(){return this.id+"-submit"}},methods:{onInput(e){this.$emit("input",e),this.model=e.target.value},onSubmit(e){this.disabled||this.$emit("submit",e)},onChange(e){this.$emit("change",e)}}};var wa=function(){var e=this,t=e._self._c;return t("form",{ref:"form",attrs:{disabled:e.disabled},on:{submit:function(t){return t.preventDefault(),t.stopPropagation(),e.onSubmit.apply(null,arguments)}}},[t("div",{staticClass:"input-wrapper"},[t("label",{staticClass:"action-input__label",attrs:{for:e.id}},[e._v(e._s(e.label))]),t("input",{attrs:{id:e.id,type:"text",disabled:e.disabled},domProps:{value:e.model},on:{input:e.onInput,change:e.onChange}}),t("input",{staticClass:"action-input__submit",attrs:{id:e.idSubmit,type:"submit"},domProps:{value:e.submitTranslated}}),e.hint?t("p",{staticClass:"hint"},[e._v(" "+e._s(e.hint)+" ")]):e._e()])])},Ea=[];(0,be.n)(xa,wa,Ea,!1,null,"0907eb0a").exports;var ka=a(11229),Ba=a(43844),Na=a(30709),Sa=a(71940),Ia=a(4212),Da=a(89337),Ta=a(23610),La=(a(94205),a(13073)),Pa=a(59271);function Ga(e=document.body){const t=window.getComputedStyle(e).getPropertyValue("--background-invert-if-dark");return void 0!==t&&"invert(100%)"===t}Ga(),(0,Pa.F)((()=>function(e=document.body){const t=(0,o.KR)(Ga(e)),n=(0,La.Nk8)();function a(){t.value=Ga(e)}return(0,La.P1n)(e,a,{attributes:!0}),(0,o.wB)(n,a,{immediate:!0}),(0,o.tB)(t)}())),a(23739),a(16343),a(53476);var Fa=a(42892),Oa=a(15074);a(59656);var Ua=a(2508);he.N,we.A,Ee.N,ke.N,Be.A,Pe.A,Fe.A,Oe.A,Ge.N,He.N,Je.N,et.N,ot.N,st.A,lt.A,gt.N,kt.A,Bt.N,Nt.A,St.N,It.N,Dt.A,ca.N,Tt.N,zt.N,$t.N,F.A,Xt.N,rn.N,on.N,sn.N,ln.N,cn.N,dn.N,un.A,pn.A,An.N,gn.N,hn.A,mn.N,u.A,Bn.N,Nn.N,je.N,Sn.N,In.N,Dn.N,A.A,la.N,Tn.A,Ln.A,Pn.N,Gn.N,Fn.N,ca.a,da.N,Vt.N,ha.N,ka.N,Ba.N,Na.N,ua.N,Sa.N,Ia.N,Da.N,Ta.A,Symbol.toStringTag,Fa.A,Oa.u,Ua.yw,Symbol.toStringTag;const Ra={props:{user:{type:Object,required:!0},settings:{type:Object,default:()=>({})},quotaOptions:{type:Array,default:()=>[]},languages:{type:Array,required:!0},externalActions:{type:Array,default:()=>[]}},setup(e){const{formattedFullTime:t}=(0,dn.u)(1e3*e.user.firstLoginTimestamp,{relativeTime:!1,format:{timeStyle:"short",dateStyle:"short"}});return{formattedFullTime:t}},data(){return{selectedGroups:this.user.groups.map((e=>({id:e,name:e}))),selectedSubAdminGroups:this.user.subadmin.map((e=>({id:e,name:e}))),userGroups:this.user.groups.map((e=>({id:e,name:e}))),userSubAdminGroups:this.user.subadmin.map((e=>({id:e,name:e})))}},computed:{showConfig(){return this.$store.getters.getShowConfig},usedSpace(){const e=this.user.quota.used>0?this.user.quota.used:0;return t("settings","{size} used",{size:(0,G.v7)(e,!0)})},usedQuota(){let e=this.user.quota.quota;return e=e>0?Math.min(100,Math.round(this.user.quota.used/e*100)):95*(1-1/(this.user.quota.used/(10*Math.pow(2,30))+1)),isNaN(e)?0:e},userQuota(){if(this.user.quota.quota>=0){const e=(0,G.v7)(this.user.quota.quota);return this.quotaOptions.find((t=>t.id===e))||{id:e,label:e}}return"default"===this.user.quota.quota?this.quotaOptions[0]:this.quotaOptions[1]},minPasswordLength(){return this.$store.getters.getPasswordPolicyMinLength},userLanguage(){const e=this.languages[0].languages.concat(this.languages[1].languages).find((e=>e.code===this.user.language));return"object"!=typeof e&&""!==this.user.language?{code:this.user.language,name:this.user.language}:""!==this.user.language&&e},userFirstLogin(){return this.user.firstLoginTimestamp>0?this.formattedFullTime:this.user.firstLoginTimestamp<0?t("settings","Unknown"):t("settings","Never")},userLastLoginTooltip(){return this.user.lastLoginTimestamp>0?OC.Util.formatDate(1e3*this.user.lastLoginTimestamp):""},userLastLogin(){return this.user.lastLoginTimestamp>0?OC.Util.relativeModifiedDate(1e3*this.user.lastLoginTimestamp):t("settings","Never")}}};var qa=a(95668);const Ma={name:"UserRow",components:{NcAvatar:ae.A,NcLoadingIcon:A.A,NcProgressBar:ie.A,NcSelect:R.A,NcTextField:q.A,UserRowActions:ge},mixins:[Ra],props:{user:{type:Object,required:!0},visible:{type:Boolean,required:!0},users:{type:Array,required:!0},hasObfuscated:{type:Boolean,required:!0},quotaOptions:{type:Array,required:!0},languages:{type:Array,required:!0},settings:{type:Object,required:!0},externalActions:{type:Array,default:()=>[]}},data(){return{selectedQuota:!1,rand:Math.random().toString(36).substring(2),loadingPossibleManagers:!1,possibleManagers:[],currentManager:"",editing:!1,loading:{all:!1,displayName:!1,password:!1,mailAddress:!1,groups:!1,groupsDetails:!1,subAdminGroupsDetails:!1,subadmins:!1,quota:!1,delete:!1,disable:!1,languages:!1,wipe:!1,manager:!1},editedDisplayName:this.user.displayname,editedPassword:"",editedMail:this.user.email??"",promise:null}},computed:{managerLabel:()=>t("settings","Set line manager"),isObfuscated(){return(0,qa.HK)(this.user)},showConfig(){return this.$store.getters.getShowConfig},isLoadingUser(){return this.loading.delete||this.loading.disable||this.loading.wipe},isLoadingField(){return this.loading.delete||this.loading.disable||this.loading.all},uniqueId(){return encodeURIComponent(this.user.id+this.rand)},availableGroups(){return(this.settings.isAdmin||this.settings.isDelegatedAdmin?this.$store.getters.getSortedGroups:this.$store.getters.getSubAdminGroups).filter((e=>"__nc_internal_recent"!==e.id&&"disabled"!==e.id))},availableSubAdminGroups(){return this.availableGroups.filter((e=>"admin"!==e.id))},userGroupsLabels(){return this.userGroups.map((e=>e.name??e.id)).join(", ")},userSubAdminGroupsLabels(){return this.userSubAdminGroups.map((e=>e.name??e.id)).join(", ")},usedSpace(){return this.user.quota?.used?t("settings","{size} used",{size:(0,G.v7)(this.user.quota?.used)}):t("settings","{size} used",{size:(0,G.v7)(0)})},canEdit(){return(0,te.HW)().uid!==this.user.id||this.settings.isAdmin||this.settings.isDelegatedAdmin},userQuota(){let e=this.user.quota?.quota;return"default"===e&&(e=this.settings.defaultQuota,"none"!==e&&(e=(0,G.lT)(e,!0))),"none"===e||-3===e?t("settings","Unlimited"):e>=0?(0,G.v7)(e):(0,G.v7)(0)},userActions(){const e=[{icon:"icon-delete",text:t("settings","Delete account"),action:this.deleteUser},{icon:"icon-delete",text:t("settings","Disconnect all devices and delete local data"),action:this.wipeUserDevices},{icon:this.user.enabled?"icon-close":"icon-add",text:this.user.enabled?t("settings","Disable account"):t("settings","Enable account"),action:this.enableDisableUser}];return null!==this.user.email&&""!==this.user.email&&e.push({icon:"icon-mail",text:t("settings","Resend welcome email"),action:this.sendWelcomeMail}),e.concat(this.externalActions)},editedUserQuota:{get(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==qa.SA.id&&(0,G.lT)(this.settings.defaultQuota,!0)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:qa.SA},set(e){this.selectedQuota=e}},availableLanguages(){return this.languages[0].languages.concat(this.languages[1].languages)}},async beforeMount(){this.user.manager&&await this.initManager(this.user.manager)},methods:{async wipeUserDevices(){const e=this.user.id;await(0,ne.C5)(),OC.dialogs.confirmDestructive(t("settings","In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",{userid:e}),t("settings","Remote wipe of devices"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Wipe {userid}'s devices",{userid:e}),confirmClasses:"error",cancel:t("settings","Cancel")},(n=>{n&&(this.loading.wipe=!0,this.loading.all=!0,this.$store.dispatch("wipeUserDevices",e).then((()=>(0,c.Te)(t("settings","Wiped {userid}'s devices",{userid:e}))),{timeout:2e3}).finally((()=>{this.loading.wipe=!1,this.loading.all=!1})))}),!0)},filterManagers(e){return e.filter((e=>e.id!==this.user.id))},async initManager(e){await this.$store.dispatch("getUser",e).then((e=>{this.currentManager=e?.data.ocs.data}))},async searchInitialUserManager(){this.loadingPossibleManagers=!0,await this.searchUserManager(),this.loadingPossibleManagers=!1},async loadGroupsDetails(){this.loading.groups=!0,this.loading.groupsDetails=!0;try{const e=await(0,M.Iu)({userId:this.user.id});for(const t of e)this.$store.commit("addGroup",t);this.selectedGroups=this.selectedGroups.map((t=>e.find((e=>e.id===t.id))??t))}catch(e){f.A.error(t("settings","Failed to load groups with details"),{error:e})}this.loading.groups=!1,this.loading.groupsDetails=!1},async loadSubAdminGroupsDetails(){this.loading.subadmins=!0,this.loading.subAdminGroupsDetails=!0;try{const e=await(0,M.FF)({userId:this.user.id});for(const t of e)this.$store.commit("addGroup",t);this.selectedSubAdminGroups=this.selectedSubAdminGroups.map((t=>e.find((e=>e.id===t.id))??t))}catch(e){f.A.error(t("settings","Failed to load sub admin groups with details"),{error:e})}this.loading.subadmins=!1,this.loading.subAdminGroupsDetails=!1},async searchGroups(e,n){if(""!==e){this.promise&&this.promise.cancel(),n(!0);try{this.promise=await(0,M.N_)({search:e,offset:0,limit:25});const t=await this.promise;for(const e of t)this.$store.commit("addGroup",e)}catch(e){f.A.error(t("settings","Failed to search groups"),{error:e})}this.promise=null,n(!1)}},async searchUserManager(e){await this.$store.dispatch("searchUsers",{offset:0,limit:10,search:e}).then((e=>{const t=e?.data?this.filterManagers(Object.values(e?.data.ocs.data.users)):[];t.length>0&&(this.possibleManagers=t)}))},async updateUserManager(){this.loading.manager=!0;const e=this.user.manager;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"manager",value:this.currentManager?this.currentManager.id:""})}catch(n){(0,c.Qg)(t("settings","Failed to update line manager")),f.A.error("Failed to update manager:",{error:n}),this.currentManager=e}finally{this.loading.manager=!1}},async deleteUser(){const e=this.user.id;await(0,ne.C5)(),OC.dialogs.confirmDestructive(t("settings","Fully delete {userid}'s account including all their personal files, app data, etc.",{userid:e}),t("settings","Account deletion"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Delete {userid}'s account",{userid:e}),confirmClasses:"error",cancel:t("settings","Cancel")},(t=>{if(t)return this.loading.delete=!0,this.loading.all=!0,this.$store.dispatch("deleteUser",e).then((()=>{this.loading.delete=!1,this.loading.all=!1}))}),!0)},enableDisableUser(){this.loading.delete=!0,this.loading.all=!0;const e=this.user.id,t=!this.user.enabled;return this.$store.dispatch("enableDisableUser",{userid:e,enabled:t}).then((()=>{this.loading.delete=!1,this.loading.all=!1}))},async updateDisplayName(){this.loading.displayName=!0;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"displayname",value:this.editedDisplayName}),this.editedDisplayName===this.user.displayname&&(0,c.Te)(t("settings","Display name was successfully changed"))}finally{this.loading.displayName=!1}},async updatePassword(){if(this.loading.password=!0,0===this.editedPassword.length)(0,c.Qg)(t("settings","Password can't be empty")),this.loading.password=!1;else try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"password",value:this.editedPassword}),this.editedPassword="",(0,c.Te)(t("settings","Password was successfully changed"))}finally{this.loading.password=!1}},async updateEmail(){if(this.loading.mailAddress=!0,""===this.editedMail)(0,c.Qg)(t("settings","Email can't be empty")),this.loading.mailAddress=!1,this.editedMail=this.user.email;else try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"email",value:this.editedMail}),this.editedMail===this.user.email&&(0,c.Te)(t("settings","Email was successfully changed"))}finally{this.loading.mailAddress=!1}},async createGroup(e){let{name:n}=e;this.loading.groups=!0;try{await this.$store.dispatch("addGroup",n);const e=this.user.id;await this.$store.dispatch("addUserGroup",{userid:e,gid:n}),this.userGroups.push({id:n,name:n})}catch(e){f.A.error(t("settings","Failed to create group"),{error:e})}this.loading.groups=!1},async addUserGroup(e){if(e.isCreating)return;const t=this.user.id,n=e.id;if(!1!==e.canAdd){this.loading.groups=!0;try{await this.$store.dispatch("addUserGroup",{userid:t,gid:n}),this.userGroups.push(e)}catch(e){console.error(e)}this.loading.groups=!1}},async removeUserGroup(e){if(!1===e.canRemove)return!1;this.loading.groups=!0;const t=this.user.id,n=e.id;try{await this.$store.dispatch("removeUserGroup",{userid:t,gid:n}),this.userGroups=this.userGroups.filter((e=>e.id!==n)),this.loading.groups=!1,this.$route.params.selectedGroup===n&&this.$store.commit("deleteUser",t)}catch{this.loading.groups=!1}},async addUserSubAdmin(e){this.loading.subadmins=!0;const t=this.user.id,n=e.id;try{await this.$store.dispatch("addUserSubAdmin",{userid:t,gid:n}),this.userSubAdminGroups.push(e)}catch(e){console.error(e)}this.loading.subadmins=!1},async removeUserSubAdmin(e){this.loading.subadmins=!0;const t=this.user.id,n=e.id;try{await this.$store.dispatch("removeUserSubAdmin",{userid:t,gid:n}),this.userSubAdminGroups=this.userSubAdminGroups.filter((e=>e.id!==n))}catch(e){console.error(e)}finally{this.loading.subadmins=!1}},async setUserQuota(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";"none"===e&&(e=qa.SA),this.loading.quota=!0,e=e.id?e.id:e;try{const t=((0,G.lT)(e,!0)||e).toString();await this.$store.dispatch("setUserData",{userid:this.user.id,key:"quota",value:t})}catch(e){console.error(e)}finally{this.loading.quota=!1}return e},validateQuota:e=>("object"==typeof e&&(e=e?.id||e.label),null===(0,G.lT)(e,!0)?qa.SA:{id:e=(0,G.v7)((0,G.lT)(e,!0)),label:e}),async setUserLanguage(e){this.loading.languages=!0;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"language",value:e.code}),this.loading.languages=!1}catch(e){console.error(e)}return e},sendWelcomeMail(){this.loading.all=!0,this.$store.dispatch("sendWelcomeMail",this.user.id).then((()=>(0,c.Te)(t("settings","Welcome mail sent!"),{timeout:2e3}))).finally((()=>{this.loading.all=!1}))},async toggleEdit(){this.editing=!this.editing,this.editing&&(await this.$nextTick(),this.$refs.displayNameField?.$refs?.inputField?.$refs?.input?.focus(),this.loadGroupsDetails(),this.loadSubAdminGroupsDetails()),this.editedDisplayName!==this.user.displayname?this.editedDisplayName=this.user.displayname:this.editedMail!==this.user.email&&(this.editedMail=this.user.email??"")}}};var ja=a(52867),za={};za.styleTagTransform=I(),za.setAttributes=k(),za.insert=w().bind(null,"head"),za.domAPI=_(),za.insertStyleElement=N(),b()(ja.A,za),ja.A&&ja.A.locals&&ja.A.locals;var $a=(0,L.A)(Ma,(function(){var e=this,t=e._self._c;return t("tr",{staticClass:"user-list__row",attrs:{"data-cy-user-row":e.user.id}},[t("td",{staticClass:"row__cell row__cell--avatar",attrs:{"data-cy-user-list-cell-avatar":""}},[e.isLoadingUser?t("NcLoadingIcon",{attrs:{name:e.t("settings","Loading account …"),size:32}}):e.visible?t("NcAvatar",{attrs:{"disable-menu":"","show-user-status":!1,user:e.user.id}}):e._e()],1),e._v(" "),t("td",{staticClass:"row__cell row__cell--displayname",attrs:{"data-cy-user-list-cell-displayname":""}},[e.editing&&e.user.backendCapabilities.setDisplayName?[t("NcTextField",{ref:"displayNameField",staticClass:"user-row-text-field",class:{"icon-loading-small":e.loading.displayName},attrs:{"data-cy-user-list-input-displayname":"","data-loading":e.loading.displayName||void 0,"trailing-button-label":e.t("settings","Submit"),"show-trailing-button":!0,disabled:e.loading.displayName||e.isLoadingField,label:e.t("settings","Change display name"),"trailing-button-icon":"arrowRight",value:e.editedDisplayName,autocapitalize:"off",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(t){e.editedDisplayName=t},"trailing-button-click":e.updateDisplayName}})]:e.isObfuscated?e._e():t("strong",{attrs:{title:e.user.displayname?.length>20?e.user.displayname:null}},[e._v("\n\t\t\t"+e._s(e.user.displayname)+"\n\t\t")])],2),e._v(" "),t("td",{staticClass:"row__cell row__cell--username",attrs:{"data-cy-user-list-cell-username":""}},[t("span",{staticClass:"row__subtitle"},[e._v(e._s(e.user.id))])]),e._v(" "),t("td",{staticClass:"row__cell",class:{"row__cell--obfuscated":e.hasObfuscated},attrs:{"data-cy-user-list-cell-password":""}},[e.editing&&e.settings.canChangePassword&&e.user.backendCapabilities.setPassword?[t("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":e.loading.password},attrs:{"data-cy-user-list-input-password":"","data-loading":e.loading.password||void 0,"trailing-button-label":e.t("settings","Submit"),"show-trailing-button":!0,disabled:e.loading.password||e.isLoadingField,minlength:e.minPasswordLength,maxlength:"469",label:e.t("settings","Set new password"),"trailing-button-icon":"arrowRight",value:e.editedPassword,autocapitalize:"off",autocomplete:"new-password",required:"",spellcheck:"false",type:"password"},on:{"update:value":function(t){e.editedPassword=t},"trailing-button-click":e.updatePassword}})]:e.isObfuscated?t("span",[e._v("\n\t\t\t"+e._s(e.t("settings","You do not have permissions to see the details of this account"))+"\n\t\t")]):e._e()],2),e._v(" "),t("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-email":""}},[e.editing?[t("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":e.loading.mailAddress},attrs:{"data-cy-user-list-input-email":"","data-loading":e.loading.mailAddress||void 0,"show-trailing-button":!0,"trailing-button-label":e.t("settings","Submit"),label:e.t("settings","Set new email address"),disabled:e.loading.mailAddress||e.isLoadingField,"trailing-button-icon":"arrowRight",value:e.editedMail,autocapitalize:"off",autocomplete:"email",spellcheck:"false",type:"email"},on:{"update:value":function(t){e.editedMail=t},"trailing-button-click":e.updateEmail}})]:e.isObfuscated?e._e():t("span",{attrs:{title:e.user.email?.length>20?e.user.email:null}},[e._v("\n\t\t\t"+e._s(e.user.email)+"\n\t\t")])],2),e._v(" "),t("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-cy-user-list-cell-groups":""}},[e.editing?[t("label",{staticClass:"hidden-visually",attrs:{for:"groups"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Add account to group"))+"\n\t\t\t")]),e._v(" "),t("NcSelect",{attrs:{"data-cy-user-list-input-groups":"","data-loading":e.loading.groups||void 0,"input-id":"groups"+e.uniqueId,"close-on-select":!1,disabled:e.isLoadingField||e.loading.groupsDetails,loading:e.loading.groups,multiple:!0,"append-to-body":!1,options:e.availableGroups,placeholder:e.t("settings","Add account to group"),taggable:e.settings.isAdmin||e.settings.isDelegatedAdmin,value:e.userGroups,label:"name","no-wrap":!0,"create-option":e=>({id:e,name:e,isCreating:!0})},on:{search:e.searchGroups,"option:created":e.createGroup,"option:selected":t=>e.addUserGroup(t.at(-1)),"option:deselected":e.removeUserGroup}})]:e.isObfuscated?e._e():t("span",{attrs:{title:e.userGroupsLabels?.length>40?e.userGroupsLabels:null}},[e._v("\n\t\t\t"+e._s(e.userGroupsLabels)+"\n\t\t")])],2),e._v(" "),e.settings.isAdmin||e.settings.isDelegatedAdmin?t("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-cy-user-list-cell-subadmins":""}},[e.editing&&(e.settings.isAdmin||e.settings.isDelegatedAdmin)?[t("label",{staticClass:"hidden-visually",attrs:{for:"subadmins"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Set account as admin for"))+"\n\t\t\t")]),e._v(" "),t("NcSelect",{attrs:{"data-cy-user-list-input-subadmins":"","data-loading":e.loading.subadmins||void 0,"input-id":"subadmins"+e.uniqueId,"close-on-select":!1,disabled:e.isLoadingField||e.loading.subAdminGroupsDetails,loading:e.loading.subadmins,label:"name","append-to-body":!1,multiple:!0,"no-wrap":!0,options:e.availableSubAdminGroups,placeholder:e.t("settings","Set account as admin for"),value:e.userSubAdminGroups},on:{search:e.searchGroups,"option:deselected":e.removeUserSubAdmin,"option:selected":t=>e.addUserSubAdmin(t.at(-1))}})]:e.isObfuscated?e._e():t("span",{attrs:{title:e.userSubAdminGroupsLabels?.length>40?e.userSubAdminGroupsLabels:null}},[e._v("\n\t\t\t"+e._s(e.userSubAdminGroupsLabels)+"\n\t\t")])],2):e._e(),e._v(" "),t("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-quota":""}},[e.editing?[t("label",{staticClass:"hidden-visually",attrs:{for:"quota"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Select account quota"))+"\n\t\t\t")]),e._v(" "),t("NcSelect",{attrs:{"close-on-select":!0,"create-option":e.validateQuota,"data-cy-user-list-input-quota":"","data-loading":e.loading.quota||void 0,disabled:e.isLoadingField,loading:e.loading.quota,"append-to-body":!1,clearable:!1,"input-id":"quota"+e.uniqueId,options:e.quotaOptions,placeholder:e.t("settings","Select account quota"),taggable:!0},on:{"option:selected":e.setUserQuota},model:{value:e.editedUserQuota,callback:function(t){e.editedUserQuota=t},expression:"editedUserQuota"}})]:e.isObfuscated?e._e():[t("span",{attrs:{id:"quota-progress"+e.uniqueId}},[e._v(e._s(e.userQuota)+" ("+e._s(e.usedSpace)+")")]),e._v(" "),t("NcProgressBar",{staticClass:"row__progress",class:{"row__progress--warn":e.usedQuota>80},attrs:{"aria-labelledby":"quota-progress"+e.uniqueId,value:e.usedQuota}})]],2),e._v(" "),e.showConfig.showLanguages?t("td",{staticClass:"row__cell row__cell--large",attrs:{"data-cy-user-list-cell-language":""}},[e.editing?[t("label",{staticClass:"hidden-visually",attrs:{for:"language"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Set the language"))+"\n\t\t\t")]),e._v(" "),t("NcSelect",{attrs:{id:"language"+e.uniqueId,"data-cy-user-list-input-language":"","data-loading":e.loading.languages||void 0,"allow-empty":!1,disabled:e.isLoadingField,loading:e.loading.languages,clearable:!1,"append-to-body":!1,options:e.availableLanguages,placeholder:e.t("settings","No language set"),value:e.userLanguage,label:"name"},on:{input:e.setUserLanguage}})]:e.isObfuscated?e._e():t("span",[e._v("\n\t\t\t"+e._s(e.userLanguage.name)+"\n\t\t")])],2):e._e(),e._v(" "),e.showConfig.showUserBackend||e.showConfig.showStoragePath?t("td",{staticClass:"row__cell row__cell--large",attrs:{"data-cy-user-list-cell-storage-location":""}},[e.isObfuscated?e._e():[e.showConfig.showUserBackend?t("span",[e._v(e._s(e.user.backend))]):e._e(),e._v(" "),e.showConfig.showStoragePath?t("span",{staticClass:"row__subtitle",attrs:{title:e.user.storageLocation}},[e._v("\n\t\t\t\t"+e._s(e.user.storageLocation)+"\n\t\t\t")]):e._e()]],2):e._e(),e._v(" "),e.showConfig.showFirstLogin?t("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-first-login":""}},[e.isObfuscated?e._e():t("span",[e._v(e._s(e.userFirstLogin))])]):e._e(),e._v(" "),e.showConfig.showLastLogin?t("td",{staticClass:"row__cell",attrs:{title:e.userLastLoginTooltip,"data-cy-user-list-cell-last-login":""}},[e.isObfuscated?e._e():t("span",[e._v(e._s(e.userLastLogin))])]):e._e(),e._v(" "),t("td",{staticClass:"row__cell row__cell--large row__cell--fill",attrs:{"data-cy-user-list-cell-manager":""}},[e.editing?[t("label",{staticClass:"hidden-visually",attrs:{for:"manager"+e.uniqueId}},[e._v("\n\t\t\t\t"+e._s(e.managerLabel)+"\n\t\t\t")]),e._v(" "),t("NcSelect",{staticClass:"select--fill",attrs:{"data-cy-user-list-input-manager":"","data-loading":e.loading.manager||void 0,"input-id":"manager"+e.uniqueId,disabled:e.isLoadingField,loading:e.loadingPossibleManagers||e.loading.manager,options:e.possibleManagers,placeholder:e.managerLabel,label:"displayname",filterable:!1,"internal-search":!1,clearable:!0},on:{open:e.searchInitialUserManager,search:e.searchUserManager,"update:model-value":e.updateUserManager},model:{value:e.currentManager,callback:function(t){e.currentManager=t},expression:"currentManager"}})]:e.isObfuscated?e._e():t("span",[e._v("\n\t\t\t"+e._s(e.user.manager)+"\n\t\t")])],2),e._v(" "),t("td",{staticClass:"row__cell row__cell--actions",attrs:{"data-cy-user-list-cell-actions":""}},[e.visible&&!e.isObfuscated&&e.canEdit&&!e.loading.all?t("UserRowActions",{attrs:{actions:e.userActions,disabled:e.isLoadingField,edit:e.editing,user:e.user},on:{"update:edit":e.toggleEdit}}):e._e()],1)])}),[],!1,null,"47722426",null);const Xa=$a.exports,Ha=Object.freeze({id:"",displayName:"",password:"",mailAddress:"",groups:[],manager:"",subAdminsGroups:[],quota:qa.MY,language:{code:"en",name:t("settings","Default language")}}),Wa={name:"UserList",components:{Fragment:d.F,NcEmptyContent:u.A,NcIconSvgWrapper:p.A,NcLoadingIcon:A.A,NewUserDialog:H,UserListFooter:Q,UserListHeader:ee,VirtualList:P},props:{selectedGroup:{type:String,default:null},externalActions:{type:Array,default:()=>[]}},setup:()=>({mdiAccountGroup:l.n7C,rowHeight:55,UserRow:Xa}),data:()=>({loading:{all:!1,groups:!1,users:!1},newUser:{...Ha},isInitialLoad:!0,searchQuery:""}),computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},style(){return{"--row-height":`${this.rowHeight}px`}},hasObfuscated(){return this.filteredUsers.some((e=>(0,qa.HK)(e)))},users(){return this.$store.getters.getUsers},filteredUsers(){return"disabled"===this.selectedGroup?this.users.filter((e=>!1===e.enabled)):this.users.filter((e=>!1!==e.enabled))},groups(){return this.$store.getters.getSortedGroups.filter((e=>"__nc_internal_recent"!==e.id&&"disabled"!==e.id))},quotaOptions(){const e=this.settings.quotaPreset.reduce(((e,t)=>e.concat({id:t,label:t})),[]);return this.settings.allowUnlimitedQuota&&e.unshift(qa.SA),e.unshift(qa.MY),e},usersOffset(){return this.$store.getters.getUsersOffset},usersLimit(){return this.$store.getters.getUsersLimit},disabledUsersOffset(){return this.$store.getters.getDisabledUsersOffset},disabledUsersLimit(){return this.$store.getters.getDisabledUsersLimit},usersCount(){return this.users.length},languages(){return[{label:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},{label:t("settings","Other languages"),languages:this.settings.languages.otherLanguages}]}},watch:{async selectedGroup(e){this.isInitialLoad=!0,await this.redirectIfDisabled(),this.$store.commit("resetUsers"),await this.loadUsers(),this.setNewUserDefaultGroup(e)},filteredUsers(e){f.A.debug(`${e.length} filtered user(s)`)}},async created(){await this.loadUsers()},async mounted(){this.settings.canChangePassword||OC.Notification.showTemporary(t("settings","Password change is disabled because the master key is disabled")),this.resetForm(),(0,r.B1)("nextcloud:unified-search.search",this.search),(0,r.B1)("nextcloud:unified-search.reset",this.resetSearch),await this.redirectIfDisabled()},beforeDestroy(){(0,r.al)("nextcloud:unified-search.search",this.search),(0,r.al)("nextcloud:unified-search.reset",this.resetSearch)},methods:{async handleScrollEnd(){await this.loadUsers()},async loadUsers(){this.loading.users=!0;try{"disabled"===this.selectedGroup?await this.$store.dispatch("getDisabledUsers",{offset:this.disabledUsersOffset,limit:this.disabledUsersLimit,search:this.searchQuery}):"__nc_internal_recent"===this.selectedGroup?await this.$store.dispatch("getRecentUsers",{offset:this.usersOffset,limit:this.usersLimit,search:this.searchQuery}):await this.$store.dispatch("getUsers",{offset:this.usersOffset,limit:this.usersLimit,group:this.selectedGroup,search:this.searchQuery}),f.A.debug(`${this.users.length} total user(s) loaded`)}catch(e){f.A.error("Failed to load accounts",{error:e}),(0,c.Qg)("Failed to load accounts")}this.loading.users=!1,this.isInitialLoad=!1},closeDialog(){this.$store.commit("setShowConfig",{key:"showNewUserForm",value:!1})},async search(e){let{query:t}=e;this.searchQuery=t,this.$store.commit("resetUsers"),await this.loadUsers()},resetSearch(){this.search({query:""})},resetForm(){this.newUser=Object.assign({},Ha),this.settings.defaultLanguage&&o.Ay.set(this.newUser.language,"code",this.settings.defaultLanguage),this.setNewUserDefaultGroup(this.selectedGroup),this.loading.all=!1},setNewUserDefaultGroup(e){if(e||this.settings.isAdmin||this.settings.isDelegatedAdmin){if(e){const t=this.groups.find((t=>t.id===e));if(t)return void(this.newUser.groups=[t])}this.newUser.groups=[]}else{const e=this.$store.getters.getSubAdminGroups;1===e.length&&(this.newUser.groups=[...e])}},async redirectIfDisabled(){const e=this.$store.getters.getGroups;"disabled"===this.selectedGroup&&e.findIndex((e=>"disabled"===e.id&&0===e.usercount))>-1&&(this.$router.push({name:"users"}),await this.loadUsers())}}};var Va=a(79498),Ya={};Ya.styleTagTransform=I(),Ya.setAttributes=k(),Ya.insert=w().bind(null,"head"),Ya.domAPI=_(),Ya.insertStyleElement=N(),b()(Va.A,Ya),Va.A&&Va.A.locals&&Va.A.locals;const Qa=(0,L.A)(Wa,(function(){var e=this,t=e._self._c;return t("Fragment",[e.showConfig.showNewUserForm?t("NewUserDialog",{attrs:{loading:e.loading,"new-user":e.newUser,"quota-options":e.quotaOptions},on:{reset:e.resetForm,closing:e.closeDialog}}):e._e(),e._v(" "),0===e.filteredUsers.length?t("NcEmptyContent",{staticClass:"empty",attrs:{name:e.isInitialLoad&&e.loading.users?null:e.t("settings","No accounts")},scopedSlots:e._u([{key:"icon",fn:function(){return[e.isInitialLoad&&e.loading.users?t("NcLoadingIcon",{attrs:{name:e.t("settings","Loading accounts …"),size:64}}):t("NcIconSvgWrapper",{attrs:{path:e.mdiAccountGroup,size:64}})]},proxy:!0}],null,!1,226056511)}):t("VirtualList",{style:e.style,attrs:{"data-component":e.UserRow,"data-sources":e.filteredUsers,"data-key":"id","data-cy-user-list":"","item-height":e.rowHeight,"extra-props":{users:e.users,settings:e.settings,hasObfuscated:e.hasObfuscated,quotaOptions:e.quotaOptions,languages:e.languages,externalActions:e.externalActions}},on:{"scroll-end":e.handleScrollEnd},scopedSlots:e._u([{key:"before",fn:function(){return[t("caption",{staticClass:"hidden-visually"},[e._v("\n\t\t\t\t"+e._s(e.t("settings","List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list."))+"\n\t\t\t")])]},proxy:!0},{key:"header",fn:function(){return[t("UserListHeader",{attrs:{"has-obfuscated":e.hasObfuscated}})]},proxy:!0},{key:"footer",fn:function(){return[t("UserListFooter",{attrs:{loading:e.loading.users,"filtered-users":e.filteredUsers}})]},proxy:!0}])})],1)}),[],!1,null,"1e8fee5a",null).exports,Ka=(0,o.pM)({name:"UserManagement",components:{NcAppContent:s.A,UserList:Qa},data:()=>({externalActions:[]}),computed:{pageHeading(){return null===this.selectedGroupDecoded?(0,i.Tl)("settings","All accounts"):{admin:(0,i.Tl)("settings","Admins"),disabled:(0,i.Tl)("settings","Disabled accounts")}[this.selectedGroupDecoded]??(0,i.Tl)("settings","Account group: {group}",{group:this.selectedGroupDecoded})},selectedGroup(){return this.$route.params.selectedGroup},selectedGroupDecoded(){return this.selectedGroup?decodeURIComponent(this.selectedGroup):null}},beforeMount(){this.$store.dispatch("getPasswordPolicyMinLength")},created(){window.OCA=window.OCA??{},window.OCA.Settings=window.OCA.Settings??{},window.OCA.Settings.UserList=window.OCA.Settings.UserList??{},window.OCA.Settings.UserList.registerAction=this.registerAction,(0,r.Ic)("settings:user-management:loaded")},methods:{t:i.Tl,registerAction(e,t,n,a){return this.externalActions.push({icon:e,text:t,action:n,enabled:a}),this.externalActions}}});var Za=a(82009),Ja={};Ja.styleTagTransform=I(),Ja.setAttributes=k(),Ja.insert=w().bind(null,"head"),Ja.domAPI=_(),Ja.insertStyleElement=N(),b()(Za.A,Ja),Za.A&&Za.A.locals&&Za.A.locals;const ei=(0,L.A)(Ka,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcAppContent",{attrs:{"page-heading":e.pageHeading}},[t("UserList",{attrs:{"selected-group":e.selectedGroupDecoded,"external-actions":e.externalActions}})],1)}),[],!1,null,"253f9eec",null).exports},26865:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-9e46b7b2] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.team-resources__header[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-team[data-v-9e46b7b2] {\n border-radius: var(--border-radius-rounded);\n border: 2px solid var(--color-border-dark);\n margin-bottom: 6px;\n}\n.related-team__open[data-v-9e46b7b2] {\n border-color: var(--color-primary-element);\n}\n.related-team__header[data-v-9e46b7b2] {\n padding: 6px;\n padding-right: 24px;\n display: flex;\n gap: 12px;\n}\n.related-team__name[data-v-9e46b7b2] {\n display: flex;\n flex-grow: 1;\n align-items: center;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n margin: 0;\n}\n.related-team .related-team-provider[data-v-9e46b7b2] {\n padding: 6px 12px;\n}\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 3px;\n}\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n height: var(--default-clickable-area);\n align-items: center;\n border-radius: var(--border-radius-large);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\n background-color: var(--color-background-hover);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\n background-color: var(--color-background-hover);\n outline: 2px solid var(--color-primary-element);\n}\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\n border-radius: var(--border-radius-pill);\n overflow: hidden;\n width: 32px;\n height: 32px;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-77c38062] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resource[data-v-77c38062] {\n display: flex;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.resource__button[data-v-77c38062] {\n width: 100% !important;\n justify-content: flex-start !important;\n padding: 0 !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper {\n justify-content: flex-start !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\n font-weight: normal !important;\n margin-left: 2px !important;\n}\n.resource__icon[data-v-77c38062] {\n width: 32px;\n height: 32px;\n background-color: var(--color-text-maxcontrast);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.resource__icon img[data-v-77c38062] {\n width: 16px;\n height: 16px;\n filter: var(--background-invert-if-dark);\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-badd46a9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.related-resources__header h5[data-v-badd46a9] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-resources__header p[data-v-badd46a9] {\n color: var(--color-text-maxcontrast);\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,2CAA2C;EAC3C,0CAA0C;EAC1C,kBAAkB;AACpB;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,YAAY;EACZ,mBAAmB;EACnB,aAAa;EACb,SAAS;AACX;AACA;EACE,aAAa;EACb,YAAY;EACZ,mBAAmB;EACnB,SAAS;EACT,iBAAiB;EACjB,iBAAiB;EACjB,SAAS;AACX;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,SAAS;EACT,iBAAiB;EACjB,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,SAAS;EACT,qCAAqC;EACrC,mBAAmB;EACnB,yCAAyC;AAC3C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;EAC/C,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB;AACA;EACE,wCAAwC;EACxC,gBAAgB;EAChB,WAAW;EACX,YAAY;AACd,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,qCAAqC;AACvC;AACA;EACE,sBAAsB;EACtB,sCAAsC;EACtC,qBAAqB;AACvB;AACA;EACE,sCAAsC;AACxC;AACA;EACE,8BAA8B;EAC9B,2BAA2B;AAC7B;AACA;EACE,WAAW;EACX,YAAY;EACZ,+CAA+C;EAC/C,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,YAAY;EACZ,wCAAwC;AAC1C,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,oCAAoC;AACtC",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-9e46b7b2] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.team-resources__header[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-team[data-v-9e46b7b2] {\n border-radius: var(--border-radius-rounded);\n border: 2px solid var(--color-border-dark);\n margin-bottom: 6px;\n}\n.related-team__open[data-v-9e46b7b2] {\n border-color: var(--color-primary-element);\n}\n.related-team__header[data-v-9e46b7b2] {\n padding: 6px;\n padding-right: 24px;\n display: flex;\n gap: 12px;\n}\n.related-team__name[data-v-9e46b7b2] {\n display: flex;\n flex-grow: 1;\n align-items: center;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n margin: 0;\n}\n.related-team .related-team-provider[data-v-9e46b7b2] {\n padding: 6px 12px;\n}\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 3px;\n}\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n height: var(--default-clickable-area);\n align-items: center;\n border-radius: var(--border-radius-large);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\n background-color: var(--color-background-hover);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\n background-color: var(--color-background-hover);\n outline: 2px solid var(--color-primary-element);\n}\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\n border-radius: var(--border-radius-pill);\n overflow: hidden;\n width: 32px;\n height: 32px;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-77c38062] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resource[data-v-77c38062] {\n display: flex;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.resource__button[data-v-77c38062] {\n width: 100% !important;\n justify-content: flex-start !important;\n padding: 0 !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper {\n justify-content: flex-start !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\n font-weight: normal !important;\n margin-left: 2px !important;\n}\n.resource__icon[data-v-77c38062] {\n width: 32px;\n height: 32px;\n background-color: var(--color-text-maxcontrast);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.resource__icon img[data-v-77c38062] {\n width: 16px;\n height: 16px;\n filter: var(--background-invert-if-dark);\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-badd46a9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.related-resources__header h5[data-v-badd46a9] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-resources__header p[data-v-badd46a9] {\n color: var(--color-text-maxcontrast);\n}"],sourceRoot:""}]);const s=o},27514:e=>{"use strict";e.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},27518:e=>{"use strict";e.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},29420:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0b3c495c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/* 'New' button */\n.app-navigation-new[data-v-0b3c495c] {\n display: block;\n padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.app-navigation-new button[data-v-0b3c495c] {\n width: 100%;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA,iBAAiB;AACjB;EACE,cAAc;EACd,oDAAoD;AACtD;AACA;EACE,WAAW;AACb",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0b3c495c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/* 'New' button */\n.app-navigation-new[data-v-0b3c495c] {\n display: block;\n padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.app-navigation-new button[data-v-0b3c495c] {\n width: 100%;\n}"],sourceRoot:""}]);const s=o},32402:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-938dadb1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\n display: block;\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n}\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\n width: 14px;\n height: 14px;\n cursor: pointer;\n transition: background 100ms ease-in-out;\n border: none;\n border-radius: 50%;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,+DAA+D;AACjE;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,wCAAwC;EACxC,YAAY;EACZ,kBAAkB;AACpB",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-938dadb1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\n display: block;\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n}\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\n width: 14px;\n height: 14px;\n cursor: pointer;\n transition: background 100ms ease-in-out;\n border: none;\n border-radius: 50%;\n}"],sourceRoot:""}]);const s=o},34188:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-8ddd08c0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-8ddd08c0]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-8ddd08c0] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-8ddd08c0] {\n opacity: 1 !important;\n}\n.action-radio[data-v-8ddd08c0] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* checkbox/radio fixes */\n}\n.action-radio__radio[data-v-8ddd08c0] {\n position: absolute;\n inset-inline-start: 0 !important;\n z-index: -1;\n opacity: 0;\n}\n.action-radio__label[data-v-8ddd08c0] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 !important;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\n}\n.action-radio__label[data-v-8ddd08c0]::before {\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\n}\n.action-radio--disabled[data-v-8ddd08c0],\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\n cursor: pointer;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,yBAAyB;AAC3B;AACA;EACE,kBAAkB;EAClB,gCAAgC;EAChC,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,qBAAqB;EACrB,+EAA+E;AACjF;AACA;EACE,mEAAmE;AACrE;AACA;;EAEE,eAAe;AACjB",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-8ddd08c0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-8ddd08c0]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-8ddd08c0] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-8ddd08c0] {\n opacity: 1 !important;\n}\n.action-radio[data-v-8ddd08c0] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* checkbox/radio fixes */\n}\n.action-radio__radio[data-v-8ddd08c0] {\n position: absolute;\n inset-inline-start: 0 !important;\n z-index: -1;\n opacity: 0;\n}\n.action-radio__label[data-v-8ddd08c0] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 !important;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\n}\n.action-radio__label[data-v-8ddd08c0]::before {\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\n}\n.action-radio--disabled[data-v-8ddd08c0],\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\n cursor: pointer;\n}"],sourceRoot:""}]);const s=o},46984:(e,t,n)=>{"use strict";n.d(t,{FF:()=>c,Iu:()=>l,N_:()=>s});var a=n(65043),i=n(63814),r=n(36117);const o=e=>({id:e.id,name:e.displayname,usercount:e.usercount,disabled:e.disabled,canAdd:e.canAdd,canRemove:e.canRemove}),s=e=>{let{search:t,offset:n,limit:s}=e;const l=new AbortController;return new r.CancelablePromise((async(e,r,c)=>{c((()=>l.abort()));try{const{data:r}=await a.Ay.get((0,i.KT)("/cloud/groups/details?search={search}&offset={offset}&limit={limit}",{search:t,offset:n,limit:s}),{signal:l.signal});e((r.ocs?.data?.groups??[]).map(o))}catch(e){r(e)}}))},l=async e=>{let{userId:t}=e;const n=(0,i.KT)("/cloud/users/{userId}/groups/details",{userId:t}),{data:r}=await a.Ay.get(n);return(r.ocs?.data?.groups??[]).map(o)},c=async e=>{let{userId:t}=e;const n=(0,i.KT)("/cloud/users/{userId}/subadmins/details",{userId:t}),{data:r}=await a.Ay.get(n);return(r.ocs?.data?.groups??[]).map(o)}},47999:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-d278a327] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#app-settings[data-v-d278a327] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-d278a327] {\n box-sizing: border-box;\n margin: 0 3px 3px 3px;\n}\n#app-settings__header .settings-button[data-v-d278a327] {\n display: flex;\n flex: 1 1 0;\n height: var(--default-clickable-area);\n width: 100%;\n padding: 0;\n margin: 0;\n background-color: transparent;\n box-shadow: none;\n border: 0;\n border-radius: var(--body-container-radius);\n text-align: start;\n font-weight: normal;\n font-size: 100%;\n color: var(--color-main-text);\n padding-inline-end: 14px;\n line-height: var(--default-clickable-area);\n}\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__icon[data-v-d278a327] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n min-width: var(--default-clickable-area);\n}\n#app-settings__header .settings-button__label[data-v-d278a327] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-d278a327] {\n display: block;\n padding: 10px;\n /* prevent scrolled contents from stopping too early */\n margin-bottom: -3px;\n /* restrict height of settings and make scrollable */\n max-height: 300px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.slide-up-leave-active[data-v-d278a327],\n.slide-up-enter-active[data-v-d278a327] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-d278a327],\n.slide-up-leave-to[data-v-d278a327] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,WAAW;EACX,qCAAqC;EACrC,WAAW;EACX,UAAU;EACV,SAAS;EACT,6BAA6B;EAC7B,gBAAgB;EAChB,SAAS;EACT,2CAA2C;EAC3C,iBAAiB;EACjB,mBAAmB;EACnB,eAAe;EACf,6BAA6B;EAC7B,wBAAwB;EACxB,0CAA0C;AAC5C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,wCAAwC;AAC1C;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,aAAa;EACb,sDAAsD;EACtD,mBAAmB;EACnB,oDAAoD;EACpD,iBAAiB;EACjB,gBAAgB;EAChB,sBAAsB;AACxB;AACA;;EAEE,0CAA0C;EAC1C,wCAAwC;EACxC,6BAA6B;AAC/B;AACA;;EAEE,wBAAwB;EACxB,0BAA0B;AAC5B",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-d278a327] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#app-settings[data-v-d278a327] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-d278a327] {\n box-sizing: border-box;\n margin: 0 3px 3px 3px;\n}\n#app-settings__header .settings-button[data-v-d278a327] {\n display: flex;\n flex: 1 1 0;\n height: var(--default-clickable-area);\n width: 100%;\n padding: 0;\n margin: 0;\n background-color: transparent;\n box-shadow: none;\n border: 0;\n border-radius: var(--body-container-radius);\n text-align: start;\n font-weight: normal;\n font-size: 100%;\n color: var(--color-main-text);\n padding-inline-end: 14px;\n line-height: var(--default-clickable-area);\n}\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__icon[data-v-d278a327] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n min-width: var(--default-clickable-area);\n}\n#app-settings__header .settings-button__label[data-v-d278a327] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-d278a327] {\n display: block;\n padding: 10px;\n /* prevent scrolled contents from stopping too early */\n margin-bottom: -3px;\n /* restrict height of settings and make scrollable */\n max-height: 300px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.slide-up-leave-active[data-v-d278a327],\n.slide-up-enter-active[data-v-d278a327] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-d278a327],\n.slide-up-leave-to[data-v-d278a327] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}"],sourceRoot:""}]);const s=o},49977:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".account-management__navigation[data-v-edf83404] .app-navigation__body{will-change:scroll-position}.account-management__system-list[data-v-edf83404]{height:auto !important;overflow:visible !important}.account-management__group-list[data-v-edf83404]{height:100% !important}.account-management__settings-toggle[data-v-edf83404]{margin-bottom:12px}","",{version:3,sources:["webpack://./apps/settings/src/views/UserManagementNavigation.vue"],names:[],mappings:"AAGE,uEACC,2BAAA,CAGF,kDACC,sBAAA,CACA,2BAAA,CAGD,iDACC,sBAAA,CAGD,sDACC,kBAAA",sourcesContent:["\n.account-management {\n\t&__navigation {\n\t\t:deep(.app-navigation__body) {\n\t\t\twill-change: scroll-position;\n\t\t}\n\t}\n\t&__system-list {\n\t\theight: auto !important;\n\t\toverflow: visible !important;\n\t}\n\n\t&__group-list {\n\t\theight: 100% !important;\n\t}\n\n\t&__settings-toggle {\n\t\tmargin-bottom: 12px;\n\t}\n}\n"],sourceRoot:""}]);const s=o},50332:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0907eb0a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-wrapper[data-v-0907eb0a] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 100%;\n max-width: 400px;\n}\n.input-wrapper .action-input__label[data-v-0907eb0a] {\n margin-right: 12px;\n}\n.input-wrapper[data-v-0907eb0a]:disabled {\n cursor: default;\n}\n.input-wrapper .hint[data-v-0907eb0a] {\n color: var(--color-text-maxcontrast);\n margin-left: 8px;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;EACpC,gBAAgB;AAClB",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0907eb0a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-wrapper[data-v-0907eb0a] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 100%;\n max-width: 400px;\n}\n.input-wrapper .action-input__label[data-v-0907eb0a] {\n margin-right: 12px;\n}\n.input-wrapper[data-v-0907eb0a]:disabled {\n cursor: default;\n}\n.input-wrapper .hint[data-v-0907eb0a] {\n color: var(--color-text-maxcontrast);\n margin-left: 8px;\n}"],sourceRoot:""}]);const s=o},50998:(e,t,n)=>{"use strict";n.d(t,{N:()=>l}),n(54775);var a=n(21651),i=n(51431);const r={name:"NcAppNavigationCaption",components:{NcActions:a.N},inheritAttrs:!1,props:{name:{type:String,required:!0},headingId:{type:String,default:null},isHeading:{type:Boolean,default:!1},headingLevel:{type:Number,default:2}," ":{}},computed:{wrapperTag(){return this.isHeading?"div":"li"},captionTag(){const e=Math.max(2,this.headingLevel);return this.isHeading?`h${e}`:"span"},hasActions(){return!!this.$slots.actions}}};var o=function(){var e=this,t=e._self._c;return t(e.wrapperTag,{tag:"component",staticClass:"app-navigation-caption",class:{"app-navigation-caption--heading":e.isHeading}},[t(e.captionTag,{tag:"component",staticClass:"app-navigation-caption__name",attrs:{id:e.headingId}},[e._v(" "+e._s(e.name)+" ")]),e.hasActions?t("div",{staticClass:"app-navigation-caption__actions"},[t("NcActions",e._g(e._b({scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("actionsTriggerIcon")]},proxy:!0}],null,!0)},"NcActions",e.$attrs,!1),e.$listeners),[e._t("actions")],2)],1):e._e()],1)},s=[];const l=(0,i.n)(r,o,s,!1,null,"1133b4da").exports},51439:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-a4505289] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * color-text-lighter\t\tnormal state\n * color-text-lighter\t\tactive state\n * color-text-maxcontrast \tdisabled state\n */\n/* Default global values */\nbutton[data-v-a4505289]:not(.button-vue),\ninput[data-v-a4505289]:not([type=range]),\ntextarea[data-v-a4505289] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n /* Primary action button, use sparingly */\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\n /* active class used for multiselect */\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-a4505289]:not(.button-vue):disabled,\ninput[data-v-a4505289]:not([type=range]):disabled,\ntextarea[data-v-a4505289]:disabled {\n cursor: default;\n opacity: 0.5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-a4505289]:not(.button-vue):required,\ninput[data-v-a4505289]:not([type=range]):required,\ntextarea[data-v-a4505289]:required {\n box-shadow: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):invalid,\ninput[data-v-a4505289]:not([type=range]):invalid,\ntextarea[data-v-a4505289]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-a4505289],\ninput:not([type=range]).primary[data-v-a4505289],\ntextarea.primary[data-v-a4505289] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\ntextarea.primary[data-v-a4505289]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-a4505289]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-a4505289] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-a4505289] {\n opacity: 1 !important;\n}\n.action-text-editable[data-v-a4505289] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* Inputs inside popover supports text, submit & reset */\n}\n.action-text-editable > span[data-v-a4505289] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text-editable__icon[data-v-a4505289] {\n min-width: 0; /* Overwrite icons*/\n min-height: 0;\n /* Keep padding to define the width to\n \tassure correct position of a possible text */\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n opacity: 1;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text-editable__form[data-v-a4505289] {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n position: relative;\n margin: 4px 0;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.action-text-editable__submit[data-v-a4505289] {\n position: absolute;\n inset-inline-start: 0;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -1;\n opacity: 0;\n}\n.action-text-editable__label[data-v-a4505289] {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n bottom: 1px;\n width: calc(var(--default-clickable-area) - 8px);\n height: calc(var(--default-clickable-area) - 8px);\n box-sizing: border-box;\n margin: 0;\n padding: 7px 6px;\n border: 0;\n border-radius: 50%;\n /* Avoid background under border */\n background-color: var(--color-main-background);\n background-clip: padding-box;\n}\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\n cursor: pointer;\n}\n.action-text-editable__textarea[data-v-a4505289] {\n flex: 1 1 auto;\n color: inherit;\n border-color: var(--color-border-maxcontrast);\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\n min-width: calc(var(--default-clickable-area) * 4);\n width: 100% !important;\n margin: 0;\n /* only show confirm borders if input is not focused */\n}\n.action-text-editable__textarea[data-v-a4505289]:disabled {\n cursor: default;\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\n background-color: var(--color-error);\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\n /* above previous input */\n z-index: 2;\n border-color: var(--color-primary-element);\n border-inline-start-color: transparent;\n}\nli:last-child > .action-text-editable[data-v-a4505289] {\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}\nli:first-child > .action-text-editable[data-v-a4505289] {\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;;;;EAIE;AACF,0BAA0B;AAC1B;;;EAGE,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,gCAAgC;EAChC,0CAA0C;EAC1C,mCAAmC;EACnC,aAAa;EACb,8CAA8C;EAC9C,eAAe;EACf,yCAAyC;AAC3C;AACA;;;;;;;EAOE,sCAAsC;EACtC,0CAA0C;EAC1C,aAAa;AACf;AACA;;;EAGE,8BAA8B;EAC9B,aAAa;EACb,8CAA8C;AAChD;AACA;;;EAGE,eAAe;EACf,YAAY;EACZ,oCAAoC;EACpC,8CAA8C;AAChD;AACA;;;EAGE,gBAAgB;AAClB;AACA;;;EAGE,gCAAgC;EAChC,2BAA2B;AAC7B;AACA;;;EAGE,eAAe;EACf,wCAAwC;EACxC,0CAA0C;EAC1C,8CAA8C;AAChD;AACA;;;;;;;EAOE,gDAAgD;EAChD,oDAAoD;AACtD;AACA;;;EAGE,6CAA6C;AAC/C;AACA;;;EAGE,eAAe;EACf,6CAA6C;EAC7C,8CAA8C;AAChD;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,wDAAwD;AAC1D;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,YAAY,EAAE,mBAAmB;EACjC,aAAa;EACb;+CAC6C;EAC7C,wHAAwH;EACxH,4EAA4E;EAC5E,qBAAqB;AACvB;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,kBAAkB;EAClB,aAAa;EACb,oEAAoE;AACtE;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,SAAS;EACT,UAAU;EACV,WAAW;EACX,gBAAgB;EAChB,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;EAClB,wEAAwE;EACxE,WAAW;EACX,gDAAgD;EAChD,iDAAiD;EACjD,sBAAsB;EACtB,SAAS;EACT,gBAAgB;EAChB,SAAS;EACT,kBAAkB;EAClB,kCAAkC;EAClC,8CAA8C;EAC9C,4BAA4B;AAC9B;AACA;EACE,eAAe;AACjB;AACA;EACE,cAAc;EACd,cAAc;EACd,6CAA6C;EAC7C,yDAAyD,EAAE,+BAA+B;EAC1F,yDAAyD,EAAE,+BAA+B;EAC1F,kDAAkD;EAClD,sBAAsB;EACtB,SAAS;EACT,sDAAsD;AACxD;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,8CAA8C;EAC9C,wCAAwC;AAC1C;AACA;EACE,yBAAyB;EACzB,UAAU;EACV,0CAA0C;EAC1C,sCAAsC;AACxC;AACA;EACE,qEAAqE;AACvE;AACA;EACE,kEAAkE;AACpE",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-a4505289] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * color-text-lighter\t\tnormal state\n * color-text-lighter\t\tactive state\n * color-text-maxcontrast \tdisabled state\n */\n/* Default global values */\nbutton[data-v-a4505289]:not(.button-vue),\ninput[data-v-a4505289]:not([type=range]),\ntextarea[data-v-a4505289] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n /* Primary action button, use sparingly */\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\n /* active class used for multiselect */\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-a4505289]:not(.button-vue):disabled,\ninput[data-v-a4505289]:not([type=range]):disabled,\ntextarea[data-v-a4505289]:disabled {\n cursor: default;\n opacity: 0.5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-a4505289]:not(.button-vue):required,\ninput[data-v-a4505289]:not([type=range]):required,\ntextarea[data-v-a4505289]:required {\n box-shadow: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):invalid,\ninput[data-v-a4505289]:not([type=range]):invalid,\ntextarea[data-v-a4505289]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-a4505289],\ninput:not([type=range]).primary[data-v-a4505289],\ntextarea.primary[data-v-a4505289] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\ntextarea.primary[data-v-a4505289]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-a4505289]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-a4505289] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-a4505289] {\n opacity: 1 !important;\n}\n.action-text-editable[data-v-a4505289] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* Inputs inside popover supports text, submit & reset */\n}\n.action-text-editable > span[data-v-a4505289] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text-editable__icon[data-v-a4505289] {\n min-width: 0; /* Overwrite icons*/\n min-height: 0;\n /* Keep padding to define the width to\n \tassure correct position of a possible text */\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n opacity: 1;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text-editable__form[data-v-a4505289] {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n position: relative;\n margin: 4px 0;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.action-text-editable__submit[data-v-a4505289] {\n position: absolute;\n inset-inline-start: 0;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -1;\n opacity: 0;\n}\n.action-text-editable__label[data-v-a4505289] {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n bottom: 1px;\n width: calc(var(--default-clickable-area) - 8px);\n height: calc(var(--default-clickable-area) - 8px);\n box-sizing: border-box;\n margin: 0;\n padding: 7px 6px;\n border: 0;\n border-radius: 50%;\n /* Avoid background under border */\n background-color: var(--color-main-background);\n background-clip: padding-box;\n}\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\n cursor: pointer;\n}\n.action-text-editable__textarea[data-v-a4505289] {\n flex: 1 1 auto;\n color: inherit;\n border-color: var(--color-border-maxcontrast);\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\n min-width: calc(var(--default-clickable-area) * 4);\n width: 100% !important;\n margin: 0;\n /* only show confirm borders if input is not focused */\n}\n.action-text-editable__textarea[data-v-a4505289]:disabled {\n cursor: default;\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\n background-color: var(--color-error);\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\n /* above previous input */\n z-index: 2;\n border-color: var(--color-primary-element);\n border-inline-start-color: transparent;\n}\nli:last-child > .action-text-editable[data-v-a4505289] {\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}\nli:first-child > .action-text-editable[data-v-a4505289] {\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}"],sourceRoot:""}]);const s=o},52867:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".user-list__row[data-v-47722426]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-47722426]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-47722426]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-47722426]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-47722426]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-47722426],.row__cell span[data-v-47722426],.row__cell label[data-v-47722426]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-47722426],.row__cell--displayname[data-v-47722426]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-47722426]{inset-inline-start:0}.row__cell--displayname[data-v-47722426]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-47722426]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-47722426]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-47722426]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-47722426]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-47722426]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-47722426]{min-width:400px;width:400px}.row__cell--fill[data-v-47722426]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-47722426]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.row__subtitle[data-v-47722426]{color:var(--color-text-maxcontrast)}.row__cell[data-v-47722426]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-47722426] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-47722426]{margin-top:4px}.row__progress--warn[data-v-47722426]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-47722426]::-webkit-progress-value{background:var(--color-warning) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserRow.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,iCCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDLA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCDD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,oBAAA,CAGD,yCACC,2CAAA,CACA,+CAAA,CAAA,CAIF,sCACC,yDAAA,CAGD,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,gCACC,mCAAA,CDpFD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA",sourcesContent:["\n@use './shared/styles';\n\n.user-list__row {\n\t@include styles.row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include styles.cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const s=o},54775:(e,t,n)=>{"use strict";var a=n(85072),i=n.n(a),r=n(97825),o=n.n(r),s=n(77659),l=n.n(s),c=n(55056),d=n.n(c),u=n(10540),p=n.n(u),A=n(41113),g=n.n(A),h=n(88032),m={};m.styleTagTransform=g(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=o(),m.insertStyleElement=p(),i()(h.A,m),h.A&&h.A.locals&&h.A.locals},60104:(e,t,n)=>{"use strict";n.d(t,{A:()=>l}),n(75463);var a=n(97012),i=n(51431);const r={components:{NcButton:a.A},props:{buttonId:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},text:{type:String,required:!0},type:{type:String,default:"primary",validator:e=>-1!==["primary","secondary","tertiary"].indexOf(e)},variant:{type:String,default:"primary",validator:e=>-1!==["primary","secondary","tertiary"].indexOf(e)}},emits:["click"]};var o=function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-navigation-new"},[t("NcButton",{attrs:{id:e.buttonId,disabled:e.disabled,variant:"primary"!==e.type?e.type:e.variant},on:{click:function(t){return e.$emit("click")}},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("icon")]},proxy:!0}],null,!0)},[e._v(" "+e._s(e.text)+" ")])],1)},s=[];const l=(0,i.n)(r,o,s,!1,null,"0b3c495c").exports},60197:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".modal__header[data-v-3e2f3c17]{margin:0}.modal__content[data-v-3e2f3c17]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-3e2f3c17]{display:flex;width:100%;justify-content:space-between}","",{version:3,sources:["webpack://./apps/settings/src/components/GroupListItem.vue"],names:[],mappings:"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA",sourcesContent:["\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n"],sourceRoot:""}]);const s=o},63779:()=>{},64043:(e,t,n)=>{var a=n(62045).hp;!function(e){e.parser=function(e,t){return new r(e,t)},e.SAXParser=r,e.SAXStream=s,e.createStream=function(e,t){return new s(e,t)},e.MAX_BUFFER_LENGTH=65536;var t,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function r(t,n){if(!(this instanceof r))return new r(t,n);var a=this;!function(e){for(var t=0,n=i.length;t<n;t++)e[i[t]]=""}(a),a.q=a.c="",a.bufferCheckPosition=e.MAX_BUFFER_LENGTH,a.opt=n||{},a.opt.lowercase=a.opt.lowercase||a.opt.lowercasetags,a.looseCase=a.opt.lowercase?"toLowerCase":"toUpperCase",a.tags=[],a.closed=a.closedRoot=a.sawRoot=!1,a.tag=a.error=null,a.strict=!!t,a.noscript=!(!t&&!a.opt.noscript),a.state=E.BEGIN,a.strictEntities=a.opt.strictEntities,a.ENTITIES=a.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),a.attribList=[],a.opt.xmlns&&(a.ns=Object.create(p)),void 0===a.opt.unquotedAttributeValues&&(a.opt.unquotedAttributeValues=!t),a.trackPosition=!1!==a.opt.position,a.trackPosition&&(a.position=a.line=a.column=0),B(a,"onready")}e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(e){function t(){}return t.prototype=e,new t}),Object.keys||(Object.keys=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}),r.prototype={end:function(){T(this)},write:function(t){var n=this;if(this.error)throw this.error;if(n.closed)return D(n,"Cannot write after close. Assign an onready handler.");if(null===t)return T(n);"object"==typeof t&&(t=t.toString());for(var a=0,r="";r=M(t,a++),n.c=r,r;)switch(n.trackPosition&&(n.position++,"\n"===r?(n.line++,n.column=0):n.column++),n.state){case E.BEGIN:if(n.state=E.BEGIN_WHITESPACE,"\ufeff"===r)continue;q(n,r);continue;case E.BEGIN_WHITESPACE:q(n,r);continue;case E.TEXT:if(n.sawRoot&&!n.closedRoot){for(var o=a-1;r&&"<"!==r&&"&"!==r;)(r=M(t,a++))&&n.trackPosition&&(n.position++,"\n"===r?(n.line++,n.column=0):n.column++);n.textNode+=t.substring(o,a-1)}"<"!==r||n.sawRoot&&n.closedRoot&&!n.strict?(f(r)||n.sawRoot&&!n.closedRoot||L(n,"Text data outside of root node."),"&"===r?n.state=E.TEXT_ENTITY:n.textNode+=r):(n.state=E.OPEN_WAKA,n.startTagPosition=n.position);continue;case E.SCRIPT:"<"===r?n.state=E.SCRIPT_ENDING:n.script+=r;continue;case E.SCRIPT_ENDING:"/"===r?n.state=E.CLOSE_TAG:(n.script+="<"+r,n.state=E.SCRIPT);continue;case E.OPEN_WAKA:if("!"===r)n.state=E.SGML_DECL,n.sgmlDecl="";else if(f(r));else if(b(A,r))n.state=E.OPEN_TAG,n.tagName=r;else if("/"===r)n.state=E.CLOSE_TAG,n.tagName="";else if("?"===r)n.state=E.PROC_INST,n.procInstName=n.procInstBody="";else{if(L(n,"Unencoded <"),n.startTagPosition+1<n.position){var s=n.position-n.startTagPosition;r=new Array(s).join(" ")+r}n.textNode+="<"+r,n.state=E.TEXT}continue;case E.SGML_DECL:if(n.sgmlDecl+r==="--"){n.state=E.COMMENT,n.comment="",n.sgmlDecl="";continue}n.doctype&&!0!==n.doctype&&n.sgmlDecl?(n.state=E.DOCTYPE_DTD,n.doctype+="<!"+n.sgmlDecl+r,n.sgmlDecl=""):(n.sgmlDecl+r).toUpperCase()===l?(N(n,"onopencdata"),n.state=E.CDATA,n.sgmlDecl="",n.cdata=""):(n.sgmlDecl+r).toUpperCase()===c?(n.state=E.DOCTYPE,(n.doctype||n.sawRoot)&&L(n,"Inappropriately located doctype declaration"),n.doctype="",n.sgmlDecl=""):">"===r?(N(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=E.TEXT):v(r)?(n.state=E.SGML_DECL_QUOTED,n.sgmlDecl+=r):n.sgmlDecl+=r;continue;case E.SGML_DECL_QUOTED:r===n.q&&(n.state=E.SGML_DECL,n.q=""),n.sgmlDecl+=r;continue;case E.DOCTYPE:">"===r?(n.state=E.TEXT,N(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=r,"["===r?n.state=E.DOCTYPE_DTD:v(r)&&(n.state=E.DOCTYPE_QUOTED,n.q=r));continue;case E.DOCTYPE_QUOTED:n.doctype+=r,r===n.q&&(n.q="",n.state=E.DOCTYPE);continue;case E.DOCTYPE_DTD:"]"===r?(n.doctype+=r,n.state=E.DOCTYPE):"<"===r?(n.state=E.OPEN_WAKA,n.startTagPosition=n.position):v(r)?(n.doctype+=r,n.state=E.DOCTYPE_DTD_QUOTED,n.q=r):n.doctype+=r;continue;case E.DOCTYPE_DTD_QUOTED:n.doctype+=r,r===n.q&&(n.state=E.DOCTYPE_DTD,n.q="");continue;case E.COMMENT:"-"===r?n.state=E.COMMENT_ENDING:n.comment+=r;continue;case E.COMMENT_ENDING:"-"===r?(n.state=E.COMMENT_ENDED,n.comment=I(n.opt,n.comment),n.comment&&N(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+r,n.state=E.COMMENT);continue;case E.COMMENT_ENDED:">"!==r?(L(n,"Malformed comment"),n.comment+="--"+r,n.state=E.COMMENT):n.doctype&&!0!==n.doctype?n.state=E.DOCTYPE_DTD:n.state=E.TEXT;continue;case E.CDATA:"]"===r?n.state=E.CDATA_ENDING:n.cdata+=r;continue;case E.CDATA_ENDING:"]"===r?n.state=E.CDATA_ENDING_2:(n.cdata+="]"+r,n.state=E.CDATA);continue;case E.CDATA_ENDING_2:">"===r?(n.cdata&&N(n,"oncdata",n.cdata),N(n,"onclosecdata"),n.cdata="",n.state=E.TEXT):"]"===r?n.cdata+="]":(n.cdata+="]]"+r,n.state=E.CDATA);continue;case E.PROC_INST:"?"===r?n.state=E.PROC_INST_ENDING:f(r)?n.state=E.PROC_INST_BODY:n.procInstName+=r;continue;case E.PROC_INST_BODY:if(!n.procInstBody&&f(r))continue;"?"===r?n.state=E.PROC_INST_ENDING:n.procInstBody+=r;continue;case E.PROC_INST_ENDING:">"===r?(N(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=E.TEXT):(n.procInstBody+="?"+r,n.state=E.PROC_INST_BODY);continue;case E.OPEN_TAG:b(g,r)?n.tagName+=r:(P(n),">"===r?O(n):"/"===r?n.state=E.OPEN_TAG_SLASH:(f(r)||L(n,"Invalid character in tag name"),n.state=E.ATTRIB));continue;case E.OPEN_TAG_SLASH:">"===r?(O(n,!0),U(n)):(L(n,"Forward-slash in opening tag not followed by >"),n.state=E.ATTRIB);continue;case E.ATTRIB:if(f(r))continue;">"===r?O(n):"/"===r?n.state=E.OPEN_TAG_SLASH:b(A,r)?(n.attribName=r,n.attribValue="",n.state=E.ATTRIB_NAME):L(n,"Invalid attribute name");continue;case E.ATTRIB_NAME:"="===r?n.state=E.ATTRIB_VALUE:">"===r?(L(n,"Attribute without value"),n.attribValue=n.attribName,F(n),O(n)):f(r)?n.state=E.ATTRIB_NAME_SAW_WHITE:b(g,r)?n.attribName+=r:L(n,"Invalid attribute name");continue;case E.ATTRIB_NAME_SAW_WHITE:if("="===r)n.state=E.ATTRIB_VALUE;else{if(f(r))continue;L(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",N(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===r?O(n):b(A,r)?(n.attribName=r,n.state=E.ATTRIB_NAME):(L(n,"Invalid attribute name"),n.state=E.ATTRIB)}continue;case E.ATTRIB_VALUE:if(f(r))continue;v(r)?(n.q=r,n.state=E.ATTRIB_VALUE_QUOTED):(n.opt.unquotedAttributeValues||D(n,"Unquoted attribute value"),n.state=E.ATTRIB_VALUE_UNQUOTED,n.attribValue=r);continue;case E.ATTRIB_VALUE_QUOTED:if(r!==n.q){"&"===r?n.state=E.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=r;continue}F(n),n.q="",n.state=E.ATTRIB_VALUE_CLOSED;continue;case E.ATTRIB_VALUE_CLOSED:f(r)?n.state=E.ATTRIB:">"===r?O(n):"/"===r?n.state=E.OPEN_TAG_SLASH:b(A,r)?(L(n,"No whitespace between attributes"),n.attribName=r,n.attribValue="",n.state=E.ATTRIB_NAME):L(n,"Invalid attribute name");continue;case E.ATTRIB_VALUE_UNQUOTED:if(!C(r)){"&"===r?n.state=E.ATTRIB_VALUE_ENTITY_U:n.attribValue+=r;continue}F(n),">"===r?O(n):n.state=E.ATTRIB;continue;case E.CLOSE_TAG:if(n.tagName)">"===r?U(n):b(g,r)?n.tagName+=r:n.script?(n.script+="</"+n.tagName,n.tagName="",n.state=E.SCRIPT):(f(r)||L(n,"Invalid tagname in closing tag"),n.state=E.CLOSE_TAG_SAW_WHITE);else{if(f(r))continue;y(A,r)?n.script?(n.script+="</"+r,n.state=E.SCRIPT):L(n,"Invalid tagname in closing tag."):n.tagName=r}continue;case E.CLOSE_TAG_SAW_WHITE:if(f(r))continue;">"===r?U(n):L(n,"Invalid characters in closing tag");continue;case E.TEXT_ENTITY:case E.ATTRIB_VALUE_ENTITY_Q:case E.ATTRIB_VALUE_ENTITY_U:var d,u;switch(n.state){case E.TEXT_ENTITY:d=E.TEXT,u="textNode";break;case E.ATTRIB_VALUE_ENTITY_Q:d=E.ATTRIB_VALUE_QUOTED,u="attribValue";break;case E.ATTRIB_VALUE_ENTITY_U:d=E.ATTRIB_VALUE_UNQUOTED,u="attribValue"}if(";"===r){var p=R(n);n.opt.unparsedEntities&&!Object.values(e.XML_ENTITIES).includes(p)?(n.entity="",n.state=d,n.write(p)):(n[u]+=p,n.entity="",n.state=d)}else b(n.entity.length?m:h,r)?n.entity+=r:(L(n,"Invalid character in entity name"),n[u]+="&"+n.entity+r,n.entity="",n.state=d);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(t){for(var n=Math.max(e.MAX_BUFFER_LENGTH,10),a=0,r=0,o=i.length;r<o;r++){var s=t[i[r]].length;if(s>n)switch(i[r]){case"textNode":S(t);break;case"cdata":N(t,"oncdata",t.cdata),t.cdata="";break;case"script":N(t,"onscript",t.script),t.script="";break;default:D(t,"Max buffer length exceeded: "+i[r])}a=Math.max(a,s)}var l=e.MAX_BUFFER_LENGTH-a;t.bufferCheckPosition=l+t.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;S(e=this),""!==e.cdata&&(N(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(N(e,"onscript",e.script),e.script="")}};try{t=n(88310).Stream}catch(e){t=function(){}}t||(t=function(){});var o=e.EVENTS.filter((function(e){return"error"!==e&&"end"!==e}));function s(e,n){if(!(this instanceof s))return new s(e,n);t.apply(this),this._parser=new r(e,n),this.writable=!0,this.readable=!0;var a=this;this._parser.onend=function(){a.emit("end")},this._parser.onerror=function(e){a.emit("error",e),a._parser.error=null},this._decoder=null,o.forEach((function(e){Object.defineProperty(a,"on"+e,{get:function(){return a._parser["on"+e]},set:function(t){if(!t)return a.removeAllListeners(e),a._parser["on"+e]=t,t;a.on(e,t)},enumerable:!0,configurable:!1})}))}s.prototype=Object.create(t.prototype,{constructor:{value:s}}),s.prototype.write=function(e){if("function"==typeof a&&"function"==typeof a.isBuffer&&a.isBuffer(e)){if(!this._decoder){var t=n(83141).I;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},s.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},s.prototype.on=function(e,n){var a=this;return a._parser["on"+e]||-1===o.indexOf(e)||(a._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),a.emit.apply(a,t)}),t.prototype.on.call(a,e,n)};var l="[CDATA[",c="DOCTYPE",d="http://www.w3.org/XML/1998/namespace",u="http://www.w3.org/2000/xmlns/",p={xml:d,xmlns:u},A=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,m=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function f(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function v(e){return'"'===e||"'"===e}function C(e){return">"===e||f(e)}function b(e,t){return e.test(t)}function y(e,t){return!b(e,t)}var _,x,w,E=0;for(var k in e.STATE={BEGIN:E++,BEGIN_WHITESPACE:E++,TEXT:E++,TEXT_ENTITY:E++,OPEN_WAKA:E++,SGML_DECL:E++,SGML_DECL_QUOTED:E++,DOCTYPE:E++,DOCTYPE_QUOTED:E++,DOCTYPE_DTD:E++,DOCTYPE_DTD_QUOTED:E++,COMMENT_STARTING:E++,COMMENT:E++,COMMENT_ENDING:E++,COMMENT_ENDED:E++,CDATA:E++,CDATA_ENDING:E++,CDATA_ENDING_2:E++,PROC_INST:E++,PROC_INST_BODY:E++,PROC_INST_ENDING:E++,OPEN_TAG:E++,OPEN_TAG_SLASH:E++,ATTRIB:E++,ATTRIB_NAME:E++,ATTRIB_NAME_SAW_WHITE:E++,ATTRIB_VALUE:E++,ATTRIB_VALUE_QUOTED:E++,ATTRIB_VALUE_CLOSED:E++,ATTRIB_VALUE_UNQUOTED:E++,ATTRIB_VALUE_ENTITY_Q:E++,ATTRIB_VALUE_ENTITY_U:E++,CLOSE_TAG:E++,CLOSE_TAG_SAW_WHITE:E++,SCRIPT:E++,SCRIPT_ENDING:E++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach((function(t){var n=e.ENTITIES[t],a="number"==typeof n?String.fromCharCode(n):n;e.ENTITIES[t]=a})),e.STATE)e.STATE[e.STATE[k]]=k;function B(e,t,n){e[t]&&e[t](n)}function N(e,t,n){e.textNode&&S(e),B(e,t,n)}function S(e){e.textNode=I(e.opt,e.textNode),e.textNode&&B(e,"ontext",e.textNode),e.textNode=""}function I(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function D(e,t){return S(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,B(e,"onerror",t),e}function T(e){return e.sawRoot&&!e.closedRoot&&L(e,"Unclosed root tag"),e.state!==E.BEGIN&&e.state!==E.BEGIN_WHITESPACE&&e.state!==E.TEXT&&D(e,"Unexpected end"),S(e),e.c="",e.closed=!0,B(e,"onend"),r.call(e,e.strict,e.opt),e}function L(e,t){if("object"!=typeof e||!(e instanceof r))throw new Error("bad call to strictFail");e.strict&&D(e,t)}function P(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,N(e,"onopentagstart",n)}function G(e,t){var n=e.indexOf(":")<0?["",e]:e.split(":"),a=n[0],i=n[1];return t&&"xmlns"===e&&(a="xmlns",i=""),{prefix:a,local:i}}function F(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=G(e.attribName,!0),n=t.prefix,a=t.local;if("xmlns"===n)if("xml"===a&&e.attribValue!==d)L(e,"xml: prefix must be bound to "+d+"\nActual: "+e.attribValue);else if("xmlns"===a&&e.attribValue!==u)L(e,"xmlns: prefix must be bound to "+u+"\nActual: "+e.attribValue);else{var i=e.tag,r=e.tags[e.tags.length-1]||e;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[a]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,N(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function O(e,t){if(e.opt.xmlns){var n=e.tag,a=G(e.tagName);n.prefix=a.prefix,n.local=a.local,n.uri=n.ns[a.prefix]||"",n.prefix&&!n.uri&&(L(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=a.prefix);var i=e.tags[e.tags.length-1]||e;n.ns&&i.ns!==n.ns&&Object.keys(n.ns).forEach((function(t){N(e,"onopennamespace",{prefix:t,uri:n.ns[t]})}));for(var r=0,o=e.attribList.length;r<o;r++){var s=e.attribList[r],l=s[0],c=s[1],d=G(l,!0),u=d.prefix,p=d.local,A=""===u?"":n.ns[u]||"",g={name:l,value:c,prefix:u,local:p,uri:A};u&&"xmlns"!==u&&!A&&(L(e,"Unbound namespace prefix: "+JSON.stringify(u)),g.uri=u),e.tag.attributes[l]=g,N(e,"onattribute",g)}e.attribList.length=0}e.tag.isSelfClosing=!!t,e.sawRoot=!0,e.tags.push(e.tag),N(e,"onopentag",e.tag),t||(e.noscript||"script"!==e.tagName.toLowerCase()?e.state=E.TEXT:e.state=E.SCRIPT,e.tag=null,e.tagName=""),e.attribName=e.attribValue="",e.attribList.length=0}function U(e){if(!e.tagName)return L(e,"Weird empty close tag."),e.textNode+="</>",void(e.state=E.TEXT);if(e.script){if("script"!==e.tagName)return e.script+="</"+e.tagName+">",e.tagName="",void(e.state=E.SCRIPT);N(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var a=n;t--&&e.tags[t].name!==a;)L(e,"Unexpected close tag");if(t<0)return L(e,"Unmatched closing tag: "+e.tagName),e.textNode+="</"+e.tagName+">",void(e.state=E.TEXT);e.tagName=n;for(var i=e.tags.length;i-- >t;){var r=e.tag=e.tags.pop();e.tagName=e.tag.name,N(e,"onclosetag",e.tagName);var o={};for(var s in r.ns)o[s]=r.ns[s];var l=e.tags[e.tags.length-1]||e;e.opt.xmlns&&r.ns!==l.ns&&Object.keys(r.ns).forEach((function(t){var n=r.ns[t];N(e,"onclosenamespace",{prefix:t,uri:n})}))}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=E.TEXT}function R(e){var t,n=e.entity,a=n.toLowerCase(),i="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[a]?e.ENTITIES[a]:("#"===(n=a).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),i=(t=parseInt(n,16)).toString(16)):(n=n.slice(1),i=(t=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(t)||i.toLowerCase()!==n?(L(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function q(e,t){"<"===t?(e.state=E.OPEN_WAKA,e.startTagPosition=e.position):f(t)||(L(e,"Non-whitespace before first tag."),e.textNode=t,e.state=E.TEXT)}function M(e,t){var n="";return t<e.length&&(n=e.charAt(t)),n}E=e.STATE,String.fromCodePoint||(_=String.fromCharCode,x=Math.floor,w=function(){var e,t,n=[],a=-1,i=arguments.length;if(!i)return"";for(var r="";++a<i;){var o=Number(arguments[a]);if(!isFinite(o)||o<0||o>1114111||x(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?n.push(o):(e=55296+((o-=65536)>>10),t=o%1024+56320,n.push(e,t)),(a+1===i||n.length>16384)&&(r+=_.apply(null,n),n.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:w,configurable:!0,writable:!0}):String.fromCodePoint=w)}(t)},74307:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"\n._fadeTransition_13rtj_2 {\n\ttransition: all var(--animation-quick) ease;\n}\n._fadeTransitionActive_13rtj_6 {\n\topacity: 0;\n\tposition: absolute;\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css"],names:[],mappings:";AACA;CACC,2CAA2C;AAC5C;AACA;CACC,UAAU;CACV,kBAAkB;AACnB",sourcesContent:["\n._fadeTransition_13rtj_2 {\n\ttransition: all var(--animation-quick) ease;\n}\n._fadeTransitionActive_13rtj_6 {\n\topacity: 0;\n\tposition: absolute;\n}\n"],sourceRoot:""}]);const s=o},75463:(e,t,n)=>{"use strict";var a=n(85072),i=n.n(a),r=n(97825),o=n.n(r),s=n(77659),l=n.n(s),c=n(55056),d=n.n(c),u=n(10540),p=n.n(u),A=n(41113),g=n.n(A),h=n(29420),m={};m.styleTagTransform=g(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=o(),m.insertStyleElement=p(),i()(h.A,m),h.A&&h.A.locals&&h.A.locals},77199:()=>{},77332:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"\n.nc-select-users[data-v-ecb8da4e] .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-CRH00RA2.css"],names:[],mappings:";AACA;CACC,gCAAgC;AACjC",sourcesContent:["\n.nc-select-users[data-v-ecb8da4e] .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n"],sourceRoot:""}]);const s=o},79498:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".empty[data-v-1e8fee5a] .icon-vue{width:64px;height:64px}.empty[data-v-1e8fee5a] .icon-vue svg{max-width:64px;max-height:64px}","",{version:3,sources:["webpack://./apps/settings/src/components/UserList.vue"],names:[],mappings:"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA",sourcesContent:["\n@use './Users/shared/styles' as *;\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},79722:e=>{"use strict";e.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},82009:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".app-content[data-v-253f9eec]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}","",{version:3,sources:["webpack://./apps/settings/src/views/UserManagement.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n"],sourceRoot:""}]);const s=o},84399:(e,n,a)=>{"use strict";a.r(n),a.d(n,{default:()=>he});var i=a(85471),r=a(9165),o=a(53334),s=a(42530),l=a(52439),c=a(27345),d=a(60104),u=a(97012),p=a(85947),A=a(6695),g=a(35810),h=a(63814),m=a(65043),f=a(29270),v=a(14727),C=a(32073),b=a(40083),y=a(67607),_=a(15916),x=a(95668),w=a(36620);const E={name:"UserSettingsDialog",components:{NcAppSettingsDialog:f.N,NcAppSettingsSection:v.A,NcCheckboxRadioSwitch:C.A,NcNoteCard:b.A,NcSelect:y.A},props:{open:{type:Boolean,required:!0}},data:()=>({selectedQuota:!1,loadingSendMail:!1}),computed:{groupSorting:{get(){return this.$store.getters.getGroupSorting===_.q.GroupName?"name":"member-count"},set(e){this.$store.commit("setGroupSorting","name"===e?_.q.GroupName:_.q.UserCount)}},isGroupSortingEnforced(){return this.$store.getters.getServerData.forceSortGroupByName},isModalOpen:{get(){return this.open},set(e){this.$emit("update:open",e)}},showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},showLanguages:{get(){return this.showConfig.showLanguages},set(e){this.setShowConfig("showLanguages",e)}},showFirstLogin:{get(){return this.showConfig.showFirstLogin},set(e){this.setShowConfig("showFirstLogin",e)}},showLastLogin:{get(){return this.showConfig.showLastLogin},set(e){this.setShowConfig("showLastLogin",e)}},showUserBackend:{get(){return this.showConfig.showUserBackend},set(e){this.setShowConfig("showUserBackend",e)}},showStoragePath:{get(){return this.showConfig.showStoragePath},set(e){this.setShowConfig("showStoragePath",e)}},quotaOptions(){const e=this.settings.quotaPreset.reduce(((e,t)=>e.concat({id:t,label:t})),[]);return this.settings.allowUnlimitedQuota&&e.unshift(x.SA),e},defaultQuota:{get(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==x.SA.id&&OC.Util.computerFileSize(this.settings.defaultQuota)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:x.SA},set(e){this.selectedQuota=e}},sendWelcomeMail:{get(){return this.settings.newUserSendEmail},async set(e){try{this.loadingSendMail=!0,this.$store.commit("setServerData",{...this.settings,newUserSendEmail:e}),await m.Ay.post((0,h.Jv)("/settings/users/preferences/newUser.sendEmail"),{value:e?"yes":"no"})}catch(e){w.A.error("Could not update newUser.sendEmail preference",{error:e})}finally{this.loadingSendMail=!1}}}},methods:{filterQuotas(e,t,n){const a=n.toLocaleLowerCase().replaceAll(/\s/g,"");return(t||"").toLocaleLowerCase().replaceAll(/\s/g,"").indexOf(a)>-1},setShowConfig(e,t){this.$store.commit("setShowConfig",{key:e,value:t})},validateQuota(e){"object"==typeof e&&(e=e?.id||e.label);const t=(0,g.lT)(e,!0);return null===t?x.SA:{id:e=(0,g.v7)(t),label:e}},setDefaultQuota(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";"none"===e&&(e=x.SA),this.$store.dispatch("setAppConfig",{app:"files",key:"default_quota",value:e.id?e.id:e}).then((()=>{"object"!=typeof e&&(e={id:e,label:e}),this.defaultQuota=e}))}}};var k=a(85072),B=a.n(k),N=a(97825),S=a.n(N),I=a(77659),D=a.n(I),T=a(55056),L=a.n(T),P=a(10540),G=a.n(P),F=a(41113),O=a.n(F),U=a(6817),R={};R.styleTagTransform=O(),R.setAttributes=L(),R.insert=D().bind(null,"head"),R.domAPI=S(),R.insertStyleElement=G(),B()(U.A,R),U.A&&U.A.locals&&U.A.locals;var q=a(14486);const M=(0,q.A)(E,(function(){var e=this,t=e._self._c;return t("NcAppSettingsDialog",{attrs:{open:e.isModalOpen,"show-navigation":!0,name:e.t("settings","Account management settings")},on:{"update:open":function(t){e.isModalOpen=t}}},[t("NcAppSettingsSection",{attrs:{id:"visibility-settings",name:e.t("settings","Visibility")}},[t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLanguages",checked:e.showLanguages},on:{"update:checked":function(t){e.showLanguages=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show language"))+"\n\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showUserBackend",checked:e.showUserBackend},on:{"update:checked":function(t){e.showUserBackend=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show account backend"))+"\n\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showStoragePath",checked:e.showStoragePath},on:{"update:checked":function(t){e.showStoragePath=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show storage path"))+"\n\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showFirstLogin",checked:e.showFirstLogin},on:{"update:checked":function(t){e.showFirstLogin=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show first login"))+"\n\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLastLogin",checked:e.showLastLogin},on:{"update:checked":function(t){e.showLastLogin=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show last login"))+"\n\t\t")])],1),e._v(" "),t("NcAppSettingsSection",{attrs:{id:"groups-sorting",name:e.t("settings","Sorting")}},[e.isGroupSortingEnforced?t("NcNoteCard",{attrs:{type:"warning"}},[e._v("\n\t\t\t"+e._s(e.t("settings","The system config enforces sorting the groups by name. This also disables showing the member count."))+"\n\t\t")]):e._e(),e._v(" "),t("fieldset",[t("legend",[e._v(e._s(e.t("settings","Group list sorting")))]),e._v(" "),t("NcNoteCard",{staticClass:"dialog__note",attrs:{type:"info",text:e.t("settings","Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.")}}),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"radio",checked:e.groupSorting,"data-test":"sortGroupsByMemberCount",disabled:e.isGroupSortingEnforced,name:"group-sorting-mode",value:"member-count"},on:{"update:checked":function(t){e.groupSorting=t}}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","By member count"))+"\n\t\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{type:"radio",checked:e.groupSorting,"data-test":"sortGroupsByName",disabled:e.isGroupSortingEnforced,name:"group-sorting-mode",value:"name"},on:{"update:checked":function(t){e.groupSorting=t}}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","By name"))+"\n\t\t\t")])],1)],1),e._v(" "),t("NcAppSettingsSection",{attrs:{id:"email-settings",name:e.t("settings","Send email")}},[t("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"sendWelcomeMail",checked:e.sendWelcomeMail,disabled:e.loadingSendMail},on:{"update:checked":function(t){e.sendWelcomeMail=t}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Send welcome email to new accounts"))+"\n\t\t")])],1),e._v(" "),t("NcAppSettingsSection",{attrs:{id:"default-settings",name:e.t("settings","Defaults")}},[t("NcSelect",{attrs:{clearable:!1,"create-option":e.validateQuota,"filter-by":e.filterQuotas,"input-label":e.t("settings","Default quota"),options:e.quotaOptions,placement:"top",placeholder:e.t("settings","Select default quota"),taggable:""},on:{"option:selected":e.setDefaultQuota},model:{value:e.defaultQuota,callback:function(t){e.defaultQuota=t},expression:"defaultQuota"}})],1)],1)}),[],!1,null,"9f7a355c",null).exports;var j=a(85168),z=a(13073),$=a(54914),X=a(24387),H=a(44131),W=a(30594),V=a(50998),Y=a(60126),Q=a(59892),K=a(57505),Z=a(69496),J=a(43261),ee=a(79759),te=a(2413);const ne={name:"GroupListItem",components:{AccountGroup:J.A,Delete:ee.A,Fragment:$.F,NcActionButton:K.A,NcActionInput:H.A,NcAppNavigationItem:l.A,NcButton:u.A,NcCounterBubble:p.A,NcModal:Z.A,NcNoteCard:b.A,Pencil:te.A},props:{active:{type:Boolean,required:!0},count:{type:Number,default:null},id:{type:String,required:!0},name:{type:String,required:!0}},data:()=>({loadingRenameGroup:!1,openGroupMenu:!1,showRemoveGroupModal:!1}),computed:{settings(){return this.$store.getters.getServerData}},methods:{handleGroupMenuOpen(){this.openGroupMenu=!0},async renameGroup(e){if(""===e.trim())return;const t=this.$refs.displayNameInput.$el.querySelector('input[type="text"]').value;if(""!==t.trim())try{this.openGroupMenu=!1,this.loadingRenameGroup=!0,await this.$store.dispatch("renameGroup",{groupid:e.trim(),displayName:t.trim()}),this.loadingRenameGroup=!1}catch{this.openGroupMenu=!0,this.loadingRenameGroup=!1}},async removeGroup(){try{await this.$store.dispatch("removeGroup",this.id),this.showRemoveGroupModal=!1}catch(e){(0,j.Qg)(t("settings",'Failed to delete group "{group}"',{group:this.name}))}}}};var ae=a(60197),ie={};ie.styleTagTransform=O(),ie.setAttributes=L(),ie.insert=D().bind(null,"head"),ie.domAPI=S(),ie.insertStyleElement=G(),B()(ae.A,ie),ae.A&&ae.A.locals&&ae.A.locals;const re=(0,q.A)(ne,(function(){var e=this,t=e._self._c;return t("Fragment",[e.showRemoveGroupModal?t("NcModal",{on:{close:function(t){e.showRemoveGroupModal=!1}}},[t("div",{staticClass:"modal__content"},[t("h2",{staticClass:"modal__header"},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Please confirm the group removal"))+"\n\t\t\t")]),e._v(" "),t("NcNoteCard",{attrs:{type:"warning","show-alert":""}},[e._v("\n\t\t\t\t"+e._s(e.t("settings",'You are about to delete the group "{group}". The accounts will NOT be deleted.',{group:e.name}))+"\n\t\t\t")]),e._v(" "),t("div",{staticClass:"modal__button-row"},[t("NcButton",{attrs:{type:"secondary"},on:{click:function(t){e.showRemoveGroupModal=!1}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Cancel"))+"\n\t\t\t\t")]),e._v(" "),t("NcButton",{attrs:{type:"primary"},on:{click:e.removeGroup}},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Confirm"))+"\n\t\t\t\t")])],1)],1)]):e._e(),e._v(" "),t("NcAppNavigationItem",{key:e.id,ref:"listItem",attrs:{exact:!0,name:e.name,to:{name:"group",params:{selectedGroup:encodeURIComponent(e.id)}},loading:e.loadingRenameGroup,"menu-open":e.openGroupMenu},on:{"update:menuOpen":e.handleGroupMenuOpen},scopedSlots:e._u([{key:"icon",fn:function(){return[t("AccountGroup",{attrs:{size:20}})]},proxy:!0},{key:"counter",fn:function(){return[e.count?t("NcCounterBubble",{attrs:{type:e.active?"highlighted":void 0}},[e._v("\n\t\t\t\t"+e._s(e.count)+"\n\t\t\t")]):e._e()]},proxy:!0},{key:"actions",fn:function(){return["admin"!==e.id&&"disabled"!==e.id&&(e.settings.isAdmin||e.settings.isDelegatedAdmin)?t("NcActionInput",{ref:"displayNameInput",attrs:{"trailing-button-label":e.t("settings","Submit"),type:"text",value:e.name,label:e.t("settings","Rename group")},on:{submit:function(t){return e.renameGroup(e.id)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Pencil",{attrs:{size:20}})]},proxy:!0}],null,!1,580569589)}):e._e(),e._v(" "),"admin"!==e.id&&"disabled"!==e.id&&(e.settings.isAdmin||e.settings.isDelegatedAdmin)?t("NcActionButton",{on:{click:function(t){e.showRemoveGroupModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Delete group"))+"\n\t\t\t")]):e._e()]},proxy:!0}])})],1)}),[],!1,null,"3e2f3c17",null).exports;function oe(e){return void 0===e?null:{id:e.id,title:e.name,usercount:e.usercount??0,count:Math.max(0,(e.usercount??0)-(e.disabled??0))}}const se=e=>{const t=(0,i.EW)((()=>e.value.filter((e=>"disabled"!==e.id&&"__nc_internal_recent"!==e.id&&"admin"!==e.id)).map((e=>oe(e))).filter((e=>null!==e)))),n=(0,i.EW)((()=>oe(e.value.find((e=>"admin"===e.id))))),a=(0,i.EW)((()=>oe(e.value.find((e=>"disabled"===e.id)))));return{adminGroup:n,recentGroup:(0,i.EW)((()=>oe(e.value.find((e=>"__nc_internal_recent"===e.id))))),disabledGroup:a,userGroups:t}};var le=a(14744),ce=a(46984);const de=(0,i.pM)({__name:"AppNavigationGroupList",setup(e){const t=(0,le.P)(),n=(0,X.lq)(),a=(0,X.rd)();(0,i.KC)((async()=>{await N()}));const s=(0,i.EW)((()=>n.params?.selectedGroup)),l=(0,i.EW)((()=>s.value?decodeURIComponent(s.value):null)),d=(0,i.EW)((()=>g.value?t.getters.getSortedGroups:t.getters.getSubAdminGroups)),{userGroups:u}=se(d),p=(0,i.EW)((()=>t.getters.getServerData)),g=(0,i.EW)((()=>p.value.isAdmin||p.value.isDelegatedAdmin)),h=(0,i.KR)(!1),m=(0,i.KR)(!1),f=(0,i.KR)(!1),v=(0,i.KR)(""),C=(0,i.KR)(!1),b=(0,i.KR)(0),y=(0,i.KR)(""),_=(0,i.EW)((()=>{if(g.value)return u.value;const e=y.value.toLowerCase();return u.value.filter((t=>-1!==t.id.toLowerCase().search(e)||-1!==t.title.toLowerCase().search(e)))})),x=(0,i.KR)([]),E=(0,i.EW)((()=>x.value.findLast((e=>e?.$vnode?.key===u.value?.at(-1)?.id))?.$refs?.listItem?.$el)),k=(0,z.ITo)(E);(0,i.wB)(k,(async()=>{k.value&&await N()})),(0,i.wB)(y,(async()=>{t.commit("resetGroups"),b.value=0,await N()}));const B=(0,i.KR)();async function N(){if(g.value){B.value&&B.value.cancel(),C.value=!0;try{B.value=(0,ce.N_)({search:y.value,offset:b.value,limit:25});const e=await B.value;e.length>0&&(b.value+=25);for(const n of e)t.commit("addGroup",n)}catch(e){w.A.error((0,o.t)("settings","Failed to load groups"),{error:e})}B.value=void 0,C.value=!1}}return{__sfc:!0,store:t,route:n,router:a,selectedGroup:s,selectedGroupDecoded:l,groups:d,userGroups:u,settings:p,isAdminOrDelegatedAdmin:g,isAddGroupOpen:h,loadingAddGroup:m,hasAddGroupError:f,newGroupName:v,loadingGroups:C,offset:b,groupsSearchQuery:y,filteredGroups:_,groupListItems:x,lastGroupListItem:E,isLastGroupVisible:k,promise:B,loadGroups:N,createGroup:async function(){f.value=!1;const e=v.value.trim();if(""!==e){h.value=!1,m.value=!0;try{await t.dispatch("addGroup",e),await a.push({name:"group",params:{selectedGroup:encodeURIComponent(e)}});const n=x.value.findLast((t=>t?.$vnode?.key===e));n?.$refs?.listItem?.$el?.scrollIntoView({behavior:"smooth",block:"nearest"}),v.value=""}catch{(0,j.Qg)((0,o.t)("settings","Failed to create group"))}m.value=!1}else f.value=!0},mdiAccountGroup:r.n7C,mdiPlus:r.biz,t:o.t,Fragment:$.F,NcActionInput:H.A,NcActionText:W.A,NcAppNavigationCaption:V.N,NcAppNavigationList:c.A,NcAppNavigationSearch:Y.N,NcIconSvgWrapper:A.A,NcLoadingIcon:Q.A,GroupListItem:re}}}),ue=(0,q.A)(de,(function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.Fragment,[t(n.NcAppNavigationCaption,{attrs:{name:n.t("settings","Groups"),disabled:n.loadingAddGroup,"aria-label":n.loadingAddGroup?n.t("settings","Creating group…"):n.t("settings","Create group"),"force-menu":"","is-heading":"",open:n.isAddGroupOpen},on:{"update:open":function(e){n.isAddGroupOpen=e}},scopedSlots:e._u([n.isAdminOrDelegatedAdmin?{key:"actionsTriggerIcon",fn:function(){return[n.loadingAddGroup?t(n.NcLoadingIcon):t(n.NcIconSvgWrapper,{attrs:{path:n.mdiPlus}})]},proxy:!0}:null,n.isAdminOrDelegatedAdmin?{key:"actions",fn:function(){return[t(n.NcActionText,{scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiAccountGroup}})]},proxy:!0}],null,!1,3607647275)},[e._v("\n\t\t\t\t"+e._s(n.t("settings","Create group"))+"\n\t\t\t")]),e._v(" "),t(n.NcActionInput,{attrs:{label:n.t("settings","Group name"),"data-cy-users-settings-new-group-name":"","label-outside":!1,disabled:n.loadingAddGroup,value:n.newGroupName,error:n.hasAddGroupError,"helper-text":n.hasAddGroupError?n.t("settings","Please enter a valid group name"):""},on:{"update:value":function(e){n.newGroupName=e},submit:n.createGroup}})]},proxy:!0}:null],null,!0)}),e._v(" "),t(n.NcAppNavigationSearch,{attrs:{label:n.t("settings","Search groups…")},model:{value:n.groupsSearchQuery,callback:function(e){n.groupsSearchQuery=e},expression:"groupsSearchQuery"}}),e._v(" "),t("p",{staticClass:"hidden-visually",attrs:{id:"group-list-desc"}},[e._v("\n\t\t"+e._s(n.t("settings","List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list."))+"\n\t")]),e._v(" "),t(n.NcAppNavigationList,{staticClass:"account-management__group-list",attrs:{"aria-describedby":"group-list-desc","data-cy-users-settings-navigation-groups":"custom"}},[e._l(n.filteredGroups,(function(e){return t(n.GroupListItem,{key:e.id,ref:"groupListItems",refInFor:!0,attrs:{id:e.id,active:n.selectedGroupDecoded===e.id,name:e.title,count:e.count}})})),e._v(" "),n.loadingGroups?t("div",{attrs:{role:"note"}},[t(n.NcLoadingIcon,{attrs:{name:n.t("settings","Loading groups…")}})],1):e._e()],2)],1)}),[],!1,null,null,null).exports,pe=(0,i.pM)({__name:"UserManagementNavigation",setup(e){const t=(0,X.lq)(),n=(0,le.P)(),a=(0,i.KR)(!1),g=(0,i.EW)((()=>t.params?.selectedGroup)),h=(0,i.EW)((()=>g.value?decodeURIComponent(g.value):null)),m=(0,i.EW)((()=>n.getters.getUserCount)),f=(0,i.EW)((()=>n.getters.getSortedGroups)),{adminGroup:v,recentGroup:C,disabledGroup:b}=se(f),y=(0,i.EW)((()=>n.getters.getServerData)),_=(0,i.EW)((()=>y.value.isAdmin||y.value.isDelegatedAdmin));return{__sfc:!0,route:t,store:n,isDialogOpen:a,selectedGroup:g,selectedGroupDecoded:h,userCount:m,groups:f,adminGroup:v,recentGroup:C,disabledGroup:b,settings:y,isAdminOrDelegatedAdmin:_,showNewUserMenu:function(){n.commit("setShowConfig",{key:"showNewUserForm",value:!0})},mdiAccount:r.Gbn,mdiAccountOff:r.lBC,mdiCog:r.CZ3,mdiPlus:r.biz,mdiShieldAccount:r.Jey,mdiHistory:r.LP2,t:o.Tl,NcAppNavigation:s.A,NcAppNavigationItem:l.A,NcAppNavigationList:c.A,NcAppNavigationNew:d.A,NcButton:u.A,NcCounterBubble:p.A,NcIconSvgWrapper:A.A,UserSettingsDialog:M,AppNavigationGroupList:ue}}});var Ae=a(49977),ge={};ge.styleTagTransform=O(),ge.setAttributes=L(),ge.insert=D().bind(null,"head"),ge.domAPI=S(),ge.insertStyleElement=G(),B()(Ae.A,ge),Ae.A&&Ae.A.locals&&Ae.A.locals;const he=(0,q.A)(pe,(function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcAppNavigation,{staticClass:"account-management__navigation",attrs:{"aria-label":n.t("settings","Account management")},scopedSlots:e._u([{key:"footer",fn:function(){return[t(n.NcButton,{staticClass:"account-management__settings-toggle",attrs:{type:"tertiary"},on:{click:function(e){n.isDialogOpen=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiCog}})]},proxy:!0}])},[e._v("\n\t\t\t"+e._s(n.t("settings","Account management settings"))+"\n\t\t")]),e._v(" "),t(n.UserSettingsDialog,{attrs:{open:n.isDialogOpen},on:{"update:open":function(e){n.isDialogOpen=e}}})]},proxy:!0}])},[t(n.NcAppNavigationNew,{attrs:{"button-id":"new-user-button",text:n.t("settings","New account")},on:{click:n.showNewUserMenu,keyup:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:n.showNewUserMenu.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:n.showNewUserMenu.apply(null,arguments)}]},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiPlus}})]},proxy:!0}])}),e._v(" "),t(n.NcAppNavigationList,{staticClass:"account-management__system-list",attrs:{"data-cy-users-settings-navigation-groups":"system"}},[t(n.NcAppNavigationItem,{attrs:{id:"everyone",exact:!0,name:n.t("settings","All accounts"),to:{name:"users"}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiAccount}})]},proxy:!0},{key:"counter",fn:function(){return[n.userCount?t(n.NcCounterBubble,{attrs:{type:n.selectedGroupDecoded?void 0:"highlighted"}},[e._v("\n\t\t\t\t\t"+e._s(n.userCount)+"\n\t\t\t\t")]):e._e()]},proxy:!0}])}),e._v(" "),n.settings.isAdmin?t(n.NcAppNavigationItem,{attrs:{id:"admin",exact:!0,name:n.t("settings","Admins"),to:{name:"group",params:{selectedGroup:"admin"}}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiShieldAccount}})]},proxy:!0},{key:"counter",fn:function(){return[n.adminGroup&&n.adminGroup.count>0?t(n.NcCounterBubble,{attrs:{type:"admin"===n.selectedGroupDecoded?"highlighted":void 0}},[e._v("\n\t\t\t\t\t"+e._s(n.adminGroup.count)+"\n\t\t\t\t")]):e._e()]},proxy:!0}],null,!1,2218088905)}):e._e(),e._v(" "),n.isAdminOrDelegatedAdmin?t(n.NcAppNavigationItem,{attrs:{id:"recent",exact:!0,name:n.t("settings","Recently active"),to:{name:"group",params:{selectedGroup:"__nc_internal_recent"}}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiHistory}})]},proxy:!0},{key:"counter",fn:function(){return[n.recentGroup?.usercount?t(n.NcCounterBubble,{attrs:{type:"__nc_internal_recent"===n.selectedGroupDecoded?"highlighted":void 0}},[e._v("\n\t\t\t\t\t"+e._s(n.recentGroup.usercount)+"\n\t\t\t\t")]):e._e()]},proxy:!0}],null,!1,2299424282)}):e._e(),e._v(" "),n.disabledGroup&&(n.disabledGroup.usercount>0||-1===n.disabledGroup.usercount)?t(n.NcAppNavigationItem,{attrs:{id:"disabled",exact:!0,name:n.t("settings","Disabled accounts"),to:{name:"group",params:{selectedGroup:"disabled"}}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcIconSvgWrapper,{attrs:{path:n.mdiAccountOff}})]},proxy:!0},n.disabledGroup.usercount>0?{key:"counter",fn:function(){return[t(n.NcCounterBubble,{attrs:{type:"disabled"===n.selectedGroupDecoded?"highlighted":void 0}},[e._v("\n\t\t\t\t\t"+e._s(n.disabledGroup.usercount)+"\n\t\t\t\t")])]},proxy:!0}:null],null,!0)}):e._e()],1),e._v(" "),t(n.AppNavigationGroupList)],1)}),[],!1,null,"edf83404",null).exports},86886:e=>{"use strict";e.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"},88032:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-1133b4da] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-1133b4da] {\n display: flex;\n justify-content: space-between;\n}\n.app-navigation-caption--heading[data-v-1133b4da] {\n padding: var(--app-navigation-padding);\n}\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\n padding: 0 var(--app-navigation-padding);\n}\n.app-navigation-caption__name[data-v-1133b4da] {\n font-weight: bold;\n color: var(--color-main-text);\n font-size: var(--default-font-size);\n line-height: var(--default-clickable-area);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-shadow: none !important;\n flex-shrink: 1;\n padding-block: 0;\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\n margin-top: 0px;\n margin-bottom: var(--default-grid-baseline);\n}\n.app-navigation-caption__actions[data-v-1133b4da] {\n flex: 0 0 var(--default-clickable-area);\n}\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\n margin-top: calc(var(--default-clickable-area) / 2);\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,8BAA8B;AAChC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,iBAAiB;EACjB,6BAA6B;EAC7B,mCAAmC;EACnC,0CAA0C;EAC1C,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,2BAA2B;EAC3B,cAAc;EACd,gBAAgB;EAChB,6DAA6D;EAC7D,eAAe;EACf,2CAA2C;AAC7C;AACA;EACE,uCAAuC;AACzC;AACA;EACE,mDAAmD;AACrD",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-1133b4da] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-1133b4da] {\n display: flex;\n justify-content: space-between;\n}\n.app-navigation-caption--heading[data-v-1133b4da] {\n padding: var(--app-navigation-padding);\n}\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\n padding: 0 var(--app-navigation-padding);\n}\n.app-navigation-caption__name[data-v-1133b4da] {\n font-weight: bold;\n color: var(--color-main-text);\n font-size: var(--default-font-size);\n line-height: var(--default-clickable-area);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-shadow: none !important;\n flex-shrink: 1;\n padding-block: 0;\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\n margin-top: 0px;\n margin-bottom: var(--default-grid-baseline);\n}\n.app-navigation-caption__actions[data-v-1133b4da] {\n flex: 0 0 var(--default-clickable-area);\n}\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\n margin-top: calc(var(--default-clickable-area) / 2);\n}"],sourceRoot:""}]);const s=o},90115:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".dialog__form[data-v-1195b9bc]{display:flex;flex-direction:column;align-items:center;padding:0 8px;gap:4px 0}.dialog__item[data-v-1195b9bc]{width:100%}.dialog__item[data-v-1195b9bc]:not(:focus):not(:active){border-color:var(--color-border-dark)}.dialog__hint[data-v-1195b9bc]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.dialog__label[data-v-1195b9bc]{display:block;padding:4px 0}.dialog__select[data-v-1195b9bc]{width:100%}.dialog__managers[data-v-1195b9bc]{margin-bottom:12px}.dialog__submit[data-v-1195b9bc]{margin-top:4px;margin-bottom:8px}.dialog[data-v-1195b9bc] .dialog__actions{margin:auto}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/NewUserDialog.vue"],names:[],mappings:"AAEC,+BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,aAAA,CACA,SAAA,CAGD,+BACC,UAAA,CAEA,wDACC,qCAAA,CAIF,+BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,gCACC,aAAA,CACA,aAAA,CAGD,iCACC,UAAA,CAGD,mCACC,kBAAA,CAGD,iCACC,cAAA,CACA,iBAAA,CAIA,0CACC,WAAA",sourcesContent:["\n.dialog {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 0 8px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__managers {\n\t\tmargin-bottom: 12px;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 4px;\n\t\tmargin-bottom: 8px;\n\t}\n\n\t:deep {\n\t\t.dialog__actions {\n\t\t\tmargin: auto;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},93131:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-46fee9ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.app-navigation-entry[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: var(--default-clickable-area);\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color 200ms ease-in-out;\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n /* hide deletion/collapse of subitems */\n}\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry.active[data-v-46fee9ac] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\n z-index: 100; /* above the bullet to allow click*/\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: var(--default-clickable-area);\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px 16px;\n line-height: var(--default-clickable-area);\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\n display: flex;\n align-items: center;\n flex: 0 0 var(--default-clickable-area);\n justify-content: center;\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n}\n\n/* Second level nesting for lists */\n.app-navigation-entry__children[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-inline-start: 16px;\n}\n\n/* Deleted entries */\n.app-navigation-entry__deleted[data-v-46fee9ac] {\n display: inline-flex;\n flex: 1 1 0;\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: var(--default-clickable-area);\n}\n\n/* counter and actions */\n.app-navigation-entry__utils[data-v-46fee9ac] {\n display: flex;\n min-width: var(--default-clickable-area);\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n /* counter */\n /* actions */\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: none;\n}\n\n/* editing state */\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\n z-index: 250;\n opacity: 1;\n}\n\n/* deleted state */\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\n z-index: 250;\n transform: translateX(0);\n}\n\n/* pinned state */\n.app-navigation-entry--pinned[data-v-46fee9ac] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n.app-navigation-new-item__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-inline-start: 7px;\n font-size: 14px;\n}\n.newItemContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-D7wroqrc.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;EACX,yCAAyC;EACzC,+DAA+D;EAC/D,8CAA8C;EAC9C,sEAAsE;EACtE,uCAAuC;AACzC;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,+DAA+D;AACjE;AACA;EACE,mDAAmD;AACrD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;AACf;AACA;EACE,oEAAoE;AACtE;AACA;EACE,YAAY,EAAE,mCAAmC;EACjD,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,sBAAsB;EACtB,yCAAyC;EACzC,UAAU;EACV,mBAAmB;EACnB,6BAA6B;EAC7B,4BAA4B;EAC5B,4EAA4E;EAC5E,0BAA0B;EAC1B,0CAA0C;AAC5C;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uCAAuC;EACvC,uBAAuB;EACvB,oCAAoC;EACpC,qCAAqC;EACrC,0BAA0B;EAC1B,4BAA4B;EAC5B,4EAA4E;AAC9E;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd;AACA;EACE,kDAAkD;EAClD,yCAAyC;EACzC,sEAAsE;AACxE;;AAEA,mCAAmC;AACnC;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,WAAW;EACX,sCAAsC;AACxC;AACA;EACE,oBAAoB;EACpB,eAAe;EACf,0BAA0B;AAC5B;;AAEA,oBAAoB;AACpB;EACE,oBAAoB;EACpB,WAAW;EACX,iHAAiH;AACnH;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,WAAW;EACX,mBAAmB;EACnB,uBAAuB;EACvB,0CAA0C;AAC5C;;AAEA,wBAAwB;AACxB;EACE,aAAa;EACb,wCAAwC;EACxC,mBAAmB;EACnB,cAAc;EACd,yBAAyB;EACzB,YAAY;EACZ,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,yDAAyD;EACzD,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,aAAa;AACf;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,UAAU;AACZ;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,wBAAwB;AAC1B;;AAEA,iBAAiB;AACjB;EACE,QAAQ;EACR,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,qEAAqE;AACvE;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,yBAAyB;EACzB,eAAe;AACjB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-46fee9ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.app-navigation-entry[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: var(--default-clickable-area);\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color 200ms ease-in-out;\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n /* hide deletion/collapse of subitems */\n}\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry.active[data-v-46fee9ac] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\n z-index: 100; /* above the bullet to allow click*/\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: var(--default-clickable-area);\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px 16px;\n line-height: var(--default-clickable-area);\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\n display: flex;\n align-items: center;\n flex: 0 0 var(--default-clickable-area);\n justify-content: center;\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n}\n\n/* Second level nesting for lists */\n.app-navigation-entry__children[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-inline-start: 16px;\n}\n\n/* Deleted entries */\n.app-navigation-entry__deleted[data-v-46fee9ac] {\n display: inline-flex;\n flex: 1 1 0;\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: var(--default-clickable-area);\n}\n\n/* counter and actions */\n.app-navigation-entry__utils[data-v-46fee9ac] {\n display: flex;\n min-width: var(--default-clickable-area);\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n /* counter */\n /* actions */\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: none;\n}\n\n/* editing state */\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\n z-index: 250;\n opacity: 1;\n}\n\n/* deleted state */\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\n z-index: 250;\n transform: translateX(0);\n}\n\n/* pinned state */\n.app-navigation-entry--pinned[data-v-46fee9ac] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n.app-navigation-new-item__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-inline-start: 7px;\n font-size: 14px;\n}\n.newItemContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}"],sourceRoot:""}]);const s=o},95066:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,".footer[data-v-db2a7c4e]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-db2a7c4e]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-db2a7c4e],.footer__cell span[data-v-db2a7c4e],.footer__cell label[data-v-db2a7c4e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-db2a7c4e],.footer__cell--displayname[data-v-db2a7c4e]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-db2a7c4e]{inset-inline-start:0}.footer__cell--displayname[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.footer__cell--username[data-v-db2a7c4e]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.footer__cell--avatar[data-v-db2a7c4e]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-db2a7c4e]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-db2a7c4e]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-db2a7c4e]{min-width:400px;width:400px}.footer__cell--fill[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-db2a7c4e]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.footer__subtitle[data-v-db2a7c4e]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-db2a7c4e]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-db2a7c4e]{inset-inline-start:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListFooter.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA,CDpGD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,oBAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,2CAAA,CACA,2BAAA,CACA,uBAAA",sourcesContent:["\n@use './shared/styles';\n\n.footer {\n\t@include styles.row;\n\t@include styles.cell;\n\n\t&__cell {\n\t\tposition: sticky;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&--loading {\n\t\t\tinset-inline-start: 0;\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t&--count {\n\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\tmin-width: var(--cell-width);\n\t\t\twidth: var(--cell-width);\n\t\t}\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const s=o},95668:(e,t,n)=>{"use strict";n.d(t,{HK:()=>o,MY:()=>r,SA:()=>i});var a=n(53334);const i={id:"none",label:(0,a.Tl)("settings","Unlimited")},r={id:"default",label:(0,a.Tl)("settings","Default quota")},o=e=>{const t=Object.keys(e);return 1===t.length&&"id"===t.at(0)}},96599:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(71354),i=n.n(a),r=n(76314),o=n.n(r)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-cbad78fb] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#guest-content-vue[data-v-cbad78fb] {\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n min-width: 0;\n border-radius: var(--border-radius-large);\n box-shadow: 0 0 10px var(--color-box-shadow);\n height: fit-content;\n padding: 15px;\n margin: 20px auto;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#content.nc-guest-content {\n overflow: auto;\n margin-bottom: 0;\n height: calc(var(--body-height) + var(--body-container-margin));\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;EAC7B,8CAA8C;EAC9C,YAAY;EACZ,yCAAyC;EACzC,4CAA4C;EAC5C,mBAAmB;EACnB,aAAa;EACb,iBAAiB;AACnB,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,+DAA+D;AACjE",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-cbad78fb] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#guest-content-vue[data-v-cbad78fb] {\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n min-width: 0;\n border-radius: var(--border-radius-large);\n box-shadow: 0 0 10px var(--color-box-shadow);\n height: fit-content;\n padding: 15px;\n margin: 20px auto;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#content.nc-guest-content {\n overflow: auto;\n margin-bottom: 0;\n height: calc(var(--body-height) + var(--body-container-margin));\n}"],sourceRoot:""}]);const s=o}}]);
+//# sourceMappingURL=settings-users-3239.js.map?v=08759831a01ef53093e7 \ No newline at end of file
diff --git a/dist/settings-users-3239.js.map b/dist/settings-users-3239.js.map
index 40899bd898b..b55ad5ed0ae 100644
--- a/dist/settings-users-3239.js.map
+++ b/dist/settings-users-3239.js.map
@@ -1 +1 @@
-{"version":3,"file":"settings-users-3239.js?v=c2bb41941d6626f5c12a","mappings":"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","sources":["webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/referencePickerModal-4kExxHbR.mjs","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=style&index=0&id=74033440&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/emoji-BY_D0V5K.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRichText-CwXSzf21.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css","webpack:///nextcloud/apps/settings/src/service/groups.ts","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=style&index=0&id=edf83404&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationCaption-DcgSwIOY.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=style&index=0&id=47722426&prod&lang=scss&scoped=true","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css?cd91","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppNavigationNew.mjs","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=style&index=0&id=3e2f3c17&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/sax/lib/sax.js","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?4b28","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?7ade","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?1915","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?dc2d","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?6dec","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?64c6","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b1db","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b843","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?e7ff","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?758a","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?5434","webpack:///nextcloud/node_modules/@file-type/xml/lib/index.js","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue?vue&type=script&lang=ts","webpack:///nextcloud/node_modules/is-svg/index.js","webpack://nextcloud/./apps/settings/src/components/Users/UserRowActions.vue?3c2a","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css?8d5f","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionButtonGroup-DEf00ge6.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css?a1e2","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionRadio-yAm71xxU.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css?a6b9","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionTextEditable-DNweMXRJ.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppContentDetails.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppContentList.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css?51a1","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppNavigationIconBullet.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-D7wroqrc.css?e4cc","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationNewItem-CcBvnQst.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css?c692","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-JruJ3cF1.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css?9538","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Functions/preloadImage.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcBlurHash-do2wxY-0.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css?52df","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcCollectionList-CFt-EZON.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css?0e9c","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcGuestContent.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css?0c75","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcHeaderButton.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css?1484","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRelatedResourcesPanel-Y38zaKtn.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSavingIndicatorIcon-nv1147dk.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-CRH00RA2.css?50f4","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSelectUsers-W17kOow7.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css?387e","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSettingsInputText-YO053agL.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Functions/isDarkTheme.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Composables/useIsDarkTheme.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs","webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?2145","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?eb6e","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/UserList.vue?750d","webpack://nextcloud/./apps/settings/src/components/UserList.vue?02a4","webpack://nextcloud/./apps/settings/src/components/UserList.vue?c96e","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?c771","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?fd5a","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css?7340","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-CRH00RA2.css","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=1e8fee5a&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?da91","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?f361","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?824e","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?e356","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?7b19","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?9f48","webpack:///nextcloud/apps/settings/src/composables/useGroupsNavigation.ts","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppNavigationGroupList.vue?c74f","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?3dcd","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?28b6","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-D7wroqrc.css","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/utils/userUtils.ts","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-button-group-base > div {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button {\n padding: 0 !important;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\n background-color: var(--color-primary-element);\n border-radius: var(--border-radius-large);\n color: var(--color-primary-element-text);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\n background-color: var(--color-primary-element-hover);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\n display: none;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,oCAAoC;AACtC;AACA;EACE,aAAa;EACb,QAAQ;EACR,8BAA8B;AAChC;AACA;EACE,SAAS;AACX;AACA;EACE,qBAAqB;EACrB,WAAW;EACX,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,8CAA8C;EAC9C,yCAAyC;EACzC,wCAAwC;AAC1C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,aAAa;AACf\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.nc-button-group-base > div {\\n text-align: center;\\n color: var(--color-text-maxcontrast);\\n}\\n.nc-button-group-base ul.nc-button-group-content {\\n display: flex;\\n gap: 4px;\\n justify-content: space-between;\\n}\\n.nc-button-group-base ul.nc-button-group-content li {\\n flex: 1 1;\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button {\\n padding: 0 !important;\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\\n background-color: var(--color-primary-element);\\n border-radius: var(--border-radius-large);\\n color: var(--color-primary-element-text);\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\\n background-color: var(--color-primary-element-hover);\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\\n display: none;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import '../assets/referencePickerModal-Ba6soz9w.css';\nimport { e as destroyWidget, a as renderWidget, i as isWidgetRegistered, h as hasInteractiveView, f as hasFullWidth, c as renderCustomPickerElement, g as destroyCustomPickerElement, d as isCustomPickerElementRegistered, j as getCustomPickerElementSize } from \"./index-56SXuvlv.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { r as register, V as t21, a as t, W as t7, X as t44, Y as t38, Z as t22, B as t40, _ as t29, n as t17, $ as t11 } from \"./_l10n-DQgzdF9S.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { imagePath, generateOcsUrl } from \"@nextcloud/router\";\nimport NcEmptyContent from \"../Components/NcEmptyContent.mjs\";\nimport { N as NcHighlight } from \"./index-Bz6q9mZw.mjs\";\nimport { N as NcSelect } from \"./NcSelect-CjUzohn5.mjs\";\nimport { useElementSize, useIntersectionObserver } from \"@vueuse/core\";\nimport Vue, { ref, nextTick } from \"vue\";\nimport { RouterLink } from \"vue-router\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcTextField } from \"./NcTextField-o_8gWurX.mjs\";\nimport { D as DotsHorizontal } from \"./DotsHorizontal-C6LNsw4N.mjs\";\nimport NcModal from \"../Components/NcModal.mjs\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { A as ArrowLeft } from \"./ArrowLeft-DuT2LZOm.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nregister(t21);\nconst IDLE_TIMEOUT = 3 * 60 * 1e3;\nconst _sfc_main$8 = {\n name: \"NcReferenceWidget\",\n components: {\n NcButton\n },\n props: {\n reference: {\n type: Object,\n required: true\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n setup() {\n const isVisible = ref(false);\n const widgetRoot = ref();\n const { width } = useElementSize(widgetRoot);\n useIntersectionObserver(widgetRoot, ([entry]) => {\n nextTick(() => {\n isVisible.value = entry.isIntersecting;\n });\n });\n return {\n width,\n isVisible,\n widgetRoot\n };\n },\n data() {\n return {\n showInteractive: false,\n rendered: false,\n idleTimeout: null\n };\n },\n computed: {\n isInteractive() {\n return !this.interactiveOptIn && this.interactive || this.showInteractive;\n },\n hasFullWidth() {\n return hasFullWidth(this.reference.richObjectType);\n },\n hasCustomWidget() {\n return isWidgetRegistered(this.reference.richObjectType);\n },\n hasInteractiveView() {\n return isWidgetRegistered(this.reference.richObjectType) && hasInteractiveView(this.reference.richObjectType);\n },\n noAccess() {\n return this.reference && !this.reference.accessible;\n },\n descriptionStyle() {\n if (this.numberOfLines === 0) {\n return {\n display: \"none\"\n };\n }\n const lineClamp = this.numberOfLines;\n return {\n lineClamp,\n webkitLineClamp: lineClamp\n };\n },\n numberOfLines() {\n const lineCountOffsets = [450, 550, 650, Infinity];\n return lineCountOffsets.findIndex((max) => this.width < max);\n },\n compactLink() {\n const link = this.reference.openGraphObject.link;\n if (!link) {\n return \"\";\n }\n if (link.startsWith(\"https://\")) {\n return link.substring(8);\n }\n if (link.startsWith(\"http://\")) {\n return link.substring(7);\n }\n return link;\n },\n route() {\n return getRoute(this.$router, this.reference.openGraphObject.link);\n },\n referenceWidgetLinkComponent() {\n return this.route ? RouterLink : \"a\";\n },\n referenceWidgetLinkProps() {\n return this.route ? { to: this.route } : { href: this.reference.openGraphObject.link, target: \"_blank\" };\n }\n },\n watch: {\n isVisible: {\n handler(val) {\n if (!val) {\n this.idleTimeout = setTimeout(() => {\n if (!this.isVisible) {\n this.destroyWidget();\n }\n }, IDLE_TIMEOUT);\n return;\n }\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (!this.rendered) {\n this.renderWidget();\n }\n },\n immediate: true\n }\n },\n beforeDestroy() {\n this.destroyWidget();\n },\n methods: {\n t,\n enableInteractive() {\n this.showInteractive = true;\n this.renderWidget();\n },\n renderWidget() {\n if (!this.$refs.customWidget) {\n return;\n }\n if (this?.reference?.richObjectType === \"open-graph\") {\n return;\n }\n this.$refs.customWidget.innerHTML = \"\";\n const widget = document.createElement(\"div\");\n widget.style = \"width: 100%;\";\n this.$refs.customWidget.appendChild(widget);\n this.$nextTick(() => {\n renderWidget(widget, {\n ...this.reference,\n interactive: this.isInteractive\n });\n this.rendered = true;\n });\n },\n destroyWidget() {\n if (this.rendered) {\n destroyWidget(this.reference.richObjectType, this.$el);\n this.rendered = false;\n }\n }\n }\n};\nvar _sfc_render$8 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"widgetRoot\", class: { \"toggle-interactive\": _vm.hasInteractiveView && !_vm.isInteractive } }, [_vm.reference && _vm.hasCustomWidget ? _c(\"div\", { ref: \"customWidget\", staticClass: \"widget-custom\", class: { \"full-width\": _vm.hasFullWidth } }) : !_vm.noAccess && _vm.reference && _vm.reference.openGraphObject && !_vm.hasCustomWidget ? _c(_vm.referenceWidgetLinkComponent, _vm._b({ tag: \"component\", staticClass: \"widget-default\", attrs: { \"rel\": \"noopener noreferrer\" } }, \"component\", _vm.referenceWidgetLinkProps, false), [_vm.reference.openGraphObject.thumb ? _c(\"img\", { staticClass: \"widget-default--image\", attrs: { \"src\": _vm.reference.openGraphObject.thumb } }) : _vm._e(), _c(\"div\", { staticClass: \"widget-default--details\" }, [_c(\"p\", { staticClass: \"widget-default--name\" }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.name) + \" \")]), _c(\"p\", { staticClass: \"widget-default--description\", style: _vm.descriptionStyle }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.description) + \" \")]), _c(\"p\", { staticClass: \"widget-default--link\" }, [_vm._v(\" \" + _vm._s(_vm.compactLink) + \" \")])])]) : _vm._e(), _vm.interactiveOptIn && _vm.hasInteractiveView && !_vm.isInteractive ? _c(\"NcButton\", { staticClass: \"toggle-interactive--button\", on: { \"click\": _vm.enableInteractive } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Enable interactive view\")) + \" \")]) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$8 = [];\nvar __component__$8 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$8,\n _sfc_render$8,\n _sfc_staticRenderFns$8,\n false,\n null,\n \"734d6ae9\"\n);\nconst NcReferenceWidget = __component__$8.exports;\nconst _sfc_main$7 = {\n name: \"NcCustomPickerElement\",\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n isRegistered: isCustomPickerElementRegistered(this.provider.id),\n renderResult: null\n };\n },\n mounted() {\n if (this.isRegistered) {\n this.renderElement();\n }\n },\n beforeDestroy() {\n if (this.isRegistered) {\n destroyCustomPickerElement(this.provider.id, this.$el, this.renderResult);\n }\n },\n methods: {\n renderElement() {\n if (this.$refs.domElement) {\n this.$refs.domElement.innerHTML = \"\";\n }\n const renderFunctionResult = renderCustomPickerElement(this.$refs.domElement, { providerId: this.provider.id, accessible: false });\n Promise.resolve(renderFunctionResult).then((result) => {\n this.renderResult = result;\n if (this.renderResult.object?._isVue && this.renderResult.object?.$on) {\n this.renderResult.object.$on(\"submit\", this.onSubmit);\n this.renderResult.object.$on(\"cancel\", this.onCancel);\n }\n this.renderResult.element.addEventListener(\"submit\", (e) => {\n this.onSubmit(e.detail);\n });\n this.renderResult.element.addEventListener(\"cancel\", this.onCancel);\n });\n },\n onSubmit(value) {\n this.$emit(\"submit\", value);\n },\n onCancel() {\n this.$emit(\"cancel\");\n }\n }\n};\nvar _sfc_render$7 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"domElement\" });\n};\nvar _sfc_staticRenderFns$7 = [];\nvar __component__$7 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$7,\n _sfc_render$7,\n _sfc_staticRenderFns$7,\n false,\n null,\n \"de9850e4\"\n);\nconst NcCustomPickerElement = __component__$7.exports;\nregister(t7);\nconst anyLinkProviderId = \"any-link\";\nconst anyLinkProvider = {\n id: anyLinkProviderId,\n title: t(\"Any link\"),\n icon_url: imagePath(\"core\", \"filetypes/link.svg\")\n};\nif (!window._vue_richtext_reference_providers) {\n window._vue_richtext_reference_providers = loadState(\"core\", \"reference-provider-list\", []);\n}\nif (!window._vue_richtext_reference_provider_timestamps) {\n window._vue_richtext_reference_provider_timestamps = loadState(\"core\", \"reference-provider-timestamps\", {});\n}\nfunction getProvider(providerId) {\n if (providerId === anyLinkProviderId) {\n return anyLinkProvider;\n }\n return getProviders().find((p) => p.id === providerId);\n}\nfunction getProviders() {\n return window._vue_richtext_reference_providers.filter((p) => {\n const keep = !!p.search_providers_ids && p.search_providers_ids.length > 0 || isCustomPickerElementRegistered(p.id);\n if (!keep) {\n console.debug(\"[smart picker]\", p.id, \"reference provider is discoverable but does not have any related search provider or custom picker component registered\");\n }\n return keep;\n });\n}\nfunction sortProviders(providerList) {\n const timestamps = window._vue_richtext_reference_provider_timestamps;\n return providerList.sort((a, b) => {\n return a.order === b.order ? 0 : a.order > b.order ? 1 : -1;\n }).sort((a, b) => {\n const ta = timestamps[a.id];\n const tb = timestamps[b.id];\n return ta === tb ? 0 : tb === void 0 ? -1 : ta === void 0 ? 1 : ta > tb ? -1 : 1;\n });\n}\nfunction searchProvider(query, limit = null) {\n const providers = getProviders();\n const escapedQuery = query.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n const regexp = new RegExp(escapedQuery, \"i\");\n const sortedProviders = sortProviders(providers);\n const filteredSortedProviders = sortedProviders.filter((p) => {\n return p.title.match(regexp);\n });\n const searchResult = limit ? filteredSortedProviders.slice(0, limit) : filteredSortedProviders;\n if (query === \"\" || searchResult.length === 0) {\n searchResult.push(anyLinkProvider);\n }\n return searchResult;\n}\nfunction touchProvider(providerId) {\n const timestamp = Math.floor(Date.now() / 1e3);\n const params = {\n timestamp\n };\n const url = generateOcsUrl(\"references/provider/{providerId}\", { providerId });\n axios.put(url, params).then((response) => {\n window._vue_richtext_reference_provider_timestamps[providerId] = timestamp;\n });\n}\nlet mytimer = 0;\nfunction delay(callback, ms) {\n return function() {\n const context = this;\n const args = arguments;\n clearTimeout(mytimer);\n mytimer = setTimeout(function() {\n callback.apply(context, args);\n }, ms);\n };\n}\nfunction isUrl(str) {\n try {\n return Boolean(new URL(str));\n } catch (error) {\n return false;\n }\n}\nregister(t38, t44);\nconst _sfc_main$6 = {\n name: \"LinkVariantIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$6 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon link-variant-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$6 = [];\nvar __component__$6 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$6,\n _sfc_render$6,\n _sfc_staticRenderFns$6,\n false,\n null,\n null\n);\nconst LinkVariantIcon = __component__$6.exports;\nconst _sfc_main$5 = {\n name: \"NcProviderList\",\n components: {\n NcSelect,\n NcHighlight,\n NcEmptyContent,\n LinkVariantIcon\n },\n emits: [\n \"select-provider\",\n \"submit\"\n ],\n data() {\n return {\n selectedProvider: null,\n query: \"\",\n multiselectPlaceholder: t(\"Select provider\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n options() {\n const result = [];\n if (this.query !== \"\" && isUrl(this.query)) {\n result.push({\n id: this.query,\n title: this.query,\n isLink: true\n });\n }\n result.push(...searchProvider(this.query));\n return result;\n }\n },\n methods: {\n focus() {\n setTimeout(() => {\n this.$refs[\"provider-select\"]?.$el?.querySelector(\"#provider-select-input\")?.focus();\n }, 300);\n },\n onProviderSelected(p) {\n if (p !== null) {\n if (p.isLink) {\n this.$emit(\"submit\", p.title);\n } else {\n this.$emit(\"select-provider\", p);\n }\n this.selectedProvider = null;\n }\n },\n onSearch(query, loading) {\n this.query = query;\n }\n }\n};\nvar _sfc_render$5 = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"provider-list\" }, [_c(\"NcSelect\", { ref: \"provider-select\", staticClass: \"provider-list--select\", attrs: { \"input-id\": \"provider-select-input\", \"label\": \"title\", \"placeholder\": _vm.multiselectPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"clear-search-on-select\": true, \"clear-search-on-blur\": () => false, \"filterable\": false }, on: { \"search\": _vm.onSearch, \"input\": _vm.onProviderSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isLink ? _c(\"div\", { staticClass: \"provider\" }, [_c(\"LinkVariantIcon\", { staticClass: \"link-icon\", attrs: { \"size\": 20 } }), _c(\"span\", [_vm._v(_vm._s(option.title))])], 1) : _c(\"div\", { staticClass: \"provider\" }, [_c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": option.icon_url, \"alt\": _vm.providerIconAlt } }), _c(\"NcHighlight\", { staticClass: \"option-text\", attrs: { \"search\": _vm.query, \"text\": option.title } })], 1)];\n } }]), model: { value: _vm.selectedProvider, callback: function($$v) {\n _vm.selectedProvider = $$v;\n }, expression: \"selectedProvider\" } }), _c(\"NcEmptyContent\", { staticClass: \"provider-list--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$5 = [];\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$5,\n _sfc_render$5,\n _sfc_staticRenderFns$5,\n false,\n null,\n \"f03ee0c9\"\n);\nconst NcProviderList = __component__$5.exports;\nregister(t22);\nconst _sfc_main$4 = {\n name: \"NcRawLinkInput\",\n components: {\n LinkVariantIcon,\n NcEmptyContent,\n NcLoadingIcon,\n NcReferenceWidget,\n NcTextField\n },\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n inputValue: \"\",\n loading: false,\n reference: null,\n abortController: null,\n inputPlaceholder: t(\"Enter link\")\n };\n },\n computed: {\n isLinkValid() {\n return isUrl(this.inputValue);\n }\n },\n methods: {\n focus() {\n this.$refs[\"url-input\"].$el.getElementsByTagName(\"input\")[0]?.focus();\n },\n onSubmit(e) {\n const value = e.target.value;\n if (this.isLinkValid) {\n this.$emit(\"submit\", value);\n }\n },\n onClear() {\n this.inputValue = \"\";\n this.reference = null;\n },\n onInput() {\n this.reference = null;\n if (this.abortController) {\n this.abortController.abort();\n }\n if (this.isLinkValid) {\n delay(() => {\n this.updateReference();\n }, 500)();\n }\n },\n updateReference() {\n this.loading = true;\n this.abortController = new AbortController();\n axios.get(generateOcsUrl(\"references/resolve\", 2) + \"?reference=\" + encodeURIComponent(this.inputValue), {\n signal: this.abortController.signal\n }).then((response) => {\n this.reference = response.data.ocs.data.references[this.inputValue];\n }).catch((error) => {\n console.error(error);\n }).then(() => {\n this.loading = false;\n });\n }\n }\n};\nvar _sfc_render$4 = function render5() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"raw-link\" }, [_c(\"div\", { staticClass: \"input-wrapper\" }, [_c(\"NcTextField\", { ref: \"url-input\", attrs: { \"value\": _vm.inputValue, \"show-trailing-button\": _vm.inputValue !== \"\", \"label\": _vm.inputPlaceholder }, on: { \"update:value\": [function($event) {\n _vm.inputValue = $event;\n }, _vm.onInput], \"trailing-button-click\": _vm.onClear }, nativeOn: { \"keyup\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_vm.loading ? _c(\"NcLoadingIcon\", { attrs: { \"size\": 16 } }) : _c(\"LinkVariantIcon\", { attrs: { \"size\": 16 } })], 1)], 1), _vm.reference !== null ? _c(\"NcReferenceWidget\", { staticClass: \"reference-widget\", attrs: { \"reference\": _vm.reference } }) : _c(\"NcEmptyContent\", { staticClass: \"raw-link--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n \"3c1803b5\"\n);\nconst NcRawLinkInput = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"NcSearchResult\",\n components: {\n NcHighlight\n },\n props: {\n /**\n * Unified search result entry\n */\n entry: {\n type: Object,\n required: true\n },\n /**\n * The query that led to getting this result\n * Used to highlight the entry text\n */\n query: {\n type: String,\n required: true\n }\n }\n};\nvar _sfc_render$3 = function render6() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"result\" }, [_vm.entry.icon ? _c(\"div\", { staticClass: \"result--icon-class\", class: { [_vm.entry.icon]: true, rounded: _vm.entry.rounded } }) : _c(\"img\", { staticClass: \"result--image\", class: { rounded: _vm.entry.rounded }, attrs: { \"src\": _vm.entry.thumbnailUrl } }), _c(\"div\", { staticClass: \"result--content\" }, [_c(\"span\", { staticClass: \"result--content--name\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.title } })], 1), _c(\"span\", { staticClass: \"result--content--subline\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.subline } })], 1)])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n \"ff4bcbf3\"\n);\nconst NcSearchResult = __component__$3.exports;\nregister(t29, t38, t40);\nconst LIMIT = 5;\nconst _sfc_main$2 = {\n name: \"NcSearch\",\n components: {\n LinkVariantIcon,\n DotsHorizontalIcon: DotsHorizontal,\n NcEmptyContent,\n NcSelect,\n NcSearchResult\n },\n props: {\n /**\n * The selected reference provider\n */\n provider: {\n type: Object,\n required: true\n },\n showEmptyContent: {\n type: Boolean,\n default: true\n },\n searchPlaceholder: {\n type: String,\n default: null\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n searchQuery: \"\",\n selectedResult: null,\n resultsBySearchProvider: {},\n searching: false,\n searchingMoreOf: null,\n abortController: null,\n noOptionsText: t(\"Start typing to search\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n mySearchPlaceholder() {\n return this.searchPlaceholder || t(\"Search\");\n },\n searchProviderIds() {\n return this.provider.search_providers_ids;\n },\n options() {\n if (this.searchQuery === \"\") {\n return [];\n }\n const options = [];\n if (isUrl(this.searchQuery)) {\n options.push(this.rawLinkEntry);\n }\n options.push(...this.formattedSearchResults);\n return options;\n },\n rawLinkEntry() {\n return {\n id: \"rawLinkEntry\",\n resourceUrl: this.searchQuery,\n isRawLink: true\n };\n },\n formattedSearchResults() {\n const results = [];\n this.searchProviderIds.forEach((pid) => {\n if (this.resultsBySearchProvider[pid].entries.length > 0) {\n if (this.searchProviderIds.length > 1 || this.resultsBySearchProvider[pid].entries.length > 1) {\n results.push({\n id: \"groupTitle-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isCustomGroupTitle: true,\n providerId: pid\n });\n }\n const providerEntriesWithId = this.resultsBySearchProvider[pid].entries.map((entry, index) => {\n return {\n id: \"provider-\" + pid + \"-entry-\" + index,\n ...entry\n };\n });\n results.push(...providerEntriesWithId);\n if (this.resultsBySearchProvider[pid].isPaginated) {\n results.push({\n id: \"moreOf-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isMore: true,\n providerId: pid,\n isLoading: this.searchingMoreOf === pid\n });\n }\n }\n });\n return results;\n }\n },\n mounted() {\n this.resetResults();\n },\n beforeDestroy() {\n this.cancelSearchRequests();\n },\n methods: {\n t,\n resetResults() {\n const resultsBySearchProvider = {};\n this.searchProviderIds.forEach((pid) => {\n resultsBySearchProvider[pid] = {\n entries: []\n };\n });\n this.resultsBySearchProvider = resultsBySearchProvider;\n },\n focus() {\n setTimeout(() => {\n this.$refs[\"search-select\"]?.$el?.querySelector(\"#search-select-input\")?.focus();\n }, 300);\n },\n cancelSearchRequests() {\n if (this.abortController) {\n this.abortController.abort();\n }\n },\n onSearchInput(query, loading) {\n this.searchQuery = query;\n delay(() => {\n this.updateSearch();\n }, 500)();\n },\n onSelectResultSelected(item) {\n if (item !== null) {\n if (item.resourceUrl) {\n this.cancelSearchRequests();\n this.$emit(\"submit\", item.resourceUrl);\n } else if (item.isMore) {\n this.searchMoreOf(item.providerId).then(() => {\n this.selectedResult = null;\n });\n }\n }\n },\n searchMoreOf(searchProviderId) {\n this.searchingMoreOf = searchProviderId;\n this.cancelSearchRequests();\n return this.searchProviders(searchProviderId);\n },\n updateSearch() {\n this.cancelSearchRequests();\n this.resetResults();\n if (this.searchQuery === \"\") {\n this.searching = false;\n return;\n }\n return this.searchProviders();\n },\n searchProviders(searchProviderId = null) {\n this.abortController = new AbortController();\n this.searching = true;\n const searchPromises = searchProviderId === null ? [...this.searchProviderIds].map((pid) => {\n return this.searchOneProvider(pid);\n }) : [this.searchOneProvider(searchProviderId, this.resultsBySearchProvider[searchProviderId]?.cursor ?? null)];\n return Promise.allSettled(searchPromises).then((promises) => {\n const isOneCanceled = !!promises.find((p) => {\n return p.status === \"rejected\" && (p.reason.name === \"CanceledError\" || p.reason.code === \"ERR_CANCELED\");\n });\n if (!isOneCanceled) {\n this.searching = false;\n this.searchingMoreOf = null;\n }\n });\n },\n searchOneProvider(providerId, cursor = null) {\n const url = cursor === null ? generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}\", { providerId, term: this.searchQuery, limit: LIMIT }) : generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}\", { providerId, term: this.searchQuery, limit: LIMIT, cursor });\n return axios.get(url, {\n signal: this.abortController.signal\n }).then((response) => {\n const data = response.data.ocs.data;\n this.resultsBySearchProvider[providerId].name = data.name;\n this.resultsBySearchProvider[providerId].cursor = data.cursor;\n this.resultsBySearchProvider[providerId].isPaginated = data.isPaginated;\n this.resultsBySearchProvider[providerId].entries.push(...data.entries);\n });\n }\n }\n};\nvar _sfc_render$2 = function render7() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"smart-picker-search\", class: { \"with-empty-content\": _vm.showEmptyContent } }, [_c(\"NcSelect\", { ref: \"search-select\", staticClass: \"smart-picker-search--select\", attrs: { \"input-id\": \"search-select-input\", \"label\": \"name\", \"placeholder\": _vm.mySearchPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"close-on-select\": false, \"clear-search-on-select\": false, \"clear-search-on-blur\": () => false, \"reset-focus-on-options-change\": false, \"filterable\": false, \"autoscroll\": true, \"reset-on-options-change\": false, \"loading\": _vm.searching }, on: { \"search\": _vm.onSearchInput, \"input\": _vm.onSelectResultSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isRawLink ? _c(\"div\", { staticClass: \"custom-option\" }, [_c(\"LinkVariantIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Raw link {options}\", { options: option.resourceUrl })) + \" \")])], 1) : option.resourceUrl ? _c(\"NcSearchResult\", { staticClass: \"search-result\", attrs: { \"entry\": option, \"query\": _vm.searchQuery } }) : option.isCustomGroupTitle ? _c(\"span\", { staticClass: \"custom-option group-name\" }, [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon group-name-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _vm._e(), _c(\"span\", { staticClass: \"option-text\" }, [_c(\"strong\", [_vm._v(_vm._s(option.name))])])]) : option.isMore ? _c(\"span\", { class: { \"custom-option\": true } }, [option.isLoading ? _c(\"span\", { staticClass: \"option-simple-icon icon-loading-small\" }) : _c(\"DotsHorizontalIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t('Load more \"{options}\"', { options: option.name })) + \" \")])], 1) : _vm._e()];\n } }, { key: \"no-options\", fn: function() {\n return [_vm._v(\" \" + _vm._s(_vm.noOptionsText) + \" \")];\n }, proxy: true }]), model: { value: _vm.selectedResult, callback: function($$v) {\n _vm.selectedResult = $$v;\n }, expression: \"selectedResult\" } }), _vm.showEmptyContent ? _c(\"NcEmptyContent\", { staticClass: \"smart-picker-search--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"alt\": _vm.providerIconAlt, \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }], null, false, 2922132592) }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"05fef988\"\n);\nconst NcSearch = __component__$2.exports;\nconst MODES = {\n providerList: 1,\n standardLinkInput: 2,\n searchInput: 3,\n customElement: 4\n};\nconst _sfc_main$1 = {\n name: \"NcReferencePicker\",\n components: {\n NcCustomPickerElement,\n NcProviderList,\n NcRawLinkInput,\n NcSearch\n },\n props: {\n /**\n * Provider to select on creation\n * Default: null. Show the provider list\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Optional width in pixels\n * Default: 100%\n */\n width: {\n type: Number,\n default: null\n },\n /**\n * Focus on the provider list select input on creation\n * Default: true\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n }\n },\n emits: [\n \"cancel\",\n \"cancel-raw-link\",\n \"cancel-search\",\n \"provider-selected\",\n \"submit\"\n ],\n data() {\n return {\n MODES,\n selectedProvider: this.initialProvider\n };\n },\n computed: {\n mode() {\n return this.selectedProvider === null ? MODES.providerList : isCustomPickerElementRegistered(this.selectedProvider.id) ? MODES.customElement : this.selectedProvider.search_providers_ids ? MODES.searchInput : MODES.standardLinkInput;\n },\n pickerWrapperStyle() {\n return {\n width: this.width ? this.width + \"px\" : void 0\n };\n }\n },\n mounted() {\n if (this.focusOnCreate) {\n if (this.initialProvider) {\n setTimeout(() => {\n this.$refs[\"url-input\"]?.focus();\n }, 300);\n } else {\n this.$nextTick(() => {\n this.$refs[\"provider-list\"]?.focus();\n });\n }\n }\n },\n methods: {\n onEscapePressed() {\n if (this.selectedProvider !== null) {\n this.deselectProvider();\n } else {\n this.cancelProviderSelection();\n }\n },\n onProviderSelected(provider) {\n this.selectedProvider = provider;\n this.$emit(\"provider-selected\", provider);\n this.$nextTick(() => {\n this.$refs[\"url-input\"]?.focus();\n });\n },\n cancelCustomElement() {\n this.deselectProvider();\n },\n cancelSearch() {\n this.$emit(\"cancel-search\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelRawLinkInput() {\n this.$emit(\"cancel-raw-link\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelProviderSelection() {\n this.$emit(\"cancel\");\n },\n submitLink(link) {\n if (this.selectedProvider !== null) {\n touchProvider(this.selectedProvider.id);\n }\n this.$emit(\"submit\", link);\n this.deselectProvider();\n },\n deselectProvider() {\n this.selectedProvider = null;\n this.$emit(\"provider-selected\", null);\n setTimeout(() => {\n this.$refs[\"provider-list\"]?.focus();\n }, 300);\n }\n }\n};\nvar _sfc_render$1 = function render8() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"reference-picker\", style: _vm.pickerWrapperStyle, attrs: { \"tabindex\": \"-1\" }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.onEscapePressed.apply(null, arguments);\n } } }, [_vm.mode === _vm.MODES.providerList ? _c(\"NcProviderList\", { ref: \"provider-list\", on: { \"select-provider\": _vm.onProviderSelected, \"submit\": _vm.submitLink, \"cancel\": _vm.cancelProviderSelection } }) : _vm.mode === _vm.MODES.standardLinkInput ? _c(\"NcRawLinkInput\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelRawLinkInput } }) : _vm.mode === _vm.MODES.searchInput ? _c(\"NcSearch\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"cancel\": _vm.cancelSearch, \"submit\": _vm.submitLink } }) : _vm.mode === _vm.MODES.customElement ? _c(\"div\", { staticClass: \"custom-element-wrapper\" }, [_c(\"NcCustomPickerElement\", { staticClass: \"custom-element\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelCustomElement } })], 1) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"cd33df8e\"\n);\nconst NcReferencePicker = __component__$1.exports;\nregister(t11, t17);\nconst _sfc_main = {\n name: \"NcReferencePickerModal\",\n components: {\n NcReferencePicker,\n NcModal,\n NcButton,\n ArrowLeftIcon: ArrowLeft,\n CloseIcon: Close\n },\n props: {\n /**\n * Provider to select on creation\n * Show the provider list if no initial one is provided\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Focus on the input item on create\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n },\n /**\n * If true, add the modal content to the Viewer trap elements via the event-bus\n */\n isInsideViewer: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n show: true,\n selectedProvider: this.initialProvider,\n backButtonTitle: t(\"Back to provider selection\"),\n closeButtonTitle: t(\"Close\"),\n closeButtonLabel: t(\"Close Smart Picker\")\n };\n },\n computed: {\n isProviderSelected() {\n return this.selectedProvider !== null;\n },\n showBackButton() {\n return this.initialProvider === null && this.isProviderSelected;\n },\n modalSize() {\n return this.isProviderSelected && isCustomPickerElementRegistered(this.selectedProvider.id) ? getCustomPickerElementSize(this.selectedProvider.id) ?? \"large\" : \"normal\";\n },\n showModalName() {\n return !this.isProviderSelected || !isCustomPickerElementRegistered(this.selectedProvider.id);\n },\n modalName() {\n return this.isProviderSelected ? this.selectedProvider.title : t(\"Smart Picker\");\n }\n },\n mounted() {\n if (this.isInsideViewer) {\n const elem = this.$refs.modal_content;\n emit(\"viewer:trapElements:changed\", elem);\n }\n },\n methods: {\n onCancel() {\n this.show = false;\n this.$emit(\"cancel\");\n },\n onSubmit(value) {\n this.show = false;\n this.$emit(\"submit\", value);\n },\n onProviderSelect(provider) {\n this.selectedProvider = provider;\n if (provider === null && this.initialProvider !== null) {\n this.onCancel();\n }\n },\n onBackClicked() {\n this.$refs.referencePicker.deselectProvider();\n }\n }\n};\nvar _sfc_render = function render9() {\n var _vm = this, _c = _vm._self._c;\n return _vm.show ? _c(\"NcModal\", { staticClass: \"reference-picker-modal\", attrs: { \"size\": _vm.modalSize, \"can-close\": true }, on: { \"close\": _vm.onCancel } }, [_c(\"div\", { ref: \"modal_content\", staticClass: \"reference-picker-modal--content\" }, [_vm.showBackButton ? _c(\"NcButton\", { staticClass: \"back-button\", attrs: { \"aria-label\": _vm.backButtonTitle, \"title\": _vm.backButtonTitle }, on: { \"click\": _vm.onBackClicked }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowLeftIcon\")];\n }, proxy: true }], null, false, 3001860362) }) : _vm._e(), _c(\"NcButton\", { staticClass: \"close-button\", attrs: { \"aria-label\": _vm.closeButtonLabel, \"title\": _vm.closeButtonTitle, \"variant\": \"tertiary\" }, on: { \"click\": _vm.onCancel }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"CloseIcon\")];\n }, proxy: true }], null, false, 2491825086) }), _vm.showModalName ? _c(\"h2\", [_vm._v(\" \" + _vm._s(_vm.modalName) + \" \")]) : _vm._e(), _c(\"NcReferencePicker\", { ref: \"referencePicker\", attrs: { \"initial-provider\": _vm.initialProvider, \"focus-on-create\": _vm.focusOnCreate }, on: { \"provider-selected\": _vm.onProviderSelect, \"submit\": _vm.onSubmit, \"cancel\": _vm.onCancel } })], 1)]) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"c66449c1\"\n);\nconst NcReferencePickerModal = __component__.exports;\nasync function getLinkWithPicker(providerId = null, isInsideViewer = void 0) {\n return await new Promise((resolve, reject) => {\n const modalId = \"referencePickerModal\";\n const modalElement = document.createElement(\"div\");\n modalElement.id = modalId;\n document.body.append(modalElement);\n const initialProvider = providerId === null ? null : getProvider(providerId) ?? null;\n const View = Vue.extend(NcReferencePickerModal);\n const view = new View({\n propsData: {\n initialProvider,\n isInsideViewer\n }\n }).$mount(modalElement);\n view.$on(\"cancel\", () => {\n view.$destroy();\n reject(new Error(\"User cancellation\"));\n });\n view.$on(\"submit\", (link) => {\n view.$destroy();\n resolve(link);\n });\n });\n}\nexport {\n NcReferenceWidget as N,\n anyLinkProviderId as a,\n getProvider as b,\n getProviders as c,\n searchProvider as d,\n NcReferencePicker as e,\n NcReferencePickerModal as f,\n getLinkWithPicker as g,\n NcSearch as h,\n sortProviders as s\n};\n//# sourceMappingURL=referencePickerModal-4kExxHbR.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dialog__note[data-v-9f7a355c]{font-weight:normal}fieldset[data-v-9f7a355c]{font-weight:bold}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,kBAAA,CAIF,0BACC,gBAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__note {\\n\\t\\tfont-weight: normal;\\n\\t}\\n}\\n\\nfieldset {\\n\\tfont-weight: bold;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-20fd51f9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.header-menu[data-v-20fd51f9] {\n position: relative;\n width: var(--header-height);\n height: var(--header-height);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--header-height) !important;\n height: var(--header-height);\n opacity: 0.85;\n filter: none !important;\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\n opacity: 1;\n}\n@media only screen and (max-width: 512px) {\n.header-menu[data-v-20fd51f9] {\n width: var(--default-clickable-area);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--default-clickable-area) !important;\n}\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,2BAA2B;EAC3B,4BAA4B;AAC9B;AACA;EACE,8CAA8C;EAC9C,4BAA4B;EAC5B,aAAa;EACb,uBAAuB;EACvB,+EAA+E;AACjF;AACA;EACE,wBAAwB;EACxB,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;AACA;IACI,oCAAoC;AACxC;AACA;IACI,uDAAuD;AAC3D;AACA\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-20fd51f9] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/*!\\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n.header-menu[data-v-20fd51f9] {\\n position: relative;\\n width: var(--header-height);\\n height: var(--header-height);\\n}\\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\\n --button-size: var(--header-height) !important;\\n height: var(--header-height);\\n opacity: 0.85;\\n filter: none !important;\\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\\n}\\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\\n outline: none !important;\\n box-shadow: none !important;\\n}\\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\\n opacity: 1;\\n}\\n@media only screen and (max-width: 512px) {\\n.header-menu[data-v-20fd51f9] {\\n width: var(--default-clickable-area);\\n}\\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\\n --button-size: var(--default-clickable-area) !important;\\n}\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dialog__form[data-v-74033440]{display:flex;flex-direction:column;align-items:center;padding:0 8px;gap:4px 0}.dialog__item[data-v-74033440]{width:100%}.dialog__item[data-v-74033440]:not(:focus):not(:active){border-color:var(--color-border-dark)}.dialog__hint[data-v-74033440]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.dialog__label[data-v-74033440]{display:block;padding:4px 0}.dialog__select[data-v-74033440]{width:100%}.dialog__managers[data-v-74033440]{margin-bottom:12px}.dialog__submit[data-v-74033440]{margin-top:4px;margin-bottom:8px}.dialog[data-v-74033440] .dialog__actions{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/NewUserDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,aAAA,CACA,SAAA,CAGD,+BACC,UAAA,CAEA,wDACC,qCAAA,CAIF,+BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,gCACC,aAAA,CACA,aAAA,CAGD,iCACC,UAAA,CAGD,mCACC,kBAAA,CAGD,iCACC,cAAA,CACA,iBAAA,CAIA,0CACC,WAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 0 8px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__item {\\n\\t\\twidth: 100%;\\n\\n\\t\\t&:not(:focus):not(:active) {\\n\\t\\t\\tborder-color: var(--color-border-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&__hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-top: 8px;\\n\\t\\talign-self: flex-start;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 4px 0;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__managers {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tmargin-top: 4px;\\n\\t\\tmargin-bottom: 8px;\\n\\t}\\n\\n\\t:deep {\\n\\t\\t.dialog__actions {\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-list[data-v-21942da5]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%;will-change:scroll-position}.user-list__header[data-v-21942da5],.user-list__footer[data-v-21942da5]{position:sticky;display:block}.user-list__header[data-v-21942da5]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-21942da5]{inset-inline-start:0}.user-list__body[data-v-21942da5]{display:flex;flex-direction:column;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/VirtualList.vue\"],\"names\":[],\"mappings\":\"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,oBAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.user-list {\\n\\t--avatar-cell-width: 48px;\\n\\t--cell-padding: 7px;\\n\\t--cell-width: 200px;\\n\\t--cell-width-large: 300px;\\n\\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\\n\\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\\n\\n\\t// Necessary for virtual scroll optimized rendering\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: sticky;\\n\\t\\t// Fix sticky positioning in Firefox\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t&__header {\\n\\t\\ttop: 0;\\n\\t\\tz-index: calc(var(--sticky-column-z-index) + 1);\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tinset-inline-start: 0;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import { getBuilder } from \"@nextcloud/browser-storage\";\nimport { EmojiIndex, frequently } from \"emoji-mart-vue-fast\";\nimport data from \"emoji-mart-vue-fast/data/all.json\";\nconst storage = getBuilder(\"nextcloud-vue\").persist(true).build();\nlet emojiIndex;\nvar EmojiSkinTone = /* @__PURE__ */ ((EmojiSkinTone2) => {\n EmojiSkinTone2[EmojiSkinTone2[\"Neutral\"] = 1] = \"Neutral\";\n EmojiSkinTone2[EmojiSkinTone2[\"Light\"] = 2] = \"Light\";\n EmojiSkinTone2[EmojiSkinTone2[\"MediumLight\"] = 3] = \"MediumLight\";\n EmojiSkinTone2[EmojiSkinTone2[\"Medium\"] = 4] = \"Medium\";\n EmojiSkinTone2[EmojiSkinTone2[\"MediumDark\"] = 5] = \"MediumDark\";\n EmojiSkinTone2[EmojiSkinTone2[\"Dark\"] = 6] = \"Dark\";\n return EmojiSkinTone2;\n})(EmojiSkinTone || {});\nfunction emojiSearch(query, maxResults = 10) {\n if (!emojiIndex) {\n emojiIndex = new EmojiIndex(data);\n }\n const currentSkinTone = getCurrentSkinTone();\n let results;\n if (query) {\n results = emojiIndex.search(`:${query}`, maxResults);\n if (results.length < maxResults) {\n results = results.concat(emojiIndex.search(query, maxResults - results.length));\n }\n } else {\n results = frequently.get(maxResults).map((id) => emojiIndex.emoji(id)) || [];\n }\n return results.map((emoji) => emoji.getSkin(currentSkinTone));\n}\nfunction emojiAddRecent(emojiData) {\n frequently.add(emojiData);\n}\nfunction getCurrentSkinTone() {\n const skinTone = Number.parseInt(storage.getItem(\"NcEmojiPicker::currentSkinTone\") ?? \"1\");\n return Math.min(\n Math.max(\n skinTone,\n 1\n /* Neutral */\n ),\n 6\n /* Dark */\n );\n}\nfunction setCurrentSkinTone(skinTone) {\n skinTone = Math.min(\n Math.max(\n skinTone,\n 1\n /* Neutral */\n ),\n 6\n /* Dark */\n );\n storage.setItem(\"NcEmojiPicker::currentSkinTone\", skinTone.toString());\n}\nexport {\n EmojiSkinTone as E,\n emojiAddRecent as a,\n emojiSearch as e,\n getCurrentSkinTone as g,\n setCurrentSkinTone as s\n};\n//# sourceMappingURL=emoji-BY_D0V5K.mjs.map\n","import '../assets/NcRichText-li93TNBn.css';\nimport { ref } from \"vue\";\nimport { N as NcReferenceWidget } from \"./referencePickerModal-4kExxHbR.mjs\";\nimport { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { getSharingToken } from \"@nextcloud/sharing/public\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./NcCheckboxRadioSwitch-VeztTzpz.mjs\";\nimport { visit, SKIP as SKIP$1, EXIT as EXIT$1 } from \"unist-util-visit\";\nimport { u } from \"unist-builder\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport breaks from \"remark-breaks\";\nimport remarkUnlinkProtocols from \"remark-unlink-protocols\";\nimport remark2rehype from \"remark-rehype\";\nimport rehype2react from \"rehype-react\";\nimport rehypeExternalLinks from \"rehype-external-links\";\nimport { RouterLink } from \"vue-router\";\nconst _sfc_main$1 = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Array,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n },\n displayFallback: {\n type: Boolean,\n default: false\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n references: null,\n loading: true\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences.length !== 0;\n },\n values() {\n if (this.referenceData) {\n return this.referenceData;\n }\n if (this.displayFallback && !this.loading && !this.references) {\n return [this.fallbackReference];\n }\n return this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n return this.values[0] ?? null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n },\n fallbackReference() {\n return {\n accessible: true,\n openGraphObject: {\n id: this.text,\n link: this.text,\n name: this.text\n },\n richObjectType: \"open-graph\"\n };\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.references = null;\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.references = null;\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n this.$emit(\"loaded\");\n }).catch((error) => {\n console.error(\"Failed to extract references\", error);\n this.loading = false;\n this.$emit(\"loaded\");\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n const isPublic = getCurrentUser() === null;\n if (this.limit === 1 && match) {\n return isPublic ? axios.get(generateOcsUrl(\"references/resolvePublic\") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl(\"references/resolve\") + `?reference=${encodeURIComponent(match[0])}`);\n }\n return isPublic ? axios.post(generateOcsUrl(\"references/extractPublic\"), {\n text: this.text,\n resolve: true,\n limit: this.limit,\n sharingToken: getSharingToken()\n }) : axios.post(generateOcsUrl(\"references/extract\"), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _vm.isVisible ? _c(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {\n return _c(\"NcReferenceWidget\", { key: reference?.openGraphObject?.id, attrs: { \"reference\": reference, \"interactive\": _vm.interactive, \"interactive-opt-in\": _vm.interactiveOptIn } });\n }), 1) : _vm._e();\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"ffdba753\"\n);\nconst NcReferenceList = __component__$1.exports;\nconst remarkPlaceholder = function() {\n return function(ast) {\n visit(ast, (node2) => node2.type === \"text\", visitor);\n function visitor(node2, index, parent) {\n const placeholders = node2.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry, index2, list2) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`\n });\n });\n parent.children.splice(index, 1, ...placeholders);\n }\n };\n};\nconst prepareTextNode = ({ h, context }, text2) => {\n if (context.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n const componentClass = component.name === \"NcLink\" ? void 0 : \"rich-text--component\";\n return h(component, {\n props,\n class: componentClass\n });\n });\n }\n return text2;\n};\nconst remarkUnescape = function() {\n return function(tree) {\n visit(\n tree,\n (node2) => [\"text\", \"code\", \"inlineCode\"].includes(node2.type),\n (node2, index, parent) => {\n parent.children.splice(index, 1, {\n ...node2,\n value: node2.value.replace(/&lt;/gmi, \"<\").replace(/&gt;/gmi, \">\")\n });\n return [SKIP$1, index + 1];\n }\n );\n };\n};\nfunction ccount(value, character) {\n const source = String(value);\n if (typeof character !== \"string\") {\n throw new TypeError(\"Expected character\");\n }\n let count = 0;\n let index = source.indexOf(character);\n while (index !== -1) {\n count++;\n index = source.indexOf(character, index + character.length);\n }\n return count;\n}\nfunction ok$1() {\n}\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nfunction asciiControl(code2) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code2 !== null && (code2 < 32 || code2 === 127)\n );\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodePunctuation = regexCheck(new RegExp(\"\\\\p{P}|\\\\p{S}\", \"u\"));\nconst unicodeWhitespace = regexCheck(/\\s/);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && code2 > -1 && regex.test(String.fromCharCode(code2));\n }\n}\nfunction escapeStringRegexp(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n}\nconst convert = (\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (<Condition extends string>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * (<Condition extends Props>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * (<Condition extends TestFunction>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate<Condition, Node>) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function(test) {\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test);\n }\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n }\n);\nfunction anyFactory(tests) {\n const checks = [];\n let index = -1;\n while (++index < tests.length) {\n checks[index] = convert(tests[index]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index2 = -1;\n while (++index2 < checks.length) {\n if (checks[index2].apply(this, parameters)) return true;\n }\n return false;\n }\n}\nfunction propsFactory(check) {\n const checkAsRecord = (\n /** @type {Record<string, unknown>} */\n check\n );\n return castFactory(all2);\n function all2(node2) {\n const nodeAsRecord = (\n /** @type {Record<string, unknown>} */\n /** @type {unknown} */\n node2\n );\n let key;\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false;\n }\n return true;\n }\n}\nfunction typeFactory(check) {\n return castFactory(type);\n function type(node2) {\n return node2 && node2.type === check;\n }\n}\nfunction castFactory(testFunction) {\n return check;\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) && testFunction.call(\n this,\n value,\n typeof index === \"number\" ? index : void 0,\n parent || void 0\n )\n );\n }\n}\nfunction ok() {\n return true;\n}\nfunction looksLikeANode(value) {\n return value !== null && typeof value === \"object\" && \"type\" in value;\n}\nfunction color(d) {\n return d;\n}\nconst empty = [];\nconst CONTINUE = true;\nconst EXIT = false;\nconst SKIP = \"skip\";\nfunction visitParents(tree, test, visitor, reverse) {\n let check;\n {\n check = test;\n }\n const is = convert(check);\n const step = 1;\n factory(tree, void 0, [])();\n function factory(node2, index, parents) {\n const value = (\n /** @type {Record<string, unknown>} */\n node2 && typeof node2 === \"object\" ? node2 : {}\n );\n if (typeof value.type === \"string\") {\n const name = (\n // `hast`\n typeof value.tagName === \"string\" ? value.tagName : (\n // `xast`\n typeof value.name === \"string\" ? value.name : void 0\n )\n );\n Object.defineProperty(visit2, \"name\", {\n value: \"node (\" + color(node2.type + (name ? \"<\" + name + \">\" : \"\")) + \")\"\n });\n }\n return visit2;\n function visit2() {\n let result = empty;\n let subresult;\n let offset;\n let grandparents;\n if (is(node2, index, parents[parents.length - 1] || void 0)) {\n result = toResult(visitor(node2, parents));\n if (result[0] === EXIT) {\n return result;\n }\n }\n if (\"children\" in node2 && node2.children) {\n const nodeAsParent = (\n /** @type {UnistParent} */\n node2\n );\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = -1 + step;\n grandparents = parents.concat(nodeAsParent);\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset];\n subresult = factory(child, offset, grandparents)();\n if (subresult[0] === EXIT) {\n return subresult;\n }\n offset = typeof subresult[1] === \"number\" ? subresult[1] : offset + step;\n }\n }\n }\n return result;\n }\n }\n}\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE, value];\n }\n return value === null || value === void 0 ? empty : [value];\n}\nfunction findAndReplace(tree, list2, options) {\n const settings = options || {};\n const ignored = convert(settings.ignore || []);\n const pairs = toPairs(list2);\n let pairIndex = -1;\n while (++pairIndex < pairs.length) {\n visitParents(tree, \"text\", visitor);\n }\n function visitor(node2, parents) {\n let index = -1;\n let grandparent;\n while (++index < parents.length) {\n const parent = parents[index];\n const siblings = grandparent ? grandparent.children : void 0;\n if (ignored(\n parent,\n siblings ? siblings.indexOf(parent) : void 0,\n grandparent\n )) {\n return;\n }\n grandparent = parent;\n }\n if (grandparent) {\n return handler(node2, parents);\n }\n }\n function handler(node2, parents) {\n const parent = parents[parents.length - 1];\n const find = pairs[pairIndex][0];\n const replace2 = pairs[pairIndex][1];\n let start = 0;\n const siblings = parent.children;\n const index = siblings.indexOf(node2);\n let change = false;\n let nodes = [];\n find.lastIndex = 0;\n let match = find.exec(node2.value);\n while (match) {\n const position = match.index;\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node2]\n };\n let value = replace2(...match, matchObject);\n if (typeof value === \"string\") {\n value = value.length > 0 ? { type: \"text\", value } : void 0;\n }\n if (value === false) {\n find.lastIndex = position + 1;\n } else {\n if (start !== position) {\n nodes.push({\n type: \"text\",\n value: node2.value.slice(start, position)\n });\n }\n if (Array.isArray(value)) {\n nodes.push(...value);\n } else if (value) {\n nodes.push(value);\n }\n start = position + match[0].length;\n change = true;\n }\n if (!find.global) {\n break;\n }\n match = find.exec(node2.value);\n }\n if (change) {\n if (start < node2.value.length) {\n nodes.push({ type: \"text\", value: node2.value.slice(start) });\n }\n parent.children.splice(index, 1, ...nodes);\n } else {\n nodes = [node2];\n }\n return index + nodes.length;\n }\n}\nfunction toPairs(tupleOrList) {\n const result = [];\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError(\"Expected find and replace tuple or list of tuples\");\n }\n const list2 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];\n let index = -1;\n while (++index < list2.length) {\n const tuple = list2[index];\n result.push([toExpression(tuple[0]), toFunction(tuple[1])]);\n }\n return result;\n}\nfunction toExpression(find) {\n return typeof find === \"string\" ? new RegExp(escapeStringRegexp(find), \"g\") : find;\n}\nfunction toFunction(replace2) {\n return typeof replace2 === \"function\" ? replace2 : function() {\n return replace2;\n };\n}\nconst inConstruct = \"phrasing\";\nconst notInConstruct = [\"autolink\", \"link\", \"image\", \"label\"];\nfunction gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n };\n}\nfunction gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: \"@\",\n before: \"[+\\\\-.\\\\w]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \".\",\n before: \"[Ww]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \":\",\n before: \"[ps]\",\n after: \"\\\\/\",\n inConstruct,\n notInConstruct\n }\n ]\n };\n}\nfunction enterLiteralAutolink(token) {\n this.enter({ type: \"link\", title: null, url: \"\", children: [] }, token);\n}\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token);\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"link\");\n node2.url = \"http://\" + this.sliceSerialize(token);\n}\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token);\n}\nfunction exitLiteralAutolink(token) {\n this.exit(token);\n}\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n { ignore: [\"link\", \"linkReference\"] }\n );\n}\nfunction findUrl(_, protocol, domain2, path2, match) {\n let prefix = \"\";\n if (!previous(match)) {\n return false;\n }\n if (/^w/i.test(protocol)) {\n domain2 = protocol + domain2;\n protocol = \"\";\n prefix = \"http://\";\n }\n if (!isCorrectDomain(domain2)) {\n return false;\n }\n const parts = splitUrl(domain2 + path2);\n if (!parts[0]) return false;\n const result = {\n type: \"link\",\n title: null,\n url: prefix + protocol + parts[0],\n children: [{ type: \"text\", value: protocol + parts[0] }]\n };\n if (parts[1]) {\n return [result, { type: \"text\", value: parts[1] }];\n }\n return result;\n}\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) || // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false;\n }\n return {\n type: \"link\",\n title: null,\n url: \"mailto:\" + atext + \"@\" + label,\n children: [{ type: \"text\", value: atext + \"@\" + label }]\n };\n}\nfunction isCorrectDomain(domain2) {\n const parts = domain2.split(\".\");\n if (parts.length < 2 || parts[parts.length - 1] && (/_/.test(parts[parts.length - 1]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 1])) || parts[parts.length - 2] && (/_/.test(parts[parts.length - 2]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 2]))) {\n return false;\n }\n return true;\n}\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url);\n if (!trailExec) {\n return [url, void 0];\n }\n url = url.slice(0, trailExec.index);\n let trail2 = trailExec[0];\n let closingParenIndex = trail2.indexOf(\")\");\n const openingParens = ccount(url, \"(\");\n let closingParens = ccount(url, \")\");\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail2.slice(0, closingParenIndex + 1);\n trail2 = trail2.slice(closingParenIndex + 1);\n closingParenIndex = trail2.indexOf(\")\");\n closingParens++;\n }\n return [url, trail2];\n}\nfunction previous(match, email) {\n const code2 = match.input.charCodeAt(match.index - 1);\n return (match.index === 0 || unicodeWhitespace(code2) || unicodePunctuation(code2)) && (!email || code2 !== 47);\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nfootnoteReference.peek = footnoteReferencePeek;\nfunction gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n };\n}\nfunction gfmFootnoteToMarkdown() {\n return {\n // This is on by default already.\n unsafe: [{ character: \"[\", inConstruct: [\"phrasing\", \"label\", \"reference\"] }],\n handlers: { footnoteDefinition, footnoteReference }\n };\n}\nfunction enterFootnoteDefinition(token) {\n this.enter(\n { type: \"footnoteDefinition\", identifier: \"\", label: \"\", children: [] },\n token\n );\n}\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer();\n}\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteDefinition\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteDefinition(token) {\n this.exit(token);\n}\nfunction enterFootnoteCall(token) {\n this.enter({ type: \"footnoteReference\", identifier: \"\", label: \"\" }, token);\n}\nfunction enterFootnoteCallString() {\n this.buffer();\n}\nfunction exitFootnoteCallString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteReference\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteCall(token) {\n this.exit(token);\n}\nfunction footnoteReference(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteReference\");\n const subexit = state.enter(\"reference\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n exit2();\n value += tracker.move(\"]\");\n return value;\n}\nfunction footnoteReferencePeek() {\n return \"[\";\n}\nfunction footnoteDefinition(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteDefinition\");\n const subexit = state.enter(\"label\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n value += tracker.move(\n \"]:\" + (node2.children && node2.children.length > 0 ? \" \" : \"\")\n );\n tracker.shift(4);\n value += tracker.move(\n state.indentLines(state.containerFlow(node2, tracker.current()), map$2)\n );\n exit2();\n return value;\n}\nfunction map$2(line, index, blank) {\n if (index === 0) {\n return line;\n }\n return (blank ? \"\" : \" \") + line;\n}\nconst constructsWithoutStrikethrough = [\n \"autolink\",\n \"destinationLiteral\",\n \"destinationRaw\",\n \"reference\",\n \"titleQuote\",\n \"titleApostrophe\"\n];\nhandleDelete.peek = peekDelete;\nfunction gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: [\"delete\"],\n enter: { strikethrough: enterStrikethrough },\n exit: { strikethrough: exitStrikethrough }\n };\n}\nfunction gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: \"~\",\n inConstruct: \"phrasing\",\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: { delete: handleDelete }\n };\n}\nfunction enterStrikethrough(token) {\n this.enter({ type: \"delete\", children: [] }, token);\n}\nfunction exitStrikethrough(token) {\n this.exit(token);\n}\nfunction handleDelete(node2, _, state, info) {\n const tracker = state.createTracker(info);\n const exit2 = state.enter(\"strikethrough\");\n let value = tracker.move(\"~~\");\n value += state.containerPhrasing(node2, {\n ...tracker.current(),\n before: value,\n after: \"~\"\n });\n value += tracker.move(\"~~\");\n exit2();\n return value;\n}\nfunction peekDelete() {\n return \"~\";\n}\nfunction markdownTable(table, options = {}) {\n const align = (options.align || []).concat();\n const stringLength = options.stringLength || defaultStringLength;\n const alignments = [];\n const cellMatrix = [];\n const sizeMatrix = [];\n const longestCellByColumn = [];\n let mostCellsPerRow = 0;\n let rowIndex = -1;\n while (++rowIndex < table.length) {\n const row2 = [];\n const sizes2 = [];\n let columnIndex2 = -1;\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length;\n }\n while (++columnIndex2 < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex2]);\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell);\n sizes2[columnIndex2] = size;\n if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {\n longestCellByColumn[columnIndex2] = size;\n }\n }\n row2.push(cell);\n }\n cellMatrix[rowIndex] = row2;\n sizeMatrix[rowIndex] = sizes2;\n }\n let columnIndex = -1;\n if (typeof align === \"object\" && \"length\" in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex]);\n }\n } else {\n const code2 = toAlignment(align);\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code2;\n }\n }\n columnIndex = -1;\n const row = [];\n const sizes = [];\n while (++columnIndex < mostCellsPerRow) {\n const code2 = alignments[columnIndex];\n let before = \"\";\n let after = \"\";\n if (code2 === 99) {\n before = \":\";\n after = \":\";\n } else if (code2 === 108) {\n before = \":\";\n } else if (code2 === 114) {\n after = \":\";\n }\n let size = options.alignDelimiters === false ? 1 : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n );\n const cell = before + \"-\".repeat(size) + after;\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length;\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size;\n }\n sizes[columnIndex] = size;\n }\n row[columnIndex] = cell;\n }\n cellMatrix.splice(1, 0, row);\n sizeMatrix.splice(1, 0, sizes);\n rowIndex = -1;\n const lines = [];\n while (++rowIndex < cellMatrix.length) {\n const row2 = cellMatrix[rowIndex];\n const sizes2 = sizeMatrix[rowIndex];\n columnIndex = -1;\n const line = [];\n while (++columnIndex < mostCellsPerRow) {\n const cell = row2[columnIndex] || \"\";\n let before = \"\";\n let after = \"\";\n if (options.alignDelimiters !== false) {\n const size = longestCellByColumn[columnIndex] - (sizes2[columnIndex] || 0);\n const code2 = alignments[columnIndex];\n if (code2 === 114) {\n before = \" \".repeat(size);\n } else if (code2 === 99) {\n if (size % 2) {\n before = \" \".repeat(size / 2 + 0.5);\n after = \" \".repeat(size / 2 - 0.5);\n } else {\n before = \" \".repeat(size / 2);\n after = before;\n }\n } else {\n after = \" \".repeat(size);\n }\n }\n if (options.delimiterStart !== false && !columnIndex) {\n line.push(\"|\");\n }\n if (options.padding !== false && // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === \"\") && (options.delimiterStart !== false || columnIndex)) {\n line.push(\" \");\n }\n if (options.alignDelimiters !== false) {\n line.push(before);\n }\n line.push(cell);\n if (options.alignDelimiters !== false) {\n line.push(after);\n }\n if (options.padding !== false) {\n line.push(\" \");\n }\n if (options.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {\n line.push(\"|\");\n }\n }\n lines.push(\n options.delimiterEnd === false ? line.join(\"\").replace(/ +$/, \"\") : line.join(\"\")\n );\n }\n return lines.join(\"\\n\");\n}\nfunction serialize(value) {\n return value === null || value === void 0 ? \"\" : String(value);\n}\nfunction defaultStringLength(value) {\n return value.length;\n}\nfunction toAlignment(value) {\n const code2 = typeof value === \"string\" ? value.codePointAt(0) : 0;\n return code2 === 67 || code2 === 99 ? 99 : code2 === 76 || code2 === 108 ? 108 : code2 === 82 || code2 === 114 ? 114 : 0;\n}\nfunction blockquote(node2, _, state, info) {\n const exit2 = state.enter(\"blockquote\");\n const tracker = state.createTracker(info);\n tracker.move(\"> \");\n tracker.shift(2);\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map$1\n );\n exit2();\n return value;\n}\nfunction map$1(line, _, blank) {\n return \">\" + (blank ? \"\" : \" \") + line;\n}\nfunction patternInScope(stack, pattern) {\n return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);\n}\nfunction listInScope(stack, list2, none) {\n if (typeof list2 === \"string\") {\n list2 = [list2];\n }\n if (!list2 || list2.length === 0) {\n return none;\n }\n let index = -1;\n while (++index < list2.length) {\n if (stack.includes(list2[index])) {\n return true;\n }\n }\n return false;\n}\nfunction hardBreak(_, _1, state, info) {\n let index = -1;\n while (++index < state.unsafe.length) {\n if (state.unsafe[index].character === \"\\n\" && patternInScope(state.stack, state.unsafe[index])) {\n return /[ \\t]/.test(info.before) ? \"\" : \" \";\n }\n }\n return \"\\\\\\n\";\n}\nfunction longestStreak(value, substring) {\n const source = String(value);\n let index = source.indexOf(substring);\n let expected = index;\n let count = 0;\n let max = 0;\n if (typeof substring !== \"string\") {\n throw new TypeError(\"Expected substring\");\n }\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count;\n }\n } else {\n count = 1;\n }\n expected = index + substring.length;\n index = source.indexOf(substring, expected);\n }\n return max;\n}\nfunction formatCodeAsIndented(node2, state) {\n return Boolean(\n state.options.fences === false && node2.value && // If there’s no info…\n !node2.lang && // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node2.value) && // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node2.value)\n );\n}\nfunction checkFence(state) {\n const marker = state.options.fence || \"`\";\n if (marker !== \"`\" && marker !== \"~\") {\n throw new Error(\n \"Cannot serialize code with `\" + marker + \"` for `options.fence`, expected `` ` `` or `~`\"\n );\n }\n return marker;\n}\nfunction code$1(node2, _, state, info) {\n const marker = checkFence(state);\n const raw = node2.value || \"\";\n const suffix = marker === \"`\" ? \"GraveAccent\" : \"Tilde\";\n if (formatCodeAsIndented(node2, state)) {\n const exit3 = state.enter(\"codeIndented\");\n const value2 = state.indentLines(raw, map);\n exit3();\n return value2;\n }\n const tracker = state.createTracker(info);\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3));\n const exit2 = state.enter(\"codeFenced\");\n let value = tracker.move(sequence);\n if (node2.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`);\n value += tracker.move(\n state.safe(node2.lang, {\n before: value,\n after: \" \",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n if (node2.lang && node2.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`);\n value += tracker.move(\" \");\n value += tracker.move(\n state.safe(node2.meta, {\n before: value,\n after: \"\\n\",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n value += tracker.move(\"\\n\");\n if (raw) {\n value += tracker.move(raw + \"\\n\");\n }\n value += tracker.move(sequence);\n exit2();\n return value;\n}\nfunction map(line, _, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nfunction checkQuote(state) {\n const marker = state.options.quote || '\"';\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n \"Cannot serialize title with `\" + marker + \"` for `options.quote`, expected `\\\"`, or `'`\"\n );\n }\n return marker;\n}\nfunction definition(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"definition\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"]: \");\n subexit();\n if (\n // If there’s no url, or…\n !node2.url || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \"\\n\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n exit2();\n return value;\n}\nfunction checkEmphasis(state) {\n const marker = state.options.emphasis || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize emphasis with `\" + marker + \"` for `options.emphasis`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nemphasis.peek = emphasisPeek;\nfunction emphasis(node2, _, state, info) {\n const marker = checkEmphasis(state);\n const exit2 = state.enter(\"emphasis\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker);\n exit2();\n return value;\n}\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || \"*\";\n}\nconst emptyOptions$1 = {};\nfunction toString(value, options) {\n const settings = emptyOptions$1;\n const includeImageAlt = typeof settings.includeImageAlt === \"boolean\" ? settings.includeImageAlt : true;\n const includeHtml = typeof settings.includeHtml === \"boolean\" ? settings.includeHtml : true;\n return one(value, includeImageAlt, includeHtml);\n}\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if (\"value\" in value) {\n return value.type === \"html\" && !includeHtml ? \"\" : value.value;\n }\n if (includeImageAlt && \"alt\" in value && value.alt) {\n return value.alt;\n }\n if (\"children\" in value) {\n return all(value.children, includeImageAlt, includeHtml);\n }\n }\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml);\n }\n return \"\";\n}\nfunction all(values, includeImageAlt, includeHtml) {\n const result = [];\n let index = -1;\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml);\n }\n return result.join(\"\");\n}\nfunction node(value) {\n return Boolean(value && typeof value === \"object\");\n}\nfunction formatHeadingAsSetext(node2, state) {\n let literalWithBreak = false;\n visit(node2, function(node3) {\n if (\"value\" in node3 && /\\r?\\n|\\r/.test(node3.value) || node3.type === \"break\") {\n literalWithBreak = true;\n return EXIT$1;\n }\n });\n return Boolean(\n (!node2.depth || node2.depth < 3) && toString(node2) && (state.options.setext || literalWithBreak)\n );\n}\nfunction heading(node2, _, state, info) {\n const rank = Math.max(Math.min(6, node2.depth || 1), 1);\n const tracker = state.createTracker(info);\n if (formatHeadingAsSetext(node2, state)) {\n const exit3 = state.enter(\"headingSetext\");\n const subexit2 = state.enter(\"phrasing\");\n const value2 = state.containerPhrasing(node2, {\n ...tracker.current(),\n before: \"\\n\",\n after: \"\\n\"\n });\n subexit2();\n exit3();\n return value2 + \"\\n\" + (rank === 1 ? \"=\" : \"-\").repeat(\n // The whole size…\n value2.length - // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value2.lastIndexOf(\"\\r\"), value2.lastIndexOf(\"\\n\")) + 1)\n );\n }\n const sequence = \"#\".repeat(rank);\n const exit2 = state.enter(\"headingAtx\");\n const subexit = state.enter(\"phrasing\");\n tracker.move(sequence + \" \");\n let value = state.containerPhrasing(node2, {\n before: \"# \",\n after: \"\\n\",\n ...tracker.current()\n });\n if (/^[\\t ]/.test(value)) {\n value = \"&#x\" + value.charCodeAt(0).toString(16).toUpperCase() + \";\" + value.slice(1);\n }\n value = value ? sequence + \" \" + value : sequence;\n if (state.options.closeAtx) {\n value += \" \" + sequence;\n }\n subexit();\n exit2();\n return value;\n}\nhtml.peek = htmlPeek;\nfunction html(node2) {\n return node2.value || \"\";\n}\nfunction htmlPeek() {\n return \"<\";\n}\nimage.peek = imagePeek;\nfunction image(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"image\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n value += tracker.move(\n state.safe(node2.alt, { before: value, after: \"]\", ...tracker.current() })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction imagePeek() {\n return \"!\";\n}\nimageReference.peek = imageReferencePeek;\nfunction imageReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"imageReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n const alt = state.safe(node2.alt, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(alt + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !alt || alt !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction imageReferencePeek() {\n return \"!\";\n}\ninlineCode.peek = inlineCodePeek;\nfunction inlineCode(node2, _, state) {\n let value = node2.value || \"\";\n let sequence = \"`\";\n let index = -1;\n while (new RegExp(\"(^|[^`])\" + sequence + \"([^`]|$)\").test(value)) {\n sequence += \"`\";\n }\n if (/[^ \\r\\n]/.test(value) && (/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value) || /^`|`$/.test(value))) {\n value = \" \" + value + \" \";\n }\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index];\n const expression = state.compilePattern(pattern);\n let match;\n if (!pattern.atBreak) continue;\n while (match = expression.exec(value)) {\n let position = match.index;\n if (value.charCodeAt(position) === 10 && value.charCodeAt(position - 1) === 13) {\n position--;\n }\n value = value.slice(0, position) + \" \" + value.slice(match.index + 1);\n }\n }\n return sequence + value + sequence;\n}\nfunction inlineCodePeek() {\n return \"`\";\n}\nfunction formatLinkAsAutolink(node2, state) {\n const raw = toString(node2);\n return Boolean(\n !state.options.resourceLink && // If there’s a url…\n node2.url && // And there’s a no title…\n !node2.title && // And the content of `node` is a single text node…\n node2.children && node2.children.length === 1 && node2.children[0].type === \"text\" && // And if the url is the same as the content…\n (raw === node2.url || \"mailto:\" + raw === node2.url) && // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node2.url) && // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node2.url)\n );\n}\nlink.peek = linkPeek;\nfunction link(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const tracker = state.createTracker(info);\n let exit2;\n let subexit;\n if (formatLinkAsAutolink(node2, state)) {\n const stack = state.stack;\n state.stack = [];\n exit2 = state.enter(\"autolink\");\n let value2 = tracker.move(\"<\");\n value2 += tracker.move(\n state.containerPhrasing(node2, {\n before: value2,\n after: \">\",\n ...tracker.current()\n })\n );\n value2 += tracker.move(\">\");\n exit2();\n state.stack = stack;\n return value2;\n }\n exit2 = state.enter(\"link\");\n subexit = state.enter(\"label\");\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: \"](\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction linkPeek(node2, _, state) {\n return formatLinkAsAutolink(node2, state) ? \"<\" : \"[\";\n}\nlinkReference.peek = linkReferencePeek;\nfunction linkReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"linkReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n const text2 = state.containerPhrasing(node2, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(text2 + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !text2 || text2 !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction linkReferencePeek() {\n return \"[\";\n}\nfunction checkBullet(state) {\n const marker = state.options.bullet || \"*\";\n if (marker !== \"*\" && marker !== \"+\" && marker !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bullet`, expected `*`, `+`, or `-`\"\n );\n }\n return marker;\n}\nfunction checkBulletOther(state) {\n const bullet = checkBullet(state);\n const bulletOther = state.options.bulletOther;\n if (!bulletOther) {\n return bullet === \"*\" ? \"-\" : \"*\";\n }\n if (bulletOther !== \"*\" && bulletOther !== \"+\" && bulletOther !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + bulletOther + \"` for `options.bulletOther`, expected `*`, `+`, or `-`\"\n );\n }\n if (bulletOther === bullet) {\n throw new Error(\n \"Expected `bullet` (`\" + bullet + \"`) and `bulletOther` (`\" + bulletOther + \"`) to be different\"\n );\n }\n return bulletOther;\n}\nfunction checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || \".\";\n if (marker !== \".\" && marker !== \")\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bulletOrdered`, expected `.` or `)`\"\n );\n }\n return marker;\n}\nfunction checkRule(state) {\n const marker = state.options.rule || \"*\";\n if (marker !== \"*\" && marker !== \"-\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize rules with `\" + marker + \"` for `options.rule`, expected `*`, `-`, or `_`\"\n );\n }\n return marker;\n}\nfunction list(node2, parent, state, info) {\n const exit2 = state.enter(\"list\");\n const bulletCurrent = state.bulletCurrent;\n let bullet = node2.ordered ? checkBulletOrdered(state) : checkBullet(state);\n const bulletOther = node2.ordered ? bullet === \".\" ? \")\" : \".\" : checkBulletOther(state);\n let useDifferentMarker = parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false;\n if (!node2.ordered) {\n const firstListItem = node2.children ? node2.children[0] : void 0;\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === \"*\" || bullet === \"-\") && // Empty first list item:\n firstListItem && (!firstListItem.children || !firstListItem.children[0]) && // Directly in two other list items:\n state.stack[state.stack.length - 1] === \"list\" && state.stack[state.stack.length - 2] === \"listItem\" && state.stack[state.stack.length - 3] === \"list\" && state.stack[state.stack.length - 4] === \"listItem\" && // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 && state.indexStack[state.indexStack.length - 2] === 0 && state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true;\n }\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1;\n while (++index < node2.children.length) {\n const item = node2.children[index];\n if (item && item.type === \"listItem\" && item.children && item.children[0] && item.children[0].type === \"thematicBreak\") {\n useDifferentMarker = true;\n break;\n }\n }\n }\n }\n if (useDifferentMarker) {\n bullet = bulletOther;\n }\n state.bulletCurrent = bullet;\n const value = state.containerFlow(node2, info);\n state.bulletLastUsed = bullet;\n state.bulletCurrent = bulletCurrent;\n exit2();\n return value;\n}\nfunction checkListItemIndent(state) {\n const style = state.options.listItemIndent || \"one\";\n if (style !== \"tab\" && style !== \"one\" && style !== \"mixed\") {\n throw new Error(\n \"Cannot serialize items with `\" + style + \"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`\"\n );\n }\n return style;\n}\nfunction listItem(node2, parent, state, info) {\n const listItemIndent = checkListItemIndent(state);\n let bullet = state.bulletCurrent || checkBullet(state);\n if (parent && parent.type === \"list\" && parent.ordered) {\n bullet = (typeof parent.start === \"number\" && parent.start > -1 ? parent.start : 1) + (state.options.incrementListMarker === false ? 0 : parent.children.indexOf(node2)) + bullet;\n }\n let size = bullet.length + 1;\n if (listItemIndent === \"tab\" || listItemIndent === \"mixed\" && (parent && parent.type === \"list\" && parent.spread || node2.spread)) {\n size = Math.ceil(size / 4) * 4;\n }\n const tracker = state.createTracker(info);\n tracker.move(bullet + \" \".repeat(size - bullet.length));\n tracker.shift(size);\n const exit2 = state.enter(\"listItem\");\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map2\n );\n exit2();\n return value;\n function map2(line, index, blank) {\n if (index) {\n return (blank ? \"\" : \" \".repeat(size)) + line;\n }\n return (blank ? bullet : bullet + \" \".repeat(size - bullet.length)) + line;\n }\n}\nfunction paragraph(node2, _, state, info) {\n const exit2 = state.enter(\"paragraph\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, info);\n subexit();\n exit2();\n return value;\n}\nconst phrasing = (\n /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */\n convert([\n \"break\",\n \"delete\",\n \"emphasis\",\n // To do: next major: removed since footnotes were added to GFM.\n \"footnote\",\n \"footnoteReference\",\n \"image\",\n \"imageReference\",\n \"inlineCode\",\n // Enabled by `mdast-util-math`:\n \"inlineMath\",\n \"link\",\n \"linkReference\",\n // Enabled by `mdast-util-mdx`:\n \"mdxJsxTextElement\",\n // Enabled by `mdast-util-mdx`:\n \"mdxTextExpression\",\n \"strong\",\n \"text\",\n // Enabled by `mdast-util-directive`:\n \"textDirective\"\n ])\n);\nfunction root(node2, _, state, info) {\n const hasPhrasing = node2.children.some(function(d) {\n return phrasing(d);\n });\n const fn = hasPhrasing ? state.containerPhrasing : state.containerFlow;\n return fn.call(state, node2, info);\n}\nfunction checkStrong(state) {\n const marker = state.options.strong || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize strong with `\" + marker + \"` for `options.strong`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nstrong.peek = strongPeek;\nfunction strong(node2, _, state, info) {\n const marker = checkStrong(state);\n const exit2 = state.enter(\"strong\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker + marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker + marker);\n exit2();\n return value;\n}\nfunction strongPeek(_, _1, state) {\n return state.options.strong || \"*\";\n}\nfunction text$1(node2, _, state, info) {\n return state.safe(node2.value, info);\n}\nfunction checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3;\n if (repetition < 3) {\n throw new Error(\n \"Cannot serialize rules with repetition `\" + repetition + \"` for `options.ruleRepetition`, expected `3` or more\"\n );\n }\n return repetition;\n}\nfunction thematicBreak(_, _1, state) {\n const value = (checkRule(state) + (state.options.ruleSpaces ? \" \" : \"\")).repeat(checkRuleRepetition(state));\n return state.options.ruleSpaces ? value.slice(0, -1) : value;\n}\nconst handle = {\n blockquote,\n break: hardBreak,\n code: code$1,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text: text$1,\n thematicBreak\n};\nfunction gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n };\n}\nfunction enterTable(token) {\n const align = token._align;\n this.enter(\n {\n type: \"table\",\n align: align.map(function(d) {\n return d === \"none\" ? null : d;\n }),\n children: []\n },\n token\n );\n this.data.inTable = true;\n}\nfunction exitTable(token) {\n this.exit(token);\n this.data.inTable = void 0;\n}\nfunction enterRow(token) {\n this.enter({ type: \"tableRow\", children: [] }, token);\n}\nfunction exit(token) {\n this.exit(token);\n}\nfunction enterCell(token) {\n this.enter({ type: \"tableCell\", children: [] }, token);\n}\nfunction exitCodeText(token) {\n let value = this.resume();\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace);\n }\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"inlineCode\");\n node2.value = value;\n this.exit(token);\n}\nfunction replace($0, $1) {\n return $1 === \"|\" ? $1 : $0;\n}\nfunction gfmTableToMarkdown(options) {\n const settings = options || {};\n const padding = settings.tableCellPadding;\n const alignDelimiters = settings.tablePipeAlign;\n const stringLength = settings.stringLength;\n const around = padding ? \" \" : \"|\";\n return {\n unsafe: [\n { character: \"\\r\", inConstruct: \"tableCell\" },\n { character: \"\\n\", inConstruct: \"tableCell\" },\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n { atBreak: true, character: \"|\", after: \"[\t :-]\" },\n // A pipe in a cell must be encoded.\n { character: \"|\", inConstruct: \"tableCell\" },\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n { atBreak: true, character: \":\", after: \"-\" },\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/51a2038/lib/unsafe.js#L57>\n { atBreak: true, character: \"-\", after: \"[:|-]\" }\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n };\n function handleTable(node2, _, state, info) {\n return serializeData(handleTableAsData(node2, state, info), node2.align);\n }\n function handleTableRow(node2, _, state, info) {\n const row = handleTableRowAsData(node2, state, info);\n const value = serializeData([row]);\n return value.slice(0, value.indexOf(\"\\n\"));\n }\n function handleTableCell(node2, _, state, info) {\n const exit2 = state.enter(\"tableCell\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, {\n ...info,\n before: around,\n after: around\n });\n subexit();\n exit2();\n return value;\n }\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n });\n }\n function handleTableAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"table\");\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info);\n }\n subexit();\n return result;\n }\n function handleTableRowAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"tableRow\");\n while (++index < children.length) {\n result[index] = handleTableCell(children[index], node2, state, info);\n }\n subexit();\n return result;\n }\n function inlineCodeWithTable(node2, parent, state) {\n let value = handle.inlineCode(node2, parent, state);\n if (state.stack.includes(\"tableCell\")) {\n value = value.replace(/\\|/g, \"\\\\$&\");\n }\n return value;\n }\n}\nfunction gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n };\n}\nfunction gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{ atBreak: true, character: \"-\", after: \"[:|-]\" }],\n handlers: { listItem: listItemWithTaskListItem }\n };\n}\nfunction exitCheck(token) {\n const node2 = this.stack[this.stack.length - 2];\n ok$1(node2.type === \"listItem\");\n node2.checked = token.type === \"taskListCheckValueChecked\";\n}\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2];\n if (parent && parent.type === \"listItem\" && typeof parent.checked === \"boolean\") {\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"paragraph\");\n const head = node2.children[0];\n if (head && head.type === \"text\") {\n const siblings = parent.children;\n let index = -1;\n let firstParaghraph;\n while (++index < siblings.length) {\n const sibling = siblings[index];\n if (sibling.type === \"paragraph\") {\n firstParaghraph = sibling;\n break;\n }\n }\n if (firstParaghraph === node2) {\n head.value = head.value.slice(1);\n if (head.value.length === 0) {\n node2.children.shift();\n } else if (node2.position && head.position && typeof head.position.start.offset === \"number\") {\n head.position.start.column++;\n head.position.start.offset++;\n node2.position.start = Object.assign({}, head.position.start);\n }\n }\n }\n }\n this.exit(token);\n}\nfunction listItemWithTaskListItem(node2, parent, state, info) {\n const head = node2.children[0];\n const checkable = typeof node2.checked === \"boolean\" && head && head.type === \"paragraph\";\n const checkbox = \"[\" + (node2.checked ? \"x\" : \" \") + \"] \";\n const tracker = state.createTracker(info);\n if (checkable) {\n tracker.move(checkbox);\n }\n let value = handle.listItem(node2, parent, state, {\n ...info,\n ...tracker.current()\n });\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check);\n }\n return value;\n function check($0) {\n return $0 + checkbox;\n }\n}\nfunction gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ];\n}\nfunction gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n };\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n list2.splice(...parameters);\n } else {\n if (remove) list2.splice(start, remove);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n list2.splice(...parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nconst hasOwnProperty = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all2 = {};\n let index = -1;\n while (++index < extensions.length) {\n syntaxExtension(all2, extensions[index]);\n }\n return all2;\n}\nfunction syntaxExtension(all2, extension) {\n let hook;\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all2, hook) ? all2[hook] : void 0;\n const left = maybe || (all2[hook] = {});\n const right = extension[hook];\n let code2;\n if (right) {\n for (code2 in right) {\n if (!hasOwnProperty.call(left, code2)) left[code2] = [];\n const value = right[code2];\n constructs(\n // @ts-expect-error Looks like a list.\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n }\n}\nfunction constructs(existing, list2) {\n let index = -1;\n const before = [];\n while (++index < list2.length) {\n (list2[index].add === \"after\" ? existing : before).push(list2[index]);\n }\n splice(existing, 0, 0, before);\n}\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\nconst text = {};\nfunction gfmAutolinkLiteral() {\n return {\n text\n };\n}\nlet code = 48;\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;\n else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\nfunction tokenizeEmailAutolink(effects, ok2, nok) {\n const self = this;\n let dot;\n let data;\n return start;\n function start(code2) {\n if (!gfmAtext(code2) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkEmail\");\n return atext(code2);\n }\n function atext(code2) {\n if (gfmAtext(code2)) {\n effects.consume(code2);\n return atext;\n }\n if (code2 === 64) {\n effects.consume(code2);\n return emailDomain;\n }\n return nok(code2);\n }\n function emailDomain(code2) {\n if (code2 === 46) {\n return effects.check(\n emailDomainDotTrail,\n emailDomainAfter,\n emailDomainDot\n )(code2);\n }\n if (code2 === 45 || code2 === 95 || asciiAlphanumeric(code2)) {\n data = true;\n effects.consume(code2);\n return emailDomain;\n }\n return emailDomainAfter(code2);\n }\n function emailDomainDot(code2) {\n effects.consume(code2);\n dot = true;\n return emailDomain;\n }\n function emailDomainAfter(code2) {\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit(\"literalAutolinkEmail\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeWwwAutolink(effects, ok2, nok) {\n const self = this;\n return wwwStart;\n function wwwStart(code2) {\n if (code2 !== 87 && code2 !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkWww\");\n return effects.check(\n wwwPrefix,\n effects.attempt(domain, effects.attempt(path, wwwAfter), nok),\n nok\n )(code2);\n }\n function wwwAfter(code2) {\n effects.exit(\"literalAutolinkWww\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeProtocolAutolink(effects, ok2, nok) {\n const self = this;\n let buffer = \"\";\n let seen = false;\n return protocolStart;\n function protocolStart(code2) {\n if ((code2 === 72 || code2 === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkHttp\");\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n return nok(code2);\n }\n function protocolPrefixInside(code2) {\n if (asciiAlpha(code2) && buffer.length < 5) {\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n if (code2 === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === \"http\" || protocol === \"https\") {\n effects.consume(code2);\n return protocolSlashesInside;\n }\n }\n return nok(code2);\n }\n function protocolSlashesInside(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code2);\n }\n function afterProtocol(code2) {\n return code2 === null || asciiControl(code2) || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || unicodePunctuation(code2) ? nok(code2) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code2);\n }\n function protocolAfter(code2) {\n effects.exit(\"literalAutolinkHttp\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeWwwPrefix(effects, ok2, nok) {\n let size = 0;\n return wwwPrefixInside;\n function wwwPrefixInside(code2) {\n if ((code2 === 87 || code2 === 119) && size < 3) {\n size++;\n effects.consume(code2);\n return wwwPrefixInside;\n }\n if (code2 === 46 && size === 3) {\n effects.consume(code2);\n return wwwPrefixAfter;\n }\n return nok(code2);\n }\n function wwwPrefixAfter(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction tokenizeDomain(effects, ok2, nok) {\n let underscoreInLastSegment;\n let underscoreInLastLastSegment;\n let seen;\n return domainInside;\n function domainInside(code2) {\n if (code2 === 46 || code2 === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || code2 !== 45 && unicodePunctuation(code2)) {\n return domainAfter(code2);\n }\n seen = true;\n effects.consume(code2);\n return domainInside;\n }\n function domainAtPunctuation(code2) {\n if (code2 === 95) {\n underscoreInLastSegment = true;\n } else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = void 0;\n }\n effects.consume(code2);\n return domainInside;\n }\n function domainAfter(code2) {\n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code2);\n }\n return ok2(code2);\n }\n}\nfunction tokenizePath(effects, ok2) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n function pathInside(code2) {\n if (code2 === 40) {\n sizeOpen++;\n effects.consume(code2);\n return pathInside;\n }\n if (code2 === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code2);\n }\n if (code2 === 33 || code2 === 34 || code2 === 38 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 60 || code2 === 63 || code2 === 93 || code2 === 95 || code2 === 126) {\n return effects.check(trail, ok2, pathAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n effects.consume(code2);\n return pathInside;\n }\n function pathAtPunctuation(code2) {\n if (code2 === 41) {\n sizeClose++;\n }\n effects.consume(code2);\n return pathInside;\n }\n}\nfunction tokenizeTrail(effects, ok2, nok) {\n return trail2;\n function trail2(code2) {\n if (code2 === 33 || code2 === 34 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 63 || code2 === 95 || code2 === 126) {\n effects.consume(code2);\n return trail2;\n }\n if (code2 === 38) {\n effects.consume(code2);\n return trailCharRefStart;\n }\n if (code2 === 93) {\n effects.consume(code2);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code2 === 60 || // So is whitespace.\n code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)\n ) {\n return ok2(code2);\n }\n return nok(code2);\n }\n function trailBracketAfter(code2) {\n if (code2 === null || code2 === 40 || code2 === 91 || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n return trail2(code2);\n }\n function trailCharRefStart(code2) {\n return asciiAlpha(code2) ? trailCharRefInside(code2) : nok(code2);\n }\n function trailCharRefInside(code2) {\n if (code2 === 59) {\n effects.consume(code2);\n return trail2;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return trailCharRefInside;\n }\n return nok(code2);\n }\n}\nfunction tokenizeEmailDomainDotTrail(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.consume(code2);\n return after;\n }\n function after(code2) {\n return asciiAlphanumeric(code2) ? nok(code2) : ok2(code2);\n }\n}\nfunction previousWww(code2) {\n return code2 === null || code2 === 40 || code2 === 42 || code2 === 95 || code2 === 91 || code2 === 93 || code2 === 126 || markdownLineEndingOrSpace(code2);\n}\nfunction previousProtocol(code2) {\n return !asciiAlpha(code2);\n}\nfunction previousEmail(code2) {\n return !(code2 === 47 || gfmAtext(code2));\n}\nfunction gfmAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || code2 === 95 || asciiAlphanumeric(code2);\n}\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === \"labelLink\" || token.type === \"labelImage\") && !token._balanced) {\n result = true;\n break;\n }\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index = -1;\n while (++index < constructs2.length) {\n const resolve = constructs2[index].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownSpace(code2) ? factorySpace(effects, after, \"linePrefix\")(code2) : after(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction gfmFootnote() {\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: \"after\",\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\nfunction tokenizePotentialGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let labelStart;\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n if (token.type === \"gfmFootnoteCall\" || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code2);\n }\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n );\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return ok2(code2);\n }\n}\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === \"enter\") {\n events[index][1];\n break;\n }\n }\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = \"gfmFootnoteCallLabelMarker\";\n const call = {\n type: \"gfmFootnoteCall\",\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const marker = {\n type: \"gfmFootnoteCallMarker\",\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n const string = {\n type: \"gfmFootnoteCallString\",\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n const chunk = {\n type: \"chunkString\",\n contentType: \"string\",\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n [\"enter\", call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n [\"enter\", marker, context],\n [\"exit\", marker, context],\n // Everything in between.\n [\"enter\", string, context],\n [\"enter\", chunk, context],\n [\"exit\", chunk, context],\n [\"exit\", string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n [\"exit\", call, context]\n ];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\nfunction tokenizeGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteCall\");\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return callStart;\n }\n function callStart(code2) {\n if (code2 !== 94) return nok(code2);\n effects.enter(\"gfmFootnoteCallMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallMarker\");\n effects.enter(\"gfmFootnoteCallString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return callData;\n }\n function callData(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteCallString\");\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n effects.exit(\"gfmFootnoteCall\");\n return ok2;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? callEscape : callData;\n }\n function callEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return callData;\n }\n return callData(code2);\n }\n}\nfunction tokenizeDefinitionStart(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let identifier;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteDefinition\")._container = true;\n effects.enter(\"gfmFootnoteDefinitionLabel\");\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n return labelAtMarker;\n }\n function labelAtMarker(code2) {\n if (code2 === 94) {\n effects.enter(\"gfmFootnoteDefinitionMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionMarker\");\n effects.enter(\"gfmFootnoteDefinitionLabelString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return labelInside;\n }\n return nok(code2);\n }\n function labelInside(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteDefinitionLabelString\");\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n effects.exit(\"gfmFootnoteDefinitionLabel\");\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? labelEscape : labelInside;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return labelInside;\n }\n return labelInside(code2);\n }\n function labelAfter(code2) {\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n return factorySpace(\n effects,\n whitespaceAfter,\n \"gfmFootnoteDefinitionWhitespace\"\n );\n }\n return nok(code2);\n }\n function whitespaceAfter(code2) {\n return ok2(code2);\n }\n}\nfunction tokenizeDefinitionContinuation(effects, ok2, nok) {\n return effects.check(blankLine, ok2, effects.attempt(indent, ok2, nok));\n}\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit(\"gfmFootnoteDefinition\");\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"gfmFootnoteDefinitionIndent\",\n 4 + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"gfmFootnoteDefinitionIndent\" && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok2(code2) : nok(code2);\n }\n}\nfunction gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === void 0) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n while (++index < events.length) {\n if (events[index][0] === \"enter\" && events[index][1].type === \"strikethroughSequenceTemporary\" && events[index][1]._close) {\n let open = index;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"strikethroughSequenceTemporary\" && events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = \"strikethroughSequence\";\n events[open][1].type = \"strikethroughSequence\";\n const strikethrough = {\n type: \"strikethrough\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n const text2 = {\n type: \"strikethroughText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n const nextEvents = [\n [\"enter\", strikethrough, context],\n [\"enter\", events[open][1], context],\n [\"exit\", events[open][1], context],\n [\"enter\", text2, context]\n ];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(insideSpan, events.slice(open + 1, index), context)\n );\n }\n splice(nextEvents, nextEvents.length, 0, [\n [\"exit\", text2, context],\n [\"enter\", events[index][1], context],\n [\"exit\", events[index][1], context],\n [\"exit\", strikethrough, context]\n ]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === \"strikethroughSequenceTemporary\") {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n function tokenizeStrikethrough(effects, ok2, nok) {\n const previous2 = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n function start(code2) {\n if (previous2 === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code2);\n }\n effects.enter(\"strikethroughSequenceTemporary\");\n return more(code2);\n }\n function more(code2) {\n const before = classifyCharacter(previous2);\n if (code2 === 126) {\n if (size > 1) return nok(code2);\n effects.consume(code2);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code2);\n const token = effects.exit(\"strikethroughSequenceTemporary\");\n const after = classifyCharacter(code2);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok2(code2);\n }\n }\n}\nclass EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n this.map = [];\n }\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array<Event>} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImpl(this, index, remove, add);\n }\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array<Event>} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImpl(this, index, remove, add, true)\n // }\n /**\n * Done, change the events.\n *\n * @param {Array<Event>} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function(a, b) {\n return a[0] - b[0];\n });\n if (this.map.length === 0) {\n return;\n }\n let index = this.map.length;\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(\n events.slice(this.map[index][0] + this.map[index][1]),\n this.map[index][2]\n );\n events.length = this.map[index][0];\n }\n vecs.push([...events]);\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n events.push(...slice);\n slice = vecs.pop();\n }\n this.map.length = 0;\n }\n}\nfunction addImpl(editMap, at, remove, add) {\n let index = 0;\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n editMap.map[index][2].push(...add);\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\nfunction gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === \"enter\") {\n if (event[1].type === \"tableContent\") {\n align.push(\n events[index + 1][1].type === \"tableDelimiterMarker\" ? \"left\" : \"none\"\n );\n }\n } else if (event[1].type === \"tableContent\") {\n if (events[index - 1][1].type === \"tableDelimiterMarker\") {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === \"left\" ? \"center\" : \"right\";\n }\n } else if (event[1].type === \"tableDelimiterRow\") {\n break;\n }\n } else if (event[0] === \"enter\" && event[1].type === \"tableDelimiterRow\") {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}\nfunction gfmTable() {\n return {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\nfunction tokenizeTable(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n let seen;\n return start;\n function start(code2) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" || // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\")\n index--;\n else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === \"tableHead\" || tail === \"tableRow\" ? bodyRowStart : headRowBefore;\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n return next(code2);\n }\n function headRowBefore(code2) {\n effects.enter(\"tableHead\");\n effects.enter(\"tableRow\");\n return headRowStart(code2);\n }\n function headRowStart(code2) {\n if (code2 === 124) {\n return headRowBreak(code2);\n }\n seen = true;\n sizeB += 1;\n return headRowBreak(code2);\n }\n function headRowBreak(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n if (sizeB > 1) {\n sizeB = 0;\n self.interrupt = true;\n effects.exit(\"tableRow\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n return nok(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headRowBreak, \"whitespace\")(code2);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n size += 1;\n }\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n seen = true;\n return headRowBreak;\n }\n effects.enter(\"data\");\n return headRowData(code2);\n }\n function headRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return headRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? headRowEscape : headRowData;\n }\n function headRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return headRowData;\n }\n return headRowData(code2);\n }\n function headDelimiterStart(code2) {\n self.interrupt = false;\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n effects.enter(\"tableDelimiterRow\");\n seen = false;\n if (markdownSpace(code2)) {\n return factorySpace(\n effects,\n headDelimiterBefore,\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n )(code2);\n }\n return headDelimiterBefore(code2);\n }\n function headDelimiterBefore(code2) {\n if (code2 === 45 || code2 === 58) {\n return headDelimiterValueBefore(code2);\n }\n if (code2 === 124) {\n seen = true;\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return headDelimiterCellBefore;\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterCellBefore(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code2);\n }\n return headDelimiterValueBefore(code2);\n }\n function headDelimiterValueBefore(code2) {\n if (code2 === 58) {\n sizeB += 1;\n seen = true;\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterLeftAlignmentAfter;\n }\n if (code2 === 45) {\n sizeB += 1;\n return headDelimiterLeftAlignmentAfter(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return headDelimiterCellAfter(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterLeftAlignmentAfter(code2) {\n if (code2 === 45) {\n effects.enter(\"tableDelimiterFiller\");\n return headDelimiterFiller(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterFiller(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return headDelimiterFiller;\n }\n if (code2 === 58) {\n seen = true;\n effects.exit(\"tableDelimiterFiller\");\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit(\"tableDelimiterFiller\");\n return headDelimiterRightAlignmentAfter(code2);\n }\n function headDelimiterRightAlignmentAfter(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code2);\n }\n return headDelimiterCellAfter(code2);\n }\n function headDelimiterCellAfter(code2) {\n if (code2 === 124) {\n return headDelimiterBefore(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code2);\n }\n effects.exit(\"tableDelimiterRow\");\n effects.exit(\"tableHead\");\n return ok2(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterNok(code2) {\n return nok(code2);\n }\n function bodyRowStart(code2) {\n effects.enter(\"tableRow\");\n return bodyRowBreak(code2);\n }\n function bodyRowBreak(code2) {\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return bodyRowBreak;\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"tableRow\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code2);\n }\n effects.enter(\"data\");\n return bodyRowData(code2);\n }\n function bodyRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return bodyRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? bodyRowEscape : bodyRowData;\n }\n function bodyRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return bodyRowData;\n }\n return bodyRowData(code2);\n }\n}\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n let rowKind = 0;\n let lastCell = [0, 0, 0, 0];\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n let currentTable;\n let currentBody;\n let currentCell;\n const map2 = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === \"enter\") {\n if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = false;\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n currentBody = void 0;\n lastTableEnd = 0;\n }\n currentTable = {\n type: \"table\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentTable, context]]);\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n inFirstCellAwaitingPipe = true;\n currentCell = void 0;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: \"tableBody\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentBody, context]]);\n }\n rowKind = token.type === \"tableDelimiterRow\" ? 2 : currentBody ? 3 : 1;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n inFirstCellAwaitingPipe = false;\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === \"tableCellDivider\") {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n } else if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n index,\n currentCell\n );\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map2, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n }\n map2.consume(context.events);\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === \"enter\" && event[1].type === \"table\") {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\nfunction flushCell(map2, context, range, rowKind, rowEnd, previousCell) {\n const groupName = rowKind === 1 ? \"tableHeader\" : rowKind === 2 ? \"tableDelimiter\" : \"tableData\";\n const valueName = \"tableContent\";\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map2.add(range[0], 0, [[\"exit\", previousCell, context]]);\n }\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map2.add(range[1], 0, [[\"enter\", previousCell, context]]);\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map2.add(range[2], 0, [[\"enter\", valueToken, context]]);\n if (rowKind !== 2) {\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map2.add(a, b, []);\n }\n }\n map2.add(range[3] + 1, 0, [[\"exit\", valueToken, context]]);\n }\n if (rowEnd !== void 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map2.add(rowEnd, 0, [[\"exit\", previousCell, context]]);\n previousCell = void 0;\n }\n return previousCell;\n}\nfunction flushTableEnd(map2, context, index, table, tableBody) {\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push([\"exit\", tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push([\"exit\", table, context]);\n map2.add(index + 1, 0, exits);\n}\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === \"enter\" ? \"start\" : \"end\";\n return event[1][side];\n}\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n};\nfunction gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\nfunction tokenizeTasklistCheck(effects, ok2, nok) {\n const self = this;\n return open;\n function open(code2) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code2);\n }\n effects.enter(\"taskListCheck\");\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n return inside;\n }\n function inside(code2) {\n if (markdownLineEndingOrSpace(code2)) {\n effects.enter(\"taskListCheckValueUnchecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueUnchecked\");\n return close;\n }\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"taskListCheckValueChecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueChecked\");\n return close;\n }\n return nok(code2);\n }\n function close(code2) {\n if (code2 === 93) {\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n effects.exit(\"taskListCheck\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownLineEnding(code2)) {\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok2,\n nok\n )(code2);\n }\n return nok(code2);\n }\n}\nfunction spaceThenNonSpace(effects, ok2, nok) {\n return factorySpace(effects, after, \"whitespace\");\n function after(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ]);\n}\nconst emptyOptions = {};\nfunction remarkGfm(options) {\n const self = (\n /** @type {Processor<Root>} */\n this\n );\n const settings = options || emptyOptions;\n const data = self.data();\n const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);\n const fromMarkdownExtensions = data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []);\n const toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);\n micromarkExtensions.push(gfm(settings));\n fromMarkdownExtensions.push(gfmFromMarkdown());\n toMarkdownExtensions.push(gfmToMarkdown(settings));\n}\nconst LINK_PROTOCOLS = [\"http\", \"https\", \"mailto\", \"tel\"];\nconst rehypeHighlight = ref(null);\nasync function importRehypeHighlightLibrary() {\n const module = await import(\"rehype-highlight\");\n rehypeHighlight.value = module.default;\n}\nconst _sfc_main = {\n name: \"NcRichText\",\n components: {\n NcReferenceList\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n referenceInteractive: {\n type: Boolean,\n default: true\n },\n referenceInteractiveOptIn: {\n type: Boolean,\n default: false\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Array,\n default: null\n },\n /** Provide basic Markdown syntax */\n useMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide GitHub Flavored Markdown syntax */\n useExtendedMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide event from rendered markdown inputs */\n interactive: {\n type: Boolean,\n default: false\n },\n autolink: {\n type: Boolean,\n default: true\n }\n },\n emits: [\"interact:todo\"],\n data() {\n return {\n parentId: GenRandomId(5)\n };\n },\n methods: {\n renderPlaintext(h) {\n const context = this;\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list2) {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return prepareTextNode({ h, context }, entry);\n }\n const argumentId = matches[1];\n const argument = context.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n },\n renderMarkdown(h) {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown,\n useExtendedMarkdown: this.useExtendedMarkdown\n }).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm : void 0).use(breaks).use(remarkUnlinkProtocols, { except: LINK_PROTOCOLS }).use(remark2rehype, {\n handlers: {\n component(toHast, node2) {\n return toHast(node2, node2.component, { value: node2.value });\n }\n }\n }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(rehype2react, {\n createElement: (tag, attrs, children) => {\n if (!tag.startsWith(\"#\")) {\n if (this.useExtendedMarkdown) {\n if (tag === \"code\" && !rehypeHighlight.value && attrs?.attrs?.class?.includes(\"language\")) {\n importRehypeHighlightLibrary();\n }\n let nestedNode = null;\n if (tag === \"li\" && Array.isArray(children) && children[0].tag === \"input\" && children[0].data.attrs.type === \"checkbox\") {\n const [inputNode, ...labelParts] = children;\n const nestedNodeIndex = labelParts.findIndex((child) => [\"ul\", \"ol\", \"li\", \"blockquote\", \"pre\"].includes(child.tag));\n if (nestedNodeIndex !== -1) {\n nestedNode = labelParts[nestedNodeIndex];\n labelParts.splice(nestedNodeIndex);\n }\n const id = this.parentId + \"-markdown-input-\" + GenRandomId(5);\n const inputComponent = h(NcCheckboxRadioSwitch, {\n attrs: {\n ...inputNode.data.attrs,\n id,\n disabled: !this.interactive\n },\n on: {\n \"update:checked\": () => {\n this.$emit(\"interact:todo\", id);\n }\n }\n }, labelParts);\n return h(tag, attrs, [inputComponent, nestedNode]);\n }\n }\n if (tag === \"a\") {\n const route = getRoute(this.$router, attrs.attrs.href);\n if (route) {\n delete attrs.attrs.href;\n delete attrs.attrs.target;\n return h(RouterLink, {\n ...attrs,\n props: {\n to: route\n }\n }, children);\n }\n }\n return h(tag, attrs, children);\n }\n const placeholder = this.arguments[tag.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...{ attrs }, ...{ class: \"rich-text--fallback\" } }, [`{${tag.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", attrs, [placeholder]);\n }\n return h(\n placeholder.component,\n {\n attrs,\n props: placeholder.props,\n class: \"rich-text--component\"\n },\n children\n );\n },\n prefix: false\n }).processSync(\n this.text.replace(/<[^>]+>/g, (match) => match.replace(/</g, \"&lt;\")).replace(/&gt;/gmi, \">\")\n ).result;\n return h(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n }\n },\n render(h) {\n return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown(h) : this.renderPlaintext(h);\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ddd5e67e\"\n);\nconst NcRichText = __component__.exports;\nexport {\n NcRichText as N,\n NcReferenceList as a\n};\n//# sourceMappingURL=NcRichText-CwXSzf21.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-878b819f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\n opacity: 0;\n}\n.linked-icons[data-v-878b819f] {\n display: flex;\n}\n.linked-icons img[data-v-878b819f] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-878b819f]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-878b819f] {\n display: none;\n}\n.popovermenu.open[data-v-878b819f] {\n display: block;\n}\nli.collection-list-item[data-v-878b819f] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-878b819f] {\n margin-top: 0;\n}\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-878b819f] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-878b819f] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-878b819f] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\n opacity: 1;\n}\n.should-shake[data-v-878b819f] {\n animation: shake-878b819f 0.6s 1 linear;\n}\n@keyframes shake-878b819f {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-efe8beb8] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.collection-list *[data-v-efe8beb8] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-efe8beb8] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-efe8beb8] {\n margin-top: 0;\n}\n#collection-select-container[data-v-efe8beb8] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-efe8beb8] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-efe8beb8]:hover {\n opacity: 1;\n}\np.hint[data-v-efe8beb8] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-efe8beb8] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-efe8beb8] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-efe8beb8] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-efe8beb8] {\n display: block;\n width: 32px;\n height: 32px;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-efe8beb8] {\n padding: 4px;\n}\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\n opacity: 0;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,uCAAuC;AACzC;AACA;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA,qCAAqC;AACrC;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,UAAU;AACZ\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-878b819f] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\\n transition: opacity 0.3s ease;\\n}\\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\\n opacity: 0;\\n}\\n.linked-icons[data-v-878b819f] {\\n display: flex;\\n}\\n.linked-icons img[data-v-878b819f] {\\n padding: 12px;\\n height: 44px;\\n display: block;\\n background-repeat: no-repeat;\\n background-position: center;\\n opacity: 0.7;\\n}\\n.linked-icons img[data-v-878b819f]:hover {\\n opacity: 1;\\n}\\n.popovermenu[data-v-878b819f] {\\n display: none;\\n}\\n.popovermenu.open[data-v-878b819f] {\\n display: block;\\n}\\nli.collection-list-item[data-v-878b819f] {\\n flex-wrap: wrap;\\n height: auto;\\n cursor: pointer;\\n margin-bottom: 0 !important;\\n}\\nli.collection-list-item .collection-avatar[data-v-878b819f] {\\n margin-top: 0;\\n}\\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\\n flex-basis: 10%;\\n flex-grow: 1;\\n display: flex;\\n}\\nli.collection-list-item .collection-item-name[data-v-878b819f] {\\n padding: 12px 9px;\\n}\\nli.collection-list-item input[data-v-878b819f] {\\n margin-top: 4px;\\n border-color: var(--color-border-maxcontrast);\\n}\\nli.collection-list-item input[type=text][data-v-878b819f] {\\n flex-grow: 1;\\n}\\nli.collection-list-item .error[data-v-878b819f] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details[data-v-878b819f] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\\n display: flex;\\n margin-left: 44px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\\n background-color: var(--color-background-dark);\\n}\\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\\n flex-grow: 1;\\n padding: 3px;\\n max-width: calc(100% - 30px);\\n display: flex;\\n}\\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 10px;\\n}\\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n position: relative;\\n vertical-align: top;\\n white-space: nowrap;\\n flex-grow: 1;\\n padding: 4px;\\n}\\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\\n width: 24px;\\n height: 24px;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\\n opacity: 0.7;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\\n opacity: 1;\\n}\\n.should-shake[data-v-878b819f] {\\n animation: shake-878b819f 0.6s 1 linear;\\n}\\n@keyframes shake-878b819f {\\n0% {\\n transform: translate(15px);\\n}\\n20% {\\n transform: translate(-15px);\\n}\\n40% {\\n transform: translate(7px);\\n}\\n60% {\\n transform: translate(-7px);\\n}\\n80% {\\n transform: translate(3px);\\n}\\n100% {\\n transform: translate(0px);\\n}\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-efe8beb8] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.collection-list *[data-v-efe8beb8] {\\n box-sizing: border-box;\\n}\\n.collection-list > li[data-v-efe8beb8] {\\n display: flex;\\n align-items: center;\\n gap: 12px;\\n}\\n.collection-list > li > .avatar[data-v-efe8beb8] {\\n margin-top: 0;\\n}\\n#collection-select-container[data-v-efe8beb8] {\\n display: flex;\\n flex-direction: column;\\n}\\n.v-select span.avatar[data-v-efe8beb8] {\\n display: block;\\n padding: 16px;\\n opacity: 0.7;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.v-select span.avatar[data-v-efe8beb8]:hover {\\n opacity: 1;\\n}\\np.hint[data-v-efe8beb8] {\\n z-index: 1;\\n margin-top: -16px;\\n padding: 8px 8px;\\n color: var(--color-text-maxcontrast);\\n line-height: normal;\\n}\\ndiv.avatar[data-v-efe8beb8] {\\n width: 32px;\\n height: 32px;\\n margin: 0;\\n padding: 8px;\\n background-color: var(--color-background-dark);\\n margin-top: 30px;\\n}\\n\\n/** TODO provide white icon in core */\\n.icon-projects[data-v-efe8beb8] {\\n display: block;\\n padding: 8px;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.option__wrapper[data-v-efe8beb8] {\\n display: flex;\\n}\\n.option__wrapper .avatar[data-v-efe8beb8] {\\n display: block;\\n width: 32px;\\n height: 32px;\\n background-color: var(--color-background-darker) !important;\\n}\\n.option__wrapper .option__title[data-v-efe8beb8] {\\n padding: 4px;\\n}\\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\\n transition: opacity 0.5s;\\n}\\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\\n opacity: 0;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.header[data-v-5c0f8828]{border-bottom:1px solid var(--color-border);position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.header__cell[data-v-5c0f8828]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-5c0f8828],.header__cell span[data-v-5c0f8828],.header__cell label[data-v-5c0f8828]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-5c0f8828],.header__cell--displayname[data-v-5c0f8828]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-5c0f8828]{inset-inline-start:0}.header__cell--displayname[data-v-5c0f8828]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.header__cell--username[data-v-5c0f8828]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.header__cell--avatar[data-v-5c0f8828]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-5c0f8828]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-5c0f8828]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-5c0f8828]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-5c0f8828]{min-width:400px;width:400px}.header__cell--fill[data-v-5c0f8828]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-5c0f8828]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.header__subtitle[data-v-5c0f8828]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListHeader.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBACC,2CAAA,CCEA,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.header {\\n\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-9e46b7b2] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.team-resources__header[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-team[data-v-9e46b7b2] {\n border-radius: var(--border-radius-rounded);\n border: 2px solid var(--color-border-dark);\n margin-bottom: 6px;\n}\n.related-team__open[data-v-9e46b7b2] {\n border-color: var(--color-primary-element);\n}\n.related-team__header[data-v-9e46b7b2] {\n padding: 6px;\n padding-right: 24px;\n display: flex;\n gap: 12px;\n}\n.related-team__name[data-v-9e46b7b2] {\n display: flex;\n flex-grow: 1;\n align-items: center;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n margin: 0;\n}\n.related-team .related-team-provider[data-v-9e46b7b2] {\n padding: 6px 12px;\n}\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 3px;\n}\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n height: var(--default-clickable-area);\n align-items: center;\n border-radius: var(--border-radius-large);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\n background-color: var(--color-background-hover);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\n background-color: var(--color-background-hover);\n outline: 2px solid var(--color-primary-element);\n}\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\n border-radius: var(--border-radius-pill);\n overflow: hidden;\n width: 32px;\n height: 32px;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-77c38062] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resource[data-v-77c38062] {\n display: flex;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.resource__button[data-v-77c38062] {\n width: 100% !important;\n justify-content: flex-start !important;\n padding: 0 !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper {\n justify-content: flex-start !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\n font-weight: normal !important;\n margin-left: 2px !important;\n}\n.resource__icon[data-v-77c38062] {\n width: 32px;\n height: 32px;\n background-color: var(--color-text-maxcontrast);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.resource__icon img[data-v-77c38062] {\n width: 16px;\n height: 16px;\n filter: var(--background-invert-if-dark);\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-badd46a9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.related-resources__header h5[data-v-badd46a9] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-resources__header p[data-v-badd46a9] {\n color: var(--color-text-maxcontrast);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,2CAA2C;EAC3C,0CAA0C;EAC1C,kBAAkB;AACpB;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,YAAY;EACZ,mBAAmB;EACnB,aAAa;EACb,SAAS;AACX;AACA;EACE,aAAa;EACb,YAAY;EACZ,mBAAmB;EACnB,SAAS;EACT,iBAAiB;EACjB,iBAAiB;EACjB,SAAS;AACX;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,SAAS;EACT,iBAAiB;EACjB,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,SAAS;EACT,qCAAqC;EACrC,mBAAmB;EACnB,yCAAyC;AAC3C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;EAC/C,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB;AACA;EACE,wCAAwC;EACxC,gBAAgB;EAChB,WAAW;EACX,YAAY;AACd,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,qCAAqC;AACvC;AACA;EACE,sBAAsB;EACtB,sCAAsC;EACtC,qBAAqB;AACvB;AACA;EACE,sCAAsC;AACxC;AACA;EACE,8BAA8B;EAC9B,2BAA2B;AAC7B;AACA;EACE,WAAW;EACX,YAAY;EACZ,+CAA+C;EAC/C,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,YAAY;EACZ,wCAAwC;AAC1C,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,oCAAoC;AACtC\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-9e46b7b2] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.team-resources__header[data-v-9e46b7b2] {\\n font-weight: bold;\\n margin-bottom: 6px;\\n}\\n.related-team[data-v-9e46b7b2] {\\n border-radius: var(--border-radius-rounded);\\n border: 2px solid var(--color-border-dark);\\n margin-bottom: 6px;\\n}\\n.related-team__open[data-v-9e46b7b2] {\\n border-color: var(--color-primary-element);\\n}\\n.related-team__header[data-v-9e46b7b2] {\\n padding: 6px;\\n padding-right: 24px;\\n display: flex;\\n gap: 12px;\\n}\\n.related-team__name[data-v-9e46b7b2] {\\n display: flex;\\n flex-grow: 1;\\n align-items: center;\\n gap: 12px;\\n padding: 6px 12px;\\n font-weight: bold;\\n margin: 0;\\n}\\n.related-team .related-team-provider[data-v-9e46b7b2] {\\n padding: 6px 12px;\\n}\\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\\n font-weight: bold;\\n margin-bottom: 3px;\\n}\\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\\n display: flex;\\n gap: 12px;\\n padding: 6px 12px;\\n font-weight: bold;\\n}\\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\\n display: flex;\\n gap: 12px;\\n height: var(--default-clickable-area);\\n align-items: center;\\n border-radius: var(--border-radius-large);\\n}\\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\\n background-color: var(--color-background-hover);\\n outline: 2px solid var(--color-primary-element);\\n}\\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n text-align: center;\\n}\\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\\n border-radius: var(--border-radius-pill);\\n overflow: hidden;\\n width: 32px;\\n height: 32px;\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-77c38062] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.resource[data-v-77c38062] {\\n display: flex;\\n align-items: center;\\n height: var(--default-clickable-area);\\n}\\n.resource__button[data-v-77c38062] {\\n width: 100% !important;\\n justify-content: flex-start !important;\\n padding: 0 !important;\\n}\\n.resource__button[data-v-77c38062] .button-vue__wrapper {\\n justify-content: flex-start !important;\\n}\\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\\n font-weight: normal !important;\\n margin-left: 2px !important;\\n}\\n.resource__icon[data-v-77c38062] {\\n width: 32px;\\n height: 32px;\\n background-color: var(--color-text-maxcontrast);\\n border-radius: 50%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.resource__icon img[data-v-77c38062] {\\n width: 16px;\\n height: 16px;\\n filter: var(--background-invert-if-dark);\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-badd46a9] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.related-resources__header h5[data-v-badd46a9] {\\n font-weight: bold;\\n margin-bottom: 6px;\\n}\\n.related-resources__header p[data-v-badd46a9] {\\n color: var(--color-text-maxcontrast);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0b3c495c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/* 'New' button */\n.app-navigation-new[data-v-0b3c495c] {\n display: block;\n padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.app-navigation-new button[data-v-0b3c495c] {\n width: 100%;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA,iBAAiB;AACjB;EACE,cAAc;EACd,oDAAoD;AACtD;AACA;EACE,WAAW;AACb\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-0b3c495c] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/* 'New' button */\\n.app-navigation-new[data-v-0b3c495c] {\\n display: block;\\n padding: calc(var(--default-grid-baseline, 4px) * 2);\\n}\\n.app-navigation-new button[data-v-0b3c495c] {\\n width: 100%;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-938dadb1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\n display: block;\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n}\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\n width: 14px;\n height: 14px;\n cursor: pointer;\n transition: background 100ms ease-in-out;\n border: none;\n border-radius: 50%;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,+DAA+D;AACjE;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,wCAAwC;EACxC,YAAY;EACZ,kBAAkB;AACpB\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-938dadb1] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\\n display: block;\\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\\n}\\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\\n width: 14px;\\n height: 14px;\\n cursor: pointer;\\n transition: background 100ms ease-in-out;\\n border: none;\\n border-radius: 50%;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-8ddd08c0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-8ddd08c0]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-8ddd08c0] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-8ddd08c0] {\n opacity: 1 !important;\n}\n.action-radio[data-v-8ddd08c0] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* checkbox/radio fixes */\n}\n.action-radio__radio[data-v-8ddd08c0] {\n position: absolute;\n inset-inline-start: 0 !important;\n z-index: -1;\n opacity: 0;\n}\n.action-radio__label[data-v-8ddd08c0] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 !important;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\n}\n.action-radio__label[data-v-8ddd08c0]::before {\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\n}\n.action-radio--disabled[data-v-8ddd08c0],\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\n cursor: pointer;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,yBAAyB;AAC3B;AACA;EACE,kBAAkB;EAClB,gCAAgC;EAChC,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,qBAAqB;EACrB,+EAA+E;AACjF;AACA;EACE,mEAAmE;AACrE;AACA;;EAEE,eAAe;AACjB\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-8ddd08c0] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\\n border-radius: 6px;\\n padding: 0;\\n}\\nli.action[data-v-8ddd08c0]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-8ddd08c0] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-8ddd08c0] {\\n opacity: 1 !important;\\n}\\n.action-radio[data-v-8ddd08c0] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n line-height: var(--default-clickable-area);\\n /* checkbox/radio fixes */\\n}\\n.action-radio__radio[data-v-8ddd08c0] {\\n position: absolute;\\n inset-inline-start: 0 !important;\\n z-index: -1;\\n opacity: 0;\\n}\\n.action-radio__label[data-v-8ddd08c0] {\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: 0 !important;\\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\\n}\\n.action-radio__label[data-v-8ddd08c0]::before {\\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\\n}\\n.action-radio--disabled[data-v-8ddd08c0],\\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\\n cursor: pointer;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { CancelablePromise } from 'cancelable-promise';\nconst formatGroup = (group) => ({\n id: group.id,\n name: group.displayname,\n usercount: group.usercount,\n disabled: group.disabled,\n canAdd: group.canAdd,\n canRemove: group.canRemove,\n});\n/**\n * Search groups\n *\n * @param {object} options Options\n * @param {string} options.search Search query\n * @param {number} options.offset Offset\n * @param {number} options.limit Limit\n */\nexport const searchGroups = ({ search, offset, limit }) => {\n const controller = new AbortController();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const { data } = await axios.get(generateOcsUrl('/cloud/groups/details?search={search}&offset={offset}&limit={limit}', { search, offset, limit }), {\n signal: controller.signal,\n });\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n resolve(formattedGroups);\n }\n catch (error) {\n reject(error);\n }\n });\n};\n/**\n * Load user groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/groups/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n/**\n * Load user subadmin groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserSubAdminGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/subadmins/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-d278a327] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#app-settings[data-v-d278a327] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-d278a327] {\n box-sizing: border-box;\n margin: 0 3px 3px 3px;\n}\n#app-settings__header .settings-button[data-v-d278a327] {\n display: flex;\n flex: 1 1 0;\n height: var(--default-clickable-area);\n width: 100%;\n padding: 0;\n margin: 0;\n background-color: transparent;\n box-shadow: none;\n border: 0;\n border-radius: var(--body-container-radius);\n text-align: start;\n font-weight: normal;\n font-size: 100%;\n color: var(--color-main-text);\n padding-inline-end: 14px;\n line-height: var(--default-clickable-area);\n}\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__icon[data-v-d278a327] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n min-width: var(--default-clickable-area);\n}\n#app-settings__header .settings-button__label[data-v-d278a327] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-d278a327] {\n display: block;\n padding: 10px;\n /* prevent scrolled contents from stopping too early */\n margin-bottom: -3px;\n /* restrict height of settings and make scrollable */\n max-height: 300px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.slide-up-leave-active[data-v-d278a327],\n.slide-up-enter-active[data-v-d278a327] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-d278a327],\n.slide-up-leave-to[data-v-d278a327] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,WAAW;EACX,qCAAqC;EACrC,WAAW;EACX,UAAU;EACV,SAAS;EACT,6BAA6B;EAC7B,gBAAgB;EAChB,SAAS;EACT,2CAA2C;EAC3C,iBAAiB;EACjB,mBAAmB;EACnB,eAAe;EACf,6BAA6B;EAC7B,wBAAwB;EACxB,0CAA0C;AAC5C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,wCAAwC;AAC1C;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,aAAa;EACb,sDAAsD;EACtD,mBAAmB;EACnB,oDAAoD;EACpD,iBAAiB;EACjB,gBAAgB;EAChB,sBAAsB;AACxB;AACA;;EAEE,0CAA0C;EAC1C,wCAAwC;EACxC,6BAA6B;AAC/B;AACA;;EAEE,wBAAwB;EACxB,0BAA0B;AAC5B\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-d278a327] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n#app-settings[data-v-d278a327] {\\n margin-top: auto;\\n padding: 3px;\\n}\\n#app-settings__header[data-v-d278a327] {\\n box-sizing: border-box;\\n margin: 0 3px 3px 3px;\\n}\\n#app-settings__header .settings-button[data-v-d278a327] {\\n display: flex;\\n flex: 1 1 0;\\n height: var(--default-clickable-area);\\n width: 100%;\\n padding: 0;\\n margin: 0;\\n background-color: transparent;\\n box-shadow: none;\\n border: 0;\\n border-radius: var(--body-container-radius);\\n text-align: start;\\n font-weight: normal;\\n font-size: 100%;\\n color: var(--color-main-text);\\n padding-inline-end: 14px;\\n line-height: var(--default-clickable-area);\\n}\\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\\n background-color: var(--color-background-hover);\\n}\\n#app-settings__header .settings-button__icon[data-v-d278a327] {\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n min-width: var(--default-clickable-area);\\n}\\n#app-settings__header .settings-button__label[data-v-d278a327] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n#app-settings__content[data-v-d278a327] {\\n display: block;\\n padding: 10px;\\n /* prevent scrolled contents from stopping too early */\\n margin-bottom: -3px;\\n /* restrict height of settings and make scrollable */\\n max-height: 300px;\\n overflow-y: auto;\\n box-sizing: border-box;\\n}\\n.slide-up-leave-active[data-v-d278a327],\\n.slide-up-enter-active[data-v-d278a327] {\\n transition-duration: var(--animation-slow);\\n transition-property: max-height, padding;\\n overflow-y: hidden !important;\\n}\\n.slide-up-enter[data-v-d278a327],\\n.slide-up-leave-to[data-v-d278a327] {\\n max-height: 0 !important;\\n padding: 0 10px !important;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.account-management__navigation[data-v-edf83404] .app-navigation__body{will-change:scroll-position}.account-management__system-list[data-v-edf83404]{height:auto !important;overflow:visible !important}.account-management__group-list[data-v-edf83404]{height:100% !important}.account-management__settings-toggle[data-v-edf83404]{margin-bottom:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagementNavigation.vue\"],\"names\":[],\"mappings\":\"AAGE,uEACC,2BAAA,CAGF,kDACC,sBAAA,CACA,2BAAA,CAGD,iDACC,sBAAA,CAGD,sDACC,kBAAA\",\"sourcesContent\":[\"\\n.account-management {\\n\\t&__navigation {\\n\\t\\t:deep(.app-navigation__body) {\\n\\t\\t\\twill-change: scroll-position;\\n\\t\\t}\\n\\t}\\n\\t&__system-list {\\n\\t\\theight: auto !important;\\n\\t\\toverflow: visible !important;\\n\\t}\\n\\n\\t&__group-list {\\n\\t\\theight: 100% !important;\\n\\t}\\n\\n\\t&__settings-toggle {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0907eb0a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-wrapper[data-v-0907eb0a] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 100%;\n max-width: 400px;\n}\n.input-wrapper .action-input__label[data-v-0907eb0a] {\n margin-right: 12px;\n}\n.input-wrapper[data-v-0907eb0a]:disabled {\n cursor: default;\n}\n.input-wrapper .hint[data-v-0907eb0a] {\n color: var(--color-text-maxcontrast);\n margin-left: 8px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;EACpC,gBAAgB;AAClB\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-0907eb0a] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.input-wrapper[data-v-0907eb0a] {\\n display: flex;\\n align-items: center;\\n flex-wrap: wrap;\\n width: 100%;\\n max-width: 400px;\\n}\\n.input-wrapper .action-input__label[data-v-0907eb0a] {\\n margin-right: 12px;\\n}\\n.input-wrapper[data-v-0907eb0a]:disabled {\\n cursor: default;\\n}\\n.input-wrapper .hint[data-v-0907eb0a] {\\n color: var(--color-text-maxcontrast);\\n margin-left: 8px;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import '../assets/NcAppNavigationCaption-DU9PxTvu.css';\nimport { N as NcActions } from \"./NcActions-B4VZCD8B.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationCaption\",\n components: {\n NcActions\n },\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n required: true\n },\n /**\n * `id` to set on the inner caption\n * Can be used for connecting the `NcActionCaption` with `NcActionList` using `aria-labelledby`.\n */\n headingId: {\n type: String,\n default: null\n },\n /**\n * Enable when used as a heading\n * e.g. Before NcAppNavigationList\n */\n isHeading: {\n type: Boolean,\n default: false\n },\n /**\n * If `isHeading` is set, this defines the heading level that should be used\n */\n headingLevel: {\n type: Number,\n default: 2\n },\n /**\n * Any [NcActions](#/Components/NcActions?id=ncactions-1) prop\n */\n // Not an actual prop but needed to show in vue-styleguidist docs\n // eslint-disable-next-line\n \" \": {}\n },\n computed: {\n wrapperTag() {\n return this.isHeading ? \"div\" : \"li\";\n },\n captionTag() {\n const headingLevel = Math.max(2, this.headingLevel);\n return this.isHeading ? `h${headingLevel}` : \"span\";\n },\n // Check if the actions slot is populated\n hasActions() {\n return !!this.$slots.actions;\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(_vm.wrapperTag, { tag: \"component\", staticClass: \"app-navigation-caption\", class: { \"app-navigation-caption--heading\": _vm.isHeading } }, [_c(_vm.captionTag, { tag: \"component\", staticClass: \"app-navigation-caption__name\", attrs: { \"id\": _vm.headingId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]), _vm.hasActions ? _c(\"div\", { staticClass: \"app-navigation-caption__actions\" }, [_c(\"NcActions\", _vm._g(_vm._b({ scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"actionsTriggerIcon\")];\n }, proxy: true }], null, true) }, \"NcActions\", _vm.$attrs, false), _vm.$listeners), [_vm._t(\"actions\")], 2)], 1) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"1133b4da\"\n);\nconst NcAppNavigationCaption = __component__.exports;\nexport {\n NcAppNavigationCaption as N\n};\n//# sourceMappingURL=NcAppNavigationCaption-DcgSwIOY.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-a4505289] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * color-text-lighter\t\tnormal state\n * color-text-lighter\t\tactive state\n * color-text-maxcontrast \tdisabled state\n */\n/* Default global values */\nbutton[data-v-a4505289]:not(.button-vue),\ninput[data-v-a4505289]:not([type=range]),\ntextarea[data-v-a4505289] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n /* Primary action button, use sparingly */\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\n /* active class used for multiselect */\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-a4505289]:not(.button-vue):disabled,\ninput[data-v-a4505289]:not([type=range]):disabled,\ntextarea[data-v-a4505289]:disabled {\n cursor: default;\n opacity: 0.5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-a4505289]:not(.button-vue):required,\ninput[data-v-a4505289]:not([type=range]):required,\ntextarea[data-v-a4505289]:required {\n box-shadow: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):invalid,\ninput[data-v-a4505289]:not([type=range]):invalid,\ntextarea[data-v-a4505289]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-a4505289],\ninput:not([type=range]).primary[data-v-a4505289],\ntextarea.primary[data-v-a4505289] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\ntextarea.primary[data-v-a4505289]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-a4505289]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-a4505289] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-a4505289] {\n opacity: 1 !important;\n}\n.action-text-editable[data-v-a4505289] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* Inputs inside popover supports text, submit & reset */\n}\n.action-text-editable > span[data-v-a4505289] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text-editable__icon[data-v-a4505289] {\n min-width: 0; /* Overwrite icons*/\n min-height: 0;\n /* Keep padding to define the width to\n \tassure correct position of a possible text */\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n opacity: 1;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text-editable__form[data-v-a4505289] {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n position: relative;\n margin: 4px 0;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.action-text-editable__submit[data-v-a4505289] {\n position: absolute;\n inset-inline-start: 0;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -1;\n opacity: 0;\n}\n.action-text-editable__label[data-v-a4505289] {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n bottom: 1px;\n width: calc(var(--default-clickable-area) - 8px);\n height: calc(var(--default-clickable-area) - 8px);\n box-sizing: border-box;\n margin: 0;\n padding: 7px 6px;\n border: 0;\n border-radius: 50%;\n /* Avoid background under border */\n background-color: var(--color-main-background);\n background-clip: padding-box;\n}\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\n cursor: pointer;\n}\n.action-text-editable__textarea[data-v-a4505289] {\n flex: 1 1 auto;\n color: inherit;\n border-color: var(--color-border-maxcontrast);\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\n min-width: calc(var(--default-clickable-area) * 4);\n width: 100% !important;\n margin: 0;\n /* only show confirm borders if input is not focused */\n}\n.action-text-editable__textarea[data-v-a4505289]:disabled {\n cursor: default;\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\n background-color: var(--color-error);\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\n /* above previous input */\n z-index: 2;\n border-color: var(--color-primary-element);\n border-inline-start-color: transparent;\n}\nli:last-child > .action-text-editable[data-v-a4505289] {\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}\nli:first-child > .action-text-editable[data-v-a4505289] {\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;;;;EAIE;AACF,0BAA0B;AAC1B;;;EAGE,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,gCAAgC;EAChC,0CAA0C;EAC1C,mCAAmC;EACnC,aAAa;EACb,8CAA8C;EAC9C,eAAe;EACf,yCAAyC;AAC3C;AACA;;;;;;;EAOE,sCAAsC;EACtC,0CAA0C;EAC1C,aAAa;AACf;AACA;;;EAGE,8BAA8B;EAC9B,aAAa;EACb,8CAA8C;AAChD;AACA;;;EAGE,eAAe;EACf,YAAY;EACZ,oCAAoC;EACpC,8CAA8C;AAChD;AACA;;;EAGE,gBAAgB;AAClB;AACA;;;EAGE,gCAAgC;EAChC,2BAA2B;AAC7B;AACA;;;EAGE,eAAe;EACf,wCAAwC;EACxC,0CAA0C;EAC1C,8CAA8C;AAChD;AACA;;;;;;;EAOE,gDAAgD;EAChD,oDAAoD;AACtD;AACA;;;EAGE,6CAA6C;AAC/C;AACA;;;EAGE,eAAe;EACf,6CAA6C;EAC7C,8CAA8C;AAChD;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,wDAAwD;AAC1D;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,YAAY,EAAE,mBAAmB;EACjC,aAAa;EACb;+CAC6C;EAC7C,wHAAwH;EACxH,4EAA4E;EAC5E,qBAAqB;AACvB;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,kBAAkB;EAClB,aAAa;EACb,oEAAoE;AACtE;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,SAAS;EACT,UAAU;EACV,WAAW;EACX,gBAAgB;EAChB,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;EAClB,wEAAwE;EACxE,WAAW;EACX,gDAAgD;EAChD,iDAAiD;EACjD,sBAAsB;EACtB,SAAS;EACT,gBAAgB;EAChB,SAAS;EACT,kBAAkB;EAClB,kCAAkC;EAClC,8CAA8C;EAC9C,4BAA4B;AAC9B;AACA;EACE,eAAe;AACjB;AACA;EACE,cAAc;EACd,cAAc;EACd,6CAA6C;EAC7C,yDAAyD,EAAE,+BAA+B;EAC1F,yDAAyD,EAAE,+BAA+B;EAC1F,kDAAkD;EAClD,sBAAsB;EACtB,SAAS;EACT,sDAAsD;AACxD;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,8CAA8C;EAC9C,wCAAwC;AAC1C;AACA;EACE,yBAAyB;EACzB,UAAU;EACV,0CAA0C;EAC1C,sCAAsC;AACxC;AACA;EACE,qEAAqE;AACvE;AACA;EACE,kEAAkE;AACpE\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-a4505289] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n/* Default global values */\\nbutton[data-v-a4505289]:not(.button-vue),\\ninput[data-v-a4505289]:not([type=range]),\\ntextarea[data-v-a4505289] {\\n margin: 0;\\n padding: 7px 6px;\\n cursor: text;\\n color: var(--color-text-lighter);\\n border: 1px solid var(--color-border-dark);\\n border-radius: var(--border-radius);\\n outline: none;\\n background-color: var(--color-main-background);\\n font-size: 13px;\\n /* Primary action button, use sparingly */\\n}\\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\\n /* active class used for multiselect */\\n border-color: var(--color-primary-element);\\n outline: none;\\n}\\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\\n color: var(--color-text-light);\\n outline: none;\\n background-color: var(--color-main-background);\\n}\\nbutton[data-v-a4505289]:not(.button-vue):disabled,\\ninput[data-v-a4505289]:not([type=range]):disabled,\\ntextarea[data-v-a4505289]:disabled {\\n cursor: default;\\n opacity: 0.5;\\n color: var(--color-text-maxcontrast);\\n background-color: var(--color-background-dark);\\n}\\nbutton[data-v-a4505289]:not(.button-vue):required,\\ninput[data-v-a4505289]:not([type=range]):required,\\ntextarea[data-v-a4505289]:required {\\n box-shadow: none;\\n}\\nbutton[data-v-a4505289]:not(.button-vue):invalid,\\ninput[data-v-a4505289]:not([type=range]):invalid,\\ntextarea[data-v-a4505289]:invalid {\\n border-color: var(--color-error);\\n box-shadow: none !important;\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289],\\ninput:not([type=range]).primary[data-v-a4505289],\\ntextarea.primary[data-v-a4505289] {\\n cursor: pointer;\\n color: var(--color-primary-element-text);\\n border-color: var(--color-primary-element);\\n background-color: var(--color-primary-element);\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\\n border-color: var(--color-primary-element-light);\\n background-color: var(--color-primary-element-light);\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\\n color: var(--color-primary-element-text-dark);\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\\ntextarea.primary[data-v-a4505289]:disabled {\\n cursor: default;\\n color: var(--color-primary-element-text-dark);\\n background-color: var(--color-primary-element);\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\\n border-radius: 6px;\\n padding: 0;\\n}\\nli.action[data-v-a4505289]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-a4505289] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-a4505289] {\\n opacity: 1 !important;\\n}\\n.action-text-editable[data-v-a4505289] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n line-height: var(--default-clickable-area);\\n /* Inputs inside popover supports text, submit & reset */\\n}\\n.action-text-editable > span[data-v-a4505289] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-text-editable__icon[data-v-a4505289] {\\n min-width: 0; /* Overwrite icons*/\\n min-height: 0;\\n /* Keep padding to define the width to\\n \\tassure correct position of a possible text */\\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\\n background-size: 16px;\\n}\\n.action-text-editable[data-v-a4505289] .material-design-icon {\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n opacity: 1;\\n}\\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\\n vertical-align: middle;\\n}\\n.action-text-editable__form[data-v-a4505289] {\\n display: flex;\\n flex: 1 1 auto;\\n flex-direction: column;\\n position: relative;\\n margin: 4px 0;\\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\\n}\\n.action-text-editable__submit[data-v-a4505289] {\\n position: absolute;\\n inset-inline-start: 0;\\n top: auto;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n z-index: -1;\\n opacity: 0;\\n}\\n.action-text-editable__label[data-v-a4505289] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n position: absolute;\\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\\n bottom: 1px;\\n width: calc(var(--default-clickable-area) - 8px);\\n height: calc(var(--default-clickable-area) - 8px);\\n box-sizing: border-box;\\n margin: 0;\\n padding: 7px 6px;\\n border: 0;\\n border-radius: 50%;\\n /* Avoid background under border */\\n background-color: var(--color-main-background);\\n background-clip: padding-box;\\n}\\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\\n cursor: pointer;\\n}\\n.action-text-editable__textarea[data-v-a4505289] {\\n flex: 1 1 auto;\\n color: inherit;\\n border-color: var(--color-border-maxcontrast);\\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\\n min-width: calc(var(--default-clickable-area) * 4);\\n width: 100% !important;\\n margin: 0;\\n /* only show confirm borders if input is not focused */\\n}\\n.action-text-editable__textarea[data-v-a4505289]:disabled {\\n cursor: default;\\n}\\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\\n background-color: var(--color-error);\\n}\\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\\n background-color: var(--color-primary-element);\\n color: var(--color-primary-element-text);\\n}\\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\\n /* above previous input */\\n z-index: 2;\\n border-color: var(--color-primary-element);\\n border-inline-start-color: transparent;\\n}\\nli:last-child > .action-text-editable[data-v-a4505289] {\\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\\n}\\nli:first-child > .action-text-editable[data-v-a4505289] {\\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-list__row[data-v-47722426]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-47722426]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-47722426]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-47722426]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-47722426]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-47722426],.row__cell span[data-v-47722426],.row__cell label[data-v-47722426]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-47722426],.row__cell--displayname[data-v-47722426]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-47722426]{inset-inline-start:0}.row__cell--displayname[data-v-47722426]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-47722426]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-47722426]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-47722426]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-47722426]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-47722426]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-47722426]{min-width:400px;width:400px}.row__cell--fill[data-v-47722426]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-47722426]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.row__subtitle[data-v-47722426]{color:var(--color-text-maxcontrast)}.row__cell[data-v-47722426]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-47722426] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-47722426]{margin-top:4px}.row__progress--warn[data-v-47722426]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-47722426]::-webkit-progress-value{background:var(--color-warning) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserRow.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,iCCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDLA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCDD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,oBAAA,CAGD,yCACC,2CAAA,CACA,+CAAA,CAAA,CAIF,sCACC,yDAAA,CAGD,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,gCACC,mCAAA,CDpFD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.user-list__row {\\n\\t@include styles.row;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\n\\t\\t.row__cell:not(.row__cell--actions) {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Limit width of select in fill cell\\n\\t.select--fill {\\n\\t\\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\\n\\t}\\n}\\n\\n.row {\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t:deep {\\n\\t\\t\\t.v-select.select {\\n\\t\\t\\t\\tmin-width: var(--cell-min-width);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__progress {\\n\\t\\tmargin-top: 4px;\\n\\n\\t\\t&--warn {\\n\\t\\t\\t&::-moz-progress-bar {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t\\t&::-webkit-progress-value {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationCaption-DU9PxTvu.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationCaption-DU9PxTvu.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationNew-Dbo2rvXH.css';\nimport NcButton from \"./NcButton.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n components: {\n NcButton\n },\n props: {\n buttonId: {\n type: String,\n required: false,\n default: \"\"\n },\n disabled: {\n type: Boolean,\n required: false,\n default: false\n },\n text: {\n type: String,\n required: true\n },\n /**\n * @deprecated use `variant` instead - will be removed with v9\n */\n type: {\n type: String,\n default: \"primary\",\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\"].indexOf(value) !== -1;\n }\n },\n /**\n * The color variant to use.\n * @default 'primary'\n */\n variant: {\n type: String,\n default: \"primary\",\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\"].indexOf(value) !== -1;\n }\n }\n },\n emits: [\"click\"]\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-new\" }, [_c(\"NcButton\", { attrs: { \"id\": _vm.buttonId, \"disabled\": _vm.disabled, \"variant\": _vm.type !== \"primary\" ? _vm.type : _vm.variant }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\");\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"icon\")];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.text) + \" \")])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0b3c495c\"\n);\nconst NcAppNavigationNew = __component__.exports;\nexport {\n NcAppNavigationNew as default\n};\n//# sourceMappingURL=NcAppNavigationNew.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.modal__header[data-v-3e2f3c17]{margin:0}.modal__content[data-v-3e2f3c17]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-3e2f3c17]{display:flex;width:100%;justify-content:space-between}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/GroupListItem.vue\"],\"names\":[],\"mappings\":\"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__header {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__button-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tjustify-content: space-between;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // disallow unquoted attribute values if not otherwise configured\n // and strict mode is true\n if (parser.opt.unquotedAttributeValues === undefined) {\n parser.opt.unquotedAttributeValues = !strict;\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // &amp and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\"&quot;\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++ // <script> ... <\n }\n\n sax.XML_ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\"\n }\n\n sax.ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\",\n 'AElig': 198,\n 'Aacute': 193,\n 'Acirc': 194,\n 'Agrave': 192,\n 'Aring': 197,\n 'Atilde': 195,\n 'Auml': 196,\n 'Ccedil': 199,\n 'ETH': 208,\n 'Eacute': 201,\n 'Ecirc': 202,\n 'Egrave': 200,\n 'Euml': 203,\n 'Iacute': 205,\n 'Icirc': 206,\n 'Igrave': 204,\n 'Iuml': 207,\n 'Ntilde': 209,\n 'Oacute': 211,\n 'Ocirc': 212,\n 'Ograve': 210,\n 'Oslash': 216,\n 'Otilde': 213,\n 'Ouml': 214,\n 'THORN': 222,\n 'Uacute': 218,\n 'Ucirc': 219,\n 'Ugrave': 217,\n 'Uuml': 220,\n 'Yacute': 221,\n 'aacute': 225,\n 'acirc': 226,\n 'aelig': 230,\n 'agrave': 224,\n 'aring': 229,\n 'atilde': 227,\n 'auml': 228,\n 'ccedil': 231,\n 'eacute': 233,\n 'ecirc': 234,\n 'egrave': 232,\n 'eth': 240,\n 'euml': 235,\n 'iacute': 237,\n 'icirc': 238,\n 'igrave': 236,\n 'iuml': 239,\n 'ntilde': 241,\n 'oacute': 243,\n 'ocirc': 244,\n 'ograve': 242,\n 'oslash': 248,\n 'otilde': 245,\n 'ouml': 246,\n 'szlig': 223,\n 'thorn': 254,\n 'uacute': 250,\n 'ucirc': 251,\n 'ugrave': 249,\n 'uuml': 252,\n 'yacute': 253,\n 'yuml': 255,\n 'copy': 169,\n 'reg': 174,\n 'nbsp': 160,\n 'iexcl': 161,\n 'cent': 162,\n 'pound': 163,\n 'curren': 164,\n 'yen': 165,\n 'brvbar': 166,\n 'sect': 167,\n 'uml': 168,\n 'ordf': 170,\n 'laquo': 171,\n 'not': 172,\n 'shy': 173,\n 'macr': 175,\n 'deg': 176,\n 'plusmn': 177,\n 'sup1': 185,\n 'sup2': 178,\n 'sup3': 179,\n 'acute': 180,\n 'micro': 181,\n 'para': 182,\n 'middot': 183,\n 'cedil': 184,\n 'ordm': 186,\n 'raquo': 187,\n 'frac14': 188,\n 'frac12': 189,\n 'frac34': 190,\n 'iquest': 191,\n 'times': 215,\n 'divide': 247,\n 'OElig': 338,\n 'oelig': 339,\n 'Scaron': 352,\n 'scaron': 353,\n 'Yuml': 376,\n 'fnof': 402,\n 'circ': 710,\n 'tilde': 732,\n 'Alpha': 913,\n 'Beta': 914,\n 'Gamma': 915,\n 'Delta': 916,\n 'Epsilon': 917,\n 'Zeta': 918,\n 'Eta': 919,\n 'Theta': 920,\n 'Iota': 921,\n 'Kappa': 922,\n 'Lambda': 923,\n 'Mu': 924,\n 'Nu': 925,\n 'Xi': 926,\n 'Omicron': 927,\n 'Pi': 928,\n 'Rho': 929,\n 'Sigma': 931,\n 'Tau': 932,\n 'Upsilon': 933,\n 'Phi': 934,\n 'Chi': 935,\n 'Psi': 936,\n 'Omega': 937,\n 'alpha': 945,\n 'beta': 946,\n 'gamma': 947,\n 'delta': 948,\n 'epsilon': 949,\n 'zeta': 950,\n 'eta': 951,\n 'theta': 952,\n 'iota': 953,\n 'kappa': 954,\n 'lambda': 955,\n 'mu': 956,\n 'nu': 957,\n 'xi': 958,\n 'omicron': 959,\n 'pi': 960,\n 'rho': 961,\n 'sigmaf': 962,\n 'sigma': 963,\n 'tau': 964,\n 'upsilon': 965,\n 'phi': 966,\n 'chi': 967,\n 'psi': 968,\n 'omega': 969,\n 'thetasym': 977,\n 'upsih': 978,\n 'piv': 982,\n 'ensp': 8194,\n 'emsp': 8195,\n 'thinsp': 8201,\n 'zwnj': 8204,\n 'zwj': 8205,\n 'lrm': 8206,\n 'rlm': 8207,\n 'ndash': 8211,\n 'mdash': 8212,\n 'lsquo': 8216,\n 'rsquo': 8217,\n 'sbquo': 8218,\n 'ldquo': 8220,\n 'rdquo': 8221,\n 'bdquo': 8222,\n 'dagger': 8224,\n 'Dagger': 8225,\n 'bull': 8226,\n 'hellip': 8230,\n 'permil': 8240,\n 'prime': 8242,\n 'Prime': 8243,\n 'lsaquo': 8249,\n 'rsaquo': 8250,\n 'oline': 8254,\n 'frasl': 8260,\n 'euro': 8364,\n 'image': 8465,\n 'weierp': 8472,\n 'real': 8476,\n 'trade': 8482,\n 'alefsym': 8501,\n 'larr': 8592,\n 'uarr': 8593,\n 'rarr': 8594,\n 'darr': 8595,\n 'harr': 8596,\n 'crarr': 8629,\n 'lArr': 8656,\n 'uArr': 8657,\n 'rArr': 8658,\n 'dArr': 8659,\n 'hArr': 8660,\n 'forall': 8704,\n 'part': 8706,\n 'exist': 8707,\n 'empty': 8709,\n 'nabla': 8711,\n 'isin': 8712,\n 'notin': 8713,\n 'ni': 8715,\n 'prod': 8719,\n 'sum': 8721,\n 'minus': 8722,\n 'lowast': 8727,\n 'radic': 8730,\n 'prop': 8733,\n 'infin': 8734,\n 'ang': 8736,\n 'and': 8743,\n 'or': 8744,\n 'cap': 8745,\n 'cup': 8746,\n 'int': 8747,\n 'there4': 8756,\n 'sim': 8764,\n 'cong': 8773,\n 'asymp': 8776,\n 'ne': 8800,\n 'equiv': 8801,\n 'le': 8804,\n 'ge': 8805,\n 'sub': 8834,\n 'sup': 8835,\n 'nsub': 8836,\n 'sube': 8838,\n 'supe': 8839,\n 'oplus': 8853,\n 'otimes': 8855,\n 'perp': 8869,\n 'sdot': 8901,\n 'lceil': 8968,\n 'rceil': 8969,\n 'lfloor': 8970,\n 'rfloor': 8971,\n 'lang': 9001,\n 'rang': 9002,\n 'loz': 9674,\n 'spades': 9824,\n 'clubs': 9827,\n 'hearts': 9829,\n 'diams': 9830\n }\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit (parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function emitNode (parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText (parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts (opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error (parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er += '\\nLine: ' + parser.line +\n '\\nColumn: ' + parser.column +\n '\\nChar: ' + parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end (parser) {\n if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n if ((parser.state !== S.BEGIN) &&\n (parser.state !== S.BEGIN_WHITESPACE) &&\n (parser.state !== S.TEXT)) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail (parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag (parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname (name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? [ '', name ] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib (parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(parser,\n 'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n strictFail(parser,\n 'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag (parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(parser.tagName))\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(prefix))\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag (parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = parser.tag = parser.tags.pop()\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity (parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n function beginWhiteSpace (parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt (chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write (chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(parser,\n 'Cannot write after close. Assign an onready handler.')\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n continue;\n }\n\n if (parser.doctype && parser.doctype !== true && parser.sgmlDecl) {\n parser.state = S.DOCTYPE_DTD\n parser.doctype += '<!' + parser.sgmlDecl + c\n parser.sgmlDecl = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser,\n 'Inappropriately located doctype declaration')\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n if (c === ']') {\n parser.doctype += c\n parser.state = S.DOCTYPE\n } else if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (isQuote(c)) {\n parser.doctype += c\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n } else {\n parser.doctype += c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else if (parser.doctype && parser.doctype !== true) {\n parser.state = S.DOCTYPE_DTD\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n } else {\n parser.cdata += c\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n emitNode(parser, 'onprocessinginstruction', {\n name: parser.procInstName,\n body: parser.procInstBody\n })\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(parser, 'Forward-slash in opening tag not followed by >')\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: ''\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n if (!parser.opt.unquotedAttributeValues) {\n error(parser, 'Unquoted attribute value')\n }\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n var parsedEntity = parseEntity(parser)\n if (parser.opt.unparsedEntities && !Object.values(sax.XML_ENTITIES).includes(parsedEntity)) {\n parser.entity = ''\n parser.state = returnState\n parser.write(parsedEntity)\n } else {\n parser[buffer] += parsedEntity\n parser.entity = ''\n parser.state = returnState\n }\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default: /* istanbul ignore next */ {\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xFFFF) { // BMP code point\n codeUnits.push(codePoint)\n } else { // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xD800\n lowSurrogate = (codePoint % 0x400) + 0xDC00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n }())\n }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"page-heading\":_vm.pageHeading}},[_c('UserList',{attrs:{\"selected-group\":_vm.selectedGroupDecoded,\"external-actions\":_vm.externalActions}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"user-list\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"user-list__header\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"user-list__body\",style:(_vm.tbodyStyle)},_vm._l((_vm.renderedItems),function(item,i){return _c(_vm.dataComponent,_vm._b({key:item[_vm.dataKey],tag:\"component\",attrs:{\"user\":item,\"visible\":(i >= _vm.bufferItems || _vm.index <= _vm.bufferItems) && (i < _vm.shownItems - _vm.bufferItems)}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"element-visibility\",rawName:\"v-element-visibility\",value:(_vm.handleFooterVisibility),expression:\"handleFooterVisibility\"}],ref:\"tfoot\",staticClass:\"user-list__footer\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"footer\")],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=21942da5&scoped=true\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21942da5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcDialog',_vm._g({staticClass:\"dialog\",attrs:{\"size\":\"small\",\"name\":_vm.t('settings', 'New account'),\"out-transition\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('NcButton',{staticClass:\"dialog__submit\",attrs:{\"data-test\":\"submit\",\"form\":\"new-user-form\",\"type\":\"primary\",\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add new account'))+\"\\n\\t\\t\")])]},proxy:true}])},_vm.$listeners),[_c('form',{staticClass:\"dialog__form\",attrs:{\"id\":\"new-user-form\",\"data-test\":\"form\",\"disabled\":_vm.loading.all},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser.apply(null, arguments)}}},[_c('NcTextField',{ref:\"username\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"username\",\"value\":_vm.newUser.id,\"disabled\":_vm.settings.newUserGenerateUserID,\"label\":_vm.usernameLabel,\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\"required\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"id\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"displayName\",\"value\":_vm.newUser.displayName,\"label\":_vm.t('settings', 'Display name'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"displayName\", $event)}}}),_vm._v(\" \"),(!_vm.settings.newUserRequireEmail)?_c('span',{staticClass:\"dialog__hint\",attrs:{\"id\":\"password-email-hint\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Either password or email is required'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"password\",\"value\":_vm.newUser.password,\"minlength\":_vm.minPasswordLength,\"maxlength\":469,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.mailAddress === '' ? _vm.t('settings', 'Password (required)') : _vm.t('settings', 'Password'),\"autocapitalize\":\"none\",\"autocomplete\":\"new-password\",\"spellcheck\":\"false\",\"required\":_vm.newUser.mailAddress === ''},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"password\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"email\",\"type\":\"email\",\"value\":_vm.newUser.mailAddress,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail ? _vm.t('settings', 'Email (required)') : _vm.t('settings', 'Email'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"required\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"mailAddress\", $event)}}}),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"data-test\":\"groups\",\"input-label\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin ? _vm.t('settings', 'Member of the following groups (required)') : _vm.t('settings', 'Member of the following groups'),\"placeholder\":_vm.t('settings', 'Set account groups'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableGroups,\"value\":_vm.newUser.groups,\"label\":\"name\",\"close-on-select\":false,\"multiple\":true,\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"required\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addGroup(options.at(-1))}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Admin of the following groups'),\"placeholder\":_vm.t('settings', 'Set account as admin for …'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableGroups,\"close-on-select\":false,\"multiple\":true,\"label\":\"name\"},on:{\"search\":_vm.searchGroups},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Quota'),\"placeholder\":_vm.t('settings', 'Set account quota'),\"options\":_vm.quotaOptions,\"clearable\":false,\"taggable\":true,\"create-option\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Language'),\"placeholder\":_vm.t('settings', 'Set default language'),\"clearable\":false,\"selectable\":option => !option.languages,\"filter-by\":_vm.languageFilterBy,\"options\":_vm.languages,\"label\":\"name\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{class:['dialog__item dialog__managers', { 'icon-loading-small': _vm.loading.manager }]},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.managerInputLabel,\"placeholder\":_vm.managerLabel,\"options\":_vm.possibleManagers,\"user-select\":true,\"label\":\"displayname\"},on:{\"search\":_vm.searchUserManager},model:{value:(_vm.newUser.manager),callback:function ($$v) {_vm.$set(_vm.newUser, \"manager\", $$v)},expression:\"newUser.manager\"}})],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcDialog class=\"dialog\"\n\t\tsize=\"small\"\n\t\t:name=\"t('settings', 'New account')\"\n\t\tout-transition\n\t\tv-on=\"$listeners\">\n\t\t<form id=\"new-user-form\"\n\t\t\tclass=\"dialog__form\"\n\t\t\tdata-test=\"form\"\n\t\t\t:disabled=\"loading.all\"\n\t\t\t@submit.prevent=\"createUser\">\n\t\t\t<NcTextField ref=\"username\"\n\t\t\t\tclass=\"dialog__item\"\n\t\t\t\tdata-test=\"username\"\n\t\t\t\t:value.sync=\"newUser.id\"\n\t\t\t\t:disabled=\"settings.newUserGenerateUserID\"\n\t\t\t\t:label=\"usernameLabel\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\tpattern=\"[a-zA-Z0-9 _\\.@\\-']+\"\n\t\t\t\trequired />\n\t\t\t<NcTextField class=\"dialog__item\"\n\t\t\t\tdata-test=\"displayName\"\n\t\t\t\t:value.sync=\"newUser.displayName\"\n\t\t\t\t:label=\"t('settings', 'Display name')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\" />\n\t\t\t<span v-if=\"!settings.newUserRequireEmail\"\n\t\t\t\tid=\"password-email-hint\"\n\t\t\t\tclass=\"dialog__hint\">\n\t\t\t\t{{ t('settings', 'Either password or email is required') }}\n\t\t\t</span>\n\t\t\t<NcPasswordField ref=\"password\"\n\t\t\t\tclass=\"dialog__item\"\n\t\t\t\tdata-test=\"password\"\n\t\t\t\t:value.sync=\"newUser.password\"\n\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t:maxlength=\"469\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.mailAddress === '' ? t('settings', 'Password (required)') : t('settings', 'Password')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:required=\"newUser.mailAddress === ''\" />\n\t\t\t<NcTextField class=\"dialog__item\"\n\t\t\t\tdata-test=\"email\"\n\t\t\t\ttype=\"email\"\n\t\t\t\t:value.sync=\"newUser.mailAddress\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.password === '' || settings.newUserRequireEmail ? t('settings', 'Email (required)') : t('settings', 'Email')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:required=\"newUser.password === '' || settings.newUserRequireEmail\" />\n\t\t\t<div class=\"dialog__item\">\n\t\t\t\t<NcSelect class=\"dialog__select\"\n\t\t\t\t\tdata-test=\"groups\"\n\t\t\t\t\t:input-label=\"!settings.isAdmin && !settings.isDelegatedAdmin ? t('settings', 'Member of the following groups (required)') : t('settings', 'Member of the following groups')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account groups')\"\n\t\t\t\t\t:disabled=\"loading.groups || loading.all\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:value=\"newUser.groups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:taggable=\"settings.isAdmin || settings.isDelegatedAdmin\"\n\t\t\t\t\t:required=\"!settings.isAdmin && !settings.isDelegatedAdmin\"\n\t\t\t\t\t:create-option=\"(value) => ({ id: value, name: value, isCreating: true })\"\n\t\t\t\t\t@search=\"searchGroups\"\n\t\t\t\t\t@option:created=\"createGroup\"\n\t\t\t\t\t@option:selected=\"options => addGroup(options.at(-1))\" />\n\t\t\t\t\t<!-- If user is not admin, they are a subadmin.\n\t\t\t\t\t\tSubadmins can't create users outside their groups\n\t\t\t\t\t\tTherefore, empty select is forbidden -->\n\t\t\t</div>\n\t\t\t<div class=\"dialog__item\">\n\t\t\t\t<NcSelect v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"t('settings', 'Admin of the following groups')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account as admin for …')\"\n\t\t\t\t\t:disabled=\"loading.groups || loading.all\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t@search=\"searchGroups\" />\n\t\t\t</div>\n\t\t\t<div class=\"dialog__item\">\n\t\t\t\t<NcSelect v-model=\"newUser.quota\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"t('settings', 'Quota')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account quota')\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\" />\n\t\t\t</div>\n\t\t\t<div v-if=\"showConfig.showLanguages\"\n\t\t\t\tclass=\"dialog__item\">\n\t\t\t\t<NcSelect v-model=\"newUser.language\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"t('settings', 'Language')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set default language')\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:selectable=\"option => !option.languages\"\n\t\t\t\t\t:filter-by=\"languageFilterBy\"\n\t\t\t\t\t:options=\"languages\"\n\t\t\t\t\tlabel=\"name\" />\n\t\t\t</div>\n\t\t\t<div :class=\"['dialog__item dialog__managers', { 'icon-loading-small': loading.manager }]\">\n\t\t\t\t<NcSelect v-model=\"newUser.manager\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"managerInputLabel\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:user-select=\"true\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t@search=\"searchUserManager\" />\n\t\t\t</div>\n\t\t</form>\n\n\t\t<template #actions>\n\t\t\t<NcButton class=\"dialog__submit\"\n\t\t\t\tdata-test=\"submit\"\n\t\t\t\tform=\"new-user-form\"\n\t\t\t\ttype=\"primary\"\n\t\t\t\tnative-type=\"submit\">\n\t\t\t\t{{ t('settings', 'Add new account') }}\n\t\t\t</NcButton>\n\t\t</template>\n\t</NcDialog>\n</template>\n\n<script>\nimport { formatFileSize, parseFileSize } from '@nextcloud/files'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcDialog from '@nextcloud/vue/components/NcDialog'\nimport NcPasswordField from '@nextcloud/vue/components/NcPasswordField'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcTextField from '@nextcloud/vue/components/NcTextField'\n\nimport { searchGroups } from '../../service/groups.ts'\nimport logger from '../../logger.ts'\n\nexport default {\n\tname: 'NewUserDialog',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcDialog,\n\t\tNcPasswordField,\n\t\tNcSelect,\n\t\tNcTextField,\n\t},\n\n\tprops: {\n\t\tloading: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tnewUser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpossibleManagers: [],\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\tmanagerInputLabel: t('settings', 'Manager'),\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\tmanagerLabel: t('settings', 'Set line manager'),\n\t\t\t// Cancelable promise for search groups request\n\t\t\tpromise: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tusernameLabel() {\n\t\t\tif (this.settings.newUserGenerateUserID) {\n\t\t\t\treturn t('settings', 'Account name will be autogenerated')\n\t\t\t}\n\t\t\treturn t('settings', 'Account name (required)')\n\t\t},\n\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\tavailableGroups() {\n\t\t\tconst groups = (this.settings.isAdmin || this.settings.isDelegatedAdmin)\n\t\t\t\t? this.$store.getters.getSortedGroups\n\t\t\t\t: this.$store.getters.getSubAdminGroups\n\n\t\t\treturn groups.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled')\n\t\t},\n\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.commonLanguages,\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.otherLanguages,\n\t\t\t]\n\t\t},\n\t},\n\n\tasync beforeMount() {\n\t\tawait this.searchUserManager()\n\t},\n\n\tmounted() {\n\t\tthis.$refs.username?.focus?.()\n\t},\n\n\tmethods: {\n\t\tasync createUser() {\n\t\t\tthis.loading.all = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUser', {\n\t\t\t\t\tuserid: this.newUser.id,\n\t\t\t\t\tpassword: this.newUser.password,\n\t\t\t\t\tdisplayName: this.newUser.displayName,\n\t\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\t\tlanguage: this.newUser.language.code,\n\t\t\t\t\tmanager: this.newUser.manager.id,\n\t\t\t\t})\n\n\t\t\t\tthis.$emit('reset')\n\t\t\t\tthis.$refs.username?.focus?.()\n\t\t\t\tthis.$emit('closing')\n\t\t\t} catch (error) {\n\t\t\t\tthis.loading.all = false\n\t\t\t\tif (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) {\n\t\t\t\t\tconst statuscode = error.response.data.ocs.meta.statuscode\n\t\t\t\t\tif (statuscode === 102) {\n\t\t\t\t\t\t// wrong username\n\t\t\t\t\t\tthis.$refs.username?.focus?.()\n\t\t\t\t\t} else if (statuscode === 107) {\n\t\t\t\t\t\t// wrong password\n\t\t\t\t\t\tthis.$refs.password?.focus?.()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync searchGroups(query, toggleLoading) {\n\t\t\tif (!this.settings.isAdmin && !this.settings.isDelegatedAdmin) {\n\t\t\t\t// managers cannot search for groups\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.promise) {\n\t\t\t\tthis.promise.cancel()\n\t\t\t}\n\t\t\ttoggleLoading(true)\n\t\t\ttry {\n\t\t\t\tthis.promise = searchGroups({\n\t\t\t\t\tsearch: query,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 25,\n\t\t\t\t})\n\t\t\t\tconst groups = await this.promise\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to search groups'), { error })\n\t\t\t}\n\t\t\tthis.promise = null\n\t\t\ttoggleLoading(false)\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t *\n\t\t * @param {any} group Group\n\t\t * @param {string} group.name Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tthis.newUser.groups.push({ id: gid, name: gid })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to create group'), { error })\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addGroup(group) {\n\t\t\tif (group.isCreating) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (group.canAdd === false) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.newUser.groups.push(group)\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @return {object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = OC.Util.computerFileSize(quota)\n\t\t\tif (validQuota !== null && validQuota >= 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = formatFileSize(parseFileSize(quota))\n\t\t\t\tthis.newUser.quota = { id: quota, label: quota }\n\t\t\t\treturn this.newUser.quota\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\tthis.newUser.quota = this.quotaOptions[0]\n\t\t\treturn this.quotaOptions[0]\n\t\t},\n\n\t\tlanguageFilterBy(option, label, search) {\n\t\t\t// Show group header of the language\n\t\t\tif (option.languages) {\n\t\t\t\treturn option.languages.some(\n\t\t\t\t\t({ name }) => name.toLocaleLowerCase().includes(search.toLocaleLowerCase()),\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn (label || '').toLocaleLowerCase().includes(search.toLocaleLowerCase())\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch(\n\t\t\t\t'searchUsers',\n\t\t\t\t{\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 10,\n\t\t\t\t\tsearch: query,\n\t\t\t\t},\n\t\t\t).then(response => {\n\t\t\t\tconst users = response?.data ? Object.values(response?.data.ocs.data.users) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.dialog {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 0 8px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__managers {\n\t\tmargin-bottom: 12px;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 4px;\n\t\tmargin-bottom: 8px;\n\t}\n\n\t:deep {\n\t\t.dialog__actions {\n\t\t\tmargin: auto;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=style&index=0&id=74033440&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=style&index=0&id=74033440&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewUserDialog.vue?vue&type=template&id=74033440&scoped=true\"\nimport script from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nexport * from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./NewUserDialog.vue?vue&type=style&index=0&id=74033440&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74033440\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"footer\"},[_c('th',{attrs:{\"scope\":\"row\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--loading\"},[(_vm.loading)?_c('NcLoadingIcon',{attrs:{\"title\":_vm.t('settings', 'Loading accounts …'),\"size\":32}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--count footer__cell--multiline\"},[_c('span',{attrs:{\"aria-describedby\":\"user-count-desc\"}},[_vm._v(_vm._s(_vm.userCount))]),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\",attrs:{\"id\":\"user-count-desc\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Scroll to load more rows'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListFooter.vue?vue&type=template&id=db2a7c4e&scoped=true\"\nimport script from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"db2a7c4e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"header\"},[_c('th',{staticClass:\"header__cell header__cell--avatar\",attrs:{\"data-cy-user-list-header-avatar\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Avatar'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--displayname\",attrs:{\"data-cy-user-list-header-displayname\":\"\",\"scope\":\"col\"}},[_c('strong',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Display name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--username\",attrs:{\"data-cy-user-list-header-username\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",class:{ 'header__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-header-password\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.passwordLabel))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-email\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Email')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-groups\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Groups')))])]),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-subadmins\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-quota\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Quota')))])]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-languages\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Language')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-storage-location\":\"\",\"scope\":\"col\"}},[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account backend'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Storage location'))+\"\\n\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-first-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'First login')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-last-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Last login')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large header__cell--fill\",attrs:{\"data-cy-user-list-header-manager\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Manager')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--actions\",attrs:{\"data-cy-user-list-header-actions\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account actions'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListHeader.vue?vue&type=template&id=5c0f8828&scoped=true\"\nimport script from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c0f8828\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',{staticClass:\"user-list__row\",attrs:{\"data-cy-user-row\":_vm.user.id}},[_c('td',{staticClass:\"row__cell row__cell--avatar\",attrs:{\"data-cy-user-list-cell-avatar\":\"\"}},[(_vm.isLoadingUser)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading account …'),\"size\":32}}):(_vm.visible)?_c('NcAvatar',{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"user\":_vm.user.id}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--displayname\",attrs:{\"data-cy-user-list-cell-displayname\":\"\"}},[(_vm.editing && _vm.user.backendCapabilities.setDisplayName)?[_c('NcTextField',{ref:\"displayNameField\",staticClass:\"user-row-text-field\",class:{ 'icon-loading-small': _vm.loading.displayName },attrs:{\"data-cy-user-list-input-displayname\":\"\",\"data-loading\":_vm.loading.displayName || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.displayName || _vm.isLoadingField,\"label\":_vm.t('settings', 'Change display name'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedDisplayName,\"autocapitalize\":\"off\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.editedDisplayName=$event},\"trailing-button-click\":_vm.updateDisplayName}})]:(!_vm.isObfuscated)?_c('strong',{attrs:{\"title\":_vm.user.displayname?.length > 20 ? _vm.user.displayname : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.displayname)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--username\",attrs:{\"data-cy-user-list-cell-username\":\"\"}},[_c('span',{staticClass:\"row__subtitle\"},[_vm._v(_vm._s(_vm.user.id))])]),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",class:{ 'row__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-cell-password\":\"\"}},[(_vm.editing && _vm.settings.canChangePassword && _vm.user.backendCapabilities.setPassword)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.password},attrs:{\"data-cy-user-list-input-password\":\"\",\"data-loading\":_vm.loading.password || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.password || _vm.isLoadingField,\"minlength\":_vm.minPasswordLength,\"maxlength\":\"469\",\"label\":_vm.t('settings', 'Set new password'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedPassword,\"autocapitalize\":\"off\",\"autocomplete\":\"new-password\",\"required\":\"\",\"spellcheck\":\"false\",\"type\":\"password\"},on:{\"update:value\":function($event){_vm.editedPassword=$event},\"trailing-button-click\":_vm.updatePassword}})]:(_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You do not have permissions to see the details of this account'))+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-email\":\"\"}},[(_vm.editing)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.mailAddress},attrs:{\"data-cy-user-list-input-email\":\"\",\"data-loading\":_vm.loading.mailAddress || undefined,\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"label\":_vm.t('settings', 'Set new email address'),\"disabled\":_vm.loading.mailAddress || _vm.isLoadingField,\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedMail,\"autocapitalize\":\"off\",\"autocomplete\":\"email\",\"spellcheck\":\"false\",\"type\":\"email\"},on:{\"update:value\":function($event){_vm.editedMail=$event},\"trailing-button-click\":_vm.updateEmail}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.user.email?.length > 20 ? _vm.user.email : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.email)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-groups\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'groups' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add account to group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-groups\":\"\",\"data-loading\":_vm.loading.groups || undefined,\"input-id\":'groups' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.groupsDetails,\"loading\":_vm.loading.groups,\"multiple\":true,\"append-to-body\":false,\"options\":_vm.availableGroups,\"placeholder\":_vm.t('settings', 'Add account to group'),\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"value\":_vm.userGroups,\"label\":\"name\",\"no-wrap\":true,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addUserGroup(options.at(-1)),\"option:deselected\":_vm.removeUserGroup}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userGroupsLabels?.length > 40 ? _vm.userGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-subadmins\":\"\"}},[(_vm.editing && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'subadmins' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set account as admin for'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-subadmins\":\"\",\"data-loading\":_vm.loading.subadmins || undefined,\"input-id\":'subadmins' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.subAdminGroupsDetails,\"loading\":_vm.loading.subadmins,\"label\":\"name\",\"append-to-body\":false,\"multiple\":true,\"no-wrap\":true,\"options\":_vm.availableSubAdminGroups,\"placeholder\":_vm.t('settings', 'Set account as admin for'),\"value\":_vm.userSubAdminGroups},on:{\"search\":_vm.searchGroups,\"option:deselected\":_vm.removeUserSubAdmin,\"option:selected\":options => _vm.addUserSubAdmin(options.at(-1))}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userSubAdminGroupsLabels?.length > 40 ? _vm.userSubAdminGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userSubAdminGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-quota\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'quota' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Select account quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":true,\"create-option\":_vm.validateQuota,\"data-cy-user-list-input-quota\":\"\",\"data-loading\":_vm.loading.quota || undefined,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.quota,\"append-to-body\":false,\"clearable\":false,\"input-id\":'quota' + _vm.uniqueId,\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select account quota'),\"taggable\":true},on:{\"option:selected\":_vm.setUserQuota},model:{value:(_vm.editedUserQuota),callback:function ($$v) {_vm.editedUserQuota=$$v},expression:\"editedUserQuota\"}})]:(!_vm.isObfuscated)?[_c('span',{attrs:{\"id\":'quota-progress' + _vm.uniqueId}},[_vm._v(_vm._s(_vm.userQuota)+\" (\"+_vm._s(_vm.usedSpace)+\")\")]),_vm._v(\" \"),_c('NcProgressBar',{staticClass:\"row__progress\",class:{\n\t\t\t\t\t'row__progress--warn': _vm.usedQuota > 80,\n\t\t\t\t},attrs:{\"aria-labelledby\":'quota-progress' + _vm.uniqueId,\"value\":_vm.usedQuota}})]:_vm._e()],2),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-language\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'language' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set the language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'language' + _vm.uniqueId,\"data-cy-user-list-input-language\":\"\",\"data-loading\":_vm.loading.languages || undefined,\"allow-empty\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.languages,\"clearable\":false,\"append-to-body\":false,\"options\":_vm.availableLanguages,\"placeholder\":_vm.t('settings', 'No language set'),\"value\":_vm.userLanguage,\"label\":\"name\"},on:{\"input\":_vm.setUserLanguage}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userLanguage.name)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-storage-location\":\"\"}},[(!_vm.isObfuscated)?[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"row__subtitle\",attrs:{\"title\":_vm.user.storageLocation}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.storageLocation)+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-first-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userFirstLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"title\":_vm.userLastLoginTooltip,\"data-cy-user-list-cell-last-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userLastLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--fill\",attrs:{\"data-cy-user-list-cell-manager\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'manager' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.managerLabel)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"select--fill\",attrs:{\"data-cy-user-list-input-manager\":\"\",\"data-loading\":_vm.loading.manager || undefined,\"input-id\":'manager' + _vm.uniqueId,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loadingPossibleManagers || _vm.loading.manager,\"options\":_vm.possibleManagers,\"placeholder\":_vm.managerLabel,\"label\":\"displayname\",\"filterable\":false,\"internal-search\":false,\"clearable\":true},on:{\"open\":_vm.searchInitialUserManager,\"search\":_vm.searchUserManager,\"update:model-value\":_vm.updateUserManager},model:{value:(_vm.currentManager),callback:function ($$v) {_vm.currentManager=$$v},expression:\"currentManager\"}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.manager)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--actions\",attrs:{\"data-cy-user-list-cell-actions\":\"\"}},[(_vm.visible && !_vm.isObfuscated && _vm.canEdit && !_vm.loading.all)?_c('UserRowActions',{attrs:{\"actions\":_vm.userActions,\"disabled\":_vm.isLoadingField,\"edit\":_vm.editing,\"user\":_vm.user},on:{\"update:edit\":_vm.toggleEdit}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import sax from 'sax';\nfunction startsWith(array, prefix) {\n if (prefix.length > array.length) {\n return false;\n }\n for (let i = 0; i < prefix.length; i++) {\n if (array[i] !== prefix[i]) {\n return false;\n }\n }\n return true;\n}\nfunction hasXmlTag(xmlString) {\n return /^<\\s*\\w+(?=\\s+[^<>]*=|>)/.test(xmlString);\n}\nfunction hasArrayXmlTag(array, encoding) {\n const textDecoder = new TextDecoder(encoding);\n return hasXmlTag(textDecoder.decode(array));\n}\nexport function isXml(array) {\n if (startsWith(array, [60, 63, 120, 109, 108, 32])) {\n return { xml: true, encoding: 'utf-8', offset: 0 };\n }\n if (startsWith(array, [0xEF, 0xBB, 0xBF])) { // UTF-8 BOM\n const encoding = 'utf-8';\n if (startsWith(array.subarray(3), [60, 63, 120, 109, 108, 32]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 3 };\n }\n }\n if (startsWith(array, [0xFE, 0xFF])) {\n const encoding = 'utf-16be';\n if (startsWith(array.subarray(2), [0, 60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 2 };\n }\n }\n if (startsWith(array, [0xFF, 0xFE])) {\n const encoding = 'utf-16le';\n if (startsWith(array.subarray(2), [60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32, 0]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 2 };\n }\n return { xml: true, encoding: 'utf-16le', offset: 2 };\n }\n if (startsWith(array, [0, 60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32])) {\n return { xml: true, encoding: 'utf-16be', offset: 0 };\n }\n if (startsWith(array, [60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32, 0])) {\n return { xml: true, encoding: 'utf-16le', offset: 0 };\n }\n if (hasArrayXmlTag(array, 'utf-8')) {\n return { xml: true, encoding: 'utf-8', offset: 0 };\n }\n return { xml: false };\n}\n/**\n * Maps the root element namespace to corresponding file-type\n */\nconst namespaceMapping = {\n 'http://www.w3.org/2000/svg': {\n ext: 'svg',\n mime: 'image/svg+xml'\n },\n 'http://www.w3.org/1999/xhtml': {\n ext: 'xhtml',\n mime: 'application/xhtml+xml'\n },\n 'http://www.opengis.net/kml/2.2': {\n ext: 'kml',\n mime: 'application/vnd.google-earth.kml+xml'\n },\n 'http://www.opengis.net/gml': {\n ext: 'gml',\n mime: 'application/gml+xml'\n }\n};\n/**\n * Maps the root element name to corresponding file-type.\n * Used for Non-namespaced XML\n * @type {{rss: {ext: string, mime: string}}}\n */\nconst rootNameMapping = {\n rss: {\n ext: 'rss',\n mime: 'application/rss+xml'\n },\n 'score-partwise': {\n ext: 'musicxml',\n mime: 'application/vnd.recordare.musicxml+xml'\n },\n svg: {\n ext: 'svg',\n mime: 'image/svg+xml'\n }\n};\nexport class XmlTextDetector {\n constructor(options) {\n this.options = options ?? {};\n this.firstTag = true;\n this.onEnd = false;\n this.parser = sax.parser(true, { xmlns: true });\n this.nesting = 0;\n this.parser.onerror = e => {\n if (e.message.startsWith('Invalid character entity')) { // Allow entity reference\n return;\n }\n this.fileType = undefined;\n this.onEnd = true;\n };\n this.parser.onopentag = node => {\n ++this.nesting;\n if (!this.firstTag || this.onEnd) {\n return;\n }\n this.firstTag = false;\n if (node.uri) {\n // Resolve file-type boot root element namespace\n this.fileType = namespaceMapping[node.uri];\n }\n else if (node.name) {\n // Fall back on element name if there is no namespace\n this.fileType = rootNameMapping[node.name.toLowerCase()];\n }\n if (this.fileType && !this.options.fullScan) {\n this.onEnd = true;\n }\n };\n this.parser.onclosetag = () => {\n --this.nesting;\n };\n }\n write(text) {\n this.parser.write(text);\n }\n close() {\n this.parser.close();\n this.onEnd = true;\n }\n isValid() {\n return this.nesting === 0;\n }\n}\nexport const detectXml = {\n id: 'xml',\n detect: async (tokenizer) => {\n const buffer = new Uint8Array(512);\n // Increase sample size from 12 to 256.\n await tokenizer.peekBuffer(buffer, { length: 128, mayBeLess: true });\n const xmlDetection = isXml(buffer);\n if (xmlDetection.xml) {\n await tokenizer.ignore(xmlDetection.offset);\n const xmlTextDetector = new XmlTextDetector();\n const textDecoder = new TextDecoder(xmlDetection.encoding);\n do {\n const len = await tokenizer.readBuffer(buffer, { mayBeLess: true });\n const portion = buffer.subarray(0, len);\n const text = textDecoder.decode(portion);\n xmlTextDetector.write(text);\n if (len < buffer.length) {\n xmlTextDetector.close();\n }\n } while (!xmlTextDetector.onEnd);\n return xmlTextDetector.fileType ?? {\n ext: 'xml',\n mime: 'application/xml'\n };\n }\n }\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcActions',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle account actions menu'),\"disabled\":_vm.disabled,\"inline\":1}},[_c('NcActionButton',{attrs:{\"data-cy-user-list-action-toggle-edit\":`${_vm.edit}`,\"disabled\":_vm.disabled},on:{\"click\":_vm.toggleEdit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{key:_vm.editSvg,attrs:{\"svg\":_vm.editSvg,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.edit ? _vm.t('settings', 'Done') : _vm.t('settings', 'Edit'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.enabledActions),function({ action, icon, text },index){return _c('NcActionButton',{key:index,attrs:{\"disabled\":_vm.disabled,\"aria-label\":text,\"icon\":icon,\"close-after-click\":\"\"},on:{\"click\":(event) => action(event, { ..._vm.user })},scopedSlots:_vm._u([(_vm.isSvg(icon))?{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":icon,\"aria-hidden\":\"true\"}})]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(text)+\"\\n\\t\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"","import {XmlTextDetector} from '@file-type/xml';\n\nexport default function isSvg(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\tstring = string.trim();\n\n\tif (string.length === 0) {\n\t\treturn false;\n\t}\n\n\tconst xmlTextDetector = new XmlTextDetector();\n\txmlTextDetector.write(string);\n\treturn xmlTextDetector.isValid() && xmlTextDetector.fileType?.ext === 'svg';\n}\n","import { render, staticRenderFns } from \"./UserRowActions.vue?vue&type=template&id=61782548\"\nimport script from \"./UserRowActions.vue?vue&type=script&lang=ts\"\nexport * from \"./UserRowActions.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcActionButtonGroup-BND4GQdv.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcActionButtonGroup-BND4GQdv.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionButtonGroup-BND4GQdv.css';\nimport { defineComponent } from \"vue\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { r as register, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister();\nconst _sfc_main = defineComponent({\n name: \"NcActionButtonGroup\",\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n props: {\n /**\n * Optional text shown below the button group\n */\n name: {\n required: false,\n default: void 0,\n type: String\n }\n },\n setup() {\n return {\n labelId: `nc-action-button-group-${GenRandomId()}`\n };\n },\n methods: {\n t\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"li\", { staticClass: \"nc-button-group-base\", attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_vm.name ? _c(\"div\", { attrs: { \"id\": _vm.labelId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _c(\"ul\", { staticClass: \"nc-button-group-content\", attrs: { \"role\": \"group\", \"aria-labelledby\": _vm.name ? _vm.labelId : void 0 } }, [_vm._t(\"default\")], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcActionButtonGroup = __component__.exports;\nexport {\n NcActionButtonGroup as N\n};\n//# sourceMappingURL=NcActionButtonGroup-DEf00ge6.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcActionRadio-CodyhP86.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcActionRadio-CodyhP86.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionRadio-CodyhP86.css';\nimport Vue from \"vue\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal-DqVa7c7G.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcActionRadio\",\n mixins: [ActionGlobalMixin],\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * id attribute of the radio element\n */\n id: {\n type: String,\n default: () => \"action-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n checked: {\n type: Boolean,\n default: void 0\n },\n /**\n * Checked state of the radio element\n * Boolean type removed in v9 - use String | Number instead\n */\n modelValue: {\n type: [Boolean, String, Number],\n default: false\n },\n /**\n * Define if this radio is part of a set.\n * Checking the radio will disable all the\n * others with the same name.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * value of the radio input\n */\n value: {\n type: [String, Number],\n default: \"\"\n },\n /**\n * disabled state of the radio element\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:checked\",\n /**\n * The radio state is changed\n * @type {boolean}\n */\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"change\"\n ],\n setup(props) {\n if (typeof props.modelValue === \"boolean\") {\n Vue.util.warn(\"[NcActionRadio] Boolean type of `modelValue` is deprecated and will be removed in next versions\");\n }\n const model = useModelMigration(\"checked\", \"update:checked\");\n return {\n model\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * aria-checked attribute for role=\"menuitemcheckbox\"\n *\n * @return {'true'|'false'|undefined} aria-checked value if needed\n */\n ariaChecked() {\n if (this.isInSemanticMenu) {\n return this.model ? \"true\" : \"false\";\n }\n return void 0;\n }\n },\n methods: {\n toggleInput(event) {\n this.$refs.label.click();\n },\n onChange(event) {\n this.$emit(\"change\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled }, attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_c(\"span\", { staticClass: \"action-radio\", attrs: { \"role\": \"menuitemradio\", \"aria-checked\": _vm.ariaChecked } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], staticClass: \"radio action-radio__radio\", class: { focusable: _vm.isFocusable }, attrs: { \"id\": _vm.id, \"disabled\": _vm.disabled, \"name\": _vm.name, \"type\": \"radio\" }, domProps: { \"value\": _vm.value, \"checked\": _vm._q(_vm.model, _vm.value) }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.preventDefault();\n return _vm.toggleInput.apply(null, arguments);\n }, \"change\": [function($event) {\n _vm.model = _vm.value;\n }, _vm.onChange] } }), _c(\"label\", { ref: \"label\", staticClass: \"action-radio__label\", attrs: { \"for\": _vm.id } }, [_vm._v(_vm._s(_vm.text))]), _vm._e()], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"8ddd08c0\"\n);\nconst NcActionRadio = __component__.exports;\nexport {\n NcActionRadio as N\n};\n//# sourceMappingURL=NcActionRadio-yAm71xxU.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcActionTextEditable-BflqGcjc.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcActionTextEditable-BflqGcjc.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionTextEditable-BflqGcjc.css';\nimport { b as mdiArrowRight } from \"./mdi-VRLMiqbd.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { A as ActionTextMixin } from \"./actionText-fFcUPi2g.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcActionTextEditable\",\n components: {\n NcIconSvgWrapper\n },\n mixins: [ActionTextMixin],\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * id attribute of the checkbox element\n */\n id: {\n type: String,\n default: () => \"action-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * disabled state of the text area\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n value: {\n type: String,\n default: void 0\n },\n /**\n * value attribute of the input field\n */\n modelValue: {\n type: String,\n default: \"\"\n }\n },\n emits: [\n \"input\",\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n /**\n * Emitted when the inputs value changes\n *\n * @type {string|Date}\n */\n \"update:modelValue\",\n /** Same as `update:modelValue` but with a different event name */\n \"update:model-value\",\n \"submit\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model,\n mdiArrowRight\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n computedId() {\n return GenRandomId();\n }\n },\n methods: {\n onInput(event) {\n this.$emit(\"input\", event);\n this.model = event.target.value;\n },\n onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!this.disabled) {\n this.$emit(\"submit\", event);\n } else {\n return false;\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } }, [_c(\"span\", { staticClass: \"action-text-editable\", on: { \"click\": _vm.onClick } }, [_vm._t(\"icon\", function() {\n return [_c(\"span\", { staticClass: \"action-text-editable__icon\", class: [_vm.isIconUrl ? \"action-text-editable__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null } })];\n }), _c(\"form\", { ref: \"form\", staticClass: \"action-text-editable__form\", attrs: { \"disabled\": _vm.disabled }, on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_c(\"input\", { staticClass: \"action-text-editable__submit\", attrs: { \"id\": _vm.id, \"type\": \"submit\" } }), _vm.name ? _c(\"label\", { staticClass: \"action-text-editable__name\", attrs: { \"for\": _vm.computedId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _c(\"textarea\", _vm._b({ class: [\"action-text-editable__textarea\", { focusable: _vm.isFocusable }], attrs: { \"id\": _vm.computedId, \"disabled\": _vm.disabled }, domProps: { \"value\": _vm.model }, on: { \"input\": _vm.onInput } }, \"textarea\", _vm.$attrs, false)), _c(\"label\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.disabled, expression: \"!disabled\" }], staticClass: \"action-text-editable__label\", attrs: { \"for\": _vm.id } }, [_c(\"NcIconSvgWrapper\", { attrs: { \"directional\": \"\", \"path\": _vm.mdiArrowRight } })], 1)])], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"a4505289\"\n);\nconst NcActionTextEditable = __component__.exports;\nexport {\n NcActionTextEditable as N\n};\n//# sourceMappingURL=NcActionTextEditable-DNweMXRJ.mjs.map\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppContentDetails\"\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-content-details\" }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcAppContentDetails = __component__.exports;\nexport {\n NcAppContentDetails as default\n};\n//# sourceMappingURL=NcAppContentDetails.mjs.map\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppContentList\",\n props: {\n selection: {\n type: Boolean,\n default: false\n },\n showDetails: {\n type: Boolean,\n default: false\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-content-list\", class: { selection: _vm.selection, showdetails: _vm.showDetails } }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcAppContentList = __component__.exports;\nexport {\n NcAppContentList as default\n};\n//# sourceMappingURL=NcAppContentList.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationIconBullet-CeBYVy6t.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationIconBullet-CeBYVy6t.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationIconBullet-CeBYVy6t.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationIconBullet\",\n props: {\n color: {\n type: String,\n required: true,\n validator(color) {\n return /^#?([0-9A-F]{3}){1,2}$/i.test(color);\n }\n }\n },\n emits: [\"click\"],\n computed: {\n formattedColor() {\n if (this.color.startsWith(\"#\")) {\n return this.color;\n }\n return \"#\" + this.color;\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-entry__icon-bullet\", on: { \"click\": _vm.onClick } }, [_c(\"div\", { style: { backgroundColor: _vm.formattedColor } })]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"938dadb1\"\n);\nconst NcAppNavigationIconBullet = __component__.exports;\nexport {\n NcAppNavigationIconBullet as default\n};\n//# sourceMappingURL=NcAppNavigationIconBullet.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNewItem-D7wroqrc.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNewItem-D7wroqrc.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationNewItem-D7wroqrc.css';\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-Dhbj3Gad.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationNewItem\",\n components: {\n NcInputConfirmCancel,\n NcLoadingIcon\n },\n props: {\n /**\n * The name of the element.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n }\n },\n emits: [\"new-item\"],\n data() {\n return {\n newItemValue: \"\",\n newItemActive: false\n };\n },\n methods: {\n handleNewItem() {\n if (!this.loading) {\n this.newItemActive = true;\n this.$nextTick(() => {\n this.$refs.newItemInput.focusInput();\n });\n }\n },\n cancelNewItem() {\n this.newItemActive = false;\n },\n handleNewItemDone() {\n this.$emit(\"new-item\", this.newItemValue);\n this.newItemValue = \"\";\n this.newItemActive = false;\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"app-navigation-entry\", class: {\n \"app-navigation-entry--newItemActive\": _vm.newItemActive\n } }, [_c(\"button\", { staticClass: \"app-navigation-entry-button\", on: { \"click\": _vm.handleNewItem } }, [_c(\"span\", { staticClass: \"app-navigation-entry-icon\", class: { [_vm.icon]: !_vm.loading } }, [_vm.loading ? _c(\"NcLoadingIcon\") : _vm._t(\"icon\")], 2), !_vm.newItemActive ? _c(\"span\", { staticClass: \"app-navigation-new-item__name\", attrs: { \"title\": _vm.name } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.newItemActive ? _c(\"span\", { staticClass: \"newItemContainer\" }, [_c(\"NcInputConfirmCancel\", { ref: \"newItemInput\", attrs: { \"placeholder\": _vm.editPlaceholder !== \"\" ? _vm.editPlaceholder : _vm.name }, on: { \"cancel\": _vm.cancelNewItem, \"confirm\": _vm.handleNewItemDone }, model: { value: _vm.newItemValue, callback: function($$v) {\n _vm.newItemValue = $$v;\n }, expression: \"newItemValue\" } })], 1) : _vm._e()])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"46fee9ac\"\n);\nconst NcAppNavigationNewItem = __component__.exports;\nexport {\n NcAppNavigationNewItem as N\n};\n//# sourceMappingURL=NcAppNavigationNewItem-CcBvnQst.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationSettings-vd47rlNY.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationSettings-vd47rlNY.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcMentionBubble-CB5c5ue2.css';\nimport '../assets/NcAppNavigationSettings-vd47rlNY.css';\nimport { r as register, x as t45, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport clickOutsideOptions from \"../Mixins/clickOutsideOptions.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"@nextcloud/router\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/capabilities\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nregister(t45);\nconst _sfc_main$1 = {\n name: \"CogIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon cog-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Cog = __component__$1.exports;\nconst _sfc_main = {\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n Cog\n },\n mixins: [\n clickOutsideOptions\n ],\n props: {\n name: {\n type: String,\n required: false,\n default: t(\"Settings\")\n }\n },\n data() {\n return {\n open: false\n };\n },\n computed: {\n clickOutsideConfig() {\n return [\n this.closeMenu,\n this.clickOutsideOptions\n ];\n }\n },\n methods: {\n toggleMenu() {\n this.open = !this.open;\n },\n closeMenu() {\n this.open = false;\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.clickOutsideConfig, expression: \"clickOutsideConfig\" }], class: { open: _vm.open }, attrs: { \"id\": \"app-settings\" } }, [_c(\"div\", { attrs: { \"id\": \"app-settings__header\" } }, [_c(\"button\", { staticClass: \"settings-button\", attrs: { \"type\": \"button\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-controls\": \"app-settings__content\" }, on: { \"click\": _vm.toggleMenu } }, [_c(\"Cog\", { staticClass: \"settings-button__icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"settings-button__label\" }, [_vm._v(_vm._s(_vm.name))])], 1)]), _c(\"Transition\", { attrs: { \"name\": \"slide-up\" } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.open, expression: \"open\" }], attrs: { \"id\": \"app-settings__content\" } }, [_vm._t(\"default\")], 2)])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d278a327\"\n);\nconst NcAppNavigationSettings = __component__.exports;\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-JruJ3cF1.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcBlurHash-7aGtE-_T.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcBlurHash-7aGtE-_T.css\";\n export default content && content.locals ? content.locals : undefined;\n","import PQueue from \"p-queue\";\nconst queue = new PQueue({ concurrency: 5 });\nfunction preloadImage(url) {\n const { resolve, promise } = Promise.withResolvers();\n queue.add(() => {\n const image = new Image();\n image.onerror = () => resolve(false);\n image.onload = () => resolve(true);\n image.src = url;\n return promise;\n });\n return promise;\n}\nexport {\n preloadImage\n};\n//# sourceMappingURL=preloadImage.mjs.map\n","import '../assets/NcBlurHash-7aGtE-_T.css';\nimport { decode } from \"blurhash\";\nimport { ref, watch, nextTick } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { preloadImage } from \"../Functions/preloadImage.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst fadeTransition = \"_fadeTransition_13rtj_2\";\nconst fadeTransitionActive = \"_fadeTransitionActive_13rtj_6\";\nconst style0 = {\n fadeTransition,\n fadeTransitionActive\n};\nconst _sfc_main = {\n __name: \"NcBlurHash\",\n props: {\n /**\n * The blur hash value to use.\n */\n hash: {\n required: true,\n type: String\n },\n /**\n * This is normally not needed, but if this blur hash is not only intended\n * for decorative purpose, descriptive text should be passed for accessibility.\n */\n alt: {\n type: String,\n default: \"\"\n },\n /**\n * Optional an image source to load, during the load the blur hash is shown.\n * As soon as it is loaded the image will be shown instead.\n */\n src: {\n type: String,\n default: \"\"\n }\n },\n emits: [\n /**\n * Emitted when the image (`src`) has been loaded.\n */\n \"load\"\n ],\n setup(__props, { emit }) {\n const props = __props;\n const canvas = ref();\n const imageLoaded = ref(false);\n watch(() => props.hash, drawBlurHash);\n watch(imageLoaded, () => {\n if (imageLoaded.value === false) {\n nextTick(() => drawBlurHash());\n }\n }, { immediate: true });\n watch(() => props.src, () => {\n imageLoaded.value = false;\n if (props.src) {\n preloadImage(props.src).then((success) => {\n imageLoaded.value = success;\n emit(\"load\", success);\n });\n }\n }, { immediate: true });\n function drawBlurHash() {\n if (imageLoaded.value) {\n return;\n }\n if (!props.hash) {\n logger.error(\"Invalid BlurHash value\");\n return;\n }\n if (canvas.value === void 0) {\n logger.error(\"BlurHash canvas not available\");\n return;\n }\n const { height, width } = canvas.value;\n const pixels = decode(props.hash, width, height);\n const ctx = canvas.value.getContext(\"2d\");\n if (ctx === null) {\n logger.error(\"Cannot create context for BlurHash canvas\");\n return;\n }\n const imageData = ctx.createImageData(width, height);\n imageData.data.set(pixels);\n ctx.putImageData(imageData, 0, 0);\n }\n return { __sfc: true, props, emit, canvas, imageLoaded, drawBlurHash };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(\"Transition\", { attrs: { \"css\": _vm.src ? void 0 : false, \"enter-active-class\": _vm.$style.fadeTransition, \"leave-active-class\": _vm.$style.fadeTransition, \"enter-class\": _vm.$style.fadeTransitionActive, \"leave-to-class\": _vm.$style.fadeTransitionActive } }, [!_setup.imageLoaded ? _c(\"canvas\", { ref: \"canvas\", attrs: { \"aria-hidden\": _vm.alt ? null : \"true\", \"aria-label\": _vm.alt } }) : _c(\"img\", { attrs: { \"alt\": _vm.alt, \"src\": _vm.src } })]);\n};\nvar _sfc_staticRenderFns = [];\nconst __cssModules = {\n \"$style\": style0\n};\nfunction _sfc_injectStyles(ctx) {\n for (var key in __cssModules) {\n this[key] = __cssModules[key];\n }\n}\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n _sfc_injectStyles,\n null\n);\nconst NcBlurHash = __component__.exports;\nexport {\n NcBlurHash as N\n};\n//# sourceMappingURL=NcBlurHash-do2wxY-0.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcCollectionList-yjTCAR46.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcCollectionList-yjTCAR46.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcCollectionList-yjTCAR46.css';\nimport debounce from \"debounce\";\nimport { ref, set } from \"vue\";\nimport { r as register, L as t6, M as t26, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { N as NcAvatar } from \"./NcAvatar-YSp2ORHc.mjs\";\nimport { N as NcSelect } from \"./NcSelect-CjUzohn5.mjs\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport { N as NcActions } from \"./NcActions-B4VZCD8B.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-CuVNJJtW.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nregister(t6);\nregister(t26);\nconst _sfc_main$1 = {\n name: \"NcCollectionListItem\",\n components: {\n NcAvatar,\n NcActions,\n NcActionButton\n },\n props: {\n collection: {\n type: Object,\n default: null\n },\n error: {\n type: String,\n default: void 0\n }\n },\n emits: [\"remove-resource\", \"rename-collection\"],\n data() {\n return {\n detailsOpen: false,\n newName: null\n };\n },\n computed: {\n getIcon() {\n return (resource) => [resource.iconClass];\n },\n typeClass() {\n return (resource) => \"resource-type-\" + resource.type;\n },\n resources() {\n return this.collection.resources?.filter((resource) => !Array.isArray(resource)) ?? [];\n },\n getComponent() {\n return (resource) => {\n const route = getRoute(this.$router, resource.link);\n return route ? { component: \"router-link\", to: route, href: void 0 } : { component: \"a\", to: void 0, href: resource.link };\n };\n },\n iconUrl() {\n return (resource) => {\n if (resource.mimetype) {\n return OC.MimeType.getIconUrl(resource.mimetype);\n }\n if (resource.iconUrl) {\n return resource.iconUrl;\n }\n return \"\";\n };\n }\n },\n methods: {\n t,\n toggleDetails() {\n this.detailsOpen = !this.detailsOpen;\n },\n showDetails() {\n this.detailsOpen = true;\n },\n removeResource(collection, resource) {\n this.$emit(\"remove-resource\", {\n collectionId: collection.id,\n resourceType: resource.type,\n resourceId: resource.id\n });\n },\n openRename() {\n this.newName = this.collection.name;\n },\n renameCollection() {\n if (this.newName) {\n this.$emit(\"rename-collection\", {\n collectionId: this.collection.id,\n name: this.newName\n });\n }\n this.newName = null;\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"collection-list-item\" }, [_c(\"NcAvatar\", { staticClass: \"collection-avatar\", attrs: { \"display-name\": _vm.collection.name, \"allow-placeholder\": \"\" } }), _vm.newName === null ? _c(\"span\", { staticClass: \"collection-item-name\", attrs: { \"title\": \"\" }, on: { \"click\": _vm.showDetails } }, [_vm._v(_vm._s(_vm.collection.name))]) : _c(\"form\", { class: { \"should-shake\": _vm.error }, on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.renameCollection.apply(null, arguments);\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.newName, expression: \"newName\" }], attrs: { \"type\": \"text\", \"autocomplete\": \"off\", \"autocapitalize\": \"off\" }, domProps: { \"value\": _vm.newName }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.newName = $event.target.value;\n } } }), _c(\"input\", { staticClass: \"icon-confirm\", attrs: { \"type\": \"submit\", \"value\": \"\" } })]), !_vm.detailsOpen && _vm.newName === null ? _c(\"div\", { staticClass: \"linked-icons\" }, _vm._l(_vm.resources.slice(0, 2), function(resource) {\n return _c(_vm.getComponent(resource).component, { key: resource.type + \"|\" + resource.id, tag: \"component\", class: _vm.typeClass(resource), attrs: { \"title\": resource.name, \"to\": _vm.getComponent(resource).to, \"href\": _vm.getComponent(resource).href } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource), \"alt\": resource.name } })]);\n }), 1) : _vm._e(), _vm.newName === null ? _c(\"span\", { staticClass: \"sharingOptionsGroup\" }, [_c(\"NcActions\", [_c(\"NcActionButton\", { attrs: { \"icon\": \"icon-info\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.toggleDetails.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.detailsOpen ? _vm.t(\"Hide details\") : _vm.t(\"Show details\")) + \" \")]), _c(\"NcActionButton\", { attrs: { \"icon\": \"icon-rename\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.openRename.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Rename project\")) + \" \")])], 1)], 1) : _vm._e(), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error ? _c(\"div\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error) + \" \")]) : _vm._e()]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.detailsOpen ? _c(\"ul\", { staticClass: \"resource-list-details\" }, _vm._l(_vm.resources, function(resource) {\n return _c(\"li\", { key: resource.type + \"|\" + resource.id, class: _vm.typeClass(resource) }, [_c(_vm.getComponent(resource).component, { tag: \"component\", attrs: { \"to\": _vm.getComponent(resource).to, \"href\": _vm.getComponent(resource).href } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource), \"alt\": resource.name } }), _c(\"span\", { staticClass: \"resource-name\" }, [_vm._v(_vm._s(resource.name || \"\"))])]), _c(\"span\", { staticClass: \"icon-close\", on: { \"click\": function($event) {\n return _vm.removeResource(_vm.collection, resource);\n } } })], 1);\n }), 0) : _vm._e()])], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"878b819f\"\n);\nconst NcCollectionListItem = __component__$1.exports;\nfunction extractOcsData(response) {\n return response.data.ocs.data;\n}\nfunction renameCollectionService(collectionId, collectionName) {\n return axios.put(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { collectionName }).then(extractOcsData);\n}\nfunction getCollectionsByResourceService(resourceType, resourceId) {\n return axios.get(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId })).then(extractOcsData);\n}\nfunction createCollectionService(resourceType, resourceId, name) {\n return axios.post(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId }), { name }).then(extractOcsData);\n}\nfunction addResourceService(collectionId, resourceType, resourceId) {\n return axios.post(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { resourceType, resourceId }).then(extractOcsData);\n}\nfunction removeResourceService(collectionId, resourceType, resourceId) {\n return axios.delete(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { params: { resourceType, resourceId } }).then(extractOcsData);\n}\nfunction searchService(query) {\n return axios.get(generateOcsUrl(\"collaboration/resources/collections/search/{query}\", { query })).then(extractOcsData);\n}\nfunction useCollections() {\n const storedCollections = ref([]);\n const addCollections = (collections) => {\n set(storedCollections, \"value\", collections);\n };\n const addCollection = (collection) => {\n set(storedCollections, \"value\", [...storedCollections.value, collection]);\n };\n const removeCollection = (collectionId) => {\n set(storedCollections, \"value\", storedCollections.value.filter((item) => item.id !== collectionId));\n };\n const updateCollection = (collection) => {\n const index = storedCollections.value.findIndex((item) => item.id === collection.id);\n if (index !== -1) {\n set(storedCollections.value, index, collection);\n } else {\n addCollection(collection);\n }\n };\n const fetchCollectionsByResource = async ({ resourceType, resourceId }) => {\n const collections = await getCollectionsByResourceService(resourceType, resourceId);\n addCollections(collections);\n };\n const createCollection = async ({ baseResourceType, baseResourceId, resourceType, resourceId, name }) => {\n const collection = await createCollectionService(baseResourceType, baseResourceId, name);\n addCollection(collection);\n await addResourceToCollection({\n collectionId: collection.id,\n resourceType,\n resourceId\n });\n };\n const renameCollection = async ({ collectionId, name }) => {\n const collection = await renameCollectionService(collectionId, name);\n updateCollection(collection);\n };\n const addResourceToCollection = async ({ collectionId, resourceType, resourceId }) => {\n const collection = await addResourceService(collectionId, resourceType, String(resourceId));\n updateCollection(collection);\n };\n const removeResourceFromCollection = async ({ collectionId, resourceType, resourceId }) => {\n const collection = await removeResourceService(collectionId, resourceType, String(resourceId));\n if (collection.resources.length > 0) {\n updateCollection(collection);\n } else {\n removeCollection(collectionId);\n }\n };\n return {\n storedCollections,\n fetchCollectionsByResource,\n createCollection,\n renameCollection,\n addResourceToCollection,\n removeResourceFromCollection\n };\n}\nconst METHOD_CREATE_COLLECTION = 0;\nconst METHOD_ADD_TO_COLLECTION = 1;\nconst _sfc_main = {\n name: \"NcCollectionList\",\n components: {\n NcCollectionListItem,\n NcAvatar,\n NcSelect\n },\n props: {\n /**\n * Resource type identifier\n */\n type: {\n type: String,\n default: null\n },\n /**\n * Unique id of the resource\n */\n id: {\n type: String,\n default: null\n },\n /**\n * Name of the resource\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Whether the component is active (to start fetch resources)\n */\n isActive: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const {\n storedCollections,\n fetchCollectionsByResource,\n createCollection,\n addResourceToCollection,\n removeResourceFromCollection,\n renameCollection\n } = useCollections();\n const searchCollections = ref([]);\n const search = debounce(function(query, loading) {\n if (query !== \"\") {\n loading(true);\n searchService(query).then((collections) => {\n searchCollections.value = collections;\n }).catch((e) => {\n console.error(\"Failed to search for collections\", e);\n }).finally(() => {\n loading(false);\n });\n }\n }, 500);\n return {\n storedCollections,\n fetchCollectionsByResource,\n createCollection,\n addResourceToCollection,\n removeResourceFromCollection,\n renameCollection,\n searchCollections,\n search\n };\n },\n data() {\n return {\n selectIsOpen: false,\n generatingCodes: false,\n codes: void 0,\n value: null,\n model: {},\n collectionsError: {},\n error: null,\n isSelectOpen: false\n };\n },\n computed: {\n collections() {\n return this.storedCollections.filter(\n (collection) => collection.resources.some((resource) => resource && resource.id === String(this.id) && resource.type === this.type)\n );\n },\n placeholder() {\n return this.isSelectOpen ? t(\"Type to search for existing projects\") : t(\"Add to a project\");\n },\n options() {\n const options = [];\n window.OCP.Collaboration.getTypes().sort().forEach((type) => {\n options.push({\n method: METHOD_CREATE_COLLECTION,\n type,\n title: window.OCP.Collaboration.getLabel(type),\n class: window.OCP.Collaboration.getIcon(type),\n action: () => window.OCP.Collaboration.trigger(type)\n });\n });\n for (const index in this.searchCollections) {\n if (!this.collections.find((collection) => collection.id === this.searchCollections[index].id)) {\n options.push({\n method: METHOD_ADD_TO_COLLECTION,\n title: this.searchCollections[index].name,\n collectionId: this.searchCollections[index].id\n });\n }\n }\n return options;\n },\n resourceIdentifier() {\n return {\n resourceType: this.type,\n resourceId: this.id,\n isActive: this.isActive\n };\n }\n },\n watch: {\n resourceIdentifier: {\n deep: true,\n immediate: true,\n handler(resourceIdentifier) {\n if (!resourceIdentifier.isActive || !resourceIdentifier.resourceId || !resourceIdentifier.resourceType) {\n return;\n }\n this.fetchCollectionsByResource(resourceIdentifier);\n }\n }\n },\n methods: {\n t,\n select(selectedOption) {\n if (selectedOption.method === METHOD_CREATE_COLLECTION) {\n selectedOption.action().then((resourceId) => {\n this.createCollection({\n baseResourceType: this.type,\n baseResourceId: this.id,\n resourceType: selectedOption.type,\n resourceId,\n name: this.name\n }).catch((e) => {\n this.setError(t(\"Failed to create a project\"), e);\n });\n }).catch((e) => {\n console.error(\"No resource selected\", e);\n });\n }\n if (selectedOption.method === METHOD_ADD_TO_COLLECTION) {\n this.addResourceToCollection({\n collectionId: selectedOption.collectionId,\n resourceType: this.type,\n resourceId: this.id\n }).catch((e) => {\n this.setError(t(\"Failed to add the item to the project\"), e);\n });\n }\n this.value = null;\n },\n showSelect() {\n this.selectIsOpen = true;\n this.$refs.select.$el.focus();\n },\n setError(error, e) {\n console.error(error, e);\n this.error = error;\n setTimeout(() => {\n this.error = null;\n }, 5e3);\n },\n renameCollectionFromItem({ collectionId, name }) {\n this.renameCollection({ collectionId, name }).catch((e) => {\n console.error(t(\"Failed to rename the project\"), e);\n this.collectionsError[collectionId] = t(\"Failed to rename the project\");\n setTimeout(() => {\n this.collectionsError[collectionId] = null;\n }, 5e3);\n });\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _vm.collections && _vm.type && _vm.id ? _c(\"ul\", { staticClass: \"collection-list\", attrs: { \"id\": \"collection-list\" } }, [_c(\"li\", { on: { \"click\": _vm.showSelect } }, [_vm._m(0), _c(\"div\", { attrs: { \"id\": \"collection-select-container\" } }, [_c(\"NcSelect\", { ref: \"select\", attrs: { \"aria-label-combobox\": _vm.t(\"Add to a project\"), \"options\": _vm.options, \"placeholder\": _vm.placeholder, \"label\": \"title\", \"limit\": 5 }, on: { \"close\": function($event) {\n _vm.isSelectOpen = false;\n }, \"open\": function($event) {\n _vm.isSelectOpen = true;\n }, \"option:selected\": _vm.select, \"search\": _vm.search }, scopedSlots: _vm._u([{ key: \"selected-option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__desc\" }, [_c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])])];\n } }, { key: \"option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__wrapper\" }, [option.class ? _c(\"span\", { staticClass: \"avatar\", class: option.class }) : option.method !== 2 ? _c(\"NcAvatar\", { attrs: { \"allow-placeholder\": \"\", \"display-name\": option.title } }) : _vm._e(), _c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])], 1)];\n } }], null, false, 2397208459), model: { value: _vm.value, callback: function($$v) {\n _vm.value = $$v;\n }, expression: \"value\" } }, [_c(\"p\", { staticClass: \"hint\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Connect items to a project to make them easier to find\")) + \" \")])])], 1)]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error ? _c(\"li\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error) + \" \")]) : _vm._e()]), _vm._l(_vm.collections, function(collection) {\n return _c(\"NcCollectionListItem\", { key: collection.id, attrs: { \"collection\": collection, \"error\": _vm.collectionsError[collection.id] }, on: { \"rename-collection\": _vm.renameCollectionFromItem, \"remove-resource\": _vm.removeResourceFromCollection } });\n })], 2) : _vm._e();\n};\nvar _sfc_staticRenderFns = [function() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"avatar\" }, [_c(\"span\", { staticClass: \"icon-projects\" })]);\n}];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"efe8beb8\"\n);\nconst NcCollectionList = __component__.exports;\nexport {\n NcCollectionList as N\n};\n//# sourceMappingURL=NcCollectionList-CFt-EZON.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcGuestContent-B0ivUQHg.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcGuestContent-B0ivUQHg.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcGuestContent-B0ivUQHg.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcGuestContent\",\n mounted() {\n document.getElementById(\"content\").classList.add(\"nc-guest-content\");\n },\n destroyed() {\n document.getElementById(\"content\").classList.remove(\"nc-guest-content\");\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { attrs: { \"id\": \"guest-content-vue\" } }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"cbad78fb\"\n);\nconst NcGuestContent = __component__.exports;\nexport {\n NcGuestContent as default\n};\n//# sourceMappingURL=NcGuestContent.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcHeaderButton-Dr6MgPDQ.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcHeaderButton-Dr6MgPDQ.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcHeaderButton-Dr6MgPDQ.css';\nimport { G as GenRandomId } from \"../chunks/GenRandomId-CMooMQt0.mjs\";\nimport NcButton from \"./NcButton.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcHeaderButton\",\n components: {\n NcButton\n },\n props: {\n /**\n * Unique id for this menu\n */\n id: {\n type: String,\n required: true\n },\n /**\n * `aria-label` attribute of the button\n */\n ariaLabel: {\n type: String,\n required: true\n },\n /**\n * Additional visually hidden description text for the button\n */\n description: {\n type: String,\n default: null\n }\n },\n emits: [\n \"click\"\n ],\n data() {\n return {\n descriptionId: GenRandomId()\n };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"header-menu\", attrs: { \"id\": _vm.id } }, [_c(\"NcButton\", { staticClass: \"header-menu__trigger\", attrs: { \"aria-label\": _vm.ariaLabel, \"aria-describedby\": _vm.descriptionId, \"size\": \"large\", \"variant\": \"tertiary-no-background\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.$emit(\"click\", $event);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"icon\")];\n }, proxy: true }], null, true) }), _vm.description ? _c(\"span\", { staticClass: \"header-menu__description hidden-visually\", attrs: { \"id\": _vm.descriptionId } }, [_vm._v(\" \" + _vm._s(_vm.description) + \" \")]) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"20fd51f9\"\n);\nconst NcHeaderButton = __component__.exports;\nexport {\n NcHeaderButton as default\n};\n//# sourceMappingURL=NcHeaderButton.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcRelatedResourcesPanel-DhStLIO2.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcRelatedResourcesPanel-DhStLIO2.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcRelatedResourcesPanel-DhStLIO2.css';\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-DFQfzh63.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-C7Dy9Bph.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { r as register, S as t39, a as t, T as t36, U as t8 } from \"./_l10n-DQgzdF9S.mjs\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nconst _sfc_main$4 = {\n name: \"AccountGroupIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$4 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon account-group-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n null\n);\nconst AccountGroup = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"OpenInNewIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$3 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon open-in-new-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n null\n);\nconst OpenInNew = __component__$3.exports;\nregister(t39);\nconst teamResourceProviders = getCapabilities()?.circles?.teamResourceProviders ?? [];\nconst _sfc_main$2 = {\n name: \"NcTeamResources\",\n components: {\n AccountGroup,\n ChevronDown,\n ChevronUp,\n OpenInNew,\n NcButton,\n NcIconSvgWrapper\n },\n props: {\n providerId: {\n type: String,\n default: null\n },\n itemId: {\n type: [String, Number],\n default: null\n }\n },\n data() {\n return {\n appEnabled: OC?.appswebroots?.circles !== void 0 && (OC.config.version.split(\".\")[0] ?? 0) >= 29,\n loading: false,\n teamResources: null,\n teamOpen: []\n };\n },\n computed: {\n isVisible() {\n return !this.loading && this.teamResources?.length > 0;\n },\n teamProviders() {\n return (teamId) => {\n const team = this.teamResources.find((t2) => t2.teamId === teamId);\n return team.resources?.reduce((acc, resource) => {\n if (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n return acc;\n }\n if (!acc[resource.provider.id]) {\n acc[resource.provider.id] = resource.provider;\n acc[resource.provider.id].resources = [];\n }\n if (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n return acc;\n }\n acc[resource.provider.id].resources.push(resource);\n return acc;\n }, {});\n };\n },\n open() {\n return (teamId) => {\n return this.teamOpen.indexOf(teamId) !== -1;\n };\n }\n },\n watch: {\n providerId() {\n this.fetchTeamResources();\n },\n itemId() {\n this.fetchTeamResources();\n }\n },\n created() {\n this.fetchTeamResources();\n },\n methods: {\n t,\n async fetchTeamResources() {\n if (!teamResourceProviders.includes(this.providerId)) {\n return;\n }\n try {\n this.loading = true;\n const response = await axios.get(generateOcsUrl(`/teams/resources/${this.providerId}/${this.itemId}`));\n this.teamResources = response.data.ocs.data.teams;\n this.teamOpen = [this.teamResources[0]?.teamId];\n } catch (e) {\n this.teamResources = null;\n console.error(e);\n } finally {\n this.loading = false;\n }\n },\n toggleOpen(teamId, open) {\n if (open) {\n this.teamOpen.push(teamId);\n } else {\n this.teamOpen.splice(this.teamOpen.indexOf(teamId), 1);\n }\n }\n }\n};\nvar _sfc_render$2 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _vm.appEnabled && _vm.isVisible ? _c(\"div\", { staticClass: \"team-resources\" }, [_c(\"h5\", { staticClass: \"team-resources__header\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Related team resources\")) + \" \")]), _vm._l(_vm.teamResources, function(team) {\n return _c(\"details\", { key: team.teamId, staticClass: \"related-team\", attrs: { \"name\": \"Team resources\", \"open\": _vm.open(team.teamId) }, on: { \"toggle\": (event) => _vm.toggleOpen(team.teamId, event.target.open) } }, [_c(\"summary\", { staticClass: \"related-team__header\" }, [_c(\"h5\", { staticClass: \"related-team__name\" }, [_c(\"AccountGroup\", { attrs: { \"size\": 20 } }), _vm._v(\" \" + _vm._s(team.displayName) + \" \")], 1), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.t(\"View team\"), \"href\": team.link, \"title\": _vm.t(\"View team\"), \"variant\": \"tertiary\" }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"OpenInNew\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }), _vm.open(team.teamId) ? _c(\"ChevronUp\", { attrs: { \"size\": 20 } }) : _c(\"ChevronDown\", { attrs: { \"size\": 20 } })], 1), _c(\"div\", _vm._l(_vm.teamProviders(team.teamId), function(provider) {\n return _c(\"div\", { key: provider.id, staticClass: \"related-team-provider\" }, [provider.resources.length > 0 ? _c(\"h6\", [_vm._v(\" \" + _vm._s(provider.name) + \" \")]) : _vm._e(), _c(\"ul\", _vm._l(provider.resources, function(resource) {\n return _c(\"li\", { key: resource.url, staticClass: \"related-team-resource\" }, [_c(\"a\", { staticClass: \"related-team-resource__link\", attrs: { \"href\": resource.url } }, [resource.iconEmoji ? _c(\"span\", { staticClass: \"resource__icon\" }, [_vm._v(\" \" + _vm._s(resource.iconEmoji) + \" \")]) : resource.iconSvg ? _c(\"NcIconSvgWrapper\", { staticClass: \"resource__icon\", attrs: { \"svg\": resource.iconSvg, \"size\": 20 } }) : resource.iconURL ? _c(\"span\", { staticClass: \"resource__icon\" }, [_c(\"img\", { attrs: { \"src\": resource.iconURL, \"alt\": \"\" } })]) : _vm._e(), _c(\"span\", { staticClass: \"resource__name\" }, [_vm._v(\" \" + _vm._s(resource.label) + \" \")])], 1)]);\n }), 0)]);\n }), 0)]);\n })], 2) : _vm._e();\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"9e46b7b2\"\n);\nconst NcTeamResources = __component__$2.exports;\nregister(t36);\nconst _sfc_main$1 = {\n name: \"NcResource\",\n components: {\n NcButton\n },\n props: {\n icon: {\n type: String,\n required: true\n },\n name: {\n type: String,\n required: true\n },\n url: {\n type: String,\n required: true\n }\n },\n data() {\n return {\n labelTranslated: t('Open link to \"{resourceName}\"', { resourceName: this.name })\n };\n },\n computed: {\n route() {\n return getRoute(this.$router, this.url);\n }\n },\n methods: {\n t\n }\n};\nvar _sfc_render$1 = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"resource\" }, [_c(\"NcButton\", { staticClass: \"resource__button\", attrs: { \"aria-label\": _vm.labelTranslated, \"to\": _vm.route, \"href\": _vm.route ? null : _vm.url, \"variant\": \"tertiary\" }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"div\", { staticClass: \"resource__icon\" }, [_c(\"img\", { attrs: { \"src\": _vm.icon } })])];\n }, proxy: true }]) }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")])], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"77c38062\"\n);\nconst NcResource = __component__$1.exports;\nregister(t8);\nconst _sfc_main = {\n name: \"NcRelatedResourcesPanel\",\n components: {\n NcResource,\n NcTeamResources\n },\n props: {\n /**\n * The provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n */\n providerId: {\n type: String,\n default: null\n },\n /**\n * The item id which uniquely identities the e.g. Calendar event, Deck board, file, Talk room, etc.\n */\n itemId: {\n type: [String, Number],\n default: null\n },\n /**\n * Limits to specific resource type. i.e. any provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n */\n resourceType: {\n type: String,\n default: \"\"\n },\n /**\n * Set the maximum number of resources to load\n */\n limit: {\n type: Number,\n default: 0\n },\n /**\n * Only used by the files sidebar\n *\n * File info is passed when registered with `OCA.Sharing.ShareTabSections.registerSection()`\n */\n fileInfo: {\n type: Object,\n default: null\n },\n /**\n * Make the header name dynamic\n */\n header: {\n type: String,\n default: t(\"Related resources\")\n },\n description: {\n type: String,\n default: t(\"Anything shared with the same group of people will show up here\")\n },\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"has-error\",\n \"has-resources\"\n ],\n data() {\n return {\n appEnabled: OC?.appswebroots?.related_resources !== void 0,\n loading: false,\n error: null,\n resources: []\n };\n },\n computed: {\n isVisible() {\n if (this.loading) {\n return false;\n }\n return this.error ?? this.resources.length > 0;\n },\n subline() {\n if (this.error) {\n return t(\"Error getting related resources. Please contact your system administrator if you have any questions.\");\n }\n return this.description;\n },\n hasResourceInfo() {\n if (this.providerId !== null && this.itemId !== null) {\n return true;\n }\n if (this.fileInfo !== null) {\n return true;\n }\n return false;\n },\n isFiles() {\n return this.fileInfo?.id !== void 0;\n },\n url() {\n let providerId = null;\n let itemId = null;\n if (this.isFiles) {\n providerId = \"files\";\n itemId = this.fileInfo.id;\n } else {\n providerId = this.providerId;\n itemId = this.itemId;\n }\n return generateOcsUrl(\"/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json\", {\n providerId,\n itemId,\n resourceType: this.resourceType,\n limit: this.limit\n });\n }\n },\n watch: {\n providerId() {\n this.fetchRelatedResources();\n },\n itemId() {\n this.fetchRelatedResources();\n },\n fileInfo() {\n this.fetchRelatedResources();\n },\n error(error) {\n this.$emit(\"has-error\", Boolean(error));\n },\n resources(resources) {\n this.$emit(\"has-resources\", resources.length > 0);\n }\n },\n created() {\n this.fetchRelatedResources();\n },\n methods: {\n t,\n async fetchRelatedResources() {\n if (!this.appEnabled || !this.hasResourceInfo) {\n return;\n }\n this.loading = true;\n this.error = null;\n this.resources = [];\n try {\n const response = await axios.get(this.url);\n this.resources = response.data.ocs?.data;\n } catch (e) {\n this.error = e;\n console.error(e);\n } finally {\n this.loading = false;\n }\n }\n }\n};\nvar _sfc_render = function render5() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", [_c(\"NcTeamResources\", { attrs: { \"provider-id\": _vm.providerId, \"item-id\": _vm.itemId } }), _vm.appEnabled && _vm.isVisible ? _c(\"div\", { staticClass: \"related-resources\" }, [_c(\"div\", { staticClass: \"related-resources__header\" }, [_c(\"h5\", [_vm._v(_vm._s(_vm.header))]), _c(\"p\", [_vm._v(_vm._s(_vm.subline))])]), _vm._l(_vm.resources, function(resource) {\n return _c(\"NcResource\", { key: resource.itemId, staticClass: \"related-resources__entry\", attrs: { \"icon\": resource.icon, \"name\": resource.title, \"url\": resource.url } });\n })], 2) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"badd46a9\"\n);\nconst NcRelatedResourcesPanel = __component__.exports;\nexport {\n NcRelatedResourcesPanel as N\n};\n//# sourceMappingURL=NcRelatedResourcesPanel-Y38zaKtn.mjs.map\n","import { defineComponent } from \"vue\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = defineComponent({\n name: \"NcSavingIndicatorIcon\",\n props: {\n /**\n * Specify the size of the saving icon.\n */\n size: {\n type: Number,\n default: 20\n },\n /**\n * Specify what is saved.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Set to true when saving is in progress.\n */\n saving: {\n type: Boolean,\n default: false,\n required: false\n },\n /**\n * Set to true if an error occured while saving.\n */\n error: {\n type: Boolean,\n default: false,\n required: false\n }\n },\n emits: [\"click\"],\n computed: {\n indicatorColor() {\n return this.error ? \"var(--color-error)\" : this.saving ? \"var(--color-primary-element)\" : \"none\";\n }\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"span\", { staticClass: \"material-design-icon\", attrs: { \"aria-label\": _vm.name, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"fill\": _vm.indicatorColor, \"d\": \"m19 15a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4z\" } }), _c(\"path\", { attrs: { \"fill\": \"currentColor\", \"d\": \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\" } }, [_vm.name ? _c(\"title\", [_vm._v(_vm._s(_vm.name))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcSavingIndicatorIcon = __component__.exports;\nexport {\n NcSavingIndicatorIcon as N\n};\n//# sourceMappingURL=NcSavingIndicatorIcon-nv1147dk.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcSelectUsers-CRH00RA2.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcSelectUsers-CRH00RA2.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcSelectUsers-CRH00RA2.css';\nimport { ref, watch } from \"vue\";\nimport { r as register, i as t43, d as t15, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { N as NcListItemIcon } from \"./NcListItemIcon-0H1Pepui.mjs\";\nimport { N as NcSelect } from \"./NcSelect-CjUzohn5.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t15, t43);\nconst _sfc_main = {\n __name: \"NcSelectUsers\",\n props: {\n /**\n * `aria-label` for the clear input button\n */\n ariaLabelClearSelected: {\n type: String,\n default: t(\"Clear selected\")\n },\n /**\n * `aria-label` for the listbox element\n */\n ariaLabelListbox: {\n type: String,\n default: t(\"Options\")\n },\n /**\n * Allows to customize the `aria-label` for the deselect-option button\n * The default is \"Deselect \" + optionLabel\n * @type {(optionLabel: string) => string}\n */\n ariaLabelDeselectOption: {\n type: Function,\n default: (optionLabel) => t(\"Deselect {option}\", { option: optionLabel })\n },\n /**\n * Keep the dropdown open after selecting an entry.\n */\n keepOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Disable the component\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Callback to determine if the provided option should match the current search text.\n * Used to determine if the option should be displayed.\n *\n * By default it filters by the `displayName` and `subname` properties of the user\n * option object unless this prop is set explicitly\n */\n filterBy: {\n type: Function,\n default: null\n },\n /**\n * Input element id\n */\n inputId: {\n type: String,\n default: () => GenRandomId()\n },\n /**\n * Visible label for the input element\n *\n * @default 'Select account'\n */\n inputLabel: {\n type: String,\n default: t(\"Select account\")\n },\n /**\n * Pass true if you are using an external label.\n * In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.\n */\n labelOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Show a loading icon.\n *\n * @default false\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Allow selection of multiple options\n *\n * @default false\n */\n multiple: {\n type: Boolean,\n default: false\n },\n /**\n * Disable automatic wrapping when selected options overflow the width.\n *\n * @default false\n */\n noWrap: {\n type: Boolean,\n default: false\n },\n /**\n * Array of users.\n *\n * @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}\n */\n options: {\n type: Array,\n default: () => []\n },\n /**\n * Placeholder text.\n */\n placeholder: {\n type: String,\n default: \"\"\n },\n /**\n * Enable if a value is required for native form validation\n */\n required: {\n type: Boolean,\n default: false\n },\n /**\n * Currently selected value\n *\n * The `v-model` directive may be used for two-way data binding\n */\n modelValue: {\n type: Object,\n default: null\n }\n },\n emits: [\"search\", \"update:modelValue\"],\n setup(__props, { emit }) {\n const props = __props;\n const search = ref(\"\");\n watch(search, () => {\n emit(\"search\", search.value);\n });\n const clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-clickable-area\"));\n const gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-grid-baseline\"));\n const avatarSize = clickableArea - 2 * gridBaseLine;\n function localFilterBy(option, label, search2) {\n if (props.filterBy) {\n return props.filterBy;\n }\n const EMAIL_NOTATION = /[^<]*<([^>]+)/;\n const match = search2.match(EMAIL_NOTATION);\n const subname = option.subname?.toLocaleLowerCase() ?? \"\";\n return match && subname.indexOf(match[1].toLocaleLowerCase()) > -1 || `${label} ${option.subname}`.toLocaleLowerCase().indexOf(search2.toLocaleLowerCase()) > -1;\n }\n return { __sfc: true, props, emit, search, clickableArea, gridBaseLine, avatarSize, localFilterBy, NcListItemIcon, NcSelect };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcSelect, _vm._b({ staticClass: \"nc-select-users\", attrs: { \"filter-by\": _setup.localFilterBy, \"label\": \"displayName\" }, on: { \"search\": function($event) {\n _setup.search = $event;\n }, \"update:model-value\": function($event) {\n return _vm.$emit(\"update:modelValue\", $event);\n } }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { \"avatar-size\": 32, \"name\": option.displayName, \"search\": _setup.search } }, \"NcListItemIcon\", option, false))];\n } }, { key: \"selected-option\", fn: function(selectedOption) {\n return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { \"avatar-size\": _setup.avatarSize, \"name\": selectedOption.displayName, \"no-margin\": \"\", \"search\": _setup.search } }, \"NcListItemIcon\", selectedOption, false))];\n } }]) }, \"NcSelect\", _vm.$props, false));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ecb8da4e\"\n);\nconst NcSelectUsers = __component__.exports;\nexport {\n NcSelectUsers as N\n};\n//# sourceMappingURL=NcSelectUsers-W17kOow7.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcSettingsInputText-Bsp_6DjJ.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcSettingsInputText-Bsp_6DjJ.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcSettingsInputText-Bsp_6DjJ.css';\nimport { r as register, h as t47, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t47);\nconst _sfc_main = {\n name: \"NcSettingsInputText\",\n model: {\n prop: \"value\",\n event: \"update:value\"\n },\n props: {\n /**\n * label of the select group element\n */\n label: {\n type: String,\n required: true\n },\n /**\n * hint of the select group input\n */\n hint: {\n type: String,\n default: \"\"\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n value: {\n type: String,\n default: void 0\n },\n /**\n * value of the select group input\n */\n modelValue: {\n type: String,\n default: \"\"\n },\n /**\n * disabled state of the settings select group input\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * id attribute of the select group element\n */\n id: {\n type: String,\n default: () => \"settings-input-text-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n /**\n * Emitted when the inputs value changes\n *\n * @type {string}\n */\n \"update:modelValue\",\n /* Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"input\",\n \"submit\",\n \"change\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model\n };\n },\n data() {\n return {\n submitTranslated: t(\"Submit\")\n };\n },\n computed: {\n /**\n * @return {string}\n */\n idSubmit() {\n return this.id + \"-submit\";\n }\n },\n methods: {\n onInput(event) {\n this.$emit(\"input\", event);\n this.model = event.target.value;\n },\n onSubmit(event) {\n if (!this.disabled) {\n this.$emit(\"submit\", event);\n }\n },\n onChange(event) {\n this.$emit(\"change\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"form\", { ref: \"form\", attrs: { \"disabled\": _vm.disabled }, on: { \"submit\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"input-wrapper\" }, [_c(\"label\", { staticClass: \"action-input__label\", attrs: { \"for\": _vm.id } }, [_vm._v(_vm._s(_vm.label))]), _c(\"input\", { attrs: { \"id\": _vm.id, \"type\": \"text\", \"disabled\": _vm.disabled }, domProps: { \"value\": _vm.model }, on: { \"input\": _vm.onInput, \"change\": _vm.onChange } }), _c(\"input\", { staticClass: \"action-input__submit\", attrs: { \"id\": _vm.idSubmit, \"type\": \"submit\" }, domProps: { \"value\": _vm.submitTranslated } }), _vm.hint ? _c(\"p\", { staticClass: \"hint\" }, [_vm._v(\" \" + _vm._s(_vm.hint) + \" \")]) : _vm._e()])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0907eb0a\"\n);\nconst NcSettingsInputText = __component__.exports;\nexport {\n NcSettingsInputText as N\n};\n//# sourceMappingURL=NcSettingsInputText-YO053agL.mjs.map\n","function checkIfDarkTheme(el = document.body) {\n const backgroundInvertIfDark = window.getComputedStyle(el).getPropertyValue(\"--background-invert-if-dark\");\n if (backgroundInvertIfDark !== void 0) {\n return backgroundInvertIfDark === \"invert(100%)\";\n }\n return false;\n}\nconst isDarkTheme = checkIfDarkTheme();\nexport {\n checkIfDarkTheme,\n isDarkTheme\n};\n//# sourceMappingURL=isDarkTheme.mjs.map\n","import { ref, watch, readonly } from \"vue\";\nimport { createSharedComposable, usePreferredDark, useMutationObserver } from \"@vueuse/core\";\nimport { checkIfDarkTheme } from \"../Functions/isDarkTheme.mjs\";\nfunction useIsDarkThemeElement(el = document.body) {\n const isDarkTheme = ref(checkIfDarkTheme(el));\n const isDarkSystemTheme = usePreferredDark();\n function updateIsDarkTheme() {\n isDarkTheme.value = checkIfDarkTheme(el);\n }\n useMutationObserver(el, updateIsDarkTheme, { attributes: true });\n watch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true });\n return readonly(isDarkTheme);\n}\nconst useIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement());\nexport {\n useIsDarkTheme,\n useIsDarkThemeElement\n};\n//# sourceMappingURL=useIsDarkTheme.mjs.map\n","import { N as NcActionButton } from \"./chunks/NcActionButton-CuVNJJtW.mjs\";\nimport { N as NcActionButtonGroup } from \"./chunks/NcActionButtonGroup-DEf00ge6.mjs\";\nimport NcActionCaption from \"./Components/NcActionCaption.mjs\";\nimport { N as NcActionCheckbox } from \"./chunks/NcActionCheckbox-DSMKeccY.mjs\";\nimport { N as NcActionInput } from \"./chunks/NcActionInput-B4qGsF57.mjs\";\nimport NcActionLink from \"./Components/NcActionLink.mjs\";\nimport { N as NcActionRadio } from \"./chunks/NcActionRadio-yAm71xxU.mjs\";\nimport NcActionRouter from \"./Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./chunks/NcActions-B4VZCD8B.mjs\";\nimport NcActionSeparator from \"./Components/NcActionSeparator.mjs\";\nimport NcActionText from \"./Components/NcActionText.mjs\";\nimport { N as NcActionTextEditable } from \"./chunks/NcActionTextEditable-DNweMXRJ.mjs\";\nimport { N as NcAppContent } from \"./chunks/NcAppContent-DyXqBrOB.mjs\";\nimport NcAppContentDetails from \"./Components/NcAppContentDetails.mjs\";\nimport NcAppContentList from \"./Components/NcAppContentList.mjs\";\nimport { N as NcAppNavigation } from \"./chunks/NcAppNavigation-CqKWSnxO.mjs\";\nimport { N as NcAppNavigationCaption } from \"./chunks/NcAppNavigationCaption-DcgSwIOY.mjs\";\nimport NcAppNavigationIconBullet from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport { N as NcAppNavigationItem } from \"./chunks/NcAppNavigationItem-CrTVtqYV.mjs\";\nimport NcAppNavigationList from \"./Components/NcAppNavigationList.mjs\";\nimport NcAppNavigationNew from \"./Components/NcAppNavigationNew.mjs\";\nimport { N as NcAppNavigationNewItem } from \"./chunks/NcAppNavigationNewItem-CcBvnQst.mjs\";\nimport { N as NcAppNavigationSearch } from \"./chunks/NcAppNavigationSearch-BC3kPnxr.mjs\";\nimport { N as NcAppNavigationSettings } from \"./chunks/NcAppNavigationSettings-JruJ3cF1.mjs\";\nimport NcAppNavigationSpacer from \"./Components/NcAppNavigationSpacer.mjs\";\nimport { N as NcAppSettingsDialog } from \"./chunks/NcAppSettingsDialog-D98cLpyy.mjs\";\nimport NcAppSettingsSection from \"./Components/NcAppSettingsSection.mjs\";\nimport { N as NcAppSidebar } from \"./chunks/NcAppSidebar-BdryV6wY.mjs\";\nimport { N as NcAppSidebarHeader } from \"./chunks/NcAppSidebarHeader-G2VD8Nfl.mjs\";\nimport NcAppSidebarTab from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as NcAvatar } from \"./chunks/NcAvatar-YSp2ORHc.mjs\";\nimport { u } from \"./chunks/NcAvatar-YSp2ORHc.mjs\";\nimport { N as NcBlurHash } from \"./chunks/NcBlurHash-do2wxY-0.mjs\";\nimport { N as NcBreadcrumb } from \"./chunks/NcBreadcrumb-Cu1XtrUo.mjs\";\nimport { N as NcBreadcrumbs } from \"./chunks/NcBreadcrumbs-B1LdRe5_.mjs\";\nimport NcButton from \"./Components/NcButton.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./chunks/NcCheckboxRadioSwitch-VeztTzpz.mjs\";\nimport { N as NcCollectionList } from \"./chunks/NcCollectionList-CFt-EZON.mjs\";\nimport { N as NcColorPicker } from \"./chunks/NcColorPicker-D7aj2f61.mjs\";\nimport { N as NcContent } from \"./chunks/NcContent-Cfz3ytoh.mjs\";\nimport { N as NcCounterBubble } from \"./chunks/NcCounterBubble-CDfRYl8B.mjs\";\nimport { N as NcDashboardWidget } from \"./chunks/NcDashboardWidget-eStjL-WD.mjs\";\nimport { N as NcDashboardWidgetItem } from \"./chunks/NcDashboardWidgetItem-BRFj1-Ir.mjs\";\nimport { N as NcDateTime } from \"./chunks/NcDateTime-DshRFtUU.mjs\";\nimport { u as u2 } from \"./chunks/NcDateTime-DshRFtUU.mjs\";\nimport NcDateTimePicker from \"./Components/NcDateTimePicker.mjs\";\nimport NcDateTimePickerNative from \"./Components/NcDateTimePickerNative.mjs\";\nimport { N as NcDialog } from \"./chunks/NcDialog-CKgpZOiy.mjs\";\nimport { N as NcDialogButton } from \"./chunks/NcDialogButton-CROAi1Ll.mjs\";\nimport NcEllipsisedOption from \"./Components/NcEllipsisedOption.mjs\";\nimport { N as NcEmojiPicker } from \"./chunks/NcEmojiPicker-Du-vbR5T.mjs\";\nimport NcEmptyContent from \"./Components/NcEmptyContent.mjs\";\nimport NcGuestContent from \"./Components/NcGuestContent.mjs\";\nimport NcHeaderButton from \"./Components/NcHeaderButton.mjs\";\nimport { N as NcHeaderMenu } from \"./chunks/NcHeaderMenu-Dj7jeq88.mjs\";\nimport { N as NcHighlight } from \"./chunks/index-Bz6q9mZw.mjs\";\nimport { N as NcIconSvgWrapper } from \"./chunks/NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { N as NcInputField } from \"./chunks/NcInputField-DTtUueUZ.mjs\";\nimport { N as NcListItem } from \"./chunks/NcListItem-B4Uyn2AS.mjs\";\nimport { N as NcListItemIcon } from \"./chunks/NcListItemIcon-0H1Pepui.mjs\";\nimport NcLoadingIcon from \"./Components/NcLoadingIcon.mjs\";\nimport NcModal from \"./Components/NcModal.mjs\";\nimport NcNoteCard from \"./Components/NcNoteCard.mjs\";\nimport { N as NcPasswordField } from \"./chunks/NcPasswordField-DNjegDVj.mjs\";\nimport { N as NcPopover } from \"./chunks/NcPopover-kYsewfff.mjs\";\nimport { N as NcProgressBar } from \"./chunks/NcProgressBar-DegJ2JjE.mjs\";\nimport { N as NcRelatedResourcesPanel } from \"./chunks/NcRelatedResourcesPanel-Y38zaKtn.mjs\";\nimport { N as NcMentionBubble } from \"./chunks/index-Dpk-sL3D.mjs\";\nimport { r } from \"./chunks/index-Dpk-sL3D.mjs\";\nimport { N as NcAutoCompleteResult, a as NcRichContenteditable } from \"./chunks/NcRichContenteditable-B8UqleMX.mjs\";\nimport { N as NcRichText } from \"./chunks/NcRichText-CwXSzf21.mjs\";\nimport { N, h, d, i, b, r as r2, c, a } from \"./chunks/index-56SXuvlv.mjs\";\nimport \"@vueuse/core\";\nimport \"vue\";\nimport \"vue-router\";\nimport { a as a2, g, b as b2, c as c2, d as d2, s } from \"./chunks/referencePickerModal-4kExxHbR.mjs\";\nimport \"unist-util-visit\";\nimport \"unist-builder\";\nimport \"@nextcloud/router\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/sharing/public\";\nimport \"@nextcloud/auth\";\nimport { N as NcSelect } from \"./chunks/NcSelect-CjUzohn5.mjs\";\nimport { N as NcTextField } from \"./chunks/NcTextField-o_8gWurX.mjs\";\nimport \"@nextcloud/event-bus\";\nimport { N as NcSavingIndicatorIcon } from \"./chunks/NcSavingIndicatorIcon-nv1147dk.mjs\";\nimport { N as NcSelectTags } from \"./chunks/NcSelectTags-wJN9J7_t.mjs\";\nimport { N as NcSelectUsers } from \"./chunks/NcSelectUsers-W17kOow7.mjs\";\nimport { N as NcSettingsInputText } from \"./chunks/NcSettingsInputText-YO053agL.mjs\";\nimport { N as NcSettingsSection } from \"./chunks/NcSettingsSection-C76Kqeew.mjs\";\nimport { N as NcSettingsSelectGroup } from \"./chunks/NcSettingsSelectGroup-CH_kppKo.mjs\";\nimport { N as NcTextArea } from \"./chunks/NcTextArea-BHERsE_g.mjs\";\nimport { N as NcTimezonePicker } from \"./chunks/NcTimezonePicker-q46K1fSq.mjs\";\nimport { N as NcUserBubble } from \"./chunks/NcUserBubble-B3-E-5F5.mjs\";\nimport { N as NcUserStatusIcon } from \"./chunks/NcUserStatusIcon-kbPFeJV6.mjs\";\nimport NcVNodes from \"./Components/NcVNodes.mjs\";\nimport { useHotKey } from \"./Composables/useHotKey.mjs\";\nimport { useIsDarkTheme, useIsDarkThemeElement } from \"./Composables/useIsDarkTheme.mjs\";\nimport { isFullscreenState, useIsFullscreen } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT, MOBILE_SMALL_BREAKPOINT, isMobileState, useIsMobile, useIsSmallMobile } from \"./Composables/useIsMobile.mjs\";\nimport { isA11yActivation } from \"./Functions/a11y.mjs\";\nimport { getEnabledContactsMenuActions, registerContactsMenuAction } from \"./Functions/contactsMenu.mjs\";\nimport { spawnDialog } from \"./Functions/dialog.mjs\";\nimport { E, a as a3, e, g as g2, s as s2 } from \"./chunks/emoji-BY_D0V5K.mjs\";\nimport { checkIfDarkTheme, isDarkTheme } from \"./Functions/isDarkTheme.mjs\";\nimport { preloadImage } from \"./Functions/preloadImage.mjs\";\nimport { u as u3 } from \"./chunks/usernameToColor-yoVXn0De.mjs\";\nimport directive from \"./Directives/Focus.mjs\";\nimport { directive as directive$1 } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as default2 } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as default3 } from \"./Mixins/isFullscreen.mjs\";\nimport { default as default4 } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { VTooltip as VTooltip2 } from \"floating-vue\";\nconst NcComponents = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NcDirectives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: directive,\n Linkify: directive$1,\n Tooltip: VTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NextcloudVuePlugin = {\n install(Vue) {\n Object.entries(NcComponents).forEach(([name, component]) => {\n Vue.component(component.name || name, component);\n });\n Object.entries(NcDirectives).forEach(([name, directive2]) => {\n Vue.directive(name, directive2);\n });\n }\n};\nexport {\n E as EmojiSkinTone,\n directive as Focus,\n directive$1 as Linkify,\n MOBILE_BREAKPOINT,\n MOBILE_SMALL_BREAKPOINT,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n N as NcCustomPickerRenderResult,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes,\n NextcloudVuePlugin,\n VTooltip2 as Tooltip,\n a2 as anyLinkProviderId,\n checkIfDarkTheme,\n default2 as clickOutsideOptions,\n a3 as emojiAddRecent,\n e as emojiSearch,\n g2 as getCurrentSkinTone,\n getEnabledContactsMenuActions,\n g as getLinkWithPicker,\n b2 as getProvider,\n c2 as getProviders,\n h as hasInteractiveView,\n isA11yActivation,\n d as isCustomPickerElementRegistered,\n isDarkTheme,\n default3 as isFullscreen,\n isFullscreenState,\n default4 as isMobile,\n isMobileState,\n i as isWidgetRegistered,\n preloadImage,\n registerContactsMenuAction,\n b as registerCustomPickerElement,\n r2 as registerWidget,\n c as renderCustomPickerElement,\n a as renderWidget,\n r as richEditor,\n d2 as searchProvider,\n s2 as setCurrentSkinTone,\n s as sortProviders,\n spawnDialog,\n u2 as useFormatDateTime,\n useHotKey,\n useIsDarkTheme,\n useIsDarkThemeElement,\n useIsFullscreen,\n useIsMobile,\n useIsSmallMobile,\n u as userStatus,\n u3 as usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { formatFileSize } from '@nextcloud/files'\nimport { useFormatDateTime } from '@nextcloud/vue'\n\nexport default {\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tsetup(props) {\n\t\tconst { formattedFullTime } = useFormatDateTime(props.user.firstLoginTimestamp * 1000, {\n\t\t\trelativeTime: false,\n\t\t\tformat: {\n\t\t\t\ttimeStyle: 'short',\n\t\t\t\tdateStyle: 'short',\n\t\t\t},\n\t\t})\n\t\treturn {\n\t\t\tformattedFullTime,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselectedGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tselectedSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t\tuserGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tuserSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedSpace() {\n\t\t\tconst quotaUsed = this.user.quota.used > 0 ? this.user.quota.used : 0\n\t\t\treturn t('settings', '{size} used', { size: formatFileSize(quotaUsed, true) })\n\t\t},\n\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100))\n\t\t\t} else {\n\t\t\t\tconst usedInGB = this.user.quota.used / (10 * Math.pow(2, 30))\n\t\t\t\t// asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)))\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota\n\t\t},\n\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tconst humanQuota = formatFileSize(this.user.quota.quota)\n\t\t\t\tconst userQuota = this.quotaOptions.find(quota => quota.id === humanQuota)\n\t\t\t\treturn userQuota || { id: humanQuota, label: humanQuota }\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0]\n\t\t\t}\n\t\t\treturn this.quotaOptions[1] // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tconst availableLanguages = this.languages[0].languages.concat(this.languages[1].languages)\n\t\t\tconst userLang = availableLanguages.find(lang => lang.code === this.user.language)\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language,\n\t\t\t\t}\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn userLang\n\t\t},\n\n\t\tuserFirstLogin() {\n\t\t\tif (this.user.firstLoginTimestamp > 0) {\n\t\t\t\treturn this.formattedFullTime\n\t\t\t}\n\t\t\tif (this.user.firstLoginTimestamp < 0) {\n\t\t\t\treturn t('settings', 'Unknown')\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\n\t\t/* LAST LOGIN */\n\t\tuserLastLoginTooltip() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.formatDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tuserLastLogin() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.relativeModifiedDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\t},\n}\n","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<tr class=\"user-list__row\"\n\t\t:data-cy-user-row=\"user.id\">\n\t\t<td class=\"row__cell row__cell--avatar\" data-cy-user-list-cell-avatar>\n\t\t\t<NcLoadingIcon v-if=\"isLoadingUser\"\n\t\t\t\t:name=\"t('settings', 'Loading account …')\"\n\t\t\t\t:size=\"32\" />\n\t\t\t<NcAvatar v-else-if=\"visible\"\n\t\t\t\tdisable-menu\n\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t:user=\"user.id\" />\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--displayname\" data-cy-user-list-cell-displayname>\n\t\t\t<template v-if=\"editing && user.backendCapabilities.setDisplayName\">\n\t\t\t\t<NcTextField ref=\"displayNameField\"\n\t\t\t\t\tclass=\"user-row-text-field\"\n\t\t\t\t\tdata-cy-user-list-input-displayname\n\t\t\t\t\t:data-loading=\"loading.displayName || undefined\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{ 'icon-loading-small': loading.displayName }\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.displayName || isLoadingField\"\n\t\t\t\t\t:label=\"t('settings', 'Change display name')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedDisplayName\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t@trailing-button-click=\"updateDisplayName\" />\n\t\t\t</template>\n\t\t\t<strong v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"user.displayname?.length > 20 ? user.displayname : null\">\n\t\t\t\t{{ user.displayname }}\n\t\t\t</strong>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--username\" data-cy-user-list-cell-username>\n\t\t\t<span class=\"row__subtitle\">{{ user.id }}</span>\n\t\t</td>\n\n\t\t<td data-cy-user-list-cell-password\n\t\t\tclass=\"row__cell\"\n\t\t\t:class=\"{ 'row__cell--obfuscated': hasObfuscated }\">\n\t\t\t<template v-if=\"editing && settings.canChangePassword && user.backendCapabilities.setPassword\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\tdata-cy-user-list-input-password\n\t\t\t\t\t:data-loading=\"loading.password || undefined\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.password}\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.password || isLoadingField\"\n\t\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t\tmaxlength=\"469\"\n\t\t\t\t\t:label=\"t('settings', 'Set new password')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedPassword\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\trequired\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t@trailing-button-click=\"updatePassword\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"isObfuscated\">\n\t\t\t\t{{ t('settings', 'You do not have permissions to see the details of this account') }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-cy-user-list-cell-email>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.mailAddress}\"\n\t\t\t\t\tdata-cy-user-list-input-email\n\t\t\t\t\t:data-loading=\"loading.mailAddress || undefined\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:label=\"t('settings', 'Set new email address')\"\n\t\t\t\t\t:disabled=\"loading.mailAddress || isLoadingField\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedMail\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"email\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t@trailing-button-click=\"updateEmail\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"user.email?.length > 20 ? user.email : null\">\n\t\t\t\t{{ user.email }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--multiline\" data-cy-user-list-cell-groups>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'groups' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Add account to group') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect data-cy-user-list-input-groups\n\t\t\t\t\t:data-loading=\"loading.groups || undefined\"\n\t\t\t\t\t:input-id=\"'groups' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField || loading.groupsDetails\"\n\t\t\t\t\t:loading=\"loading.groups\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Add account to group')\"\n\t\t\t\t\t:taggable=\"settings.isAdmin || settings.isDelegatedAdmin\"\n\t\t\t\t\t:value=\"userGroups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:create-option=\"(value) => ({ id: value, name: value, isCreating: true })\"\n\t\t\t\t\t@search=\"searchGroups\"\n\t\t\t\t\t@option:created=\"createGroup\"\n\t\t\t\t\t@option:selected=\"options => addUserGroup(options.at(-1))\"\n\t\t\t\t\t@option:deselected=\"removeUserGroup\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userGroupsLabels?.length > 40 ? userGroupsLabels : null\">\n\t\t\t\t{{ userGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"settings.isAdmin || settings.isDelegatedAdmin\"\n\t\t\tdata-cy-user-list-cell-subadmins\n\t\t\tclass=\"row__cell row__cell--large row__cell--multiline\">\n\t\t\t<template v-if=\"editing && (settings.isAdmin || settings.isDelegatedAdmin)\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'subadmins' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set account as admin for') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect data-cy-user-list-input-subadmins\n\t\t\t\t\t:data-loading=\"loading.subadmins || undefined\"\n\t\t\t\t\t:input-id=\"'subadmins' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField || loading.subAdminGroupsDetails\"\n\t\t\t\t\t:loading=\"loading.subadmins\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:options=\"availableSubAdminGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account as admin for')\"\n\t\t\t\t\t:value=\"userSubAdminGroups\"\n\t\t\t\t\t@search=\"searchGroups\"\n\t\t\t\t\t@option:deselected=\"removeUserSubAdmin\"\n\t\t\t\t\t@option:selected=\"options => addUserSubAdmin(options.at(-1))\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userSubAdminGroupsLabels?.length > 40 ? userSubAdminGroupsLabels : null\">\n\t\t\t\t{{ userSubAdminGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-cy-user-list-cell-quota>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'quota' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Select account quota') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"editedUserQuota\"\n\t\t\t\t\t:close-on-select=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t\tdata-cy-user-list-input-quota\n\t\t\t\t\t:data-loading=\"loading.quota || undefined\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.quota\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:input-id=\"'quota' + uniqueId\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Select account quota')\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t@option:selected=\"setUserQuota\" />\n\t\t\t</template>\n\t\t\t<template v-else-if=\"!isObfuscated\">\n\t\t\t\t<span :id=\"'quota-progress' + uniqueId\">{{ userQuota }} ({{ usedSpace }})</span>\n\t\t\t\t<NcProgressBar :aria-labelledby=\"'quota-progress' + uniqueId\"\n\t\t\t\t\tclass=\"row__progress\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'row__progress--warn': usedQuota > 80,\n\t\t\t\t\t}\"\n\t\t\t\t\t:value=\"usedQuota\" />\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLanguages\"\n\t\t\tclass=\"row__cell row__cell--large\"\n\t\t\tdata-cy-user-list-cell-language>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'language' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set the language') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect :id=\"'language' + uniqueId\"\n\t\t\t\t\tdata-cy-user-list-input-language\n\t\t\t\t\t:data-loading=\"loading.languages || undefined\"\n\t\t\t\t\t:allow-empty=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.languages\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableLanguages\"\n\t\t\t\t\t:placeholder=\"t('settings', 'No language set')\"\n\t\t\t\t\t:value=\"userLanguage\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t@input=\"setUserLanguage\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ userLanguage.name }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showUserBackend || showConfig.showStoragePath\"\n\t\t\tdata-cy-user-list-cell-storage-location\n\t\t\tclass=\"row__cell row__cell--large\">\n\t\t\t<template v-if=\"!isObfuscated\">\n\t\t\t\t<span v-if=\"showConfig.showUserBackend\">{{ user.backend }}</span>\n\t\t\t\t<span v-if=\"showConfig.showStoragePath\"\n\t\t\t\t\t:title=\"user.storageLocation\"\n\t\t\t\t\tclass=\"row__subtitle\">\n\t\t\t\t\t{{ user.storageLocation }}\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showFirstLogin\"\n\t\t\tclass=\"row__cell\"\n\t\t\tdata-cy-user-list-cell-first-login>\n\t\t\t<span v-if=\"!isObfuscated\">{{ userFirstLogin }}</span>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLastLogin\"\n\t\t\t:title=\"userLastLoginTooltip\"\n\t\t\tclass=\"row__cell\"\n\t\t\tdata-cy-user-list-cell-last-login>\n\t\t\t<span v-if=\"!isObfuscated\">{{ userLastLogin }}</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--fill\" data-cy-user-list-cell-manager>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'manager' + uniqueId\">\n\t\t\t\t\t{{ managerLabel }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"currentManager\"\n\t\t\t\t\tclass=\"select--fill\"\n\t\t\t\t\tdata-cy-user-list-input-manager\n\t\t\t\t\t:data-loading=\"loading.manager || undefined\"\n\t\t\t\t\t:input-id=\"'manager' + uniqueId\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loadingPossibleManagers || loading.manager\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t:filterable=\"false\"\n\t\t\t\t\t:internal-search=\"false\"\n\t\t\t\t\t:clearable=\"true\"\n\t\t\t\t\t@open=\"searchInitialUserManager\"\n\t\t\t\t\t@search=\"searchUserManager\"\n\t\t\t\t\t@update:model-value=\"updateUserManager\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ user.manager }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--actions\" data-cy-user-list-cell-actions>\n\t\t\t<UserRowActions v-if=\"visible && !isObfuscated && canEdit && !loading.all\"\n\t\t\t\t:actions=\"userActions\"\n\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t:edit=\"editing\"\n\t\t\t\t:user=\"user\"\n\t\t\t\t@update:edit=\"toggleEdit\" />\n\t\t</td>\n\t</tr>\n</template>\n\n<script>\nimport { formatFileSize, parseFileSize } from '@nextcloud/files'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\n\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport NcProgressBar from '@nextcloud/vue/components/NcProgressBar'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcTextField from '@nextcloud/vue/components/NcTextField'\n\nimport UserRowActions from './UserRowActions.vue'\n\nimport UserRowMixin from '../../mixins/UserRowMixin.js'\nimport { isObfuscated, unlimitedQuota } from '../../utils/userUtils.ts'\nimport { searchGroups, loadUserGroups, loadUserSubAdminGroups } from '../../service/groups.ts'\nimport logger from '../../logger.ts'\n\nexport default {\n\tname: 'UserRow',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcLoadingIcon,\n\t\tNcProgressBar,\n\t\tNcSelect,\n\t\tNcTextField,\n\t\tUserRowActions,\n\t},\n\n\tmixins: [\n\t\tUserRowMixin,\n\t],\n\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tvisible: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tusers: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\thasObfuscated: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\trand: Math.random().toString(36).substring(2),\n\t\t\tloadingPossibleManagers: false,\n\t\t\tpossibleManagers: [],\n\t\t\tcurrentManager: '',\n\t\t\tediting: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tgroupsDetails: false,\n\t\t\t\tsubAdminGroupsDetails: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false,\n\t\t\t\twipe: false,\n\t\t\t\tmanager: false,\n\t\t\t},\n\t\t\teditedDisplayName: this.user.displayname,\n\t\t\teditedPassword: '',\n\t\t\teditedMail: this.user.email ?? '',\n\t\t\t// Cancelable promise for search groups request\n\t\t\tpromise: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tmanagerLabel() {\n\t\t\t// TRANSLATORS This string describes a person's manager in the context of an organization\n\t\t\treturn t('settings', 'Set line manager')\n\t\t},\n\n\t\tisObfuscated() {\n\t\t\treturn isObfuscated(this.user)\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tisLoadingUser() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.wipe\n\t\t},\n\n\t\tisLoadingField() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.all\n\t\t},\n\n\t\tuniqueId() {\n\t\t\treturn encodeURIComponent(this.user.id + this.rand)\n\t\t},\n\n\t\tavailableGroups() {\n\t\t\tconst groups = (this.settings.isAdmin || this.settings.isDelegatedAdmin)\n\t\t\t\t? this.$store.getters.getSortedGroups\n\t\t\t\t: this.$store.getters.getSubAdminGroups\n\n\t\t\treturn groups.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled')\n\t\t},\n\n\t\tavailableSubAdminGroups() {\n\t\t\treturn this.availableGroups.filter(group => group.id !== 'admin')\n\t\t},\n\n\t\tuserGroupsLabels() {\n\t\t\treturn this.userGroups\n\t\t\t\t.map(group => group.name ?? group.id)\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tuserSubAdminGroupsLabels() {\n\t\t\treturn this.userSubAdminGroups\n\t\t\t\t.map(group => group.name ?? group.id)\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tusedSpace() {\n\t\t\tif (this.user.quota?.used) {\n\t\t\t\treturn t('settings', '{size} used', { size: formatFileSize(this.user.quota?.used) })\n\t\t\t}\n\t\t\treturn t('settings', '{size} used', { size: formatFileSize(0) })\n\t\t},\n\n\t\tcanEdit() {\n\t\t\treturn getCurrentUser().uid !== this.user.id || this.settings.isAdmin || this.settings.isDelegatedAdmin\n\t\t},\n\n\t\tuserQuota() {\n\t\t\tlet quota = this.user.quota?.quota\n\n\t\t\tif (quota === 'default') {\n\t\t\t\tquota = this.settings.defaultQuota\n\t\t\t\tif (quota !== 'none') {\n\t\t\t\t\t// convert to numeric value to match what the server would usually return\n\t\t\t\t\tquota = parseFileSize(quota, true)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// when the default quota is unlimited, the server returns -3 here, map it to \"none\"\n\t\t\tif (quota === 'none' || quota === -3) {\n\t\t\t\treturn t('settings', 'Unlimited')\n\t\t\t} else if (quota >= 0) {\n\t\t\t\treturn formatFileSize(quota)\n\t\t\t}\n\t\t\treturn formatFileSize(0)\n\t\t},\n\n\t\tuserActions() {\n\t\t\tconst actions = [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Delete account'),\n\t\t\t\t\taction: this.deleteUser,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Disconnect all devices and delete local data'),\n\t\t\t\t\taction: this.wipeUserDevices,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\t\ttext: this.user.enabled ? t('settings', 'Disable account') : t('settings', 'Enable account'),\n\t\t\t\t\taction: this.enableDisableUser,\n\t\t\t\t},\n\t\t\t]\n\t\t\tif (this.user.email !== null && this.user.email !== '') {\n\t\t\t\tactions.push({\n\t\t\t\t\ticon: 'icon-mail',\n\t\t\t\t\ttext: t('settings', 'Resend welcome email'),\n\t\t\t\t\taction: this.sendWelcomeMail,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn actions.concat(this.externalActions)\n\t\t},\n\n\t\t// mapping saved values to objects\n\t\teditedUserQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && parseFileSize(this.settings.defaultQuota, true) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tavailableLanguages() {\n\t\t\treturn this.languages[0].languages.concat(this.languages[1].languages)\n\t\t},\n\t},\n\tasync beforeMount() {\n\t\tif (this.user.manager) {\n\t\t\tawait this.initManager(this.user.manager)\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync wipeUserDevices() {\n\t\t\tconst userid = this.user.id\n\t\t\tawait confirmPassword()\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.', { userid }),\n\t\t\t\tt('settings', 'Remote wipe of devices'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Wipe {userid}\\'s devices', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.wipe = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\tthis.$store.dispatch('wipeUserDevices', userid)\n\t\t\t\t\t\t\t.then(() => showSuccess(t('settings', 'Wiped {userid}\\'s devices', { userid })), { timeout: 2000 })\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tthis.loading.wipe = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tfilterManagers(managers) {\n\t\t\treturn managers.filter((manager) => manager.id !== this.user.id)\n\t\t},\n\n\t\tasync initManager(userId) {\n\t\t\tawait this.$store.dispatch('getUser', userId).then(response => {\n\t\t\t\tthis.currentManager = response?.data.ocs.data\n\t\t\t})\n\t\t},\n\n\t\tasync searchInitialUserManager() {\n\t\t\tthis.loadingPossibleManagers = true\n\t\t\tawait this.searchUserManager()\n\t\t\tthis.loadingPossibleManagers = false\n\t\t},\n\n\t\tasync loadGroupsDetails() {\n\t\t\tthis.loading.groups = true\n\t\t\tthis.loading.groupsDetails = true\n\t\t\ttry {\n\t\t\t\tconst groups = await loadUserGroups({ userId: this.user.id })\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t\tthis.selectedGroups = this.selectedGroups.map(selectedGroup => groups.find(group => group.id === selectedGroup.id) ?? selectedGroup)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to load groups with details'), { error })\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t\tthis.loading.groupsDetails = false\n\t\t},\n\n\t\tasync loadSubAdminGroupsDetails() {\n\t\t\tthis.loading.subadmins = true\n\t\t\tthis.loading.subAdminGroupsDetails = true\n\t\t\ttry {\n\t\t\t\tconst groups = await loadUserSubAdminGroups({ userId: this.user.id })\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t\tthis.selectedSubAdminGroups = this.selectedSubAdminGroups.map(selectedGroup => groups.find(group => group.id === selectedGroup.id) ?? selectedGroup)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to load sub admin groups with details'), { error })\n\t\t\t}\n\t\t\tthis.loading.subadmins = false\n\t\t\tthis.loading.subAdminGroupsDetails = false\n\t\t},\n\n\t\tasync searchGroups(query, toggleLoading) {\n\t\t\tif (query === '') {\n\t\t\t\treturn // Prevent unexpected search behaviour e.g. on option:created\n\t\t\t}\n\t\t\tif (this.promise) {\n\t\t\t\tthis.promise.cancel()\n\t\t\t}\n\t\t\ttoggleLoading(true)\n\t\t\ttry {\n\t\t\t\tthis.promise = await searchGroups({\n\t\t\t\t\tsearch: query,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 25,\n\t\t\t\t})\n\t\t\t\tconst groups = await this.promise\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to search groups'), { error })\n\t\t\t}\n\t\t\tthis.promise = null\n\t\t\ttoggleLoading(false)\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch('searchUsers', { offset: 0, limit: 10, search: query }).then(response => {\n\t\t\t\tconst users = response?.data ? this.filterManagers(Object.values(response?.data.ocs.data.users)) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tasync updateUserManager() {\n\t\t\tthis.loading.manager = true\n\n\t\t\t// Store the current manager before making changes\n\t\t\tconst previousManager = this.user.manager\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'manager',\n\t\t\t\t\tvalue: this.currentManager ? this.currentManager.id : '',\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\t// TRANSLATORS This string describes a line manager in the context of an organization\n\t\t\t\tshowError(t('settings', 'Failed to update line manager'))\n\t\t\t\tlogger.error('Failed to update manager:', { error })\n\n\t\t\t\t// Revert to the previous manager in the UI on error\n\t\t\t\tthis.currentManager = previousManager\n\t\t\t} finally {\n\t\t\t\tthis.loading.manager = false\n\t\t\t}\n\t\t},\n\n\t\tasync deleteUser() {\n\t\t\tconst userid = this.user.id\n\t\t\tawait confirmPassword()\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'Fully delete {userid}\\'s account including all their personal files, app data, etc.', { userid }),\n\t\t\t\tt('settings', 'Account deletion'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Delete {userid}\\'s account', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.delete = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\treturn this.$store.dispatch('deleteUser', userid)\n\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true\n\t\t\tthis.loading.all = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst enabled = !this.user.enabled\n\t\t\treturn this.$store.dispatch('enableDisableUser', {\n\t\t\t\tuserid,\n\t\t\t\tenabled,\n\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t */\n\t\tasync updateDisplayName() {\n\t\t\tthis.loading.displayName = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'displayname',\n\t\t\t\t\tvalue: this.editedDisplayName,\n\t\t\t\t})\n\n\t\t\t\tif (this.editedDisplayName === this.user.displayname) {\n\t\t\t\t\tshowSuccess(t('settings', 'Display name was successfully changed'))\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.loading.displayName = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t */\n\t\tasync updatePassword() {\n\t\t\tthis.loading.password = true\n\t\t\tif (this.editedPassword.length === 0) {\n\t\t\t\tshowError(t('settings', \"Password can't be empty\"))\n\t\t\t\tthis.loading.password = false\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\t\tkey: 'password',\n\t\t\t\t\t\tvalue: this.editedPassword,\n\t\t\t\t\t})\n\t\t\t\t\tthis.editedPassword = ''\n\t\t\t\t\tshowSuccess(t('settings', 'Password was successfully changed'))\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loading.password = false\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t */\n\t\tasync updateEmail() {\n\t\t\tthis.loading.mailAddress = true\n\t\t\tif (this.editedMail === '') {\n\t\t\t\tshowError(t('settings', \"Email can't be empty\"))\n\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\tthis.editedMail = this.user.email\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\t\tkey: 'email',\n\t\t\t\t\t\tvalue: this.editedMail,\n\t\t\t\t\t})\n\n\t\t\t\t\tif (this.editedMail === this.user.email) {\n\t\t\t\t\t\tshowSuccess(t('settings', 'Email was successfully changed'))\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Create a new group and add user to it\n\t\t *\n\t\t * @param {string} gid Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tconst userid = this.user.id\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t\tthis.userGroups.push({ id: gid, name: gid })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to create group'), { error })\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserGroup(group) {\n\t\t\tif (group.isCreating) {\n\t\t\t\t// This is NcSelect's internal value for a new inputted group name\n\t\t\t\t// Ignore\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\tif (group.canAdd === false) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t\tthis.userGroups.push(group)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserGroup(group) {\n\t\t\tif (group.canRemove === false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserGroup', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.userGroups = this.userGroups.filter(group => group.id !== gid)\n\t\t\t\tthis.loading.groups = false\n\t\t\t\t// remove user from current list if current list is the removed group\n\t\t\t\tif (this.$route.params.selectedGroup === gid) {\n\t\t\t\t\tthis.$store.commit('deleteUser', userid)\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tthis.loading.groups = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.userSubAdminGroups.push(group)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\tthis.loading.subadmins = false\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.userSubAdminGroups = this.userSubAdminGroups.filter(group => group.id !== gid)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.subadmins = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {string}\n\t\t */\n\t\tasync setUserQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.loading.quota = true\n\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota\n\n\t\t\ttry {\n\t\t\t\t// If human readable format, convert to raw float format\n\t\t\t\t// Else just send the raw string\n\t\t\t\tconst value = (parseFileSize(quota, true) || quota).toString()\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'quota',\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.quota = false\n\t\t\t}\n\t\t\treturn quota\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = parseFileSize(quota, true)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t} else {\n\t\t\t\t// unify format output\n\t\t\t\tquota = formatFileSize(parseFileSize(quota, true))\n\t\t\t\treturn { id: quota, label: quota }\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch language set request\n\t\t *\n\t\t * @param {object} lang language object {code:'en', name:'English'}\n\t\t * @return {object}\n\t\t */\n\t\tasync setUserLanguage(lang) {\n\t\t\tthis.loading.languages = true\n\t\t\t// ensure we only send the preset id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'language',\n\t\t\t\t\tvalue: lang.code,\n\t\t\t\t})\n\t\t\t\tthis.loading.languages = false\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\treturn lang\n\t\t},\n\n\t\t/**\n\t\t * Dispatch new welcome mail request\n\t\t */\n\t\tsendWelcomeMail() {\n\t\t\tthis.loading.all = true\n\t\t\tthis.$store.dispatch('sendWelcomeMail', this.user.id)\n\t\t\t\t.then(() => showSuccess(t('settings', 'Welcome mail sent!'), { timeout: 2000 }))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\tasync toggleEdit() {\n\t\t\tthis.editing = !this.editing\n\t\t\tif (this.editing) {\n\t\t\t\tawait this.$nextTick()\n\t\t\t\tthis.$refs.displayNameField?.$refs?.inputField?.$refs?.input?.focus()\n\t\t\t\tthis.loadGroupsDetails()\n\t\t\t\tthis.loadSubAdminGroupsDetails()\n\t\t\t}\n\t\t\tif (this.editedDisplayName !== this.user.displayname) {\n\t\t\t\tthis.editedDisplayName = this.user.displayname\n\t\t\t} else if (this.editedMail !== this.user.email) {\n\t\t\t\tthis.editedMail = this.user.email ?? ''\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use './shared/styles';\n\n.user-list__row {\n\t@include styles.row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include styles.cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=47722426&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=47722426&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=47722426&scoped=true\"\nimport script from \"./UserRow.vue?vue&type=script&lang=js\"\nexport * from \"./UserRow.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserRow.vue?vue&type=style&index=0&id=47722426&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47722426\",\n null\n \n)\n\nexport default component.exports","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Fragment>\n\t\t<NewUserDialog v-if=\"showConfig.showNewUserForm\"\n\t\t\t:loading=\"loading\"\n\t\t\t:new-user=\"newUser\"\n\t\t\t:quota-options=\"quotaOptions\"\n\t\t\t@reset=\"resetForm\"\n\t\t\t@closing=\"closeDialog\" />\n\n\t\t<NcEmptyContent v-if=\"filteredUsers.length === 0\"\n\t\t\tclass=\"empty\"\n\t\t\t:name=\"isInitialLoad && loading.users ? null : t('settings', 'No accounts')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon v-if=\"isInitialLoad && loading.users\"\n\t\t\t\t\t:name=\"t('settings', 'Loading accounts …')\"\n\t\t\t\t\t:size=\"64\" />\n\t\t\t\t<NcIconSvgWrapper v-else :path=\"mdiAccountGroup\" :size=\"64\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\n\t\t<VirtualList v-else\n\t\t\t:data-component=\"UserRow\"\n\t\t\t:data-sources=\"filteredUsers\"\n\t\t\tdata-key=\"id\"\n\t\t\tdata-cy-user-list\n\t\t\t:item-height=\"rowHeight\"\n\t\t\t:style=\"style\"\n\t\t\t:extra-props=\"{\n\t\t\t\tusers,\n\t\t\t\tsettings,\n\t\t\t\thasObfuscated,\n\t\t\t\tquotaOptions,\n\t\t\t\tlanguages,\n\t\t\t\texternalActions,\n\t\t\t}\"\n\t\t\t@scroll-end=\"handleScrollEnd\">\n\t\t\t<template #before>\n\t\t\t\t<caption class=\"hidden-visually\">\n\t\t\t\t\t{{ t('settings', 'List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.') }}\n\t\t\t\t</caption>\n\t\t\t</template>\n\n\t\t\t<template #header>\n\t\t\t\t<UserListHeader :has-obfuscated=\"hasObfuscated\" />\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<UserListFooter :loading=\"loading.users\"\n\t\t\t\t\t:filtered-users=\"filteredUsers\" />\n\t\t\t</template>\n\t\t</VirtualList>\n\t</Fragment>\n</template>\n\n<script>\nimport { mdiAccountGroup } from '@mdi/js'\nimport { showError } from '@nextcloud/dialogs'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { Fragment } from 'vue-frag'\n\nimport Vue from 'vue'\nimport NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'\nimport NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\n\nimport VirtualList from './Users/VirtualList.vue'\nimport NewUserDialog from './Users/NewUserDialog.vue'\nimport UserListFooter from './Users/UserListFooter.vue'\nimport UserListHeader from './Users/UserListHeader.vue'\nimport UserRow from './Users/UserRow.vue'\n\nimport { defaultQuota, isObfuscated, unlimitedQuota } from '../utils/userUtils.ts'\nimport logger from '../logger.ts'\n\nconst newUser = Object.freeze({\n\tid: '',\n\tdisplayName: '',\n\tpassword: '',\n\tmailAddress: '',\n\tgroups: [],\n\tmanager: '',\n\tsubAdminsGroups: [],\n\tquota: defaultQuota,\n\tlanguage: {\n\t\tcode: 'en',\n\t\tname: t('settings', 'Default language'),\n\t},\n})\n\nexport default {\n\tname: 'UserList',\n\n\tcomponents: {\n\t\tFragment,\n\t\tNcEmptyContent,\n\t\tNcIconSvgWrapper,\n\t\tNcLoadingIcon,\n\t\tNewUserDialog,\n\t\tUserListFooter,\n\t\tUserListHeader,\n\t\tVirtualList,\n\t},\n\n\tprops: {\n\t\tselectedGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tsetup() {\n\t\t// non reactive properties\n\t\treturn {\n\t\t\tmdiAccountGroup,\n\t\t\trowHeight: 55,\n\n\t\t\tUserRow,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tgroups: false,\n\t\t\t\tusers: false,\n\t\t\t},\n\t\t\tnewUser: { ...newUser },\n\t\t\tisInitialLoad: true,\n\t\t\tsearchQuery: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t'--row-height': `${this.rowHeight}px`,\n\t\t\t}\n\t\t},\n\n\t\thasObfuscated() {\n\t\t\treturn this.filteredUsers.some(user => isObfuscated(user))\n\t\t},\n\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers\n\t\t},\n\n\t\tfilteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\treturn this.users.filter(user => user.enabled === false)\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled !== false)\n\t\t},\n\n\t\tgroups() {\n\t\t\treturn this.$store.getters.getSortedGroups\n\t\t\t\t.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled')\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({\n\t\t\t\tid: cur,\n\t\t\t\tlabel: cur,\n\t\t\t}), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\tquotaPreset.unshift(defaultQuota)\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset\n\t\t},\n\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit\n\t\t},\n\n\t\tdisabledUsersOffset() {\n\t\t\treturn this.$store.getters.getDisabledUsersOffset\n\t\t},\n\n\t\tdisabledUsersLimit() {\n\t\t\treturn this.$store.getters.getDisabledUsersLimit\n\t\t},\n\n\t\tusersCount() {\n\t\t\treturn this.users.length\n\t\t},\n\n\t\t/* LANGUAGES */\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t]\n\t\t},\n\t},\n\n\twatch: {\n\t\t// watch url change and group select\n\t\tasync selectedGroup(val) {\n\t\t\tthis.isInitialLoad = true\n\t\t\t// if selected is the disabled group but it's empty\n\t\t\tawait this.redirectIfDisabled()\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t\tthis.setNewUserDefaultGroup(val)\n\t\t},\n\n\t\tfilteredUsers(filteredUsers) {\n\t\t\tlogger.debug(`${filteredUsers.length} filtered user(s)`)\n\t\t},\n\t},\n\n\tasync created() {\n\t\tawait this.loadUsers()\n\t},\n\n\tasync mounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'))\n\t\t}\n\n\t\t/**\n\t\t * Reset and init new user form\n\t\t */\n\t\tthis.resetForm()\n\n\t\t/**\n\t\t * Register search\n\t\t */\n\t\tsubscribe('nextcloud:unified-search.search', this.search)\n\t\tsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\n\t\t/**\n\t\t * If disabled group but empty, redirect\n\t\t */\n\t\tawait this.redirectIfDisabled()\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('nextcloud:unified-search.search', this.search)\n\t\tunsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\t},\n\n\tmethods: {\n\t\tasync handleScrollEnd() {\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tasync loadUsers() {\n\t\t\tthis.loading.users = true\n\t\t\ttry {\n\t\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\t\tawait this.$store.dispatch('getDisabledUsers', {\n\t\t\t\t\t\toffset: this.disabledUsersOffset,\n\t\t\t\t\t\tlimit: this.disabledUsersLimit,\n\t\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t\t})\n\t\t\t\t} else if (this.selectedGroup === '__nc_internal_recent') {\n\t\t\t\t\tawait this.$store.dispatch('getRecentUsers', {\n\t\t\t\t\t\toffset: this.usersOffset,\n\t\t\t\t\t\tlimit: this.usersLimit,\n\t\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tawait this.$store.dispatch('getUsers', {\n\t\t\t\t\t\toffset: this.usersOffset,\n\t\t\t\t\t\tlimit: this.usersLimit,\n\t\t\t\t\t\tgroup: this.selectedGroup,\n\t\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tlogger.debug(`${this.users.length} total user(s) loaded`)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Failed to load accounts', { error })\n\t\t\t\tshowError('Failed to load accounts')\n\t\t\t}\n\t\t\tthis.loading.users = false\n\t\t\tthis.isInitialLoad = false\n\t\t},\n\n\t\tcloseDialog() {\n\t\t\tthis.$store.commit('setShowConfig', {\n\t\t\t\tkey: 'showNewUserForm',\n\t\t\t\tvalue: false,\n\t\t\t})\n\t\t},\n\n\t\tasync search({ query }) {\n\t\t\tthis.searchQuery = query\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tresetSearch() {\n\t\t\tthis.search({ query: '' })\n\t\t},\n\n\t\tresetForm() {\n\t\t\t// revert form to original state\n\t\t\tthis.newUser = Object.assign({}, newUser)\n\n\t\t\t/**\n\t\t\t * Init default language from server data. The use of this.settings\n\t\t\t * requires a computed variable, which break the v-model binding of the form,\n\t\t\t * this is a much easier solution than getter and setter on a computed var\n\t\t\t */\n\t\t\tif (this.settings.defaultLanguage) {\n\t\t\t\tVue.set(this.newUser.language, 'code', this.settings.defaultLanguage)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * In case the user directly loaded the user list within a group\n\t\t\t * the watch won't be triggered. We need to initialize it.\n\t\t\t */\n\t\t\tthis.setNewUserDefaultGroup(this.selectedGroup)\n\n\t\t\tthis.loading.all = false\n\t\t},\n\n\t\tsetNewUserDefaultGroup(value) {\n\t\t\t// Is no value set, but user is a line manager we set their group as this is a requirement for line manager\n\t\t\tif (!value && !this.settings.isAdmin && !this.settings.isDelegatedAdmin) {\n\t\t\t\tconst groups = this.$store.getters.getSubAdminGroups\n\t\t\t\t// if there are multiple groups we do not know which to add,\n\t\t\t\t// so we cannot make the managers life easier by preselecting it.\n\t\t\t\tif (groups.length === 1) {\n\t\t\t\t\tthis.newUser.groups = [...groups]\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\t// setting new account default group to the current selected one\n\t\t\t\tconst currentGroup = this.groups.find(group => group.id === value)\n\t\t\t\tif (currentGroup) {\n\t\t\t\t\tthis.newUser.groups = [currentGroup]\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\t// fallback, empty selected group\n\t\t\tthis.newUser.groups = []\n\t\t},\n\n\t\t/**\n\t\t * If the selected group is the disabled group but the count is 0\n\t\t * redirect to the all users page.\n\t\t * we only check for 0 because we don't have the count on ldap\n\t\t * and we therefore set the usercount to -1 in this specific case\n\t\t */\n\t\tasync redirectIfDisabled() {\n\t\t\tconst allGroups = this.$store.getters.getGroups\n\t\t\tif (this.selectedGroup === 'disabled'\n\t\t\t\t\t\t&& allGroups.findIndex(group => group.id === 'disabled' && group.usercount === 0) > -1) {\n\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\tthis.$router.push({ name: 'users' })\n\t\t\t\tawait this.loadUsers()\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use './Users/shared/styles' as *;\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=1e8fee5a&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=1e8fee5a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=1e8fee5a&scoped=true\"\nimport script from \"./UserList.vue?vue&type=script&lang=js\"\nexport * from \"./UserList.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=1e8fee5a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e8fee5a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showConfig.showNewUserForm)?_c('NewUserDialog',{attrs:{\"loading\":_vm.loading,\"new-user\":_vm.newUser,\"quota-options\":_vm.quotaOptions},on:{\"reset\":_vm.resetForm,\"closing\":_vm.closeDialog}}):_vm._e(),_vm._v(\" \"),(_vm.filteredUsers.length === 0)?_c('NcEmptyContent',{staticClass:\"empty\",attrs:{\"name\":_vm.isInitialLoad && _vm.loading.users ? null : _vm.t('settings', 'No accounts')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isInitialLoad && _vm.loading.users)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading accounts …'),\"size\":64}}):_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiAccountGroup,\"size\":64}})]},proxy:true}],null,false,226056511)}):_c('VirtualList',{style:(_vm.style),attrs:{\"data-component\":_vm.UserRow,\"data-sources\":_vm.filteredUsers,\"data-key\":\"id\",\"data-cy-user-list\":\"\",\"item-height\":_vm.rowHeight,\"extra-props\":{\n\t\t\tusers: _vm.users,\n\t\t\tsettings: _vm.settings,\n\t\t\thasObfuscated: _vm.hasObfuscated,\n\t\t\tquotaOptions: _vm.quotaOptions,\n\t\t\tlanguages: _vm.languages,\n\t\t\texternalActions: _vm.externalActions,\n\t\t}},on:{\"scroll-end\":_vm.handleScrollEnd},scopedSlots:_vm._u([{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.'))+\"\\n\\t\\t\\t\")])]},proxy:true},{key:\"header\",fn:function(){return [_c('UserListHeader',{attrs:{\"has-obfuscated\":_vm.hasObfuscated}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('UserListFooter',{attrs:{\"loading\":_vm.loading.users,\"filtered-users\":_vm.filteredUsers}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagement.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagement.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcAppContent :page-heading=\"pageHeading\">\n\t\t<UserList :selected-group=\"selectedGroupDecoded\"\n\t\t\t:external-actions=\"externalActions\" />\n\t</NcAppContent>\n</template>\n\n<script>\nimport { translate as t } from '@nextcloud/l10n'\nimport { emit } from '@nextcloud/event-bus'\nimport { defineComponent } from 'vue'\n\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\nimport UserList from '../components/UserList.vue'\n\nexport default defineComponent({\n\tname: 'UserManagement',\n\n\tcomponents: {\n\t\tNcAppContent,\n\t\tUserList,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// temporary value used for multiselect change\n\t\t\texternalActions: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpageHeading() {\n\t\t\tif (this.selectedGroupDecoded === null) {\n\t\t\t\treturn t('settings', 'All accounts')\n\t\t\t}\n\t\t\tconst matchHeading = {\n\t\t\t\tadmin: t('settings', 'Admins'),\n\t\t\t\tdisabled: t('settings', 'Disabled accounts'),\n\t\t\t}\n\t\t\treturn matchHeading[this.selectedGroupDecoded] ?? t('settings', 'Account group: {group}', { group: this.selectedGroupDecoded })\n\t\t},\n\n\t\tselectedGroup() {\n\t\t\treturn this.$route.params.selectedGroup\n\t\t},\n\n\t\tselectedGroupDecoded() {\n\t\t\treturn this.selectedGroup ? decodeURIComponent(this.selectedGroup) : null\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength')\n\t},\n\n\tcreated() {\n\t\t// init the OCA.Settings.UserList object\n\t\twindow.OCA = window.OCA ?? {}\n\t\twindow.OCA.Settings = window.OCA.Settings ?? {}\n\t\twindow.OCA.Settings.UserList = window.OCA.Settings.UserList ?? {}\n\t\t// and add the registerAction method\n\t\twindow.OCA.Settings.UserList.registerAction = this.registerAction\n\t\temit('settings:user-management:loaded')\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t/**\n\t\t * Register a new action for the user menu\n\t\t *\n\t\t * @param {string} icon the icon class\n\t\t * @param {string} text the text to display\n\t\t * @param {Function} action the function to run\n\t\t * @param {(user: Record<string, unknown>) => boolean} enabled return true if the action is enabled for the user\n\t\t * @return {Array}\n\t\t */\n\t\tregisterAction(icon, text, action, enabled) {\n\t\t\tthis.externalActions.push({\n\t\t\t\ticon,\n\t\t\t\ttext,\n\t\t\t\taction,\n\t\t\t\tenabled,\n\t\t\t})\n\t\t\treturn this.externalActions\n\t\t},\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagement.vue?vue&type=template&id=253f9eec&scoped=true\"\nimport script from \"./UserManagement.vue?vue&type=script&lang=js\"\nexport * from \"./UserManagement.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"253f9eec\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n._fadeTransition_13rtj_2 {\n\ttransition: all var(--animation-quick) ease;\n}\n._fadeTransitionActive_13rtj_6 {\n\topacity: 0;\n\tposition: absolute;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css\"],\"names\":[],\"mappings\":\";AACA;CACC,2CAA2C;AAC5C;AACA;CACC,UAAU;CACV,kBAAkB;AACnB\",\"sourcesContent\":[\"\\n._fadeTransition_13rtj_2 {\\n\\ttransition: all var(--animation-quick) ease;\\n}\\n._fadeTransitionActive_13rtj_6 {\\n\\topacity: 0;\\n\\tposition: absolute;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNew-Dbo2rvXH.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNew-Dbo2rvXH.css\";\n export default content && content.locals ? content.locals : undefined;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.nc-select-users[data-v-ecb8da4e] .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-CRH00RA2.css\"],\"names\":[],\"mappings\":\";AACA;CACC,gCAAgC;AACjC\",\"sourcesContent\":[\"\\n.nc-select-users[data-v-ecb8da4e] .vs__selected {\\n\\tpadding-inline: 0 5px !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.empty[data-v-1e8fee5a] .icon-vue{width:64px;height:64px}.empty[data-v-1e8fee5a] .icon-vue svg{max-width:64px;max-height:64px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/UserList.vue\"],\"names\":[],\"mappings\":\"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n@use './Users/shared/styles' as *;\\n\\n.empty {\\n\\t:deep {\\n\\t\\t.icon-vue {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tmax-width: 64px;\\n\\t\\t\\t\\tmax-height: 64px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-content[data-v-253f9eec]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagement.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppNavigation,{staticClass:\"account-management__navigation\",attrs:{\"aria-label\":_setup.t('settings', 'Account management')},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c(_setup.NcButton,{staticClass:\"account-management__settings-toggle\",attrs:{\"type\":\"tertiary\"},on:{\"click\":function($event){_setup.isDialogOpen = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiCog}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Account management settings'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c(_setup.UserSettingsDialog,{attrs:{\"open\":_setup.isDialogOpen},on:{\"update:open\":function($event){_setup.isDialogOpen=$event}}})]},proxy:true}])},[_c(_setup.NcAppNavigationNew,{attrs:{\"button-id\":\"new-user-button\",\"text\":_setup.t('settings','New account')},on:{\"click\":_setup.showNewUserMenu,\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _setup.showNewUserMenu.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _setup.showNewUserMenu.apply(null, arguments)}]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__system-list\",attrs:{\"data-cy-users-settings-navigation-groups\":\"system\"}},[_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"everyone\",\"exact\":true,\"name\":_setup.t('settings', 'All accounts'),\"to\":{ name: 'users' }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccount}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.userCount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":!_setup.selectedGroupDecoded ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.userCount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_setup.settings.isAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"admin\",\"exact\":true,\"name\":_setup.t('settings', 'Admins'),\"to\":{ name: 'group', params: { selectedGroup: 'admin' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiShieldAccount}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.adminGroup && _setup.adminGroup.count > 0)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'admin' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.adminGroup.count)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,2218088905)}):_vm._e(),_vm._v(\" \"),(_setup.isAdminOrDelegatedAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"recent\",\"exact\":true,\"name\":_setup.t('settings', 'Recently active'),\"to\":{ name: 'group', params: { selectedGroup: '__nc_internal_recent' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiHistory}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.recentGroup?.usercount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === '__nc_internal_recent' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.recentGroup.usercount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,2299424282)}):_vm._e(),_vm._v(\" \"),(_setup.disabledGroup && (_setup.disabledGroup.usercount > 0 || _setup.disabledGroup.usercount === -1))?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"disabled\",\"exact\":true,\"name\":_setup.t('settings', 'Disabled accounts'),\"to\":{ name: 'group', params: { selectedGroup: 'disabled' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountOff}})]},proxy:true},(_setup.disabledGroup.usercount > 0)?{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.disabledGroup.usercount)+\"\\n\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e()],1),_vm._v(\" \"),_c(_setup.AppNavigationGroupList)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcAppSettingsDialog :open.sync=\"isModalOpen\"\n\t\t:show-navigation=\"true\"\n\t\t:name=\"t('settings', 'Account management settings')\">\n\t\t<NcAppSettingsSection id=\"visibility-settings\"\n\t\t\t:name=\"t('settings', 'Visibility')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLanguages\"\n\t\t\t\t:checked.sync=\"showLanguages\">\n\t\t\t\t{{ t('settings', 'Show language') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showUserBackend\"\n\t\t\t\t:checked.sync=\"showUserBackend\">\n\t\t\t\t{{ t('settings', 'Show account backend') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showStoragePath\"\n\t\t\t\t:checked.sync=\"showStoragePath\">\n\t\t\t\t{{ t('settings', 'Show storage path') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showFirstLogin\"\n\t\t\t\t:checked.sync=\"showFirstLogin\">\n\t\t\t\t{{ t('settings', 'Show first login') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLastLogin\"\n\t\t\t\t:checked.sync=\"showLastLogin\">\n\t\t\t\t{{ t('settings', 'Show last login') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"groups-sorting\"\n\t\t\t:name=\"t('settings', 'Sorting')\">\n\t\t\t<NcNoteCard v-if=\"isGroupSortingEnforced\" type=\"warning\">\n\t\t\t\t{{ t('settings', 'The system config enforces sorting the groups by name. This also disables showing the member count.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<fieldset>\n\t\t\t\t<legend>{{ t('settings', 'Group list sorting') }}</legend>\n\t\t\t\t<NcNoteCard class=\"dialog__note\"\n\t\t\t\t\ttype=\"info\"\n\t\t\t\t\t:text=\"t('settings', 'Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.')\" />\n\t\t\t\t<NcCheckboxRadioSwitch type=\"radio\"\n\t\t\t\t\t:checked.sync=\"groupSorting\"\n\t\t\t\t\tdata-test=\"sortGroupsByMemberCount\"\n\t\t\t\t\t:disabled=\"isGroupSortingEnforced\"\n\t\t\t\t\tname=\"group-sorting-mode\"\n\t\t\t\t\tvalue=\"member-count\">\n\t\t\t\t\t{{ t('settings', 'By member count') }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<NcCheckboxRadioSwitch type=\"radio\"\n\t\t\t\t\t:checked.sync=\"groupSorting\"\n\t\t\t\t\tdata-test=\"sortGroupsByName\"\n\t\t\t\t\t:disabled=\"isGroupSortingEnforced\"\n\t\t\t\t\tname=\"group-sorting-mode\"\n\t\t\t\t\tvalue=\"name\">\n\t\t\t\t\t{{ t('settings', 'By name') }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t</fieldset>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"email-settings\"\n\t\t\t:name=\"t('settings', 'Send email')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"sendWelcomeMail\"\n\t\t\t\t:checked.sync=\"sendWelcomeMail\"\n\t\t\t\t:disabled=\"loadingSendMail\">\n\t\t\t\t{{ t('settings', 'Send welcome email to new accounts') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"default-settings\"\n\t\t\t:name=\"t('settings', 'Defaults')\">\n\t\t\t<NcSelect v-model=\"defaultQuota\"\n\t\t\t\t:clearable=\"false\"\n\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t:filter-by=\"filterQuotas\"\n\t\t\t\t:input-label=\"t('settings', 'Default quota')\"\n\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\tplacement=\"top\"\n\t\t\t\t:placeholder=\"t('settings', 'Select default quota')\"\n\t\t\t\ttaggable\n\t\t\t\t@option:selected=\"setDefaultQuota\" />\n\t\t</NcAppSettingsSection>\n\t</NcAppSettingsDialog>\n</template>\n\n<script>\nimport { formatFileSize, parseFileSize } from '@nextcloud/files'\nimport { generateUrl } from '@nextcloud/router'\n\nimport axios from '@nextcloud/axios'\nimport NcAppSettingsDialog from '@nextcloud/vue/components/NcAppSettingsDialog'\nimport NcAppSettingsSection from '@nextcloud/vue/components/NcAppSettingsSection'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/components/NcCheckboxRadioSwitch'\nimport NcNoteCard from '@nextcloud/vue/components/NcNoteCard'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\n\nimport { GroupSorting } from '../../constants/GroupManagement.ts'\nimport { unlimitedQuota } from '../../utils/userUtils.ts'\nimport logger from '../../logger.ts'\n\nexport default {\n\tname: 'UserSettingsDialog',\n\n\tcomponents: {\n\t\tNcAppSettingsDialog,\n\t\tNcAppSettingsSection,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcNoteCard,\n\t\tNcSelect,\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\tloadingSendMail: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tgroupSorting: {\n\t\t\tget() {\n\t\t\t\treturn this.$store.getters.getGroupSorting === GroupSorting.GroupName ? 'name' : 'member-count'\n\t\t\t},\n\t\t\tset(sorting) {\n\t\t\t\tthis.$store.commit('setGroupSorting', sorting === 'name' ? GroupSorting.GroupName : GroupSorting.UserCount)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Admin has configured `sort_groups_by_name` in the system config\n\t\t */\n\t\tisGroupSortingEnforced() {\n\t\t\treturn this.$store.getters.getServerData.forceSortGroupByName\n\t\t},\n\n\t\tisModalOpen: {\n\t\t\tget() {\n\t\t\t\treturn this.open\n\t\t\t},\n\t\t\tset(open) {\n\t\t\t\tthis.$emit('update:open', open)\n\t\t\t},\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tshowLanguages: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showLanguages\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showLanguages', status)\n\t\t\t},\n\t\t},\n\n\t\tshowFirstLogin: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showFirstLogin\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showFirstLogin', status)\n\t\t\t},\n\t\t},\n\n\t\tshowLastLogin: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showLastLogin\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showLastLogin', status)\n\t\t\t},\n\t\t},\n\n\t\tshowUserBackend: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showUserBackend\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showUserBackend', status)\n\t\t\t},\n\t\t},\n\n\t\tshowStoragePath: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showStoragePath\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showStoragePath', status)\n\t\t\t},\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({ id: cur, label: cur }), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tdefaultQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tsendWelcomeMail: {\n\t\t\tget() {\n\t\t\t\treturn this.settings.newUserSendEmail\n\t\t\t},\n\t\t\tasync set(value) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.loadingSendMail = true\n\t\t\t\t\tthis.$store.commit('setServerData', {\n\t\t\t\t\t\t...this.settings,\n\t\t\t\t\t\tnewUserSendEmail: value,\n\t\t\t\t\t})\n\t\t\t\t\tawait axios.post(generateUrl('/settings/users/preferences/newUser.sendEmail'), { value: value ? 'yes' : 'no' })\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlogger.error('Could not update newUser.sendEmail preference', { error })\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loadingSendMail = false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if a quota matches the current search.\n\t\t * This is a custom filter function to allow to map \"1GB\" to the label \"1 GB\" (ignoring whitespaces).\n\t\t *\n\t\t * @param option The quota to check\n\t\t * @param label The label of the quota\n\t\t * @param search The search string\n\t\t */\n\t\tfilterQuotas(option, label, search) {\n\t\t\tconst searchValue = search.toLocaleLowerCase().replaceAll(/\\s/g, '')\n\t\t\treturn (label || '')\n\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t.replaceAll(/\\s/g, '')\n\t\t\t\t.indexOf(searchValue) > -1\n\t\t},\n\n\t\tsetShowConfig(key, status) {\n\t\t\tthis.$store.commit('setShowConfig', { key, value: status })\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = parseFileSize(quota, true)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t}\n\t\t\t// unify format output\n\t\t\tquota = formatFileSize(validQuota)\n\t\t\treturn { id: quota, label: quota }\n\t\t},\n\n\t\t/**\n\t\t * Dispatch default quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t */\n\t\tsetDefaultQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota,\n\t\t\t}).then(() => {\n\t\t\t\tif (typeof quota !== 'object') {\n\t\t\t\t\tquota = { id: quota, label: quota }\n\t\t\t\t}\n\t\t\t\tthis.defaultQuota = quota\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.dialog {\n\t&__note {\n\t\tfont-weight: normal;\n\t}\n}\n\nfieldset {\n\tfont-weight: bold;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserSettingsDialog.vue?vue&type=template&id=9f7a355c&scoped=true\"\nimport script from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9f7a355c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.isModalOpen,\"show-navigation\":true,\"name\":_vm.t('settings', 'Account management settings')},on:{\"update:open\":function($event){_vm.isModalOpen=$event}}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"visibility-settings\",\"name\":_vm.t('settings', 'Visibility')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLanguages\",\"checked\":_vm.showLanguages},on:{\"update:checked\":function($event){_vm.showLanguages=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show language'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showUserBackend\",\"checked\":_vm.showUserBackend},on:{\"update:checked\":function($event){_vm.showUserBackend=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show account backend'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showStoragePath\",\"checked\":_vm.showStoragePath},on:{\"update:checked\":function($event){_vm.showStoragePath=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show storage path'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showFirstLogin\",\"checked\":_vm.showFirstLogin},on:{\"update:checked\":function($event){_vm.showFirstLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show first login'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLastLogin\",\"checked\":_vm.showLastLogin},on:{\"update:checked\":function($event){_vm.showLastLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show last login'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"groups-sorting\",\"name\":_vm.t('settings', 'Sorting')}},[(_vm.isGroupSortingEnforced)?_c('NcNoteCard',{attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'The system config enforces sorting the groups by name. This also disables showing the member count.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('fieldset',[_c('legend',[_vm._v(_vm._s(_vm.t('settings', 'Group list sorting')))]),_vm._v(\" \"),_c('NcNoteCard',{staticClass:\"dialog__note\",attrs:{\"type\":\"info\",\"text\":_vm.t('settings', 'Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.')}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByMemberCount\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"member-count\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By member count'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByName\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"name\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By name'))+\"\\n\\t\\t\\t\")])],1)],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"email-settings\",\"name\":_vm.t('settings', 'Send email')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"sendWelcomeMail\",\"checked\":_vm.sendWelcomeMail,\"disabled\":_vm.loadingSendMail},on:{\"update:checked\":function($event){_vm.sendWelcomeMail=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Send welcome email to new accounts'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"default-settings\",\"name\":_vm.t('settings', 'Defaults')}},[_c('NcSelect',{attrs:{\"clearable\":false,\"create-option\":_vm.validateQuota,\"filter-by\":_vm.filterQuotas,\"input-label\":_vm.t('settings', 'Default quota'),\"options\":_vm.quotaOptions,\"placement\":\"top\",\"placeholder\":_vm.t('settings', 'Select default quota'),\"taggable\":\"\"},on:{\"option:selected\":_vm.setDefaultQuota},model:{value:(_vm.defaultQuota),callback:function ($$v) {_vm.defaultQuota=$$v},expression:\"defaultQuota\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Fragment,[_c(_setup.NcAppNavigationCaption,{attrs:{\"name\":_setup.t('settings', 'Groups'),\"disabled\":_setup.loadingAddGroup,\"aria-label\":_setup.loadingAddGroup ? _setup.t('settings', 'Creating group…') : _setup.t('settings', 'Create group'),\"force-menu\":\"\",\"is-heading\":\"\",\"open\":_setup.isAddGroupOpen},on:{\"update:open\":function($event){_setup.isAddGroupOpen=$event}},scopedSlots:_vm._u([(_setup.isAdminOrDelegatedAdmin)?{key:\"actionsTriggerIcon\",fn:function(){return [(_setup.loadingAddGroup)?_c(_setup.NcLoadingIcon):_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}:null,(_setup.isAdminOrDelegatedAdmin)?{key:\"actions\",fn:function(){return [_c(_setup.NcActionText,{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountGroup}})]},proxy:true}],null,false,3607647275)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Create group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c(_setup.NcActionInput,{attrs:{\"label\":_setup.t('settings', 'Group name'),\"data-cy-users-settings-new-group-name\":\"\",\"label-outside\":false,\"disabled\":_setup.loadingAddGroup,\"value\":_setup.newGroupName,\"error\":_setup.hasAddGroupError,\"helper-text\":_setup.hasAddGroupError ? _setup.t('settings', 'Please enter a valid group name') : ''},on:{\"update:value\":function($event){_setup.newGroupName=$event},\"submit\":_setup.createGroup}})]},proxy:true}:null],null,true)}),_vm._v(\" \"),_c(_setup.NcAppNavigationSearch,{attrs:{\"label\":_setup.t('settings', 'Search groups…')},model:{value:(_setup.groupsSearchQuery),callback:function ($$v) {_setup.groupsSearchQuery=$$v},expression:\"groupsSearchQuery\"}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"group-list-desc\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('settings', 'List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list.'))+\"\\n\\t\")]),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__group-list\",attrs:{\"aria-describedby\":\"group-list-desc\",\"data-cy-users-settings-navigation-groups\":\"custom\"}},[_vm._l((_setup.filteredGroups),function(group){return _c(_setup.GroupListItem,{key:group.id,ref:\"groupListItems\",refInFor:true,attrs:{\"id\":group.id,\"active\":_setup.selectedGroupDecoded === group.id,\"name\":group.title,\"count\":group.count}})}),_vm._v(\" \"),(_setup.loadingGroups)?_c('div',{attrs:{\"role\":\"note\"}},[_c(_setup.NcLoadingIcon,{attrs:{\"name\":_setup.t('settings', 'Loading groups…')}})],1):_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Fragment>\n\t\t<NcModal v-if=\"showRemoveGroupModal\"\n\t\t\t@close=\"showRemoveGroupModal = false\">\n\t\t\t<div class=\"modal__content\">\n\t\t\t\t<h2 class=\"modal__header\">\n\t\t\t\t\t{{ t('settings', 'Please confirm the group removal') }}\n\t\t\t\t</h2>\n\t\t\t\t<NcNoteCard type=\"warning\"\n\t\t\t\t\tshow-alert>\n\t\t\t\t\t{{ t('settings', 'You are about to delete the group \"{group}\". The accounts will NOT be deleted.', { group: name }) }}\n\t\t\t\t</NcNoteCard>\n\t\t\t\t<div class=\"modal__button-row\">\n\t\t\t\t\t<NcButton type=\"secondary\"\n\t\t\t\t\t\t@click=\"showRemoveGroupModal = false\">\n\t\t\t\t\t\t{{ t('settings', 'Cancel') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t\t@click=\"removeGroup\">\n\t\t\t\t\t\t{{ t('settings', 'Confirm') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NcModal>\n\n\t\t<NcAppNavigationItem :key=\"id\"\n\t\t\tref=\"listItem\"\n\t\t\t:exact=\"true\"\n\t\t\t:name=\"name\"\n\t\t\t:to=\"{ name: 'group', params: { selectedGroup: encodeURIComponent(id) } }\"\n\t\t\t:loading=\"loadingRenameGroup\"\n\t\t\t:menu-open=\"openGroupMenu\"\n\t\t\t@update:menuOpen=\"handleGroupMenuOpen\">\n\t\t\t<template #icon>\n\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t</template>\n\t\t\t<template #counter>\n\t\t\t\t<NcCounterBubble v-if=\"count\"\n\t\t\t\t\t:type=\"active ? 'highlighted' : undefined\">\n\t\t\t\t\t{{ count }}\n\t\t\t\t</NcCounterBubble>\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionInput v-if=\"id !== 'admin' && id !== 'disabled' && (settings.isAdmin || settings.isDelegatedAdmin)\"\n\t\t\t\t\tref=\"displayNameInput\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t:value=\"name\"\n\t\t\t\t\t:label=\" t('settings', 'Rename group')\"\n\t\t\t\t\t@submit=\"renameGroup(id)\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionInput>\n\t\t\t\t<NcActionButton v-if=\"id !== 'admin' && id !== 'disabled' && (settings.isAdmin || settings.isDelegatedAdmin)\"\n\t\t\t\t\t@click=\"showRemoveGroupModal = true\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('settings', 'Delete group') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcAppNavigationItem>\n\t</Fragment>\n</template>\n\n<script>\nimport { Fragment } from 'vue-frag'\n\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport NcActionInput from '@nextcloud/vue/components/NcActionInput'\nimport NcAppNavigationItem from '@nextcloud/vue/components/NcAppNavigationItem'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcCounterBubble from '@nextcloud/vue/components/NcCounterBubble'\nimport NcModal from '@nextcloud/vue/components/NcModal'\nimport NcNoteCard from '@nextcloud/vue/components/NcNoteCard'\n\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport Delete from 'vue-material-design-icons/Delete.vue'\nimport Pencil from 'vue-material-design-icons/Pencil.vue'\n\nimport { showError } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'GroupListItem',\n\tcomponents: {\n\t\tAccountGroup,\n\t\tDelete,\n\t\tFragment,\n\t\tNcActionButton,\n\t\tNcActionInput,\n\t\tNcAppNavigationItem,\n\t\tNcButton,\n\t\tNcCounterBubble,\n\t\tNcModal,\n\t\tNcNoteCard,\n\t\tPencil,\n\t},\n\tprops: {\n\t\t/**\n\t\t * If this group is currently selected\n\t\t */\n\t\tactive: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Number of members within this group\n\t\t */\n\t\tcount: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Identifier of this group\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Name of this group\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloadingRenameGroup: false,\n\t\t\topenGroupMenu: false,\n\t\t\tshowRemoveGroupModal: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\t},\n\tmethods: {\n\t\thandleGroupMenuOpen() {\n\t\t\tthis.openGroupMenu = true\n\t\t},\n\t\tasync renameGroup(gid) {\n\t\t\t// check if group id is valid\n\t\t\tif (gid.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst displayName = this.$refs.displayNameInput.$el.querySelector('input[type=\"text\"]').value\n\n\t\t\t// check if group name is valid\n\t\t\tif (displayName.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.openGroupMenu = false\n\t\t\t\tthis.loadingRenameGroup = true\n\t\t\t\tawait this.$store.dispatch('renameGroup', {\n\t\t\t\t\tgroupid: gid.trim(),\n\t\t\t\t\tdisplayName: displayName.trim(),\n\t\t\t\t})\n\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t} catch {\n\t\t\t\tthis.openGroupMenu = true\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t}\n\t\t},\n\t\tasync removeGroup() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeGroup', this.id)\n\t\t\t\tthis.showRemoveGroupModal = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('settings', 'Failed to delete group \"{group}\"', { group: this.name }))\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=style&index=0&id=3e2f3c17&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=style&index=0&id=3e2f3c17&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupListItem.vue?vue&type=template&id=3e2f3c17&scoped=true\"\nimport script from \"./GroupListItem.vue?vue&type=script&lang=js\"\nexport * from \"./GroupListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./GroupListItem.vue?vue&type=style&index=0&id=3e2f3c17&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3e2f3c17\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showRemoveGroupModal)?_c('NcModal',{on:{\"close\":function($event){_vm.showRemoveGroupModal = false}}},[_c('div',{staticClass:\"modal__content\"},[_c('h2',{staticClass:\"modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Please confirm the group removal'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"show-alert\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You are about to delete the group \"{group}\". The accounts will NOT be deleted.', { group: _vm.name }))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"modal__button-row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){_vm.showRemoveGroupModal = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.removeGroup}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\")])],1)],1)]):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{key:_vm.id,ref:\"listItem\",attrs:{\"exact\":true,\"name\":_vm.name,\"to\":{ name: 'group', params: { selectedGroup: encodeURIComponent(_vm.id) } },\"loading\":_vm.loadingRenameGroup,\"menu-open\":_vm.openGroupMenu},on:{\"update:menuOpen\":_vm.handleGroupMenuOpen},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.count)?_c('NcCounterBubble',{attrs:{\"type\":_vm.active ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.count)+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionInput',{ref:\"displayNameInput\",attrs:{\"trailing-button-label\":_vm.t('settings', 'Submit'),\"type\":\"text\",\"value\":_vm.name,\"label\":_vm.t('settings', 'Rename group')},on:{\"submit\":function($event){return _vm.renameGroup(_vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":20}})]},proxy:true}],null,false,580569589)}):_vm._e(),_vm._v(\" \"),(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionButton',{on:{\"click\":function($event){_vm.showRemoveGroupModal = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete group'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed } from 'vue';\n/**\n * Format a group to a menu entry\n *\n * @param group the group\n */\nfunction formatGroupMenu(group) {\n if (typeof group === 'undefined') {\n return null;\n }\n return {\n id: group.id,\n title: group.name,\n usercount: group.usercount ?? 0,\n count: Math.max(0, (group.usercount ?? 0) - (group.disabled ?? 0)),\n };\n}\nexport const useFormatGroups = (groups) => {\n /**\n * All non-disabled non-admin groups\n */\n const userGroups = computed(() => {\n const formatted = groups.value\n // filter out disabled and admin\n .filter(group => group.id !== 'disabled' && group.id !== '__nc_internal_recent' && group.id !== 'admin')\n // format group\n .map(group => formatGroupMenu(group))\n // remove invalid\n .filter(group => group !== null);\n return formatted;\n });\n /**\n * The admin group if found otherwise null\n */\n const adminGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'admin')));\n /**\n * The group of disabled users\n */\n const disabledGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'disabled')));\n /**\n * The group of recent users\n */\n const recentGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === '__nc_internal_recent')));\n return { adminGroup, recentGroup, disabledGroup, userGroups };\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AppNavigationGroupList.vue?vue&type=template&id=49ad50e4\"\nimport script from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=style&index=0&id=edf83404&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=style&index=0&id=edf83404&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagementNavigation.vue?vue&type=template&id=edf83404&scoped=true\"\nimport script from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./UserManagementNavigation.vue?vue&type=style&index=0&id=edf83404&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"edf83404\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-1133b4da] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-1133b4da] {\n display: flex;\n justify-content: space-between;\n}\n.app-navigation-caption--heading[data-v-1133b4da] {\n padding: var(--app-navigation-padding);\n}\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\n padding: 0 var(--app-navigation-padding);\n}\n.app-navigation-caption__name[data-v-1133b4da] {\n font-weight: bold;\n color: var(--color-main-text);\n font-size: var(--default-font-size);\n line-height: var(--default-clickable-area);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-shadow: none !important;\n flex-shrink: 1;\n padding-block: 0;\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\n margin-top: 0px;\n margin-bottom: var(--default-grid-baseline);\n}\n.app-navigation-caption__actions[data-v-1133b4da] {\n flex: 0 0 var(--default-clickable-area);\n}\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\n margin-top: calc(var(--default-clickable-area) / 2);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,8BAA8B;AAChC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,iBAAiB;EACjB,6BAA6B;EAC7B,mCAAmC;EACnC,0CAA0C;EAC1C,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,2BAA2B;EAC3B,cAAc;EACd,gBAAgB;EAChB,6DAA6D;EAC7D,eAAe;EACf,2CAA2C;AAC7C;AACA;EACE,uCAAuC;AACzC;AACA;EACE,mDAAmD;AACrD\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-1133b4da] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.app-navigation-caption[data-v-1133b4da] {\\n display: flex;\\n justify-content: space-between;\\n}\\n.app-navigation-caption--heading[data-v-1133b4da] {\\n padding: var(--app-navigation-padding);\\n}\\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\\n padding: 0 var(--app-navigation-padding);\\n}\\n.app-navigation-caption__name[data-v-1133b4da] {\\n font-weight: bold;\\n color: var(--color-main-text);\\n font-size: var(--default-font-size);\\n line-height: var(--default-clickable-area);\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n box-shadow: none !important;\\n flex-shrink: 1;\\n padding-block: 0;\\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\\n margin-top: 0px;\\n margin-bottom: var(--default-grid-baseline);\\n}\\n.app-navigation-caption__actions[data-v-1133b4da] {\\n flex: 0 0 var(--default-clickable-area);\\n}\\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\\n margin-top: calc(var(--default-clickable-area) / 2);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-46fee9ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.app-navigation-entry[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: var(--default-clickable-area);\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color 200ms ease-in-out;\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n /* hide deletion/collapse of subitems */\n}\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry.active[data-v-46fee9ac] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\n z-index: 100; /* above the bullet to allow click*/\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: var(--default-clickable-area);\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px 16px;\n line-height: var(--default-clickable-area);\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\n display: flex;\n align-items: center;\n flex: 0 0 var(--default-clickable-area);\n justify-content: center;\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n}\n\n/* Second level nesting for lists */\n.app-navigation-entry__children[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-inline-start: 16px;\n}\n\n/* Deleted entries */\n.app-navigation-entry__deleted[data-v-46fee9ac] {\n display: inline-flex;\n flex: 1 1 0;\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: var(--default-clickable-area);\n}\n\n/* counter and actions */\n.app-navigation-entry__utils[data-v-46fee9ac] {\n display: flex;\n min-width: var(--default-clickable-area);\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n /* counter */\n /* actions */\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: none;\n}\n\n/* editing state */\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\n z-index: 250;\n opacity: 1;\n}\n\n/* deleted state */\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\n z-index: 250;\n transform: translateX(0);\n}\n\n/* pinned state */\n.app-navigation-entry--pinned[data-v-46fee9ac] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n.app-navigation-new-item__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-inline-start: 7px;\n font-size: 14px;\n}\n.newItemContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-D7wroqrc.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;EACX,yCAAyC;EACzC,+DAA+D;EAC/D,8CAA8C;EAC9C,sEAAsE;EACtE,uCAAuC;AACzC;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,+DAA+D;AACjE;AACA;EACE,mDAAmD;AACrD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;AACf;AACA;EACE,oEAAoE;AACtE;AACA;EACE,YAAY,EAAE,mCAAmC;EACjD,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,sBAAsB;EACtB,yCAAyC;EACzC,UAAU;EACV,mBAAmB;EACnB,6BAA6B;EAC7B,4BAA4B;EAC5B,4EAA4E;EAC5E,0BAA0B;EAC1B,0CAA0C;AAC5C;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uCAAuC;EACvC,uBAAuB;EACvB,oCAAoC;EACpC,qCAAqC;EACrC,0BAA0B;EAC1B,4BAA4B;EAC5B,4EAA4E;AAC9E;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd;AACA;EACE,kDAAkD;EAClD,yCAAyC;EACzC,sEAAsE;AACxE;;AAEA,mCAAmC;AACnC;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,WAAW;EACX,sCAAsC;AACxC;AACA;EACE,oBAAoB;EACpB,eAAe;EACf,0BAA0B;AAC5B;;AAEA,oBAAoB;AACpB;EACE,oBAAoB;EACpB,WAAW;EACX,iHAAiH;AACnH;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,WAAW;EACX,mBAAmB;EACnB,uBAAuB;EACvB,0CAA0C;AAC5C;;AAEA,wBAAwB;AACxB;EACE,aAAa;EACb,wCAAwC;EACxC,mBAAmB;EACnB,cAAc;EACd,yBAAyB;EACzB,YAAY;EACZ,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,yDAAyD;EACzD,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,aAAa;AACf;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,UAAU;AACZ;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,wBAAwB;AAC1B;;AAEA,iBAAiB;AACjB;EACE,QAAQ;EACR,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,qEAAqE;AACvE;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,yBAAyB;EACzB,eAAe;AACjB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-46fee9ac] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n.app-navigation-entry[data-v-46fee9ac] {\\n position: relative;\\n display: flex;\\n flex-shrink: 0;\\n flex-wrap: wrap;\\n box-sizing: border-box;\\n width: 100%;\\n min-height: var(--default-clickable-area);\\n transition: background-color var(--animation-quick) ease-in-out;\\n transition: background-color 200ms ease-in-out;\\n border-radius: var(--border-radius-element, var(--border-radius-pill));\\n /* hide deletion/collapse of subitems */\\n}\\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\\n position: relative;\\n display: flex;\\n flex-shrink: 0;\\n flex-wrap: wrap;\\n box-sizing: border-box;\\n width: 100%;\\n}\\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\\n display: none;\\n}\\n.app-navigation-entry.active[data-v-46fee9ac] {\\n background-color: var(--color-primary-element) !important;\\n}\\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\\n background-color: var(--color-primary-element-hover) !important;\\n}\\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\\n color: var(--color-primary-element-text) !important;\\n}\\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\\n background-color: var(--color-main-background);\\n}\\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\\n display: inline-block;\\n}\\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\\n display: none;\\n}\\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\\n}\\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\\n z-index: 100; /* above the bullet to allow click*/\\n display: flex;\\n overflow: hidden;\\n flex: 1 1 0;\\n box-sizing: border-box;\\n min-height: var(--default-clickable-area);\\n padding: 0;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n background-repeat: no-repeat;\\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\\n background-size: 16px 16px;\\n line-height: var(--default-clickable-area);\\n}\\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\\n display: flex;\\n align-items: center;\\n flex: 0 0 var(--default-clickable-area);\\n justify-content: center;\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n background-size: 16px 16px;\\n background-repeat: no-repeat;\\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\\n}\\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\\n width: calc(100% - var(--default-clickable-area));\\n margin: auto;\\n}\\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\\n box-shadow: 0 0 0 4px var(--color-main-background);\\n outline: 2px solid var(--color-main-text);\\n border-radius: var(--border-radius-element, var(--border-radius-pill));\\n}\\n\\n/* Second level nesting for lists */\\n.app-navigation-entry__children[data-v-46fee9ac] {\\n position: relative;\\n display: flex;\\n flex: 0 1 auto;\\n flex-direction: column;\\n width: 100%;\\n gap: var(--default-grid-baseline, 4px);\\n}\\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\\n display: inline-flex;\\n flex-wrap: wrap;\\n padding-inline-start: 16px;\\n}\\n\\n/* Deleted entries */\\n.app-navigation-entry__deleted[data-v-46fee9ac] {\\n display: inline-flex;\\n flex: 1 1 0;\\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\\n}\\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\\n position: relative;\\n overflow: hidden;\\n flex: 1 1 0;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n line-height: var(--default-clickable-area);\\n}\\n\\n/* counter and actions */\\n.app-navigation-entry__utils[data-v-46fee9ac] {\\n display: flex;\\n min-width: var(--default-clickable-area);\\n align-items: center;\\n flex: 0 1 auto;\\n justify-content: flex-end;\\n /* counter */\\n /* actions */\\n}\\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\\n display: inline-block;\\n}\\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\\n display: flex;\\n align-items: center;\\n flex: 0 1 auto;\\n}\\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\\n display: none;\\n}\\n\\n/* editing state */\\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\\n z-index: 250;\\n opacity: 1;\\n}\\n\\n/* deleted state */\\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\\n z-index: 250;\\n transform: translateX(0);\\n}\\n\\n/* pinned state */\\n.app-navigation-entry--pinned[data-v-46fee9ac] {\\n order: 2;\\n margin-top: auto;\\n}\\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\\n margin-top: 0;\\n}\\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\\n background-color: var(--color-primary-element-light-hover) !important;\\n}\\n.app-navigation-new-item__name[data-v-46fee9ac] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n padding-inline-start: 7px;\\n font-size: 14px;\\n}\\n.newItemContainer[data-v-46fee9ac] {\\n width: calc(100% - var(--default-clickable-area));\\n margin: auto;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.footer[data-v-db2a7c4e]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-db2a7c4e]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-db2a7c4e],.footer__cell span[data-v-db2a7c4e],.footer__cell label[data-v-db2a7c4e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-db2a7c4e],.footer__cell--displayname[data-v-db2a7c4e]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-db2a7c4e]{inset-inline-start:0}.footer__cell--displayname[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.footer__cell--username[data-v-db2a7c4e]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.footer__cell--avatar[data-v-db2a7c4e]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-db2a7c4e]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-db2a7c4e]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-db2a7c4e]{min-width:400px;width:400px}.footer__cell--fill[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-db2a7c4e]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.footer__subtitle[data-v-db2a7c4e]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-db2a7c4e]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-db2a7c4e]{inset-inline-start:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListFooter.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA,CDpGD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,oBAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,2CAAA,CACA,2BAAA,CACA,uBAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.footer {\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tposition: sticky;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&--loading {\\n\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t&--count {\\n\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\tmin-width: var(--cell-width);\\n\\t\\t\\twidth: var(--cell-width);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate as t } from '@nextcloud/l10n';\nexport const unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited'),\n};\nexport const defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota'),\n};\n/**\n * Return `true` if the logged in user does not have permissions to view the\n * data of `user`\n * @param user The user to check\n * @param user.id Id of the user\n */\nexport const isObfuscated = (user) => {\n const keys = Object.keys(user);\n return keys.length === 1 && keys.at(0) === 'id';\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-cbad78fb] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#guest-content-vue[data-v-cbad78fb] {\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n min-width: 0;\n border-radius: var(--border-radius-large);\n box-shadow: 0 0 10px var(--color-box-shadow);\n height: fit-content;\n padding: 15px;\n margin: 20px auto;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#content.nc-guest-content {\n overflow: auto;\n margin-bottom: 0;\n height: calc(var(--body-height) + var(--body-container-margin));\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;EAC7B,8CAA8C;EAC9C,YAAY;EACZ,yCAAyC;EACzC,4CAA4C;EAC5C,mBAAmB;EACnB,aAAa;EACb,iBAAiB;AACnB,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,+DAA+D;AACjE\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-cbad78fb] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n#guest-content-vue[data-v-cbad78fb] {\\n color: var(--color-main-text);\\n background-color: var(--color-main-background);\\n min-width: 0;\\n border-radius: var(--border-radius-large);\\n box-shadow: 0 0 10px var(--color-box-shadow);\\n height: fit-content;\\n padding: 15px;\\n margin: 20px auto;\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n#content.nc-guest-content {\\n overflow: auto;\\n margin-bottom: 0;\\n height: calc(var(--body-height) + var(--body-container-margin));\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","r","_sfc_main$8","name","components","NcButton","props","reference","type","Object","required","interactive","Boolean","default","interactiveOptIn","setup","isVisible","widgetRoot","width","entry","value","isIntersecting","data","showInteractive","rendered","idleTimeout","computed","isInteractive","this","hasFullWidth","richObjectType","hasCustomWidget","i","hasInteractiveView","h","noAccess","accessible","descriptionStyle","numberOfLines","display","lineClamp","webkitLineClamp","Infinity","findIndex","max","compactLink","link","openGraphObject","startsWith","substring","route","g","$router","referenceWidgetLinkComponent","referenceWidgetLinkProps","to","href","target","watch","handler","val","clearTimeout","renderWidget","setTimeout","destroyWidget","immediate","beforeDestroy","methods","t","enableInteractive","$refs","customWidget","innerHTML","widget","document","createElement","style","appendChild","$nextTick","$el","_sfc_render$8","_vm","_c","_self","ref","class","staticClass","_b","tag","attrs","thumb","_e","_v","_s","description","on","_sfc_staticRenderFns$8","NcReferenceWidget","n","exports","_sfc_main$7","provider","emits","isRegistered","renderResult","mounted","renderElement","domElement","renderFunctionResult","providerId","Promise","resolve","then","result","object","_isVue","$on","onSubmit","onCancel","element","addEventListener","e","detail","$emit","_sfc_render$7","_sfc_staticRenderFns$7","NcCustomPickerElement","anyLinkProviderId","anyLinkProvider","title","icon_url","getProviders","window","_vue_richtext_reference_providers","filter","p","keep","search_providers_ids","length","console","debug","searchProvider","query","limit","providers","escapedQuery","replace","regexp","RegExp","filteredSortedProviders","providerList","timestamps","_vue_richtext_reference_provider_timestamps","sort","a","b","order","ta","tb","sortProviders","match","searchResult","slice","mytimer","delay","callback","ms","context","args","arguments","apply","isUrl","str","URL","error","_sfc_main$6","String","fillColor","size","Number","_sfc_render$6","$event","$attrs","_sfc_staticRenderFns$6","LinkVariantIcon","_sfc_main$5","NcSelect","NcHighlight","NcEmptyContent","selectedProvider","multiselectPlaceholder","providerIconAlt","options","isLink","focus","querySelector","onProviderSelected","onSearch","loading","_sfc_render$5","scopedSlots","_u","key","fn","option","model","$$v","expression","proxy","_sfc_staticRenderFns$5","NcProviderList","_sfc_main$4","NcLoadingIcon","NcTextField","inputValue","abortController","inputPlaceholder","isLinkValid","getElementsByTagName","onClear","onInput","abort","updateReference","AbortController","get","encodeURIComponent","signal","response","ocs","references","catch","_sfc_render$4","nativeOn","indexOf","_k","keyCode","_sfc_staticRenderFns$4","NcRawLinkInput","_sfc_main$3","_sfc_render$3","icon","rounded","thumbnailUrl","subline","_sfc_staticRenderFns$3","NcSearchResult","_sfc_main$2","DotsHorizontalIcon","D","showEmptyContent","searchPlaceholder","searchQuery","selectedResult","resultsBySearchProvider","searching","searchingMoreOf","noOptionsText","mySearchPlaceholder","searchProviderIds","rawLinkEntry","formattedSearchResults","resourceUrl","isRawLink","results","forEach","pid","entries","isCustomGroupTitle","providerEntriesWithId","map","index","isPaginated","isMore","isLoading","resetResults","cancelSearchRequests","onSearchInput","updateSearch","onSelectResultSelected","item","searchMoreOf","searchProviderId","searchProviders","searchPromises","searchOneProvider","cursor","allSettled","promises","find","status","reason","code","url","term","_sfc_render$2","_sfc_staticRenderFns$2","NcSearch","MODES","standardLinkInput","searchInput","customElement","_sfc_main$1","initialProvider","focusOnCreate","mode","pickerWrapperStyle","onEscapePressed","deselectProvider","cancelProviderSelection","cancelCustomElement","cancelSearch","cancelRawLinkInput","submitLink","timestamp","Math","floor","Date","now","params","put","touchProvider","_sfc_render$1","stopPropagation","preventDefault","_sfc_staticRenderFns$1","NcReferencePicker","_sfc_main","NcModal","ArrowLeftIcon","A","CloseIcon","C","isInsideViewer","show","backButtonTitle","closeButtonTitle","closeButtonLabel","isProviderSelected","showBackButton","modalSize","showModalName","modalName","elem","modal_content","onProviderSelect","onBackClicked","referencePicker","_sfc_render","_sfc_staticRenderFns","NcReferencePickerModal","async","getLinkWithPicker","reject","modalElement","body","append","getProvider","view","extend","propsData","$mount","$destroy","Error","storage","persist","build","emojiIndex","emojiSearch","maxResults","EmojiIndex","currentSkinTone","getCurrentSkinTone","search","concat","frequently","emoji","getSkin","emojiAddRecent","emojiData","add","skinTone","parseInt","getItem","min","setCurrentSkinTone","setItem","toString","text","referenceData","Array","displayFallback","displayedReferences","values","fallbackReference","firstReference","fetch","U","exec","trim","isPublic","post","sharingToken","_l","NcReferenceList","remarkPlaceholder","ast","node2","parent","placeholders","split","index2","list2","matches","u","component","tagName","children","splice","remarkUnescape","tree","includes","ccount","character","source","TypeError","count","asciiAlpha","regexCheck","asciiAlphanumeric","markdownLineEnding","code2","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","regex","test","fromCharCode","convert","ok","castFactory","isArray","tests","checks","parameters","anyFactory","check","checkAsRecord","nodeAsRecord","propsFactory","testFunction","looksLikeANode","call","empty","CONTINUE","EXIT","SKIP","visitParents","visitor","reverse","is","factory","parents","defineProperty","visit2","subresult","offset","grandparents","toResult","nodeAsParent","child","toFunction","replace2","inConstruct","notInConstruct","enterLiteralAutolink","token","enter","enterLiteralAutolinkValue","config","autolinkProtocol","exitLiteralAutolinkHttp","exit","exitLiteralAutolinkWww","stack","sliceSerialize","exitLiteralAutolinkEmail","autolinkEmail","exitLiteralAutolink","transformGfmAutolinkLiterals","ignored","ignore","pairs","tupleOrList","tuple","string","escapeStringRegexp","toPairs","pairIndex","grandparent","siblings","start","change","nodes","lastIndex","position","matchObject","input","global","findAndReplace","findUrl","findEmail","_","protocol","domain2","path2","prefix","previous","parts","isCorrectDomain","trailExec","trail2","closingParenIndex","openingParens","closingParens","splitUrl","atext","label","email","charCodeAt","normalizeIdentifier","toLowerCase","toUpperCase","enterFootnoteDefinition","identifier","enterFootnoteDefinitionLabelString","buffer","exitFootnoteDefinitionLabelString","resume","exitFootnoteDefinition","enterFootnoteCall","enterFootnoteCallString","exitFootnoteCallString","exitFootnoteCall","footnoteReference","state","info","tracker","createTracker","move","exit2","subexit","safe","associationId","current","before","after","footnoteDefinition","shift","indentLines","containerFlow","map$2","line","blank","peek","constructsWithoutStrikethrough","enterStrikethrough","exitStrikethrough","handleDelete","containerPhrasing","defaultStringLength","toAlignment","codePointAt","map$1","listInScope","none","hardBreak","_1","unsafe","pattern","checkQuote","marker","quote","emphasis","checkEmphasis","emptyOptions$1","settings","one","includeImageAlt","includeHtml","node","alt","all","join","html","image","suffix","imageReference","referenceType","inlineCode","sequence","compilePattern","atBreak","formatLinkAsAutolink","raw","resourceLink","value2","linkReference","text2","checkBullet","bullet","checkRule","rule","phrasing","strong","checkStrong","handle","blockquote","break","fence","checkFence","fences","lang","formatCodeAsIndented","exit3","repeat","expected","longestStreak","encode","meta","definition","heading","rank","depth","literalWithBreak","node3","setext","formatHeadingAsSetext","subexit2","lastIndexOf","closeAtx","list","bulletCurrent","ordered","bulletOrdered","checkBulletOrdered","bulletOther","checkBulletOther","useDifferentMarker","bulletLastUsed","firstListItem","indexStack","listItem","listItemIndent","checkListItemIndent","incrementListMarker","spread","ceil","paragraph","root","some","d","thematicBreak","ruleSpaces","repetition","ruleRepetition","checkRuleRepetition","enterTable","align","_align","inTable","exitTable","enterRow","enterCell","exitCodeText","$0","$1","gfmTableToMarkdown","padding","tableCellPadding","alignDelimiters","tablePipeAlign","stringLength","around","handlers","table","serializeData","handleTableRowAsData","handleTableAsData","tableCell","handleTableCell","tableRow","matrix","alignments","cellMatrix","sizeMatrix","longestCellByColumn","mostCellsPerRow","rowIndex","row2","sizes2","columnIndex2","cell","columnIndex","row","sizes","lines","delimiterStart","delimiterEnd","markdownTable","exitCheck","checked","exitParagraphWithTaskListItem","head","firstParaghraph","sibling","column","assign","listItemWithTaskListItem","checkable","checkbox","remove","items","end","chunkStart","from","unshift","hasOwnProperty","syntaxExtension","all2","extension","hook","left","right","constructs","existing","wwwPrefix","tokenize","effects","ok2","nok","wwwPrefixInside","consume","wwwPrefixAfter","partial","domain","underscoreInLastSegment","underscoreInLastLastSegment","seen","domainInside","trail","domainAfter","domainAtPunctuation","path","sizeOpen","sizeClose","pathInside","pathAtPunctuation","trailCharRefStart","trailBracketAfter","trailCharRefInside","emailDomainDotTrail","wwwAutolink","self","previousWww","previousUnbalanced","events","attempt","wwwAfter","protocolAutolink","previousProtocol","fromCodePoint","protocolPrefixInside","protocolSlashesInside","afterProtocol","asciiControl","protocolAfter","emailAutolink","dot","gfmAtext","previousEmail","emailDomain","emailDomainAfter","emailDomainDot","_balanced","_gfmAutolinkLiteralWalkedInto","classifyCharacter","resolveAll","constructs2","called","factorySpace","POSITIVE_INFINITY","blankLine","indent","tail","tokenizePotentialGfmFootnoteCall","defined","parser","gfmFootnotes","labelStart","resolveToPotentialGfmFootnoteCall","_bufferIndex","chunk","contentType","replacement","tokenizeGfmFootnoteCall","callStart","callData","callEscape","tokenizeDefinitionStart","_container","labelAtMarker","labelInside","labelAfter","labelEscape","whitespaceAfter","tokenizeDefinitionContinuation","gfmFootnoteDefinitionEnd","gfmStrikethrough","single","singleTilde","tokenizer","previous2","more","_open","_close","open","strikethrough","nextEvents","insideSpan","null","attentionMarkers","EditMap","constructor","editMap","at","addImpl","vecs","pop","gfmTableAlign","inDelimiterRow","event","alignIndex","tokenizeTable","sizeB","next","bodyRowStart","headRowBefore","lazy","headRowBreak","headRowStart","interrupt","headDelimiterStart","headRowData","headRowEscape","headDelimiterBefore","disable","headDelimiterValueBefore","headDelimiterCellBefore","headDelimiterNok","headDelimiterLeftAlignmentAfter","headDelimiterCellAfter","headDelimiterFiller","headDelimiterRightAlignmentAfter","bodyRowBreak","bodyRowData","bodyRowEscape","resolveTable","currentTable","currentBody","currentCell","inFirstCellAwaitingPipe","rowKind","lastCell","afterHeadAwaitingFirstBodyRow","lastTableEnd","map2","flushTableEnd","flushCell","range","rowEnd","previousCell","groupName","getPoint","relatedStart","relatedEnd","valueToken","tableBody","exits","related","side","tasklistCheck","_gfmTasklistFirstContentOfListItem","inside","close","spaceThenNonSpace","emptyOptions","remarkGfm","micromarkExtensions","fromMarkdownExtensions","toMarkdownExtensions","extensions","combineExtensions","continuation","resolveTo","flow","gfm","transforms","literalAutolink","literalAutolinkEmail","literalAutolinkHttp","literalAutolinkWww","gfmFootnoteDefinition","gfmFootnoteDefinitionLabelString","gfmFootnoteCall","gfmFootnoteCallString","canContainEols","tableData","tableHeader","codeText","taskListCheckValueChecked","taskListCheckValueUnchecked","delete","gfmToMarkdown","LINK_PROTOCOLS","rehypeHighlight","referenceLimit","referenceInteractive","referenceInteractiveOptIn","useMarkdown","useExtendedMarkdown","autolink","parentId","G","renderPlaintext","componentClass","prepareTextNode","argumentId","argument","flat","renderMarkdown","renderedMarkdown","use","except","toHast","rel","importRehypeHighlightLibrary","nestedNode","inputNode","labelParts","nestedNodeIndex","inputComponent","N","disabled","placeholder","processSync","render","NcRichText","formatGroup","group","displayname","usercount","canAdd","canRemove","searchGroups","_ref","controller","CancelablePromise","axios","generateOcsUrl","groups","loadUserGroups","userId","_ref2","loadUserSubAdminGroups","_ref3","NcActions","inheritAttrs","headingId","isHeading","headingLevel","wrapperTag","captionTag","hasActions","$slots","actions","_g","_t","$listeners","NcAppNavigationCaption","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","buttonId","validator","variant","NcAppNavigationNew","sax","strict","opt","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","Stream","buffers","l","clearBuffers","q","c","bufferCheckPosition","lowercase","lowercasetags","looseCase","tags","closed","closedRoot","sawRoot","noscript","S","BEGIN","strictEntities","ENTITIES","create","XML_ENTITIES","attribList","xmlns","ns","rootNS","undefined","unquotedAttributeValues","trackPosition","emit","EVENTS","o","F","prototype","keys","write","charAt","BEGIN_WHITESPACE","beginWhiteSpace","TEXT","starti","textNode","isWhitespace","strictFail","TEXT_ENTITY","OPEN_WAKA","startTagPosition","SCRIPT","SCRIPT_ENDING","script","CLOSE_TAG","SGML_DECL","sgmlDecl","isMatch","nameStart","OPEN_TAG","PROC_INST","procInstName","procInstBody","pad","COMMENT","comment","doctype","DOCTYPE_DTD","CDATA","emitNode","cdata","DOCTYPE","isQuote","SGML_DECL_QUOTED","DOCTYPE_QUOTED","DOCTYPE_DTD_QUOTED","COMMENT_ENDING","COMMENT_ENDED","textopts","CDATA_ENDING","CDATA_ENDING_2","PROC_INST_ENDING","PROC_INST_BODY","nameBody","newTag","openTag","OPEN_TAG_SLASH","ATTRIB","closeTag","attribName","attribValue","ATTRIB_NAME","ATTRIB_VALUE","attrib","ATTRIB_NAME_SAW_WHITE","attributes","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_CLOSED","isAttribEnd","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG_SAW_WHITE","notMatch","returnState","parsedEntity","parseEntity","unparsedEntities","entity","entityBody","entityStart","maxAllowed","maxActual","len","closeText","m","checkBufferLength","flush","ex","streamWraps","ev","_parser","writable","readable","me","onend","onerror","er","_decoder","set","removeAllListeners","enumerable","configurable","Buffer","isBuffer","SD","XML_NAMESPACE","XMLNS_NAMESPACE","xml","stringFromCharCode","s","STATE","COMMENT_STARTING","nodeType","normalize","message","qname","attribute","qualName","local","qn","selfClosing","uri","JSON","stringify","nv","isSelfClosing","closeTo","x","num","entityLC","numStr","isNaN","highSurrogate","lowSurrogate","codeUnits","codePoint","isFinite","RangeError","Vue","directive","vElementVisibility","dataComponent","Function","dataKey","dataSources","itemHeight","extraProps","bufferItems","headerHeight","tableHeight","resizeObserver","startIndex","shownItems","renderedItems","tbodyStyle","isOverScrolled","hiddenAfterItems","paddingTop","paddingBottom","tfoot","thead","ResizeObserver","debounce","clientHeight","logger","onScroll","observe","disconnect","handleFooterVisibility","visible","round","scrollTop","_setupProxy","directives","rawName","NcDialog","NcPasswordField","newUser","quotaOptions","possibleManagers","managerInputLabel","managerLabel","promise","showConfig","$store","getters","getShowConfig","getServerData","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","availableGroups","isAdmin","isDelegatedAdmin","getSortedGroups","getSubAdminGroups","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","username","createUser","dispatch","userid","password","displayName","mailAddress","subadmin","subAdminsGroups","quota","language","manager","statuscode","toggleLoading","cancel","commit","createGroup","gid","addGroup","isCreating","validateQuota","validQuota","OC","Util","computerFileSize","formatFileSize","parseFileSize","languageFilterBy","toLocaleLowerCase","users","$set","newUserRequireEmail","showLanguages","filteredUsers","userCount","hasObfuscated","passwordLabel","showUserBackend","showStoragePath","showFirstLogin","showLastLogin","namespaceMapping","ext","mime","rootNameMapping","rss","svg","XmlTextDetector","firstTag","onEnd","nesting","fileType","onopentag","fullScan","onclosetag","isValid","defineComponent","NcActionButton","NcIconSvgWrapper","edit","user","editSvg","SvgCheck","SvgPencil","enabledActions","action","enabled","isSvg","xmlTextDetector","toggleEdit","inject","isInSemanticMenu","labelId","mixins","prop","modelValue","util","warn","isFocusable","ariaChecked","toggleInput","click","onChange","focusable","domProps","_q","ctrlKey","shiftKey","altKey","metaKey","mdiArrowRight","computedId","onClick","isIconUrl","backgroundImage","selection","showDetails","showdetails","color","formattedColor","backgroundColor","NcInputConfirmCancel","editLabel","editPlaceholder","newItemValue","newItemActive","handleNewItem","newItemInput","focusInput","cancelNewItem","handleNewItemDone","Cog","ClickOutside","clickOutsideOptions","clickOutsideConfig","closeMenu","toggleMenu","queue","concurrency","__name","hash","src","__props","canvas","imageLoaded","drawBlurHash","height","pixels","ctx","getContext","imageData","createImageData","putImageData","withResolvers","Image","onload","preloadImage","success","__sfc","_setup","$style","fadeTransition","fadeTransitionActive","__cssModules","_sfc_injectStyles","NcAvatar","collection","detailsOpen","newName","getIcon","resource","iconClass","typeClass","resources","getComponent","iconUrl","mimetype","MimeType","getIconUrl","toggleDetails","removeResource","collectionId","resourceType","resourceId","openRename","renameCollection","composing","extractOcsData","NcCollectionListItem","isActive","storedCollections","fetchCollectionsByResource","createCollection","addResourceToCollection","removeResourceFromCollection","addCollection","updateCollection","addResourceService","collections","getCollectionsByResourceService","addCollections","baseResourceType","baseResourceId","createCollectionService","collectionName","renameCollectionService","removeResourceService","removeCollection","useCollections","searchCollections","searchService","finally","selectIsOpen","generatingCodes","codes","collectionsError","isSelectOpen","OCP","Collaboration","getTypes","method","getLabel","trigger","resourceIdentifier","deep","select","selectedOption","setError","showSelect","renameCollectionFromItem","_m","getElementById","classList","destroyed","ariaLabel","descriptionId","AccountGroup","OpenInNew","teamResourceProviders","circles","ChevronDown","ChevronUp","itemId","appEnabled","appswebroots","version","teamResources","teamOpen","teamProviders","teamId","team","t2","reduce","acc","fetchTeamResources","created","teams","toggleOpen","iconEmoji","iconSvg","iconURL","NcTeamResources","labelTranslated","resourceName","NcResource","fileInfo","header","primary","related_resources","hasResourceInfo","isFiles","fetchRelatedResources","saving","indicatorColor","ariaLabelClearSelected","ariaLabelListbox","ariaLabelDeselectOption","optionLabel","keepOpen","filterBy","inputId","inputLabel","labelOutside","multiple","noWrap","clickableArea","getComputedStyle","getPropertyValue","gridBaseLine","avatarSize","localFilterBy","search2","subname","NcListItemIcon","$props","hint","submitTranslated","idSubmit","checkIfDarkTheme","el","backgroundInvertIfDark","isDarkTheme","isDarkSystemTheme","updateIsDarkTheme","useIsDarkThemeElement","Symbol","toStringTag","externalActions","formattedFullTime","useFormatDateTime","firstLoginTimestamp","relativeTime","format","timeStyle","dateStyle","selectedGroups","selectedSubAdminGroups","userGroups","userSubAdminGroups","usedSpace","quotaUsed","used","usedQuota","pow","userQuota","humanQuota","userLanguage","userLang","userFirstLogin","userLastLoginTooltip","lastLoginTimestamp","formatDate","userLastLogin","relativeModifiedDate","NcProgressBar","UserRowActions","UserRowMixin","selectedQuota","rand","random","loadingPossibleManagers","currentManager","editing","groupsDetails","subAdminGroupsDetails","subadmins","wipe","editedDisplayName","editedPassword","editedMail","isObfuscated","isLoadingUser","isLoadingField","uniqueId","availableSubAdminGroups","userGroupsLabels","userSubAdminGroupsLabels","canEdit","getCurrentUser","uid","defaultQuota","userActions","deleteUser","wipeUserDevices","enableDisableUser","sendWelcomeMail","editedUserQuota","unlimitedQuota","availableLanguages","initManager","confirmPassword","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","showSuccess","timeout","filterManagers","managers","searchInitialUserManager","loadGroupsDetails","selectedGroup","loadSubAdminGroupsDetails","updateUserManager","previousManager","showError","updateDisplayName","updatePassword","updateEmail","addUserGroup","removeUserGroup","$route","addUserSubAdmin","removeUserSubAdmin","setUserQuota","setUserLanguage","displayNameField","inputField","backendCapabilities","setDisplayName","canChangePassword","setPassword","backend","storageLocation","freeze","Fragment","NewUserDialog","UserListFooter","UserListHeader","VirtualList","mdiAccountGroup","rowHeight","UserRow","isInitialLoad","getUsers","quotaPreset","cur","allowUnlimitedQuota","usersOffset","getUsersOffset","usersLimit","getUsersLimit","disabledUsersOffset","getDisabledUsersOffset","disabledUsersLimit","getDisabledUsersLimit","usersCount","redirectIfDisabled","loadUsers","setNewUserDefaultGroup","Notification","showTemporary","resetForm","subscribe","resetSearch","unsubscribe","handleScrollEnd","closeDialog","defaultLanguage","currentGroup","allGroups","getGroups","showNewUserForm","NcAppContent","UserList","pageHeading","selectedGroupDecoded","admin","decodeURIComponent","OCA","Settings","registerAction","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","NcNoteCard","loadingSendMail","groupSorting","getGroupSorting","GroupSorting","GroupName","sorting","UserCount","isGroupSortingEnforced","forceSortGroupByName","isModalOpen","setShowConfig","newUserSendEmail","generateUrl","filterQuotas","searchValue","replaceAll","setDefaultQuota","app","Delete","NcActionInput","NcAppNavigationItem","NcCounterBubble","Pencil","active","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","handleGroupMenuOpen","renameGroup","displayNameInput","groupid","removeGroup","formatGroupMenu","useFormatGroups","adminGroup","disabledGroup","recentGroup","_defineComponent","store","useStore","useRoute","router","useRouter","onBeforeMount","loadGroups","isAdminOrDelegatedAdmin","isAddGroupOpen","loadingAddGroup","hasAddGroupError","newGroupName","loadingGroups","groupsSearchQuery","filteredGroups","groupListItems","lastGroupListItem","findLast","$vnode","isLastGroupVisible","useElementVisibility","groupId","newGroupListItem","scrollIntoView","behavior","block","mdiPlus","NcActionText","NcAppNavigationList","NcAppNavigationSearch","GroupListItem","refInFor","isDialogOpen","getUserCount","showNewUserMenu","mdiAccount","mdiAccountOff","mdiCog","mdiShieldAccount","mdiHistory","NcAppNavigation","UserSettingsDialog","AppNavigationGroupList"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"settings-users-3239.js?v=08759831a01ef53093e7","mappings":"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","sources":["webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/referencePickerModal-4kExxHbR.mjs","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/emoji-BY_D0V5K.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRichText-CwXSzf21.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?4b28","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?7ade","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?1915","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?dc2d","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?d723","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?64c6","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b1db","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b843","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?e7ff","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?758a","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?5434","webpack:///nextcloud/node_modules/@file-type/xml/lib/index.js","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue?vue&type=script&lang=ts","webpack:///nextcloud/node_modules/is-svg/index.js","webpack://nextcloud/./apps/settings/src/components/Users/UserRowActions.vue?3c2a","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css?8d5f","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionButtonGroup-DEf00ge6.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css?a1e2","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionRadio-yAm71xxU.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css?a6b9","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionTextEditable-DNweMXRJ.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppContentDetails.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppContentList.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css?51a1","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppNavigationIconBullet.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-D7wroqrc.css?e4cc","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationNewItem-CcBvnQst.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css?c692","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-JruJ3cF1.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css?9538","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Functions/preloadImage.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcBlurHash-do2wxY-0.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css?52df","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcCollectionList-CFt-EZON.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css?0e9c","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcGuestContent.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css?0c75","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcHeaderButton.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css?1484","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRelatedResourcesPanel-Y38zaKtn.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSavingIndicatorIcon-nv1147dk.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-CRH00RA2.css?50f4","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSelectUsers-W17kOow7.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css?387e","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSettingsInputText-YO053agL.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Functions/isDarkTheme.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Composables/useIsDarkTheme.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs","webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?2145","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?eb6e","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/UserList.vue?750d","webpack://nextcloud/./apps/settings/src/components/UserList.vue?02a4","webpack://nextcloud/./apps/settings/src/components/UserList.vue?c96e","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?c771","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?fd5a","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css","webpack:///nextcloud/apps/settings/src/service/groups.ts","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=style&index=0&id=edf83404&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationCaption-DcgSwIOY.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=style&index=0&id=47722426&prod&lang=scss&scoped=true","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css?cd91","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppNavigationNew.mjs","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=style&index=0&id=3e2f3c17&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/sax/lib/sax.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css?7340","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-CRH00RA2.css","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=1e8fee5a&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?da91","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?f361","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?824e","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?e356","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?7b19","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?9f48","webpack:///nextcloud/apps/settings/src/composables/useGroupsNavigation.ts","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppNavigationGroupList.vue?c74f","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?3dcd","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?28b6","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=style&index=0&id=1195b9bc&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-D7wroqrc.css","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/utils/userUtils.ts","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-button-group-base > div {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button {\n padding: 0 !important;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\n background-color: var(--color-primary-element);\n border-radius: var(--border-radius-large);\n color: var(--color-primary-element-text);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\n background-color: var(--color-primary-element-hover);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\n display: none;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,oCAAoC;AACtC;AACA;EACE,aAAa;EACb,QAAQ;EACR,8BAA8B;AAChC;AACA;EACE,SAAS;AACX;AACA;EACE,qBAAqB;EACrB,WAAW;EACX,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,8CAA8C;EAC9C,yCAAyC;EACzC,wCAAwC;AAC1C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,aAAa;AACf\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.nc-button-group-base > div {\\n text-align: center;\\n color: var(--color-text-maxcontrast);\\n}\\n.nc-button-group-base ul.nc-button-group-content {\\n display: flex;\\n gap: 4px;\\n justify-content: space-between;\\n}\\n.nc-button-group-base ul.nc-button-group-content li {\\n flex: 1 1;\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button {\\n padding: 0 !important;\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\\n background-color: var(--color-primary-element);\\n border-radius: var(--border-radius-large);\\n color: var(--color-primary-element-text);\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\\n background-color: var(--color-primary-element-hover);\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\\n display: none;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import '../assets/referencePickerModal-Ba6soz9w.css';\nimport { e as destroyWidget, a as renderWidget, i as isWidgetRegistered, h as hasInteractiveView, f as hasFullWidth, c as renderCustomPickerElement, g as destroyCustomPickerElement, d as isCustomPickerElementRegistered, j as getCustomPickerElementSize } from \"./index-56SXuvlv.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { r as register, V as t21, a as t, W as t7, X as t44, Y as t38, Z as t22, B as t40, _ as t29, n as t17, $ as t11 } from \"./_l10n-DQgzdF9S.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { imagePath, generateOcsUrl } from \"@nextcloud/router\";\nimport NcEmptyContent from \"../Components/NcEmptyContent.mjs\";\nimport { N as NcHighlight } from \"./index-Bz6q9mZw.mjs\";\nimport { N as NcSelect } from \"./NcSelect-CjUzohn5.mjs\";\nimport { useElementSize, useIntersectionObserver } from \"@vueuse/core\";\nimport Vue, { ref, nextTick } from \"vue\";\nimport { RouterLink } from \"vue-router\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcTextField } from \"./NcTextField-o_8gWurX.mjs\";\nimport { D as DotsHorizontal } from \"./DotsHorizontal-C6LNsw4N.mjs\";\nimport NcModal from \"../Components/NcModal.mjs\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { A as ArrowLeft } from \"./ArrowLeft-DuT2LZOm.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nregister(t21);\nconst IDLE_TIMEOUT = 3 * 60 * 1e3;\nconst _sfc_main$8 = {\n name: \"NcReferenceWidget\",\n components: {\n NcButton\n },\n props: {\n reference: {\n type: Object,\n required: true\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n setup() {\n const isVisible = ref(false);\n const widgetRoot = ref();\n const { width } = useElementSize(widgetRoot);\n useIntersectionObserver(widgetRoot, ([entry]) => {\n nextTick(() => {\n isVisible.value = entry.isIntersecting;\n });\n });\n return {\n width,\n isVisible,\n widgetRoot\n };\n },\n data() {\n return {\n showInteractive: false,\n rendered: false,\n idleTimeout: null\n };\n },\n computed: {\n isInteractive() {\n return !this.interactiveOptIn && this.interactive || this.showInteractive;\n },\n hasFullWidth() {\n return hasFullWidth(this.reference.richObjectType);\n },\n hasCustomWidget() {\n return isWidgetRegistered(this.reference.richObjectType);\n },\n hasInteractiveView() {\n return isWidgetRegistered(this.reference.richObjectType) && hasInteractiveView(this.reference.richObjectType);\n },\n noAccess() {\n return this.reference && !this.reference.accessible;\n },\n descriptionStyle() {\n if (this.numberOfLines === 0) {\n return {\n display: \"none\"\n };\n }\n const lineClamp = this.numberOfLines;\n return {\n lineClamp,\n webkitLineClamp: lineClamp\n };\n },\n numberOfLines() {\n const lineCountOffsets = [450, 550, 650, Infinity];\n return lineCountOffsets.findIndex((max) => this.width < max);\n },\n compactLink() {\n const link = this.reference.openGraphObject.link;\n if (!link) {\n return \"\";\n }\n if (link.startsWith(\"https://\")) {\n return link.substring(8);\n }\n if (link.startsWith(\"http://\")) {\n return link.substring(7);\n }\n return link;\n },\n route() {\n return getRoute(this.$router, this.reference.openGraphObject.link);\n },\n referenceWidgetLinkComponent() {\n return this.route ? RouterLink : \"a\";\n },\n referenceWidgetLinkProps() {\n return this.route ? { to: this.route } : { href: this.reference.openGraphObject.link, target: \"_blank\" };\n }\n },\n watch: {\n isVisible: {\n handler(val) {\n if (!val) {\n this.idleTimeout = setTimeout(() => {\n if (!this.isVisible) {\n this.destroyWidget();\n }\n }, IDLE_TIMEOUT);\n return;\n }\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (!this.rendered) {\n this.renderWidget();\n }\n },\n immediate: true\n }\n },\n beforeDestroy() {\n this.destroyWidget();\n },\n methods: {\n t,\n enableInteractive() {\n this.showInteractive = true;\n this.renderWidget();\n },\n renderWidget() {\n if (!this.$refs.customWidget) {\n return;\n }\n if (this?.reference?.richObjectType === \"open-graph\") {\n return;\n }\n this.$refs.customWidget.innerHTML = \"\";\n const widget = document.createElement(\"div\");\n widget.style = \"width: 100%;\";\n this.$refs.customWidget.appendChild(widget);\n this.$nextTick(() => {\n renderWidget(widget, {\n ...this.reference,\n interactive: this.isInteractive\n });\n this.rendered = true;\n });\n },\n destroyWidget() {\n if (this.rendered) {\n destroyWidget(this.reference.richObjectType, this.$el);\n this.rendered = false;\n }\n }\n }\n};\nvar _sfc_render$8 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"widgetRoot\", class: { \"toggle-interactive\": _vm.hasInteractiveView && !_vm.isInteractive } }, [_vm.reference && _vm.hasCustomWidget ? _c(\"div\", { ref: \"customWidget\", staticClass: \"widget-custom\", class: { \"full-width\": _vm.hasFullWidth } }) : !_vm.noAccess && _vm.reference && _vm.reference.openGraphObject && !_vm.hasCustomWidget ? _c(_vm.referenceWidgetLinkComponent, _vm._b({ tag: \"component\", staticClass: \"widget-default\", attrs: { \"rel\": \"noopener noreferrer\" } }, \"component\", _vm.referenceWidgetLinkProps, false), [_vm.reference.openGraphObject.thumb ? _c(\"img\", { staticClass: \"widget-default--image\", attrs: { \"src\": _vm.reference.openGraphObject.thumb } }) : _vm._e(), _c(\"div\", { staticClass: \"widget-default--details\" }, [_c(\"p\", { staticClass: \"widget-default--name\" }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.name) + \" \")]), _c(\"p\", { staticClass: \"widget-default--description\", style: _vm.descriptionStyle }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.description) + \" \")]), _c(\"p\", { staticClass: \"widget-default--link\" }, [_vm._v(\" \" + _vm._s(_vm.compactLink) + \" \")])])]) : _vm._e(), _vm.interactiveOptIn && _vm.hasInteractiveView && !_vm.isInteractive ? _c(\"NcButton\", { staticClass: \"toggle-interactive--button\", on: { \"click\": _vm.enableInteractive } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Enable interactive view\")) + \" \")]) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$8 = [];\nvar __component__$8 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$8,\n _sfc_render$8,\n _sfc_staticRenderFns$8,\n false,\n null,\n \"734d6ae9\"\n);\nconst NcReferenceWidget = __component__$8.exports;\nconst _sfc_main$7 = {\n name: \"NcCustomPickerElement\",\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n isRegistered: isCustomPickerElementRegistered(this.provider.id),\n renderResult: null\n };\n },\n mounted() {\n if (this.isRegistered) {\n this.renderElement();\n }\n },\n beforeDestroy() {\n if (this.isRegistered) {\n destroyCustomPickerElement(this.provider.id, this.$el, this.renderResult);\n }\n },\n methods: {\n renderElement() {\n if (this.$refs.domElement) {\n this.$refs.domElement.innerHTML = \"\";\n }\n const renderFunctionResult = renderCustomPickerElement(this.$refs.domElement, { providerId: this.provider.id, accessible: false });\n Promise.resolve(renderFunctionResult).then((result) => {\n this.renderResult = result;\n if (this.renderResult.object?._isVue && this.renderResult.object?.$on) {\n this.renderResult.object.$on(\"submit\", this.onSubmit);\n this.renderResult.object.$on(\"cancel\", this.onCancel);\n }\n this.renderResult.element.addEventListener(\"submit\", (e) => {\n this.onSubmit(e.detail);\n });\n this.renderResult.element.addEventListener(\"cancel\", this.onCancel);\n });\n },\n onSubmit(value) {\n this.$emit(\"submit\", value);\n },\n onCancel() {\n this.$emit(\"cancel\");\n }\n }\n};\nvar _sfc_render$7 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"domElement\" });\n};\nvar _sfc_staticRenderFns$7 = [];\nvar __component__$7 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$7,\n _sfc_render$7,\n _sfc_staticRenderFns$7,\n false,\n null,\n \"de9850e4\"\n);\nconst NcCustomPickerElement = __component__$7.exports;\nregister(t7);\nconst anyLinkProviderId = \"any-link\";\nconst anyLinkProvider = {\n id: anyLinkProviderId,\n title: t(\"Any link\"),\n icon_url: imagePath(\"core\", \"filetypes/link.svg\")\n};\nif (!window._vue_richtext_reference_providers) {\n window._vue_richtext_reference_providers = loadState(\"core\", \"reference-provider-list\", []);\n}\nif (!window._vue_richtext_reference_provider_timestamps) {\n window._vue_richtext_reference_provider_timestamps = loadState(\"core\", \"reference-provider-timestamps\", {});\n}\nfunction getProvider(providerId) {\n if (providerId === anyLinkProviderId) {\n return anyLinkProvider;\n }\n return getProviders().find((p) => p.id === providerId);\n}\nfunction getProviders() {\n return window._vue_richtext_reference_providers.filter((p) => {\n const keep = !!p.search_providers_ids && p.search_providers_ids.length > 0 || isCustomPickerElementRegistered(p.id);\n if (!keep) {\n console.debug(\"[smart picker]\", p.id, \"reference provider is discoverable but does not have any related search provider or custom picker component registered\");\n }\n return keep;\n });\n}\nfunction sortProviders(providerList) {\n const timestamps = window._vue_richtext_reference_provider_timestamps;\n return providerList.sort((a, b) => {\n return a.order === b.order ? 0 : a.order > b.order ? 1 : -1;\n }).sort((a, b) => {\n const ta = timestamps[a.id];\n const tb = timestamps[b.id];\n return ta === tb ? 0 : tb === void 0 ? -1 : ta === void 0 ? 1 : ta > tb ? -1 : 1;\n });\n}\nfunction searchProvider(query, limit = null) {\n const providers = getProviders();\n const escapedQuery = query.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n const regexp = new RegExp(escapedQuery, \"i\");\n const sortedProviders = sortProviders(providers);\n const filteredSortedProviders = sortedProviders.filter((p) => {\n return p.title.match(regexp);\n });\n const searchResult = limit ? filteredSortedProviders.slice(0, limit) : filteredSortedProviders;\n if (query === \"\" || searchResult.length === 0) {\n searchResult.push(anyLinkProvider);\n }\n return searchResult;\n}\nfunction touchProvider(providerId) {\n const timestamp = Math.floor(Date.now() / 1e3);\n const params = {\n timestamp\n };\n const url = generateOcsUrl(\"references/provider/{providerId}\", { providerId });\n axios.put(url, params).then((response) => {\n window._vue_richtext_reference_provider_timestamps[providerId] = timestamp;\n });\n}\nlet mytimer = 0;\nfunction delay(callback, ms) {\n return function() {\n const context = this;\n const args = arguments;\n clearTimeout(mytimer);\n mytimer = setTimeout(function() {\n callback.apply(context, args);\n }, ms);\n };\n}\nfunction isUrl(str) {\n try {\n return Boolean(new URL(str));\n } catch (error) {\n return false;\n }\n}\nregister(t38, t44);\nconst _sfc_main$6 = {\n name: \"LinkVariantIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$6 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon link-variant-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$6 = [];\nvar __component__$6 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$6,\n _sfc_render$6,\n _sfc_staticRenderFns$6,\n false,\n null,\n null\n);\nconst LinkVariantIcon = __component__$6.exports;\nconst _sfc_main$5 = {\n name: \"NcProviderList\",\n components: {\n NcSelect,\n NcHighlight,\n NcEmptyContent,\n LinkVariantIcon\n },\n emits: [\n \"select-provider\",\n \"submit\"\n ],\n data() {\n return {\n selectedProvider: null,\n query: \"\",\n multiselectPlaceholder: t(\"Select provider\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n options() {\n const result = [];\n if (this.query !== \"\" && isUrl(this.query)) {\n result.push({\n id: this.query,\n title: this.query,\n isLink: true\n });\n }\n result.push(...searchProvider(this.query));\n return result;\n }\n },\n methods: {\n focus() {\n setTimeout(() => {\n this.$refs[\"provider-select\"]?.$el?.querySelector(\"#provider-select-input\")?.focus();\n }, 300);\n },\n onProviderSelected(p) {\n if (p !== null) {\n if (p.isLink) {\n this.$emit(\"submit\", p.title);\n } else {\n this.$emit(\"select-provider\", p);\n }\n this.selectedProvider = null;\n }\n },\n onSearch(query, loading) {\n this.query = query;\n }\n }\n};\nvar _sfc_render$5 = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"provider-list\" }, [_c(\"NcSelect\", { ref: \"provider-select\", staticClass: \"provider-list--select\", attrs: { \"input-id\": \"provider-select-input\", \"label\": \"title\", \"placeholder\": _vm.multiselectPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"clear-search-on-select\": true, \"clear-search-on-blur\": () => false, \"filterable\": false }, on: { \"search\": _vm.onSearch, \"input\": _vm.onProviderSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isLink ? _c(\"div\", { staticClass: \"provider\" }, [_c(\"LinkVariantIcon\", { staticClass: \"link-icon\", attrs: { \"size\": 20 } }), _c(\"span\", [_vm._v(_vm._s(option.title))])], 1) : _c(\"div\", { staticClass: \"provider\" }, [_c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": option.icon_url, \"alt\": _vm.providerIconAlt } }), _c(\"NcHighlight\", { staticClass: \"option-text\", attrs: { \"search\": _vm.query, \"text\": option.title } })], 1)];\n } }]), model: { value: _vm.selectedProvider, callback: function($$v) {\n _vm.selectedProvider = $$v;\n }, expression: \"selectedProvider\" } }), _c(\"NcEmptyContent\", { staticClass: \"provider-list--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$5 = [];\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$5,\n _sfc_render$5,\n _sfc_staticRenderFns$5,\n false,\n null,\n \"f03ee0c9\"\n);\nconst NcProviderList = __component__$5.exports;\nregister(t22);\nconst _sfc_main$4 = {\n name: \"NcRawLinkInput\",\n components: {\n LinkVariantIcon,\n NcEmptyContent,\n NcLoadingIcon,\n NcReferenceWidget,\n NcTextField\n },\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n inputValue: \"\",\n loading: false,\n reference: null,\n abortController: null,\n inputPlaceholder: t(\"Enter link\")\n };\n },\n computed: {\n isLinkValid() {\n return isUrl(this.inputValue);\n }\n },\n methods: {\n focus() {\n this.$refs[\"url-input\"].$el.getElementsByTagName(\"input\")[0]?.focus();\n },\n onSubmit(e) {\n const value = e.target.value;\n if (this.isLinkValid) {\n this.$emit(\"submit\", value);\n }\n },\n onClear() {\n this.inputValue = \"\";\n this.reference = null;\n },\n onInput() {\n this.reference = null;\n if (this.abortController) {\n this.abortController.abort();\n }\n if (this.isLinkValid) {\n delay(() => {\n this.updateReference();\n }, 500)();\n }\n },\n updateReference() {\n this.loading = true;\n this.abortController = new AbortController();\n axios.get(generateOcsUrl(\"references/resolve\", 2) + \"?reference=\" + encodeURIComponent(this.inputValue), {\n signal: this.abortController.signal\n }).then((response) => {\n this.reference = response.data.ocs.data.references[this.inputValue];\n }).catch((error) => {\n console.error(error);\n }).then(() => {\n this.loading = false;\n });\n }\n }\n};\nvar _sfc_render$4 = function render5() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"raw-link\" }, [_c(\"div\", { staticClass: \"input-wrapper\" }, [_c(\"NcTextField\", { ref: \"url-input\", attrs: { \"value\": _vm.inputValue, \"show-trailing-button\": _vm.inputValue !== \"\", \"label\": _vm.inputPlaceholder }, on: { \"update:value\": [function($event) {\n _vm.inputValue = $event;\n }, _vm.onInput], \"trailing-button-click\": _vm.onClear }, nativeOn: { \"keyup\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_vm.loading ? _c(\"NcLoadingIcon\", { attrs: { \"size\": 16 } }) : _c(\"LinkVariantIcon\", { attrs: { \"size\": 16 } })], 1)], 1), _vm.reference !== null ? _c(\"NcReferenceWidget\", { staticClass: \"reference-widget\", attrs: { \"reference\": _vm.reference } }) : _c(\"NcEmptyContent\", { staticClass: \"raw-link--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n \"3c1803b5\"\n);\nconst NcRawLinkInput = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"NcSearchResult\",\n components: {\n NcHighlight\n },\n props: {\n /**\n * Unified search result entry\n */\n entry: {\n type: Object,\n required: true\n },\n /**\n * The query that led to getting this result\n * Used to highlight the entry text\n */\n query: {\n type: String,\n required: true\n }\n }\n};\nvar _sfc_render$3 = function render6() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"result\" }, [_vm.entry.icon ? _c(\"div\", { staticClass: \"result--icon-class\", class: { [_vm.entry.icon]: true, rounded: _vm.entry.rounded } }) : _c(\"img\", { staticClass: \"result--image\", class: { rounded: _vm.entry.rounded }, attrs: { \"src\": _vm.entry.thumbnailUrl } }), _c(\"div\", { staticClass: \"result--content\" }, [_c(\"span\", { staticClass: \"result--content--name\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.title } })], 1), _c(\"span\", { staticClass: \"result--content--subline\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.subline } })], 1)])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n \"ff4bcbf3\"\n);\nconst NcSearchResult = __component__$3.exports;\nregister(t29, t38, t40);\nconst LIMIT = 5;\nconst _sfc_main$2 = {\n name: \"NcSearch\",\n components: {\n LinkVariantIcon,\n DotsHorizontalIcon: DotsHorizontal,\n NcEmptyContent,\n NcSelect,\n NcSearchResult\n },\n props: {\n /**\n * The selected reference provider\n */\n provider: {\n type: Object,\n required: true\n },\n showEmptyContent: {\n type: Boolean,\n default: true\n },\n searchPlaceholder: {\n type: String,\n default: null\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n searchQuery: \"\",\n selectedResult: null,\n resultsBySearchProvider: {},\n searching: false,\n searchingMoreOf: null,\n abortController: null,\n noOptionsText: t(\"Start typing to search\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n mySearchPlaceholder() {\n return this.searchPlaceholder || t(\"Search\");\n },\n searchProviderIds() {\n return this.provider.search_providers_ids;\n },\n options() {\n if (this.searchQuery === \"\") {\n return [];\n }\n const options = [];\n if (isUrl(this.searchQuery)) {\n options.push(this.rawLinkEntry);\n }\n options.push(...this.formattedSearchResults);\n return options;\n },\n rawLinkEntry() {\n return {\n id: \"rawLinkEntry\",\n resourceUrl: this.searchQuery,\n isRawLink: true\n };\n },\n formattedSearchResults() {\n const results = [];\n this.searchProviderIds.forEach((pid) => {\n if (this.resultsBySearchProvider[pid].entries.length > 0) {\n if (this.searchProviderIds.length > 1 || this.resultsBySearchProvider[pid].entries.length > 1) {\n results.push({\n id: \"groupTitle-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isCustomGroupTitle: true,\n providerId: pid\n });\n }\n const providerEntriesWithId = this.resultsBySearchProvider[pid].entries.map((entry, index) => {\n return {\n id: \"provider-\" + pid + \"-entry-\" + index,\n ...entry\n };\n });\n results.push(...providerEntriesWithId);\n if (this.resultsBySearchProvider[pid].isPaginated) {\n results.push({\n id: \"moreOf-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isMore: true,\n providerId: pid,\n isLoading: this.searchingMoreOf === pid\n });\n }\n }\n });\n return results;\n }\n },\n mounted() {\n this.resetResults();\n },\n beforeDestroy() {\n this.cancelSearchRequests();\n },\n methods: {\n t,\n resetResults() {\n const resultsBySearchProvider = {};\n this.searchProviderIds.forEach((pid) => {\n resultsBySearchProvider[pid] = {\n entries: []\n };\n });\n this.resultsBySearchProvider = resultsBySearchProvider;\n },\n focus() {\n setTimeout(() => {\n this.$refs[\"search-select\"]?.$el?.querySelector(\"#search-select-input\")?.focus();\n }, 300);\n },\n cancelSearchRequests() {\n if (this.abortController) {\n this.abortController.abort();\n }\n },\n onSearchInput(query, loading) {\n this.searchQuery = query;\n delay(() => {\n this.updateSearch();\n }, 500)();\n },\n onSelectResultSelected(item) {\n if (item !== null) {\n if (item.resourceUrl) {\n this.cancelSearchRequests();\n this.$emit(\"submit\", item.resourceUrl);\n } else if (item.isMore) {\n this.searchMoreOf(item.providerId).then(() => {\n this.selectedResult = null;\n });\n }\n }\n },\n searchMoreOf(searchProviderId) {\n this.searchingMoreOf = searchProviderId;\n this.cancelSearchRequests();\n return this.searchProviders(searchProviderId);\n },\n updateSearch() {\n this.cancelSearchRequests();\n this.resetResults();\n if (this.searchQuery === \"\") {\n this.searching = false;\n return;\n }\n return this.searchProviders();\n },\n searchProviders(searchProviderId = null) {\n this.abortController = new AbortController();\n this.searching = true;\n const searchPromises = searchProviderId === null ? [...this.searchProviderIds].map((pid) => {\n return this.searchOneProvider(pid);\n }) : [this.searchOneProvider(searchProviderId, this.resultsBySearchProvider[searchProviderId]?.cursor ?? null)];\n return Promise.allSettled(searchPromises).then((promises) => {\n const isOneCanceled = !!promises.find((p) => {\n return p.status === \"rejected\" && (p.reason.name === \"CanceledError\" || p.reason.code === \"ERR_CANCELED\");\n });\n if (!isOneCanceled) {\n this.searching = false;\n this.searchingMoreOf = null;\n }\n });\n },\n searchOneProvider(providerId, cursor = null) {\n const url = cursor === null ? generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}\", { providerId, term: this.searchQuery, limit: LIMIT }) : generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}\", { providerId, term: this.searchQuery, limit: LIMIT, cursor });\n return axios.get(url, {\n signal: this.abortController.signal\n }).then((response) => {\n const data = response.data.ocs.data;\n this.resultsBySearchProvider[providerId].name = data.name;\n this.resultsBySearchProvider[providerId].cursor = data.cursor;\n this.resultsBySearchProvider[providerId].isPaginated = data.isPaginated;\n this.resultsBySearchProvider[providerId].entries.push(...data.entries);\n });\n }\n }\n};\nvar _sfc_render$2 = function render7() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"smart-picker-search\", class: { \"with-empty-content\": _vm.showEmptyContent } }, [_c(\"NcSelect\", { ref: \"search-select\", staticClass: \"smart-picker-search--select\", attrs: { \"input-id\": \"search-select-input\", \"label\": \"name\", \"placeholder\": _vm.mySearchPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"close-on-select\": false, \"clear-search-on-select\": false, \"clear-search-on-blur\": () => false, \"reset-focus-on-options-change\": false, \"filterable\": false, \"autoscroll\": true, \"reset-on-options-change\": false, \"loading\": _vm.searching }, on: { \"search\": _vm.onSearchInput, \"input\": _vm.onSelectResultSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isRawLink ? _c(\"div\", { staticClass: \"custom-option\" }, [_c(\"LinkVariantIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Raw link {options}\", { options: option.resourceUrl })) + \" \")])], 1) : option.resourceUrl ? _c(\"NcSearchResult\", { staticClass: \"search-result\", attrs: { \"entry\": option, \"query\": _vm.searchQuery } }) : option.isCustomGroupTitle ? _c(\"span\", { staticClass: \"custom-option group-name\" }, [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon group-name-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _vm._e(), _c(\"span\", { staticClass: \"option-text\" }, [_c(\"strong\", [_vm._v(_vm._s(option.name))])])]) : option.isMore ? _c(\"span\", { class: { \"custom-option\": true } }, [option.isLoading ? _c(\"span\", { staticClass: \"option-simple-icon icon-loading-small\" }) : _c(\"DotsHorizontalIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t('Load more \"{options}\"', { options: option.name })) + \" \")])], 1) : _vm._e()];\n } }, { key: \"no-options\", fn: function() {\n return [_vm._v(\" \" + _vm._s(_vm.noOptionsText) + \" \")];\n }, proxy: true }]), model: { value: _vm.selectedResult, callback: function($$v) {\n _vm.selectedResult = $$v;\n }, expression: \"selectedResult\" } }), _vm.showEmptyContent ? _c(\"NcEmptyContent\", { staticClass: \"smart-picker-search--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"alt\": _vm.providerIconAlt, \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }], null, false, 2922132592) }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"05fef988\"\n);\nconst NcSearch = __component__$2.exports;\nconst MODES = {\n providerList: 1,\n standardLinkInput: 2,\n searchInput: 3,\n customElement: 4\n};\nconst _sfc_main$1 = {\n name: \"NcReferencePicker\",\n components: {\n NcCustomPickerElement,\n NcProviderList,\n NcRawLinkInput,\n NcSearch\n },\n props: {\n /**\n * Provider to select on creation\n * Default: null. Show the provider list\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Optional width in pixels\n * Default: 100%\n */\n width: {\n type: Number,\n default: null\n },\n /**\n * Focus on the provider list select input on creation\n * Default: true\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n }\n },\n emits: [\n \"cancel\",\n \"cancel-raw-link\",\n \"cancel-search\",\n \"provider-selected\",\n \"submit\"\n ],\n data() {\n return {\n MODES,\n selectedProvider: this.initialProvider\n };\n },\n computed: {\n mode() {\n return this.selectedProvider === null ? MODES.providerList : isCustomPickerElementRegistered(this.selectedProvider.id) ? MODES.customElement : this.selectedProvider.search_providers_ids ? MODES.searchInput : MODES.standardLinkInput;\n },\n pickerWrapperStyle() {\n return {\n width: this.width ? this.width + \"px\" : void 0\n };\n }\n },\n mounted() {\n if (this.focusOnCreate) {\n if (this.initialProvider) {\n setTimeout(() => {\n this.$refs[\"url-input\"]?.focus();\n }, 300);\n } else {\n this.$nextTick(() => {\n this.$refs[\"provider-list\"]?.focus();\n });\n }\n }\n },\n methods: {\n onEscapePressed() {\n if (this.selectedProvider !== null) {\n this.deselectProvider();\n } else {\n this.cancelProviderSelection();\n }\n },\n onProviderSelected(provider) {\n this.selectedProvider = provider;\n this.$emit(\"provider-selected\", provider);\n this.$nextTick(() => {\n this.$refs[\"url-input\"]?.focus();\n });\n },\n cancelCustomElement() {\n this.deselectProvider();\n },\n cancelSearch() {\n this.$emit(\"cancel-search\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelRawLinkInput() {\n this.$emit(\"cancel-raw-link\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelProviderSelection() {\n this.$emit(\"cancel\");\n },\n submitLink(link) {\n if (this.selectedProvider !== null) {\n touchProvider(this.selectedProvider.id);\n }\n this.$emit(\"submit\", link);\n this.deselectProvider();\n },\n deselectProvider() {\n this.selectedProvider = null;\n this.$emit(\"provider-selected\", null);\n setTimeout(() => {\n this.$refs[\"provider-list\"]?.focus();\n }, 300);\n }\n }\n};\nvar _sfc_render$1 = function render8() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"reference-picker\", style: _vm.pickerWrapperStyle, attrs: { \"tabindex\": \"-1\" }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.onEscapePressed.apply(null, arguments);\n } } }, [_vm.mode === _vm.MODES.providerList ? _c(\"NcProviderList\", { ref: \"provider-list\", on: { \"select-provider\": _vm.onProviderSelected, \"submit\": _vm.submitLink, \"cancel\": _vm.cancelProviderSelection } }) : _vm.mode === _vm.MODES.standardLinkInput ? _c(\"NcRawLinkInput\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelRawLinkInput } }) : _vm.mode === _vm.MODES.searchInput ? _c(\"NcSearch\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"cancel\": _vm.cancelSearch, \"submit\": _vm.submitLink } }) : _vm.mode === _vm.MODES.customElement ? _c(\"div\", { staticClass: \"custom-element-wrapper\" }, [_c(\"NcCustomPickerElement\", { staticClass: \"custom-element\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelCustomElement } })], 1) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"cd33df8e\"\n);\nconst NcReferencePicker = __component__$1.exports;\nregister(t11, t17);\nconst _sfc_main = {\n name: \"NcReferencePickerModal\",\n components: {\n NcReferencePicker,\n NcModal,\n NcButton,\n ArrowLeftIcon: ArrowLeft,\n CloseIcon: Close\n },\n props: {\n /**\n * Provider to select on creation\n * Show the provider list if no initial one is provided\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Focus on the input item on create\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n },\n /**\n * If true, add the modal content to the Viewer trap elements via the event-bus\n */\n isInsideViewer: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n show: true,\n selectedProvider: this.initialProvider,\n backButtonTitle: t(\"Back to provider selection\"),\n closeButtonTitle: t(\"Close\"),\n closeButtonLabel: t(\"Close Smart Picker\")\n };\n },\n computed: {\n isProviderSelected() {\n return this.selectedProvider !== null;\n },\n showBackButton() {\n return this.initialProvider === null && this.isProviderSelected;\n },\n modalSize() {\n return this.isProviderSelected && isCustomPickerElementRegistered(this.selectedProvider.id) ? getCustomPickerElementSize(this.selectedProvider.id) ?? \"large\" : \"normal\";\n },\n showModalName() {\n return !this.isProviderSelected || !isCustomPickerElementRegistered(this.selectedProvider.id);\n },\n modalName() {\n return this.isProviderSelected ? this.selectedProvider.title : t(\"Smart Picker\");\n }\n },\n mounted() {\n if (this.isInsideViewer) {\n const elem = this.$refs.modal_content;\n emit(\"viewer:trapElements:changed\", elem);\n }\n },\n methods: {\n onCancel() {\n this.show = false;\n this.$emit(\"cancel\");\n },\n onSubmit(value) {\n this.show = false;\n this.$emit(\"submit\", value);\n },\n onProviderSelect(provider) {\n this.selectedProvider = provider;\n if (provider === null && this.initialProvider !== null) {\n this.onCancel();\n }\n },\n onBackClicked() {\n this.$refs.referencePicker.deselectProvider();\n }\n }\n};\nvar _sfc_render = function render9() {\n var _vm = this, _c = _vm._self._c;\n return _vm.show ? _c(\"NcModal\", { staticClass: \"reference-picker-modal\", attrs: { \"size\": _vm.modalSize, \"can-close\": true }, on: { \"close\": _vm.onCancel } }, [_c(\"div\", { ref: \"modal_content\", staticClass: \"reference-picker-modal--content\" }, [_vm.showBackButton ? _c(\"NcButton\", { staticClass: \"back-button\", attrs: { \"aria-label\": _vm.backButtonTitle, \"title\": _vm.backButtonTitle }, on: { \"click\": _vm.onBackClicked }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowLeftIcon\")];\n }, proxy: true }], null, false, 3001860362) }) : _vm._e(), _c(\"NcButton\", { staticClass: \"close-button\", attrs: { \"aria-label\": _vm.closeButtonLabel, \"title\": _vm.closeButtonTitle, \"variant\": \"tertiary\" }, on: { \"click\": _vm.onCancel }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"CloseIcon\")];\n }, proxy: true }], null, false, 2491825086) }), _vm.showModalName ? _c(\"h2\", [_vm._v(\" \" + _vm._s(_vm.modalName) + \" \")]) : _vm._e(), _c(\"NcReferencePicker\", { ref: \"referencePicker\", attrs: { \"initial-provider\": _vm.initialProvider, \"focus-on-create\": _vm.focusOnCreate }, on: { \"provider-selected\": _vm.onProviderSelect, \"submit\": _vm.onSubmit, \"cancel\": _vm.onCancel } })], 1)]) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"c66449c1\"\n);\nconst NcReferencePickerModal = __component__.exports;\nasync function getLinkWithPicker(providerId = null, isInsideViewer = void 0) {\n return await new Promise((resolve, reject) => {\n const modalId = \"referencePickerModal\";\n const modalElement = document.createElement(\"div\");\n modalElement.id = modalId;\n document.body.append(modalElement);\n const initialProvider = providerId === null ? null : getProvider(providerId) ?? null;\n const View = Vue.extend(NcReferencePickerModal);\n const view = new View({\n propsData: {\n initialProvider,\n isInsideViewer\n }\n }).$mount(modalElement);\n view.$on(\"cancel\", () => {\n view.$destroy();\n reject(new Error(\"User cancellation\"));\n });\n view.$on(\"submit\", (link) => {\n view.$destroy();\n resolve(link);\n });\n });\n}\nexport {\n NcReferenceWidget as N,\n anyLinkProviderId as a,\n getProvider as b,\n getProviders as c,\n searchProvider as d,\n NcReferencePicker as e,\n NcReferencePickerModal as f,\n getLinkWithPicker as g,\n NcSearch as h,\n sortProviders as s\n};\n//# sourceMappingURL=referencePickerModal-4kExxHbR.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dialog__note[data-v-9f7a355c]{font-weight:normal}fieldset[data-v-9f7a355c]{font-weight:bold}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,kBAAA,CAIF,0BACC,gBAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__note {\\n\\t\\tfont-weight: normal;\\n\\t}\\n}\\n\\nfieldset {\\n\\tfont-weight: bold;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-20fd51f9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.header-menu[data-v-20fd51f9] {\n position: relative;\n width: var(--header-height);\n height: var(--header-height);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--header-height) !important;\n height: var(--header-height);\n opacity: 0.85;\n filter: none !important;\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\n opacity: 1;\n}\n@media only screen and (max-width: 512px) {\n.header-menu[data-v-20fd51f9] {\n width: var(--default-clickable-area);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--default-clickable-area) !important;\n}\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,2BAA2B;EAC3B,4BAA4B;AAC9B;AACA;EACE,8CAA8C;EAC9C,4BAA4B;EAC5B,aAAa;EACb,uBAAuB;EACvB,+EAA+E;AACjF;AACA;EACE,wBAAwB;EACxB,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;AACA;IACI,oCAAoC;AACxC;AACA;IACI,uDAAuD;AAC3D;AACA\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-20fd51f9] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/*!\\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n.header-menu[data-v-20fd51f9] {\\n position: relative;\\n width: var(--header-height);\\n height: var(--header-height);\\n}\\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\\n --button-size: var(--header-height) !important;\\n height: var(--header-height);\\n opacity: 0.85;\\n filter: none !important;\\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\\n}\\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\\n outline: none !important;\\n box-shadow: none !important;\\n}\\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\\n opacity: 1;\\n}\\n@media only screen and (max-width: 512px) {\\n.header-menu[data-v-20fd51f9] {\\n width: var(--default-clickable-area);\\n}\\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\\n --button-size: var(--default-clickable-area) !important;\\n}\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-list[data-v-21942da5]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%;will-change:scroll-position}.user-list__header[data-v-21942da5],.user-list__footer[data-v-21942da5]{position:sticky;display:block}.user-list__header[data-v-21942da5]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-21942da5]{inset-inline-start:0}.user-list__body[data-v-21942da5]{display:flex;flex-direction:column;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/VirtualList.vue\"],\"names\":[],\"mappings\":\"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,oBAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.user-list {\\n\\t--avatar-cell-width: 48px;\\n\\t--cell-padding: 7px;\\n\\t--cell-width: 200px;\\n\\t--cell-width-large: 300px;\\n\\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\\n\\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\\n\\n\\t// Necessary for virtual scroll optimized rendering\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: sticky;\\n\\t\\t// Fix sticky positioning in Firefox\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t&__header {\\n\\t\\ttop: 0;\\n\\t\\tz-index: calc(var(--sticky-column-z-index) + 1);\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tinset-inline-start: 0;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import { getBuilder } from \"@nextcloud/browser-storage\";\nimport { EmojiIndex, frequently } from \"emoji-mart-vue-fast\";\nimport data from \"emoji-mart-vue-fast/data/all.json\";\nconst storage = getBuilder(\"nextcloud-vue\").persist(true).build();\nlet emojiIndex;\nvar EmojiSkinTone = /* @__PURE__ */ ((EmojiSkinTone2) => {\n EmojiSkinTone2[EmojiSkinTone2[\"Neutral\"] = 1] = \"Neutral\";\n EmojiSkinTone2[EmojiSkinTone2[\"Light\"] = 2] = \"Light\";\n EmojiSkinTone2[EmojiSkinTone2[\"MediumLight\"] = 3] = \"MediumLight\";\n EmojiSkinTone2[EmojiSkinTone2[\"Medium\"] = 4] = \"Medium\";\n EmojiSkinTone2[EmojiSkinTone2[\"MediumDark\"] = 5] = \"MediumDark\";\n EmojiSkinTone2[EmojiSkinTone2[\"Dark\"] = 6] = \"Dark\";\n return EmojiSkinTone2;\n})(EmojiSkinTone || {});\nfunction emojiSearch(query, maxResults = 10) {\n if (!emojiIndex) {\n emojiIndex = new EmojiIndex(data);\n }\n const currentSkinTone = getCurrentSkinTone();\n let results;\n if (query) {\n results = emojiIndex.search(`:${query}`, maxResults);\n if (results.length < maxResults) {\n results = results.concat(emojiIndex.search(query, maxResults - results.length));\n }\n } else {\n results = frequently.get(maxResults).map((id) => emojiIndex.emoji(id)) || [];\n }\n return results.map((emoji) => emoji.getSkin(currentSkinTone));\n}\nfunction emojiAddRecent(emojiData) {\n frequently.add(emojiData);\n}\nfunction getCurrentSkinTone() {\n const skinTone = Number.parseInt(storage.getItem(\"NcEmojiPicker::currentSkinTone\") ?? \"1\");\n return Math.min(\n Math.max(\n skinTone,\n 1\n /* Neutral */\n ),\n 6\n /* Dark */\n );\n}\nfunction setCurrentSkinTone(skinTone) {\n skinTone = Math.min(\n Math.max(\n skinTone,\n 1\n /* Neutral */\n ),\n 6\n /* Dark */\n );\n storage.setItem(\"NcEmojiPicker::currentSkinTone\", skinTone.toString());\n}\nexport {\n EmojiSkinTone as E,\n emojiAddRecent as a,\n emojiSearch as e,\n getCurrentSkinTone as g,\n setCurrentSkinTone as s\n};\n//# sourceMappingURL=emoji-BY_D0V5K.mjs.map\n","import '../assets/NcRichText-li93TNBn.css';\nimport { ref } from \"vue\";\nimport { N as NcReferenceWidget } from \"./referencePickerModal-4kExxHbR.mjs\";\nimport { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { getSharingToken } from \"@nextcloud/sharing/public\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./NcCheckboxRadioSwitch-VeztTzpz.mjs\";\nimport { visit, SKIP as SKIP$1, EXIT as EXIT$1 } from \"unist-util-visit\";\nimport { u } from \"unist-builder\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport breaks from \"remark-breaks\";\nimport remarkUnlinkProtocols from \"remark-unlink-protocols\";\nimport remark2rehype from \"remark-rehype\";\nimport rehype2react from \"rehype-react\";\nimport rehypeExternalLinks from \"rehype-external-links\";\nimport { RouterLink } from \"vue-router\";\nconst _sfc_main$1 = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Array,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n },\n displayFallback: {\n type: Boolean,\n default: false\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n references: null,\n loading: true\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences.length !== 0;\n },\n values() {\n if (this.referenceData) {\n return this.referenceData;\n }\n if (this.displayFallback && !this.loading && !this.references) {\n return [this.fallbackReference];\n }\n return this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n return this.values[0] ?? null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n },\n fallbackReference() {\n return {\n accessible: true,\n openGraphObject: {\n id: this.text,\n link: this.text,\n name: this.text\n },\n richObjectType: \"open-graph\"\n };\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.references = null;\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.references = null;\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n this.$emit(\"loaded\");\n }).catch((error) => {\n console.error(\"Failed to extract references\", error);\n this.loading = false;\n this.$emit(\"loaded\");\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n const isPublic = getCurrentUser() === null;\n if (this.limit === 1 && match) {\n return isPublic ? axios.get(generateOcsUrl(\"references/resolvePublic\") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl(\"references/resolve\") + `?reference=${encodeURIComponent(match[0])}`);\n }\n return isPublic ? axios.post(generateOcsUrl(\"references/extractPublic\"), {\n text: this.text,\n resolve: true,\n limit: this.limit,\n sharingToken: getSharingToken()\n }) : axios.post(generateOcsUrl(\"references/extract\"), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _vm.isVisible ? _c(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {\n return _c(\"NcReferenceWidget\", { key: reference?.openGraphObject?.id, attrs: { \"reference\": reference, \"interactive\": _vm.interactive, \"interactive-opt-in\": _vm.interactiveOptIn } });\n }), 1) : _vm._e();\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"ffdba753\"\n);\nconst NcReferenceList = __component__$1.exports;\nconst remarkPlaceholder = function() {\n return function(ast) {\n visit(ast, (node2) => node2.type === \"text\", visitor);\n function visitor(node2, index, parent) {\n const placeholders = node2.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry, index2, list2) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`\n });\n });\n parent.children.splice(index, 1, ...placeholders);\n }\n };\n};\nconst prepareTextNode = ({ h, context }, text2) => {\n if (context.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n const componentClass = component.name === \"NcLink\" ? void 0 : \"rich-text--component\";\n return h(component, {\n props,\n class: componentClass\n });\n });\n }\n return text2;\n};\nconst remarkUnescape = function() {\n return function(tree) {\n visit(\n tree,\n (node2) => [\"text\", \"code\", \"inlineCode\"].includes(node2.type),\n (node2, index, parent) => {\n parent.children.splice(index, 1, {\n ...node2,\n value: node2.value.replace(/&lt;/gmi, \"<\").replace(/&gt;/gmi, \">\")\n });\n return [SKIP$1, index + 1];\n }\n );\n };\n};\nfunction ccount(value, character) {\n const source = String(value);\n if (typeof character !== \"string\") {\n throw new TypeError(\"Expected character\");\n }\n let count = 0;\n let index = source.indexOf(character);\n while (index !== -1) {\n count++;\n index = source.indexOf(character, index + character.length);\n }\n return count;\n}\nfunction ok$1() {\n}\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nfunction asciiControl(code2) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code2 !== null && (code2 < 32 || code2 === 127)\n );\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodePunctuation = regexCheck(new RegExp(\"\\\\p{P}|\\\\p{S}\", \"u\"));\nconst unicodeWhitespace = regexCheck(/\\s/);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && code2 > -1 && regex.test(String.fromCharCode(code2));\n }\n}\nfunction escapeStringRegexp(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n}\nconst convert = (\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (<Condition extends string>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * (<Condition extends Props>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * (<Condition extends TestFunction>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate<Condition, Node>) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function(test) {\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test);\n }\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n }\n);\nfunction anyFactory(tests) {\n const checks = [];\n let index = -1;\n while (++index < tests.length) {\n checks[index] = convert(tests[index]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index2 = -1;\n while (++index2 < checks.length) {\n if (checks[index2].apply(this, parameters)) return true;\n }\n return false;\n }\n}\nfunction propsFactory(check) {\n const checkAsRecord = (\n /** @type {Record<string, unknown>} */\n check\n );\n return castFactory(all2);\n function all2(node2) {\n const nodeAsRecord = (\n /** @type {Record<string, unknown>} */\n /** @type {unknown} */\n node2\n );\n let key;\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false;\n }\n return true;\n }\n}\nfunction typeFactory(check) {\n return castFactory(type);\n function type(node2) {\n return node2 && node2.type === check;\n }\n}\nfunction castFactory(testFunction) {\n return check;\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) && testFunction.call(\n this,\n value,\n typeof index === \"number\" ? index : void 0,\n parent || void 0\n )\n );\n }\n}\nfunction ok() {\n return true;\n}\nfunction looksLikeANode(value) {\n return value !== null && typeof value === \"object\" && \"type\" in value;\n}\nfunction color(d) {\n return d;\n}\nconst empty = [];\nconst CONTINUE = true;\nconst EXIT = false;\nconst SKIP = \"skip\";\nfunction visitParents(tree, test, visitor, reverse) {\n let check;\n {\n check = test;\n }\n const is = convert(check);\n const step = 1;\n factory(tree, void 0, [])();\n function factory(node2, index, parents) {\n const value = (\n /** @type {Record<string, unknown>} */\n node2 && typeof node2 === \"object\" ? node2 : {}\n );\n if (typeof value.type === \"string\") {\n const name = (\n // `hast`\n typeof value.tagName === \"string\" ? value.tagName : (\n // `xast`\n typeof value.name === \"string\" ? value.name : void 0\n )\n );\n Object.defineProperty(visit2, \"name\", {\n value: \"node (\" + color(node2.type + (name ? \"<\" + name + \">\" : \"\")) + \")\"\n });\n }\n return visit2;\n function visit2() {\n let result = empty;\n let subresult;\n let offset;\n let grandparents;\n if (is(node2, index, parents[parents.length - 1] || void 0)) {\n result = toResult(visitor(node2, parents));\n if (result[0] === EXIT) {\n return result;\n }\n }\n if (\"children\" in node2 && node2.children) {\n const nodeAsParent = (\n /** @type {UnistParent} */\n node2\n );\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = -1 + step;\n grandparents = parents.concat(nodeAsParent);\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset];\n subresult = factory(child, offset, grandparents)();\n if (subresult[0] === EXIT) {\n return subresult;\n }\n offset = typeof subresult[1] === \"number\" ? subresult[1] : offset + step;\n }\n }\n }\n return result;\n }\n }\n}\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE, value];\n }\n return value === null || value === void 0 ? empty : [value];\n}\nfunction findAndReplace(tree, list2, options) {\n const settings = options || {};\n const ignored = convert(settings.ignore || []);\n const pairs = toPairs(list2);\n let pairIndex = -1;\n while (++pairIndex < pairs.length) {\n visitParents(tree, \"text\", visitor);\n }\n function visitor(node2, parents) {\n let index = -1;\n let grandparent;\n while (++index < parents.length) {\n const parent = parents[index];\n const siblings = grandparent ? grandparent.children : void 0;\n if (ignored(\n parent,\n siblings ? siblings.indexOf(parent) : void 0,\n grandparent\n )) {\n return;\n }\n grandparent = parent;\n }\n if (grandparent) {\n return handler(node2, parents);\n }\n }\n function handler(node2, parents) {\n const parent = parents[parents.length - 1];\n const find = pairs[pairIndex][0];\n const replace2 = pairs[pairIndex][1];\n let start = 0;\n const siblings = parent.children;\n const index = siblings.indexOf(node2);\n let change = false;\n let nodes = [];\n find.lastIndex = 0;\n let match = find.exec(node2.value);\n while (match) {\n const position = match.index;\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node2]\n };\n let value = replace2(...match, matchObject);\n if (typeof value === \"string\") {\n value = value.length > 0 ? { type: \"text\", value } : void 0;\n }\n if (value === false) {\n find.lastIndex = position + 1;\n } else {\n if (start !== position) {\n nodes.push({\n type: \"text\",\n value: node2.value.slice(start, position)\n });\n }\n if (Array.isArray(value)) {\n nodes.push(...value);\n } else if (value) {\n nodes.push(value);\n }\n start = position + match[0].length;\n change = true;\n }\n if (!find.global) {\n break;\n }\n match = find.exec(node2.value);\n }\n if (change) {\n if (start < node2.value.length) {\n nodes.push({ type: \"text\", value: node2.value.slice(start) });\n }\n parent.children.splice(index, 1, ...nodes);\n } else {\n nodes = [node2];\n }\n return index + nodes.length;\n }\n}\nfunction toPairs(tupleOrList) {\n const result = [];\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError(\"Expected find and replace tuple or list of tuples\");\n }\n const list2 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];\n let index = -1;\n while (++index < list2.length) {\n const tuple = list2[index];\n result.push([toExpression(tuple[0]), toFunction(tuple[1])]);\n }\n return result;\n}\nfunction toExpression(find) {\n return typeof find === \"string\" ? new RegExp(escapeStringRegexp(find), \"g\") : find;\n}\nfunction toFunction(replace2) {\n return typeof replace2 === \"function\" ? replace2 : function() {\n return replace2;\n };\n}\nconst inConstruct = \"phrasing\";\nconst notInConstruct = [\"autolink\", \"link\", \"image\", \"label\"];\nfunction gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n };\n}\nfunction gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: \"@\",\n before: \"[+\\\\-.\\\\w]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \".\",\n before: \"[Ww]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \":\",\n before: \"[ps]\",\n after: \"\\\\/\",\n inConstruct,\n notInConstruct\n }\n ]\n };\n}\nfunction enterLiteralAutolink(token) {\n this.enter({ type: \"link\", title: null, url: \"\", children: [] }, token);\n}\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token);\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"link\");\n node2.url = \"http://\" + this.sliceSerialize(token);\n}\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token);\n}\nfunction exitLiteralAutolink(token) {\n this.exit(token);\n}\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n { ignore: [\"link\", \"linkReference\"] }\n );\n}\nfunction findUrl(_, protocol, domain2, path2, match) {\n let prefix = \"\";\n if (!previous(match)) {\n return false;\n }\n if (/^w/i.test(protocol)) {\n domain2 = protocol + domain2;\n protocol = \"\";\n prefix = \"http://\";\n }\n if (!isCorrectDomain(domain2)) {\n return false;\n }\n const parts = splitUrl(domain2 + path2);\n if (!parts[0]) return false;\n const result = {\n type: \"link\",\n title: null,\n url: prefix + protocol + parts[0],\n children: [{ type: \"text\", value: protocol + parts[0] }]\n };\n if (parts[1]) {\n return [result, { type: \"text\", value: parts[1] }];\n }\n return result;\n}\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) || // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false;\n }\n return {\n type: \"link\",\n title: null,\n url: \"mailto:\" + atext + \"@\" + label,\n children: [{ type: \"text\", value: atext + \"@\" + label }]\n };\n}\nfunction isCorrectDomain(domain2) {\n const parts = domain2.split(\".\");\n if (parts.length < 2 || parts[parts.length - 1] && (/_/.test(parts[parts.length - 1]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 1])) || parts[parts.length - 2] && (/_/.test(parts[parts.length - 2]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 2]))) {\n return false;\n }\n return true;\n}\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url);\n if (!trailExec) {\n return [url, void 0];\n }\n url = url.slice(0, trailExec.index);\n let trail2 = trailExec[0];\n let closingParenIndex = trail2.indexOf(\")\");\n const openingParens = ccount(url, \"(\");\n let closingParens = ccount(url, \")\");\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail2.slice(0, closingParenIndex + 1);\n trail2 = trail2.slice(closingParenIndex + 1);\n closingParenIndex = trail2.indexOf(\")\");\n closingParens++;\n }\n return [url, trail2];\n}\nfunction previous(match, email) {\n const code2 = match.input.charCodeAt(match.index - 1);\n return (match.index === 0 || unicodeWhitespace(code2) || unicodePunctuation(code2)) && (!email || code2 !== 47);\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nfootnoteReference.peek = footnoteReferencePeek;\nfunction gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n };\n}\nfunction gfmFootnoteToMarkdown() {\n return {\n // This is on by default already.\n unsafe: [{ character: \"[\", inConstruct: [\"phrasing\", \"label\", \"reference\"] }],\n handlers: { footnoteDefinition, footnoteReference }\n };\n}\nfunction enterFootnoteDefinition(token) {\n this.enter(\n { type: \"footnoteDefinition\", identifier: \"\", label: \"\", children: [] },\n token\n );\n}\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer();\n}\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteDefinition\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteDefinition(token) {\n this.exit(token);\n}\nfunction enterFootnoteCall(token) {\n this.enter({ type: \"footnoteReference\", identifier: \"\", label: \"\" }, token);\n}\nfunction enterFootnoteCallString() {\n this.buffer();\n}\nfunction exitFootnoteCallString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteReference\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteCall(token) {\n this.exit(token);\n}\nfunction footnoteReference(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteReference\");\n const subexit = state.enter(\"reference\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n exit2();\n value += tracker.move(\"]\");\n return value;\n}\nfunction footnoteReferencePeek() {\n return \"[\";\n}\nfunction footnoteDefinition(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteDefinition\");\n const subexit = state.enter(\"label\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n value += tracker.move(\n \"]:\" + (node2.children && node2.children.length > 0 ? \" \" : \"\")\n );\n tracker.shift(4);\n value += tracker.move(\n state.indentLines(state.containerFlow(node2, tracker.current()), map$2)\n );\n exit2();\n return value;\n}\nfunction map$2(line, index, blank) {\n if (index === 0) {\n return line;\n }\n return (blank ? \"\" : \" \") + line;\n}\nconst constructsWithoutStrikethrough = [\n \"autolink\",\n \"destinationLiteral\",\n \"destinationRaw\",\n \"reference\",\n \"titleQuote\",\n \"titleApostrophe\"\n];\nhandleDelete.peek = peekDelete;\nfunction gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: [\"delete\"],\n enter: { strikethrough: enterStrikethrough },\n exit: { strikethrough: exitStrikethrough }\n };\n}\nfunction gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: \"~\",\n inConstruct: \"phrasing\",\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: { delete: handleDelete }\n };\n}\nfunction enterStrikethrough(token) {\n this.enter({ type: \"delete\", children: [] }, token);\n}\nfunction exitStrikethrough(token) {\n this.exit(token);\n}\nfunction handleDelete(node2, _, state, info) {\n const tracker = state.createTracker(info);\n const exit2 = state.enter(\"strikethrough\");\n let value = tracker.move(\"~~\");\n value += state.containerPhrasing(node2, {\n ...tracker.current(),\n before: value,\n after: \"~\"\n });\n value += tracker.move(\"~~\");\n exit2();\n return value;\n}\nfunction peekDelete() {\n return \"~\";\n}\nfunction markdownTable(table, options = {}) {\n const align = (options.align || []).concat();\n const stringLength = options.stringLength || defaultStringLength;\n const alignments = [];\n const cellMatrix = [];\n const sizeMatrix = [];\n const longestCellByColumn = [];\n let mostCellsPerRow = 0;\n let rowIndex = -1;\n while (++rowIndex < table.length) {\n const row2 = [];\n const sizes2 = [];\n let columnIndex2 = -1;\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length;\n }\n while (++columnIndex2 < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex2]);\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell);\n sizes2[columnIndex2] = size;\n if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {\n longestCellByColumn[columnIndex2] = size;\n }\n }\n row2.push(cell);\n }\n cellMatrix[rowIndex] = row2;\n sizeMatrix[rowIndex] = sizes2;\n }\n let columnIndex = -1;\n if (typeof align === \"object\" && \"length\" in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex]);\n }\n } else {\n const code2 = toAlignment(align);\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code2;\n }\n }\n columnIndex = -1;\n const row = [];\n const sizes = [];\n while (++columnIndex < mostCellsPerRow) {\n const code2 = alignments[columnIndex];\n let before = \"\";\n let after = \"\";\n if (code2 === 99) {\n before = \":\";\n after = \":\";\n } else if (code2 === 108) {\n before = \":\";\n } else if (code2 === 114) {\n after = \":\";\n }\n let size = options.alignDelimiters === false ? 1 : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n );\n const cell = before + \"-\".repeat(size) + after;\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length;\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size;\n }\n sizes[columnIndex] = size;\n }\n row[columnIndex] = cell;\n }\n cellMatrix.splice(1, 0, row);\n sizeMatrix.splice(1, 0, sizes);\n rowIndex = -1;\n const lines = [];\n while (++rowIndex < cellMatrix.length) {\n const row2 = cellMatrix[rowIndex];\n const sizes2 = sizeMatrix[rowIndex];\n columnIndex = -1;\n const line = [];\n while (++columnIndex < mostCellsPerRow) {\n const cell = row2[columnIndex] || \"\";\n let before = \"\";\n let after = \"\";\n if (options.alignDelimiters !== false) {\n const size = longestCellByColumn[columnIndex] - (sizes2[columnIndex] || 0);\n const code2 = alignments[columnIndex];\n if (code2 === 114) {\n before = \" \".repeat(size);\n } else if (code2 === 99) {\n if (size % 2) {\n before = \" \".repeat(size / 2 + 0.5);\n after = \" \".repeat(size / 2 - 0.5);\n } else {\n before = \" \".repeat(size / 2);\n after = before;\n }\n } else {\n after = \" \".repeat(size);\n }\n }\n if (options.delimiterStart !== false && !columnIndex) {\n line.push(\"|\");\n }\n if (options.padding !== false && // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === \"\") && (options.delimiterStart !== false || columnIndex)) {\n line.push(\" \");\n }\n if (options.alignDelimiters !== false) {\n line.push(before);\n }\n line.push(cell);\n if (options.alignDelimiters !== false) {\n line.push(after);\n }\n if (options.padding !== false) {\n line.push(\" \");\n }\n if (options.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {\n line.push(\"|\");\n }\n }\n lines.push(\n options.delimiterEnd === false ? line.join(\"\").replace(/ +$/, \"\") : line.join(\"\")\n );\n }\n return lines.join(\"\\n\");\n}\nfunction serialize(value) {\n return value === null || value === void 0 ? \"\" : String(value);\n}\nfunction defaultStringLength(value) {\n return value.length;\n}\nfunction toAlignment(value) {\n const code2 = typeof value === \"string\" ? value.codePointAt(0) : 0;\n return code2 === 67 || code2 === 99 ? 99 : code2 === 76 || code2 === 108 ? 108 : code2 === 82 || code2 === 114 ? 114 : 0;\n}\nfunction blockquote(node2, _, state, info) {\n const exit2 = state.enter(\"blockquote\");\n const tracker = state.createTracker(info);\n tracker.move(\"> \");\n tracker.shift(2);\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map$1\n );\n exit2();\n return value;\n}\nfunction map$1(line, _, blank) {\n return \">\" + (blank ? \"\" : \" \") + line;\n}\nfunction patternInScope(stack, pattern) {\n return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);\n}\nfunction listInScope(stack, list2, none) {\n if (typeof list2 === \"string\") {\n list2 = [list2];\n }\n if (!list2 || list2.length === 0) {\n return none;\n }\n let index = -1;\n while (++index < list2.length) {\n if (stack.includes(list2[index])) {\n return true;\n }\n }\n return false;\n}\nfunction hardBreak(_, _1, state, info) {\n let index = -1;\n while (++index < state.unsafe.length) {\n if (state.unsafe[index].character === \"\\n\" && patternInScope(state.stack, state.unsafe[index])) {\n return /[ \\t]/.test(info.before) ? \"\" : \" \";\n }\n }\n return \"\\\\\\n\";\n}\nfunction longestStreak(value, substring) {\n const source = String(value);\n let index = source.indexOf(substring);\n let expected = index;\n let count = 0;\n let max = 0;\n if (typeof substring !== \"string\") {\n throw new TypeError(\"Expected substring\");\n }\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count;\n }\n } else {\n count = 1;\n }\n expected = index + substring.length;\n index = source.indexOf(substring, expected);\n }\n return max;\n}\nfunction formatCodeAsIndented(node2, state) {\n return Boolean(\n state.options.fences === false && node2.value && // If there’s no info…\n !node2.lang && // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node2.value) && // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node2.value)\n );\n}\nfunction checkFence(state) {\n const marker = state.options.fence || \"`\";\n if (marker !== \"`\" && marker !== \"~\") {\n throw new Error(\n \"Cannot serialize code with `\" + marker + \"` for `options.fence`, expected `` ` `` or `~`\"\n );\n }\n return marker;\n}\nfunction code$1(node2, _, state, info) {\n const marker = checkFence(state);\n const raw = node2.value || \"\";\n const suffix = marker === \"`\" ? \"GraveAccent\" : \"Tilde\";\n if (formatCodeAsIndented(node2, state)) {\n const exit3 = state.enter(\"codeIndented\");\n const value2 = state.indentLines(raw, map);\n exit3();\n return value2;\n }\n const tracker = state.createTracker(info);\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3));\n const exit2 = state.enter(\"codeFenced\");\n let value = tracker.move(sequence);\n if (node2.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`);\n value += tracker.move(\n state.safe(node2.lang, {\n before: value,\n after: \" \",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n if (node2.lang && node2.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`);\n value += tracker.move(\" \");\n value += tracker.move(\n state.safe(node2.meta, {\n before: value,\n after: \"\\n\",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n value += tracker.move(\"\\n\");\n if (raw) {\n value += tracker.move(raw + \"\\n\");\n }\n value += tracker.move(sequence);\n exit2();\n return value;\n}\nfunction map(line, _, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nfunction checkQuote(state) {\n const marker = state.options.quote || '\"';\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n \"Cannot serialize title with `\" + marker + \"` for `options.quote`, expected `\\\"`, or `'`\"\n );\n }\n return marker;\n}\nfunction definition(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"definition\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"]: \");\n subexit();\n if (\n // If there’s no url, or…\n !node2.url || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \"\\n\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n exit2();\n return value;\n}\nfunction checkEmphasis(state) {\n const marker = state.options.emphasis || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize emphasis with `\" + marker + \"` for `options.emphasis`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nemphasis.peek = emphasisPeek;\nfunction emphasis(node2, _, state, info) {\n const marker = checkEmphasis(state);\n const exit2 = state.enter(\"emphasis\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker);\n exit2();\n return value;\n}\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || \"*\";\n}\nconst emptyOptions$1 = {};\nfunction toString(value, options) {\n const settings = emptyOptions$1;\n const includeImageAlt = typeof settings.includeImageAlt === \"boolean\" ? settings.includeImageAlt : true;\n const includeHtml = typeof settings.includeHtml === \"boolean\" ? settings.includeHtml : true;\n return one(value, includeImageAlt, includeHtml);\n}\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if (\"value\" in value) {\n return value.type === \"html\" && !includeHtml ? \"\" : value.value;\n }\n if (includeImageAlt && \"alt\" in value && value.alt) {\n return value.alt;\n }\n if (\"children\" in value) {\n return all(value.children, includeImageAlt, includeHtml);\n }\n }\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml);\n }\n return \"\";\n}\nfunction all(values, includeImageAlt, includeHtml) {\n const result = [];\n let index = -1;\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml);\n }\n return result.join(\"\");\n}\nfunction node(value) {\n return Boolean(value && typeof value === \"object\");\n}\nfunction formatHeadingAsSetext(node2, state) {\n let literalWithBreak = false;\n visit(node2, function(node3) {\n if (\"value\" in node3 && /\\r?\\n|\\r/.test(node3.value) || node3.type === \"break\") {\n literalWithBreak = true;\n return EXIT$1;\n }\n });\n return Boolean(\n (!node2.depth || node2.depth < 3) && toString(node2) && (state.options.setext || literalWithBreak)\n );\n}\nfunction heading(node2, _, state, info) {\n const rank = Math.max(Math.min(6, node2.depth || 1), 1);\n const tracker = state.createTracker(info);\n if (formatHeadingAsSetext(node2, state)) {\n const exit3 = state.enter(\"headingSetext\");\n const subexit2 = state.enter(\"phrasing\");\n const value2 = state.containerPhrasing(node2, {\n ...tracker.current(),\n before: \"\\n\",\n after: \"\\n\"\n });\n subexit2();\n exit3();\n return value2 + \"\\n\" + (rank === 1 ? \"=\" : \"-\").repeat(\n // The whole size…\n value2.length - // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value2.lastIndexOf(\"\\r\"), value2.lastIndexOf(\"\\n\")) + 1)\n );\n }\n const sequence = \"#\".repeat(rank);\n const exit2 = state.enter(\"headingAtx\");\n const subexit = state.enter(\"phrasing\");\n tracker.move(sequence + \" \");\n let value = state.containerPhrasing(node2, {\n before: \"# \",\n after: \"\\n\",\n ...tracker.current()\n });\n if (/^[\\t ]/.test(value)) {\n value = \"&#x\" + value.charCodeAt(0).toString(16).toUpperCase() + \";\" + value.slice(1);\n }\n value = value ? sequence + \" \" + value : sequence;\n if (state.options.closeAtx) {\n value += \" \" + sequence;\n }\n subexit();\n exit2();\n return value;\n}\nhtml.peek = htmlPeek;\nfunction html(node2) {\n return node2.value || \"\";\n}\nfunction htmlPeek() {\n return \"<\";\n}\nimage.peek = imagePeek;\nfunction image(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"image\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n value += tracker.move(\n state.safe(node2.alt, { before: value, after: \"]\", ...tracker.current() })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction imagePeek() {\n return \"!\";\n}\nimageReference.peek = imageReferencePeek;\nfunction imageReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"imageReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n const alt = state.safe(node2.alt, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(alt + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !alt || alt !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction imageReferencePeek() {\n return \"!\";\n}\ninlineCode.peek = inlineCodePeek;\nfunction inlineCode(node2, _, state) {\n let value = node2.value || \"\";\n let sequence = \"`\";\n let index = -1;\n while (new RegExp(\"(^|[^`])\" + sequence + \"([^`]|$)\").test(value)) {\n sequence += \"`\";\n }\n if (/[^ \\r\\n]/.test(value) && (/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value) || /^`|`$/.test(value))) {\n value = \" \" + value + \" \";\n }\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index];\n const expression = state.compilePattern(pattern);\n let match;\n if (!pattern.atBreak) continue;\n while (match = expression.exec(value)) {\n let position = match.index;\n if (value.charCodeAt(position) === 10 && value.charCodeAt(position - 1) === 13) {\n position--;\n }\n value = value.slice(0, position) + \" \" + value.slice(match.index + 1);\n }\n }\n return sequence + value + sequence;\n}\nfunction inlineCodePeek() {\n return \"`\";\n}\nfunction formatLinkAsAutolink(node2, state) {\n const raw = toString(node2);\n return Boolean(\n !state.options.resourceLink && // If there’s a url…\n node2.url && // And there’s a no title…\n !node2.title && // And the content of `node` is a single text node…\n node2.children && node2.children.length === 1 && node2.children[0].type === \"text\" && // And if the url is the same as the content…\n (raw === node2.url || \"mailto:\" + raw === node2.url) && // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node2.url) && // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node2.url)\n );\n}\nlink.peek = linkPeek;\nfunction link(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const tracker = state.createTracker(info);\n let exit2;\n let subexit;\n if (formatLinkAsAutolink(node2, state)) {\n const stack = state.stack;\n state.stack = [];\n exit2 = state.enter(\"autolink\");\n let value2 = tracker.move(\"<\");\n value2 += tracker.move(\n state.containerPhrasing(node2, {\n before: value2,\n after: \">\",\n ...tracker.current()\n })\n );\n value2 += tracker.move(\">\");\n exit2();\n state.stack = stack;\n return value2;\n }\n exit2 = state.enter(\"link\");\n subexit = state.enter(\"label\");\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: \"](\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction linkPeek(node2, _, state) {\n return formatLinkAsAutolink(node2, state) ? \"<\" : \"[\";\n}\nlinkReference.peek = linkReferencePeek;\nfunction linkReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"linkReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n const text2 = state.containerPhrasing(node2, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(text2 + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !text2 || text2 !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction linkReferencePeek() {\n return \"[\";\n}\nfunction checkBullet(state) {\n const marker = state.options.bullet || \"*\";\n if (marker !== \"*\" && marker !== \"+\" && marker !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bullet`, expected `*`, `+`, or `-`\"\n );\n }\n return marker;\n}\nfunction checkBulletOther(state) {\n const bullet = checkBullet(state);\n const bulletOther = state.options.bulletOther;\n if (!bulletOther) {\n return bullet === \"*\" ? \"-\" : \"*\";\n }\n if (bulletOther !== \"*\" && bulletOther !== \"+\" && bulletOther !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + bulletOther + \"` for `options.bulletOther`, expected `*`, `+`, or `-`\"\n );\n }\n if (bulletOther === bullet) {\n throw new Error(\n \"Expected `bullet` (`\" + bullet + \"`) and `bulletOther` (`\" + bulletOther + \"`) to be different\"\n );\n }\n return bulletOther;\n}\nfunction checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || \".\";\n if (marker !== \".\" && marker !== \")\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bulletOrdered`, expected `.` or `)`\"\n );\n }\n return marker;\n}\nfunction checkRule(state) {\n const marker = state.options.rule || \"*\";\n if (marker !== \"*\" && marker !== \"-\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize rules with `\" + marker + \"` for `options.rule`, expected `*`, `-`, or `_`\"\n );\n }\n return marker;\n}\nfunction list(node2, parent, state, info) {\n const exit2 = state.enter(\"list\");\n const bulletCurrent = state.bulletCurrent;\n let bullet = node2.ordered ? checkBulletOrdered(state) : checkBullet(state);\n const bulletOther = node2.ordered ? bullet === \".\" ? \")\" : \".\" : checkBulletOther(state);\n let useDifferentMarker = parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false;\n if (!node2.ordered) {\n const firstListItem = node2.children ? node2.children[0] : void 0;\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === \"*\" || bullet === \"-\") && // Empty first list item:\n firstListItem && (!firstListItem.children || !firstListItem.children[0]) && // Directly in two other list items:\n state.stack[state.stack.length - 1] === \"list\" && state.stack[state.stack.length - 2] === \"listItem\" && state.stack[state.stack.length - 3] === \"list\" && state.stack[state.stack.length - 4] === \"listItem\" && // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 && state.indexStack[state.indexStack.length - 2] === 0 && state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true;\n }\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1;\n while (++index < node2.children.length) {\n const item = node2.children[index];\n if (item && item.type === \"listItem\" && item.children && item.children[0] && item.children[0].type === \"thematicBreak\") {\n useDifferentMarker = true;\n break;\n }\n }\n }\n }\n if (useDifferentMarker) {\n bullet = bulletOther;\n }\n state.bulletCurrent = bullet;\n const value = state.containerFlow(node2, info);\n state.bulletLastUsed = bullet;\n state.bulletCurrent = bulletCurrent;\n exit2();\n return value;\n}\nfunction checkListItemIndent(state) {\n const style = state.options.listItemIndent || \"one\";\n if (style !== \"tab\" && style !== \"one\" && style !== \"mixed\") {\n throw new Error(\n \"Cannot serialize items with `\" + style + \"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`\"\n );\n }\n return style;\n}\nfunction listItem(node2, parent, state, info) {\n const listItemIndent = checkListItemIndent(state);\n let bullet = state.bulletCurrent || checkBullet(state);\n if (parent && parent.type === \"list\" && parent.ordered) {\n bullet = (typeof parent.start === \"number\" && parent.start > -1 ? parent.start : 1) + (state.options.incrementListMarker === false ? 0 : parent.children.indexOf(node2)) + bullet;\n }\n let size = bullet.length + 1;\n if (listItemIndent === \"tab\" || listItemIndent === \"mixed\" && (parent && parent.type === \"list\" && parent.spread || node2.spread)) {\n size = Math.ceil(size / 4) * 4;\n }\n const tracker = state.createTracker(info);\n tracker.move(bullet + \" \".repeat(size - bullet.length));\n tracker.shift(size);\n const exit2 = state.enter(\"listItem\");\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map2\n );\n exit2();\n return value;\n function map2(line, index, blank) {\n if (index) {\n return (blank ? \"\" : \" \".repeat(size)) + line;\n }\n return (blank ? bullet : bullet + \" \".repeat(size - bullet.length)) + line;\n }\n}\nfunction paragraph(node2, _, state, info) {\n const exit2 = state.enter(\"paragraph\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, info);\n subexit();\n exit2();\n return value;\n}\nconst phrasing = (\n /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */\n convert([\n \"break\",\n \"delete\",\n \"emphasis\",\n // To do: next major: removed since footnotes were added to GFM.\n \"footnote\",\n \"footnoteReference\",\n \"image\",\n \"imageReference\",\n \"inlineCode\",\n // Enabled by `mdast-util-math`:\n \"inlineMath\",\n \"link\",\n \"linkReference\",\n // Enabled by `mdast-util-mdx`:\n \"mdxJsxTextElement\",\n // Enabled by `mdast-util-mdx`:\n \"mdxTextExpression\",\n \"strong\",\n \"text\",\n // Enabled by `mdast-util-directive`:\n \"textDirective\"\n ])\n);\nfunction root(node2, _, state, info) {\n const hasPhrasing = node2.children.some(function(d) {\n return phrasing(d);\n });\n const fn = hasPhrasing ? state.containerPhrasing : state.containerFlow;\n return fn.call(state, node2, info);\n}\nfunction checkStrong(state) {\n const marker = state.options.strong || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize strong with `\" + marker + \"` for `options.strong`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nstrong.peek = strongPeek;\nfunction strong(node2, _, state, info) {\n const marker = checkStrong(state);\n const exit2 = state.enter(\"strong\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker + marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker + marker);\n exit2();\n return value;\n}\nfunction strongPeek(_, _1, state) {\n return state.options.strong || \"*\";\n}\nfunction text$1(node2, _, state, info) {\n return state.safe(node2.value, info);\n}\nfunction checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3;\n if (repetition < 3) {\n throw new Error(\n \"Cannot serialize rules with repetition `\" + repetition + \"` for `options.ruleRepetition`, expected `3` or more\"\n );\n }\n return repetition;\n}\nfunction thematicBreak(_, _1, state) {\n const value = (checkRule(state) + (state.options.ruleSpaces ? \" \" : \"\")).repeat(checkRuleRepetition(state));\n return state.options.ruleSpaces ? value.slice(0, -1) : value;\n}\nconst handle = {\n blockquote,\n break: hardBreak,\n code: code$1,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text: text$1,\n thematicBreak\n};\nfunction gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n };\n}\nfunction enterTable(token) {\n const align = token._align;\n this.enter(\n {\n type: \"table\",\n align: align.map(function(d) {\n return d === \"none\" ? null : d;\n }),\n children: []\n },\n token\n );\n this.data.inTable = true;\n}\nfunction exitTable(token) {\n this.exit(token);\n this.data.inTable = void 0;\n}\nfunction enterRow(token) {\n this.enter({ type: \"tableRow\", children: [] }, token);\n}\nfunction exit(token) {\n this.exit(token);\n}\nfunction enterCell(token) {\n this.enter({ type: \"tableCell\", children: [] }, token);\n}\nfunction exitCodeText(token) {\n let value = this.resume();\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace);\n }\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"inlineCode\");\n node2.value = value;\n this.exit(token);\n}\nfunction replace($0, $1) {\n return $1 === \"|\" ? $1 : $0;\n}\nfunction gfmTableToMarkdown(options) {\n const settings = options || {};\n const padding = settings.tableCellPadding;\n const alignDelimiters = settings.tablePipeAlign;\n const stringLength = settings.stringLength;\n const around = padding ? \" \" : \"|\";\n return {\n unsafe: [\n { character: \"\\r\", inConstruct: \"tableCell\" },\n { character: \"\\n\", inConstruct: \"tableCell\" },\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n { atBreak: true, character: \"|\", after: \"[\t :-]\" },\n // A pipe in a cell must be encoded.\n { character: \"|\", inConstruct: \"tableCell\" },\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n { atBreak: true, character: \":\", after: \"-\" },\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/51a2038/lib/unsafe.js#L57>\n { atBreak: true, character: \"-\", after: \"[:|-]\" }\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n };\n function handleTable(node2, _, state, info) {\n return serializeData(handleTableAsData(node2, state, info), node2.align);\n }\n function handleTableRow(node2, _, state, info) {\n const row = handleTableRowAsData(node2, state, info);\n const value = serializeData([row]);\n return value.slice(0, value.indexOf(\"\\n\"));\n }\n function handleTableCell(node2, _, state, info) {\n const exit2 = state.enter(\"tableCell\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, {\n ...info,\n before: around,\n after: around\n });\n subexit();\n exit2();\n return value;\n }\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n });\n }\n function handleTableAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"table\");\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info);\n }\n subexit();\n return result;\n }\n function handleTableRowAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"tableRow\");\n while (++index < children.length) {\n result[index] = handleTableCell(children[index], node2, state, info);\n }\n subexit();\n return result;\n }\n function inlineCodeWithTable(node2, parent, state) {\n let value = handle.inlineCode(node2, parent, state);\n if (state.stack.includes(\"tableCell\")) {\n value = value.replace(/\\|/g, \"\\\\$&\");\n }\n return value;\n }\n}\nfunction gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n };\n}\nfunction gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{ atBreak: true, character: \"-\", after: \"[:|-]\" }],\n handlers: { listItem: listItemWithTaskListItem }\n };\n}\nfunction exitCheck(token) {\n const node2 = this.stack[this.stack.length - 2];\n ok$1(node2.type === \"listItem\");\n node2.checked = token.type === \"taskListCheckValueChecked\";\n}\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2];\n if (parent && parent.type === \"listItem\" && typeof parent.checked === \"boolean\") {\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"paragraph\");\n const head = node2.children[0];\n if (head && head.type === \"text\") {\n const siblings = parent.children;\n let index = -1;\n let firstParaghraph;\n while (++index < siblings.length) {\n const sibling = siblings[index];\n if (sibling.type === \"paragraph\") {\n firstParaghraph = sibling;\n break;\n }\n }\n if (firstParaghraph === node2) {\n head.value = head.value.slice(1);\n if (head.value.length === 0) {\n node2.children.shift();\n } else if (node2.position && head.position && typeof head.position.start.offset === \"number\") {\n head.position.start.column++;\n head.position.start.offset++;\n node2.position.start = Object.assign({}, head.position.start);\n }\n }\n }\n }\n this.exit(token);\n}\nfunction listItemWithTaskListItem(node2, parent, state, info) {\n const head = node2.children[0];\n const checkable = typeof node2.checked === \"boolean\" && head && head.type === \"paragraph\";\n const checkbox = \"[\" + (node2.checked ? \"x\" : \" \") + \"] \";\n const tracker = state.createTracker(info);\n if (checkable) {\n tracker.move(checkbox);\n }\n let value = handle.listItem(node2, parent, state, {\n ...info,\n ...tracker.current()\n });\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check);\n }\n return value;\n function check($0) {\n return $0 + checkbox;\n }\n}\nfunction gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ];\n}\nfunction gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n };\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n list2.splice(...parameters);\n } else {\n if (remove) list2.splice(start, remove);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n list2.splice(...parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nconst hasOwnProperty = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all2 = {};\n let index = -1;\n while (++index < extensions.length) {\n syntaxExtension(all2, extensions[index]);\n }\n return all2;\n}\nfunction syntaxExtension(all2, extension) {\n let hook;\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all2, hook) ? all2[hook] : void 0;\n const left = maybe || (all2[hook] = {});\n const right = extension[hook];\n let code2;\n if (right) {\n for (code2 in right) {\n if (!hasOwnProperty.call(left, code2)) left[code2] = [];\n const value = right[code2];\n constructs(\n // @ts-expect-error Looks like a list.\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n }\n}\nfunction constructs(existing, list2) {\n let index = -1;\n const before = [];\n while (++index < list2.length) {\n (list2[index].add === \"after\" ? existing : before).push(list2[index]);\n }\n splice(existing, 0, 0, before);\n}\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\nconst text = {};\nfunction gfmAutolinkLiteral() {\n return {\n text\n };\n}\nlet code = 48;\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;\n else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\nfunction tokenizeEmailAutolink(effects, ok2, nok) {\n const self = this;\n let dot;\n let data;\n return start;\n function start(code2) {\n if (!gfmAtext(code2) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkEmail\");\n return atext(code2);\n }\n function atext(code2) {\n if (gfmAtext(code2)) {\n effects.consume(code2);\n return atext;\n }\n if (code2 === 64) {\n effects.consume(code2);\n return emailDomain;\n }\n return nok(code2);\n }\n function emailDomain(code2) {\n if (code2 === 46) {\n return effects.check(\n emailDomainDotTrail,\n emailDomainAfter,\n emailDomainDot\n )(code2);\n }\n if (code2 === 45 || code2 === 95 || asciiAlphanumeric(code2)) {\n data = true;\n effects.consume(code2);\n return emailDomain;\n }\n return emailDomainAfter(code2);\n }\n function emailDomainDot(code2) {\n effects.consume(code2);\n dot = true;\n return emailDomain;\n }\n function emailDomainAfter(code2) {\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit(\"literalAutolinkEmail\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeWwwAutolink(effects, ok2, nok) {\n const self = this;\n return wwwStart;\n function wwwStart(code2) {\n if (code2 !== 87 && code2 !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkWww\");\n return effects.check(\n wwwPrefix,\n effects.attempt(domain, effects.attempt(path, wwwAfter), nok),\n nok\n )(code2);\n }\n function wwwAfter(code2) {\n effects.exit(\"literalAutolinkWww\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeProtocolAutolink(effects, ok2, nok) {\n const self = this;\n let buffer = \"\";\n let seen = false;\n return protocolStart;\n function protocolStart(code2) {\n if ((code2 === 72 || code2 === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkHttp\");\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n return nok(code2);\n }\n function protocolPrefixInside(code2) {\n if (asciiAlpha(code2) && buffer.length < 5) {\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n if (code2 === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === \"http\" || protocol === \"https\") {\n effects.consume(code2);\n return protocolSlashesInside;\n }\n }\n return nok(code2);\n }\n function protocolSlashesInside(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code2);\n }\n function afterProtocol(code2) {\n return code2 === null || asciiControl(code2) || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || unicodePunctuation(code2) ? nok(code2) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code2);\n }\n function protocolAfter(code2) {\n effects.exit(\"literalAutolinkHttp\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeWwwPrefix(effects, ok2, nok) {\n let size = 0;\n return wwwPrefixInside;\n function wwwPrefixInside(code2) {\n if ((code2 === 87 || code2 === 119) && size < 3) {\n size++;\n effects.consume(code2);\n return wwwPrefixInside;\n }\n if (code2 === 46 && size === 3) {\n effects.consume(code2);\n return wwwPrefixAfter;\n }\n return nok(code2);\n }\n function wwwPrefixAfter(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction tokenizeDomain(effects, ok2, nok) {\n let underscoreInLastSegment;\n let underscoreInLastLastSegment;\n let seen;\n return domainInside;\n function domainInside(code2) {\n if (code2 === 46 || code2 === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || code2 !== 45 && unicodePunctuation(code2)) {\n return domainAfter(code2);\n }\n seen = true;\n effects.consume(code2);\n return domainInside;\n }\n function domainAtPunctuation(code2) {\n if (code2 === 95) {\n underscoreInLastSegment = true;\n } else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = void 0;\n }\n effects.consume(code2);\n return domainInside;\n }\n function domainAfter(code2) {\n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code2);\n }\n return ok2(code2);\n }\n}\nfunction tokenizePath(effects, ok2) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n function pathInside(code2) {\n if (code2 === 40) {\n sizeOpen++;\n effects.consume(code2);\n return pathInside;\n }\n if (code2 === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code2);\n }\n if (code2 === 33 || code2 === 34 || code2 === 38 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 60 || code2 === 63 || code2 === 93 || code2 === 95 || code2 === 126) {\n return effects.check(trail, ok2, pathAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n effects.consume(code2);\n return pathInside;\n }\n function pathAtPunctuation(code2) {\n if (code2 === 41) {\n sizeClose++;\n }\n effects.consume(code2);\n return pathInside;\n }\n}\nfunction tokenizeTrail(effects, ok2, nok) {\n return trail2;\n function trail2(code2) {\n if (code2 === 33 || code2 === 34 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 63 || code2 === 95 || code2 === 126) {\n effects.consume(code2);\n return trail2;\n }\n if (code2 === 38) {\n effects.consume(code2);\n return trailCharRefStart;\n }\n if (code2 === 93) {\n effects.consume(code2);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code2 === 60 || // So is whitespace.\n code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)\n ) {\n return ok2(code2);\n }\n return nok(code2);\n }\n function trailBracketAfter(code2) {\n if (code2 === null || code2 === 40 || code2 === 91 || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n return trail2(code2);\n }\n function trailCharRefStart(code2) {\n return asciiAlpha(code2) ? trailCharRefInside(code2) : nok(code2);\n }\n function trailCharRefInside(code2) {\n if (code2 === 59) {\n effects.consume(code2);\n return trail2;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return trailCharRefInside;\n }\n return nok(code2);\n }\n}\nfunction tokenizeEmailDomainDotTrail(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.consume(code2);\n return after;\n }\n function after(code2) {\n return asciiAlphanumeric(code2) ? nok(code2) : ok2(code2);\n }\n}\nfunction previousWww(code2) {\n return code2 === null || code2 === 40 || code2 === 42 || code2 === 95 || code2 === 91 || code2 === 93 || code2 === 126 || markdownLineEndingOrSpace(code2);\n}\nfunction previousProtocol(code2) {\n return !asciiAlpha(code2);\n}\nfunction previousEmail(code2) {\n return !(code2 === 47 || gfmAtext(code2));\n}\nfunction gfmAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || code2 === 95 || asciiAlphanumeric(code2);\n}\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === \"labelLink\" || token.type === \"labelImage\") && !token._balanced) {\n result = true;\n break;\n }\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index = -1;\n while (++index < constructs2.length) {\n const resolve = constructs2[index].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownSpace(code2) ? factorySpace(effects, after, \"linePrefix\")(code2) : after(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction gfmFootnote() {\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: \"after\",\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\nfunction tokenizePotentialGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let labelStart;\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n if (token.type === \"gfmFootnoteCall\" || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code2);\n }\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n );\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return ok2(code2);\n }\n}\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === \"enter\") {\n events[index][1];\n break;\n }\n }\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = \"gfmFootnoteCallLabelMarker\";\n const call = {\n type: \"gfmFootnoteCall\",\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const marker = {\n type: \"gfmFootnoteCallMarker\",\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n const string = {\n type: \"gfmFootnoteCallString\",\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n const chunk = {\n type: \"chunkString\",\n contentType: \"string\",\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n [\"enter\", call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n [\"enter\", marker, context],\n [\"exit\", marker, context],\n // Everything in between.\n [\"enter\", string, context],\n [\"enter\", chunk, context],\n [\"exit\", chunk, context],\n [\"exit\", string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n [\"exit\", call, context]\n ];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\nfunction tokenizeGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteCall\");\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return callStart;\n }\n function callStart(code2) {\n if (code2 !== 94) return nok(code2);\n effects.enter(\"gfmFootnoteCallMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallMarker\");\n effects.enter(\"gfmFootnoteCallString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return callData;\n }\n function callData(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteCallString\");\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n effects.exit(\"gfmFootnoteCall\");\n return ok2;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? callEscape : callData;\n }\n function callEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return callData;\n }\n return callData(code2);\n }\n}\nfunction tokenizeDefinitionStart(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let identifier;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteDefinition\")._container = true;\n effects.enter(\"gfmFootnoteDefinitionLabel\");\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n return labelAtMarker;\n }\n function labelAtMarker(code2) {\n if (code2 === 94) {\n effects.enter(\"gfmFootnoteDefinitionMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionMarker\");\n effects.enter(\"gfmFootnoteDefinitionLabelString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return labelInside;\n }\n return nok(code2);\n }\n function labelInside(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteDefinitionLabelString\");\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n effects.exit(\"gfmFootnoteDefinitionLabel\");\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? labelEscape : labelInside;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return labelInside;\n }\n return labelInside(code2);\n }\n function labelAfter(code2) {\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n return factorySpace(\n effects,\n whitespaceAfter,\n \"gfmFootnoteDefinitionWhitespace\"\n );\n }\n return nok(code2);\n }\n function whitespaceAfter(code2) {\n return ok2(code2);\n }\n}\nfunction tokenizeDefinitionContinuation(effects, ok2, nok) {\n return effects.check(blankLine, ok2, effects.attempt(indent, ok2, nok));\n}\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit(\"gfmFootnoteDefinition\");\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"gfmFootnoteDefinitionIndent\",\n 4 + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"gfmFootnoteDefinitionIndent\" && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok2(code2) : nok(code2);\n }\n}\nfunction gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === void 0) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n while (++index < events.length) {\n if (events[index][0] === \"enter\" && events[index][1].type === \"strikethroughSequenceTemporary\" && events[index][1]._close) {\n let open = index;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"strikethroughSequenceTemporary\" && events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = \"strikethroughSequence\";\n events[open][1].type = \"strikethroughSequence\";\n const strikethrough = {\n type: \"strikethrough\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n const text2 = {\n type: \"strikethroughText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n const nextEvents = [\n [\"enter\", strikethrough, context],\n [\"enter\", events[open][1], context],\n [\"exit\", events[open][1], context],\n [\"enter\", text2, context]\n ];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(insideSpan, events.slice(open + 1, index), context)\n );\n }\n splice(nextEvents, nextEvents.length, 0, [\n [\"exit\", text2, context],\n [\"enter\", events[index][1], context],\n [\"exit\", events[index][1], context],\n [\"exit\", strikethrough, context]\n ]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === \"strikethroughSequenceTemporary\") {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n function tokenizeStrikethrough(effects, ok2, nok) {\n const previous2 = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n function start(code2) {\n if (previous2 === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code2);\n }\n effects.enter(\"strikethroughSequenceTemporary\");\n return more(code2);\n }\n function more(code2) {\n const before = classifyCharacter(previous2);\n if (code2 === 126) {\n if (size > 1) return nok(code2);\n effects.consume(code2);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code2);\n const token = effects.exit(\"strikethroughSequenceTemporary\");\n const after = classifyCharacter(code2);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok2(code2);\n }\n }\n}\nclass EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n this.map = [];\n }\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array<Event>} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImpl(this, index, remove, add);\n }\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array<Event>} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImpl(this, index, remove, add, true)\n // }\n /**\n * Done, change the events.\n *\n * @param {Array<Event>} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function(a, b) {\n return a[0] - b[0];\n });\n if (this.map.length === 0) {\n return;\n }\n let index = this.map.length;\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(\n events.slice(this.map[index][0] + this.map[index][1]),\n this.map[index][2]\n );\n events.length = this.map[index][0];\n }\n vecs.push([...events]);\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n events.push(...slice);\n slice = vecs.pop();\n }\n this.map.length = 0;\n }\n}\nfunction addImpl(editMap, at, remove, add) {\n let index = 0;\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n editMap.map[index][2].push(...add);\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\nfunction gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === \"enter\") {\n if (event[1].type === \"tableContent\") {\n align.push(\n events[index + 1][1].type === \"tableDelimiterMarker\" ? \"left\" : \"none\"\n );\n }\n } else if (event[1].type === \"tableContent\") {\n if (events[index - 1][1].type === \"tableDelimiterMarker\") {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === \"left\" ? \"center\" : \"right\";\n }\n } else if (event[1].type === \"tableDelimiterRow\") {\n break;\n }\n } else if (event[0] === \"enter\" && event[1].type === \"tableDelimiterRow\") {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}\nfunction gfmTable() {\n return {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\nfunction tokenizeTable(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n let seen;\n return start;\n function start(code2) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" || // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\")\n index--;\n else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === \"tableHead\" || tail === \"tableRow\" ? bodyRowStart : headRowBefore;\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n return next(code2);\n }\n function headRowBefore(code2) {\n effects.enter(\"tableHead\");\n effects.enter(\"tableRow\");\n return headRowStart(code2);\n }\n function headRowStart(code2) {\n if (code2 === 124) {\n return headRowBreak(code2);\n }\n seen = true;\n sizeB += 1;\n return headRowBreak(code2);\n }\n function headRowBreak(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n if (sizeB > 1) {\n sizeB = 0;\n self.interrupt = true;\n effects.exit(\"tableRow\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n return nok(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headRowBreak, \"whitespace\")(code2);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n size += 1;\n }\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n seen = true;\n return headRowBreak;\n }\n effects.enter(\"data\");\n return headRowData(code2);\n }\n function headRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return headRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? headRowEscape : headRowData;\n }\n function headRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return headRowData;\n }\n return headRowData(code2);\n }\n function headDelimiterStart(code2) {\n self.interrupt = false;\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n effects.enter(\"tableDelimiterRow\");\n seen = false;\n if (markdownSpace(code2)) {\n return factorySpace(\n effects,\n headDelimiterBefore,\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n )(code2);\n }\n return headDelimiterBefore(code2);\n }\n function headDelimiterBefore(code2) {\n if (code2 === 45 || code2 === 58) {\n return headDelimiterValueBefore(code2);\n }\n if (code2 === 124) {\n seen = true;\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return headDelimiterCellBefore;\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterCellBefore(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code2);\n }\n return headDelimiterValueBefore(code2);\n }\n function headDelimiterValueBefore(code2) {\n if (code2 === 58) {\n sizeB += 1;\n seen = true;\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterLeftAlignmentAfter;\n }\n if (code2 === 45) {\n sizeB += 1;\n return headDelimiterLeftAlignmentAfter(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return headDelimiterCellAfter(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterLeftAlignmentAfter(code2) {\n if (code2 === 45) {\n effects.enter(\"tableDelimiterFiller\");\n return headDelimiterFiller(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterFiller(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return headDelimiterFiller;\n }\n if (code2 === 58) {\n seen = true;\n effects.exit(\"tableDelimiterFiller\");\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit(\"tableDelimiterFiller\");\n return headDelimiterRightAlignmentAfter(code2);\n }\n function headDelimiterRightAlignmentAfter(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code2);\n }\n return headDelimiterCellAfter(code2);\n }\n function headDelimiterCellAfter(code2) {\n if (code2 === 124) {\n return headDelimiterBefore(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code2);\n }\n effects.exit(\"tableDelimiterRow\");\n effects.exit(\"tableHead\");\n return ok2(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterNok(code2) {\n return nok(code2);\n }\n function bodyRowStart(code2) {\n effects.enter(\"tableRow\");\n return bodyRowBreak(code2);\n }\n function bodyRowBreak(code2) {\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return bodyRowBreak;\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"tableRow\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code2);\n }\n effects.enter(\"data\");\n return bodyRowData(code2);\n }\n function bodyRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return bodyRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? bodyRowEscape : bodyRowData;\n }\n function bodyRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return bodyRowData;\n }\n return bodyRowData(code2);\n }\n}\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n let rowKind = 0;\n let lastCell = [0, 0, 0, 0];\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n let currentTable;\n let currentBody;\n let currentCell;\n const map2 = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === \"enter\") {\n if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = false;\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n currentBody = void 0;\n lastTableEnd = 0;\n }\n currentTable = {\n type: \"table\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentTable, context]]);\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n inFirstCellAwaitingPipe = true;\n currentCell = void 0;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: \"tableBody\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentBody, context]]);\n }\n rowKind = token.type === \"tableDelimiterRow\" ? 2 : currentBody ? 3 : 1;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n inFirstCellAwaitingPipe = false;\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === \"tableCellDivider\") {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n } else if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n index,\n currentCell\n );\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map2, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n }\n map2.consume(context.events);\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === \"enter\" && event[1].type === \"table\") {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\nfunction flushCell(map2, context, range, rowKind, rowEnd, previousCell) {\n const groupName = rowKind === 1 ? \"tableHeader\" : rowKind === 2 ? \"tableDelimiter\" : \"tableData\";\n const valueName = \"tableContent\";\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map2.add(range[0], 0, [[\"exit\", previousCell, context]]);\n }\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map2.add(range[1], 0, [[\"enter\", previousCell, context]]);\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map2.add(range[2], 0, [[\"enter\", valueToken, context]]);\n if (rowKind !== 2) {\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map2.add(a, b, []);\n }\n }\n map2.add(range[3] + 1, 0, [[\"exit\", valueToken, context]]);\n }\n if (rowEnd !== void 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map2.add(rowEnd, 0, [[\"exit\", previousCell, context]]);\n previousCell = void 0;\n }\n return previousCell;\n}\nfunction flushTableEnd(map2, context, index, table, tableBody) {\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push([\"exit\", tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push([\"exit\", table, context]);\n map2.add(index + 1, 0, exits);\n}\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === \"enter\" ? \"start\" : \"end\";\n return event[1][side];\n}\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n};\nfunction gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\nfunction tokenizeTasklistCheck(effects, ok2, nok) {\n const self = this;\n return open;\n function open(code2) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code2);\n }\n effects.enter(\"taskListCheck\");\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n return inside;\n }\n function inside(code2) {\n if (markdownLineEndingOrSpace(code2)) {\n effects.enter(\"taskListCheckValueUnchecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueUnchecked\");\n return close;\n }\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"taskListCheckValueChecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueChecked\");\n return close;\n }\n return nok(code2);\n }\n function close(code2) {\n if (code2 === 93) {\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n effects.exit(\"taskListCheck\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownLineEnding(code2)) {\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok2,\n nok\n )(code2);\n }\n return nok(code2);\n }\n}\nfunction spaceThenNonSpace(effects, ok2, nok) {\n return factorySpace(effects, after, \"whitespace\");\n function after(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ]);\n}\nconst emptyOptions = {};\nfunction remarkGfm(options) {\n const self = (\n /** @type {Processor<Root>} */\n this\n );\n const settings = options || emptyOptions;\n const data = self.data();\n const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);\n const fromMarkdownExtensions = data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []);\n const toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);\n micromarkExtensions.push(gfm(settings));\n fromMarkdownExtensions.push(gfmFromMarkdown());\n toMarkdownExtensions.push(gfmToMarkdown(settings));\n}\nconst LINK_PROTOCOLS = [\"http\", \"https\", \"mailto\", \"tel\"];\nconst rehypeHighlight = ref(null);\nasync function importRehypeHighlightLibrary() {\n const module = await import(\"rehype-highlight\");\n rehypeHighlight.value = module.default;\n}\nconst _sfc_main = {\n name: \"NcRichText\",\n components: {\n NcReferenceList\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n referenceInteractive: {\n type: Boolean,\n default: true\n },\n referenceInteractiveOptIn: {\n type: Boolean,\n default: false\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Array,\n default: null\n },\n /** Provide basic Markdown syntax */\n useMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide GitHub Flavored Markdown syntax */\n useExtendedMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide event from rendered markdown inputs */\n interactive: {\n type: Boolean,\n default: false\n },\n autolink: {\n type: Boolean,\n default: true\n }\n },\n emits: [\"interact:todo\"],\n data() {\n return {\n parentId: GenRandomId(5)\n };\n },\n methods: {\n renderPlaintext(h) {\n const context = this;\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list2) {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return prepareTextNode({ h, context }, entry);\n }\n const argumentId = matches[1];\n const argument = context.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n },\n renderMarkdown(h) {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown,\n useExtendedMarkdown: this.useExtendedMarkdown\n }).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm : void 0).use(breaks).use(remarkUnlinkProtocols, { except: LINK_PROTOCOLS }).use(remark2rehype, {\n handlers: {\n component(toHast, node2) {\n return toHast(node2, node2.component, { value: node2.value });\n }\n }\n }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(rehype2react, {\n createElement: (tag, attrs, children) => {\n if (!tag.startsWith(\"#\")) {\n if (this.useExtendedMarkdown) {\n if (tag === \"code\" && !rehypeHighlight.value && attrs?.attrs?.class?.includes(\"language\")) {\n importRehypeHighlightLibrary();\n }\n let nestedNode = null;\n if (tag === \"li\" && Array.isArray(children) && children[0].tag === \"input\" && children[0].data.attrs.type === \"checkbox\") {\n const [inputNode, ...labelParts] = children;\n const nestedNodeIndex = labelParts.findIndex((child) => [\"ul\", \"ol\", \"li\", \"blockquote\", \"pre\"].includes(child.tag));\n if (nestedNodeIndex !== -1) {\n nestedNode = labelParts[nestedNodeIndex];\n labelParts.splice(nestedNodeIndex);\n }\n const id = this.parentId + \"-markdown-input-\" + GenRandomId(5);\n const inputComponent = h(NcCheckboxRadioSwitch, {\n attrs: {\n ...inputNode.data.attrs,\n id,\n disabled: !this.interactive\n },\n on: {\n \"update:checked\": () => {\n this.$emit(\"interact:todo\", id);\n }\n }\n }, labelParts);\n return h(tag, attrs, [inputComponent, nestedNode]);\n }\n }\n if (tag === \"a\") {\n const route = getRoute(this.$router, attrs.attrs.href);\n if (route) {\n delete attrs.attrs.href;\n delete attrs.attrs.target;\n return h(RouterLink, {\n ...attrs,\n props: {\n to: route\n }\n }, children);\n }\n }\n return h(tag, attrs, children);\n }\n const placeholder = this.arguments[tag.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...{ attrs }, ...{ class: \"rich-text--fallback\" } }, [`{${tag.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", attrs, [placeholder]);\n }\n return h(\n placeholder.component,\n {\n attrs,\n props: placeholder.props,\n class: \"rich-text--component\"\n },\n children\n );\n },\n prefix: false\n }).processSync(\n this.text.replace(/<[^>]+>/g, (match) => match.replace(/</g, \"&lt;\")).replace(/&gt;/gmi, \">\")\n ).result;\n return h(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n }\n },\n render(h) {\n return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown(h) : this.renderPlaintext(h);\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ddd5e67e\"\n);\nconst NcRichText = __component__.exports;\nexport {\n NcRichText as N,\n NcReferenceList as a\n};\n//# sourceMappingURL=NcRichText-CwXSzf21.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-878b819f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\n opacity: 0;\n}\n.linked-icons[data-v-878b819f] {\n display: flex;\n}\n.linked-icons img[data-v-878b819f] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-878b819f]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-878b819f] {\n display: none;\n}\n.popovermenu.open[data-v-878b819f] {\n display: block;\n}\nli.collection-list-item[data-v-878b819f] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-878b819f] {\n margin-top: 0;\n}\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-878b819f] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-878b819f] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-878b819f] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\n opacity: 1;\n}\n.should-shake[data-v-878b819f] {\n animation: shake-878b819f 0.6s 1 linear;\n}\n@keyframes shake-878b819f {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-efe8beb8] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.collection-list *[data-v-efe8beb8] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-efe8beb8] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-efe8beb8] {\n margin-top: 0;\n}\n#collection-select-container[data-v-efe8beb8] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-efe8beb8] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-efe8beb8]:hover {\n opacity: 1;\n}\np.hint[data-v-efe8beb8] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-efe8beb8] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-efe8beb8] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-efe8beb8] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-efe8beb8] {\n display: block;\n width: 32px;\n height: 32px;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-efe8beb8] {\n padding: 4px;\n}\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\n opacity: 0;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,uCAAuC;AACzC;AACA;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA,qCAAqC;AACrC;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,UAAU;AACZ\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-878b819f] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\\n transition: opacity 0.3s ease;\\n}\\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\\n opacity: 0;\\n}\\n.linked-icons[data-v-878b819f] {\\n display: flex;\\n}\\n.linked-icons img[data-v-878b819f] {\\n padding: 12px;\\n height: 44px;\\n display: block;\\n background-repeat: no-repeat;\\n background-position: center;\\n opacity: 0.7;\\n}\\n.linked-icons img[data-v-878b819f]:hover {\\n opacity: 1;\\n}\\n.popovermenu[data-v-878b819f] {\\n display: none;\\n}\\n.popovermenu.open[data-v-878b819f] {\\n display: block;\\n}\\nli.collection-list-item[data-v-878b819f] {\\n flex-wrap: wrap;\\n height: auto;\\n cursor: pointer;\\n margin-bottom: 0 !important;\\n}\\nli.collection-list-item .collection-avatar[data-v-878b819f] {\\n margin-top: 0;\\n}\\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\\n flex-basis: 10%;\\n flex-grow: 1;\\n display: flex;\\n}\\nli.collection-list-item .collection-item-name[data-v-878b819f] {\\n padding: 12px 9px;\\n}\\nli.collection-list-item input[data-v-878b819f] {\\n margin-top: 4px;\\n border-color: var(--color-border-maxcontrast);\\n}\\nli.collection-list-item input[type=text][data-v-878b819f] {\\n flex-grow: 1;\\n}\\nli.collection-list-item .error[data-v-878b819f] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details[data-v-878b819f] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\\n display: flex;\\n margin-left: 44px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\\n background-color: var(--color-background-dark);\\n}\\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\\n flex-grow: 1;\\n padding: 3px;\\n max-width: calc(100% - 30px);\\n display: flex;\\n}\\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 10px;\\n}\\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n position: relative;\\n vertical-align: top;\\n white-space: nowrap;\\n flex-grow: 1;\\n padding: 4px;\\n}\\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\\n width: 24px;\\n height: 24px;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\\n opacity: 0.7;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\\n opacity: 1;\\n}\\n.should-shake[data-v-878b819f] {\\n animation: shake-878b819f 0.6s 1 linear;\\n}\\n@keyframes shake-878b819f {\\n0% {\\n transform: translate(15px);\\n}\\n20% {\\n transform: translate(-15px);\\n}\\n40% {\\n transform: translate(7px);\\n}\\n60% {\\n transform: translate(-7px);\\n}\\n80% {\\n transform: translate(3px);\\n}\\n100% {\\n transform: translate(0px);\\n}\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-efe8beb8] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.collection-list *[data-v-efe8beb8] {\\n box-sizing: border-box;\\n}\\n.collection-list > li[data-v-efe8beb8] {\\n display: flex;\\n align-items: center;\\n gap: 12px;\\n}\\n.collection-list > li > .avatar[data-v-efe8beb8] {\\n margin-top: 0;\\n}\\n#collection-select-container[data-v-efe8beb8] {\\n display: flex;\\n flex-direction: column;\\n}\\n.v-select span.avatar[data-v-efe8beb8] {\\n display: block;\\n padding: 16px;\\n opacity: 0.7;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.v-select span.avatar[data-v-efe8beb8]:hover {\\n opacity: 1;\\n}\\np.hint[data-v-efe8beb8] {\\n z-index: 1;\\n margin-top: -16px;\\n padding: 8px 8px;\\n color: var(--color-text-maxcontrast);\\n line-height: normal;\\n}\\ndiv.avatar[data-v-efe8beb8] {\\n width: 32px;\\n height: 32px;\\n margin: 0;\\n padding: 8px;\\n background-color: var(--color-background-dark);\\n margin-top: 30px;\\n}\\n\\n/** TODO provide white icon in core */\\n.icon-projects[data-v-efe8beb8] {\\n display: block;\\n padding: 8px;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.option__wrapper[data-v-efe8beb8] {\\n display: flex;\\n}\\n.option__wrapper .avatar[data-v-efe8beb8] {\\n display: block;\\n width: 32px;\\n height: 32px;\\n background-color: var(--color-background-darker) !important;\\n}\\n.option__wrapper .option__title[data-v-efe8beb8] {\\n padding: 4px;\\n}\\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\\n transition: opacity 0.5s;\\n}\\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\\n opacity: 0;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.header[data-v-5c0f8828]{border-bottom:1px solid var(--color-border);position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.header__cell[data-v-5c0f8828]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-5c0f8828],.header__cell span[data-v-5c0f8828],.header__cell label[data-v-5c0f8828]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-5c0f8828],.header__cell--displayname[data-v-5c0f8828]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-5c0f8828]{inset-inline-start:0}.header__cell--displayname[data-v-5c0f8828]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.header__cell--username[data-v-5c0f8828]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.header__cell--avatar[data-v-5c0f8828]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-5c0f8828]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-5c0f8828]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-5c0f8828]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-5c0f8828]{min-width:400px;width:400px}.header__cell--fill[data-v-5c0f8828]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-5c0f8828]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.header__subtitle[data-v-5c0f8828]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListHeader.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBACC,2CAAA,CCEA,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.header {\\n\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"page-heading\":_vm.pageHeading}},[_c('UserList',{attrs:{\"selected-group\":_vm.selectedGroupDecoded,\"external-actions\":_vm.externalActions}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"user-list\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"user-list__header\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"user-list__body\",style:(_vm.tbodyStyle)},_vm._l((_vm.renderedItems),function(item,i){return _c(_vm.dataComponent,_vm._b({key:item[_vm.dataKey],tag:\"component\",attrs:{\"user\":item,\"visible\":(i >= _vm.bufferItems || _vm.index <= _vm.bufferItems) && (i < _vm.shownItems - _vm.bufferItems)}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"element-visibility\",rawName:\"v-element-visibility\",value:(_vm.handleFooterVisibility),expression:\"handleFooterVisibility\"}],ref:\"tfoot\",staticClass:\"user-list__footer\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"footer\")],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=21942da5&scoped=true\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21942da5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcDialog',_vm._g({staticClass:\"dialog\",attrs:{\"size\":\"small\",\"name\":_vm.t('settings', 'New account'),\"out-transition\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('NcButton',{staticClass:\"dialog__submit\",attrs:{\"data-test\":\"submit\",\"form\":\"new-user-form\",\"type\":\"primary\",\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add new account'))+\"\\n\\t\\t\")])]},proxy:true}])},_vm.$listeners),[_c('form',{staticClass:\"dialog__form\",attrs:{\"id\":\"new-user-form\",\"data-test\":\"form\",\"disabled\":_vm.loading.all},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser.apply(null, arguments)}}},[_c('NcTextField',{ref:\"username\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"username\",\"value\":_vm.newUser.id,\"disabled\":_vm.settings.newUserGenerateUserID,\"label\":_vm.usernameLabel,\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\"required\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"id\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"displayName\",\"value\":_vm.newUser.displayName,\"label\":_vm.t('settings', 'Display name'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"displayName\", $event)}}}),_vm._v(\" \"),(!_vm.settings.newUserRequireEmail)?_c('span',{staticClass:\"dialog__hint\",attrs:{\"id\":\"password-email-hint\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Either password or email is required'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"password\",\"value\":_vm.newUser.password,\"minlength\":_vm.minPasswordLength,\"maxlength\":469,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.mailAddress === '' ? _vm.t('settings', 'Password (required)') : _vm.t('settings', 'Password'),\"autocapitalize\":\"none\",\"autocomplete\":\"new-password\",\"spellcheck\":\"false\",\"required\":_vm.newUser.mailAddress === ''},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"password\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"email\",\"type\":\"email\",\"value\":_vm.newUser.mailAddress,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail ? _vm.t('settings', 'Email (required)') : _vm.t('settings', 'Email'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"required\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"mailAddress\", $event)}}}),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"data-test\":\"groups\",\"input-label\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin ? _vm.t('settings', 'Member of the following groups (required)') : _vm.t('settings', 'Member of the following groups'),\"placeholder\":_vm.t('settings', 'Set account groups'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableGroups,\"value\":_vm.newUser.groups,\"label\":\"name\",\"close-on-select\":false,\"multiple\":true,\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"required\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addGroup(options.at(-1))}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Admin of the following groups'),\"placeholder\":_vm.t('settings', 'Set account as admin for …'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableGroups,\"close-on-select\":false,\"multiple\":true,\"label\":\"name\"},on:{\"search\":_vm.searchGroups},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Quota'),\"placeholder\":_vm.t('settings', 'Set account quota'),\"options\":_vm.quotaOptions,\"clearable\":false,\"taggable\":true,\"create-option\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Language'),\"placeholder\":_vm.t('settings', 'Set default language'),\"clearable\":false,\"selectable\":option => !option.languages,\"filter-by\":_vm.languageFilterBy,\"options\":_vm.languages,\"label\":\"name\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{class:['dialog__item dialog__managers', { 'icon-loading-small': _vm.loading.manager }]},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.managerInputLabel,\"placeholder\":_vm.managerLabel,\"options\":_vm.possibleManagers,\"user-select\":true,\"label\":\"displayname\"},on:{\"search\":_vm.searchUserManager},model:{value:(_vm.newUser.manager),callback:function ($$v) {_vm.$set(_vm.newUser, \"manager\", $$v)},expression:\"newUser.manager\"}})],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcDialog class=\"dialog\"\n\t\tsize=\"small\"\n\t\t:name=\"t('settings', 'New account')\"\n\t\tout-transition\n\t\tv-on=\"$listeners\">\n\t\t<form id=\"new-user-form\"\n\t\t\tclass=\"dialog__form\"\n\t\t\tdata-test=\"form\"\n\t\t\t:disabled=\"loading.all\"\n\t\t\t@submit.prevent=\"createUser\">\n\t\t\t<NcTextField ref=\"username\"\n\t\t\t\tclass=\"dialog__item\"\n\t\t\t\tdata-test=\"username\"\n\t\t\t\t:value.sync=\"newUser.id\"\n\t\t\t\t:disabled=\"settings.newUserGenerateUserID\"\n\t\t\t\t:label=\"usernameLabel\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\tpattern=\"[a-zA-Z0-9 _\\.@\\-']+\"\n\t\t\t\trequired />\n\t\t\t<NcTextField class=\"dialog__item\"\n\t\t\t\tdata-test=\"displayName\"\n\t\t\t\t:value.sync=\"newUser.displayName\"\n\t\t\t\t:label=\"t('settings', 'Display name')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\" />\n\t\t\t<span v-if=\"!settings.newUserRequireEmail\"\n\t\t\t\tid=\"password-email-hint\"\n\t\t\t\tclass=\"dialog__hint\">\n\t\t\t\t{{ t('settings', 'Either password or email is required') }}\n\t\t\t</span>\n\t\t\t<NcPasswordField ref=\"password\"\n\t\t\t\tclass=\"dialog__item\"\n\t\t\t\tdata-test=\"password\"\n\t\t\t\t:value.sync=\"newUser.password\"\n\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t:maxlength=\"469\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.mailAddress === '' ? t('settings', 'Password (required)') : t('settings', 'Password')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:required=\"newUser.mailAddress === ''\" />\n\t\t\t<NcTextField class=\"dialog__item\"\n\t\t\t\tdata-test=\"email\"\n\t\t\t\ttype=\"email\"\n\t\t\t\t:value.sync=\"newUser.mailAddress\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.password === '' || settings.newUserRequireEmail ? t('settings', 'Email (required)') : t('settings', 'Email')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:required=\"newUser.password === '' || settings.newUserRequireEmail\" />\n\t\t\t<div class=\"dialog__item\">\n\t\t\t\t<NcSelect class=\"dialog__select\"\n\t\t\t\t\tdata-test=\"groups\"\n\t\t\t\t\t:input-label=\"!settings.isAdmin && !settings.isDelegatedAdmin ? t('settings', 'Member of the following groups (required)') : t('settings', 'Member of the following groups')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account groups')\"\n\t\t\t\t\t:disabled=\"loading.groups || loading.all\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:value=\"newUser.groups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:taggable=\"settings.isAdmin || settings.isDelegatedAdmin\"\n\t\t\t\t\t:required=\"!settings.isAdmin && !settings.isDelegatedAdmin\"\n\t\t\t\t\t:create-option=\"(value) => ({ id: value, name: value, isCreating: true })\"\n\t\t\t\t\t@search=\"searchGroups\"\n\t\t\t\t\t@option:created=\"createGroup\"\n\t\t\t\t\t@option:selected=\"options => addGroup(options.at(-1))\" />\n\t\t\t\t\t<!-- If user is not admin, they are a subadmin.\n\t\t\t\t\t\tSubadmins can't create users outside their groups\n\t\t\t\t\t\tTherefore, empty select is forbidden -->\n\t\t\t</div>\n\t\t\t<div class=\"dialog__item\">\n\t\t\t\t<NcSelect v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"t('settings', 'Admin of the following groups')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account as admin for …')\"\n\t\t\t\t\t:disabled=\"loading.groups || loading.all\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t@search=\"searchGroups\" />\n\t\t\t</div>\n\t\t\t<div class=\"dialog__item\">\n\t\t\t\t<NcSelect v-model=\"newUser.quota\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"t('settings', 'Quota')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account quota')\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\" />\n\t\t\t</div>\n\t\t\t<div v-if=\"showConfig.showLanguages\"\n\t\t\t\tclass=\"dialog__item\">\n\t\t\t\t<NcSelect v-model=\"newUser.language\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"t('settings', 'Language')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set default language')\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:selectable=\"option => !option.languages\"\n\t\t\t\t\t:filter-by=\"languageFilterBy\"\n\t\t\t\t\t:options=\"languages\"\n\t\t\t\t\tlabel=\"name\" />\n\t\t\t</div>\n\t\t\t<div :class=\"['dialog__item dialog__managers', { 'icon-loading-small': loading.manager }]\">\n\t\t\t\t<NcSelect v-model=\"newUser.manager\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"managerInputLabel\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:user-select=\"true\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t@search=\"searchUserManager\" />\n\t\t\t</div>\n\t\t</form>\n\n\t\t<template #actions>\n\t\t\t<NcButton class=\"dialog__submit\"\n\t\t\t\tdata-test=\"submit\"\n\t\t\t\tform=\"new-user-form\"\n\t\t\t\ttype=\"primary\"\n\t\t\t\tnative-type=\"submit\">\n\t\t\t\t{{ t('settings', 'Add new account') }}\n\t\t\t</NcButton>\n\t\t</template>\n\t</NcDialog>\n</template>\n\n<script>\nimport { formatFileSize, parseFileSize } from '@nextcloud/files'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcDialog from '@nextcloud/vue/components/NcDialog'\nimport NcPasswordField from '@nextcloud/vue/components/NcPasswordField'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcTextField from '@nextcloud/vue/components/NcTextField'\n\nimport { searchGroups } from '../../service/groups.ts'\nimport logger from '../../logger.ts'\n\nexport default {\n\tname: 'NewUserDialog',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcDialog,\n\t\tNcPasswordField,\n\t\tNcSelect,\n\t\tNcTextField,\n\t},\n\n\tprops: {\n\t\tloading: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tnewUser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpossibleManagers: [],\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\tmanagerInputLabel: t('settings', 'Manager'),\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\tmanagerLabel: t('settings', 'Set line manager'),\n\t\t\t// Cancelable promise for search groups request\n\t\t\tpromise: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tusernameLabel() {\n\t\t\tif (this.settings.newUserGenerateUserID) {\n\t\t\t\treturn t('settings', 'Account name will be autogenerated')\n\t\t\t}\n\t\t\treturn t('settings', 'Account name (required)')\n\t\t},\n\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\tavailableGroups() {\n\t\t\tconst groups = (this.settings.isAdmin || this.settings.isDelegatedAdmin)\n\t\t\t\t? this.$store.getters.getSortedGroups\n\t\t\t\t: this.$store.getters.getSubAdminGroups\n\n\t\t\treturn groups.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled')\n\t\t},\n\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.commonLanguages,\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.otherLanguages,\n\t\t\t]\n\t\t},\n\t},\n\n\tasync beforeMount() {\n\t\tawait this.searchUserManager()\n\t},\n\n\tmounted() {\n\t\tthis.$refs.username?.focus?.()\n\t},\n\n\tmethods: {\n\t\tasync createUser() {\n\t\t\tthis.loading.all = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUser', {\n\t\t\t\t\tuserid: this.newUser.id,\n\t\t\t\t\tpassword: this.newUser.password,\n\t\t\t\t\tdisplayName: this.newUser.displayName,\n\t\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\t\tlanguage: this.newUser.language.code,\n\t\t\t\t\tmanager: this.newUser.manager.id,\n\t\t\t\t})\n\n\t\t\t\tthis.$emit('reset')\n\t\t\t\tthis.$refs.username?.focus?.()\n\t\t\t\tthis.$emit('closing')\n\t\t\t} catch (error) {\n\t\t\t\tthis.loading.all = false\n\t\t\t\tif (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) {\n\t\t\t\t\tconst statuscode = error.response.data.ocs.meta.statuscode\n\t\t\t\t\tif (statuscode === 102) {\n\t\t\t\t\t\t// wrong username\n\t\t\t\t\t\tthis.$refs.username?.focus?.()\n\t\t\t\t\t} else if (statuscode === 107) {\n\t\t\t\t\t\t// wrong password\n\t\t\t\t\t\tthis.$refs.password?.focus?.()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync searchGroups(query, toggleLoading) {\n\t\t\tif (!this.settings.isAdmin && !this.settings.isDelegatedAdmin) {\n\t\t\t\t// managers cannot search for groups\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.promise) {\n\t\t\t\tthis.promise.cancel()\n\t\t\t}\n\t\t\ttoggleLoading(true)\n\t\t\ttry {\n\t\t\t\tthis.promise = searchGroups({\n\t\t\t\t\tsearch: query,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 25,\n\t\t\t\t})\n\t\t\t\tconst groups = await this.promise\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to search groups'), { error })\n\t\t\t}\n\t\t\tthis.promise = null\n\t\t\ttoggleLoading(false)\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t *\n\t\t * @param {any} group Group\n\t\t * @param {string} group.name Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tthis.newUser.groups.push({ id: gid, name: gid })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to create group'), { error })\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addGroup(group) {\n\t\t\tif (group.isCreating) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (group.canAdd === false) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.newUser.groups.push(group)\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @return {object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = OC.Util.computerFileSize(quota)\n\t\t\tif (validQuota !== null && validQuota >= 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = formatFileSize(parseFileSize(quota, true))\n\t\t\t\tthis.newUser.quota = { id: quota, label: quota }\n\t\t\t\treturn this.newUser.quota\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\tthis.newUser.quota = this.quotaOptions[0]\n\t\t\treturn this.quotaOptions[0]\n\t\t},\n\n\t\tlanguageFilterBy(option, label, search) {\n\t\t\t// Show group header of the language\n\t\t\tif (option.languages) {\n\t\t\t\treturn option.languages.some(\n\t\t\t\t\t({ name }) => name.toLocaleLowerCase().includes(search.toLocaleLowerCase()),\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn (label || '').toLocaleLowerCase().includes(search.toLocaleLowerCase())\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch(\n\t\t\t\t'searchUsers',\n\t\t\t\t{\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 10,\n\t\t\t\t\tsearch: query,\n\t\t\t\t},\n\t\t\t).then(response => {\n\t\t\t\tconst users = response?.data ? Object.values(response?.data.ocs.data.users) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.dialog {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 0 8px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__managers {\n\t\tmargin-bottom: 12px;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 4px;\n\t\tmargin-bottom: 8px;\n\t}\n\n\t:deep {\n\t\t.dialog__actions {\n\t\t\tmargin: auto;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=style&index=0&id=1195b9bc&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=style&index=0&id=1195b9bc&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewUserDialog.vue?vue&type=template&id=1195b9bc&scoped=true\"\nimport script from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nexport * from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./NewUserDialog.vue?vue&type=style&index=0&id=1195b9bc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1195b9bc\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"footer\"},[_c('th',{attrs:{\"scope\":\"row\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--loading\"},[(_vm.loading)?_c('NcLoadingIcon',{attrs:{\"title\":_vm.t('settings', 'Loading accounts …'),\"size\":32}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--count footer__cell--multiline\"},[_c('span',{attrs:{\"aria-describedby\":\"user-count-desc\"}},[_vm._v(_vm._s(_vm.userCount))]),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\",attrs:{\"id\":\"user-count-desc\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Scroll to load more rows'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListFooter.vue?vue&type=template&id=db2a7c4e&scoped=true\"\nimport script from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"db2a7c4e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"header\"},[_c('th',{staticClass:\"header__cell header__cell--avatar\",attrs:{\"data-cy-user-list-header-avatar\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Avatar'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--displayname\",attrs:{\"data-cy-user-list-header-displayname\":\"\",\"scope\":\"col\"}},[_c('strong',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Display name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--username\",attrs:{\"data-cy-user-list-header-username\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",class:{ 'header__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-header-password\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.passwordLabel))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-email\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Email')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-groups\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Groups')))])]),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-subadmins\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-quota\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Quota')))])]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-languages\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Language')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-storage-location\":\"\",\"scope\":\"col\"}},[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account backend'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Storage location'))+\"\\n\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-first-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'First login')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-last-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Last login')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large header__cell--fill\",attrs:{\"data-cy-user-list-header-manager\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Manager')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--actions\",attrs:{\"data-cy-user-list-header-actions\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account actions'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListHeader.vue?vue&type=template&id=5c0f8828&scoped=true\"\nimport script from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c0f8828\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',{staticClass:\"user-list__row\",attrs:{\"data-cy-user-row\":_vm.user.id}},[_c('td',{staticClass:\"row__cell row__cell--avatar\",attrs:{\"data-cy-user-list-cell-avatar\":\"\"}},[(_vm.isLoadingUser)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading account …'),\"size\":32}}):(_vm.visible)?_c('NcAvatar',{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"user\":_vm.user.id}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--displayname\",attrs:{\"data-cy-user-list-cell-displayname\":\"\"}},[(_vm.editing && _vm.user.backendCapabilities.setDisplayName)?[_c('NcTextField',{ref:\"displayNameField\",staticClass:\"user-row-text-field\",class:{ 'icon-loading-small': _vm.loading.displayName },attrs:{\"data-cy-user-list-input-displayname\":\"\",\"data-loading\":_vm.loading.displayName || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.displayName || _vm.isLoadingField,\"label\":_vm.t('settings', 'Change display name'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedDisplayName,\"autocapitalize\":\"off\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.editedDisplayName=$event},\"trailing-button-click\":_vm.updateDisplayName}})]:(!_vm.isObfuscated)?_c('strong',{attrs:{\"title\":_vm.user.displayname?.length > 20 ? _vm.user.displayname : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.displayname)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--username\",attrs:{\"data-cy-user-list-cell-username\":\"\"}},[_c('span',{staticClass:\"row__subtitle\"},[_vm._v(_vm._s(_vm.user.id))])]),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",class:{ 'row__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-cell-password\":\"\"}},[(_vm.editing && _vm.settings.canChangePassword && _vm.user.backendCapabilities.setPassword)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.password},attrs:{\"data-cy-user-list-input-password\":\"\",\"data-loading\":_vm.loading.password || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.password || _vm.isLoadingField,\"minlength\":_vm.minPasswordLength,\"maxlength\":\"469\",\"label\":_vm.t('settings', 'Set new password'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedPassword,\"autocapitalize\":\"off\",\"autocomplete\":\"new-password\",\"required\":\"\",\"spellcheck\":\"false\",\"type\":\"password\"},on:{\"update:value\":function($event){_vm.editedPassword=$event},\"trailing-button-click\":_vm.updatePassword}})]:(_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You do not have permissions to see the details of this account'))+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-email\":\"\"}},[(_vm.editing)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.mailAddress},attrs:{\"data-cy-user-list-input-email\":\"\",\"data-loading\":_vm.loading.mailAddress || undefined,\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"label\":_vm.t('settings', 'Set new email address'),\"disabled\":_vm.loading.mailAddress || _vm.isLoadingField,\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedMail,\"autocapitalize\":\"off\",\"autocomplete\":\"email\",\"spellcheck\":\"false\",\"type\":\"email\"},on:{\"update:value\":function($event){_vm.editedMail=$event},\"trailing-button-click\":_vm.updateEmail}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.user.email?.length > 20 ? _vm.user.email : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.email)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-groups\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'groups' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add account to group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-groups\":\"\",\"data-loading\":_vm.loading.groups || undefined,\"input-id\":'groups' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.groupsDetails,\"loading\":_vm.loading.groups,\"multiple\":true,\"append-to-body\":false,\"options\":_vm.availableGroups,\"placeholder\":_vm.t('settings', 'Add account to group'),\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"value\":_vm.userGroups,\"label\":\"name\",\"no-wrap\":true,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addUserGroup(options.at(-1)),\"option:deselected\":_vm.removeUserGroup}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userGroupsLabels?.length > 40 ? _vm.userGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-subadmins\":\"\"}},[(_vm.editing && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'subadmins' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set account as admin for'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-subadmins\":\"\",\"data-loading\":_vm.loading.subadmins || undefined,\"input-id\":'subadmins' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.subAdminGroupsDetails,\"loading\":_vm.loading.subadmins,\"label\":\"name\",\"append-to-body\":false,\"multiple\":true,\"no-wrap\":true,\"options\":_vm.availableSubAdminGroups,\"placeholder\":_vm.t('settings', 'Set account as admin for'),\"value\":_vm.userSubAdminGroups},on:{\"search\":_vm.searchGroups,\"option:deselected\":_vm.removeUserSubAdmin,\"option:selected\":options => _vm.addUserSubAdmin(options.at(-1))}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userSubAdminGroupsLabels?.length > 40 ? _vm.userSubAdminGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userSubAdminGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-quota\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'quota' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Select account quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":true,\"create-option\":_vm.validateQuota,\"data-cy-user-list-input-quota\":\"\",\"data-loading\":_vm.loading.quota || undefined,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.quota,\"append-to-body\":false,\"clearable\":false,\"input-id\":'quota' + _vm.uniqueId,\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select account quota'),\"taggable\":true},on:{\"option:selected\":_vm.setUserQuota},model:{value:(_vm.editedUserQuota),callback:function ($$v) {_vm.editedUserQuota=$$v},expression:\"editedUserQuota\"}})]:(!_vm.isObfuscated)?[_c('span',{attrs:{\"id\":'quota-progress' + _vm.uniqueId}},[_vm._v(_vm._s(_vm.userQuota)+\" (\"+_vm._s(_vm.usedSpace)+\")\")]),_vm._v(\" \"),_c('NcProgressBar',{staticClass:\"row__progress\",class:{\n\t\t\t\t\t'row__progress--warn': _vm.usedQuota > 80,\n\t\t\t\t},attrs:{\"aria-labelledby\":'quota-progress' + _vm.uniqueId,\"value\":_vm.usedQuota}})]:_vm._e()],2),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-language\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'language' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set the language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'language' + _vm.uniqueId,\"data-cy-user-list-input-language\":\"\",\"data-loading\":_vm.loading.languages || undefined,\"allow-empty\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.languages,\"clearable\":false,\"append-to-body\":false,\"options\":_vm.availableLanguages,\"placeholder\":_vm.t('settings', 'No language set'),\"value\":_vm.userLanguage,\"label\":\"name\"},on:{\"input\":_vm.setUserLanguage}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userLanguage.name)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-storage-location\":\"\"}},[(!_vm.isObfuscated)?[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"row__subtitle\",attrs:{\"title\":_vm.user.storageLocation}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.storageLocation)+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-first-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userFirstLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"title\":_vm.userLastLoginTooltip,\"data-cy-user-list-cell-last-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userLastLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--fill\",attrs:{\"data-cy-user-list-cell-manager\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'manager' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.managerLabel)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"select--fill\",attrs:{\"data-cy-user-list-input-manager\":\"\",\"data-loading\":_vm.loading.manager || undefined,\"input-id\":'manager' + _vm.uniqueId,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loadingPossibleManagers || _vm.loading.manager,\"options\":_vm.possibleManagers,\"placeholder\":_vm.managerLabel,\"label\":\"displayname\",\"filterable\":false,\"internal-search\":false,\"clearable\":true},on:{\"open\":_vm.searchInitialUserManager,\"search\":_vm.searchUserManager,\"update:model-value\":_vm.updateUserManager},model:{value:(_vm.currentManager),callback:function ($$v) {_vm.currentManager=$$v},expression:\"currentManager\"}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.manager)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--actions\",attrs:{\"data-cy-user-list-cell-actions\":\"\"}},[(_vm.visible && !_vm.isObfuscated && _vm.canEdit && !_vm.loading.all)?_c('UserRowActions',{attrs:{\"actions\":_vm.userActions,\"disabled\":_vm.isLoadingField,\"edit\":_vm.editing,\"user\":_vm.user},on:{\"update:edit\":_vm.toggleEdit}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import sax from 'sax';\nfunction startsWith(array, prefix) {\n if (prefix.length > array.length) {\n return false;\n }\n for (let i = 0; i < prefix.length; i++) {\n if (array[i] !== prefix[i]) {\n return false;\n }\n }\n return true;\n}\nfunction hasXmlTag(xmlString) {\n return /^<\\s*\\w+(?=\\s+[^<>]*=|>)/.test(xmlString);\n}\nfunction hasArrayXmlTag(array, encoding) {\n const textDecoder = new TextDecoder(encoding);\n return hasXmlTag(textDecoder.decode(array));\n}\nexport function isXml(array) {\n if (startsWith(array, [60, 63, 120, 109, 108, 32])) {\n return { xml: true, encoding: 'utf-8', offset: 0 };\n }\n if (startsWith(array, [0xEF, 0xBB, 0xBF])) { // UTF-8 BOM\n const encoding = 'utf-8';\n if (startsWith(array.subarray(3), [60, 63, 120, 109, 108, 32]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 3 };\n }\n }\n if (startsWith(array, [0xFE, 0xFF])) {\n const encoding = 'utf-16be';\n if (startsWith(array.subarray(2), [0, 60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 2 };\n }\n }\n if (startsWith(array, [0xFF, 0xFE])) {\n const encoding = 'utf-16le';\n if (startsWith(array.subarray(2), [60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32, 0]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 2 };\n }\n return { xml: true, encoding: 'utf-16le', offset: 2 };\n }\n if (startsWith(array, [0, 60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32])) {\n return { xml: true, encoding: 'utf-16be', offset: 0 };\n }\n if (startsWith(array, [60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32, 0])) {\n return { xml: true, encoding: 'utf-16le', offset: 0 };\n }\n if (hasArrayXmlTag(array, 'utf-8')) {\n return { xml: true, encoding: 'utf-8', offset: 0 };\n }\n return { xml: false };\n}\n/**\n * Maps the root element namespace to corresponding file-type\n */\nconst namespaceMapping = {\n 'http://www.w3.org/2000/svg': {\n ext: 'svg',\n mime: 'image/svg+xml'\n },\n 'http://www.w3.org/1999/xhtml': {\n ext: 'xhtml',\n mime: 'application/xhtml+xml'\n },\n 'http://www.opengis.net/kml/2.2': {\n ext: 'kml',\n mime: 'application/vnd.google-earth.kml+xml'\n },\n 'http://www.opengis.net/gml': {\n ext: 'gml',\n mime: 'application/gml+xml'\n }\n};\n/**\n * Maps the root element name to corresponding file-type.\n * Used for Non-namespaced XML\n * @type {{rss: {ext: string, mime: string}}}\n */\nconst rootNameMapping = {\n rss: {\n ext: 'rss',\n mime: 'application/rss+xml'\n },\n 'score-partwise': {\n ext: 'musicxml',\n mime: 'application/vnd.recordare.musicxml+xml'\n },\n svg: {\n ext: 'svg',\n mime: 'image/svg+xml'\n }\n};\nexport class XmlTextDetector {\n constructor(options) {\n this.options = options ?? {};\n this.firstTag = true;\n this.onEnd = false;\n this.parser = sax.parser(true, { xmlns: true });\n this.nesting = 0;\n this.parser.onerror = e => {\n if (e.message.startsWith('Invalid character entity')) { // Allow entity reference\n return;\n }\n this.fileType = undefined;\n this.onEnd = true;\n };\n this.parser.onopentag = node => {\n ++this.nesting;\n if (!this.firstTag || this.onEnd) {\n return;\n }\n this.firstTag = false;\n if (node.uri) {\n // Resolve file-type boot root element namespace\n this.fileType = namespaceMapping[node.uri];\n }\n else if (node.name) {\n // Fall back on element name if there is no namespace\n this.fileType = rootNameMapping[node.name.toLowerCase()];\n }\n if (this.fileType && !this.options.fullScan) {\n this.onEnd = true;\n }\n };\n this.parser.onclosetag = () => {\n --this.nesting;\n };\n }\n write(text) {\n this.parser.write(text);\n }\n close() {\n this.parser.close();\n this.onEnd = true;\n }\n isValid() {\n return this.nesting === 0;\n }\n}\nexport const detectXml = {\n id: 'xml',\n detect: async (tokenizer) => {\n const buffer = new Uint8Array(512);\n // Increase sample size from 12 to 256.\n await tokenizer.peekBuffer(buffer, { length: 128, mayBeLess: true });\n const xmlDetection = isXml(buffer);\n if (xmlDetection.xml) {\n await tokenizer.ignore(xmlDetection.offset);\n const xmlTextDetector = new XmlTextDetector();\n const textDecoder = new TextDecoder(xmlDetection.encoding);\n do {\n const len = await tokenizer.readBuffer(buffer, { mayBeLess: true });\n const portion = buffer.subarray(0, len);\n const text = textDecoder.decode(portion);\n xmlTextDetector.write(text);\n if (len < buffer.length) {\n xmlTextDetector.close();\n }\n } while (!xmlTextDetector.onEnd);\n return xmlTextDetector.fileType ?? {\n ext: 'xml',\n mime: 'application/xml'\n };\n }\n }\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcActions',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle account actions menu'),\"disabled\":_vm.disabled,\"inline\":1}},[_c('NcActionButton',{attrs:{\"data-cy-user-list-action-toggle-edit\":`${_vm.edit}`,\"disabled\":_vm.disabled},on:{\"click\":_vm.toggleEdit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{key:_vm.editSvg,attrs:{\"svg\":_vm.editSvg,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.edit ? _vm.t('settings', 'Done') : _vm.t('settings', 'Edit'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.enabledActions),function({ action, icon, text },index){return _c('NcActionButton',{key:index,attrs:{\"disabled\":_vm.disabled,\"aria-label\":text,\"icon\":icon,\"close-after-click\":\"\"},on:{\"click\":(event) => action(event, { ..._vm.user })},scopedSlots:_vm._u([(_vm.isSvg(icon))?{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":icon,\"aria-hidden\":\"true\"}})]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(text)+\"\\n\\t\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"","import {XmlTextDetector} from '@file-type/xml';\n\nexport default function isSvg(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\tstring = string.trim();\n\n\tif (string.length === 0) {\n\t\treturn false;\n\t}\n\n\tconst xmlTextDetector = new XmlTextDetector();\n\txmlTextDetector.write(string);\n\treturn xmlTextDetector.isValid() && xmlTextDetector.fileType?.ext === 'svg';\n}\n","import { render, staticRenderFns } from \"./UserRowActions.vue?vue&type=template&id=61782548\"\nimport script from \"./UserRowActions.vue?vue&type=script&lang=ts\"\nexport * from \"./UserRowActions.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcActionButtonGroup-BND4GQdv.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcActionButtonGroup-BND4GQdv.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionButtonGroup-BND4GQdv.css';\nimport { defineComponent } from \"vue\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { r as register, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister();\nconst _sfc_main = defineComponent({\n name: \"NcActionButtonGroup\",\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n props: {\n /**\n * Optional text shown below the button group\n */\n name: {\n required: false,\n default: void 0,\n type: String\n }\n },\n setup() {\n return {\n labelId: `nc-action-button-group-${GenRandomId()}`\n };\n },\n methods: {\n t\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"li\", { staticClass: \"nc-button-group-base\", attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_vm.name ? _c(\"div\", { attrs: { \"id\": _vm.labelId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _c(\"ul\", { staticClass: \"nc-button-group-content\", attrs: { \"role\": \"group\", \"aria-labelledby\": _vm.name ? _vm.labelId : void 0 } }, [_vm._t(\"default\")], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcActionButtonGroup = __component__.exports;\nexport {\n NcActionButtonGroup as N\n};\n//# sourceMappingURL=NcActionButtonGroup-DEf00ge6.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcActionRadio-CodyhP86.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcActionRadio-CodyhP86.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionRadio-CodyhP86.css';\nimport Vue from \"vue\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal-DqVa7c7G.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcActionRadio\",\n mixins: [ActionGlobalMixin],\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * id attribute of the radio element\n */\n id: {\n type: String,\n default: () => \"action-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n checked: {\n type: Boolean,\n default: void 0\n },\n /**\n * Checked state of the radio element\n * Boolean type removed in v9 - use String | Number instead\n */\n modelValue: {\n type: [Boolean, String, Number],\n default: false\n },\n /**\n * Define if this radio is part of a set.\n * Checking the radio will disable all the\n * others with the same name.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * value of the radio input\n */\n value: {\n type: [String, Number],\n default: \"\"\n },\n /**\n * disabled state of the radio element\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:checked\",\n /**\n * The radio state is changed\n * @type {boolean}\n */\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"change\"\n ],\n setup(props) {\n if (typeof props.modelValue === \"boolean\") {\n Vue.util.warn(\"[NcActionRadio] Boolean type of `modelValue` is deprecated and will be removed in next versions\");\n }\n const model = useModelMigration(\"checked\", \"update:checked\");\n return {\n model\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * aria-checked attribute for role=\"menuitemcheckbox\"\n *\n * @return {'true'|'false'|undefined} aria-checked value if needed\n */\n ariaChecked() {\n if (this.isInSemanticMenu) {\n return this.model ? \"true\" : \"false\";\n }\n return void 0;\n }\n },\n methods: {\n toggleInput(event) {\n this.$refs.label.click();\n },\n onChange(event) {\n this.$emit(\"change\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled }, attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_c(\"span\", { staticClass: \"action-radio\", attrs: { \"role\": \"menuitemradio\", \"aria-checked\": _vm.ariaChecked } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], staticClass: \"radio action-radio__radio\", class: { focusable: _vm.isFocusable }, attrs: { \"id\": _vm.id, \"disabled\": _vm.disabled, \"name\": _vm.name, \"type\": \"radio\" }, domProps: { \"value\": _vm.value, \"checked\": _vm._q(_vm.model, _vm.value) }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.preventDefault();\n return _vm.toggleInput.apply(null, arguments);\n }, \"change\": [function($event) {\n _vm.model = _vm.value;\n }, _vm.onChange] } }), _c(\"label\", { ref: \"label\", staticClass: \"action-radio__label\", attrs: { \"for\": _vm.id } }, [_vm._v(_vm._s(_vm.text))]), _vm._e()], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"8ddd08c0\"\n);\nconst NcActionRadio = __component__.exports;\nexport {\n NcActionRadio as N\n};\n//# sourceMappingURL=NcActionRadio-yAm71xxU.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcActionTextEditable-BflqGcjc.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcActionTextEditable-BflqGcjc.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionTextEditable-BflqGcjc.css';\nimport { b as mdiArrowRight } from \"./mdi-VRLMiqbd.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { A as ActionTextMixin } from \"./actionText-fFcUPi2g.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcActionTextEditable\",\n components: {\n NcIconSvgWrapper\n },\n mixins: [ActionTextMixin],\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * id attribute of the checkbox element\n */\n id: {\n type: String,\n default: () => \"action-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * disabled state of the text area\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n value: {\n type: String,\n default: void 0\n },\n /**\n * value attribute of the input field\n */\n modelValue: {\n type: String,\n default: \"\"\n }\n },\n emits: [\n \"input\",\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n /**\n * Emitted when the inputs value changes\n *\n * @type {string|Date}\n */\n \"update:modelValue\",\n /** Same as `update:modelValue` but with a different event name */\n \"update:model-value\",\n \"submit\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model,\n mdiArrowRight\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n computedId() {\n return GenRandomId();\n }\n },\n methods: {\n onInput(event) {\n this.$emit(\"input\", event);\n this.model = event.target.value;\n },\n onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!this.disabled) {\n this.$emit(\"submit\", event);\n } else {\n return false;\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } }, [_c(\"span\", { staticClass: \"action-text-editable\", on: { \"click\": _vm.onClick } }, [_vm._t(\"icon\", function() {\n return [_c(\"span\", { staticClass: \"action-text-editable__icon\", class: [_vm.isIconUrl ? \"action-text-editable__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null } })];\n }), _c(\"form\", { ref: \"form\", staticClass: \"action-text-editable__form\", attrs: { \"disabled\": _vm.disabled }, on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_c(\"input\", { staticClass: \"action-text-editable__submit\", attrs: { \"id\": _vm.id, \"type\": \"submit\" } }), _vm.name ? _c(\"label\", { staticClass: \"action-text-editable__name\", attrs: { \"for\": _vm.computedId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _c(\"textarea\", _vm._b({ class: [\"action-text-editable__textarea\", { focusable: _vm.isFocusable }], attrs: { \"id\": _vm.computedId, \"disabled\": _vm.disabled }, domProps: { \"value\": _vm.model }, on: { \"input\": _vm.onInput } }, \"textarea\", _vm.$attrs, false)), _c(\"label\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.disabled, expression: \"!disabled\" }], staticClass: \"action-text-editable__label\", attrs: { \"for\": _vm.id } }, [_c(\"NcIconSvgWrapper\", { attrs: { \"directional\": \"\", \"path\": _vm.mdiArrowRight } })], 1)])], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"a4505289\"\n);\nconst NcActionTextEditable = __component__.exports;\nexport {\n NcActionTextEditable as N\n};\n//# sourceMappingURL=NcActionTextEditable-DNweMXRJ.mjs.map\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppContentDetails\"\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-content-details\" }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcAppContentDetails = __component__.exports;\nexport {\n NcAppContentDetails as default\n};\n//# sourceMappingURL=NcAppContentDetails.mjs.map\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppContentList\",\n props: {\n selection: {\n type: Boolean,\n default: false\n },\n showDetails: {\n type: Boolean,\n default: false\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-content-list\", class: { selection: _vm.selection, showdetails: _vm.showDetails } }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcAppContentList = __component__.exports;\nexport {\n NcAppContentList as default\n};\n//# sourceMappingURL=NcAppContentList.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationIconBullet-CeBYVy6t.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationIconBullet-CeBYVy6t.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationIconBullet-CeBYVy6t.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationIconBullet\",\n props: {\n color: {\n type: String,\n required: true,\n validator(color) {\n return /^#?([0-9A-F]{3}){1,2}$/i.test(color);\n }\n }\n },\n emits: [\"click\"],\n computed: {\n formattedColor() {\n if (this.color.startsWith(\"#\")) {\n return this.color;\n }\n return \"#\" + this.color;\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-entry__icon-bullet\", on: { \"click\": _vm.onClick } }, [_c(\"div\", { style: { backgroundColor: _vm.formattedColor } })]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"938dadb1\"\n);\nconst NcAppNavigationIconBullet = __component__.exports;\nexport {\n NcAppNavigationIconBullet as default\n};\n//# sourceMappingURL=NcAppNavigationIconBullet.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNewItem-D7wroqrc.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNewItem-D7wroqrc.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationNewItem-D7wroqrc.css';\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-Dhbj3Gad.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationNewItem\",\n components: {\n NcInputConfirmCancel,\n NcLoadingIcon\n },\n props: {\n /**\n * The name of the element.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n }\n },\n emits: [\"new-item\"],\n data() {\n return {\n newItemValue: \"\",\n newItemActive: false\n };\n },\n methods: {\n handleNewItem() {\n if (!this.loading) {\n this.newItemActive = true;\n this.$nextTick(() => {\n this.$refs.newItemInput.focusInput();\n });\n }\n },\n cancelNewItem() {\n this.newItemActive = false;\n },\n handleNewItemDone() {\n this.$emit(\"new-item\", this.newItemValue);\n this.newItemValue = \"\";\n this.newItemActive = false;\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"app-navigation-entry\", class: {\n \"app-navigation-entry--newItemActive\": _vm.newItemActive\n } }, [_c(\"button\", { staticClass: \"app-navigation-entry-button\", on: { \"click\": _vm.handleNewItem } }, [_c(\"span\", { staticClass: \"app-navigation-entry-icon\", class: { [_vm.icon]: !_vm.loading } }, [_vm.loading ? _c(\"NcLoadingIcon\") : _vm._t(\"icon\")], 2), !_vm.newItemActive ? _c(\"span\", { staticClass: \"app-navigation-new-item__name\", attrs: { \"title\": _vm.name } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.newItemActive ? _c(\"span\", { staticClass: \"newItemContainer\" }, [_c(\"NcInputConfirmCancel\", { ref: \"newItemInput\", attrs: { \"placeholder\": _vm.editPlaceholder !== \"\" ? _vm.editPlaceholder : _vm.name }, on: { \"cancel\": _vm.cancelNewItem, \"confirm\": _vm.handleNewItemDone }, model: { value: _vm.newItemValue, callback: function($$v) {\n _vm.newItemValue = $$v;\n }, expression: \"newItemValue\" } })], 1) : _vm._e()])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"46fee9ac\"\n);\nconst NcAppNavigationNewItem = __component__.exports;\nexport {\n NcAppNavigationNewItem as N\n};\n//# sourceMappingURL=NcAppNavigationNewItem-CcBvnQst.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationSettings-vd47rlNY.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationSettings-vd47rlNY.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcMentionBubble-CB5c5ue2.css';\nimport '../assets/NcAppNavigationSettings-vd47rlNY.css';\nimport { r as register, x as t45, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport clickOutsideOptions from \"../Mixins/clickOutsideOptions.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"@nextcloud/router\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/capabilities\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nregister(t45);\nconst _sfc_main$1 = {\n name: \"CogIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon cog-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Cog = __component__$1.exports;\nconst _sfc_main = {\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n Cog\n },\n mixins: [\n clickOutsideOptions\n ],\n props: {\n name: {\n type: String,\n required: false,\n default: t(\"Settings\")\n }\n },\n data() {\n return {\n open: false\n };\n },\n computed: {\n clickOutsideConfig() {\n return [\n this.closeMenu,\n this.clickOutsideOptions\n ];\n }\n },\n methods: {\n toggleMenu() {\n this.open = !this.open;\n },\n closeMenu() {\n this.open = false;\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.clickOutsideConfig, expression: \"clickOutsideConfig\" }], class: { open: _vm.open }, attrs: { \"id\": \"app-settings\" } }, [_c(\"div\", { attrs: { \"id\": \"app-settings__header\" } }, [_c(\"button\", { staticClass: \"settings-button\", attrs: { \"type\": \"button\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-controls\": \"app-settings__content\" }, on: { \"click\": _vm.toggleMenu } }, [_c(\"Cog\", { staticClass: \"settings-button__icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"settings-button__label\" }, [_vm._v(_vm._s(_vm.name))])], 1)]), _c(\"Transition\", { attrs: { \"name\": \"slide-up\" } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.open, expression: \"open\" }], attrs: { \"id\": \"app-settings__content\" } }, [_vm._t(\"default\")], 2)])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d278a327\"\n);\nconst NcAppNavigationSettings = __component__.exports;\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-JruJ3cF1.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcBlurHash-7aGtE-_T.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcBlurHash-7aGtE-_T.css\";\n export default content && content.locals ? content.locals : undefined;\n","import PQueue from \"p-queue\";\nconst queue = new PQueue({ concurrency: 5 });\nfunction preloadImage(url) {\n const { resolve, promise } = Promise.withResolvers();\n queue.add(() => {\n const image = new Image();\n image.onerror = () => resolve(false);\n image.onload = () => resolve(true);\n image.src = url;\n return promise;\n });\n return promise;\n}\nexport {\n preloadImage\n};\n//# sourceMappingURL=preloadImage.mjs.map\n","import '../assets/NcBlurHash-7aGtE-_T.css';\nimport { decode } from \"blurhash\";\nimport { ref, watch, nextTick } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { preloadImage } from \"../Functions/preloadImage.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst fadeTransition = \"_fadeTransition_13rtj_2\";\nconst fadeTransitionActive = \"_fadeTransitionActive_13rtj_6\";\nconst style0 = {\n fadeTransition,\n fadeTransitionActive\n};\nconst _sfc_main = {\n __name: \"NcBlurHash\",\n props: {\n /**\n * The blur hash value to use.\n */\n hash: {\n required: true,\n type: String\n },\n /**\n * This is normally not needed, but if this blur hash is not only intended\n * for decorative purpose, descriptive text should be passed for accessibility.\n */\n alt: {\n type: String,\n default: \"\"\n },\n /**\n * Optional an image source to load, during the load the blur hash is shown.\n * As soon as it is loaded the image will be shown instead.\n */\n src: {\n type: String,\n default: \"\"\n }\n },\n emits: [\n /**\n * Emitted when the image (`src`) has been loaded.\n */\n \"load\"\n ],\n setup(__props, { emit }) {\n const props = __props;\n const canvas = ref();\n const imageLoaded = ref(false);\n watch(() => props.hash, drawBlurHash);\n watch(imageLoaded, () => {\n if (imageLoaded.value === false) {\n nextTick(() => drawBlurHash());\n }\n }, { immediate: true });\n watch(() => props.src, () => {\n imageLoaded.value = false;\n if (props.src) {\n preloadImage(props.src).then((success) => {\n imageLoaded.value = success;\n emit(\"load\", success);\n });\n }\n }, { immediate: true });\n function drawBlurHash() {\n if (imageLoaded.value) {\n return;\n }\n if (!props.hash) {\n logger.error(\"Invalid BlurHash value\");\n return;\n }\n if (canvas.value === void 0) {\n logger.error(\"BlurHash canvas not available\");\n return;\n }\n const { height, width } = canvas.value;\n const pixels = decode(props.hash, width, height);\n const ctx = canvas.value.getContext(\"2d\");\n if (ctx === null) {\n logger.error(\"Cannot create context for BlurHash canvas\");\n return;\n }\n const imageData = ctx.createImageData(width, height);\n imageData.data.set(pixels);\n ctx.putImageData(imageData, 0, 0);\n }\n return { __sfc: true, props, emit, canvas, imageLoaded, drawBlurHash };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(\"Transition\", { attrs: { \"css\": _vm.src ? void 0 : false, \"enter-active-class\": _vm.$style.fadeTransition, \"leave-active-class\": _vm.$style.fadeTransition, \"enter-class\": _vm.$style.fadeTransitionActive, \"leave-to-class\": _vm.$style.fadeTransitionActive } }, [!_setup.imageLoaded ? _c(\"canvas\", { ref: \"canvas\", attrs: { \"aria-hidden\": _vm.alt ? null : \"true\", \"aria-label\": _vm.alt } }) : _c(\"img\", { attrs: { \"alt\": _vm.alt, \"src\": _vm.src } })]);\n};\nvar _sfc_staticRenderFns = [];\nconst __cssModules = {\n \"$style\": style0\n};\nfunction _sfc_injectStyles(ctx) {\n for (var key in __cssModules) {\n this[key] = __cssModules[key];\n }\n}\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n _sfc_injectStyles,\n null\n);\nconst NcBlurHash = __component__.exports;\nexport {\n NcBlurHash as N\n};\n//# sourceMappingURL=NcBlurHash-do2wxY-0.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcCollectionList-yjTCAR46.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcCollectionList-yjTCAR46.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcCollectionList-yjTCAR46.css';\nimport debounce from \"debounce\";\nimport { ref, set } from \"vue\";\nimport { r as register, L as t6, M as t26, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { N as NcAvatar } from \"./NcAvatar-YSp2ORHc.mjs\";\nimport { N as NcSelect } from \"./NcSelect-CjUzohn5.mjs\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport { N as NcActions } from \"./NcActions-B4VZCD8B.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-CuVNJJtW.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nregister(t6);\nregister(t26);\nconst _sfc_main$1 = {\n name: \"NcCollectionListItem\",\n components: {\n NcAvatar,\n NcActions,\n NcActionButton\n },\n props: {\n collection: {\n type: Object,\n default: null\n },\n error: {\n type: String,\n default: void 0\n }\n },\n emits: [\"remove-resource\", \"rename-collection\"],\n data() {\n return {\n detailsOpen: false,\n newName: null\n };\n },\n computed: {\n getIcon() {\n return (resource) => [resource.iconClass];\n },\n typeClass() {\n return (resource) => \"resource-type-\" + resource.type;\n },\n resources() {\n return this.collection.resources?.filter((resource) => !Array.isArray(resource)) ?? [];\n },\n getComponent() {\n return (resource) => {\n const route = getRoute(this.$router, resource.link);\n return route ? { component: \"router-link\", to: route, href: void 0 } : { component: \"a\", to: void 0, href: resource.link };\n };\n },\n iconUrl() {\n return (resource) => {\n if (resource.mimetype) {\n return OC.MimeType.getIconUrl(resource.mimetype);\n }\n if (resource.iconUrl) {\n return resource.iconUrl;\n }\n return \"\";\n };\n }\n },\n methods: {\n t,\n toggleDetails() {\n this.detailsOpen = !this.detailsOpen;\n },\n showDetails() {\n this.detailsOpen = true;\n },\n removeResource(collection, resource) {\n this.$emit(\"remove-resource\", {\n collectionId: collection.id,\n resourceType: resource.type,\n resourceId: resource.id\n });\n },\n openRename() {\n this.newName = this.collection.name;\n },\n renameCollection() {\n if (this.newName) {\n this.$emit(\"rename-collection\", {\n collectionId: this.collection.id,\n name: this.newName\n });\n }\n this.newName = null;\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"collection-list-item\" }, [_c(\"NcAvatar\", { staticClass: \"collection-avatar\", attrs: { \"display-name\": _vm.collection.name, \"allow-placeholder\": \"\" } }), _vm.newName === null ? _c(\"span\", { staticClass: \"collection-item-name\", attrs: { \"title\": \"\" }, on: { \"click\": _vm.showDetails } }, [_vm._v(_vm._s(_vm.collection.name))]) : _c(\"form\", { class: { \"should-shake\": _vm.error }, on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.renameCollection.apply(null, arguments);\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.newName, expression: \"newName\" }], attrs: { \"type\": \"text\", \"autocomplete\": \"off\", \"autocapitalize\": \"off\" }, domProps: { \"value\": _vm.newName }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.newName = $event.target.value;\n } } }), _c(\"input\", { staticClass: \"icon-confirm\", attrs: { \"type\": \"submit\", \"value\": \"\" } })]), !_vm.detailsOpen && _vm.newName === null ? _c(\"div\", { staticClass: \"linked-icons\" }, _vm._l(_vm.resources.slice(0, 2), function(resource) {\n return _c(_vm.getComponent(resource).component, { key: resource.type + \"|\" + resource.id, tag: \"component\", class: _vm.typeClass(resource), attrs: { \"title\": resource.name, \"to\": _vm.getComponent(resource).to, \"href\": _vm.getComponent(resource).href } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource), \"alt\": resource.name } })]);\n }), 1) : _vm._e(), _vm.newName === null ? _c(\"span\", { staticClass: \"sharingOptionsGroup\" }, [_c(\"NcActions\", [_c(\"NcActionButton\", { attrs: { \"icon\": \"icon-info\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.toggleDetails.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.detailsOpen ? _vm.t(\"Hide details\") : _vm.t(\"Show details\")) + \" \")]), _c(\"NcActionButton\", { attrs: { \"icon\": \"icon-rename\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.openRename.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Rename project\")) + \" \")])], 1)], 1) : _vm._e(), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error ? _c(\"div\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error) + \" \")]) : _vm._e()]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.detailsOpen ? _c(\"ul\", { staticClass: \"resource-list-details\" }, _vm._l(_vm.resources, function(resource) {\n return _c(\"li\", { key: resource.type + \"|\" + resource.id, class: _vm.typeClass(resource) }, [_c(_vm.getComponent(resource).component, { tag: \"component\", attrs: { \"to\": _vm.getComponent(resource).to, \"href\": _vm.getComponent(resource).href } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource), \"alt\": resource.name } }), _c(\"span\", { staticClass: \"resource-name\" }, [_vm._v(_vm._s(resource.name || \"\"))])]), _c(\"span\", { staticClass: \"icon-close\", on: { \"click\": function($event) {\n return _vm.removeResource(_vm.collection, resource);\n } } })], 1);\n }), 0) : _vm._e()])], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"878b819f\"\n);\nconst NcCollectionListItem = __component__$1.exports;\nfunction extractOcsData(response) {\n return response.data.ocs.data;\n}\nfunction renameCollectionService(collectionId, collectionName) {\n return axios.put(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { collectionName }).then(extractOcsData);\n}\nfunction getCollectionsByResourceService(resourceType, resourceId) {\n return axios.get(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId })).then(extractOcsData);\n}\nfunction createCollectionService(resourceType, resourceId, name) {\n return axios.post(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId }), { name }).then(extractOcsData);\n}\nfunction addResourceService(collectionId, resourceType, resourceId) {\n return axios.post(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { resourceType, resourceId }).then(extractOcsData);\n}\nfunction removeResourceService(collectionId, resourceType, resourceId) {\n return axios.delete(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { params: { resourceType, resourceId } }).then(extractOcsData);\n}\nfunction searchService(query) {\n return axios.get(generateOcsUrl(\"collaboration/resources/collections/search/{query}\", { query })).then(extractOcsData);\n}\nfunction useCollections() {\n const storedCollections = ref([]);\n const addCollections = (collections) => {\n set(storedCollections, \"value\", collections);\n };\n const addCollection = (collection) => {\n set(storedCollections, \"value\", [...storedCollections.value, collection]);\n };\n const removeCollection = (collectionId) => {\n set(storedCollections, \"value\", storedCollections.value.filter((item) => item.id !== collectionId));\n };\n const updateCollection = (collection) => {\n const index = storedCollections.value.findIndex((item) => item.id === collection.id);\n if (index !== -1) {\n set(storedCollections.value, index, collection);\n } else {\n addCollection(collection);\n }\n };\n const fetchCollectionsByResource = async ({ resourceType, resourceId }) => {\n const collections = await getCollectionsByResourceService(resourceType, resourceId);\n addCollections(collections);\n };\n const createCollection = async ({ baseResourceType, baseResourceId, resourceType, resourceId, name }) => {\n const collection = await createCollectionService(baseResourceType, baseResourceId, name);\n addCollection(collection);\n await addResourceToCollection({\n collectionId: collection.id,\n resourceType,\n resourceId\n });\n };\n const renameCollection = async ({ collectionId, name }) => {\n const collection = await renameCollectionService(collectionId, name);\n updateCollection(collection);\n };\n const addResourceToCollection = async ({ collectionId, resourceType, resourceId }) => {\n const collection = await addResourceService(collectionId, resourceType, String(resourceId));\n updateCollection(collection);\n };\n const removeResourceFromCollection = async ({ collectionId, resourceType, resourceId }) => {\n const collection = await removeResourceService(collectionId, resourceType, String(resourceId));\n if (collection.resources.length > 0) {\n updateCollection(collection);\n } else {\n removeCollection(collectionId);\n }\n };\n return {\n storedCollections,\n fetchCollectionsByResource,\n createCollection,\n renameCollection,\n addResourceToCollection,\n removeResourceFromCollection\n };\n}\nconst METHOD_CREATE_COLLECTION = 0;\nconst METHOD_ADD_TO_COLLECTION = 1;\nconst _sfc_main = {\n name: \"NcCollectionList\",\n components: {\n NcCollectionListItem,\n NcAvatar,\n NcSelect\n },\n props: {\n /**\n * Resource type identifier\n */\n type: {\n type: String,\n default: null\n },\n /**\n * Unique id of the resource\n */\n id: {\n type: String,\n default: null\n },\n /**\n * Name of the resource\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Whether the component is active (to start fetch resources)\n */\n isActive: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const {\n storedCollections,\n fetchCollectionsByResource,\n createCollection,\n addResourceToCollection,\n removeResourceFromCollection,\n renameCollection\n } = useCollections();\n const searchCollections = ref([]);\n const search = debounce(function(query, loading) {\n if (query !== \"\") {\n loading(true);\n searchService(query).then((collections) => {\n searchCollections.value = collections;\n }).catch((e) => {\n console.error(\"Failed to search for collections\", e);\n }).finally(() => {\n loading(false);\n });\n }\n }, 500);\n return {\n storedCollections,\n fetchCollectionsByResource,\n createCollection,\n addResourceToCollection,\n removeResourceFromCollection,\n renameCollection,\n searchCollections,\n search\n };\n },\n data() {\n return {\n selectIsOpen: false,\n generatingCodes: false,\n codes: void 0,\n value: null,\n model: {},\n collectionsError: {},\n error: null,\n isSelectOpen: false\n };\n },\n computed: {\n collections() {\n return this.storedCollections.filter(\n (collection) => collection.resources.some((resource) => resource && resource.id === String(this.id) && resource.type === this.type)\n );\n },\n placeholder() {\n return this.isSelectOpen ? t(\"Type to search for existing projects\") : t(\"Add to a project\");\n },\n options() {\n const options = [];\n window.OCP.Collaboration.getTypes().sort().forEach((type) => {\n options.push({\n method: METHOD_CREATE_COLLECTION,\n type,\n title: window.OCP.Collaboration.getLabel(type),\n class: window.OCP.Collaboration.getIcon(type),\n action: () => window.OCP.Collaboration.trigger(type)\n });\n });\n for (const index in this.searchCollections) {\n if (!this.collections.find((collection) => collection.id === this.searchCollections[index].id)) {\n options.push({\n method: METHOD_ADD_TO_COLLECTION,\n title: this.searchCollections[index].name,\n collectionId: this.searchCollections[index].id\n });\n }\n }\n return options;\n },\n resourceIdentifier() {\n return {\n resourceType: this.type,\n resourceId: this.id,\n isActive: this.isActive\n };\n }\n },\n watch: {\n resourceIdentifier: {\n deep: true,\n immediate: true,\n handler(resourceIdentifier) {\n if (!resourceIdentifier.isActive || !resourceIdentifier.resourceId || !resourceIdentifier.resourceType) {\n return;\n }\n this.fetchCollectionsByResource(resourceIdentifier);\n }\n }\n },\n methods: {\n t,\n select(selectedOption) {\n if (selectedOption.method === METHOD_CREATE_COLLECTION) {\n selectedOption.action().then((resourceId) => {\n this.createCollection({\n baseResourceType: this.type,\n baseResourceId: this.id,\n resourceType: selectedOption.type,\n resourceId,\n name: this.name\n }).catch((e) => {\n this.setError(t(\"Failed to create a project\"), e);\n });\n }).catch((e) => {\n console.error(\"No resource selected\", e);\n });\n }\n if (selectedOption.method === METHOD_ADD_TO_COLLECTION) {\n this.addResourceToCollection({\n collectionId: selectedOption.collectionId,\n resourceType: this.type,\n resourceId: this.id\n }).catch((e) => {\n this.setError(t(\"Failed to add the item to the project\"), e);\n });\n }\n this.value = null;\n },\n showSelect() {\n this.selectIsOpen = true;\n this.$refs.select.$el.focus();\n },\n setError(error, e) {\n console.error(error, e);\n this.error = error;\n setTimeout(() => {\n this.error = null;\n }, 5e3);\n },\n renameCollectionFromItem({ collectionId, name }) {\n this.renameCollection({ collectionId, name }).catch((e) => {\n console.error(t(\"Failed to rename the project\"), e);\n this.collectionsError[collectionId] = t(\"Failed to rename the project\");\n setTimeout(() => {\n this.collectionsError[collectionId] = null;\n }, 5e3);\n });\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _vm.collections && _vm.type && _vm.id ? _c(\"ul\", { staticClass: \"collection-list\", attrs: { \"id\": \"collection-list\" } }, [_c(\"li\", { on: { \"click\": _vm.showSelect } }, [_vm._m(0), _c(\"div\", { attrs: { \"id\": \"collection-select-container\" } }, [_c(\"NcSelect\", { ref: \"select\", attrs: { \"aria-label-combobox\": _vm.t(\"Add to a project\"), \"options\": _vm.options, \"placeholder\": _vm.placeholder, \"label\": \"title\", \"limit\": 5 }, on: { \"close\": function($event) {\n _vm.isSelectOpen = false;\n }, \"open\": function($event) {\n _vm.isSelectOpen = true;\n }, \"option:selected\": _vm.select, \"search\": _vm.search }, scopedSlots: _vm._u([{ key: \"selected-option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__desc\" }, [_c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])])];\n } }, { key: \"option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__wrapper\" }, [option.class ? _c(\"span\", { staticClass: \"avatar\", class: option.class }) : option.method !== 2 ? _c(\"NcAvatar\", { attrs: { \"allow-placeholder\": \"\", \"display-name\": option.title } }) : _vm._e(), _c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])], 1)];\n } }], null, false, 2397208459), model: { value: _vm.value, callback: function($$v) {\n _vm.value = $$v;\n }, expression: \"value\" } }, [_c(\"p\", { staticClass: \"hint\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Connect items to a project to make them easier to find\")) + \" \")])])], 1)]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error ? _c(\"li\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error) + \" \")]) : _vm._e()]), _vm._l(_vm.collections, function(collection) {\n return _c(\"NcCollectionListItem\", { key: collection.id, attrs: { \"collection\": collection, \"error\": _vm.collectionsError[collection.id] }, on: { \"rename-collection\": _vm.renameCollectionFromItem, \"remove-resource\": _vm.removeResourceFromCollection } });\n })], 2) : _vm._e();\n};\nvar _sfc_staticRenderFns = [function() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"avatar\" }, [_c(\"span\", { staticClass: \"icon-projects\" })]);\n}];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"efe8beb8\"\n);\nconst NcCollectionList = __component__.exports;\nexport {\n NcCollectionList as N\n};\n//# sourceMappingURL=NcCollectionList-CFt-EZON.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcGuestContent-B0ivUQHg.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcGuestContent-B0ivUQHg.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcGuestContent-B0ivUQHg.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcGuestContent\",\n mounted() {\n document.getElementById(\"content\").classList.add(\"nc-guest-content\");\n },\n destroyed() {\n document.getElementById(\"content\").classList.remove(\"nc-guest-content\");\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { attrs: { \"id\": \"guest-content-vue\" } }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"cbad78fb\"\n);\nconst NcGuestContent = __component__.exports;\nexport {\n NcGuestContent as default\n};\n//# sourceMappingURL=NcGuestContent.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcHeaderButton-Dr6MgPDQ.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcHeaderButton-Dr6MgPDQ.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcHeaderButton-Dr6MgPDQ.css';\nimport { G as GenRandomId } from \"../chunks/GenRandomId-CMooMQt0.mjs\";\nimport NcButton from \"./NcButton.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcHeaderButton\",\n components: {\n NcButton\n },\n props: {\n /**\n * Unique id for this menu\n */\n id: {\n type: String,\n required: true\n },\n /**\n * `aria-label` attribute of the button\n */\n ariaLabel: {\n type: String,\n required: true\n },\n /**\n * Additional visually hidden description text for the button\n */\n description: {\n type: String,\n default: null\n }\n },\n emits: [\n \"click\"\n ],\n data() {\n return {\n descriptionId: GenRandomId()\n };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"header-menu\", attrs: { \"id\": _vm.id } }, [_c(\"NcButton\", { staticClass: \"header-menu__trigger\", attrs: { \"aria-label\": _vm.ariaLabel, \"aria-describedby\": _vm.descriptionId, \"size\": \"large\", \"variant\": \"tertiary-no-background\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.$emit(\"click\", $event);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"icon\")];\n }, proxy: true }], null, true) }), _vm.description ? _c(\"span\", { staticClass: \"header-menu__description hidden-visually\", attrs: { \"id\": _vm.descriptionId } }, [_vm._v(\" \" + _vm._s(_vm.description) + \" \")]) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"20fd51f9\"\n);\nconst NcHeaderButton = __component__.exports;\nexport {\n NcHeaderButton as default\n};\n//# sourceMappingURL=NcHeaderButton.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcRelatedResourcesPanel-DhStLIO2.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcRelatedResourcesPanel-DhStLIO2.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcRelatedResourcesPanel-DhStLIO2.css';\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-DFQfzh63.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-C7Dy9Bph.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { r as register, S as t39, a as t, T as t36, U as t8 } from \"./_l10n-DQgzdF9S.mjs\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nconst _sfc_main$4 = {\n name: \"AccountGroupIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$4 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon account-group-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n null\n);\nconst AccountGroup = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"OpenInNewIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$3 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon open-in-new-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n null\n);\nconst OpenInNew = __component__$3.exports;\nregister(t39);\nconst teamResourceProviders = getCapabilities()?.circles?.teamResourceProviders ?? [];\nconst _sfc_main$2 = {\n name: \"NcTeamResources\",\n components: {\n AccountGroup,\n ChevronDown,\n ChevronUp,\n OpenInNew,\n NcButton,\n NcIconSvgWrapper\n },\n props: {\n providerId: {\n type: String,\n default: null\n },\n itemId: {\n type: [String, Number],\n default: null\n }\n },\n data() {\n return {\n appEnabled: OC?.appswebroots?.circles !== void 0 && (OC.config.version.split(\".\")[0] ?? 0) >= 29,\n loading: false,\n teamResources: null,\n teamOpen: []\n };\n },\n computed: {\n isVisible() {\n return !this.loading && this.teamResources?.length > 0;\n },\n teamProviders() {\n return (teamId) => {\n const team = this.teamResources.find((t2) => t2.teamId === teamId);\n return team.resources?.reduce((acc, resource) => {\n if (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n return acc;\n }\n if (!acc[resource.provider.id]) {\n acc[resource.provider.id] = resource.provider;\n acc[resource.provider.id].resources = [];\n }\n if (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n return acc;\n }\n acc[resource.provider.id].resources.push(resource);\n return acc;\n }, {});\n };\n },\n open() {\n return (teamId) => {\n return this.teamOpen.indexOf(teamId) !== -1;\n };\n }\n },\n watch: {\n providerId() {\n this.fetchTeamResources();\n },\n itemId() {\n this.fetchTeamResources();\n }\n },\n created() {\n this.fetchTeamResources();\n },\n methods: {\n t,\n async fetchTeamResources() {\n if (!teamResourceProviders.includes(this.providerId)) {\n return;\n }\n try {\n this.loading = true;\n const response = await axios.get(generateOcsUrl(`/teams/resources/${this.providerId}/${this.itemId}`));\n this.teamResources = response.data.ocs.data.teams;\n this.teamOpen = [this.teamResources[0]?.teamId];\n } catch (e) {\n this.teamResources = null;\n console.error(e);\n } finally {\n this.loading = false;\n }\n },\n toggleOpen(teamId, open) {\n if (open) {\n this.teamOpen.push(teamId);\n } else {\n this.teamOpen.splice(this.teamOpen.indexOf(teamId), 1);\n }\n }\n }\n};\nvar _sfc_render$2 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _vm.appEnabled && _vm.isVisible ? _c(\"div\", { staticClass: \"team-resources\" }, [_c(\"h5\", { staticClass: \"team-resources__header\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Related team resources\")) + \" \")]), _vm._l(_vm.teamResources, function(team) {\n return _c(\"details\", { key: team.teamId, staticClass: \"related-team\", attrs: { \"name\": \"Team resources\", \"open\": _vm.open(team.teamId) }, on: { \"toggle\": (event) => _vm.toggleOpen(team.teamId, event.target.open) } }, [_c(\"summary\", { staticClass: \"related-team__header\" }, [_c(\"h5\", { staticClass: \"related-team__name\" }, [_c(\"AccountGroup\", { attrs: { \"size\": 20 } }), _vm._v(\" \" + _vm._s(team.displayName) + \" \")], 1), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.t(\"View team\"), \"href\": team.link, \"title\": _vm.t(\"View team\"), \"variant\": \"tertiary\" }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"OpenInNew\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }), _vm.open(team.teamId) ? _c(\"ChevronUp\", { attrs: { \"size\": 20 } }) : _c(\"ChevronDown\", { attrs: { \"size\": 20 } })], 1), _c(\"div\", _vm._l(_vm.teamProviders(team.teamId), function(provider) {\n return _c(\"div\", { key: provider.id, staticClass: \"related-team-provider\" }, [provider.resources.length > 0 ? _c(\"h6\", [_vm._v(\" \" + _vm._s(provider.name) + \" \")]) : _vm._e(), _c(\"ul\", _vm._l(provider.resources, function(resource) {\n return _c(\"li\", { key: resource.url, staticClass: \"related-team-resource\" }, [_c(\"a\", { staticClass: \"related-team-resource__link\", attrs: { \"href\": resource.url } }, [resource.iconEmoji ? _c(\"span\", { staticClass: \"resource__icon\" }, [_vm._v(\" \" + _vm._s(resource.iconEmoji) + \" \")]) : resource.iconSvg ? _c(\"NcIconSvgWrapper\", { staticClass: \"resource__icon\", attrs: { \"svg\": resource.iconSvg, \"size\": 20 } }) : resource.iconURL ? _c(\"span\", { staticClass: \"resource__icon\" }, [_c(\"img\", { attrs: { \"src\": resource.iconURL, \"alt\": \"\" } })]) : _vm._e(), _c(\"span\", { staticClass: \"resource__name\" }, [_vm._v(\" \" + _vm._s(resource.label) + \" \")])], 1)]);\n }), 0)]);\n }), 0)]);\n })], 2) : _vm._e();\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"9e46b7b2\"\n);\nconst NcTeamResources = __component__$2.exports;\nregister(t36);\nconst _sfc_main$1 = {\n name: \"NcResource\",\n components: {\n NcButton\n },\n props: {\n icon: {\n type: String,\n required: true\n },\n name: {\n type: String,\n required: true\n },\n url: {\n type: String,\n required: true\n }\n },\n data() {\n return {\n labelTranslated: t('Open link to \"{resourceName}\"', { resourceName: this.name })\n };\n },\n computed: {\n route() {\n return getRoute(this.$router, this.url);\n }\n },\n methods: {\n t\n }\n};\nvar _sfc_render$1 = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"resource\" }, [_c(\"NcButton\", { staticClass: \"resource__button\", attrs: { \"aria-label\": _vm.labelTranslated, \"to\": _vm.route, \"href\": _vm.route ? null : _vm.url, \"variant\": \"tertiary\" }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"div\", { staticClass: \"resource__icon\" }, [_c(\"img\", { attrs: { \"src\": _vm.icon } })])];\n }, proxy: true }]) }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")])], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"77c38062\"\n);\nconst NcResource = __component__$1.exports;\nregister(t8);\nconst _sfc_main = {\n name: \"NcRelatedResourcesPanel\",\n components: {\n NcResource,\n NcTeamResources\n },\n props: {\n /**\n * The provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n */\n providerId: {\n type: String,\n default: null\n },\n /**\n * The item id which uniquely identities the e.g. Calendar event, Deck board, file, Talk room, etc.\n */\n itemId: {\n type: [String, Number],\n default: null\n },\n /**\n * Limits to specific resource type. i.e. any provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n */\n resourceType: {\n type: String,\n default: \"\"\n },\n /**\n * Set the maximum number of resources to load\n */\n limit: {\n type: Number,\n default: 0\n },\n /**\n * Only used by the files sidebar\n *\n * File info is passed when registered with `OCA.Sharing.ShareTabSections.registerSection()`\n */\n fileInfo: {\n type: Object,\n default: null\n },\n /**\n * Make the header name dynamic\n */\n header: {\n type: String,\n default: t(\"Related resources\")\n },\n description: {\n type: String,\n default: t(\"Anything shared with the same group of people will show up here\")\n },\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"has-error\",\n \"has-resources\"\n ],\n data() {\n return {\n appEnabled: OC?.appswebroots?.related_resources !== void 0,\n loading: false,\n error: null,\n resources: []\n };\n },\n computed: {\n isVisible() {\n if (this.loading) {\n return false;\n }\n return this.error ?? this.resources.length > 0;\n },\n subline() {\n if (this.error) {\n return t(\"Error getting related resources. Please contact your system administrator if you have any questions.\");\n }\n return this.description;\n },\n hasResourceInfo() {\n if (this.providerId !== null && this.itemId !== null) {\n return true;\n }\n if (this.fileInfo !== null) {\n return true;\n }\n return false;\n },\n isFiles() {\n return this.fileInfo?.id !== void 0;\n },\n url() {\n let providerId = null;\n let itemId = null;\n if (this.isFiles) {\n providerId = \"files\";\n itemId = this.fileInfo.id;\n } else {\n providerId = this.providerId;\n itemId = this.itemId;\n }\n return generateOcsUrl(\"/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json\", {\n providerId,\n itemId,\n resourceType: this.resourceType,\n limit: this.limit\n });\n }\n },\n watch: {\n providerId() {\n this.fetchRelatedResources();\n },\n itemId() {\n this.fetchRelatedResources();\n },\n fileInfo() {\n this.fetchRelatedResources();\n },\n error(error) {\n this.$emit(\"has-error\", Boolean(error));\n },\n resources(resources) {\n this.$emit(\"has-resources\", resources.length > 0);\n }\n },\n created() {\n this.fetchRelatedResources();\n },\n methods: {\n t,\n async fetchRelatedResources() {\n if (!this.appEnabled || !this.hasResourceInfo) {\n return;\n }\n this.loading = true;\n this.error = null;\n this.resources = [];\n try {\n const response = await axios.get(this.url);\n this.resources = response.data.ocs?.data;\n } catch (e) {\n this.error = e;\n console.error(e);\n } finally {\n this.loading = false;\n }\n }\n }\n};\nvar _sfc_render = function render5() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", [_c(\"NcTeamResources\", { attrs: { \"provider-id\": _vm.providerId, \"item-id\": _vm.itemId } }), _vm.appEnabled && _vm.isVisible ? _c(\"div\", { staticClass: \"related-resources\" }, [_c(\"div\", { staticClass: \"related-resources__header\" }, [_c(\"h5\", [_vm._v(_vm._s(_vm.header))]), _c(\"p\", [_vm._v(_vm._s(_vm.subline))])]), _vm._l(_vm.resources, function(resource) {\n return _c(\"NcResource\", { key: resource.itemId, staticClass: \"related-resources__entry\", attrs: { \"icon\": resource.icon, \"name\": resource.title, \"url\": resource.url } });\n })], 2) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"badd46a9\"\n);\nconst NcRelatedResourcesPanel = __component__.exports;\nexport {\n NcRelatedResourcesPanel as N\n};\n//# sourceMappingURL=NcRelatedResourcesPanel-Y38zaKtn.mjs.map\n","import { defineComponent } from \"vue\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = defineComponent({\n name: \"NcSavingIndicatorIcon\",\n props: {\n /**\n * Specify the size of the saving icon.\n */\n size: {\n type: Number,\n default: 20\n },\n /**\n * Specify what is saved.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Set to true when saving is in progress.\n */\n saving: {\n type: Boolean,\n default: false,\n required: false\n },\n /**\n * Set to true if an error occured while saving.\n */\n error: {\n type: Boolean,\n default: false,\n required: false\n }\n },\n emits: [\"click\"],\n computed: {\n indicatorColor() {\n return this.error ? \"var(--color-error)\" : this.saving ? \"var(--color-primary-element)\" : \"none\";\n }\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"span\", { staticClass: \"material-design-icon\", attrs: { \"aria-label\": _vm.name, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"fill\": _vm.indicatorColor, \"d\": \"m19 15a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4z\" } }), _c(\"path\", { attrs: { \"fill\": \"currentColor\", \"d\": \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\" } }, [_vm.name ? _c(\"title\", [_vm._v(_vm._s(_vm.name))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcSavingIndicatorIcon = __component__.exports;\nexport {\n NcSavingIndicatorIcon as N\n};\n//# sourceMappingURL=NcSavingIndicatorIcon-nv1147dk.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcSelectUsers-CRH00RA2.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcSelectUsers-CRH00RA2.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcSelectUsers-CRH00RA2.css';\nimport { ref, watch } from \"vue\";\nimport { r as register, i as t43, d as t15, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { N as NcListItemIcon } from \"./NcListItemIcon-0H1Pepui.mjs\";\nimport { N as NcSelect } from \"./NcSelect-CjUzohn5.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t15, t43);\nconst _sfc_main = {\n __name: \"NcSelectUsers\",\n props: {\n /**\n * `aria-label` for the clear input button\n */\n ariaLabelClearSelected: {\n type: String,\n default: t(\"Clear selected\")\n },\n /**\n * `aria-label` for the listbox element\n */\n ariaLabelListbox: {\n type: String,\n default: t(\"Options\")\n },\n /**\n * Allows to customize the `aria-label` for the deselect-option button\n * The default is \"Deselect \" + optionLabel\n * @type {(optionLabel: string) => string}\n */\n ariaLabelDeselectOption: {\n type: Function,\n default: (optionLabel) => t(\"Deselect {option}\", { option: optionLabel })\n },\n /**\n * Keep the dropdown open after selecting an entry.\n */\n keepOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Disable the component\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Callback to determine if the provided option should match the current search text.\n * Used to determine if the option should be displayed.\n *\n * By default it filters by the `displayName` and `subname` properties of the user\n * option object unless this prop is set explicitly\n */\n filterBy: {\n type: Function,\n default: null\n },\n /**\n * Input element id\n */\n inputId: {\n type: String,\n default: () => GenRandomId()\n },\n /**\n * Visible label for the input element\n *\n * @default 'Select account'\n */\n inputLabel: {\n type: String,\n default: t(\"Select account\")\n },\n /**\n * Pass true if you are using an external label.\n * In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.\n */\n labelOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Show a loading icon.\n *\n * @default false\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Allow selection of multiple options\n *\n * @default false\n */\n multiple: {\n type: Boolean,\n default: false\n },\n /**\n * Disable automatic wrapping when selected options overflow the width.\n *\n * @default false\n */\n noWrap: {\n type: Boolean,\n default: false\n },\n /**\n * Array of users.\n *\n * @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}\n */\n options: {\n type: Array,\n default: () => []\n },\n /**\n * Placeholder text.\n */\n placeholder: {\n type: String,\n default: \"\"\n },\n /**\n * Enable if a value is required for native form validation\n */\n required: {\n type: Boolean,\n default: false\n },\n /**\n * Currently selected value\n *\n * The `v-model` directive may be used for two-way data binding\n */\n modelValue: {\n type: Object,\n default: null\n }\n },\n emits: [\"search\", \"update:modelValue\"],\n setup(__props, { emit }) {\n const props = __props;\n const search = ref(\"\");\n watch(search, () => {\n emit(\"search\", search.value);\n });\n const clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-clickable-area\"));\n const gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-grid-baseline\"));\n const avatarSize = clickableArea - 2 * gridBaseLine;\n function localFilterBy(option, label, search2) {\n if (props.filterBy) {\n return props.filterBy;\n }\n const EMAIL_NOTATION = /[^<]*<([^>]+)/;\n const match = search2.match(EMAIL_NOTATION);\n const subname = option.subname?.toLocaleLowerCase() ?? \"\";\n return match && subname.indexOf(match[1].toLocaleLowerCase()) > -1 || `${label} ${option.subname}`.toLocaleLowerCase().indexOf(search2.toLocaleLowerCase()) > -1;\n }\n return { __sfc: true, props, emit, search, clickableArea, gridBaseLine, avatarSize, localFilterBy, NcListItemIcon, NcSelect };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcSelect, _vm._b({ staticClass: \"nc-select-users\", attrs: { \"filter-by\": _setup.localFilterBy, \"label\": \"displayName\" }, on: { \"search\": function($event) {\n _setup.search = $event;\n }, \"update:model-value\": function($event) {\n return _vm.$emit(\"update:modelValue\", $event);\n } }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { \"avatar-size\": 32, \"name\": option.displayName, \"search\": _setup.search } }, \"NcListItemIcon\", option, false))];\n } }, { key: \"selected-option\", fn: function(selectedOption) {\n return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { \"avatar-size\": _setup.avatarSize, \"name\": selectedOption.displayName, \"no-margin\": \"\", \"search\": _setup.search } }, \"NcListItemIcon\", selectedOption, false))];\n } }]) }, \"NcSelect\", _vm.$props, false));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ecb8da4e\"\n);\nconst NcSelectUsers = __component__.exports;\nexport {\n NcSelectUsers as N\n};\n//# sourceMappingURL=NcSelectUsers-W17kOow7.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcSettingsInputText-Bsp_6DjJ.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcSettingsInputText-Bsp_6DjJ.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcSettingsInputText-Bsp_6DjJ.css';\nimport { r as register, h as t47, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t47);\nconst _sfc_main = {\n name: \"NcSettingsInputText\",\n model: {\n prop: \"value\",\n event: \"update:value\"\n },\n props: {\n /**\n * label of the select group element\n */\n label: {\n type: String,\n required: true\n },\n /**\n * hint of the select group input\n */\n hint: {\n type: String,\n default: \"\"\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n value: {\n type: String,\n default: void 0\n },\n /**\n * value of the select group input\n */\n modelValue: {\n type: String,\n default: \"\"\n },\n /**\n * disabled state of the settings select group input\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * id attribute of the select group element\n */\n id: {\n type: String,\n default: () => \"settings-input-text-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n /**\n * Emitted when the inputs value changes\n *\n * @type {string}\n */\n \"update:modelValue\",\n /* Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"input\",\n \"submit\",\n \"change\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model\n };\n },\n data() {\n return {\n submitTranslated: t(\"Submit\")\n };\n },\n computed: {\n /**\n * @return {string}\n */\n idSubmit() {\n return this.id + \"-submit\";\n }\n },\n methods: {\n onInput(event) {\n this.$emit(\"input\", event);\n this.model = event.target.value;\n },\n onSubmit(event) {\n if (!this.disabled) {\n this.$emit(\"submit\", event);\n }\n },\n onChange(event) {\n this.$emit(\"change\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"form\", { ref: \"form\", attrs: { \"disabled\": _vm.disabled }, on: { \"submit\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"input-wrapper\" }, [_c(\"label\", { staticClass: \"action-input__label\", attrs: { \"for\": _vm.id } }, [_vm._v(_vm._s(_vm.label))]), _c(\"input\", { attrs: { \"id\": _vm.id, \"type\": \"text\", \"disabled\": _vm.disabled }, domProps: { \"value\": _vm.model }, on: { \"input\": _vm.onInput, \"change\": _vm.onChange } }), _c(\"input\", { staticClass: \"action-input__submit\", attrs: { \"id\": _vm.idSubmit, \"type\": \"submit\" }, domProps: { \"value\": _vm.submitTranslated } }), _vm.hint ? _c(\"p\", { staticClass: \"hint\" }, [_vm._v(\" \" + _vm._s(_vm.hint) + \" \")]) : _vm._e()])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0907eb0a\"\n);\nconst NcSettingsInputText = __component__.exports;\nexport {\n NcSettingsInputText as N\n};\n//# sourceMappingURL=NcSettingsInputText-YO053agL.mjs.map\n","function checkIfDarkTheme(el = document.body) {\n const backgroundInvertIfDark = window.getComputedStyle(el).getPropertyValue(\"--background-invert-if-dark\");\n if (backgroundInvertIfDark !== void 0) {\n return backgroundInvertIfDark === \"invert(100%)\";\n }\n return false;\n}\nconst isDarkTheme = checkIfDarkTheme();\nexport {\n checkIfDarkTheme,\n isDarkTheme\n};\n//# sourceMappingURL=isDarkTheme.mjs.map\n","import { ref, watch, readonly } from \"vue\";\nimport { createSharedComposable, usePreferredDark, useMutationObserver } from \"@vueuse/core\";\nimport { checkIfDarkTheme } from \"../Functions/isDarkTheme.mjs\";\nfunction useIsDarkThemeElement(el = document.body) {\n const isDarkTheme = ref(checkIfDarkTheme(el));\n const isDarkSystemTheme = usePreferredDark();\n function updateIsDarkTheme() {\n isDarkTheme.value = checkIfDarkTheme(el);\n }\n useMutationObserver(el, updateIsDarkTheme, { attributes: true });\n watch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true });\n return readonly(isDarkTheme);\n}\nconst useIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement());\nexport {\n useIsDarkTheme,\n useIsDarkThemeElement\n};\n//# sourceMappingURL=useIsDarkTheme.mjs.map\n","import { N as NcActionButton } from \"./chunks/NcActionButton-CuVNJJtW.mjs\";\nimport { N as NcActionButtonGroup } from \"./chunks/NcActionButtonGroup-DEf00ge6.mjs\";\nimport NcActionCaption from \"./Components/NcActionCaption.mjs\";\nimport { N as NcActionCheckbox } from \"./chunks/NcActionCheckbox-DSMKeccY.mjs\";\nimport { N as NcActionInput } from \"./chunks/NcActionInput-B4qGsF57.mjs\";\nimport NcActionLink from \"./Components/NcActionLink.mjs\";\nimport { N as NcActionRadio } from \"./chunks/NcActionRadio-yAm71xxU.mjs\";\nimport NcActionRouter from \"./Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./chunks/NcActions-B4VZCD8B.mjs\";\nimport NcActionSeparator from \"./Components/NcActionSeparator.mjs\";\nimport NcActionText from \"./Components/NcActionText.mjs\";\nimport { N as NcActionTextEditable } from \"./chunks/NcActionTextEditable-DNweMXRJ.mjs\";\nimport { N as NcAppContent } from \"./chunks/NcAppContent-DyXqBrOB.mjs\";\nimport NcAppContentDetails from \"./Components/NcAppContentDetails.mjs\";\nimport NcAppContentList from \"./Components/NcAppContentList.mjs\";\nimport { N as NcAppNavigation } from \"./chunks/NcAppNavigation-CqKWSnxO.mjs\";\nimport { N as NcAppNavigationCaption } from \"./chunks/NcAppNavigationCaption-DcgSwIOY.mjs\";\nimport NcAppNavigationIconBullet from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport { N as NcAppNavigationItem } from \"./chunks/NcAppNavigationItem-CrTVtqYV.mjs\";\nimport NcAppNavigationList from \"./Components/NcAppNavigationList.mjs\";\nimport NcAppNavigationNew from \"./Components/NcAppNavigationNew.mjs\";\nimport { N as NcAppNavigationNewItem } from \"./chunks/NcAppNavigationNewItem-CcBvnQst.mjs\";\nimport { N as NcAppNavigationSearch } from \"./chunks/NcAppNavigationSearch-BC3kPnxr.mjs\";\nimport { N as NcAppNavigationSettings } from \"./chunks/NcAppNavigationSettings-JruJ3cF1.mjs\";\nimport NcAppNavigationSpacer from \"./Components/NcAppNavigationSpacer.mjs\";\nimport { N as NcAppSettingsDialog } from \"./chunks/NcAppSettingsDialog-D98cLpyy.mjs\";\nimport NcAppSettingsSection from \"./Components/NcAppSettingsSection.mjs\";\nimport { N as NcAppSidebar } from \"./chunks/NcAppSidebar-BdryV6wY.mjs\";\nimport { N as NcAppSidebarHeader } from \"./chunks/NcAppSidebarHeader-G2VD8Nfl.mjs\";\nimport NcAppSidebarTab from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as NcAvatar } from \"./chunks/NcAvatar-YSp2ORHc.mjs\";\nimport { u } from \"./chunks/NcAvatar-YSp2ORHc.mjs\";\nimport { N as NcBlurHash } from \"./chunks/NcBlurHash-do2wxY-0.mjs\";\nimport { N as NcBreadcrumb } from \"./chunks/NcBreadcrumb-Cu1XtrUo.mjs\";\nimport { N as NcBreadcrumbs } from \"./chunks/NcBreadcrumbs-B1LdRe5_.mjs\";\nimport NcButton from \"./Components/NcButton.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./chunks/NcCheckboxRadioSwitch-VeztTzpz.mjs\";\nimport { N as NcCollectionList } from \"./chunks/NcCollectionList-CFt-EZON.mjs\";\nimport { N as NcColorPicker } from \"./chunks/NcColorPicker-D7aj2f61.mjs\";\nimport { N as NcContent } from \"./chunks/NcContent-Cfz3ytoh.mjs\";\nimport { N as NcCounterBubble } from \"./chunks/NcCounterBubble-CDfRYl8B.mjs\";\nimport { N as NcDashboardWidget } from \"./chunks/NcDashboardWidget-eStjL-WD.mjs\";\nimport { N as NcDashboardWidgetItem } from \"./chunks/NcDashboardWidgetItem-BRFj1-Ir.mjs\";\nimport { N as NcDateTime } from \"./chunks/NcDateTime-DshRFtUU.mjs\";\nimport { u as u2 } from \"./chunks/NcDateTime-DshRFtUU.mjs\";\nimport NcDateTimePicker from \"./Components/NcDateTimePicker.mjs\";\nimport NcDateTimePickerNative from \"./Components/NcDateTimePickerNative.mjs\";\nimport { N as NcDialog } from \"./chunks/NcDialog-CKgpZOiy.mjs\";\nimport { N as NcDialogButton } from \"./chunks/NcDialogButton-CROAi1Ll.mjs\";\nimport NcEllipsisedOption from \"./Components/NcEllipsisedOption.mjs\";\nimport { N as NcEmojiPicker } from \"./chunks/NcEmojiPicker-Du-vbR5T.mjs\";\nimport NcEmptyContent from \"./Components/NcEmptyContent.mjs\";\nimport NcGuestContent from \"./Components/NcGuestContent.mjs\";\nimport NcHeaderButton from \"./Components/NcHeaderButton.mjs\";\nimport { N as NcHeaderMenu } from \"./chunks/NcHeaderMenu-Dj7jeq88.mjs\";\nimport { N as NcHighlight } from \"./chunks/index-Bz6q9mZw.mjs\";\nimport { N as NcIconSvgWrapper } from \"./chunks/NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { N as NcInputField } from \"./chunks/NcInputField-DTtUueUZ.mjs\";\nimport { N as NcListItem } from \"./chunks/NcListItem-B4Uyn2AS.mjs\";\nimport { N as NcListItemIcon } from \"./chunks/NcListItemIcon-0H1Pepui.mjs\";\nimport NcLoadingIcon from \"./Components/NcLoadingIcon.mjs\";\nimport NcModal from \"./Components/NcModal.mjs\";\nimport NcNoteCard from \"./Components/NcNoteCard.mjs\";\nimport { N as NcPasswordField } from \"./chunks/NcPasswordField-DNjegDVj.mjs\";\nimport { N as NcPopover } from \"./chunks/NcPopover-kYsewfff.mjs\";\nimport { N as NcProgressBar } from \"./chunks/NcProgressBar-DegJ2JjE.mjs\";\nimport { N as NcRelatedResourcesPanel } from \"./chunks/NcRelatedResourcesPanel-Y38zaKtn.mjs\";\nimport { N as NcMentionBubble } from \"./chunks/index-Dpk-sL3D.mjs\";\nimport { r } from \"./chunks/index-Dpk-sL3D.mjs\";\nimport { N as NcAutoCompleteResult, a as NcRichContenteditable } from \"./chunks/NcRichContenteditable-B8UqleMX.mjs\";\nimport { N as NcRichText } from \"./chunks/NcRichText-CwXSzf21.mjs\";\nimport { N, h, d, i, b, r as r2, c, a } from \"./chunks/index-56SXuvlv.mjs\";\nimport \"@vueuse/core\";\nimport \"vue\";\nimport \"vue-router\";\nimport { a as a2, g, b as b2, c as c2, d as d2, s } from \"./chunks/referencePickerModal-4kExxHbR.mjs\";\nimport \"unist-util-visit\";\nimport \"unist-builder\";\nimport \"@nextcloud/router\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/sharing/public\";\nimport \"@nextcloud/auth\";\nimport { N as NcSelect } from \"./chunks/NcSelect-CjUzohn5.mjs\";\nimport { N as NcTextField } from \"./chunks/NcTextField-o_8gWurX.mjs\";\nimport \"@nextcloud/event-bus\";\nimport { N as NcSavingIndicatorIcon } from \"./chunks/NcSavingIndicatorIcon-nv1147dk.mjs\";\nimport { N as NcSelectTags } from \"./chunks/NcSelectTags-wJN9J7_t.mjs\";\nimport { N as NcSelectUsers } from \"./chunks/NcSelectUsers-W17kOow7.mjs\";\nimport { N as NcSettingsInputText } from \"./chunks/NcSettingsInputText-YO053agL.mjs\";\nimport { N as NcSettingsSection } from \"./chunks/NcSettingsSection-C76Kqeew.mjs\";\nimport { N as NcSettingsSelectGroup } from \"./chunks/NcSettingsSelectGroup-CH_kppKo.mjs\";\nimport { N as NcTextArea } from \"./chunks/NcTextArea-BHERsE_g.mjs\";\nimport { N as NcTimezonePicker } from \"./chunks/NcTimezonePicker-q46K1fSq.mjs\";\nimport { N as NcUserBubble } from \"./chunks/NcUserBubble-B3-E-5F5.mjs\";\nimport { N as NcUserStatusIcon } from \"./chunks/NcUserStatusIcon-kbPFeJV6.mjs\";\nimport NcVNodes from \"./Components/NcVNodes.mjs\";\nimport { useHotKey } from \"./Composables/useHotKey.mjs\";\nimport { useIsDarkTheme, useIsDarkThemeElement } from \"./Composables/useIsDarkTheme.mjs\";\nimport { isFullscreenState, useIsFullscreen } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT, MOBILE_SMALL_BREAKPOINT, isMobileState, useIsMobile, useIsSmallMobile } from \"./Composables/useIsMobile.mjs\";\nimport { isA11yActivation } from \"./Functions/a11y.mjs\";\nimport { getEnabledContactsMenuActions, registerContactsMenuAction } from \"./Functions/contactsMenu.mjs\";\nimport { spawnDialog } from \"./Functions/dialog.mjs\";\nimport { E, a as a3, e, g as g2, s as s2 } from \"./chunks/emoji-BY_D0V5K.mjs\";\nimport { checkIfDarkTheme, isDarkTheme } from \"./Functions/isDarkTheme.mjs\";\nimport { preloadImage } from \"./Functions/preloadImage.mjs\";\nimport { u as u3 } from \"./chunks/usernameToColor-yoVXn0De.mjs\";\nimport directive from \"./Directives/Focus.mjs\";\nimport { directive as directive$1 } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as default2 } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as default3 } from \"./Mixins/isFullscreen.mjs\";\nimport { default as default4 } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { VTooltip as VTooltip2 } from \"floating-vue\";\nconst NcComponents = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NcDirectives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: directive,\n Linkify: directive$1,\n Tooltip: VTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NextcloudVuePlugin = {\n install(Vue) {\n Object.entries(NcComponents).forEach(([name, component]) => {\n Vue.component(component.name || name, component);\n });\n Object.entries(NcDirectives).forEach(([name, directive2]) => {\n Vue.directive(name, directive2);\n });\n }\n};\nexport {\n E as EmojiSkinTone,\n directive as Focus,\n directive$1 as Linkify,\n MOBILE_BREAKPOINT,\n MOBILE_SMALL_BREAKPOINT,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n N as NcCustomPickerRenderResult,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes,\n NextcloudVuePlugin,\n VTooltip2 as Tooltip,\n a2 as anyLinkProviderId,\n checkIfDarkTheme,\n default2 as clickOutsideOptions,\n a3 as emojiAddRecent,\n e as emojiSearch,\n g2 as getCurrentSkinTone,\n getEnabledContactsMenuActions,\n g as getLinkWithPicker,\n b2 as getProvider,\n c2 as getProviders,\n h as hasInteractiveView,\n isA11yActivation,\n d as isCustomPickerElementRegistered,\n isDarkTheme,\n default3 as isFullscreen,\n isFullscreenState,\n default4 as isMobile,\n isMobileState,\n i as isWidgetRegistered,\n preloadImage,\n registerContactsMenuAction,\n b as registerCustomPickerElement,\n r2 as registerWidget,\n c as renderCustomPickerElement,\n a as renderWidget,\n r as richEditor,\n d2 as searchProvider,\n s2 as setCurrentSkinTone,\n s as sortProviders,\n spawnDialog,\n u2 as useFormatDateTime,\n useHotKey,\n useIsDarkTheme,\n useIsDarkThemeElement,\n useIsFullscreen,\n useIsMobile,\n useIsSmallMobile,\n u as userStatus,\n u3 as usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { formatFileSize } from '@nextcloud/files'\nimport { useFormatDateTime } from '@nextcloud/vue'\n\nexport default {\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tsetup(props) {\n\t\tconst { formattedFullTime } = useFormatDateTime(props.user.firstLoginTimestamp * 1000, {\n\t\t\trelativeTime: false,\n\t\t\tformat: {\n\t\t\t\ttimeStyle: 'short',\n\t\t\t\tdateStyle: 'short',\n\t\t\t},\n\t\t})\n\t\treturn {\n\t\t\tformattedFullTime,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselectedGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tselectedSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t\tuserGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tuserSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedSpace() {\n\t\t\tconst quotaUsed = this.user.quota.used > 0 ? this.user.quota.used : 0\n\t\t\treturn t('settings', '{size} used', { size: formatFileSize(quotaUsed, true) })\n\t\t},\n\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100))\n\t\t\t} else {\n\t\t\t\tconst usedInGB = this.user.quota.used / (10 * Math.pow(2, 30))\n\t\t\t\t// asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)))\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota\n\t\t},\n\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tconst humanQuota = formatFileSize(this.user.quota.quota)\n\t\t\t\tconst userQuota = this.quotaOptions.find(quota => quota.id === humanQuota)\n\t\t\t\treturn userQuota || { id: humanQuota, label: humanQuota }\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0]\n\t\t\t}\n\t\t\treturn this.quotaOptions[1] // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tconst availableLanguages = this.languages[0].languages.concat(this.languages[1].languages)\n\t\t\tconst userLang = availableLanguages.find(lang => lang.code === this.user.language)\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language,\n\t\t\t\t}\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn userLang\n\t\t},\n\n\t\tuserFirstLogin() {\n\t\t\tif (this.user.firstLoginTimestamp > 0) {\n\t\t\t\treturn this.formattedFullTime\n\t\t\t}\n\t\t\tif (this.user.firstLoginTimestamp < 0) {\n\t\t\t\treturn t('settings', 'Unknown')\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\n\t\t/* LAST LOGIN */\n\t\tuserLastLoginTooltip() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.formatDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tuserLastLogin() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.relativeModifiedDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\t},\n}\n","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<tr class=\"user-list__row\"\n\t\t:data-cy-user-row=\"user.id\">\n\t\t<td class=\"row__cell row__cell--avatar\" data-cy-user-list-cell-avatar>\n\t\t\t<NcLoadingIcon v-if=\"isLoadingUser\"\n\t\t\t\t:name=\"t('settings', 'Loading account …')\"\n\t\t\t\t:size=\"32\" />\n\t\t\t<NcAvatar v-else-if=\"visible\"\n\t\t\t\tdisable-menu\n\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t:user=\"user.id\" />\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--displayname\" data-cy-user-list-cell-displayname>\n\t\t\t<template v-if=\"editing && user.backendCapabilities.setDisplayName\">\n\t\t\t\t<NcTextField ref=\"displayNameField\"\n\t\t\t\t\tclass=\"user-row-text-field\"\n\t\t\t\t\tdata-cy-user-list-input-displayname\n\t\t\t\t\t:data-loading=\"loading.displayName || undefined\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{ 'icon-loading-small': loading.displayName }\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.displayName || isLoadingField\"\n\t\t\t\t\t:label=\"t('settings', 'Change display name')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedDisplayName\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t@trailing-button-click=\"updateDisplayName\" />\n\t\t\t</template>\n\t\t\t<strong v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"user.displayname?.length > 20 ? user.displayname : null\">\n\t\t\t\t{{ user.displayname }}\n\t\t\t</strong>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--username\" data-cy-user-list-cell-username>\n\t\t\t<span class=\"row__subtitle\">{{ user.id }}</span>\n\t\t</td>\n\n\t\t<td data-cy-user-list-cell-password\n\t\t\tclass=\"row__cell\"\n\t\t\t:class=\"{ 'row__cell--obfuscated': hasObfuscated }\">\n\t\t\t<template v-if=\"editing && settings.canChangePassword && user.backendCapabilities.setPassword\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\tdata-cy-user-list-input-password\n\t\t\t\t\t:data-loading=\"loading.password || undefined\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.password}\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.password || isLoadingField\"\n\t\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t\tmaxlength=\"469\"\n\t\t\t\t\t:label=\"t('settings', 'Set new password')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedPassword\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\trequired\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t@trailing-button-click=\"updatePassword\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"isObfuscated\">\n\t\t\t\t{{ t('settings', 'You do not have permissions to see the details of this account') }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-cy-user-list-cell-email>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.mailAddress}\"\n\t\t\t\t\tdata-cy-user-list-input-email\n\t\t\t\t\t:data-loading=\"loading.mailAddress || undefined\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:label=\"t('settings', 'Set new email address')\"\n\t\t\t\t\t:disabled=\"loading.mailAddress || isLoadingField\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedMail\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"email\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t@trailing-button-click=\"updateEmail\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"user.email?.length > 20 ? user.email : null\">\n\t\t\t\t{{ user.email }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--multiline\" data-cy-user-list-cell-groups>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'groups' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Add account to group') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect data-cy-user-list-input-groups\n\t\t\t\t\t:data-loading=\"loading.groups || undefined\"\n\t\t\t\t\t:input-id=\"'groups' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField || loading.groupsDetails\"\n\t\t\t\t\t:loading=\"loading.groups\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Add account to group')\"\n\t\t\t\t\t:taggable=\"settings.isAdmin || settings.isDelegatedAdmin\"\n\t\t\t\t\t:value=\"userGroups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:create-option=\"(value) => ({ id: value, name: value, isCreating: true })\"\n\t\t\t\t\t@search=\"searchGroups\"\n\t\t\t\t\t@option:created=\"createGroup\"\n\t\t\t\t\t@option:selected=\"options => addUserGroup(options.at(-1))\"\n\t\t\t\t\t@option:deselected=\"removeUserGroup\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userGroupsLabels?.length > 40 ? userGroupsLabels : null\">\n\t\t\t\t{{ userGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"settings.isAdmin || settings.isDelegatedAdmin\"\n\t\t\tdata-cy-user-list-cell-subadmins\n\t\t\tclass=\"row__cell row__cell--large row__cell--multiline\">\n\t\t\t<template v-if=\"editing && (settings.isAdmin || settings.isDelegatedAdmin)\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'subadmins' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set account as admin for') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect data-cy-user-list-input-subadmins\n\t\t\t\t\t:data-loading=\"loading.subadmins || undefined\"\n\t\t\t\t\t:input-id=\"'subadmins' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField || loading.subAdminGroupsDetails\"\n\t\t\t\t\t:loading=\"loading.subadmins\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:options=\"availableSubAdminGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account as admin for')\"\n\t\t\t\t\t:value=\"userSubAdminGroups\"\n\t\t\t\t\t@search=\"searchGroups\"\n\t\t\t\t\t@option:deselected=\"removeUserSubAdmin\"\n\t\t\t\t\t@option:selected=\"options => addUserSubAdmin(options.at(-1))\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userSubAdminGroupsLabels?.length > 40 ? userSubAdminGroupsLabels : null\">\n\t\t\t\t{{ userSubAdminGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-cy-user-list-cell-quota>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'quota' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Select account quota') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"editedUserQuota\"\n\t\t\t\t\t:close-on-select=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t\tdata-cy-user-list-input-quota\n\t\t\t\t\t:data-loading=\"loading.quota || undefined\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.quota\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:input-id=\"'quota' + uniqueId\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Select account quota')\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t@option:selected=\"setUserQuota\" />\n\t\t\t</template>\n\t\t\t<template v-else-if=\"!isObfuscated\">\n\t\t\t\t<span :id=\"'quota-progress' + uniqueId\">{{ userQuota }} ({{ usedSpace }})</span>\n\t\t\t\t<NcProgressBar :aria-labelledby=\"'quota-progress' + uniqueId\"\n\t\t\t\t\tclass=\"row__progress\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'row__progress--warn': usedQuota > 80,\n\t\t\t\t\t}\"\n\t\t\t\t\t:value=\"usedQuota\" />\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLanguages\"\n\t\t\tclass=\"row__cell row__cell--large\"\n\t\t\tdata-cy-user-list-cell-language>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'language' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set the language') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect :id=\"'language' + uniqueId\"\n\t\t\t\t\tdata-cy-user-list-input-language\n\t\t\t\t\t:data-loading=\"loading.languages || undefined\"\n\t\t\t\t\t:allow-empty=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.languages\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableLanguages\"\n\t\t\t\t\t:placeholder=\"t('settings', 'No language set')\"\n\t\t\t\t\t:value=\"userLanguage\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t@input=\"setUserLanguage\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ userLanguage.name }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showUserBackend || showConfig.showStoragePath\"\n\t\t\tdata-cy-user-list-cell-storage-location\n\t\t\tclass=\"row__cell row__cell--large\">\n\t\t\t<template v-if=\"!isObfuscated\">\n\t\t\t\t<span v-if=\"showConfig.showUserBackend\">{{ user.backend }}</span>\n\t\t\t\t<span v-if=\"showConfig.showStoragePath\"\n\t\t\t\t\t:title=\"user.storageLocation\"\n\t\t\t\t\tclass=\"row__subtitle\">\n\t\t\t\t\t{{ user.storageLocation }}\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showFirstLogin\"\n\t\t\tclass=\"row__cell\"\n\t\t\tdata-cy-user-list-cell-first-login>\n\t\t\t<span v-if=\"!isObfuscated\">{{ userFirstLogin }}</span>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLastLogin\"\n\t\t\t:title=\"userLastLoginTooltip\"\n\t\t\tclass=\"row__cell\"\n\t\t\tdata-cy-user-list-cell-last-login>\n\t\t\t<span v-if=\"!isObfuscated\">{{ userLastLogin }}</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--fill\" data-cy-user-list-cell-manager>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'manager' + uniqueId\">\n\t\t\t\t\t{{ managerLabel }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"currentManager\"\n\t\t\t\t\tclass=\"select--fill\"\n\t\t\t\t\tdata-cy-user-list-input-manager\n\t\t\t\t\t:data-loading=\"loading.manager || undefined\"\n\t\t\t\t\t:input-id=\"'manager' + uniqueId\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loadingPossibleManagers || loading.manager\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t:filterable=\"false\"\n\t\t\t\t\t:internal-search=\"false\"\n\t\t\t\t\t:clearable=\"true\"\n\t\t\t\t\t@open=\"searchInitialUserManager\"\n\t\t\t\t\t@search=\"searchUserManager\"\n\t\t\t\t\t@update:model-value=\"updateUserManager\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ user.manager }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--actions\" data-cy-user-list-cell-actions>\n\t\t\t<UserRowActions v-if=\"visible && !isObfuscated && canEdit && !loading.all\"\n\t\t\t\t:actions=\"userActions\"\n\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t:edit=\"editing\"\n\t\t\t\t:user=\"user\"\n\t\t\t\t@update:edit=\"toggleEdit\" />\n\t\t</td>\n\t</tr>\n</template>\n\n<script>\nimport { formatFileSize, parseFileSize } from '@nextcloud/files'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\n\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport NcProgressBar from '@nextcloud/vue/components/NcProgressBar'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcTextField from '@nextcloud/vue/components/NcTextField'\n\nimport UserRowActions from './UserRowActions.vue'\n\nimport UserRowMixin from '../../mixins/UserRowMixin.js'\nimport { isObfuscated, unlimitedQuota } from '../../utils/userUtils.ts'\nimport { searchGroups, loadUserGroups, loadUserSubAdminGroups } from '../../service/groups.ts'\nimport logger from '../../logger.ts'\n\nexport default {\n\tname: 'UserRow',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcLoadingIcon,\n\t\tNcProgressBar,\n\t\tNcSelect,\n\t\tNcTextField,\n\t\tUserRowActions,\n\t},\n\n\tmixins: [\n\t\tUserRowMixin,\n\t],\n\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tvisible: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tusers: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\thasObfuscated: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\trand: Math.random().toString(36).substring(2),\n\t\t\tloadingPossibleManagers: false,\n\t\t\tpossibleManagers: [],\n\t\t\tcurrentManager: '',\n\t\t\tediting: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tgroupsDetails: false,\n\t\t\t\tsubAdminGroupsDetails: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false,\n\t\t\t\twipe: false,\n\t\t\t\tmanager: false,\n\t\t\t},\n\t\t\teditedDisplayName: this.user.displayname,\n\t\t\teditedPassword: '',\n\t\t\teditedMail: this.user.email ?? '',\n\t\t\t// Cancelable promise for search groups request\n\t\t\tpromise: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tmanagerLabel() {\n\t\t\t// TRANSLATORS This string describes a person's manager in the context of an organization\n\t\t\treturn t('settings', 'Set line manager')\n\t\t},\n\n\t\tisObfuscated() {\n\t\t\treturn isObfuscated(this.user)\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tisLoadingUser() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.wipe\n\t\t},\n\n\t\tisLoadingField() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.all\n\t\t},\n\n\t\tuniqueId() {\n\t\t\treturn encodeURIComponent(this.user.id + this.rand)\n\t\t},\n\n\t\tavailableGroups() {\n\t\t\tconst groups = (this.settings.isAdmin || this.settings.isDelegatedAdmin)\n\t\t\t\t? this.$store.getters.getSortedGroups\n\t\t\t\t: this.$store.getters.getSubAdminGroups\n\n\t\t\treturn groups.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled')\n\t\t},\n\n\t\tavailableSubAdminGroups() {\n\t\t\treturn this.availableGroups.filter(group => group.id !== 'admin')\n\t\t},\n\n\t\tuserGroupsLabels() {\n\t\t\treturn this.userGroups\n\t\t\t\t.map(group => group.name ?? group.id)\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tuserSubAdminGroupsLabels() {\n\t\t\treturn this.userSubAdminGroups\n\t\t\t\t.map(group => group.name ?? group.id)\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tusedSpace() {\n\t\t\tif (this.user.quota?.used) {\n\t\t\t\treturn t('settings', '{size} used', { size: formatFileSize(this.user.quota?.used) })\n\t\t\t}\n\t\t\treturn t('settings', '{size} used', { size: formatFileSize(0) })\n\t\t},\n\n\t\tcanEdit() {\n\t\t\treturn getCurrentUser().uid !== this.user.id || this.settings.isAdmin || this.settings.isDelegatedAdmin\n\t\t},\n\n\t\tuserQuota() {\n\t\t\tlet quota = this.user.quota?.quota\n\n\t\t\tif (quota === 'default') {\n\t\t\t\tquota = this.settings.defaultQuota\n\t\t\t\tif (quota !== 'none') {\n\t\t\t\t\t// convert to numeric value to match what the server would usually return\n\t\t\t\t\tquota = parseFileSize(quota, true)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// when the default quota is unlimited, the server returns -3 here, map it to \"none\"\n\t\t\tif (quota === 'none' || quota === -3) {\n\t\t\t\treturn t('settings', 'Unlimited')\n\t\t\t} else if (quota >= 0) {\n\t\t\t\treturn formatFileSize(quota)\n\t\t\t}\n\t\t\treturn formatFileSize(0)\n\t\t},\n\n\t\tuserActions() {\n\t\t\tconst actions = [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Delete account'),\n\t\t\t\t\taction: this.deleteUser,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Disconnect all devices and delete local data'),\n\t\t\t\t\taction: this.wipeUserDevices,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\t\ttext: this.user.enabled ? t('settings', 'Disable account') : t('settings', 'Enable account'),\n\t\t\t\t\taction: this.enableDisableUser,\n\t\t\t\t},\n\t\t\t]\n\t\t\tif (this.user.email !== null && this.user.email !== '') {\n\t\t\t\tactions.push({\n\t\t\t\t\ticon: 'icon-mail',\n\t\t\t\t\ttext: t('settings', 'Resend welcome email'),\n\t\t\t\t\taction: this.sendWelcomeMail,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn actions.concat(this.externalActions)\n\t\t},\n\n\t\t// mapping saved values to objects\n\t\teditedUserQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && parseFileSize(this.settings.defaultQuota, true) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tavailableLanguages() {\n\t\t\treturn this.languages[0].languages.concat(this.languages[1].languages)\n\t\t},\n\t},\n\tasync beforeMount() {\n\t\tif (this.user.manager) {\n\t\t\tawait this.initManager(this.user.manager)\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync wipeUserDevices() {\n\t\t\tconst userid = this.user.id\n\t\t\tawait confirmPassword()\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.', { userid }),\n\t\t\t\tt('settings', 'Remote wipe of devices'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Wipe {userid}\\'s devices', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.wipe = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\tthis.$store.dispatch('wipeUserDevices', userid)\n\t\t\t\t\t\t\t.then(() => showSuccess(t('settings', 'Wiped {userid}\\'s devices', { userid })), { timeout: 2000 })\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tthis.loading.wipe = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tfilterManagers(managers) {\n\t\t\treturn managers.filter((manager) => manager.id !== this.user.id)\n\t\t},\n\n\t\tasync initManager(userId) {\n\t\t\tawait this.$store.dispatch('getUser', userId).then(response => {\n\t\t\t\tthis.currentManager = response?.data.ocs.data\n\t\t\t})\n\t\t},\n\n\t\tasync searchInitialUserManager() {\n\t\t\tthis.loadingPossibleManagers = true\n\t\t\tawait this.searchUserManager()\n\t\t\tthis.loadingPossibleManagers = false\n\t\t},\n\n\t\tasync loadGroupsDetails() {\n\t\t\tthis.loading.groups = true\n\t\t\tthis.loading.groupsDetails = true\n\t\t\ttry {\n\t\t\t\tconst groups = await loadUserGroups({ userId: this.user.id })\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t\tthis.selectedGroups = this.selectedGroups.map(selectedGroup => groups.find(group => group.id === selectedGroup.id) ?? selectedGroup)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to load groups with details'), { error })\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t\tthis.loading.groupsDetails = false\n\t\t},\n\n\t\tasync loadSubAdminGroupsDetails() {\n\t\t\tthis.loading.subadmins = true\n\t\t\tthis.loading.subAdminGroupsDetails = true\n\t\t\ttry {\n\t\t\t\tconst groups = await loadUserSubAdminGroups({ userId: this.user.id })\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t\tthis.selectedSubAdminGroups = this.selectedSubAdminGroups.map(selectedGroup => groups.find(group => group.id === selectedGroup.id) ?? selectedGroup)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to load sub admin groups with details'), { error })\n\t\t\t}\n\t\t\tthis.loading.subadmins = false\n\t\t\tthis.loading.subAdminGroupsDetails = false\n\t\t},\n\n\t\tasync searchGroups(query, toggleLoading) {\n\t\t\tif (query === '') {\n\t\t\t\treturn // Prevent unexpected search behaviour e.g. on option:created\n\t\t\t}\n\t\t\tif (this.promise) {\n\t\t\t\tthis.promise.cancel()\n\t\t\t}\n\t\t\ttoggleLoading(true)\n\t\t\ttry {\n\t\t\t\tthis.promise = await searchGroups({\n\t\t\t\t\tsearch: query,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 25,\n\t\t\t\t})\n\t\t\t\tconst groups = await this.promise\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to search groups'), { error })\n\t\t\t}\n\t\t\tthis.promise = null\n\t\t\ttoggleLoading(false)\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch('searchUsers', { offset: 0, limit: 10, search: query }).then(response => {\n\t\t\t\tconst users = response?.data ? this.filterManagers(Object.values(response?.data.ocs.data.users)) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tasync updateUserManager() {\n\t\t\tthis.loading.manager = true\n\n\t\t\t// Store the current manager before making changes\n\t\t\tconst previousManager = this.user.manager\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'manager',\n\t\t\t\t\tvalue: this.currentManager ? this.currentManager.id : '',\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\t// TRANSLATORS This string describes a line manager in the context of an organization\n\t\t\t\tshowError(t('settings', 'Failed to update line manager'))\n\t\t\t\tlogger.error('Failed to update manager:', { error })\n\n\t\t\t\t// Revert to the previous manager in the UI on error\n\t\t\t\tthis.currentManager = previousManager\n\t\t\t} finally {\n\t\t\t\tthis.loading.manager = false\n\t\t\t}\n\t\t},\n\n\t\tasync deleteUser() {\n\t\t\tconst userid = this.user.id\n\t\t\tawait confirmPassword()\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'Fully delete {userid}\\'s account including all their personal files, app data, etc.', { userid }),\n\t\t\t\tt('settings', 'Account deletion'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Delete {userid}\\'s account', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.delete = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\treturn this.$store.dispatch('deleteUser', userid)\n\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true\n\t\t\tthis.loading.all = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst enabled = !this.user.enabled\n\t\t\treturn this.$store.dispatch('enableDisableUser', {\n\t\t\t\tuserid,\n\t\t\t\tenabled,\n\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t */\n\t\tasync updateDisplayName() {\n\t\t\tthis.loading.displayName = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'displayname',\n\t\t\t\t\tvalue: this.editedDisplayName,\n\t\t\t\t})\n\n\t\t\t\tif (this.editedDisplayName === this.user.displayname) {\n\t\t\t\t\tshowSuccess(t('settings', 'Display name was successfully changed'))\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.loading.displayName = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t */\n\t\tasync updatePassword() {\n\t\t\tthis.loading.password = true\n\t\t\tif (this.editedPassword.length === 0) {\n\t\t\t\tshowError(t('settings', \"Password can't be empty\"))\n\t\t\t\tthis.loading.password = false\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\t\tkey: 'password',\n\t\t\t\t\t\tvalue: this.editedPassword,\n\t\t\t\t\t})\n\t\t\t\t\tthis.editedPassword = ''\n\t\t\t\t\tshowSuccess(t('settings', 'Password was successfully changed'))\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loading.password = false\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t */\n\t\tasync updateEmail() {\n\t\t\tthis.loading.mailAddress = true\n\t\t\tif (this.editedMail === '') {\n\t\t\t\tshowError(t('settings', \"Email can't be empty\"))\n\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\tthis.editedMail = this.user.email\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\t\tkey: 'email',\n\t\t\t\t\t\tvalue: this.editedMail,\n\t\t\t\t\t})\n\n\t\t\t\t\tif (this.editedMail === this.user.email) {\n\t\t\t\t\t\tshowSuccess(t('settings', 'Email was successfully changed'))\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Create a new group and add user to it\n\t\t *\n\t\t * @param {string} gid Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tconst userid = this.user.id\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t\tthis.userGroups.push({ id: gid, name: gid })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to create group'), { error })\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserGroup(group) {\n\t\t\tif (group.isCreating) {\n\t\t\t\t// This is NcSelect's internal value for a new inputted group name\n\t\t\t\t// Ignore\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\tif (group.canAdd === false) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t\tthis.userGroups.push(group)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserGroup(group) {\n\t\t\tif (group.canRemove === false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserGroup', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.userGroups = this.userGroups.filter(group => group.id !== gid)\n\t\t\t\tthis.loading.groups = false\n\t\t\t\t// remove user from current list if current list is the removed group\n\t\t\t\tif (this.$route.params.selectedGroup === gid) {\n\t\t\t\t\tthis.$store.commit('deleteUser', userid)\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tthis.loading.groups = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.userSubAdminGroups.push(group)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\tthis.loading.subadmins = false\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.userSubAdminGroups = this.userSubAdminGroups.filter(group => group.id !== gid)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.subadmins = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {string}\n\t\t */\n\t\tasync setUserQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.loading.quota = true\n\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota\n\n\t\t\ttry {\n\t\t\t\t// If human readable format, convert to raw float format\n\t\t\t\t// Else just send the raw string\n\t\t\t\tconst value = (parseFileSize(quota, true) || quota).toString()\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'quota',\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.quota = false\n\t\t\t}\n\t\t\treturn quota\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = parseFileSize(quota, true)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t} else {\n\t\t\t\t// unify format output\n\t\t\t\tquota = formatFileSize(parseFileSize(quota, true))\n\t\t\t\treturn { id: quota, label: quota }\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch language set request\n\t\t *\n\t\t * @param {object} lang language object {code:'en', name:'English'}\n\t\t * @return {object}\n\t\t */\n\t\tasync setUserLanguage(lang) {\n\t\t\tthis.loading.languages = true\n\t\t\t// ensure we only send the preset id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'language',\n\t\t\t\t\tvalue: lang.code,\n\t\t\t\t})\n\t\t\t\tthis.loading.languages = false\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\treturn lang\n\t\t},\n\n\t\t/**\n\t\t * Dispatch new welcome mail request\n\t\t */\n\t\tsendWelcomeMail() {\n\t\t\tthis.loading.all = true\n\t\t\tthis.$store.dispatch('sendWelcomeMail', this.user.id)\n\t\t\t\t.then(() => showSuccess(t('settings', 'Welcome mail sent!'), { timeout: 2000 }))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\tasync toggleEdit() {\n\t\t\tthis.editing = !this.editing\n\t\t\tif (this.editing) {\n\t\t\t\tawait this.$nextTick()\n\t\t\t\tthis.$refs.displayNameField?.$refs?.inputField?.$refs?.input?.focus()\n\t\t\t\tthis.loadGroupsDetails()\n\t\t\t\tthis.loadSubAdminGroupsDetails()\n\t\t\t}\n\t\t\tif (this.editedDisplayName !== this.user.displayname) {\n\t\t\t\tthis.editedDisplayName = this.user.displayname\n\t\t\t} else if (this.editedMail !== this.user.email) {\n\t\t\t\tthis.editedMail = this.user.email ?? ''\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use './shared/styles';\n\n.user-list__row {\n\t@include styles.row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include styles.cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=47722426&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=47722426&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=47722426&scoped=true\"\nimport script from \"./UserRow.vue?vue&type=script&lang=js\"\nexport * from \"./UserRow.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserRow.vue?vue&type=style&index=0&id=47722426&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47722426\",\n null\n \n)\n\nexport default component.exports","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Fragment>\n\t\t<NewUserDialog v-if=\"showConfig.showNewUserForm\"\n\t\t\t:loading=\"loading\"\n\t\t\t:new-user=\"newUser\"\n\t\t\t:quota-options=\"quotaOptions\"\n\t\t\t@reset=\"resetForm\"\n\t\t\t@closing=\"closeDialog\" />\n\n\t\t<NcEmptyContent v-if=\"filteredUsers.length === 0\"\n\t\t\tclass=\"empty\"\n\t\t\t:name=\"isInitialLoad && loading.users ? null : t('settings', 'No accounts')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon v-if=\"isInitialLoad && loading.users\"\n\t\t\t\t\t:name=\"t('settings', 'Loading accounts …')\"\n\t\t\t\t\t:size=\"64\" />\n\t\t\t\t<NcIconSvgWrapper v-else :path=\"mdiAccountGroup\" :size=\"64\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\n\t\t<VirtualList v-else\n\t\t\t:data-component=\"UserRow\"\n\t\t\t:data-sources=\"filteredUsers\"\n\t\t\tdata-key=\"id\"\n\t\t\tdata-cy-user-list\n\t\t\t:item-height=\"rowHeight\"\n\t\t\t:style=\"style\"\n\t\t\t:extra-props=\"{\n\t\t\t\tusers,\n\t\t\t\tsettings,\n\t\t\t\thasObfuscated,\n\t\t\t\tquotaOptions,\n\t\t\t\tlanguages,\n\t\t\t\texternalActions,\n\t\t\t}\"\n\t\t\t@scroll-end=\"handleScrollEnd\">\n\t\t\t<template #before>\n\t\t\t\t<caption class=\"hidden-visually\">\n\t\t\t\t\t{{ t('settings', 'List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.') }}\n\t\t\t\t</caption>\n\t\t\t</template>\n\n\t\t\t<template #header>\n\t\t\t\t<UserListHeader :has-obfuscated=\"hasObfuscated\" />\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<UserListFooter :loading=\"loading.users\"\n\t\t\t\t\t:filtered-users=\"filteredUsers\" />\n\t\t\t</template>\n\t\t</VirtualList>\n\t</Fragment>\n</template>\n\n<script>\nimport { mdiAccountGroup } from '@mdi/js'\nimport { showError } from '@nextcloud/dialogs'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { Fragment } from 'vue-frag'\n\nimport Vue from 'vue'\nimport NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'\nimport NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\n\nimport VirtualList from './Users/VirtualList.vue'\nimport NewUserDialog from './Users/NewUserDialog.vue'\nimport UserListFooter from './Users/UserListFooter.vue'\nimport UserListHeader from './Users/UserListHeader.vue'\nimport UserRow from './Users/UserRow.vue'\n\nimport { defaultQuota, isObfuscated, unlimitedQuota } from '../utils/userUtils.ts'\nimport logger from '../logger.ts'\n\nconst newUser = Object.freeze({\n\tid: '',\n\tdisplayName: '',\n\tpassword: '',\n\tmailAddress: '',\n\tgroups: [],\n\tmanager: '',\n\tsubAdminsGroups: [],\n\tquota: defaultQuota,\n\tlanguage: {\n\t\tcode: 'en',\n\t\tname: t('settings', 'Default language'),\n\t},\n})\n\nexport default {\n\tname: 'UserList',\n\n\tcomponents: {\n\t\tFragment,\n\t\tNcEmptyContent,\n\t\tNcIconSvgWrapper,\n\t\tNcLoadingIcon,\n\t\tNewUserDialog,\n\t\tUserListFooter,\n\t\tUserListHeader,\n\t\tVirtualList,\n\t},\n\n\tprops: {\n\t\tselectedGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tsetup() {\n\t\t// non reactive properties\n\t\treturn {\n\t\t\tmdiAccountGroup,\n\t\t\trowHeight: 55,\n\n\t\t\tUserRow,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tgroups: false,\n\t\t\t\tusers: false,\n\t\t\t},\n\t\t\tnewUser: { ...newUser },\n\t\t\tisInitialLoad: true,\n\t\t\tsearchQuery: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t'--row-height': `${this.rowHeight}px`,\n\t\t\t}\n\t\t},\n\n\t\thasObfuscated() {\n\t\t\treturn this.filteredUsers.some(user => isObfuscated(user))\n\t\t},\n\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers\n\t\t},\n\n\t\tfilteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\treturn this.users.filter(user => user.enabled === false)\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled !== false)\n\t\t},\n\n\t\tgroups() {\n\t\t\treturn this.$store.getters.getSortedGroups\n\t\t\t\t.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled')\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({\n\t\t\t\tid: cur,\n\t\t\t\tlabel: cur,\n\t\t\t}), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\tquotaPreset.unshift(defaultQuota)\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset\n\t\t},\n\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit\n\t\t},\n\n\t\tdisabledUsersOffset() {\n\t\t\treturn this.$store.getters.getDisabledUsersOffset\n\t\t},\n\n\t\tdisabledUsersLimit() {\n\t\t\treturn this.$store.getters.getDisabledUsersLimit\n\t\t},\n\n\t\tusersCount() {\n\t\t\treturn this.users.length\n\t\t},\n\n\t\t/* LANGUAGES */\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t]\n\t\t},\n\t},\n\n\twatch: {\n\t\t// watch url change and group select\n\t\tasync selectedGroup(val) {\n\t\t\tthis.isInitialLoad = true\n\t\t\t// if selected is the disabled group but it's empty\n\t\t\tawait this.redirectIfDisabled()\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t\tthis.setNewUserDefaultGroup(val)\n\t\t},\n\n\t\tfilteredUsers(filteredUsers) {\n\t\t\tlogger.debug(`${filteredUsers.length} filtered user(s)`)\n\t\t},\n\t},\n\n\tasync created() {\n\t\tawait this.loadUsers()\n\t},\n\n\tasync mounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'))\n\t\t}\n\n\t\t/**\n\t\t * Reset and init new user form\n\t\t */\n\t\tthis.resetForm()\n\n\t\t/**\n\t\t * Register search\n\t\t */\n\t\tsubscribe('nextcloud:unified-search.search', this.search)\n\t\tsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\n\t\t/**\n\t\t * If disabled group but empty, redirect\n\t\t */\n\t\tawait this.redirectIfDisabled()\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('nextcloud:unified-search.search', this.search)\n\t\tunsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\t},\n\n\tmethods: {\n\t\tasync handleScrollEnd() {\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tasync loadUsers() {\n\t\t\tthis.loading.users = true\n\t\t\ttry {\n\t\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\t\tawait this.$store.dispatch('getDisabledUsers', {\n\t\t\t\t\t\toffset: this.disabledUsersOffset,\n\t\t\t\t\t\tlimit: this.disabledUsersLimit,\n\t\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t\t})\n\t\t\t\t} else if (this.selectedGroup === '__nc_internal_recent') {\n\t\t\t\t\tawait this.$store.dispatch('getRecentUsers', {\n\t\t\t\t\t\toffset: this.usersOffset,\n\t\t\t\t\t\tlimit: this.usersLimit,\n\t\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tawait this.$store.dispatch('getUsers', {\n\t\t\t\t\t\toffset: this.usersOffset,\n\t\t\t\t\t\tlimit: this.usersLimit,\n\t\t\t\t\t\tgroup: this.selectedGroup,\n\t\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tlogger.debug(`${this.users.length} total user(s) loaded`)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Failed to load accounts', { error })\n\t\t\t\tshowError('Failed to load accounts')\n\t\t\t}\n\t\t\tthis.loading.users = false\n\t\t\tthis.isInitialLoad = false\n\t\t},\n\n\t\tcloseDialog() {\n\t\t\tthis.$store.commit('setShowConfig', {\n\t\t\t\tkey: 'showNewUserForm',\n\t\t\t\tvalue: false,\n\t\t\t})\n\t\t},\n\n\t\tasync search({ query }) {\n\t\t\tthis.searchQuery = query\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tresetSearch() {\n\t\t\tthis.search({ query: '' })\n\t\t},\n\n\t\tresetForm() {\n\t\t\t// revert form to original state\n\t\t\tthis.newUser = Object.assign({}, newUser)\n\n\t\t\t/**\n\t\t\t * Init default language from server data. The use of this.settings\n\t\t\t * requires a computed variable, which break the v-model binding of the form,\n\t\t\t * this is a much easier solution than getter and setter on a computed var\n\t\t\t */\n\t\t\tif (this.settings.defaultLanguage) {\n\t\t\t\tVue.set(this.newUser.language, 'code', this.settings.defaultLanguage)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * In case the user directly loaded the user list within a group\n\t\t\t * the watch won't be triggered. We need to initialize it.\n\t\t\t */\n\t\t\tthis.setNewUserDefaultGroup(this.selectedGroup)\n\n\t\t\tthis.loading.all = false\n\t\t},\n\n\t\tsetNewUserDefaultGroup(value) {\n\t\t\t// Is no value set, but user is a line manager we set their group as this is a requirement for line manager\n\t\t\tif (!value && !this.settings.isAdmin && !this.settings.isDelegatedAdmin) {\n\t\t\t\tconst groups = this.$store.getters.getSubAdminGroups\n\t\t\t\t// if there are multiple groups we do not know which to add,\n\t\t\t\t// so we cannot make the managers life easier by preselecting it.\n\t\t\t\tif (groups.length === 1) {\n\t\t\t\t\tthis.newUser.groups = [...groups]\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\t// setting new account default group to the current selected one\n\t\t\t\tconst currentGroup = this.groups.find(group => group.id === value)\n\t\t\t\tif (currentGroup) {\n\t\t\t\t\tthis.newUser.groups = [currentGroup]\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\t// fallback, empty selected group\n\t\t\tthis.newUser.groups = []\n\t\t},\n\n\t\t/**\n\t\t * If the selected group is the disabled group but the count is 0\n\t\t * redirect to the all users page.\n\t\t * we only check for 0 because we don't have the count on ldap\n\t\t * and we therefore set the usercount to -1 in this specific case\n\t\t */\n\t\tasync redirectIfDisabled() {\n\t\t\tconst allGroups = this.$store.getters.getGroups\n\t\t\tif (this.selectedGroup === 'disabled'\n\t\t\t\t\t\t&& allGroups.findIndex(group => group.id === 'disabled' && group.usercount === 0) > -1) {\n\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\tthis.$router.push({ name: 'users' })\n\t\t\t\tawait this.loadUsers()\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use './Users/shared/styles' as *;\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=1e8fee5a&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=1e8fee5a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=1e8fee5a&scoped=true\"\nimport script from \"./UserList.vue?vue&type=script&lang=js\"\nexport * from \"./UserList.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=1e8fee5a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e8fee5a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showConfig.showNewUserForm)?_c('NewUserDialog',{attrs:{\"loading\":_vm.loading,\"new-user\":_vm.newUser,\"quota-options\":_vm.quotaOptions},on:{\"reset\":_vm.resetForm,\"closing\":_vm.closeDialog}}):_vm._e(),_vm._v(\" \"),(_vm.filteredUsers.length === 0)?_c('NcEmptyContent',{staticClass:\"empty\",attrs:{\"name\":_vm.isInitialLoad && _vm.loading.users ? null : _vm.t('settings', 'No accounts')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isInitialLoad && _vm.loading.users)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading accounts …'),\"size\":64}}):_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiAccountGroup,\"size\":64}})]},proxy:true}],null,false,226056511)}):_c('VirtualList',{style:(_vm.style),attrs:{\"data-component\":_vm.UserRow,\"data-sources\":_vm.filteredUsers,\"data-key\":\"id\",\"data-cy-user-list\":\"\",\"item-height\":_vm.rowHeight,\"extra-props\":{\n\t\t\tusers: _vm.users,\n\t\t\tsettings: _vm.settings,\n\t\t\thasObfuscated: _vm.hasObfuscated,\n\t\t\tquotaOptions: _vm.quotaOptions,\n\t\t\tlanguages: _vm.languages,\n\t\t\texternalActions: _vm.externalActions,\n\t\t}},on:{\"scroll-end\":_vm.handleScrollEnd},scopedSlots:_vm._u([{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.'))+\"\\n\\t\\t\\t\")])]},proxy:true},{key:\"header\",fn:function(){return [_c('UserListHeader',{attrs:{\"has-obfuscated\":_vm.hasObfuscated}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('UserListFooter',{attrs:{\"loading\":_vm.loading.users,\"filtered-users\":_vm.filteredUsers}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagement.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagement.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcAppContent :page-heading=\"pageHeading\">\n\t\t<UserList :selected-group=\"selectedGroupDecoded\"\n\t\t\t:external-actions=\"externalActions\" />\n\t</NcAppContent>\n</template>\n\n<script>\nimport { translate as t } from '@nextcloud/l10n'\nimport { emit } from '@nextcloud/event-bus'\nimport { defineComponent } from 'vue'\n\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\nimport UserList from '../components/UserList.vue'\n\nexport default defineComponent({\n\tname: 'UserManagement',\n\n\tcomponents: {\n\t\tNcAppContent,\n\t\tUserList,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// temporary value used for multiselect change\n\t\t\texternalActions: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpageHeading() {\n\t\t\tif (this.selectedGroupDecoded === null) {\n\t\t\t\treturn t('settings', 'All accounts')\n\t\t\t}\n\t\t\tconst matchHeading = {\n\t\t\t\tadmin: t('settings', 'Admins'),\n\t\t\t\tdisabled: t('settings', 'Disabled accounts'),\n\t\t\t}\n\t\t\treturn matchHeading[this.selectedGroupDecoded] ?? t('settings', 'Account group: {group}', { group: this.selectedGroupDecoded })\n\t\t},\n\n\t\tselectedGroup() {\n\t\t\treturn this.$route.params.selectedGroup\n\t\t},\n\n\t\tselectedGroupDecoded() {\n\t\t\treturn this.selectedGroup ? decodeURIComponent(this.selectedGroup) : null\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength')\n\t},\n\n\tcreated() {\n\t\t// init the OCA.Settings.UserList object\n\t\twindow.OCA = window.OCA ?? {}\n\t\twindow.OCA.Settings = window.OCA.Settings ?? {}\n\t\twindow.OCA.Settings.UserList = window.OCA.Settings.UserList ?? {}\n\t\t// and add the registerAction method\n\t\twindow.OCA.Settings.UserList.registerAction = this.registerAction\n\t\temit('settings:user-management:loaded')\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t/**\n\t\t * Register a new action for the user menu\n\t\t *\n\t\t * @param {string} icon the icon class\n\t\t * @param {string} text the text to display\n\t\t * @param {Function} action the function to run\n\t\t * @param {(user: Record<string, unknown>) => boolean} enabled return true if the action is enabled for the user\n\t\t * @return {Array}\n\t\t */\n\t\tregisterAction(icon, text, action, enabled) {\n\t\t\tthis.externalActions.push({\n\t\t\t\ticon,\n\t\t\t\ttext,\n\t\t\t\taction,\n\t\t\t\tenabled,\n\t\t\t})\n\t\t\treturn this.externalActions\n\t\t},\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagement.vue?vue&type=template&id=253f9eec&scoped=true\"\nimport script from \"./UserManagement.vue?vue&type=script&lang=js\"\nexport * from \"./UserManagement.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"253f9eec\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-9e46b7b2] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.team-resources__header[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-team[data-v-9e46b7b2] {\n border-radius: var(--border-radius-rounded);\n border: 2px solid var(--color-border-dark);\n margin-bottom: 6px;\n}\n.related-team__open[data-v-9e46b7b2] {\n border-color: var(--color-primary-element);\n}\n.related-team__header[data-v-9e46b7b2] {\n padding: 6px;\n padding-right: 24px;\n display: flex;\n gap: 12px;\n}\n.related-team__name[data-v-9e46b7b2] {\n display: flex;\n flex-grow: 1;\n align-items: center;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n margin: 0;\n}\n.related-team .related-team-provider[data-v-9e46b7b2] {\n padding: 6px 12px;\n}\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 3px;\n}\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n height: var(--default-clickable-area);\n align-items: center;\n border-radius: var(--border-radius-large);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\n background-color: var(--color-background-hover);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\n background-color: var(--color-background-hover);\n outline: 2px solid var(--color-primary-element);\n}\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\n border-radius: var(--border-radius-pill);\n overflow: hidden;\n width: 32px;\n height: 32px;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-77c38062] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resource[data-v-77c38062] {\n display: flex;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.resource__button[data-v-77c38062] {\n width: 100% !important;\n justify-content: flex-start !important;\n padding: 0 !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper {\n justify-content: flex-start !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\n font-weight: normal !important;\n margin-left: 2px !important;\n}\n.resource__icon[data-v-77c38062] {\n width: 32px;\n height: 32px;\n background-color: var(--color-text-maxcontrast);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.resource__icon img[data-v-77c38062] {\n width: 16px;\n height: 16px;\n filter: var(--background-invert-if-dark);\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-badd46a9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.related-resources__header h5[data-v-badd46a9] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-resources__header p[data-v-badd46a9] {\n color: var(--color-text-maxcontrast);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,2CAA2C;EAC3C,0CAA0C;EAC1C,kBAAkB;AACpB;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,YAAY;EACZ,mBAAmB;EACnB,aAAa;EACb,SAAS;AACX;AACA;EACE,aAAa;EACb,YAAY;EACZ,mBAAmB;EACnB,SAAS;EACT,iBAAiB;EACjB,iBAAiB;EACjB,SAAS;AACX;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,SAAS;EACT,iBAAiB;EACjB,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,SAAS;EACT,qCAAqC;EACrC,mBAAmB;EACnB,yCAAyC;AAC3C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;EAC/C,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB;AACA;EACE,wCAAwC;EACxC,gBAAgB;EAChB,WAAW;EACX,YAAY;AACd,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,qCAAqC;AACvC;AACA;EACE,sBAAsB;EACtB,sCAAsC;EACtC,qBAAqB;AACvB;AACA;EACE,sCAAsC;AACxC;AACA;EACE,8BAA8B;EAC9B,2BAA2B;AAC7B;AACA;EACE,WAAW;EACX,YAAY;EACZ,+CAA+C;EAC/C,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,YAAY;EACZ,wCAAwC;AAC1C,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,oCAAoC;AACtC\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-9e46b7b2] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.team-resources__header[data-v-9e46b7b2] {\\n font-weight: bold;\\n margin-bottom: 6px;\\n}\\n.related-team[data-v-9e46b7b2] {\\n border-radius: var(--border-radius-rounded);\\n border: 2px solid var(--color-border-dark);\\n margin-bottom: 6px;\\n}\\n.related-team__open[data-v-9e46b7b2] {\\n border-color: var(--color-primary-element);\\n}\\n.related-team__header[data-v-9e46b7b2] {\\n padding: 6px;\\n padding-right: 24px;\\n display: flex;\\n gap: 12px;\\n}\\n.related-team__name[data-v-9e46b7b2] {\\n display: flex;\\n flex-grow: 1;\\n align-items: center;\\n gap: 12px;\\n padding: 6px 12px;\\n font-weight: bold;\\n margin: 0;\\n}\\n.related-team .related-team-provider[data-v-9e46b7b2] {\\n padding: 6px 12px;\\n}\\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\\n font-weight: bold;\\n margin-bottom: 3px;\\n}\\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\\n display: flex;\\n gap: 12px;\\n padding: 6px 12px;\\n font-weight: bold;\\n}\\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\\n display: flex;\\n gap: 12px;\\n height: var(--default-clickable-area);\\n align-items: center;\\n border-radius: var(--border-radius-large);\\n}\\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\\n background-color: var(--color-background-hover);\\n outline: 2px solid var(--color-primary-element);\\n}\\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n text-align: center;\\n}\\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\\n border-radius: var(--border-radius-pill);\\n overflow: hidden;\\n width: 32px;\\n height: 32px;\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-77c38062] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.resource[data-v-77c38062] {\\n display: flex;\\n align-items: center;\\n height: var(--default-clickable-area);\\n}\\n.resource__button[data-v-77c38062] {\\n width: 100% !important;\\n justify-content: flex-start !important;\\n padding: 0 !important;\\n}\\n.resource__button[data-v-77c38062] .button-vue__wrapper {\\n justify-content: flex-start !important;\\n}\\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\\n font-weight: normal !important;\\n margin-left: 2px !important;\\n}\\n.resource__icon[data-v-77c38062] {\\n width: 32px;\\n height: 32px;\\n background-color: var(--color-text-maxcontrast);\\n border-radius: 50%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.resource__icon img[data-v-77c38062] {\\n width: 16px;\\n height: 16px;\\n filter: var(--background-invert-if-dark);\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-badd46a9] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.related-resources__header h5[data-v-badd46a9] {\\n font-weight: bold;\\n margin-bottom: 6px;\\n}\\n.related-resources__header p[data-v-badd46a9] {\\n color: var(--color-text-maxcontrast);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0b3c495c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/* 'New' button */\n.app-navigation-new[data-v-0b3c495c] {\n display: block;\n padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.app-navigation-new button[data-v-0b3c495c] {\n width: 100%;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA,iBAAiB;AACjB;EACE,cAAc;EACd,oDAAoD;AACtD;AACA;EACE,WAAW;AACb\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-0b3c495c] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/* 'New' button */\\n.app-navigation-new[data-v-0b3c495c] {\\n display: block;\\n padding: calc(var(--default-grid-baseline, 4px) * 2);\\n}\\n.app-navigation-new button[data-v-0b3c495c] {\\n width: 100%;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-938dadb1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\n display: block;\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n}\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\n width: 14px;\n height: 14px;\n cursor: pointer;\n transition: background 100ms ease-in-out;\n border: none;\n border-radius: 50%;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,+DAA+D;AACjE;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,wCAAwC;EACxC,YAAY;EACZ,kBAAkB;AACpB\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-938dadb1] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\\n display: block;\\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\\n}\\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\\n width: 14px;\\n height: 14px;\\n cursor: pointer;\\n transition: background 100ms ease-in-out;\\n border: none;\\n border-radius: 50%;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-8ddd08c0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-8ddd08c0]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-8ddd08c0] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-8ddd08c0] {\n opacity: 1 !important;\n}\n.action-radio[data-v-8ddd08c0] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* checkbox/radio fixes */\n}\n.action-radio__radio[data-v-8ddd08c0] {\n position: absolute;\n inset-inline-start: 0 !important;\n z-index: -1;\n opacity: 0;\n}\n.action-radio__label[data-v-8ddd08c0] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 !important;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\n}\n.action-radio__label[data-v-8ddd08c0]::before {\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\n}\n.action-radio--disabled[data-v-8ddd08c0],\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\n cursor: pointer;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,yBAAyB;AAC3B;AACA;EACE,kBAAkB;EAClB,gCAAgC;EAChC,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,qBAAqB;EACrB,+EAA+E;AACjF;AACA;EACE,mEAAmE;AACrE;AACA;;EAEE,eAAe;AACjB\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-8ddd08c0] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\\n border-radius: 6px;\\n padding: 0;\\n}\\nli.action[data-v-8ddd08c0]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-8ddd08c0] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-8ddd08c0] {\\n opacity: 1 !important;\\n}\\n.action-radio[data-v-8ddd08c0] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n line-height: var(--default-clickable-area);\\n /* checkbox/radio fixes */\\n}\\n.action-radio__radio[data-v-8ddd08c0] {\\n position: absolute;\\n inset-inline-start: 0 !important;\\n z-index: -1;\\n opacity: 0;\\n}\\n.action-radio__label[data-v-8ddd08c0] {\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: 0 !important;\\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\\n}\\n.action-radio__label[data-v-8ddd08c0]::before {\\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\\n}\\n.action-radio--disabled[data-v-8ddd08c0],\\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\\n cursor: pointer;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { CancelablePromise } from 'cancelable-promise';\nconst formatGroup = (group) => ({\n id: group.id,\n name: group.displayname,\n usercount: group.usercount,\n disabled: group.disabled,\n canAdd: group.canAdd,\n canRemove: group.canRemove,\n});\n/**\n * Search groups\n *\n * @param {object} options Options\n * @param {string} options.search Search query\n * @param {number} options.offset Offset\n * @param {number} options.limit Limit\n */\nexport const searchGroups = ({ search, offset, limit }) => {\n const controller = new AbortController();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const { data } = await axios.get(generateOcsUrl('/cloud/groups/details?search={search}&offset={offset}&limit={limit}', { search, offset, limit }), {\n signal: controller.signal,\n });\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n resolve(formattedGroups);\n }\n catch (error) {\n reject(error);\n }\n });\n};\n/**\n * Load user groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/groups/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n/**\n * Load user subadmin groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserSubAdminGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/subadmins/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-d278a327] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#app-settings[data-v-d278a327] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-d278a327] {\n box-sizing: border-box;\n margin: 0 3px 3px 3px;\n}\n#app-settings__header .settings-button[data-v-d278a327] {\n display: flex;\n flex: 1 1 0;\n height: var(--default-clickable-area);\n width: 100%;\n padding: 0;\n margin: 0;\n background-color: transparent;\n box-shadow: none;\n border: 0;\n border-radius: var(--body-container-radius);\n text-align: start;\n font-weight: normal;\n font-size: 100%;\n color: var(--color-main-text);\n padding-inline-end: 14px;\n line-height: var(--default-clickable-area);\n}\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__icon[data-v-d278a327] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n min-width: var(--default-clickable-area);\n}\n#app-settings__header .settings-button__label[data-v-d278a327] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-d278a327] {\n display: block;\n padding: 10px;\n /* prevent scrolled contents from stopping too early */\n margin-bottom: -3px;\n /* restrict height of settings and make scrollable */\n max-height: 300px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.slide-up-leave-active[data-v-d278a327],\n.slide-up-enter-active[data-v-d278a327] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-d278a327],\n.slide-up-leave-to[data-v-d278a327] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,WAAW;EACX,qCAAqC;EACrC,WAAW;EACX,UAAU;EACV,SAAS;EACT,6BAA6B;EAC7B,gBAAgB;EAChB,SAAS;EACT,2CAA2C;EAC3C,iBAAiB;EACjB,mBAAmB;EACnB,eAAe;EACf,6BAA6B;EAC7B,wBAAwB;EACxB,0CAA0C;AAC5C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,wCAAwC;AAC1C;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,aAAa;EACb,sDAAsD;EACtD,mBAAmB;EACnB,oDAAoD;EACpD,iBAAiB;EACjB,gBAAgB;EAChB,sBAAsB;AACxB;AACA;;EAEE,0CAA0C;EAC1C,wCAAwC;EACxC,6BAA6B;AAC/B;AACA;;EAEE,wBAAwB;EACxB,0BAA0B;AAC5B\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-d278a327] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n#app-settings[data-v-d278a327] {\\n margin-top: auto;\\n padding: 3px;\\n}\\n#app-settings__header[data-v-d278a327] {\\n box-sizing: border-box;\\n margin: 0 3px 3px 3px;\\n}\\n#app-settings__header .settings-button[data-v-d278a327] {\\n display: flex;\\n flex: 1 1 0;\\n height: var(--default-clickable-area);\\n width: 100%;\\n padding: 0;\\n margin: 0;\\n background-color: transparent;\\n box-shadow: none;\\n border: 0;\\n border-radius: var(--body-container-radius);\\n text-align: start;\\n font-weight: normal;\\n font-size: 100%;\\n color: var(--color-main-text);\\n padding-inline-end: 14px;\\n line-height: var(--default-clickable-area);\\n}\\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\\n background-color: var(--color-background-hover);\\n}\\n#app-settings__header .settings-button__icon[data-v-d278a327] {\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n min-width: var(--default-clickable-area);\\n}\\n#app-settings__header .settings-button__label[data-v-d278a327] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n#app-settings__content[data-v-d278a327] {\\n display: block;\\n padding: 10px;\\n /* prevent scrolled contents from stopping too early */\\n margin-bottom: -3px;\\n /* restrict height of settings and make scrollable */\\n max-height: 300px;\\n overflow-y: auto;\\n box-sizing: border-box;\\n}\\n.slide-up-leave-active[data-v-d278a327],\\n.slide-up-enter-active[data-v-d278a327] {\\n transition-duration: var(--animation-slow);\\n transition-property: max-height, padding;\\n overflow-y: hidden !important;\\n}\\n.slide-up-enter[data-v-d278a327],\\n.slide-up-leave-to[data-v-d278a327] {\\n max-height: 0 !important;\\n padding: 0 10px !important;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.account-management__navigation[data-v-edf83404] .app-navigation__body{will-change:scroll-position}.account-management__system-list[data-v-edf83404]{height:auto !important;overflow:visible !important}.account-management__group-list[data-v-edf83404]{height:100% !important}.account-management__settings-toggle[data-v-edf83404]{margin-bottom:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagementNavigation.vue\"],\"names\":[],\"mappings\":\"AAGE,uEACC,2BAAA,CAGF,kDACC,sBAAA,CACA,2BAAA,CAGD,iDACC,sBAAA,CAGD,sDACC,kBAAA\",\"sourcesContent\":[\"\\n.account-management {\\n\\t&__navigation {\\n\\t\\t:deep(.app-navigation__body) {\\n\\t\\t\\twill-change: scroll-position;\\n\\t\\t}\\n\\t}\\n\\t&__system-list {\\n\\t\\theight: auto !important;\\n\\t\\toverflow: visible !important;\\n\\t}\\n\\n\\t&__group-list {\\n\\t\\theight: 100% !important;\\n\\t}\\n\\n\\t&__settings-toggle {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0907eb0a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-wrapper[data-v-0907eb0a] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 100%;\n max-width: 400px;\n}\n.input-wrapper .action-input__label[data-v-0907eb0a] {\n margin-right: 12px;\n}\n.input-wrapper[data-v-0907eb0a]:disabled {\n cursor: default;\n}\n.input-wrapper .hint[data-v-0907eb0a] {\n color: var(--color-text-maxcontrast);\n margin-left: 8px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;EACpC,gBAAgB;AAClB\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-0907eb0a] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.input-wrapper[data-v-0907eb0a] {\\n display: flex;\\n align-items: center;\\n flex-wrap: wrap;\\n width: 100%;\\n max-width: 400px;\\n}\\n.input-wrapper .action-input__label[data-v-0907eb0a] {\\n margin-right: 12px;\\n}\\n.input-wrapper[data-v-0907eb0a]:disabled {\\n cursor: default;\\n}\\n.input-wrapper .hint[data-v-0907eb0a] {\\n color: var(--color-text-maxcontrast);\\n margin-left: 8px;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import '../assets/NcAppNavigationCaption-DU9PxTvu.css';\nimport { N as NcActions } from \"./NcActions-B4VZCD8B.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationCaption\",\n components: {\n NcActions\n },\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n required: true\n },\n /**\n * `id` to set on the inner caption\n * Can be used for connecting the `NcActionCaption` with `NcActionList` using `aria-labelledby`.\n */\n headingId: {\n type: String,\n default: null\n },\n /**\n * Enable when used as a heading\n * e.g. Before NcAppNavigationList\n */\n isHeading: {\n type: Boolean,\n default: false\n },\n /**\n * If `isHeading` is set, this defines the heading level that should be used\n */\n headingLevel: {\n type: Number,\n default: 2\n },\n /**\n * Any [NcActions](#/Components/NcActions?id=ncactions-1) prop\n */\n // Not an actual prop but needed to show in vue-styleguidist docs\n // eslint-disable-next-line\n \" \": {}\n },\n computed: {\n wrapperTag() {\n return this.isHeading ? \"div\" : \"li\";\n },\n captionTag() {\n const headingLevel = Math.max(2, this.headingLevel);\n return this.isHeading ? `h${headingLevel}` : \"span\";\n },\n // Check if the actions slot is populated\n hasActions() {\n return !!this.$slots.actions;\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(_vm.wrapperTag, { tag: \"component\", staticClass: \"app-navigation-caption\", class: { \"app-navigation-caption--heading\": _vm.isHeading } }, [_c(_vm.captionTag, { tag: \"component\", staticClass: \"app-navigation-caption__name\", attrs: { \"id\": _vm.headingId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]), _vm.hasActions ? _c(\"div\", { staticClass: \"app-navigation-caption__actions\" }, [_c(\"NcActions\", _vm._g(_vm._b({ scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"actionsTriggerIcon\")];\n }, proxy: true }], null, true) }, \"NcActions\", _vm.$attrs, false), _vm.$listeners), [_vm._t(\"actions\")], 2)], 1) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"1133b4da\"\n);\nconst NcAppNavigationCaption = __component__.exports;\nexport {\n NcAppNavigationCaption as N\n};\n//# sourceMappingURL=NcAppNavigationCaption-DcgSwIOY.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-a4505289] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * color-text-lighter\t\tnormal state\n * color-text-lighter\t\tactive state\n * color-text-maxcontrast \tdisabled state\n */\n/* Default global values */\nbutton[data-v-a4505289]:not(.button-vue),\ninput[data-v-a4505289]:not([type=range]),\ntextarea[data-v-a4505289] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n /* Primary action button, use sparingly */\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\n /* active class used for multiselect */\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-a4505289]:not(.button-vue):disabled,\ninput[data-v-a4505289]:not([type=range]):disabled,\ntextarea[data-v-a4505289]:disabled {\n cursor: default;\n opacity: 0.5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-a4505289]:not(.button-vue):required,\ninput[data-v-a4505289]:not([type=range]):required,\ntextarea[data-v-a4505289]:required {\n box-shadow: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):invalid,\ninput[data-v-a4505289]:not([type=range]):invalid,\ntextarea[data-v-a4505289]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-a4505289],\ninput:not([type=range]).primary[data-v-a4505289],\ntextarea.primary[data-v-a4505289] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\ntextarea.primary[data-v-a4505289]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-a4505289]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-a4505289] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-a4505289] {\n opacity: 1 !important;\n}\n.action-text-editable[data-v-a4505289] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* Inputs inside popover supports text, submit & reset */\n}\n.action-text-editable > span[data-v-a4505289] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text-editable__icon[data-v-a4505289] {\n min-width: 0; /* Overwrite icons*/\n min-height: 0;\n /* Keep padding to define the width to\n \tassure correct position of a possible text */\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n opacity: 1;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text-editable__form[data-v-a4505289] {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n position: relative;\n margin: 4px 0;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.action-text-editable__submit[data-v-a4505289] {\n position: absolute;\n inset-inline-start: 0;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -1;\n opacity: 0;\n}\n.action-text-editable__label[data-v-a4505289] {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n bottom: 1px;\n width: calc(var(--default-clickable-area) - 8px);\n height: calc(var(--default-clickable-area) - 8px);\n box-sizing: border-box;\n margin: 0;\n padding: 7px 6px;\n border: 0;\n border-radius: 50%;\n /* Avoid background under border */\n background-color: var(--color-main-background);\n background-clip: padding-box;\n}\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\n cursor: pointer;\n}\n.action-text-editable__textarea[data-v-a4505289] {\n flex: 1 1 auto;\n color: inherit;\n border-color: var(--color-border-maxcontrast);\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\n min-width: calc(var(--default-clickable-area) * 4);\n width: 100% !important;\n margin: 0;\n /* only show confirm borders if input is not focused */\n}\n.action-text-editable__textarea[data-v-a4505289]:disabled {\n cursor: default;\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\n background-color: var(--color-error);\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\n /* above previous input */\n z-index: 2;\n border-color: var(--color-primary-element);\n border-inline-start-color: transparent;\n}\nli:last-child > .action-text-editable[data-v-a4505289] {\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}\nli:first-child > .action-text-editable[data-v-a4505289] {\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;;;;EAIE;AACF,0BAA0B;AAC1B;;;EAGE,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,gCAAgC;EAChC,0CAA0C;EAC1C,mCAAmC;EACnC,aAAa;EACb,8CAA8C;EAC9C,eAAe;EACf,yCAAyC;AAC3C;AACA;;;;;;;EAOE,sCAAsC;EACtC,0CAA0C;EAC1C,aAAa;AACf;AACA;;;EAGE,8BAA8B;EAC9B,aAAa;EACb,8CAA8C;AAChD;AACA;;;EAGE,eAAe;EACf,YAAY;EACZ,oCAAoC;EACpC,8CAA8C;AAChD;AACA;;;EAGE,gBAAgB;AAClB;AACA;;;EAGE,gCAAgC;EAChC,2BAA2B;AAC7B;AACA;;;EAGE,eAAe;EACf,wCAAwC;EACxC,0CAA0C;EAC1C,8CAA8C;AAChD;AACA;;;;;;;EAOE,gDAAgD;EAChD,oDAAoD;AACtD;AACA;;;EAGE,6CAA6C;AAC/C;AACA;;;EAGE,eAAe;EACf,6CAA6C;EAC7C,8CAA8C;AAChD;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,wDAAwD;AAC1D;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,YAAY,EAAE,mBAAmB;EACjC,aAAa;EACb;+CAC6C;EAC7C,wHAAwH;EACxH,4EAA4E;EAC5E,qBAAqB;AACvB;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,kBAAkB;EAClB,aAAa;EACb,oEAAoE;AACtE;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,SAAS;EACT,UAAU;EACV,WAAW;EACX,gBAAgB;EAChB,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;EAClB,wEAAwE;EACxE,WAAW;EACX,gDAAgD;EAChD,iDAAiD;EACjD,sBAAsB;EACtB,SAAS;EACT,gBAAgB;EAChB,SAAS;EACT,kBAAkB;EAClB,kCAAkC;EAClC,8CAA8C;EAC9C,4BAA4B;AAC9B;AACA;EACE,eAAe;AACjB;AACA;EACE,cAAc;EACd,cAAc;EACd,6CAA6C;EAC7C,yDAAyD,EAAE,+BAA+B;EAC1F,yDAAyD,EAAE,+BAA+B;EAC1F,kDAAkD;EAClD,sBAAsB;EACtB,SAAS;EACT,sDAAsD;AACxD;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,8CAA8C;EAC9C,wCAAwC;AAC1C;AACA;EACE,yBAAyB;EACzB,UAAU;EACV,0CAA0C;EAC1C,sCAAsC;AACxC;AACA;EACE,qEAAqE;AACvE;AACA;EACE,kEAAkE;AACpE\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-a4505289] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n/* Default global values */\\nbutton[data-v-a4505289]:not(.button-vue),\\ninput[data-v-a4505289]:not([type=range]),\\ntextarea[data-v-a4505289] {\\n margin: 0;\\n padding: 7px 6px;\\n cursor: text;\\n color: var(--color-text-lighter);\\n border: 1px solid var(--color-border-dark);\\n border-radius: var(--border-radius);\\n outline: none;\\n background-color: var(--color-main-background);\\n font-size: 13px;\\n /* Primary action button, use sparingly */\\n}\\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\\n /* active class used for multiselect */\\n border-color: var(--color-primary-element);\\n outline: none;\\n}\\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\\n color: var(--color-text-light);\\n outline: none;\\n background-color: var(--color-main-background);\\n}\\nbutton[data-v-a4505289]:not(.button-vue):disabled,\\ninput[data-v-a4505289]:not([type=range]):disabled,\\ntextarea[data-v-a4505289]:disabled {\\n cursor: default;\\n opacity: 0.5;\\n color: var(--color-text-maxcontrast);\\n background-color: var(--color-background-dark);\\n}\\nbutton[data-v-a4505289]:not(.button-vue):required,\\ninput[data-v-a4505289]:not([type=range]):required,\\ntextarea[data-v-a4505289]:required {\\n box-shadow: none;\\n}\\nbutton[data-v-a4505289]:not(.button-vue):invalid,\\ninput[data-v-a4505289]:not([type=range]):invalid,\\ntextarea[data-v-a4505289]:invalid {\\n border-color: var(--color-error);\\n box-shadow: none !important;\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289],\\ninput:not([type=range]).primary[data-v-a4505289],\\ntextarea.primary[data-v-a4505289] {\\n cursor: pointer;\\n color: var(--color-primary-element-text);\\n border-color: var(--color-primary-element);\\n background-color: var(--color-primary-element);\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\\n border-color: var(--color-primary-element-light);\\n background-color: var(--color-primary-element-light);\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\\n color: var(--color-primary-element-text-dark);\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\\ntextarea.primary[data-v-a4505289]:disabled {\\n cursor: default;\\n color: var(--color-primary-element-text-dark);\\n background-color: var(--color-primary-element);\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\\n border-radius: 6px;\\n padding: 0;\\n}\\nli.action[data-v-a4505289]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-a4505289] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-a4505289] {\\n opacity: 1 !important;\\n}\\n.action-text-editable[data-v-a4505289] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n line-height: var(--default-clickable-area);\\n /* Inputs inside popover supports text, submit & reset */\\n}\\n.action-text-editable > span[data-v-a4505289] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-text-editable__icon[data-v-a4505289] {\\n min-width: 0; /* Overwrite icons*/\\n min-height: 0;\\n /* Keep padding to define the width to\\n \\tassure correct position of a possible text */\\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\\n background-size: 16px;\\n}\\n.action-text-editable[data-v-a4505289] .material-design-icon {\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n opacity: 1;\\n}\\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\\n vertical-align: middle;\\n}\\n.action-text-editable__form[data-v-a4505289] {\\n display: flex;\\n flex: 1 1 auto;\\n flex-direction: column;\\n position: relative;\\n margin: 4px 0;\\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\\n}\\n.action-text-editable__submit[data-v-a4505289] {\\n position: absolute;\\n inset-inline-start: 0;\\n top: auto;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n z-index: -1;\\n opacity: 0;\\n}\\n.action-text-editable__label[data-v-a4505289] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n position: absolute;\\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\\n bottom: 1px;\\n width: calc(var(--default-clickable-area) - 8px);\\n height: calc(var(--default-clickable-area) - 8px);\\n box-sizing: border-box;\\n margin: 0;\\n padding: 7px 6px;\\n border: 0;\\n border-radius: 50%;\\n /* Avoid background under border */\\n background-color: var(--color-main-background);\\n background-clip: padding-box;\\n}\\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\\n cursor: pointer;\\n}\\n.action-text-editable__textarea[data-v-a4505289] {\\n flex: 1 1 auto;\\n color: inherit;\\n border-color: var(--color-border-maxcontrast);\\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\\n min-width: calc(var(--default-clickable-area) * 4);\\n width: 100% !important;\\n margin: 0;\\n /* only show confirm borders if input is not focused */\\n}\\n.action-text-editable__textarea[data-v-a4505289]:disabled {\\n cursor: default;\\n}\\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\\n background-color: var(--color-error);\\n}\\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\\n background-color: var(--color-primary-element);\\n color: var(--color-primary-element-text);\\n}\\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\\n /* above previous input */\\n z-index: 2;\\n border-color: var(--color-primary-element);\\n border-inline-start-color: transparent;\\n}\\nli:last-child > .action-text-editable[data-v-a4505289] {\\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\\n}\\nli:first-child > .action-text-editable[data-v-a4505289] {\\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-list__row[data-v-47722426]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-47722426]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-47722426]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-47722426]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-47722426]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-47722426],.row__cell span[data-v-47722426],.row__cell label[data-v-47722426]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-47722426],.row__cell--displayname[data-v-47722426]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-47722426]{inset-inline-start:0}.row__cell--displayname[data-v-47722426]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-47722426]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-47722426]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-47722426]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-47722426]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-47722426]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-47722426]{min-width:400px;width:400px}.row__cell--fill[data-v-47722426]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-47722426]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.row__subtitle[data-v-47722426]{color:var(--color-text-maxcontrast)}.row__cell[data-v-47722426]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-47722426] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-47722426]{margin-top:4px}.row__progress--warn[data-v-47722426]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-47722426]::-webkit-progress-value{background:var(--color-warning) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserRow.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,iCCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDLA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCDD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,oBAAA,CAGD,yCACC,2CAAA,CACA,+CAAA,CAAA,CAIF,sCACC,yDAAA,CAGD,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,gCACC,mCAAA,CDpFD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.user-list__row {\\n\\t@include styles.row;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\n\\t\\t.row__cell:not(.row__cell--actions) {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Limit width of select in fill cell\\n\\t.select--fill {\\n\\t\\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\\n\\t}\\n}\\n\\n.row {\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t:deep {\\n\\t\\t\\t.v-select.select {\\n\\t\\t\\t\\tmin-width: var(--cell-min-width);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__progress {\\n\\t\\tmargin-top: 4px;\\n\\n\\t\\t&--warn {\\n\\t\\t\\t&::-moz-progress-bar {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t\\t&::-webkit-progress-value {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationCaption-DU9PxTvu.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationCaption-DU9PxTvu.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationNew-Dbo2rvXH.css';\nimport NcButton from \"./NcButton.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n components: {\n NcButton\n },\n props: {\n buttonId: {\n type: String,\n required: false,\n default: \"\"\n },\n disabled: {\n type: Boolean,\n required: false,\n default: false\n },\n text: {\n type: String,\n required: true\n },\n /**\n * @deprecated use `variant` instead - will be removed with v9\n */\n type: {\n type: String,\n default: \"primary\",\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\"].indexOf(value) !== -1;\n }\n },\n /**\n * The color variant to use.\n * @default 'primary'\n */\n variant: {\n type: String,\n default: \"primary\",\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\"].indexOf(value) !== -1;\n }\n }\n },\n emits: [\"click\"]\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-new\" }, [_c(\"NcButton\", { attrs: { \"id\": _vm.buttonId, \"disabled\": _vm.disabled, \"variant\": _vm.type !== \"primary\" ? _vm.type : _vm.variant }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\");\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"icon\")];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.text) + \" \")])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0b3c495c\"\n);\nconst NcAppNavigationNew = __component__.exports;\nexport {\n NcAppNavigationNew as default\n};\n//# sourceMappingURL=NcAppNavigationNew.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.modal__header[data-v-3e2f3c17]{margin:0}.modal__content[data-v-3e2f3c17]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-3e2f3c17]{display:flex;width:100%;justify-content:space-between}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/GroupListItem.vue\"],\"names\":[],\"mappings\":\"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__header {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__button-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tjustify-content: space-between;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // disallow unquoted attribute values if not otherwise configured\n // and strict mode is true\n if (parser.opt.unquotedAttributeValues === undefined) {\n parser.opt.unquotedAttributeValues = !strict;\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // &amp and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\"&quot;\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++ // <script> ... <\n }\n\n sax.XML_ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\"\n }\n\n sax.ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\",\n 'AElig': 198,\n 'Aacute': 193,\n 'Acirc': 194,\n 'Agrave': 192,\n 'Aring': 197,\n 'Atilde': 195,\n 'Auml': 196,\n 'Ccedil': 199,\n 'ETH': 208,\n 'Eacute': 201,\n 'Ecirc': 202,\n 'Egrave': 200,\n 'Euml': 203,\n 'Iacute': 205,\n 'Icirc': 206,\n 'Igrave': 204,\n 'Iuml': 207,\n 'Ntilde': 209,\n 'Oacute': 211,\n 'Ocirc': 212,\n 'Ograve': 210,\n 'Oslash': 216,\n 'Otilde': 213,\n 'Ouml': 214,\n 'THORN': 222,\n 'Uacute': 218,\n 'Ucirc': 219,\n 'Ugrave': 217,\n 'Uuml': 220,\n 'Yacute': 221,\n 'aacute': 225,\n 'acirc': 226,\n 'aelig': 230,\n 'agrave': 224,\n 'aring': 229,\n 'atilde': 227,\n 'auml': 228,\n 'ccedil': 231,\n 'eacute': 233,\n 'ecirc': 234,\n 'egrave': 232,\n 'eth': 240,\n 'euml': 235,\n 'iacute': 237,\n 'icirc': 238,\n 'igrave': 236,\n 'iuml': 239,\n 'ntilde': 241,\n 'oacute': 243,\n 'ocirc': 244,\n 'ograve': 242,\n 'oslash': 248,\n 'otilde': 245,\n 'ouml': 246,\n 'szlig': 223,\n 'thorn': 254,\n 'uacute': 250,\n 'ucirc': 251,\n 'ugrave': 249,\n 'uuml': 252,\n 'yacute': 253,\n 'yuml': 255,\n 'copy': 169,\n 'reg': 174,\n 'nbsp': 160,\n 'iexcl': 161,\n 'cent': 162,\n 'pound': 163,\n 'curren': 164,\n 'yen': 165,\n 'brvbar': 166,\n 'sect': 167,\n 'uml': 168,\n 'ordf': 170,\n 'laquo': 171,\n 'not': 172,\n 'shy': 173,\n 'macr': 175,\n 'deg': 176,\n 'plusmn': 177,\n 'sup1': 185,\n 'sup2': 178,\n 'sup3': 179,\n 'acute': 180,\n 'micro': 181,\n 'para': 182,\n 'middot': 183,\n 'cedil': 184,\n 'ordm': 186,\n 'raquo': 187,\n 'frac14': 188,\n 'frac12': 189,\n 'frac34': 190,\n 'iquest': 191,\n 'times': 215,\n 'divide': 247,\n 'OElig': 338,\n 'oelig': 339,\n 'Scaron': 352,\n 'scaron': 353,\n 'Yuml': 376,\n 'fnof': 402,\n 'circ': 710,\n 'tilde': 732,\n 'Alpha': 913,\n 'Beta': 914,\n 'Gamma': 915,\n 'Delta': 916,\n 'Epsilon': 917,\n 'Zeta': 918,\n 'Eta': 919,\n 'Theta': 920,\n 'Iota': 921,\n 'Kappa': 922,\n 'Lambda': 923,\n 'Mu': 924,\n 'Nu': 925,\n 'Xi': 926,\n 'Omicron': 927,\n 'Pi': 928,\n 'Rho': 929,\n 'Sigma': 931,\n 'Tau': 932,\n 'Upsilon': 933,\n 'Phi': 934,\n 'Chi': 935,\n 'Psi': 936,\n 'Omega': 937,\n 'alpha': 945,\n 'beta': 946,\n 'gamma': 947,\n 'delta': 948,\n 'epsilon': 949,\n 'zeta': 950,\n 'eta': 951,\n 'theta': 952,\n 'iota': 953,\n 'kappa': 954,\n 'lambda': 955,\n 'mu': 956,\n 'nu': 957,\n 'xi': 958,\n 'omicron': 959,\n 'pi': 960,\n 'rho': 961,\n 'sigmaf': 962,\n 'sigma': 963,\n 'tau': 964,\n 'upsilon': 965,\n 'phi': 966,\n 'chi': 967,\n 'psi': 968,\n 'omega': 969,\n 'thetasym': 977,\n 'upsih': 978,\n 'piv': 982,\n 'ensp': 8194,\n 'emsp': 8195,\n 'thinsp': 8201,\n 'zwnj': 8204,\n 'zwj': 8205,\n 'lrm': 8206,\n 'rlm': 8207,\n 'ndash': 8211,\n 'mdash': 8212,\n 'lsquo': 8216,\n 'rsquo': 8217,\n 'sbquo': 8218,\n 'ldquo': 8220,\n 'rdquo': 8221,\n 'bdquo': 8222,\n 'dagger': 8224,\n 'Dagger': 8225,\n 'bull': 8226,\n 'hellip': 8230,\n 'permil': 8240,\n 'prime': 8242,\n 'Prime': 8243,\n 'lsaquo': 8249,\n 'rsaquo': 8250,\n 'oline': 8254,\n 'frasl': 8260,\n 'euro': 8364,\n 'image': 8465,\n 'weierp': 8472,\n 'real': 8476,\n 'trade': 8482,\n 'alefsym': 8501,\n 'larr': 8592,\n 'uarr': 8593,\n 'rarr': 8594,\n 'darr': 8595,\n 'harr': 8596,\n 'crarr': 8629,\n 'lArr': 8656,\n 'uArr': 8657,\n 'rArr': 8658,\n 'dArr': 8659,\n 'hArr': 8660,\n 'forall': 8704,\n 'part': 8706,\n 'exist': 8707,\n 'empty': 8709,\n 'nabla': 8711,\n 'isin': 8712,\n 'notin': 8713,\n 'ni': 8715,\n 'prod': 8719,\n 'sum': 8721,\n 'minus': 8722,\n 'lowast': 8727,\n 'radic': 8730,\n 'prop': 8733,\n 'infin': 8734,\n 'ang': 8736,\n 'and': 8743,\n 'or': 8744,\n 'cap': 8745,\n 'cup': 8746,\n 'int': 8747,\n 'there4': 8756,\n 'sim': 8764,\n 'cong': 8773,\n 'asymp': 8776,\n 'ne': 8800,\n 'equiv': 8801,\n 'le': 8804,\n 'ge': 8805,\n 'sub': 8834,\n 'sup': 8835,\n 'nsub': 8836,\n 'sube': 8838,\n 'supe': 8839,\n 'oplus': 8853,\n 'otimes': 8855,\n 'perp': 8869,\n 'sdot': 8901,\n 'lceil': 8968,\n 'rceil': 8969,\n 'lfloor': 8970,\n 'rfloor': 8971,\n 'lang': 9001,\n 'rang': 9002,\n 'loz': 9674,\n 'spades': 9824,\n 'clubs': 9827,\n 'hearts': 9829,\n 'diams': 9830\n }\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit (parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function emitNode (parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText (parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts (opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error (parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er += '\\nLine: ' + parser.line +\n '\\nColumn: ' + parser.column +\n '\\nChar: ' + parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end (parser) {\n if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n if ((parser.state !== S.BEGIN) &&\n (parser.state !== S.BEGIN_WHITESPACE) &&\n (parser.state !== S.TEXT)) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail (parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag (parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname (name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? [ '', name ] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib (parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(parser,\n 'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n strictFail(parser,\n 'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag (parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(parser.tagName))\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(prefix))\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag (parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = parser.tag = parser.tags.pop()\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity (parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n function beginWhiteSpace (parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt (chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write (chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(parser,\n 'Cannot write after close. Assign an onready handler.')\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n continue;\n }\n\n if (parser.doctype && parser.doctype !== true && parser.sgmlDecl) {\n parser.state = S.DOCTYPE_DTD\n parser.doctype += '<!' + parser.sgmlDecl + c\n parser.sgmlDecl = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser,\n 'Inappropriately located doctype declaration')\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n if (c === ']') {\n parser.doctype += c\n parser.state = S.DOCTYPE\n } else if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (isQuote(c)) {\n parser.doctype += c\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n } else {\n parser.doctype += c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else if (parser.doctype && parser.doctype !== true) {\n parser.state = S.DOCTYPE_DTD\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n } else {\n parser.cdata += c\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n emitNode(parser, 'onprocessinginstruction', {\n name: parser.procInstName,\n body: parser.procInstBody\n })\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(parser, 'Forward-slash in opening tag not followed by >')\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: ''\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n if (!parser.opt.unquotedAttributeValues) {\n error(parser, 'Unquoted attribute value')\n }\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n var parsedEntity = parseEntity(parser)\n if (parser.opt.unparsedEntities && !Object.values(sax.XML_ENTITIES).includes(parsedEntity)) {\n parser.entity = ''\n parser.state = returnState\n parser.write(parsedEntity)\n } else {\n parser[buffer] += parsedEntity\n parser.entity = ''\n parser.state = returnState\n }\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default: /* istanbul ignore next */ {\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xFFFF) { // BMP code point\n codeUnits.push(codePoint)\n } else { // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xD800\n lowSurrogate = (codePoint % 0x400) + 0xDC00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n }())\n }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n._fadeTransition_13rtj_2 {\n\ttransition: all var(--animation-quick) ease;\n}\n._fadeTransitionActive_13rtj_6 {\n\topacity: 0;\n\tposition: absolute;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css\"],\"names\":[],\"mappings\":\";AACA;CACC,2CAA2C;AAC5C;AACA;CACC,UAAU;CACV,kBAAkB;AACnB\",\"sourcesContent\":[\"\\n._fadeTransition_13rtj_2 {\\n\\ttransition: all var(--animation-quick) ease;\\n}\\n._fadeTransitionActive_13rtj_6 {\\n\\topacity: 0;\\n\\tposition: absolute;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNew-Dbo2rvXH.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNew-Dbo2rvXH.css\";\n export default content && content.locals ? content.locals : undefined;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.nc-select-users[data-v-ecb8da4e] .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-CRH00RA2.css\"],\"names\":[],\"mappings\":\";AACA;CACC,gCAAgC;AACjC\",\"sourcesContent\":[\"\\n.nc-select-users[data-v-ecb8da4e] .vs__selected {\\n\\tpadding-inline: 0 5px !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.empty[data-v-1e8fee5a] .icon-vue{width:64px;height:64px}.empty[data-v-1e8fee5a] .icon-vue svg{max-width:64px;max-height:64px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/UserList.vue\"],\"names\":[],\"mappings\":\"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n@use './Users/shared/styles' as *;\\n\\n.empty {\\n\\t:deep {\\n\\t\\t.icon-vue {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tmax-width: 64px;\\n\\t\\t\\t\\tmax-height: 64px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-content[data-v-253f9eec]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagement.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppNavigation,{staticClass:\"account-management__navigation\",attrs:{\"aria-label\":_setup.t('settings', 'Account management')},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c(_setup.NcButton,{staticClass:\"account-management__settings-toggle\",attrs:{\"type\":\"tertiary\"},on:{\"click\":function($event){_setup.isDialogOpen = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiCog}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Account management settings'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c(_setup.UserSettingsDialog,{attrs:{\"open\":_setup.isDialogOpen},on:{\"update:open\":function($event){_setup.isDialogOpen=$event}}})]},proxy:true}])},[_c(_setup.NcAppNavigationNew,{attrs:{\"button-id\":\"new-user-button\",\"text\":_setup.t('settings','New account')},on:{\"click\":_setup.showNewUserMenu,\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _setup.showNewUserMenu.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _setup.showNewUserMenu.apply(null, arguments)}]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__system-list\",attrs:{\"data-cy-users-settings-navigation-groups\":\"system\"}},[_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"everyone\",\"exact\":true,\"name\":_setup.t('settings', 'All accounts'),\"to\":{ name: 'users' }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccount}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.userCount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":!_setup.selectedGroupDecoded ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.userCount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_setup.settings.isAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"admin\",\"exact\":true,\"name\":_setup.t('settings', 'Admins'),\"to\":{ name: 'group', params: { selectedGroup: 'admin' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiShieldAccount}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.adminGroup && _setup.adminGroup.count > 0)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'admin' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.adminGroup.count)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,2218088905)}):_vm._e(),_vm._v(\" \"),(_setup.isAdminOrDelegatedAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"recent\",\"exact\":true,\"name\":_setup.t('settings', 'Recently active'),\"to\":{ name: 'group', params: { selectedGroup: '__nc_internal_recent' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiHistory}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.recentGroup?.usercount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === '__nc_internal_recent' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.recentGroup.usercount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,2299424282)}):_vm._e(),_vm._v(\" \"),(_setup.disabledGroup && (_setup.disabledGroup.usercount > 0 || _setup.disabledGroup.usercount === -1))?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"disabled\",\"exact\":true,\"name\":_setup.t('settings', 'Disabled accounts'),\"to\":{ name: 'group', params: { selectedGroup: 'disabled' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountOff}})]},proxy:true},(_setup.disabledGroup.usercount > 0)?{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.disabledGroup.usercount)+\"\\n\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e()],1),_vm._v(\" \"),_c(_setup.AppNavigationGroupList)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcAppSettingsDialog :open.sync=\"isModalOpen\"\n\t\t:show-navigation=\"true\"\n\t\t:name=\"t('settings', 'Account management settings')\">\n\t\t<NcAppSettingsSection id=\"visibility-settings\"\n\t\t\t:name=\"t('settings', 'Visibility')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLanguages\"\n\t\t\t\t:checked.sync=\"showLanguages\">\n\t\t\t\t{{ t('settings', 'Show language') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showUserBackend\"\n\t\t\t\t:checked.sync=\"showUserBackend\">\n\t\t\t\t{{ t('settings', 'Show account backend') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showStoragePath\"\n\t\t\t\t:checked.sync=\"showStoragePath\">\n\t\t\t\t{{ t('settings', 'Show storage path') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showFirstLogin\"\n\t\t\t\t:checked.sync=\"showFirstLogin\">\n\t\t\t\t{{ t('settings', 'Show first login') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLastLogin\"\n\t\t\t\t:checked.sync=\"showLastLogin\">\n\t\t\t\t{{ t('settings', 'Show last login') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"groups-sorting\"\n\t\t\t:name=\"t('settings', 'Sorting')\">\n\t\t\t<NcNoteCard v-if=\"isGroupSortingEnforced\" type=\"warning\">\n\t\t\t\t{{ t('settings', 'The system config enforces sorting the groups by name. This also disables showing the member count.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<fieldset>\n\t\t\t\t<legend>{{ t('settings', 'Group list sorting') }}</legend>\n\t\t\t\t<NcNoteCard class=\"dialog__note\"\n\t\t\t\t\ttype=\"info\"\n\t\t\t\t\t:text=\"t('settings', 'Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.')\" />\n\t\t\t\t<NcCheckboxRadioSwitch type=\"radio\"\n\t\t\t\t\t:checked.sync=\"groupSorting\"\n\t\t\t\t\tdata-test=\"sortGroupsByMemberCount\"\n\t\t\t\t\t:disabled=\"isGroupSortingEnforced\"\n\t\t\t\t\tname=\"group-sorting-mode\"\n\t\t\t\t\tvalue=\"member-count\">\n\t\t\t\t\t{{ t('settings', 'By member count') }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<NcCheckboxRadioSwitch type=\"radio\"\n\t\t\t\t\t:checked.sync=\"groupSorting\"\n\t\t\t\t\tdata-test=\"sortGroupsByName\"\n\t\t\t\t\t:disabled=\"isGroupSortingEnforced\"\n\t\t\t\t\tname=\"group-sorting-mode\"\n\t\t\t\t\tvalue=\"name\">\n\t\t\t\t\t{{ t('settings', 'By name') }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t</fieldset>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"email-settings\"\n\t\t\t:name=\"t('settings', 'Send email')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"sendWelcomeMail\"\n\t\t\t\t:checked.sync=\"sendWelcomeMail\"\n\t\t\t\t:disabled=\"loadingSendMail\">\n\t\t\t\t{{ t('settings', 'Send welcome email to new accounts') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"default-settings\"\n\t\t\t:name=\"t('settings', 'Defaults')\">\n\t\t\t<NcSelect v-model=\"defaultQuota\"\n\t\t\t\t:clearable=\"false\"\n\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t:filter-by=\"filterQuotas\"\n\t\t\t\t:input-label=\"t('settings', 'Default quota')\"\n\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\tplacement=\"top\"\n\t\t\t\t:placeholder=\"t('settings', 'Select default quota')\"\n\t\t\t\ttaggable\n\t\t\t\t@option:selected=\"setDefaultQuota\" />\n\t\t</NcAppSettingsSection>\n\t</NcAppSettingsDialog>\n</template>\n\n<script>\nimport { formatFileSize, parseFileSize } from '@nextcloud/files'\nimport { generateUrl } from '@nextcloud/router'\n\nimport axios from '@nextcloud/axios'\nimport NcAppSettingsDialog from '@nextcloud/vue/components/NcAppSettingsDialog'\nimport NcAppSettingsSection from '@nextcloud/vue/components/NcAppSettingsSection'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/components/NcCheckboxRadioSwitch'\nimport NcNoteCard from '@nextcloud/vue/components/NcNoteCard'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\n\nimport { GroupSorting } from '../../constants/GroupManagement.ts'\nimport { unlimitedQuota } from '../../utils/userUtils.ts'\nimport logger from '../../logger.ts'\n\nexport default {\n\tname: 'UserSettingsDialog',\n\n\tcomponents: {\n\t\tNcAppSettingsDialog,\n\t\tNcAppSettingsSection,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcNoteCard,\n\t\tNcSelect,\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\tloadingSendMail: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tgroupSorting: {\n\t\t\tget() {\n\t\t\t\treturn this.$store.getters.getGroupSorting === GroupSorting.GroupName ? 'name' : 'member-count'\n\t\t\t},\n\t\t\tset(sorting) {\n\t\t\t\tthis.$store.commit('setGroupSorting', sorting === 'name' ? GroupSorting.GroupName : GroupSorting.UserCount)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Admin has configured `sort_groups_by_name` in the system config\n\t\t */\n\t\tisGroupSortingEnforced() {\n\t\t\treturn this.$store.getters.getServerData.forceSortGroupByName\n\t\t},\n\n\t\tisModalOpen: {\n\t\t\tget() {\n\t\t\t\treturn this.open\n\t\t\t},\n\t\t\tset(open) {\n\t\t\t\tthis.$emit('update:open', open)\n\t\t\t},\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tshowLanguages: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showLanguages\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showLanguages', status)\n\t\t\t},\n\t\t},\n\n\t\tshowFirstLogin: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showFirstLogin\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showFirstLogin', status)\n\t\t\t},\n\t\t},\n\n\t\tshowLastLogin: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showLastLogin\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showLastLogin', status)\n\t\t\t},\n\t\t},\n\n\t\tshowUserBackend: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showUserBackend\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showUserBackend', status)\n\t\t\t},\n\t\t},\n\n\t\tshowStoragePath: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showStoragePath\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showStoragePath', status)\n\t\t\t},\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({ id: cur, label: cur }), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tdefaultQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tsendWelcomeMail: {\n\t\t\tget() {\n\t\t\t\treturn this.settings.newUserSendEmail\n\t\t\t},\n\t\t\tasync set(value) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.loadingSendMail = true\n\t\t\t\t\tthis.$store.commit('setServerData', {\n\t\t\t\t\t\t...this.settings,\n\t\t\t\t\t\tnewUserSendEmail: value,\n\t\t\t\t\t})\n\t\t\t\t\tawait axios.post(generateUrl('/settings/users/preferences/newUser.sendEmail'), { value: value ? 'yes' : 'no' })\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlogger.error('Could not update newUser.sendEmail preference', { error })\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loadingSendMail = false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if a quota matches the current search.\n\t\t * This is a custom filter function to allow to map \"1GB\" to the label \"1 GB\" (ignoring whitespaces).\n\t\t *\n\t\t * @param option The quota to check\n\t\t * @param label The label of the quota\n\t\t * @param search The search string\n\t\t */\n\t\tfilterQuotas(option, label, search) {\n\t\t\tconst searchValue = search.toLocaleLowerCase().replaceAll(/\\s/g, '')\n\t\t\treturn (label || '')\n\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t.replaceAll(/\\s/g, '')\n\t\t\t\t.indexOf(searchValue) > -1\n\t\t},\n\n\t\tsetShowConfig(key, status) {\n\t\t\tthis.$store.commit('setShowConfig', { key, value: status })\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = parseFileSize(quota, true)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t}\n\t\t\t// unify format output\n\t\t\tquota = formatFileSize(validQuota)\n\t\t\treturn { id: quota, label: quota }\n\t\t},\n\n\t\t/**\n\t\t * Dispatch default quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t */\n\t\tsetDefaultQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota,\n\t\t\t}).then(() => {\n\t\t\t\tif (typeof quota !== 'object') {\n\t\t\t\t\tquota = { id: quota, label: quota }\n\t\t\t\t}\n\t\t\t\tthis.defaultQuota = quota\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.dialog {\n\t&__note {\n\t\tfont-weight: normal;\n\t}\n}\n\nfieldset {\n\tfont-weight: bold;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserSettingsDialog.vue?vue&type=template&id=9f7a355c&scoped=true\"\nimport script from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9f7a355c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.isModalOpen,\"show-navigation\":true,\"name\":_vm.t('settings', 'Account management settings')},on:{\"update:open\":function($event){_vm.isModalOpen=$event}}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"visibility-settings\",\"name\":_vm.t('settings', 'Visibility')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLanguages\",\"checked\":_vm.showLanguages},on:{\"update:checked\":function($event){_vm.showLanguages=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show language'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showUserBackend\",\"checked\":_vm.showUserBackend},on:{\"update:checked\":function($event){_vm.showUserBackend=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show account backend'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showStoragePath\",\"checked\":_vm.showStoragePath},on:{\"update:checked\":function($event){_vm.showStoragePath=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show storage path'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showFirstLogin\",\"checked\":_vm.showFirstLogin},on:{\"update:checked\":function($event){_vm.showFirstLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show first login'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLastLogin\",\"checked\":_vm.showLastLogin},on:{\"update:checked\":function($event){_vm.showLastLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show last login'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"groups-sorting\",\"name\":_vm.t('settings', 'Sorting')}},[(_vm.isGroupSortingEnforced)?_c('NcNoteCard',{attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'The system config enforces sorting the groups by name. This also disables showing the member count.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('fieldset',[_c('legend',[_vm._v(_vm._s(_vm.t('settings', 'Group list sorting')))]),_vm._v(\" \"),_c('NcNoteCard',{staticClass:\"dialog__note\",attrs:{\"type\":\"info\",\"text\":_vm.t('settings', 'Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.')}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByMemberCount\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"member-count\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By member count'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByName\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"name\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By name'))+\"\\n\\t\\t\\t\")])],1)],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"email-settings\",\"name\":_vm.t('settings', 'Send email')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"sendWelcomeMail\",\"checked\":_vm.sendWelcomeMail,\"disabled\":_vm.loadingSendMail},on:{\"update:checked\":function($event){_vm.sendWelcomeMail=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Send welcome email to new accounts'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"default-settings\",\"name\":_vm.t('settings', 'Defaults')}},[_c('NcSelect',{attrs:{\"clearable\":false,\"create-option\":_vm.validateQuota,\"filter-by\":_vm.filterQuotas,\"input-label\":_vm.t('settings', 'Default quota'),\"options\":_vm.quotaOptions,\"placement\":\"top\",\"placeholder\":_vm.t('settings', 'Select default quota'),\"taggable\":\"\"},on:{\"option:selected\":_vm.setDefaultQuota},model:{value:(_vm.defaultQuota),callback:function ($$v) {_vm.defaultQuota=$$v},expression:\"defaultQuota\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Fragment,[_c(_setup.NcAppNavigationCaption,{attrs:{\"name\":_setup.t('settings', 'Groups'),\"disabled\":_setup.loadingAddGroup,\"aria-label\":_setup.loadingAddGroup ? _setup.t('settings', 'Creating group…') : _setup.t('settings', 'Create group'),\"force-menu\":\"\",\"is-heading\":\"\",\"open\":_setup.isAddGroupOpen},on:{\"update:open\":function($event){_setup.isAddGroupOpen=$event}},scopedSlots:_vm._u([(_setup.isAdminOrDelegatedAdmin)?{key:\"actionsTriggerIcon\",fn:function(){return [(_setup.loadingAddGroup)?_c(_setup.NcLoadingIcon):_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}:null,(_setup.isAdminOrDelegatedAdmin)?{key:\"actions\",fn:function(){return [_c(_setup.NcActionText,{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountGroup}})]},proxy:true}],null,false,3607647275)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Create group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c(_setup.NcActionInput,{attrs:{\"label\":_setup.t('settings', 'Group name'),\"data-cy-users-settings-new-group-name\":\"\",\"label-outside\":false,\"disabled\":_setup.loadingAddGroup,\"value\":_setup.newGroupName,\"error\":_setup.hasAddGroupError,\"helper-text\":_setup.hasAddGroupError ? _setup.t('settings', 'Please enter a valid group name') : ''},on:{\"update:value\":function($event){_setup.newGroupName=$event},\"submit\":_setup.createGroup}})]},proxy:true}:null],null,true)}),_vm._v(\" \"),_c(_setup.NcAppNavigationSearch,{attrs:{\"label\":_setup.t('settings', 'Search groups…')},model:{value:(_setup.groupsSearchQuery),callback:function ($$v) {_setup.groupsSearchQuery=$$v},expression:\"groupsSearchQuery\"}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"group-list-desc\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('settings', 'List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list.'))+\"\\n\\t\")]),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__group-list\",attrs:{\"aria-describedby\":\"group-list-desc\",\"data-cy-users-settings-navigation-groups\":\"custom\"}},[_vm._l((_setup.filteredGroups),function(group){return _c(_setup.GroupListItem,{key:group.id,ref:\"groupListItems\",refInFor:true,attrs:{\"id\":group.id,\"active\":_setup.selectedGroupDecoded === group.id,\"name\":group.title,\"count\":group.count}})}),_vm._v(\" \"),(_setup.loadingGroups)?_c('div',{attrs:{\"role\":\"note\"}},[_c(_setup.NcLoadingIcon,{attrs:{\"name\":_setup.t('settings', 'Loading groups…')}})],1):_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Fragment>\n\t\t<NcModal v-if=\"showRemoveGroupModal\"\n\t\t\t@close=\"showRemoveGroupModal = false\">\n\t\t\t<div class=\"modal__content\">\n\t\t\t\t<h2 class=\"modal__header\">\n\t\t\t\t\t{{ t('settings', 'Please confirm the group removal') }}\n\t\t\t\t</h2>\n\t\t\t\t<NcNoteCard type=\"warning\"\n\t\t\t\t\tshow-alert>\n\t\t\t\t\t{{ t('settings', 'You are about to delete the group \"{group}\". The accounts will NOT be deleted.', { group: name }) }}\n\t\t\t\t</NcNoteCard>\n\t\t\t\t<div class=\"modal__button-row\">\n\t\t\t\t\t<NcButton type=\"secondary\"\n\t\t\t\t\t\t@click=\"showRemoveGroupModal = false\">\n\t\t\t\t\t\t{{ t('settings', 'Cancel') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t\t@click=\"removeGroup\">\n\t\t\t\t\t\t{{ t('settings', 'Confirm') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NcModal>\n\n\t\t<NcAppNavigationItem :key=\"id\"\n\t\t\tref=\"listItem\"\n\t\t\t:exact=\"true\"\n\t\t\t:name=\"name\"\n\t\t\t:to=\"{ name: 'group', params: { selectedGroup: encodeURIComponent(id) } }\"\n\t\t\t:loading=\"loadingRenameGroup\"\n\t\t\t:menu-open=\"openGroupMenu\"\n\t\t\t@update:menuOpen=\"handleGroupMenuOpen\">\n\t\t\t<template #icon>\n\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t</template>\n\t\t\t<template #counter>\n\t\t\t\t<NcCounterBubble v-if=\"count\"\n\t\t\t\t\t:type=\"active ? 'highlighted' : undefined\">\n\t\t\t\t\t{{ count }}\n\t\t\t\t</NcCounterBubble>\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionInput v-if=\"id !== 'admin' && id !== 'disabled' && (settings.isAdmin || settings.isDelegatedAdmin)\"\n\t\t\t\t\tref=\"displayNameInput\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t:value=\"name\"\n\t\t\t\t\t:label=\" t('settings', 'Rename group')\"\n\t\t\t\t\t@submit=\"renameGroup(id)\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionInput>\n\t\t\t\t<NcActionButton v-if=\"id !== 'admin' && id !== 'disabled' && (settings.isAdmin || settings.isDelegatedAdmin)\"\n\t\t\t\t\t@click=\"showRemoveGroupModal = true\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('settings', 'Delete group') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcAppNavigationItem>\n\t</Fragment>\n</template>\n\n<script>\nimport { Fragment } from 'vue-frag'\n\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport NcActionInput from '@nextcloud/vue/components/NcActionInput'\nimport NcAppNavigationItem from '@nextcloud/vue/components/NcAppNavigationItem'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcCounterBubble from '@nextcloud/vue/components/NcCounterBubble'\nimport NcModal from '@nextcloud/vue/components/NcModal'\nimport NcNoteCard from '@nextcloud/vue/components/NcNoteCard'\n\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport Delete from 'vue-material-design-icons/Delete.vue'\nimport Pencil from 'vue-material-design-icons/Pencil.vue'\n\nimport { showError } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'GroupListItem',\n\tcomponents: {\n\t\tAccountGroup,\n\t\tDelete,\n\t\tFragment,\n\t\tNcActionButton,\n\t\tNcActionInput,\n\t\tNcAppNavigationItem,\n\t\tNcButton,\n\t\tNcCounterBubble,\n\t\tNcModal,\n\t\tNcNoteCard,\n\t\tPencil,\n\t},\n\tprops: {\n\t\t/**\n\t\t * If this group is currently selected\n\t\t */\n\t\tactive: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Number of members within this group\n\t\t */\n\t\tcount: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Identifier of this group\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Name of this group\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloadingRenameGroup: false,\n\t\t\topenGroupMenu: false,\n\t\t\tshowRemoveGroupModal: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\t},\n\tmethods: {\n\t\thandleGroupMenuOpen() {\n\t\t\tthis.openGroupMenu = true\n\t\t},\n\t\tasync renameGroup(gid) {\n\t\t\t// check if group id is valid\n\t\t\tif (gid.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst displayName = this.$refs.displayNameInput.$el.querySelector('input[type=\"text\"]').value\n\n\t\t\t// check if group name is valid\n\t\t\tif (displayName.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.openGroupMenu = false\n\t\t\t\tthis.loadingRenameGroup = true\n\t\t\t\tawait this.$store.dispatch('renameGroup', {\n\t\t\t\t\tgroupid: gid.trim(),\n\t\t\t\t\tdisplayName: displayName.trim(),\n\t\t\t\t})\n\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t} catch {\n\t\t\t\tthis.openGroupMenu = true\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t}\n\t\t},\n\t\tasync removeGroup() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeGroup', this.id)\n\t\t\t\tthis.showRemoveGroupModal = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('settings', 'Failed to delete group \"{group}\"', { group: this.name }))\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=style&index=0&id=3e2f3c17&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=style&index=0&id=3e2f3c17&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupListItem.vue?vue&type=template&id=3e2f3c17&scoped=true\"\nimport script from \"./GroupListItem.vue?vue&type=script&lang=js\"\nexport * from \"./GroupListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./GroupListItem.vue?vue&type=style&index=0&id=3e2f3c17&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3e2f3c17\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showRemoveGroupModal)?_c('NcModal',{on:{\"close\":function($event){_vm.showRemoveGroupModal = false}}},[_c('div',{staticClass:\"modal__content\"},[_c('h2',{staticClass:\"modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Please confirm the group removal'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"show-alert\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You are about to delete the group \"{group}\". The accounts will NOT be deleted.', { group: _vm.name }))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"modal__button-row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){_vm.showRemoveGroupModal = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.removeGroup}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\")])],1)],1)]):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{key:_vm.id,ref:\"listItem\",attrs:{\"exact\":true,\"name\":_vm.name,\"to\":{ name: 'group', params: { selectedGroup: encodeURIComponent(_vm.id) } },\"loading\":_vm.loadingRenameGroup,\"menu-open\":_vm.openGroupMenu},on:{\"update:menuOpen\":_vm.handleGroupMenuOpen},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.count)?_c('NcCounterBubble',{attrs:{\"type\":_vm.active ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.count)+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionInput',{ref:\"displayNameInput\",attrs:{\"trailing-button-label\":_vm.t('settings', 'Submit'),\"type\":\"text\",\"value\":_vm.name,\"label\":_vm.t('settings', 'Rename group')},on:{\"submit\":function($event){return _vm.renameGroup(_vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":20}})]},proxy:true}],null,false,580569589)}):_vm._e(),_vm._v(\" \"),(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionButton',{on:{\"click\":function($event){_vm.showRemoveGroupModal = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete group'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed } from 'vue';\n/**\n * Format a group to a menu entry\n *\n * @param group the group\n */\nfunction formatGroupMenu(group) {\n if (typeof group === 'undefined') {\n return null;\n }\n return {\n id: group.id,\n title: group.name,\n usercount: group.usercount ?? 0,\n count: Math.max(0, (group.usercount ?? 0) - (group.disabled ?? 0)),\n };\n}\nexport const useFormatGroups = (groups) => {\n /**\n * All non-disabled non-admin groups\n */\n const userGroups = computed(() => {\n const formatted = groups.value\n // filter out disabled and admin\n .filter(group => group.id !== 'disabled' && group.id !== '__nc_internal_recent' && group.id !== 'admin')\n // format group\n .map(group => formatGroupMenu(group))\n // remove invalid\n .filter(group => group !== null);\n return formatted;\n });\n /**\n * The admin group if found otherwise null\n */\n const adminGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'admin')));\n /**\n * The group of disabled users\n */\n const disabledGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'disabled')));\n /**\n * The group of recent users\n */\n const recentGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === '__nc_internal_recent')));\n return { adminGroup, recentGroup, disabledGroup, userGroups };\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AppNavigationGroupList.vue?vue&type=template&id=49ad50e4\"\nimport script from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=style&index=0&id=edf83404&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=style&index=0&id=edf83404&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagementNavigation.vue?vue&type=template&id=edf83404&scoped=true\"\nimport script from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./UserManagementNavigation.vue?vue&type=style&index=0&id=edf83404&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"edf83404\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-1133b4da] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-1133b4da] {\n display: flex;\n justify-content: space-between;\n}\n.app-navigation-caption--heading[data-v-1133b4da] {\n padding: var(--app-navigation-padding);\n}\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\n padding: 0 var(--app-navigation-padding);\n}\n.app-navigation-caption__name[data-v-1133b4da] {\n font-weight: bold;\n color: var(--color-main-text);\n font-size: var(--default-font-size);\n line-height: var(--default-clickable-area);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-shadow: none !important;\n flex-shrink: 1;\n padding-block: 0;\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\n margin-top: 0px;\n margin-bottom: var(--default-grid-baseline);\n}\n.app-navigation-caption__actions[data-v-1133b4da] {\n flex: 0 0 var(--default-clickable-area);\n}\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\n margin-top: calc(var(--default-clickable-area) / 2);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,8BAA8B;AAChC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,iBAAiB;EACjB,6BAA6B;EAC7B,mCAAmC;EACnC,0CAA0C;EAC1C,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,2BAA2B;EAC3B,cAAc;EACd,gBAAgB;EAChB,6DAA6D;EAC7D,eAAe;EACf,2CAA2C;AAC7C;AACA;EACE,uCAAuC;AACzC;AACA;EACE,mDAAmD;AACrD\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-1133b4da] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.app-navigation-caption[data-v-1133b4da] {\\n display: flex;\\n justify-content: space-between;\\n}\\n.app-navigation-caption--heading[data-v-1133b4da] {\\n padding: var(--app-navigation-padding);\\n}\\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\\n padding: 0 var(--app-navigation-padding);\\n}\\n.app-navigation-caption__name[data-v-1133b4da] {\\n font-weight: bold;\\n color: var(--color-main-text);\\n font-size: var(--default-font-size);\\n line-height: var(--default-clickable-area);\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n box-shadow: none !important;\\n flex-shrink: 1;\\n padding-block: 0;\\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\\n margin-top: 0px;\\n margin-bottom: var(--default-grid-baseline);\\n}\\n.app-navigation-caption__actions[data-v-1133b4da] {\\n flex: 0 0 var(--default-clickable-area);\\n}\\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\\n margin-top: calc(var(--default-clickable-area) / 2);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dialog__form[data-v-1195b9bc]{display:flex;flex-direction:column;align-items:center;padding:0 8px;gap:4px 0}.dialog__item[data-v-1195b9bc]{width:100%}.dialog__item[data-v-1195b9bc]:not(:focus):not(:active){border-color:var(--color-border-dark)}.dialog__hint[data-v-1195b9bc]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.dialog__label[data-v-1195b9bc]{display:block;padding:4px 0}.dialog__select[data-v-1195b9bc]{width:100%}.dialog__managers[data-v-1195b9bc]{margin-bottom:12px}.dialog__submit[data-v-1195b9bc]{margin-top:4px;margin-bottom:8px}.dialog[data-v-1195b9bc] .dialog__actions{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/NewUserDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,aAAA,CACA,SAAA,CAGD,+BACC,UAAA,CAEA,wDACC,qCAAA,CAIF,+BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,gCACC,aAAA,CACA,aAAA,CAGD,iCACC,UAAA,CAGD,mCACC,kBAAA,CAGD,iCACC,cAAA,CACA,iBAAA,CAIA,0CACC,WAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 0 8px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__item {\\n\\t\\twidth: 100%;\\n\\n\\t\\t&:not(:focus):not(:active) {\\n\\t\\t\\tborder-color: var(--color-border-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&__hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-top: 8px;\\n\\t\\talign-self: flex-start;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 4px 0;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__managers {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tmargin-top: 4px;\\n\\t\\tmargin-bottom: 8px;\\n\\t}\\n\\n\\t:deep {\\n\\t\\t.dialog__actions {\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-46fee9ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.app-navigation-entry[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: var(--default-clickable-area);\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color 200ms ease-in-out;\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n /* hide deletion/collapse of subitems */\n}\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry.active[data-v-46fee9ac] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\n z-index: 100; /* above the bullet to allow click*/\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: var(--default-clickable-area);\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px 16px;\n line-height: var(--default-clickable-area);\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\n display: flex;\n align-items: center;\n flex: 0 0 var(--default-clickable-area);\n justify-content: center;\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n}\n\n/* Second level nesting for lists */\n.app-navigation-entry__children[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-inline-start: 16px;\n}\n\n/* Deleted entries */\n.app-navigation-entry__deleted[data-v-46fee9ac] {\n display: inline-flex;\n flex: 1 1 0;\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: var(--default-clickable-area);\n}\n\n/* counter and actions */\n.app-navigation-entry__utils[data-v-46fee9ac] {\n display: flex;\n min-width: var(--default-clickable-area);\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n /* counter */\n /* actions */\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: none;\n}\n\n/* editing state */\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\n z-index: 250;\n opacity: 1;\n}\n\n/* deleted state */\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\n z-index: 250;\n transform: translateX(0);\n}\n\n/* pinned state */\n.app-navigation-entry--pinned[data-v-46fee9ac] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n.app-navigation-new-item__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-inline-start: 7px;\n font-size: 14px;\n}\n.newItemContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-D7wroqrc.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;EACX,yCAAyC;EACzC,+DAA+D;EAC/D,8CAA8C;EAC9C,sEAAsE;EACtE,uCAAuC;AACzC;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,+DAA+D;AACjE;AACA;EACE,mDAAmD;AACrD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;AACf;AACA;EACE,oEAAoE;AACtE;AACA;EACE,YAAY,EAAE,mCAAmC;EACjD,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,sBAAsB;EACtB,yCAAyC;EACzC,UAAU;EACV,mBAAmB;EACnB,6BAA6B;EAC7B,4BAA4B;EAC5B,4EAA4E;EAC5E,0BAA0B;EAC1B,0CAA0C;AAC5C;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uCAAuC;EACvC,uBAAuB;EACvB,oCAAoC;EACpC,qCAAqC;EACrC,0BAA0B;EAC1B,4BAA4B;EAC5B,4EAA4E;AAC9E;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd;AACA;EACE,kDAAkD;EAClD,yCAAyC;EACzC,sEAAsE;AACxE;;AAEA,mCAAmC;AACnC;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,WAAW;EACX,sCAAsC;AACxC;AACA;EACE,oBAAoB;EACpB,eAAe;EACf,0BAA0B;AAC5B;;AAEA,oBAAoB;AACpB;EACE,oBAAoB;EACpB,WAAW;EACX,iHAAiH;AACnH;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,WAAW;EACX,mBAAmB;EACnB,uBAAuB;EACvB,0CAA0C;AAC5C;;AAEA,wBAAwB;AACxB;EACE,aAAa;EACb,wCAAwC;EACxC,mBAAmB;EACnB,cAAc;EACd,yBAAyB;EACzB,YAAY;EACZ,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,yDAAyD;EACzD,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,aAAa;AACf;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,UAAU;AACZ;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,wBAAwB;AAC1B;;AAEA,iBAAiB;AACjB;EACE,QAAQ;EACR,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,qEAAqE;AACvE;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,yBAAyB;EACzB,eAAe;AACjB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-46fee9ac] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n.app-navigation-entry[data-v-46fee9ac] {\\n position: relative;\\n display: flex;\\n flex-shrink: 0;\\n flex-wrap: wrap;\\n box-sizing: border-box;\\n width: 100%;\\n min-height: var(--default-clickable-area);\\n transition: background-color var(--animation-quick) ease-in-out;\\n transition: background-color 200ms ease-in-out;\\n border-radius: var(--border-radius-element, var(--border-radius-pill));\\n /* hide deletion/collapse of subitems */\\n}\\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\\n position: relative;\\n display: flex;\\n flex-shrink: 0;\\n flex-wrap: wrap;\\n box-sizing: border-box;\\n width: 100%;\\n}\\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\\n display: none;\\n}\\n.app-navigation-entry.active[data-v-46fee9ac] {\\n background-color: var(--color-primary-element) !important;\\n}\\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\\n background-color: var(--color-primary-element-hover) !important;\\n}\\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\\n color: var(--color-primary-element-text) !important;\\n}\\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\\n background-color: var(--color-main-background);\\n}\\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\\n display: inline-block;\\n}\\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\\n display: none;\\n}\\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\\n}\\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\\n z-index: 100; /* above the bullet to allow click*/\\n display: flex;\\n overflow: hidden;\\n flex: 1 1 0;\\n box-sizing: border-box;\\n min-height: var(--default-clickable-area);\\n padding: 0;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n background-repeat: no-repeat;\\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\\n background-size: 16px 16px;\\n line-height: var(--default-clickable-area);\\n}\\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\\n display: flex;\\n align-items: center;\\n flex: 0 0 var(--default-clickable-area);\\n justify-content: center;\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n background-size: 16px 16px;\\n background-repeat: no-repeat;\\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\\n}\\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\\n width: calc(100% - var(--default-clickable-area));\\n margin: auto;\\n}\\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\\n box-shadow: 0 0 0 4px var(--color-main-background);\\n outline: 2px solid var(--color-main-text);\\n border-radius: var(--border-radius-element, var(--border-radius-pill));\\n}\\n\\n/* Second level nesting for lists */\\n.app-navigation-entry__children[data-v-46fee9ac] {\\n position: relative;\\n display: flex;\\n flex: 0 1 auto;\\n flex-direction: column;\\n width: 100%;\\n gap: var(--default-grid-baseline, 4px);\\n}\\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\\n display: inline-flex;\\n flex-wrap: wrap;\\n padding-inline-start: 16px;\\n}\\n\\n/* Deleted entries */\\n.app-navigation-entry__deleted[data-v-46fee9ac] {\\n display: inline-flex;\\n flex: 1 1 0;\\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\\n}\\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\\n position: relative;\\n overflow: hidden;\\n flex: 1 1 0;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n line-height: var(--default-clickable-area);\\n}\\n\\n/* counter and actions */\\n.app-navigation-entry__utils[data-v-46fee9ac] {\\n display: flex;\\n min-width: var(--default-clickable-area);\\n align-items: center;\\n flex: 0 1 auto;\\n justify-content: flex-end;\\n /* counter */\\n /* actions */\\n}\\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\\n display: inline-block;\\n}\\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\\n display: flex;\\n align-items: center;\\n flex: 0 1 auto;\\n}\\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\\n display: none;\\n}\\n\\n/* editing state */\\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\\n z-index: 250;\\n opacity: 1;\\n}\\n\\n/* deleted state */\\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\\n z-index: 250;\\n transform: translateX(0);\\n}\\n\\n/* pinned state */\\n.app-navigation-entry--pinned[data-v-46fee9ac] {\\n order: 2;\\n margin-top: auto;\\n}\\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\\n margin-top: 0;\\n}\\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\\n background-color: var(--color-primary-element-light-hover) !important;\\n}\\n.app-navigation-new-item__name[data-v-46fee9ac] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n padding-inline-start: 7px;\\n font-size: 14px;\\n}\\n.newItemContainer[data-v-46fee9ac] {\\n width: calc(100% - var(--default-clickable-area));\\n margin: auto;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.footer[data-v-db2a7c4e]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-db2a7c4e]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-db2a7c4e],.footer__cell span[data-v-db2a7c4e],.footer__cell label[data-v-db2a7c4e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-db2a7c4e],.footer__cell--displayname[data-v-db2a7c4e]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-db2a7c4e]{inset-inline-start:0}.footer__cell--displayname[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.footer__cell--username[data-v-db2a7c4e]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.footer__cell--avatar[data-v-db2a7c4e]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-db2a7c4e]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-db2a7c4e]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-db2a7c4e]{min-width:400px;width:400px}.footer__cell--fill[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-db2a7c4e]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.footer__subtitle[data-v-db2a7c4e]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-db2a7c4e]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-db2a7c4e]{inset-inline-start:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListFooter.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA,CDpGD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,oBAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,2CAAA,CACA,2BAAA,CACA,uBAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.footer {\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tposition: sticky;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&--loading {\\n\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t&--count {\\n\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\tmin-width: var(--cell-width);\\n\\t\\t\\twidth: var(--cell-width);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate as t } from '@nextcloud/l10n';\nexport const unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited'),\n};\nexport const defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota'),\n};\n/**\n * Return `true` if the logged in user does not have permissions to view the\n * data of `user`\n * @param user The user to check\n * @param user.id Id of the user\n */\nexport const isObfuscated = (user) => {\n const keys = Object.keys(user);\n return keys.length === 1 && keys.at(0) === 'id';\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-cbad78fb] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#guest-content-vue[data-v-cbad78fb] {\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n min-width: 0;\n border-radius: var(--border-radius-large);\n box-shadow: 0 0 10px var(--color-box-shadow);\n height: fit-content;\n padding: 15px;\n margin: 20px auto;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#content.nc-guest-content {\n overflow: auto;\n margin-bottom: 0;\n height: calc(var(--body-height) + var(--body-container-margin));\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;EAC7B,8CAA8C;EAC9C,YAAY;EACZ,yCAAyC;EACzC,4CAA4C;EAC5C,mBAAmB;EACnB,aAAa;EACb,iBAAiB;AACnB,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,+DAA+D;AACjE\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-cbad78fb] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n#guest-content-vue[data-v-cbad78fb] {\\n color: var(--color-main-text);\\n background-color: var(--color-main-background);\\n min-width: 0;\\n border-radius: var(--border-radius-large);\\n box-shadow: 0 0 10px var(--color-box-shadow);\\n height: fit-content;\\n padding: 15px;\\n margin: 20px auto;\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n#content.nc-guest-content {\\n overflow: auto;\\n margin-bottom: 0;\\n height: calc(var(--body-height) + var(--body-container-margin));\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","r","_sfc_main$8","name","components","NcButton","props","reference","type","Object","required","interactive","Boolean","default","interactiveOptIn","setup","isVisible","widgetRoot","width","entry","value","isIntersecting","data","showInteractive","rendered","idleTimeout","computed","isInteractive","this","hasFullWidth","richObjectType","hasCustomWidget","i","hasInteractiveView","h","noAccess","accessible","descriptionStyle","numberOfLines","display","lineClamp","webkitLineClamp","Infinity","findIndex","max","compactLink","link","openGraphObject","startsWith","substring","route","g","$router","referenceWidgetLinkComponent","referenceWidgetLinkProps","to","href","target","watch","handler","val","clearTimeout","renderWidget","setTimeout","destroyWidget","immediate","beforeDestroy","methods","t","enableInteractive","$refs","customWidget","innerHTML","widget","document","createElement","style","appendChild","$nextTick","$el","_sfc_render$8","_vm","_c","_self","ref","class","staticClass","_b","tag","attrs","thumb","_e","_v","_s","description","on","_sfc_staticRenderFns$8","NcReferenceWidget","n","exports","_sfc_main$7","provider","emits","isRegistered","renderResult","mounted","renderElement","domElement","renderFunctionResult","providerId","Promise","resolve","then","result","object","_isVue","$on","onSubmit","onCancel","element","addEventListener","e","detail","$emit","_sfc_render$7","_sfc_staticRenderFns$7","NcCustomPickerElement","anyLinkProviderId","anyLinkProvider","title","icon_url","getProviders","window","_vue_richtext_reference_providers","filter","p","keep","search_providers_ids","length","console","debug","searchProvider","query","limit","providers","escapedQuery","replace","regexp","RegExp","filteredSortedProviders","providerList","timestamps","_vue_richtext_reference_provider_timestamps","sort","a","b","order","ta","tb","sortProviders","match","searchResult","slice","mytimer","delay","callback","ms","context","args","arguments","apply","isUrl","str","URL","error","_sfc_main$6","String","fillColor","size","Number","_sfc_render$6","$event","$attrs","_sfc_staticRenderFns$6","LinkVariantIcon","_sfc_main$5","NcSelect","NcHighlight","NcEmptyContent","selectedProvider","multiselectPlaceholder","providerIconAlt","options","isLink","focus","querySelector","onProviderSelected","onSearch","loading","_sfc_render$5","scopedSlots","_u","key","fn","option","model","$$v","expression","proxy","_sfc_staticRenderFns$5","NcProviderList","_sfc_main$4","NcLoadingIcon","NcTextField","inputValue","abortController","inputPlaceholder","isLinkValid","getElementsByTagName","onClear","onInput","abort","updateReference","AbortController","get","encodeURIComponent","signal","response","ocs","references","catch","_sfc_render$4","nativeOn","indexOf","_k","keyCode","_sfc_staticRenderFns$4","NcRawLinkInput","_sfc_main$3","_sfc_render$3","icon","rounded","thumbnailUrl","subline","_sfc_staticRenderFns$3","NcSearchResult","_sfc_main$2","DotsHorizontalIcon","D","showEmptyContent","searchPlaceholder","searchQuery","selectedResult","resultsBySearchProvider","searching","searchingMoreOf","noOptionsText","mySearchPlaceholder","searchProviderIds","rawLinkEntry","formattedSearchResults","resourceUrl","isRawLink","results","forEach","pid","entries","isCustomGroupTitle","providerEntriesWithId","map","index","isPaginated","isMore","isLoading","resetResults","cancelSearchRequests","onSearchInput","updateSearch","onSelectResultSelected","item","searchMoreOf","searchProviderId","searchProviders","searchPromises","searchOneProvider","cursor","allSettled","promises","find","status","reason","code","url","term","_sfc_render$2","_sfc_staticRenderFns$2","NcSearch","MODES","standardLinkInput","searchInput","customElement","_sfc_main$1","initialProvider","focusOnCreate","mode","pickerWrapperStyle","onEscapePressed","deselectProvider","cancelProviderSelection","cancelCustomElement","cancelSearch","cancelRawLinkInput","submitLink","timestamp","Math","floor","Date","now","params","put","touchProvider","_sfc_render$1","stopPropagation","preventDefault","_sfc_staticRenderFns$1","NcReferencePicker","_sfc_main","NcModal","ArrowLeftIcon","A","CloseIcon","C","isInsideViewer","show","backButtonTitle","closeButtonTitle","closeButtonLabel","isProviderSelected","showBackButton","modalSize","showModalName","modalName","elem","modal_content","onProviderSelect","onBackClicked","referencePicker","_sfc_render","_sfc_staticRenderFns","NcReferencePickerModal","async","getLinkWithPicker","reject","modalElement","body","append","getProvider","view","extend","propsData","$mount","$destroy","Error","storage","persist","build","emojiIndex","emojiSearch","maxResults","EmojiIndex","currentSkinTone","getCurrentSkinTone","search","concat","frequently","emoji","getSkin","emojiAddRecent","emojiData","add","skinTone","parseInt","getItem","min","setCurrentSkinTone","setItem","toString","text","referenceData","Array","displayFallback","displayedReferences","values","fallbackReference","firstReference","fetch","U","exec","trim","isPublic","post","sharingToken","_l","NcReferenceList","remarkPlaceholder","ast","node2","parent","placeholders","split","index2","list2","matches","u","component","tagName","children","splice","remarkUnescape","tree","includes","ccount","character","source","TypeError","count","asciiAlpha","regexCheck","asciiAlphanumeric","markdownLineEnding","code2","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","regex","test","fromCharCode","convert","ok","castFactory","isArray","tests","checks","parameters","anyFactory","check","checkAsRecord","nodeAsRecord","propsFactory","testFunction","looksLikeANode","call","empty","CONTINUE","EXIT","SKIP","visitParents","visitor","reverse","is","factory","parents","defineProperty","visit2","subresult","offset","grandparents","toResult","nodeAsParent","child","toFunction","replace2","inConstruct","notInConstruct","enterLiteralAutolink","token","enter","enterLiteralAutolinkValue","config","autolinkProtocol","exitLiteralAutolinkHttp","exit","exitLiteralAutolinkWww","stack","sliceSerialize","exitLiteralAutolinkEmail","autolinkEmail","exitLiteralAutolink","transformGfmAutolinkLiterals","ignored","ignore","pairs","tupleOrList","tuple","string","escapeStringRegexp","toPairs","pairIndex","grandparent","siblings","start","change","nodes","lastIndex","position","matchObject","input","global","findAndReplace","findUrl","findEmail","_","protocol","domain2","path2","prefix","previous","parts","isCorrectDomain","trailExec","trail2","closingParenIndex","openingParens","closingParens","splitUrl","atext","label","email","charCodeAt","normalizeIdentifier","toLowerCase","toUpperCase","enterFootnoteDefinition","identifier","enterFootnoteDefinitionLabelString","buffer","exitFootnoteDefinitionLabelString","resume","exitFootnoteDefinition","enterFootnoteCall","enterFootnoteCallString","exitFootnoteCallString","exitFootnoteCall","footnoteReference","state","info","tracker","createTracker","move","exit2","subexit","safe","associationId","current","before","after","footnoteDefinition","shift","indentLines","containerFlow","map$2","line","blank","peek","constructsWithoutStrikethrough","enterStrikethrough","exitStrikethrough","handleDelete","containerPhrasing","defaultStringLength","toAlignment","codePointAt","map$1","listInScope","none","hardBreak","_1","unsafe","pattern","checkQuote","marker","quote","emphasis","checkEmphasis","emptyOptions$1","settings","one","includeImageAlt","includeHtml","node","alt","all","join","html","image","suffix","imageReference","referenceType","inlineCode","sequence","compilePattern","atBreak","formatLinkAsAutolink","raw","resourceLink","value2","linkReference","text2","checkBullet","bullet","checkRule","rule","phrasing","strong","checkStrong","handle","blockquote","break","fence","checkFence","fences","lang","formatCodeAsIndented","exit3","repeat","expected","longestStreak","encode","meta","definition","heading","rank","depth","literalWithBreak","node3","setext","formatHeadingAsSetext","subexit2","lastIndexOf","closeAtx","list","bulletCurrent","ordered","bulletOrdered","checkBulletOrdered","bulletOther","checkBulletOther","useDifferentMarker","bulletLastUsed","firstListItem","indexStack","listItem","listItemIndent","checkListItemIndent","incrementListMarker","spread","ceil","paragraph","root","some","d","thematicBreak","ruleSpaces","repetition","ruleRepetition","checkRuleRepetition","enterTable","align","_align","inTable","exitTable","enterRow","enterCell","exitCodeText","$0","$1","gfmTableToMarkdown","padding","tableCellPadding","alignDelimiters","tablePipeAlign","stringLength","around","handlers","table","serializeData","handleTableRowAsData","handleTableAsData","tableCell","handleTableCell","tableRow","matrix","alignments","cellMatrix","sizeMatrix","longestCellByColumn","mostCellsPerRow","rowIndex","row2","sizes2","columnIndex2","cell","columnIndex","row","sizes","lines","delimiterStart","delimiterEnd","markdownTable","exitCheck","checked","exitParagraphWithTaskListItem","head","firstParaghraph","sibling","column","assign","listItemWithTaskListItem","checkable","checkbox","remove","items","end","chunkStart","from","unshift","hasOwnProperty","syntaxExtension","all2","extension","hook","left","right","constructs","existing","wwwPrefix","tokenize","effects","ok2","nok","wwwPrefixInside","consume","wwwPrefixAfter","partial","domain","underscoreInLastSegment","underscoreInLastLastSegment","seen","domainInside","trail","domainAfter","domainAtPunctuation","path","sizeOpen","sizeClose","pathInside","pathAtPunctuation","trailCharRefStart","trailBracketAfter","trailCharRefInside","emailDomainDotTrail","wwwAutolink","self","previousWww","previousUnbalanced","events","attempt","wwwAfter","protocolAutolink","previousProtocol","fromCodePoint","protocolPrefixInside","protocolSlashesInside","afterProtocol","asciiControl","protocolAfter","emailAutolink","dot","gfmAtext","previousEmail","emailDomain","emailDomainAfter","emailDomainDot","_balanced","_gfmAutolinkLiteralWalkedInto","classifyCharacter","resolveAll","constructs2","called","factorySpace","POSITIVE_INFINITY","blankLine","indent","tail","tokenizePotentialGfmFootnoteCall","defined","parser","gfmFootnotes","labelStart","resolveToPotentialGfmFootnoteCall","_bufferIndex","chunk","contentType","replacement","tokenizeGfmFootnoteCall","callStart","callData","callEscape","tokenizeDefinitionStart","_container","labelAtMarker","labelInside","labelAfter","labelEscape","whitespaceAfter","tokenizeDefinitionContinuation","gfmFootnoteDefinitionEnd","gfmStrikethrough","single","singleTilde","tokenizer","previous2","more","_open","_close","open","strikethrough","nextEvents","insideSpan","null","attentionMarkers","EditMap","constructor","editMap","at","addImpl","vecs","pop","gfmTableAlign","inDelimiterRow","event","alignIndex","tokenizeTable","sizeB","next","bodyRowStart","headRowBefore","lazy","headRowBreak","headRowStart","interrupt","headDelimiterStart","headRowData","headRowEscape","headDelimiterBefore","disable","headDelimiterValueBefore","headDelimiterCellBefore","headDelimiterNok","headDelimiterLeftAlignmentAfter","headDelimiterCellAfter","headDelimiterFiller","headDelimiterRightAlignmentAfter","bodyRowBreak","bodyRowData","bodyRowEscape","resolveTable","currentTable","currentBody","currentCell","inFirstCellAwaitingPipe","rowKind","lastCell","afterHeadAwaitingFirstBodyRow","lastTableEnd","map2","flushTableEnd","flushCell","range","rowEnd","previousCell","groupName","getPoint","relatedStart","relatedEnd","valueToken","tableBody","exits","related","side","tasklistCheck","_gfmTasklistFirstContentOfListItem","inside","close","spaceThenNonSpace","emptyOptions","remarkGfm","micromarkExtensions","fromMarkdownExtensions","toMarkdownExtensions","extensions","combineExtensions","continuation","resolveTo","flow","gfm","transforms","literalAutolink","literalAutolinkEmail","literalAutolinkHttp","literalAutolinkWww","gfmFootnoteDefinition","gfmFootnoteDefinitionLabelString","gfmFootnoteCall","gfmFootnoteCallString","canContainEols","tableData","tableHeader","codeText","taskListCheckValueChecked","taskListCheckValueUnchecked","delete","gfmToMarkdown","LINK_PROTOCOLS","rehypeHighlight","referenceLimit","referenceInteractive","referenceInteractiveOptIn","useMarkdown","useExtendedMarkdown","autolink","parentId","G","renderPlaintext","componentClass","prepareTextNode","argumentId","argument","flat","renderMarkdown","renderedMarkdown","use","except","toHast","rel","importRehypeHighlightLibrary","nestedNode","inputNode","labelParts","nestedNodeIndex","inputComponent","N","disabled","placeholder","processSync","render","NcRichText","Vue","directive","vElementVisibility","dataComponent","Function","dataKey","dataSources","itemHeight","extraProps","bufferItems","headerHeight","tableHeight","resizeObserver","startIndex","shownItems","renderedItems","tbodyStyle","isOverScrolled","hiddenAfterItems","paddingTop","paddingBottom","tfoot","thead","ResizeObserver","debounce","clientHeight","logger","onScroll","observe","disconnect","handleFooterVisibility","visible","round","scrollTop","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_setupProxy","_t","directives","rawName","NcDialog","NcPasswordField","newUser","quotaOptions","possibleManagers","managerInputLabel","managerLabel","promise","showConfig","$store","getters","getShowConfig","getServerData","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","availableGroups","isAdmin","isDelegatedAdmin","getSortedGroups","getSubAdminGroups","group","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","username","createUser","dispatch","userid","password","displayName","mailAddress","groups","subadmin","subAdminsGroups","quota","language","manager","statuscode","searchGroups","toggleLoading","cancel","commit","createGroup","_ref","gid","addGroup","isCreating","canAdd","validateQuota","validQuota","OC","Util","computerFileSize","formatFileSize","parseFileSize","languageFilterBy","_ref2","toLocaleLowerCase","users","_g","$listeners","$set","newUserRequireEmail","showLanguages","filteredUsers","userCount","hasObfuscated","passwordLabel","showUserBackend","showStoragePath","showFirstLogin","showLastLogin","namespaceMapping","ext","mime","rootNameMapping","rss","svg","XmlTextDetector","firstTag","onEnd","sax","xmlns","nesting","onerror","message","fileType","undefined","onopentag","uri","fullScan","onclosetag","write","isValid","defineComponent","NcActionButton","NcActions","NcIconSvgWrapper","actions","edit","user","editSvg","SvgCheck","SvgPencil","enabledActions","action","enabled","isSvg","xmlTextDetector","toggleEdit","inject","isInSemanticMenu","labelId","mixins","prop","validator","modelValue","util","warn","isFocusable","ariaChecked","toggleInput","click","onChange","focusable","domProps","_q","ctrlKey","shiftKey","altKey","metaKey","mdiArrowRight","computedId","onClick","isIconUrl","backgroundImage","selection","showDetails","showdetails","color","formattedColor","backgroundColor","NcInputConfirmCancel","editLabel","editPlaceholder","newItemValue","newItemActive","handleNewItem","newItemInput","focusInput","cancelNewItem","handleNewItemDone","Cog","ClickOutside","clickOutsideOptions","clickOutsideConfig","closeMenu","toggleMenu","queue","concurrency","__name","hash","src","__props","emit","canvas","imageLoaded","drawBlurHash","l","height","pixels","ctx","getContext","imageData","createImageData","set","putImageData","withResolvers","Image","onload","preloadImage","success","__sfc","_setup","$style","fadeTransition","fadeTransitionActive","__cssModules","_sfc_injectStyles","NcAvatar","collection","detailsOpen","newName","getIcon","resource","iconClass","typeClass","resources","getComponent","iconUrl","mimetype","MimeType","getIconUrl","toggleDetails","removeResource","collectionId","resourceType","resourceId","openRename","renameCollection","composing","extractOcsData","NcCollectionListItem","isActive","storedCollections","fetchCollectionsByResource","createCollection","addResourceToCollection","removeResourceFromCollection","addCollection","updateCollection","addResourceService","collections","getCollectionsByResourceService","addCollections","baseResourceType","baseResourceId","createCollectionService","collectionName","renameCollectionService","removeResourceService","removeCollection","useCollections","searchCollections","searchService","finally","selectIsOpen","generatingCodes","codes","collectionsError","isSelectOpen","OCP","Collaboration","getTypes","method","getLabel","trigger","resourceIdentifier","deep","select","selectedOption","setError","showSelect","renameCollectionFromItem","_m","getElementById","classList","destroyed","ariaLabel","descriptionId","AccountGroup","OpenInNew","teamResourceProviders","circles","ChevronDown","ChevronUp","itemId","appEnabled","appswebroots","version","teamResources","teamOpen","teamProviders","teamId","team","t2","reduce","acc","fetchTeamResources","created","teams","toggleOpen","iconEmoji","iconSvg","iconURL","NcTeamResources","labelTranslated","resourceName","NcResource","fileInfo","header","primary","related_resources","hasResourceInfo","isFiles","fetchRelatedResources","saving","indicatorColor","ariaLabelClearSelected","ariaLabelListbox","ariaLabelDeselectOption","optionLabel","keepOpen","filterBy","inputId","inputLabel","labelOutside","multiple","noWrap","clickableArea","getComputedStyle","getPropertyValue","gridBaseLine","avatarSize","localFilterBy","search2","subname","NcListItemIcon","$props","hint","submitTranslated","idSubmit","checkIfDarkTheme","el","backgroundInvertIfDark","isDarkTheme","isDarkSystemTheme","updateIsDarkTheme","attributes","useIsDarkThemeElement","Symbol","toStringTag","externalActions","formattedFullTime","useFormatDateTime","firstLoginTimestamp","relativeTime","format","timeStyle","dateStyle","selectedGroups","selectedSubAdminGroups","userGroups","userSubAdminGroups","usedSpace","quotaUsed","used","usedQuota","pow","isNaN","userQuota","humanQuota","userLanguage","userLang","userFirstLogin","userLastLoginTooltip","lastLoginTimestamp","formatDate","userLastLogin","relativeModifiedDate","NcProgressBar","UserRowActions","UserRowMixin","selectedQuota","rand","random","loadingPossibleManagers","currentManager","editing","groupsDetails","subAdminGroupsDetails","subadmins","wipe","editedDisplayName","displayname","editedPassword","editedMail","isObfuscated","isLoadingUser","isLoadingField","uniqueId","availableSubAdminGroups","userGroupsLabels","userSubAdminGroupsLabels","canEdit","getCurrentUser","uid","defaultQuota","userActions","deleteUser","wipeUserDevices","enableDisableUser","sendWelcomeMail","editedUserQuota","unlimitedQuota","availableLanguages","initManager","confirmPassword","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","showSuccess","timeout","filterManagers","managers","userId","searchInitialUserManager","loadGroupsDetails","loadUserGroups","selectedGroup","loadSubAdminGroupsDetails","loadUserSubAdminGroups","updateUserManager","previousManager","showError","updateDisplayName","updatePassword","updateEmail","addUserGroup","removeUserGroup","canRemove","$route","addUserSubAdmin","removeUserSubAdmin","setUserQuota","setUserLanguage","displayNameField","inputField","backendCapabilities","setDisplayName","canChangePassword","setPassword","backend","storageLocation","freeze","Fragment","NewUserDialog","UserListFooter","UserListHeader","VirtualList","mdiAccountGroup","rowHeight","UserRow","isInitialLoad","getUsers","quotaPreset","cur","allowUnlimitedQuota","usersOffset","getUsersOffset","usersLimit","getUsersLimit","disabledUsersOffset","getDisabledUsersOffset","disabledUsersLimit","getDisabledUsersLimit","usersCount","redirectIfDisabled","loadUsers","setNewUserDefaultGroup","Notification","showTemporary","resetForm","subscribe","resetSearch","unsubscribe","handleScrollEnd","closeDialog","defaultLanguage","currentGroup","allGroups","getGroups","usercount","showNewUserForm","NcAppContent","UserList","pageHeading","selectedGroupDecoded","admin","decodeURIComponent","OCA","Settings","registerAction","formatGroup","controller","CancelablePromise","axios","generateOcsUrl","_ref3","inheritAttrs","headingId","isHeading","headingLevel","wrapperTag","captionTag","hasActions","$slots","NcAppNavigationCaption","buttonId","variant","NcAppNavigationNew","strict","opt","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","Stream","buffers","clearBuffers","q","c","bufferCheckPosition","lowercase","lowercasetags","looseCase","tags","closed","closedRoot","sawRoot","noscript","S","BEGIN","strictEntities","ENTITIES","create","XML_ENTITIES","attribList","ns","rootNS","unquotedAttributeValues","trackPosition","EVENTS","o","F","prototype","keys","charAt","BEGIN_WHITESPACE","beginWhiteSpace","TEXT","starti","textNode","isWhitespace","strictFail","TEXT_ENTITY","OPEN_WAKA","startTagPosition","SCRIPT","SCRIPT_ENDING","script","CLOSE_TAG","SGML_DECL","sgmlDecl","isMatch","nameStart","OPEN_TAG","PROC_INST","procInstName","procInstBody","pad","COMMENT","comment","doctype","DOCTYPE_DTD","CDATA","emitNode","cdata","DOCTYPE","isQuote","SGML_DECL_QUOTED","DOCTYPE_QUOTED","DOCTYPE_DTD_QUOTED","COMMENT_ENDING","COMMENT_ENDED","textopts","CDATA_ENDING","CDATA_ENDING_2","PROC_INST_ENDING","PROC_INST_BODY","nameBody","newTag","openTag","OPEN_TAG_SLASH","ATTRIB","closeTag","attribName","attribValue","ATTRIB_NAME","ATTRIB_VALUE","attrib","ATTRIB_NAME_SAW_WHITE","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_CLOSED","isAttribEnd","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG_SAW_WHITE","notMatch","returnState","parsedEntity","parseEntity","unparsedEntities","entity","entityBody","entityStart","maxAllowed","maxActual","len","closeText","m","checkBufferLength","flush","ex","streamWraps","ev","_parser","writable","readable","me","onend","er","_decoder","removeAllListeners","enumerable","configurable","Buffer","isBuffer","SD","XML_NAMESPACE","XMLNS_NAMESPACE","xml","stringFromCharCode","s","STATE","COMMENT_STARTING","nodeType","normalize","qname","attribute","qualName","local","qn","selfClosing","JSON","stringify","nv","isSelfClosing","closeTo","x","num","entityLC","numStr","highSurrogate","lowSurrogate","codeUnits","codePoint","isFinite","RangeError","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","NcNoteCard","loadingSendMail","groupSorting","getGroupSorting","GroupSorting","GroupName","sorting","UserCount","isGroupSortingEnforced","forceSortGroupByName","isModalOpen","setShowConfig","newUserSendEmail","generateUrl","filterQuotas","searchValue","replaceAll","setDefaultQuota","app","Delete","NcActionInput","NcAppNavigationItem","NcCounterBubble","Pencil","active","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","handleGroupMenuOpen","renameGroup","displayNameInput","groupid","removeGroup","formatGroupMenu","useFormatGroups","adminGroup","disabledGroup","recentGroup","_defineComponent","store","useStore","useRoute","router","useRouter","onBeforeMount","loadGroups","isAdminOrDelegatedAdmin","isAddGroupOpen","loadingAddGroup","hasAddGroupError","newGroupName","loadingGroups","groupsSearchQuery","filteredGroups","groupListItems","lastGroupListItem","findLast","$vnode","isLastGroupVisible","useElementVisibility","groupId","newGroupListItem","scrollIntoView","behavior","block","mdiPlus","NcActionText","NcAppNavigationList","NcAppNavigationSearch","GroupListItem","refInFor","isDialogOpen","getUserCount","showNewUserMenu","mdiAccount","mdiAccountOff","mdiCog","mdiShieldAccount","mdiHistory","NcAppNavigation","UserSettingsDialog","AppNavigationGroupList"],"sourceRoot":""} \ No newline at end of file
diff --git a/dist/settings-vue-settings-apps-users-management.js b/dist/settings-vue-settings-apps-users-management.js
index c17c1b5154a..e33446731b5 100644
--- a/dist/settings-vue-settings-apps-users-management.js
+++ b/dist/settings-vue-settings-apps-users-management.js
@@ -1,2 +1,2 @@
-(()=>{var e,r,s,i={6028:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var s=r(65043),i=r(56760);r(51257);const n=function(e){return e.replace(/\/$/,"")},o={requireAdmin:()=>(0,i.C5)(),get:(e,t)=>s.Ay.get(n(e),t),post:(e,t)=>s.Ay.post(n(e),t),patch:(e,t)=>s.Ay.patch(n(e),t),put:(e,t)=>s.Ay.put(n(e),t),delete:(e,t)=>s.Ay.delete(n(e),{params:t})}},12836:(e,t,r)=>{"use strict";var s=r(85471),i=r(95353),n=r(80284),o=r(58723),a=r(53334),u=r(22378);const l=(0,s.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:u.A})}),c=(0,r(14486).A)(l,(function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)}),[],!1,null,null,null).exports;var d=r(40173),p=r(63814);const h=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([r.e(4208),r.e(7265),r.e(3239)]).then(r.bind(r,65958)),navigation:()=>Promise.all([r.e(4208),r.e(7265),r.e(3239)]).then(r.bind(r,84399))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:(0,r(32981).C)("settings","appstoreEnabled",!0)?"discover":"installed"}},components:{default:()=>Promise.all([r.e(4208),r.e(7265),r.e(4529)]).then(r.bind(r,1368)),navigation:()=>Promise.all([r.e(4208),r.e(7265),r.e(4529)]).then(r.bind(r,78451)),sidebar:()=>Promise.all([r.e(4208),r.e(7265),r.e(4529)]).then(r.bind(r,84694))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];s.Ay.use(d.Ay);const g=new d.Ay({mode:"history",base:(0,p.Jv)(""),linkActiveClass:"active",routes:h});var m=r(14744),f=r(21777),E=r(65899);r.nc=(0,f.aV)(),s.Ay.prototype.t=a.t,s.Ay.prototype.n=a.n,s.Ay.use(E.R2),s.Ay.use(n.Ay,{defaultHtml:!1}),s.Ay.use(i.Ay);const A=(0,m.P)();(0,o.O)(A,g);const b=(0,E.Ey)();new s.Ay({router:g,store:A,pinia:b,render:e=>e(c),el:"#content"})},14744:(e,r,s)=>{"use strict";s.d(r,{P:()=>D});var i=s(95353),n=s(59097),o=s(87485),a=s(35810),u=s(85168),l=s(63814),c=s(32981),d=s(65043),p=s(15916),h=s(53334);const g=Intl.Collator([(0,h.Z0)(),(0,h.lO)()],{numeric:!0,usage:"sort"});var m=s(6028),f=s(36620);const E=(0,c.C)("settings","usersSettings",{}),A=(0,n.c0)("settings").persist(!0).build(),b={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},I={users:[],groups:[...E.getSubAdminGroups??[],...E.systemGroups??[]],orderBy:E.sortGroups??p.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:E.userCount??0,showConfig:{showStoragePath:"true"===A.getItem("account_settings__showStoragePath"),showUserBackend:"true"===A.getItem("account_settings__showUserBackend"),showFirstLogin:"true"===A.getItem("account_settings__showFirstLogin"),showLastLogin:"true"===A.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===A.getItem("account_settings__showNewUserForm"),showLanguages:"true"===A.getItem("account_settings__showLanguages")}},N={appendUsers(e,t){const r=e.users.map((e=>{let{id:t}=e;return t})),s=Object.values(t).filter((e=>{let{id:t}=e;return!r.includes(t)})),i=e.users.concat(s);e.usersOffset+=e.usersLimit,e.users=i},updateDisabledUsers(e,t){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},addGroup(e,t){try{if(void 0!==e.groups.find((e=>e.id===t.id)))return;const r=Object.assign({},b,t);e.groups.unshift(r)}catch(e){console.error("Can't create group",e)}},renameGroup(e,t){let{gid:r,displayName:s}=t;const i=e.groups.findIndex((e=>e.id===r));if(i>=0){const t=e.groups[i];t.name=s,e.groups.splice(i,1,t)}},removeGroup(e,t){const r=e.groups.findIndex((e=>e.id===t));r>=0&&e.groups.splice(r,1)},addUserGroup(e,t){let{userid:r,gid:s}=t;const i=e.groups.find((e=>e.id===s)),n=e.users.find((e=>e.id===r));i&&n.enabled&&e.userCount>0&&i.usercount++,n.groups.push(s)},removeUserGroup(e,t){let{userid:r,gid:s}=t;const i=e.groups.find((e=>e.id===s)),n=e.users.find((e=>e.id===r));i&&n.enabled&&e.userCount>0&&i.usercount--;const o=n.groups;o.splice(o.indexOf(s),1)},addUserSubAdmin(e,t){let{userid:r,gid:s}=t;e.users.find((e=>e.id===r)).subadmin.push(s)},removeUserSubAdmin(e,t){let{userid:r,gid:s}=t;const i=e.users.find((e=>e.id===r)).subadmin;i.splice(i.indexOf(s),1)},deleteUser(e,t){const r=e.users.findIndex((e=>e.id===t));this.commit("updateUserCounts",{user:e.users[r],actionType:"remove"}),e.users.splice(r,1)},addUserData(e,t){const r=t.data.ocs.data;e.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser(e,t){let{userid:r,enabled:s}=t;const i=e.users.find((e=>e.id===r));i.enabled=s,this.commit("updateUserCounts",{user:i,actionType:s?"enable":"disable"})},updateUserCounts(e,t){let{user:r,actionType:s}=t;if(0===e.userCount)return;const i=e.groups.find((e=>"__nc_internal_recent"===e.id)),n=e.groups.find((e=>"disabled"===e.id));switch(s){case"enable":case"disable":n.usercount+=r.enabled?-1:1,i.usercount+=r.enabled?1:-1,e.userCount+=r.enabled?1:-1,r.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s&&(s.disabled+=r.enabled?-1:1)}));break;case"create":i.usercount++,e.userCount++,r.groups.forEach((t=>{const r=e.groups.find((e=>e.id===t));r&&r.usercount++}));break;case"remove":r.enabled?(i.usercount--,e.userCount--,r.groups.forEach((t=>{const r=e.groups.find((e=>e.id===t));r?r.usercount--:console.warn("User group "+t+" does not exist during user removal")}))):(n.usercount--,r.groups.forEach((t=>{const r=e.groups.find((e=>e.id===t));r&&r.disabled--})));break;default:f.A.error(`Unknown action type in updateUserCounts: '${s}'`)}},setUserData(e,t){let{userid:r,key:s,value:i}=t;if("quota"===s){const t=(0,a.lT)(i,!0);e.users.find((e=>e.id===r))[s][s]=null!==t?t:i}else e.users.find((e=>e.id===r))[s]=i},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},resetGroups(e){e.groups=[...E.getSubAdminGroups??[],...E.systemGroups??[]]},setShowConfig(e,t){let{key:r,value:s}=t;A.setItem(`account_settings__${r}`,JSON.stringify(s)),e.showConfig[r]=s},setGroupSorting(e,r){const s=e.orderBy;e.orderBy=r,d.Ay.post((0,l.Jv)("/settings/users/preferences/group.sortBy"),{value:String(r)}).catch((r=>{e.orderBy=s,(0,u.Qg)(t("settings","Could not set group sorting")),f.A.error(r)}))}},v={getUsers:e=>e.users,getGroups:e=>e.groups,getSubAdminGroups:()=>E.subAdminGroups??[],getSortedGroups(e){const t=[...e.groups];return e.orderBy===p.q.UserCount?t.sort(((e,t)=>{const r=e.usercount-e.disabled,s=t.usercount-t.disabled;return r<s?1:s<r?-1:g.compare(e.name,t.name)})):t.sort(((e,t)=>g.compare(e.name,t.name)))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},L=d.Ay.CancelToken;let y=null;const O={state:I,mutations:N,getters:v,actions:{searchUsers(e,t){let{offset:r,limit:s,search:i}=t;return i="string"==typeof i?i:"",m.A.get((0,l.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i})).catch((t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)}))},getUser:(e,t)=>m.A.get((0,l.KT)(`cloud/users/${t}`)).catch((t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),getUsers(e,t){let{offset:r,limit:s,search:i,group:n}=t;return y&&y.cancel("Operation canceled by another search request."),y=L.source(),i="string"==typeof i?i:"",i=i.replace(/in:[^\s]+/g,"").trim(),n="string"==typeof n?n:"",""!==n?m.A.get((0,l.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(n),offset:r,limit:s,search:i}),{cancelToken:y.token}).then((t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r})).catch((t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)})):m.A.get((0,l.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i}),{cancelToken:y.token}).then((t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r})).catch((t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)}))},async getRecentUsers(e,t){let{offset:r,limit:s,search:i}=t;const n=(0,l.KT)("cloud/users/recent?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i});try{const t=await m.A.get(n),r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}catch(t){e.commit("API_FAILURE",t)}},async getDisabledUsers(e,t){let{offset:r,limit:s,search:i}=t;const n=(0,l.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i});try{const t=await m.A.get(n),r=Object.keys(t.data.ocs.data.users).length;return r>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),r}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,t){let{offset:r,limit:s,search:i}=t;i="string"==typeof i?i:"";const n=-1===s?"":`&limit=${s}`;return m.A.get((0,l.KT)("cloud/groups?offset={offset}&search={search}",{offset:r,search:i})+n).then((t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach((function(t){e.commit("addGroup",{id:t,name:t})})),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromList(e,t){let{offset:r,limit:s,search:i}=t;return i="string"==typeof i?i:"",m.A.get((0,l.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i})).then((t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromGroup(e,t){let{groupid:r,offset:s,limit:i}=t;return m.A.get((0,l.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(r),offset:s,limit:i})).then((t=>e.commit("getUsersFromList",t.data.ocs.data.users))).catch((t=>e.commit("API_FAILURE",t)))},getPasswordPolicyMinLength:e=>!(!(0,o.F)().password_policy||!(0,o.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,o.F)().password_policy.minLength),(0,o.F)().password_policy.minLength),addGroup:(e,t)=>m.A.requireAdmin().then((r=>m.A.post((0,l.KT)("cloud/groups"),{groupid:t}).then((r=>(e.commit("addGroup",{id:t,name:t}),{gid:t,displayName:t}))).catch((e=>{throw e})))).catch((r=>{throw e.commit("API_FAILURE",{gid:t,error:r}),r})),renameGroup(e,t){let{groupid:r,displayName:s}=t;return m.A.requireAdmin().then((t=>m.A.put((0,l.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(r)}),{key:"displayname",value:s}).then((t=>(e.commit("renameGroup",{gid:r,displayName:s}),{groupid:r,displayName:s}))).catch((e=>{throw e})))).catch((t=>{throw e.commit("API_FAILURE",{groupid:r,error:t}),t}))},removeGroup:(e,t)=>m.A.requireAdmin().then((r=>m.A.delete((0,l.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then((r=>e.commit("removeGroup",t))).catch((e=>{throw e})))).catch((r=>e.commit("API_FAILURE",{gid:t,error:r}))),addUserGroup(e,t){let{userid:r,gid:s}=t;return m.A.requireAdmin().then((t=>m.A.post((0,l.KT)("cloud/users/{userid}/groups",{userid:r}),{groupid:s}).then((t=>e.commit("addUserGroup",{userid:r,gid:s}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:r,error:t})))},removeUserGroup(e,t){let{userid:r,gid:s}=t;return m.A.requireAdmin().then((t=>m.A.delete((0,l.KT)("cloud/users/{userid}/groups",{userid:r}),{groupid:s}).then((t=>e.commit("removeUserGroup",{userid:r,gid:s}))).catch((e=>{throw e})))).catch((t=>{throw e.commit("API_FAILURE",{userid:r,error:t}),t}))},addUserSubAdmin(e,t){let{userid:r,gid:s}=t;return m.A.requireAdmin().then((t=>m.A.post((0,l.KT)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:s}).then((t=>e.commit("addUserSubAdmin",{userid:r,gid:s}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:r,error:t})))},removeUserSubAdmin(e,t){let{userid:r,gid:s}=t;return m.A.requireAdmin().then((t=>m.A.delete((0,l.KT)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:s}).then((t=>e.commit("removeUserSubAdmin",{userid:r,gid:s}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:r,error:t})))},async wipeUserDevices(e,t){try{return await m.A.requireAdmin(),await m.A.post((0,l.KT)("cloud/users/{userid}/wipe",{userid:t}))}catch(r){return e.commit("API_FAILURE",{userid:t,error:r}),Promise.reject(new Error("Failed to wipe user devices"))}},deleteUser:(e,t)=>m.A.requireAdmin().then((r=>m.A.delete((0,l.KT)("cloud/users/{userid}",{userid:t})).then((r=>e.commit("deleteUser",t))).catch((e=>{throw e})))).catch((r=>e.commit("API_FAILURE",{userid:t,error:r}))),addUser(e,t){let{commit:r,dispatch:s}=e,{userid:i,password:n,displayName:o,email:a,groups:u,subadmin:c,quota:d,language:p,manager:h}=t;return m.A.requireAdmin().then((e=>m.A.post((0,l.KT)("cloud/users"),{userid:i,password:n,displayName:o,email:a,groups:u,subadmin:c,quota:d,language:p,manager:h}).then((e=>s("addUserData",i||e.data.ocs.data.id))).catch((e=>{throw e})))).catch((e=>{throw r("API_FAILURE",{userid:i,error:e}),e}))},addUserData:(e,t)=>m.A.requireAdmin().then((r=>m.A.get((0,l.KT)("cloud/users/{userid}",{userid:t})).then((t=>e.commit("addUserData",t))).catch((e=>{throw e})))).catch((r=>e.commit("API_FAILURE",{userid:t,error:r}))),enableDisableUser(e,t){let{userid:r,enabled:s=!0}=t;const i=s?"enable":"disable";return m.A.requireAdmin().then((t=>m.A.put((0,l.KT)("cloud/users/{userid}/{userStatus}",{userid:r,userStatus:i})).then((t=>e.commit("enableDisableUser",{userid:r,enabled:s}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:r,error:t})))},async setUserData(e,t){let{userid:r,key:s,value:i}=t;if(!["email","language","quota","displayname","password","manager"].includes(s))throw new Error("Invalid request data");if(""===i&&!["email","displayname","manager"].includes(s))throw new Error("Value cannot be empty for this field");try{return await m.A.requireAdmin(),await m.A.put((0,l.KT)("cloud/users/{userid}",{userid:r}),{key:s,value:i}),e.commit("setUserData",{userid:r,key:s,value:i})}catch(t){throw e.commit("API_FAILURE",{userid:r,error:t}),t}},sendWelcomeMail:(e,t)=>m.A.requireAdmin().then((e=>m.A.post((0,l.KT)("cloud/users/{userid}/welcome",{userid:t})).then((e=>!0)).catch((e=>{throw e})))).catch((r=>e.commit("API_FAILURE",{userid:t,error:r})))}};var x=s(85471);const T={apps:[],bundles:(0,c.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,c.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null,appApiEnabled:(0,c.C)("settings","appApiEnabled",!1)},P={APPS_API_FAILURE(e,r){(0,u.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"<br>"+r.error.response.data.data.message,{isHTML:!0}),console.error(e,r)},initCategories(e,t){let{categories:r,updateCount:s}=t;e.categories=r,e.updateCount=s},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,t){let{appId:r,error:s}=t;Array.isArray(r)||(r=[r]),r.forEach((t=>{e.apps.find((e=>e.id===t)).error=s}))},clearError(e,t){let{appId:r,error:s}=t;e.apps.find((e=>e.id===r)).error=null},enableApp(e,t){let{appId:r,groups:s}=t;const i=e.apps.find((e=>e.id===r));i.active=!0,i.groups=s,"app_api"===i.id&&(e.appApiEnabled=!0)},setInstallState(e,t){let{appId:r,canInstall:s}=t;const i=e.apps.find((e=>e.id===r));i&&(i.canInstall=!0===s)},disableApp(e,t){const r=e.apps.find((e=>e.id===t));r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0),"app_api"===r.id&&(e.appApiEnabled=!1)},uninstallApp(e,t){e.apps.find((e=>e.id===t)).active=!1,e.apps.find((e=>e.id===t)).groups=[],e.apps.find((e=>e.id===t)).needsDownload=!0,e.apps.find((e=>e.id===t)).installed=!1,e.apps.find((e=>e.id===t)).canUnInstall=!1,e.apps.find((e=>e.id===t)).canInstall=!0,"app_api"===t&&(e.appApiEnabled=!1)},updateApp(e,t){const r=e.apps.find((e=>e.id===t)),s=r.update;r.update=null,r.version=s,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach((t=>{x.Ay.set(e.loading,t,!0)})):x.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach((t=>{x.Ay.set(e.loading,t,!1)})):x.Ay.set(e.loading,t,!1)}},R={enableApp(e,r){let s,{appId:i,groups:n}=r;return s=Array.isArray(i)?i:[i],m.A.requireAdmin().then((r=>(e.commit("startLoading",s),e.commit("startLoading","install"),m.A.post((0,l.Jv)("settings/apps/enable"),{appIds:s,groups:n}).then((r=>(e.commit("stopLoading",s),e.commit("stopLoading","install"),s.forEach((t=>{e.commit("enableApp",{appId:t,groups:n})})),d.Ay.get((0,l.Jv)("apps/files/")).then((()=>{r.data.update_required&&((0,u.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((()=>{Array.isArray(i)||((0,u.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:s,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:i}))}))))).catch((t=>{e.commit("stopLoading",s),e.commit("stopLoading","install"),e.commit("setError",{appId:s,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:i,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:i,error:t})))},forceEnableApp(e,t){let r,{appId:s,groups:i}=t;return r=Array.isArray(s)?s:[s],m.A.requireAdmin().then((()=>(e.commit("startLoading",r),e.commit("startLoading","install"),m.A.post((0,l.Jv)("settings/apps/force"),{appId:s}).then((t=>{e.commit("setInstallState",{appId:s,canInstall:!0})})).catch((t=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:s,error:t})})).finally((()=>{e.commit("stopLoading",r),e.commit("stopLoading","install")}))))).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},disableApp(e,t){let r,{appId:s}=t;return r=Array.isArray(s)?s:[s],m.A.requireAdmin().then((t=>(e.commit("startLoading",r),m.A.post((0,l.Jv)("settings/apps/disable"),{appIds:r}).then((t=>(e.commit("stopLoading",r),r.forEach((t=>{e.commit("disableApp",t)})),!0))).catch((t=>{e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:s,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},uninstallApp(e,t){let{appId:r}=t;return m.A.requireAdmin().then((t=>(e.commit("startLoading",r),m.A.get((0,l.Jv)(`settings/apps/uninstall/${r}`)).then((t=>(e.commit("stopLoading",r),e.commit("uninstallApp",r),!0))).catch((t=>{e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:r,error:t})))},updateApp(e,t){let{appId:r}=t;return m.A.requireAdmin().then((t=>(e.commit("startLoading",r),e.commit("startLoading","install"),m.A.get((0,l.Jv)(`settings/apps/update/${r}`)).then((t=>(e.commit("stopLoading","install"),e.commit("stopLoading",r),e.commit("updateApp",r),!0))).catch((t=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:r,error:t})))},getAllApps:e=>(e.commit("startLoading","list"),m.A.get((0,l.Jv)("settings/apps/list")).then((t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0))).catch((t=>e.commit("API_FAILURE",t)))),async getCategories(e){let{shouldRefetchCategories:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=m.A.get((0,l.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const r=await t;return r.data.length>0?(e.commit("appendCategories",r.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},w={state:T,mutations:P,getters:{isAppApiEnabled:e=>e.appApiEnabled,loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find((e=>e.id===t))},actions:R},C={serverData:(0,c.C)("settings","usersSettings",{})},U={setServerData(e,t){e.serverData=t}},S={state:C,mutations:U,getters:{getServerData:e=>e.serverData},actions:{}},$={state:{},mutations:{},getters:{},actions:{setAppConfig(e,t){let{app:r,key:s,value:i}=t;return m.A.requireAdmin().then((e=>m.A.post((0,l.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:r,key:s}),{value:i}).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{app:r,key:s,value:i,error:t})))}}},_={API_FAILURE(e,r){try{const e=r.error.response.data.ocs.meta.message;(0,u.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"<br>"+e,{isHTML:!0})}catch(e){(0,u.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}console.error(e,r)}};let F=null;const D=()=>(null===F&&(F=new i.il({modules:{users:O,apps:w,settings:S,oc:$},strict:!1,mutations:_})),F)},15916:(e,t,r)=>{"use strict";var s;r.d(t,{q:()=>s}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(s||(s={}))},35810:(e,t,r)=>{"use strict";r.d(t,{Al:()=>s.r,H4:()=>s.c,Q$:()=>s.e,R3:()=>s.n,VL:()=>s.l,lJ:()=>s.d,lT:()=>c,pt:()=>s.F,ur:()=>p,v7:()=>l});var s=r(68251),i=(r(43627),r(53334)),n=r(380),o=r(65606);Error;const a=["B","KB","MB","GB","TB","PB"],u=["B","KiB","MiB","GiB","TiB","PiB"];function l(e,t=!1,r=!1,s=!1){r=r&&!s,"string"==typeof e&&(e=Number(e));let n=e>0?Math.floor(Math.log(e)/Math.log(s?1e3:1024)):0;n=Math.min((r?u.length:a.length)-1,n);const o=r?u[n]:a[n];let l=(e/Math.pow(s?1e3:1024,n)).toFixed(1);return!0===t&&0===n?("0.0"!==l?"< 1 ":"0 ")+(r?u[1]:a[1]):(l=n<2?parseFloat(l).toFixed(0):parseFloat(l).toLocaleString((0,i.lO)()),l+" "+o)}function c(e,t=!1){try{e=`${e}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch(e){return null}const r=e.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===r||"."===r[1]||""===r[1])return null;const s=`${r[1]}`,i="i"===r[4]||t?1024:1e3;return Math.round(Number.parseFloat(s)*i**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[r[3]])}function d(e){return e instanceof Date?e.toISOString():String(e)}function p(e,t={}){const r={sortingMode:"basename",sortingOrder:"asc",...t};return function(e,t,r){r=r??[];const s=(t=t??[e=>e]).map(((e,t)=>"asc"===(r[t]??"asc")?1:-1)),n=Intl.Collator([(0,i.Z0)(),(0,i.lO)()],{numeric:!0,usage:"sort"});return[...e].sort(((e,r)=>{for(const[i,o]of t.entries()){const t=n.compare(d(o(e)),d(o(r)));if(0!==t)return t*s[i]}return 0}))}(e,[...r.sortFavoritesFirst?[e=>1!==e.attributes?.favorite]:[],...r.sortFoldersFirst?[e=>"folder"!==e.type]:[],..."basename"!==r.sortingMode?[e=>e[r.sortingMode]]:[],e=>{return(t=e.displayname||e.attributes?.displayname||e.basename).lastIndexOf(".")>0?t.slice(0,t.lastIndexOf(".")):t;var t},e=>e.basename],[...r.sortFavoritesFirst?["asc"]:[],...r.sortFoldersFirst?["asc"]:[],..."mtime"===r.sortingMode?["asc"===r.sortingOrder?"desc":"asc"]:[],..."mtime"!==r.sortingMode&&"basename"!==r.sortingMode?[r.sortingOrder]:[],r.sortingOrder,r.sortingOrder])}var h,g,m={},f={};function E(){return h||(h=1,function(e){const t=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r="["+t+"]["+t+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",s=new RegExp("^"+r+"$");e.isExist=function(e){return void 0!==e},e.isEmptyObject=function(e){return 0===Object.keys(e).length},e.merge=function(e,t,r){if(t){const s=Object.keys(t),i=s.length;for(let n=0;n<i;n++)e[s[n]]="strict"===r?[t[s[n]]]:t[s[n]]}},e.getValue=function(t){return e.isExist(t)?t:""},e.isName=function(e){return!(null==s.exec(e))},e.getAllMatches=function(e,t){const r=[];let s=t.exec(e);for(;s;){const i=[];i.startIndex=t.lastIndex-s[0].length;const n=s.length;for(let e=0;e<n;e++)i.push(s[e]);r.push(i),s=t.exec(e)}return r},e.nameRegexp=r}(f)),f}function A(){if(g)return m;g=1;const e=E(),t={allowBooleanAttributes:!1,unpairedTags:[]};function r(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function s(e,t){const r=t;for(;t<e.length;t++)if("?"!=e[t]&&" "!=e[t]);else{const s=e.substr(r,t-r);if(t>5&&"xml"===s)return d("InvalidXml","XML declaration allowed only at the start of the document.",h(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function i(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let r=1;for(t+=8;t<e.length;t++)if("<"===e[t])r++;else if(">"===e[t]&&(r--,0===r))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}m.validate=function(n,o){o=Object.assign({},t,o);const u=[];let p=!1,g=!1;"\ufeff"===n[0]&&(n=n.substr(1));for(let t=0;t<n.length;t++)if("<"===n[t]&&"?"===n[t+1]){if(t+=2,t=s(n,t),t.err)return t}else{if("<"!==n[t]){if(r(n[t]))continue;return d("InvalidChar","char '"+n[t]+"' is not expected.",h(n,t))}{let f=t;if(t++,"!"===n[t]){t=i(n,t);continue}{let E=!1;"/"===n[t]&&(E=!0,t++);let A="";for(;t<n.length&&">"!==n[t]&&" "!==n[t]&&"\t"!==n[t]&&"\n"!==n[t]&&"\r"!==n[t];t++)A+=n[t];if(A=A.trim(),"/"===A[A.length-1]&&(A=A.substring(0,A.length-1),t--),m=A,!e.isName(m)){let e;return e=0===A.trim().length?"Invalid space after '<'.":"Tag '"+A+"' is an invalid name.",d("InvalidTag",e,h(n,t))}const b=a(n,t);if(!1===b)return d("InvalidAttr","Attributes for '"+A+"' have open quote.",h(n,t));let I=b.value;if(t=b.index,"/"===I[I.length-1]){const e=t-I.length;I=I.substring(0,I.length-1);const r=l(I,o);if(!0!==r)return d(r.err.code,r.err.msg,h(n,e+r.err.line));p=!0}else if(E){if(!b.tagClosed)return d("InvalidTag","Closing tag '"+A+"' doesn't have proper closing.",h(n,t));if(I.trim().length>0)return d("InvalidTag","Closing tag '"+A+"' can't have attributes or invalid starting.",h(n,f));if(0===u.length)return d("InvalidTag","Closing tag '"+A+"' has not been opened.",h(n,f));{const e=u.pop();if(A!==e.tagName){let t=h(n,e.tagStartPos);return d("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+t.line+", col "+t.col+") instead of closing tag '"+A+"'.",h(n,f))}0==u.length&&(g=!0)}}else{const e=l(I,o);if(!0!==e)return d(e.err.code,e.err.msg,h(n,t-I.length+e.err.line));if(!0===g)return d("InvalidXml","Multiple possible root nodes found.",h(n,t));-1!==o.unpairedTags.indexOf(A)||u.push({tagName:A,tagStartPos:f}),p=!0}for(t++;t<n.length;t++)if("<"===n[t]){if("!"===n[t+1]){t++,t=i(n,t);continue}if("?"!==n[t+1])break;if(t=s(n,++t),t.err)return t}else if("&"===n[t]){const e=c(n,t);if(-1==e)return d("InvalidChar","char '&' is not expected.",h(n,t));t=e}else if(!0===g&&!r(n[t]))return d("InvalidXml","Extra text at the end",h(n,t));"<"===n[t]&&t--}}}var m;return p?1==u.length?d("InvalidTag","Unclosed tag '"+u[0].tagName+"'.",h(n,u[0].tagStartPos)):!(u.length>0)||d("InvalidXml","Invalid '"+JSON.stringify(u.map((e=>e.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):d("InvalidXml","Start tag expected.",1)};const n='"',o="'";function a(e,t){let r="",s="",i=!1;for(;t<e.length;t++){if(e[t]===n||e[t]===o)""===s?s=e[t]:s!==e[t]||(s="");else if(">"===e[t]&&""===s){i=!0;break}r+=e[t]}return""===s&&{value:r,index:t,tagClosed:i}}const u=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function l(t,r){const s=e.getAllMatches(t,u),i={};for(let e=0;e<s.length;e++){if(0===s[e][1].length)return d("InvalidAttr","Attribute '"+s[e][2]+"' has no space in starting.",f(s[e]));if(void 0!==s[e][3]&&void 0===s[e][4])return d("InvalidAttr","Attribute '"+s[e][2]+"' is without value.",f(s[e]));if(void 0===s[e][3]&&!r.allowBooleanAttributes)return d("InvalidAttr","boolean attribute '"+s[e][2]+"' is not allowed.",f(s[e]));const t=s[e][2];if(!p(t))return d("InvalidAttr","Attribute '"+t+"' is an invalid name.",f(s[e]));if(i.hasOwnProperty(t))return d("InvalidAttr","Attribute '"+t+"' is repeated.",f(s[e]));i[t]=1}return!0}function c(e,t){if(";"===e[++t])return-1;if("#"===e[t])return function(e,t){let r=/\d/;for("x"===e[t]&&(t++,r=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(r))break}return-1}(e,++t);let r=0;for(;t<e.length;t++,r++)if(!(e[t].match(/\w/)&&r<20)){if(";"===e[t])break;return-1}return t}function d(e,t,r){return{err:{code:e,msg:t,line:r.line||r,col:r.col}}}function p(t){return e.isName(t)}function h(e,t){const r=e.substring(0,t).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function f(e){return e.startIndex+e[1].length}return m}var b,I,N,v,L,y,O,x,T,P,R,w={};function C(){return T?x:(T=1,x=function(e){return"function"==typeof e?e:Array.isArray(e)?t=>{for(const r of e){if("string"==typeof r&&t===r)return!0;if(r instanceof RegExp&&r.test(t))return!0}}:()=>!1})}var U,S,$,_,F,D,G,k,M,j,B,V,X,q={};function K(){if(U)return q;function e(i,n,o){let a;const u={};for(let l=0;l<i.length;l++){const c=i[l],d=t(c);let p="";if(p=void 0===o?d:o+"."+d,d===n.textNodeName)void 0===a?a=c[d]:a+=""+c[d];else{if(void 0===d)continue;if(c[d]){let t=e(c[d],n,p);const i=s(t,n);c[":@"]?r(t,c[":@"],p,n):1!==Object.keys(t).length||void 0===t[n.textNodeName]||n.alwaysCreateTextNode?0===Object.keys(t).length&&(n.alwaysCreateTextNode?t[n.textNodeName]="":t=""):t=t[n.textNodeName],void 0!==u[d]&&u.hasOwnProperty(d)?(Array.isArray(u[d])||(u[d]=[u[d]]),u[d].push(t)):n.isArray(d,p,i)?u[d]=[t]:u[d]=t}}}return"string"==typeof a?a.length>0&&(u[n.textNodeName]=a):void 0!==a&&(u[n.textNodeName]=a),u}function t(e){const t=Object.keys(e);for(let e=0;e<t.length;e++){const r=t[e];if(":@"!==r)return r}}function r(e,t,r,s){if(t){const i=Object.keys(t),n=i.length;for(let o=0;o<n;o++){const n=i[o];s.isArray(n,r+"."+n,!0,!0)?e[n]=[t[n]]:e[n]=t[n]}}}function s(e,t){const{textNodeName:r}=t,s=Object.keys(e).length;return 0===s||!(1!==s||!e[r]&&"boolean"!=typeof e[r]&&0!==e[r])}return U=1,q.prettify=function(t,r){return e(t,r)},q}function H(){if($)return S;$=1;const{buildOptions:e}=function(){if(b)return w;b=1;const e={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,r){return e}};return w.buildOptions=function(t){return Object.assign({},e,t)},w.defaultOptions=e,w}(),t=function(){if(R)return P;R=1;const e=E(),t=N?I:(N=1,I=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}),r=function(){if(L)return v;L=1;const e=E();function t(e,t){let r="";for(;t<e.length&&"'"!==e[t]&&'"'!==e[t];t++)r+=e[t];if(r=r.trim(),-1!==r.indexOf(" "))throw new Error("External entites are not supported");const s=e[t++];let i="";for(;t<e.length&&e[t]!==s;t++)i+=e[t];return[r,i,t]}function r(e,t){return"!"===e[t+1]&&"E"===e[t+2]&&"N"===e[t+3]&&"T"===e[t+4]&&"I"===e[t+5]&&"T"===e[t+6]&&"Y"===e[t+7]}function s(e,t){return"!"===e[t+1]&&"E"===e[t+2]&&"L"===e[t+3]&&"E"===e[t+4]&&"M"===e[t+5]&&"E"===e[t+6]&&"N"===e[t+7]&&"T"===e[t+8]}function i(e,t){return"!"===e[t+1]&&"A"===e[t+2]&&"T"===e[t+3]&&"T"===e[t+4]&&"L"===e[t+5]&&"I"===e[t+6]&&"S"===e[t+7]&&"T"===e[t+8]}function n(e,t){return"!"===e[t+1]&&"N"===e[t+2]&&"O"===e[t+3]&&"T"===e[t+4]&&"A"===e[t+5]&&"T"===e[t+6]&&"I"===e[t+7]&&"O"===e[t+8]&&"N"===e[t+9]}function o(t){if(e.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}return v=function(e,a){const u={};if("O"!==e[a+3]||"C"!==e[a+4]||"T"!==e[a+5]||"Y"!==e[a+6]||"P"!==e[a+7]||"E"!==e[a+8])throw new Error("Invalid Tag instead of DOCTYPE");{a+=9;let l=1,c=!1,d=!1,p="";for(;a<e.length;a++)if("<"!==e[a]||d)if(">"===e[a]){if(d?"-"===e[a-1]&&"-"===e[a-2]&&(d=!1,l--):l--,0===l)break}else"["===e[a]?c=!0:p+=e[a];else{if(c&&r(e,a)){let r,s;a+=7,[r,s,a]=t(e,a+1),-1===s.indexOf("&")&&(u[o(r)]={regx:RegExp(`&${r};`,"g"),val:s})}else c&&s(e,a)||c&&i(e,a)?a+=8:c&&n(e,a)?a+=9:d=!0;l++,p=""}if(0!==l)throw new Error("Unclosed DOCTYPE")}return{entities:u,i:a}}}(),s=function(){if(O)return y;O=1;const e=/^[-+]?0x[a-fA-F0-9]+$/,t=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const r={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};return y=function(s,i={}){if(i=Object.assign({},r,i),!s||"string"!=typeof s)return s;let n=s.trim();if(void 0!==i.skipLike&&i.skipLike.test(n))return s;if(i.hex&&e.test(n))return Number.parseInt(n,16);{const e=t.exec(n);if(e){const t=e[1],r=e[2];let a=(o=e[3])&&-1!==o.indexOf(".")?("."===(o=o.replace(/0+$/,""))?o="0":"."===o[0]?o="0"+o:"."===o[o.length-1]&&(o=o.substr(0,o.length-1)),o):o;const u=e[4]||e[6];if(!i.leadingZeros&&r.length>0&&t&&"."!==n[2])return s;if(!i.leadingZeros&&r.length>0&&!t&&"."!==n[1])return s;{const e=Number(n),o=""+e;return-1!==o.search(/[eE]/)||u?i.eNotation?e:s:-1!==n.indexOf(".")?"0"===o&&""===a||o===a||t&&o==="-"+a?e:s:r?a===o||t+a===o?e:s:n===o||n===t+o?e:s}}return s}var o}}(),i=C();function n(e){const t=Object.keys(e);for(let r=0;r<t.length;r++){const s=t[r];this.lastEntities[s]={regex:new RegExp("&"+s+";","g"),val:e[s]}}}function o(e,t,r,s,i,n,o){if(void 0!==e&&(this.options.trimValues&&!s&&(e=e.trim()),e.length>0)){o||(e=this.replaceEntitiesValue(e));const s=this.options.tagValueProcessor(t,e,r,i,n);return null==s?e:typeof s!=typeof e||s!==e?s:this.options.trimValues||e.trim()===e?b(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function a(e){if(this.options.removeNSPrefix){const t=e.split(":"),r="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=r+t[1])}return e}const u=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function l(t,r,s){if(!0!==this.options.ignoreAttributes&&"string"==typeof t){const s=e.getAllMatches(t,u),i=s.length,n={};for(let e=0;e<i;e++){const t=this.resolveNameSpace(s[e][1]);if(this.ignoreAttributesFn(t,r))continue;let i=s[e][4],o=this.options.attributeNamePrefix+t;if(t.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),"__proto__"===o&&(o="#__proto__"),void 0!==i){this.options.trimValues&&(i=i.trim()),i=this.replaceEntitiesValue(i);const e=this.options.attributeValueProcessor(t,i,r);n[o]=null==e?i:typeof e!=typeof i||e!==i?e:b(i,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[o]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){const e={};return e[this.options.attributesGroupName]=n,e}return n}}const c=function(e){e=e.replace(/\r\n?/g,"\n");const s=new t("!xml");let i=s,n="",o="";for(let a=0;a<e.length;a++)if("<"===e[a])if("/"===e[a+1]){const t=m(e,">",a,"Closing Tag is not closed.");let r=e.substring(a+2,t).trim();if(this.options.removeNSPrefix){const e=r.indexOf(":");-1!==e&&(r=r.substr(e+1))}this.options.transformTagName&&(r=this.options.transformTagName(r)),i&&(n=this.saveTextToParentTag(n,i,o));const s=o.substring(o.lastIndexOf(".")+1);if(r&&-1!==this.options.unpairedTags.indexOf(r))throw new Error(`Unpaired tag can not be used as closing tag: </${r}>`);let u=0;s&&-1!==this.options.unpairedTags.indexOf(s)?(u=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):u=o.lastIndexOf("."),o=o.substring(0,u),i=this.tagsNodeStack.pop(),n="",a=t}else if("?"===e[a+1]){let r=f(e,a,!1,"?>");if(!r)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,o),this.options.ignoreDeclaration&&"?xml"===r.tagName||this.options.ignorePiTags);else{const e=new t(r.tagName);e.add(this.options.textNodeName,""),r.tagName!==r.tagExp&&r.attrExpPresent&&(e[":@"]=this.buildAttributesMap(r.tagExp,o,r.tagName)),this.addChild(i,e,o)}a=r.closeIndex+1}else if("!--"===e.substr(a+1,3)){const t=m(e,"--\x3e",a+4,"Comment is not closed.");if(this.options.commentPropName){const r=e.substring(a+4,t-2);n=this.saveTextToParentTag(n,i,o),i.add(this.options.commentPropName,[{[this.options.textNodeName]:r}])}a=t}else if("!D"===e.substr(a+1,2)){const t=r(e,a);this.docTypeEntities=t.entities,a=t.i}else if("!["===e.substr(a+1,2)){const t=m(e,"]]>",a,"CDATA is not closed.")-2,r=e.substring(a+9,t);n=this.saveTextToParentTag(n,i,o);let s=this.parseTextData(r,i.tagname,o,!0,!1,!0,!0);null==s&&(s=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:r}]):i.add(this.options.textNodeName,s),a=t+2}else{let r=f(e,a,this.options.removeNSPrefix),u=r.tagName;const l=r.rawTagName;let c=r.tagExp,d=r.attrExpPresent,p=r.closeIndex;this.options.transformTagName&&(u=this.options.transformTagName(u)),i&&n&&"!xml"!==i.tagname&&(n=this.saveTextToParentTag(n,i,o,!1));const h=i;if(h&&-1!==this.options.unpairedTags.indexOf(h.tagname)&&(i=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),u!==s.tagname&&(o+=o?"."+u:u),this.isItStopNode(this.options.stopNodes,o,u)){let s="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)"/"===u[u.length-1]?(u=u.substr(0,u.length-1),o=o.substr(0,o.length-1),c=u):c=c.substr(0,c.length-1),a=r.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(u))a=r.closeIndex;else{const t=this.readStopNodeData(e,l,p+1);if(!t)throw new Error(`Unexpected end of ${l}`);a=t.i,s=t.tagContent}const n=new t(u);u!==c&&d&&(n[":@"]=this.buildAttributesMap(c,o,u)),s&&(s=this.parseTextData(s,u,o,!0,d,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),n.add(this.options.textNodeName,s),this.addChild(i,n,o)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){"/"===u[u.length-1]?(u=u.substr(0,u.length-1),o=o.substr(0,o.length-1),c=u):c=c.substr(0,c.length-1),this.options.transformTagName&&(u=this.options.transformTagName(u));const e=new t(u);u!==c&&d&&(e[":@"]=this.buildAttributesMap(c,o,u)),this.addChild(i,e,o),o=o.substr(0,o.lastIndexOf("."))}else{const e=new t(u);this.tagsNodeStack.push(i),u!==c&&d&&(e[":@"]=this.buildAttributesMap(c,o,u)),this.addChild(i,e,o),i=e}n="",a=p}}else n+=e[a];return s.child};function d(e,t,r){const s=this.options.updateTag(t.tagname,r,t[":@"]);!1===s||("string"==typeof s?(t.tagname=s,e.addChild(t)):e.addChild(t))}const p=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){const r=this.docTypeEntities[t];e=e.replace(r.regx,r.val)}for(let t in this.lastEntities){const r=this.lastEntities[t];e=e.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const r=this.htmlEntities[t];e=e.replace(r.regex,r.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function h(e,t,r,s){return e&&(void 0===s&&(s=0===Object.keys(t.child).length),void 0!==(e=this.parseTextData(e,t.tagname,r,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,s))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function g(e,t,r){const s="*."+r;for(const r in e){const i=e[r];if(s===i||t===i)return!0}return!1}function m(e,t,r,s){const i=e.indexOf(t,r);if(-1===i)throw new Error(s);return i+t.length-1}function f(e,t,r,s=">"){const i=function(e,t,r=">"){let s,i="";for(let n=t;n<e.length;n++){let t=e[n];if(s)t===s&&(s="");else if('"'===t||"'"===t)s=t;else if(t===r[0]){if(!r[1])return{data:i,index:n};if(e[n+1]===r[1])return{data:i,index:n}}else"\t"===t&&(t=" ");i+=t}}(e,t+1,s);if(!i)return;let n=i.data;const o=i.index,a=n.search(/\s/);let u=n,l=!0;-1!==a&&(u=n.substring(0,a),n=n.substring(a+1).trimStart());const c=u;if(r){const e=u.indexOf(":");-1!==e&&(u=u.substr(e+1),l=u!==i.data.substr(e+1))}return{tagName:u,tagExp:n,closeIndex:o,attrExpPresent:l,rawTagName:c}}function A(e,t,r){const s=r;let i=1;for(;r<e.length;r++)if("<"===e[r])if("/"===e[r+1]){const n=m(e,">",r,`${t} is not closed`);if(e.substring(r+2,n).trim()===t&&(i--,0===i))return{tagContent:e.substring(s,r),i:n};r=n}else if("?"===e[r+1])r=m(e,"?>",r+1,"StopNode is not closed.");else if("!--"===e.substr(r+1,3))r=m(e,"--\x3e",r+3,"StopNode is not closed.");else if("!["===e.substr(r+1,2))r=m(e,"]]>",r,"StopNode is not closed.")-2;else{const s=f(e,r,">");s&&((s&&s.tagName)===t&&"/"!==s.tagExp[s.tagExp.length-1]&&i++,r=s.closeIndex)}}function b(t,r,i){if(r&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&s(t,i)}return e.isExist(t)?t:""}return P=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,16))}},this.addExternalEntities=n,this.parseXml=c,this.parseTextData=o,this.resolveNameSpace=a,this.buildAttributesMap=l,this.isItStopNode=g,this.replaceEntitiesValue=p,this.readStopNodeData=A,this.saveTextToParentTag=h,this.addChild=d,this.ignoreAttributesFn=i(this.options.ignoreAttributes)}}}(),{prettify:r}=K(),s=A();return S=class{constructor(t){this.externalEntities={},this.options=e(t)}parse(e,i){if("string"==typeof e);else{if(!e.toString)throw new Error("XML data is accepted in String or Bytes[] form.");e=e.toString()}if(i){!0===i&&(i={});const t=s.validate(e,i);if(!0!==t)throw Error(`${t.err.msg}:${t.err.line}:${t.err.col}`)}const n=new t(this.options);n.addExternalEntities(this.externalEntities);const o=n.parseXml(e);return this.options.preserveOrder||void 0===o?o:r(o,this.options)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}}}function J(){if(F)return _;function e(n,o,a,u){let l="",c=!1;for(let d=0;d<n.length;d++){const p=n[d],h=t(p);if(void 0===h)continue;let g="";if(g=0===a.length?h:`${a}.${h}`,h===o.textNodeName){let e=p[h];s(g,o)||(e=o.tagValueProcessor(h,e),e=i(e,o)),c&&(l+=u),l+=e,c=!1;continue}if(h===o.cdataPropName){c&&(l+=u),l+=`<![CDATA[${p[h][0][o.textNodeName]}]]>`,c=!1;continue}if(h===o.commentPropName){l+=u+`\x3c!--${p[h][0][o.textNodeName]}--\x3e`,c=!0;continue}if("?"===h[0]){const e=r(p[":@"],o),t="?xml"===h?"":u;let s=p[h][0][o.textNodeName];s=0!==s.length?" "+s:"",l+=t+`<${h}${s}${e}?>`,c=!0;continue}let m=u;""!==m&&(m+=o.indentBy);const f=u+`<${h}${r(p[":@"],o)}`,E=e(p[h],o,g,m);-1!==o.unpairedTags.indexOf(h)?o.suppressUnpairedNode?l+=f+">":l+=f+"/>":E&&0!==E.length||!o.suppressEmptyNode?E&&E.endsWith(">")?l+=f+`>${E}${u}</${h}>`:(l+=f+">",E&&""!==u&&(E.includes("/>")||E.includes("</"))?l+=u+o.indentBy+E+u:l+=E,l+=`</${h}>`):l+=f+"/>",c=!0}return l}function t(e){const t=Object.keys(e);for(let r=0;r<t.length;r++){const s=t[r];if(e.hasOwnProperty(s)&&":@"!==s)return s}}function r(e,t){let r="";if(e&&!t.ignoreAttributes)for(let s in e){if(!e.hasOwnProperty(s))continue;let n=t.attributeValueProcessor(s,e[s]);n=i(n,t),!0===n&&t.suppressBooleanAttributes?r+=` ${s.substr(t.attributeNamePrefix.length)}`:r+=` ${s.substr(t.attributeNamePrefix.length)}="${n}"`}return r}function s(e,t){let r=(e=e.substr(0,e.length-t.textNodeName.length-1)).substr(e.lastIndexOf(".")+1);for(let s in t.stopNodes)if(t.stopNodes[s]===e||t.stopNodes[s]==="*."+r)return!0;return!1}function i(e,t){if(e&&e.length>0&&t.processEntities)for(let r=0;r<t.entities.length;r++){const s=t.entities[r];e=e.replace(s.regex,s.val)}return e}return F=1,_=function(t,r){let s="";return r.format&&r.indentBy.length>0&&(s="\n"),e(t,r,"",s)}}function Y(){if(B)return j;B=1;const e="object"==typeof o&&o.env&&o.env.NODE_DEBUG&&/\bsemver\b/i.test(o.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return j=e}function Z(){if(X)return V;X=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return V={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}!function(){if(M)return k;M=1;const e=A(),t=H(),r=function(){if(G)return D;G=1;const e=J(),t=C(),r={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function s(e){this.options=Object.assign({},r,e),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=t(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=o),this.processTextOrObjNode=i,this.options.format?(this.indentate=n,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function i(e,t,r,s){const i=this.j2x(e,r+1,s.concat(t));return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,i.attrStr,r):this.buildObjectNode(i.val,t,i.attrStr,r)}function n(e){return this.options.indentBy.repeat(e)}function o(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}return s.prototype.build=function(t){return this.options.preserveOrder?e(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)},s.prototype.j2x=function(e,t,r){let s="",i="";const n=r.join(".");for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o))if(void 0===e[o])this.isAttribute(o)&&(i+="");else if(null===e[o])this.isAttribute(o)?i+="":"?"===o[0]?i+=this.indentate(t)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+o+"/"+this.tagEndChar;else if(e[o]instanceof Date)i+=this.buildTextValNode(e[o],o,"",t);else if("object"!=typeof e[o]){const r=this.isAttribute(o);if(r&&!this.ignoreAttributesFn(r,n))s+=this.buildAttrPairStr(r,""+e[o]);else if(!r)if(o===this.options.textNodeName){let t=this.options.tagValueProcessor(o,""+e[o]);i+=this.replaceEntitiesValue(t)}else i+=this.buildTextValNode(e[o],o,"",t)}else if(Array.isArray(e[o])){const s=e[o].length;let n="",a="";for(let u=0;u<s;u++){const s=e[o][u];if(void 0===s);else if(null===s)"?"===o[0]?i+=this.indentate(t)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+o+"/"+this.tagEndChar;else if("object"==typeof s)if(this.options.oneListGroup){const e=this.j2x(s,t+1,r.concat(o));n+=e.val,this.options.attributesGroupName&&s.hasOwnProperty(this.options.attributesGroupName)&&(a+=e.attrStr)}else n+=this.processTextOrObjNode(s,o,t,r);else if(this.options.oneListGroup){let e=this.options.tagValueProcessor(o,s);e=this.replaceEntitiesValue(e),n+=e}else n+=this.buildTextValNode(s,o,"",t)}this.options.oneListGroup&&(n=this.buildObjectNode(n,o,a,t)),i+=n}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){const t=Object.keys(e[o]),r=t.length;for(let i=0;i<r;i++)s+=this.buildAttrPairStr(t[i],""+e[o][t[i]])}else i+=this.processTextOrObjNode(e[o],o,t,r);return{attrStr:s,val:i}},s.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&"true"===t?" "+e:" "+e+'="'+t+'"'},s.prototype.buildObjectNode=function(e,t,r,s){if(""===e)return"?"===t[0]?this.indentate(s)+"<"+t+r+"?"+this.tagEndChar:this.indentate(s)+"<"+t+r+this.closeTag(t)+this.tagEndChar;{let i="</"+t+this.tagEndChar,n="";return"?"===t[0]&&(n="?",i=""),!r&&""!==r||-1!==e.indexOf("<")?!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===n.length?this.indentate(s)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(s)+"<"+t+r+n+this.tagEndChar+e+this.indentate(s)+i:this.indentate(s)+"<"+t+r+n+">"+e+i}},s.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`></${e}`,t},s.prototype.buildTextValNode=function(e,t,r,s){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName)return this.indentate(s)+`<![CDATA[${e}]]>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(s)+`\x3c!--${e}--\x3e`+this.newLine;if("?"===t[0])return this.indentate(s)+"<"+t+r+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(t,e);return i=this.replaceEntitiesValue(i),""===i?this.indentate(s)+"<"+t+r+this.closeTag(t)+this.tagEndChar:this.indentate(s)+"<"+t+r+">"+i+"</"+t+this.tagEndChar}},s.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const r=this.options.entities[t];e=e.replace(r.regex,r.val)}return e},D=s}();k={XMLParser:t,XMLValidator:e,XMLBuilder:r}}();var z,Q,W,ee,te,re,se,ie,ne,oe,ae,ue,le,ce={exports:{}};function de(){if(se)return re;se=1;const e=Y(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:r}=Z(),{safeRe:s,t:i}=(z||(z=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:i}=Z(),n=Y(),o=(t=e.exports={}).re=[],a=t.safeRe=[],u=t.src=[],l=t.t={};let c=0;const d="[a-zA-Z0-9-]",p=[["\\s",1],["\\d",i],[d,s]],h=(e,t,r)=>{const s=(e=>{for(const[t,r]of p)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),i=c++;n(e,i,t),l[e]=i,u[i]=t,o[i]=new RegExp(t,r?"g":void 0),a[i]=new RegExp(s,r?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),h("MAINVERSION",`(${u[l.NUMERICIDENTIFIER]})\\.(${u[l.NUMERICIDENTIFIER]})\\.(${u[l.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${u[l.NUMERICIDENTIFIERLOOSE]})\\.(${u[l.NUMERICIDENTIFIERLOOSE]})\\.(${u[l.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${u[l.NUMERICIDENTIFIER]}|${u[l.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${u[l.NUMERICIDENTIFIERLOOSE]}|${u[l.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${u[l.PRERELEASEIDENTIFIER]}(?:\\.${u[l.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${u[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${u[l.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${d}+`),h("BUILD",`(?:\\+(${u[l.BUILDIDENTIFIER]}(?:\\.${u[l.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${u[l.MAINVERSION]}${u[l.PRERELEASE]}?${u[l.BUILD]}?`),h("FULL",`^${u[l.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${u[l.MAINVERSIONLOOSE]}${u[l.PRERELEASELOOSE]}?${u[l.BUILD]}?`),h("LOOSE",`^${u[l.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${u[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${u[l.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${u[l.XRANGEIDENTIFIER]})(?:\\.(${u[l.XRANGEIDENTIFIER]})(?:\\.(${u[l.XRANGEIDENTIFIER]})(?:${u[l.PRERELEASE]})?${u[l.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${u[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[l.XRANGEIDENTIFIERLOOSE]})(?:${u[l.PRERELEASELOOSE]})?${u[l.BUILD]}?)?)?`),h("XRANGE",`^${u[l.GTLT]}\\s*${u[l.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${u[l.GTLT]}\\s*${u[l.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),h("COERCE",`${u[l.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",u[l.COERCEPLAIN]+`(?:${u[l.PRERELEASE]})?(?:${u[l.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",u[l.COERCE],!0),h("COERCERTLFULL",u[l.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${u[l.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${u[l.LONETILDE]}${u[l.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${u[l.LONETILDE]}${u[l.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${u[l.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${u[l.LONECARET]}${u[l.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${u[l.LONECARET]}${u[l.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${u[l.GTLT]}\\s*(${u[l.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${u[l.GTLT]}\\s*(${u[l.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${u[l.GTLT]}\\s*(${u[l.LOOSEPLAIN]}|${u[l.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${u[l.XRANGEPLAIN]})\\s+-\\s+(${u[l.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${u[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${u[l.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(ce,ce.exports)),ce.exports),n=function(){if(W)return Q;W=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return Q=r=>r?"object"!=typeof r?e:r:t}(),{compareIdentifiers:o}=function(){if(te)return ee;te=1;const e=/^[0-9]+$/,t=(t,r)=>{const s=e.test(t),i=e.test(r);return s&&i&&(t=+t,r=+r),t===r?0:s&&!i?-1:i&&!s?1:t<r?-1:1};return ee={compareIdentifiers:t,rcompareIdentifiers:(e,r)=>t(r,e)}}();class a{constructor(o,u){if(u=n(u),o instanceof a){if(o.loose===!!u.loose&&o.includePrerelease===!!u.includePrerelease)return o;o=o.version}else if("string"!=typeof o)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof o}".`);if(o.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",o,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;const l=o.trim().match(u.loose?s[i.LOOSE]:s[i.FULL]);if(!l)throw new TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");l[4]?this.prerelease=l[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<r)return t}return e})):this.prerelease=[],this.build=l[5]?l[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(e("SemVer.compare",this.version,this.options,t),!(t instanceof a)){if("string"==typeof t&&t===this.version)return 0;t=new a(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(e){return e instanceof a||(e=new a(e,this.options)),o(this.major,e.major)||o(this.minor,e.minor)||o(this.patch,e.patch)}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const s=this.prerelease[r],i=t.prerelease[r];if(e("prerelease compare",r,s,i),void 0===s&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===s)return-1;if(s!==i)return o(s,i)}while(++r)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let r=0;do{const s=this.build[r],i=t.build[r];if(e("build compare",r,s,i),void 0===s&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===s)return-1;if(s!==i)return o(s,i)}while(++r)}inc(e,t,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(!t&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[e];else{let s=this.prerelease.length;for(;--s>=0;)"number"==typeof this.prerelease[s]&&(this.prerelease[s]++,s=-2);if(-1===s){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let s=[t,e];!1===r&&(s=[t]),0===o(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return re=a}!function(){if(ae)return oe;ae=1;const e=function(){if(ne)return ie;ne=1;const e=de();return ie=(t,r,s=!1)=>{if(t instanceof e)return t;try{return new e(t,r)}catch(e){if(!s)return null;throw e}}}();oe=(t,r)=>{const s=e(t,r);return s?s.version:null}}(),function(){if(le)return ue;le=1;const e=de();ue=(t,r)=>new e(t,r).major}(),n.m},36620:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});const s=(0,r(35947).YK)().setApp("settings").detectUser().build()},58723:(e,t)=>{function r(e,t){var s={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(s.from=r(t)),Object.freeze(s)}t.O=function(e,t,s){var i=(s||{}).moduleName||"route";e.registerModule(i,{namespaced:!0,state:r(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,s){e.state[i]=r(s.to,s.from)}}});var n,o=!1,a=e.watch((function(e){return e[i]}),(function(e){var r=e.fullPath;r!==n&&(null!=n&&(o=!0,t.push(e)),n=r)}),{sync:!0}),u=t.afterEach((function(t,r){o?o=!1:(n=t.fullPath,e.commit(i+"/ROUTE_CHANGED",{to:t,from:r}))}));return function(){null!=u&&u(),null!=a&&a(),e.unregisterModule(i)}}}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,o),r.loaded=!0,r.exports}o.m=i,e=[],o.O=(t,r,s,i)=>{if(!r){var n=1/0;for(c=0;c<e.length;c++){r=e[c][0],s=e[c][1],i=e[c][2];for(var a=!0,u=0;u<r.length;u++)(!1&i||n>=i)&&Object.keys(o.O).every((e=>o.O[e](r[u])))?r.splice(u--,1):(a=!1,i<n&&(n=i));if(a){e.splice(c--,1);var l=s();void 0!==l&&(t=l)}}return t}i=i||0;for(var c=e.length;c>0&&e[c-1][2]>i;c--)e[c]=e[c-1];e[c]=[r,s,i]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((t,r)=>(o.f[r](e,t),t)),[])),o.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{459:"975afd1e02f53abf8034",640:"c4d4943f2c00c1f8a515",1023:"06cf5496a0a2d7ef494a",3239:"c2bb41941d6626f5c12a",4529:"e7b8ecf797fe13c6d69b",5862:"142cd48ca8ec32e57725",7265:"e59095160fc79c41c493",7432:"eb26215e99ea363927b0",8737:"1ee3b21131ac8193a04d",9279:"460048c8db22e016b900"}[e]),o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},s="nextcloud:",o.l=(e,t,i,n)=>{if(r[e])r[e].push(t);else{var a,u;if(void 0!==i)for(var l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var d=l[c];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==s+i){a=d;break}}a||(u=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,o.nc&&a.setAttribute("nonce",o.nc),a.setAttribute("data-webpack",s+i),a.src=e),r[e]=[t];var p=(t,s)=>{a.onerror=a.onload=null,clearTimeout(h);var i=r[e];if(delete r[e],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach((e=>e(s))),t)return t(s)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),u&&document.head.appendChild(a)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.j=2689,(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var t=o.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var s=r.length-1;s>-1&&(!e||!/^http(s?):/.test(e));)e=r[s--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{o.b=document.baseURI||self.location.href;var e={2689:0};o.f.j=(t,r)=>{var s=o.o(e,t)?e[t]:void 0;if(0!==s)if(s)r.push(s[2]);else{var i=new Promise(((r,i)=>s=e[t]=[r,i]));r.push(s[2]=i);var n=o.p+o.u(t),a=new Error;o.l(n,(r=>{if(o.o(e,t)&&(0!==(s=e[t])&&(e[t]=void 0),s)){var i=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed.\n("+i+": "+n+")",a.name="ChunkLoadError",a.type=i,a.request=n,s[1](a)}}),"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,r)=>{var s,i,n=r[0],a=r[1],u=r[2],l=0;if(n.some((t=>0!==e[t]))){for(s in a)o.o(a,s)&&(o.m[s]=a[s]);if(u)var c=u(o)}for(t&&t(r);l<n.length;l++)i=n[l],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return o.O(c)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),o.nc=void 0;var a=o.O(void 0,[4208],(()=>o(12836)));a=o.O(a)})();
-//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=558eb9e4c83b929fda4d \ No newline at end of file
+(()=>{var e,r,s,i={6028:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var s=r(65043),i=r(56760);r(51257);const n=function(e){return e.replace(/\/$/,"")},o={requireAdmin:()=>(0,i.C5)(),get:(e,t)=>s.Ay.get(n(e),t),post:(e,t)=>s.Ay.post(n(e),t),patch:(e,t)=>s.Ay.patch(n(e),t),put:(e,t)=>s.Ay.put(n(e),t),delete:(e,t)=>s.Ay.delete(n(e),{params:t})}},12836:(e,t,r)=>{"use strict";var s=r(85471),i=r(95353),n=r(80284),o=r(58723),a=r(53334),u=r(22378);const l=(0,s.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:u.A})}),c=(0,r(14486).A)(l,(function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)}),[],!1,null,null,null).exports;var d=r(40173),p=r(63814);const h=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([r.e(4208),r.e(7265),r.e(3239)]).then(r.bind(r,25966)),navigation:()=>Promise.all([r.e(4208),r.e(7265),r.e(3239)]).then(r.bind(r,84399))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:(0,r(32981).C)("settings","appstoreEnabled",!0)?"discover":"installed"}},components:{default:()=>Promise.all([r.e(4208),r.e(7265),r.e(4529)]).then(r.bind(r,1368)),navigation:()=>Promise.all([r.e(4208),r.e(7265),r.e(4529)]).then(r.bind(r,78451)),sidebar:()=>Promise.all([r.e(4208),r.e(7265),r.e(4529)]).then(r.bind(r,84694))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];s.Ay.use(d.Ay);const g=new d.Ay({mode:"history",base:(0,p.Jv)(""),linkActiveClass:"active",routes:h});var m=r(14744),f=r(21777),E=r(65899);r.nc=(0,f.aV)(),s.Ay.prototype.t=a.t,s.Ay.prototype.n=a.n,s.Ay.use(E.R2),s.Ay.use(n.Ay,{defaultHtml:!1}),s.Ay.use(i.Ay);const A=(0,m.P)();(0,o.O)(A,g);const b=(0,E.Ey)();new s.Ay({router:g,store:A,pinia:b,render:e=>e(c),el:"#content"})},14744:(e,r,s)=>{"use strict";s.d(r,{P:()=>D});var i=s(95353),n=s(59097),o=s(87485),a=s(35810),u=s(85168),l=s(63814),c=s(32981),d=s(65043),p=s(15916),h=s(53334);const g=Intl.Collator([(0,h.Z0)(),(0,h.lO)()],{numeric:!0,usage:"sort"});var m=s(6028),f=s(36620);const E=(0,c.C)("settings","usersSettings",{}),A=(0,n.c0)("settings").persist(!0).build(),b={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},I={users:[],groups:[...E.getSubAdminGroups??[],...E.systemGroups??[]],orderBy:E.sortGroups??p.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:E.userCount??0,showConfig:{showStoragePath:"true"===A.getItem("account_settings__showStoragePath"),showUserBackend:"true"===A.getItem("account_settings__showUserBackend"),showFirstLogin:"true"===A.getItem("account_settings__showFirstLogin"),showLastLogin:"true"===A.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===A.getItem("account_settings__showNewUserForm"),showLanguages:"true"===A.getItem("account_settings__showLanguages")}},N={appendUsers(e,t){const r=e.users.map((e=>{let{id:t}=e;return t})),s=Object.values(t).filter((e=>{let{id:t}=e;return!r.includes(t)})),i=e.users.concat(s);e.usersOffset+=e.usersLimit,e.users=i},updateDisabledUsers(e,t){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},addGroup(e,t){try{if(void 0!==e.groups.find((e=>e.id===t.id)))return;const r=Object.assign({},b,t);e.groups.unshift(r)}catch(e){console.error("Can't create group",e)}},renameGroup(e,t){let{gid:r,displayName:s}=t;const i=e.groups.findIndex((e=>e.id===r));if(i>=0){const t=e.groups[i];t.name=s,e.groups.splice(i,1,t)}},removeGroup(e,t){const r=e.groups.findIndex((e=>e.id===t));r>=0&&e.groups.splice(r,1)},addUserGroup(e,t){let{userid:r,gid:s}=t;const i=e.groups.find((e=>e.id===s)),n=e.users.find((e=>e.id===r));i&&n.enabled&&e.userCount>0&&i.usercount++,n.groups.push(s)},removeUserGroup(e,t){let{userid:r,gid:s}=t;const i=e.groups.find((e=>e.id===s)),n=e.users.find((e=>e.id===r));i&&n.enabled&&e.userCount>0&&i.usercount--;const o=n.groups;o.splice(o.indexOf(s),1)},addUserSubAdmin(e,t){let{userid:r,gid:s}=t;e.users.find((e=>e.id===r)).subadmin.push(s)},removeUserSubAdmin(e,t){let{userid:r,gid:s}=t;const i=e.users.find((e=>e.id===r)).subadmin;i.splice(i.indexOf(s),1)},deleteUser(e,t){const r=e.users.findIndex((e=>e.id===t));this.commit("updateUserCounts",{user:e.users[r],actionType:"remove"}),e.users.splice(r,1)},addUserData(e,t){const r=t.data.ocs.data;e.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser(e,t){let{userid:r,enabled:s}=t;const i=e.users.find((e=>e.id===r));i.enabled=s,this.commit("updateUserCounts",{user:i,actionType:s?"enable":"disable"})},updateUserCounts(e,t){let{user:r,actionType:s}=t;if(0===e.userCount)return;const i=e.groups.find((e=>"__nc_internal_recent"===e.id)),n=e.groups.find((e=>"disabled"===e.id));switch(s){case"enable":case"disable":n.usercount+=r.enabled?-1:1,i.usercount+=r.enabled?1:-1,e.userCount+=r.enabled?1:-1,r.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s&&(s.disabled+=r.enabled?-1:1)}));break;case"create":i.usercount++,e.userCount++,r.groups.forEach((t=>{const r=e.groups.find((e=>e.id===t));r&&r.usercount++}));break;case"remove":r.enabled?(i.usercount--,e.userCount--,r.groups.forEach((t=>{const r=e.groups.find((e=>e.id===t));r?r.usercount--:console.warn("User group "+t+" does not exist during user removal")}))):(n.usercount--,r.groups.forEach((t=>{const r=e.groups.find((e=>e.id===t));r&&r.disabled--})));break;default:f.A.error(`Unknown action type in updateUserCounts: '${s}'`)}},setUserData(e,t){let{userid:r,key:s,value:i}=t;if("quota"===s){const t=(0,a.lT)(i,!0);e.users.find((e=>e.id===r))[s][s]=null!==t?t:i}else e.users.find((e=>e.id===r))[s]=i},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},resetGroups(e){e.groups=[...E.getSubAdminGroups??[],...E.systemGroups??[]]},setShowConfig(e,t){let{key:r,value:s}=t;A.setItem(`account_settings__${r}`,JSON.stringify(s)),e.showConfig[r]=s},setGroupSorting(e,r){const s=e.orderBy;e.orderBy=r,d.Ay.post((0,l.Jv)("/settings/users/preferences/group.sortBy"),{value:String(r)}).catch((r=>{e.orderBy=s,(0,u.Qg)(t("settings","Could not set group sorting")),f.A.error(r)}))}},v={getUsers:e=>e.users,getGroups:e=>e.groups,getSubAdminGroups:()=>E.subAdminGroups??[],getSortedGroups(e){const t=[...e.groups];return e.orderBy===p.q.UserCount?t.sort(((e,t)=>{const r=e.usercount-e.disabled,s=t.usercount-t.disabled;return r<s?1:s<r?-1:g.compare(e.name,t.name)})):t.sort(((e,t)=>g.compare(e.name,t.name)))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},L=d.Ay.CancelToken;let y=null;const O={state:I,mutations:N,getters:v,actions:{searchUsers(e,t){let{offset:r,limit:s,search:i}=t;return i="string"==typeof i?i:"",m.A.get((0,l.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i})).catch((t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)}))},getUser:(e,t)=>m.A.get((0,l.KT)(`cloud/users/${t}`)).catch((t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),getUsers(e,t){let{offset:r,limit:s,search:i,group:n}=t;return y&&y.cancel("Operation canceled by another search request."),y=L.source(),i="string"==typeof i?i:"",i=i.replace(/in:[^\s]+/g,"").trim(),n="string"==typeof n?n:"",""!==n?m.A.get((0,l.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(n),offset:r,limit:s,search:i}),{cancelToken:y.token}).then((t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r})).catch((t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)})):m.A.get((0,l.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i}),{cancelToken:y.token}).then((t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r})).catch((t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)}))},async getRecentUsers(e,t){let{offset:r,limit:s,search:i}=t;const n=(0,l.KT)("cloud/users/recent?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i});try{const t=await m.A.get(n),r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}catch(t){e.commit("API_FAILURE",t)}},async getDisabledUsers(e,t){let{offset:r,limit:s,search:i}=t;const n=(0,l.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i});try{const t=await m.A.get(n),r=Object.keys(t.data.ocs.data.users).length;return r>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),r}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,t){let{offset:r,limit:s,search:i}=t;i="string"==typeof i?i:"";const n=-1===s?"":`&limit=${s}`;return m.A.get((0,l.KT)("cloud/groups?offset={offset}&search={search}",{offset:r,search:i})+n).then((t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach((function(t){e.commit("addGroup",{id:t,name:t})})),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromList(e,t){let{offset:r,limit:s,search:i}=t;return i="string"==typeof i?i:"",m.A.get((0,l.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:s,search:i})).then((t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromGroup(e,t){let{groupid:r,offset:s,limit:i}=t;return m.A.get((0,l.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(r),offset:s,limit:i})).then((t=>e.commit("getUsersFromList",t.data.ocs.data.users))).catch((t=>e.commit("API_FAILURE",t)))},getPasswordPolicyMinLength:e=>!(!(0,o.F)().password_policy||!(0,o.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,o.F)().password_policy.minLength),(0,o.F)().password_policy.minLength),addGroup:(e,t)=>m.A.requireAdmin().then((r=>m.A.post((0,l.KT)("cloud/groups"),{groupid:t}).then((r=>(e.commit("addGroup",{id:t,name:t}),{gid:t,displayName:t}))).catch((e=>{throw e})))).catch((r=>{throw e.commit("API_FAILURE",{gid:t,error:r}),r})),renameGroup(e,t){let{groupid:r,displayName:s}=t;return m.A.requireAdmin().then((t=>m.A.put((0,l.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(r)}),{key:"displayname",value:s}).then((t=>(e.commit("renameGroup",{gid:r,displayName:s}),{groupid:r,displayName:s}))).catch((e=>{throw e})))).catch((t=>{throw e.commit("API_FAILURE",{groupid:r,error:t}),t}))},removeGroup:(e,t)=>m.A.requireAdmin().then((r=>m.A.delete((0,l.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then((r=>e.commit("removeGroup",t))).catch((e=>{throw e})))).catch((r=>e.commit("API_FAILURE",{gid:t,error:r}))),addUserGroup(e,t){let{userid:r,gid:s}=t;return m.A.requireAdmin().then((t=>m.A.post((0,l.KT)("cloud/users/{userid}/groups",{userid:r}),{groupid:s}).then((t=>e.commit("addUserGroup",{userid:r,gid:s}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:r,error:t})))},removeUserGroup(e,t){let{userid:r,gid:s}=t;return m.A.requireAdmin().then((t=>m.A.delete((0,l.KT)("cloud/users/{userid}/groups",{userid:r}),{groupid:s}).then((t=>e.commit("removeUserGroup",{userid:r,gid:s}))).catch((e=>{throw e})))).catch((t=>{throw e.commit("API_FAILURE",{userid:r,error:t}),t}))},addUserSubAdmin(e,t){let{userid:r,gid:s}=t;return m.A.requireAdmin().then((t=>m.A.post((0,l.KT)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:s}).then((t=>e.commit("addUserSubAdmin",{userid:r,gid:s}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:r,error:t})))},removeUserSubAdmin(e,t){let{userid:r,gid:s}=t;return m.A.requireAdmin().then((t=>m.A.delete((0,l.KT)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:s}).then((t=>e.commit("removeUserSubAdmin",{userid:r,gid:s}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:r,error:t})))},async wipeUserDevices(e,t){try{return await m.A.requireAdmin(),await m.A.post((0,l.KT)("cloud/users/{userid}/wipe",{userid:t}))}catch(r){return e.commit("API_FAILURE",{userid:t,error:r}),Promise.reject(new Error("Failed to wipe user devices"))}},deleteUser:(e,t)=>m.A.requireAdmin().then((r=>m.A.delete((0,l.KT)("cloud/users/{userid}",{userid:t})).then((r=>e.commit("deleteUser",t))).catch((e=>{throw e})))).catch((r=>e.commit("API_FAILURE",{userid:t,error:r}))),addUser(e,t){let{commit:r,dispatch:s}=e,{userid:i,password:n,displayName:o,email:a,groups:u,subadmin:c,quota:d,language:p,manager:h}=t;return m.A.requireAdmin().then((e=>m.A.post((0,l.KT)("cloud/users"),{userid:i,password:n,displayName:o,email:a,groups:u,subadmin:c,quota:d,language:p,manager:h}).then((e=>s("addUserData",i||e.data.ocs.data.id))).catch((e=>{throw e})))).catch((e=>{throw r("API_FAILURE",{userid:i,error:e}),e}))},addUserData:(e,t)=>m.A.requireAdmin().then((r=>m.A.get((0,l.KT)("cloud/users/{userid}",{userid:t})).then((t=>e.commit("addUserData",t))).catch((e=>{throw e})))).catch((r=>e.commit("API_FAILURE",{userid:t,error:r}))),enableDisableUser(e,t){let{userid:r,enabled:s=!0}=t;const i=s?"enable":"disable";return m.A.requireAdmin().then((t=>m.A.put((0,l.KT)("cloud/users/{userid}/{userStatus}",{userid:r,userStatus:i})).then((t=>e.commit("enableDisableUser",{userid:r,enabled:s}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:r,error:t})))},async setUserData(e,t){let{userid:r,key:s,value:i}=t;if(!["email","language","quota","displayname","password","manager"].includes(s))throw new Error("Invalid request data");if(""===i&&!["email","displayname","manager"].includes(s))throw new Error("Value cannot be empty for this field");try{return await m.A.requireAdmin(),await m.A.put((0,l.KT)("cloud/users/{userid}",{userid:r}),{key:s,value:i}),e.commit("setUserData",{userid:r,key:s,value:i})}catch(t){throw e.commit("API_FAILURE",{userid:r,error:t}),t}},sendWelcomeMail:(e,t)=>m.A.requireAdmin().then((e=>m.A.post((0,l.KT)("cloud/users/{userid}/welcome",{userid:t})).then((e=>!0)).catch((e=>{throw e})))).catch((r=>e.commit("API_FAILURE",{userid:t,error:r})))}};var x=s(85471);const T={apps:[],bundles:(0,c.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,c.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null,appApiEnabled:(0,c.C)("settings","appApiEnabled",!1)},P={APPS_API_FAILURE(e,r){(0,u.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"<br>"+r.error.response.data.data.message,{isHTML:!0}),console.error(e,r)},initCategories(e,t){let{categories:r,updateCount:s}=t;e.categories=r,e.updateCount=s},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,t){let{appId:r,error:s}=t;Array.isArray(r)||(r=[r]),r.forEach((t=>{e.apps.find((e=>e.id===t)).error=s}))},clearError(e,t){let{appId:r,error:s}=t;e.apps.find((e=>e.id===r)).error=null},enableApp(e,t){let{appId:r,groups:s}=t;const i=e.apps.find((e=>e.id===r));i.active=!0,i.groups=s,"app_api"===i.id&&(e.appApiEnabled=!0)},setInstallState(e,t){let{appId:r,canInstall:s}=t;const i=e.apps.find((e=>e.id===r));i&&(i.canInstall=!0===s)},disableApp(e,t){const r=e.apps.find((e=>e.id===t));r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0),"app_api"===r.id&&(e.appApiEnabled=!1)},uninstallApp(e,t){e.apps.find((e=>e.id===t)).active=!1,e.apps.find((e=>e.id===t)).groups=[],e.apps.find((e=>e.id===t)).needsDownload=!0,e.apps.find((e=>e.id===t)).installed=!1,e.apps.find((e=>e.id===t)).canUnInstall=!1,e.apps.find((e=>e.id===t)).canInstall=!0,"app_api"===t&&(e.appApiEnabled=!1)},updateApp(e,t){const r=e.apps.find((e=>e.id===t)),s=r.update;r.update=null,r.version=s,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach((t=>{x.Ay.set(e.loading,t,!0)})):x.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach((t=>{x.Ay.set(e.loading,t,!1)})):x.Ay.set(e.loading,t,!1)}},R={enableApp(e,r){let s,{appId:i,groups:n}=r;return s=Array.isArray(i)?i:[i],m.A.requireAdmin().then((r=>(e.commit("startLoading",s),e.commit("startLoading","install"),m.A.post((0,l.Jv)("settings/apps/enable"),{appIds:s,groups:n}).then((r=>(e.commit("stopLoading",s),e.commit("stopLoading","install"),s.forEach((t=>{e.commit("enableApp",{appId:t,groups:n})})),d.Ay.get((0,l.Jv)("apps/files/")).then((()=>{r.data.update_required&&((0,u.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((()=>{Array.isArray(i)||((0,u.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:s,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:i}))}))))).catch((t=>{e.commit("stopLoading",s),e.commit("stopLoading","install"),e.commit("setError",{appId:s,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:i,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:i,error:t})))},forceEnableApp(e,t){let r,{appId:s,groups:i}=t;return r=Array.isArray(s)?s:[s],m.A.requireAdmin().then((()=>(e.commit("startLoading",r),e.commit("startLoading","install"),m.A.post((0,l.Jv)("settings/apps/force"),{appId:s}).then((t=>{e.commit("setInstallState",{appId:s,canInstall:!0})})).catch((t=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:s,error:t})})).finally((()=>{e.commit("stopLoading",r),e.commit("stopLoading","install")}))))).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},disableApp(e,t){let r,{appId:s}=t;return r=Array.isArray(s)?s:[s],m.A.requireAdmin().then((t=>(e.commit("startLoading",r),m.A.post((0,l.Jv)("settings/apps/disable"),{appIds:r}).then((t=>(e.commit("stopLoading",r),r.forEach((t=>{e.commit("disableApp",t)})),!0))).catch((t=>{e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:s,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},uninstallApp(e,t){let{appId:r}=t;return m.A.requireAdmin().then((t=>(e.commit("startLoading",r),m.A.get((0,l.Jv)(`settings/apps/uninstall/${r}`)).then((t=>(e.commit("stopLoading",r),e.commit("uninstallApp",r),!0))).catch((t=>{e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:r,error:t})))},updateApp(e,t){let{appId:r}=t;return m.A.requireAdmin().then((t=>(e.commit("startLoading",r),e.commit("startLoading","install"),m.A.get((0,l.Jv)(`settings/apps/update/${r}`)).then((t=>(e.commit("stopLoading","install"),e.commit("stopLoading",r),e.commit("updateApp",r),!0))).catch((t=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:r,error:t})))},getAllApps:e=>(e.commit("startLoading","list"),m.A.get((0,l.Jv)("settings/apps/list")).then((t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0))).catch((t=>e.commit("API_FAILURE",t)))),async getCategories(e){let{shouldRefetchCategories:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=m.A.get((0,l.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const r=await t;return r.data.length>0?(e.commit("appendCategories",r.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},w={state:T,mutations:P,getters:{isAppApiEnabled:e=>e.appApiEnabled,loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find((e=>e.id===t))},actions:R},C={serverData:(0,c.C)("settings","usersSettings",{})},U={setServerData(e,t){e.serverData=t}},S={state:C,mutations:U,getters:{getServerData:e=>e.serverData},actions:{}},$={state:{},mutations:{},getters:{},actions:{setAppConfig(e,t){let{app:r,key:s,value:i}=t;return m.A.requireAdmin().then((e=>m.A.post((0,l.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:r,key:s}),{value:i}).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{app:r,key:s,value:i,error:t})))}}},_={API_FAILURE(e,r){try{const e=r.error.response.data.ocs.meta.message;(0,u.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"<br>"+e,{isHTML:!0})}catch(e){(0,u.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}console.error(e,r)}};let F=null;const D=()=>(null===F&&(F=new i.il({modules:{users:O,apps:w,settings:S,oc:$},strict:!1,mutations:_})),F)},15916:(e,t,r)=>{"use strict";var s;r.d(t,{q:()=>s}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(s||(s={}))},35810:(e,t,r)=>{"use strict";r.d(t,{Al:()=>s.r,H4:()=>s.c,Q$:()=>s.e,R3:()=>s.n,VL:()=>s.l,lJ:()=>s.d,lT:()=>c,pt:()=>s.F,ur:()=>p,v7:()=>l});var s=r(68251),i=(r(43627),r(53334)),n=r(380),o=r(65606);Error;const a=["B","KB","MB","GB","TB","PB"],u=["B","KiB","MiB","GiB","TiB","PiB"];function l(e,t=!1,r=!1,s=!1){r=r&&!s,"string"==typeof e&&(e=Number(e));let n=e>0?Math.floor(Math.log(e)/Math.log(s?1e3:1024)):0;n=Math.min((r?u.length:a.length)-1,n);const o=r?u[n]:a[n];let l=(e/Math.pow(s?1e3:1024,n)).toFixed(1);return!0===t&&0===n?("0.0"!==l?"< 1 ":"0 ")+(r?u[1]:a[1]):(l=n<2?parseFloat(l).toFixed(0):parseFloat(l).toLocaleString((0,i.lO)()),l+" "+o)}function c(e,t=!1){try{e=`${e}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch(e){return null}const r=e.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===r||"."===r[1]||""===r[1])return null;const s=`${r[1]}`,i="i"===r[4]||t?1024:1e3;return Math.round(Number.parseFloat(s)*i**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[r[3]])}function d(e){return e instanceof Date?e.toISOString():String(e)}function p(e,t={}){const r={sortingMode:"basename",sortingOrder:"asc",...t};return function(e,t,r){r=r??[];const s=(t=t??[e=>e]).map(((e,t)=>"asc"===(r[t]??"asc")?1:-1)),n=Intl.Collator([(0,i.Z0)(),(0,i.lO)()],{numeric:!0,usage:"sort"});return[...e].sort(((e,r)=>{for(const[i,o]of t.entries()){const t=n.compare(d(o(e)),d(o(r)));if(0!==t)return t*s[i]}return 0}))}(e,[...r.sortFavoritesFirst?[e=>1!==e.attributes?.favorite]:[],...r.sortFoldersFirst?[e=>"folder"!==e.type]:[],..."basename"!==r.sortingMode?[e=>e[r.sortingMode]]:[],e=>{return(t=e.displayname||e.attributes?.displayname||e.basename).lastIndexOf(".")>0?t.slice(0,t.lastIndexOf(".")):t;var t},e=>e.basename],[...r.sortFavoritesFirst?["asc"]:[],...r.sortFoldersFirst?["asc"]:[],..."mtime"===r.sortingMode?["asc"===r.sortingOrder?"desc":"asc"]:[],..."mtime"!==r.sortingMode&&"basename"!==r.sortingMode?[r.sortingOrder]:[],r.sortingOrder,r.sortingOrder])}var h,g,m={},f={};function E(){return h||(h=1,function(e){const t=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r="["+t+"]["+t+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",s=new RegExp("^"+r+"$");e.isExist=function(e){return void 0!==e},e.isEmptyObject=function(e){return 0===Object.keys(e).length},e.merge=function(e,t,r){if(t){const s=Object.keys(t),i=s.length;for(let n=0;n<i;n++)e[s[n]]="strict"===r?[t[s[n]]]:t[s[n]]}},e.getValue=function(t){return e.isExist(t)?t:""},e.isName=function(e){return!(null==s.exec(e))},e.getAllMatches=function(e,t){const r=[];let s=t.exec(e);for(;s;){const i=[];i.startIndex=t.lastIndex-s[0].length;const n=s.length;for(let e=0;e<n;e++)i.push(s[e]);r.push(i),s=t.exec(e)}return r},e.nameRegexp=r}(f)),f}function A(){if(g)return m;g=1;const e=E(),t={allowBooleanAttributes:!1,unpairedTags:[]};function r(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function s(e,t){const r=t;for(;t<e.length;t++)if("?"!=e[t]&&" "!=e[t]);else{const s=e.substr(r,t-r);if(t>5&&"xml"===s)return d("InvalidXml","XML declaration allowed only at the start of the document.",h(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function i(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let r=1;for(t+=8;t<e.length;t++)if("<"===e[t])r++;else if(">"===e[t]&&(r--,0===r))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}m.validate=function(n,o){o=Object.assign({},t,o);const u=[];let p=!1,g=!1;"\ufeff"===n[0]&&(n=n.substr(1));for(let t=0;t<n.length;t++)if("<"===n[t]&&"?"===n[t+1]){if(t+=2,t=s(n,t),t.err)return t}else{if("<"!==n[t]){if(r(n[t]))continue;return d("InvalidChar","char '"+n[t]+"' is not expected.",h(n,t))}{let f=t;if(t++,"!"===n[t]){t=i(n,t);continue}{let E=!1;"/"===n[t]&&(E=!0,t++);let A="";for(;t<n.length&&">"!==n[t]&&" "!==n[t]&&"\t"!==n[t]&&"\n"!==n[t]&&"\r"!==n[t];t++)A+=n[t];if(A=A.trim(),"/"===A[A.length-1]&&(A=A.substring(0,A.length-1),t--),m=A,!e.isName(m)){let e;return e=0===A.trim().length?"Invalid space after '<'.":"Tag '"+A+"' is an invalid name.",d("InvalidTag",e,h(n,t))}const b=a(n,t);if(!1===b)return d("InvalidAttr","Attributes for '"+A+"' have open quote.",h(n,t));let I=b.value;if(t=b.index,"/"===I[I.length-1]){const e=t-I.length;I=I.substring(0,I.length-1);const r=l(I,o);if(!0!==r)return d(r.err.code,r.err.msg,h(n,e+r.err.line));p=!0}else if(E){if(!b.tagClosed)return d("InvalidTag","Closing tag '"+A+"' doesn't have proper closing.",h(n,t));if(I.trim().length>0)return d("InvalidTag","Closing tag '"+A+"' can't have attributes or invalid starting.",h(n,f));if(0===u.length)return d("InvalidTag","Closing tag '"+A+"' has not been opened.",h(n,f));{const e=u.pop();if(A!==e.tagName){let t=h(n,e.tagStartPos);return d("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+t.line+", col "+t.col+") instead of closing tag '"+A+"'.",h(n,f))}0==u.length&&(g=!0)}}else{const e=l(I,o);if(!0!==e)return d(e.err.code,e.err.msg,h(n,t-I.length+e.err.line));if(!0===g)return d("InvalidXml","Multiple possible root nodes found.",h(n,t));-1!==o.unpairedTags.indexOf(A)||u.push({tagName:A,tagStartPos:f}),p=!0}for(t++;t<n.length;t++)if("<"===n[t]){if("!"===n[t+1]){t++,t=i(n,t);continue}if("?"!==n[t+1])break;if(t=s(n,++t),t.err)return t}else if("&"===n[t]){const e=c(n,t);if(-1==e)return d("InvalidChar","char '&' is not expected.",h(n,t));t=e}else if(!0===g&&!r(n[t]))return d("InvalidXml","Extra text at the end",h(n,t));"<"===n[t]&&t--}}}var m;return p?1==u.length?d("InvalidTag","Unclosed tag '"+u[0].tagName+"'.",h(n,u[0].tagStartPos)):!(u.length>0)||d("InvalidXml","Invalid '"+JSON.stringify(u.map((e=>e.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):d("InvalidXml","Start tag expected.",1)};const n='"',o="'";function a(e,t){let r="",s="",i=!1;for(;t<e.length;t++){if(e[t]===n||e[t]===o)""===s?s=e[t]:s!==e[t]||(s="");else if(">"===e[t]&&""===s){i=!0;break}r+=e[t]}return""===s&&{value:r,index:t,tagClosed:i}}const u=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function l(t,r){const s=e.getAllMatches(t,u),i={};for(let e=0;e<s.length;e++){if(0===s[e][1].length)return d("InvalidAttr","Attribute '"+s[e][2]+"' has no space in starting.",f(s[e]));if(void 0!==s[e][3]&&void 0===s[e][4])return d("InvalidAttr","Attribute '"+s[e][2]+"' is without value.",f(s[e]));if(void 0===s[e][3]&&!r.allowBooleanAttributes)return d("InvalidAttr","boolean attribute '"+s[e][2]+"' is not allowed.",f(s[e]));const t=s[e][2];if(!p(t))return d("InvalidAttr","Attribute '"+t+"' is an invalid name.",f(s[e]));if(i.hasOwnProperty(t))return d("InvalidAttr","Attribute '"+t+"' is repeated.",f(s[e]));i[t]=1}return!0}function c(e,t){if(";"===e[++t])return-1;if("#"===e[t])return function(e,t){let r=/\d/;for("x"===e[t]&&(t++,r=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(r))break}return-1}(e,++t);let r=0;for(;t<e.length;t++,r++)if(!(e[t].match(/\w/)&&r<20)){if(";"===e[t])break;return-1}return t}function d(e,t,r){return{err:{code:e,msg:t,line:r.line||r,col:r.col}}}function p(t){return e.isName(t)}function h(e,t){const r=e.substring(0,t).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function f(e){return e.startIndex+e[1].length}return m}var b,I,N,v,L,y,O,x,T,P,R,w={};function C(){return T?x:(T=1,x=function(e){return"function"==typeof e?e:Array.isArray(e)?t=>{for(const r of e){if("string"==typeof r&&t===r)return!0;if(r instanceof RegExp&&r.test(t))return!0}}:()=>!1})}var U,S,$,_,F,D,G,k,M,j,B,V,X,q={};function K(){if(U)return q;function e(i,n,o){let a;const u={};for(let l=0;l<i.length;l++){const c=i[l],d=t(c);let p="";if(p=void 0===o?d:o+"."+d,d===n.textNodeName)void 0===a?a=c[d]:a+=""+c[d];else{if(void 0===d)continue;if(c[d]){let t=e(c[d],n,p);const i=s(t,n);c[":@"]?r(t,c[":@"],p,n):1!==Object.keys(t).length||void 0===t[n.textNodeName]||n.alwaysCreateTextNode?0===Object.keys(t).length&&(n.alwaysCreateTextNode?t[n.textNodeName]="":t=""):t=t[n.textNodeName],void 0!==u[d]&&u.hasOwnProperty(d)?(Array.isArray(u[d])||(u[d]=[u[d]]),u[d].push(t)):n.isArray(d,p,i)?u[d]=[t]:u[d]=t}}}return"string"==typeof a?a.length>0&&(u[n.textNodeName]=a):void 0!==a&&(u[n.textNodeName]=a),u}function t(e){const t=Object.keys(e);for(let e=0;e<t.length;e++){const r=t[e];if(":@"!==r)return r}}function r(e,t,r,s){if(t){const i=Object.keys(t),n=i.length;for(let o=0;o<n;o++){const n=i[o];s.isArray(n,r+"."+n,!0,!0)?e[n]=[t[n]]:e[n]=t[n]}}}function s(e,t){const{textNodeName:r}=t,s=Object.keys(e).length;return 0===s||!(1!==s||!e[r]&&"boolean"!=typeof e[r]&&0!==e[r])}return U=1,q.prettify=function(t,r){return e(t,r)},q}function H(){if($)return S;$=1;const{buildOptions:e}=function(){if(b)return w;b=1;const e={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,r){return e}};return w.buildOptions=function(t){return Object.assign({},e,t)},w.defaultOptions=e,w}(),t=function(){if(R)return P;R=1;const e=E(),t=N?I:(N=1,I=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}),r=function(){if(L)return v;L=1;const e=E();function t(e,t){let r="";for(;t<e.length&&"'"!==e[t]&&'"'!==e[t];t++)r+=e[t];if(r=r.trim(),-1!==r.indexOf(" "))throw new Error("External entites are not supported");const s=e[t++];let i="";for(;t<e.length&&e[t]!==s;t++)i+=e[t];return[r,i,t]}function r(e,t){return"!"===e[t+1]&&"E"===e[t+2]&&"N"===e[t+3]&&"T"===e[t+4]&&"I"===e[t+5]&&"T"===e[t+6]&&"Y"===e[t+7]}function s(e,t){return"!"===e[t+1]&&"E"===e[t+2]&&"L"===e[t+3]&&"E"===e[t+4]&&"M"===e[t+5]&&"E"===e[t+6]&&"N"===e[t+7]&&"T"===e[t+8]}function i(e,t){return"!"===e[t+1]&&"A"===e[t+2]&&"T"===e[t+3]&&"T"===e[t+4]&&"L"===e[t+5]&&"I"===e[t+6]&&"S"===e[t+7]&&"T"===e[t+8]}function n(e,t){return"!"===e[t+1]&&"N"===e[t+2]&&"O"===e[t+3]&&"T"===e[t+4]&&"A"===e[t+5]&&"T"===e[t+6]&&"I"===e[t+7]&&"O"===e[t+8]&&"N"===e[t+9]}function o(t){if(e.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}return v=function(e,a){const u={};if("O"!==e[a+3]||"C"!==e[a+4]||"T"!==e[a+5]||"Y"!==e[a+6]||"P"!==e[a+7]||"E"!==e[a+8])throw new Error("Invalid Tag instead of DOCTYPE");{a+=9;let l=1,c=!1,d=!1,p="";for(;a<e.length;a++)if("<"!==e[a]||d)if(">"===e[a]){if(d?"-"===e[a-1]&&"-"===e[a-2]&&(d=!1,l--):l--,0===l)break}else"["===e[a]?c=!0:p+=e[a];else{if(c&&r(e,a)){let r,s;a+=7,[r,s,a]=t(e,a+1),-1===s.indexOf("&")&&(u[o(r)]={regx:RegExp(`&${r};`,"g"),val:s})}else c&&s(e,a)||c&&i(e,a)?a+=8:c&&n(e,a)?a+=9:d=!0;l++,p=""}if(0!==l)throw new Error("Unclosed DOCTYPE")}return{entities:u,i:a}}}(),s=function(){if(O)return y;O=1;const e=/^[-+]?0x[a-fA-F0-9]+$/,t=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const r={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};return y=function(s,i={}){if(i=Object.assign({},r,i),!s||"string"!=typeof s)return s;let n=s.trim();if(void 0!==i.skipLike&&i.skipLike.test(n))return s;if(i.hex&&e.test(n))return Number.parseInt(n,16);{const e=t.exec(n);if(e){const t=e[1],r=e[2];let a=(o=e[3])&&-1!==o.indexOf(".")?("."===(o=o.replace(/0+$/,""))?o="0":"."===o[0]?o="0"+o:"."===o[o.length-1]&&(o=o.substr(0,o.length-1)),o):o;const u=e[4]||e[6];if(!i.leadingZeros&&r.length>0&&t&&"."!==n[2])return s;if(!i.leadingZeros&&r.length>0&&!t&&"."!==n[1])return s;{const e=Number(n),o=""+e;return-1!==o.search(/[eE]/)||u?i.eNotation?e:s:-1!==n.indexOf(".")?"0"===o&&""===a||o===a||t&&o==="-"+a?e:s:r?a===o||t+a===o?e:s:n===o||n===t+o?e:s}}return s}var o}}(),i=C();function n(e){const t=Object.keys(e);for(let r=0;r<t.length;r++){const s=t[r];this.lastEntities[s]={regex:new RegExp("&"+s+";","g"),val:e[s]}}}function o(e,t,r,s,i,n,o){if(void 0!==e&&(this.options.trimValues&&!s&&(e=e.trim()),e.length>0)){o||(e=this.replaceEntitiesValue(e));const s=this.options.tagValueProcessor(t,e,r,i,n);return null==s?e:typeof s!=typeof e||s!==e?s:this.options.trimValues||e.trim()===e?b(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function a(e){if(this.options.removeNSPrefix){const t=e.split(":"),r="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=r+t[1])}return e}const u=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function l(t,r,s){if(!0!==this.options.ignoreAttributes&&"string"==typeof t){const s=e.getAllMatches(t,u),i=s.length,n={};for(let e=0;e<i;e++){const t=this.resolveNameSpace(s[e][1]);if(this.ignoreAttributesFn(t,r))continue;let i=s[e][4],o=this.options.attributeNamePrefix+t;if(t.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),"__proto__"===o&&(o="#__proto__"),void 0!==i){this.options.trimValues&&(i=i.trim()),i=this.replaceEntitiesValue(i);const e=this.options.attributeValueProcessor(t,i,r);n[o]=null==e?i:typeof e!=typeof i||e!==i?e:b(i,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[o]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){const e={};return e[this.options.attributesGroupName]=n,e}return n}}const c=function(e){e=e.replace(/\r\n?/g,"\n");const s=new t("!xml");let i=s,n="",o="";for(let a=0;a<e.length;a++)if("<"===e[a])if("/"===e[a+1]){const t=m(e,">",a,"Closing Tag is not closed.");let r=e.substring(a+2,t).trim();if(this.options.removeNSPrefix){const e=r.indexOf(":");-1!==e&&(r=r.substr(e+1))}this.options.transformTagName&&(r=this.options.transformTagName(r)),i&&(n=this.saveTextToParentTag(n,i,o));const s=o.substring(o.lastIndexOf(".")+1);if(r&&-1!==this.options.unpairedTags.indexOf(r))throw new Error(`Unpaired tag can not be used as closing tag: </${r}>`);let u=0;s&&-1!==this.options.unpairedTags.indexOf(s)?(u=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):u=o.lastIndexOf("."),o=o.substring(0,u),i=this.tagsNodeStack.pop(),n="",a=t}else if("?"===e[a+1]){let r=f(e,a,!1,"?>");if(!r)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,o),this.options.ignoreDeclaration&&"?xml"===r.tagName||this.options.ignorePiTags);else{const e=new t(r.tagName);e.add(this.options.textNodeName,""),r.tagName!==r.tagExp&&r.attrExpPresent&&(e[":@"]=this.buildAttributesMap(r.tagExp,o,r.tagName)),this.addChild(i,e,o)}a=r.closeIndex+1}else if("!--"===e.substr(a+1,3)){const t=m(e,"--\x3e",a+4,"Comment is not closed.");if(this.options.commentPropName){const r=e.substring(a+4,t-2);n=this.saveTextToParentTag(n,i,o),i.add(this.options.commentPropName,[{[this.options.textNodeName]:r}])}a=t}else if("!D"===e.substr(a+1,2)){const t=r(e,a);this.docTypeEntities=t.entities,a=t.i}else if("!["===e.substr(a+1,2)){const t=m(e,"]]>",a,"CDATA is not closed.")-2,r=e.substring(a+9,t);n=this.saveTextToParentTag(n,i,o);let s=this.parseTextData(r,i.tagname,o,!0,!1,!0,!0);null==s&&(s=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:r}]):i.add(this.options.textNodeName,s),a=t+2}else{let r=f(e,a,this.options.removeNSPrefix),u=r.tagName;const l=r.rawTagName;let c=r.tagExp,d=r.attrExpPresent,p=r.closeIndex;this.options.transformTagName&&(u=this.options.transformTagName(u)),i&&n&&"!xml"!==i.tagname&&(n=this.saveTextToParentTag(n,i,o,!1));const h=i;if(h&&-1!==this.options.unpairedTags.indexOf(h.tagname)&&(i=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),u!==s.tagname&&(o+=o?"."+u:u),this.isItStopNode(this.options.stopNodes,o,u)){let s="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)"/"===u[u.length-1]?(u=u.substr(0,u.length-1),o=o.substr(0,o.length-1),c=u):c=c.substr(0,c.length-1),a=r.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(u))a=r.closeIndex;else{const t=this.readStopNodeData(e,l,p+1);if(!t)throw new Error(`Unexpected end of ${l}`);a=t.i,s=t.tagContent}const n=new t(u);u!==c&&d&&(n[":@"]=this.buildAttributesMap(c,o,u)),s&&(s=this.parseTextData(s,u,o,!0,d,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),n.add(this.options.textNodeName,s),this.addChild(i,n,o)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){"/"===u[u.length-1]?(u=u.substr(0,u.length-1),o=o.substr(0,o.length-1),c=u):c=c.substr(0,c.length-1),this.options.transformTagName&&(u=this.options.transformTagName(u));const e=new t(u);u!==c&&d&&(e[":@"]=this.buildAttributesMap(c,o,u)),this.addChild(i,e,o),o=o.substr(0,o.lastIndexOf("."))}else{const e=new t(u);this.tagsNodeStack.push(i),u!==c&&d&&(e[":@"]=this.buildAttributesMap(c,o,u)),this.addChild(i,e,o),i=e}n="",a=p}}else n+=e[a];return s.child};function d(e,t,r){const s=this.options.updateTag(t.tagname,r,t[":@"]);!1===s||("string"==typeof s?(t.tagname=s,e.addChild(t)):e.addChild(t))}const p=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){const r=this.docTypeEntities[t];e=e.replace(r.regx,r.val)}for(let t in this.lastEntities){const r=this.lastEntities[t];e=e.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const r=this.htmlEntities[t];e=e.replace(r.regex,r.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function h(e,t,r,s){return e&&(void 0===s&&(s=0===Object.keys(t.child).length),void 0!==(e=this.parseTextData(e,t.tagname,r,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,s))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function g(e,t,r){const s="*."+r;for(const r in e){const i=e[r];if(s===i||t===i)return!0}return!1}function m(e,t,r,s){const i=e.indexOf(t,r);if(-1===i)throw new Error(s);return i+t.length-1}function f(e,t,r,s=">"){const i=function(e,t,r=">"){let s,i="";for(let n=t;n<e.length;n++){let t=e[n];if(s)t===s&&(s="");else if('"'===t||"'"===t)s=t;else if(t===r[0]){if(!r[1])return{data:i,index:n};if(e[n+1]===r[1])return{data:i,index:n}}else"\t"===t&&(t=" ");i+=t}}(e,t+1,s);if(!i)return;let n=i.data;const o=i.index,a=n.search(/\s/);let u=n,l=!0;-1!==a&&(u=n.substring(0,a),n=n.substring(a+1).trimStart());const c=u;if(r){const e=u.indexOf(":");-1!==e&&(u=u.substr(e+1),l=u!==i.data.substr(e+1))}return{tagName:u,tagExp:n,closeIndex:o,attrExpPresent:l,rawTagName:c}}function A(e,t,r){const s=r;let i=1;for(;r<e.length;r++)if("<"===e[r])if("/"===e[r+1]){const n=m(e,">",r,`${t} is not closed`);if(e.substring(r+2,n).trim()===t&&(i--,0===i))return{tagContent:e.substring(s,r),i:n};r=n}else if("?"===e[r+1])r=m(e,"?>",r+1,"StopNode is not closed.");else if("!--"===e.substr(r+1,3))r=m(e,"--\x3e",r+3,"StopNode is not closed.");else if("!["===e.substr(r+1,2))r=m(e,"]]>",r,"StopNode is not closed.")-2;else{const s=f(e,r,">");s&&((s&&s.tagName)===t&&"/"!==s.tagExp[s.tagExp.length-1]&&i++,r=s.closeIndex)}}function b(t,r,i){if(r&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&s(t,i)}return e.isExist(t)?t:""}return P=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,16))}},this.addExternalEntities=n,this.parseXml=c,this.parseTextData=o,this.resolveNameSpace=a,this.buildAttributesMap=l,this.isItStopNode=g,this.replaceEntitiesValue=p,this.readStopNodeData=A,this.saveTextToParentTag=h,this.addChild=d,this.ignoreAttributesFn=i(this.options.ignoreAttributes)}}}(),{prettify:r}=K(),s=A();return S=class{constructor(t){this.externalEntities={},this.options=e(t)}parse(e,i){if("string"==typeof e);else{if(!e.toString)throw new Error("XML data is accepted in String or Bytes[] form.");e=e.toString()}if(i){!0===i&&(i={});const t=s.validate(e,i);if(!0!==t)throw Error(`${t.err.msg}:${t.err.line}:${t.err.col}`)}const n=new t(this.options);n.addExternalEntities(this.externalEntities);const o=n.parseXml(e);return this.options.preserveOrder||void 0===o?o:r(o,this.options)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}}}function J(){if(F)return _;function e(n,o,a,u){let l="",c=!1;for(let d=0;d<n.length;d++){const p=n[d],h=t(p);if(void 0===h)continue;let g="";if(g=0===a.length?h:`${a}.${h}`,h===o.textNodeName){let e=p[h];s(g,o)||(e=o.tagValueProcessor(h,e),e=i(e,o)),c&&(l+=u),l+=e,c=!1;continue}if(h===o.cdataPropName){c&&(l+=u),l+=`<![CDATA[${p[h][0][o.textNodeName]}]]>`,c=!1;continue}if(h===o.commentPropName){l+=u+`\x3c!--${p[h][0][o.textNodeName]}--\x3e`,c=!0;continue}if("?"===h[0]){const e=r(p[":@"],o),t="?xml"===h?"":u;let s=p[h][0][o.textNodeName];s=0!==s.length?" "+s:"",l+=t+`<${h}${s}${e}?>`,c=!0;continue}let m=u;""!==m&&(m+=o.indentBy);const f=u+`<${h}${r(p[":@"],o)}`,E=e(p[h],o,g,m);-1!==o.unpairedTags.indexOf(h)?o.suppressUnpairedNode?l+=f+">":l+=f+"/>":E&&0!==E.length||!o.suppressEmptyNode?E&&E.endsWith(">")?l+=f+`>${E}${u}</${h}>`:(l+=f+">",E&&""!==u&&(E.includes("/>")||E.includes("</"))?l+=u+o.indentBy+E+u:l+=E,l+=`</${h}>`):l+=f+"/>",c=!0}return l}function t(e){const t=Object.keys(e);for(let r=0;r<t.length;r++){const s=t[r];if(e.hasOwnProperty(s)&&":@"!==s)return s}}function r(e,t){let r="";if(e&&!t.ignoreAttributes)for(let s in e){if(!e.hasOwnProperty(s))continue;let n=t.attributeValueProcessor(s,e[s]);n=i(n,t),!0===n&&t.suppressBooleanAttributes?r+=` ${s.substr(t.attributeNamePrefix.length)}`:r+=` ${s.substr(t.attributeNamePrefix.length)}="${n}"`}return r}function s(e,t){let r=(e=e.substr(0,e.length-t.textNodeName.length-1)).substr(e.lastIndexOf(".")+1);for(let s in t.stopNodes)if(t.stopNodes[s]===e||t.stopNodes[s]==="*."+r)return!0;return!1}function i(e,t){if(e&&e.length>0&&t.processEntities)for(let r=0;r<t.entities.length;r++){const s=t.entities[r];e=e.replace(s.regex,s.val)}return e}return F=1,_=function(t,r){let s="";return r.format&&r.indentBy.length>0&&(s="\n"),e(t,r,"",s)}}function Y(){if(B)return j;B=1;const e="object"==typeof o&&o.env&&o.env.NODE_DEBUG&&/\bsemver\b/i.test(o.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return j=e}function Z(){if(X)return V;X=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return V={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}!function(){if(M)return k;M=1;const e=A(),t=H(),r=function(){if(G)return D;G=1;const e=J(),t=C(),r={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function s(e){this.options=Object.assign({},r,e),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=t(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=o),this.processTextOrObjNode=i,this.options.format?(this.indentate=n,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function i(e,t,r,s){const i=this.j2x(e,r+1,s.concat(t));return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,i.attrStr,r):this.buildObjectNode(i.val,t,i.attrStr,r)}function n(e){return this.options.indentBy.repeat(e)}function o(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}return s.prototype.build=function(t){return this.options.preserveOrder?e(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)},s.prototype.j2x=function(e,t,r){let s="",i="";const n=r.join(".");for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o))if(void 0===e[o])this.isAttribute(o)&&(i+="");else if(null===e[o])this.isAttribute(o)?i+="":"?"===o[0]?i+=this.indentate(t)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+o+"/"+this.tagEndChar;else if(e[o]instanceof Date)i+=this.buildTextValNode(e[o],o,"",t);else if("object"!=typeof e[o]){const r=this.isAttribute(o);if(r&&!this.ignoreAttributesFn(r,n))s+=this.buildAttrPairStr(r,""+e[o]);else if(!r)if(o===this.options.textNodeName){let t=this.options.tagValueProcessor(o,""+e[o]);i+=this.replaceEntitiesValue(t)}else i+=this.buildTextValNode(e[o],o,"",t)}else if(Array.isArray(e[o])){const s=e[o].length;let n="",a="";for(let u=0;u<s;u++){const s=e[o][u];if(void 0===s);else if(null===s)"?"===o[0]?i+=this.indentate(t)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+o+"/"+this.tagEndChar;else if("object"==typeof s)if(this.options.oneListGroup){const e=this.j2x(s,t+1,r.concat(o));n+=e.val,this.options.attributesGroupName&&s.hasOwnProperty(this.options.attributesGroupName)&&(a+=e.attrStr)}else n+=this.processTextOrObjNode(s,o,t,r);else if(this.options.oneListGroup){let e=this.options.tagValueProcessor(o,s);e=this.replaceEntitiesValue(e),n+=e}else n+=this.buildTextValNode(s,o,"",t)}this.options.oneListGroup&&(n=this.buildObjectNode(n,o,a,t)),i+=n}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){const t=Object.keys(e[o]),r=t.length;for(let i=0;i<r;i++)s+=this.buildAttrPairStr(t[i],""+e[o][t[i]])}else i+=this.processTextOrObjNode(e[o],o,t,r);return{attrStr:s,val:i}},s.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&"true"===t?" "+e:" "+e+'="'+t+'"'},s.prototype.buildObjectNode=function(e,t,r,s){if(""===e)return"?"===t[0]?this.indentate(s)+"<"+t+r+"?"+this.tagEndChar:this.indentate(s)+"<"+t+r+this.closeTag(t)+this.tagEndChar;{let i="</"+t+this.tagEndChar,n="";return"?"===t[0]&&(n="?",i=""),!r&&""!==r||-1!==e.indexOf("<")?!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===n.length?this.indentate(s)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(s)+"<"+t+r+n+this.tagEndChar+e+this.indentate(s)+i:this.indentate(s)+"<"+t+r+n+">"+e+i}},s.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`></${e}`,t},s.prototype.buildTextValNode=function(e,t,r,s){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName)return this.indentate(s)+`<![CDATA[${e}]]>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(s)+`\x3c!--${e}--\x3e`+this.newLine;if("?"===t[0])return this.indentate(s)+"<"+t+r+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(t,e);return i=this.replaceEntitiesValue(i),""===i?this.indentate(s)+"<"+t+r+this.closeTag(t)+this.tagEndChar:this.indentate(s)+"<"+t+r+">"+i+"</"+t+this.tagEndChar}},s.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const r=this.options.entities[t];e=e.replace(r.regex,r.val)}return e},D=s}();k={XMLParser:t,XMLValidator:e,XMLBuilder:r}}();var z,Q,W,ee,te,re,se,ie,ne,oe,ae,ue,le,ce={exports:{}};function de(){if(se)return re;se=1;const e=Y(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:r}=Z(),{safeRe:s,t:i}=(z||(z=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:i}=Z(),n=Y(),o=(t=e.exports={}).re=[],a=t.safeRe=[],u=t.src=[],l=t.t={};let c=0;const d="[a-zA-Z0-9-]",p=[["\\s",1],["\\d",i],[d,s]],h=(e,t,r)=>{const s=(e=>{for(const[t,r]of p)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),i=c++;n(e,i,t),l[e]=i,u[i]=t,o[i]=new RegExp(t,r?"g":void 0),a[i]=new RegExp(s,r?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),h("MAINVERSION",`(${u[l.NUMERICIDENTIFIER]})\\.(${u[l.NUMERICIDENTIFIER]})\\.(${u[l.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${u[l.NUMERICIDENTIFIERLOOSE]})\\.(${u[l.NUMERICIDENTIFIERLOOSE]})\\.(${u[l.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${u[l.NUMERICIDENTIFIER]}|${u[l.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${u[l.NUMERICIDENTIFIERLOOSE]}|${u[l.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${u[l.PRERELEASEIDENTIFIER]}(?:\\.${u[l.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${u[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${u[l.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${d}+`),h("BUILD",`(?:\\+(${u[l.BUILDIDENTIFIER]}(?:\\.${u[l.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${u[l.MAINVERSION]}${u[l.PRERELEASE]}?${u[l.BUILD]}?`),h("FULL",`^${u[l.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${u[l.MAINVERSIONLOOSE]}${u[l.PRERELEASELOOSE]}?${u[l.BUILD]}?`),h("LOOSE",`^${u[l.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${u[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${u[l.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${u[l.XRANGEIDENTIFIER]})(?:\\.(${u[l.XRANGEIDENTIFIER]})(?:\\.(${u[l.XRANGEIDENTIFIER]})(?:${u[l.PRERELEASE]})?${u[l.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${u[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[l.XRANGEIDENTIFIERLOOSE]})(?:${u[l.PRERELEASELOOSE]})?${u[l.BUILD]}?)?)?`),h("XRANGE",`^${u[l.GTLT]}\\s*${u[l.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${u[l.GTLT]}\\s*${u[l.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),h("COERCE",`${u[l.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",u[l.COERCEPLAIN]+`(?:${u[l.PRERELEASE]})?(?:${u[l.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",u[l.COERCE],!0),h("COERCERTLFULL",u[l.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${u[l.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${u[l.LONETILDE]}${u[l.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${u[l.LONETILDE]}${u[l.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${u[l.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${u[l.LONECARET]}${u[l.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${u[l.LONECARET]}${u[l.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${u[l.GTLT]}\\s*(${u[l.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${u[l.GTLT]}\\s*(${u[l.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${u[l.GTLT]}\\s*(${u[l.LOOSEPLAIN]}|${u[l.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${u[l.XRANGEPLAIN]})\\s+-\\s+(${u[l.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${u[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${u[l.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(ce,ce.exports)),ce.exports),n=function(){if(W)return Q;W=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return Q=r=>r?"object"!=typeof r?e:r:t}(),{compareIdentifiers:o}=function(){if(te)return ee;te=1;const e=/^[0-9]+$/,t=(t,r)=>{const s=e.test(t),i=e.test(r);return s&&i&&(t=+t,r=+r),t===r?0:s&&!i?-1:i&&!s?1:t<r?-1:1};return ee={compareIdentifiers:t,rcompareIdentifiers:(e,r)=>t(r,e)}}();class a{constructor(o,u){if(u=n(u),o instanceof a){if(o.loose===!!u.loose&&o.includePrerelease===!!u.includePrerelease)return o;o=o.version}else if("string"!=typeof o)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof o}".`);if(o.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",o,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;const l=o.trim().match(u.loose?s[i.LOOSE]:s[i.FULL]);if(!l)throw new TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");l[4]?this.prerelease=l[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<r)return t}return e})):this.prerelease=[],this.build=l[5]?l[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(e("SemVer.compare",this.version,this.options,t),!(t instanceof a)){if("string"==typeof t&&t===this.version)return 0;t=new a(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(e){return e instanceof a||(e=new a(e,this.options)),o(this.major,e.major)||o(this.minor,e.minor)||o(this.patch,e.patch)}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const s=this.prerelease[r],i=t.prerelease[r];if(e("prerelease compare",r,s,i),void 0===s&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===s)return-1;if(s!==i)return o(s,i)}while(++r)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let r=0;do{const s=this.build[r],i=t.build[r];if(e("build compare",r,s,i),void 0===s&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===s)return-1;if(s!==i)return o(s,i)}while(++r)}inc(e,t,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(!t&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[e];else{let s=this.prerelease.length;for(;--s>=0;)"number"==typeof this.prerelease[s]&&(this.prerelease[s]++,s=-2);if(-1===s){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let s=[t,e];!1===r&&(s=[t]),0===o(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return re=a}!function(){if(ae)return oe;ae=1;const e=function(){if(ne)return ie;ne=1;const e=de();return ie=(t,r,s=!1)=>{if(t instanceof e)return t;try{return new e(t,r)}catch(e){if(!s)return null;throw e}}}();oe=(t,r)=>{const s=e(t,r);return s?s.version:null}}(),function(){if(le)return ue;le=1;const e=de();ue=(t,r)=>new e(t,r).major}(),n.m},36620:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});const s=(0,r(35947).YK)().setApp("settings").detectUser().build()},58723:(e,t)=>{function r(e,t){var s={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(s.from=r(t)),Object.freeze(s)}t.O=function(e,t,s){var i=(s||{}).moduleName||"route";e.registerModule(i,{namespaced:!0,state:r(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,s){e.state[i]=r(s.to,s.from)}}});var n,o=!1,a=e.watch((function(e){return e[i]}),(function(e){var r=e.fullPath;r!==n&&(null!=n&&(o=!0,t.push(e)),n=r)}),{sync:!0}),u=t.afterEach((function(t,r){o?o=!1:(n=t.fullPath,e.commit(i+"/ROUTE_CHANGED",{to:t,from:r}))}));return function(){null!=u&&u(),null!=a&&a(),e.unregisterModule(i)}}}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,o),r.loaded=!0,r.exports}o.m=i,e=[],o.O=(t,r,s,i)=>{if(!r){var n=1/0;for(c=0;c<e.length;c++){r=e[c][0],s=e[c][1],i=e[c][2];for(var a=!0,u=0;u<r.length;u++)(!1&i||n>=i)&&Object.keys(o.O).every((e=>o.O[e](r[u])))?r.splice(u--,1):(a=!1,i<n&&(n=i));if(a){e.splice(c--,1);var l=s();void 0!==l&&(t=l)}}return t}i=i||0;for(var c=e.length;c>0&&e[c-1][2]>i;c--)e[c]=e[c-1];e[c]=[r,s,i]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((t,r)=>(o.f[r](e,t),t)),[])),o.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{459:"975afd1e02f53abf8034",640:"c4d4943f2c00c1f8a515",1023:"06cf5496a0a2d7ef494a",3239:"08759831a01ef53093e7",4529:"e7b8ecf797fe13c6d69b",5862:"142cd48ca8ec32e57725",7265:"e59095160fc79c41c493",7432:"eb26215e99ea363927b0",8737:"1ee3b21131ac8193a04d",9279:"460048c8db22e016b900"}[e]),o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},s="nextcloud:",o.l=(e,t,i,n)=>{if(r[e])r[e].push(t);else{var a,u;if(void 0!==i)for(var l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var d=l[c];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==s+i){a=d;break}}a||(u=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,o.nc&&a.setAttribute("nonce",o.nc),a.setAttribute("data-webpack",s+i),a.src=e),r[e]=[t];var p=(t,s)=>{a.onerror=a.onload=null,clearTimeout(h);var i=r[e];if(delete r[e],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach((e=>e(s))),t)return t(s)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),u&&document.head.appendChild(a)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.j=2689,(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var t=o.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var s=r.length-1;s>-1&&(!e||!/^http(s?):/.test(e));)e=r[s--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{o.b=document.baseURI||self.location.href;var e={2689:0};o.f.j=(t,r)=>{var s=o.o(e,t)?e[t]:void 0;if(0!==s)if(s)r.push(s[2]);else{var i=new Promise(((r,i)=>s=e[t]=[r,i]));r.push(s[2]=i);var n=o.p+o.u(t),a=new Error;o.l(n,(r=>{if(o.o(e,t)&&(0!==(s=e[t])&&(e[t]=void 0),s)){var i=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed.\n("+i+": "+n+")",a.name="ChunkLoadError",a.type=i,a.request=n,s[1](a)}}),"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,r)=>{var s,i,n=r[0],a=r[1],u=r[2],l=0;if(n.some((t=>0!==e[t]))){for(s in a)o.o(a,s)&&(o.m[s]=a[s]);if(u)var c=u(o)}for(t&&t(r);l<n.length;l++)i=n[l],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return o.O(c)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),o.nc=void 0;var a=o.O(void 0,[4208],(()=>o(12836)));a=o.O(a)})();
+//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=f2cf2e8a133b96f6e69d \ No newline at end of file
diff --git a/dist/settings-vue-settings-apps-users-management.js.map b/dist/settings-vue-settings-apps-users-management.js.map
index 56ada71bbff..76cb6c786f6 100644
--- a/dist/settings-vue-settings-apps-users-management.js.map
+++ b/dist/settings-vue-settings-apps-users-management.js.map
@@ -1 +1 @@
-{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=558eb9e4c83b929fda4d","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/SettingsApp.vue?3a67","webpack:///nextcloud/apps/settings/src/router/routes.ts","webpack:///nextcloud/apps/settings/src/router/index.ts","webpack:///nextcloud/apps/settings/src/main-apps-users-management.ts","webpack:///nextcloud/apps/settings/src/utils/sorting.ts","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/users-settings.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/constants/GroupManagement.ts","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcContent,{attrs:{\"app-name\":\"settings\"}},[_c('router-view',{attrs:{\"name\":\"navigation\"}}),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_c('router-view',{attrs:{\"name\":\"sidebar\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SettingsApp.vue?vue&type=template&id=288003b1\"\nimport script from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { loadState } from '@nextcloud/initial-state';\nconst appstoreEnabled = loadState('settings', 'appstoreEnabled', true);\n// Dynamic loading\nconst AppStore = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStore.vue');\nconst AppStoreNavigation = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreNavigation.vue');\nconst AppStoreSidebar = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreSidebar.vue');\nconst UserManagement = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagement.vue');\nconst UserManagementNavigation = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagementNavigation.vue');\nconst routes = [\n {\n name: 'users',\n path: '/:index(index.php/)?settings/users',\n components: {\n default: UserManagement,\n navigation: UserManagementNavigation,\n },\n props: true,\n children: [\n {\n path: ':selectedGroup',\n name: 'group',\n },\n ],\n },\n {\n path: '/:index(index.php/)?settings/apps',\n name: 'apps',\n redirect: {\n name: 'apps-category',\n params: {\n category: appstoreEnabled ? 'discover' : 'installed',\n },\n },\n components: {\n default: AppStore,\n navigation: AppStoreNavigation,\n sidebar: AppStoreSidebar,\n },\n children: [\n {\n path: ':category',\n name: 'apps-category',\n children: [\n {\n path: ':id',\n name: 'apps-details',\n },\n ],\n },\n ],\n },\n];\nexport default routes;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { generateUrl } from '@nextcloud/router';\nimport routes from './routes.ts';\nVue.use(Router);\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl(''),\n linkActiveClass: 'active',\n routes,\n});\nexport default router;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport VTooltipPlugin from 'v-tooltip';\nimport { sync } from 'vuex-router-sync';\nimport { t, n } from '@nextcloud/l10n';\nimport SettingsApp from './views/SettingsApp.vue';\nimport router from './router/index.ts';\nimport { useStore } from './store/index.js';\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { PiniaVuePlugin, createPinia } from 'pinia';\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = getCSPNonce();\n// bind to window\nVue.prototype.t = t;\nVue.prototype.n = n;\nVue.use(PiniaVuePlugin);\nVue.use(VTooltipPlugin, { defaultHtml: false });\nVue.use(Vuex);\nconst store = useStore();\nsync(store, router);\nconst pinia = createPinia();\nexport default new Vue({\n router,\n store,\n pinia,\n render: h => h(SettingsApp),\n el: '#content',\n});\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCanonicalLocale, getLanguage } from '@nextcloud/l10n';\nexport const naturalCollator = Intl.Collator([getLanguage(), getCanonicalLocale()], {\n numeric: true,\n usage: 'sort',\n});\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { parseFileSize } from '@nextcloud/files'\nimport { showError } from '@nextcloud/dialogs'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\n\nimport { GroupSorting } from '../constants/GroupManagement.ts'\nimport { naturalCollator } from '../utils/sorting.ts'\nimport api from './api.js'\nimport logger from '../logger.ts'\n\nconst usersSettings = loadState('settings', 'usersSettings', {})\n\nconst localStorage = getBuilder('settings').persist(true).build()\n\nconst defaults = {\n\t/**\n\t * @type {import('../views/user-types').IGroup}\n\t */\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [\n\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t...(usersSettings.systemGroups ?? []),\n\t],\n\torderBy: usersSettings.sortGroups ?? GroupSorting.UserCount,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: usersSettings.userCount ?? 0,\n\tshowConfig: {\n\t\tshowStoragePath: localStorage.getItem('account_settings__showStoragePath') === 'true',\n\t\tshowUserBackend: localStorage.getItem('account_settings__showUserBackend') === 'true',\n\t\tshowFirstLogin: localStorage.getItem('account_settings__showFirstLogin') === 'true',\n\t\tshowLastLogin: localStorage.getItem('account_settings__showLastLogin') === 'true',\n\t\tshowNewUserForm: localStorage.getItem('account_settings__showNewUserForm') === 'true',\n\t\tshowLanguages: localStorage.getItem('account_settings__showLanguages') === 'true',\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state, _usersObj) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\t/**\n\t * @param {object} state store state\n\t * @param {import('../views/user-types.js').IGroup} newGroup new group\n\t */\n\taddGroup(state, newGroup) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === newGroup.id) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, newGroup)\n\t\t\tstate.groups.unshift(group)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst recentGroup = state.groups.find(group => group.id === '__nc_internal_recent')\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\trecentGroup.usercount += user.enabled ? 1 : -1\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\trecentGroup.usercount++\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\trecentGroup.usercount--\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\t/**\n\t * Reset group list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetGroups(state) {\n\t\tstate.groups = [\n\t\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t\t...(usersSettings.systemGroups ?? []),\n\t\t]\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tlocalStorage.setItem(`account_settings__${key}`, JSON.stringify(value))\n\t\tstate.showConfig[key] = value\n\t},\n\n\tsetGroupSorting(state, sorting) {\n\t\tconst oldValue = state.orderBy\n\t\tstate.orderBy = sorting\n\n\t\t// Persist the value on the server\n\t\taxios.post(\n\t\t\tgenerateUrl('/settings/users/preferences/group.sortBy'),\n\t\t\t{\n\t\t\t\tvalue: String(sorting),\n\t\t\t},\n\t\t).catch((error) => {\n\t\t\tstate.orderBy = oldValue\n\t\t\tshowError(t('settings', 'Could not set group sorting'))\n\t\t\tlogger.error(error)\n\t\t})\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubAdminGroups() {\n\t\treturn usersSettings.subAdminGroups ?? []\n\t},\n\n\tgetSortedGroups(state) {\n\t\tconst groups = [...state.groups]\n\t\tif (state.orderBy === GroupSorting.UserCount) {\n\t\t\treturn groups.sort((a, b) => {\n\t\t\t\tconst numA = a.usercount - a.disabled\n\t\t\t\tconst numB = b.usercount - b.disabled\n\t\t\t\treturn (numA < numB) ? 1 : (numB < numA ? -1 : naturalCollator.compare(a.name, b.name))\n\t\t\t})\n\t\t} else {\n\t\t\treturn groups.sort((a, b) => naturalCollator.compare(a.name, b.name))\n\t\t}\n\t},\n\tgetGroupSorting(state) {\n\t\treturn state.orderBy\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get recent users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search query\n\t * @return {Promise<number>}\n\t */\n\tasync getRecentUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/recent?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param options.search\n\t * @return {Promise<number>}\n\t */\n\tasync getDisabledUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { id: group, name: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { id: gid, name: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tasync wipeUserDevices(context, userid) {\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\treturn await api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\treturn Promise.reject(new Error('Failed to wipe user devices'))\n\t\t}\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tasync setUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tconst validKeys = ['email', 'language', 'quota', 'displayname', 'password', 'manager']\n\n\t\tif (!validKeys.includes(key)) {\n\t\t\tthrow new Error('Invalid request data')\n\t\t}\n\n\t\t// If value is empty and the key doesn't allow empty values, throw error\n\t\tif (value === '' && !allowedEmpty.includes(key)) {\n\t\t\tthrow new Error('Value cannot be empty for this field')\n\t\t}\n\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\tawait api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\treturn context.commit('setUserData', { userid, key, value })\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t}\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tapps: [],\n\tbundles: loadState('settings', 'appstoreBundles', []),\n\tcategories: [],\n\tupdateCount: loadState('settings', 'appstoreUpdateCount', 0),\n\tloading: {},\n\tgettingCategoriesPromise: null,\n\tappApiEnabled: loadState('settings', 'appApiEnabled', false),\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = true\n\t\t}\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t\tif (appId === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tisAppApiEnabled(state) {\n\t\treturn state.appApiEnabled\n\t},\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetAppBundles(state) {\n\t\treturn state.bundles\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn axios.get(generateUrl('apps/files/'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.',\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tshowError(t('settings', 'Error: This app cannot be enabled because it makes the server unstable'))\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tcontext.dispatch('disableApp', { appId })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tserverData: loadState('settings', 'usersSettings', {}),\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './users-settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nlet store = null\n\nexport const useStore = () => {\n\tif (store === null) {\n\t\tstore = new Store({\n\t\t\tmodules: {\n\t\t\t\tusers,\n\t\t\t\tapps,\n\t\t\t\tsettings,\n\t\t\t\toc,\n\t\t\t},\n\t\t\tstrict: debug,\n\t\t\tmutations,\n\t\t})\n\t}\n\treturn store\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\nexport var GroupSorting;\n(function (GroupSorting) {\n GroupSorting[GroupSorting[\"UserCount\"] = 1] = \"UserCount\";\n GroupSorting[GroupSorting[\"GroupName\"] = 2] = \"GroupName\";\n})(GroupSorting || (GroupSorting = {}));\n","import { o as logger } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { q, F, s, N, t, P, c, l, m, n, a, g, p, b, r, d, h, f, k, j, e, i } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"path\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? 1;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nconst getNewFileMenu = function() {\n if (typeof window._nc_newfilemenu === \"undefined\") {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug(\"NewFileMenu initialized\");\n }\n return window._nc_newfilemenu;\n};\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get destructive() {\n return this._action.destructive;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass FileListAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get order() {\n return this._action.order;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n }\n}\nconst registerFileListAction = (action) => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n if (window._nc_filelistactions.find((listAction) => listAction.id === action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n window._nc_filelistactions.push(action);\n};\nconst getFileListActions = () => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n return window._nc_filelistactions;\n};\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nvar InvalidFilenameErrorReason = /* @__PURE__ */ ((InvalidFilenameErrorReason2) => {\n InvalidFilenameErrorReason2[\"ReservedName\"] = \"reserved name\";\n InvalidFilenameErrorReason2[\"Character\"] = \"character\";\n InvalidFilenameErrorReason2[\"Extension\"] = \"extension\";\n return InvalidFilenameErrorReason2;\n})(InvalidFilenameErrorReason || {});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: \"character\", filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({\n filename,\n segment: filename,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({\n filename,\n segment: basename2,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [\".part\", \".filepart\"];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: \"extension\", filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n2) => `(${n2})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i2 = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i2++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch (e2) {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers2, orders) {\n identifiers2 = identifiers2 ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers2.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers2.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n FilesSortingMode2[\"Name\"] = \"basename\";\n FilesSortingMode2[\"Modified\"] = \"mtime\";\n FilesSortingMode2[\"Size\"] = \"size\";\n return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: \"basename\",\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n const basename2 = (name) => name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n const identifiers2 = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v.displayname || v.attributes?.displayname || v.basename),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers2, orders);\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar validator = {};\nvar util = {};\nvar hasRequiredUtil;\nfunction requireUtil() {\n if (hasRequiredUtil) return util;\n hasRequiredUtil = 1;\n (function(exports) {\n const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n const getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n };\n const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === \"undefined\");\n };\n exports.isExist = function(v) {\n return typeof v !== \"undefined\";\n };\n exports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n };\n exports.merge = function(target, a2, arrayMode) {\n if (a2) {\n const keys = Object.keys(a2);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n if (arrayMode === \"strict\") {\n target[keys[i2]] = [a2[keys[i2]]];\n } else {\n target[keys[i2]] = a2[keys[i2]];\n }\n }\n }\n };\n exports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return \"\";\n }\n };\n exports.isName = isName;\n exports.getAllMatches = getAllMatches;\n exports.nameRegexp = nameRegexp;\n })(util);\n return util;\n}\nvar hasRequiredValidator;\nfunction requireValidator() {\n if (hasRequiredValidator) return validator;\n hasRequiredValidator = 1;\n const util2 = requireUtil();\n const defaultOptions = {\n allowBooleanAttributes: false,\n //A tag can have attributes without any value\n unpairedTags: []\n };\n validator.validate = function(xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n const tags = [];\n let tagFound = false;\n let reachedRoot = false;\n if (xmlData[0] === \"\\uFEFF\") {\n xmlData = xmlData.substr(1);\n }\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && xmlData[i2 + 1] === \"?\") {\n i2 += 2;\n i2 = readPI(xmlData, i2);\n if (i2.err) return i2;\n } else if (xmlData[i2] === \"<\") {\n let tagStartPos = i2;\n i2++;\n if (xmlData[i2] === \"!\") {\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i2] === \"/\") {\n closingTag = true;\n i2++;\n }\n let tagName = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== \">\" && xmlData[i2] !== \" \" && xmlData[i2] !== \"\t\" && xmlData[i2] !== \"\\n\" && xmlData[i2] !== \"\\r\"; i2++) {\n tagName += xmlData[i2];\n }\n tagName = tagName.trim();\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substring(0, tagName.length - 1);\n i2--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n }\n return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i2));\n }\n const result = readAttributeStr(xmlData, i2);\n if (result === false) {\n return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i2));\n }\n let attrStr = result.value;\n i2 = result.index;\n if (attrStr[attrStr.length - 1] === \"/\") {\n const attrStrStart = i2 - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n } else {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i2));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject(\n \"InvalidTag\",\n \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n getLineNumberForPosition(xmlData, tagStartPos)\n );\n }\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i2 - attrStr.length + isValid.err.line));\n }\n if (reachedRoot === true) {\n return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i2));\n } else if (options.unpairedTags.indexOf(tagName) !== -1) ;\n else {\n tags.push({ tagName, tagStartPos });\n }\n tagFound = true;\n }\n for (i2++; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"!\") {\n i2++;\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else if (xmlData[i2 + 1] === \"?\") {\n i2 = readPI(xmlData, ++i2);\n if (i2.err) return i2;\n } else {\n break;\n }\n } else if (xmlData[i2] === \"&\") {\n const afterAmp = validateAmpersand(xmlData, i2);\n if (afterAmp == -1)\n return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i2));\n i2 = afterAmp;\n } else {\n if (reachedRoot === true && !isWhiteSpace(xmlData[i2])) {\n return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i2));\n }\n }\n }\n if (xmlData[i2] === \"<\") {\n i2--;\n }\n }\n } else {\n if (isWhiteSpace(xmlData[i2])) {\n continue;\n }\n return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i2] + \"' is not expected.\", getLineNumberForPosition(xmlData, i2));\n }\n }\n if (!tagFound) {\n return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n } else if (tags.length == 1) {\n return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n } else if (tags.length > 0) {\n return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t2) => t2.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n }\n return true;\n };\n function isWhiteSpace(char) {\n return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n }\n function readPI(xmlData, i2) {\n const start = i2;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] == \"?\" || xmlData[i2] == \" \") {\n const tagname = xmlData.substr(start, i2 - start);\n if (i2 > 5 && tagname === \"xml\") {\n return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i2));\n } else if (xmlData[i2] == \"?\" && xmlData[i2 + 1] == \">\") {\n i2++;\n break;\n } else {\n continue;\n }\n }\n }\n return i2;\n }\n function readCommentAndCDATA(xmlData, i2) {\n if (xmlData.length > i2 + 5 && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \"-\") {\n for (i2 += 3; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"-\" && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n } else if (xmlData.length > i2 + 8 && xmlData[i2 + 1] === \"D\" && xmlData[i2 + 2] === \"O\" && xmlData[i2 + 3] === \"C\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"Y\" && xmlData[i2 + 6] === \"P\" && xmlData[i2 + 7] === \"E\") {\n let angleBracketsCount = 1;\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n angleBracketsCount++;\n } else if (xmlData[i2] === \">\") {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (xmlData.length > i2 + 9 && xmlData[i2 + 1] === \"[\" && xmlData[i2 + 2] === \"C\" && xmlData[i2 + 3] === \"D\" && xmlData[i2 + 4] === \"A\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"A\" && xmlData[i2 + 7] === \"[\") {\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"]\" && xmlData[i2 + 1] === \"]\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n }\n return i2;\n }\n const doubleQuote = '\"';\n const singleQuote = \"'\";\n function readAttributeStr(xmlData, i2) {\n let attrStr = \"\";\n let startChar = \"\";\n let tagClosed = false;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === doubleQuote || xmlData[i2] === singleQuote) {\n if (startChar === \"\") {\n startChar = xmlData[i2];\n } else if (startChar !== xmlData[i2]) ;\n else {\n startChar = \"\";\n }\n } else if (xmlData[i2] === \">\") {\n if (startChar === \"\") {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i2];\n }\n if (startChar !== \"\") {\n return false;\n }\n return {\n value: attrStr,\n index: i2,\n tagClosed\n };\n }\n const validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\n function validateAttributeString(attrStr, options) {\n const matches = util2.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n for (let i2 = 0; i2 < matches.length; i2++) {\n if (matches[i2][1].length === 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] !== void 0 && matches[i2][4] === void 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' is without value.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] === void 0 && !options.allowBooleanAttributes) {\n return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i2][2] + \"' is not allowed.\", getPositionFromMatch(matches[i2]));\n }\n const attrName = matches[i2][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i2]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n attrNames[attrName] = 1;\n } else {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i2]));\n }\n }\n return true;\n }\n function validateNumberAmpersand(xmlData, i2) {\n let re2 = /\\d/;\n if (xmlData[i2] === \"x\") {\n i2++;\n re2 = /[\\da-fA-F]/;\n }\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \";\")\n return i2;\n if (!xmlData[i2].match(re2))\n break;\n }\n return -1;\n }\n function validateAmpersand(xmlData, i2) {\n i2++;\n if (xmlData[i2] === \";\")\n return -1;\n if (xmlData[i2] === \"#\") {\n i2++;\n return validateNumberAmpersand(xmlData, i2);\n }\n let count = 0;\n for (; i2 < xmlData.length; i2++, count++) {\n if (xmlData[i2].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i2] === \";\")\n break;\n return -1;\n }\n return i2;\n }\n function getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col\n }\n };\n }\n function validateAttrName(attrName) {\n return util2.isName(attrName);\n }\n function validateTagName(tagname) {\n return util2.isName(tagname);\n }\n function getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n }\n function getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n }\n return validator;\n}\nvar OptionsBuilder = {};\nvar hasRequiredOptionsBuilder;\nfunction requireOptionsBuilder() {\n if (hasRequiredOptionsBuilder) return OptionsBuilder;\n hasRequiredOptionsBuilder = 1;\n const defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n removeNSPrefix: false,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true,\n //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs) {\n return tagName;\n }\n // skipEmptyListItem: false\n };\n const buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n };\n OptionsBuilder.buildOptions = buildOptions;\n OptionsBuilder.defaultOptions = defaultOptions;\n return OptionsBuilder;\n}\nvar xmlNode;\nvar hasRequiredXmlNode;\nfunction requireXmlNode() {\n if (hasRequiredXmlNode) return xmlNode;\n hasRequiredXmlNode = 1;\n class XmlNode {\n constructor(tagname) {\n this.tagname = tagname;\n this.child = [];\n this[\":@\"] = {};\n }\n add(key, val) {\n if (key === \"__proto__\") key = \"#__proto__\";\n this.child.push({ [key]: val });\n }\n addChild(node) {\n if (node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n } else {\n this.child.push({ [node.tagname]: node.child });\n }\n }\n }\n xmlNode = XmlNode;\n return xmlNode;\n}\nvar DocTypeReader;\nvar hasRequiredDocTypeReader;\nfunction requireDocTypeReader() {\n if (hasRequiredDocTypeReader) return DocTypeReader;\n hasRequiredDocTypeReader = 1;\n const util2 = requireUtil();\n function readDocType(xmlData, i2) {\n const entities = {};\n if (xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"C\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"Y\" && xmlData[i2 + 7] === \"P\" && xmlData[i2 + 8] === \"E\") {\n i2 = i2 + 9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && !comment) {\n if (hasBody && isEntity(xmlData, i2)) {\n i2 += 7;\n let entityName, val;\n [entityName, val, i2] = readEntityExp(xmlData, i2 + 1);\n if (val.indexOf(\"&\") === -1)\n entities[validateEntityName(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n };\n } else if (hasBody && isElement(xmlData, i2)) i2 += 8;\n else if (hasBody && isAttlist(xmlData, i2)) i2 += 8;\n else if (hasBody && isNotation(xmlData, i2)) i2 += 9;\n else comment = true;\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i2] === \">\") {\n if (comment) {\n if (xmlData[i2 - 1] === \"-\" && xmlData[i2 - 2] === \"-\") {\n comment = false;\n angleBracketsCount--;\n }\n } else {\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n } else if (xmlData[i2] === \"[\") {\n hasBody = true;\n } else {\n exp += xmlData[i2];\n }\n }\n if (angleBracketsCount !== 0) {\n throw new Error(`Unclosed DOCTYPE`);\n }\n } else {\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return { entities, i: i2 };\n }\n function readEntityExp(xmlData, i2) {\n let entityName = \"\";\n for (; i2 < xmlData.length && (xmlData[i2] !== \"'\" && xmlData[i2] !== '\"'); i2++) {\n entityName += xmlData[i2];\n }\n entityName = entityName.trim();\n if (entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n const startChar = xmlData[i2++];\n let val = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== startChar; i2++) {\n val += xmlData[i2];\n }\n return [entityName, val, i2];\n }\n function isEntity(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"N\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"I\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"Y\") return true;\n return false;\n }\n function isElement(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"L\" && xmlData[i2 + 4] === \"E\" && xmlData[i2 + 5] === \"M\" && xmlData[i2 + 6] === \"E\" && xmlData[i2 + 7] === \"N\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n }\n function isAttlist(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"A\" && xmlData[i2 + 3] === \"T\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"L\" && xmlData[i2 + 6] === \"I\" && xmlData[i2 + 7] === \"S\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n }\n function isNotation(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"N\" && xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"A\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"I\" && xmlData[i2 + 8] === \"O\" && xmlData[i2 + 9] === \"N\") return true;\n return false;\n }\n function validateEntityName(name) {\n if (util2.isName(name))\n return name;\n else\n throw new Error(`Invalid entity name ${name}`);\n }\n DocTypeReader = readDocType;\n return DocTypeReader;\n}\nvar strnum;\nvar hasRequiredStrnum;\nfunction requireStrnum() {\n if (hasRequiredStrnum) return strnum;\n hasRequiredStrnum = 1;\n const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\n const numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n if (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n }\n if (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n }\n const consider = {\n hex: true,\n leadingZeros: true,\n decimalPoint: \".\",\n eNotation: true\n //skipLike: /regex/\n };\n function toNumber(str, options = {}) {\n options = Object.assign({}, consider, options);\n if (!str || typeof str !== \"string\") return str;\n let trimmedStr = str.trim();\n if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n } else {\n const match = numRegex.exec(trimmedStr);\n if (match) {\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]);\n const eNotation = match[4] || match[6];\n if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str;\n else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str;\n else {\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if (numStr.search(/[eE]/) !== -1) {\n if (options.eNotation) return num;\n else return str;\n } else if (eNotation) {\n if (options.eNotation) return num;\n else return str;\n } else if (trimmedStr.indexOf(\".\") !== -1) {\n if (numStr === \"0\" && numTrimmedByZeros === \"\") return num;\n else if (numStr === numTrimmedByZeros) return num;\n else if (sign && numStr === \"-\" + numTrimmedByZeros) return num;\n else return str;\n }\n if (leadingZeros) {\n if (numTrimmedByZeros === numStr) return num;\n else if (sign + numTrimmedByZeros === numStr) return num;\n else return str;\n }\n if (trimmedStr === numStr) return num;\n else if (trimmedStr === sign + numStr) return num;\n return str;\n }\n } else {\n return str;\n }\n }\n }\n function trimZeros(numStr) {\n if (numStr && numStr.indexOf(\".\") !== -1) {\n numStr = numStr.replace(/0+$/, \"\");\n if (numStr === \".\") numStr = \"0\";\n else if (numStr[0] === \".\") numStr = \"0\" + numStr;\n else if (numStr[numStr.length - 1] === \".\") numStr = numStr.substr(0, numStr.length - 1);\n return numStr;\n }\n return numStr;\n }\n strnum = toNumber;\n return strnum;\n}\nvar ignoreAttributes;\nvar hasRequiredIgnoreAttributes;\nfunction requireIgnoreAttributes() {\n if (hasRequiredIgnoreAttributes) return ignoreAttributes;\n hasRequiredIgnoreAttributes = 1;\n function getIgnoreAttributesFn(ignoreAttributes2) {\n if (typeof ignoreAttributes2 === \"function\") {\n return ignoreAttributes2;\n }\n if (Array.isArray(ignoreAttributes2)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes2) {\n if (typeof pattern === \"string\" && attrName === pattern) {\n return true;\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true;\n }\n }\n };\n }\n return () => false;\n }\n ignoreAttributes = getIgnoreAttributesFn;\n return ignoreAttributes;\n}\nvar OrderedObjParser_1;\nvar hasRequiredOrderedObjParser;\nfunction requireOrderedObjParser() {\n if (hasRequiredOrderedObjParser) return OrderedObjParser_1;\n hasRequiredOrderedObjParser = 1;\n const util2 = requireUtil();\n const xmlNode2 = requireXmlNode();\n const readDocType = requireDocTypeReader();\n const toNumber = requireStrnum();\n const getIgnoreAttributesFn = requireIgnoreAttributes();\n class OrderedObjParser {\n constructor(options) {\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n }\n }\n function addExternalEntities(externalEntities) {\n const entKeys = Object.keys(externalEntities);\n for (let i2 = 0; i2 < entKeys.length; i2++) {\n const ent = entKeys[i2];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n val: externalEntities[ent]\n };\n }\n }\n function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== void 0) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if (val.length > 0) {\n if (!escapeEntities) val = this.replaceEntitiesValue(val);\n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if (newval === null || newval === void 0) {\n return val;\n } else if (typeof newval !== typeof val || newval !== val) {\n return newval;\n } else if (this.options.trimValues) {\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n const trimmedVal = val.trim();\n if (trimmedVal === val) {\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n return val;\n }\n }\n }\n }\n }\n function resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(\":\");\n const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n if (tags[0] === \"xmlns\") {\n return \"\";\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n }\n const attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\n function buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === \"string\") {\n const matches = util2.getAllMatches(attrStr, attrsRegx);\n const len = matches.length;\n const attrs = {};\n for (let i2 = 0; i2 < len; i2++) {\n const attrName = this.resolveNameSpace(matches[i2][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue;\n }\n let oldVal = matches[i2][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if (aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== void 0) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if (newVal === null || newVal === void 0) {\n attrs[aName] = oldVal;\n } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n attrs[aName] = newVal;\n } else {\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n }\n const parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n const xmlObj = new xmlNode2(\"!xml\");\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n const ch = xmlData[i2];\n if (ch === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, \"Closing Tag is not closed.\");\n let tagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (this.options.removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n }\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode) {\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0;\n if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n this.tagsNodeStack.pop();\n } else {\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n currentNode = this.tagsNodeStack.pop();\n textData = \"\";\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n let tagData = readTagExp(xmlData, i2, false, \"?>\");\n if (!tagData) throw new Error(\"Pi Tag is not closed.\");\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags) ;\n else {\n const childNode = new xmlNode2(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n }\n i2 = tagData.closeIndex + 1;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const endIndex = findClosingIndex(xmlData, \"-->\", i2 + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const comment = xmlData.substring(i2 + 4, endIndex - 2);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n }\n i2 = endIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"!D\") {\n const result = readDocType(xmlData, i2);\n this.docTypeEntities = result.entities;\n i2 = result.i;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i2 + 9, closeIndex);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if (val == void 0) val = \"\";\n if (this.options.cdataPropName) {\n currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n } else {\n currentNode.add(this.options.textNodeName, val);\n }\n i2 = closeIndex + 2;\n } else {\n let result = readTagExp(xmlData, i2, this.options.removeNSPrefix);\n let tagName = result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode && textData) {\n if (currentNode.tagname !== \"!xml\") {\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n const lastTag = currentNode;\n if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if (tagName !== xmlObj.tagname) {\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i2 = result.closeIndex;\n } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n i2 = result.closeIndex;\n } else {\n const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if (!result2) throw new Error(`Unexpected end of ${rawTagName}`);\n i2 = result2.i;\n tagContent = result2.tagContent;\n }\n const childNode = new xmlNode2(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if (tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n this.addChild(currentNode, childNode, jPath);\n } else {\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n const childNode = new xmlNode2(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n } else {\n const childNode = new xmlNode2(tagName);\n this.tagsNodeStack.push(currentNode);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n currentNode = childNode;\n }\n textData = \"\";\n i2 = closeIndex;\n }\n }\n } else {\n textData += xmlData[i2];\n }\n }\n return xmlObj.child;\n };\n function addChild(currentNode, childNode, jPath) {\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n if (result === false) ;\n else if (typeof result === \"string\") {\n childNode.tagname = result;\n currentNode.addChild(childNode);\n } else {\n currentNode.addChild(childNode);\n }\n }\n const replaceEntitiesValue = function(val) {\n if (this.options.processEntities) {\n for (let entityName in this.docTypeEntities) {\n const entity = this.docTypeEntities[entityName];\n val = val.replace(entity.regx, entity.val);\n }\n for (let entityName in this.lastEntities) {\n const entity = this.lastEntities[entityName];\n val = val.replace(entity.regex, entity.val);\n }\n if (this.options.htmlEntities) {\n for (let entityName in this.htmlEntities) {\n const entity = this.htmlEntities[entityName];\n val = val.replace(entity.regex, entity.val);\n }\n }\n val = val.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n };\n function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) {\n if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0;\n textData = this.parseTextData(\n textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode\n );\n if (textData !== void 0 && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n }\n function isItStopNode(stopNodes, jPath, currentTagName) {\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true;\n }\n return false;\n }\n function tagExpWithClosingIndex(xmlData, i2, closingChar = \">\") {\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i2; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if (closingChar[1]) {\n if (xmlData[index + 1] === closingChar[1]) {\n return {\n data: tagExp,\n index\n };\n }\n } else {\n return {\n data: tagExp,\n index\n };\n }\n } else if (ch === \"\t\") {\n ch = \" \";\n }\n tagExp += ch;\n }\n }\n function findClosingIndex(xmlData, str, i2, errMsg) {\n const closingIndex = xmlData.indexOf(str, i2);\n if (closingIndex === -1) {\n throw new Error(errMsg);\n } else {\n return closingIndex + str.length - 1;\n }\n }\n function readTagExp(xmlData, i2, removeNSPrefix, closingChar = \">\") {\n const result = tagExpWithClosingIndex(xmlData, i2 + 1, closingChar);\n if (!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if (separatorIndex !== -1) {\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n const rawTagName = tagName;\n if (removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n return {\n tagName,\n tagExp,\n closeIndex,\n attrExpPresent,\n rawTagName\n };\n }\n function readStopNodeData(xmlData, tagName, i2) {\n const startIndex = i2;\n let openTagCount = 1;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (closeTagName === tagName) {\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i2),\n i: closeIndex\n };\n }\n }\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n const closeIndex = findClosingIndex(xmlData, \"?>\", i2 + 1, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const closeIndex = findClosingIndex(xmlData, \"-->\", i2 + 3, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"StopNode is not closed.\") - 2;\n i2 = closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i2, \">\");\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n openTagCount++;\n }\n i2 = tagData.closeIndex;\n }\n }\n }\n }\n }\n function parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === \"string\") {\n const newval = val.trim();\n if (newval === \"true\") return true;\n else if (newval === \"false\") return false;\n else return toNumber(val, options);\n } else {\n if (util2.isExist(val)) {\n return val;\n } else {\n return \"\";\n }\n }\n }\n OrderedObjParser_1 = OrderedObjParser;\n return OrderedObjParser_1;\n}\nvar node2json = {};\nvar hasRequiredNode2json;\nfunction requireNode2json() {\n if (hasRequiredNode2json) return node2json;\n hasRequiredNode2json = 1;\n function prettify(node, options) {\n return compress(node, options);\n }\n function compress(arr, options, jPath) {\n let text;\n const compressedObj = {};\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const property = propName(tagObj);\n let newJpath = \"\";\n if (jPath === void 0) newJpath = property;\n else newJpath = jPath + \".\" + property;\n if (property === options.textNodeName) {\n if (text === void 0) text = tagObj[property];\n else text += \"\" + tagObj[property];\n } else if (property === void 0) {\n continue;\n } else if (tagObj[property]) {\n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n if (tagObj[\":@\"]) {\n assignAttributes(val, tagObj[\":@\"], newJpath, options);\n } else if (Object.keys(val).length === 1 && val[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n val = val[options.textNodeName];\n } else if (Object.keys(val).length === 0) {\n if (options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n if (!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [compressedObj[property]];\n }\n compressedObj[property].push(val);\n } else {\n if (options.isArray(property, newJpath, isLeaf)) {\n compressedObj[property] = [val];\n } else {\n compressedObj[property] = val;\n }\n }\n }\n }\n if (typeof text === \"string\") {\n if (text.length > 0) compressedObj[options.textNodeName] = text;\n } else if (text !== void 0) compressedObj[options.textNodeName] = text;\n return compressedObj;\n }\n function propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (key !== \":@\") return key;\n }\n }\n function assignAttributes(obj, attrMap, jpath, options) {\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n const atrrName = keys[i2];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [attrMap[atrrName]];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n }\n function isLeafTag(obj, options) {\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n if (propCount === 0) {\n return true;\n }\n if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n return true;\n }\n return false;\n }\n node2json.prettify = prettify;\n return node2json;\n}\nvar XMLParser_1;\nvar hasRequiredXMLParser;\nfunction requireXMLParser() {\n if (hasRequiredXMLParser) return XMLParser_1;\n hasRequiredXMLParser = 1;\n const { buildOptions } = requireOptionsBuilder();\n const OrderedObjParser = requireOrderedObjParser();\n const { prettify } = requireNode2json();\n const validator2 = requireValidator();\n class XMLParser {\n constructor(options) {\n this.externalEntities = {};\n this.options = buildOptions(options);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData, validationOption) {\n if (typeof xmlData === \"string\") ;\n else if (xmlData.toString) {\n xmlData = xmlData.toString();\n } else {\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n }\n if (validationOption) {\n if (validationOption === true) validationOption = {};\n const result = validator2.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value) {\n if (value.indexOf(\"&\") !== -1) {\n throw new Error(\"Entity value can't have '&'\");\n } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");\n } else if (value === \"&\") {\n throw new Error(\"An entity with value '&' is not permitted\");\n } else {\n this.externalEntities[key] = value;\n }\n }\n }\n XMLParser_1 = XMLParser;\n return XMLParser_1;\n}\nvar orderedJs2Xml;\nvar hasRequiredOrderedJs2Xml;\nfunction requireOrderedJs2Xml() {\n if (hasRequiredOrderedJs2Xml) return orderedJs2Xml;\n hasRequiredOrderedJs2Xml = 1;\n const EOL = \"\\n\";\n function toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n }\n function arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const tagName = propName(tagObj);\n if (tagName === void 0) continue;\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName;\n else newJPath = `${jPath}.${tagName}`;\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr2 = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n return xmlStr;\n }\n function propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n }\n function attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if (!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n }\n function isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n }\n function replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i2 = 0; i2 < options.entities.length; i2++) {\n const entity = options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n }\n orderedJs2Xml = toXml;\n return orderedJs2Xml;\n}\nvar json2xml;\nvar hasRequiredJson2xml;\nfunction requireJson2xml() {\n if (hasRequiredJson2xml) return json2xml;\n hasRequiredJson2xml = 1;\n const buildFromOrderedJs = requireOrderedJs2Xml();\n const getIgnoreAttributesFn = requireIgnoreAttributes();\n const defaultOptions = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: \" \",\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a2) {\n return a2;\n },\n attributeValueProcessor: function(attrName, a2) {\n return a2;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp('\"', \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n };\n function Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function() {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n this.processTextOrObjNode = processTextOrObjNode;\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = \">\\n\";\n this.newLine = \"\\n\";\n } else {\n this.indentate = function() {\n return \"\";\n };\n this.tagEndChar = \">\";\n this.newLine = \"\";\n }\n }\n Builder.prototype.build = function(jObj) {\n if (this.options.preserveOrder) {\n return buildFromOrderedJs(jObj, this.options);\n } else {\n if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n jObj = {\n [this.options.arrayNodeName]: jObj\n };\n }\n return this.j2x(jObj, 0, []).val;\n }\n };\n Builder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = \"\";\n let val = \"\";\n const jPath = ajPath.join(\".\");\n for (let key in jObj) {\n if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === \"undefined\") {\n if (this.isAttribute(key)) {\n val += \"\";\n }\n } else if (jObj[key] === null) {\n if (this.isAttribute(key)) {\n val += \"\";\n } else if (key[0] === \"?\") {\n val += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n } else {\n val += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n }\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, \"\", level);\n } else if (typeof jObj[key] !== \"object\") {\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n } else if (!attr) {\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, \"\", level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j2 = 0; j2 < arrLen; j2++) {\n const item = jObj[key][j2];\n if (typeof item === \"undefined\") ;\n else if (item === null) {\n if (key[0] === \"?\") val += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n else val += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n } else if (typeof item === \"object\") {\n if (this.options.oneListGroup) {\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr;\n }\n } else {\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath);\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, \"\", level);\n }\n }\n }\n if (this.options.oneListGroup) {\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j2 = 0; j2 < L; j2++) {\n attrStr += this.buildAttrPairStr(Ks[j2], \"\" + jObj[key][Ks[j2]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath);\n }\n }\n }\n return { attrStr, val };\n };\n Builder.prototype.buildAttrPairStr = function(attrName, val) {\n val = this.options.attributeValueProcessor(attrName, \"\" + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return \" \" + attrName;\n } else return \" \" + attrName + '=\"' + val + '\"';\n };\n function processTextOrObjNode(object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n }\n Builder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if (val === \"\") {\n if (key[0] === \"?\") return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n else {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n } else {\n let tagEndExp = \"</\" + key + this.tagEndChar;\n let piClosingChar = \"\";\n if (key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n if ((attrStr || attrStr === \"\") && val.indexOf(\"<\") === -1) {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + \">\" + val + tagEndExp;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val + this.indentate(level) + tagEndExp;\n }\n }\n };\n Builder.prototype.closeTag = function(key) {\n let closeTag = \"\";\n if (this.options.unpairedTags.indexOf(key) !== -1) {\n if (!this.options.suppressUnpairedNode) closeTag = \"/\";\n } else if (this.options.suppressEmptyNode) {\n closeTag = \"/\";\n } else {\n closeTag = `></${key}`;\n }\n return closeTag;\n };\n Builder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else if (key[0] === \"?\") {\n return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n } else {\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n if (textValue === \"\") {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \"</\" + key + this.tagEndChar;\n }\n }\n };\n Builder.prototype.replaceEntitiesValue = function(textValue) {\n if (textValue && textValue.length > 0 && this.options.processEntities) {\n for (let i2 = 0; i2 < this.options.entities.length; i2++) {\n const entity = this.options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n };\n function indentate(level) {\n return this.options.indentBy.repeat(level);\n }\n function isAttribute(name) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n }\n json2xml = Builder;\n return json2xml;\n}\nvar fxp;\nvar hasRequiredFxp;\nfunction requireFxp() {\n if (hasRequiredFxp) return fxp;\n hasRequiredFxp = 1;\n const validator2 = requireValidator();\n const XMLParser = requireXMLParser();\n const XMLBuilder = requireJson2xml();\n fxp = {\n XMLParser,\n XMLValidator: validator2,\n XMLBuilder\n };\n return fxp;\n}\nvar fxpExports = requireFxp();\nfunction isSvg(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n string = string.trim();\n if (string.length === 0) {\n return false;\n }\n if (fxpExports.XMLValidator.validate(string) !== true) {\n return false;\n }\n let jsonObject;\n const parser = new fxpExports.XMLParser();\n try {\n jsonObject = parser.parse(string);\n } catch {\n return false;\n }\n if (!jsonObject) {\n return false;\n }\n if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n return false;\n }\n return true;\n}\nclass View {\n _view;\n constructor(view) {\n isValidView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nconst isValidView = function(view) {\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n if (\"caption\" in view && typeof view.caption !== \"string\") {\n throw new Error(\"View caption must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (\"order\" in view && typeof view.order !== \"number\") {\n throw new Error(\"View order must be a number\");\n }\n if (view.columns) {\n view.columns.forEach((column) => {\n if (!(column instanceof Column)) {\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }\n });\n }\n if (view.emptyView && typeof view.emptyView !== \"function\") {\n throw new Error(\"View emptyView must be a function\");\n }\n if (view.parent && typeof view.parent !== \"string\") {\n throw new Error(\"View parent must be a string\");\n }\n if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n throw new Error(\"View sticky must be a boolean\");\n }\n if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n throw new Error(\"View expanded must be a boolean\");\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n throw new Error(\"View defaultSortKey must be a string\");\n }\n if (view.loadChildViews && typeof view.loadChildViews !== \"function\") {\n throw new Error(\"View loadChildViews must be a function\");\n }\n return true;\n};\nvar debug_1;\nvar hasRequiredDebug;\nfunction requireDebug() {\n if (hasRequiredDebug) return debug_1;\n hasRequiredDebug = 1;\n const debug = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n };\n debug_1 = debug;\n return debug_1;\n}\nvar constants;\nvar hasRequiredConstants;\nfunction requireConstants() {\n if (hasRequiredConstants) return constants;\n hasRequiredConstants = 1;\n const SEMVER_SPEC_VERSION = \"2.0.0\";\n const MAX_LENGTH = 256;\n const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n 9007199254740991;\n const MAX_SAFE_COMPONENT_LENGTH = 16;\n const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;\n const RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n ];\n constants = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n };\n return constants;\n}\nvar re = { exports: {} };\nvar hasRequiredRe;\nfunction requireRe() {\n if (hasRequiredRe) return re.exports;\n hasRequiredRe = 1;\n (function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH\n } = requireConstants();\n const debug = requireDebug();\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t2 = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug(name, index, value);\n t2[name] = index;\n src[index] = value;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t2.NUMERICIDENTIFIER]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t2.NUMERICIDENTIFIERLOOSE]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t2.BUILDIDENTIFIER]}(?:\\\\.${src[t2.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`);\n createToken(\"FULL\", `^${src[t2.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t2.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\n createToken(\"COERCE\", `${src[t2.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t2.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t2.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t2.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t2.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t2.GTLT]}\\\\s*(${src[t2.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t2.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t2.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n })(re, re.exports);\n return re.exports;\n}\nvar parseOptions_1;\nvar hasRequiredParseOptions;\nfunction requireParseOptions() {\n if (hasRequiredParseOptions) return parseOptions_1;\n hasRequiredParseOptions = 1;\n const looseOption = Object.freeze({ loose: true });\n const emptyOpts = Object.freeze({});\n const parseOptions = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n };\n parseOptions_1 = parseOptions;\n return parseOptions_1;\n}\nvar identifiers;\nvar hasRequiredIdentifiers;\nfunction requireIdentifiers() {\n if (hasRequiredIdentifiers) return identifiers;\n hasRequiredIdentifiers = 1;\n const numeric = /^[0-9]+$/;\n const compareIdentifiers = (a2, b2) => {\n const anum = numeric.test(a2);\n const bnum = numeric.test(b2);\n if (anum && bnum) {\n a2 = +a2;\n b2 = +b2;\n }\n return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;\n };\n const rcompareIdentifiers = (a2, b2) => compareIdentifiers(b2, a2);\n identifiers = {\n compareIdentifiers,\n rcompareIdentifiers\n };\n return identifiers;\n}\nvar semver;\nvar hasRequiredSemver;\nfunction requireSemver() {\n if (hasRequiredSemver) return semver;\n hasRequiredSemver = 1;\n const debug = requireDebug();\n const { MAX_LENGTH, MAX_SAFE_INTEGER } = requireConstants();\n const { safeRe: re2, t: t2 } = requireRe();\n const parseOptions = requireParseOptions();\n const { compareIdentifiers } = requireIdentifiers();\n class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m2 = version.trim().match(options.loose ? re2[t2.LOOSE] : re2[t2.FULL]);\n if (!m2) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m2[1];\n this.minor = +m2[2];\n this.patch = +m2[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m2[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m2[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m2[5] ? m2[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i2 = 0;\n do {\n const a2 = this.prerelease[i2];\n const b2 = other.prerelease[i2];\n debug(\"prerelease compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i2 = 0;\n do {\n const a2 = this.build[i2];\n const b2 = other.build[i2];\n debug(\"build compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i2 = this.prerelease.length;\n while (--i2 >= 0) {\n if (typeof this.prerelease[i2] === \"number\") {\n this.prerelease[i2]++;\n i2 = -2;\n }\n }\n if (i2 === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n }\n semver = SemVer;\n return semver;\n}\nvar parse_1;\nvar hasRequiredParse;\nfunction requireParse() {\n if (hasRequiredParse) return parse_1;\n hasRequiredParse = 1;\n const SemVer = requireSemver();\n const parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version;\n }\n try {\n return new SemVer(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n };\n parse_1 = parse;\n return parse_1;\n}\nvar valid_1;\nvar hasRequiredValid;\nfunction requireValid() {\n if (hasRequiredValid) return valid_1;\n hasRequiredValid = 1;\n const parse = requireParse();\n const valid2 = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n };\n valid_1 = valid2;\n return valid_1;\n}\nvar validExports = requireValid();\nconst valid = /* @__PURE__ */ getDefaultExportFromCjs(validExports);\nvar major_1;\nvar hasRequiredMajor;\nfunction requireMajor() {\n if (hasRequiredMajor) return major_1;\n hasRequiredMajor = 1;\n const SemVer = requireSemver();\n const major2 = (a2, loose) => new SemVer(a2, loose).major;\n major_1 = major2;\n return major_1;\n}\nvar majorExports = requireMajor();\nconst major = /* @__PURE__ */ getDefaultExportFromCjs(majorExports);\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h2) => h2 !== handler)\n );\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach((h2) => {\n try {\n h2(event);\n } catch (e2) {\n console.error(\"could not invoke event listener\", e2);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nconst addNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n};\nexport {\n Column,\n DefaultType,\n q as File,\n FileAction,\n FileListAction,\n FileListFilter,\n F as FileType,\n FilesSortingMode,\n s as Folder,\n Header,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n t as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n c as davGetClient,\n l as davGetDefaultPropfind,\n m as davGetFavoritesReport,\n n as davGetRecentSearch,\n a as davGetRemoteURL,\n g as davGetRootPath,\n p as davParsePermissions,\n b as davRemoteURL,\n r as davResultToNode,\n d as davRootPath,\n h as defaultDavNamespaces,\n f as defaultDavProperties,\n formatFileSize,\n k as getDavNameSpaces,\n j as getDavProperties,\n e as getFavoriteNodes,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getNavigation,\n getNewFileMenuEntries,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n i as registerDavProperty,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeaders,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateFilename\n};\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"3239\":\"settings-users\",\"4529\":\"settings-apps-view\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"459\":\"975afd1e02f53abf8034\",\"640\":\"c4d4943f2c00c1f8a515\",\"1023\":\"06cf5496a0a2d7ef494a\",\"3239\":\"c2bb41941d6626f5c12a\",\"4529\":\"e7b8ecf797fe13c6d69b\",\"5862\":\"142cd48ca8ec32e57725\",\"7265\":\"e59095160fc79c41c493\",\"7432\":\"eb26215e99ea363927b0\",\"8737\":\"1ee3b21131ac8193a04d\",\"9279\":\"460048c8db22e016b900\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2689;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2689: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(12836)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","sanitize","url","replace","requireAdmin","confirmPassword","get","options","axios","post","data","patch","put","delete","params","_defineComponent","__name","setup","__props","__sfc","NcContent","_vm","this","_c","_self","_setupProxy","attrs","_v","name","path","components","default","UserManagement","navigation","UserManagementNavigation","props","children","redirect","category","loadState","AppStore","AppStoreNavigation","sidebar","AppStoreSidebar","Vue","use","Router","mode","base","generateUrl","linkActiveClass","routes","__webpack_nonce__","getCSPNonce","prototype","t","n","PiniaVuePlugin","VTooltipPlugin","defaultHtml","Vuex","store","useStore","sync","router","pinia","createPinia","render","h","SettingsApp","el","naturalCollator","Intl","Collator","getLanguage","getCanonicalLocale","numeric","usage","usersSettings","localStorage","getBuilder","persist","build","defaults","id","usercount","disabled","canAdd","canRemove","state","users","groups","getSubAdminGroups","systemGroups","orderBy","sortGroups","GroupSorting","UserCount","minPasswordLength","usersOffset","usersLimit","disabledUsersOffset","disabledUsersLimit","userCount","showConfig","showStoragePath","getItem","showUserBackend","showFirstLogin","showLastLogin","showNewUserForm","showLanguages","mutations","appendUsers","usersObj","existingUsers","map","_ref","newUsers","Object","values","filter","_ref2","includes","concat","updateDisabledUsers","_usersObj","setPasswordPolicyMinLength","length","addGroup","newGroup","find","group","assign","unshift","e","console","error","renameGroup","_ref3","gid","displayName","groupIndex","findIndex","groupSearch","updatedGroup","splice","removeGroup","addUserGroup","_ref4","userid","user","enabled","push","removeUserGroup","_ref5","indexOf","addUserSubAdmin","_ref6","subadmin","removeUserSubAdmin","_ref7","deleteUser","userIndex","commit","actionType","addUserData","response","ocs","enableDisableUser","_ref8","updateUserCounts","_ref9","recentGroup","disabledGroup","forEach","userGroup","warn","logger","setUserData","_ref0","key","value","humanValue","parseFileSize","resetUsers","resetGroups","setShowConfig","_ref1","setItem","JSON","stringify","setGroupSorting","sorting","oldValue","String","catch","showError","getters","getUsers","getGroups","subAdminGroups","getSortedGroups","sort","a","b","numA","numB","compare","getGroupSorting","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getDisabledUsersOffset","getDisabledUsersLimit","getUserCount","getShowConfig","CancelToken","searchRequestCancelSource","actions","searchUsers","context","_ref10","offset","limit","search","api","generateOcsUrl","getUser","userId","_ref11","cancel","source","trim","encodeURIComponent","cancelToken","token","then","usersCount","keys","getRecentUsers","_ref12","getDisabledUsers","_ref13","_ref14","limitParam","getUsersFromList","_ref15","getUsersFromGroup","_ref16","groupid","groupId","getCapabilities","password_policy","minLength","_ref17","_ref18","_ref19","_ref20","_ref21","wipeUserDevices","Promise","reject","Error","addUser","_ref22","_ref23","dispatch","password","email","quota","language","manager","_ref24","userStatus","_ref25","sendWelcomeMail","apps","bundles","categories","updateCount","loading","gettingCategoriesPromise","appApiEnabled","APPS_API_FAILURE","message","isHTML","initCategories","updateCategories","categoriesPromise","setUpdateCount","addCategory","appendCategories","categoriesArray","setAllApps","setError","appId","Array","isArray","_id","app","clearError","enableApp","active","setInstallState","canInstall","disableApp","removable","canUnInstall","uninstallApp","needsDownload","installed","updateApp","version","update","resetApps","reset","startLoading","stopLoading","appIds","_appId","update_required","showInfo","onClick","window","location","reload","close","setTimeout","forceEnableApp","finally","getAllApps","getCategories","shouldRefetchCategories","arguments","undefined","categoriesPromiseResponse","isAppApiEnabled","getAppBundles","getUpdateCount","getCategoryById","selectedCategoryId","serverData","setServerData","getServerData","setAppConfig","API_FAILURE","meta","Store","modules","settings","oc","strict","process","humanList","humanListBinary","formatFileSize","size","skipSmallSizes","binaryPrefixes","base1000","Number","order","Math","floor","log","min","readableFormat","relativeSize","pow","toFixed","parseFloat","toLocaleString","forceBinary","toLocaleLowerCase","replaceAll","e2","match","decimalString","round","k","m","g","p","Date","toISOString","sortNodes","nodes","sortingOptions","sortingMode","sortingOrder","collection","identifiers2","orders","_","index","collator","a2","b2","identifier","entries","sortFavoritesFirst","v","attributes","favorite","sortFoldersFirst","type","basename2","displayname","basename","lastIndexOf","slice","hasRequiredUtil","hasRequiredValidator","validator","util","requireUtil","exports","nameStartChar","nameRegexp","regexName","RegExp","isExist","isEmptyObject","obj","merge","target","arrayMode","len","i2","getValue","isName","string","exec","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","requireValidator","util2","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","substr","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","substring","msg","result","readAttributeStr","attrStr","attrStrStart","isValid","validateAttributeString","code","line","tagClosed","otg","pop","openPos","col","afterAmp","validateAmpersand","t2","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","hasOwnProperty","re2","validateNumberAmpersand","count","lineNumber","lines","split","hasRequiredOptionsBuilder","xmlNode","hasRequiredXmlNode","DocTypeReader","hasRequiredDocTypeReader","strnum","hasRequiredStrnum","ignoreAttributes","hasRequiredIgnoreAttributes","OrderedObjParser_1","hasRequiredOrderedObjParser","OptionsBuilder","requireIgnoreAttributes","ignoreAttributes2","pattern","test","hasRequiredNode2json","XMLParser_1","hasRequiredXMLParser","orderedJs2Xml","hasRequiredOrderedJs2Xml","json2xml","hasRequiredJson2xml","fxp","hasRequiredFxp","debug_1","hasRequiredDebug","constants","hasRequiredConstants","node2json","requireNode2json","compress","arr","jPath","text","compressedObj","tagObj","property","propName","newJpath","textNodeName","val","isLeaf","isLeafTag","assignAttributes","alwaysCreateTextNode","attrMap","jpath","atrrName","propCount","prettify","node","requireXMLParser","buildOptions","preserveOrder","attributeNamePrefix","attributesGroupName","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","requireOptionsBuilder","OrderedObjParser","xmlNode2","constructor","child","add","addChild","readDocType","readEntityExp","entityName","isEntity","isElement","isAttlist","isNotation","validateEntityName","entities","hasBody","comment","exp","regx","i","requireDocTypeReader","toNumber","hexRegex","numRegex","parseInt","consider","decimalPoint","str","trimmedStr","skipLike","sign","numTrimmedByZeros","numStr","num","requireStrnum","getIgnoreAttributesFn","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","replaceEntitiesValue","newval","parseValue","resolveNameSpace","prefix","charAt","attrsRegx","buildAttributesMap","ignoreAttributesFn","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","endIndex","docTypeEntities","rawTagName","lastTag","isItStopNode","tagContent","result2","readStopNodeData","entity","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","separatorIndex","trimStart","openTagCount","shouldParse","fromCharCode","requireOrderedObjParser","validator2","parse","validationOption","toString","orderedObjParser","orderedResult","addEntity","requireOrderedJs2Xml","arrToStr","indentation","xmlStr","isPreviousElementTag","newJPath","tagText","isStopNode","attStr2","attr_to_str","tempInd","piTextNodeName","newIdentation","indentBy","tagStart","tagValue","suppressUnpairedNode","suppressEmptyNode","endsWith","attr","attrVal","suppressBooleanAttributes","textValue","jArray","format","requireDebug","debug","env","NODE_DEBUG","args","requireConstants","MAX_SAFE_INTEGER","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","SEMVER_SPEC_VERSION","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","XMLParser","XMLBuilder","buildFromOrderedJs","oneListGroup","Builder","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","ajPath","j2x","buildTextValNode","buildObjectNode","repeat","startsWith","jObj","arrayNodeName","join","call","buildAttrPairStr","arrLen","listTagVal","listTagAttr","j2","item","Ks","L","closeTag","tagEndExp","piClosingChar","requireJson2xml","XMLValidator","requireFxp","hasRequiredRe","parseOptions_1","hasRequiredParseOptions","identifiers","hasRequiredIdentifiers","semver","hasRequiredSemver","parse_1","hasRequiredParse","valid_1","hasRequiredValid","major_1","hasRequiredMajor","re","requireSemver","safeRe","module","src","R","LETTERDASHNUMBER","safeRegexReplacements","createToken","isGlobal","safe","max","makeSafeRegex","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCEPLAIN","COERCE","COERCEFULL","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","parseOptions","looseOption","freeze","loose","emptyOpts","requireParseOptions","compareIdentifiers","anum","bnum","rcompareIdentifiers","requireIdentifiers","SemVer","includePrerelease","TypeError","m2","LOOSE","FULL","raw","major","minor","prerelease","other","compareMain","comparePre","compareBuild","inc","release","identifierBase","isNaN","throwErrors","er","requireParse","requireValid","requireMajor","getLoggerBuilder","setApp","detectUser","cloneRoute","to","from","clone","hash","query","fullPath","moduleName","registerModule","namespaced","currentRoute","transition","currentPath","isTimeTraveling","storeUnwatch","watch","route","afterEachUnHook","afterEach","unregisterModule","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","globalThis","Function","prop","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","toUpperCase","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=f2cf2e8a133b96f6e69d","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/SettingsApp.vue?3a67","webpack:///nextcloud/apps/settings/src/router/routes.ts","webpack:///nextcloud/apps/settings/src/router/index.ts","webpack:///nextcloud/apps/settings/src/main-apps-users-management.ts","webpack:///nextcloud/apps/settings/src/utils/sorting.ts","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/users-settings.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/constants/GroupManagement.ts","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcContent,{attrs:{\"app-name\":\"settings\"}},[_c('router-view',{attrs:{\"name\":\"navigation\"}}),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_c('router-view',{attrs:{\"name\":\"sidebar\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SettingsApp.vue?vue&type=template&id=288003b1\"\nimport script from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { loadState } from '@nextcloud/initial-state';\nconst appstoreEnabled = loadState('settings', 'appstoreEnabled', true);\n// Dynamic loading\nconst AppStore = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStore.vue');\nconst AppStoreNavigation = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreNavigation.vue');\nconst AppStoreSidebar = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreSidebar.vue');\nconst UserManagement = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagement.vue');\nconst UserManagementNavigation = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagementNavigation.vue');\nconst routes = [\n {\n name: 'users',\n path: '/:index(index.php/)?settings/users',\n components: {\n default: UserManagement,\n navigation: UserManagementNavigation,\n },\n props: true,\n children: [\n {\n path: ':selectedGroup',\n name: 'group',\n },\n ],\n },\n {\n path: '/:index(index.php/)?settings/apps',\n name: 'apps',\n redirect: {\n name: 'apps-category',\n params: {\n category: appstoreEnabled ? 'discover' : 'installed',\n },\n },\n components: {\n default: AppStore,\n navigation: AppStoreNavigation,\n sidebar: AppStoreSidebar,\n },\n children: [\n {\n path: ':category',\n name: 'apps-category',\n children: [\n {\n path: ':id',\n name: 'apps-details',\n },\n ],\n },\n ],\n },\n];\nexport default routes;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { generateUrl } from '@nextcloud/router';\nimport routes from './routes.ts';\nVue.use(Router);\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl(''),\n linkActiveClass: 'active',\n routes,\n});\nexport default router;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport VTooltipPlugin from 'v-tooltip';\nimport { sync } from 'vuex-router-sync';\nimport { t, n } from '@nextcloud/l10n';\nimport SettingsApp from './views/SettingsApp.vue';\nimport router from './router/index.ts';\nimport { useStore } from './store/index.js';\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { PiniaVuePlugin, createPinia } from 'pinia';\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = getCSPNonce();\n// bind to window\nVue.prototype.t = t;\nVue.prototype.n = n;\nVue.use(PiniaVuePlugin);\nVue.use(VTooltipPlugin, { defaultHtml: false });\nVue.use(Vuex);\nconst store = useStore();\nsync(store, router);\nconst pinia = createPinia();\nexport default new Vue({\n router,\n store,\n pinia,\n render: h => h(SettingsApp),\n el: '#content',\n});\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCanonicalLocale, getLanguage } from '@nextcloud/l10n';\nexport const naturalCollator = Intl.Collator([getLanguage(), getCanonicalLocale()], {\n numeric: true,\n usage: 'sort',\n});\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { parseFileSize } from '@nextcloud/files'\nimport { showError } from '@nextcloud/dialogs'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\n\nimport { GroupSorting } from '../constants/GroupManagement.ts'\nimport { naturalCollator } from '../utils/sorting.ts'\nimport api from './api.js'\nimport logger from '../logger.ts'\n\nconst usersSettings = loadState('settings', 'usersSettings', {})\n\nconst localStorage = getBuilder('settings').persist(true).build()\n\nconst defaults = {\n\t/**\n\t * @type {import('../views/user-types').IGroup}\n\t */\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [\n\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t...(usersSettings.systemGroups ?? []),\n\t],\n\torderBy: usersSettings.sortGroups ?? GroupSorting.UserCount,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: usersSettings.userCount ?? 0,\n\tshowConfig: {\n\t\tshowStoragePath: localStorage.getItem('account_settings__showStoragePath') === 'true',\n\t\tshowUserBackend: localStorage.getItem('account_settings__showUserBackend') === 'true',\n\t\tshowFirstLogin: localStorage.getItem('account_settings__showFirstLogin') === 'true',\n\t\tshowLastLogin: localStorage.getItem('account_settings__showLastLogin') === 'true',\n\t\tshowNewUserForm: localStorage.getItem('account_settings__showNewUserForm') === 'true',\n\t\tshowLanguages: localStorage.getItem('account_settings__showLanguages') === 'true',\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state, _usersObj) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\t/**\n\t * @param {object} state store state\n\t * @param {import('../views/user-types.js').IGroup} newGroup new group\n\t */\n\taddGroup(state, newGroup) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === newGroup.id) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, newGroup)\n\t\t\tstate.groups.unshift(group)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst recentGroup = state.groups.find(group => group.id === '__nc_internal_recent')\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\trecentGroup.usercount += user.enabled ? 1 : -1\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\trecentGroup.usercount++\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\trecentGroup.usercount--\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\t/**\n\t * Reset group list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetGroups(state) {\n\t\tstate.groups = [\n\t\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t\t...(usersSettings.systemGroups ?? []),\n\t\t]\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tlocalStorage.setItem(`account_settings__${key}`, JSON.stringify(value))\n\t\tstate.showConfig[key] = value\n\t},\n\n\tsetGroupSorting(state, sorting) {\n\t\tconst oldValue = state.orderBy\n\t\tstate.orderBy = sorting\n\n\t\t// Persist the value on the server\n\t\taxios.post(\n\t\t\tgenerateUrl('/settings/users/preferences/group.sortBy'),\n\t\t\t{\n\t\t\t\tvalue: String(sorting),\n\t\t\t},\n\t\t).catch((error) => {\n\t\t\tstate.orderBy = oldValue\n\t\t\tshowError(t('settings', 'Could not set group sorting'))\n\t\t\tlogger.error(error)\n\t\t})\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubAdminGroups() {\n\t\treturn usersSettings.subAdminGroups ?? []\n\t},\n\n\tgetSortedGroups(state) {\n\t\tconst groups = [...state.groups]\n\t\tif (state.orderBy === GroupSorting.UserCount) {\n\t\t\treturn groups.sort((a, b) => {\n\t\t\t\tconst numA = a.usercount - a.disabled\n\t\t\t\tconst numB = b.usercount - b.disabled\n\t\t\t\treturn (numA < numB) ? 1 : (numB < numA ? -1 : naturalCollator.compare(a.name, b.name))\n\t\t\t})\n\t\t} else {\n\t\t\treturn groups.sort((a, b) => naturalCollator.compare(a.name, b.name))\n\t\t}\n\t},\n\tgetGroupSorting(state) {\n\t\treturn state.orderBy\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get recent users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search query\n\t * @return {Promise<number>}\n\t */\n\tasync getRecentUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/recent?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param options.search\n\t * @return {Promise<number>}\n\t */\n\tasync getDisabledUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { id: group, name: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { id: gid, name: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tasync wipeUserDevices(context, userid) {\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\treturn await api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\treturn Promise.reject(new Error('Failed to wipe user devices'))\n\t\t}\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tasync setUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tconst validKeys = ['email', 'language', 'quota', 'displayname', 'password', 'manager']\n\n\t\tif (!validKeys.includes(key)) {\n\t\t\tthrow new Error('Invalid request data')\n\t\t}\n\n\t\t// If value is empty and the key doesn't allow empty values, throw error\n\t\tif (value === '' && !allowedEmpty.includes(key)) {\n\t\t\tthrow new Error('Value cannot be empty for this field')\n\t\t}\n\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\tawait api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\treturn context.commit('setUserData', { userid, key, value })\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t}\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tapps: [],\n\tbundles: loadState('settings', 'appstoreBundles', []),\n\tcategories: [],\n\tupdateCount: loadState('settings', 'appstoreUpdateCount', 0),\n\tloading: {},\n\tgettingCategoriesPromise: null,\n\tappApiEnabled: loadState('settings', 'appApiEnabled', false),\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = true\n\t\t}\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t\tif (appId === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tisAppApiEnabled(state) {\n\t\treturn state.appApiEnabled\n\t},\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetAppBundles(state) {\n\t\treturn state.bundles\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn axios.get(generateUrl('apps/files/'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.',\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tshowError(t('settings', 'Error: This app cannot be enabled because it makes the server unstable'))\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tcontext.dispatch('disableApp', { appId })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tserverData: loadState('settings', 'usersSettings', {}),\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './users-settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nlet store = null\n\nexport const useStore = () => {\n\tif (store === null) {\n\t\tstore = new Store({\n\t\t\tmodules: {\n\t\t\t\tusers,\n\t\t\t\tapps,\n\t\t\t\tsettings,\n\t\t\t\toc,\n\t\t\t},\n\t\t\tstrict: debug,\n\t\t\tmutations,\n\t\t})\n\t}\n\treturn store\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\nexport var GroupSorting;\n(function (GroupSorting) {\n GroupSorting[GroupSorting[\"UserCount\"] = 1] = \"UserCount\";\n GroupSorting[GroupSorting[\"GroupName\"] = 2] = \"GroupName\";\n})(GroupSorting || (GroupSorting = {}));\n","import { o as logger } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { q, F, s, N, t, P, c, l, m, n, a, g, p, b, r, d, h, f, k, j, e, i } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"path\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? 1;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nconst getNewFileMenu = function() {\n if (typeof window._nc_newfilemenu === \"undefined\") {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug(\"NewFileMenu initialized\");\n }\n return window._nc_newfilemenu;\n};\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get destructive() {\n return this._action.destructive;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass FileListAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get order() {\n return this._action.order;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n }\n}\nconst registerFileListAction = (action) => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n if (window._nc_filelistactions.find((listAction) => listAction.id === action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n window._nc_filelistactions.push(action);\n};\nconst getFileListActions = () => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n return window._nc_filelistactions;\n};\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nvar InvalidFilenameErrorReason = /* @__PURE__ */ ((InvalidFilenameErrorReason2) => {\n InvalidFilenameErrorReason2[\"ReservedName\"] = \"reserved name\";\n InvalidFilenameErrorReason2[\"Character\"] = \"character\";\n InvalidFilenameErrorReason2[\"Extension\"] = \"extension\";\n return InvalidFilenameErrorReason2;\n})(InvalidFilenameErrorReason || {});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: \"character\", filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({\n filename,\n segment: filename,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({\n filename,\n segment: basename2,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [\".part\", \".filepart\"];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: \"extension\", filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n2) => `(${n2})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i2 = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i2++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch (e2) {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers2, orders) {\n identifiers2 = identifiers2 ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers2.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers2.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n FilesSortingMode2[\"Name\"] = \"basename\";\n FilesSortingMode2[\"Modified\"] = \"mtime\";\n FilesSortingMode2[\"Size\"] = \"size\";\n return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: \"basename\",\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n const basename2 = (name) => name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n const identifiers2 = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v.displayname || v.attributes?.displayname || v.basename),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers2, orders);\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar validator = {};\nvar util = {};\nvar hasRequiredUtil;\nfunction requireUtil() {\n if (hasRequiredUtil) return util;\n hasRequiredUtil = 1;\n (function(exports) {\n const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n const getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n };\n const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === \"undefined\");\n };\n exports.isExist = function(v) {\n return typeof v !== \"undefined\";\n };\n exports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n };\n exports.merge = function(target, a2, arrayMode) {\n if (a2) {\n const keys = Object.keys(a2);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n if (arrayMode === \"strict\") {\n target[keys[i2]] = [a2[keys[i2]]];\n } else {\n target[keys[i2]] = a2[keys[i2]];\n }\n }\n }\n };\n exports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return \"\";\n }\n };\n exports.isName = isName;\n exports.getAllMatches = getAllMatches;\n exports.nameRegexp = nameRegexp;\n })(util);\n return util;\n}\nvar hasRequiredValidator;\nfunction requireValidator() {\n if (hasRequiredValidator) return validator;\n hasRequiredValidator = 1;\n const util2 = requireUtil();\n const defaultOptions = {\n allowBooleanAttributes: false,\n //A tag can have attributes without any value\n unpairedTags: []\n };\n validator.validate = function(xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n const tags = [];\n let tagFound = false;\n let reachedRoot = false;\n if (xmlData[0] === \"\\uFEFF\") {\n xmlData = xmlData.substr(1);\n }\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && xmlData[i2 + 1] === \"?\") {\n i2 += 2;\n i2 = readPI(xmlData, i2);\n if (i2.err) return i2;\n } else if (xmlData[i2] === \"<\") {\n let tagStartPos = i2;\n i2++;\n if (xmlData[i2] === \"!\") {\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i2] === \"/\") {\n closingTag = true;\n i2++;\n }\n let tagName = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== \">\" && xmlData[i2] !== \" \" && xmlData[i2] !== \"\t\" && xmlData[i2] !== \"\\n\" && xmlData[i2] !== \"\\r\"; i2++) {\n tagName += xmlData[i2];\n }\n tagName = tagName.trim();\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substring(0, tagName.length - 1);\n i2--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n }\n return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i2));\n }\n const result = readAttributeStr(xmlData, i2);\n if (result === false) {\n return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i2));\n }\n let attrStr = result.value;\n i2 = result.index;\n if (attrStr[attrStr.length - 1] === \"/\") {\n const attrStrStart = i2 - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n } else {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i2));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject(\n \"InvalidTag\",\n \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n getLineNumberForPosition(xmlData, tagStartPos)\n );\n }\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i2 - attrStr.length + isValid.err.line));\n }\n if (reachedRoot === true) {\n return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i2));\n } else if (options.unpairedTags.indexOf(tagName) !== -1) ;\n else {\n tags.push({ tagName, tagStartPos });\n }\n tagFound = true;\n }\n for (i2++; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"!\") {\n i2++;\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else if (xmlData[i2 + 1] === \"?\") {\n i2 = readPI(xmlData, ++i2);\n if (i2.err) return i2;\n } else {\n break;\n }\n } else if (xmlData[i2] === \"&\") {\n const afterAmp = validateAmpersand(xmlData, i2);\n if (afterAmp == -1)\n return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i2));\n i2 = afterAmp;\n } else {\n if (reachedRoot === true && !isWhiteSpace(xmlData[i2])) {\n return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i2));\n }\n }\n }\n if (xmlData[i2] === \"<\") {\n i2--;\n }\n }\n } else {\n if (isWhiteSpace(xmlData[i2])) {\n continue;\n }\n return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i2] + \"' is not expected.\", getLineNumberForPosition(xmlData, i2));\n }\n }\n if (!tagFound) {\n return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n } else if (tags.length == 1) {\n return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n } else if (tags.length > 0) {\n return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t2) => t2.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n }\n return true;\n };\n function isWhiteSpace(char) {\n return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n }\n function readPI(xmlData, i2) {\n const start = i2;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] == \"?\" || xmlData[i2] == \" \") {\n const tagname = xmlData.substr(start, i2 - start);\n if (i2 > 5 && tagname === \"xml\") {\n return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i2));\n } else if (xmlData[i2] == \"?\" && xmlData[i2 + 1] == \">\") {\n i2++;\n break;\n } else {\n continue;\n }\n }\n }\n return i2;\n }\n function readCommentAndCDATA(xmlData, i2) {\n if (xmlData.length > i2 + 5 && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \"-\") {\n for (i2 += 3; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"-\" && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n } else if (xmlData.length > i2 + 8 && xmlData[i2 + 1] === \"D\" && xmlData[i2 + 2] === \"O\" && xmlData[i2 + 3] === \"C\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"Y\" && xmlData[i2 + 6] === \"P\" && xmlData[i2 + 7] === \"E\") {\n let angleBracketsCount = 1;\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n angleBracketsCount++;\n } else if (xmlData[i2] === \">\") {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (xmlData.length > i2 + 9 && xmlData[i2 + 1] === \"[\" && xmlData[i2 + 2] === \"C\" && xmlData[i2 + 3] === \"D\" && xmlData[i2 + 4] === \"A\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"A\" && xmlData[i2 + 7] === \"[\") {\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"]\" && xmlData[i2 + 1] === \"]\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n }\n return i2;\n }\n const doubleQuote = '\"';\n const singleQuote = \"'\";\n function readAttributeStr(xmlData, i2) {\n let attrStr = \"\";\n let startChar = \"\";\n let tagClosed = false;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === doubleQuote || xmlData[i2] === singleQuote) {\n if (startChar === \"\") {\n startChar = xmlData[i2];\n } else if (startChar !== xmlData[i2]) ;\n else {\n startChar = \"\";\n }\n } else if (xmlData[i2] === \">\") {\n if (startChar === \"\") {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i2];\n }\n if (startChar !== \"\") {\n return false;\n }\n return {\n value: attrStr,\n index: i2,\n tagClosed\n };\n }\n const validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\n function validateAttributeString(attrStr, options) {\n const matches = util2.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n for (let i2 = 0; i2 < matches.length; i2++) {\n if (matches[i2][1].length === 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] !== void 0 && matches[i2][4] === void 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' is without value.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] === void 0 && !options.allowBooleanAttributes) {\n return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i2][2] + \"' is not allowed.\", getPositionFromMatch(matches[i2]));\n }\n const attrName = matches[i2][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i2]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n attrNames[attrName] = 1;\n } else {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i2]));\n }\n }\n return true;\n }\n function validateNumberAmpersand(xmlData, i2) {\n let re2 = /\\d/;\n if (xmlData[i2] === \"x\") {\n i2++;\n re2 = /[\\da-fA-F]/;\n }\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \";\")\n return i2;\n if (!xmlData[i2].match(re2))\n break;\n }\n return -1;\n }\n function validateAmpersand(xmlData, i2) {\n i2++;\n if (xmlData[i2] === \";\")\n return -1;\n if (xmlData[i2] === \"#\") {\n i2++;\n return validateNumberAmpersand(xmlData, i2);\n }\n let count = 0;\n for (; i2 < xmlData.length; i2++, count++) {\n if (xmlData[i2].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i2] === \";\")\n break;\n return -1;\n }\n return i2;\n }\n function getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col\n }\n };\n }\n function validateAttrName(attrName) {\n return util2.isName(attrName);\n }\n function validateTagName(tagname) {\n return util2.isName(tagname);\n }\n function getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n }\n function getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n }\n return validator;\n}\nvar OptionsBuilder = {};\nvar hasRequiredOptionsBuilder;\nfunction requireOptionsBuilder() {\n if (hasRequiredOptionsBuilder) return OptionsBuilder;\n hasRequiredOptionsBuilder = 1;\n const defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n removeNSPrefix: false,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true,\n //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs) {\n return tagName;\n }\n // skipEmptyListItem: false\n };\n const buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n };\n OptionsBuilder.buildOptions = buildOptions;\n OptionsBuilder.defaultOptions = defaultOptions;\n return OptionsBuilder;\n}\nvar xmlNode;\nvar hasRequiredXmlNode;\nfunction requireXmlNode() {\n if (hasRequiredXmlNode) return xmlNode;\n hasRequiredXmlNode = 1;\n class XmlNode {\n constructor(tagname) {\n this.tagname = tagname;\n this.child = [];\n this[\":@\"] = {};\n }\n add(key, val) {\n if (key === \"__proto__\") key = \"#__proto__\";\n this.child.push({ [key]: val });\n }\n addChild(node) {\n if (node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n } else {\n this.child.push({ [node.tagname]: node.child });\n }\n }\n }\n xmlNode = XmlNode;\n return xmlNode;\n}\nvar DocTypeReader;\nvar hasRequiredDocTypeReader;\nfunction requireDocTypeReader() {\n if (hasRequiredDocTypeReader) return DocTypeReader;\n hasRequiredDocTypeReader = 1;\n const util2 = requireUtil();\n function readDocType(xmlData, i2) {\n const entities = {};\n if (xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"C\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"Y\" && xmlData[i2 + 7] === \"P\" && xmlData[i2 + 8] === \"E\") {\n i2 = i2 + 9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && !comment) {\n if (hasBody && isEntity(xmlData, i2)) {\n i2 += 7;\n let entityName, val;\n [entityName, val, i2] = readEntityExp(xmlData, i2 + 1);\n if (val.indexOf(\"&\") === -1)\n entities[validateEntityName(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n };\n } else if (hasBody && isElement(xmlData, i2)) i2 += 8;\n else if (hasBody && isAttlist(xmlData, i2)) i2 += 8;\n else if (hasBody && isNotation(xmlData, i2)) i2 += 9;\n else comment = true;\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i2] === \">\") {\n if (comment) {\n if (xmlData[i2 - 1] === \"-\" && xmlData[i2 - 2] === \"-\") {\n comment = false;\n angleBracketsCount--;\n }\n } else {\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n } else if (xmlData[i2] === \"[\") {\n hasBody = true;\n } else {\n exp += xmlData[i2];\n }\n }\n if (angleBracketsCount !== 0) {\n throw new Error(`Unclosed DOCTYPE`);\n }\n } else {\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return { entities, i: i2 };\n }\n function readEntityExp(xmlData, i2) {\n let entityName = \"\";\n for (; i2 < xmlData.length && (xmlData[i2] !== \"'\" && xmlData[i2] !== '\"'); i2++) {\n entityName += xmlData[i2];\n }\n entityName = entityName.trim();\n if (entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n const startChar = xmlData[i2++];\n let val = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== startChar; i2++) {\n val += xmlData[i2];\n }\n return [entityName, val, i2];\n }\n function isEntity(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"N\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"I\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"Y\") return true;\n return false;\n }\n function isElement(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"L\" && xmlData[i2 + 4] === \"E\" && xmlData[i2 + 5] === \"M\" && xmlData[i2 + 6] === \"E\" && xmlData[i2 + 7] === \"N\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n }\n function isAttlist(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"A\" && xmlData[i2 + 3] === \"T\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"L\" && xmlData[i2 + 6] === \"I\" && xmlData[i2 + 7] === \"S\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n }\n function isNotation(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"N\" && xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"A\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"I\" && xmlData[i2 + 8] === \"O\" && xmlData[i2 + 9] === \"N\") return true;\n return false;\n }\n function validateEntityName(name) {\n if (util2.isName(name))\n return name;\n else\n throw new Error(`Invalid entity name ${name}`);\n }\n DocTypeReader = readDocType;\n return DocTypeReader;\n}\nvar strnum;\nvar hasRequiredStrnum;\nfunction requireStrnum() {\n if (hasRequiredStrnum) return strnum;\n hasRequiredStrnum = 1;\n const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\n const numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n if (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n }\n if (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n }\n const consider = {\n hex: true,\n leadingZeros: true,\n decimalPoint: \".\",\n eNotation: true\n //skipLike: /regex/\n };\n function toNumber(str, options = {}) {\n options = Object.assign({}, consider, options);\n if (!str || typeof str !== \"string\") return str;\n let trimmedStr = str.trim();\n if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n } else {\n const match = numRegex.exec(trimmedStr);\n if (match) {\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]);\n const eNotation = match[4] || match[6];\n if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str;\n else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str;\n else {\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if (numStr.search(/[eE]/) !== -1) {\n if (options.eNotation) return num;\n else return str;\n } else if (eNotation) {\n if (options.eNotation) return num;\n else return str;\n } else if (trimmedStr.indexOf(\".\") !== -1) {\n if (numStr === \"0\" && numTrimmedByZeros === \"\") return num;\n else if (numStr === numTrimmedByZeros) return num;\n else if (sign && numStr === \"-\" + numTrimmedByZeros) return num;\n else return str;\n }\n if (leadingZeros) {\n if (numTrimmedByZeros === numStr) return num;\n else if (sign + numTrimmedByZeros === numStr) return num;\n else return str;\n }\n if (trimmedStr === numStr) return num;\n else if (trimmedStr === sign + numStr) return num;\n return str;\n }\n } else {\n return str;\n }\n }\n }\n function trimZeros(numStr) {\n if (numStr && numStr.indexOf(\".\") !== -1) {\n numStr = numStr.replace(/0+$/, \"\");\n if (numStr === \".\") numStr = \"0\";\n else if (numStr[0] === \".\") numStr = \"0\" + numStr;\n else if (numStr[numStr.length - 1] === \".\") numStr = numStr.substr(0, numStr.length - 1);\n return numStr;\n }\n return numStr;\n }\n strnum = toNumber;\n return strnum;\n}\nvar ignoreAttributes;\nvar hasRequiredIgnoreAttributes;\nfunction requireIgnoreAttributes() {\n if (hasRequiredIgnoreAttributes) return ignoreAttributes;\n hasRequiredIgnoreAttributes = 1;\n function getIgnoreAttributesFn(ignoreAttributes2) {\n if (typeof ignoreAttributes2 === \"function\") {\n return ignoreAttributes2;\n }\n if (Array.isArray(ignoreAttributes2)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes2) {\n if (typeof pattern === \"string\" && attrName === pattern) {\n return true;\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true;\n }\n }\n };\n }\n return () => false;\n }\n ignoreAttributes = getIgnoreAttributesFn;\n return ignoreAttributes;\n}\nvar OrderedObjParser_1;\nvar hasRequiredOrderedObjParser;\nfunction requireOrderedObjParser() {\n if (hasRequiredOrderedObjParser) return OrderedObjParser_1;\n hasRequiredOrderedObjParser = 1;\n const util2 = requireUtil();\n const xmlNode2 = requireXmlNode();\n const readDocType = requireDocTypeReader();\n const toNumber = requireStrnum();\n const getIgnoreAttributesFn = requireIgnoreAttributes();\n class OrderedObjParser {\n constructor(options) {\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n }\n }\n function addExternalEntities(externalEntities) {\n const entKeys = Object.keys(externalEntities);\n for (let i2 = 0; i2 < entKeys.length; i2++) {\n const ent = entKeys[i2];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n val: externalEntities[ent]\n };\n }\n }\n function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== void 0) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if (val.length > 0) {\n if (!escapeEntities) val = this.replaceEntitiesValue(val);\n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if (newval === null || newval === void 0) {\n return val;\n } else if (typeof newval !== typeof val || newval !== val) {\n return newval;\n } else if (this.options.trimValues) {\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n const trimmedVal = val.trim();\n if (trimmedVal === val) {\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n return val;\n }\n }\n }\n }\n }\n function resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(\":\");\n const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n if (tags[0] === \"xmlns\") {\n return \"\";\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n }\n const attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\n function buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === \"string\") {\n const matches = util2.getAllMatches(attrStr, attrsRegx);\n const len = matches.length;\n const attrs = {};\n for (let i2 = 0; i2 < len; i2++) {\n const attrName = this.resolveNameSpace(matches[i2][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue;\n }\n let oldVal = matches[i2][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if (aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== void 0) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if (newVal === null || newVal === void 0) {\n attrs[aName] = oldVal;\n } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n attrs[aName] = newVal;\n } else {\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n }\n const parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n const xmlObj = new xmlNode2(\"!xml\");\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n const ch = xmlData[i2];\n if (ch === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, \"Closing Tag is not closed.\");\n let tagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (this.options.removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n }\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode) {\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0;\n if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n this.tagsNodeStack.pop();\n } else {\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n currentNode = this.tagsNodeStack.pop();\n textData = \"\";\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n let tagData = readTagExp(xmlData, i2, false, \"?>\");\n if (!tagData) throw new Error(\"Pi Tag is not closed.\");\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags) ;\n else {\n const childNode = new xmlNode2(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n }\n i2 = tagData.closeIndex + 1;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const endIndex = findClosingIndex(xmlData, \"-->\", i2 + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const comment = xmlData.substring(i2 + 4, endIndex - 2);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n }\n i2 = endIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"!D\") {\n const result = readDocType(xmlData, i2);\n this.docTypeEntities = result.entities;\n i2 = result.i;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i2 + 9, closeIndex);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if (val == void 0) val = \"\";\n if (this.options.cdataPropName) {\n currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n } else {\n currentNode.add(this.options.textNodeName, val);\n }\n i2 = closeIndex + 2;\n } else {\n let result = readTagExp(xmlData, i2, this.options.removeNSPrefix);\n let tagName = result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode && textData) {\n if (currentNode.tagname !== \"!xml\") {\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n const lastTag = currentNode;\n if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if (tagName !== xmlObj.tagname) {\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i2 = result.closeIndex;\n } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n i2 = result.closeIndex;\n } else {\n const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if (!result2) throw new Error(`Unexpected end of ${rawTagName}`);\n i2 = result2.i;\n tagContent = result2.tagContent;\n }\n const childNode = new xmlNode2(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if (tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n this.addChild(currentNode, childNode, jPath);\n } else {\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n const childNode = new xmlNode2(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n } else {\n const childNode = new xmlNode2(tagName);\n this.tagsNodeStack.push(currentNode);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n currentNode = childNode;\n }\n textData = \"\";\n i2 = closeIndex;\n }\n }\n } else {\n textData += xmlData[i2];\n }\n }\n return xmlObj.child;\n };\n function addChild(currentNode, childNode, jPath) {\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n if (result === false) ;\n else if (typeof result === \"string\") {\n childNode.tagname = result;\n currentNode.addChild(childNode);\n } else {\n currentNode.addChild(childNode);\n }\n }\n const replaceEntitiesValue = function(val) {\n if (this.options.processEntities) {\n for (let entityName in this.docTypeEntities) {\n const entity = this.docTypeEntities[entityName];\n val = val.replace(entity.regx, entity.val);\n }\n for (let entityName in this.lastEntities) {\n const entity = this.lastEntities[entityName];\n val = val.replace(entity.regex, entity.val);\n }\n if (this.options.htmlEntities) {\n for (let entityName in this.htmlEntities) {\n const entity = this.htmlEntities[entityName];\n val = val.replace(entity.regex, entity.val);\n }\n }\n val = val.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n };\n function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) {\n if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0;\n textData = this.parseTextData(\n textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode\n );\n if (textData !== void 0 && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n }\n function isItStopNode(stopNodes, jPath, currentTagName) {\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true;\n }\n return false;\n }\n function tagExpWithClosingIndex(xmlData, i2, closingChar = \">\") {\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i2; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if (closingChar[1]) {\n if (xmlData[index + 1] === closingChar[1]) {\n return {\n data: tagExp,\n index\n };\n }\n } else {\n return {\n data: tagExp,\n index\n };\n }\n } else if (ch === \"\t\") {\n ch = \" \";\n }\n tagExp += ch;\n }\n }\n function findClosingIndex(xmlData, str, i2, errMsg) {\n const closingIndex = xmlData.indexOf(str, i2);\n if (closingIndex === -1) {\n throw new Error(errMsg);\n } else {\n return closingIndex + str.length - 1;\n }\n }\n function readTagExp(xmlData, i2, removeNSPrefix, closingChar = \">\") {\n const result = tagExpWithClosingIndex(xmlData, i2 + 1, closingChar);\n if (!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if (separatorIndex !== -1) {\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n const rawTagName = tagName;\n if (removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n return {\n tagName,\n tagExp,\n closeIndex,\n attrExpPresent,\n rawTagName\n };\n }\n function readStopNodeData(xmlData, tagName, i2) {\n const startIndex = i2;\n let openTagCount = 1;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (closeTagName === tagName) {\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i2),\n i: closeIndex\n };\n }\n }\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n const closeIndex = findClosingIndex(xmlData, \"?>\", i2 + 1, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const closeIndex = findClosingIndex(xmlData, \"-->\", i2 + 3, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"StopNode is not closed.\") - 2;\n i2 = closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i2, \">\");\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n openTagCount++;\n }\n i2 = tagData.closeIndex;\n }\n }\n }\n }\n }\n function parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === \"string\") {\n const newval = val.trim();\n if (newval === \"true\") return true;\n else if (newval === \"false\") return false;\n else return toNumber(val, options);\n } else {\n if (util2.isExist(val)) {\n return val;\n } else {\n return \"\";\n }\n }\n }\n OrderedObjParser_1 = OrderedObjParser;\n return OrderedObjParser_1;\n}\nvar node2json = {};\nvar hasRequiredNode2json;\nfunction requireNode2json() {\n if (hasRequiredNode2json) return node2json;\n hasRequiredNode2json = 1;\n function prettify(node, options) {\n return compress(node, options);\n }\n function compress(arr, options, jPath) {\n let text;\n const compressedObj = {};\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const property = propName(tagObj);\n let newJpath = \"\";\n if (jPath === void 0) newJpath = property;\n else newJpath = jPath + \".\" + property;\n if (property === options.textNodeName) {\n if (text === void 0) text = tagObj[property];\n else text += \"\" + tagObj[property];\n } else if (property === void 0) {\n continue;\n } else if (tagObj[property]) {\n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n if (tagObj[\":@\"]) {\n assignAttributes(val, tagObj[\":@\"], newJpath, options);\n } else if (Object.keys(val).length === 1 && val[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n val = val[options.textNodeName];\n } else if (Object.keys(val).length === 0) {\n if (options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n if (!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [compressedObj[property]];\n }\n compressedObj[property].push(val);\n } else {\n if (options.isArray(property, newJpath, isLeaf)) {\n compressedObj[property] = [val];\n } else {\n compressedObj[property] = val;\n }\n }\n }\n }\n if (typeof text === \"string\") {\n if (text.length > 0) compressedObj[options.textNodeName] = text;\n } else if (text !== void 0) compressedObj[options.textNodeName] = text;\n return compressedObj;\n }\n function propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (key !== \":@\") return key;\n }\n }\n function assignAttributes(obj, attrMap, jpath, options) {\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n const atrrName = keys[i2];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [attrMap[atrrName]];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n }\n function isLeafTag(obj, options) {\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n if (propCount === 0) {\n return true;\n }\n if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n return true;\n }\n return false;\n }\n node2json.prettify = prettify;\n return node2json;\n}\nvar XMLParser_1;\nvar hasRequiredXMLParser;\nfunction requireXMLParser() {\n if (hasRequiredXMLParser) return XMLParser_1;\n hasRequiredXMLParser = 1;\n const { buildOptions } = requireOptionsBuilder();\n const OrderedObjParser = requireOrderedObjParser();\n const { prettify } = requireNode2json();\n const validator2 = requireValidator();\n class XMLParser {\n constructor(options) {\n this.externalEntities = {};\n this.options = buildOptions(options);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData, validationOption) {\n if (typeof xmlData === \"string\") ;\n else if (xmlData.toString) {\n xmlData = xmlData.toString();\n } else {\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n }\n if (validationOption) {\n if (validationOption === true) validationOption = {};\n const result = validator2.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value) {\n if (value.indexOf(\"&\") !== -1) {\n throw new Error(\"Entity value can't have '&'\");\n } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");\n } else if (value === \"&\") {\n throw new Error(\"An entity with value '&' is not permitted\");\n } else {\n this.externalEntities[key] = value;\n }\n }\n }\n XMLParser_1 = XMLParser;\n return XMLParser_1;\n}\nvar orderedJs2Xml;\nvar hasRequiredOrderedJs2Xml;\nfunction requireOrderedJs2Xml() {\n if (hasRequiredOrderedJs2Xml) return orderedJs2Xml;\n hasRequiredOrderedJs2Xml = 1;\n const EOL = \"\\n\";\n function toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n }\n function arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const tagName = propName(tagObj);\n if (tagName === void 0) continue;\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName;\n else newJPath = `${jPath}.${tagName}`;\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr2 = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n return xmlStr;\n }\n function propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n }\n function attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if (!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n }\n function isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n }\n function replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i2 = 0; i2 < options.entities.length; i2++) {\n const entity = options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n }\n orderedJs2Xml = toXml;\n return orderedJs2Xml;\n}\nvar json2xml;\nvar hasRequiredJson2xml;\nfunction requireJson2xml() {\n if (hasRequiredJson2xml) return json2xml;\n hasRequiredJson2xml = 1;\n const buildFromOrderedJs = requireOrderedJs2Xml();\n const getIgnoreAttributesFn = requireIgnoreAttributes();\n const defaultOptions = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: \" \",\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a2) {\n return a2;\n },\n attributeValueProcessor: function(attrName, a2) {\n return a2;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp('\"', \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n };\n function Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function() {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n this.processTextOrObjNode = processTextOrObjNode;\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = \">\\n\";\n this.newLine = \"\\n\";\n } else {\n this.indentate = function() {\n return \"\";\n };\n this.tagEndChar = \">\";\n this.newLine = \"\";\n }\n }\n Builder.prototype.build = function(jObj) {\n if (this.options.preserveOrder) {\n return buildFromOrderedJs(jObj, this.options);\n } else {\n if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n jObj = {\n [this.options.arrayNodeName]: jObj\n };\n }\n return this.j2x(jObj, 0, []).val;\n }\n };\n Builder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = \"\";\n let val = \"\";\n const jPath = ajPath.join(\".\");\n for (let key in jObj) {\n if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === \"undefined\") {\n if (this.isAttribute(key)) {\n val += \"\";\n }\n } else if (jObj[key] === null) {\n if (this.isAttribute(key)) {\n val += \"\";\n } else if (key[0] === \"?\") {\n val += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n } else {\n val += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n }\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, \"\", level);\n } else if (typeof jObj[key] !== \"object\") {\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n } else if (!attr) {\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, \"\", level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j2 = 0; j2 < arrLen; j2++) {\n const item = jObj[key][j2];\n if (typeof item === \"undefined\") ;\n else if (item === null) {\n if (key[0] === \"?\") val += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n else val += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n } else if (typeof item === \"object\") {\n if (this.options.oneListGroup) {\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr;\n }\n } else {\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath);\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, \"\", level);\n }\n }\n }\n if (this.options.oneListGroup) {\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j2 = 0; j2 < L; j2++) {\n attrStr += this.buildAttrPairStr(Ks[j2], \"\" + jObj[key][Ks[j2]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath);\n }\n }\n }\n return { attrStr, val };\n };\n Builder.prototype.buildAttrPairStr = function(attrName, val) {\n val = this.options.attributeValueProcessor(attrName, \"\" + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return \" \" + attrName;\n } else return \" \" + attrName + '=\"' + val + '\"';\n };\n function processTextOrObjNode(object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n }\n Builder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if (val === \"\") {\n if (key[0] === \"?\") return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n else {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n } else {\n let tagEndExp = \"</\" + key + this.tagEndChar;\n let piClosingChar = \"\";\n if (key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n if ((attrStr || attrStr === \"\") && val.indexOf(\"<\") === -1) {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + \">\" + val + tagEndExp;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val + this.indentate(level) + tagEndExp;\n }\n }\n };\n Builder.prototype.closeTag = function(key) {\n let closeTag = \"\";\n if (this.options.unpairedTags.indexOf(key) !== -1) {\n if (!this.options.suppressUnpairedNode) closeTag = \"/\";\n } else if (this.options.suppressEmptyNode) {\n closeTag = \"/\";\n } else {\n closeTag = `></${key}`;\n }\n return closeTag;\n };\n Builder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else if (key[0] === \"?\") {\n return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n } else {\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n if (textValue === \"\") {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \"</\" + key + this.tagEndChar;\n }\n }\n };\n Builder.prototype.replaceEntitiesValue = function(textValue) {\n if (textValue && textValue.length > 0 && this.options.processEntities) {\n for (let i2 = 0; i2 < this.options.entities.length; i2++) {\n const entity = this.options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n };\n function indentate(level) {\n return this.options.indentBy.repeat(level);\n }\n function isAttribute(name) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n }\n json2xml = Builder;\n return json2xml;\n}\nvar fxp;\nvar hasRequiredFxp;\nfunction requireFxp() {\n if (hasRequiredFxp) return fxp;\n hasRequiredFxp = 1;\n const validator2 = requireValidator();\n const XMLParser = requireXMLParser();\n const XMLBuilder = requireJson2xml();\n fxp = {\n XMLParser,\n XMLValidator: validator2,\n XMLBuilder\n };\n return fxp;\n}\nvar fxpExports = requireFxp();\nfunction isSvg(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n string = string.trim();\n if (string.length === 0) {\n return false;\n }\n if (fxpExports.XMLValidator.validate(string) !== true) {\n return false;\n }\n let jsonObject;\n const parser = new fxpExports.XMLParser();\n try {\n jsonObject = parser.parse(string);\n } catch {\n return false;\n }\n if (!jsonObject) {\n return false;\n }\n if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n return false;\n }\n return true;\n}\nclass View {\n _view;\n constructor(view) {\n isValidView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nconst isValidView = function(view) {\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n if (\"caption\" in view && typeof view.caption !== \"string\") {\n throw new Error(\"View caption must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (\"order\" in view && typeof view.order !== \"number\") {\n throw new Error(\"View order must be a number\");\n }\n if (view.columns) {\n view.columns.forEach((column) => {\n if (!(column instanceof Column)) {\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }\n });\n }\n if (view.emptyView && typeof view.emptyView !== \"function\") {\n throw new Error(\"View emptyView must be a function\");\n }\n if (view.parent && typeof view.parent !== \"string\") {\n throw new Error(\"View parent must be a string\");\n }\n if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n throw new Error(\"View sticky must be a boolean\");\n }\n if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n throw new Error(\"View expanded must be a boolean\");\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n throw new Error(\"View defaultSortKey must be a string\");\n }\n if (view.loadChildViews && typeof view.loadChildViews !== \"function\") {\n throw new Error(\"View loadChildViews must be a function\");\n }\n return true;\n};\nvar debug_1;\nvar hasRequiredDebug;\nfunction requireDebug() {\n if (hasRequiredDebug) return debug_1;\n hasRequiredDebug = 1;\n const debug = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n };\n debug_1 = debug;\n return debug_1;\n}\nvar constants;\nvar hasRequiredConstants;\nfunction requireConstants() {\n if (hasRequiredConstants) return constants;\n hasRequiredConstants = 1;\n const SEMVER_SPEC_VERSION = \"2.0.0\";\n const MAX_LENGTH = 256;\n const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n 9007199254740991;\n const MAX_SAFE_COMPONENT_LENGTH = 16;\n const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;\n const RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n ];\n constants = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n };\n return constants;\n}\nvar re = { exports: {} };\nvar hasRequiredRe;\nfunction requireRe() {\n if (hasRequiredRe) return re.exports;\n hasRequiredRe = 1;\n (function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH\n } = requireConstants();\n const debug = requireDebug();\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t2 = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug(name, index, value);\n t2[name] = index;\n src[index] = value;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t2.NUMERICIDENTIFIER]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t2.NUMERICIDENTIFIERLOOSE]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t2.BUILDIDENTIFIER]}(?:\\\\.${src[t2.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`);\n createToken(\"FULL\", `^${src[t2.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t2.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\n createToken(\"COERCE\", `${src[t2.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t2.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t2.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t2.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t2.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t2.GTLT]}\\\\s*(${src[t2.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t2.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t2.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n })(re, re.exports);\n return re.exports;\n}\nvar parseOptions_1;\nvar hasRequiredParseOptions;\nfunction requireParseOptions() {\n if (hasRequiredParseOptions) return parseOptions_1;\n hasRequiredParseOptions = 1;\n const looseOption = Object.freeze({ loose: true });\n const emptyOpts = Object.freeze({});\n const parseOptions = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n };\n parseOptions_1 = parseOptions;\n return parseOptions_1;\n}\nvar identifiers;\nvar hasRequiredIdentifiers;\nfunction requireIdentifiers() {\n if (hasRequiredIdentifiers) return identifiers;\n hasRequiredIdentifiers = 1;\n const numeric = /^[0-9]+$/;\n const compareIdentifiers = (a2, b2) => {\n const anum = numeric.test(a2);\n const bnum = numeric.test(b2);\n if (anum && bnum) {\n a2 = +a2;\n b2 = +b2;\n }\n return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;\n };\n const rcompareIdentifiers = (a2, b2) => compareIdentifiers(b2, a2);\n identifiers = {\n compareIdentifiers,\n rcompareIdentifiers\n };\n return identifiers;\n}\nvar semver;\nvar hasRequiredSemver;\nfunction requireSemver() {\n if (hasRequiredSemver) return semver;\n hasRequiredSemver = 1;\n const debug = requireDebug();\n const { MAX_LENGTH, MAX_SAFE_INTEGER } = requireConstants();\n const { safeRe: re2, t: t2 } = requireRe();\n const parseOptions = requireParseOptions();\n const { compareIdentifiers } = requireIdentifiers();\n class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m2 = version.trim().match(options.loose ? re2[t2.LOOSE] : re2[t2.FULL]);\n if (!m2) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m2[1];\n this.minor = +m2[2];\n this.patch = +m2[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m2[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m2[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m2[5] ? m2[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i2 = 0;\n do {\n const a2 = this.prerelease[i2];\n const b2 = other.prerelease[i2];\n debug(\"prerelease compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i2 = 0;\n do {\n const a2 = this.build[i2];\n const b2 = other.build[i2];\n debug(\"build compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i2 = this.prerelease.length;\n while (--i2 >= 0) {\n if (typeof this.prerelease[i2] === \"number\") {\n this.prerelease[i2]++;\n i2 = -2;\n }\n }\n if (i2 === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n }\n semver = SemVer;\n return semver;\n}\nvar parse_1;\nvar hasRequiredParse;\nfunction requireParse() {\n if (hasRequiredParse) return parse_1;\n hasRequiredParse = 1;\n const SemVer = requireSemver();\n const parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version;\n }\n try {\n return new SemVer(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n };\n parse_1 = parse;\n return parse_1;\n}\nvar valid_1;\nvar hasRequiredValid;\nfunction requireValid() {\n if (hasRequiredValid) return valid_1;\n hasRequiredValid = 1;\n const parse = requireParse();\n const valid2 = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n };\n valid_1 = valid2;\n return valid_1;\n}\nvar validExports = requireValid();\nconst valid = /* @__PURE__ */ getDefaultExportFromCjs(validExports);\nvar major_1;\nvar hasRequiredMajor;\nfunction requireMajor() {\n if (hasRequiredMajor) return major_1;\n hasRequiredMajor = 1;\n const SemVer = requireSemver();\n const major2 = (a2, loose) => new SemVer(a2, loose).major;\n major_1 = major2;\n return major_1;\n}\nvar majorExports = requireMajor();\nconst major = /* @__PURE__ */ getDefaultExportFromCjs(majorExports);\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h2) => h2 !== handler)\n );\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach((h2) => {\n try {\n h2(event);\n } catch (e2) {\n console.error(\"could not invoke event listener\", e2);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nconst addNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n};\nexport {\n Column,\n DefaultType,\n q as File,\n FileAction,\n FileListAction,\n FileListFilter,\n F as FileType,\n FilesSortingMode,\n s as Folder,\n Header,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n t as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n c as davGetClient,\n l as davGetDefaultPropfind,\n m as davGetFavoritesReport,\n n as davGetRecentSearch,\n a as davGetRemoteURL,\n g as davGetRootPath,\n p as davParsePermissions,\n b as davRemoteURL,\n r as davResultToNode,\n d as davRootPath,\n h as defaultDavNamespaces,\n f as defaultDavProperties,\n formatFileSize,\n k as getDavNameSpaces,\n j as getDavProperties,\n e as getFavoriteNodes,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getNavigation,\n getNewFileMenuEntries,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n i as registerDavProperty,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeaders,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateFilename\n};\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"3239\":\"settings-users\",\"4529\":\"settings-apps-view\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"459\":\"975afd1e02f53abf8034\",\"640\":\"c4d4943f2c00c1f8a515\",\"1023\":\"06cf5496a0a2d7ef494a\",\"3239\":\"08759831a01ef53093e7\",\"4529\":\"e7b8ecf797fe13c6d69b\",\"5862\":\"142cd48ca8ec32e57725\",\"7265\":\"e59095160fc79c41c493\",\"7432\":\"eb26215e99ea363927b0\",\"8737\":\"1ee3b21131ac8193a04d\",\"9279\":\"460048c8db22e016b900\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2689;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2689: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(12836)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","sanitize","url","replace","requireAdmin","confirmPassword","get","options","axios","post","data","patch","put","delete","params","_defineComponent","__name","setup","__props","__sfc","NcContent","_vm","this","_c","_self","_setupProxy","attrs","_v","name","path","components","default","UserManagement","navigation","UserManagementNavigation","props","children","redirect","category","loadState","AppStore","AppStoreNavigation","sidebar","AppStoreSidebar","Vue","use","Router","mode","base","generateUrl","linkActiveClass","routes","__webpack_nonce__","getCSPNonce","prototype","t","n","PiniaVuePlugin","VTooltipPlugin","defaultHtml","Vuex","store","useStore","sync","router","pinia","createPinia","render","h","SettingsApp","el","naturalCollator","Intl","Collator","getLanguage","getCanonicalLocale","numeric","usage","usersSettings","localStorage","getBuilder","persist","build","defaults","id","usercount","disabled","canAdd","canRemove","state","users","groups","getSubAdminGroups","systemGroups","orderBy","sortGroups","GroupSorting","UserCount","minPasswordLength","usersOffset","usersLimit","disabledUsersOffset","disabledUsersLimit","userCount","showConfig","showStoragePath","getItem","showUserBackend","showFirstLogin","showLastLogin","showNewUserForm","showLanguages","mutations","appendUsers","usersObj","existingUsers","map","_ref","newUsers","Object","values","filter","_ref2","includes","concat","updateDisabledUsers","_usersObj","setPasswordPolicyMinLength","length","addGroup","newGroup","find","group","assign","unshift","e","console","error","renameGroup","_ref3","gid","displayName","groupIndex","findIndex","groupSearch","updatedGroup","splice","removeGroup","addUserGroup","_ref4","userid","user","enabled","push","removeUserGroup","_ref5","indexOf","addUserSubAdmin","_ref6","subadmin","removeUserSubAdmin","_ref7","deleteUser","userIndex","commit","actionType","addUserData","response","ocs","enableDisableUser","_ref8","updateUserCounts","_ref9","recentGroup","disabledGroup","forEach","userGroup","warn","logger","setUserData","_ref0","key","value","humanValue","parseFileSize","resetUsers","resetGroups","setShowConfig","_ref1","setItem","JSON","stringify","setGroupSorting","sorting","oldValue","String","catch","showError","getters","getUsers","getGroups","subAdminGroups","getSortedGroups","sort","a","b","numA","numB","compare","getGroupSorting","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getDisabledUsersOffset","getDisabledUsersLimit","getUserCount","getShowConfig","CancelToken","searchRequestCancelSource","actions","searchUsers","context","_ref10","offset","limit","search","api","generateOcsUrl","getUser","userId","_ref11","cancel","source","trim","encodeURIComponent","cancelToken","token","then","usersCount","keys","getRecentUsers","_ref12","getDisabledUsers","_ref13","_ref14","limitParam","getUsersFromList","_ref15","getUsersFromGroup","_ref16","groupid","groupId","getCapabilities","password_policy","minLength","_ref17","_ref18","_ref19","_ref20","_ref21","wipeUserDevices","Promise","reject","Error","addUser","_ref22","_ref23","dispatch","password","email","quota","language","manager","_ref24","userStatus","_ref25","sendWelcomeMail","apps","bundles","categories","updateCount","loading","gettingCategoriesPromise","appApiEnabled","APPS_API_FAILURE","message","isHTML","initCategories","updateCategories","categoriesPromise","setUpdateCount","addCategory","appendCategories","categoriesArray","setAllApps","setError","appId","Array","isArray","_id","app","clearError","enableApp","active","setInstallState","canInstall","disableApp","removable","canUnInstall","uninstallApp","needsDownload","installed","updateApp","version","update","resetApps","reset","startLoading","stopLoading","appIds","_appId","update_required","showInfo","onClick","window","location","reload","close","setTimeout","forceEnableApp","finally","getAllApps","getCategories","shouldRefetchCategories","arguments","undefined","categoriesPromiseResponse","isAppApiEnabled","getAppBundles","getUpdateCount","getCategoryById","selectedCategoryId","serverData","setServerData","getServerData","setAppConfig","API_FAILURE","meta","Store","modules","settings","oc","strict","process","humanList","humanListBinary","formatFileSize","size","skipSmallSizes","binaryPrefixes","base1000","Number","order","Math","floor","log","min","readableFormat","relativeSize","pow","toFixed","parseFloat","toLocaleString","forceBinary","toLocaleLowerCase","replaceAll","e2","match","decimalString","round","k","m","g","p","Date","toISOString","sortNodes","nodes","sortingOptions","sortingMode","sortingOrder","collection","identifiers2","orders","_","index","collator","a2","b2","identifier","entries","sortFavoritesFirst","v","attributes","favorite","sortFoldersFirst","type","basename2","displayname","basename","lastIndexOf","slice","hasRequiredUtil","hasRequiredValidator","validator","util","requireUtil","exports","nameStartChar","nameRegexp","regexName","RegExp","isExist","isEmptyObject","obj","merge","target","arrayMode","len","i2","getValue","isName","string","exec","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","requireValidator","util2","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","substr","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","substring","msg","result","readAttributeStr","attrStr","attrStrStart","isValid","validateAttributeString","code","line","tagClosed","otg","pop","openPos","col","afterAmp","validateAmpersand","t2","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","hasOwnProperty","re2","validateNumberAmpersand","count","lineNumber","lines","split","hasRequiredOptionsBuilder","xmlNode","hasRequiredXmlNode","DocTypeReader","hasRequiredDocTypeReader","strnum","hasRequiredStrnum","ignoreAttributes","hasRequiredIgnoreAttributes","OrderedObjParser_1","hasRequiredOrderedObjParser","OptionsBuilder","requireIgnoreAttributes","ignoreAttributes2","pattern","test","hasRequiredNode2json","XMLParser_1","hasRequiredXMLParser","orderedJs2Xml","hasRequiredOrderedJs2Xml","json2xml","hasRequiredJson2xml","fxp","hasRequiredFxp","debug_1","hasRequiredDebug","constants","hasRequiredConstants","node2json","requireNode2json","compress","arr","jPath","text","compressedObj","tagObj","property","propName","newJpath","textNodeName","val","isLeaf","isLeafTag","assignAttributes","alwaysCreateTextNode","attrMap","jpath","atrrName","propCount","prettify","node","requireXMLParser","buildOptions","preserveOrder","attributeNamePrefix","attributesGroupName","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","requireOptionsBuilder","OrderedObjParser","xmlNode2","constructor","child","add","addChild","readDocType","readEntityExp","entityName","isEntity","isElement","isAttlist","isNotation","validateEntityName","entities","hasBody","comment","exp","regx","i","requireDocTypeReader","toNumber","hexRegex","numRegex","parseInt","consider","decimalPoint","str","trimmedStr","skipLike","sign","numTrimmedByZeros","numStr","num","requireStrnum","getIgnoreAttributesFn","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","replaceEntitiesValue","newval","parseValue","resolveNameSpace","prefix","charAt","attrsRegx","buildAttributesMap","ignoreAttributesFn","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","endIndex","docTypeEntities","rawTagName","lastTag","isItStopNode","tagContent","result2","readStopNodeData","entity","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","separatorIndex","trimStart","openTagCount","shouldParse","fromCharCode","requireOrderedObjParser","validator2","parse","validationOption","toString","orderedObjParser","orderedResult","addEntity","requireOrderedJs2Xml","arrToStr","indentation","xmlStr","isPreviousElementTag","newJPath","tagText","isStopNode","attStr2","attr_to_str","tempInd","piTextNodeName","newIdentation","indentBy","tagStart","tagValue","suppressUnpairedNode","suppressEmptyNode","endsWith","attr","attrVal","suppressBooleanAttributes","textValue","jArray","format","requireDebug","debug","env","NODE_DEBUG","args","requireConstants","MAX_SAFE_INTEGER","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","SEMVER_SPEC_VERSION","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","XMLParser","XMLBuilder","buildFromOrderedJs","oneListGroup","Builder","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","ajPath","j2x","buildTextValNode","buildObjectNode","repeat","startsWith","jObj","arrayNodeName","join","call","buildAttrPairStr","arrLen","listTagVal","listTagAttr","j2","item","Ks","L","closeTag","tagEndExp","piClosingChar","requireJson2xml","XMLValidator","requireFxp","hasRequiredRe","parseOptions_1","hasRequiredParseOptions","identifiers","hasRequiredIdentifiers","semver","hasRequiredSemver","parse_1","hasRequiredParse","valid_1","hasRequiredValid","major_1","hasRequiredMajor","re","requireSemver","safeRe","module","src","R","LETTERDASHNUMBER","safeRegexReplacements","createToken","isGlobal","safe","max","makeSafeRegex","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCEPLAIN","COERCE","COERCEFULL","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","parseOptions","looseOption","freeze","loose","emptyOpts","requireParseOptions","compareIdentifiers","anum","bnum","rcompareIdentifiers","requireIdentifiers","SemVer","includePrerelease","TypeError","m2","LOOSE","FULL","raw","major","minor","prerelease","other","compareMain","comparePre","compareBuild","inc","release","identifierBase","isNaN","throwErrors","er","requireParse","requireValid","requireMajor","getLoggerBuilder","setApp","detectUser","cloneRoute","to","from","clone","hash","query","fullPath","moduleName","registerModule","namespaced","currentRoute","transition","currentPath","isTimeTraveling","storeUnwatch","watch","route","afterEachUnHook","afterEach","unregisterModule","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","globalThis","Function","prop","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","toUpperCase","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file