import{I as n,a as r}from"./index-BCevi9E9.chunk.mjs";import{d as s}from"./preload-helper-DadE4qT2.chunk.mjs";import{n as o,t}from"./index-DdKmqUaK-CZdPFXPx.chunk.mjs";import{h as l,i as m}from"./index-Dgdobvu3.chunk.mjs";import{N as c}from"./NcTextField-CfZknuqx-CsSvGxmN.chunk.mjs";import"./NcProgressBar-D7zYeXBH-uJjZguS5.chunk.mjs";import"./index-V4SUT3Zk.chunk.mjs";import"./useHotKey-DFSRx3Nk.chunk.mjs";import"./NcActionButton-DykQxmXJ-KVA0ETt1.chunk.mjs";import"./useModelMigration-EhAWvqDD-Zhby4giX.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,"3a479259");const F=u.exports;export{F as default}; //# sourceMappingURL=InvalidFilenameDialog-BYpqWa7P-COhbGb20.chunk.mjs.map