@duxweb/dvha-pro 1.1.6 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),r=require("@duxweb/dvha-core"),C=require("@vueuse/core"),k=require("aieditor"),w=require("naive-ui"),A=a.defineComponent({name:"DuxAiEditor",props:{value:String,defaultValue:String,uploadPath:String,uploadHeaders:Object,aiPath:String,height:{type:String,default:"500px"},onUpdateValue:Function},setup(t,{emit:v}){const o=a.ref();let l=null,d=!1;const p=r.useTheme(),{config:m}=r.useManage(),f=r.useGetAuth(),{t:P}=r.useI18n(),U=w.useMessage(),y=t.value??t.defaultValue??"",n=C.useVModel(t,"value",v,{passive:!0}),i=a.computed(()=>t.uploadPath||m.apiPath?.upload||"upload"),c=r.useUpload({path:i.value,autoUpload:!1});a.watch(n,e=>{!l||d||l.setContent(e||"")},{immediate:!0,flush:"post"});const h=e=>new Promise((u,S)=>{c.addFiles([e],"file").then(()=>{c.trigger().then(s=>{s.forEach(g=>{const H=g?.data?.data;u({errorCode:0,data:{src:H?.url,alt:g?.filename}})})}).catch(s=>{U.error(s.message),S(s)}).finally(()=>{c.clearFiles()})})});return a.onMounted(()=>{l=new k.AiEditor({theme:p.isDark.value?"dark":"light",element:o.value,placeholder:P("components.editor.placeholder"),content:y,onBlur:e=>{d=!0,n.value=e.getHtml(),d=!1},image:{uploadUrl:i.value,uploadHeaders:t.uploadHeaders||{},uploader:h},video:{uploadUrl:i.value,uploadHeaders:t.uploadHeaders||{},uploader:h},attachment:{uploadUrl:i.value,uploadHeaders:t.uploadHeaders||{},uploader:h},ai:{models:{custom:{url:t.aiPath||m.apiPath?.ai||"ai",headers:()=>({"Content-Type":"application/json",Authorization:f.token}),wrapPayload:e=>JSON.stringify({prompt:e}),parseMessage:e=>{const u=JSON.parse(e);return{role:"assistant",content:u.message,index:u.number,status:u.status}},protocol:"sse"}}}}),n.value!=null&&l.setContent(n.value||"")}),a.onUnmounted(()=>{l?.destroy()}),a.watch(p.isDark,e=>{o.value&&(o.value.classList.remove("aie-theme-dark","aie-theme-light"),o.value.classList.add(e?"aie-theme-dark":"aie-theme-light"))},{immediate:!0}),()=>a.createVNode("div",{ref:o,style:`height: ${t.height}; width:100%`},null)}});exports.DuxAiEditor=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),c=require("@duxweb/dvha-core"),T=require("@vueuse/core"),U=require("aieditor"),x=require("naive-ui");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vee-validate");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("short-unique-id");const $=require("../upload/config.cjs");require("@vue-flow/core");require("@vue-flow/background");;/* empty css */const E=require("../../hooks/modal.cjs");require("mime");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("dayjs");require("@tanstack/vue-query");require("pinia");const L=a.defineComponent({name:"DuxAiEditor",props:{value:String,defaultValue:String,uploadPath:String,uploadHeaders:Object,editorType:{type:String,default:"richtext"},aiPath:String,fileManager:{type:Boolean,default:!0},fileManagerType:{type:String,default:"all"},height:{type:String,default:"500px"},onUpdateValue:Function},setup(r,{emit:y}){const o=a.ref();let u=null,q=!1;const f=c.useTheme(),{config:v}=c.useManage(),k=c.useGetAuth(),{t:h}=c.useI18n(),M=x.useMessage(),C=E.useModal(),b=r.value??r.defaultValue??"",l=T.useVModel(r,"value",y,{passive:!0}),d=a.computed(()=>r.uploadPath||v.apiPath?.upload||"upload"),g=c.useUpload({path:d.value,autoUpload:!1}),{managePath:H,method:P}=$.useUploadConfig();a.watch(l,e=>{!u||q||(r.editorType==="markdown"?u.setMarkdownContent(e||""):u.setContent(e||""))},{immediate:!0,flush:"post"});const m=e=>new Promise((t,n)=>{g.addFiles([e],"file").then(()=>{g.trigger().then(i=>{i.forEach(s=>{const p=s?.data?.data;t({errorCode:0,data:{src:p?.url,alt:s?.filename}})})}).catch(i=>{M.error(i.message),n(i)}).finally(()=>{g.clearFiles()})})}),S=e=>{const t=String(e?.filetype||""),n=String(e?.url||"");return/^image\//i.test(t)||/\.(?:png|jpe?g|gif|bmp|webp|svg)$/i.test(n)?"image":/^video\//i.test(t)||/\.(?:mp4|webm|ogg|mov|m4v)$/i.test(n)?"video":"attachment"};return a.onMounted(()=>{u=new U.AiEditor({theme:f.isDark.value?"dark":"light",element:o.value,placeholder:h("components.editor.placeholder"),content:b,contentIsMarkdown:r.editorType==="markdown",onBlur:e=>{q=!0,l.value=r.editorType==="markdown"?e.getMarkdown():e.getHtml(),q=!1},image:{uploadUrl:d.value,uploadHeaders:r.uploadHeaders||{},uploader:m,defaultSize:"auto"},video:{uploadUrl:d.value,uploadHeaders:r.uploadHeaders||{},uploader:m},attachment:{uploadUrl:d.value,uploadHeaders:r.uploadHeaders||{},uploader:m},ai:{models:{custom:{url:r.aiPath||v.apiPath?.ai||"ai",headers:()=>({"Content-Type":"application/json",Authorization:k.token}),wrapPayload:e=>JSON.stringify({prompt:e}),parseMessage:e=>{const t=JSON.parse(e);return{role:"assistant",content:t.message,index:t.number,status:t.status}},protocol:"sse"}}},toolbarKeys:["undo","redo","brush","eraser","divider","heading","font-family","font-size","divider","bold","italic","underline","strike","link","code","subscript","superscript","hr","todo","emoji","divider","highlight","font-color","divider","align","line-height","divider","bullet-list","ordered-list","indent-decrease","indent-increase","break","divider",...r.fileManager?[{id:"dux-file-manager-image",tip:h("components.upload.fileManager"),icon:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M3.08697 9H20.9134C21.4657 9 21.9134 9.44772 21.9134 10C21.9134 10.0277 21.9122 10.0554 21.9099 10.083L21.0766 20.083C21.0334 20.6013 20.6001 21 20.08 21H3.9203C3.40021 21 2.96695 20.6013 2.92376 20.083L2.09042 10.083C2.04456 9.53267 2.45355 9.04932 3.00392 9.00345C3.03155 9.00115 3.05925 9 3.08697 9ZM4.84044 19H19.1599L19.8266 11H4.17377L4.84044 19ZM13.4144 5H20.0002C20.5525 5 21.0002 5.44772 21.0002 6V7H3.00017V4C3.00017 3.44772 3.44789 3 4.00017 3H11.4144L13.4144 5Z"></path></svg>',onClick:(e,t)=>{C.show({title:h("components.uploadManage.title")||h("components.upload.fileManager"),width:"800px",component:()=>Promise.resolve().then(()=>require("../upload/manager.cjs")),componentProps:{path:H.value,type:r.fileManagerType||"all",multiple:!0,uploadParams:{path:d.value,accept:"*/*",method:P.value}}}).then(n=>{n?.forEach?.(i=>{const s=S(i),p=i?.filename||"";if(s==="image")t.insert({type:"image",attrs:{src:i.url,alt:p,width:"auto"}});else if(s==="video")t.insert({type:"video",attrs:{src:i.url,controls:"true",width:350}});else{const w=i?.filename||i?.name||"file";r.editorType==="markdown"?t.insertMarkdown(`[${w}](${i.url})`):t.insert(`<a href="${i.url}" target="_blank">${w}</a>`)}})})}}]:[],"image","video","attachment","quote","container","code-block","table","divider","printer","fullscreen","ai"]}),l.value!=null&&(r.editorType==="markdown"?u.setMarkdownContent(l.value||""):u.setContent(l.value||""))}),a.onUnmounted(()=>{u?.destroy()}),a.watch(f.isDark,e=>{o.value&&(o.value.classList.remove("aie-theme-dark","aie-theme-light"),o.value.classList.add(e?"aie-theme-dark":"aie-theme-light"))},{immediate:!0}),()=>a.createVNode("div",{ref:o,style:`height: ${r.height}; width:100%`},null)}});exports.DuxAiEditor=L;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),x=require("@duxweb/dvha-core"),y=require("@vueuse/core"),M=require("mime"),u=require("naive-ui");require("vue-router");require("@overlastic/vue");const U=require("../media/media.cjs");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("clsx");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vee-validate");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("short-unique-id");require("aieditor");require("@vue-flow/core");require("@vue-flow/background");;/* empty css */const A=require("../../hooks/modal.cjs"),w=require("./config.cjs");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("dayjs");require("@tanstack/vue-query");require("pinia");function b(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Object]"&&!e.isVNode(r)}const d={"image/*":"JPG, PNG, GIF, BMP, WEBP","video/*":"MP4, AVI, MOV, WMV, FLV","audio/*":"MP3, WAV, AAC, FLAC","text/*":"TXT, CSV, JSON, XML","application/pdf":"PDF","application/msword":"DOC","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"DOCX","application/vnd.ms-excel":"XLS","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"XLSX"},i={container:"flex flex-col gap-2",dropZone:{base:"flex items-center justify-center p-6 rounded bg-muted border border-dashed transition-all cursor-pointer group",active:"border-primary bg-primary/5",hover:"border-accented hover:bg-primary/5 hover:border-primary"},content:"flex flex-col items-center gap-1",icon:{wrapper:"size-10 flex items-center justify-center rounded-full border border-dashed border-accented group-hover:border-primary transition-all cursor-pointer",icon:"i-tabler:device-desktop-up size-5"},text:{title:"mt-3 text-base font-medium",desc:"text-sm text-muted text-center",highlight:"text-primary font-medium"},table:{empty:"flex items-center justify-center h-full text-muted",actions:"flex gap-2"}},j=e.defineComponent({name:"DuxFileUpload",props:{path:{type:String,default:""},managePath:{type:String,default:""},signPath:{type:String,default:""},signCallback:Function,driver:{type:String,default:"local"},maxNum:Number,maxSize:Number,multiple:Boolean,manager:Boolean,accept:String,value:[String,Array],defaultValue:[String,Array],onUpdateValue:Function,method:String},setup(r,{emit:N}){console.log("props",r);const p=y.useVModel(r,"value",N,{passive:!0,deep:!0,defaultValue:r.defaultValue}),V=u.useMessage(),{t:a}=x.useI18n(),m=e.ref(),s=e.computed(()=>r.maxSize||5),F=A.useModal(),{uploadPath:f,managePath:P,driver:S,method:q}=w.useUploadConfig({driver:r?.driver,signPath:r?.signPath,signCallback:r?.signCallback,uploadPath:r?.path,managePath:r?.managePath,method:r?.method}),n=x.useUpload({path:f.value,multiple:r.multiple,maxFileCount:r.maxNum,maxFileSize:s.value*1024*1024,autoUpload:!0,accept:r.accept,onError:t=>V.error(t.message||a("components.upload.error")),driver:S.value,method:q.value}),{isOverDropZone:g}=y.useDropZone(m,{onDrop:t=>{t&&t.length>0&&n.addFiles(Array.from(t),"file")}}),c=e.ref(!1);e.watch(n.dataFiles,t=>{const o=r.multiple?t:t[0];c.value=!0,p.value=o,r.onUpdateValue?.(o),e.nextTick(()=>{c.value=!1})});const v=e.computed(()=>r.accept?r.accept.split(",").map(t=>{const o=t.trim();if(d[o])return d[o];if(o.includes("*")){const D=o.split("/")[0];return d[o]||D.toUpperCase()}const l=M.getExtension(o);return l?l.toUpperCase():o}).filter(Boolean).join(", "):""),C=e.computed(()=>({pending:e.createVNode("div",{class:"text-info"},[a("components.upload.status.pending")]),uploading:e.createVNode("div",{class:"text-info"},[a("components.upload.status.uploading")]),success:e.createVNode("div",{class:"text-success"},[a("components.upload.status.success")]),error:e.createVNode("div",{class:"text-error"},[a("components.upload.status.error")])})),k=e.computed(()=>[i.dropZone.base,g.value?i.dropZone.active:i.dropZone.hover]),z=e.computed(()=>[n.uploadFiles.value.length===0&&"border-b border-muted"]),h=e.ref(!1);return e.watch(p,t=>{if(c.value||!t||!t?.length||h.value)return;h.value=!0;const o=Array.isArray(t)?t:[t];n.addDataFiles(o)},{immediate:!0}),()=>e.createVNode("div",{class:i.container},[e.createVNode("div",{ref:m,class:k.value,onClick:()=>n.open()},[e.createVNode("div",{class:i.content},[e.createVNode("div",{class:i.icon.wrapper,onClick:t=>{r.manager&&(t.stopPropagation(),F.show({title:a("components.upload.title"),width:800,component:()=>Promise.resolve().then(()=>require("./manager.cjs")),componentProps:{path:P.value,multiple:r.multiple,uploadParams:{path:f.value,accept:r.accept,maxNum:r.maxNum,maxSize:s.value,method:q.value}}}).then(o=>{n.addDataFiles(o)}))}},[e.createVNode("div",{class:i.icon.icon},null)]),e.createVNode("div",{class:i.text.title},[a("components.upload.desc")]),e.createVNode("div",{class:i.text.desc},[g.value?e.createVNode("span",{class:i.text.highlight},[a("components.upload.dropHere")]):e.createVNode(e.Fragment,null,[v.value?a("components.upload.supportFormats",{formats:v.value}):a("components.upload.allFormats"),e.createTextVNode(",")," ",a("components.upload.maxSize",{size:s.value})])])])]),e.createVNode(u.NDataTable,{bordered:!1,class:z.value,columns:[{key:"filename",title:a("components.upload.file.name"),minWidth:200,render:t=>e.createVNode(U.DuxMedia,{title:t.filename,desc:t.filetype},null)},{key:"filesizeText",title:a("components.upload.file.size"),width:120},{key:"status",title:a("components.upload.file.status"),width:120,render:t=>t.status==="uploading"?e.createVNode("div",{class:"flex items-center"},[e.createVNode(u.NProgress,{type:"line",style:{width:"24px",height:"24px"},color:"rgb(var(--ui-color-primary))","indicator-placement":"inside",percentage:t.progress?.percent,showIndicator:!1,height:14},null)]):C.value[t.status]},{key:"actions",title:a("components.upload.actions"),width:120,render:t=>{let o,l;return e.createVNode("div",{class:i.table.actions},[e.createVNode(u.NButton,{type:"warning",size:"small",text:!0,disabled:["success","error","cancelled"].includes(t.status),onClick:()=>n.cancelFiles([t.id])},b(o=a("components.upload.cancel"))?o:{default:()=>[o]}),e.createVNode(u.NButton,{type:"error",size:"small",text:!0,onClick:()=>n.removeFiles([t.id])},b(l=a("components.upload.delete"))?l:{default:()=>[l]})])}}],data:n.uploadFiles.value},{empty:()=>e.createVNode("div",{class:i.table.empty},[a("components.upload.empty")])})])}});exports.DuxFileUpload=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),x=require("@duxweb/dvha-core"),y=require("@vueuse/core"),M=require("mime"),u=require("naive-ui");require("vue-router");require("@overlastic/vue");const U=require("../media/media.cjs");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("clsx");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vee-validate");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("short-unique-id");require("aieditor");const A=require("./config.cjs");require("@vue-flow/core");require("@vue-flow/background");;/* empty css */const w=require("../../hooks/modal.cjs");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("dayjs");require("@tanstack/vue-query");require("pinia");function b(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Object]"&&!e.isVNode(r)}const d={"image/*":"JPG, PNG, GIF, BMP, WEBP","video/*":"MP4, AVI, MOV, WMV, FLV","audio/*":"MP3, WAV, AAC, FLAC","text/*":"TXT, CSV, JSON, XML","application/pdf":"PDF","application/msword":"DOC","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"DOCX","application/vnd.ms-excel":"XLS","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"XLSX"},i={container:"flex flex-col gap-2",dropZone:{base:"flex items-center justify-center p-6 rounded bg-muted border border-dashed transition-all cursor-pointer group",active:"border-primary bg-primary/5",hover:"border-accented hover:bg-primary/5 hover:border-primary"},content:"flex flex-col items-center gap-1",icon:{wrapper:"size-10 flex items-center justify-center rounded-full border border-dashed border-accented group-hover:border-primary transition-all cursor-pointer",icon:"i-tabler:device-desktop-up size-5"},text:{title:"mt-3 text-base font-medium",desc:"text-sm text-muted text-center",highlight:"text-primary font-medium"},table:{empty:"flex items-center justify-center h-full text-muted",actions:"flex gap-2"}},j=e.defineComponent({name:"DuxFileUpload",props:{path:{type:String,default:""},managePath:{type:String,default:""},signPath:{type:String,default:""},signCallback:Function,driver:{type:String,default:"local"},maxNum:Number,maxSize:Number,multiple:Boolean,manager:Boolean,accept:String,value:[String,Array],defaultValue:[String,Array],onUpdateValue:Function,method:String},setup(r,{emit:N}){const p=y.useVModel(r,"value",N,{passive:!0,deep:!0,defaultValue:r.defaultValue}),V=u.useMessage(),{t:a}=x.useI18n(),m=e.ref(),s=e.computed(()=>r.maxSize||5),F=w.useModal(),{uploadPath:f,managePath:P,driver:S,method:q}=A.useUploadConfig({driver:r?.driver,signPath:r?.signPath,signCallback:r?.signCallback,uploadPath:r?.path,managePath:r?.managePath,method:r?.method}),n=x.useUpload({path:f.value,multiple:r.multiple,maxFileCount:r.maxNum,maxFileSize:s.value*1024*1024,autoUpload:!0,accept:r.accept,onError:t=>V.error(t.message||a("components.upload.error")),driver:S.value,method:q.value}),{isOverDropZone:g}=y.useDropZone(m,{onDrop:t=>{t&&t.length>0&&n.addFiles(Array.from(t),"file")}}),c=e.ref(!1);e.watch(n.dataFiles,t=>{const o=r.multiple?t:t[0];c.value=!0,p.value=o,r.onUpdateValue?.(o),e.nextTick(()=>{c.value=!1})});const v=e.computed(()=>r.accept?r.accept.split(",").map(t=>{const o=t.trim();if(d[o])return d[o];if(o.includes("*")){const D=o.split("/")[0];return d[o]||D.toUpperCase()}const l=M.getExtension(o);return l?l.toUpperCase():o}).filter(Boolean).join(", "):""),C=e.computed(()=>({pending:e.createVNode("div",{class:"text-info"},[a("components.upload.status.pending")]),uploading:e.createVNode("div",{class:"text-info"},[a("components.upload.status.uploading")]),success:e.createVNode("div",{class:"text-success"},[a("components.upload.status.success")]),error:e.createVNode("div",{class:"text-error"},[a("components.upload.status.error")])})),k=e.computed(()=>[i.dropZone.base,g.value?i.dropZone.active:i.dropZone.hover]),z=e.computed(()=>[n.uploadFiles.value.length===0&&"border-b border-muted"]),h=e.ref(!1);return e.watch(p,t=>{if(c.value||!t||!t?.length||h.value)return;h.value=!0;const o=Array.isArray(t)?t:[t];n.addDataFiles(o)},{immediate:!0}),()=>e.createVNode("div",{class:i.container},[e.createVNode("div",{ref:m,class:k.value,onClick:()=>n.open()},[e.createVNode("div",{class:i.content},[e.createVNode("div",{class:i.icon.wrapper,onClick:t=>{r.manager&&(t.stopPropagation(),F.show({title:a("components.upload.title"),width:800,component:()=>Promise.resolve().then(()=>require("./manager.cjs")),componentProps:{path:P.value,multiple:r.multiple,uploadParams:{path:f.value,accept:r.accept,maxNum:r.maxNum,maxSize:s.value,method:q.value}}}).then(o=>{n.addDataFiles(o)}))}},[e.createVNode("div",{class:i.icon.icon},null)]),e.createVNode("div",{class:i.text.title},[a("components.upload.desc")]),e.createVNode("div",{class:i.text.desc},[g.value?e.createVNode("span",{class:i.text.highlight},[a("components.upload.dropHere")]):e.createVNode(e.Fragment,null,[v.value?a("components.upload.supportFormats",{formats:v.value}):a("components.upload.allFormats"),e.createTextVNode(",")," ",a("components.upload.maxSize",{size:s.value})])])])]),e.createVNode(u.NDataTable,{bordered:!1,class:z.value,columns:[{key:"filename",title:a("components.upload.file.name"),minWidth:200,render:t=>e.createVNode(U.DuxMedia,{title:t.filename,desc:t.filetype},null)},{key:"filesizeText",title:a("components.upload.file.size"),width:120},{key:"status",title:a("components.upload.file.status"),width:120,render:t=>t.status==="uploading"?e.createVNode("div",{class:"flex items-center"},[e.createVNode(u.NProgress,{type:"line",style:{width:"24px",height:"24px"},color:"rgb(var(--ui-color-primary))","indicator-placement":"inside",percentage:t.progress?.percent,showIndicator:!1,height:14},null)]):C.value[t.status]},{key:"actions",title:a("components.upload.actions"),width:120,render:t=>{let o,l;return e.createVNode("div",{class:i.table.actions},[e.createVNode(u.NButton,{type:"warning",size:"small",text:!0,disabled:["success","error","cancelled"].includes(t.status),onClick:()=>n.cancelFiles([t.id])},b(o=a("components.upload.cancel"))?o:{default:()=>[o]}),e.createVNode(u.NButton,{type:"error",size:"small",text:!0,onClick:()=>n.removeFiles([t.id])},b(l=a("components.upload.delete"))?l:{default:()=>[l]})])}}],data:n.uploadFiles.value},{empty:()=>e.createVNode("div",{class:i.table.empty},[a("components.upload.empty")])})])}});exports.DuxFileUpload=j;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),q=require("@duxweb/dvha-core"),C=require("@vueuse/core"),S=require("clsx"),n=require("naive-ui"),U=require("vue-draggable-plus");require("vue-router");require("@overlastic/vue");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vee-validate");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("short-unique-id");require("aieditor");require("@vue-flow/core");require("@vue-flow/background");;/* empty css */const k=require("../../hooks/modal.cjs");require("mime");const w=require("./config.cjs");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("dayjs");const I=require("../../hooks/image.cjs");require("@tanstack/vue-query");require("pinia");const A=e.defineComponent({name:"DuxImageUpload",props:{path:{type:String,default:"upload"},signPath:{type:String,default:""},signCallback:Function,managePath:{type:String,default:""},driver:{type:String},maxNum:Number,maxSize:{type:Number,default:0},multiple:Boolean,manager:Boolean,value:[String,Array],defaultValue:[String,Array],onUpdateValue:Function,method:String},setup(a,{emit:p}){const d=C.useVModel(a,"value",p,{passive:!0,deep:!0,defaultValue:a.defaultValue}),v=n.useMessage(),h=I.useImagePreview(),{t:s}=q.useI18n(),i={container:"flex gap-2",imageItem:"size-80px rounded border border-muted relative group draggable flex items-center",imageOverlay:"z-1 size-full inset-0 absolute flex items-center justify-center bg-default/80 transition-all opacity-0 group-hover:opacity-100 rounded",uploadArea:"relative size-80px text-sm rounded flex flex-col border border-dashed bg-elevated border-muted dark:border-accented hover:bg-accented/50 hover:border-accented dark:hover:bg-accented/50 dark:hover:border-accented cursor-pointer",uploadContent:"flex-1 flex flex-col justify-center items-center gap-1 relative",progressContainer:"size-80px flex items-center justify-center rounded",progressBar:"absolute left-2 right-2 bottom-2"},b=e.computed(()=>a.maxSize),{uploadPath:c,managePath:f,driver:x,method:m}=w.useUploadConfig({driver:a?.driver,signPath:a?.signPath,signCallback:a?.signCallback,uploadPath:a?.path,managePath:a?.managePath,method:a?.method}),t=q.useUpload({path:c.value,multiple:a.multiple,maxFileCount:a.maxNum,maxFileSize:b.value*1024*1024,autoUpload:!0,accept:"image/*",method:m.value,onError:r=>{v.error(r.message||s("components.upload.error"))},driver:x.value});e.watch(t.dataFiles,r=>{const u=a.multiple?r?.map(l=>l.url):r?.[0]?.url;d.value=u,a.onUpdateValue?.(u)});const y=e.computed(()=>t.progress.value.totalPercent),N=e.computed(()=>t.isUploading.value),V=async()=>{t.open()},P=e.computed(()=>a.multiple?a.maxNum&&t.uploadFiles.value.length>=a.maxNum:!0),z=e.computed(()=>t.dataFiles.value?.map(r=>r.url)),F=k.useModal();return e.watch(d,r=>{if(!r||!(Array.isArray(r)?r.length:String(r).length))return;const u=typeof r=="string"?[r]:Array.isArray(r)?r:[],l=(t.dataFiles.value||[]).map(o=>o.url).filter(Boolean),g=u.filter(o=>!l.includes(o));g.length&&t.addDataFiles(g.map(o=>({url:o})))}),()=>e.createVNode("div",null,[e.createVNode(U.VueDraggable,{modelValue:t.uploadFiles.value,"onUpdate:modelValue":r=>t.uploadFiles.value=r,class:i.container,draggable:".draggable"},{default:()=>[t.uploadFiles.value?.map((r,u)=>{const l=r.url||URL.createObjectURL(r.file);return e.createVNode("div",{key:u,class:S(i.imageItem)},[e.createVNode(n.NImage,{class:"z-0 rounded",objectFit:"scale-down",width:78,height:78,previewDisabled:!0,src:l},null),e.createVNode("div",{class:i.imageOverlay},[r.status==="success"&&e.createVNode(n.NButton,{quaternary:!0,circle:!0,size:"small",renderIcon:()=>e.createVNode("div",{class:"n-icon i-tabler:eye"},null),onClick:()=>h.show(z.value,u)},null),e.createVNode(n.NButton,{quaternary:!0,circle:!0,size:"small",renderIcon:()=>e.createVNode("div",{class:"n-icon i-tabler:trash"},null),onClick:()=>{t.removeFiles([r.id])}},null)])])}),(t.uploadFiles.value.length===0||!P.value)&&e.createVNode("div",{class:i.uploadArea,onClick:()=>{V()}},[a.manager&&e.createVNode("div",{class:" py-1 text-xs bg-muted border-b border-dashed border-accented flex items-center justify-center",onClick:r=>{r.stopPropagation(),F.show({title:s("components.upload.title"),width:"800px",component:()=>Promise.resolve().then(()=>require("./manager.cjs")),componentProps:{path:f.value,type:"image",multiple:a.multiple,uploadParams:{path:c.value,accept:"image/*",maxNum:a.maxNum,maxSize:a.maxSize,method:m.value}}}).then(u=>{t.addDataFiles(u)})}},[e.createVNode("div",{class:"i-tabler:folder size-4"},null)]),e.createVNode("div",{class:i.uploadContent},[N.value?e.createVNode("div",{class:i.progressContainer},[e.createVNode("div",{class:"i-tabler:photo size-6"},null),e.createVNode("div",{class:i.progressBar},[e.createVNode(n.NProgress,{type:"line",percentage:y.value,showIndicator:!1,height:4},null)])]):e.createVNode("div",{class:"i-tabler:plus size-4"},null)])])]})])}});exports.DuxImageUpload=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),q=require("@duxweb/dvha-core"),C=require("@vueuse/core"),S=require("clsx"),n=require("naive-ui"),U=require("vue-draggable-plus");require("vue-router");require("@overlastic/vue");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vee-validate");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("short-unique-id");require("aieditor");const k=require("./config.cjs");require("@vue-flow/core");require("@vue-flow/background");;/* empty css */const w=require("../../hooks/modal.cjs");require("mime");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("dayjs");const I=require("../../hooks/image.cjs");require("@tanstack/vue-query");require("pinia");const A=e.defineComponent({name:"DuxImageUpload",props:{path:{type:String,default:"upload"},signPath:{type:String,default:""},signCallback:Function,managePath:{type:String,default:""},driver:{type:String},maxNum:Number,maxSize:{type:Number,default:0},multiple:Boolean,manager:Boolean,value:[String,Array],defaultValue:[String,Array],onUpdateValue:Function,method:String},setup(a,{emit:p}){const d=C.useVModel(a,"value",p,{passive:!0,deep:!0,defaultValue:a.defaultValue}),v=n.useMessage(),h=I.useImagePreview(),{t:s}=q.useI18n(),i={container:"flex gap-2",imageItem:"size-80px rounded border border-muted relative group draggable flex items-center",imageOverlay:"z-1 size-full inset-0 absolute flex items-center justify-center bg-default/80 transition-all opacity-0 group-hover:opacity-100 rounded",uploadArea:"relative size-80px text-sm rounded flex flex-col border border-dashed bg-elevated border-muted dark:border-accented hover:bg-accented/50 hover:border-accented dark:hover:bg-accented/50 dark:hover:border-accented cursor-pointer",uploadContent:"flex-1 flex flex-col justify-center items-center gap-1 relative",progressContainer:"size-80px flex items-center justify-center rounded",progressBar:"absolute left-2 right-2 bottom-2"},b=e.computed(()=>a.maxSize),{uploadPath:c,managePath:f,driver:x,method:m}=k.useUploadConfig({driver:a?.driver,signPath:a?.signPath,signCallback:a?.signCallback,uploadPath:a?.path,managePath:a?.managePath,method:a?.method}),t=q.useUpload({path:c.value,multiple:a.multiple,maxFileCount:a.maxNum,maxFileSize:b.value*1024*1024,autoUpload:!0,accept:"image/*",method:m.value,onError:r=>{v.error(r.message||s("components.upload.error"))},driver:x.value});e.watch(t.dataFiles,r=>{const u=a.multiple?r?.map(l=>l.url):r?.[0]?.url;d.value=u,a.onUpdateValue?.(u)});const y=e.computed(()=>t.progress.value.totalPercent),N=e.computed(()=>t.isUploading.value),V=async()=>{t.open()},P=e.computed(()=>a.multiple?a.maxNum&&t.uploadFiles.value.length>=a.maxNum:!0),z=e.computed(()=>t.dataFiles.value?.map(r=>r.url)),F=w.useModal();return e.watch(d,r=>{if(!r||!(Array.isArray(r)?r.length:String(r).length))return;const u=typeof r=="string"?[r]:Array.isArray(r)?r:[],l=(t.dataFiles.value||[]).map(o=>o.url).filter(Boolean),g=u.filter(o=>!l.includes(o));g.length&&t.addDataFiles(g.map(o=>({url:o})))}),()=>e.createVNode("div",null,[e.createVNode(U.VueDraggable,{modelValue:t.uploadFiles.value,"onUpdate:modelValue":r=>t.uploadFiles.value=r,class:i.container,draggable:".draggable"},{default:()=>[t.uploadFiles.value?.map((r,u)=>{const l=r.url||URL.createObjectURL(r.file);return e.createVNode("div",{key:u,class:S(i.imageItem)},[e.createVNode(n.NImage,{class:"z-0 rounded",objectFit:"scale-down",width:78,height:78,previewDisabled:!0,src:l},null),e.createVNode("div",{class:i.imageOverlay},[r.status==="success"&&e.createVNode(n.NButton,{quaternary:!0,circle:!0,size:"small",renderIcon:()=>e.createVNode("div",{class:"n-icon i-tabler:eye"},null),onClick:()=>h.show(z.value,u)},null),e.createVNode(n.NButton,{quaternary:!0,circle:!0,size:"small",renderIcon:()=>e.createVNode("div",{class:"n-icon i-tabler:trash"},null),onClick:()=>{t.removeFiles([r.id])}},null)])])}),(t.uploadFiles.value.length===0||!P.value)&&e.createVNode("div",{class:i.uploadArea,onClick:()=>{V()}},[a.manager&&e.createVNode("div",{class:" py-1 text-xs bg-muted border-b border-dashed border-accented flex items-center justify-center",onClick:r=>{r.stopPropagation(),F.show({title:s("components.upload.title"),width:"800px",component:()=>Promise.resolve().then(()=>require("./manager.cjs")),componentProps:{path:f.value,type:"image",multiple:a.multiple,uploadParams:{path:c.value,accept:"image/*",maxNum:a.maxNum,maxSize:a.maxSize,method:m.value}}}).then(u=>{t.addDataFiles(u)})}},[e.createVNode("div",{class:"i-tabler:folder size-4"},null)]),e.createVNode("div",{class:i.uploadContent},[N.value?e.createVNode("div",{class:i.progressContainer},[e.createVNode("div",{class:"i-tabler:photo size-6"},null),e.createVNode("div",{class:i.progressBar},[e.createVNode(n.NProgress,{type:"line",percentage:y.value,showIndicator:!1,height:4},null)])]):e.createVNode("div",{class:"i-tabler:plus size-4"},null)])])]})])}});exports.DuxImageUpload=A;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),N=require("@duxweb/dvha-core"),F=require("lodash-es"),o=require("naive-ui");require("vue-router");const B=require("../../hooks/dialog.cjs");require("@overlastic/vue");require("clsx");require("vue-echarts");require("@vueuse/core");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("vue-draggable-plus");const U=require("../draw/drawEmpty.cjs");require("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vee-validate");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("short-unique-id");require("aieditor");require("@vue-flow/core");require("@vue-flow/background");;/* empty css */require("mime");const O=require("./config.cjs");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");const _=require("../../hooks/download.cjs");require("@tanstack/vue-query");require("pinia");const P=require("./manage/item.cjs");function y(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const L=e.defineComponent({name:"DuxFileManage",props:{path:String,type:String,onConfirm:Function,onClose:Function,multiple:Boolean,page:{type:Boolean,default:!1},handle:String,uploadParams:Object},setup(t){const m=e.ref(!1),V=e.ref(0),x=e.ref(0),{t:l}=N.useI18n(),r=e.ref([]),v=B.useDialog(),b=N.useClient(),s=o.useMessage(),C=_.useDownload(),i=e.ref({manager:!0,type:t.type||"all",folder:null}),g=e.ref(),{uploadPath:k,managePath:h,driver:D,method:w}=O.useUploadConfig({driver:t.uploadParams?.driver,signPath:t.uploadParams?.signPath,signCallback:t.uploadParams?.signCallback,uploadPath:t.uploadParams?.path,managePath:t.path,method:t.uploadParams?.method}),S=e.ref({page:1,pageSize:20}),n=N.useInfiniteList({path:h.value,pagination:S.value,filters:i.value}),T=e.computed(()=>{const{driver:d,signPath:c,signCallback:p,...a}=t.uploadParams||{};return a}),q=N.useUpload({...T.value,path:k.value,autoUpload:!0,driver:D.value,params:i.value,method:w.value,onSuccess:()=>{r.value=[],n.refetch()},onError:d=>{s.error(d?.message||l("components.uploadManage.uploadError")||"")}}),E=d=>{if(!d){s.error(l("components.uploadManage.namePlaceholder")||"");return}b.request({path:h.value,method:"POST",payload:{name:d,folder:i.value.folder}}).then(()=>{n.refetch(),r.value=[]}).catch(()=>{s.error(l("components.uploadManage.createError")||"")})},I=(d,c,p)=>{if(!c){s.error(l("components.uploadManage.namePlaceholder")||"");return}b.request({path:h.value,method:"PUT",payload:{name:c,id:p,type:d}}).then(()=>{n.refetch(),r.value=[]}).catch(()=>{s.error(l("components.uploadManage.editError")||"")})},M=(d,c)=>{b.request({path:`${h.value}/batch`,method:"DELETE",payload:{data:Array.isArray(c)?c:[c],type:d}}).then(()=>{n.refetch(),r.value=[]}).catch(()=>{s.error(l("components.uploadManage.delError")||"")})},f=e.computed(()=>!!(t.type&&t.type!=="all"));return()=>{let d,c,p;return e.createVNode("div",{class:["flex flex-col gap-2",t.page?"h-full":"h-500px max-h-500px"]},[e.createVNode("div",{class:["flex-none flex justify-between items-center border-b border-muted p-3",t.handle]},[e.createVNode("div",{class:"flex-none"},[e.createVNode(o.NTabs,{type:"segment",animated:!0,size:"small",tabClass:"!px-4",defaultValue:"all",value:i.value.type,onUpdateValue:a=>{f.value||(i.value.type=a,r.value=[])}},{default:()=>[e.createVNode(o.NTab,{tab:l("components.uploadManage.all"),name:"all",disabled:f.value},null),e.createVNode(o.NTab,{tab:l("components.uploadManage.image"),name:"image",disabled:f.value},null),e.createVNode(o.NTab,{tab:l("components.uploadManage.media"),name:"media",disabled:f.value},null),e.createVNode(o.NTab,{tab:l("components.uploadManage.docs"),name:"docs",disabled:f.value},null)]})]),e.createVNode("div",{class:"flex gap-2"},[e.createVNode(o.NButton,{type:"default",ghost:!0,onClick:()=>{v.prompt({title:l("components.uploadManage.namePlaceholder")||"",formSchema:[{tag:o.NInput,attrs:{"v-model:value":"form.name"}}]}).then(a=>{E(a?.name)}).catch(()=>{})},renderIcon:()=>e.createVNode("div",{class:"i-tabler:plus"},null)},y(d=l("components.button.create"))?d:{default:()=>[d]}),e.createVNode(o.NButton,{type:"primary",ghost:!0,onClick:()=>{q.open()},loading:q.isUploading.value,renderIcon:()=>e.createVNode("div",{class:"i-tabler:upload"},null)},{default:()=>[e.createVNode("div",{class:"flex gap-2"},[l("components.uploadManage.upload"),q.progress.value.totalPercent>0&&`(${q.progress.value.totalPercent}%)`])]}),!t.page&&e.createVNode(o.NButton,{type:"default",ghost:!0,onClick:()=>{t.onClose?.()},renderIcon:()=>e.createVNode("div",{class:"i-tabler:x"},null)},null)])]),e.createVNode("div",{class:"flex-1 min-h-1"},[n.data?.value?.data?.length>0&&e.createVNode(o.NInfiniteScroll,{distance:10,onLoad:()=>{n.hasNextPage.value&&n.fetchNextPage()},scrollbarProps:{contentClass:"p-4"}},{default:()=>[e.createVNode("div",{class:["grid grid-cols-3 md:grid-cols-4 text-sm items-start justify-start",n.data.value?.data?.length>=4&&!t.page?" lg:grid-cols-[repeat(auto-fit,minmax(150px,1fr))]":"lg:grid-cols-[repeat(auto-fit,minmax(150px,150px))]"]},[i.value?.folder&&i.value?.folder!==n.data.value?.meta?.folder&&e.createVNode(P.DuxFileManageItem,{key:`parent-${n.data.value?.meta?.folder}`,type:"folder",name:l("components.uploadManage.parentLevel"),page:t.page,onSelect:()=>{r.value=[],i.value.folder=n.data.value?.meta?.folder}},null),n.data.value?.data?.map(a=>e.createVNode(o.NTooltip,{placement:"bottom",key:`${a.url?"file":"folder"}-${a.id}`,trigger:a.url?"hover":"manual"},{default:()=>a.filesize,trigger:()=>e.createVNode(P.DuxFileManageItem,{page:t.page,onContextmenu:u=>{g.value=a,m.value=!1,e.nextTick().then(()=>{m.value=!0,V.value=u.clientX,x.value=u.clientY}),u.preventDefault()},value:t.page?!1:!!r.value?.find?.(u=>u.id===a.id),type:a.url?"file":"folder",mime:a.filetype,name:a.filename,url:a.url,time:a.time,onSelect:u=>{if(!a.url){r.value=[],n.data.value=void 0,i.value.folder=a.id;return}t.page||(u?t.multiple?r.value?.push(a):r.value=[a]:t.multiple?r.value?.splice(r.value?.indexOf(a),1):r.value=[])}},null)}))])]}),n.isLoading.value?e.createVNode(o.NSpin,{class:"h-full absolute w-full bg-gray-1/50"},null):!n.data.value?.data?.length&&e.createVNode("div",{class:"size-full flex justify-center items-center text-sm text-gray-6"},[e.createVNode("div",{class:"flex flex-col items-center"},[e.createVNode("div",{class:"w-26 mb-2"},[e.createVNode(U.DuxDrawEmpty,null,null)]),e.createVNode("div",{class:"text-base"},[l("components.uploadManage.empty")]),e.createVNode("div",{class:"text-sm text-muted"},[l("components.uploadManage.emptyDesc")]),i.value?.folder&&i.value?.folder!==n.data.value?.meta?.folder&&e.createVNode("div",{class:"text-xs text-gray-6"},[e.createVNode(o.NButton,{type:"default",ghost:!0,onClick:()=>{r.value=[],i.value.folder=n.data.value?.meta?.folder}},y(c=l("components.uploadManage.back"))?c:{default:()=>[c]})])])])]),e.createVNode(o.NDropdown,{x:V.value,y:x.value,placement:"bottom-start",trigger:"manual",show:m.value,onClickoutside:()=>{m.value=!1},onUpdateShow:a=>{a||(g.value=void 0)},onSelect:a=>{const u=F.cloneDeep(g.value);switch(m.value=!1,a){case"download":C.url(u?.url);break;case"rename":v.prompt({title:l("components.uploadManage.namePlaceholder"),formSchema:[{tag:o.NInput,attrs:{"v-model:value":"form.name"}}],defaultValue:{name:u?.filename||u?.name}}).then(j=>{I(u?.type,j?.name,u?.id)});break;case"delete":v.confirm({title:l("components.uploadManage.delTitle"),content:l("components.uploadManage.delDesc")}).then(()=>{M(u?.type,u?.id)});break}},options:[g.value?.url&&{label:l("components.button.download"),key:"download",icon:()=>e.createVNode("div",{class:"i-tabler:download"},null)},{label:l("components.button.rename"),key:"rename",icon:()=>e.createVNode("div",{class:"i-tabler:cursor-text"},null)},{label:l("components.button.delete"),key:"delete",icon:()=>e.createVNode("div",{class:"i-tabler:trash"},null)}].filter(a=>a)},null),!t.page&&e.createVNode("div",{class:"flex justify-end gap-2 border-t border-muted p-3"},[e.createVNode("div",null,[r.value?.length>0&&e.createVNode(o.NButton,{type:"error",secondary:!0,onClick:()=>{v.confirm({title:l("components.uploadManage.delTitle"),content:l("components.uploadManage.delDesc")}).then(()=>{M("file",r.value?.map(a=>a.id))})}},y(p=l("components.button.delete"))?p:{default:()=>[p]})]),e.createVNode("div",null,[e.createVNode(o.NButton,{type:"primary",disabled:!r.value?.length,onClick:()=>{t.onConfirm?.(r.value)}},{default:()=>[l("components.button.select"),e.createTextVNode("("),r.value?.length||0,e.createTextVNode(")")]})])])])}}});exports.default=L;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),N=require("@duxweb/dvha-core"),F=require("lodash-es"),o=require("naive-ui");require("vue-router");const B=require("../../hooks/dialog.cjs");require("@overlastic/vue");require("clsx");require("vue-echarts");require("@vueuse/core");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("vue-draggable-plus");const U=require("../draw/drawEmpty.cjs");require("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vee-validate");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("short-unique-id");require("aieditor");const O=require("./config.cjs");require("@vue-flow/core");require("@vue-flow/background");;/* empty css */require("mime");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");const _=require("../../hooks/download.cjs");require("@tanstack/vue-query");require("pinia");const P=require("./manage/item.cjs");function y(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const L=e.defineComponent({name:"DuxFileManage",props:{path:String,type:String,onConfirm:Function,onClose:Function,multiple:Boolean,page:{type:Boolean,default:!1},handle:String,uploadParams:Object},setup(t){const m=e.ref(!1),V=e.ref(0),x=e.ref(0),{t:l}=N.useI18n(),r=e.ref([]),v=B.useDialog(),b=N.useClient(),s=o.useMessage(),C=_.useDownload(),i=e.ref({manager:!0,type:t.type||"all",folder:null}),g=e.ref(),{uploadPath:k,managePath:h,driver:D,method:w}=O.useUploadConfig({driver:t.uploadParams?.driver,signPath:t.uploadParams?.signPath,signCallback:t.uploadParams?.signCallback,uploadPath:t.uploadParams?.path,managePath:t.path,method:t.uploadParams?.method}),S=e.ref({page:1,pageSize:20}),n=N.useInfiniteList({path:h.value,pagination:S.value,filters:i.value}),T=e.computed(()=>{const{driver:d,signPath:c,signCallback:p,...a}=t.uploadParams||{};return a}),q=N.useUpload({...T.value,path:k.value,autoUpload:!0,driver:D.value,params:i.value,method:w.value,onSuccess:()=>{r.value=[],n.refetch()},onError:d=>{s.error(d?.message||l("components.uploadManage.uploadError")||"")}}),E=d=>{if(!d){s.error(l("components.uploadManage.namePlaceholder")||"");return}b.request({path:h.value,method:"POST",payload:{name:d,folder:i.value.folder}}).then(()=>{n.refetch(),r.value=[]}).catch(()=>{s.error(l("components.uploadManage.createError")||"")})},I=(d,c,p)=>{if(!c){s.error(l("components.uploadManage.namePlaceholder")||"");return}b.request({path:h.value,method:"PUT",payload:{name:c,id:p,type:d}}).then(()=>{n.refetch(),r.value=[]}).catch(()=>{s.error(l("components.uploadManage.editError")||"")})},M=(d,c)=>{b.request({path:`${h.value}/batch`,method:"DELETE",payload:{data:Array.isArray(c)?c:[c],type:d}}).then(()=>{n.refetch(),r.value=[]}).catch(()=>{s.error(l("components.uploadManage.delError")||"")})},f=e.computed(()=>!!(t.type&&t.type!=="all"));return()=>{let d,c,p;return e.createVNode("div",{class:["flex flex-col gap-2",t.page?"h-full":"h-500px max-h-500px"]},[e.createVNode("div",{class:["flex-none flex justify-between items-center border-b border-muted p-3",t.handle]},[e.createVNode("div",{class:"flex-none"},[e.createVNode(o.NTabs,{type:"segment",animated:!0,size:"small",tabClass:"!px-4",defaultValue:"all",value:i.value.type,onUpdateValue:a=>{f.value||(i.value.type=a,r.value=[])}},{default:()=>[e.createVNode(o.NTab,{tab:l("components.uploadManage.all"),name:"all",disabled:f.value},null),e.createVNode(o.NTab,{tab:l("components.uploadManage.image"),name:"image",disabled:f.value},null),e.createVNode(o.NTab,{tab:l("components.uploadManage.media"),name:"media",disabled:f.value},null),e.createVNode(o.NTab,{tab:l("components.uploadManage.docs"),name:"docs",disabled:f.value},null)]})]),e.createVNode("div",{class:"flex gap-2"},[e.createVNode(o.NButton,{type:"default",ghost:!0,onClick:()=>{v.prompt({title:l("components.uploadManage.namePlaceholder")||"",formSchema:[{tag:o.NInput,attrs:{"v-model:value":"form.name"}}]}).then(a=>{E(a?.name)}).catch(()=>{})},renderIcon:()=>e.createVNode("div",{class:"i-tabler:plus"},null)},y(d=l("components.button.create"))?d:{default:()=>[d]}),e.createVNode(o.NButton,{type:"primary",ghost:!0,onClick:()=>{q.open()},loading:q.isUploading.value,renderIcon:()=>e.createVNode("div",{class:"i-tabler:upload"},null)},{default:()=>[e.createVNode("div",{class:"flex gap-2"},[l("components.uploadManage.upload"),q.progress.value.totalPercent>0&&`(${q.progress.value.totalPercent}%)`])]}),!t.page&&e.createVNode(o.NButton,{type:"default",ghost:!0,onClick:()=>{t.onClose?.()},renderIcon:()=>e.createVNode("div",{class:"i-tabler:x"},null)},null)])]),e.createVNode("div",{class:"flex-1 min-h-1 relative"},[n.data?.value?.data?.length>0&&e.createVNode(o.NInfiniteScroll,{distance:10,onLoad:()=>{n.hasNextPage.value&&n.fetchNextPage()},scrollbarProps:{contentClass:"p-4"}},{default:()=>[e.createVNode("div",{class:["grid grid-cols-3 md:grid-cols-4 text-sm items-start justify-start",n.data.value?.data?.length>=4&&!t.page?" lg:grid-cols-[repeat(auto-fit,minmax(150px,1fr))]":"lg:grid-cols-[repeat(auto-fit,minmax(150px,150px))]"]},[i.value?.folder&&i.value?.folder!==n.data.value?.meta?.folder&&e.createVNode(P.DuxFileManageItem,{key:`parent-${n.data.value?.meta?.folder}`,type:"folder",name:l("components.uploadManage.parentLevel"),page:t.page,onSelect:()=>{r.value=[],i.value.folder=n.data.value?.meta?.folder}},null),n.data.value?.data?.map(a=>e.createVNode(o.NTooltip,{placement:"bottom",key:`${a.url?"file":"folder"}-${a.id}`,trigger:a.url?"hover":"manual"},{default:()=>a.filesize,trigger:()=>e.createVNode(P.DuxFileManageItem,{page:t.page,onContextmenu:u=>{g.value=a,m.value=!1,e.nextTick().then(()=>{m.value=!0,V.value=u.clientX,x.value=u.clientY}),u.preventDefault()},value:t.page?!1:!!r.value?.find?.(u=>u.id===a.id),type:a.url?"file":"folder",mime:a.filetype,name:a.filename,url:a.url,time:a.time,onSelect:u=>{if(!a.url){r.value=[],n.data.value=void 0,i.value.folder=a.id;return}t.page||(u?t.multiple?r.value?.push(a):r.value=[a]:t.multiple?r.value?.splice(r.value?.indexOf(a),1):r.value=[])}},null)}))])]}),n.isLoading.value?e.createVNode(o.NSpin,{class:"h-full absolute w-full inset-0 bg-gray-1/50"},null):!n.data.value?.data?.length&&e.createVNode("div",{class:"size-full flex justify-center items-center text-sm text-gray-6"},[e.createVNode("div",{class:"flex flex-col items-center"},[e.createVNode("div",{class:"w-26 mb-2"},[e.createVNode(U.DuxDrawEmpty,null,null)]),e.createVNode("div",{class:"text-base"},[l("components.uploadManage.empty")]),e.createVNode("div",{class:"text-sm text-muted"},[l("components.uploadManage.emptyDesc")]),i.value?.folder&&i.value?.folder!==n.data.value?.meta?.folder&&e.createVNode("div",{class:"text-xs text-gray-6"},[e.createVNode(o.NButton,{type:"default",ghost:!0,onClick:()=>{r.value=[],i.value.folder=n.data.value?.meta?.folder}},y(c=l("components.uploadManage.back"))?c:{default:()=>[c]})])])])]),e.createVNode(o.NDropdown,{x:V.value,y:x.value,placement:"bottom-start",trigger:"manual",show:m.value,onClickoutside:()=>{m.value=!1},onUpdateShow:a=>{a||(g.value=void 0)},onSelect:a=>{const u=F.cloneDeep(g.value);switch(m.value=!1,a){case"download":C.url(u?.url);break;case"rename":v.prompt({title:l("components.uploadManage.namePlaceholder"),formSchema:[{tag:o.NInput,attrs:{"v-model:value":"form.name"}}],defaultValue:{name:u?.filename||u?.name}}).then(j=>{I(u?.type,j?.name,u?.id)});break;case"delete":v.confirm({title:l("components.uploadManage.delTitle"),content:l("components.uploadManage.delDesc")}).then(()=>{M(u?.type,u?.id)});break}},options:[g.value?.url&&{label:l("components.button.download"),key:"download",icon:()=>e.createVNode("div",{class:"i-tabler:download"},null)},{label:l("components.button.rename"),key:"rename",icon:()=>e.createVNode("div",{class:"i-tabler:cursor-text"},null)},{label:l("components.button.delete"),key:"delete",icon:()=>e.createVNode("div",{class:"i-tabler:trash"},null)}].filter(a=>a)},null),!t.page&&e.createVNode("div",{class:"flex justify-end gap-2 border-t border-muted p-3"},[e.createVNode("div",null,[r.value?.length>0&&e.createVNode(o.NButton,{type:"error",secondary:!0,onClick:()=>{v.confirm({title:l("components.uploadManage.delTitle"),content:l("components.uploadManage.delDesc")}).then(()=>{M("file",r.value?.map(a=>a.id))})}},y(p=l("components.button.delete"))?p:{default:()=>[p]})]),e.createVNode("div",null,[e.createVNode(o.NButton,{type:"primary",disabled:!r.value?.length,onClick:()=>{t.onConfirm?.(r.value)}},{default:()=>[l("components.button.select"),e.createTextVNode("("),r.value?.length||0,e.createTextVNode(")")]})])])])}}});exports.default=L;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),r=require("naive-ui"),h=require("./placeholder.cjs"),i=t.defineComponent({name:"DuxImage",props:{},extends:r.NImage,setup(e){return()=>e.src?t.createVNode(r.NImage,t.mergeProps(e,{src:e.src}),{placeholder:()=>t.createVNode(h.DuxPlaceholder,{width:e.width,height:e.height},null),error:()=>t.createVNode(h.DuxPlaceholder,{width:e.width,height:e.height},null)}):t.h(h.DuxPlaceholder,{width:e.width,height:e.height})}});exports.DuxImage=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),r=require("naive-ui"),h=require("./placeholder.cjs"),i=t.defineComponent({name:"DuxImage",props:{},extends:r.NImage,setup(e){return()=>e.src?t.createVNode(r.NImage,t.mergeProps(e,{src:e.src}),{placeholder:()=>t.createVNode(h.DuxPlaceholder,{width:e.width,height:e.height},null)}):t.h(h.DuxPlaceholder,{width:e.width,height:e.height})}});exports.DuxImage=i;
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=`/* layer: properties */
2
- @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--un-from-opacity:100%;--un-text-opacity:100%;--un-bg-opacity:100%;--un-divide-y-reverse:initial;--un-border-style:solid;--un-divide-x-reverse:initial;--un-divide-opacity:100%;--un-shadow-opacity:100%;--un-border-opacity:100%;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial;--un-ease:initial;--un-to-opacity:100%;--un-outline-style:solid;--un-fill-opacity:100%;--un-space-y-reverse:initial;}}
2
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--un-text-opacity:100%;--un-bg-opacity:100%;--un-from-opacity:100%;--un-divide-y-reverse:initial;--un-border-style:solid;--un-divide-x-reverse:initial;--un-divide-opacity:100%;--un-shadow-opacity:100%;--un-border-opacity:100%;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial;--un-ease:initial;--un-to-opacity:100%;--un-outline-style:solid;--un-fill-opacity:100%;--un-space-y-reverse:initial;}}
3
3
  @property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
4
4
  @property --un-outline-style{syntax:"*";inherits:false;initial-value:solid;}
5
5
  @property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
@@ -882,6 +882,14 @@ textarea {
882
882
  padding-block: 0;
883
883
  }
884
884
 
885
+ /*
886
+ Center dropdown marker shown on inputs with paired \`<datalist>\`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
887
+ */
888
+
889
+ ::-webkit-calendar-picker-indicator {
890
+ line-height: 1;
891
+ }
892
+
885
893
  /*
886
894
  Remove the additional \`:invalid\` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
887
895
  */
@@ -913,7 +921,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
913
921
  Make elements with the HTML hidden attribute stay hidden by default.
914
922
  */
915
923
 
916
- [hidden]:where(:not([hidden='until-found'])) {
924
+ [hidden]:where(:not([hidden~='until-found'])) {
917
925
  display: none !important;
918
926
  }
919
927
  /* layer: icons */
@@ -973,7 +981,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
973
981
  .i-tabler\\:hexagons{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 18v-5l4-2l4 2v5l-4 2zm4-7V6l4-2l4 2v5m-4 2l4-2l4 2v5l-4 2l-4-2'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
974
982
  .i-tabler\\:info-circle{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m9-3h.01'/%3E%3Cpath d='M11 12h1v4h1'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
975
983
  .i-tabler\\:info-circle-filled{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1-19.995.324L2 12l.004-.28C2.152 6.327 6.57 2 12 2m0 9h-1l-.117.007a1 1 0 0 0 0 1.986L11 13v3l.007.117a1 1 0 0 0 .876.876L12 17h1l.117-.007a1 1 0 0 0 .876-.876L14 16l-.007-.117a1 1 0 0 0-.764-.857l-.112-.02L13 15v-3l-.007-.117a1 1 0 0 0-.876-.876zm.01-3l-.127.007a1 1 0 0 0 0 1.986L12 10l.127-.007a1 1 0 0 0 0-1.986z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
976
- .i-tabler\\:language{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 5h7M9 3v2c0 4.418-2.239 8-5 8'/%3E%3Cpath d='M5 9c0 2.144 2.952 3.908 6.7 4m.3 7l4-9l4 9m-.9-2h-6.2'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
984
+ .i-tabler\\:language{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M9 6.371C9 10.789 6.761 13 4 13m0-6.629h7'/%3E%3Cpath d='M5 9c0 2.144 2.252 3.908 6 4m1 7l4-9l4 9m-.9-2h-6.2M6.694 3l.793.582'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
977
985
  .i-tabler\\:layout{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm0 9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm10-9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
978
986
  .i-tabler\\:layout-align-bottom{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 20h16M9 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
979
987
  .i-tabler\\:layout-align-center{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 4v5m0 6v5m-6-9a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
@@ -1353,7 +1361,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
1353
1361
  .translate-x-0{--un-translate-x:calc(var(--spacing) * 0);translate:var(--un-translate-x) var(--un-translate-y);}
1354
1362
  .translate-y-0{--un-translate-y:calc(var(--spacing) * 0);translate:var(--un-translate-x) var(--un-translate-y);}
1355
1363
  .translate-y-full{--un-translate-y:100%;translate:var(--un-translate-x) var(--un-translate-y);}
1356
- .rotate-0{rotate:0;}
1364
+ .rotate-0{rotate:0deg;}
1357
1365
  .rotate-180{rotate:180deg;}
1358
1366
  .rotate-45{rotate:45deg;}
1359
1367
  .transform{transform:var(--un-rotate-x) var(--un-rotate-y) var(--un-rotate-z) var(--un-skew-x) var(--un-skew-y);}
@@ -1438,12 +1446,6 @@ input:where([type='button'], [type='reset'], [type='submit']),
1438
1446
  .table{display:table;}
1439
1447
  .border-collapse{border-collapse:collapse;}
1440
1448
  .table-fixed{table-layout:fixed;}
1441
- .space-y-2>:not(:last-child){--un-space-y-reverse:0;margin-block-start: calc(calc(var(--spacing) * 2) * var(--un-space-y-reverse));margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--un-space-y-reverse)));}
1442
- .space-y-4>:not(:last-child){--un-space-y-reverse:0;margin-block-start: calc(calc(var(--spacing) * 4) * var(--un-space-y-reverse));margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--un-space-y-reverse)));}
1443
- .dark .dark\\:divide-gray-800>:not(:last-child){border-color:color-mix(in srgb, var(--colors-gray-800) var(--un-divide-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-800)) var(--un-text-opacity, 100%), transparent) */;}
1444
- .divide-white\\/20>:not(:last-child){border-color:color-mix(in srgb, var(--colors-white-DEFAULT) 20%, transparent) /* rgb(var(--ui-color-white)) */;}
1445
- .divide-x>:not(:last-child){--un-divide-x-reverse:0;border-left-width:calc(1px * var(--un-divide-x-reverse));border-left-style:var(--un-border-style);border-right-width:calc(1px * calc(1 - var(--un-divide-x-reverse)));border-right-style:var(--un-border-style);}
1446
- .divide-y>:not(:last-child){--un-divide-y-reverse:0;border-top-width:calc(1px * var(--un-divide-y-reverse));border-top-style:var(--un-border-style);border-bottom-width:calc(1px * calc(1 - var(--un-divide-y-reverse)));border-bottom-style:var(--un-border-style);}
1447
1449
  .text-default{color:color-mix(in oklab, rgb(var(--ui-text)) var(--un-text-opacity, 100%), transparent);--un-text-opacity:100%;}
1448
1450
  .text-dimmed{color:color-mix(in oklab, rgb(var(--ui-text-dimmed)) var(--un-text-opacity, 100%), transparent);--un-text-opacity:100%;}
1449
1451
  .placeholder\\:text-dimmed::placeholder{color:color-mix(in oklab, rgb(var(--ui-text-dimmed)) var(--un-text-opacity, 100%), transparent);--un-text-opacity:100%;}
@@ -1484,6 +1486,24 @@ input:where([type='button'], [type='reset'], [type='submit']),
1484
1486
  border-color: color-mix(in oklab, rgb(var(--ui-border-muted)) var(--un-border-opacity, 100%), transparent);
1485
1487
  --un-border-opacity: 100%;
1486
1488
  }
1489
+ .dark\\:divide-gray-800{
1490
+ .dark :where(&>:not(:last-child)){border-color:color-mix(in srgb, var(--colors-gray-800) var(--un-divide-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-800)) var(--un-text-opacity, 100%), transparent) */;}
1491
+ }
1492
+ .divide-white\\/20{
1493
+ :where(&>:not(:last-child)){border-color:color-mix(in srgb, var(--colors-white-DEFAULT) 20%, transparent) /* rgb(var(--ui-color-white)) */;}
1494
+ }
1495
+ .divide-x{
1496
+ :where(&>:not(:last-child)){--un-divide-x-reverse:0;border-left-width:calc(1px * var(--un-divide-x-reverse));border-left-style:var(--un-border-style);border-right-width:calc(1px * calc(1 - var(--un-divide-x-reverse)));border-right-style:var(--un-border-style);}
1497
+ }
1498
+ .divide-y{
1499
+ :where(&>:not(:last-child)){--un-divide-y-reverse:0;border-top-width:calc(1px * var(--un-divide-y-reverse));border-top-style:var(--un-border-style);border-bottom-width:calc(1px * calc(1 - var(--un-divide-y-reverse)));border-bottom-style:var(--un-border-style);}
1500
+ }
1501
+ .space-y-2{
1502
+ :where(&>:not(:last-child)){--un-space-y-reverse:0;margin-block-start: calc(calc(var(--spacing) * 2) * var(--un-space-y-reverse));margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--un-space-y-reverse)));}
1503
+ }
1504
+ .space-y-4{
1505
+ :where(&>:not(:last-child)){--un-space-y-reverse:0;margin-block-start: calc(calc(var(--spacing) * 4) * var(--un-space-y-reverse));margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--un-space-y-reverse)));}
1506
+ }
1487
1507
  @supports (color: color-mix(in lab, red, red)){
1488
1508
  .text-blue-600{color:color-mix(in oklab, var(--colors-blue-600) var(--un-text-opacity), transparent) /* rgb(var(--base-color-blue-600)) */;}
1489
1509
  .text-error{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-error)) var(--un-text-opacity, 100%), transparent) */;}
@@ -1537,10 +1557,10 @@ input:where([type='button'], [type='reset'], [type='submit']),
1537
1557
  .hover\\:bg-primary-hover:hover{background-color:color-mix(in oklab, var(--colors-primary-hover) var(--un-bg-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary-hover)) var(--un-text-opacity, 100%), transparent) */;}
1538
1558
  .hover\\:bg-primary\\/10:hover{background-color:color-mix(in oklab, var(--colors-primary-DEFAULT) 10%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1539
1559
  .hover\\:bg-primary\\/5:hover{background-color:color-mix(in oklab, var(--colors-primary-DEFAULT) 5%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1540
- .dark .dark\\:shadow-gray-950\\/20{--un-shadow-color:color-mix(in oklab, var(--colors-gray-950) 20%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-950)) var(--un-text-opacity, 100%), transparent) */;}
1541
- .dark .dark\\:shadow-gray-950\\/80{--un-shadow-color:color-mix(in oklab, var(--colors-gray-950) 80%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-950)) var(--un-text-opacity, 100%), transparent) */;}
1560
+ .dark .dark\\:shadow-gray-950\\/20{--un-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--colors-gray-950) 20%, transparent) var(--un-shadow-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-950)) var(--un-text-opacity, 100%), transparent) */;}
1561
+ .dark .dark\\:shadow-gray-950\\/80{--un-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--colors-gray-950) 80%, transparent) var(--un-shadow-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-950)) var(--un-text-opacity, 100%), transparent) */;}
1542
1562
  .shadow-gray-100{--un-shadow-color:color-mix(in oklab, var(--colors-gray-100) var(--un-shadow-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-100)) var(--un-text-opacity, 100%), transparent) */;}
1543
- .shadow-gray-950\\/10{--un-shadow-color:color-mix(in oklab, var(--colors-gray-950) 10%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-950)) var(--un-text-opacity, 100%), transparent) */;}
1563
+ .shadow-gray-950\\/10{--un-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--colors-gray-950) 10%, transparent) var(--un-shadow-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-950)) var(--un-text-opacity, 100%), transparent) */;}
1544
1564
  .fill-primary{fill:color-mix(in oklab, var(--colors-primary-DEFAULT) var(--un-fill-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1545
1565
  }
1546
1566
  @media (min-width: 40rem){
@@ -1,16 +1,88 @@
1
- import { defineComponent as S, ref as k, computed as C, watch as c, onMounted as w, onUnmounted as x, createVNode as A } from "vue";
2
- import { useTheme as E, useManage as M, useGetAuth as V, useI18n as D, useUpload as F } from "@duxweb/dvha-core";
3
- import { useVModel as N } from "@vueuse/core";
4
- import { AiEditor as O } from "aieditor";
5
- import { useMessage as b } from "naive-ui";
6
- const B = /* @__PURE__ */ S({
1
+ import { defineComponent as T, ref as x, computed as U, watch as w, onMounted as L, onUnmounted as V, createVNode as $ } from "vue";
2
+ import { useTheme as E, useManage as A, useGetAuth as j, useI18n as D, useUpload as F } from "@duxweb/dvha-core";
3
+ import { useVModel as z } from "@vueuse/core";
4
+ import { AiEditor as B } from "aieditor";
5
+ import { useMessage as N } from "naive-ui";
6
+ import "vue-router";
7
+ import "@overlastic/vue";
8
+ import "clsx";
9
+ import "vue-echarts";
10
+ import "vue3-ace-editor";
11
+ import "ace-builds/src-noconflict/mode-vue";
12
+ import "ace-builds/src-noconflict/mode-javascript";
13
+ import "ace-builds/src-noconflict/mode-html";
14
+ import "ace-builds/src-noconflict/mode-json";
15
+ import "ace-builds/src-noconflict/mode-json5";
16
+ import "ace-builds/src-noconflict/theme-tomorrow_night";
17
+ import "ace-builds/src-noconflict/theme-tomorrow";
18
+ import "ace-builds/src-noconflict/ext-searchbox";
19
+ import "ace-builds/src-noconflict/ext-language_tools";
20
+ import "ace-builds/src-noconflict/mode-snippets";
21
+ import "vue-cropper";
22
+ import "jinrishici";
23
+ import "lodash-es";
24
+ import "vue-draggable-plus";
25
+ import "@vee-validate/i18n";
26
+ import "colorizr";
27
+ import "echarts";
28
+ import "highlight.js/lib/core";
29
+ import "highlight.js/lib/languages/bash";
30
+ import "highlight.js/lib/languages/css";
31
+ import "highlight.js/lib/languages/go";
32
+ import "highlight.js/lib/languages/java";
33
+ import "highlight.js/lib/languages/javascript";
34
+ import "highlight.js/lib/languages/json";
35
+ import "highlight.js/lib/languages/markdown";
36
+ import "highlight.js/lib/languages/php";
37
+ import "highlight.js/lib/languages/python";
38
+ import "highlight.js/lib/languages/shell";
39
+ import "highlight.js/lib/languages/sql";
40
+ import "highlight.js/lib/languages/typescript";
41
+ import "highlight.js/lib/languages/xml";
42
+ import "@ant-design/colors";
43
+ import "@unocss/preset-icons/browser";
44
+ import "@unocss/preset-typography";
45
+ import "unocss/preset-wind4";
46
+ import "@vee-validate/i18n/dist/locale/en.json";
47
+ import "@vee-validate/i18n/dist/locale/zh_CN.json";
48
+ import "vee-validate";
49
+ import "vue-command-palette";
50
+ import "@duxweb/dvha-naiveui";
51
+ import "../../pages/page404.js";
52
+ import "short-unique-id";
53
+ import { useUploadConfig as O } from "../upload/config.js";
54
+ import "@vue-flow/core";
55
+ import "@vue-flow/background";
56
+ /* empty css */
57
+ import { useModal as Z } from "../../hooks/modal.js";
58
+ import "mime";
59
+ import "@iconify-json/tabler/icons.json";
60
+ import "../posterEditor/elements/index.js";
61
+ import "fabric";
62
+ import "dayjs";
63
+ import "@tanstack/vue-query";
64
+ import "pinia";
65
+ const Ye = /* @__PURE__ */ T({
7
66
  name: "DuxAiEditor",
8
67
  props: {
9
68
  value: String,
10
69
  defaultValue: String,
11
70
  uploadPath: String,
12
71
  uploadHeaders: Object,
72
+ // 编辑器类型:富文本 或 Markdown
73
+ editorType: {
74
+ type: String,
75
+ default: "richtext"
76
+ },
13
77
  aiPath: String,
78
+ fileManager: {
79
+ type: Boolean,
80
+ default: !0
81
+ },
82
+ fileManagerType: {
83
+ type: String,
84
+ default: "all"
85
+ },
14
86
  height: {
15
87
  type: String,
16
88
  default: "500px"
@@ -18,107 +90,163 @@ const B = /* @__PURE__ */ S({
18
90
  onUpdateValue: Function
19
91
  },
20
92
  setup(t, {
21
- emit: f
93
+ emit: y
22
94
  }) {
23
- const a = k();
24
- let o = null, i = !1;
25
- const m = E(), {
26
- config: h
27
- } = M(), g = V(), {
28
- t: v
29
- } = D(), P = b(), U = t.value ?? t.defaultValue ?? "", r = N(t, "value", f, {
95
+ const n = x();
96
+ let r = null, s = !1;
97
+ const f = E(), {
98
+ config: g
99
+ } = A(), k = j(), {
100
+ t: p
101
+ } = D(), M = N(), C = Z(), H = t.value ?? t.defaultValue ?? "", l = z(t, "value", y, {
30
102
  passive: !0
31
- }), u = C(() => t.uploadPath || h.apiPath?.upload || "upload"), d = F({
32
- path: u.value,
103
+ }), d = U(() => t.uploadPath || g.apiPath?.upload || "upload"), u = F({
104
+ path: d.value,
33
105
  autoUpload: !1
34
- });
35
- c(r, (e) => {
36
- !o || i || o.setContent(e || "");
106
+ }), {
107
+ managePath: b,
108
+ method: P
109
+ } = O();
110
+ w(l, (e) => {
111
+ !r || s || (t.editorType === "markdown" ? r.setMarkdownContent(e || "") : r.setContent(e || ""));
37
112
  }, {
38
113
  immediate: !0,
39
114
  flush: "post"
40
115
  });
41
- const s = (e) => new Promise((l, H) => {
42
- d.addFiles([e], "file").then(() => {
43
- d.trigger().then((n) => {
44
- n.forEach((p) => {
45
- const y = p?.data?.data;
46
- l({
116
+ const c = (e) => new Promise((o, a) => {
117
+ u.addFiles([e], "file").then(() => {
118
+ u.trigger().then((i) => {
119
+ i.forEach((m) => {
120
+ const h = m?.data?.data;
121
+ o({
47
122
  errorCode: 0,
48
123
  data: {
49
- src: y?.url,
50
- alt: p?.filename
124
+ src: h?.url,
125
+ alt: m?.filename
51
126
  }
52
127
  });
53
128
  });
54
- }).catch((n) => {
55
- P.error(n.message), H(n);
129
+ }).catch((i) => {
130
+ M.error(i.message), a(i);
56
131
  }).finally(() => {
57
- d.clearFiles();
132
+ u.clearFiles();
58
133
  });
59
134
  });
60
- });
61
- return w(() => {
62
- o = new O({
63
- theme: m.isDark.value ? "dark" : "light",
64
- element: a.value,
65
- placeholder: v("components.editor.placeholder"),
66
- content: U,
135
+ }), S = (e) => {
136
+ const o = String(e?.filetype || ""), a = String(e?.url || "");
137
+ return /^image\//i.test(o) || /\.(?:png|jpe?g|gif|bmp|webp|svg)$/i.test(a) ? "image" : /^video\//i.test(o) || /\.(?:mp4|webm|ogg|mov|m4v)$/i.test(a) ? "video" : "attachment";
138
+ };
139
+ return L(() => {
140
+ r = new B({
141
+ theme: f.isDark.value ? "dark" : "light",
142
+ element: n.value,
143
+ placeholder: p("components.editor.placeholder"),
144
+ content: H,
145
+ contentIsMarkdown: t.editorType === "markdown",
67
146
  onBlur: (e) => {
68
- i = !0, r.value = e.getHtml(), i = !1;
147
+ s = !0, l.value = t.editorType === "markdown" ? e.getMarkdown() : e.getHtml(), s = !1;
69
148
  },
70
149
  image: {
71
- uploadUrl: u.value,
150
+ uploadUrl: d.value,
72
151
  uploadHeaders: t.uploadHeaders || {},
73
- uploader: s
152
+ uploader: c,
153
+ defaultSize: "auto"
74
154
  },
75
155
  video: {
76
- uploadUrl: u.value,
156
+ uploadUrl: d.value,
77
157
  uploadHeaders: t.uploadHeaders || {},
78
- uploader: s
158
+ uploader: c
79
159
  },
80
160
  attachment: {
81
- uploadUrl: u.value,
161
+ uploadUrl: d.value,
82
162
  uploadHeaders: t.uploadHeaders || {},
83
- uploader: s
163
+ uploader: c
84
164
  },
85
165
  ai: {
86
166
  models: {
87
167
  custom: {
88
- url: t.aiPath || h.apiPath?.ai || "ai",
168
+ url: t.aiPath || g.apiPath?.ai || "ai",
89
169
  headers: () => ({
90
170
  "Content-Type": "application/json",
91
- Authorization: g.token
171
+ Authorization: k.token
92
172
  }),
93
173
  wrapPayload: (e) => JSON.stringify({
94
174
  prompt: e
95
175
  }),
96
176
  parseMessage: (e) => {
97
- const l = JSON.parse(e);
177
+ const o = JSON.parse(e);
98
178
  return {
99
179
  role: "assistant",
100
- content: l.message,
101
- index: l.number,
102
- status: l.status
180
+ content: o.message,
181
+ index: o.number,
182
+ status: o.status
103
183
  };
104
184
  },
105
185
  protocol: "sse"
106
186
  }
107
187
  }
108
- }
109
- }), r.value != null && o.setContent(r.value || "");
110
- }), x(() => {
111
- o?.destroy();
112
- }), c(m.isDark, (e) => {
113
- a.value && (a.value.classList.remove("aie-theme-dark", "aie-theme-light"), a.value.classList.add(e ? "aie-theme-dark" : "aie-theme-light"));
188
+ },
189
+ toolbarKeys: ["undo", "redo", "brush", "eraser", "divider", "heading", "font-family", "font-size", "divider", "bold", "italic", "underline", "strike", "link", "code", "subscript", "superscript", "hr", "todo", "emoji", "divider", "highlight", "font-color", "divider", "align", "line-height", "divider", "bullet-list", "ordered-list", "indent-decrease", "indent-increase", "break", "divider", ...t.fileManager ? [{
190
+ id: "dux-file-manager-image",
191
+ tip: p("components.upload.fileManager"),
192
+ icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M3.08697 9H20.9134C21.4657 9 21.9134 9.44772 21.9134 10C21.9134 10.0277 21.9122 10.0554 21.9099 10.083L21.0766 20.083C21.0334 20.6013 20.6001 21 20.08 21H3.9203C3.40021 21 2.96695 20.6013 2.92376 20.083L2.09042 10.083C2.04456 9.53267 2.45355 9.04932 3.00392 9.00345C3.03155 9.00115 3.05925 9 3.08697 9ZM4.84044 19H19.1599L19.8266 11H4.17377L4.84044 19ZM13.4144 5H20.0002C20.5525 5 21.0002 5.44772 21.0002 6V7H3.00017V4C3.00017 3.44772 3.44789 3 4.00017 3H11.4144L13.4144 5Z"></path></svg>',
193
+ onClick: (e, o) => {
194
+ C.show({
195
+ title: p("components.uploadManage.title") || p("components.upload.fileManager"),
196
+ width: "800px",
197
+ component: () => import("../upload/manager.js"),
198
+ componentProps: {
199
+ path: b.value,
200
+ type: t.fileManagerType || "all",
201
+ multiple: !0,
202
+ uploadParams: {
203
+ path: d.value,
204
+ accept: "*/*",
205
+ method: P.value
206
+ }
207
+ }
208
+ }).then((a) => {
209
+ a?.forEach?.((i) => {
210
+ const m = S(i), h = i?.filename || "";
211
+ if (m === "image")
212
+ o.insert({
213
+ type: "image",
214
+ attrs: {
215
+ src: i.url,
216
+ alt: h,
217
+ width: "auto"
218
+ }
219
+ });
220
+ else if (m === "video")
221
+ o.insert({
222
+ type: "video",
223
+ attrs: {
224
+ src: i.url,
225
+ controls: "true",
226
+ width: 350
227
+ }
228
+ });
229
+ else {
230
+ const v = i?.filename || i?.name || "file";
231
+ t.editorType === "markdown" ? o.insertMarkdown(`[${v}](${i.url})`) : o.insert(`<a href="${i.url}" target="_blank">${v}</a>`);
232
+ }
233
+ });
234
+ });
235
+ }
236
+ }] : [], "image", "video", "attachment", "quote", "container", "code-block", "table", "divider", "printer", "fullscreen", "ai"]
237
+ }), l.value != null && (t.editorType === "markdown" ? r.setMarkdownContent(l.value || "") : r.setContent(l.value || ""));
238
+ }), V(() => {
239
+ r?.destroy();
240
+ }), w(f.isDark, (e) => {
241
+ n.value && (n.value.classList.remove("aie-theme-dark", "aie-theme-light"), n.value.classList.add(e ? "aie-theme-dark" : "aie-theme-light"));
114
242
  }, {
115
243
  immediate: !0
116
- }), () => A("div", {
117
- ref: a,
244
+ }), () => $("div", {
245
+ ref: n,
118
246
  style: `height: ${t.height}; width:100%`
119
247
  }, null);
120
248
  }
121
249
  });
122
250
  export {
123
- B as DuxAiEditor
251
+ Ye as DuxAiEditor
124
252
  };