0)return e;if(y<0)return n;if(b===k-1)return 0}else{if(_<$)return n;if(_>$)return e}}return 0}});Array.prototype.sortBy=function(t){var e=Zr(),n=t.split(" "),i=n[0],s=n[1]||"asc";return this.sort(function(t,n){var o=String(t[i]).toLowerCase(),a=String(n[i]).toLowerCase();return"desc"===s?e(a,o):e(o,a)})};var tl={inheritAttrs:!1,props:Object(u["a"])({},Ii.props,{columns:Object,fields:Object,limit:Number,max:Number,min:Number,sortable:{type:Boolean,default:!0},sortBy:String,value:{type:Array,default:function(){return[]}}}),data:function(){return{items:this.makeItems(this.value),currentIndex:null,currentModel:null,trash:null,page:1}},computed:{dragOptions:function(){return{disabled:!this.isSortable,fallbackClass:"k-sortable-row-fallback"}},formFields:function(){var t=this,e={};return Object.keys(this.fields).forEach(function(n){var i=t.fields[n];i.section=t.name,i.endpoints={field:t.endpoints.field+"+"+n,section:t.endpoints.section,model:t.endpoints.model},e[n]=i}),e},more:function(){return!0!==this.disabled&&!(this.max&&this.items.length>=this.max)},isSortable:function(){return!this.sortBy&&(!this.limit&&(!0!==this.disabled&&(!(this.items.length<=1)&&!1!==this.sortable)))},pagination:function(){return{page:this.page,limit:this.limit,total:this.items.length,align:"center",details:!0}},paginatedItems:function(){if(!this.limit)return this.items;var t=this.page-1,e=t*this.limit;return this.items.slice(e,e+this.limit)}},watch:{value:function(t){t!=this.items&&(this.items=this.makeItems(t))}},methods:{add:function(){var t=this;if(!0===this.disabled)return!1;if(null!==this.currentIndex)return this.escape(),!1;var e={};Object.keys(this.fields).forEach(function(n){var i=t.fields[n];i.default&&(e[n]=i.default)}),this.currentIndex="new",this.currentModel=e,this.createForm()},close:function(){this.currentIndex=null,this.currentModel=null,this.$events.$off("keydown.esc",this.escape),this.$events.$off("keydown.cmd.s",this.submit),this.$store.dispatch("form/unlock")},columnIsEmpty:function(t){return void 0===t||null===t||""===t||("object"===Object(K["a"])(t)&&0===Object.keys(t).length&&t.constructor===Object||void 0!==t.length&&0===t.length)},confirmRemove:function(t){this.close(),this.trash=t,this.$refs.remove.open()},createForm:function(t){var e=this;this.$events.$on("keydown.esc",this.escape),this.$events.$on("keydown.cmd.s",this.submit),this.$store.dispatch("form/lock"),this.$nextTick(function(){e.$refs.form&&e.$refs.form.focus(t)})},displayText:function(t,e){switch(t.type){case"user":return e.email;case"date":var n=ot()(e);return n.isValid()?n.format("YYYY-MM-DD"):"";case"tags":return e.map(function(t){return t.text}).join(", ");case"checkboxes":return e.map(function(e){var n=e;return t.options.forEach(function(t){t.value===e&&(n=t.text)}),n}).join(", ");case"select":var i=t.options.filter(function(t){return t.value===e})[0];return i?i.text:null}return"object"===Object(K["a"])(e)&&null!==e?"…":e},escape:function(){var t=this;if("new"===this.currentIndex){var e=Object.values(this.currentModel),n=!0;if(e.forEach(function(e){!1===t.columnIsEmpty(e)&&(n=!1)}),!0===n)return void this.close()}this.submit()},focus:function(){this.$refs.add.focus()},indexOf:function(t){return this.limit?(this.page-1)*this.limit+t+1:t+1},isActive:function(t){return this.currentIndex===t},jump:function(t,e){this.open(t,e)},makeItems:function(t){return!1===Array.isArray(t)?[]:this.sort(t)},onInput:function(){this.$emit("input",this.items)},open:function(t,e){this.currentIndex=t,this.currentModel=yr(this.items[t]),this.createForm(e)},beforePaginate:function(){return this.save(this.currentModel)},paginate:function(t){this.open(t.offset)},paginateItems:function(t){this.page=t.page},previewExists:function(t){return void 0!==i["a"].options.components["k-"+t+"-field-preview"]||void 0!==this.$options.components["k-"+t+"-field-preview"]},remove:function(){if(null===this.trash)return!1;this.items.splice(this.trash,1),this.trash=null,this.$refs.remove.close(),this.onInput(),0===this.paginatedItems.length&&this.page>1&&this.page--,this.items=this.sort(this.items)},sort:function(t){return this.sortBy?t.sortBy(this.sortBy):t},save:function(){var t=this;return null!==this.currentIndex&&void 0!==this.currentIndex?this.validate(this.currentModel).then(function(){return"new"===t.currentIndex?t.items.push(t.currentModel):t.items[t.currentIndex]=t.currentModel,t.items=t.sort(t.items),t.onInput(),!0}).catch(function(e){throw t.$store.dispatch("notification/error",{message:t.$t("error.form.incomplete"),details:e}),e}):Promise.resolve()},submit:function(){this.save().then(this.close).catch(function(){})},validate:function(t){return this.$api.post(this.endpoints.field+"/validate",t).then(function(t){if(t.length>0)throw t;return!0})}}},el=tl,nl=(n("68b5"),Object(m["a"])(el,Xr,Qr,!1,null,null,null));nl.options.__file="StructureField.vue";var il=nl.exports,sl=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-field",t._b({staticClass:"k-tags-field",attrs:{input:t._uid,counter:t.counterOptions}},"k-field",t.$props,!1),[n("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field"}},"k-input",t.$props,!1),t.$listeners))],1)},ol=[],al={inheritAttrs:!1,props:Object(u["a"])({},Ii.props,Ui.props,So.props,{counter:{type:Boolean,default:!0}}),computed:{counterOptions:function(){return null!==this.value&&!this.disabled&&!1!==this.counter&&{count:this.value&&Array.isArray(this.value)?this.value.length:0,min:this.min,max:this.max}}},methods:{focus:function(){this.$refs.input.focus()}}},rl=al,ll=Object(m["a"])(rl,sl,ol,!1,null,null,null);ll.options.__file="TagsField.vue";var ul=ll.exports,cl=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-field",t._b({staticClass:"k-tel-field",attrs:{input:t._uid}},"k-field",t.$props,!1),[n("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field"}},"k-input",t.$props,!1),t.$listeners))],1)},pl=[],dl={inheritAttrs:!1,props:Object(u["a"])({},Ii.props,Ui.props,jo.props,{icon:{type:String,default:"phone"}}),methods:{focus:function(){this.$refs.input.focus()}}},fl=dl,hl=Object(m["a"])(fl,cl,pl,!1,null,null,null);hl.options.__file="TelField.vue";var ml=hl.exports,gl=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-field",t._b({staticClass:"k-text-field",attrs:{input:t._uid,counter:t.counterOptions}},"k-field",t.$props,!1),[n("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field"}},"k-input",t.$props,!1),t.$listeners))],1)},vl=[],bl={inheritAttrs:!1,props:Object(u["a"])({},Ii.props,Ui.props,Ts.props,{counter:{type:Boolean,default:!0}}),computed:{counterOptions:function(){return null!==this.value&&!this.disabled&&!1!==this.counter&&{count:this.value?String(this.value).length:0,min:this.minlength,max:this.maxlength}}},methods:{focus:function(){this.$refs.input.focus()}}},kl=bl,_l=(n("a89c"),Object(m["a"])(kl,gl,vl,!1,null,null,null));_l.options.__file="TextField.vue";var $l=_l.exports,yl=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-field",t._b({staticClass:"k-textarea-field",attrs:{input:t._uid,counter:t.counterOptions}},"k-field",t.$props,!1),[n("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,type:"textarea",theme:"field"}},"k-input",t.$props,!1),t.$listeners))],1)},xl=[],wl={inheritAttrs:!1,props:Object(u["a"])({},Ii.props,Ui.props,na.props,{counter:{type:Boolean,default:!0}}),computed:{counterOptions:function(){return null!==this.value&&!this.disabled&&!1!==this.counter&&{count:this.value?this.value.length:0,min:this.minlength,max:this.maxlength}}},methods:{focus:function(){this.$refs.input.focus()}}},Sl=wl,Ol=Object(m["a"])(Sl,yl,xl,!1,null,null,null);Ol.options.__file="TextareaField.vue";var Cl=Ol.exports,El=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-field",t._b({staticClass:"k-time-field",attrs:{input:t._uid}},"k-field",t.$props,!1),[n("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field"}},"k-input",t.$props,!1),t.$listeners))],1)},jl=[],Tl={inheritAttrs:!1,props:Object(u["a"])({},Ii.props,Ui.props,la.props,{icon:{type:String,default:"clock"}}),methods:{focus:function(){this.$refs.input.focus()}}},Il=Tl,Ll=Object(m["a"])(Il,El,jl,!1,null,null,null);Ll.options.__file="TimeField.vue";var Al=Ll.exports,ql=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-field",t._b({staticClass:"k-toggle-field",attrs:{input:t._uid}},"k-field",t.$props,!1),[n("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field"}},"k-input",t.$props,!1),t.$listeners))],1)},Nl=[],Pl={inheritAttrs:!1,props:Object(u["a"])({},Ii.props,Ui.props,ga.props),methods:{focus:function(){this.$refs.input.focus()}}},Dl=Pl,Bl=Object(m["a"])(Dl,ql,Nl,!1,null,null,null);Bl.options.__file="ToggleField.vue";var Fl=Bl.exports,Rl=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-field",t._b({staticClass:"k-url-field",attrs:{input:t._uid}},"k-field",t.$props,!1),[n("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field"}},"k-input",t.$props,!1),t.$listeners),[t.link?n("k-button",{staticClass:"k-input-icon-button",attrs:{slot:"icon",icon:t.icon,link:t.value,tooltip:t.$t("open"),tabindex:"-1",target:"_blank"},slot:"icon"}):t._e()],1)],1)},Ml=[],zl={inheritAttrs:!1,props:Object(u["a"])({},Ii.props,Ui.props,_a.props,{link:{type:Boolean,default:!0},icon:{type:String,default:"url"}}),methods:{focus:function(){this.$refs.input.focus()}}},Ul=zl,Hl=Object(m["a"])(Ul,Rl,Ml,!1,null,null,null);Hl.options.__file="UrlField.vue";var Vl=Hl.exports,Kl=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-field",t._b({staticClass:"k-users-field"},"k-field",t.$props,!1),[t.more?n("k-button",{attrs:{slot:"options",icon:"add"},on:{click:t.open},slot:"options"},[t._v("\n "+t._s(t.$t("select"))+"\n ")]):t._e(),t.selected.length?[n("k-draggable",{attrs:{element:t.elements.list,list:t.selected,handle:!0},on:{end:t.onInput}},t._l(t.selected,function(e,i){return n(t.elements.item,{key:e.email,tag:"component",attrs:{sortable:!0,text:e.username,link:t.$api.users.link(e.id),image:e.avatar?{url:e.avatar.url,back:"pattern",cover:!0}:null,icon:{type:"user",back:"black"}}},[n("k-button",{attrs:{slot:"options",icon:"remove"},on:{click:function(e){t.remove(i)}},slot:"options"})],1)}),1)]:n("k-empty",{attrs:{icon:"users"},on:{click:t.open}},[t._v("\n "+t._s(t.$t("field.users.empty"))+"\n ")]),n("k-users-dialog",{ref:"selector",on:{submit:t.select}})],2)},Gl=[],Yl={inheritAttrs:!1,props:Object(u["a"])({},Ii.props,{max:Number,multiple:Boolean,value:{type:Array,default:function(){return[]}}}),data:function(){return{layout:"list",selected:this.value}},computed:{elements:function(){return{list:"k-list",item:"k-list-item"}},more:function(){return!this.max||this.max>this.selected.length}},watch:{value:function(t){this.selected=t}},methods:{open:function(){this.$refs.selector.open({max:this.max,multiple:this.multiple,selected:this.selected.map(function(t){return t.email})})},remove:function(t){this.selected.splice(t,1),this.onInput()},focus:function(){},onInput:function(){this.$emit("input",this.selected)},select:function(t){this.selected=t,this.onInput()}}},Wl=Yl,Jl=Object(m["a"])(Wl,Kl,Gl,!1,null,null,null);Jl.options.__file="UsersField.vue";var Xl=Jl.exports,Ql=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.value?n("ul",{staticClass:"k-files-field-preview"},t._l(t.value,function(t){return n("li",{key:t.url},[n("k-link",{attrs:{title:t.filename,to:t.link},nativeOn:{click:function(t){t.stopPropagation()}}},[n("k-image",{attrs:{src:t.url,back:"pattern"}})],1)],1)}),0):t._e()},Zl=[],tu={props:{value:Array}},eu=tu,nu=(n("3e93"),Object(m["a"])(eu,Ql,Zl,!1,null,null,null));nu.options.__file="FilesFieldPreview.vue";var iu=nu.exports,su=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",{staticClass:"k-url-field-preview"},[n("k-link",{attrs:{to:t.link,target:"_blank"},nativeOn:{click:function(t){t.stopPropagation()}}},[t._v(t._s(t.value))])],1)},ou=[],au={props:{column:Object,value:String},computed:{link:function(){return this.value}}},ru=au,lu=(n("b61e"),Object(m["a"])(ru,su,ou,!1,null,null,null));lu.options.__file="UrlFieldPreview.vue";var uu,cu,pu=lu.exports,du={extends:pu,computed:{link:function(){return"mailto:"+this.value}}},fu=du,hu=Object(m["a"])(fu,uu,cu,!1,null,null,null);hu.options.__file="EmailFieldPreview.vue";var mu=hu.exports,gu=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.value?n("ul",{staticClass:"k-pages-field-preview"},t._l(t.value,function(e){return n("li",{key:e.id},[n("figure",[n("k-link",{attrs:{title:e.id,to:t.$api.pages.link(e.id)},nativeOn:{click:function(t){t.stopPropagation()}}},[n("k-icon",{staticClass:"k-pages-field-preview-image",attrs:{type:"page",back:"pattern"}}),n("figcaption",[t._v("\n "+t._s(e.text)+"\n ")])],1)],1)])}),0):t._e()},vu=[],bu={props:{value:Array}},ku=bu,_u=(n("0eae"),Object(m["a"])(ku,gu,vu,!1,null,null,null));_u.options.__file="PagesFieldPreview.vue";var $u=_u.exports,yu=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.value?n("ul",{staticClass:"k-users-field-preview"},t._l(t.value,function(e){return n("li",{key:e.email},[n("figure",[n("k-link",{attrs:{title:e.email,to:t.$api.users.link(e.id)},nativeOn:{click:function(t){t.stopPropagation()}}},[e.avatar?n("k-image",{staticClass:"k-users-field-preview-avatar",attrs:{src:e.avatar.url,back:"pattern"}}):n("k-icon",{staticClass:"k-users-field-preview-avatar",attrs:{type:"user",back:"pattern"}}),n("figcaption",[t._v("\n "+t._s(e.username)+"\n ")])],1)],1)])}),0):t._e()},xu=[],wu={props:{value:Array}},Su=wu,Ou=(n("77f7"),Object(m["a"])(Su,yu,xu,!1,null,null,null));Ou.options.__file="UsersFieldPreview.vue";var Cu=Ou.exports;i["a"].use(T.a),i["a"].use(L);var Eu={install:function(t){t.filter("t",function(t){return t}),t.directive("tab",{inserted:function(t){t.addEventListener("keyup",function(e){9===e.keyCode&&(t.dataset.tabbed=!0)}),t.addEventListener("blur",function(){delete t.dataset.tabbed})}}),t.component("k-bar",D),t.component("k-box",U),t.component("k-button",J),t.component("k-button-group",et),t.component("k-calendar",ct),t.component("k-card",vt),t.component("k-cards",xt),t.component("k-collection",jt),t.component("k-column",Nt),t.component("k-counter",Mt),t.component("k-dialog",Gt),t.component("k-draggable",ee),t.component("k-dropdown",ae),t.component("k-dropdown-content",fe),t.component("k-dropdown-item",ke),t.component("k-empty",Ce),t.component("k-error-boundary",Ie),t.component("k-grid",De),t.component("k-header",Ue),t.component("k-headline",We),t.component("k-icon",en),t.component("k-image",ln),t.component("k-link",hn),t.component("k-list",_n),t.component("k-list-item",On),t.component("k-pagination",Ln),t.component("k-prev-next",Bn),t.component("k-progress",Hn),t.component("k-sort-handle",Wn),t.component("k-tag",ei),t.component("k-text",ri),t.component("k-view",fi),t.component("k-autocomplete",ki),t.component("k-form",Si),t.component("k-field",Ii),t.component("k-fieldset",Di),t.component("k-input",Ui),t.component("k-upload",Xi),t.component("k-checkbox-input",ss),t.component("k-checkboxes-input",cs),t.component("k-date-input",gs),t.component("k-datetime-input",ys),t.component("k-email-input",qs),t.component("k-multiselect-input",Rs),t.component("k-number-input",Ys),t.component("k-password-input",Qs),t.component("k-radio-input",so),t.component("k-range-input",co),t.component("k-select-input",vo),t.component("k-tags-input",So),t.component("k-tel-input",jo),t.component("k-text-input",Ts),t.component("k-textarea-input",na),t.component("k-time-input",la),t.component("k-toggle-input",ga),t.component("k-url-input",_a),t.component("k-checkboxes-field",Oa),t.component("k-date-field",La),t.component("k-email-field",Ba),t.component("k-files-field",Ha),t.component("k-headline-field",Ja),t.component("k-info-field",nr),t.component("k-line-field",rr),t.component("k-multiselect-field",fr),t.component("k-number-field",kr),t.component("k-pages-field",Or),t.component("k-password-field",Lr),t.component("k-radio-field",Br),t.component("k-range-field",Hr),t.component("k-select-field",Jr),t.component("k-structure-field",il),t.component("k-tags-field",ul),t.component("k-text-field",$l),t.component("k-textarea-field",Cl),t.component("k-tel-field",ml),t.component("k-time-field",Al),t.component("k-toggle-field",Fl),t.component("k-url-field",Vl),t.component("k-users-field",Xl),t.component("k-email-field-preview",mu),t.component("k-files-field-preview",iu),t.component("k-pages-field-preview",$u),t.component("k-url-field-preview",pu),t.component("k-users-field-preview",Cu)}};i["a"].use(Eu);var ju,Tu,Iu={extends:Gt,created:function(){this.$events.$on("keydown.esc",this.close,!1)},destroyed:function(){this.$events.$off("keydown.esc",this.close,!1)}},Lu=Iu,Au=Object(m["a"])(Lu,ju,Tu,!1,null,null,null);Au.options.__file="Dialog.vue";var qu=Au.exports,Nu=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.error?n("k-dialog",{ref:"dialog",staticClass:"k-error-dialog",attrs:{visible:!0},on:{close:t.exit,open:t.enter}},[n("k-text",[t._v(t._s(t.error.message))]),t.error.details&&Object.keys(t.error.details).length?n("dl",{staticClass:"k-error-details"},[t._l(t.error.details,function(e,i){return[n("dt",{key:"detail-label-"+i},[t._v(t._s(e.label))]),n("dd",{key:"detail-message-"+i},["object"===typeof e.message?[n("ul",t._l(e.message,function(e,i){return n("li",{key:i},[t._v("\n "+t._s(e)+"\n ")])}),0)]:[t._v("\n "+t._s(e.message)+"\n ")]],2)]})],2):t._e(),n("k-button-group",{attrs:{slot:"footer"},slot:"footer"},[n("k-button",{attrs:{icon:"check"},on:{click:t.close}},[t._v("\n "+t._s(t.$t("confirm"))+"\n ")])],1)],1):t._e()},Pu=[],Du={mixins:[_],computed:{error:function(){var t=this.$store.state.notification;return"error"===t.type?t:null}},methods:{enter:function(){var t=this;this.$nextTick(function(){t.$el.querySelector(".k-dialog-footer .k-button").focus()})},exit:function(){this.$store.dispatch("notification/close")}}},Bu=Du,Fu=(n("7737"),Object(m["a"])(Bu,Nu,Pu,!1,null,null,null));Fu.options.__file="ErrorDialog.vue";var Ru=Fu.exports,Mu=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("delete"),theme:"negative",icon:"trash"},on:{submit:t.submit}},[n("k-text",{domProps:{innerHTML:t._s(t.$t("file.delete.confirm",{filename:t.filename}))}})],1)},zu=[],Uu={mixins:[_],data:function(){return{id:null,parent:null,filename:null}},methods:{open:function(t,e){var n=this;this.$api.files.get(t,e).then(function(e){n.id=e.id,n.filename=e.filename,n.parent=t,n.$refs.dialog.open()}).catch(function(t){n.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.$api.files.delete(this.parent,this.filename).then(function(){t.$store.dispatch("form/remove","files/"+t.id),t.$store.dispatch("notification/success",":)"),t.$events.$emit("file.delete"),t.$emit("success"),t.$refs.dialog.close()}).catch(function(e){t.$refs.dialog.error(e.message)})}}},Hu=Uu,Vu=Object(m["a"])(Hu,Mu,zu,!1,null,null,null);Vu.options.__file="FileRemoveDialog.vue";var Ku=Vu.exports,Gu=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("rename"),size:"medium",theme:"positive"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.submit,input:function(e){t.file.name=t.sluggify(t.file.name)}},model:{value:t.file,callback:function(e){t.file=e},expression:"file"}})],1)},Yu=[],Wu=n("b747"),Ju=n.n(Wu),Xu=function(t){return Ju()(t,{remove:/[$*_+~.,;:()'"`!?§$%\/=#@]/g}).toLowerCase()},Qu={mixins:[_],data:function(){return{parent:null,file:{id:null,name:null,filename:null,extension:null}}},computed:{fields:function(){return{name:{label:this.$t("name"),type:"text",required:!0,icon:"title",after:"."+this.file.extension,preselect:!0}}}},methods:{open:function(t,e){var n=this;this.$api.files.get(t,e,{select:["id","filename","name","extension"]}).then(function(e){n.file=e,n.parent=t,n.$refs.dialog.open()}).catch(function(t){n.$store.dispatch("notification/error",t)})},sluggify:function(t){return Xu(t)},submit:function(){var t=this;this.$api.files.rename(this.parent,this.file.filename,this.file.name).then(function(e){t.$store.dispatch("form/revert","files/"+t.file.id),t.$store.dispatch("notification/success",":)"),t.$emit("success",e),t.$events.$emit("file.changeName",e),t.$refs.dialog.close()}).catch(function(e){t.$refs.dialog.error(e.message)})}}},Zu=Qu,tc=Object(m["a"])(Zu,Gu,Yu,!1,null,null,null);tc.options.__file="FileRenameDialog.vue";var ec=tc.exports,nc=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",staticClass:"k-files-dialog",attrs:{size:"medium"},on:{cancel:function(e){t.$emit("cancel")},submit:t.submit}},[t.issue?[n("k-box",{attrs:{text:t.issue,theme:"negative"}})]:[t.files.length?n("k-list",t._l(t.files,function(e,i){return n("k-list-item",{key:e.filename,attrs:{text:e.filename,image:e.image,icon:e.icon},on:{click:function(e){t.toggle(i)}}},[e.selected?n("k-button",{attrs:{slot:"options",autofocus:!0,icon:t.checkedIcon,tooltip:t.$t("remove"),theme:"positive"},slot:"options"}):n("k-button",{attrs:{slot:"options",autofocus:!0,tooltip:t.$t("select"),icon:"circle-outline"},slot:"options"})],1)}),1):n("k-empty",{attrs:{icon:"image"}},[t._v("\n No files to select\n ")])]],2)},ic=[],sc={data:function(){return{files:[],issue:null,options:{max:null,multiple:!0,api:null,selected:[]}}},computed:{multiple:function(){return!0===this.options.multiple&&1!==this.options.max},checkedIcon:function(){return!0===this.multiple?"check":"circle-filled"}},methods:{selected:function(){return this.files.filter(function(t){return t.selected})},submit:function(){this.$emit("submit",this.selected()),this.$refs.dialog.close()},toggle:function(t){if(!1===this.multiple)this.files=this.files.map(function(t){return t.selected=!1,t}),this.files[t].selected=!0;else if(this.files[t].selected)this.files[t].selected=!1;else{if(this.options.max&&this.options.max<=this.selected().length)return;this.files[t].selected=!0}},open:function(t,e){this.files=t,this.options=e,this.$refs.dialog.open()}}},oc=sc,ac=(n("bf53"),Object(m["a"])(oc,nc,ic,!1,null,null,null));ac.options.__file="FilesDialog.vue";var rc=ac.exports,lc=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("language.create"),notification:t.notification,theme:"positive",size:"medium"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields,novalidate:!0},on:{submit:t.submit},model:{value:t.language,callback:function(e){t.language=e},expression:"language"}})],1)},uc=[],cc={mixins:[_],data:function(){return{notification:null,language:{name:"",code:"",direction:"ltr"}}},computed:{fields:function(){return{name:{label:this.$t("language.name"),type:"text",required:!0,icon:"title"},code:{label:this.$t("language.code"),type:"text",required:!0,counter:!1,icon:"globe",width:"1/2"},direction:{label:this.$t("language.direction"),type:"select",required:!0,empty:!1,options:[{value:"ltr",text:this.$t("language.direction.ltr")},{value:"rtl",text:this.$t("language.direction.rtl")}],width:"1/2"},locale:{label:this.$t("language.locale"),type:"text",placeholder:"en_US"}}}},watch:{"language.name":function(t){this.language.code=Xu(t).substr(0,2)},"language.code":function(t){this.language.code=Xu(t)}},methods:{open:function(){this.language={name:"",code:"",direction:"ltr"},this.$refs.dialog.open()},submit:function(){var t=this;this.$api.post("languages",this.language).then(function(){t.$store.dispatch("languages/load"),t.success({message:t.$t("language.created"),event:"language.create"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},pc=cc,dc=Object(m["a"])(pc,lc,uc,!1,null,null,null);dc.options.__file="LanguageCreateDialog.vue";var fc=dc.exports,hc=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("delete"),theme:"negative",icon:"trash"},on:{submit:t.submit}},[n("k-text",{domProps:{innerHTML:t._s(t.$t("language.delete.confirm",{name:t.language.name}))}})],1)},mc=[],gc={mixins:[_],data:function(){return{language:{name:null}}},methods:{open:function(t){var e=this;this.$api.get("languages/"+t).then(function(t){e.language=t,e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.$api.delete("languages/"+this.language.code).then(function(){t.$store.dispatch("languages/load"),t.success({message:t.$t("language.deleted"),event:"language.delete"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},vc=gc,bc=Object(m["a"])(vc,hc,mc,!1,null,null,null);bc.options.__file="LanguageRemoveDialog.vue";var kc=bc.exports,_c=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("save"),notification:t.notification,size:"medium"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.submit},model:{value:t.language,callback:function(e){t.language=e},expression:"language"}})],1)},$c=[],yc={mixins:[fc],computed:{fields:function(){var t=fc.computed.fields.apply(this);return t.code.disabled=!0,t}},methods:{open:function(t){var e=this;this.$api.get("languages/"+t).then(function(t){e.language=t,e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.$api.patch("languages/"+this.language.code,this.language).then(function(){t.$store.dispatch("languages/load"),t.success({message:t.$t("language.updated"),event:"language.update"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},xc=yc,wc=Object(m["a"])(xc,_c,$c,!1,null,null,null);wc.options.__file="LanguageUpdateDialog.vue";var Sc=wc.exports,Oc=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("page.draft.create"),notification:t.notification,size:"medium",theme:"positive"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields,novalidate:!0},on:{submit:t.submit},model:{value:t.page,callback:function(e){t.page=e},expression:"page"}})],1)},Cc=[],Ec={mixins:[_],data:function(){return{notification:null,parent:null,section:null,templates:[],page:{title:"",slug:"",template:null}}},computed:{fields:function(){return{title:{label:this.$t("title"),type:"text",required:!0,icon:"title"},slug:{label:this.$t("slug"),type:"text",required:!0,counter:!1,icon:"url"},template:{name:"template",label:this.$t("template"),type:"select",disabled:1===this.templates.length,required:!0,icon:"code",empty:!1,options:this.templates}}}},watch:{"page.title":function(t){this.page.slug=Xu(t)}},methods:{open:function(t,e,n){var i=this;this.parent=t,this.section=n,this.$api.get(e,{section:n}).then(function(t){i.templates=t.map(function(t){return{value:t.name,text:t.title}}),i.templates[0]&&(i.page.template=i.templates[0].value),i.$refs.dialog.open()}).catch(function(t){i.$store.dispatch("notification/error",t)})},submit:function(){var t=this;if(0===this.page.title.length)return this.$refs.dialog.error("Please enter a title"),!1;var e={template:this.page.template,slug:this.page.slug,content:{title:this.page.title}};this.$api.post(this.parent+"/children",e).then(function(e){t.success({route:t.$api.pages.link(e.id),message:":)",event:"page.create"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},jc=Ec,Tc=Object(m["a"])(jc,Oc,Cc,!1,null,null,null);Tc.options.__file="PageCreateDialog.vue";var Ic=Tc.exports,Lc=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("delete"),size:t.hasSubpages?"medium":"small",theme:"negative",icon:"trash"},on:{submit:t.submit}},[t.page.hasChildren||t.page.hasDrafts?[n("k-text",{domProps:{innerHTML:t._s(t.$t("page.delete.confirm",{title:t.page.title}))}}),n("div",{staticClass:"k-page-remove-warning"},[n("k-box",{attrs:{theme:"negative"},domProps:{innerHTML:t._s(t.$t("page.delete.confirm.subpages"))}})],1),t.hasSubpages?n("k-form",{attrs:{fields:t.fields},on:{submit:t.submit},model:{value:t.model,callback:function(e){t.model=e},expression:"model"}}):t._e()]:[n("k-text",{domProps:{innerHTML:t._s(t.$t("page.delete.confirm",{title:t.page.title}))},on:{keydown:function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")?t.submit(e):null}}})]],2)},Ac=[],qc={mixins:[_],data:function(){return{page:{title:null,hasChildren:!1,hasDrafts:!1},model:{check:null}}},computed:{hasSubpages:function(){return this.page.hasChildren||this.page.hasDrafts},fields:function(){return{check:{label:this.$t("page.delete.confirm.title"),type:"text",counter:!1}}}},methods:{open:function(t){var e=this;this.$api.pages.get(t,{select:"id, title, hasChildren, hasDrafts, parent"}).then(function(t){e.page=t,e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.hasSubpages&&this.model.check!==this.page.title?this.$refs.dialog.error(this.$t("error.page.delete.confirm")):this.$api.pages.delete(this.page.id,{force:!0}).then(function(){t.$store.dispatch("form/remove","pages/"+t.page.id);var e={message:":)",event:"page.delete"};t.$route.params.path&&t.page.id===t.$route.params.path.replace(/\+/g,"/")&&(t.page.parent?e.route="/pages/"+t.page.parent.id:e.route="/pages"),t.success(e)}).catch(function(e){t.$refs.dialog.error(e.message)})}}},Nc=qc,Pc=(n("12fb"),Object(m["a"])(Nc,Lc,Ac,!1,null,null,null));Pc.options.__file="PageRemoveDialog.vue";var Dc=Pc.exports,Bc=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("rename"),size:"medium",theme:"positive"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.submit},model:{value:t.page,callback:function(e){t.page=e},expression:"page"}})],1)},Fc=[],Rc={mixins:[_],data:function(){return{page:{id:null,title:null}}},computed:{fields:function(){return{title:{label:this.$t("title"),type:"text",required:!0,icon:"title",preselect:!0}}}},methods:{open:function(t){var e=this;this.$api.pages.get(t,{select:["id","title"]}).then(function(t){e.page=t,e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;0!==this.page.title.length?this.$api.pages.title(this.page.id,this.page.title).then(function(){t.success({message:":)",event:"page.changeTitle"})}).catch(function(e){t.$refs.dialog.error(e.message)}):this.$refs.dialog.error(this.$t("error.page.changeTitle.empty"))}}},Mc=Rc,zc=Object(m["a"])(Mc,Bc,Fc,!1,null,null,null);zc.options.__file="PageRenameDialog.vue";var Uc=zc.exports,Hc=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("change"),size:"medium",theme:"positive"},on:{submit:t.submit}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.changeStatus},model:{value:t.form,callback:function(e){t.form=e},expression:"form"}})],1)},Vc=[],Kc={mixins:[_],data:function(){return{page:{id:null},isBlocked:!1,isIncomplete:!1,form:{status:null,position:null},states:{}}},computed:{fields:function(){var t=this,e={status:{name:"status",label:this.$t("page.changeStatus.select"),type:"radio",required:!0,options:Object.keys(this.states).map(function(e){return{value:e,text:t.states[e].label,info:t.states[e].text}})}};return"listed"===this.form.status&&"default"===this.page.blueprint.num&&(e.position={name:"position",label:this.$t("page.changeStatus.position"),type:"select",empty:!1,options:this.sortingOptions()}),e}},methods:{sortingOptions:function(){var t=this,e=[],n=0;return this.page.siblings.forEach(function(i){if(i.id===t.page.id||i.num<1)return!1;n++,e.push({value:n,text:n}),e.push({value:i.id,text:i.title,disabled:!0})}),e.push({value:n+1,text:n+1}),e},open:function(t){var e=this;this.$api.pages.get(t,{select:["id","status","num","errors","siblings","blueprint"]}).then(function(t){return!1===t.blueprint.options.changeStatus?e.$store.dispatch("notification/error",{message:e.$t("error.page.changeStatus.permission")}):"draft"===t.status&&Object.keys(t.errors).length>0?e.$store.dispatch("notification/error",{message:e.$t("error.page.changeStatus.incomplete"),details:t.errors}):(e.states=t.blueprint.status,e.page=t,e.form.status=t.status,e.form.position=t.num,void e.$refs.dialog.open())}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){this.$refs.form.submit()},changeStatus:function(){var t=this;this.$api.pages.status(this.page.id,this.form.status,this.form.position||1).then(function(){t.success({message:":)",event:"page.changeStatus"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},Gc=Kc,Yc=Object(m["a"])(Gc,Hc,Vc,!1,null,null,null);Yc.options.__file="PageStatusDialog.vue";var Wc=Yc.exports,Jc=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("change"),size:"medium",theme:"positive"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.submit},model:{value:t.page,callback:function(e){t.page=e},expression:"page"}})],1)},Xc=[],Qc={mixins:[_],data:function(){return{blueprints:[],page:{id:null,template:null}}},computed:{fields:function(){return{template:{label:this.$t("template"),type:"select",required:!0,empty:!1,options:this.page.blueprints,icon:"template"}}}},methods:{open:function(t){var e=this;this.$api.pages.get(t,{select:["id","template","blueprints"]}).then(function(t){if(t.blueprints.length<=1)return e.$store.dispatch("notification/error",{message:e.$t("error.page.changeTemplate.invalid",{slug:t.id})});e.page=t,e.page.blueprints=e.page.blueprints.map(function(t){return{text:t.title,value:t.name}}),e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.$events.$emit("keydown.cmd.s"),this.$api.pages.template(this.page.id,this.page.template).then(function(){t.success({message:":)",event:"page.changeTemplate"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},Zc=Qc,tp=Object(m["a"])(Zc,Jc,Xc,!1,null,null,null);tp.options.__file="PageTemplateDialog.vue";var ep=tp.exports,np=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("change"),size:"medium",theme:"positive"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",on:{submit:t.submit}},[n("k-text-field",t._b({attrs:{value:t.slug},on:{input:function(e){t.sluggify(e)}}},"k-text-field",t.field,!1),[n("k-button",{attrs:{slot:"options",icon:"wand","data-options":""},on:{click:function(e){t.sluggify(t.page.title)}},slot:"options"},[t._v("\n "+t._s(t.$t("page.changeSlug.fromTitle"))+"\n ")])],1)],1)],1)},ip=[],sp={mixins:[_],data:function(){return{slug:null,url:null,page:{id:null,parent:null,title:null}}},computed:{field:function(){return{name:"slug",label:this.$t("slug"),type:"text",required:!0,icon:"url",help:"/"+this.url,preselect:!0}}},methods:{sluggify:function(t){this.slug=Xu(t),this.page.parents?this.url=this.page.parents.map(function(t){return t.slug}).concat([this.slug]).join("/"):this.url=this.slug},open:function(t){var e=this;this.$api.pages.get(t,{view:"panel"}).then(function(t){e.page=t,e.sluggify(e.page.slug),e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;if(this.slug===this.page.slug)return this.$refs.dialog.close(),void this.$store.dispatch("notification/success",":)");0!==this.slug.length?this.$api.pages.slug(this.page.id,this.slug).then(function(e){t.$store.dispatch("form/revert","pages/"+t.page.id);var n={message:":)",event:"page.changeSlug"};t.$route.params.path&&t.page.id===t.$route.params.path.replace(/\+/g,"/")&&(n.route=t.$api.pages.link(e.id)),t.success(n)}).catch(function(e){t.$refs.dialog.error(e.message)}):this.$refs.dialog.error(this.$t("error.page.slug.invalid"))}}},op=sp,ap=Object(m["a"])(op,np,ip,!1,null,null,null);ap.options.__file="PageUrlDialog.vue";var rp=ap.exports,lp=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",staticClass:"k-pages-dialog",attrs:{size:"medium"},on:{cancel:function(e){t.$emit("cancel")},submit:t.submit}},[t.issue?[n("k-box",{attrs:{text:t.issue,theme:"negative"}})]:[t.model?n("header",{staticClass:"k-pages-dialog-navbar"},[n("k-button",{attrs:{disabled:!t.model.id,tooltip:t.$t("back"),icon:"angle-left"},on:{click:t.back}}),n("k-headline",[t._v(t._s(t.model.title))])],1):t._e(),t.pages.length?n("k-list",t._l(t.pages,function(e){return n("k-list-item",{key:e.id,attrs:{text:e.text,info:e.info,image:e.image,icon:e.icon},on:{click:function(n){t.toggle(e)}}},[n("template",{slot:"options"},[t.isSelected(e)?n("k-button",{attrs:{slot:"options",autofocus:!0,icon:t.checkedIcon,tooltip:t.$t("remove"),theme:"positive"},slot:"options"}):n("k-button",{attrs:{slot:"options",autofocus:!0,tooltip:t.$t("select"),icon:"circle-outline"},slot:"options"}),t.model?n("k-button",{attrs:{disabled:!e.hasChildren,tooltip:t.$t("open"),icon:"angle-right"},on:{click:function(n){n.stopPropagation(),t.go(e)}}}):t._e()],1)],2)}),1):n("k-empty",{attrs:{icon:"page"}},[t._v("\n No pages to select\n ")])]],2)},up=[],cp={data:function(){return{model:{title:null,parent:null},pages:[],issue:null,options:{endpoint:null,max:null,multiple:!0,parent:null,selected:[]}}},computed:{multiple:function(){return!0===this.options.multiple&&1!==this.options.max},checkedIcon:function(){return!0===this.multiple?"check":"circle-filled"}},methods:{fetch:function(){var t=this;return this.$api.get(this.options.endpoint,{parent:this.options.parent}).then(function(e){t.model=e.model,t.pages=e.pages}).catch(function(e){t.pages=[],t.issue=e.message})},back:function(){this.options.parent=this.model.parent?this.model.parent.id:null,this.fetch()},submit:function(){this.$emit("submit",this.options.selected),this.$refs.dialog.close()},isSelected:function(t){return this.options.selected.map(function(t){return t.id}).includes(t.id)},toggle:function(t){if(!1===this.options.multiple&&(this.options.selected=[]),!1===this.isSelected(t)){if(this.options.max&&this.options.max<=this.options.selected.length)return;this.options.selected.push(t)}else this.options.selected=this.options.selected.filter(function(e){return e.id!==t.id})},open:function(t){var e=this;this.options=t,this.fetch().then(function(){e.$refs.dialog.open()})},go:function(t){this.options.parent=t.id,this.fetch()}}},pp=cp,dp=(n("ac27"),Object(m["a"])(pp,lp,up,!1,null,null,null));dp.options.__file="PagesDialog.vue";var fp,hp,mp=dp.exports,gp={extends:Uc,methods:{open:function(){var t=this;this.$api.site.get({select:["title"]}).then(function(e){t.page=e,t.$refs.dialog.open()}).catch(function(e){t.$store.dispatch("notification/error",e)})},submit:function(){var t=this;this.$api.site.title(this.page.title).then(function(){t.$store.dispatch("system/title",t.page.title),t.success({message:":)",event:"site.changeTitle"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},vp=gp,bp=Object(m["a"])(vp,fp,hp,!1,null,null,null);bp.options.__file="SiteRenameDialog.vue";var kp=bp.exports,_p=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("create"),size:"medium",theme:"positive"},on:{submit:function(e){t.$refs.form.submit()},close:t.reset}},[n("k-form",{ref:"form",attrs:{fields:t.fields,novalidate:!0},on:{submit:t.create},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}})],1)},$p=[],yp={mixins:[_],data:function(){return{user:this.emptyUser(),languages:[],roles:[]}},computed:{fields:function(){return{name:{label:this.$t("name"),type:"text",icon:"user"},email:{label:this.$t("email"),type:"email",icon:"email",link:!1,required:!0},password:{label:this.$t("password"),type:"password",icon:"key"},language:{label:this.$t("language"),type:"select",icon:"globe",options:this.languages,required:!0,empty:!1},role:{label:this.$t("role"),type:1===this.roles.length?"hidden":"radio",required:!0,options:this.roles}}}},methods:{create:function(){var t=this;this.$api.users.create(this.user).then(function(){t.success({message:":)",event:"user.create"})}).catch(function(e){t.$refs.dialog.error(e.message)})},emptyUser:function(){return{name:"",email:"",password:"",language:"en",role:"admin"}},open:function(){var t=this;this.$api.roles.options().then(function(e){t.roles=e,t.$api.translations.options().then(function(e){t.languages=e,t.$refs.dialog.open()}).catch(function(e){t.$store.dispatch("notification/error",e)})}).catch(function(e){t.$store.dispatch("notification/error",e)})},reset:function(){this.user=this.emptyUser()}}},xp=yp,wp=Object(m["a"])(xp,_p,$p,!1,null,null,null);wp.options.__file="UserCreateDialog.vue";var Sp=wp.exports,Op=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("change"),size:"medium",theme:"positive"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.submit},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}})],1)},Cp=[],Ep={mixins:[_],data:function(){return{user:{id:null,email:null}}},computed:{fields:function(){return{email:{label:this.$t("email"),preselect:!0,required:!0,type:"email"}}}},methods:{open:function(t){var e=this;this.$api.users.get(t,{select:["id","email"]}).then(function(t){e.user=t,e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.$api.users.changeEmail(this.user.id,this.user.email).then(function(e){t.$store.dispatch("form/revert","users/"+t.user.id);var n={message:":)",event:"user.changeEmail"};"User"===t.$route.name&&(n.route=t.$api.users.link(e.id)),t.success(n)}).catch(function(e){t.$refs.dialog.error(e.message)})}}},jp=Ep,Tp=Object(m["a"])(jp,Op,Cp,!1,null,null,null);Tp.options.__file="UserEmailDialog.vue";var Ip=Tp.exports,Lp=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("change"),theme:"positive",icon:"check"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.submit},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}})],1)},Ap=[],qp={mixins:[_],data:function(){return{user:{language:"en"},languages:[]}},computed:{fields:function(){return{language:{label:this.$t("language"),type:"select",icon:"globe",options:this.languages,required:!0,empty:!1}}}},created:function(){var t=this;this.$api.translations.options().then(function(e){t.languages=e})},methods:{open:function(t){var e=this;this.$api.users.get(t,{view:"compact"}).then(function(t){e.user=t,e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.$api.users.changeLanguage(this.user.id,this.user.language).then(function(e){t.user=e,t.$store.state.user.current.id===t.user.id&&t.$store.dispatch("user/language",t.user.language),t.success({message:":)",event:"user.changeLanguage"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},Np=qp,Pp=Object(m["a"])(Np,Lp,Ap,!1,null,null,null);Pp.options.__file="UserLanguageDialog.vue";var Dp=Pp.exports,Bp=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("change"),theme:"positive",icon:"check"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.submit},model:{value:t.values,callback:function(e){t.values=e},expression:"values"}})],1)},Fp=[],Rp={mixins:[_],data:function(){return{user:null,values:{password:null,passwordConfirmation:null}}},computed:{fields:function(){return{password:{label:this.$t("user.changePassword.new"),type:"password",icon:"key"},passwordConfirmation:{label:this.$t("user.changePassword.new.confirm"),icon:"key",type:"password"}}}},methods:{open:function(t){var e=this;this.$api.users.get(t).then(function(t){e.user=t,e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;return this.values.password.length<8?(this.$refs.dialog.error(this.$t("error.user.password.invalid")),!1):this.values.password!==this.values.passwordConfirmation?(this.$refs.dialog.error(this.$t("error.user.password.notSame")),!1):void this.$api.users.changePassword(this.user.id,this.values.password).then(function(){t.success({message:":)",event:"user.changePassword"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},Mp=Rp,zp=Object(m["a"])(Mp,Bp,Fp,!1,null,null,null);zp.options.__file="UserPasswordDialog.vue";var Up=zp.exports,Hp=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("delete"),theme:"negative",icon:"trash"},on:{submit:t.submit}},[n("k-text",{domProps:{innerHTML:t._s(t.$t("user.delete.confirm",{email:t.user.email}))}})],1)},Vp=[],Kp={mixins:[_],data:function(){return{user:{email:null}}},methods:{open:function(t){var e=this;this.$api.users.get(t).then(function(t){e.user=t,e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.$api.users.delete(this.user.id).then(function(){t.$store.dispatch("form/remove","users/"+t.user.id),t.success({message:":)",event:"user.delete"}),"User"===t.$route.name&&t.$router.push("/users")}).catch(function(e){t.$refs.dialog.error(e.message)})}}},Gp=Kp,Yp=Object(m["a"])(Gp,Hp,Vp,!1,null,null,null);Yp.options.__file="UserRemoveDialog.vue";var Wp=Yp.exports,Jp=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("rename"),size:"medium",theme:"positive"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.submit},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}})],1)},Xp=[],Qp={mixins:[_],data:function(){return{user:{id:null,name:null}}},computed:{fields:function(){return{name:{label:this.$t("name"),type:"text",icon:"user",preselect:!0}}}},methods:{open:function(t){var e=this;this.$api.users.get(t,{select:["id","name"]}).then(function(t){e.user=t,e.$refs.dialog.open()}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.$api.users.changeName(this.user.id,this.user.name).then(function(){t.success({message:":)",event:"user.changeName"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},Zp=Qp,td=Object(m["a"])(Zp,Jp,Xp,!1,null,null,null);td.options.__file="UserRenameDialog.vue";var ed=td.exports,nd=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",attrs:{button:t.$t("user.changeRole"),size:"medium",theme:"positive"},on:{submit:function(e){t.$refs.form.submit()}}},[n("k-form",{ref:"form",attrs:{fields:t.fields},on:{submit:t.submit},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}})],1)},id=[],sd={mixins:[_],data:function(){return{roles:[],user:{id:null,role:"visitor"}}},computed:{fields:function(){return{role:{label:this.$t("user.changeRole.select"),type:"radio",required:!0,options:this.roles}}}},methods:{open:function(t){var e=this;this.id=t,this.$api.users.get(t).then(function(t){e.$api.roles.options().then(function(n){e.roles=n,e.user=t,e.user.role=e.user.role.name,e.$refs.dialog.open()})}).catch(function(t){e.$store.dispatch("notification/error",t)})},submit:function(){var t=this;this.$api.users.changeRole(this.user.id,this.user.role).then(function(){t.success({message:":)",event:"user.changeRole"})}).catch(function(e){t.$refs.dialog.error(e.message)})}}},od=sd,ad=Object(m["a"])(od,nd,id,!1,null,null,null);ad.options.__file="UserRoleDialog.vue";var rd=ad.exports,ld=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-dialog",{ref:"dialog",staticClass:"k-users-dialog",attrs:{size:"medium"},on:{cancel:function(e){t.$emit("cancel")},submit:t.submit}},[t.issue?[n("k-box",{attrs:{text:t.issue,theme:"negative"}})]:[t.users.length?n("k-list",t._l(t.users,function(e,i){return n("k-list-item",{key:e.email,attrs:{text:e.username,image:e.avatar?{url:e.avatar.url,back:"pattern",cover:!0}:null,icon:{type:"user",back:"black"}},on:{click:function(e){t.toggle(i)}}},[e.selected?n("k-button",{attrs:{slot:"options",autofocus:!0,icon:t.checkedIcon,tooltip:t.$t("remove"),theme:"positive"},slot:"options"}):n("k-button",{attrs:{slot:"options",autofocus:!0,tooltip:t.$t("select"),icon:"circle-outline"},slot:"options"})],1)}),1):n("k-empty",{attrs:{icon:"users"}},[t._v("\n No users to select\n ")])]],2)},ud=[],cd={data:function(){return{users:[],issue:null,options:{max:null,multiple:!0,selected:[]}}},computed:{multiple:function(){return!0===this.options.multiple&&1!==this.options.max},checkedIcon:function(){return!0===this.multiple?"check":"circle-filled"}},methods:{fetch:function(){var t=this;return this.users=[],this.$api.get("users").then(function(e){var n=t.options.selected||[];t.users=e.data.map(function(t){return t.selected=-1!==n.indexOf(t.email),t})}).catch(function(e){t.users=[],t.issue=e.message})},selected:function(){return this.users.filter(function(t){return t.selected})},submit:function(){this.$emit("submit",this.selected()),this.$refs.dialog.close()},toggle:function(t){if(!1===this.options.multiple&&(this.users=this.users.map(function(t){return t.selected=!1,t})),this.users[t].selected)this.users[t].selected=!1;else{if(this.options.max&&this.options.max<=this.selected().length)return;this.users[t].selected=!0}},open:function(t){var e=this;this.options=t,this.fetch().then(function(){e.$refs.dialog.open()})}}},pd=cd,dd=(n("7568"),Object(m["a"])(pd,ld,ud,!1,null,null,null));dd.options.__file="UsersDialog.vue";var fd=dd.exports,hd=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.hasChanges?n("nav",{staticClass:"k-form-buttons"},[n("k-view",[n("k-button",{staticClass:"k-form-button",attrs:{icon:"undo"},on:{click:t.reset}},[t._v("\n "+t._s(t.$t("revert"))+"\n ")]),n("k-button",{staticClass:"k-form-button",attrs:{icon:"check"},on:{click:t.save}},[t._v("\n "+t._s(t.$t("save"))+"\n ")])],1)],1):t._e()},md=[],gd={computed:{hasChanges:function(){return this.$store.getters["form/hasChanges"](this.id)},id:function(){return this.$store.state.form.current}},created:function(){this.$events.$on("keydown.cmd.s",this.save)},destroyed:function(){this.$events.$off("keydown.cmd.s",this.save)},methods:{reset:function(){this.$store.dispatch("form/revert",this.id)},save:function(t){var e=this;return!!t&&(t.preventDefault&&t.preventDefault(),!1===this.hasChanges||void this.$store.dispatch("form/save",this.id).then(function(){e.$events.$emit("model.update"),e.$store.dispatch("notification/success",":)")}).catch(function(t){403!==t.code&&(t.details?e.$store.dispatch("notification/error",{message:e.$t("error.form.incomplete"),details:t.details}):e.$store.dispatch("notification/error",{message:e.$t("error.form.notSaved"),details:[{label:"Exception: "+t.exception,message:t.message}]}))}))}}},vd=gd,bd=(n("18dd"),Object(m["a"])(vd,hd,md,!1,null,null,null));bd.options.__file="FormButtons.vue";var kd=bd.exports,_d=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"k-dropzone",attrs:{"data-dragging":t.dragging,"data-over":t.over},on:{dragenter:t.onEnter,dragleave:t.onLeave,dragover:t.onOver,drop:t.onDrop}},[t._t("default")],2)},$d=[],yd={props:{label:{type:String,default:"Drop to upload"},disabled:{type:Boolean,default:!1}},data:function(){return{files:[],dragging:!1,over:!1}},methods:{cancel:function(){this.reset()},reset:function(){this.dragging=!1,this.over=!1},onDrop:function(t){return!0===this.disabled?this.reset():t.dataTransfer.types?!1===t.dataTransfer.types.includes("Files")?this.reset():(this.$events.$emit("dropzone.drop"),this.files=t.dataTransfer.files,this.$emit("drop",this.files),void this.reset()):this.reset()},onEnter:function(t){!1===this.disabled&&t.dataTransfer.types&&t.dataTransfer.types.includes("Files")&&(this.dragging=!0)},onLeave:function(){this.reset()},onOver:function(t){!1===this.disabled&&t.dataTransfer.types&&t.dataTransfer.types.includes("Files")&&(t.dataTransfer.dropEffect="copy",this.over=!0)}}},xd=yd,wd=(n("414d"),Object(m["a"])(xd,_d,$d,!1,null,null,null));wd.options.__file="Dropzone.vue";var Sd=wd.exports,Od=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"k-file-preview"},[n("k-view",{staticClass:"k-file-preview-layout"},[n("div",{staticClass:"k-file-preview-image"},[n("a",{directives:[{name:"tab",rawName:"v-tab"}],staticClass:"k-file-preview-image-link",attrs:{href:t.file.url,title:t.$t("open"),target:"_blank"}},[t.file.panelImage&&t.file.panelImage.url?n("k-image",{attrs:{src:t.file.panelImage.url,back:"none"}}):t.file.panelIcon?n("k-icon",{staticClass:"k-file-preview-icon",style:{color:t.file.panelIcon.color},attrs:{type:t.file.panelIcon.type}}):t._e()],1)]),n("div",{staticClass:"k-file-preview-details"},[n("ul",[n("li",[n("h3",[t._v(t._s(t.$t("template")))]),n("p",[t._v(t._s(t.file.template||"—"))])]),n("li",[n("h3",[t._v(t._s(t.$t("mime")))]),n("p",[t._v(t._s(t.file.mime))])]),n("li",[n("h3",[t._v(t._s(t.$t("url")))]),n("p",[n("k-link",{attrs:{to:t.file.url,tabindex:"-1",target:"_blank"}},[t._v("/"+t._s(t.file.id))])],1)]),n("li",[n("h3",[t._v(t._s(t.$t("size")))]),n("p",[t._v(t._s(t.file.niceSize))])]),n("li",[n("h3",[t._v(t._s(t.$t("dimensions")))]),t.file.dimensions?n("p",[t._v(t._s(t.file.dimensions.width)+"×"+t._s(t.file.dimensions.height)+" "+t._s(t.$t("pixel")))]):n("p",[t._v("—")])]),n("li",[n("h3",[t._v(t._s(t.$t("orientation")))]),t.file.dimensions?n("p",[t._v(t._s(t.$t("orientation."+t.file.dimensions.orientation)))]):n("p",[t._v("—")])])])])])],1)},Cd=[],Ed={props:{file:Object}},jd=Ed,Td=(n("696b"),Object(m["a"])(jd,Od,Cd,!1,null,null,null));Td.options.__file="FilePreview.vue";var Id=Td.exports,Ld=function(){var t=this,e=t.$createElement,n=t._self._c||e;return 0===t.tabs.length?n("k-box",{attrs:{text:"This page has no blueprint setup yet",theme:"info"}}):t.tab?n("k-sections",{attrs:{parent:t.parent,blueprint:t.blueprint,columns:t.tab.columns},on:{submit:function(e){t.$emit("submit",e)}}}):t._e()},Ad=[],qd={props:{parent:String,blueprint:String,tabs:Array},data:function(){return{tab:null}},watch:{$route:function(){this.open()},blueprint:function(){this.open()}},mounted:function(){this.open()},methods:{open:function(t){if(0!==this.tabs.length){t||(t=this.$route.hash.replace("#","")),t||(t=this.tabs[0].name);var e=null;this.tabs.forEach(function(n){n.name===t&&(e=n)}),e||(e=this.tabs[0]),this.tab=e,this.$emit("tab",this.tab)}}}},Nd=qd,Pd=Object(m["a"])(Nd,Ld,Ad,!1,null,null,null);Pd.options.__file="Tabs.vue";var Dd=Pd.exports,Bd=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.languages.length?n("k-dropdown",[n("k-button",{attrs:{responsive:!0,icon:"globe"},on:{click:function(e){t.$refs.languages.toggle()}}},[t._v("\n "+t._s(t.language.name)+"\n ")]),t.languages?n("k-dropdown-content",{ref:"languages"},[n("k-dropdown-item",{on:{click:function(e){t.change(t.defaultLanguage)}}},[t._v(t._s(t.defaultLanguage.name))]),n("hr"),t._l(t.languages,function(e){return n("k-dropdown-item",{key:e.code,on:{click:function(n){t.change(e)}}},[t._v("\n "+t._s(e.name)+"\n ")])})],2):t._e()],1):t._e()},Fd=[],Rd={computed:{defaultLanguage:function(){return this.$store.state.languages.default},language:function(){return this.$store.state.languages.current},languages:function(){return this.$store.state.languages.all.filter(function(t){return!1===t.default})}},methods:{change:function(t){this.$store.dispatch("languages/current",t),this.$emit("change",t)}}},Md=Rd,zd=Object(m["a"])(Md,Bd,Fd,!1,null,null,null);zd.options.__file="Languages.vue";var Ud=zd.exports,Hd=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.user&&t.view?n("div",{staticClass:"k-topbar"},[n("k-view",[n("div",{staticClass:"k-topbar-wrapper"},[n("k-dropdown",{staticClass:"k-topbar-menu"},[n("k-button",{staticClass:"k-topbar-button k-topbar-menu-button",attrs:{tooltip:t.$t("menu"),icon:"bars"},on:{click:function(e){t.$refs.menu.toggle()}}},[n("k-icon",{attrs:{type:"angle-down"}})],1),n("k-dropdown-content",{ref:"menu",staticClass:"k-topbar-menu"},[n("ul",[t._l(t.views,function(e,i){return e.menu?n("li",{key:"menu-item-"+i,attrs:{"aria-current":t.$store.state.view===i}},[n("k-dropdown-item",{attrs:{disabled:!1===t.$permissions.access[i],icon:e.icon,link:e.link}},[t._v("\n "+t._s(t.viewTitle(i,e))+"\n ")])],1):t._e()}),n("li",[n("hr")]),n("li",{attrs:{"aria-current":"account"===t.$route.meta.view}},[n("k-dropdown-item",{attrs:{icon:"account",link:"/account"}},[t._v("\n "+t._s(t.$t("view.account"))+"\n ")])],1),n("li",[n("hr")]),n("li",[n("k-dropdown-item",{attrs:{icon:"logout",link:"/logout"}},[t._v("\n "+t._s(t.$t("logout"))+"\n ")])],1)],2)])],1),t.view?n("k-link",{directives:[{name:"tab",rawName:"v-tab"}],staticClass:"k-topbar-button k-topbar-view-button",attrs:{to:t.view.link}},[n("k-icon",{attrs:{type:t.view.icon}}),t._v(" "+t._s(t.breadcrumbTitle)+"\n ")],1):t._e(),t.$store.state.breadcrumb.length>1?n("k-dropdown",{staticClass:"k-topbar-breadcrumb-menu"},[n("k-button",{staticClass:"k-topbar-button",on:{click:function(e){t.$refs.crumb.toggle()}}},[t._v("\n …\n "),n("k-icon",{attrs:{type:"angle-down"}})],1),n("k-dropdown-content",{ref:"crumb"},[n("k-dropdown-item",{attrs:{icon:t.view.icon,link:t.view.link}},[t._v("\n "+t._s(t.$t("view."+t.$store.state.view,t.view.label))+"\n ")]),t._l(t.$store.state.breadcrumb,function(e,i){return n("k-dropdown-item",{key:"crumb-"+i+"-dropdown",attrs:{icon:t.view.icon,link:e.link}},[t._v("\n "+t._s(e.label)+"\n ")])})],2)],1):t._e(),n("nav",{staticClass:"k-topbar-crumbs"},t._l(t.$store.state.breadcrumb,function(e,i){return n("k-link",{directives:[{name:"tab",rawName:"v-tab"}],key:"crumb-"+i,attrs:{to:e.link}},[t._v("\n "+t._s(e.label)+"\n ")])}),1),n("div",{staticClass:"k-topbar-signals"},[t.notification?n("k-button",{staticClass:"k-topbar-notification",attrs:{theme:"positive"},on:{click:function(e){t.$store.dispatch("notification/close")}}},[t._v("\n "+t._s(t.notification.message)+"\n ")]):t.unregistered?n("div",{staticClass:"k-registration"},[n("p",[t._v(t._s(t.$t("license.unregistered")))]),n("k-button",{attrs:{responsive:!0,icon:"key"},on:{click:function(e){t.$emit("register")}}},[t._v(t._s(t.$t("license.register")))]),n("k-button",{attrs:{responsive:!0,link:"https://getkirby.com/buy",target:"_blank",icon:"cart"}},[t._v("\n "+t._s(t.$t("license.buy"))+"\n ")])],1):t._e(),n("k-button",{attrs:{tooltip:t.$t("search"),icon:"search"},on:{click:function(e){t.$store.dispatch("search",!0)}}})],1)],1)])],1):t._e()},Vd=[],Kd=Object(u["a"])({site:{link:"/site",icon:"page",menu:!0},users:{link:"/users",icon:"users",menu:!0},settings:{link:"/settings",icon:"settings",menu:!0},account:{link:"/account",icon:"users",menu:!1}},window.panel.plugins.views),Gd={computed:{breadcrumbTitle:function(){var t=this.$t("view.".concat(this.$store.state.view),this.view.label);return"site"===this.$store.state.view&&this.$store.state.system.info.title||t},view:function(){return Kd[this.$store.state.view]},views:function(){return Kd},user:function(){return this.$store.state.user.current},notification:function(){return this.$store.state.notification.type&&"error"!==this.$store.state.notification.type?this.$store.state.notification:null},unregistered:function(){return!this.$store.state.system.info.license}},methods:{viewTitle:function(t,e){var n=this.$t("view.".concat(t),e.label);return"site"===t&&this.$store.state.system.info.breadcrumbTitle||n}}},Yd=Gd,Wd=(n("1e3b"),Object(m["a"])(Yd,Hd,Vd,!1,null,null,null));Wd.options.__file="Topbar.vue";var Jd=Wd.exports,Xd=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-grid",{staticClass:"k-sections",attrs:{gutter:"large"}},t._l(t.columns,function(e,i){return n("k-column",{key:t.parent+"-column-"+i,attrs:{width:e.width}},[t._l(e.sections,function(e,s){return[t.exists(e.type)?n("k-"+e.type+"-section",t._b({key:t.parent+"-column-"+i+"-section-"+s+"-"+t.blueprint,tag:"component",class:"k-section k-section-name-"+e.name,attrs:{name:e.name,parent:t.parent,blueprint:t.blueprint},on:{submit:function(e){t.$emit("submit",e)}}},"component",e,!1)):[n("k-box",{key:t.parent+"-column-"+i+"-section-"+s,attrs:{text:t.$t("error.section.type.invalid",{type:e.type}),theme:"negative"}})]]})],2)}),1)},Qd=[],Zd={props:{parent:String,blueprint:String,columns:Array},methods:{exists:function(t){return i["a"].options.components["k-"+t+"-section"]}}},tf=Zd,ef=(n("6bcd"),Object(m["a"])(tf,Xd,Qd,!1,null,null,null));ef.options.__file="Sections.vue";var nf=ef.exports,sf=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"k-info-section"},[n("k-headline",{staticClass:"k-info-section-headline"},[t._v(t._s(t.headline))]),n("k-box",{attrs:{theme:t.theme}},[n("k-text",{domProps:{innerHTML:t._s(t.text)}})],1)],1)},of=[],af={props:{parent:String,blueprint:String,name:String},methods:{load:function(){return this.$api.get(this.parent+"/sections/"+this.name)}}},rf={mixins:[af],data:function(){return{headline:null,issue:null,text:null,theme:null}},created:function(){var t=this;this.load().then(function(e){t.headline=e.options.headline,t.text=e.options.text,t.theme=e.options.theme||"info"}).catch(function(e){t.issue=e})}},lf=rf,uf=(n("4333"),Object(m["a"])(lf,sf,of,!1,null,null,null));uf.options.__file="InfoSection.vue";var cf=uf.exports,pf=function(){var t=this,e=t.$createElement,n=t._self._c||e;return!1===t.isLoading?n("section",{staticClass:"k-pages-section"},[n("header",{staticClass:"k-section-header"},[n("k-headline",{attrs:{link:t.options.link}},[t._v("\n "+t._s(t.headline)+" "),t.options.min?n("abbr",{attrs:{title:"This section is required"}},[t._v("*")]):t._e()]),t.add?n("k-button-group",[n("k-button",{attrs:{icon:"add"},on:{click:function(e){t.action(null,"create")}}},[t._v(t._s(t.$t("add")))])],1):t._e()],1),t.error?[n("k-box",{attrs:{theme:"negative"}},[n("k-text",{attrs:{size:"small"}},[n("strong",[t._v(t._s(t.$t("error.section.notLoaded",{name:t.name}))+":")]),t._v("\n "+t._s(t.error)+"\n ")])],1)]:[t.data.length?n("k-collection",{attrs:{layout:t.options.layout,items:t.data,pagination:t.pagination,sortable:t.options.sortable,size:t.options.size},on:{change:t.sort,paginate:t.paginate,action:t.action}}):n("k-empty",{attrs:{layout:t.options.layout,icon:"page"},on:{click:function(e){t.add&&t.action(null,"create")}}},[t._v("\n "+t._s(t.options.empty||t.$t("pages.empty"))+"\n ")]),n("k-page-create-dialog",{ref:"create"}),n("k-page-rename-dialog",{ref:"rename",on:{success:t.update}}),n("k-page-url-dialog",{ref:"url",on:{success:t.update}}),n("k-page-status-dialog",{ref:"status",on:{success:t.update}}),n("k-page-template-dialog",{ref:"template",on:{success:t.update}}),n("k-page-remove-dialog",{ref:"remove",on:{success:t.update}})]],2):t._e()},df=[],ff={props:{parent:String,blueprint:String,name:String},data:function(){return{data:[],error:null,isLoading:!1,options:{empty:null,headline:null,layout:"list",link:null,max:null,min:null,size:null,sortable:null},pagination:{page:null}}},computed:{headline:function(){return this.options.headline||" "},language:function(){return this.$store.state.languages.current},paginationId:function(){return"kirby$pagination$"+this.parent+"/"+this.name}},watch:{language:function(){this.reload()}},methods:{items:function(t){return t},load:function(t){var e=this;t||(this.isLoading=!0),null===this.pagination.page&&(this.pagination.page=localStorage.getItem(this.paginationId)||1),this.$api.get(this.parent+"/sections/"+this.name,{page:this.pagination.page}).then(function(t){e.isLoading=!1,e.options=t.options,e.pagination=t.pagination,e.data=e.items(t.data)}).catch(function(t){e.isLoading=!1,e.error=t.message})},paginate:function(t){localStorage.setItem(this.paginationId,t.page),this.pagination=t,this.reload()},reload:function(){this.load(!0)}}},hf={mixins:[ff],computed:{add:function(){return this.options.add&&this.$permissions.pages.create}},created:function(){this.load(),this.$events.$on("page.changeStatus",this.reload)},destroyed:function(){this.$events.$off("page.changeStatus",this.reload)},methods:{action:function(t,e){var n=this;switch(e){case"create":this.$refs.create.open(this.options.link||this.parent,this.parent+"/children/blueprints",this.name);break;case"preview":var i=window.open("","_blank");i.document.write="...",this.$api.pages.preview(t.id).then(function(t){i.location.href=t}).catch(function(t){n.$store.dispatch("notification/error",t)});break;case"rename":this.$refs.rename.open(t.id);break;case"url":this.$refs.url.open(t.id);break;case"status":this.$refs.status.open(t.id);break;case"template":this.$refs.template.open(t.id);break;case"remove":this.$refs.remove.open(t.id);break;default:throw new Error("Invalid action")}},items:function(t){var e=this;return t.map(function(t){return t.flag={class:"k-status-flag k-status-flag-"+t.status,tooltip:e.$t("page.status"),icon:!1===t.permissions.changeStatus?"protected":"circle",disabled:!1===t.permissions.changeStatus,click:function(){e.action(t,"status")}},t.options=function(n){e.$api.pages.options(t.id,"list").then(function(t){return n(t)}).catch(function(t){e.$store.dispatch("notification/error",t)})},t.sortable=t.permissions.sort&&e.options.sortable,t})},sort:function(t){var e=this,n=null;if(t.added&&(n="added"),t.moved&&(n="moved"),n){var i=t[n].element,s=t[n].newIndex+1+this.pagination.offset;this.$api.pages.status(i.id,"listed",s).then(function(){e.$store.dispatch("notification/success",":)")}).catch(function(t){e.$store.dispatch("notification/error",{message:t.message,details:t.details}),e.reload()})}},update:function(){this.reload(),this.$events.$emit("model.update")}}},mf=hf,gf=Object(m["a"])(mf,pf,df,!1,null,null,null);gf.options.__file="PagesSection.vue";var vf=gf.exports,bf=function(){var t=this,e=t.$createElement,n=t._self._c||e;return!1===t.isLoading?n("section",{staticClass:"k-files-section"},[n("header",{staticClass:"k-section-header"},[n("k-headline",[t._v("\n "+t._s(t.headline)+" "),t.options.min?n("abbr",{attrs:{title:"This section is required"}},[t._v("*")]):t._e()]),t.add?n("k-button-group",[n("k-button",{attrs:{icon:"upload"},on:{click:t.upload}},[t._v(t._s(t.$t("add")))])],1):t._e()],1),t.error?[n("k-box",{attrs:{theme:"negative"}},[n("k-text",{attrs:{size:"small"}},[n("strong",[t._v(t._s(t.$t("error.section.notLoaded",{name:t.name}))+":")]),t._v("\n "+t._s(t.error)+"\n ")])],1)]:[n("k-dropzone",{attrs:{disabled:!1===t.add},on:{drop:t.drop}},[t.data.length?n("k-collection",{attrs:{items:t.data,layout:t.options.layout,pagination:t.pagination,sortable:t.options.sortable,size:t.options.size},on:{sort:t.sort,paginate:t.paginate,action:t.action}}):n("k-empty",{attrs:{layout:t.options.layout,icon:"image"},on:{click:function(e){t.add&&t.upload()}}},[t._v("\n "+t._s(t.options.empty||t.$t("files.empty"))+"\n ")])],1),n("k-file-rename-dialog",{ref:"rename",on:{success:t.update}}),n("k-file-remove-dialog",{ref:"remove",on:{success:t.update}}),n("k-upload",{ref:"upload",on:{success:t.uploaded,error:t.reload}})]],2):t._e()},kf=[],_f={mixins:[ff],computed:{add:function(){return!(!this.$permissions.files.create||!1===this.options.upload)&&this.options.upload}},created:function(){this.load(),this.$events.$on("model.update",this.reload)},destroyed:function(){this.$events.$off("model.update",this.reload)},methods:{action:function(t,e){switch(e){case"edit":this.$router.push(t.link);break;case"download":window.open(t.url);break;case"rename":this.$refs.rename.open(t.parent,t.filename);break;case"replace":this.replace(t);break;case"remove":this.$refs.remove.open(t.parent,t.filename);break}},drop:function(t){if(!1===this.add)return!1;this.$refs.upload.drop(t,Object(u["a"])({},this.add,{url:d.api+"/"+this.add.api}))},items:function(t){var e=this;return t.map(function(t){return t.options=function(n){e.$api.files.options(t.parent,t.filename,"list").then(function(t){return n(t)}).catch(function(t){e.$store.dispatch("notification/error",t)})},t.sortable=e.options.sortable,t})},replace:function(t){this.$refs.upload.open({url:d.api+"/"+this.$api.files.url(t.parent,t.filename),accept:t.mime,multiple:!1})},sort:function(t){var e=this;if(!1===this.options.sortable)return!1;t=t.map(function(t){return t.id}),this.$api.patch(this.parent+"/files/sort",{files:t}).then(function(){e.$store.dispatch("notification/success",":)")}).catch(function(t){e.reload(),e.$store.dispatch("notification/error",t.message)})},update:function(){this.$events.$emit("model.update")},upload:function(){if(!1===this.add)return!1;this.$refs.upload.open(Object(u["a"])({},this.add,{url:d.api+"/"+this.add.api}))},uploaded:function(){this.$events.$emit("file.create"),this.$events.$emit("model.update"),this.$store.dispatch("notification/success",":)")}}},$f=_f,yf=Object(m["a"])($f,bf,kf,!1,null,null,null);yf.options.__file="FilesSection.vue";var xf=yf.exports,wf=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.isLoading?t._e():n("section",{staticClass:"k-fields-section"},[t.issue?[n("k-headline",{staticClass:"k-fields-issue-headline"},[t._v("Error")]),n("k-box",{attrs:{text:t.issue.message,theme:"negative"}})]:t._e(),n("k-form",{attrs:{fields:t.fields,validate:!0,value:t.values},on:{input:t.input,submit:t.onSubmit}})],2)},Sf=[],Of={mixins:[af],data:function(){return{fields:{},isLoading:!0,issue:null}},computed:{id:function(){return this.$store.state.form.current},language:function(){return this.$store.state.languages.current},values:function(){return this.$store.getters["form/values"](this.id)}},watch:{$route:function(){this.fields={},this.isLoading=!0,this.issue=null},language:function(){this.fetch()}},created:function(){this.fetch()},methods:{input:function(t,e,n){this.$store.dispatch("form/update",[this.id,n,t[n]])},fetch:function(){var t=this;this.$api.get(this.parent+"/sections/"+this.name).then(function(e){t.fields=e.fields,Object.keys(t.fields).forEach(function(e){t.fields[e].section=t.name,t.fields[e].endpoints={field:t.parent+"/fields/"+e,section:t.parent+"/sections/"+t.name,model:t.parent}}),t.isLoading=!1}).catch(function(e){t.issue=e,t.isLoading=!1})},onSubmit:function(t){this.$events.$emit("keydown.cmd.s",t)}}},Cf=Of,Ef=(n("7d5d"),Object(m["a"])(Cf,wf,Sf,!1,null,null,null));Ef.options.__file="FieldsSection.vue";var jf=Ef.exports,Tf=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-view",{staticClass:"k-error-view"},[n("div",{staticClass:"k-error-view-content"},[n("k-text",[n("p",[n("k-icon",{staticClass:"k-error-view-icon",attrs:{type:"alert"}})],1),n("p",[t._t("default")],2)])],1)])},If=[],Lf=(n("d221"),{}),Af=Object(m["a"])(Lf,Tf,If,!1,null,null,null);Af.options.__file="ErrorView.vue";var qf=Af.exports;i["a"].component("k-dialog",qu),i["a"].component("k-error-dialog",Ru),i["a"].component("k-file-rename-dialog",ec),i["a"].component("k-file-remove-dialog",Ku),i["a"].component("k-files-dialog",rc),i["a"].component("k-language-create-dialog",fc),i["a"].component("k-language-remove-dialog",kc),i["a"].component("k-language-update-dialog",Sc),i["a"].component("k-page-create-dialog",Ic),i["a"].component("k-page-rename-dialog",Uc),i["a"].component("k-page-remove-dialog",Dc),i["a"].component("k-page-status-dialog",Wc),i["a"].component("k-page-template-dialog",ep),i["a"].component("k-page-url-dialog",rp),i["a"].component("k-pages-dialog",mp),i["a"].component("k-site-rename-dialog",kp),i["a"].component("k-user-create-dialog",Sp),i["a"].component("k-user-email-dialog",Ip),i["a"].component("k-user-language-dialog",Dp),i["a"].component("k-user-password-dialog",Up),i["a"].component("k-user-remove-dialog",Wp),i["a"].component("k-user-rename-dialog",ed),i["a"].component("k-user-role-dialog",rd),i["a"].component("k-users-dialog",fd),i["a"].component("k-form-buttons",kd),i["a"].component("k-dropzone",Sd),i["a"].component("k-file-preview",Id),i["a"].component("k-tabs",Dd),i["a"].component("k-languages-dropdown",Ud),i["a"].component("k-topbar",Jd),i["a"].component("k-sections",nf),i["a"].component("k-info-section",cf),i["a"].component("k-pages-section",vf),i["a"].component("k-files-section",xf),i["a"].component("k-fields-section",jf),i["a"].component("k-error-view",qf);var Nf={user:function(){return dm.get("auth")},login:function(t){var e={long:t.remember||!1,email:t.email,password:t.password};return dm.post("auth/login",e).then(function(t){return t.user})},logout:function(){return dm.post("auth/logout")}},Pf={get:function(t,e,n){return dm.get(this.url(t,e),n).then(function(t){return!0===Array.isArray(t.content)&&(t.content={}),t})},update:function(t,e,n){return dm.patch(this.url(t,e),n)},rename:function(t,e,n){return dm.patch(this.url(t,e,"name"),{name:n})},url:function(t,e,n){var i=t+"/files/"+e;return n&&(i+="/"+n),i},link:function(t,e,n){return"/"+this.url(t,e,n)},delete:function(t,e){return dm.delete(this.url(t,e))},options:function(t,e,n){return dm.get(this.url(t,e),{select:"options"}).then(function(t){var e=t.options,s=[];return"list"===n&&s.push({icon:"open",text:i["a"].i18n.translate("open"),click:"download"}),s.push({icon:"title",text:i["a"].i18n.translate("rename"),click:"rename",disabled:!e.changeName}),s.push({icon:"upload",text:i["a"].i18n.translate("replace"),click:"replace",disabled:!e.replace}),s.push({icon:"trash",text:i["a"].i18n.translate("delete"),click:"remove",disabled:!e.delete}),s})},breadcrumb:function(t,e){var n=null,i=[];switch(e){case"UserFile":i.push({label:t.parent.username,link:dm.users.link(t.parent.id)}),n="users/"+t.parent.id;break;case"SiteFile":n="site";break;case"PageFile":i=t.parents.map(function(t){return{label:t.title,link:dm.pages.link(t.id)}}),n=dm.pages.url(t.parent.id);break}return i.push({label:t.filename,link:this.link(n,t.filename)}),i}},Df={create:function(t,e){return null===t||"/"===t?dm.post("site/children",e):dm.post(this.url(t,"children"),e)},url:function(t,e){var n=null===t?"pages":"pages/"+t.replace(/\//g,"+");return e&&(n+="/"+e),n},link:function(t){return"/"+this.url(t)},get:function(t,e){return dm.get(this.url(t),e).then(function(t){return!0===Array.isArray(t.content)&&(t.content={}),t})},options:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"view";return dm.get(this.url(t),{select:"options"}).then(function(t){var n=t.options,s=[];return"list"===e&&s.push({click:"preview",icon:"open",text:i["a"].i18n.translate("open"),disabled:!1===n.preview}),s.push({click:"rename",icon:"title",text:i["a"].i18n.translate("rename"),disabled:!n.changeTitle}),s.push({click:"url",icon:"url",text:i["a"].i18n.translate("page.changeSlug"),disabled:!n.changeSlug}),s.push({click:"status",icon:"preview",text:i["a"].i18n.translate("page.changeStatus"),disabled:!n.changeStatus}),s.push({click:"template",icon:"template",text:i["a"].i18n.translate("page.changeTemplate"),disabled:!n.changeTemplate}),s.push({click:"remove",icon:"trash",text:i["a"].i18n.translate("delete"),disabled:!n.delete}),s})},preview:function(t){return this.get(t,{select:"previewUrl"}).then(function(t){return t.previewUrl})},update:function(t,e){return dm.patch(this.url(t),e)},children:function(t,e){return dm.post(this.url(t,"children/search"),e)},files:function(t,e){return dm.post(this.url(t,"files/search"),e)},delete:function(t,e){return dm.delete(this.url(t),e)},slug:function(t,e){return dm.patch(this.url(t,"slug"),{slug:e})},title:function(t,e){return dm.patch(this.url(t,"title"),{title:e})},template:function(t,e){return dm.patch(this.url(t,"template"),{template:e})},search:function(t,e){return t?dm.post("pages/"+t.replace("/","+")+"/children/search?select=id,title,hasChildren",e):dm.post("site/children/search?select=id,title,hasChildren",e)},status:function(t,e,n){return dm.patch(this.url(t,"status"),{status:e,position:n})},breadcrumb:function(t){var e=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=t.parents.map(function(t){return{label:t.title,link:e.link(t.id)}});return!0===n&&i.push({label:t.title,link:this.link(t.id)}),i}},Bf=n("2f62"),Ff=n("3835"),Rf={namespaced:!0,state:{models:{},current:null,isLocked:!1},getters:{current:function(t){return t.current},exists:function(t){return function(e){return t.models.hasOwnProperty(e)}},hasChanges:function(t,e){return function(t){return Object.keys(e.model(t).changes).length>0}},id:function(t,e,n){return function(t){return n.languages.current?t+"/"+n.languages.current.code:t}},isCurrent:function(t){return function(e){return t.current=e}},model:function(t,e){return function(n){return e.exists(n)?t.models[n]:{originals:{},values:{},changes:{},api:null}}},originals:function(t,e){return function(t){return yr(e.model(t).originals)}},values:function(t,e){return function(t){return yr(e.model(t).values)}}},mutations:{CREATE:function(t,e){i["a"].set(t.models,e.id,{api:e.api,originals:yr(e.content),values:yr(e.content),changes:{}})},CURRENT:function(t,e){t.current=e},IS_LOCKED:function(t,e){t.isLocked=e},REMOVE:function(t,e){i["a"].delete(t.models,e),localStorage.removeItem("kirby$form$"+e)},DELETE_CHANGES:function(t,e){i["a"].set(t.models[e],"changes",{}),localStorage.removeItem("kirby$form$"+e)},SET_ORIGINALS:function(t,e){var n=Object(Ff["a"])(e,2),i=n[0],s=n[1];t.models[i].originals=yr(s)},SET_VALUES:function(t,e){var n=Object(Ff["a"])(e,2),i=n[0],s=n[1];t.models[i].values=yr(s)},UPDATE:function(t,e){var n=Object(Ff["a"])(e,3),s=n[0],o=n[1],a=n[2];a=yr(a),i["a"].set(t.models[s].values,o,a);var r=JSON.stringify(t.models[s].originals[o]),l=JSON.stringify(a);r===l?i["a"].delete(t.models[s].changes,o):i["a"].set(t.models[s].changes,o,!0),localStorage.setItem("kirby$form$"+s,JSON.stringify(t.models[s].values))}},actions:{create:function(t,e){t.rootState.languages.current&&t.rootState.languages.current.code&&(e.id=t.getters.id(e.id)),t.commit("CREATE",e),t.commit("CURRENT",e.id);var n=localStorage.getItem("kirby$form$"+e.id);if(n){var i=JSON.parse(n);Object.keys(i).forEach(function(n){var s=i[n];t.commit("UPDATE",[e.id,n,s])})}},remove:function(t,e){t.commit("REMOVE",e)},revert:function(t,e){var n=t.getters.model(e);return dm.get(n.api,{select:"content"}).then(function(n){t.commit("SET_ORIGINALS",[e,n.content]),t.commit("SET_VALUES",[e,n.content]),t.commit("DELETE_CHANGES",e)})},save:function(t,e){e=e||t.state.current;var n=t.getters.model(e);return(!t.getters.isCurrent(e)||!t.state.isLocked)&&dm.patch(n.api,n.values).then(function(){t.dispatch("revert",e)})},lock:function(t){t.commit("IS_LOCKED",!0)},unlock:function(t){t.commit("IS_LOCKED",!1)},update:function(t,e){var n=Object(Ff["a"])(e,3),i=n[0],s=n[1],o=n[2];t.commit("UPDATE",[i,s,o])}}},Mf={namespaced:!0,state:{all:[],current:null,default:null},mutations:{SET_ALL:function(t,e){t.all=e.map(function(t){return{code:t.code,name:t.name,default:t.default,direction:t.direction}})},SET_CURRENT:function(t,e){t.current=e,e&&e.code&&localStorage.setItem("kirby$language",e.code)},SET_DEFAULT:function(t,e){t.default=e}},actions:{current:function(t,e){t.commit("SET_CURRENT",e)},install:function(t,e){var n=e.filter(function(t){return t.default})[0];t.commit("SET_ALL",e),t.commit("SET_DEFAULT",n);var i=localStorage.getItem("kirby$language");if(i){var s=e.filter(function(t){return t.code===i})[0];if(s)return void t.commit("SET_CURRENT",s)}t.commit("SET_CURRENT",n||e[0])},load:function(t){return dm.get("languages").then(function(e){t.dispatch("install",e.data)})}}},zf={timer:null,namespaced:!0,state:{type:null,message:null,details:null,timeout:null},mutations:{SET:function(t,e){t.type=e.type,t.message=e.message,t.details=e.details,t.timeout=e.timeout},UNSET:function(t){t.type=null,t.message=null,t.details=null,t.timeout=null}},actions:{close:function(t){clearTimeout(this.timer),t.commit("UNSET")},open:function(t,e){t.dispatch("close"),t.commit("SET",e),e.timeout&&(this.timer=setTimeout(function(){t.dispatch("close")},e.timeout))},success:function(t,e){"string"===typeof e&&(e={message:e}),t.dispatch("open",Object(u["a"])({type:"success",timeout:4e3},e))},error:function(t,e){"string"===typeof e&&(e={message:e}),t.dispatch("open",Object(u["a"])({type:"error"},e))}}},Uf={namespaced:!0,state:{info:{title:null}},mutations:{SET_INFO:function(t,e){t.info=e},SET_LICENSE:function(t,e){t.info.license=e},SET_TITLE:function(t,e){t.info.title=e}},actions:{title:function(t,e){t.commit("SET_TITLE",e)},register:function(t,e){t.commit("SET_LICENSE",e)},load:function(t,e){return!e&&t.state.info.isReady&&t.rootState.user.current?new Promise(function(e){e(t.state.info)}):dm.system.info({view:"panel"}).then(function(e){return t.commit("SET_INFO",Object(u["a"])({isReady:e.isInstalled&&e.isOk},e)),e.languages&&t.dispatch("languages/install",e.languages,{root:!0}),t.dispatch("translation/install",e.translation,{root:!0}),t.dispatch("translation/activate",e.translation.id,{root:!0}),e.user&&t.dispatch("user/current",e.user,{root:!0}),t.state.info}).catch(function(e){t.commit("SET_INFO",{isBroken:!0,error:e.message})})}}},Hf={namespaced:!0,state:{current:null,installed:[]},mutations:{SET_CURRENT:function(t,e){t.current=e},INSTALL:function(t,e){t.installed[e.id]=e}},actions:{load:function(t,e){return dm.translations.get(e)},install:function(t,e){t.commit("INSTALL",e),i["a"].i18n.add(e.id,e.data)},activate:function(t,e){var n=t.state.installed[e];n?(i["a"].i18n.set(e),t.commit("SET_CURRENT",e),document.dir=n.direction,document.documentElement.lang=e):t.dispatch("load",e).then(function(n){t.dispatch("install",n),t.dispatch("activate",e)})}}},Vf=n("8c4f"),Kf=function(t,e,n){om.dispatch("system/load").then(function(){var e=om.state.user.current;if(!e)return om.dispatch("user/visit",t.path),om.dispatch("user/logout"),!1;var s=e.permissions.access;return!1===s.panel?(window.location.href=d.site,!1):!1===s[t.meta.view]?(om.dispatch("notification/error",{message:i["a"].i18n.translate("error.access.view")}),n("/")):void n()})},Gf=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-error-view",{staticClass:"k-browser-view"},[n("p",[t._v("\n We are really sorry, but your browser does not support\n all features required for the Kirby Panel.\n ")]),!1===t.hasFetchSupport?[n("p",[n("strong",[t._v("Fetch")]),n("br"),t._v("\n We use Javascript's new Fetch API. You can find a list of supported browsers for this feature on\n "),n("strong",[n("a",{attrs:{href:"https://caniuse.com/#feat=fetch"}},[t._v("caniuse.com")])])])]:t._e(),!1===t.hasGridSupport?[n("p",[n("strong",[t._v("CSS Grid")]),n("br"),t._v("\n We use CSS Grids for all our layouts. You can find a list of supported browsers for this feature on\n "),n("strong",[n("a",{attrs:{href:"https://caniuse.com/#feat=css-grid"}},[t._v("caniuse.com")])])])]:t._e()],2)},Yf=[],Wf={grid:function(){return!(!window.CSS||!window.CSS.supports("display","grid"))},fetch:function(){return void 0!==window.fetch},all:function(){return this.fetch()&&this.grid()}},Jf={computed:{hasFetchSupport:function(){return Wf.fetch()},hasGridSupport:function(){return Wf.grid()}},created:function(){Wf.all()&&this.$router.push("/")}},Xf=Jf,Qf=(n("d6fc"),Object(m["a"])(Xf,Gf,Yf,!1,null,null,null));Qf.options.__file="BrowserView.vue";var Zf=Qf.exports,th=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-error-boundary",{key:t.plugin,scopedSlots:t._u([{key:"error",fn:function(e){var i=e.error;return n("k-error-view",{},[t._v("\n "+t._s(i)+"\n ")])}}])},[n("k-"+t.plugin+"-plugin-view",{tag:"component"})],1)},eh=[],nh={props:{plugin:String},watch:{plugin:function(){this.$store.dispatch("view",this.plugin)}},created:function(){this.$store.dispatch("view",this.plugin)}},ih=nh,sh=Object(m["a"])(ih,th,eh,!1,null,null,null);sh.options.__file="CustomView.vue";var oh=sh.exports,ah=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.issue?n("k-error-view",[t._v("\n "+t._s(t.issue.message)+"\n")]):n("div",{staticClass:"k-file-view"},[n("k-file-preview",{attrs:{file:t.file}}),n("k-view",{staticClass:"k-file-content"},[n("k-header",{attrs:{editable:t.permissions.changeName,tabs:t.tabs,tab:t.tab},on:{edit:function(e){t.action("rename")}}},[t._v("\n\n "+t._s(t.file.filename)+"\n\n "),n("k-button-group",{attrs:{slot:"left"},slot:"left"},[n("k-button",{attrs:{responsive:!0,icon:"open"},on:{click:function(e){t.action("download")}}},[t._v("\n "+t._s(t.$t("open"))+"\n ")]),n("k-dropdown",[n("k-button",{attrs:{responsive:!0,icon:"cog"},on:{click:function(e){t.$refs.settings.toggle()}}},[t._v("\n "+t._s(t.$t("settings"))+"\n ")]),n("k-dropdown-content",{ref:"settings",attrs:{options:t.options},on:{action:t.action}})],1),n("k-languages-dropdown")],1),t.file.id?n("k-prev-next",{attrs:{slot:"right",prev:t.prev,next:t.next},slot:"right"}):t._e()],1),t.file.id?n("k-tabs",{key:"file-"+t.file.id+"-tabs",ref:"tabs",attrs:{parent:t.$api.files.url(t.path,t.file.filename),tabs:t.tabs,blueprint:t.file.blueprint.name},on:{tab:function(e){t.tab=e}}}):t._e(),n("k-file-rename-dialog",{ref:"rename",on:{success:t.renamed}}),n("k-file-remove-dialog",{ref:"remove",on:{success:t.deleted}}),n("k-upload",{ref:"upload",attrs:{url:t.uploadApi,accept:t.file.mime,multiple:!1},on:{success:t.uploaded}})],1)],1)},rh=[],lh={created:function(){this.fetch(),this.$events.$on("keydown.left",this.toPrev),this.$events.$on("keydown.right",this.toNext)},destroyed:function(){this.$events.$off("keydown.left",this.toPrev),this.$events.$off("keydown.right",this.toNext)},watch:{$route:function(){this.fetch()}},methods:{toPrev:function(t){this.prev&&"body"===t.target.localName&&this.$router.push(this.prev.link)},toNext:function(t){this.next&&"body"===t.target.localName&&this.$router.push(this.next.link)}}},uh={mixins:[lh],props:{path:{type:String},filename:{type:String,required:!0}},data:function(){return{name:"",file:{id:null,parent:null,filename:"",url:"",prev:null,next:null,panelIcon:null,panelImage:null,mime:null,content:{}},permissions:{changeName:!1,delete:!1},issue:null,tabs:[],tab:null,options:null}},computed:{uploadApi:function(){return d.api+"/"+this.path+"/files/"+this.filename},prev:function(){if(this.file.prev)return{link:this.$api.files.link(this.path,this.file.prev.filename),tooltip:this.file.prev.filename}},language:function(){return this.$store.state.languages.current},next:function(){if(this.file.next)return{link:this.$api.files.link(this.path,this.file.next.filename),tooltip:this.file.next.filename}}},watch:{language:function(){this.fetch()},path:function(){this.fetch()}},methods:{fetch:function(){var t=this;this.$api.files.get(this.path,this.filename,{view:"panel"}).then(function(e){t.file=e,t.file.next=e.nextWithTemplate,t.file.prev=e.prevWithTemplate,t.file.url=e.url,t.name=e.name,t.tabs=e.blueprint.tabs,t.permissions=e.options,t.options=function(e){t.$api.files.options(t.path,t.file.filename).then(function(t){e(t)})},t.$store.dispatch("breadcrumb",t.$api.files.breadcrumb(t.file,t.$route.name)),t.$store.dispatch("title",t.filename),t.$store.dispatch("form/create",{id:"files/"+e.id,api:t.$api.files.link(t.path,t.filename),content:e.content})}).catch(function(e){window.console.error(e),t.issue=e})},action:function(t){switch(t){case"download":window.open(this.file.url);break;case"rename":this.$refs.rename.open(this.path,this.file.filename);break;case"replace":this.$refs.upload.open({url:d.api+"/"+this.$api.files.url(this.path,this.file.filename),accept:this.file.mime});break;case"remove":this.$refs.remove.open(this.path,this.file.filename);break}},deleted:function(){this.path?this.$router.push("/"+this.path):this.$router.push("/site")},renamed:function(t){this.$router.push(this.$api.files.link(this.path,t.filename))},uploaded:function(){this.fetch(),this.$store.dispatch("notification/success",":)")}}},ch=uh,ph=Object(m["a"])(ch,ah,rh,!1,null,null,null);ph.options.__file="FileView.vue";var dh=ph.exports,fh=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.system?n("k-view",{staticClass:"k-installation-view",attrs:{align:"center"}},["install"===t.state?n("form",{on:{submit:function(e){return e.preventDefault(),t.install(e)}}},[n("h1",{staticClass:"k-offscreen"},[t._v(t._s(t.$t("installation")))]),n("k-fieldset",{attrs:{fields:t.fields,novalidate:!0},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}}),n("k-button",{attrs:{type:"submit",icon:"check"}},[t._v(t._s(t.$t("install")))])],1):"completed"===t.state?n("k-text",[n("k-headline",[t._v(t._s(t.$t("installation.completed")))]),n("k-link",{attrs:{to:"/login"}},[t._v(t._s(t.$t("login")))])],1):n("div",[t.system.isInstalled?t._e():n("k-headline",[t._v(t._s(t.$t("installation.issues.headline")))]),n("ul",{staticClass:"k-installation-issues"},[!1===t.system.isInstallable?n("li",[n("k-icon",{attrs:{type:"alert"}}),n("span",{domProps:{innerHTML:t._s(t.$t("installation.disabled"))}})],1):t._e(),!1===t.requirements.php?n("li",[n("k-icon",{attrs:{type:"alert"}}),n("span",{domProps:{innerHTML:t._s(t.$t("installation.issues.php"))}})],1):t._e(),!1===t.requirements.server?n("li",[n("k-icon",{attrs:{type:"alert"}}),n("span",{domProps:{innerHTML:t._s(t.$t("installation.issues.server"))}})],1):t._e(),!1===t.requirements.mbstring?n("li",[n("k-icon",{attrs:{type:"alert"}}),n("span",{domProps:{innerHTML:t._s(t.$t("installation.issues.mbstring"))}})],1):t._e(),!1===t.requirements.curl?n("li",[n("k-icon",{attrs:{type:"alert"}}),n("span",{domProps:{innerHTML:t._s(t.$t("installation.issues.curl"))}})],1):t._e(),!1===t.requirements.accounts?n("li",[n("k-icon",{attrs:{type:"alert"}}),n("span",{domProps:{innerHTML:t._s(t.$t("installation.issues.accounts"))}})],1):t._e(),!1===t.requirements.content?n("li",[n("k-icon",{attrs:{type:"alert"}}),n("span",{domProps:{innerHTML:t._s(t.$t("installation.issues.content"))}})],1):t._e(),!1===t.requirements.media?n("li",[n("k-icon",{attrs:{type:"alert"}}),n("span",{domProps:{innerHTML:t._s(t.$t("installation.issues.media"))}})],1):t._e(),!1===t.requirements.sessions?n("li",[n("k-icon",{attrs:{type:"alert"}}),n("span",{domProps:{innerHTML:t._s(t.$t("installation.issues.sessions"))}})],1):t._e()]),n("k-button",{attrs:{icon:"refresh"},on:{click:t.check}},[n("span",{domProps:{innerHTML:t._s(t.$t("retry"))}})])],1)],1):t._e()},hh=[],mh={data:function(){return{user:{name:"",email:"",language:"en",password:"",role:"admin"},languages:[],system:null}},computed:{state:function(){return this.system.isOk&&this.system.isInstallable&&!this.system.isInstalled?"install":this.system.isOk&&this.system.isInstallable&&this.system.isInstalled?"completed":void 0},translation:function(){return this.$store.state.translation.current},requirements:function(){return this.system&&this.system.requirements?this.system.requirements:{}},fields:function(){return{name:{label:this.$t("name"),type:"text",icon:"user",autofocus:!0},email:{label:this.$t("email"),type:"email",link:!1,required:!0},password:{label:this.$t("password"),type:"password",placeholder:this.$t("password")+" …",required:!0},language:{label:this.$t("language"),type:"select",options:this.languages,icon:"globe",empty:!1,required:!0}}}},watch:{translation:function(t){this.user.language=t},"user.language":function(t){this.$store.dispatch("translation/activate",t)}},created:function(){this.check()},methods:{install:function(){var t=this;this.$api.system.install(this.user).then(function(e){t.$store.dispatch("user/current",e),t.$store.dispatch("notification/success",t.$t("welcome")+"!"),t.$router.push("/")}).catch(function(e){t.$store.dispatch("notification/error",e)})},check:function(){var t=this;this.$store.dispatch("system/load",!0).then(function(e){!0===e.isInstalled&&e.isReady?t.$router.push("/login"):t.$api.translations.options().then(function(n){t.languages=n,t.system=e,t.$store.dispatch("title",t.$t("view.installation"))})})}}},gh=mh,vh=(n("146c"),Object(m["a"])(gh,fh,hh,!1,null,null,null));vh.options.__file="InstallationView.vue";var bh=vh.exports,kh=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("k-view",{staticClass:"k-settings-view"},[n("k-header",[t._v("\n "+t._s(t.$t("view.settings"))+"\n ")]),n("section",{staticClass:"k-system-info"},[n("header",[n("k-headline",[t._v("Kirby")])],1),n("ul",{staticClass:"k-system-info-box"},[n("li",[n("dl",[n("dt",[t._v(t._s(t.$t("license")))]),n("dd",[t.license?[t._v("\n "+t._s(t.license)+"\n ")]:n("p",[n("strong",{staticClass:"k-system-unregistered"},[t._v(t._s(t.$t("license.unregistered")))])])],2)])]),n("li",[n("dl",[n("dt",[t._v(t._s(t.$t("version")))]),n("dd",[t._v(t._s(t.$store.state.system.info.version))])])])])]),t.multilang?n("section",{staticClass:"k-languages"},[t.languages.length>0?[n("section",{staticClass:"k-languages-section"},[n("header",[n("k-headline",[t._v(t._s(t.$t("languages.default")))])],1),n("k-collection",{attrs:{items:t.defaultLanguage},on:{action:t.action}})],1),n("section",{staticClass:"k-languages-section"},[n("header",[n("k-headline",[t._v(t._s(t.$t("languages.secondary")))]),n("k-button",{attrs:{icon:"add"},on:{click:function(e){t.$refs.create.open()}}},[t._v(t._s(t.$t("language.create")))])],1),t.translations.length?n("k-collection",{attrs:{items:t.translations},on:{action:t.action}}):n("k-empty",{attrs:{icon:"globe"},on:{click:function(e){t.$refs.create.open()}}},[t._v(t._s(t.$t("languages.secondary.empty")))])],1)]:0===t.languages.length?[n("header",[n("k-headline",[t._v(t._s(t.$t("languages")))]),n("k-button",{attrs:{icon:"add"},on:{click:function(e){t.$refs.create.open()}}},[t._v(t._s(t.$t("language.create")))])],1),n("k-empty",{attrs:{icon:"globe"},on:{click:function(e){t.$refs.create.open()}}},[t._v(t._s(t.$t("languages.empty")))])]:t._e(),n("k-language-create-dialog",{ref:"create",on:{success:t.fetch}}),n("k-language-update-dialog",{ref:"update",on:{success:t.fetch}}),n("k-language-remove-dialog",{ref:"remove",on:{success:t.fetch}})],2):t._e()],1)},_h=[],$h={data:function(){return{languages:[]}},computed:{defaultLanguage:function(){return this.languages.filter(function(t){return t.default})},multilang:function(){return this.$store.state.system.info.multilang},license:function(){return this.$store.state.system.info.license},translations:function(){return this.languages.filter(function(t){return!1===t.default})}},created:function(){this.fetch(),this.$store.dispatch("title",this.$t("view.settings")),this.$store.dispatch("breadcrumb",[])},methods:{fetch:function(){var t=this;!1!==this.multilang?this.$api.get("languages").then(function(e){t.languages=e.data.map(function(n){return{id:n.code,default:n.default,icon:{type:"globe",back:"black"},text:n.name,info:n.code,options:[{icon:"edit",text:t.$t("edit"),click:"update"},{icon:"trash",text:t.$t("delete"),disabled:n.default&&1!==e.data.length,click:"remove"}]}})}):this.languages=[]},action:function(t,e){switch(e){case"update":this.$refs.update.open(t.id);break;case"remove":this.$refs.remove.open(t.id);break}}}},yh=$h,xh=(n("9bd5"),Object(m["a"])(yh,kh,_h,!1,null,null,null));xh.options.__file="SettingsView.vue";var wh=xh.exports,Sh=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.issue?n("k-error-view",[t._v("\n "+t._s(t.issue.message)+"\n")]):t.ready?n("k-view",{staticClass:"k-login-view",attrs:{align:"center"}},[n("form",{staticClass:"k-login-form",attrs:{"data-invalid":t.invalid},on:{submit:function(e){return e.preventDefault(),t.login(e)}}},[n("h1",{staticClass:"k-offscreen"},[t._v(t._s(t.$t("login")))]),n("k-fieldset",{attrs:{novalidate:!0,fields:t.fields},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}}),n("div",{staticClass:"k-login-buttons"},[n("span",{staticClass:"k-login-checkbox"},[n("k-checkbox-input",{attrs:{value:t.user.remember,label:t.$t("login.remember")},on:{input:function(e){t.user.remember=e}}})],1),n("k-button",{staticClass:"k-login-button",attrs:{icon:"check",type:"submit"}},[t._v("\n "+t._s(t.$t("login"))+" "),t.isLoading?[t._v("…")]:t._e()],2)],1)],1)]):t._e()},Oh=[],Ch={data:function(){return{ready:!1,issue:null,invalid:!1,isLoading:!1,user:{email:"",password:"",remember:!1}}},computed:{fields:function(){return{email:{autofocus:!0,label:this.$t("email"),type:"email",link:!1},password:{label:this.$t("password"),type:"password",minLength:8,autocomplete:"current-password",counter:!1}}}},created:function(){var t=this;this.$store.dispatch("system/load").then(function(e){e.isReady||t.$router.push("/installation"),e.user&&e.user.id&&t.$router.push("/"),t.ready=!0,t.$store.dispatch("title",t.$t("login"))}).catch(function(e){t.issue=e})},methods:{login:function(){var t=this;this.invalid=!1,this.isLoading=!0,this.$store.dispatch("user/login",this.user).then(function(){t.$store.dispatch("system/load",!0).then(function(){t.$store.dispatch("notification/success",t.$t("welcome")),t.isLoading=!1})}).catch(function(){t.invalid=!0,t.isLoading=!1})}}},Eh=Ch,jh=(n("24c1"),Object(m["a"])(Eh,Sh,Oh,!1,null,null,null));jh.options.__file="LoginView.vue";var Th=jh.exports,Ih=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.issue?n("k-error-view",[t._v("\n "+t._s(t.issue.message)+"\n")]):n("k-view",{staticClass:"k-page-view"},[n("k-header",{attrs:{tabs:t.tabs,tab:t.tab,editable:t.permissions.changeTitle},on:{edit:function(e){t.action("rename")}}},[t._v("\n "+t._s(t.page.title)+"\n "),n("k-button-group",{attrs:{slot:"left"},slot:"left"},[t.permissions.preview&&t.page.previewUrl?n("k-button",{attrs:{responsive:!0,link:t.page.previewUrl,target:"_blank",icon:"open"}},[t._v("\n "+t._s(t.$t("open"))+"\n ")]):t._e(),t.status?n("k-button",{class:["k-status-flag","k-status-flag-"+t.page.status],attrs:{disabled:!1===t.permissions.changeStatus,icon:!1===t.permissions.changeStatus?"protected":"circle",responsive:!0},on:{click:function(e){t.action("status")}}},[t._v("\n "+t._s(t.status.label)+"\n ")]):t._e(),n("k-dropdown",[n("k-button",{attrs:{responsive:!0,icon:"cog"},on:{click:function(e){t.$refs.settings.toggle()}}},[t._v("\n "+t._s(t.$t("settings"))+"\n ")]),n("k-dropdown-content",{ref:"settings",attrs:{options:t.options},on:{action:t.action}})],1),n("k-languages-dropdown")],1),t.page.id?n("k-prev-next",{attrs:{slot:"right",prev:t.prev,next:t.next},slot:"right"}):t._e()],1),t.page.id?n("k-tabs",{key:t.tabsKey,ref:"tabs",attrs:{parent:t.$api.pages.url(t.page.id),blueprint:t.blueprint,tabs:t.tabs},on:{tab:function(e){t.tab=e}}}):t._e(),n("k-page-rename-dialog",{ref:"rename",on:{success:t.update}}),n("k-page-url-dialog",{ref:"url",on:{success:function(e){t.$emit("model.update")}}}),n("k-page-status-dialog",{ref:"status",on:{success:t.update}}),n("k-page-template-dialog",{ref:"template",on:{success:t.update}}),n("k-page-remove-dialog",{ref:"remove"})],1)},Lh=[],Ah={mixins:[lh],props:{path:{type:String,required:!0}},data:function(){return{page:{title:"",id:null,prev:null,next:null,status:null},blueprint:null,preview:!0,permissions:{changeTitle:!1,changeStatus:!1},icon:"page",issue:null,tab:null,tabs:[],options:null}},computed:{prev:function(){if(this.page.prev)return{link:this.$api.pages.link(this.page.prev.id),tooltip:this.page.prev.title}},language:function(){return this.$store.state.languages.current},next:function(){if(this.page.next)return{link:this.$api.pages.link(this.page.next.id),tooltip:this.page.next.title}},status:function(){return null!==this.page.status?this.page.blueprint.status[this.page.status]:null},tabsKey:function(){return"page-"+this.page.id+"-tabs"}},watch:{language:function(){this.fetch()},path:function(){this.fetch()}},methods:{action:function(t){var e=this;switch(t){case"preview":this.$api.pages.preview(this.page.id).then(function(t){window.open(t)}).catch(function(t){e.$store.dispatch("notification/error",t)});break;case"rename":this.$refs.rename.open(this.page.id);break;case"url":this.$refs.url.open(this.page.id);break;case"status":this.$refs.status.open(this.page.id);break;case"template":this.$refs.template.open(this.page.id);break;case"remove":this.$refs.remove.open(this.page.id);break;default:this.$store.dispatch("notification/error",this.$t("notification.notImplemented"));break}},changeLanguage:function(t){this.$store.dispatch("languages/current",t),this.fetch()},fetch:function(){var t=this;this.$api.pages.get(this.path,{view:"panel"}).then(function(e){t.page=e,t.blueprint=e.blueprint.name,t.permissions=e.options,t.tabs=e.blueprint.tabs,t.options=function(e){t.$api.pages.options(t.page.id).then(function(t){e(t)})},t.$store.dispatch("breadcrumb",t.$api.pages.breadcrumb(e)),t.$store.dispatch("title",t.page.title),t.$store.dispatch("form/create",{id:"pages/"+e.id,api:t.$api.pages.link(e.id),content:e.content})}).catch(function(e){t.issue=e})},update:function(){this.fetch(),this.$emit("model.update")}}},qh=Ah,Nh=(n("202d"),Object(m["a"])(qh,Ih,Lh,!1,null,null,null));Nh.options.__file="PageView.vue";var Ph=Nh.exports,Dh=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.issue?n("k-error-view",[t._v("\n "+t._s(t.issue.message)+"\n")]):n("k-view",{key:"site-view",staticClass:"k-site-view"},[n("k-header",{attrs:{tabs:t.tabs,tab:t.tab,editable:t.permissions.changeTitle},on:{edit:function(e){t.action("rename")}}},[t._v("\n "+t._s(t.site.title)+"\n "),n("k-button-group",{attrs:{slot:"left"},slot:"left"},[n("k-button",{attrs:{responsive:!0,link:t.site.url,target:"_blank",icon:"open"}},[t._v("\n "+t._s(t.$t("open"))+"\n ")]),n("k-languages-dropdown")],1)],1),t.site.url?n("k-tabs",{ref:"tabs",attrs:{tabs:t.tabs,blueprint:t.site.blueprint.name,parent:"site"},on:{tab:function(e){t.tab=e}}}):t._e(),n("k-site-rename-dialog",{ref:"rename",on:{success:t.fetch}})],1)},Bh=[],Fh={data:function(){return{site:{title:null,url:null},issue:null,tab:null,tabs:[],options:null,permissions:{changeTitle:!0}}},computed:{language:function(){return this.$store.state.languages.current}},watch:{language:function(){this.fetch()}},created:function(){this.fetch()},methods:{fetch:function(){var t=this;this.$api.site.get({view:"panel"}).then(function(e){t.site=e,t.tabs=e.blueprint.tabs,t.permissions=e.options,t.options=function(e){t.$api.site.options().then(function(t){e(t)})},t.$store.dispatch("breadcrumb",[]),t.$store.dispatch("title",null),t.$store.dispatch("form/create",{id:"site",api:"site",content:e.content})}).catch(function(e){t.issue=e})},action:function(t){switch(t){case"languages":this.$refs.languages.open();break;case"rename":this.$refs.rename.open();break;default:this.$store.dispatch("notification/error",this.$t("notification.notImplemented"));break}}}},Rh=Fh,Mh=Object(m["a"])(Rh,Dh,Bh,!1,null,null,null);Mh.options.__file="SiteView.vue";var zh=Mh.exports,Uh=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.issue?n("k-error-view",[t._v("\n "+t._s(t.issue.message)+"\n")]):n("k-view",{staticClass:"k-users-view"},[n("k-header",[t._v("\n "+t._s(t.$t("view.users"))+"\n "),n("k-button-group",{attrs:{slot:"left"},slot:"left"},[n("k-button",{attrs:{disabled:!1===t.$permissions.users.create,icon:"add"},on:{click:function(e){t.$refs.create.open()}}},[t._v(t._s(t.$t("user.create")))])],1),n("k-button-group",{attrs:{slot:"right"},slot:"right"},[n("k-dropdown",[n("k-button",{attrs:{responsive:!0,icon:"funnel"},on:{click:function(e){t.$refs.roles.toggle()}}},[t._v("\n "+t._s(t.$t("role"))+": "+t._s(t.role?t.role.text:t.$t("role.all"))+"\n ")]),n("k-dropdown-content",{ref:"roles",attrs:{align:"right"}},[n("k-dropdown-item",{attrs:{icon:"bolt"},on:{click:function(e){t.filter(!1)}}},[t._v("\n "+t._s(t.$t("role.all"))+"\n ")]),n("hr"),t._l(t.roles,function(e){return n("k-dropdown-item",{key:e.value,attrs:{icon:"bolt"},on:{click:function(n){t.filter(e)}}},[t._v("\n "+t._s(e.text)+"\n ")])})],2)],1)],1)],1),t.users.length>0?[n("k-collection",{attrs:{items:t.users,pagination:t.pagination},on:{paginate:t.paginate,action:t.action}})]:0===t.total?[n("k-empty",{attrs:{icon:"users"}},[t._v(t._s(t.$t("role.empty")))])]:t._e(),n("k-user-create-dialog",{ref:"create",on:{success:t.fetch}}),n("k-user-email-dialog",{ref:"email",on:{success:t.fetch}}),n("k-user-language-dialog",{ref:"language",on:{success:t.fetch}}),n("k-user-password-dialog",{ref:"password"}),n("k-user-remove-dialog",{ref:"remove",on:{success:t.fetch}}),n("k-user-rename-dialog",{ref:"rename",on:{success:t.fetch}}),n("k-user-role-dialog",{ref:"role",on:{success:t.fetch}})],2)},Hh=[],Vh={data:function(){return{page:1,limit:20,total:null,users:[],roles:[],issue:null}},computed:{pagination:function(){return{page:this.page,limit:this.limit,total:this.total}},role:function(){var t=this,e=null;return this.$route.params.role&&this.roles.forEach(function(n){n.value===t.$route.params.role&&(e=n)}),e}},watch:{$route:function(){this.fetch()}},created:function(){var t=this;this.$api.roles.options().then(function(e){t.roles=e,t.fetch()})},methods:{fetch:function(){var t=this;this.$store.dispatch("title",this.$t("view.users"));var e={paginate:{page:this.page,limit:this.limit}};this.role&&(e.filterBy=[{field:"role",operator:"==",value:this.role.value}]),this.$api.users.list(e).then(function(e){t.users=e.data.map(function(e){var n={id:e.id,icon:{type:"user",back:"black"},text:e.name||e.email,info:e.role.title,link:"/users/"+e.id,options:function(n){t.$api.users.options(e.id,"list").then(function(t){return n(t)}).catch(function(e){t.$store.dispatch("notification/error",e)})},image:null};return e.avatar&&(n.image={url:e.avatar.url,cover:!0}),n}),t.role?t.$store.dispatch("breadcrumb",[{link:"/users/role/"+t.role.value,label:t.$t("role")+": "+t.role.text}]):t.$store.dispatch("breadcrumb",[]),t.total=e.pagination.total}).catch(function(e){t.issue=e})},paginate:function(t){this.page=t.page,this.limit=t.limit,this.fetch()},action:function(t,e){switch(e){case"edit":this.$router.push("/users/"+t.id);break;case"email":this.$refs.email.open(t.id);break;case"role":this.$refs.role.open(t.id);break;case"rename":this.$refs.rename.open(t.id);break;case"password":this.$refs.password.open(t.id);break;case"language":this.$refs.language.open(t.id);break;case"remove":this.$refs.remove.open(t.id);break}},filter:function(t){!1===t?this.$router.push("/users"):this.$router.push("/users/role/"+t.value),this.$refs.roles.close()}}},Kh=Vh,Gh=Object(m["a"])(Kh,Uh,Hh,!1,null,null,null);Gh.options.__file="UsersView.vue";var Yh=Gh.exports,Wh=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.issue?n("k-error-view",[t._v("\n "+t._s(t.issue.message)+"\n")]):t.ready?n("div",{staticClass:"k-user-view"},[n("div",{staticClass:"k-user-profile"},[n("k-view",[t.avatar?[n("k-dropdown",[n("k-button",{staticClass:"k-user-view-image",attrs:{tooltip:t.$t("avatar")},on:{click:function(e){t.$refs.picture.toggle()}}},[t.avatar?n("k-image",{attrs:{cover:!0,src:t.avatar,ratio:"1/1"}}):t._e()],1),n("k-dropdown-content",{ref:"picture"},[n("k-dropdown-item",{attrs:{icon:"upload"},on:{click:function(e){t.$refs.upload.open()}}},[t._v("\n "+t._s(t.$t("change"))+"\n ")]),n("k-dropdown-item",{attrs:{icon:"trash"},on:{click:function(e){t.action("picture.delete")}}},[t._v("\n "+t._s(t.$t("delete"))+"\n ")])],1)],1)]:[n("k-button",{staticClass:"k-user-view-image",attrs:{tooltip:t.$t("avatar")},on:{click:function(e){t.$refs.upload.open()}}},[n("k-icon",{attrs:{type:"user"}})],1)],n("k-button-group",[n("k-button",{attrs:{disabled:!t.permissions.changeEmail,icon:"email"},on:{click:function(e){t.action("email")}}},[t._v(t._s(t.$t("email"))+": "+t._s(t.user.email))]),n("k-button",{attrs:{disabled:!t.permissions.changeRole,icon:"bolt"},on:{click:function(e){t.action("role")}}},[t._v(t._s(t.$t("role"))+": "+t._s(t.user.role.title))]),n("k-button",{attrs:{disabled:!t.permissions.changeLanguage,icon:"globe"},on:{click:function(e){t.action("language")}}},[t._v(t._s(t.$t("language"))+": "+t._s(t.user.language))])],1)],2)],1),n("k-view",[n("k-header",{attrs:{editable:t.permissions.changeName,tabs:t.tabs,tab:t.tab},on:{edit:function(e){t.action("rename")}}},[t.user.name&&0!==t.user.name.length?[t._v(t._s(t.user.name))]:n("span",{staticClass:"k-user-name-placeholder"},[t._v(t._s(t.$t("name"))+" …")]),n("k-button-group",{attrs:{slot:"left"},slot:"left"},[n("k-dropdown",[n("k-button",{attrs:{icon:"cog"},on:{click:function(e){t.$refs.settings.toggle()}}},[t._v("\n "+t._s(t.$t("settings"))+"\n ")]),n("k-dropdown-content",{ref:"settings",attrs:{options:t.options},on:{action:t.action}})],1),n("k-languages-dropdown")],1),t.user.id&&"User"===t.$route.name?n("k-prev-next",{attrs:{slot:"right",prev:t.prev,next:t.next},slot:"right"}):t._e()],2),t.user&&t.tabs.length?n("k-tabs",{key:"user-"+t.user.id+"-tabs-"+(new Date).getTime(),ref:"tabs",attrs:{parent:"users/"+t.user.id,blueprint:t.user.blueprint.name,tabs:t.tabs},on:{tab:function(e){t.tab=e}}}):t.ready?n("k-box",{attrs:{text:t.$t("user.blueprint",{role:t.user.role.name}),theme:"info"}}):t._e(),n("k-user-email-dialog",{ref:"email",on:{success:t.fetch}}),n("k-user-language-dialog",{ref:"language",on:{success:t.fetch}}),n("k-user-password-dialog",{ref:"password"}),n("k-user-remove-dialog",{ref:"remove"}),n("k-user-rename-dialog",{ref:"rename",on:{success:t.fetch}}),n("k-user-role-dialog",{ref:"role",on:{success:t.fetch}}),n("k-upload",{ref:"upload",attrs:{url:t.uploadApi,multiple:!1,accept:"image/*"},on:{success:t.uploadedAvatar}})],1)],1):t._e()},Jh=[],Xh={mixins:[lh],props:{id:{type:String,required:!0}},data:function(){return{tab:null,tabs:[],ready:!1,user:{role:{name:null},name:null,language:null,prev:null,next:null},permissions:{changeEmail:!0,changeName:!0,changeLanguage:!0,changeRole:!0},issue:null,avatar:null,options:null}},computed:{language:function(){return this.$store.state.languages.current},next:function(){if(this.user.next)return{link:this.$api.users.link(this.user.next.id),tooltip:this.user.next.name}},prev:function(){if(this.user.prev)return{link:this.$api.users.link(this.user.prev.id),tooltip:this.user.prev.name}},uploadApi:function(){return d.api+"/users/"+this.user.id+"/avatar"}},watch:{language:function(){this.fetch()}},methods:{action:function(t){var e=this;switch(t){case"email":this.$refs.email.open(this.user.id);break;case"language":this.$refs.language.open(this.user.id);break;case"password":this.$refs.password.open(this.user.id);break;case"picture.delete":this.$api.users.deleteAvatar(this.id).then(function(){e.$store.dispatch("notification/success",":)"),e.avatar=null});break;case"remove":this.$refs.remove.open(this.user.id);break;case"rename":this.$refs.rename.open(this.user.id);break;case"role":this.$refs.role.open(this.user.id);break;default:this.$store.dispatch("notification/error","Not yet implemented")}},fetch:function(){var t=this;this.$api.users.get(this.id,{view:"panel"}).then(function(e){t.user=e,t.tabs=e.blueprint.tabs,t.ready=!0,t.permissions=e.options,t.options=function(e){t.$api.users.options(t.user.id).then(function(t){e(t)})},e.avatar?t.avatar=e.avatar.url:t.avatar=null,"User"===t.$route.name?t.$store.dispatch("breadcrumb",t.$api.users.breadcrumb(e)):t.$store.dispatch("breadcrumb",[]),t.$store.dispatch("title",t.user.name||t.user.email),t.$store.dispatch("form/create",{id:"users/"+e.id,api:t.$api.users.link(e.id),content:e.content})}).catch(function(e){t.issue=e})},uploadedAvatar:function(){this.$store.dispatch("notification/success",":)"),this.fetch()}}},Qh=Xh,Zh=(n("bd96"),Object(m["a"])(Qh,Wh,Jh,!1,null,null,null));Zh.options.__file="UserView.vue";var tm=Zh.exports,em=[{path:"/",name:"Home",redirect:"/site"},{path:"/browser",name:"Browser",component:Zf,meta:{outside:!0}},{path:"/login",component:Th,meta:{outside:!0}},{path:"/logout",beforeEnter:function(){om.dispatch("user/logout")},meta:{outside:!0}},{path:"/installation",component:bh,meta:{outside:!0}},{path:"/site",name:"Site",meta:{view:"site"},component:zh,beforeEnter:Kf},{path:"/site/files/:filename",name:"SiteFile",meta:{view:"site"},component:dh,beforeEnter:Kf,props:function(t){return{path:"site",filename:t.params.filename}}},{path:"/pages/:path/files/:filename",name:"PageFile",meta:{view:"site"},component:dh,beforeEnter:Kf,props:function(t){return{path:"pages/"+t.params.path,filename:t.params.filename}}},{path:"/users/:path/files/:filename",name:"UserFile",meta:{view:"users"},component:dh,beforeEnter:Kf,props:function(t){return{path:"users/"+t.params.path,filename:t.params.filename}}},{path:"/pages/:path",name:"Page",meta:{view:"site"},component:Ph,beforeEnter:Kf,props:function(t){return{path:t.params.path}}},{path:"/settings",name:"Settings",meta:{view:"settings"},component:wh,beforeEnter:Kf},{path:"/users/role/:role",name:"UsersByRole",meta:{view:"users"},component:Yh,beforeEnter:Kf,props:function(t){return{role:t.params.role}}},{path:"/users",name:"Users",meta:{view:"users"},beforeEnter:Kf,component:Yh},{path:"/users/:id",name:"User",meta:{view:"users"},component:tm,beforeEnter:Kf,props:function(t){return{id:t.params.id}}},{path:"/account",name:"Account",meta:{view:"account"},component:tm,beforeEnter:Kf,props:function(){return{id:om.state.user.current.id}}},{path:"/plugins/:id",name:"Plugin",meta:{view:"plugin"},props:function(t){return{plugin:t.params.id}},beforeEnter:Kf,component:oh},{path:"*",name:"NotFound",beforeEnter:function(t,e,n){n("/")}}];i["a"].use(Vf["a"]);var nm=new Vf["a"]({mode:"history",routes:em,url:"/"===d.url?"":d.url});nm.beforeEach(function(t,e,n){"Browser"!==t.name&&!1===Wf.all()&&n("/browser"),om.dispatch("view",t.meta.view),t.meta.outside||om.dispatch("user/visit",t.path),n()});var im=nm,sm={namespaced:!0,state:{current:null,path:null},mutations:{SET_CURRENT:function(t,e){t.current=e,e&&e.permissions?(i["a"].prototype.$user=e,i["a"].prototype.$permissions=e.permissions):(i["a"].prototype.$user=null,i["a"].prototype.$permissions=null)},SET_PATH:function(t,e){t.path=e}},actions:{current:function(t,e){t.commit("SET_CURRENT",e)},language:function(t,e){t.dispatch("translation/activate",e,{root:!0}),t.commit("SET_CURRENT",Object(u["a"])({language:e},t.state.current))},load:function(t){return dm.auth.user().then(function(e){return t.commit("SET_CURRENT",e),e})},login:function(t,e){return dm.auth.login(e).then(function(e){return t.commit("SET_CURRENT",e),t.dispatch("translation/activate",e.language,{root:!0}),im.push(t.state.path||"/"),e})},logout:function(t,e){t.commit("SET_CURRENT",null),e?window.location.href=(window.panel.url||"")+"/login":dm.auth.logout().then(function(){im.push("/login")}).catch(function(){im.push("/login")})},visit:function(t,e){t.commit("SET_PATH",e)}}};i["a"].use(Bf["a"]);var om=new Bf["a"].Store({strict:!1,state:{breadcrumb:[],dialog:null,drag:null,isLoading:!1,search:!1,title:null,view:null},mutations:{SET_BREADCRUMB:function(t,e){t.breadcrumb=e},SET_DIALOG:function(t,e){t.dialog=e},SET_DRAG:function(t,e){t.drag=e},SET_SEARCH:function(t,e){!0===e&&(e={}),t.search=e},SET_TITLE:function(t,e){t.title=e},SET_VIEW:function(t,e){t.view=e},START_LOADING:function(t){t.isLoading=!0},STOP_LOADING:function(t){t.isLoading=!1}},actions:{breadcrumb:function(t,e){t.commit("SET_BREADCRUMB",e)},dialog:function(t,e){t.commit("SET_DIALOG",e)},drag:function(t,e){t.commit("SET_DRAG",e)},isLoading:function(t,e){t.commit(!0===e?"START_LOADING":"STOP_LOADING")},search:function(t,e){t.commit("SET_SEARCH",e)},title:function(t,e){t.commit("SET_TITLE",e),document.title=e||"",t.state.system.info.title&&(document.title+=null!==e?" | "+t.state.system.info.title:t.state.system.info.title)},view:function(t,e){t.commit("SET_VIEW",e)}},modules:{form:Rf,languages:Mf,notification:zf,system:Uf,translation:Hf,user:sm}}),am={running:0,request:function(t,e){var n=this;return e=Object.assign(e||{},{credentials:"same-origin",headers:Object(u["a"])({"x-requested-with":"xmlhttprequest","content-type":"application/json"},e.headers)}),om.state.languages.current&&(e.headers["x-language"]=om.state.languages.current.code),e.headers["x-csrf"]=window.panel.csrf,dm.config.onStart(),this.running++,fetch(dm.config.endpoint+"/"+t,e).then(function(t){return t.json()}).then(function(t){if(t.status&&"error"===t.status)throw t;var e=t;return t.data&&t.type&&"model"===t.type&&(e=t.data),n.running--,dm.config.onComplete(),dm.config.onSuccess(t),e}).catch(function(t){throw n.running--,dm.config.onComplete(),dm.config.onError(t),t})},get:function(t,e,n){return e&&(t+="?"+Object.keys(e).map(function(t){return t+"="+e[t]}).join("&")),this.request(t,Object.assign(n||{},{method:"GET"}))},post:function(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"POST";return this.request(t,Object.assign(n||{},{method:i,body:JSON.stringify(e)}))},patch:function(t,e,n){return this.post(t,e,n,"PATCH")},delete:function(t,e,n){return this.post(t,e,n,"DELETE")}},rm={list:function(){return dm.get("roles")},get:function(t){return dm.get("roles/"+t)},options:function(){return this.list().then(function(t){return t.data.map(function(t){return{info:t.description||"(".concat(i["a"].i18n.translate("role.description.placeholder"),")"),text:t.title,value:t.name}})})}},lm={info:function(t){return dm.get("system",t)},install:function(t){return dm.post("system/install",t).then(function(t){return t.user})},register:function(t){return dm.post("system/register",t)}},um={get:function(t){return dm.get("site",t)},update:function(t){return dm.post("site",t)},title:function(t){return dm.patch("site/title",{title:t})},options:function(){return dm.get("site",{select:"options"}).then(function(t){var e=t.options,n=[];return n.push({click:"rename",icon:"title",text:i["a"].i18n.translate("rename"),disabled:!e.changeTitle}),n})},children:function(t){return dm.post("site/children/search",t)},blueprint:function(){return dm.get("site/blueprint")},blueprints:function(){return dm.get("site/blueprints")}},cm={list:function(){return dm.get("translations")},get:function(t){return dm.get("translations/"+t)},options:function(){var t=[];return this.list().then(function(e){return t=e.data.map(function(t){return{value:t.id,text:t.name}}),t})}},pm={create:function(t){return dm.post(this.url(),t)},list:function(t){return dm.post(this.url(null,"search"),t)},get:function(t,e){return dm.get(this.url(t),e)},update:function(t,e){return dm.patch(this.url(t),e)},delete:function(t){return dm.delete(this.url(t))},changeEmail:function(t,e){return dm.patch(this.url(t,"email"),{email:e})},changeLanguage:function(t,e){return dm.patch(this.url(t,"language"),{language:e})},changeName:function(t,e){return dm.patch(this.url(t,"name"),{name:e})},changePassword:function(t,e){return dm.patch(this.url(t,"password"),{password:e})},changeRole:function(t,e){return dm.patch(this.url(t,"role"),{role:e})},deleteAvatar:function(t){return dm.delete(this.url(t,"avatar"))},blueprint:function(t){return dm.get(this.url(t,"blueprint"))},breadcrumb:function(t){return[{link:"/users/"+t.id,label:t.username}]},options:function(t){return dm.get(this.url(t),{select:"options"}).then(function(t){var e=t.options,n=[];return n.push({click:"rename",icon:"title",text:i["a"].i18n.translate("user.changeName"),disabled:!e.changeName}),n.push({click:"email",icon:"email",text:i["a"].i18n.translate("user.changeEmail"),disabled:!e.changeEmail}),n.push({click:"role",icon:"bolt",text:i["a"].i18n.translate("user.changeRole"),disabled:!e.changeRole}),n.push({click:"password",icon:"key",text:i["a"].i18n.translate("user.changePassword"),disabled:!e.changePassword}),n.push({click:"language",icon:"globe",text:i["a"].i18n.translate("user.changeLanguage"),disabled:!e.changeLanguage}),n.push({click:"remove",icon:"trash",text:i["a"].i18n.translate("user.delete"),disabled:!e.delete}),n})},url:function(t,e){var n=t?"users/"+t:"users";return e&&(n+="/"+e),n},link:function(t,e){return"/"+this.url(t,e)}},dm=Object(u["a"])({config:{onStart:function(){},onComplete:function(){},onSuccess:function(){},onError:function(t){throw window.console.log(t.message),t}},auth:Nf,files:Pf,pages:Df,roles:rm,system:lm,site:um,translations:cm,users:pm},am);dm.config.endpoint=d.api,dm.config.onStart=function(){om.dispatch("isLoading",!0)},dm.config.onComplete=function(){om.dispatch("isLoading",!1)},dm.config.onError=function(t){d.debug&&window.console.error(t),403===t.code&&om.dispatch("user/logout",!0)};var fm=setInterval(dm.auth.user,3e5);dm.config.onSuccess=function(){clearInterval(fm),fm=setInterval(dm.auth.user,3e5)},i["a"].prototype.$api=dm,i["a"].config.errorHandler=function(t){d.debug&&window.console.error(t),om.dispatch("notification/error",{message:t.message||"An error occurred. Please reload the panel"})},window.panel=window.panel||{},window.panel.error=function(t,e){d.debug&&window.console.error(t+": "+e),om.dispatch("error",t+". See the console for more information.")};var hm=n("f2f3");i["a"].use(hm["a"].plugin,om);n("ffc1");var mm={};for(var gm in i["a"].options.components)mm[gm]=i["a"].options.components[gm];var vm=function(t,e){e.template||e.render||e.extends?(e.extends&&"string"===typeof e.extends&&(e.extends=mm[e.extends],e.template&&(e.render=null)),e.mixins&&(e.mixins=e.mixins.map(function(t){return"string"===typeof t?mm[t]:t})),mm[t]&&window.console.warn('Plugin is replacing "'.concat(t,'"')),i["a"].component(t,e)):om.dispatch("notification/error",'Neither template or render method provided nor extending a component when loading plugin component "'.concat(t,'". The component has not been registered.'))};Object.entries(window.panel.plugins.components).forEach(function(t){var e=Object(Ff["a"])(t,2),n=e[0],i=e[1];vm(n,i)}),Object.entries(window.panel.plugins.fields).forEach(function(t){var e=Object(Ff["a"])(t,2),n=e[0],i=e[1];vm(n,i)}),Object.entries(window.panel.plugins.sections).forEach(function(t){var e=Object(Ff["a"])(t,2),n=e[0],i=e[1];vm(n,Object(u["a"])({},i,{mixins:[af].concat(i.mixins||[])}))}),Object.entries(window.panel.plugins.views).forEach(function(t){var e=Object(Ff["a"])(t,2),n=e[0],s=e[1];if(!s.component)return om.dispatch("notification/error",'No view component provided when loading view "'.concat(n,'". The view has not been registered.')),void delete window.panel.plugins.views[n];s.link="/plugins/"+n,void 0===s.icon&&(s.icon="page"),void 0===s.menu&&(s.menu=!0),window.panel.plugins.views[n]={link:s.link,icon:s.icon,menu:s.menu},i["a"].component("k-"+n+"-plugin-view",s.component)}),window.panel.plugins.use.forEach(function(t){i["a"].use(t)}),i["a"].config.productionTip=!1,i["a"].config.devtools=!0,window.panel.app=new i["a"]({router:im,store:om,render:function(t){return t(E)}}).$mount("#app")},5714:function(t,e,n){},"58e5":function(t,e,n){},"5c0b":function(t,e,n){"use strict";var i=n("5e27"),s=n.n(i);s.a},"5e27":function(t,e,n){},"5e3a":function(t,e,n){"use strict";var i=n("7bb1"),s=n.n(i);s.a},"5f4f":function(t,e,n){},"5f5b":function(t,e,n){"use strict";var i=n("8915"),s=n.n(i);s.a},6022:function(t,e,n){"use strict";var i=n("b31f"),s=n.n(i);s.a},"622c":function(t,e,n){},"64e6":function(t,e,n){},"68b5":function(t,e,n){"use strict";var i=n("d2f5"),s=n.n(i);s.a},6937:function(t,e,n){},"696b":function(t,e,n){"use strict";var i=n("0cdc"),s=n.n(i);s.a},"6a0a":function(t,e,n){"use strict";var i=n("5439"),s=n.n(i);s.a},"6ab9":function(t,e,n){},"6af3":function(t,e,n){},"6b18":function(t,e,n){},"6b7f":function(t,e,n){},"6b96":function(t,e,n){},"6bcd":function(t,e,n){"use strict";var i=n("9e0a"),s=n.n(i);s.a},"6d8c":function(t,e,n){},7027:function(t,e,n){"use strict";var i=n("cd7a"),s=n.n(i);s.a},7075:function(t,e,n){},7428:function(t,e,n){},7568:function(t,e,n){"use strict";var i=n("4150"),s=n.n(i);s.a},"75ae":function(t,e,n){},7737:function(t,e,n){"use strict";var i=n("ca19"),s=n.n(i);s.a},"77f7":function(t,e,n){"use strict";var i=n("200b"),s=n.n(i);s.a},"791b":function(t,e,n){"use strict";var i=n("ea0f"),s=n.n(i);s.a},"7bb1":function(t,e,n){},"7d5d":function(t,e,n){"use strict";var i=n("6ab9"),s=n.n(i);s.a},"813c":function(t,e,n){"use strict";var i=n("c664"),s=n.n(i);s.a},8633:function(t,e,n){"use strict";var i=n("3755"),s=n.n(i);s.a},8915:function(t,e,n){},"891e":function(t,e,n){},"8ae6":function(t,e,n){},"8b1d":function(t,e,n){},"8be2":function(t,e,n){"use strict";var i=n("e0b0"),s=n.n(i);s.a},"8e2d":function(t,e,n){"use strict";var i=n("6d8c"),s=n.n(i);s.a},"988f":function(t,e,n){"use strict";var i=n("ea9f"),s=n.n(i);s.a},"9adb":function(t,e,n){},"9ae6":function(t,e,n){},"9bd5":function(t,e,n){"use strict";var i=n("64e6"),s=n.n(i);s.a},"9df9":function(t,e,n){},"9e0a":function(t,e,n){},"9ee7":function(t,e,n){},a2a8:function(t,e,n){"use strict";var i=n("6937"),s=n.n(i);s.a},a319:function(t,e,n){},a361:function(t,e,n){"use strict";var i=n("9adb"),s=n.n(i);s.a},a89c:function(t,e,n){"use strict";var i=n("acc9"),s=n.n(i);s.a},aa8b:function(t,e,n){"use strict";var i=n("b5db"),s=n.n(i);s.a},ac27:function(t,e,n){"use strict";var i=n("3c9d"),s=n.n(i);s.a},acc9:function(t,e,n){},b2d3:function(t,e,n){},b31f:function(t,e,n){},b42a:function(t,e,n){"use strict";var i=n("a319"),s=n.n(i);s.a},b5db:function(t,e,n){},b61e:function(t,e,n){"use strict";var i=n("d268"),s=n.n(i);s.a},b83b:function(t,e,n){"use strict";var i=n("9df9"),s=n.n(i);s.a},b8aa:function(t,e,n){},b8aa9:function(t,e,n){"use strict";var i=n("c9df"),s=n.n(i);s.a},bbbf:function(t,e,n){},bd46:function(t,e,n){"use strict";var i=n("f01a"),s=n.n(i);s.a},bd6e:function(t,e,n){"use strict";var i=n("3218"),s=n.n(i);s.a},bd96:function(t,e,n){"use strict";var i=n("d6a4"),s=n.n(i);s.a},bf53:function(t,e,n){"use strict";var i=n("3c80"),s=n.n(i);s.a},c245:function(t,e,n){},c664:function(t,e,n){},c9df:function(t,e,n){},ca19:function(t,e,n){},ca3a:function(t,e,n){},cd7a:function(t,e,n){},d11d:function(t,e,n){"use strict";var i=n("0812"),s=n.n(i);s.a},d221:function(t,e,n){"use strict";var i=n("6b7f"),s=n.n(i);s.a},d268:function(t,e,n){},d2f5:function(t,e,n){},d4da:function(t,e,n){},d6a4:function(t,e,n){},d6f2:function(t,e,n){},d6fc:function(t,e,n){"use strict";var i=n("08ec"),s=n.n(i);s.a},dccd:function(t,e,n){},dd48:function(t,e,n){},dea4:function(t,e,n){"use strict";var i=n("dd48"),s=n.n(i);s.a},df30:function(t,e,n){"use strict";var i=n("28f4"),s=n.n(i);s.a},e0b0:function(t,e,n){},e104:function(t,e,n){"use strict";var i=n("6b18"),s=n.n(i);s.a},e697:function(t,e,n){},ea0f:function(t,e,n){},ea9f:function(t,e,n){},eabd:function(t,e,n){"use strict";var i=n("b2d3"),s=n.n(i);s.a},ec72:function(t,e,n){},f01a:function(t,e,n){},f093:function(t,e,n){"use strict";var i=n("2114"),s=n.n(i);s.a},f09b:function(t,e,n){},f32d:function(t,e,n){"use strict";var i=n("d4da"),s=n.n(i);s.a},f5e3:function(t,e,n){},f986:function(t,e,n){"use strict";var i=n("3610"),s=n.n(i);s.a},fa25:function(t,e,n){"use strict";var i=n("c245"),s=n.n(i);s.a},fa44:function(t,e,n){"use strict";var i=n("622c"),s=n.n(i);s.a},fbb8:function(t,e,n){"use strict";var i=n("f09b"),s=n.n(i);s.a},fff9:function(t,e,n){}});
\ No newline at end of file
diff --git a/kirby/src/Cms/App.php b/kirby/src/Cms/App.php
index 09872ad..74170cd 100755
--- a/kirby/src/Cms/App.php
+++ b/kirby/src/Cms/App.php
@@ -177,16 +177,7 @@ class App
public function apply(string $name, $value)
{
if ($functions = $this->extension('hooks', $name)) {
- static $applied = [];
-
foreach ($functions as $function) {
- if (in_array($function, $applied[$name] ?? []) === true) {
- continue;
- }
-
- // mark the hook as triggered, to avoid endless loops
- $applied[$name][] = $function;
-
// bind the App object to the hook
$value = $function->call($this, $value);
}
diff --git a/kirby/src/Cms/AppPlugins.php b/kirby/src/Cms/AppPlugins.php
index 62e4c4d..ec7de14 100755
--- a/kirby/src/Cms/AppPlugins.php
+++ b/kirby/src/Cms/AppPlugins.php
@@ -387,7 +387,7 @@ trait AppPlugins
$this->extendCacheTypes([
'apcu' => 'Kirby\Cache\ApcuCache',
'file' => 'Kirby\Cache\FileCache',
- 'memcached' => 'Kirby\Cache\MemCache',
+ 'memcached' => 'Kirby\Cache\MemCached',
]);
$this->extendComponents(include static::$root . '/config/components.php');
diff --git a/kirby/src/Cms/Blueprint.php b/kirby/src/Cms/Blueprint.php
index ea73e5a..3de3d90 100755
--- a/kirby/src/Cms/Blueprint.php
+++ b/kirby/src/Cms/Blueprint.php
@@ -7,6 +7,7 @@ use Kirby\Exception\InvalidArgumentException;
use Kirby\Exception\NotFoundException;
use Kirby\Data\Data;
use Kirby\Form\Field;
+use Kirby\Toolkit\A;
use Kirby\Toolkit\F;
use Kirby\Toolkit\I18n;
use Kirby\Toolkit\Obj;
@@ -197,10 +198,10 @@ class Blueprint
if ($mixin === null) {
$props = $props;
} elseif (is_array($mixin) === true) {
- $props = array_replace_recursive($mixin, $props);
+ $props = A::merge($mixin, $props, A::MERGE_REPLACE);
} else {
try {
- $props = array_replace_recursive(Data::read($mixin), $props);
+ $props = A::merge(Data::read($mixin), $props, A::MERGE_REPLACE);
} catch (Exception $e) {
$props = $props;
}
diff --git a/kirby/src/Cms/HasChildren.php b/kirby/src/Cms/HasChildren.php
index e282a51..f7685ce 100755
--- a/kirby/src/Cms/HasChildren.php
+++ b/kirby/src/Cms/HasChildren.php
@@ -91,11 +91,11 @@ trait HasChildren
}
/**
- * Return all drafts for the site
+ * Return all drafts of the model
*
* @return Pages
*/
- public function drafts(): Pages
+ public function drafts()
{
if (is_a($this->drafts, 'Kirby\Cms\Pages') === true) {
return $this->drafts;
diff --git a/kirby/src/Cms/System.php b/kirby/src/Cms/System.php
index 266728f..c96d2e8 100755
--- a/kirby/src/Cms/System.php
+++ b/kirby/src/Cms/System.php
@@ -191,10 +191,6 @@ class System
*/
public function isOk(): bool
{
- if ($this->isInstallable() === false) {
- return false;
- }
-
return in_array(false, array_values($this->status()), true) === false;
}
diff --git a/kirby/src/Database/Database.php b/kirby/src/Database/Database.php
index 5107477..0209c9c 100755
--- a/kirby/src/Database/Database.php
+++ b/kirby/src/Database/Database.php
@@ -337,6 +337,16 @@ class Database
return $this->lastError;
}
+ /**
+ * Returns the name of the database
+ *
+ * @return string|null
+ */
+ public function name(): ?string
+ {
+ return $this->database;
+ }
+
/**
* Private method to execute database queries.
* This is used by the query() and execute() methods
diff --git a/kirby/src/Database/Sql.php b/kirby/src/Database/Sql.php
index d0cac73..eec3395 100755
--- a/kirby/src/Database/Sql.php
+++ b/kirby/src/Database/Sql.php
@@ -72,7 +72,7 @@ class Sql
return [
'query' => $query,
'bindings' => [
- $databaseBinding => $this->database->database,
+ $databaseBinding => $this->database->name(),
$tableBinding => $table,
]
];
@@ -696,7 +696,7 @@ class Sql
return [
'query' => 'SELECT TABLE_NAME AS name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ' . $binding,
'bindings' => [
- $binding => $this->database->database
+ $binding => $this->database->name()
]
];
}
diff --git a/kirby/translations/fr.json b/kirby/translations/fr.json
index 37178ae..00ee3a3 100755
--- a/kirby/translations/fr.json
+++ b/kirby/translations/fr.json
@@ -218,7 +218,7 @@
"installation": "Installation",
"installation.completed": "Le Panel a été installé",
- "installation.disabled": "The panel installer is disabled on public servers by default. Please run the installer on a local machine or enable it with the panel.install
option.",
+ "installation.disabled": "L'installation du Panel est désactivée par défaut sur les serveurs publics. Veuillez lancer l'installation sur un serveur local, ou activez-la avec l'option panel.install
.",
"installation.issues.accounts":
"Le dossier /site/accounts
n’existe pas ou n’est pas accessible en écriture",
"installation.issues.content":
diff --git a/kirby/translations/pt_BR.json b/kirby/translations/pt_BR.json
new file mode 100755
index 0000000..8225ecd
--- /dev/null
+++ b/kirby/translations/pt_BR.json
@@ -0,0 +1,409 @@
+{
+ "add": "Adicionar",
+ "avatar": "Foto do perfil",
+ "back": "Voltar",
+ "cancel": "Cancelar",
+ "change": "Alterar",
+ "close": "Fechar",
+ "confirm": "Salvar",
+ "copy": "Copiar",
+ "create": "Criar",
+
+ "date": "Data",
+ "date.select": "Selecione uma data",
+
+ "day": "Dia",
+ "days.fri": "Sex",
+ "days.mon": "Seg",
+ "days.sat": "S\u00e1b",
+ "days.sun": "Dom",
+ "days.thu": "Qui",
+ "days.tue": "Ter",
+ "days.wed": "Qua",
+
+ "delete": "Excluir",
+ "dimensions": "Dimensões",
+ "discard": "Descartar",
+ "edit": "Editar",
+
+ "email": "Email",
+ "email.placeholder": "mail@exemplo.com",
+
+ "error.access.login": "Login inválido",
+ "error.access.panel": "Você não tem permissão para acessar o painel",
+
+ "error.avatar.create.fail": "A foto de perfil não pôde ser enviada",
+ "error.avatar.delete.fail": "A foto do perfil não pôde ser deletada",
+ "error.avatar.dimensions.invalid":
+ "Por favor, use uma foto de perfil com largura e altura menores que 3000 pixels",
+ "error.avatar.mime.forbidden":
+ "A foto de perfil deve ser um arquivo JPEG ou PNG",
+
+ "error.blueprint.notFound": "O blueprint \"{name}\" não pôde ser carregado",
+
+ "error.email.preset.notFound": "Preset de email \"{name}\" não encontrado",
+
+ "error.field.converter.invalid": "Conversor \"{converter}\" inválido",
+
+ "error.file.changeName.permission":
+ "Você não tem permissão para alterar o nome de \"{filename}\"",
+ "error.file.duplicate": "Um arquivo com o nome \"{filename}\" já existe",
+ "error.file.extension.forbidden":
+ "Extensão \"{extension}\" não permitida",
+ "error.file.extension.missing":
+ "Extensão de \"{filename}\" em falta",
+ "error.file.mime.differs":
+ "O arquivo enviado precisa ser do tipo \"{mime}\"",
+ "error.file.mime.forbidden": "Tipo de mídia \"{mime}\" não permitido",
+ "error.file.mime.missing":
+ "Tipo de mídia de \"{filename}\" não detectado",
+ "error.file.name.missing": "O nome do arquivo não pode ficar em branco",
+ "error.file.notFound": "Arquivo \"{filename}\" não encontrado",
+ "error.file.type.forbidden": "Você não tem permissão para enviar arquivos {type}",
+ "error.file.undefined": "Arquivo n\u00e3o encontrado",
+
+ "error.form.incomplete": "Por favor, corrija os erros do formulário…",
+ "error.form.notSaved": "O formulário não pôde ser salvo",
+
+ "error.page.changeSlug.permission":
+ "Você não tem permissão para alterar a URL de \"{slug}\"",
+ "error.page.changeStatus.incomplete":
+ "A página possui erros e não pode ser salva",
+ "error.page.changeStatus.permission":
+ "O estado desta página não pode ser alterado",
+ "error.page.changeStatus.toDraft.invalid":
+ "A página \"{slug}\" não pode ser convertida para rascunho",
+ "error.page.changeTemplate.invalid":
+ "O tema da página \"{slug}\" não pode ser alterado",
+ "error.page.changeTemplate.permission":
+ "Você não tem permissão para alterar o tema de \"{slug}\"",
+ "error.page.changeTitle.empty": "O título não pode ficar em branco",
+ "error.page.changeTitle.permission":
+ "Você não tem permissão para alterar o título de \"{slug}\"",
+ "error.page.create.permission": "Você não tem permissão para criar \"{slug}\"",
+ "error.page.delete": "A página \"{slug}\" não pode ser excluída",
+ "error.page.delete.confirm": "Por favor, digite o título da página para confirmar",
+ "error.page.delete.hasChildren":
+ "A página possui subpáginas e não pode ser excluída",
+ "error.page.delete.permission": "Você não tem permissão para excluir \"{slug}\"",
+ "error.page.draft.duplicate":
+ "Um rascunho de página com a URL \"{slug}\" já existe",
+ "error.page.duplicate":
+ "Uma página com a URL \"{slug}\" já existe",
+ "error.page.notFound": "Página\"{slug}\" não encontrada",
+ "error.page.num.invalid":
+ "Digite um número de ordenação válido. Este número não pode ser negativo.",
+ "error.page.slug.invalid": "Por favor, digite uma URL válida",
+ "error.page.sort.permission": "A página \"{slug}\" não pode ser ordenada",
+ "error.page.status.invalid": "Por favor, defina um estado de página válido",
+ "error.page.undefined": "P\u00e1gina n\u00e3o encontrada",
+ "error.page.update.permission": "Você não tem permissão para atualizar \"{slug}\"",
+
+ "error.section.files.max.plural":
+ "Você não pode adicionar mais do que {max} arquivos à seção \"{section}\"",
+ "error.section.files.max.singular":
+ "Você não pode adicionar mais do que um arquivo à seção \"{section}\"",
+ "error.section.files.min.plural":
+ "Adicione pelo menos {min} arquivos à seção \"{section}\"",
+ "error.section.files.min.singular":
+ "Adicione pelo menos um arquivo à seção \"{section}\"",
+
+ "error.section.pages.max.plural":
+ "Você não pode adicionar mais do que {max} página à seção \"{section}\"",
+ "error.section.pages.max.singular":
+ "Você não pode adicionar mais do que uma página à seção \"{section}\"",
+ "error.section.pages.min.plural":
+ "Adicione pelo menos {min} páginas à seção \"{section}\"",
+ "error.section.pages.min.singular":
+ "Adicione pelo menos uma página à seção \"{section}\"",
+
+ "error.section.notLoaded": "A seção \"{name}\" não pôde ser carregada",
+ "error.section.type.invalid": "O tipo da seção \"{type}\" não é válido",
+
+ "error.site.changeTitle.permission":
+ "Você não tem permissão para alterar o título do site",
+ "error.site.update.permission": "Você não tem permissão para atualizar o site",
+
+ "error.template.default.notFound": "O tema padrão não existe",
+
+ "error.user.changeEmail.permission":
+ "Você não tem permissão para alterar o email do usuário \"{name}\"",
+ "error.user.changeLanguage.permission":
+ "Você não tem permissão para alterar o idioma do usuário \"{name}\"",
+ "error.user.changeName.permission":
+ "Você não tem permissão para alterar o nome do usuário \"{name}\"",
+ "error.user.changePassword.permission":
+ "Você não tem permissão para alterar a senha do usuário \"{name}\"",
+ "error.user.changeRole.lastAdmin":
+ "O papel do último administrador não pode ser alterado",
+ "error.user.changeRole.permission":
+ "Você não tem permissão para alterar o papel do usuário \"{name}\"",
+ "error.user.create.permission": "Você não tem permissão para criar este usuário",
+ "error.user.delete": "O usuário \"{name}\" não pode ser excluído",
+ "error.user.delete.lastAdmin": "O último administrador não pode ser excluído",
+ "error.user.delete.lastUser": "O último usuário não pode ser excluído",
+ "error.user.delete.permission":
+ "Você não tem permissão para excluir o usuário \"{name}\"",
+ "error.user.duplicate":
+ "Um usuário com o email \"{email}\" já existe",
+ "error.user.email.invalid": "Digite um endereço de email válido",
+ "error.user.language.invalid": "Digite um idioma válido",
+ "error.user.notFound": "Usuário \"{name}\" não encontrado",
+ "error.user.password.invalid":
+ "Digite uma senha válida. Sua senha deve ter pelo menos 8 caracteres.",
+ "error.user.password.notSame": "As senhas não combinam",
+ "error.user.password.undefined": "O usuário não possui uma senha",
+ "error.user.role.invalid": "Digite um papel válido",
+ "error.user.undefined": "Usu\u00e1rio n\u00e3o encontrado",
+ "error.user.update.permission":
+ "Você não tem permissão para atualizar o usuário \"{name}\"",
+
+ "error.validation.accepted": "Por favor, confirme",
+ "error.validation.alpha": "Por favor, use apenas caracteres entre a-z",
+ "error.validation.alphanum":
+ "Por favor, use apenas caracteres entre a-z ou 0-9",
+ "error.validation.between":
+ "Digite um valor entre \"{min}\" e \"{max}\"",
+ "error.validation.boolean": "Por favor, confirme ou rejeite",
+ "error.validation.contains":
+ "Digite um valor que contenha \"{needle}\"",
+ "error.validation.date": "Escolha uma data válida",
+ "error.validation.denied": "Por favor, cancele",
+ "error.validation.different": "O valor deve ser diferente de \"{other}\"",
+ "error.validation.email": "Digite um endereço de email válido",
+ "error.validation.endswith": "O valor deve terminar com \"{end}\"",
+ "error.validation.filename": "Digite um nome de arquivo válido",
+ "error.validation.in": "Digite um destes valores: ({in})",
+ "error.validation.integer": "Digite um número inteiro válido",
+ "error.validation.ip": "Digite um endereço de IP válido",
+ "error.validation.less": "Digite um valor menor que {max}",
+ "error.validation.match": "O valor não combina com o padrão esperado",
+ "error.validation.max": "Digite um valor igual ou menor que {max}",
+ "error.validation.maxlength":
+ "Digite um valor curto. (no máximo {max} caracteres)",
+ "error.validation.maxwords": "Digite menos que {max} palavra(s)",
+ "error.validation.min": "Digite um valor igual ou maior que {min}",
+ "error.validation.minlength":
+ "Digite um valor maior. (no mínimo {min} caracteres)",
+ "error.validation.minwords": "Digite ao menos {min} palavra(s)",
+ "error.validation.more": "Digite um valor maior que {min}",
+ "error.validation.notcontains":
+ "Digite um valor que não contenha \"{needle}\"",
+ "error.validation.notin":
+ "Não digite nenhum destes valores: ({notIn})",
+ "error.validation.option": "Escolha uma opção válida",
+ "error.validation.num": "Digite um número válido",
+ "error.validation.required": "Digite algo",
+ "error.validation.same": "Por favor, digite \"{other}\"",
+ "error.validation.size": "O tamanho do valor deve ser \"{size}\"",
+ "error.validation.startswith": "O valor deve começar com \"{start}\"",
+ "error.validation.time": "Digite uma hora válida",
+ "error.validation.url": "Digite uma URL válida",
+
+ "field.files.empty": "Nenhum arquivo selecionado",
+ "field.pages.empty": "Nenhuma página selecionada",
+ "field.structure.delete.confirm": "Deseja realmente excluir este registro?",
+ "field.structure.empty": "Nenhum registro",
+ "field.users.empty": "Nenhum usuário selecionado",
+
+ "file.delete.confirm":
+ "Deseja realmente excluir
{filename}?",
+
+ "files": "Arquivos",
+ "files.empty": "Nenhum arquivo",
+
+ "hour": "Hora",
+ "insert": "Inserir",
+ "install": "Instalar",
+
+ "installation": "Instalação",
+ "installation.completed": "Painel instalado com sucesso",
+ "installation.disabled": "O instalador do painel está desabilitado em servidores públicos por padrão. Por favor, execute o instalador em uma máquina local ou habilite a opção panel.install
.",
+ "installation.issues.accounts":
+ "A pasta /site/accounts
não existe ou não possui permissão de escrita",
+ "installation.issues.content":
+ "A pasta /content
não existe ou não possui permissão de escrita",
+ "installation.issues.curl": "A extensão CURL
é necessária",
+ "installation.issues.headline": "O painel não pôde ser instalado",
+ "installation.issues.mbstring":
+ "A extensão MB String
é necessária",
+ "installation.issues.media":
+ "A pasta /media
não existe ou não possui permissão de escrita",
+ "installation.issues.php": "Certifique-se que você está usando o PHP 7+
",
+ "installation.issues.server":
+ "Kirby necessita do Apache
, Nginx
ou Caddy
",
+ "installation.issues.sessions": "A pasta /site/sessions
não existe ou não possui permissão de escrita",
+
+ "language": "Idioma",
+ "language.code": "Código",
+ "language.convert": "Tornar padrão",
+ "language.convert.confirm":
+ "Deseja realmente converter {name} para o idioma padrão? Esta ação não poderá ser revertida.
Se {name} tiver conteúdo não traduzido, partes do seu site poderão ficar sem conteúdo.
",
+ "language.create": "Adicionar novo idioma",
+ "language.delete.confirm":
+ "Deseja realmente excluir o idioma {name} incluíndo todas as traduções. Esta ação não poderá ser revertida!",
+ "language.deleted": "Idioma excluído",
+ "language.direction": "Direção de leitura",
+ "language.direction.ltr": "Esquerda para direita",
+ "language.direction.rtl": "Direita para esquerda",
+ "language.locale": "String de localização do PHP",
+ "language.name": "Nome",
+ "language.updated": "Idioma atualizado",
+
+ "languages": "Idiomas",
+ "languages.default": "Idioma padrão",
+ "languages.empty": "Nenhum idioma",
+ "languages.secondary": "Idiomas secundários",
+ "languages.secondary.empty": "Nenhum idioma secundário",
+
+ "license": "Licen\u00e7a do Kirby ",
+ "license.buy": "Comprar uma licença",
+ "license.register": "Registrar",
+ "license.register.help":
+ "Você recebeu o código da sua licença por email após a compra. Por favor, copie e cole-o para completar o registro.",
+ "license.register.label": "Por favor, digite o código da sua licença",
+ "license.register.success": "Obrigado por apoiar o Kirby",
+ "license.unregistered": "Esta é uma demonstração não registrada do Kirby",
+
+ "link": "Link",
+ "link.text": "Texto do link",
+
+ "loading": "Carregando",
+
+ "login": "Entrar",
+ "login.remember": "Manter-me conectado",
+
+ "logout": "Sair",
+
+ "menu": "Menu",
+ "meridiem": "AM/PM",
+ "mime": "Tipo de mídia",
+ "minutes": "Minutos",
+
+ "month": "Mês",
+ "months.april": "Abril",
+ "months.august": "Agosto",
+ "months.december": "Dezembro",
+ "months.february": "Fevereiro",
+ "months.january": "Janeiro",
+ "months.july": "Julho",
+ "months.june": "Junho",
+ "months.march": "Mar\u00e7o",
+ "months.may": "Maio",
+ "months.november": "Novembro",
+ "months.october": "Outubro",
+ "months.september": "Setembro",
+
+ "more": "Mais",
+ "name": "Nome",
+ "next": "Próximo",
+ "open": "Abrir",
+ "options": "Opções",
+
+ "orientation": "Orientação",
+ "orientation.landscape": "Paisagem",
+ "orientation.portrait": "Retrato",
+ "orientation.square": "Quadrado",
+
+ "page.changeSlug": "Alterar URL",
+ "page.changeSlug.fromTitle": "Criar a partir do t\u00edtulo",
+ "page.changeStatus": "Alterar estado",
+ "page.changeStatus.position": "Selecione uma posição",
+ "page.changeStatus.select": "Selecione um novo estado",
+ "page.changeTemplate": "Alterar tema",
+ "page.delete.confirm":
+ "Deseja realmente excluir {title}?",
+ "page.delete.confirm.subpages":
+ "Esta página possui subpáginas.
Todas as subpáginas serão excluídas também.",
+ "page.delete.confirm.title": "Digite o título da página para confirmar",
+ "page.draft.create": "Criar rascunho",
+ "page.status": "Estado",
+ "page.status.draft": "Rascunho",
+ "page.status.draft.description":
+ "A página está em modo de rascunho e é visível somente para editores",
+ "page.status.listed": "Pública",
+ "page.status.listed.description": "A página é pública para todos",
+ "page.status.unlisted": "Não listadas",
+ "page.status.unlisted.description": "Esta página é acessível somente através da URL",
+
+ "pages": "Páginas",
+ "pages.empty": "Nenhuma página",
+ "pages.status.draft": "Rascunhos",
+ "pages.status.listed": "Publicadas",
+ "pages.status.unlisted": "Não listadas",
+
+ "password": "Senha",
+ "pixel": "Pixel",
+ "prev": "Anterior",
+ "remove": "Remover",
+ "rename": "Renomear",
+ "replace": "Substituir",
+ "retry": "Tentar novamente",
+ "revert": "Descartar",
+
+ "role": "Papel",
+ "role.all": "Todos",
+ "role.empty": "Não há usuários com este papel",
+ "role.description.placeholder": "Sem descrição",
+
+ "save": "Salvar",
+ "search": "Buscar",
+ "select": "Selecionar",
+ "settings": "Configurações",
+ "size": "Tamanho",
+ "slug": "URL",
+ "sort": "Ordenar",
+ "title": "Título",
+ "template": "Tema",
+ "today": "Hoje",
+
+ "toolbar.button.code": "Código",
+ "toolbar.button.bold": "Negrito",
+ "toolbar.button.email": "Email",
+ "toolbar.button.headings": "Títulos",
+ "toolbar.button.heading.1": "Título 1",
+ "toolbar.button.heading.2": "Título 2",
+ "toolbar.button.heading.3": "Título 3",
+ "toolbar.button.italic": "Itálico",
+ "toolbar.button.link": "Link",
+ "toolbar.button.ol": "Lista ordenada",
+ "toolbar.button.ul": "Lista não-ordenada",
+
+ "translation.author": "Kirby Team",
+ "translation.direction": "ltr",
+ "translation.name": "Português (Brasileiro)",
+
+ "upload": "Enviar",
+ "upload.errors": "Erro",
+ "upload.progress": "Enviando…",
+
+ "url": "Url",
+ "url.placeholder": "https://exemplo.com",
+
+ "user": "Usuário",
+ "user.blueprint":
+ "Você pode definir seções e campos de formulário adicionais para este papel de usuário em /site/blueprints/users/{role}.yml",
+ "user.changeEmail": "Alterar email",
+ "user.changeLanguage": "Alterar idioma",
+ "user.changeName": "Renomear este usuário",
+ "user.changePassword": "Alterar senha",
+ "user.changePassword.new": "Nova senha",
+ "user.changePassword.new.confirm": "Confirme a nova senha…",
+ "user.changeRole": "Alterar papel",
+ "user.changeRole.select": "Selecione um novo papel",
+ "user.create": "Adicionar novo usuário",
+ "user.delete": "Excluir este usuário",
+ "user.delete.confirm":
+ "Deseja realmente excluir
{email}?",
+
+ "version": "Vers\u00e3o do Kirby",
+
+ "view.account": "Sua conta",
+ "view.installation": "Instala\u00e7\u00e3o",
+ "view.settings": "Configurações",
+ "view.site": "Site",
+ "view.users": "Usu\u00e1rios",
+
+ "welcome": "Bem-vindo",
+ "year": "Ano"
+}
diff --git a/kirby/translations/sv_SE.json b/kirby/translations/sv_SE.json
index 83a025f..8aa0b05 100755
--- a/kirby/translations/sv_SE.json
+++ b/kirby/translations/sv_SE.json
@@ -218,7 +218,7 @@
"installation": "Installation",
"installation.completed": "Panelen har installerats",
- "installation.disabled": "The panel installer is disabled on public servers by default. Please run the installer on a local machine or enable it with the panel.install
option.",
+ "installation.disabled": "Installeraren för panelen är som standard inaktiverad på offentliga servrar. Kör installeraren på en lokal maskin eller aktivera den med alternativet panel.install
.",
"installation.issues.accounts":
"Mappen /site/accounts
finns inte eller är inte skrivbar",
"installation.issues.content":
@@ -232,7 +232,7 @@
"installation.issues.php": "Se till att du använder PHP 7+
",
"installation.issues.server":
"Kirby kräver Apache
, Nginx
eller Caddy
",
- "installation.issues.sessions": "The /site/sessions
folder does not exist or is not writable",
+ "installation.issues.sessions": "Mappen /site/sessions
finns inte eller är inte skrivbar",
"language": "Spr\u00e5k",
"language.code": "Kod",
diff --git a/kirby/translations/tr.json b/kirby/translations/tr.json
index 5976bcd..accab22 100755
--- a/kirby/translations/tr.json
+++ b/kirby/translations/tr.json
@@ -218,7 +218,7 @@
"installation": "Kurulum",
"installation.completed": "Panel kuruldu",
- "installation.disabled": "The panel installer is disabled on public servers by default. Please run the installer on a local machine or enable it with the panel.install
option.",
+ "installation.disabled": "Panel yükleyici, herkese açık sunucularda varsayılan olarak devre dışıdır. Lütfen yükleyiciyi yerel bir makinede çalıştırın veya panel.install
seçeneğiyle etkinleştirin.",
"installation.issues.accounts":
"/site/accounts
klasörü yok yada yazılabilir değil",
"installation.issues.content":
diff --git a/kirby/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php b/kirby/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
deleted file mode 100755
index 4b861c3..0000000
--- a/kirby/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
+++ /dev/null
@@ -1,144 +0,0 @@
- ".
- *
- * Example ->error('Foo') would yield "error Foo".
- *
- * @return string[]
- */
- abstract public function getLogs();
-
- public function testImplements()
- {
- $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger());
- }
-
- /**
- * @dataProvider provideLevelsAndMessages
- */
- public function testLogsAtAllLevels($level, $message)
- {
- $logger = $this->getLogger();
- $logger->{$level}($message, array('user' => 'Bob'));
- $logger->log($level, $message, array('user' => 'Bob'));
-
- $expected = array(
- $level.' message of level '.$level.' with context: Bob',
- $level.' message of level '.$level.' with context: Bob',
- );
- $this->assertEquals($expected, $this->getLogs());
- }
-
- public function provideLevelsAndMessages()
- {
- return array(
- LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'),
- LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'),
- LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'),
- LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'),
- LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'),
- LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'),
- LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'),
- LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}'),
- );
- }
-
- /**
- * @expectedException \Psr\Log\InvalidArgumentException
- */
- public function testThrowsOnInvalidLevel()
- {
- $logger = $this->getLogger();
- $logger->log('invalid level', 'Foo');
- }
-
- public function testContextReplacement()
- {
- $logger = $this->getLogger();
- $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar'));
-
- $expected = array('info {Message {nothing} Bob Bar a}');
- $this->assertEquals($expected, $this->getLogs());
- }
-
- public function testObjectCastToString()
- {
- if (method_exists($this, 'createPartialMock')) {
- $dummy = $this->createPartialMock('Psr\Log\Test\DummyTest', array('__toString'));
- } else {
- $dummy = $this->getMock('Psr\Log\Test\DummyTest', array('__toString'));
- }
- $dummy->expects($this->once())
- ->method('__toString')
- ->will($this->returnValue('DUMMY'));
-
- $this->getLogger()->warning($dummy);
-
- $expected = array('warning DUMMY');
- $this->assertEquals($expected, $this->getLogs());
- }
-
- public function testContextCanContainAnything()
- {
- $closed = fopen('php://memory', 'r');
- fclose($closed);
-
- $context = array(
- 'bool' => true,
- 'null' => null,
- 'string' => 'Foo',
- 'int' => 0,
- 'float' => 0.5,
- 'nested' => array('with object' => new DummyTest),
- 'object' => new \DateTime,
- 'resource' => fopen('php://memory', 'r'),
- 'closed' => $closed,
- );
-
- $this->getLogger()->warning('Crazy context data', $context);
-
- $expected = array('warning Crazy context data');
- $this->assertEquals($expected, $this->getLogs());
- }
-
- public function testContextExceptionKeyCanBeExceptionOrOtherValues()
- {
- $logger = $this->getLogger();
- $logger->warning('Random message', array('exception' => 'oops'));
- $logger->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail')));
-
- $expected = array(
- 'warning Random message',
- 'critical Uncaught Exception!'
- );
- $this->assertEquals($expected, $this->getLogs());
- }
-}
-
-class DummyTest
-{
- public function __toString()
- {
- }
-}
diff --git a/kirby/vendor/psr/log/Psr/Log/Test/TestLogger.php b/kirby/vendor/psr/log/Psr/Log/Test/TestLogger.php
deleted file mode 100755
index 0cdffe4..0000000
--- a/kirby/vendor/psr/log/Psr/Log/Test/TestLogger.php
+++ /dev/null
@@ -1,146 +0,0 @@
- $level,
- 'message' => $message,
- 'context' => $context,
- ];
-
- $this->recordsByLevel[$record['level']][] = $record;
- $this->records[] = $record;
- }
-
- public function hasRecords($level)
- {
- return isset($this->recordsByLevel[$level]);
- }
-
- public function hasRecord($record, $level)
- {
- if (is_string($record)) {
- $record = ['message' => $record];
- }
- return $this->hasRecordThatPasses(function ($rec) use ($record) {
- if ($rec['message'] !== $record['message']) {
- return false;
- }
- if (isset($record['context']) && $rec['context'] !== $record['context']) {
- return false;
- }
- return true;
- }, $level);
- }
-
- public function hasRecordThatContains($message, $level)
- {
- return $this->hasRecordThatPasses(function ($rec) use ($message) {
- return strpos($rec['message'], $message) !== false;
- }, $level);
- }
-
- public function hasRecordThatMatches($regex, $level)
- {
- return $this->hasRecordThatPasses(function ($rec) use ($regex) {
- return preg_match($regex, $rec['message']) > 0;
- }, $level);
- }
-
- public function hasRecordThatPasses(callable $predicate, $level)
- {
- if (!isset($this->recordsByLevel[$level])) {
- return false;
- }
- foreach ($this->recordsByLevel[$level] as $i => $rec) {
- if (call_user_func($predicate, $rec, $i)) {
- return true;
- }
- }
- return false;
- }
-
- public function __call($method, $args)
- {
- if (preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) {
- $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3];
- $level = strtolower($matches[2]);
- if (method_exists($this, $genericMethod)) {
- $args[] = $level;
- return call_user_func_array([$this, $genericMethod], $args);
- }
- }
- throw new \BadMethodCallException('Call to undefined method ' . get_class($this) . '::' . $method . '()');
- }
-
- public function reset()
- {
- $this->records = [];
- }
-}