import{I as n,a as r}from"./index-DjIio1qt.chunk.mjs";import{a as s}from"./preload-helper-iHri5ttz.chunk.mjs";import{n as o,t}from"./index-DPkUyJ8g-UnDW2o9S.chunk.mjs";import{u as l,h as m}from"./index-DXEYydlG.chunk.mjs";import{N as c}from"./NcTextField-Czr9S6YO-DnAoQt65.chunk.mjs";import"./index-CJ3jRDua.chunk.mjs";import"./index-BSfP607A.chunk.mjs";import"./useHotKey-23bqhMxn.chunk.mjs";import"./NcActionButton-K4jUGMlW-DD8ds-uj.chunk.mjs";import"./NcProgressBar-D7zYeXBH-otMdN8sK.chunk.mjs";import"./useModelMigration-EhAWvqDD-C15wbtL_.chunk.mjs";const d=s({components:{NcDialog:m,NcNoteCard:l,NcTextField:c},props:{error:{type:n,required:!0},validateFilename:{type:Function,required:!0}},setup(){return{t}},data(){return{newName:"",validationError:""}},computed:{isValidName(){return this.validationError===""},isInvalidFileType(){return this.error.reason===r.Extension&&this.error.segment.match(/^\.\w/)!==null},canRename(){return!this.isInvalidFileType},dialogButtons(){const e=[{label:t("Cancel"),type:"error",callback:()=>{this.$emit("close",{cancel:!0})}},{label:t("Skip"),callback:()=>{this.$emit("close",{skip:!0})}}];return this.canRename&&e.push({label:t("Rename"),type:"primary",disabled:!this.isValidName,callback:()=>{this.$emit("close",{rename:this.newName.trimEnd()})}}),e}},watch:{error:{handler(){this.validationError=this.getErrorText(this.error),this.newName=this.error.filename},immediate:!0},newName(){try{this.validateFilename(this.newName.trimEnd()),this.validationError=""}catch(e){this.validationError=this.getErrorText(e)}finally{const e=this.$refs.textfield?.$el.querySelector("input");e&&(e.setCustomValidity(this.validationError),e.reportValidity())}}},methods:{getErrorText(e){switch(e.reason){case r.Character:return t('"{segment}" is not allowed inside a file or folder name.',{segment:e.segment});case r.ReservedName:return t('"{segment}" is a forbidden file or folder name.',{segment:e.segment});case r.Extension:return e.segment.match(/\.\w/)?t('"{segment}" is a forbidden file type.',{segment:e.segment}):t('Filenames must not end with "{segment}".',{segment:e.segment})}}}});var h=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("NcDialog",{attrs:{buttons:e.dialogButtons,name:e.t("Invalid filename")},on:{close:function(a){return e.$emit("close",{cancel:!0})}}},[i("NcNoteCard",{attrs:{severity:"error"}},[e._v(" "+e._s(e.getErrorText(e.error))+" "+e._s(e.t("You can either rename the file, skip this file or cancel the whole operation."))+" ")]),e.canRename?i("NcTextField",{ref:"textfield",staticClass:"invalid-filename-dialog__input",attrs:{error:!e.isValidName,"helper-text":e.validationError,label:e.t("New filename"),value:e.newName},on:{"update:value":function(a){e.newName=a}}}):e._e()],1)},p=[],u=o(d,h,p,!1,null,"9d7d9a49");const T=u.exports;export{T as default};
//# sourceMappingURL=InvalidFilenameDialog-BM2VDeLo-D9pRHbSO.chunk.mjs.map
