djm-ui 0.67.4 → 0.72.0

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +38 -2
  3. package/dist/djm-ui.cjs +1032 -347
  4. package/dist/djm-ui.cjs.map +4 -4
  5. package/dist/djm-ui.css +752 -17
  6. package/dist/djm-ui.esm.js +1105 -420
  7. package/dist/djm-ui.esm.js.map +4 -4
  8. package/dist/djm-ui.esm.min.js +373 -227
  9. package/dist/djm-ui.min.cjs +373 -227
  10. package/dist/djm-ui.min.css +2 -2
  11. package/dist/djm-ui.umd.js +944 -259
  12. package/dist/djm-ui.umd.min.js +373 -227
  13. package/dist/mcp/manifest.json +12195 -0
  14. package/dist/mcp/server.js +90 -0
  15. package/package.json +12 -4
  16. package/src/components/icon/index.js +13 -1
  17. package/src/components/rich-editor/index.js +724 -61
  18. package/src/index.js +1 -1
  19. package/src/locale/en-US.js +33 -1
  20. package/src/locale/zh-CN.js +33 -1
  21. package/src/styles/base.css +2 -3
  22. package/src/styles/components/button.css +2 -1
  23. package/src/styles/components/console.css +5 -0
  24. package/src/styles/components/content.css +517 -0
  25. package/src/styles/components/form.css +5 -0
  26. package/src/styles/components/layout.css +326 -0
  27. package/src/styles/components/media-picker.css +3 -3
  28. package/src/styles/components/menu.css +2 -1
  29. package/src/styles/components/org-picker.css +1 -1
  30. package/src/styles/components/responsive.css +86 -0
  31. package/src/styles/components/rich-editor.css +206 -7
  32. package/src/styles/components/skin.css +54 -0
  33. package/src/styles/components/template.css +5 -0
  34. package/src/styles/index.css +1 -0
  35. package/src/styles/theme-dark.css +2 -0
  36. package/src/styles/tokens.css +8 -0
  37. package/src/theme/index.js +40 -0
  38. package/src/utils/sanitize-html.js +44 -6
  39. package/types/index.d.ts +8 -0
@@ -1,12 +1,12 @@
1
- /*! DJM UI v0.67.4 · MIT · 2026-10-26 */
2
- "use strict";var ra=Object.defineProperty;var Gi=Object.getOwnPropertyDescriptor;var Ji=Object.getOwnPropertyNames;var Xi=Object.prototype.hasOwnProperty;var Qi=(e,t,a)=>()=>{if(a)throw a[0];try{return e&&(t=e(e=0)),t}catch(n){throw a=[n],n}};var ei=(e,t)=>{for(var a in t)ra(e,a,{get:t[a],enumerable:!0})},Zi=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ji(t))!Xi.call(e,i)&&i!==a&&ra(e,i,{get:()=>t[i],enumerable:!(n=Gi(t,i))||n.enumerable});return e};var el=e=>Zi(ra({},"__esModule",{value:!0}),e);var wi={};ei(wi,{default:()=>Nl});var X,hl,vt,ln,vl,gl,yl,bl,wl,vi,jl,kl,xl,gi,yi,gt,Sl,Dl,Tl,Ml,Cl,El,Il,Ll,Al,bi,Pl,zl,Bl,Nl,ji=Qi(()=>{"use strict";X=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(a){throw t=0,a}},hl=X((e,t)=>{t.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}}),vt=X(e=>{var t,a=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17},e.getSymbolTotalCodewords=function(n){return a[n]},e.getBCHDigit=function(n){let i=0;for(;n!==0;)i++,n>>>=1;return i},e.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');t=n},e.isKanjiModeEnabled=function(){return typeof t<"u"},e.toSJIS=function(n){return t(n)}}),ln=X(e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(a){if(typeof a!="string")throw new Error("Param is not a string");switch(a.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+a)}}e.isValid=function(a){return a&&typeof a.bit<"u"&&a.bit>=0&&a.bit<4},e.from=function(a,n){if(e.isValid(a))return a;try{return t(a)}catch{return n}}}),vl=X((e,t)=>{function a(){this.buffer=[],this.length=0}a.prototype={get:function(n){let i=Math.floor(n/8);return(this.buffer[i]>>>7-n%8&1)===1},put:function(n,i){for(let l=0;l<i;l++)this.putBit((n>>>i-l-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(n){let i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),n&&(this.buffer[i]|=128>>>this.length%8),this.length++}},t.exports=a}),gl=X((e,t)=>{function a(n){if(!n||n<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=n,this.data=new Uint8Array(n*n),this.reservedBit=new Uint8Array(n*n)}a.prototype.set=function(n,i,l,o){let r=n*this.size+i;this.data[r]=l,o&&(this.reservedBit[r]=!0)},a.prototype.get=function(n,i){return this.data[n*this.size+i]},a.prototype.xor=function(n,i,l){this.data[n*this.size+i]^=l},a.prototype.isReserved=function(n,i){return this.reservedBit[n*this.size+i]},t.exports=a}),yl=X(e=>{var t=vt().getSymbolSize;e.getRowColCoords=function(a){if(a===1)return[];let n=Math.floor(a/7)+2,i=t(a),l=i===145?26:Math.ceil((i-13)/(2*n-2))*2,o=[i-7];for(let r=1;r<n-1;r++)o[r]=o[r-1]-l;return o.push(6),o.reverse()},e.getPositions=function(a){let n=[],i=e.getRowColCoords(a),l=i.length;for(let o=0;o<l;o++)for(let r=0;r<l;r++)o===0&&r===0||o===0&&r===l-1||o===l-1&&r===0||n.push([i[o],i[r]]);return n}}),bl=X(e=>{var t=vt().getSymbolSize,a=7;e.getPositions=function(n){let i=t(n);return[[0,0],[i-a,0],[0,i-a]]}}),wl=X(e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(n){return n!=null&&n!==""&&!isNaN(n)&&n>=0&&n<=7},e.from=function(n){return e.isValid(n)?parseInt(n,10):void 0},e.getPenaltyN1=function(n){let i=n.size,l=0,o=0,r=0,s=null,d=null;for(let f=0;f<i;f++){o=r=0,s=d=null;for(let c=0;c<i;c++){let p=n.get(f,c);p===s?o++:(o>=5&&(l+=t.N1+(o-5)),s=p,o=1),p=n.get(c,f),p===d?r++:(r>=5&&(l+=t.N1+(r-5)),d=p,r=1)}o>=5&&(l+=t.N1+(o-5)),r>=5&&(l+=t.N1+(r-5))}return l},e.getPenaltyN2=function(n){let i=n.size,l=0;for(let o=0;o<i-1;o++)for(let r=0;r<i-1;r++){let s=n.get(o,r)+n.get(o,r+1)+n.get(o+1,r)+n.get(o+1,r+1);(s===4||s===0)&&l++}return l*t.N2},e.getPenaltyN3=function(n){let i=n.size,l=0,o=0,r=0;for(let s=0;s<i;s++){o=r=0;for(let d=0;d<i;d++)o=o<<1&2047|n.get(s,d),d>=10&&(o===1488||o===93)&&l++,r=r<<1&2047|n.get(d,s),d>=10&&(r===1488||r===93)&&l++}return l*t.N3},e.getPenaltyN4=function(n){let i=0,l=n.data.length;for(let o=0;o<l;o++)i+=n.data[o];return Math.abs(Math.ceil(i*100/l/5)-10)*t.N4};function a(n,i,l){switch(n){case e.Patterns.PATTERN000:return(i+l)%2===0;case e.Patterns.PATTERN001:return i%2===0;case e.Patterns.PATTERN010:return l%3===0;case e.Patterns.PATTERN011:return(i+l)%3===0;case e.Patterns.PATTERN100:return(Math.floor(i/2)+Math.floor(l/3))%2===0;case e.Patterns.PATTERN101:return i*l%2+i*l%3===0;case e.Patterns.PATTERN110:return(i*l%2+i*l%3)%2===0;case e.Patterns.PATTERN111:return(i*l%3+(i+l)%2)%2===0;default:throw new Error("bad maskPattern:"+n)}}e.applyMask=function(n,i){let l=i.size;for(let o=0;o<l;o++)for(let r=0;r<l;r++)i.isReserved(r,o)||i.xor(r,o,a(n,r,o))},e.getBestMask=function(n,i){let l=Object.keys(e.Patterns).length,o=0,r=1/0;for(let s=0;s<l;s++){i(s),e.applyMask(s,n);let d=e.getPenaltyN1(n)+e.getPenaltyN2(n)+e.getPenaltyN3(n)+e.getPenaltyN4(n);e.applyMask(s,n),d<r&&(r=d,o=s)}return o}}),vi=X(e=>{var t=ln(),a=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],n=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(i,l){switch(l){case t.L:return a[(i-1)*4+0];case t.M:return a[(i-1)*4+1];case t.Q:return a[(i-1)*4+2];case t.H:return a[(i-1)*4+3];default:return}},e.getTotalCodewordsCount=function(i,l){switch(l){case t.L:return n[(i-1)*4+0];case t.M:return n[(i-1)*4+1];case t.Q:return n[(i-1)*4+2];case t.H:return n[(i-1)*4+3];default:return}}}),jl=X(e=>{var t=new Uint8Array(512),a=new Uint8Array(256);(function(){let n=1;for(let i=0;i<255;i++)t[i]=n,a[n]=i,n<<=1,n&256&&(n^=285);for(let i=255;i<512;i++)t[i]=t[i-255]})(),e.log=function(n){if(n<1)throw new Error("log("+n+")");return a[n]},e.exp=function(n){return t[n]},e.mul=function(n,i){return n===0||i===0?0:t[a[n]+a[i]]}}),kl=X(e=>{var t=jl();e.mul=function(a,n){let i=new Uint8Array(a.length+n.length-1);for(let l=0;l<a.length;l++)for(let o=0;o<n.length;o++)i[l+o]^=t.mul(a[l],n[o]);return i},e.mod=function(a,n){let i=new Uint8Array(a);for(;i.length-n.length>=0;){let l=i[0];for(let r=0;r<n.length;r++)i[r]^=t.mul(n[r],l);let o=0;for(;o<i.length&&i[o]===0;)o++;i=i.slice(o)}return i},e.generateECPolynomial=function(a){let n=new Uint8Array([1]);for(let i=0;i<a;i++)n=e.mul(n,new Uint8Array([1,t.exp(i)]));return n}}),xl=X((e,t)=>{var a=kl();function n(i){this.genPoly=void 0,this.degree=i,this.degree&&this.initialize(this.degree)}n.prototype.initialize=function(i){this.degree=i,this.genPoly=a.generateECPolynomial(this.degree)},n.prototype.encode=function(i){if(!this.genPoly)throw new Error("Encoder not initialized");let l=new Uint8Array(i.length+this.degree);l.set(i);let o=a.mod(l,this.genPoly),r=this.degree-o.length;if(r>0){let s=new Uint8Array(this.degree);return s.set(o,r),s}return o},t.exports=n}),gi=X(e=>{e.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}}),yi=X(e=>{var t="[0-9]+",a="[A-Z $%*+\\-./:]+",n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");var i="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+`)(?:.|[\r
3
- ]))+`;e.KANJI=new RegExp(n,"g"),e.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),e.BYTE=new RegExp(i,"g"),e.NUMERIC=new RegExp(t,"g"),e.ALPHANUMERIC=new RegExp(a,"g");var l=new RegExp("^"+n+"$"),o=new RegExp("^"+t+"$"),r=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");e.testKanji=function(s){return l.test(s)},e.testNumeric=function(s){return o.test(s)},e.testAlphanumeric=function(s){return r.test(s)}}),gt=X(e=>{var t=gi(),a=yi();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(i,l){if(!i.ccBits)throw new Error("Invalid mode: "+i);if(!t.isValid(l))throw new Error("Invalid version: "+l);return l>=1&&l<10?i.ccBits[0]:l<27?i.ccBits[1]:i.ccBits[2]},e.getBestModeForData=function(i){return a.testNumeric(i)?e.NUMERIC:a.testAlphanumeric(i)?e.ALPHANUMERIC:a.testKanji(i)?e.KANJI:e.BYTE},e.toString=function(i){if(i&&i.id)return i.id;throw new Error("Invalid mode")},e.isValid=function(i){return i&&i.bit&&i.ccBits};function n(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+i)}}e.from=function(i,l){if(e.isValid(i))return i;try{return n(i)}catch{return l}}}),Sl=X(e=>{var t=vt(),a=vi(),n=ln(),i=gt(),l=gi(),o=7973,r=t.getBCHDigit(o);function s(p,g,m){for(let h=1;h<=40;h++)if(g<=e.getCapacity(h,m,p))return h}function d(p,g){return i.getCharCountIndicator(p,g)+4}function f(p,g){let m=0;return p.forEach(function(h){let b=d(h.mode,g);m+=b+h.getBitsLength()}),m}function c(p,g){for(let m=1;m<=40;m++)if(f(p,m)<=e.getCapacity(m,g,i.MIXED))return m}e.from=function(p,g){return l.isValid(p)?parseInt(p,10):g},e.getCapacity=function(p,g,m){if(!l.isValid(p))throw new Error("Invalid QR Code version");typeof m>"u"&&(m=i.BYTE);let h=t.getSymbolTotalCodewords(p),b=a.getTotalCodewordsCount(p,g),j=(h-b)*8;if(m===i.MIXED)return j;let w=j-d(m,p);switch(m){case i.NUMERIC:return Math.floor(w/10*3);case i.ALPHANUMERIC:return Math.floor(w/11*2);case i.KANJI:return Math.floor(w/13);case i.BYTE:default:return Math.floor(w/8)}},e.getBestVersionForData=function(p,g){let m,h=n.from(g,n.M);if(Array.isArray(p)){if(p.length>1)return c(p,h);if(p.length===0)return 1;m=p[0]}else m=p;return s(m.mode,m.getLength(),h)},e.getEncodedBits=function(p){if(!l.isValid(p)||p<7)throw new Error("Invalid QR Code version");let g=p<<12;for(;t.getBCHDigit(g)-r>=0;)g^=o<<t.getBCHDigit(g)-r;return p<<12|g}}),Dl=X(e=>{var t=vt(),a=1335,n=21522,i=t.getBCHDigit(a);e.getEncodedBits=function(l,o){let r=l.bit<<3|o,s=r<<10;for(;t.getBCHDigit(s)-i>=0;)s^=a<<t.getBCHDigit(s)-i;return(r<<10|s)^n}}),Tl=X((e,t)=>{var a=gt();function n(i){this.mode=a.NUMERIC,this.data=i.toString()}n.getBitsLength=function(i){return 10*Math.floor(i/3)+(i%3?i%3*3+1:0)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(i){let l,o,r;for(l=0;l+3<=this.data.length;l+=3)o=this.data.substr(l,3),r=parseInt(o,10),i.put(r,10);let s=this.data.length-l;s>0&&(o=this.data.substr(l),r=parseInt(o,10),i.put(r,s*3+1))},t.exports=n}),Ml=X((e,t)=>{var a=gt(),n=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function i(l){this.mode=a.ALPHANUMERIC,this.data=l}i.getBitsLength=function(l){return 11*Math.floor(l/2)+6*(l%2)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(l){let o;for(o=0;o+2<=this.data.length;o+=2){let r=n.indexOf(this.data[o])*45;r+=n.indexOf(this.data[o+1]),l.put(r,11)}this.data.length%2&&l.put(n.indexOf(this.data[o]),6)},t.exports=i}),Cl=X((e,t)=>{var a=gt();function n(i){this.mode=a.BYTE,typeof i=="string"?this.data=new TextEncoder().encode(i):this.data=new Uint8Array(i)}n.getBitsLength=function(i){return i*8},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(i){for(let l=0,o=this.data.length;l<o;l++)i.put(this.data[l],8)},t.exports=n}),El=X((e,t)=>{var a=gt(),n=vt();function i(l){this.mode=a.KANJI,this.data=l}i.getBitsLength=function(l){return l*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(l){let o;for(o=0;o<this.data.length;o++){let r=n.toSJIS(this.data[o]);if(r>=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[o]+`
4
- Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),l.put(r,13)}},t.exports=i}),Il=X((e,t)=>{"use strict";var a={single_source_shortest_paths:function(n,i,l){var o={},r={};r[i]=0;var s=a.PriorityQueue.make();s.push(i,0);for(var d,f,c,p,g,m,h,b,j;!s.empty();){d=s.pop(),f=d.value,p=d.cost,g=n[f]||{};for(c in g)g.hasOwnProperty(c)&&(m=g[c],h=p+m,b=r[c],j=typeof r[c]>"u",(j||b>h)&&(r[c]=h,s.push(c,h),o[c]=f))}if(typeof l<"u"&&typeof r[l]>"u"){var w=["Could not find a path from ",i," to ",l,"."].join("");throw new Error(w)}return o},extract_shortest_path_from_predecessor_list:function(n,i){for(var l=[],o=i,r;o;)l.push(o),r=n[o],o=n[o];return l.reverse(),l},find_path:function(n,i,l){var o=a.single_source_shortest_paths(n,i,l);return a.extract_shortest_path_from_predecessor_list(o,l)},PriorityQueue:{make:function(n){var i=a.PriorityQueue,l={},o;n=n||{};for(o in i)i.hasOwnProperty(o)&&(l[o]=i[o]);return l.queue=[],l.sorter=n.sorter||i.default_sorter,l},default_sorter:function(n,i){return n.cost-i.cost},push:function(n,i){var l={value:n,cost:i};this.queue.push(l),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof t<"u"&&(t.exports=a)}),Ll=X(e=>{var t=gt(),a=Tl(),n=Ml(),i=Cl(),l=El(),o=yi(),r=vt(),s=Il();function d(j){return unescape(encodeURIComponent(j)).length}function f(j,w,y){let u=[],v;for(;(v=j.exec(y))!==null;)u.push({data:v[0],index:v.index,mode:w,length:v[0].length});return u}function c(j){let w=f(o.NUMERIC,t.NUMERIC,j),y=f(o.ALPHANUMERIC,t.ALPHANUMERIC,j),u,v;return r.isKanjiModeEnabled()?(u=f(o.BYTE,t.BYTE,j),v=f(o.KANJI,t.KANJI,j)):(u=f(o.BYTE_KANJI,t.BYTE,j),v=[]),w.concat(y,u,v).sort(function(T,D){return T.index-D.index}).map(function(T){return{data:T.data,mode:T.mode,length:T.length}})}function p(j,w){switch(w){case t.NUMERIC:return a.getBitsLength(j);case t.ALPHANUMERIC:return n.getBitsLength(j);case t.KANJI:return l.getBitsLength(j);case t.BYTE:return i.getBitsLength(j)}}function g(j){return j.reduce(function(w,y){let u=w.length-1>=0?w[w.length-1]:null;return u&&u.mode===y.mode?(w[w.length-1].data+=y.data,w):(w.push(y),w)},[])}function m(j){let w=[];for(let y=0;y<j.length;y++){let u=j[y];switch(u.mode){case t.NUMERIC:w.push([u,{data:u.data,mode:t.ALPHANUMERIC,length:u.length},{data:u.data,mode:t.BYTE,length:u.length}]);break;case t.ALPHANUMERIC:w.push([u,{data:u.data,mode:t.BYTE,length:u.length}]);break;case t.KANJI:w.push([u,{data:u.data,mode:t.BYTE,length:d(u.data)}]);break;case t.BYTE:w.push([{data:u.data,mode:t.BYTE,length:d(u.data)}])}}return w}function h(j,w){let y={},u={start:{}},v=["start"];for(let T=0;T<j.length;T++){let D=j[T],x=[];for(let z=0;z<D.length;z++){let S=D[z],M=""+T+z;x.push(M),y[M]={node:S,lastCount:0},u[M]={};for(let I=0;I<v.length;I++){let A=v[I];y[A]&&y[A].node.mode===S.mode?(u[A][M]=p(y[A].lastCount+S.length,S.mode)-p(y[A].lastCount,S.mode),y[A].lastCount+=S.length):(y[A]&&(y[A].lastCount=S.length),u[A][M]=p(S.length,S.mode)+4+t.getCharCountIndicator(S.mode,w))}}v=x}for(let T=0;T<v.length;T++)u[v[T]].end=0;return{map:u,table:y}}function b(j,w){let y,u=t.getBestModeForData(j);if(y=t.from(w,u),y!==t.BYTE&&y.bit<u.bit)throw new Error('"'+j+'" cannot be encoded with mode '+t.toString(y)+`.
5
- Suggested mode is: `+t.toString(u));switch(y===t.KANJI&&!r.isKanjiModeEnabled()&&(y=t.BYTE),y){case t.NUMERIC:return new a(j);case t.ALPHANUMERIC:return new n(j);case t.KANJI:return new l(j);case t.BYTE:return new i(j)}}e.fromArray=function(j){return j.reduce(function(w,y){return typeof y=="string"?w.push(b(y,null)):y.data&&w.push(b(y.data,y.mode)),w},[])},e.fromString=function(j,w){let y=c(j,r.isKanjiModeEnabled()),u=m(y),v=h(u,w),T=s.find_path(v.map,"start","end"),D=[];for(let x=1;x<T.length-1;x++)D.push(v.table[T[x]].node);return e.fromArray(g(D))},e.rawSplit=function(j){return e.fromArray(c(j,r.isKanjiModeEnabled()))}}),Al=X(e=>{var t=vt(),a=ln(),n=vl(),i=gl(),l=yl(),o=bl(),r=wl(),s=vi(),d=xl(),f=Sl(),c=Dl(),p=gt(),g=Ll();function m(D,x){let z=D.size,S=o.getPositions(x);for(let M=0;M<S.length;M++){let I=S[M][0],A=S[M][1];for(let V=-1;V<=7;V++)if(!(I+V<=-1||z<=I+V))for(let H=-1;H<=7;H++)A+H<=-1||z<=A+H||(V>=0&&V<=6&&(H===0||H===6)||H>=0&&H<=6&&(V===0||V===6)||V>=2&&V<=4&&H>=2&&H<=4?D.set(I+V,A+H,!0,!0):D.set(I+V,A+H,!1,!0))}}function h(D){let x=D.size;for(let z=8;z<x-8;z++){let S=z%2===0;D.set(z,6,S,!0),D.set(6,z,S,!0)}}function b(D,x){let z=l.getPositions(x);for(let S=0;S<z.length;S++){let M=z[S][0],I=z[S][1];for(let A=-2;A<=2;A++)for(let V=-2;V<=2;V++)A===-2||A===2||V===-2||V===2||A===0&&V===0?D.set(M+A,I+V,!0,!0):D.set(M+A,I+V,!1,!0)}}function j(D,x){let z=D.size,S=f.getEncodedBits(x),M,I,A;for(let V=0;V<18;V++)M=Math.floor(V/3),I=V%3+z-8-3,A=(S>>V&1)===1,D.set(M,I,A,!0),D.set(I,M,A,!0)}function w(D,x,z){let S=D.size,M=c.getEncodedBits(x,z),I,A;for(I=0;I<15;I++)A=(M>>I&1)===1,I<6?D.set(I,8,A,!0):I<8?D.set(I+1,8,A,!0):D.set(S-15+I,8,A,!0),I<8?D.set(8,S-I-1,A,!0):I<9?D.set(8,15-I-1+1,A,!0):D.set(8,15-I-1,A,!0);D.set(S-8,8,1,!0)}function y(D,x){let z=D.size,S=-1,M=z-1,I=7,A=0;for(let V=z-1;V>0;V-=2)for(V===6&&V--;;){for(let H=0;H<2;H++)if(!D.isReserved(M,V-H)){let G=!1;A<x.length&&(G=(x[A]>>>I&1)===1),D.set(M,V-H,G),I--,I===-1&&(A++,I=7)}if(M+=S,M<0||z<=M){M-=S,S=-S;break}}}function u(D,x,z){let S=new n;z.forEach(function(H){S.put(H.mode.bit,4),S.put(H.getLength(),p.getCharCountIndicator(H.mode,D)),H.write(S)});let M=t.getSymbolTotalCodewords(D),I=s.getTotalCodewordsCount(D,x),A=(M-I)*8;for(S.getLengthInBits()+4<=A&&S.put(0,4);S.getLengthInBits()%8!==0;)S.putBit(0);let V=(A-S.getLengthInBits())/8;for(let H=0;H<V;H++)S.put(H%2?17:236,8);return v(S,D,x)}function v(D,x,z){let S=t.getSymbolTotalCodewords(x),M=s.getTotalCodewordsCount(x,z),I=S-M,A=s.getBlocksCount(x,z),V=S%A,H=A-V,G=Math.floor(S/A),Q=Math.floor(I/A),R=Q+1,F=G-Q,U=new d(F),ae=0,Z=new Array(A),de=new Array(A),P=0,O=new Uint8Array(D.buffer);for(let B=0;B<A;B++){let $=B<H?Q:R;Z[B]=O.slice(ae,ae+$),de[B]=U.encode(Z[B]),ae+=$,P=Math.max(P,$)}let W=new Uint8Array(S),re=0,k,E;for(k=0;k<P;k++)for(E=0;E<A;E++)k<Z[E].length&&(W[re++]=Z[E][k]);for(k=0;k<F;k++)for(E=0;E<A;E++)W[re++]=de[E][k];return W}function T(D,x,z,S){let M;if(Array.isArray(D))M=g.fromArray(D);else if(typeof D=="string"){let G=x;if(!G){let Q=g.rawSplit(D);G=f.getBestVersionForData(Q,z)}M=g.fromString(D,G||40)}else throw new Error("Invalid data");let I=f.getBestVersionForData(M,z);if(!I)throw new Error("The amount of data is too big to be stored in a QR Code");if(!x)x=I;else if(x<I)throw new Error(`
1
+ /*! DJM UI v0.72.0 · MIT · 2026-10-26 */
2
+ "use strict";var ma=Object.defineProperty;var al=Object.getOwnPropertyDescriptor;var il=Object.getOwnPropertyNames;var nl=Object.prototype.hasOwnProperty;var ll=(e,t,a)=>()=>{if(a)throw a[0];try{return e&&(t=e(e=0)),t}catch(i){throw a=[i],i}};var nn=(e,t)=>{for(var a in t)ma(e,a,{get:t[a],enumerable:!0})},ol=(e,t,a,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of il(t))!nl.call(e,n)&&n!==a&&ma(e,n,{get:()=>t[n],enumerable:!(i=al(t,n))||i.enumerable});return e};var rl=e=>ol(ma({},"__esModule",{value:!0}),e);var Sn={};nn(Sn,{default:()=>Kl});var ne,xl,yt,di,kl,Sl,Dl,El,Ml,wn,Cl,Tl,Il,jn,xn,wt,Ll,Al,zl,Pl,Bl,Nl,Rl,Vl,Hl,kn,Ol,$l,Fl,Kl,Dn=ll(()=>{"use strict";ne=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(a){throw t=0,a}},xl=ne((e,t)=>{t.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}}),yt=ne(e=>{var t,a=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(i){if(!i)throw new Error('"version" cannot be null or undefined');if(i<1||i>40)throw new Error('"version" should be in range from 1 to 40');return i*4+17},e.getSymbolTotalCodewords=function(i){return a[i]},e.getBCHDigit=function(i){let n=0;for(;i!==0;)n++,i>>>=1;return n},e.setToSJISFunction=function(i){if(typeof i!="function")throw new Error('"toSJISFunc" is not a valid function.');t=i},e.isKanjiModeEnabled=function(){return typeof t<"u"},e.toSJIS=function(i){return t(i)}}),di=ne(e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(a){if(typeof a!="string")throw new Error("Param is not a string");switch(a.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+a)}}e.isValid=function(a){return a&&typeof a.bit<"u"&&a.bit>=0&&a.bit<4},e.from=function(a,i){if(e.isValid(a))return a;try{return t(a)}catch{return i}}}),kl=ne((e,t)=>{function a(){this.buffer=[],this.length=0}a.prototype={get:function(i){let n=Math.floor(i/8);return(this.buffer[n]>>>7-i%8&1)===1},put:function(i,n){for(let l=0;l<n;l++)this.putBit((i>>>n-l-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(i){let n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),i&&(this.buffer[n]|=128>>>this.length%8),this.length++}},t.exports=a}),Sl=ne((e,t)=>{function a(i){if(!i||i<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=i,this.data=new Uint8Array(i*i),this.reservedBit=new Uint8Array(i*i)}a.prototype.set=function(i,n,l,r){let o=i*this.size+n;this.data[o]=l,r&&(this.reservedBit[o]=!0)},a.prototype.get=function(i,n){return this.data[i*this.size+n]},a.prototype.xor=function(i,n,l){this.data[i*this.size+n]^=l},a.prototype.isReserved=function(i,n){return this.reservedBit[i*this.size+n]},t.exports=a}),Dl=ne(e=>{var t=yt().getSymbolSize;e.getRowColCoords=function(a){if(a===1)return[];let i=Math.floor(a/7)+2,n=t(a),l=n===145?26:Math.ceil((n-13)/(2*i-2))*2,r=[n-7];for(let o=1;o<i-1;o++)r[o]=r[o-1]-l;return r.push(6),r.reverse()},e.getPositions=function(a){let i=[],n=e.getRowColCoords(a),l=n.length;for(let r=0;r<l;r++)for(let o=0;o<l;o++)r===0&&o===0||r===0&&o===l-1||r===l-1&&o===0||i.push([n[r],n[o]]);return i}}),El=ne(e=>{var t=yt().getSymbolSize,a=7;e.getPositions=function(i){let n=t(i);return[[0,0],[n-a,0],[0,n-a]]}}),Ml=ne(e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(i){return i!=null&&i!==""&&!isNaN(i)&&i>=0&&i<=7},e.from=function(i){return e.isValid(i)?parseInt(i,10):void 0},e.getPenaltyN1=function(i){let n=i.size,l=0,r=0,o=0,s=null,d=null;for(let p=0;p<n;p++){r=o=0,s=d=null;for(let c=0;c<n;c++){let h=i.get(p,c);h===s?r++:(r>=5&&(l+=t.N1+(r-5)),s=h,r=1),h=i.get(c,p),h===d?o++:(o>=5&&(l+=t.N1+(o-5)),d=h,o=1)}r>=5&&(l+=t.N1+(r-5)),o>=5&&(l+=t.N1+(o-5))}return l},e.getPenaltyN2=function(i){let n=i.size,l=0;for(let r=0;r<n-1;r++)for(let o=0;o<n-1;o++){let s=i.get(r,o)+i.get(r,o+1)+i.get(r+1,o)+i.get(r+1,o+1);(s===4||s===0)&&l++}return l*t.N2},e.getPenaltyN3=function(i){let n=i.size,l=0,r=0,o=0;for(let s=0;s<n;s++){r=o=0;for(let d=0;d<n;d++)r=r<<1&2047|i.get(s,d),d>=10&&(r===1488||r===93)&&l++,o=o<<1&2047|i.get(d,s),d>=10&&(o===1488||o===93)&&l++}return l*t.N3},e.getPenaltyN4=function(i){let n=0,l=i.data.length;for(let r=0;r<l;r++)n+=i.data[r];return Math.abs(Math.ceil(n*100/l/5)-10)*t.N4};function a(i,n,l){switch(i){case e.Patterns.PATTERN000:return(n+l)%2===0;case e.Patterns.PATTERN001:return n%2===0;case e.Patterns.PATTERN010:return l%3===0;case e.Patterns.PATTERN011:return(n+l)%3===0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(l/3))%2===0;case e.Patterns.PATTERN101:return n*l%2+n*l%3===0;case e.Patterns.PATTERN110:return(n*l%2+n*l%3)%2===0;case e.Patterns.PATTERN111:return(n*l%3+(n+l)%2)%2===0;default:throw new Error("bad maskPattern:"+i)}}e.applyMask=function(i,n){let l=n.size;for(let r=0;r<l;r++)for(let o=0;o<l;o++)n.isReserved(o,r)||n.xor(o,r,a(i,o,r))},e.getBestMask=function(i,n){let l=Object.keys(e.Patterns).length,r=0,o=1/0;for(let s=0;s<l;s++){n(s),e.applyMask(s,i);let d=e.getPenaltyN1(i)+e.getPenaltyN2(i)+e.getPenaltyN3(i)+e.getPenaltyN4(i);e.applyMask(s,i),d<o&&(o=d,r=s)}return r}}),wn=ne(e=>{var t=di(),a=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(n,l){switch(l){case t.L:return a[(n-1)*4+0];case t.M:return a[(n-1)*4+1];case t.Q:return a[(n-1)*4+2];case t.H:return a[(n-1)*4+3];default:return}},e.getTotalCodewordsCount=function(n,l){switch(l){case t.L:return i[(n-1)*4+0];case t.M:return i[(n-1)*4+1];case t.Q:return i[(n-1)*4+2];case t.H:return i[(n-1)*4+3];default:return}}}),Cl=ne(e=>{var t=new Uint8Array(512),a=new Uint8Array(256);(function(){let i=1;for(let n=0;n<255;n++)t[n]=i,a[i]=n,i<<=1,i&256&&(i^=285);for(let n=255;n<512;n++)t[n]=t[n-255]})(),e.log=function(i){if(i<1)throw new Error("log("+i+")");return a[i]},e.exp=function(i){return t[i]},e.mul=function(i,n){return i===0||n===0?0:t[a[i]+a[n]]}}),Tl=ne(e=>{var t=Cl();e.mul=function(a,i){let n=new Uint8Array(a.length+i.length-1);for(let l=0;l<a.length;l++)for(let r=0;r<i.length;r++)n[l+r]^=t.mul(a[l],i[r]);return n},e.mod=function(a,i){let n=new Uint8Array(a);for(;n.length-i.length>=0;){let l=n[0];for(let o=0;o<i.length;o++)n[o]^=t.mul(i[o],l);let r=0;for(;r<n.length&&n[r]===0;)r++;n=n.slice(r)}return n},e.generateECPolynomial=function(a){let i=new Uint8Array([1]);for(let n=0;n<a;n++)i=e.mul(i,new Uint8Array([1,t.exp(n)]));return i}}),Il=ne((e,t)=>{var a=Tl();function i(n){this.genPoly=void 0,this.degree=n,this.degree&&this.initialize(this.degree)}i.prototype.initialize=function(n){this.degree=n,this.genPoly=a.generateECPolynomial(this.degree)},i.prototype.encode=function(n){if(!this.genPoly)throw new Error("Encoder not initialized");let l=new Uint8Array(n.length+this.degree);l.set(n);let r=a.mod(l,this.genPoly),o=this.degree-r.length;if(o>0){let s=new Uint8Array(this.degree);return s.set(r,o),s}return r},t.exports=i}),jn=ne(e=>{e.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}}),xn=ne(e=>{var t="[0-9]+",a="[A-Z $%*+\\-./:]+",i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");var n="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r
3
+ ]))+`;e.KANJI=new RegExp(i,"g"),e.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),e.BYTE=new RegExp(n,"g"),e.NUMERIC=new RegExp(t,"g"),e.ALPHANUMERIC=new RegExp(a,"g");var l=new RegExp("^"+i+"$"),r=new RegExp("^"+t+"$"),o=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");e.testKanji=function(s){return l.test(s)},e.testNumeric=function(s){return r.test(s)},e.testAlphanumeric=function(s){return o.test(s)}}),wt=ne(e=>{var t=jn(),a=xn();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(n,l){if(!n.ccBits)throw new Error("Invalid mode: "+n);if(!t.isValid(l))throw new Error("Invalid version: "+l);return l>=1&&l<10?n.ccBits[0]:l<27?n.ccBits[1]:n.ccBits[2]},e.getBestModeForData=function(n){return a.testNumeric(n)?e.NUMERIC:a.testAlphanumeric(n)?e.ALPHANUMERIC:a.testKanji(n)?e.KANJI:e.BYTE},e.toString=function(n){if(n&&n.id)return n.id;throw new Error("Invalid mode")},e.isValid=function(n){return n&&n.bit&&n.ccBits};function i(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+n)}}e.from=function(n,l){if(e.isValid(n))return n;try{return i(n)}catch{return l}}}),Ll=ne(e=>{var t=yt(),a=wn(),i=di(),n=wt(),l=jn(),r=7973,o=t.getBCHDigit(r);function s(h,v,u){for(let g=1;g<=40;g++)if(v<=e.getCapacity(g,u,h))return g}function d(h,v){return n.getCharCountIndicator(h,v)+4}function p(h,v){let u=0;return h.forEach(function(g){let y=d(g.mode,v);u+=y+g.getBitsLength()}),u}function c(h,v){for(let u=1;u<=40;u++)if(p(h,u)<=e.getCapacity(u,v,n.MIXED))return u}e.from=function(h,v){return l.isValid(h)?parseInt(h,10):v},e.getCapacity=function(h,v,u){if(!l.isValid(h))throw new Error("Invalid QR Code version");typeof u>"u"&&(u=n.BYTE);let g=t.getSymbolTotalCodewords(h),y=a.getTotalCodewordsCount(h,v),j=(g-y)*8;if(u===n.MIXED)return j;let w=j-d(u,h);switch(u){case n.NUMERIC:return Math.floor(w/10*3);case n.ALPHANUMERIC:return Math.floor(w/11*2);case n.KANJI:return Math.floor(w/13);case n.BYTE:default:return Math.floor(w/8)}},e.getBestVersionForData=function(h,v){let u,g=i.from(v,i.M);if(Array.isArray(h)){if(h.length>1)return c(h,g);if(h.length===0)return 1;u=h[0]}else u=h;return s(u.mode,u.getLength(),g)},e.getEncodedBits=function(h){if(!l.isValid(h)||h<7)throw new Error("Invalid QR Code version");let v=h<<12;for(;t.getBCHDigit(v)-o>=0;)v^=r<<t.getBCHDigit(v)-o;return h<<12|v}}),Al=ne(e=>{var t=yt(),a=1335,i=21522,n=t.getBCHDigit(a);e.getEncodedBits=function(l,r){let o=l.bit<<3|r,s=o<<10;for(;t.getBCHDigit(s)-n>=0;)s^=a<<t.getBCHDigit(s)-n;return(o<<10|s)^i}}),zl=ne((e,t)=>{var a=wt();function i(n){this.mode=a.NUMERIC,this.data=n.toString()}i.getBitsLength=function(n){return 10*Math.floor(n/3)+(n%3?n%3*3+1:0)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(n){let l,r,o;for(l=0;l+3<=this.data.length;l+=3)r=this.data.substr(l,3),o=parseInt(r,10),n.put(o,10);let s=this.data.length-l;s>0&&(r=this.data.substr(l),o=parseInt(r,10),n.put(o,s*3+1))},t.exports=i}),Pl=ne((e,t)=>{var a=wt(),i=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function n(l){this.mode=a.ALPHANUMERIC,this.data=l}n.getBitsLength=function(l){return 11*Math.floor(l/2)+6*(l%2)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(l){let r;for(r=0;r+2<=this.data.length;r+=2){let o=i.indexOf(this.data[r])*45;o+=i.indexOf(this.data[r+1]),l.put(o,11)}this.data.length%2&&l.put(i.indexOf(this.data[r]),6)},t.exports=n}),Bl=ne((e,t)=>{var a=wt();function i(n){this.mode=a.BYTE,typeof n=="string"?this.data=new TextEncoder().encode(n):this.data=new Uint8Array(n)}i.getBitsLength=function(n){return n*8},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(n){for(let l=0,r=this.data.length;l<r;l++)n.put(this.data[l],8)},t.exports=i}),Nl=ne((e,t)=>{var a=wt(),i=yt();function n(l){this.mode=a.KANJI,this.data=l}n.getBitsLength=function(l){return l*13},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(l){let r;for(r=0;r<this.data.length;r++){let o=i.toSJIS(this.data[r]);if(o>=33088&&o<=40956)o-=33088;else if(o>=57408&&o<=60351)o-=49472;else throw new Error("Invalid SJIS character: "+this.data[r]+`
4
+ Make sure your charset is UTF-8`);o=(o>>>8&255)*192+(o&255),l.put(o,13)}},t.exports=n}),Rl=ne((e,t)=>{"use strict";var a={single_source_shortest_paths:function(i,n,l){var r={},o={};o[n]=0;var s=a.PriorityQueue.make();s.push(n,0);for(var d,p,c,h,v,u,g,y,j;!s.empty();){d=s.pop(),p=d.value,h=d.cost,v=i[p]||{};for(c in v)v.hasOwnProperty(c)&&(u=v[c],g=h+u,y=o[c],j=typeof o[c]>"u",(j||y>g)&&(o[c]=g,s.push(c,g),r[c]=p))}if(typeof l<"u"&&typeof o[l]>"u"){var w=["Could not find a path from ",n," to ",l,"."].join("");throw new Error(w)}return r},extract_shortest_path_from_predecessor_list:function(i,n){for(var l=[],r=n,o;r;)l.push(r),o=i[r],r=i[r];return l.reverse(),l},find_path:function(i,n,l){var r=a.single_source_shortest_paths(i,n,l);return a.extract_shortest_path_from_predecessor_list(r,l)},PriorityQueue:{make:function(i){var n=a.PriorityQueue,l={},r;i=i||{};for(r in n)n.hasOwnProperty(r)&&(l[r]=n[r]);return l.queue=[],l.sorter=i.sorter||n.default_sorter,l},default_sorter:function(i,n){return i.cost-n.cost},push:function(i,n){var l={value:i,cost:n};this.queue.push(l),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof t<"u"&&(t.exports=a)}),Vl=ne(e=>{var t=wt(),a=zl(),i=Pl(),n=Bl(),l=Nl(),r=xn(),o=yt(),s=Rl();function d(j){return unescape(encodeURIComponent(j)).length}function p(j,w,b){let m=[],f;for(;(f=j.exec(b))!==null;)m.push({data:f[0],index:f.index,mode:w,length:f[0].length});return m}function c(j){let w=p(r.NUMERIC,t.NUMERIC,j),b=p(r.ALPHANUMERIC,t.ALPHANUMERIC,j),m,f;return o.isKanjiModeEnabled()?(m=p(r.BYTE,t.BYTE,j),f=p(r.KANJI,t.KANJI,j)):(m=p(r.BYTE_KANJI,t.BYTE,j),f=[]),w.concat(b,m,f).sort(function(E,D){return E.index-D.index}).map(function(E){return{data:E.data,mode:E.mode,length:E.length}})}function h(j,w){switch(w){case t.NUMERIC:return a.getBitsLength(j);case t.ALPHANUMERIC:return i.getBitsLength(j);case t.KANJI:return l.getBitsLength(j);case t.BYTE:return n.getBitsLength(j)}}function v(j){return j.reduce(function(w,b){let m=w.length-1>=0?w[w.length-1]:null;return m&&m.mode===b.mode?(w[w.length-1].data+=b.data,w):(w.push(b),w)},[])}function u(j){let w=[];for(let b=0;b<j.length;b++){let m=j[b];switch(m.mode){case t.NUMERIC:w.push([m,{data:m.data,mode:t.ALPHANUMERIC,length:m.length},{data:m.data,mode:t.BYTE,length:m.length}]);break;case t.ALPHANUMERIC:w.push([m,{data:m.data,mode:t.BYTE,length:m.length}]);break;case t.KANJI:w.push([m,{data:m.data,mode:t.BYTE,length:d(m.data)}]);break;case t.BYTE:w.push([{data:m.data,mode:t.BYTE,length:d(m.data)}])}}return w}function g(j,w){let b={},m={start:{}},f=["start"];for(let E=0;E<j.length;E++){let D=j[E],k=[];for(let B=0;B<D.length;B++){let S=D[B],T=""+E+B;k.push(T),b[T]={node:S,lastCount:0},m[T]={};for(let L=0;L<f.length;L++){let A=f[L];b[A]&&b[A].node.mode===S.mode?(m[A][T]=h(b[A].lastCount+S.length,S.mode)-h(b[A].lastCount,S.mode),b[A].lastCount+=S.length):(b[A]&&(b[A].lastCount=S.length),m[A][T]=h(S.length,S.mode)+4+t.getCharCountIndicator(S.mode,w))}}f=k}for(let E=0;E<f.length;E++)m[f[E]].end=0;return{map:m,table:b}}function y(j,w){let b,m=t.getBestModeForData(j);if(b=t.from(w,m),b!==t.BYTE&&b.bit<m.bit)throw new Error('"'+j+'" cannot be encoded with mode '+t.toString(b)+`.
5
+ Suggested mode is: `+t.toString(m));switch(b===t.KANJI&&!o.isKanjiModeEnabled()&&(b=t.BYTE),b){case t.NUMERIC:return new a(j);case t.ALPHANUMERIC:return new i(j);case t.KANJI:return new l(j);case t.BYTE:return new n(j)}}e.fromArray=function(j){return j.reduce(function(w,b){return typeof b=="string"?w.push(y(b,null)):b.data&&w.push(y(b.data,b.mode)),w},[])},e.fromString=function(j,w){let b=c(j,o.isKanjiModeEnabled()),m=u(b),f=g(m,w),E=s.find_path(f.map,"start","end"),D=[];for(let k=1;k<E.length-1;k++)D.push(f.table[E[k]].node);return e.fromArray(v(D))},e.rawSplit=function(j){return e.fromArray(c(j,o.isKanjiModeEnabled()))}}),Hl=ne(e=>{var t=yt(),a=di(),i=kl(),n=Sl(),l=Dl(),r=El(),o=Ml(),s=wn(),d=Il(),p=Ll(),c=Al(),h=wt(),v=Vl();function u(D,k){let B=D.size,S=r.getPositions(k);for(let T=0;T<S.length;T++){let L=S[T][0],A=S[T][1];for(let O=-1;O<=7;O++)if(!(L+O<=-1||B<=L+O))for(let $=-1;$<=7;$++)A+$<=-1||B<=A+$||(O>=0&&O<=6&&($===0||$===6)||$>=0&&$<=6&&(O===0||O===6)||O>=2&&O<=4&&$>=2&&$<=4?D.set(L+O,A+$,!0,!0):D.set(L+O,A+$,!1,!0))}}function g(D){let k=D.size;for(let B=8;B<k-8;B++){let S=B%2===0;D.set(B,6,S,!0),D.set(6,B,S,!0)}}function y(D,k){let B=l.getPositions(k);for(let S=0;S<B.length;S++){let T=B[S][0],L=B[S][1];for(let A=-2;A<=2;A++)for(let O=-2;O<=2;O++)A===-2||A===2||O===-2||O===2||A===0&&O===0?D.set(T+A,L+O,!0,!0):D.set(T+A,L+O,!1,!0)}}function j(D,k){let B=D.size,S=p.getEncodedBits(k),T,L,A;for(let O=0;O<18;O++)T=Math.floor(O/3),L=O%3+B-8-3,A=(S>>O&1)===1,D.set(T,L,A,!0),D.set(L,T,A,!0)}function w(D,k,B){let S=D.size,T=c.getEncodedBits(k,B),L,A;for(L=0;L<15;L++)A=(T>>L&1)===1,L<6?D.set(L,8,A,!0):L<8?D.set(L+1,8,A,!0):D.set(S-15+L,8,A,!0),L<8?D.set(8,S-L-1,A,!0):L<9?D.set(8,15-L-1+1,A,!0):D.set(8,15-L-1,A,!0);D.set(S-8,8,1,!0)}function b(D,k){let B=D.size,S=-1,T=B-1,L=7,A=0;for(let O=B-1;O>0;O-=2)for(O===6&&O--;;){for(let $=0;$<2;$++)if(!D.isReserved(T,O-$)){let Q=!1;A<k.length&&(Q=(k[A]>>>L&1)===1),D.set(T,O-$,Q),L--,L===-1&&(A++,L=7)}if(T+=S,T<0||B<=T){T-=S,S=-S;break}}}function m(D,k,B){let S=new i;B.forEach(function($){S.put($.mode.bit,4),S.put($.getLength(),h.getCharCountIndicator($.mode,D)),$.write(S)});let T=t.getSymbolTotalCodewords(D),L=s.getTotalCodewordsCount(D,k),A=(T-L)*8;for(S.getLengthInBits()+4<=A&&S.put(0,4);S.getLengthInBits()%8!==0;)S.putBit(0);let O=(A-S.getLengthInBits())/8;for(let $=0;$<O;$++)S.put($%2?17:236,8);return f(S,D,k)}function f(D,k,B){let S=t.getSymbolTotalCodewords(k),T=s.getTotalCodewordsCount(k,B),L=S-T,A=s.getBlocksCount(k,B),O=S%A,$=A-O,Q=Math.floor(S/A),te=Math.floor(L/A),H=te+1,U=Q-te,Y=new d(U),le=0,ae=new Array(A),de=new Array(A),P=0,K=new Uint8Array(D.buffer);for(let N=0;N<A;N++){let W=N<$?te:H;ae[N]=K.slice(le,le+W),de[N]=Y.encode(ae[N]),le+=W,P=Math.max(P,W)}let _=new Uint8Array(S),ue=0,x,I;for(x=0;x<P;x++)for(I=0;I<A;I++)x<ae[I].length&&(_[ue++]=ae[I][x]);for(x=0;x<U;x++)for(I=0;I<A;I++)_[ue++]=de[I][x];return _}function E(D,k,B,S){let T;if(Array.isArray(D))T=v.fromArray(D);else if(typeof D=="string"){let Q=k;if(!Q){let te=v.rawSplit(D);Q=p.getBestVersionForData(te,B)}T=v.fromString(D,Q||40)}else throw new Error("Invalid data");let L=p.getBestVersionForData(T,B);if(!L)throw new Error("The amount of data is too big to be stored in a QR Code");if(!k)k=L;else if(k<L)throw new Error(`
6
6
  The chosen QR Code version cannot contain this amount of data.
7
- Minimum version required to store current data is: `+I+`.
8
- `);let A=u(x,z,M),V=t.getSymbolSize(x),H=new i(V);return m(H,x),h(H),b(H,x),w(H,z,0),x>=7&&j(H,x),y(H,A),isNaN(S)&&(S=r.getBestMask(H,w.bind(null,H,z))),r.applyMask(S,H),w(H,z,S),{modules:H,version:x,errorCorrectionLevel:z,maskPattern:S,segments:M}}e.create=function(D,x){if(typeof D>"u"||D==="")throw new Error("No input text");let z=a.M,S,M;return typeof x<"u"&&(z=a.from(x.errorCorrectionLevel,a.M),S=f.from(x.version),M=r.from(x.maskPattern),x.toSJISFunc&&t.setToSJISFunction(x.toSJISFunc)),T(D,S,z,M)}}),bi=X(e=>{function t(a){if(typeof a=="number"&&(a=a.toString()),typeof a!="string")throw new Error("Color should be defined as hex string");let n=a.slice().replace("#","").split("");if(n.length<3||n.length===5||n.length>8)throw new Error("Invalid hex color: "+a);(n.length===3||n.length===4)&&(n=Array.prototype.concat.apply([],n.map(function(l){return[l,l]}))),n.length===6&&n.push("F","F");let i=parseInt(n.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+n.slice(0,6).join("")}}e.getOptions=function(a){a||(a={}),a.color||(a.color={});let n=typeof a.margin>"u"||a.margin===null||a.margin<0?4:a.margin,i=a.width&&a.width>=21?a.width:void 0,l=a.scale||4;return{width:i,scale:i?4:l,margin:n,color:{dark:t(a.color.dark||"#000000ff"),light:t(a.color.light||"#ffffffff")},type:a.type,rendererOpts:a.rendererOpts||{}}},e.getScale=function(a,n){return n.width&&n.width>=a+n.margin*2?n.width/(a+n.margin*2):n.scale},e.getImageWidth=function(a,n){let i=e.getScale(a,n);return Math.floor((a+n.margin*2)*i)},e.qrToImageData=function(a,n,i){let l=n.modules.size,o=n.modules.data,r=e.getScale(l,i),s=Math.floor((l+i.margin*2)*r),d=i.margin*r,f=[i.color.light,i.color.dark];for(let c=0;c<s;c++)for(let p=0;p<s;p++){let g=(c*s+p)*4,m=i.color.light;if(c>=d&&p>=d&&c<s-d&&p<s-d){let h=Math.floor((c-d)/r),b=Math.floor((p-d)/r);m=f[o[h*l+b]?1:0]}a[g++]=m.r,a[g++]=m.g,a[g++]=m.b,a[g]=m.a}}}),Pl=X(e=>{var t=bi();function a(i,l,o){i.clearRect(0,0,l.width,l.height),l.style||(l.style={}),l.height=o,l.width=o,l.style.height=o+"px",l.style.width=o+"px"}function n(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(i,l,o){let r=o,s=l;typeof r>"u"&&(!l||!l.getContext)&&(r=l,l=void 0),l||(s=n()),r=t.getOptions(r);let d=t.getImageWidth(i.modules.size,r),f=s.getContext("2d"),c=f.createImageData(d,d);return t.qrToImageData(c.data,i,r),a(f,s,d),f.putImageData(c,0,0),s},e.renderToDataURL=function(i,l,o){let r=o;typeof r>"u"&&(!l||!l.getContext)&&(r=l,l=void 0),r||(r={});let s=e.render(i,l,r),d=r.type||"image/png",f=r.rendererOpts||{};return s.toDataURL(d,f.quality)}}),zl=X(e=>{var t=bi();function a(l,o){let r=l.a/255,s=o+'="'+l.hex+'"';return r<1?s+" "+o+'-opacity="'+r.toFixed(2).slice(1)+'"':s}function n(l,o,r){let s=l+o;return typeof r<"u"&&(s+=" "+r),s}function i(l,o,r){let s="",d=0,f=!1,c=0;for(let p=0;p<l.length;p++){let g=Math.floor(p%o),m=Math.floor(p/o);!g&&!f&&(f=!0),l[p]?(c++,p>0&&g>0&&l[p-1]||(s+=f?n("M",g+r,.5+m+r):n("m",d,0),d=0,f=!1),g+1<o&&l[p+1]||(s+=n("h",c),c=0)):d++}return s}e.render=function(l,o,r){let s=t.getOptions(o),d=l.modules.size,f=l.modules.data,c=d+s.margin*2,p=s.color.light.a?"<path "+a(s.color.light,"fill")+' d="M0 0h'+c+"v"+c+'H0z"/>':"",g="<path "+a(s.color.dark,"stroke")+' d="'+i(f,d,s.margin)+'"/>',m='viewBox="0 0 '+c+" "+c+'"',h='<svg xmlns="http://www.w3.org/2000/svg" '+(s.width?'width="'+s.width+'" height="'+s.width+'" ':"")+m+' shape-rendering="crispEdges">'+p+g+`</svg>
9
- `;return typeof r=="function"&&r(null,h),h}}),Bl=X(e=>{var t=hl(),a=Al(),n=Pl(),i=zl();function l(o,r,s,d,f){let c=[].slice.call(arguments,1),p=c.length,g=typeof c[p-1]=="function";if(!g&&!t())throw new Error("Callback required as last argument");if(g){if(p<2)throw new Error("Too few arguments provided");p===2?(f=s,s=r,r=d=void 0):p===3&&(r.getContext&&typeof f>"u"?(f=d,d=void 0):(f=d,d=s,s=r,r=void 0))}else{if(p<1)throw new Error("Too few arguments provided");return p===1?(s=r,r=d=void 0):p===2&&!r.getContext&&(d=s,s=r,r=void 0),new Promise(function(m,h){try{let b=a.create(s,d);m(o(b,r,d))}catch(b){h(b)}})}try{let m=a.create(s,d);f(null,o(m,r,d))}catch(m){f(m)}}e.create=a.create,e.toCanvas=l.bind(null,n.render),e.toDataURL=l.bind(null,n.renderToDataURL),e.toString=l.bind(null,function(o,r,s){return i.render(o,s)})}),Nl=Bl()});var so={};ei(so,{DjmAffix:()=>Pa,DjmAlert:()=>Ta,DjmAnchor:()=>Ea,DjmApprovalFlow:()=>Dn,DjmAttachmentList:()=>Ln,DjmAutoComplete:()=>$a,DjmAvatar:()=>Ce,DjmAvatarGroup:()=>ua,DjmBacktop:()=>Ia,DjmBadge:()=>ma,DjmBatchBar:()=>Rn,DjmBreadcrumb:()=>ca,DjmButton:()=>sa,DjmCalendar:()=>qa,DjmCard:()=>va,DjmCarousel:()=>Ka,DjmCascader:()=>ft,DjmChat:()=>Gn,DjmCheckbox:()=>Lt,DjmCol:()=>Wt,DjmCollapse:()=>ja,DjmColorPicker:()=>Ot,DjmCommandPalette:()=>nn,DjmComment:()=>Kn,DjmConfigProvider:()=>Pn,DjmConfirmDialog:()=>un,DjmContextMenu:()=>fn,DjmDatePicker:()=>Ue,DjmDateTimePicker:()=>zn,DjmDescriptions:()=>jn,DjmDiff:()=>Hn,DjmDivider:()=>La,DjmDrawer:()=>cn,DjmDropdown:()=>dn,DjmEditableTable:()=>wn,DjmEmpty:()=>Bt,DjmFieldList:()=>Yn,DjmFilterTags:()=>Mn,DjmFloatButton:()=>_a,DjmFloatingWindow:()=>hn,DjmForm:()=>Pt,DjmFormItem:()=>zt,DjmGantt:()=>_n,DjmIcon:()=>L,DjmImage:()=>Na,DjmImportWizard:()=>Vn,DjmInput:()=>Pe,DjmInputNumber:()=>mt,DjmInputTag:()=>tn,DjmKanban:()=>En,DjmLayout:()=>Ga,DjmLayoutContent:()=>Qa,DjmLayoutFooter:()=>Za,DjmLayoutHeader:()=>Ja,DjmLayoutSider:()=>Xa,DjmList:()=>en,DjmMediaPicker:()=>Cn,DjmMentions:()=>Ya,DjmMenu:()=>pa,DjmMessageHost:()=>kn,DjmModal:()=>bt,DjmNotification:()=>An,DjmOrgChart:()=>Jn,DjmOrgPicker:()=>xn,DjmPageHeader:()=>da,DjmPageTabs:()=>Xn,DjmPagination:()=>Ut,DjmPassword:()=>an,DjmPopconfirm:()=>Ca,DjmPopover:()=>fa,DjmPrint:()=>Un,DjmProgress:()=>ga,DjmQRCode:()=>on,DjmQueryFilter:()=>Tn,DjmRadio:()=>At,DjmRate:()=>Rt,DjmResult:()=>ba,DjmRichEditor:()=>pn,DjmRow:()=>Kt,DjmSchedule:()=>Fn,DjmSchemaForm:()=>Sn,DjmSegmented:()=>za,DjmSelect:()=>Ge,DjmSignature:()=>Wn,DjmSkeleton:()=>ya,DjmSlider:()=>Vt,DjmSpace:()=>Aa,DjmSpin:()=>Ma,DjmSplitter:()=>Fa,DjmStatistic:()=>ka,DjmStatus:()=>rn,DjmSteps:()=>xa,DjmSwitch:()=>ct,DjmTable:()=>Nt,DjmTabs:()=>mn,DjmTag:()=>ha,DjmTimePicker:()=>Ht,DjmTimeline:()=>wa,DjmTooltip:()=>sn,DjmTour:()=>Wa,DjmTransfer:()=>Da,DjmTree:()=>gn,DjmTreeSelect:()=>wt,DjmTreeTable:()=>On,DjmUpload:()=>vn,DjmVirtualList:()=>Bn,DjmWatermark:()=>Oa,PRESET_COLORS:()=>ci,addPermissions:()=>Ui,clearPermissions:()=>qi,default:()=>ro,djmMessage:()=>jt,djmMessages:()=>lt,getLocale:()=>ni,hasPermission:()=>Zn,initTheme:()=>pi,install:()=>Yi,localeState:()=>st,moveRows:()=>Fi,moveTreeNode:()=>$i,primaryColor:()=>Ft,resetPrimaryColor:()=>mi,sanitizeHtml:()=>qt,setLocale:()=>dt,setPermissions:()=>Wi,setPrimaryColor:()=>Ha,setTheme:()=>_t,t:()=>C,theme:()=>Qe,toggleTheme:()=>fi,vPermission:()=>oa,version:()=>_i});module.exports=el(so);var tl={grid:"M3 3h7v7H3zM14 3h7v7h-7zM14 14h7v7h-7zM3 14h7v7H3z",users:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M13 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75",shield:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10zM9 12l2 2 4-4",search:"M19 11a8 8 0 1 1-16 0 8 8 0 0 1 16 0zM21 21l-4.35-4.35",bell:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 0 1-3.46 0","chevron-down":"M6 9l6 6 6-6","chevron-up":"M6 15l6-6 6 6","chevron-right":"M9 18l6-6-6-6","chevron-left":"M15 18l-6-6 6-6","chevrons-left":"M11 17l-5-5 5-5M18 17l-5-5 5-5","chevrons-right":"M13 17l5-5-5-5M6 17l5-5-5-5",menu:"M3 6h18M3 12h18M3 18h18",plus:"M12 5v14M5 12h14",minus:"M5 12h14",download:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3",upload:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12",trash:"M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6M10 11v6M14 11v6",refresh:"M23 4v6h-6M1 20v-6h6M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15",sliders:"M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6",x:"M18 6L6 18M6 6l12 12",edit:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z",lock:"M5 11h14v10H5zM8 11V7a4 4 0 1 1 8 0v4","log-out":"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9",clock:"M12 22a10 10 0 1 1 0-20 10 10 0 0 1 0 20zM12 6v6l4 2",filter:"M22 3H2l8 9.46V19l4 2v-8.54L22 3z",check:"M20 6L9 17l-5-5",info:"M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20M12 16v-5M12 8h.01",alert:"M12 9v4M12 17h.01M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z","arrow-up":"M12 19V5M5 12l7-7 7 7","arrow-down":"M12 5v14M19 12l-7 7-7-7",layers:"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5",clipboard:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2M9 4h6v3H9zM8 12h8M8 16h5",table:"M3 4h18v16H3zM3 10h18M3 16h18M9 4v16M15 4v16",message:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",calendar:"M4 5h16v16H4zM8 3v4M16 3v4M4 10h16",image:"M3 5h18v14H3zM8.5 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0M21 15l-5-5L5 21",file:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM14 2v6h6",grip:"M9 5h.01M15 5h.01M9 12h.01M15 12h.01M9 19h.01M15 19h.01",printer:"M6 9V3h12v6M6 18H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2M6 14h12v7H6z",code:"M16 18l6-6-6-6M8 6l-6 6 6 6",eye:"M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12zM15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0","eye-off":"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19M14.12 14.12a3 3 0 1 1-4.24-4.24M1 1l22 22",link:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07L12 4.5M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07L14 19.5",folder:"M3 5h6l2 2h10v12H3z",layout:"M3 3h18v18H3zM3 9h18M9 9v12","bar-chart":"M4 20V10M10 20V4M16 20v-6M22 20H2",maximize:"M8 3H5a2 2 0 0 0-2 2v3M16 3h3a2 2 0 0 1 2 2v3M8 21H5a2 2 0 0 1-2-2v-3M16 21h3a2 2 0 0 0 2-2v-3",minimize:"M5 12h14",columns:"M3 4h18v16H3zM9 4v16M15 4v16",monitor:"M3 4h18v12H3zM8 20h8M12 16v4",mail:"M4 5h16v14H4zM4 7l8 6 8-6",phone:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z","user-plus":"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M13 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0M19 8v6M22 11h-6","shield-off":"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10zM4 4l16 16",activity:"M22 12h-4l-3 9L9 3l-3 9H2",database:"M12 8c4.42 0 8-1.34 8-3s-3.58-3-8-3-8 1.34-8 3 3.58 3 8 3zM4 5v14c0 1.66 3.58 3 8 3s8-1.34 8-3V5M4 12c0 1.66 3.58 3 8 3s8-1.34 8-3",sun:"M12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10zM12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42",moon:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"},L={name:"DjmIcon",props:{name:{type:String,required:!0},size:{type:[Number,String],default:16}},computed:{d(){return tl[this.name]||""}},template:`
7
+ Minimum version required to store current data is: `+L+`.
8
+ `);let A=m(k,B,T),O=t.getSymbolSize(k),$=new n(O);return u($,k),g($),y($,k),w($,B,0),k>=7&&j($,k),b($,A),isNaN(S)&&(S=o.getBestMask($,w.bind(null,$,B))),o.applyMask(S,$),w($,B,S),{modules:$,version:k,errorCorrectionLevel:B,maskPattern:S,segments:T}}e.create=function(D,k){if(typeof D>"u"||D==="")throw new Error("No input text");let B=a.M,S,T;return typeof k<"u"&&(B=a.from(k.errorCorrectionLevel,a.M),S=p.from(k.version),T=o.from(k.maskPattern),k.toSJISFunc&&t.setToSJISFunction(k.toSJISFunc)),E(D,S,B,T)}}),kn=ne(e=>{function t(a){if(typeof a=="number"&&(a=a.toString()),typeof a!="string")throw new Error("Color should be defined as hex string");let i=a.slice().replace("#","").split("");if(i.length<3||i.length===5||i.length>8)throw new Error("Invalid hex color: "+a);(i.length===3||i.length===4)&&(i=Array.prototype.concat.apply([],i.map(function(l){return[l,l]}))),i.length===6&&i.push("F","F");let n=parseInt(i.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:"#"+i.slice(0,6).join("")}}e.getOptions=function(a){a||(a={}),a.color||(a.color={});let i=typeof a.margin>"u"||a.margin===null||a.margin<0?4:a.margin,n=a.width&&a.width>=21?a.width:void 0,l=a.scale||4;return{width:n,scale:n?4:l,margin:i,color:{dark:t(a.color.dark||"#000000ff"),light:t(a.color.light||"#ffffffff")},type:a.type,rendererOpts:a.rendererOpts||{}}},e.getScale=function(a,i){return i.width&&i.width>=a+i.margin*2?i.width/(a+i.margin*2):i.scale},e.getImageWidth=function(a,i){let n=e.getScale(a,i);return Math.floor((a+i.margin*2)*n)},e.qrToImageData=function(a,i,n){let l=i.modules.size,r=i.modules.data,o=e.getScale(l,n),s=Math.floor((l+n.margin*2)*o),d=n.margin*o,p=[n.color.light,n.color.dark];for(let c=0;c<s;c++)for(let h=0;h<s;h++){let v=(c*s+h)*4,u=n.color.light;if(c>=d&&h>=d&&c<s-d&&h<s-d){let g=Math.floor((c-d)/o),y=Math.floor((h-d)/o);u=p[r[g*l+y]?1:0]}a[v++]=u.r,a[v++]=u.g,a[v++]=u.b,a[v]=u.a}}}),Ol=ne(e=>{var t=kn();function a(n,l,r){n.clearRect(0,0,l.width,l.height),l.style||(l.style={}),l.height=r,l.width=r,l.style.height=r+"px",l.style.width=r+"px"}function i(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(n,l,r){let o=r,s=l;typeof o>"u"&&(!l||!l.getContext)&&(o=l,l=void 0),l||(s=i()),o=t.getOptions(o);let d=t.getImageWidth(n.modules.size,o),p=s.getContext("2d"),c=p.createImageData(d,d);return t.qrToImageData(c.data,n,o),a(p,s,d),p.putImageData(c,0,0),s},e.renderToDataURL=function(n,l,r){let o=r;typeof o>"u"&&(!l||!l.getContext)&&(o=l,l=void 0),o||(o={});let s=e.render(n,l,o),d=o.type||"image/png",p=o.rendererOpts||{};return s.toDataURL(d,p.quality)}}),$l=ne(e=>{var t=kn();function a(l,r){let o=l.a/255,s=r+'="'+l.hex+'"';return o<1?s+" "+r+'-opacity="'+o.toFixed(2).slice(1)+'"':s}function i(l,r,o){let s=l+r;return typeof o<"u"&&(s+=" "+o),s}function n(l,r,o){let s="",d=0,p=!1,c=0;for(let h=0;h<l.length;h++){let v=Math.floor(h%r),u=Math.floor(h/r);!v&&!p&&(p=!0),l[h]?(c++,h>0&&v>0&&l[h-1]||(s+=p?i("M",v+o,.5+u+o):i("m",d,0),d=0,p=!1),v+1<r&&l[h+1]||(s+=i("h",c),c=0)):d++}return s}e.render=function(l,r,o){let s=t.getOptions(r),d=l.modules.size,p=l.modules.data,c=d+s.margin*2,h=s.color.light.a?"<path "+a(s.color.light,"fill")+' d="M0 0h'+c+"v"+c+'H0z"/>':"",v="<path "+a(s.color.dark,"stroke")+' d="'+n(p,d,s.margin)+'"/>',u='viewBox="0 0 '+c+" "+c+'"',g='<svg xmlns="http://www.w3.org/2000/svg" '+(s.width?'width="'+s.width+'" height="'+s.width+'" ':"")+u+' shape-rendering="crispEdges">'+h+v+`</svg>
9
+ `;return typeof o=="function"&&o(null,g),g}}),Fl=ne(e=>{var t=xl(),a=Hl(),i=Ol(),n=$l();function l(r,o,s,d,p){let c=[].slice.call(arguments,1),h=c.length,v=typeof c[h-1]=="function";if(!v&&!t())throw new Error("Callback required as last argument");if(v){if(h<2)throw new Error("Too few arguments provided");h===2?(p=s,s=o,o=d=void 0):h===3&&(o.getContext&&typeof p>"u"?(p=d,d=void 0):(p=d,d=s,s=o,o=void 0))}else{if(h<1)throw new Error("Too few arguments provided");return h===1?(s=o,o=d=void 0):h===2&&!o.getContext&&(d=s,s=o,o=void 0),new Promise(function(u,g){try{let y=a.create(s,d);u(r(y,o,d))}catch(y){g(y)}})}try{let u=a.create(s,d);p(null,r(u,o,d))}catch(u){p(u)}}e.create=a.create,e.toCanvas=l.bind(null,i.render),e.toDataURL=l.bind(null,i.renderToDataURL),e.toString=l.bind(null,function(r,o,s){return n.render(r,s)})}),Kl=Fl()});var xo={};nn(xo,{DjmAffix:()=>Va,DjmAlert:()=>La,DjmAnchor:()=>Pa,DjmApprovalFlow:()=>Ti,DjmAttachmentList:()=>Pi,DjmAutoComplete:()=>qa,DjmAvatar:()=>Le,DjmAvatarGroup:()=>va,DjmBacktop:()=>Ba,DjmBadge:()=>ga,DjmBatchBar:()=>Oi,DjmBreadcrumb:()=>ha,DjmButton:()=>fa,DjmCalendar:()=>Xa,DjmCard:()=>ja,DjmCarousel:()=>Ya,DjmCascader:()=>vt,DjmChat:()=>Qi,DjmCheckbox:()=>Bt,DjmCol:()=>Yt,DjmCollapse:()=>Ea,DjmColorPicker:()=>Wt,DjmCommandPalette:()=>si,DjmComment:()=>qi,DjmConfigProvider:()=>Ni,DjmConfirmDialog:()=>hi,DjmContextMenu:()=>gi,DjmDatePicker:()=>_e,DjmDateTimePicker:()=>Ri,DjmDescriptions:()=>Di,DjmDiff:()=>Fi,DjmDivider:()=>Na,DjmDrawer:()=>pi,DjmDropdown:()=>fi,DjmEditableTable:()=>Si,DjmEmpty:()=>Ht,DjmFieldList:()=>Xi,DjmFilterTags:()=>Li,DjmFloatButton:()=>Qa,DjmFloatingWindow:()=>yi,DjmForm:()=>Rt,DjmFormItem:()=>Vt,DjmGantt:()=>Gi,DjmIcon:()=>z,DjmImage:()=>$a,DjmImportWizard:()=>$i,DjmInput:()=>Ne,DjmInputNumber:()=>ht,DjmInputTag:()=>oi,DjmKanban:()=>Ai,DjmLayout:()=>ei,DjmLayoutContent:()=>ii,DjmLayoutFooter:()=>ni,DjmLayoutHeader:()=>ti,DjmLayoutSider:()=>ai,DjmList:()=>li,DjmMediaPicker:()=>Gt,DjmMentions:()=>Za,DjmMenu:()=>ya,DjmMessageHost:()=>Ei,DjmModal:()=>xt,DjmNotification:()=>Bi,DjmOrgChart:()=>Zi,DjmOrgPicker:()=>Mi,DjmPageHeader:()=>pa,DjmPageTabs:()=>en,DjmPagination:()=>Jt,DjmPassword:()=>ri,DjmPopconfirm:()=>za,DjmPopover:()=>ba,DjmPrint:()=>Yi,DjmProgress:()=>xa,DjmQRCode:()=>ci,DjmQueryFilter:()=>Ii,DjmRadio:()=>Nt,DjmRate:()=>$t,DjmResult:()=>Sa,DjmRichEditor:()=>bi,DjmRow:()=>_t,DjmSchedule:()=>Ui,DjmSchemaForm:()=>Ci,DjmSegmented:()=>Ha,DjmSelect:()=>Qe,DjmSignature:()=>_i,DjmSkeleton:()=>ka,DjmSlider:()=>Ft,DjmSpace:()=>Ra,DjmSpin:()=>Aa,DjmSplitter:()=>_a,DjmStatistic:()=>Ma,DjmStatus:()=>ui,DjmSteps:()=>Ca,DjmSwitch:()=>ft,DjmTable:()=>Ot,DjmTabs:()=>vi,DjmTag:()=>wa,DjmTimePicker:()=>Kt,DjmTimeline:()=>Da,DjmTooltip:()=>mi,DjmTour:()=>Ja,DjmTransfer:()=>Ia,DjmTree:()=>ji,DjmTreeSelect:()=>kt,DjmTreeTable:()=>Ki,DjmUpload:()=>wi,DjmVirtualList:()=>Vi,DjmWatermark:()=>Ua,PRESET_COLORS:()=>pn,addPermissions:()=>Qn,clearPermissions:()=>Zn,default:()=>jo,djmMessage:()=>St,djmMessages:()=>st,getLocale:()=>rn,hasPermission:()=>an,initTheme:()=>bn,install:()=>tl,localeState:()=>ut,moveRows:()=>Jn,moveTreeNode:()=>Yn,primaryColor:()=>qt,resetPrimaryColor:()=>vn,sanitizeHtml:()=>Xt,setLocale:()=>mt,setPermissions:()=>Xn,setPrimaryColor:()=>Wa,setTheme:()=>Qt,t:()=>C,theme:()=>tt,toggleTheme:()=>gn,vPermission:()=>ua,version:()=>el});module.exports=rl(xo);var sl={grid:"M3 3h7v7H3zM14 3h7v7h-7zM14 14h7v7h-7zM3 14h7v7H3z",users:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M13 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75",shield:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10zM9 12l2 2 4-4",search:"M19 11a8 8 0 1 1-16 0 8 8 0 0 1 16 0zM21 21l-4.35-4.35",bell:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 0 1-3.46 0","chevron-down":"M6 9l6 6 6-6","chevron-up":"M6 15l6-6 6 6","chevron-right":"M9 18l6-6-6-6","chevron-left":"M15 18l-6-6 6-6","chevrons-left":"M11 17l-5-5 5-5M18 17l-5-5 5-5","chevrons-right":"M13 17l5-5-5-5M6 17l5-5-5-5",menu:"M3 6h18M3 12h18M3 18h18",plus:"M12 5v14M5 12h14",minus:"M5 12h14",download:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3",upload:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12",trash:"M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6M10 11v6M14 11v6",refresh:"M23 4v6h-6M1 20v-6h6M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15",sliders:"M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6",x:"M18 6L6 18M6 6l12 12",edit:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z",lock:"M5 11h14v10H5zM8 11V7a4 4 0 1 1 8 0v4","log-out":"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9",clock:"M12 22a10 10 0 1 1 0-20 10 10 0 0 1 0 20zM12 6v6l4 2",filter:"M22 3H2l8 9.46V19l4 2v-8.54L22 3z",check:"M20 6L9 17l-5-5",info:"M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20M12 16v-5M12 8h.01",alert:"M12 9v4M12 17h.01M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z","arrow-up":"M12 19V5M5 12l7-7 7 7","arrow-down":"M12 5v14M19 12l-7 7-7-7",layers:"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5",clipboard:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2M9 4h6v3H9zM8 12h8M8 16h5",table:"M3 4h18v16H3zM3 10h18M3 16h18M9 4v16M15 4v16",message:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",calendar:"M4 5h16v16H4zM8 3v4M16 3v4M4 10h16",image:"M3 5h18v14H3zM8.5 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0M21 15l-5-5L5 21",file:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM14 2v6h6",grip:"M9 5h.01M15 5h.01M9 12h.01M15 12h.01M9 19h.01M15 19h.01",printer:"M6 9V3h12v6M6 18H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2M6 14h12v7H6z",code:"M16 18l6-6-6-6M8 6l-6 6 6 6",eye:"M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12zM15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0","eye-off":"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19M14.12 14.12a3 3 0 1 1-4.24-4.24M1 1l22 22",link:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07L12 4.5M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07L14 19.5",folder:"M3 5h6l2 2h10v12H3z",layout:"M3 3h18v18H3zM3 9h18M9 9v12","bar-chart":"M4 20V10M10 20V4M16 20v-6M22 20H2",maximize:"M8 3H5a2 2 0 0 0-2 2v3M16 3h3a2 2 0 0 1 2 2v3M8 21H5a2 2 0 0 1-2-2v-3M16 21h3a2 2 0 0 0 2-2v-3",minimize:"M5 12h14",columns:"M3 4h18v16H3zM9 4v16M15 4v16",monitor:"M3 4h18v12H3zM8 20h8M12 16v4",mail:"M4 5h16v14H4zM4 7l8 6 8-6",phone:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z","user-plus":"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M13 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0M19 8v6M22 11h-6","shield-off":"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10zM4 4l16 16",activity:"M22 12h-4l-3 9L9 3l-3 9H2",database:"M12 8c4.42 0 8-1.34 8-3s-3.58-3-8-3-8 1.34-8 3 3.58 3 8 3zM4 5v14c0 1.66 3.58 3 8 3s8-1.34 8-3V5M4 12c0 1.66 3.58 3 8 3s8-1.34 8-3",sun:"M12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10zM12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42",moon:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z",undo:"M3 10h11a5 5 0 1 1 0 10H8M3 10l4-4M3 10l4 4",redo:"M21 10H10a5 5 0 1 0 0 10h6M21 10l-4-4M21 10l-4 4","align-left":"M4 6h16M4 12h10M4 18h13","align-center":"M4 6h16M7 12h10M6 18h12","align-right":"M4 6h16M10 12h10M7 18h13","align-justify":"M4 6h16M4 12h16M4 18h16",list:"M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01","list-ordered":"M10 6h10M10 12h10M10 18h10M4 6h1v4M4 12h2M4 16h2v2H4",outdent:"M4 6h16M10 12h10M10 18h10M8 9l-3 3 3 3",indent:"M4 6h16M10 12h10M10 18h10M5 9l3 3-3 3",unlink:"M10 13a5 5 0 0 0 7.5.5M14 11a5 5 0 0 0-7.5-.5M2 2l20 20",images:"M8 3h12v12M4 7h12v12H4zM7 15l3-3 3 3"},z={name:"DjmIcon",props:{name:{type:String,required:!0},size:{type:[Number,String],default:16}},computed:{d(){return sl[this.name]||""}},template:`
10
10
  <svg
11
11
  class="djm-icon"
12
12
  :width="size"
@@ -19,7 +19,7 @@ Minimum version required to store current data is: `+I+`.
19
19
  stroke-linejoin="round"
20
20
  aria-hidden="true"
21
21
  ><path :d="d" /></svg>
22
- `};var sa={name:"DjmButton",components:{DjmIcon:L},props:{variant:{type:String,default:""},size:{type:String,default:""},icon:{type:String,default:""},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:""},nativeType:{type:String,default:"button"}},emits:["click"],computed:{classes(){return["djm-btn",this.variant?"djm-btn-"+this.variant:"",this.size?"djm-btn-"+this.size:""].filter(Boolean)}},template:`
22
+ `};var fa={name:"DjmButton",components:{DjmIcon:z},props:{variant:{type:String,default:""},size:{type:String,default:""},icon:{type:String,default:""},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:""},nativeType:{type:String,default:"button"}},emits:["click"],computed:{classes(){return["djm-btn",this.variant?"djm-btn-"+this.variant:"",this.size?"djm-btn-"+this.size:""].filter(Boolean)}},template:`
23
23
  <button
24
24
  :class="classes"
25
25
  :type="nativeType"
@@ -31,7 +31,7 @@ Minimum version required to store current data is: `+I+`.
31
31
  <DjmIcon v-else-if="icon" :name="icon" />
32
32
  <slot></slot>
33
33
  </button>
34
- `};var Pe={name:"DjmInput",components:{DjmIcon:L},props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text"},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"},clearable:{type:Boolean,default:!1},maxlength:{type:Number,default:0},showWordLimit:{type:Boolean,default:!1},ariaLabel:{type:String,default:""}},emits:["update:modelValue","input","change","enter","focus","blur","clear"],computed:{classes(){return["djm-input",{"djm-is-invalid":this.invalid,"djm-has-affix":this.hasAffix}]},hasAffix(){return this.clearable||this.maxlength>0&&this.showWordLimit},showClear(){return this.clearable&&!this.disabled&&!this.readonly&&String(this.modelValue??"").length>0},showCount(){return this.maxlength>0&&this.showWordLimit&&!this.showClear},wordCount(){return String(this.modelValue??"").length},maxlengthAttr(){return this.maxlength>0?this.maxlength:void 0}},methods:{onInput(e){this.$emit("update:modelValue",e.target.value),this.$emit("input",e)},clearStaleValue(){let e=this.$refs.input;!e||this.autocomplete!=="off"||String(this.modelValue??"").length===0&&e.value&&(e.value="")},clear(){this.$emit("update:modelValue",""),this.$emit("clear"),this.$emit("change",""),this.focus()},focus(){this.clearStaleValue(),this.$refs.input&&this.$refs.input.focus()},onFocus(e){this.clearStaleValue(),this.$emit("focus",e)},blur(){this.$refs.input&&this.$refs.input.blur()}},mounted(){this.staleTimers=[null,200,600,1200,2400].map(e=>e===null?(this.clearStaleValue(),null):setTimeout(()=>this.clearStaleValue(),e)),window.addEventListener("pageshow",this.clearStaleValue)},beforeUnmount(){this.staleTimers.forEach(e=>clearTimeout(e)),window.removeEventListener("pageshow",this.clearStaleValue)},template:`
34
+ `};var Ne={name:"DjmInput",components:{DjmIcon:z},props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text"},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"},clearable:{type:Boolean,default:!1},maxlength:{type:Number,default:0},showWordLimit:{type:Boolean,default:!1},ariaLabel:{type:String,default:""}},emits:["update:modelValue","input","change","enter","focus","blur","clear"],computed:{classes(){return["djm-input",{"djm-is-invalid":this.invalid,"djm-has-affix":this.hasAffix}]},hasAffix(){return this.clearable||this.maxlength>0&&this.showWordLimit},showClear(){return this.clearable&&!this.disabled&&!this.readonly&&String(this.modelValue??"").length>0},showCount(){return this.maxlength>0&&this.showWordLimit&&!this.showClear},wordCount(){return String(this.modelValue??"").length},maxlengthAttr(){return this.maxlength>0?this.maxlength:void 0}},methods:{onInput(e){this.$emit("update:modelValue",e.target.value),this.$emit("input",e)},clearStaleValue(){let e=this.$refs.input;!e||this.autocomplete!=="off"||String(this.modelValue??"").length===0&&e.value&&(e.value="")},clear(){this.$emit("update:modelValue",""),this.$emit("clear"),this.$emit("change",""),this.focus()},focus(){this.clearStaleValue(),this.$refs.input&&this.$refs.input.focus()},onFocus(e){this.clearStaleValue(),this.$emit("focus",e)},blur(){this.$refs.input&&this.$refs.input.blur()}},mounted(){this.staleTimers=[null,200,600,1200,2400].map(e=>e===null?(this.clearStaleValue(),null):setTimeout(()=>this.clearStaleValue(),e)),window.addEventListener("pageshow",this.clearStaleValue)},beforeUnmount(){this.staleTimers.forEach(e=>clearTimeout(e)),window.removeEventListener("pageshow",this.clearStaleValue)},template:`
35
35
  <div v-if="hasAffix" class="djm-input-wrap">
36
36
  <input
37
37
  ref="input"
@@ -81,7 +81,7 @@ Minimum version required to store current data is: `+I+`.
81
81
  @focus="onFocus"
82
82
  @blur="$emit('blur', $event)"
83
83
  />
84
- `};var _=require("vue");var ai=require("vue");var It={"common.close":"\u5173\u95ED","common.cancel":"\u53D6\u6D88","common.confirm":"\u786E\u5B9A","common.selected":"\u5DF2\u9009 {count} \u9879","common.dialog":"\u5BF9\u8BDD\u6846","common.noOptions":"\u6682\u65E0\u9009\u9879","common.removeTag":"\u79FB\u9664\u6807\u7B7E","pagination.total":"\u5171 {total} \u6761","pagination.pageSize":"\u6BCF\u9875 {size} \u6761","pagination.jump":"\u8DF3\u81F3","pagination.pageUnit":"\u9875","pagination.first":"\u9996\u9875","pagination.prev":"\u4E0A\u4E00\u9875","pagination.next":"\u4E0B\u4E00\u9875","pagination.last":"\u672B\u9875","pagination.page":"\u7B2C {page} \u9875","pagination.pageSizeLabel":"\u6BCF\u9875\u6761\u6570","pagination.jumpLabel":"\u8DF3\u81F3\u9875\u7801","table.loading":"\u6B63\u5728\u52A0\u8F7D\u6570\u636E\u2026","table.empty":"\u6682\u65E0\u6570\u636E","table.selectAll":"\u5168\u9009\u5F53\u524D\u9875","table.selectRow":"\u9009\u62E9\u8BE5\u884C","table.scrollRegion":"\u8868\u683C\u6570\u636E\u533A","empty.title":"\u6682\u65E0\u6570\u636E","datePicker.placeholder":"\u9009\u62E9\u65E5\u671F","datePicker.rangePlaceholder":"\u9009\u62E9\u65E5\u671F\u8303\u56F4","datePicker.rangeEnd":"\u7ED3\u675F\u65E5\u671F","datePicker.today":"\u4ECA\u5929","datePicker.clear":"\u6E05\u7A7A","datePicker.title":"{year} \u5E74 {month} \u6708","datePicker.weeks":"\u4E00,\u4E8C,\u4E09,\u56DB,\u4E94,\u516D,\u65E5","calendar.title":"{year} \u5E74 {month} \u6708","calendar.prevMonth":"\u4E0A\u4E00\u6708","calendar.nextMonth":"\u4E0B\u4E00\u6708","calendar.grid":"\u65E5\u671F","treeSelect.placeholder":"\u8BF7\u9009\u62E9","treeSelect.search":"\u641C\u7D22\u8282\u70B9","treeSelect.empty":"\u6CA1\u6709\u5339\u914D\u7684\u8282\u70B9","treeSelect.clear":"\u6E05\u7A7A","treeSelect.clearSearch":"\u6E05\u7A7A\u641C\u7D22","treeSelect.remove":"\u79FB\u9664 {label}","treeSelect.expand":"\u5C55\u5F00","treeSelect.collapse":"\u6536\u8D77","cascader.empty":"\u6682\u65E0\u9009\u9879","steps.order":"\u7B2C {index} \u6B65","password.aria":"\u5BC6\u7801","password.show":"\u663E\u793A\u5BC6\u7801","password.hide":"\u9690\u85CF\u5BC6\u7801","password.weak":"\u5F31","password.medium":"\u4E2D","password.strong":"\u5F3A","password.hint":"\u81F3\u5C11 8 \u4F4D\uFF0C\u5EFA\u8BAE\u6DF7\u5408\u5927\u5C0F\u5199\u4E0E\u7B26\u53F7","password.strength":"\u5BC6\u7801\u5F3A\u5EA6\uFF1A{level}","contextMenu.empty":"\u6CA1\u6709\u53EF\u6267\u884C\u7684\u64CD\u4F5C","tree.empty":"\u6682\u65E0\u8282\u70B9","confirm.title":"\u64CD\u4F5C\u786E\u8BA4","confirm.confirm":"\u786E\u5B9A","confirm.cancel":"\u53D6\u6D88","upload.dropText":"\u62D6\u62FD\u6587\u4EF6\u5230\u8FD9\u91CC\uFF0C\u6216\u70B9\u51FB\u9009\u62E9","upload.dropHint":"\u652F\u6301\u591A\u9009\uFF0C\u53EF\u62D6\u62FD\u6216\u70B9\u51FB\u4E0A\u4F20","upload.select":"\u9009\u62E9\u6587\u4EF6","upload.count":"\u5DF2\u6DFB\u52A0 {count} \u4E2A\u6587\u4EF6","upload.clear":"\u5168\u90E8\u79FB\u9664","upload.empty":"\u5C1A\u672A\u9009\u62E9\u6587\u4EF6","upload.uploading":"\u4E0A\u4F20\u4E2D {percent}%","upload.done":"\u4E0A\u4F20\u5B8C\u6210","upload.ready":"\u5F85\u4E0A\u4F20","upload.failed":"\u4E0A\u4F20\u5931\u8D25","upload.retry":"\u91CD\u8BD5","upload.start":"\u4E0A\u4F20","upload.remove":"\u79FB\u9664","upload.limitHint":"\u6700\u591A {count} \u4E2A\u6587\u4EF6","upload.sizeHint":"\u5355\u4E2A\u4E0D\u8D85\u8FC7 {size}","select.placeholder":"\u8BF7\u9009\u62E9","select.empty":"\u65E0\u5339\u914D\u9879","select.clear":"\u6E05\u7A7A","orgPicker.placeholder":"\u9009\u62E9\u4EBA\u5458","orgPicker.title":"\u9009\u62E9\u4EBA\u5458","orgPicker.search":"\u641C\u7D22\u59D3\u540D\u6216\u804C\u4F4D","orgPicker.deptTree":"\u90E8\u95E8","orgPicker.allStaff":"\u5168\u90E8\u4EBA\u5458","orgPicker.expand":"\u5C55\u5F00\u6216\u6536\u8D77\u90E8\u95E8","orgPicker.selected":"\u5DF2\u9009 {count} \u4EBA","orgPicker.clearSelected":"\u6E05\u7A7A\u5DF2\u9009","orgPicker.clear":"\u6E05\u7A7A","orgPicker.empty":"\u6CA1\u6709\u5339\u914D\u7684\u4EBA\u5458","queryFilter.search":"\u67E5\u8BE2","queryFilter.reset":"\u91CD\u7F6E","queryFilter.expand":"\u5C55\u5F00","queryFilter.collapse":"\u6536\u8D77","mediaPicker.select":"\u9009\u62E9\u7D20\u6750","mediaPicker.title":"\u5A92\u4F53\u5E93","mediaPicker.search":"\u641C\u7D22\u7D20\u6750\u540D\u79F0","mediaPicker.empty":"\u6CA1\u6709\u5339\u914D\u7684\u7D20\u6750","mediaPicker.total":"\u5171 {total} \u4E2A\u7D20\u6750","mediaPicker.limit":"\u6700\u591A\u9009 {limit} \u4E2A","image.preview":"\u9884\u89C8\u56FE\u7247","image.close":"\u5173\u95ED\u9884\u89C8","image.dialog":"\u56FE\u7247\u9884\u89C8","image.failed":"\u56FE\u7247\u52A0\u8F7D\u5931\u8D25","tour.label":"\u64CD\u4F5C\u5F15\u5BFC","tour.close":"\u5173\u95ED\u5F15\u5BFC","tour.prev":"\u4E0A\u4E00\u6B65","tour.next":"\u4E0B\u4E00\u6B65","tour.finish":"\u5B8C\u6210","richEditor.aria":"\u5BCC\u6587\u672C\u7F16\u8F91\u5668","richEditor.placeholder":"\u8BF7\u8F93\u5165\u5185\u5BB9\u2026","richEditor.bold":"\u52A0\u7C97","richEditor.italic":"\u659C\u4F53","richEditor.underline":"\u4E0B\u5212\u7EBF","richEditor.strike":"\u5220\u9664\u7EBF","richEditor.heading":"\u4E8C\u7EA7\u6807\u9898","richEditor.paragraph":"\u6B63\u6587","richEditor.bulletList":"\u65E0\u5E8F\u5217\u8868","richEditor.numberList":"\u6709\u5E8F\u5217\u8868","richEditor.link":"\u63D2\u5165\u94FE\u63A5","richEditor.linkPrompt":"\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740","richEditor.clearFormat":"\u6E05\u9664","richEditor.undo":"\u64A4\u9500","richEditor.redo":"\u91CD\u505A","richEditor.source":"\u6E90\u7801","richEditor.visual":"\u53EF\u89C6\u5316","approval.start":"\u53D1\u8D77","approval.cc":"\u6284\u9001","approval.approved":"\u5DF2\u901A\u8FC7","approval.rejected":"\u5DF2\u9A73\u56DE","approval.pending":"\u5BA1\u6279\u4E2D","approval.waiting":"\u5F85\u5904\u7406","approval.empty":"\u6682\u65E0\u5BA1\u6279\u8BB0\u5F55","kanban.board":"\u770B\u677F","kanban.empty":"\u6682\u65E0\u5361\u7247","kanban.addCard":"\u65B0\u5EFA\u5361\u7247","attachment.empty":"\u6682\u65E0\u9644\u4EF6","attachment.preview":"\u9884\u89C8","attachment.download":"\u4E0B\u8F7D","attachment.remove":"\u5220\u9664","notification.unread":"\u672A\u8BFB {count} \u6761","notification.readAll":"\u5168\u90E8\u5DF2\u8BFB","notification.clear":"\u6E05\u7A7A","notification.clearConfirm":"\u786E\u8BA4\u6E05\u7A7A","notification.empty":"\u6682\u65E0\u901A\u77E5","dateTimePicker.placeholder":"\u9009\u62E9\u65E5\u671F\u65F6\u95F4","dateTimePicker.now":"\u6B64\u523B","dateTimePicker.clear":"\u6E05\u7A7A","dateTimePicker.prevMonth":"\u4E0A\u4E2A\u6708","dateTimePicker.nextMonth":"\u4E0B\u4E2A\u6708","virtualList.empty":"\u6682\u65E0\u6570\u636E","batchBar.selected":"\u5DF2\u9009 {count} \u9879","batchBar.selectAll":"\u5168\u9009 {total} \u9879","batchBar.clear":"\u53D6\u6D88\u9009\u62E9","importWizard.stepFile":"\u9009\u62E9\u6587\u4EF6","importWizard.stepMapping":"\u5B57\u6BB5\u6620\u5C04","importWizard.stepResult":"\u5BFC\u5165\u7ED3\u679C","importWizard.pick":"\u9009\u62E9\u6587\u4EF6","importWizard.dragTip":"\u628A\u6587\u4EF6\u62D6\u5230\u8FD9\u91CC\uFF0C\u6216\u70B9\u51FB\u9009\u62E9\uFF08{accept}\uFF09","importWizard.acceptError":"\u4EC5\u652F\u6301 {accept} \u683C\u5F0F","importWizard.sizeError":"\u6587\u4EF6\u4E0D\u80FD\u8D85\u8FC7 {size} MB","importWizard.reselect":"\u91CD\u65B0\u9009\u62E9","importWizard.sourcePlaceholder":"\u8BF7\u9009\u62E9\u5BF9\u5E94\u7684\u6587\u4EF6\u5B57\u6BB5","importWizard.missingRequired":"\u5FC5\u586B\u5B57\u6BB5\u672A\u6620\u5C04\uFF1A{fields}","importWizard.prev":"\u4E0A\u4E00\u6B65","importWizard.submit":"\u5F00\u59CB\u5BFC\u5165","importWizard.importing":"\u5BFC\u5165\u4E2D\u2026","importWizard.statTotal":"\u603B\u6761\u6570","importWizard.statSuccess":"\u6210\u529F","importWizard.statFailed":"\u5931\u8D25","importWizard.rowNo":"\u7B2C {row} \u884C","importWizard.retry":"\u8FD4\u56DE\u4FEE\u6539","importWizard.restart":"\u91CD\u65B0\u5BFC\u5165","diff.before":"\u4FEE\u6539\u524D","diff.after":"\u4FEE\u6539\u540E","diff.same":"\u5185\u5BB9\u4E00\u81F4","diff.expand":"\u5C55\u5F00 {count} \u884C\u672A\u53D8\u66F4\u5185\u5BB9","treeTable.empty":"\u6682\u65E0\u6570\u636E","treeTable.loading":"\u6B63\u5728\u52A0\u8F7D\u2026","treeTable.selectAll":"\u5168\u9009","treeTable.expand":"\u5C55\u5F00","treeTable.collapse":"\u6536\u8D77","schedule.title":"\u65E5\u7A0B","schedule.weekdays":"\u5468\u4E00,\u5468\u4E8C,\u5468\u4E09,\u5468\u56DB,\u5468\u4E94,\u5468\u516D,\u5468\u65E5","schedule.prevWeek":"\u4E0A\u4E00\u5468","schedule.nextWeek":"\u4E0B\u4E00\u5468","schedule.today":"\u672C\u5468","comment.placeholder":"\u8BF4\u70B9\u4EC0\u4E48\u2026","comment.replyPlaceholder":"\u56DE\u590D {name}","comment.replyingTo":"\u6B63\u5728\u56DE\u590D {name}","comment.cancelReply":"\u53D6\u6D88\u56DE\u590D","comment.submit":"\u53D1\u5E03","comment.submitting":"\u53D1\u5E03\u4E2D\u2026","comment.reply":"\u56DE\u590D","comment.remove":"\u5220\u9664","comment.empty":"\u8FD8\u6CA1\u6709\u8BC4\u8BBA","signature.label":"\u624B\u5199\u7B7E\u540D","signature.hint":"\u8BF7\u5728\u6B64\u5904\u7B7E\u540D","signature.clear":"\u6E05\u7A7A","print.button":"\u6253\u5370","gantt.task":"\u4EFB\u52A1","gantt.empty":"\u6682\u65E0\u4EFB\u52A1","fieldList.add":"\u6DFB\u52A0\u4E00\u884C","fieldList.remove":"\u5220\u9664\u8FD9\u4E00\u884C","fieldList.empty":"\u6682\u65E0\u6570\u636E","fieldList.select":"\u8BF7\u9009\u62E9","fieldList.required":"{label}\u4E0D\u80FD\u4E3A\u7A7A","chat.label":"\u6D88\u606F\u5217\u8868","chat.placeholder":"\u8F93\u5165\u6D88\u606F\uFF0CEnter \u53D1\u9001","chat.send":"\u53D1\u9001","chat.sending":"\u53D1\u9001\u4E2D\u2026","chat.failed":"\u53D1\u9001\u5931\u8D25","chat.empty":"\u6682\u65E0\u6D88\u606F","chat.image":"\u56FE\u7247\u6D88\u606F","chat.me":"\u6211","orgChart.empty":"\u6682\u65E0\u7EC4\u7EC7\u6570\u636E","orgChart.toggle":"\u5C55\u5F00\u6216\u6536\u8D77","pageTabs.label":"\u9875\u9762\u6807\u7B7E","pageTabs.close":"\u5173\u95ED"};var ti={"common.close":"Close","common.cancel":"Cancel","common.confirm":"OK","common.selected":"{count} selected","common.dialog":"Dialog","common.noOptions":"No options","common.removeTag":"Remove tag","pagination.total":"{total} items","pagination.pageSize":"{size} / page","pagination.jump":"Go to","pagination.pageUnit":"","pagination.first":"First","pagination.prev":"Previous","pagination.next":"Next","pagination.last":"Last","pagination.page":"Page {page}","pagination.pageSizeLabel":"Rows per page","pagination.jumpLabel":"Go to page","table.loading":"Loading\u2026","table.empty":"No data","table.selectAll":"Select all rows","table.selectRow":"Select row","table.scrollRegion":"Table data","empty.title":"No data","datePicker.placeholder":"Select date","datePicker.rangePlaceholder":"Select date range","datePicker.rangeEnd":"End date","datePicker.today":"Today","datePicker.clear":"Clear","datePicker.title":"{month}/{year}","datePicker.weeks":"Mo,Tu,We,Th,Fr,Sa,Su","calendar.title":"{month}/{year}","calendar.prevMonth":"Previous month","calendar.nextMonth":"Next month","calendar.grid":"Dates","treeSelect.placeholder":"Please select","treeSelect.search":"Search","treeSelect.empty":"No matching nodes","treeSelect.clear":"Clear","treeSelect.clearSearch":"Clear search","treeSelect.remove":"Remove {label}","treeSelect.expand":"Expand","treeSelect.collapse":"Collapse","cascader.empty":"No options","steps.order":"Step {index}","password.aria":"Password","password.show":"Show password","password.hide":"Hide password","password.weak":"Weak","password.medium":"Medium","password.strong":"Strong","password.hint":"At least 8 characters, mix upper and lower case with symbols","password.strength":"Password strength: {level}","contextMenu.empty":"No actions available","tree.empty":"No nodes","confirm.title":"Confirm","confirm.confirm":"OK","confirm.cancel":"Cancel","upload.dropText":"Drop files here, or click to select","upload.dropHint":"Multiple files supported","upload.select":"Select files","upload.count":"{count} files added","upload.clear":"Remove all","upload.empty":"No files selected","upload.uploading":"Uploading {percent}%","upload.done":"Uploaded","upload.ready":"Pending","upload.failed":"Upload failed","upload.retry":"Retry","upload.start":"Upload","upload.remove":"Remove","upload.limitHint":"Up to {count} files","upload.sizeHint":"Max {size} each","select.placeholder":"Please select","select.empty":"No matches","select.clear":"Clear","orgPicker.placeholder":"Select people","orgPicker.title":"Select people","orgPicker.search":"Search name or title","orgPicker.deptTree":"Departments","orgPicker.allStaff":"All people","orgPicker.expand":"Expand or collapse department","orgPicker.selected":"{count} selected","orgPicker.clearSelected":"Clear","orgPicker.clear":"Clear","orgPicker.empty":"No matching people","queryFilter.search":"Search","queryFilter.reset":"Reset","queryFilter.expand":"More","queryFilter.collapse":"Less","mediaPicker.select":"Choose asset","mediaPicker.title":"Media library","mediaPicker.search":"Search assets","mediaPicker.empty":"No matching assets","mediaPicker.total":"{total} assets","mediaPicker.limit":"up to {limit}","image.preview":"Preview image","image.close":"Close preview","image.dialog":"Image preview","image.failed":"Failed to load image","tour.label":"Guided tour","tour.close":"Close tour","tour.prev":"Previous","tour.next":"Next","tour.finish":"Done","richEditor.aria":"Rich text editor","richEditor.placeholder":"Type something\u2026","richEditor.bold":"Bold","richEditor.italic":"Italic","richEditor.underline":"Underline","richEditor.strike":"Strikethrough","richEditor.heading":"Heading 2","richEditor.paragraph":"Paragraph","richEditor.bulletList":"Bullet list","richEditor.numberList":"Numbered list","richEditor.link":"Insert link","richEditor.linkPrompt":"Enter link URL","richEditor.clearFormat":"Clear","richEditor.undo":"Undo","richEditor.redo":"Redo","richEditor.source":"Source","richEditor.visual":"Visual","approval.start":"Started","approval.cc":"CC","approval.approved":"Approved","approval.rejected":"Rejected","approval.pending":"In review","approval.waiting":"Waiting","approval.empty":"No approval records","kanban.board":"Kanban board","kanban.empty":"No cards","kanban.addCard":"Add card","attachment.empty":"No attachments","attachment.preview":"Preview","attachment.download":"Download","attachment.remove":"Remove","notification.unread":"{count} unread","notification.readAll":"Mark all read","notification.clear":"Clear all","notification.clearConfirm":"Confirm clear","notification.empty":"No notifications","dateTimePicker.placeholder":"Select date and time","dateTimePicker.now":"Now","dateTimePicker.clear":"Clear","dateTimePicker.prevMonth":"Previous month","dateTimePicker.nextMonth":"Next month","virtualList.empty":"No data","batchBar.selected":"{count} selected","batchBar.selectAll":"Select all {total}","batchBar.clear":"Clear selection","importWizard.stepFile":"Choose file","importWizard.stepMapping":"Map fields","importWizard.stepResult":"Result","importWizard.pick":"Choose a file","importWizard.dragTip":"Drop a file here or click to choose ({accept})","importWizard.acceptError":"Only {accept} files are allowed","importWizard.sizeError":"File must be under {size} MB","importWizard.reselect":"Choose another","importWizard.sourcePlaceholder":"Select a source column","importWizard.missingRequired":"Required fields not mapped: {fields}","importWizard.prev":"Back","importWizard.submit":"Start import","importWizard.importing":"Importing\u2026","importWizard.statTotal":"Total","importWizard.statSuccess":"Succeeded","importWizard.statFailed":"Failed","importWizard.rowNo":"Row {row}","importWizard.retry":"Back to edit","importWizard.restart":"Import again","diff.before":"Before","diff.after":"After","diff.same":"No changes","diff.expand":"Show {count} unchanged lines","treeTable.empty":"No data","treeTable.loading":"Loading\u2026","treeTable.selectAll":"Select all","treeTable.expand":"Expand","treeTable.collapse":"Collapse","schedule.title":"Schedule","schedule.weekdays":"Mon,Tue,Wed,Thu,Fri,Sat,Sun","schedule.prevWeek":"Previous week","schedule.nextWeek":"Next week","schedule.today":"This week","comment.placeholder":"Write a comment\u2026","comment.replyPlaceholder":"Reply to {name}","comment.replyingTo":"Replying to {name}","comment.cancelReply":"Cancel reply","comment.submit":"Post","comment.submitting":"Posting\u2026","comment.reply":"Reply","comment.remove":"Delete","comment.empty":"No comments yet","signature.label":"Signature","signature.hint":"Sign here","signature.clear":"Clear","print.button":"Print","gantt.task":"Task","gantt.empty":"No tasks","fieldList.add":"Add row","fieldList.remove":"Remove row","fieldList.empty":"No rows","fieldList.select":"Select","fieldList.required":"{label} is required","chat.label":"Messages","chat.placeholder":"Type a message, Enter to send","chat.send":"Send","chat.sending":"Sending\u2026","chat.failed":"Failed","chat.empty":"No messages","chat.image":"Image message","chat.me":"Me","orgChart.empty":"No organization data","orgChart.toggle":"Expand or collapse","pageTabs.label":"Page tabs","pageTabs.close":"Close"};var st=(0,ai.reactive)({code:"zh-CN",messages:{"zh-CN":It,"en-US":ti}});function dt(e){st.messages[e]&&(st.code=e)}function ni(){return st.code}function C(e,t){let a=st.messages[st.code]||It,n=e in a?a[e]:e in It?It[e]:e;return t&&Object.keys(t).forEach(i=>{n=n.split("{"+i+"}").join(t[i])}),n}var ee={position:"fixed",left:"0px",top:"0px",visibility:"hidden"};function J({root:e,panel:t,onClose:a,onReposition:n,esc:i=!0}){let l=s=>typeof s=="function"?s():s;function o(s){let d=l(e),f=l(t);d&&d.contains(s.target)||f&&f.contains(s.target)||a()}function r(s){s.key==="Escape"&&a()}return document.addEventListener("mousedown",o,!0),i&&document.addEventListener("keydown",r),n&&(window.addEventListener("resize",n),window.addEventListener("scroll",n,!0)),function(){document.removeEventListener("mousedown",o,!0),i&&document.removeEventListener("keydown",r),n&&(window.removeEventListener("resize",n),window.removeEventListener("scroll",n,!0))}}function ge(e,t){return window.innerHeight-e.bottom<t+8&&e.top>t}function ye({rect:e,flip:t,gap:a=4,width:n,clampWidth:i,maxHeight:l}){let o={position:"fixed",visibility:"visible"},r=e.left;return i!=null&&(r=Math.max(8,Math.min(e.left,window.innerWidth-i-8))),o.left=r+"px",n!=null&&(o.width=n+"px"),t?(o.bottom=window.innerHeight-e.top+a+"px",o.top="auto"):(o.top=e.bottom+a+"px",o.bottom="auto"),l!=null&&(o.maxHeight=l+"px"),o}var al=0,Ge={name:"DjmSelect",components:{DjmIcon:L},props:{modelValue:{type:[String,Number,Boolean,Array],default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},maxTagCount:{type:Number,default:0},emptyText:{type:String,default:""},virtual:{type:Boolean,default:!1},optionHeight:{type:Number,default:30},overscan:{type:Number,default:5}},emits:["update:modelValue","change","clear","visible-change","focus","blur"],setup(e,{emit:t}){let a="djm-select-"+ ++al,n=(0,_.ref)(null),i=(0,_.ref)(null),l=(0,_.ref)(null),o=(0,_.ref)(!1),r=(0,_.ref)(""),s=(0,_.ref)(-1),d=(0,_.ref)({}),f=(0,_.ref)(0),c=(0,_.ref)(0),p=null;function g(N){return N&&typeof N=="object"?{label:N.label,value:N.value,disabled:!!N.disabled}:{label:N,value:N,disabled:!1}}let m=(0,_.computed)(()=>e.options.some(N=>N&&typeof N=="object"&&Array.isArray(N.options))),h=(0,_.computed)(()=>{let N=[];return e.options.forEach(K=>{K&&typeof K=="object"&&Array.isArray(K.options)?K.options.forEach(Y=>N.push(g(Y))):N.push(g(K))}),N}),b=(0,_.computed)(()=>{let N=r.value.trim().toLowerCase();return N?h.value.filter(K=>String(K.label).toLowerCase().includes(N)):h.value}),j=(0,_.computed)(()=>{let N=r.value.trim().toLowerCase(),K=me=>!N||String(me.label).toLowerCase().includes(N),Y=[],ie=0;return e.options.forEach(me=>{if(me&&typeof me=="object"&&Array.isArray(me.options)){let ke=[];me.options.forEach(Ae=>{let Te=g(Ae);K(Te)&&ke.push({option:Te,index:ie++})}),ke.length&&Y.push({label:me.label,items:ke})}else{let ke=g(me);K(ke)&&Y.push({label:null,items:[{option:ke,index:ie++}]})}}),Y}),w=(0,_.computed)(()=>e.multiple?Array.isArray(e.modelValue)?e.modelValue:[]:e.modelValue===""||e.modelValue===null||e.modelValue===void 0?[]:[e.modelValue]),y=(0,_.computed)(()=>w.value.length>0),u=(0,_.computed)(()=>w.value.map(N=>h.value.find(K=>K.value===N)||{label:String(N),value:N})),v=(0,_.computed)(()=>!e.maxTagCount||e.maxTagCount<=0?u.value:u.value.slice(0,e.maxTagCount)),T=(0,_.computed)(()=>Math.max(0,u.value.length-v.value.length)),D=(0,_.computed)(()=>u.value.length?e.multiple?u.value.map(N=>N.label).join("\u3001"):u.value[0].label:""),x=(0,_.computed)(()=>e.placeholder||C("select.placeholder")),z=(0,_.computed)(()=>e.emptyText||C("select.empty")),S=(0,_.computed)(()=>e.virtual&&!m.value&&b.value.length>0),M=(0,_.computed)(()=>Math.max(16,e.optionHeight)),I=(0,_.computed)(()=>{let N=b.value;if(!S.value)return N.map((ke,Ae)=>({option:ke,index:Ae}));let K=M.value,Y=c.value||220,ie=Math.max(0,Math.floor(f.value/K)-e.overscan),me=Math.min(N.length,Math.ceil((f.value+Y)/K)+e.overscan);return N.slice(ie,me).map((ke,Ae)=>({option:ke,index:ie+Ae}))}),A=(0,_.computed)(()=>!S.value||!I.value.length?0:I.value[0].index*M.value),V=(0,_.computed)(()=>{if(!S.value||!I.value.length)return 0;let N=I.value[I.value.length-1].index;return Math.max(0,(b.value.length-N-1)*M.value)});function H(N){if(!S.value)return;let K=N.target;f.value=K.scrollTop,c.value=K.clientHeight}let G=(0,_.computed)(()=>{if(!(!o.value||s.value<0))return a+"-opt-"+s.value});function Q(N){return w.value.includes(N.value)}function R(){let N=b.value;if(!N.length)return-1;let K=N.findIndex(Y=>Q(Y)&&!Y.disabled);return K!==-1?K:N.findIndex(Y=>!Y.disabled)}function F(){e.disabled||o.value||(o.value=!0,s.value=R(),t("visible-change",!0),p=J({root:()=>n.value,panel:()=>i.value,onClose:()=>U(),onReposition:ae,esc:!1}),(0,_.nextTick)(()=>{e.filterable&&l.value&&l.value.focus(),ae(),i.value&&(i.value.scrollTop=0,c.value=i.value.clientHeight,f.value=0),k()}))}function U(N=!0){o.value&&(o.value=!1,N&&(r.value=""),d.value={},p&&(p(),p=null),t("visible-change",!1))}function ae(){if(!o.value||!n.value)return;let N=n.value.getBoundingClientRect(),K=i.value?i.value.offsetHeight:220,Y=window.innerHeight-N.bottom-8,ie=Y<Math.min(K,160)&&N.top>Y,me=Math.max(120,ie?N.top-12:Y);d.value={position:"fixed",left:N.left+"px",width:N.width+"px",top:ie?"auto":N.bottom+4+"px",bottom:ie?window.innerHeight-N.top+4+"px":"auto",maxHeight:Math.min(220,me)+"px"}}function Z(){e.disabled||(o.value?U():F())}function de(N){e.disabled||N.target.closest(".djm-select-clear")||N.target.closest(".djm-select-tag-close")||e.filterable&&o.value&&N.target.tagName==="INPUT"||(e.filterable||N.preventDefault(),Z())}function P(N){t("update:modelValue",N),t("change",N)}function O(N){if(!(!N||N.disabled))if(e.multiple){let K=w.value.slice(),Y=K.indexOf(N.value);Y===-1?K.push(N.value):K.splice(Y,1),P(K),(0,_.nextTick)(k)}else P(N.value),U(),e.filterable&&l.value&&l.value.blur()}function W(N){e.disabled||P(w.value.filter(K=>K!==N))}function re(){e.disabled||(P(e.multiple?[]:""),t("clear"),U())}function k(){if(!i.value||s.value<0)return;if(S.value){let ie=M.value,me=s.value*ie,ke=i.value.clientHeight;me<i.value.scrollTop?i.value.scrollTop=me:me+ie>i.value.scrollTop+ke&&(i.value.scrollTop=me+ie-ke),f.value=i.value.scrollTop;return}let N=i.value.querySelector('[data-index="'+s.value+'"]');if(!N)return;let K=N.offsetTop,Y=K+N.offsetHeight;K<i.value.scrollTop?i.value.scrollTop=K:Y>i.value.scrollTop+i.value.clientHeight&&(i.value.scrollTop=Y-i.value.clientHeight)}function E(N){let K=b.value;if(!K.length||e.disabled)return;if(!o.value){F();return}let Y=s.value;for(let ie=0;ie<K.length&&(Y=(Y+N+K.length)%K.length,!!K[Y].disabled);ie++);s.value=Y,(0,_.nextTick)(k)}function B(N){r.value=N.target.value,o.value||F(),i.value&&(i.value.scrollTop=0,f.value=0),s.value=R(),(0,_.nextTick)(k)}function $(N){if(!e.disabled)switch(N.key){case"ArrowDown":N.preventDefault(),E(1);break;case"ArrowUp":N.preventDefault(),E(-1);break;case"Enter":N.preventDefault(),o.value?O(b.value[s.value]):F();break;case"Escape":o.value&&(N.preventDefault(),U());break;case"Tab":U();break;case"Backspace":e.multiple&&e.filterable&&!r.value&&w.value.length&&(N.preventDefault(),W(w.value[w.value.length-1]));break;default:break}}function q(N){if(e.disabled)return;let K=N.relatedTarget;K&&n.value&&n.value.contains(K)||K&&i.value&&i.value.contains(K)||t("focus",N)}function se(N){let K=N.relatedTarget;K&&n.value&&n.value.contains(K)||K&&i.value&&i.value.contains(K)||t("blur",N)}return(0,_.watch)(()=>e.modelValue,()=>{o.value||(s.value=-1)}),(0,_.onBeforeUnmount)(()=>{p&&(p(),p=null)}),{instanceId:a,root:n,panel:i,panelStyle:d,searchRef:l,open:o,query:r,activeIndex:s,isGrouped:m,visibleOptions:b,visibleGroups:j,virtualEnabled:S,renderedOptions:I,optionPadTop:A,optionPadBottom:V,onPanelScroll:H,selectedOptions:u,visibleTags:v,restTagCount:T,displayText:D,placeholderText:x,emptyLabel:z,activeDescendant:G,hasValue:y,isSelected:Q,toggle:Z,openPanel:F,closePanel:U,onTriggerMousedown:de,selectOption:O,removeTag:W,clear:re,onInput:B,onKeydown:$,onFocusIn:q,onFocusOut:se,t:C}},template:`
84
+ `};var X=require("vue");var on=require("vue");var Pt={"common.close":"\u5173\u95ED","common.cancel":"\u53D6\u6D88","common.confirm":"\u786E\u5B9A","common.selected":"\u5DF2\u9009 {count} \u9879","common.dialog":"\u5BF9\u8BDD\u6846","common.noOptions":"\u6682\u65E0\u9009\u9879","common.removeTag":"\u79FB\u9664\u6807\u7B7E","pagination.total":"\u5171 {total} \u6761","pagination.pageSize":"\u6BCF\u9875 {size} \u6761","pagination.jump":"\u8DF3\u81F3","pagination.pageUnit":"\u9875","pagination.first":"\u9996\u9875","pagination.prev":"\u4E0A\u4E00\u9875","pagination.next":"\u4E0B\u4E00\u9875","pagination.last":"\u672B\u9875","pagination.page":"\u7B2C {page} \u9875","pagination.pageSizeLabel":"\u6BCF\u9875\u6761\u6570","pagination.jumpLabel":"\u8DF3\u81F3\u9875\u7801","table.loading":"\u6B63\u5728\u52A0\u8F7D\u6570\u636E\u2026","table.empty":"\u6682\u65E0\u6570\u636E","table.selectAll":"\u5168\u9009\u5F53\u524D\u9875","table.selectRow":"\u9009\u62E9\u8BE5\u884C","table.scrollRegion":"\u8868\u683C\u6570\u636E\u533A","empty.title":"\u6682\u65E0\u6570\u636E","datePicker.placeholder":"\u9009\u62E9\u65E5\u671F","datePicker.rangePlaceholder":"\u9009\u62E9\u65E5\u671F\u8303\u56F4","datePicker.rangeEnd":"\u7ED3\u675F\u65E5\u671F","datePicker.today":"\u4ECA\u5929","datePicker.clear":"\u6E05\u7A7A","datePicker.title":"{year} \u5E74 {month} \u6708","datePicker.weeks":"\u4E00,\u4E8C,\u4E09,\u56DB,\u4E94,\u516D,\u65E5","calendar.title":"{year} \u5E74 {month} \u6708","calendar.prevMonth":"\u4E0A\u4E00\u6708","calendar.nextMonth":"\u4E0B\u4E00\u6708","calendar.grid":"\u65E5\u671F","treeSelect.placeholder":"\u8BF7\u9009\u62E9","treeSelect.search":"\u641C\u7D22\u8282\u70B9","treeSelect.empty":"\u6CA1\u6709\u5339\u914D\u7684\u8282\u70B9","treeSelect.clear":"\u6E05\u7A7A","treeSelect.clearSearch":"\u6E05\u7A7A\u641C\u7D22","treeSelect.remove":"\u79FB\u9664 {label}","treeSelect.expand":"\u5C55\u5F00","treeSelect.collapse":"\u6536\u8D77","cascader.empty":"\u6682\u65E0\u9009\u9879","steps.order":"\u7B2C {index} \u6B65","password.aria":"\u5BC6\u7801","password.show":"\u663E\u793A\u5BC6\u7801","password.hide":"\u9690\u85CF\u5BC6\u7801","password.weak":"\u5F31","password.medium":"\u4E2D","password.strong":"\u5F3A","password.hint":"\u81F3\u5C11 8 \u4F4D\uFF0C\u5EFA\u8BAE\u6DF7\u5408\u5927\u5C0F\u5199\u4E0E\u7B26\u53F7","password.strength":"\u5BC6\u7801\u5F3A\u5EA6\uFF1A{level}","contextMenu.empty":"\u6CA1\u6709\u53EF\u6267\u884C\u7684\u64CD\u4F5C","tree.empty":"\u6682\u65E0\u8282\u70B9","confirm.title":"\u64CD\u4F5C\u786E\u8BA4","confirm.confirm":"\u786E\u5B9A","confirm.cancel":"\u53D6\u6D88","upload.dropText":"\u62D6\u62FD\u6587\u4EF6\u5230\u8FD9\u91CC\uFF0C\u6216\u70B9\u51FB\u9009\u62E9","upload.dropHint":"\u652F\u6301\u591A\u9009\uFF0C\u53EF\u62D6\u62FD\u6216\u70B9\u51FB\u4E0A\u4F20","upload.select":"\u9009\u62E9\u6587\u4EF6","upload.count":"\u5DF2\u6DFB\u52A0 {count} \u4E2A\u6587\u4EF6","upload.clear":"\u5168\u90E8\u79FB\u9664","upload.empty":"\u5C1A\u672A\u9009\u62E9\u6587\u4EF6","upload.uploading":"\u4E0A\u4F20\u4E2D {percent}%","upload.done":"\u4E0A\u4F20\u5B8C\u6210","upload.ready":"\u5F85\u4E0A\u4F20","upload.failed":"\u4E0A\u4F20\u5931\u8D25","upload.retry":"\u91CD\u8BD5","upload.start":"\u4E0A\u4F20","upload.remove":"\u79FB\u9664","upload.limitHint":"\u6700\u591A {count} \u4E2A\u6587\u4EF6","upload.sizeHint":"\u5355\u4E2A\u4E0D\u8D85\u8FC7 {size}","select.placeholder":"\u8BF7\u9009\u62E9","select.empty":"\u65E0\u5339\u914D\u9879","select.clear":"\u6E05\u7A7A","orgPicker.placeholder":"\u9009\u62E9\u4EBA\u5458","orgPicker.title":"\u9009\u62E9\u4EBA\u5458","orgPicker.search":"\u641C\u7D22\u59D3\u540D\u6216\u804C\u4F4D","orgPicker.deptTree":"\u90E8\u95E8","orgPicker.allStaff":"\u5168\u90E8\u4EBA\u5458","orgPicker.expand":"\u5C55\u5F00\u6216\u6536\u8D77\u90E8\u95E8","orgPicker.selected":"\u5DF2\u9009 {count} \u4EBA","orgPicker.clearSelected":"\u6E05\u7A7A\u5DF2\u9009","orgPicker.clear":"\u6E05\u7A7A","orgPicker.empty":"\u6CA1\u6709\u5339\u914D\u7684\u4EBA\u5458","queryFilter.search":"\u67E5\u8BE2","queryFilter.reset":"\u91CD\u7F6E","queryFilter.expand":"\u5C55\u5F00","queryFilter.collapse":"\u6536\u8D77","mediaPicker.select":"\u9009\u62E9\u7D20\u6750","mediaPicker.title":"\u5A92\u4F53\u5E93","mediaPicker.search":"\u641C\u7D22\u7D20\u6750\u540D\u79F0","mediaPicker.empty":"\u6CA1\u6709\u5339\u914D\u7684\u7D20\u6750","mediaPicker.total":"\u5171 {total} \u4E2A\u7D20\u6750","mediaPicker.limit":"\u6700\u591A\u9009 {limit} \u4E2A","image.preview":"\u9884\u89C8\u56FE\u7247","image.close":"\u5173\u95ED\u9884\u89C8","image.dialog":"\u56FE\u7247\u9884\u89C8","image.failed":"\u56FE\u7247\u52A0\u8F7D\u5931\u8D25","tour.label":"\u64CD\u4F5C\u5F15\u5BFC","tour.close":"\u5173\u95ED\u5F15\u5BFC","tour.prev":"\u4E0A\u4E00\u6B65","tour.next":"\u4E0B\u4E00\u6B65","tour.finish":"\u5B8C\u6210","richEditor.aria":"\u5BCC\u6587\u672C\u7F16\u8F91\u5668","richEditor.placeholder":"\u8BF7\u8F93\u5165\u5185\u5BB9\u2026","richEditor.bold":"\u52A0\u7C97","richEditor.italic":"\u659C\u4F53","richEditor.underline":"\u4E0B\u5212\u7EBF","richEditor.strike":"\u5220\u9664\u7EBF","richEditor.paragraph":"\u6B63\u6587","richEditor.bulletList":"\u65E0\u5E8F\u5217\u8868","richEditor.numberList":"\u6709\u5E8F\u5217\u8868","richEditor.link":"\u63D2\u5165\u94FE\u63A5","richEditor.linkPrompt":"\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740","richEditor.clearFormat":"\u6E05\u9664","richEditor.undo":"\u64A4\u9500","richEditor.redo":"\u91CD\u505A","richEditor.source":"\u6E90\u7801","richEditor.visual":"\u53EF\u89C6\u5316","richEditor.toolbar":"\u7F16\u8F91\u5DE5\u5177\u680F","richEditor.block":"\u6BB5\u843D\u683C\u5F0F","richEditor.heading1":"\u6807\u9898 1","richEditor.heading2":"\u6807\u9898 2","richEditor.heading3":"\u6807\u9898 3","richEditor.quote":"\u5F15\u7528","richEditor.codeBlock":"\u4EE3\u7801\u5757","richEditor.fontSize":"\u5B57\u53F7","richEditor.defaultSize":"\u9ED8\u8BA4","richEditor.inlineCode":"\u884C\u5185\u4EE3\u7801","richEditor.textColor":"\u6587\u5B57\u989C\u8272","richEditor.bgColor":"\u80CC\u666F\u8272","richEditor.alignLeft":"\u5DE6\u5BF9\u9F50","richEditor.alignCenter":"\u5C45\u4E2D","richEditor.alignRight":"\u53F3\u5BF9\u9F50","richEditor.alignJustify":"\u4E24\u7AEF\u5BF9\u9F50","richEditor.outdent":"\u51CF\u5C11\u7F29\u8FDB","richEditor.indent":"\u589E\u52A0\u7F29\u8FDB","richEditor.unlink":"\u53D6\u6D88\u94FE\u63A5","richEditor.image":"\u63D2\u5165\u56FE\u7247","richEditor.singleImage":"\u63D2\u5165\u5355\u56FE","richEditor.multiImage":"\u63D2\u5165\u591A\u56FE","richEditor.mediaLibrary":"\u4ECE\u7D20\u6750\u5E93\u9009\u62E9","richEditor.hr":"\u5206\u5272\u7EBF","richEditor.fullscreen":"\u5168\u5C4F","richEditor.exitFullscreen":"\u9000\u51FA\u5168\u5C4F","richEditor.wordCount":"\u5171 {count} \u5B57","richEditor.uploading":"\u6B63\u5728\u4E0A\u4F20 {count} \u5F20\u56FE\u7247\u2026","richEditor.uploadFailed":"\u56FE\u7247\u4E0A\u4F20\u5931\u8D25","richEditor.imageTypeError":"\u53EA\u80FD\u4E0A\u4F20\u56FE\u7247\u6587\u4EF6","richEditor.imageSizeError":"\u56FE\u7247\u4E0D\u80FD\u8D85\u8FC7 {size}MB","richEditor.imageUrlInvalid":"\u56FE\u7247\u5730\u5740\u4E0D\u5408\u6CD5\uFF0C\u5DF2\u62D2\u7EDD\u63D2\u5165","richEditor.linkInvalid":"\u94FE\u63A5\u53EA\u652F\u6301 http(s)\u3001mailto\u3001tel \u6216\u7AD9\u5185\u76F8\u5BF9\u5730\u5740","approval.start":"\u53D1\u8D77","approval.cc":"\u6284\u9001","approval.approved":"\u5DF2\u901A\u8FC7","approval.rejected":"\u5DF2\u9A73\u56DE","approval.pending":"\u5BA1\u6279\u4E2D","approval.waiting":"\u5F85\u5904\u7406","approval.empty":"\u6682\u65E0\u5BA1\u6279\u8BB0\u5F55","kanban.board":"\u770B\u677F","kanban.empty":"\u6682\u65E0\u5361\u7247","kanban.addCard":"\u65B0\u5EFA\u5361\u7247","attachment.empty":"\u6682\u65E0\u9644\u4EF6","attachment.preview":"\u9884\u89C8","attachment.download":"\u4E0B\u8F7D","attachment.remove":"\u5220\u9664","notification.unread":"\u672A\u8BFB {count} \u6761","notification.readAll":"\u5168\u90E8\u5DF2\u8BFB","notification.clear":"\u6E05\u7A7A","notification.clearConfirm":"\u786E\u8BA4\u6E05\u7A7A","notification.empty":"\u6682\u65E0\u901A\u77E5","dateTimePicker.placeholder":"\u9009\u62E9\u65E5\u671F\u65F6\u95F4","dateTimePicker.now":"\u6B64\u523B","dateTimePicker.clear":"\u6E05\u7A7A","dateTimePicker.prevMonth":"\u4E0A\u4E2A\u6708","dateTimePicker.nextMonth":"\u4E0B\u4E2A\u6708","virtualList.empty":"\u6682\u65E0\u6570\u636E","batchBar.selected":"\u5DF2\u9009 {count} \u9879","batchBar.selectAll":"\u5168\u9009 {total} \u9879","batchBar.clear":"\u53D6\u6D88\u9009\u62E9","importWizard.stepFile":"\u9009\u62E9\u6587\u4EF6","importWizard.stepMapping":"\u5B57\u6BB5\u6620\u5C04","importWizard.stepResult":"\u5BFC\u5165\u7ED3\u679C","importWizard.pick":"\u9009\u62E9\u6587\u4EF6","importWizard.dragTip":"\u628A\u6587\u4EF6\u62D6\u5230\u8FD9\u91CC\uFF0C\u6216\u70B9\u51FB\u9009\u62E9\uFF08{accept}\uFF09","importWizard.acceptError":"\u4EC5\u652F\u6301 {accept} \u683C\u5F0F","importWizard.sizeError":"\u6587\u4EF6\u4E0D\u80FD\u8D85\u8FC7 {size} MB","importWizard.reselect":"\u91CD\u65B0\u9009\u62E9","importWizard.sourcePlaceholder":"\u8BF7\u9009\u62E9\u5BF9\u5E94\u7684\u6587\u4EF6\u5B57\u6BB5","importWizard.missingRequired":"\u5FC5\u586B\u5B57\u6BB5\u672A\u6620\u5C04\uFF1A{fields}","importWizard.prev":"\u4E0A\u4E00\u6B65","importWizard.submit":"\u5F00\u59CB\u5BFC\u5165","importWizard.importing":"\u5BFC\u5165\u4E2D\u2026","importWizard.statTotal":"\u603B\u6761\u6570","importWizard.statSuccess":"\u6210\u529F","importWizard.statFailed":"\u5931\u8D25","importWizard.rowNo":"\u7B2C {row} \u884C","importWizard.retry":"\u8FD4\u56DE\u4FEE\u6539","importWizard.restart":"\u91CD\u65B0\u5BFC\u5165","diff.before":"\u4FEE\u6539\u524D","diff.after":"\u4FEE\u6539\u540E","diff.same":"\u5185\u5BB9\u4E00\u81F4","diff.expand":"\u5C55\u5F00 {count} \u884C\u672A\u53D8\u66F4\u5185\u5BB9","treeTable.empty":"\u6682\u65E0\u6570\u636E","treeTable.loading":"\u6B63\u5728\u52A0\u8F7D\u2026","treeTable.selectAll":"\u5168\u9009","treeTable.expand":"\u5C55\u5F00","treeTable.collapse":"\u6536\u8D77","schedule.title":"\u65E5\u7A0B","schedule.weekdays":"\u5468\u4E00,\u5468\u4E8C,\u5468\u4E09,\u5468\u56DB,\u5468\u4E94,\u5468\u516D,\u5468\u65E5","schedule.prevWeek":"\u4E0A\u4E00\u5468","schedule.nextWeek":"\u4E0B\u4E00\u5468","schedule.today":"\u672C\u5468","comment.placeholder":"\u8BF4\u70B9\u4EC0\u4E48\u2026","comment.replyPlaceholder":"\u56DE\u590D {name}","comment.replyingTo":"\u6B63\u5728\u56DE\u590D {name}","comment.cancelReply":"\u53D6\u6D88\u56DE\u590D","comment.submit":"\u53D1\u5E03","comment.submitting":"\u53D1\u5E03\u4E2D\u2026","comment.reply":"\u56DE\u590D","comment.remove":"\u5220\u9664","comment.empty":"\u8FD8\u6CA1\u6709\u8BC4\u8BBA","signature.label":"\u624B\u5199\u7B7E\u540D","signature.hint":"\u8BF7\u5728\u6B64\u5904\u7B7E\u540D","signature.clear":"\u6E05\u7A7A","print.button":"\u6253\u5370","gantt.task":"\u4EFB\u52A1","gantt.empty":"\u6682\u65E0\u4EFB\u52A1","fieldList.add":"\u6DFB\u52A0\u4E00\u884C","fieldList.remove":"\u5220\u9664\u8FD9\u4E00\u884C","fieldList.empty":"\u6682\u65E0\u6570\u636E","fieldList.select":"\u8BF7\u9009\u62E9","fieldList.required":"{label}\u4E0D\u80FD\u4E3A\u7A7A","chat.label":"\u6D88\u606F\u5217\u8868","chat.placeholder":"\u8F93\u5165\u6D88\u606F\uFF0CEnter \u53D1\u9001","chat.send":"\u53D1\u9001","chat.sending":"\u53D1\u9001\u4E2D\u2026","chat.failed":"\u53D1\u9001\u5931\u8D25","chat.empty":"\u6682\u65E0\u6D88\u606F","chat.image":"\u56FE\u7247\u6D88\u606F","chat.me":"\u6211","orgChart.empty":"\u6682\u65E0\u7EC4\u7EC7\u6570\u636E","orgChart.toggle":"\u5C55\u5F00\u6216\u6536\u8D77","pageTabs.label":"\u9875\u9762\u6807\u7B7E","pageTabs.close":"\u5173\u95ED"};var ln={"common.close":"Close","common.cancel":"Cancel","common.confirm":"OK","common.selected":"{count} selected","common.dialog":"Dialog","common.noOptions":"No options","common.removeTag":"Remove tag","pagination.total":"{total} items","pagination.pageSize":"{size} / page","pagination.jump":"Go to","pagination.pageUnit":"","pagination.first":"First","pagination.prev":"Previous","pagination.next":"Next","pagination.last":"Last","pagination.page":"Page {page}","pagination.pageSizeLabel":"Rows per page","pagination.jumpLabel":"Go to page","table.loading":"Loading\u2026","table.empty":"No data","table.selectAll":"Select all rows","table.selectRow":"Select row","table.scrollRegion":"Table data","empty.title":"No data","datePicker.placeholder":"Select date","datePicker.rangePlaceholder":"Select date range","datePicker.rangeEnd":"End date","datePicker.today":"Today","datePicker.clear":"Clear","datePicker.title":"{month}/{year}","datePicker.weeks":"Mo,Tu,We,Th,Fr,Sa,Su","calendar.title":"{month}/{year}","calendar.prevMonth":"Previous month","calendar.nextMonth":"Next month","calendar.grid":"Dates","treeSelect.placeholder":"Please select","treeSelect.search":"Search","treeSelect.empty":"No matching nodes","treeSelect.clear":"Clear","treeSelect.clearSearch":"Clear search","treeSelect.remove":"Remove {label}","treeSelect.expand":"Expand","treeSelect.collapse":"Collapse","cascader.empty":"No options","steps.order":"Step {index}","password.aria":"Password","password.show":"Show password","password.hide":"Hide password","password.weak":"Weak","password.medium":"Medium","password.strong":"Strong","password.hint":"At least 8 characters, mix upper and lower case with symbols","password.strength":"Password strength: {level}","contextMenu.empty":"No actions available","tree.empty":"No nodes","confirm.title":"Confirm","confirm.confirm":"OK","confirm.cancel":"Cancel","upload.dropText":"Drop files here, or click to select","upload.dropHint":"Multiple files supported","upload.select":"Select files","upload.count":"{count} files added","upload.clear":"Remove all","upload.empty":"No files selected","upload.uploading":"Uploading {percent}%","upload.done":"Uploaded","upload.ready":"Pending","upload.failed":"Upload failed","upload.retry":"Retry","upload.start":"Upload","upload.remove":"Remove","upload.limitHint":"Up to {count} files","upload.sizeHint":"Max {size} each","select.placeholder":"Please select","select.empty":"No matches","select.clear":"Clear","orgPicker.placeholder":"Select people","orgPicker.title":"Select people","orgPicker.search":"Search name or title","orgPicker.deptTree":"Departments","orgPicker.allStaff":"All people","orgPicker.expand":"Expand or collapse department","orgPicker.selected":"{count} selected","orgPicker.clearSelected":"Clear","orgPicker.clear":"Clear","orgPicker.empty":"No matching people","queryFilter.search":"Search","queryFilter.reset":"Reset","queryFilter.expand":"More","queryFilter.collapse":"Less","mediaPicker.select":"Choose asset","mediaPicker.title":"Media library","mediaPicker.search":"Search assets","mediaPicker.empty":"No matching assets","mediaPicker.total":"{total} assets","mediaPicker.limit":"up to {limit}","image.preview":"Preview image","image.close":"Close preview","image.dialog":"Image preview","image.failed":"Failed to load image","tour.label":"Guided tour","tour.close":"Close tour","tour.prev":"Previous","tour.next":"Next","tour.finish":"Done","richEditor.aria":"Rich text editor","richEditor.placeholder":"Type something\u2026","richEditor.bold":"Bold","richEditor.italic":"Italic","richEditor.underline":"Underline","richEditor.strike":"Strikethrough","richEditor.paragraph":"Paragraph","richEditor.bulletList":"Bullet list","richEditor.numberList":"Numbered list","richEditor.link":"Insert link","richEditor.linkPrompt":"Enter link URL","richEditor.clearFormat":"Clear","richEditor.undo":"Undo","richEditor.redo":"Redo","richEditor.source":"Source","richEditor.visual":"Visual","richEditor.toolbar":"Formatting toolbar","richEditor.block":"Paragraph style","richEditor.heading1":"Heading 1","richEditor.heading2":"Heading 2","richEditor.heading3":"Heading 3","richEditor.quote":"Quote","richEditor.codeBlock":"Code block","richEditor.fontSize":"Font size","richEditor.defaultSize":"Default","richEditor.inlineCode":"Inline code","richEditor.textColor":"Text color","richEditor.bgColor":"Background color","richEditor.alignLeft":"Align left","richEditor.alignCenter":"Align center","richEditor.alignRight":"Align right","richEditor.alignJustify":"Justify","richEditor.outdent":"Decrease indent","richEditor.indent":"Increase indent","richEditor.unlink":"Remove link","richEditor.image":"Insert image","richEditor.singleImage":"Insert single image","richEditor.multiImage":"Insert multiple images","richEditor.mediaLibrary":"Choose from media library","richEditor.hr":"Divider","richEditor.fullscreen":"Fullscreen","richEditor.exitFullscreen":"Exit fullscreen","richEditor.wordCount":"{count} characters","richEditor.uploading":"Uploading {count} image(s)\u2026","richEditor.uploadFailed":"Image upload failed","richEditor.imageTypeError":"Only image files are allowed","richEditor.imageSizeError":"Image must be smaller than {size}MB","richEditor.imageUrlInvalid":"Invalid image URL, insertion rejected","richEditor.linkInvalid":"Only http(s), mailto, tel or relative URLs are allowed","approval.start":"Started","approval.cc":"CC","approval.approved":"Approved","approval.rejected":"Rejected","approval.pending":"In review","approval.waiting":"Waiting","approval.empty":"No approval records","kanban.board":"Kanban board","kanban.empty":"No cards","kanban.addCard":"Add card","attachment.empty":"No attachments","attachment.preview":"Preview","attachment.download":"Download","attachment.remove":"Remove","notification.unread":"{count} unread","notification.readAll":"Mark all read","notification.clear":"Clear all","notification.clearConfirm":"Confirm clear","notification.empty":"No notifications","dateTimePicker.placeholder":"Select date and time","dateTimePicker.now":"Now","dateTimePicker.clear":"Clear","dateTimePicker.prevMonth":"Previous month","dateTimePicker.nextMonth":"Next month","virtualList.empty":"No data","batchBar.selected":"{count} selected","batchBar.selectAll":"Select all {total}","batchBar.clear":"Clear selection","importWizard.stepFile":"Choose file","importWizard.stepMapping":"Map fields","importWizard.stepResult":"Result","importWizard.pick":"Choose a file","importWizard.dragTip":"Drop a file here or click to choose ({accept})","importWizard.acceptError":"Only {accept} files are allowed","importWizard.sizeError":"File must be under {size} MB","importWizard.reselect":"Choose another","importWizard.sourcePlaceholder":"Select a source column","importWizard.missingRequired":"Required fields not mapped: {fields}","importWizard.prev":"Back","importWizard.submit":"Start import","importWizard.importing":"Importing\u2026","importWizard.statTotal":"Total","importWizard.statSuccess":"Succeeded","importWizard.statFailed":"Failed","importWizard.rowNo":"Row {row}","importWizard.retry":"Back to edit","importWizard.restart":"Import again","diff.before":"Before","diff.after":"After","diff.same":"No changes","diff.expand":"Show {count} unchanged lines","treeTable.empty":"No data","treeTable.loading":"Loading\u2026","treeTable.selectAll":"Select all","treeTable.expand":"Expand","treeTable.collapse":"Collapse","schedule.title":"Schedule","schedule.weekdays":"Mon,Tue,Wed,Thu,Fri,Sat,Sun","schedule.prevWeek":"Previous week","schedule.nextWeek":"Next week","schedule.today":"This week","comment.placeholder":"Write a comment\u2026","comment.replyPlaceholder":"Reply to {name}","comment.replyingTo":"Replying to {name}","comment.cancelReply":"Cancel reply","comment.submit":"Post","comment.submitting":"Posting\u2026","comment.reply":"Reply","comment.remove":"Delete","comment.empty":"No comments yet","signature.label":"Signature","signature.hint":"Sign here","signature.clear":"Clear","print.button":"Print","gantt.task":"Task","gantt.empty":"No tasks","fieldList.add":"Add row","fieldList.remove":"Remove row","fieldList.empty":"No rows","fieldList.select":"Select","fieldList.required":"{label} is required","chat.label":"Messages","chat.placeholder":"Type a message, Enter to send","chat.send":"Send","chat.sending":"Sending\u2026","chat.failed":"Failed","chat.empty":"No messages","chat.image":"Image message","chat.me":"Me","orgChart.empty":"No organization data","orgChart.toggle":"Expand or collapse","pageTabs.label":"Page tabs","pageTabs.close":"Close"};var ut=(0,on.reactive)({code:"zh-CN",messages:{"zh-CN":Pt,"en-US":ln}});function mt(e){ut.messages[e]&&(ut.code=e)}function rn(){return ut.code}function C(e,t){let a=ut.messages[ut.code]||Pt,i=e in a?a[e]:e in Pt?Pt[e]:e;return t&&Object.keys(t).forEach(n=>{i=i.split("{"+n+"}").join(t[n])}),i}var oe={position:"fixed",left:"0px",top:"0px",visibility:"hidden"};function ie({root:e,panel:t,onClose:a,onReposition:i,esc:n=!0}){let l=s=>typeof s=="function"?s():s;function r(s){let d=l(e),p=l(t);d&&d.contains(s.target)||p&&p.contains(s.target)||a()}function o(s){s.key==="Escape"&&a()}return document.addEventListener("mousedown",r,!0),n&&document.addEventListener("keydown",o),i&&(window.addEventListener("resize",i),window.addEventListener("scroll",i,!0)),function(){document.removeEventListener("mousedown",r,!0),n&&document.removeEventListener("keydown",o),i&&(window.removeEventListener("resize",i),window.removeEventListener("scroll",i,!0))}}function je(e,t){return window.innerHeight-e.bottom<t+8&&e.top>t}function xe({rect:e,flip:t,gap:a=4,width:i,clampWidth:n,maxHeight:l}){let r={position:"fixed",visibility:"visible"},o=e.left;return n!=null&&(o=Math.max(8,Math.min(e.left,window.innerWidth-n-8))),r.left=o+"px",i!=null&&(r.width=i+"px"),t?(r.bottom=window.innerHeight-e.top+a+"px",r.top="auto"):(r.top=e.bottom+a+"px",r.bottom="auto"),l!=null&&(r.maxHeight=l+"px"),r}var dl=0,Qe={name:"DjmSelect",components:{DjmIcon:z},props:{modelValue:{type:[String,Number,Boolean,Array],default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},maxTagCount:{type:Number,default:0},emptyText:{type:String,default:""},virtual:{type:Boolean,default:!1},optionHeight:{type:Number,default:30},overscan:{type:Number,default:5}},emits:["update:modelValue","change","clear","visible-change","focus","blur"],setup(e,{emit:t}){let a="djm-select-"+ ++dl,i=(0,X.ref)(null),n=(0,X.ref)(null),l=(0,X.ref)(null),r=(0,X.ref)(!1),o=(0,X.ref)(""),s=(0,X.ref)(-1),d=(0,X.ref)({}),p=(0,X.ref)(0),c=(0,X.ref)(0),h=null;function v(V){return V&&typeof V=="object"?{label:V.label,value:V.value,disabled:!!V.disabled}:{label:V,value:V,disabled:!1}}let u=(0,X.computed)(()=>e.options.some(V=>V&&typeof V=="object"&&Array.isArray(V.options))),g=(0,X.computed)(()=>{let V=[];return e.options.forEach(q=>{q&&typeof q=="object"&&Array.isArray(q.options)?q.options.forEach(M=>V.push(v(M))):V.push(v(q))}),V}),y=(0,X.computed)(()=>{let V=o.value.trim().toLowerCase();return V?g.value.filter(q=>String(q.label).toLowerCase().includes(V)):g.value}),j=(0,X.computed)(()=>{let V=o.value.trim().toLowerCase(),q=F=>!V||String(F.label).toLowerCase().includes(V),M=[],R=0;return e.options.forEach(F=>{if(F&&typeof F=="object"&&Array.isArray(F.options)){let J=[];F.options.forEach(Z=>{let ee=v(Z);q(ee)&&J.push({option:ee,index:R++})}),J.length&&M.push({label:F.label,items:J})}else{let J=v(F);q(J)&&M.push({label:null,items:[{option:J,index:R++}]})}}),M}),w=(0,X.computed)(()=>e.multiple?Array.isArray(e.modelValue)?e.modelValue:[]:e.modelValue===""||e.modelValue===null||e.modelValue===void 0?[]:[e.modelValue]),b=(0,X.computed)(()=>w.value.length>0),m=(0,X.computed)(()=>w.value.map(V=>g.value.find(q=>q.value===V)||{label:String(V),value:V})),f=(0,X.computed)(()=>!e.maxTagCount||e.maxTagCount<=0?m.value:m.value.slice(0,e.maxTagCount)),E=(0,X.computed)(()=>Math.max(0,m.value.length-f.value.length)),D=(0,X.computed)(()=>m.value.length?e.multiple?m.value.map(V=>V.label).join("\u3001"):m.value[0].label:""),k=(0,X.computed)(()=>e.placeholder||C("select.placeholder")),B=(0,X.computed)(()=>e.emptyText||C("select.empty")),S=(0,X.computed)(()=>e.virtual&&!u.value&&y.value.length>0),T=(0,X.computed)(()=>Math.max(16,e.optionHeight)),L=(0,X.computed)(()=>{let V=y.value;if(!S.value)return V.map((J,Z)=>({option:J,index:Z}));let q=T.value,M=c.value||220,R=Math.max(0,Math.floor(p.value/q)-e.overscan),F=Math.min(V.length,Math.ceil((p.value+M)/q)+e.overscan);return V.slice(R,F).map((J,Z)=>({option:J,index:R+Z}))}),A=(0,X.computed)(()=>!S.value||!L.value.length?0:L.value[0].index*T.value),O=(0,X.computed)(()=>{if(!S.value||!L.value.length)return 0;let V=L.value[L.value.length-1].index;return Math.max(0,(y.value.length-V-1)*T.value)});function $(V){if(!S.value)return;let q=V.target;p.value=q.scrollTop,c.value=q.clientHeight}let Q=(0,X.computed)(()=>{if(!(!r.value||s.value<0))return a+"-opt-"+s.value});function te(V){return w.value.includes(V.value)}function H(){let V=y.value;if(!V.length)return-1;let q=V.findIndex(M=>te(M)&&!M.disabled);return q!==-1?q:V.findIndex(M=>!M.disabled)}function U(){e.disabled||r.value||(r.value=!0,s.value=H(),t("visible-change",!0),h=ie({root:()=>i.value,panel:()=>n.value,onClose:()=>Y(),onReposition:le,esc:!1}),(0,X.nextTick)(()=>{e.filterable&&l.value&&l.value.focus(),le(),n.value&&(n.value.scrollTop=0,c.value=n.value.clientHeight,p.value=0),x()}))}function Y(V=!0){r.value&&(r.value=!1,V&&(o.value=""),d.value={},h&&(h(),h=null),t("visible-change",!1))}function le(){if(!r.value||!i.value)return;let V=i.value.getBoundingClientRect(),q=n.value?n.value.offsetHeight:220,M=window.innerHeight-V.bottom-8,R=M<Math.min(q,160)&&V.top>M,F=Math.max(120,R?V.top-12:M);d.value={position:"fixed",left:V.left+"px",width:V.width+"px",top:R?"auto":V.bottom+4+"px",bottom:R?window.innerHeight-V.top+4+"px":"auto",maxHeight:Math.min(220,F)+"px"}}function ae(){e.disabled||(r.value?Y():U())}function de(V){e.disabled||V.target.closest(".djm-select-clear")||V.target.closest(".djm-select-tag-close")||e.filterable&&r.value&&V.target.tagName==="INPUT"||(e.filterable||V.preventDefault(),ae())}function P(V){t("update:modelValue",V),t("change",V)}function K(V){if(!(!V||V.disabled))if(e.multiple){let q=w.value.slice(),M=q.indexOf(V.value);M===-1?q.push(V.value):q.splice(M,1),P(q),(0,X.nextTick)(x)}else P(V.value),Y(),e.filterable&&l.value&&l.value.blur()}function _(V){e.disabled||P(w.value.filter(q=>q!==V))}function ue(){e.disabled||(P(e.multiple?[]:""),t("clear"),Y())}function x(){if(!n.value||s.value<0)return;if(S.value){let R=T.value,F=s.value*R,J=n.value.clientHeight;F<n.value.scrollTop?n.value.scrollTop=F:F+R>n.value.scrollTop+J&&(n.value.scrollTop=F+R-J),p.value=n.value.scrollTop;return}let V=n.value.querySelector('[data-index="'+s.value+'"]');if(!V)return;let q=V.offsetTop,M=q+V.offsetHeight;q<n.value.scrollTop?n.value.scrollTop=q:M>n.value.scrollTop+n.value.clientHeight&&(n.value.scrollTop=M-n.value.clientHeight)}function I(V){let q=y.value;if(!q.length||e.disabled)return;if(!r.value){U();return}let M=s.value;for(let R=0;R<q.length&&(M=(M+V+q.length)%q.length,!!q[M].disabled);R++);s.value=M,(0,X.nextTick)(x)}function N(V){o.value=V.target.value,r.value||U(),n.value&&(n.value.scrollTop=0,p.value=0),s.value=H(),(0,X.nextTick)(x)}function W(V){if(!e.disabled)switch(V.key){case"ArrowDown":V.preventDefault(),I(1);break;case"ArrowUp":V.preventDefault(),I(-1);break;case"Enter":V.preventDefault(),r.value?K(y.value[s.value]):U();break;case"Escape":r.value&&(V.preventDefault(),Y());break;case"Tab":Y();break;case"Backspace":e.multiple&&e.filterable&&!o.value&&w.value.length&&(V.preventDefault(),_(w.value[w.value.length-1]));break;default:break}}function G(V){if(e.disabled)return;let q=V.relatedTarget;q&&i.value&&i.value.contains(q)||q&&n.value&&n.value.contains(q)||t("focus",V)}function me(V){let q=V.relatedTarget;q&&i.value&&i.value.contains(q)||q&&n.value&&n.value.contains(q)||t("blur",V)}return(0,X.watch)(()=>e.modelValue,()=>{r.value||(s.value=-1)}),(0,X.onBeforeUnmount)(()=>{h&&(h(),h=null)}),{instanceId:a,root:i,panel:n,panelStyle:d,searchRef:l,open:r,query:o,activeIndex:s,isGrouped:u,visibleOptions:y,visibleGroups:j,virtualEnabled:S,renderedOptions:L,optionPadTop:A,optionPadBottom:O,onPanelScroll:$,selectedOptions:m,visibleTags:f,restTagCount:E,displayText:D,placeholderText:k,emptyLabel:B,activeDescendant:Q,hasValue:b,isSelected:te,toggle:ae,openPanel:U,closePanel:Y,onTriggerMousedown:de,selectOption:K,removeTag:_,clear:ue,onInput:N,onKeydown:W,onFocusIn:G,onFocusOut:me,t:C}},template:`
85
85
  <div
86
86
  ref="root"
87
87
  class="djm-select djm-select-custom"
@@ -234,7 +234,7 @@ Minimum version required to store current data is: `+I+`.
234
234
  </div>
235
235
  </Teleport>
236
236
  </div>
237
- `};var Lt={name:"DjmCheckbox",props:{modelValue:{type:[Boolean,Array],default:!1},value:{type:[String,Number,Boolean],default:void 0},label:{type:String,default:""},disabled:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},direction:{type:String,default:"horizontal"},min:{type:Number,default:0},max:{type:Number,default:0}},emits:["update:modelValue","change","exceed"],computed:{isGroup(){return Array.isArray(this.modelValue)},current(){return this.isGroup?this.modelValue:[]},checked(){return this.isGroup?this.modelValue.includes(this.value):this.modelValue},normalizedOptions(){return this.options.map(e=>e&&typeof e=="object"?{label:e.label,value:e.value,disabled:!!e.disabled}:{label:e,value:e,disabled:!1})}},methods:{update(e){this.$emit("update:modelValue",e),this.$emit("change",e)},onChange(e){if(this.isGroup){let t=e.target.checked?[...this.modelValue,this.value]:this.modelValue.filter(a=>a!==this.value);this.update(t)}else this.update(e.target.checked)},isChecked(e){return this.current.includes(e)},toggleOption(e,t){let a=t.target.checked?[...this.current,e.value]:this.current.filter(n=>n!==e.value);if(t.target.checked&&this.max>0&&a.length>this.max){t.target.checked=!1,this.$emit("exceed",{type:"max",max:this.max,value:e.value});return}if(!t.target.checked&&this.min>0&&a.length<this.min){t.target.checked=!0,this.$emit("exceed",{type:"min",min:this.min,value:e.value});return}this.update(a)}},template:`
237
+ `};var Bt={name:"DjmCheckbox",props:{modelValue:{type:[Boolean,Array],default:!1},value:{type:[String,Number,Boolean],default:void 0},label:{type:String,default:""},disabled:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},direction:{type:String,default:"horizontal"},min:{type:Number,default:0},max:{type:Number,default:0}},emits:["update:modelValue","change","exceed"],computed:{isGroup(){return Array.isArray(this.modelValue)},current(){return this.isGroup?this.modelValue:[]},checked(){return this.isGroup?this.modelValue.includes(this.value):this.modelValue},normalizedOptions(){return this.options.map(e=>e&&typeof e=="object"?{label:e.label,value:e.value,disabled:!!e.disabled}:{label:e,value:e,disabled:!1})}},methods:{update(e){this.$emit("update:modelValue",e),this.$emit("change",e)},onChange(e){if(this.isGroup){let t=e.target.checked?[...this.modelValue,this.value]:this.modelValue.filter(a=>a!==this.value);this.update(t)}else this.update(e.target.checked)},isChecked(e){return this.current.includes(e)},toggleOption(e,t){let a=t.target.checked?[...this.current,e.value]:this.current.filter(i=>i!==e.value);if(t.target.checked&&this.max>0&&a.length>this.max){t.target.checked=!1,this.$emit("exceed",{type:"max",max:this.max,value:e.value});return}if(!t.target.checked&&this.min>0&&a.length<this.min){t.target.checked=!0,this.$emit("exceed",{type:"min",min:this.min,value:e.value});return}this.update(a)}},template:`
238
238
  <div v-if="options.length" class="djm-check-group" :class="'djm-is-' + direction" role="group">
239
239
  <label
240
240
  v-for="option in normalizedOptions"
@@ -261,7 +261,7 @@ Minimum version required to store current data is: `+I+`.
261
261
  />
262
262
  <span><slot>{{ label }}</slot></span>
263
263
  </label>
264
- `};var ii=0,At={name:"DjmRadio",props:{modelValue:{type:[String,Number,Boolean],default:""},value:{type:[String,Number,Boolean],default:void 0},label:{type:String,default:""},disabled:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},direction:{type:String,default:"horizontal"},name:{type:String,default:""}},emits:["update:modelValue","change"],data(){return ii+=1,{radioUid:ii}},computed:{groupName(){return this.name||"djm-radio-"+this.radioUid},normalizedOptions(){return this.options.map(e=>e&&typeof e=="object"?{label:e.label,value:e.value,disabled:!!e.disabled}:{label:e,value:e,disabled:!1})}},methods:{select(e,t){this.$emit("update:modelValue",e),this.$emit("change",t)},onChange(e){this.select(this.value,e)}},template:`
264
+ `};var sn=0,Nt={name:"DjmRadio",props:{modelValue:{type:[String,Number,Boolean],default:""},value:{type:[String,Number,Boolean],default:void 0},label:{type:String,default:""},disabled:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},direction:{type:String,default:"horizontal"},name:{type:String,default:""}},emits:["update:modelValue","change"],data(){return sn+=1,{radioUid:sn}},computed:{groupName(){return this.name||"djm-radio-"+this.radioUid},normalizedOptions(){return this.options.map(e=>e&&typeof e=="object"?{label:e.label,value:e.value,disabled:!!e.disabled}:{label:e,value:e,disabled:!1})}},methods:{select(e,t){this.$emit("update:modelValue",e),this.$emit("change",t)},onChange(e){this.select(this.value,e)}},template:`
265
265
  <div v-if="options.length" class="djm-radio-group" :class="'djm-is-' + direction" role="radiogroup">
266
266
  <label
267
267
  v-for="option in normalizedOptions"
@@ -292,7 +292,7 @@ Minimum version required to store current data is: `+I+`.
292
292
  />
293
293
  <span><slot>{{ label }}</slot></span>
294
294
  </label>
295
- `};var ct={name:"DjmSwitch",props:{modelValue:{type:Boolean,default:!1},label:{type:String,default:""},ariaLabel:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],methods:{onChange(e){this.$emit("update:modelValue",e.target.checked),this.$emit("change",e)}},computed:{hasLabel(){return!!this.label||!!this.$slots.default}},template:`
295
+ `};var ft={name:"DjmSwitch",props:{modelValue:{type:Boolean,default:!1},label:{type:String,default:""},ariaLabel:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],methods:{onChange(e){this.$emit("update:modelValue",e.target.checked),this.$emit("change",e)}},computed:{hasLabel(){return!!this.label||!!this.$slots.default}},template:`
296
296
  <label class="djm-switch" :class="{ 'djm-is-disabled': disabled }">
297
297
  <input
298
298
  type="checkbox"
@@ -304,26 +304,26 @@ Minimum version required to store current data is: `+I+`.
304
304
  <span class="djm-switch-track"><i></i></span>
305
305
  <em v-if="hasLabel"><slot>{{ label }}</slot></em>
306
306
  </label>
307
- `};var ut=require("vue"),Pt={name:"DjmForm",props:{model:{type:Object,default:()=>({})},rules:{type:Object,default:()=>({})},labelWidth:{type:[String,Number],default:""},inline:{type:Boolean,default:!1}},emits:["submit"],setup(e,{emit:t}){let a=(0,ut.reactive)({}),n=new Map,i={};function l(){try{i=JSON.parse(JSON.stringify(e.model||{}))}catch{i={...e.model}}}l();function o(m,h){m&&n.set(m,h)}function r(m){n.delete(m)}async function s(m){let h=n.get(m),b=h?await h():"";return b?a[m]=b:delete a[m],!b}async function d(){let m=[...n.keys()];return(await Promise.all(m.map(b=>s(b)))).every(Boolean)}function f(m){(m?[].concat(m):[...n.keys()]).forEach(b=>{delete a[b]})}function c(){Object.keys(e.model||{}).forEach(m=>{m in i||delete e.model[m]}),Object.keys(i).forEach(m=>{let h=i[m];e.model[m]=h&&typeof h=="object"?JSON.parse(JSON.stringify(h)):h}),f()}function p(){l()}async function g(m){let h=await d();t("submit",m,h)}return(0,ut.provide)("djmForm",{get model(){return e.model},get rules(){return e.rules},get horizontal(){return!!e.labelWidth||e.inline},errors:a,register:o,unregister:r}),{onSubmit:g,validate:d,validateField:s,clearValidate:f,resetFields:c,setInitial:p,errors:a,formClass:(0,ut.computed)(()=>({"djm-is-inline":e.inline,"djm-is-horizontal":!!e.labelWidth})),formStyle:(0,ut.computed)(()=>{let m=e.labelWidth;return m?{"--djm-form-label-width":typeof m=="number"||/^\d+(\.\d+)?$/.test(m)?m+"px":m}:{}})}},template:`
307
+ `};var pt=require("vue"),Rt={name:"DjmForm",props:{model:{type:Object,default:()=>({})},rules:{type:Object,default:()=>({})},labelWidth:{type:[String,Number],default:""},inline:{type:Boolean,default:!1}},emits:["submit"],setup(e,{emit:t}){let a=(0,pt.reactive)({}),i=new Map,n={};function l(){try{n=JSON.parse(JSON.stringify(e.model||{}))}catch{n={...e.model}}}l();function r(u,g){u&&i.set(u,g)}function o(u){i.delete(u)}async function s(u){let g=i.get(u),y=g?await g():"";return y?a[u]=y:delete a[u],!y}async function d(){let u=[...i.keys()];return(await Promise.all(u.map(y=>s(y)))).every(Boolean)}function p(u){(u?[].concat(u):[...i.keys()]).forEach(y=>{delete a[y]})}function c(){Object.keys(e.model||{}).forEach(u=>{u in n||delete e.model[u]}),Object.keys(n).forEach(u=>{let g=n[u];e.model[u]=g&&typeof g=="object"?JSON.parse(JSON.stringify(g)):g}),p()}function h(){l()}async function v(u){let g=await d();t("submit",u,g)}return(0,pt.provide)("djmForm",{get model(){return e.model},get rules(){return e.rules},get horizontal(){return!!e.labelWidth||e.inline},errors:a,register:r,unregister:o}),{onSubmit:v,validate:d,validateField:s,clearValidate:p,resetFields:c,setInitial:h,errors:a,formClass:(0,pt.computed)(()=>({"djm-is-inline":e.inline,"djm-is-horizontal":!!e.labelWidth})),formStyle:(0,pt.computed)(()=>{let u=e.labelWidth;return u?{"--djm-form-label-width":typeof u=="number"||/^\d+(\.\d+)?$/.test(u)?u+"px":u}:{}})}},template:`
308
308
  <form class="djm-form-grid" :class="formClass" :style="formStyle" @submit.prevent="onSubmit">
309
309
  <slot></slot>
310
310
  </form>
311
- `};var at=require("vue"),zt={name:"DjmFormItem",props:{label:{type:String,default:""},prop:{type:String,default:""},required:{type:Boolean,default:!1},error:{type:String,default:""},hint:{type:String,default:""},full:{type:Boolean,default:!1},tag:{type:String,default:"label"}},setup(e){let t=(0,at.inject)("djmForm",null);async function a(){if(!t||!e.prop)return"";let i=t.rules&&t.rules[e.prop]||[],l=t.model?t.model[e.prop]:void 0,o=l==null?"":String(l);for(let r of i){if(r.required&&o.trim()==="")return r.message||`${e.label||e.prop} \u4E3A\u5FC5\u586B\u9879`;if(r.pattern&&o!==""&&!r.pattern.test(o))return r.message||"\u683C\u5F0F\u4E0D\u6B63\u786E";if(typeof r.validator=="function"){let s=await r.validator(l,t.model);if(s===!1)return r.message||"\u6821\u9A8C\u672A\u901A\u8FC7";if(typeof s=="string"&&s)return s}}return""}return(0,at.onMounted)(()=>{t&&e.prop&&t.register(e.prop,a)}),(0,at.onBeforeUnmount)(()=>{t&&e.prop&&t.unregister(e.prop)}),{errorText:(0,at.computed)(()=>e.error?e.error:t&&e.prop&&t.errors[e.prop]||"")}},template:`
311
+ `};var lt=require("vue"),Vt={name:"DjmFormItem",props:{label:{type:String,default:""},prop:{type:String,default:""},required:{type:Boolean,default:!1},error:{type:String,default:""},hint:{type:String,default:""},full:{type:Boolean,default:!1},tag:{type:String,default:"label"}},setup(e){let t=(0,lt.inject)("djmForm",null);async function a(){if(!t||!e.prop)return"";let n=t.rules&&t.rules[e.prop]||[],l=t.model?t.model[e.prop]:void 0,r=l==null?"":String(l);for(let o of n){if(o.required&&r.trim()==="")return o.message||`${e.label||e.prop} \u4E3A\u5FC5\u586B\u9879`;if(o.pattern&&r!==""&&!o.pattern.test(r))return o.message||"\u683C\u5F0F\u4E0D\u6B63\u786E";if(typeof o.validator=="function"){let s=await o.validator(l,t.model);if(s===!1)return o.message||"\u6821\u9A8C\u672A\u901A\u8FC7";if(typeof s=="string"&&s)return s}}return""}return(0,lt.onMounted)(()=>{t&&e.prop&&t.register(e.prop,a)}),(0,lt.onBeforeUnmount)(()=>{t&&e.prop&&t.unregister(e.prop)}),{errorText:(0,lt.computed)(()=>e.error?e.error:t&&e.prop&&t.errors[e.prop]||"")}},template:`
312
312
  <component :is="tag" class="djm-form-item" :class="{ 'djm-full': full, 'djm-has-label': !!label }">
313
313
  <span v-if="label" class="djm-form-label">{{ label }} <i v-if="required">*</i></span>
314
314
  <slot></slot>
315
315
  <em v-if="errorText" class="djm-form-error" role="alert">{{ errorText }}</em>
316
316
  <span v-else-if="hint" class="djm-form-hint">{{ hint }}</span>
317
317
  </component>
318
- `};var Bt={name:"DjmEmpty",components:{DjmIcon:L},props:{icon:{type:String,default:"clipboard"},title:{type:String,default:""},description:{type:String,default:""}},computed:{label(){return this.title||C("empty.title")}},template:`
318
+ `};var Ht={name:"DjmEmpty",components:{DjmIcon:z},props:{icon:{type:String,default:"clipboard"},title:{type:String,default:""},description:{type:String,default:""}},computed:{label(){return this.title||C("empty.title")}},template:`
319
319
  <div class="djm-empty">
320
320
  <span class="djm-empty-icon"><DjmIcon :name="icon" :size="22" /></span>
321
321
  <strong>{{ label }}</strong>
322
322
  <span v-if="description">{{ description }}</span>
323
323
  <slot></slot>
324
324
  </div>
325
- `};function St(e){return Array.isArray(e.children)&&e.children.length>0}function li(e){return St(e)?e.children.reduce((t,a)=>t+li(a),0):1}var Nt={name:"DjmTable",components:{DjmEmpty:Bt,DjmIcon:L},props:{columns:{type:Array,required:!0},rows:{type:Array,default:()=>[]},rowKey:{type:String,default:"id"},selected:{type:Array,default:()=>[]},selectable:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!1},indexOffset:{type:Number,default:0},loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},striped:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},emptyText:{type:String,default:""},emptyHint:{type:String,default:""},emptyIcon:{type:String,default:"clipboard"},sortKey:{type:String,default:""},sortDir:{type:String,default:""},expandable:{type:[Boolean,Function],default:!1},expanded:{type:Array,default:()=>[]},rowClass:{type:[String,Function],default:""},maxHeight:{type:[Number,String],default:""},columnSetting:{type:Boolean,default:!1},exportable:{type:Boolean,default:!1},exportName:{type:String,default:"export"},resizable:{type:Boolean,default:!1},minColumnWidth:{type:Number,default:60},minWidth:{type:[Number,String],default:""},rowDraggable:{type:Boolean,default:!1},allowRowDrag:{type:Function,default:null},virtual:{type:Boolean,default:!1},rowHeight:{type:Number,default:44},overscan:{type:Number,default:6}},emits:["update:selected","row-click","row-dblclick","update:sortKey","update:sortDir","sort-change","update:expanded","export","column-resize","column-resize-end","row-drop"],data(){return{hiddenColumns:[],settingOpen:!1,colWidths:{},resizeState:null,rowDragState:null,rowDropState:null,scrollTop:0,viewportHeight:0}},computed:{leafColumns(){let e=[],t=(a,n)=>{a.forEach(i=>{if(St(i)){t(i.children,i);return}e.push(n?{...i,groupKey:n.key,groupLabel:n.label}:i)})};return t(this.columns,null),e},visibleColumns(){return this.leafColumns.filter(e=>!this.hiddenColumns.includes(e.key))},headerTree(){let e=t=>t.map(a=>St(a)?{...a,children:e(a.children)}:{...a}).filter(a=>St(a)?a.children.length>0:!this.hiddenColumns.includes(a.key));return e(this.columns)},headerRows(){let e=[],t=i=>St(i)?1+Math.max(...i.children.map(t)):1,a=this.headerTree.reduce((i,l)=>Math.max(i,t(l)),1),n=(i,l)=>{e[l]||(e[l]=[]),i.forEach(o=>{St(o)?(e[l].push({node:o,colspan:li(o),rowspan:1,group:!0}),n(o.children,l+1)):e[l].push({node:o,colspan:1,rowspan:a-l,group:!1})})};return n(this.headerTree,0),e},colSpan(){return this.visibleColumns.length+(this.selectable?1:0)+(this.showIndex?1:0)+(this.expandable?1:0)+(this.rowDraggable?1:0)},hasFixed(){return this.visibleColumns.some(e=>e.fixed==="left"||e.fixed==="right")},prependOffsets(){if(!this.hasFixed)return null;let e={drag:null,expand:null,select:null,index:null,base:0},t=0;return this.rowDraggable&&(e.drag=t,t+=36),this.expandable&&(e.expand=t,t+=38),this.selectable&&(e.select=t,t+=42),this.showIndex&&(e.index=t,t+=52),e.base=t,e},stickyMap(){if(!this.hasFixed)return{};let e=this.visibleColumns,t={},a=this.prependOffsets?this.prependOffsets.base:0;e.forEach(o=>{o.fixed==="left"&&(t[o.key]={side:"left",offset:a,edge:!1},a+=this.columnWidth(o))});let n=0;for(let o=e.length-1;o>=0;o--){let r=e[o];r.fixed==="right"&&(t[r.key]={side:"right",offset:n,edge:!1},n+=this.columnWidth(r))}let i=e.filter(o=>o.fixed==="left").map(o=>o.key),l=e.filter(o=>o.fixed==="right").map(o=>o.key);return i.length&&(t[i[i.length-1]].edge=!0),l.length&&(t[l[0]].edge=!0),t},scrollStyle(){if(!this.maxHeight)return{};let e=this.maxHeight;return typeof e=="number"||/^\d+(\.\d+)?$/.test(e)?{maxHeight:e+"px"}:{maxHeight:e}},tableStyle(){let e=this.minWidth;return e===""||e===null||e===void 0?{}:typeof e=="number"||/^\d+(\.\d+)?$/.test(e)?{minWidth:e+"px"}:{minWidth:e}},loadingLabel(){return this.loadingText||C("table.loading")},emptyLabel(){return this.emptyText||C("table.empty")},selectAllLabel(){return C("table.selectAll")},selectRowLabel(){return C("table.selectRow")},scrollRegionLabel(){return C("table.scrollRegion")},allChecked(){return this.rows.length>0&&this.rows.every(e=>this.isSelected(e))},someChecked(){return!this.allChecked&&this.rows.some(e=>this.isSelected(e))},displayRows(){if(!this.sortKey||!this.sortDir)return this.rows;let e=this.leafColumns.find(n=>n.key===this.sortKey);if(!e)return this.rows;let t=this.sortDir==="asc"?1:-1,a=this.rows.slice();return typeof e.sorter=="function"?a.sort((n,i)=>e.sorter(n,i)*t):a.sort((n,i)=>{let l=n[this.sortKey],o=i[this.sortKey];return typeof l=="number"&&typeof o=="number"?(l-o)*t:String(l??"").localeCompare(String(o??""),"zh-Hans-CN")*t})},virtualEnabled(){return!!(this.virtual&&this.maxHeight&&!this.expandable)},effectiveRowHeight(){return Math.max(16,this.rowHeight)},visibleRange(){let e=this.displayRows.length;if(!this.virtualEnabled||!e)return{start:0,end:e};let t=this.effectiveRowHeight,a=this.viewportHeight||t*10,n=Math.max(0,Math.floor(this.scrollTop/t)-this.overscan),i=Math.min(e,Math.ceil((this.scrollTop+a)/t)+this.overscan);return{start:n,end:i}},bodyRows(){let{start:e,end:t}=this.visibleRange;return this.displayRows.slice(e,t).map((a,n)=>({row:a,index:e+n}))},topPad(){return this.virtualEnabled?this.visibleRange.start*this.effectiveRowHeight:0},bottomPad(){if(!this.virtualEnabled)return 0;let e=this.displayRows.length;return Math.max(0,(e-this.visibleRange.end)*this.effectiveRowHeight)}},mounted(){document.addEventListener("mousedown",this.onDocumentMousedown,!0),this.measureViewport()},beforeUnmount(){document.removeEventListener("mousedown",this.onDocumentMousedown,!0),document.removeEventListener("mousemove",this.onResizeMove),document.removeEventListener("mouseup",this.onResizeEnd)},methods:{measureViewport(){let e=this.$refs.wrap;!e||!this.virtualEnabled||(this.viewportHeight=e.clientHeight,this.scrollTop=e.scrollTop)},onScroll(e){if(!this.virtualEnabled)return;let t=e.target;this.scrollTop=t.scrollTop,this.viewportHeight=t.clientHeight},toggleColumn(e){if(this.hiddenColumns.includes(e)){this.hiddenColumns=this.hiddenColumns.filter(t=>t!==e);return}this.visibleColumns.length<=1||(this.hiddenColumns=[...this.hiddenColumns,e])},resetColumns(){this.hiddenColumns=[]},onDocumentMousedown(e){!this.$refs.root||this.$refs.root.contains(e.target)||(this.settingOpen=!1)},exportCsv(){let e=this.visibleColumns.filter(i=>i.exportable!==!1);if(!e.length)return;let t=e.map(i=>i.label||i.key),a=this.displayRows.map(i=>e.map(l=>{let o=typeof l.exportValue=="function"?l.exportValue(i):i[l.key];return String(o??"").replace(/"/g,'""')})),n="\uFEFF"+[t,...a].map(i=>i.map(l=>`"${l}"`).join(",")).join(`
326
- `);this.$emit("export",{rows:this.displayRows.slice(),csv:n}),this.downloadCsv(n)},downloadCsv(e){let t=new Date,a=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`,n=URL.createObjectURL(new Blob([e],{type:"text/csv;charset=utf-8"})),i=document.createElement("a");i.href=n,i.download=`${this.exportName}-${a}.csv`,i.click(),URL.revokeObjectURL(n)},isSelected(e){return this.selected.includes(e[this.rowKey])},canExpand(e){return typeof this.expandable=="function"?!!this.expandable(e):!!this.expandable},isExpanded(e){return this.expanded.includes(e[this.rowKey])},toggleExpand(e){let t=e[this.rowKey],a=this.expanded.includes(t)?this.expanded.filter(n=>n!==t):[...this.expanded,t];this.$emit("update:expanded",a)},rowClassOf(e,t){return typeof this.rowClass=="function"?this.rowClass(e,t):this.rowClass},columnWidth(e){let t=this.colWidths[e.key];return typeof t=="number"?t:typeof e.width=="number"?e.width:120},stickyClassOf(e){let t=this.stickyMap[e.key];return t?[t.side==="left"?"djm-sticky-left":"djm-sticky-right",t.edge?"djm-sticky-edge":""]:""},stickyStyleOf(e){let t=this.stickyMap[e.key];return t?t.side==="left"?{left:t.offset+"px"}:{right:t.offset+"px"}:{}},stickyTop(e){return this.headerRows.length<=1?{}:{top:e*(this.compact?32:38)+"px"}},prependClass(e){if(!this.prependOffsets)return"";let t=this.prependOffsets[e];if(t==null)return"";let a=["drag","expand","select","index"].filter(l=>this.prependOffsets[l]!==null),n=a[a.length-1]===e,i=this.visibleColumns.some(l=>l.fixed==="left");return["djm-sticky-left",n&&!i?"djm-sticky-edge":""]},prependStyle(e){if(!this.prependOffsets)return{};let t=this.prependOffsets[e];return t==null?{}:{left:t+"px"}},ariaSort(e){if(e.sortable)return this.sortKey!==e.key?"none":this.sortDir==="asc"?"ascending":"descending"},toggleSort(e){if(!e.sortable)return;let t=e.key,a="asc";this.sortKey===e.key&&this.sortDir==="asc"?a="desc":this.sortKey===e.key&&this.sortDir==="desc"&&(t="",a=""),this.$emit("update:sortKey",t),this.$emit("update:sortDir",a),this.$emit("sort-change",{key:t,dir:a})},toggleAll(e){let t=this.rows.map(a=>a[this.rowKey]);if(e.target.checked){let a=new Set(this.selected);t.forEach(n=>a.add(n)),this.$emit("update:selected",[...a])}else{let a=new Set(t);this.$emit("update:selected",this.selected.filter(n=>!a.has(n)))}},toggleRow(e){let t=e[this.rowKey],a=this.selected.includes(t)?this.selected.filter(n=>n!==t):[...this.selected,t];this.$emit("update:selected",a)},cellStyle(e){let t=this.colWidths[e.key],a="";return typeof t=="number"?a=t+"px":typeof e.width=="number"?a=e.width+"px":e.width&&(a=String(e.width)),{width:a,minWidth:a,maxWidth:e.fixed?a:"",textAlign:e.align||""}},startResize(e,t){if(!this.resizable||t.resizable===!1)return;let a=e.currentTarget.parentNode;this.resizeState={key:t.key,startX:e.clientX,startWidth:a.getBoundingClientRect().width},document.addEventListener("mousemove",this.onResizeMove),document.addEventListener("mouseup",this.onResizeEnd)},onResizeMove(e){let t=this.resizeState;if(!t)return;let a=Math.max(40,this.minColumnWidth),n=Math.round(Math.max(a,t.startWidth+e.clientX-t.startX));this.colWidths={...this.colWidths,[t.key]:n},this.$emit("column-resize",{key:t.key,width:n})},onResizeEnd(){if(!this.resizeState)return;let{key:e}=this.resizeState;this.resizeState=null,document.removeEventListener("mousemove",this.onResizeMove),document.removeEventListener("mouseup",this.onResizeEnd),this.$emit("column-resize-end",{key:e,width:this.colWidths[e]})},resetColumnWidth(e){if(!this.colWidths[e])return;let t={...this.colWidths};delete t[e],this.colWidths=t},canDragRow(e,t){return this.rowDraggable?typeof this.allowRowDrag=="function"?this.allowRowDrag(e,t)!==!1:!0:!1},isRowDragging(e){return!!(this.rowDragState&&this.rowDragState.key===e.row[this.rowKey])},rowDropClassOf(e){let t=this.rowDropState;return!t||t.key!==e.row[this.rowKey]?"":"djm-is-row-drop-"+t.position},onRowDragStart(e,t){if(!this.canDragRow(e.row,e.index)){t.preventDefault();return}this.rowDragState={key:e.row[this.rowKey],index:e.index},t.dataTransfer&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",String(e.index)))},dropPositionOf(e){let t=e.currentTarget.getBoundingClientRect();return(t.height?(e.clientY-t.top)/t.height:.5)<.5?"before":"after"},onRowDragOver(e,t){this.rowDragState&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move"),this.rowDropState={key:e.row[this.rowKey],index:e.index,position:this.dropPositionOf(t)})},onRowDragLeave(e,t){let a=t.currentTarget;a&&t.relatedTarget&&a.contains(t.relatedTarget)||this.rowDropState&&this.rowDropState.key===e.row[this.rowKey]&&(this.rowDropState=null)},onRowDrop(e,t){let a=this.rowDragState;if(!a)return;t.preventDefault();let n=this.rowDropState,i=n&&n.key===e.row[this.rowKey]?n.position:this.dropPositionOf(t);this.resetRowDrag(),!this.isNoopDrop(a.index,e.index,i)&&this.$emit("row-drop",{dragIndex:a.index,dropIndex:e.index,position:i,dragKey:a.key,dropKey:e.row[this.rowKey]})},isNoopDrop(e,t,a){return e===t||a==="after"&&t===e-1||a==="before"&&t===e+1},onRowDragEnd(){this.resetRowDrag()},resetRowDrag(){this.rowDragState=null,this.rowDropState=null}},template:`
325
+ `};function Mt(e){return Array.isArray(e.children)&&e.children.length>0}function dn(e){return Mt(e)?e.children.reduce((t,a)=>t+dn(a),0):1}var Ot={name:"DjmTable",components:{DjmEmpty:Ht,DjmIcon:z},props:{columns:{type:Array,required:!0},rows:{type:Array,default:()=>[]},rowKey:{type:String,default:"id"},selected:{type:Array,default:()=>[]},selectable:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!1},indexOffset:{type:Number,default:0},loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},striped:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},emptyText:{type:String,default:""},emptyHint:{type:String,default:""},emptyIcon:{type:String,default:"clipboard"},sortKey:{type:String,default:""},sortDir:{type:String,default:""},expandable:{type:[Boolean,Function],default:!1},expanded:{type:Array,default:()=>[]},rowClass:{type:[String,Function],default:""},maxHeight:{type:[Number,String],default:""},columnSetting:{type:Boolean,default:!1},exportable:{type:Boolean,default:!1},exportName:{type:String,default:"export"},resizable:{type:Boolean,default:!1},minColumnWidth:{type:Number,default:60},minWidth:{type:[Number,String],default:""},rowDraggable:{type:Boolean,default:!1},allowRowDrag:{type:Function,default:null},virtual:{type:Boolean,default:!1},rowHeight:{type:Number,default:44},overscan:{type:Number,default:6}},emits:["update:selected","row-click","row-dblclick","update:sortKey","update:sortDir","sort-change","update:expanded","export","column-resize","column-resize-end","row-drop"],data(){return{hiddenColumns:[],settingOpen:!1,colWidths:{},resizeState:null,rowDragState:null,rowDropState:null,scrollTop:0,viewportHeight:0}},computed:{leafColumns(){let e=[],t=(a,i)=>{a.forEach(n=>{if(Mt(n)){t(n.children,n);return}e.push(i?{...n,groupKey:i.key,groupLabel:i.label}:n)})};return t(this.columns,null),e},visibleColumns(){return this.leafColumns.filter(e=>!this.hiddenColumns.includes(e.key))},headerTree(){let e=t=>t.map(a=>Mt(a)?{...a,children:e(a.children)}:{...a}).filter(a=>Mt(a)?a.children.length>0:!this.hiddenColumns.includes(a.key));return e(this.columns)},headerRows(){let e=[],t=n=>Mt(n)?1+Math.max(...n.children.map(t)):1,a=this.headerTree.reduce((n,l)=>Math.max(n,t(l)),1),i=(n,l)=>{e[l]||(e[l]=[]),n.forEach(r=>{Mt(r)?(e[l].push({node:r,colspan:dn(r),rowspan:1,group:!0}),i(r.children,l+1)):e[l].push({node:r,colspan:1,rowspan:a-l,group:!1})})};return i(this.headerTree,0),e},colSpan(){return this.visibleColumns.length+(this.selectable?1:0)+(this.showIndex?1:0)+(this.expandable?1:0)+(this.rowDraggable?1:0)},hasFixed(){return this.visibleColumns.some(e=>e.fixed==="left"||e.fixed==="right")},prependOffsets(){if(!this.hasFixed)return null;let e={drag:null,expand:null,select:null,index:null,base:0},t=0;return this.rowDraggable&&(e.drag=t,t+=36),this.expandable&&(e.expand=t,t+=38),this.selectable&&(e.select=t,t+=42),this.showIndex&&(e.index=t,t+=52),e.base=t,e},stickyMap(){if(!this.hasFixed)return{};let e=this.visibleColumns,t={},a=this.prependOffsets?this.prependOffsets.base:0;e.forEach(r=>{r.fixed==="left"&&(t[r.key]={side:"left",offset:a,edge:!1},a+=this.columnWidth(r))});let i=0;for(let r=e.length-1;r>=0;r--){let o=e[r];o.fixed==="right"&&(t[o.key]={side:"right",offset:i,edge:!1},i+=this.columnWidth(o))}let n=e.filter(r=>r.fixed==="left").map(r=>r.key),l=e.filter(r=>r.fixed==="right").map(r=>r.key);return n.length&&(t[n[n.length-1]].edge=!0),l.length&&(t[l[0]].edge=!0),t},scrollStyle(){if(!this.maxHeight)return{};let e=this.maxHeight;return typeof e=="number"||/^\d+(\.\d+)?$/.test(e)?{maxHeight:e+"px"}:{maxHeight:e}},tableStyle(){let e=this.minWidth;return e===""||e===null||e===void 0?{}:typeof e=="number"||/^\d+(\.\d+)?$/.test(e)?{minWidth:e+"px"}:{minWidth:e}},loadingLabel(){return this.loadingText||C("table.loading")},emptyLabel(){return this.emptyText||C("table.empty")},selectAllLabel(){return C("table.selectAll")},selectRowLabel(){return C("table.selectRow")},scrollRegionLabel(){return C("table.scrollRegion")},allChecked(){return this.rows.length>0&&this.rows.every(e=>this.isSelected(e))},someChecked(){return!this.allChecked&&this.rows.some(e=>this.isSelected(e))},displayRows(){if(!this.sortKey||!this.sortDir)return this.rows;let e=this.leafColumns.find(i=>i.key===this.sortKey);if(!e)return this.rows;let t=this.sortDir==="asc"?1:-1,a=this.rows.slice();return typeof e.sorter=="function"?a.sort((i,n)=>e.sorter(i,n)*t):a.sort((i,n)=>{let l=i[this.sortKey],r=n[this.sortKey];return typeof l=="number"&&typeof r=="number"?(l-r)*t:String(l??"").localeCompare(String(r??""),"zh-Hans-CN")*t})},virtualEnabled(){return!!(this.virtual&&this.maxHeight&&!this.expandable)},effectiveRowHeight(){return Math.max(16,this.rowHeight)},visibleRange(){let e=this.displayRows.length;if(!this.virtualEnabled||!e)return{start:0,end:e};let t=this.effectiveRowHeight,a=this.viewportHeight||t*10,i=Math.max(0,Math.floor(this.scrollTop/t)-this.overscan),n=Math.min(e,Math.ceil((this.scrollTop+a)/t)+this.overscan);return{start:i,end:n}},bodyRows(){let{start:e,end:t}=this.visibleRange;return this.displayRows.slice(e,t).map((a,i)=>({row:a,index:e+i}))},topPad(){return this.virtualEnabled?this.visibleRange.start*this.effectiveRowHeight:0},bottomPad(){if(!this.virtualEnabled)return 0;let e=this.displayRows.length;return Math.max(0,(e-this.visibleRange.end)*this.effectiveRowHeight)}},mounted(){document.addEventListener("mousedown",this.onDocumentMousedown,!0),this.measureViewport()},beforeUnmount(){document.removeEventListener("mousedown",this.onDocumentMousedown,!0),document.removeEventListener("mousemove",this.onResizeMove),document.removeEventListener("mouseup",this.onResizeEnd)},methods:{measureViewport(){let e=this.$refs.wrap;!e||!this.virtualEnabled||(this.viewportHeight=e.clientHeight,this.scrollTop=e.scrollTop)},onScroll(e){if(!this.virtualEnabled)return;let t=e.target;this.scrollTop=t.scrollTop,this.viewportHeight=t.clientHeight},toggleColumn(e){if(this.hiddenColumns.includes(e)){this.hiddenColumns=this.hiddenColumns.filter(t=>t!==e);return}this.visibleColumns.length<=1||(this.hiddenColumns=[...this.hiddenColumns,e])},resetColumns(){this.hiddenColumns=[]},onDocumentMousedown(e){!this.$refs.root||this.$refs.root.contains(e.target)||(this.settingOpen=!1)},exportCsv(){let e=this.visibleColumns.filter(n=>n.exportable!==!1);if(!e.length)return;let t=e.map(n=>n.label||n.key),a=this.displayRows.map(n=>e.map(l=>{let r=typeof l.exportValue=="function"?l.exportValue(n):n[l.key];return String(r??"").replace(/"/g,'""')})),i="\uFEFF"+[t,...a].map(n=>n.map(l=>`"${l}"`).join(",")).join(`
326
+ `);this.$emit("export",{rows:this.displayRows.slice(),csv:i}),this.downloadCsv(i)},downloadCsv(e){let t=new Date,a=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`,i=URL.createObjectURL(new Blob([e],{type:"text/csv;charset=utf-8"})),n=document.createElement("a");n.href=i,n.download=`${this.exportName}-${a}.csv`,n.click(),URL.revokeObjectURL(i)},isSelected(e){return this.selected.includes(e[this.rowKey])},canExpand(e){return typeof this.expandable=="function"?!!this.expandable(e):!!this.expandable},isExpanded(e){return this.expanded.includes(e[this.rowKey])},toggleExpand(e){let t=e[this.rowKey],a=this.expanded.includes(t)?this.expanded.filter(i=>i!==t):[...this.expanded,t];this.$emit("update:expanded",a)},rowClassOf(e,t){return typeof this.rowClass=="function"?this.rowClass(e,t):this.rowClass},columnWidth(e){let t=this.colWidths[e.key];return typeof t=="number"?t:typeof e.width=="number"?e.width:120},stickyClassOf(e){let t=this.stickyMap[e.key];return t?[t.side==="left"?"djm-sticky-left":"djm-sticky-right",t.edge?"djm-sticky-edge":""]:""},stickyStyleOf(e){let t=this.stickyMap[e.key];return t?t.side==="left"?{left:t.offset+"px"}:{right:t.offset+"px"}:{}},stickyTop(e){return this.headerRows.length<=1?{}:{top:e*(this.compact?32:38)+"px"}},prependClass(e){if(!this.prependOffsets)return"";let t=this.prependOffsets[e];if(t==null)return"";let a=["drag","expand","select","index"].filter(l=>this.prependOffsets[l]!==null),i=a[a.length-1]===e,n=this.visibleColumns.some(l=>l.fixed==="left");return["djm-sticky-left",i&&!n?"djm-sticky-edge":""]},prependStyle(e){if(!this.prependOffsets)return{};let t=this.prependOffsets[e];return t==null?{}:{left:t+"px"}},ariaSort(e){if(e.sortable)return this.sortKey!==e.key?"none":this.sortDir==="asc"?"ascending":"descending"},toggleSort(e){if(!e.sortable)return;let t=e.key,a="asc";this.sortKey===e.key&&this.sortDir==="asc"?a="desc":this.sortKey===e.key&&this.sortDir==="desc"&&(t="",a=""),this.$emit("update:sortKey",t),this.$emit("update:sortDir",a),this.$emit("sort-change",{key:t,dir:a})},toggleAll(e){let t=this.rows.map(a=>a[this.rowKey]);if(e.target.checked){let a=new Set(this.selected);t.forEach(i=>a.add(i)),this.$emit("update:selected",[...a])}else{let a=new Set(t);this.$emit("update:selected",this.selected.filter(i=>!a.has(i)))}},toggleRow(e){let t=e[this.rowKey],a=this.selected.includes(t)?this.selected.filter(i=>i!==t):[...this.selected,t];this.$emit("update:selected",a)},cellStyle(e){let t=this.colWidths[e.key],a="";return typeof t=="number"?a=t+"px":typeof e.width=="number"?a=e.width+"px":e.width&&(a=String(e.width)),{width:a,minWidth:a,maxWidth:e.fixed?a:"",textAlign:e.align||""}},startResize(e,t){if(!this.resizable||t.resizable===!1)return;let a=e.currentTarget.parentNode;this.resizeState={key:t.key,startX:e.clientX,startWidth:a.getBoundingClientRect().width},document.addEventListener("mousemove",this.onResizeMove),document.addEventListener("mouseup",this.onResizeEnd)},onResizeMove(e){let t=this.resizeState;if(!t)return;let a=Math.max(40,this.minColumnWidth),i=Math.round(Math.max(a,t.startWidth+e.clientX-t.startX));this.colWidths={...this.colWidths,[t.key]:i},this.$emit("column-resize",{key:t.key,width:i})},onResizeEnd(){if(!this.resizeState)return;let{key:e}=this.resizeState;this.resizeState=null,document.removeEventListener("mousemove",this.onResizeMove),document.removeEventListener("mouseup",this.onResizeEnd),this.$emit("column-resize-end",{key:e,width:this.colWidths[e]})},resetColumnWidth(e){if(!this.colWidths[e])return;let t={...this.colWidths};delete t[e],this.colWidths=t},canDragRow(e,t){return this.rowDraggable?typeof this.allowRowDrag=="function"?this.allowRowDrag(e,t)!==!1:!0:!1},isRowDragging(e){return!!(this.rowDragState&&this.rowDragState.key===e.row[this.rowKey])},rowDropClassOf(e){let t=this.rowDropState;return!t||t.key!==e.row[this.rowKey]?"":"djm-is-row-drop-"+t.position},onRowDragStart(e,t){if(!this.canDragRow(e.row,e.index)){t.preventDefault();return}this.rowDragState={key:e.row[this.rowKey],index:e.index},t.dataTransfer&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",String(e.index)))},dropPositionOf(e){let t=e.currentTarget.getBoundingClientRect();return(t.height?(e.clientY-t.top)/t.height:.5)<.5?"before":"after"},onRowDragOver(e,t){this.rowDragState&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move"),this.rowDropState={key:e.row[this.rowKey],index:e.index,position:this.dropPositionOf(t)})},onRowDragLeave(e,t){let a=t.currentTarget;a&&t.relatedTarget&&a.contains(t.relatedTarget)||this.rowDropState&&this.rowDropState.key===e.row[this.rowKey]&&(this.rowDropState=null)},onRowDrop(e,t){let a=this.rowDragState;if(!a)return;t.preventDefault();let i=this.rowDropState,n=i&&i.key===e.row[this.rowKey]?i.position:this.dropPositionOf(t);this.resetRowDrag(),!this.isNoopDrop(a.index,e.index,n)&&this.$emit("row-drop",{dragIndex:a.index,dropIndex:e.index,position:n,dragKey:a.key,dropKey:e.row[this.rowKey]})},isNoopDrop(e,t,a){return e===t||a==="after"&&t===e-1||a==="before"&&t===e+1},onRowDragEnd(){this.resetRowDrag()},resetRowDrag(){this.rowDragState=null,this.rowDropState=null}},template:`
327
327
  <div class="djm-table-root" :class="{ 'djm-is-resizing': !!resizeState }" ref="root">
328
328
  <div
329
329
  v-if="columnSetting || exportable || $slots.toolbar || $slots['toolbar-extra']"
@@ -561,7 +561,7 @@ Minimum version required to store current data is: `+I+`.
561
561
  </div>
562
562
  </div>
563
563
  </div>
564
- `};var da={name:"DjmPageHeader",props:{title:{type:String,required:!0},description:{type:String,default:""}},template:`
564
+ `};var pa={name:"DjmPageHeader",props:{title:{type:String,required:!0},description:{type:String,default:""}},template:`
565
565
  <header class="djm-page-head">
566
566
  <div>
567
567
  <h1>{{ title }}</h1>
@@ -571,7 +571,7 @@ Minimum version required to store current data is: `+I+`.
571
571
  <slot name="actions"></slot>
572
572
  </div>
573
573
  </header>
574
- `};var ca={name:"DjmBreadcrumb",components:{Icon:L},props:{items:{type:Array,required:!0},separator:{type:String,default:"/"},separatorIcon:{type:String,default:""},ariaLabel:{type:String,default:"\u9762\u5305\u5C51"}},emits:["navigate"],methods:{isLast(e){return e===this.items.length-1}},template:`
574
+ `};var ha={name:"DjmBreadcrumb",components:{Icon:z},props:{items:{type:Array,required:!0},separator:{type:String,default:"/"},separatorIcon:{type:String,default:""},ariaLabel:{type:String,default:"\u9762\u5305\u5C51"}},emits:["navigate"],methods:{isLast(e){return e===this.items.length-1}},template:`
575
575
  <nav class="djm-breadcrumb" :aria-label="ariaLabel">
576
576
  <ol class="djm-breadcrumb-list">
577
577
  <li v-for="(item, index) in items" :key="item.key || item.label" class="djm-breadcrumb-item">
@@ -590,7 +590,7 @@ Minimum version required to store current data is: `+I+`.
590
590
  </li>
591
591
  </ol>
592
592
  </nav>
593
- `};var Ce={name:"DjmAvatar",props:{src:{type:String,default:""},alt:{type:String,default:""},text:{type:String,default:""},size:{type:String,default:"md"},shape:{type:String,default:"circle"},tone:{type:String,default:""}},data(){return{failed:!1}},computed:{initial(){let e=(this.text||this.alt||"").trim();return e?/^[+\d]/.test(e)?e:e.slice(0,1):""},showImage(){return!!this.src&&!this.failed}},watch:{src(){this.failed=!1}},template:`
593
+ `};var Le={name:"DjmAvatar",props:{src:{type:String,default:""},alt:{type:String,default:""},text:{type:String,default:""},size:{type:String,default:"md"},shape:{type:String,default:"circle"},tone:{type:String,default:""}},data(){return{failed:!1}},computed:{initial(){let e=(this.text||this.alt||"").trim();return e?/^[+\d]/.test(e)?e:e.slice(0,1):""},showImage(){return!!this.src&&!this.failed}},watch:{src(){this.failed=!1}},template:`
594
594
  <span
595
595
  class="djm-avatar"
596
596
  :class="['djm-avatar-' + size, { 'djm-is-square': shape === 'square' }]"
@@ -599,11 +599,11 @@ Minimum version required to store current data is: `+I+`.
599
599
  <img v-if="showImage" :src="src" :alt="alt || text" @error="failed = true" />
600
600
  <template v-else>{{ initial }}</template>
601
601
  </span>
602
- `};var ua={name:"DjmAvatarGroup",props:{gap:{type:[Number,String],default:-8}},computed:{groupStyle(){return{"--djm-avatar-gap":typeof this.gap=="number"?this.gap+"px":this.gap}}},template:`
602
+ `};var va={name:"DjmAvatarGroup",props:{gap:{type:[Number,String],default:-8}},computed:{groupStyle(){return{"--djm-avatar-gap":typeof this.gap=="number"?this.gap+"px":this.gap}}},template:`
603
603
  <div class="djm-avatar-group" :style="groupStyle">
604
604
  <slot></slot>
605
605
  </div>
606
- `};var ma={name:"DjmBadge",props:{count:{type:[Number,String],default:0},max:{type:Number,default:99},dot:{type:Boolean,default:!1},tone:{type:String,default:"danger"},hidden:{type:Boolean,default:!1}},computed:{display(){let e=Number(this.count);return Number.isFinite(e)?e>this.max?this.max+"+":String(e):String(this.count)},show(){if(this.hidden)return!1;if(this.dot)return!0;let e=String(this.count===null||this.count===void 0?"":this.count).trim();return e===""?!1:Number.isFinite(Number(e))?Number(e)!==0:!0}},template:`
606
+ `};var ga={name:"DjmBadge",props:{count:{type:[Number,String],default:0},max:{type:Number,default:99},dot:{type:Boolean,default:!1},tone:{type:String,default:"danger"},hidden:{type:Boolean,default:!1}},computed:{display(){let e=Number(this.count);return Number.isFinite(e)?e>this.max?this.max+"+":String(e):String(this.count)},show(){if(this.hidden)return!1;if(this.dot)return!0;let e=String(this.count===null||this.count===void 0?"":this.count).trim();return e===""?!1:Number.isFinite(Number(e))?Number(e)!==0:!0}},template:`
607
607
  <span class="djm-badge-anchor">
608
608
  <slot></slot>
609
609
  <i
@@ -612,7 +612,7 @@ Minimum version required to store current data is: `+I+`.
612
612
  :class="[dot ? 'djm-is-dot' : 'djm-badge-count', 'djm-' + tone]"
613
613
  >{{ dot ? '' : display }}</i>
614
614
  </span>
615
- `};var Me=require("vue");var fa={name:"DjmPopover",props:{placement:{type:String,default:"bottom-end"},width:{type:[Number,String],default:""},trigger:{type:String,default:"click"},disabled:{type:Boolean,default:!1}},emits:["visible-change"],setup(e,{emit:t}){let a=(0,Me.ref)(!1),n=(0,Me.ref)(null),i=(0,Me.ref)(null),l=(0,Me.ref)({}),o=null;function r(){let h=n.value&&n.value.querySelector(".djm-popover-trigger");if(!h)return;let b=h.querySelector('button, a[href], [role="button"]'),j=b||h;b||(j.setAttribute("role","button"),j.setAttribute("tabindex","0")),j.setAttribute("aria-haspopup","dialog"),j.setAttribute("aria-expanded",String(a.value))}(0,Me.onMounted)(()=>(0,Me.nextTick)(r)),(0,Me.watch)(a,()=>(0,Me.nextTick)(r));function s(){if(!a.value||!n.value)return;let h=n.value.getBoundingClientRect(),b={position:"fixed"};e.width&&(b.width=typeof e.width=="number"?e.width+"px":e.width);let j=window.innerHeight-h.bottom;e.placement.indexOf("top")===0||j<220&&h.top>j?b.bottom=window.innerHeight-h.top+8+"px":b.top=h.bottom+8+"px",e.placement.indexOf("end")>-1?b.right=window.innerWidth-h.right+"px":b.left=h.left+"px",l.value=b}function d(){e.disabled||a.value||(a.value=!0,t("visible-change",!0),o=J({root:()=>n.value,panel:()=>i.value,onClose:f,onReposition:s}),requestAnimationFrame(s))}function f(){a.value&&(a.value=!1,l.value={},t("visible-change",!1),o&&(o(),o=null))}function c(){e.disabled||(a.value?f():d())}let p=null;function g(){e.trigger==="hover"&&(window.clearTimeout(p),d())}function m(){e.trigger==="hover"&&(window.clearTimeout(p),p=window.setTimeout(f,120))}return(0,Me.onBeforeUnmount)(()=>{window.clearTimeout(p),f()}),{open:a,root:n,panelEl:i,panelStyle:l,toggle:c,close:f,onHoverIn:g,onHoverOut:m}},template:`
615
+ `};var Ie=require("vue");var ba={name:"DjmPopover",props:{placement:{type:String,default:"bottom-end"},width:{type:[Number,String],default:""},trigger:{type:String,default:"click"},disabled:{type:Boolean,default:!1}},emits:["visible-change"],setup(e,{emit:t}){let a=(0,Ie.ref)(!1),i=(0,Ie.ref)(null),n=(0,Ie.ref)(null),l=(0,Ie.ref)({}),r=null;function o(){let g=i.value&&i.value.querySelector(".djm-popover-trigger");if(!g)return;let y=g.querySelector('button, a[href], [role="button"]'),j=y||g;y||(j.setAttribute("role","button"),j.setAttribute("tabindex","0")),j.setAttribute("aria-haspopup","dialog"),j.setAttribute("aria-expanded",String(a.value))}(0,Ie.onMounted)(()=>(0,Ie.nextTick)(o)),(0,Ie.watch)(a,()=>(0,Ie.nextTick)(o));function s(){if(!a.value||!i.value)return;let g=i.value.getBoundingClientRect(),y={position:"fixed"};e.width&&(y.width=typeof e.width=="number"?e.width+"px":e.width);let j=window.innerHeight-g.bottom;e.placement.indexOf("top")===0||j<220&&g.top>j?y.bottom=window.innerHeight-g.top+8+"px":y.top=g.bottom+8+"px",e.placement.indexOf("end")>-1?y.right=window.innerWidth-g.right+"px":y.left=g.left+"px",l.value=y}function d(){e.disabled||a.value||(a.value=!0,t("visible-change",!0),r=ie({root:()=>i.value,panel:()=>n.value,onClose:p,onReposition:s}),requestAnimationFrame(s))}function p(){a.value&&(a.value=!1,l.value={},t("visible-change",!1),r&&(r(),r=null))}function c(){e.disabled||(a.value?p():d())}let h=null;function v(){e.trigger==="hover"&&(window.clearTimeout(h),d())}function u(){e.trigger==="hover"&&(window.clearTimeout(h),h=window.setTimeout(p,120))}return(0,Ie.onBeforeUnmount)(()=>{window.clearTimeout(h),p()}),{open:a,root:i,panelEl:n,panelStyle:l,toggle:c,close:p,onHoverIn:v,onHoverOut:u}},template:`
616
616
  <span class="djm-popover" ref="root" @mouseenter="onHoverIn" @mouseleave="onHoverOut">
617
617
  <span
618
618
  class="djm-popover-trigger"
@@ -637,7 +637,7 @@ Minimum version required to store current data is: `+I+`.
637
637
  </Transition>
638
638
  </Teleport>
639
639
  </span>
640
- `};var oi=require("vue");var nl={name:"DjmMenuSubList",components:{DjmIcon:L},props:{items:{type:Array,default:()=>[]},activeKey:{type:String,default:""},level:{type:Number,default:1}},emits:["pick"],setup(e,{emit:t}){let a=(0,oi.reactive)({key:null,top:0,left:0});function n(d){return Array.isArray(d.children)&&d.children.length>0}function i(d,f){if(!n(d))return;let c=f.currentTarget.getBoundingClientRect(),p=Math.min(d.children.length*34+10,420);a.key=d.key,a.top=Math.max(8,Math.min(c.top-5,window.innerHeight-p-8)),a.left=c.right}function l(){a.key=null}function o(d){d.currentTarget.contains(d.relatedTarget)||l()}function r(d){d.disabled||n(d)||t("pick",d)}function s(d){return d.key===e.activeKey?!0:n(d)&&d.children.some(f=>f.key===e.activeKey)}return{nested:a,hasChildren:n,place:i,clear:l,onFocusOut:o,onClick:r,isActive:s}},template:`
640
+ `};var cn=require("vue");var cl={name:"DjmMenuSubList",components:{DjmIcon:z},props:{items:{type:Array,default:()=>[]},activeKey:{type:String,default:""},level:{type:Number,default:1}},emits:["pick"],setup(e,{emit:t}){let a=(0,cn.reactive)({key:null,top:0,left:0});function i(d){return Array.isArray(d.children)&&d.children.length>0}function n(d,p){if(!i(d))return;let c=p.currentTarget.getBoundingClientRect(),h=Math.min(d.children.length*34+10,420);a.key=d.key,a.top=Math.max(8,Math.min(c.top-5,window.innerHeight-h-8)),a.left=c.right}function l(){a.key=null}function r(d){d.currentTarget.contains(d.relatedTarget)||l()}function o(d){d.disabled||i(d)||t("pick",d)}function s(d){return d.key===e.activeKey?!0:i(d)&&d.children.some(p=>p.key===e.activeKey)}return{nested:a,hasChildren:i,place:n,clear:l,onFocusOut:r,onClick:o,isActive:s}},template:`
641
641
  <ul class="djm-menu-sub djm-menu-pop" @scroll="clear">
642
642
  <li
643
643
  v-for="item in items"
@@ -674,7 +674,7 @@ Minimum version required to store current data is: `+I+`.
674
674
  />
675
675
  </li>
676
676
  </ul>
677
- `},pa={name:"DjmMenu",components:{DjmIcon:L,MenuSubList:nl},props:{items:{type:Array,default:()=>[]},mode:{type:String,default:"vertical"},activeKey:{type:String,default:""},collapsed:{type:Boolean,default:!1},defaultOpenKeys:{type:Array,default:()=>[]},accordion:{type:Boolean,default:!1},highlightGroup:{type:Boolean,default:!1}},emits:["select","update:activeKey"],data(){return{openKeys:this.defaultOpenKeys.slice()}},computed:{isHorizontal(){return this.mode==="horizontal"},isPopMode(){return this.isHorizontal||this.collapsed},menuClass(){return["djm-menu",this.isHorizontal?"djm-menu-horizontal":"djm-menu-vertical",{"djm-is-collapsed":this.collapsed&&!this.isHorizontal}]}},methods:{hasChildren(e){return Array.isArray(e.children)&&e.children.length>0},isOpen(e){return this.openKeys.indexOf(e.key)>-1},open(e){this.isOpen(e)||(this.accordion&&!this.isPopMode&&(this.openKeys=[]),this.openKeys.push(e.key))},close(e){let t=this.openKeys.indexOf(e.key);t>-1&&this.openKeys.splice(t,1)},toggle(e){this.isOpen(e)?this.close(e):this.open(e)},onItemClick(e){if(!e.disabled){if(this.hasChildren(e)){this.toggle(e);return}this.pick(e)}},pick(e){e.disabled||(this.$emit("update:activeKey",e.key),this.$emit("select",e),this.isHorizontal&&(this.openKeys=[]))},isActive(e){return e.key===this.activeKey?!0:this.highlightGroup?this.hasChildren(e)&&e.children.some(t=>t.key===this.activeKey):!1},itemTitle(e){return this.collapsed&&!this.isHorizontal?e.label:null}},template:`
677
+ `},ya={name:"DjmMenu",components:{DjmIcon:z,MenuSubList:cl},props:{items:{type:Array,default:()=>[]},mode:{type:String,default:"vertical"},activeKey:{type:String,default:""},collapsed:{type:Boolean,default:!1},defaultOpenKeys:{type:Array,default:()=>[]},accordion:{type:Boolean,default:!1},highlightGroup:{type:Boolean,default:!1}},emits:["select","update:activeKey"],data(){return{openKeys:this.defaultOpenKeys.slice()}},computed:{isHorizontal(){return this.mode==="horizontal"},isPopMode(){return this.isHorizontal||this.collapsed},menuClass(){return["djm-menu",this.isHorizontal?"djm-menu-horizontal":"djm-menu-vertical",{"djm-is-collapsed":this.collapsed&&!this.isHorizontal}]}},methods:{hasChildren(e){return Array.isArray(e.children)&&e.children.length>0},isOpen(e){return this.openKeys.indexOf(e.key)>-1},open(e){this.isOpen(e)||(this.accordion&&!this.isPopMode&&(this.openKeys=[]),this.openKeys.push(e.key))},close(e){let t=this.openKeys.indexOf(e.key);t>-1&&this.openKeys.splice(t,1)},toggle(e){this.isOpen(e)?this.close(e):this.open(e)},onItemClick(e){if(!e.disabled){if(this.hasChildren(e)){this.toggle(e);return}this.pick(e)}},pick(e){e.disabled||(this.$emit("update:activeKey",e.key),this.$emit("select",e),this.isHorizontal&&(this.openKeys=[]))},isActive(e){return e.key===this.activeKey?!0:this.highlightGroup?this.hasChildren(e)&&e.children.some(t=>t.key===this.activeKey):!1},itemTitle(e){return this.collapsed&&!this.isHorizontal?e.label:null}},template:`
678
678
  <nav :class="menuClass">
679
679
  <ul class="djm-menu-list">
680
680
  <li
@@ -736,7 +736,7 @@ Minimum version required to store current data is: `+I+`.
736
736
  </li>
737
737
  </ul>
738
738
  </nav>
739
- `};var il={success:"green",warning:"amber",warn:"amber",danger:"red",error:"red",info:"brand",ok:"green",off:"default"},ha={name:"DjmTag",props:{tone:{type:String,default:""},type:{type:String,default:""},size:{type:String,default:"md"},closable:{type:Boolean,default:!1}},emits:["close"],computed:{toneClass(){let e=this.tone||this.type||"default";return"djm-tag-"+(il[e]||e)}},methods:{onClose(){this.$emit("close")},t:C},template:`
739
+ `};var ul={success:"green",warning:"amber",warn:"amber",danger:"red",error:"red",info:"brand",ok:"green",off:"default"},wa={name:"DjmTag",props:{tone:{type:String,default:""},type:{type:String,default:""},size:{type:String,default:"md"},closable:{type:Boolean,default:!1}},emits:["close"],computed:{toneClass(){let e=this.tone||this.type||"default";return"djm-tag-"+(ul[e]||e)}},methods:{onClose(){this.$emit("close")},t:C},template:`
740
740
  <span class="djm-tag" :class="[toneClass, size === 'sm' ? 'djm-tag-sm' : '']">
741
741
  <slot></slot>
742
742
  <button
@@ -747,7 +747,7 @@ Minimum version required to store current data is: `+I+`.
747
747
  @click.stop="onClose"
748
748
  >\xD7</button>
749
749
  </span>
750
- `};var va={name:"DjmCard",props:{title:{type:String,default:""},hoverable:{type:Boolean,default:!1},flush:{type:Boolean,default:!1}},template:`
750
+ `};var ja={name:"DjmCard",props:{title:{type:String,default:""},hoverable:{type:Boolean,default:!1},flush:{type:Boolean,default:!1}},template:`
751
751
  <section class="djm-card" :class="{ 'djm-is-hoverable': hoverable, 'djm-is-flush': flush }">
752
752
  <header v-if="title || $slots.extra" class="djm-card-head">
753
753
  <div class="djm-card-title">{{ title }}<slot name="title"></slot></div>
@@ -756,14 +756,14 @@ Minimum version required to store current data is: `+I+`.
756
756
  <div class="djm-card-body"><slot></slot></div>
757
757
  <footer v-if="$slots.footer" class="djm-card-foot"><slot name="footer"></slot></footer>
758
758
  </section>
759
- `};var ga={name:"DjmProgress",props:{percent:{type:Number,default:0},status:{type:String,default:""},showText:{type:Boolean,default:!0},strokeWidth:{type:Number,default:6},color:{type:String,default:""}},computed:{safePercent(){return Math.min(100,Math.max(0,Number(this.percent)||0))},barStyle(){let e={width:this.safePercent+"%"};return this.color&&(e.background=this.color),e},trackStyle(){return{height:this.strokeWidth+"px"}}},template:`
759
+ `};var xa={name:"DjmProgress",props:{percent:{type:Number,default:0},status:{type:String,default:""},showText:{type:Boolean,default:!0},strokeWidth:{type:Number,default:6},color:{type:String,default:""}},computed:{safePercent(){return Math.min(100,Math.max(0,Number(this.percent)||0))},barStyle(){let e={width:this.safePercent+"%"};return this.color&&(e.background=this.color),e},trackStyle(){return{height:this.strokeWidth+"px"}}},template:`
760
760
  <div class="djm-progress-line" :class="status ? 'djm-is-' + status : ''">
761
761
  <div class="djm-progress" :style="trackStyle">
762
762
  <div class="djm-progress-bar" :style="barStyle"></div>
763
763
  </div>
764
764
  <span v-if="showText" class="djm-progress-label">{{ safePercent }}%</span>
765
765
  </div>
766
- `};var ya={name:"DjmSkeleton",props:{loading:{type:Boolean,default:!0},rows:{type:Number,default:3},title:{type:Boolean,default:!0},avatar:{type:Boolean,default:!1},animated:{type:Boolean,default:!0}},computed:{rowStyle(){return e=>({width:e===this.rows?"60%":"100%"})}},template:`
766
+ `};var ka={name:"DjmSkeleton",props:{loading:{type:Boolean,default:!0},rows:{type:Number,default:3},title:{type:Boolean,default:!0},avatar:{type:Boolean,default:!1},animated:{type:Boolean,default:!0}},computed:{rowStyle(){return e=>({width:e===this.rows?"60%":"100%"})}},template:`
767
767
  <div v-if="loading" class="djm-skeleton-block" :class="{ 'djm-is-static': !animated }" aria-busy="true">
768
768
  <div v-if="avatar" class="djm-skeleton-avatar"></div>
769
769
  <div class="djm-skeleton-main">
@@ -777,7 +777,7 @@ Minimum version required to store current data is: `+I+`.
777
777
  </div>
778
778
  </div>
779
779
  <slot v-else></slot>
780
- `};var ri={success:"check",warning:"alert",error:"x",info:"info"},ll={danger:"error"},ba={name:"DjmResult",components:{DjmIcon:L},props:{status:{type:String,default:""},type:{type:String,default:""},title:{type:String,default:""},description:{type:String,default:""}},computed:{actualStatus(){let e=this.status||this.type||"info";return ll[e]||e},iconName(){return ri[this.actualStatus]||ri.info}},template:`
780
+ `};var un={success:"check",warning:"alert",error:"x",info:"info"},ml={danger:"error"},Sa={name:"DjmResult",components:{DjmIcon:z},props:{status:{type:String,default:""},type:{type:String,default:""},title:{type:String,default:""},description:{type:String,default:""}},computed:{actualStatus(){let e=this.status||this.type||"info";return ml[e]||e},iconName(){return un[this.actualStatus]||un.info}},template:`
781
781
  <div class="djm-result" :class="'djm-result-' + actualStatus" role="status">
782
782
  <div class="djm-result-icon">
783
783
  <slot name="icon">
@@ -788,7 +788,7 @@ Minimum version required to store current data is: `+I+`.
788
788
  <div v-if="description" class="djm-result-desc">{{ description }}</div>
789
789
  <div v-if="$slots.default" class="djm-result-extra"><slot></slot></div>
790
790
  </div>
791
- `};var wa={name:"DjmTimeline",props:{items:{type:Array,default:()=>[]}},template:`
791
+ `};var Da={name:"DjmTimeline",props:{items:{type:Array,default:()=>[]}},template:`
792
792
  <ul class="djm-timeline">
793
793
  <li v-for="(item, index) in items" :key="item.key || index">
794
794
  <i class="djm-timeline-dot" :class="item.tone ? 'djm-tone-' + item.tone : ''"></i>
@@ -800,7 +800,7 @@ Minimum version required to store current data is: `+I+`.
800
800
  <slot name="item" :item="item"></slot>
801
801
  </li>
802
802
  </ul>
803
- `};var ja={name:"DjmCollapse",components:{DjmIcon:L},props:{items:{type:Array,default:()=>[]},modelValue:{type:Array,default:()=>[]},accordion:{type:Boolean,default:!1}},emits:["update:modelValue","change"],methods:{isOpen(e){return this.modelValue.indexOf(e.key)>-1},toggle(e){if(e.disabled)return;let t;this.accordion?t=this.isOpen(e)?[]:[e.key]:this.isOpen(e)?t=this.modelValue.filter(a=>a!==e.key):t=this.modelValue.concat(e.key),this.$emit("update:modelValue",t),this.$emit("change",t)}},template:`
803
+ `};var Ea={name:"DjmCollapse",components:{DjmIcon:z},props:{items:{type:Array,default:()=>[]},modelValue:{type:Array,default:()=>[]},accordion:{type:Boolean,default:!1}},emits:["update:modelValue","change"],methods:{isOpen(e){return this.modelValue.indexOf(e.key)>-1},toggle(e){if(e.disabled)return;let t;this.accordion?t=this.isOpen(e)?[]:[e.key]:this.isOpen(e)?t=this.modelValue.filter(a=>a!==e.key):t=this.modelValue.concat(e.key),this.$emit("update:modelValue",t),this.$emit("change",t)}},template:`
804
804
  <div class="djm-accordion">
805
805
  <div v-for="item in items" :key="item.key" class="djm-accordion-item">
806
806
  <button
@@ -818,7 +818,7 @@ Minimum version required to store current data is: `+I+`.
818
818
  </div>
819
819
  </div>
820
820
  </div>
821
- `};var ka={name:"DjmStatistic",props:{title:{type:String,default:""},value:{type:[Number,String],default:0},precision:{type:Number,default:0},prefix:{type:String,default:""},suffix:{type:String,default:""},trend:{type:Number,default:0},trendLabel:{type:String,default:"\u8F83\u4E0A\u671F"}},computed:{display(){let e=Number(this.value);if(!Number.isFinite(e))return this.value;let t=Math.min(100,Math.max(0,Math.floor(Number(this.precision))||0));return e.toFixed(t)}},template:`
821
+ `};var Ma={name:"DjmStatistic",props:{title:{type:String,default:""},value:{type:[Number,String],default:0},precision:{type:Number,default:0},prefix:{type:String,default:""},suffix:{type:String,default:""},trend:{type:Number,default:0},trendLabel:{type:String,default:"\u8F83\u4E0A\u671F"}},computed:{display(){let e=Number(this.value);if(!Number.isFinite(e))return this.value;let t=Math.min(100,Math.max(0,Math.floor(Number(this.precision))||0));return e.toFixed(t)}},template:`
822
822
  <div class="djm-stat">
823
823
  <div class="djm-stat-title">{{ title }}</div>
824
824
  <div class="djm-stat-value">
@@ -831,7 +831,7 @@ Minimum version required to store current data is: `+I+`.
831
831
  {{ trend > 0 ? '+' : '' }}{{ trend }}%
832
832
  </div>
833
833
  </div>
834
- `};var xa={name:"DjmSteps",components:{DjmIcon:L},props:{items:{type:Array,default:()=>[]},current:{type:Number,default:0},direction:{type:String,default:"horizontal"},status:{type:String,default:""}},methods:{stepState(e){return e<this.current?"finish":e===this.current?this.status==="error"?"error":"process":"wait"},t:C},template:`
834
+ `};var Ca={name:"DjmSteps",components:{DjmIcon:z},props:{items:{type:Array,default:()=>[]},current:{type:Number,default:0},direction:{type:String,default:"horizontal"},status:{type:String,default:""}},methods:{stepState(e){return e<this.current?"finish":e===this.current?this.status==="error"?"error":"process":"wait"},t:C},template:`
835
835
  <div class="djm-steps" :class="'djm-steps-' + direction">
836
836
  <div
837
837
  v-for="(item, index) in items"
@@ -852,7 +852,7 @@ Minimum version required to store current data is: `+I+`.
852
852
  <div v-if="item.description" class="djm-step-desc">{{ item.description }}</div>
853
853
  </div>
854
854
  </div>
855
- `};var mt={name:"DjmInputNumber",props:{modelValue:{type:Number,default:null},min:{type:Number,default:-1/0},max:{type:Number,default:1/0},step:{type:Number,default:1},precision:{type:Number,default:0},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""},ariaLabel:{type:String,default:"\u6570\u5B57\u8F93\u5165"}},emits:["update:modelValue","change","focus","blur"],data(){return{draft:this.displayOf(this.modelValue)}},watch:{modelValue(e){this.draft=this.displayOf(e)}},computed:{canDecrease(){return!this.disabled&&Number(this.modelValue)>this.min},canIncrease(){return!this.disabled&&Number(this.modelValue)<this.max}},methods:{displayOf(e){if(e==null||e==="")return"";let t=Number(e);return Number.isFinite(t)?t.toFixed(this.precision):""},normalize(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?(t=Math.min(this.max,Math.max(this.min,t)),Number(t.toFixed(this.precision))):null},commit(e){let t=this.normalize(e);this.draft=this.displayOf(t),t!==this.modelValue&&(this.$emit("update:modelValue",t),this.$emit("change",t))},stepBy(e){if(this.disabled)return;let t=Number(this.modelValue);this.commit((Number.isFinite(t)?t:0)+e)},onInput(e){this.draft=e.target.value},onBlur(e){this.draft===""?this.commit(null):this.commit(this.draft),this.$emit("blur",e)},onKeydown(e){e.key==="ArrowUp"?(e.preventDefault(),this.stepBy(this.step)):e.key==="ArrowDown"&&(e.preventDefault(),this.stepBy(-this.step))}},template:`
855
+ `};var ht={name:"DjmInputNumber",props:{modelValue:{type:Number,default:null},min:{type:Number,default:-1/0},max:{type:Number,default:1/0},step:{type:Number,default:1},precision:{type:Number,default:0},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""},ariaLabel:{type:String,default:"\u6570\u5B57\u8F93\u5165"}},emits:["update:modelValue","change","focus","blur"],data(){return{draft:this.displayOf(this.modelValue)}},watch:{modelValue(e){this.draft=this.displayOf(e)}},computed:{canDecrease(){return!this.disabled&&Number(this.modelValue)>this.min},canIncrease(){return!this.disabled&&Number(this.modelValue)<this.max}},methods:{displayOf(e){if(e==null||e==="")return"";let t=Number(e);return Number.isFinite(t)?t.toFixed(this.precision):""},normalize(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?(t=Math.min(this.max,Math.max(this.min,t)),Number(t.toFixed(this.precision))):null},commit(e){let t=this.normalize(e);this.draft=this.displayOf(t),t!==this.modelValue&&(this.$emit("update:modelValue",t),this.$emit("change",t))},stepBy(e){if(this.disabled)return;let t=Number(this.modelValue);this.commit((Number.isFinite(t)?t:0)+e)},onInput(e){this.draft=e.target.value},onBlur(e){this.draft===""?this.commit(null):this.commit(this.draft),this.$emit("blur",e)},onKeydown(e){e.key==="ArrowUp"?(e.preventDefault(),this.stepBy(this.step)):e.key==="ArrowDown"&&(e.preventDefault(),this.stepBy(-this.step))}},template:`
856
856
  <div class="djm-input-number" :class="{ 'djm-is-disabled': disabled }">
857
857
  <input
858
858
  class="djm-input"
@@ -878,7 +878,7 @@ Minimum version required to store current data is: `+I+`.
878
878
  </button>
879
879
  </span>
880
880
  </div>
881
- `};var Rt={name:"DjmRate",props:{modelValue:{type:Number,default:0},count:{type:Number,default:5},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","change"],data(){return{hovered:0}},computed:{activeCount(){return this.hovered||this.modelValue}},methods:{pick(e){if(this.disabled||this.readonly)return;let t=this.clearable&&this.modelValue===e?0:e;this.$emit("update:modelValue",t),this.$emit("change",t)},onKey(e,t){if(this.disabled||this.readonly)return;let a=t.key==="ArrowRight"||t.key==="ArrowUp"?1:t.key==="ArrowLeft"||t.key==="ArrowDown"?-1:0,n=0;a?n=Math.min(this.count,Math.max(1,e+a)):t.key==="Home"?n=1:t.key==="End"&&(n=this.count),n&&(t.preventDefault(),this.pick(n),this.$nextTick(()=>{let l=(this.$refs.stars||[])[n-1];l&&l.focus()}))}},template:`
881
+ `};var $t={name:"DjmRate",props:{modelValue:{type:Number,default:0},count:{type:Number,default:5},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","change"],data(){return{hovered:0}},computed:{activeCount(){return this.hovered||this.modelValue}},methods:{pick(e){if(this.disabled||this.readonly)return;let t=this.clearable&&this.modelValue===e?0:e;this.$emit("update:modelValue",t),this.$emit("change",t)},onKey(e,t){if(this.disabled||this.readonly)return;let a=t.key==="ArrowRight"||t.key==="ArrowUp"?1:t.key==="ArrowLeft"||t.key==="ArrowDown"?-1:0,i=0;a?i=Math.min(this.count,Math.max(1,e+a)):t.key==="Home"?i=1:t.key==="End"&&(i=this.count),i&&(t.preventDefault(),this.pick(i),this.$nextTick(()=>{let l=(this.$refs.stars||[])[i-1];l&&l.focus()}))}},template:`
882
882
  <div
883
883
  class="djm-rate"
884
884
  :class="{ 'djm-is-disabled': disabled || readonly }"
@@ -909,7 +909,7 @@ Minimum version required to store current data is: `+I+`.
909
909
  </svg>
910
910
  </button>
911
911
  </div>
912
- `};var Vt={name:"DjmSlider",props:{modelValue:{type:[Number,Array],default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},disabled:{type:Boolean,default:!1},marks:{type:Object,default:()=>({})}},emits:["update:modelValue","change"],data(){return{dragging:-1}},computed:{stepSize(){return Math.abs(Number(this.step))||1},isRange(){return Array.isArray(this.modelValue)},values(){return(this.isRange?this.modelValue:[this.modelValue]).map(t=>this.clamp(Number(t)||0))},barStyle(){let e=this.percentOf(this.values[0]),t=this.percentOf(this.values[this.values.length-1]);return{left:e+"%",width:t-e+"%"}},markList(){return Object.keys(this.marks).map(e=>({value:Number(e),label:this.marks[e],percent:this.percentOf(Number(e))}))}},methods:{clamp(e){let t=this.isRange?this.min:this.min;return Math.min(this.max,Math.max(t,e))},percentOf(e){return this.max===this.min?0:(e-this.min)/(this.max-this.min)*100},quantize(e){let t=Math.round((e-this.min)/this.stepSize);return Number((this.min+t*this.stepSize).toFixed(6))},valueAt(e){let t=this.$refs.track.getBoundingClientRect();if(!t.width)return this.min;let a=Math.min(1,Math.max(0,(e-t.left)/t.width));return this.quantize(this.min+a*(this.max-this.min))},emitValue(e){let t=this.isRange?e:e[0];this.$emit("update:modelValue",t)},startDrag(e,t){this.disabled||(t.preventDefault(),t.stopPropagation(),this.dragging=e,window.addEventListener("pointermove",this.onMove),window.addEventListener("pointerup",this.onUp),this.$refs.track.setPointerCapture&&this.$refs.track.setPointerCapture(t.pointerId))},onTrackDown(e){if(this.disabled)return;let t=this.valueAt(e.clientX),a=this.values.slice();if(!this.isRange){this.emitValue([t]),this.startDrag(0,e);return}let n=Math.abs(t-a[0])<=Math.abs(t-a[1])?0:1;a[n]=t,a.sort((i,l)=>i-l),this.emitValue(a),this.startDrag(n,e)},onMove(e){if(this.dragging<0)return;let t=this.valueAt(e.clientX),a=this.values.slice();if(this.isRange){let n=a[1-this.dragging];a[this.dragging]=this.dragging===0?Math.min(t,n):Math.max(t,n)}else a[0]=t;this.emitValue(a)},onUp(){this.dragging<0||(this.dragging=-1,window.removeEventListener("pointermove",this.onMove),window.removeEventListener("pointerup",this.onUp),this.$emit("change",this.isRange?this.values.slice():this.values[0]))},onKey(e,t){if(this.disabled)return;let a=t.key==="ArrowRight"||t.key==="ArrowUp"?this.stepSize:t.key==="ArrowLeft"||t.key==="ArrowDown"?-this.stepSize:0;if(!a)return;t.preventDefault();let n=this.values.slice();n[e]=Math.min(this.max,Math.max(this.min,n[e]+a)),this.isRange&&e===0&&n[0]>n[1]&&(n[0]=n[1]),this.isRange&&e===1&&n[1]<n[0]&&(n[1]=n[0]),this.emitValue(n),this.$emit("change",this.isRange?n:n[0])}},beforeUnmount(){window.removeEventListener("pointermove",this.onMove),window.removeEventListener("pointerup",this.onUp)},template:`
912
+ `};var Ft={name:"DjmSlider",props:{modelValue:{type:[Number,Array],default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},disabled:{type:Boolean,default:!1},marks:{type:Object,default:()=>({})}},emits:["update:modelValue","change"],data(){return{dragging:-1}},computed:{stepSize(){return Math.abs(Number(this.step))||1},isRange(){return Array.isArray(this.modelValue)},values(){return(this.isRange?this.modelValue:[this.modelValue]).map(t=>this.clamp(Number(t)||0))},barStyle(){let e=this.percentOf(this.values[0]),t=this.percentOf(this.values[this.values.length-1]);return{left:e+"%",width:t-e+"%"}},markList(){return Object.keys(this.marks).map(e=>({value:Number(e),label:this.marks[e],percent:this.percentOf(Number(e))}))}},methods:{clamp(e){let t=this.isRange?this.min:this.min;return Math.min(this.max,Math.max(t,e))},percentOf(e){return this.max===this.min?0:(e-this.min)/(this.max-this.min)*100},quantize(e){let t=Math.round((e-this.min)/this.stepSize);return Number((this.min+t*this.stepSize).toFixed(6))},valueAt(e){let t=this.$refs.track.getBoundingClientRect();if(!t.width)return this.min;let a=Math.min(1,Math.max(0,(e-t.left)/t.width));return this.quantize(this.min+a*(this.max-this.min))},emitValue(e){let t=this.isRange?e:e[0];this.$emit("update:modelValue",t)},startDrag(e,t){this.disabled||(t.preventDefault(),t.stopPropagation(),this.dragging=e,window.addEventListener("pointermove",this.onMove),window.addEventListener("pointerup",this.onUp),this.$refs.track.setPointerCapture&&this.$refs.track.setPointerCapture(t.pointerId))},onTrackDown(e){if(this.disabled)return;let t=this.valueAt(e.clientX),a=this.values.slice();if(!this.isRange){this.emitValue([t]),this.startDrag(0,e);return}let i=Math.abs(t-a[0])<=Math.abs(t-a[1])?0:1;a[i]=t,a.sort((n,l)=>n-l),this.emitValue(a),this.startDrag(i,e)},onMove(e){if(this.dragging<0)return;let t=this.valueAt(e.clientX),a=this.values.slice();if(this.isRange){let i=a[1-this.dragging];a[this.dragging]=this.dragging===0?Math.min(t,i):Math.max(t,i)}else a[0]=t;this.emitValue(a)},onUp(){this.dragging<0||(this.dragging=-1,window.removeEventListener("pointermove",this.onMove),window.removeEventListener("pointerup",this.onUp),this.$emit("change",this.isRange?this.values.slice():this.values[0]))},onKey(e,t){if(this.disabled)return;let a=t.key==="ArrowRight"||t.key==="ArrowUp"?this.stepSize:t.key==="ArrowLeft"||t.key==="ArrowDown"?-this.stepSize:0;if(!a)return;t.preventDefault();let i=this.values.slice();i[e]=Math.min(this.max,Math.max(this.min,i[e]+a)),this.isRange&&e===0&&i[0]>i[1]&&(i[0]=i[1]),this.isRange&&e===1&&i[1]<i[0]&&(i[1]=i[0]),this.emitValue(i),this.$emit("change",this.isRange?i:i[0])}},beforeUnmount(){window.removeEventListener("pointermove",this.onMove),window.removeEventListener("pointerup",this.onUp)},template:`
913
913
  <div class="djm-slider" :class="{ 'djm-is-disabled': disabled, 'djm-has-marks': markList.length }">
914
914
  <div class="djm-slider-track" ref="track" @pointerdown="onTrackDown">
915
915
  <div class="djm-slider-rail"></div>
@@ -939,7 +939,7 @@ Minimum version required to store current data is: `+I+`.
939
939
  >{{ mark.label }}</span>
940
940
  </div>
941
941
  </div>
942
- `};var Sa=e=>String(e).padStart(2,"0"),Ht={name:"DjmTimePicker",components:{DjmIcon:L},props:{modelValue:{type:String,default:""},format:{type:String,default:"HH:mm"},minuteStep:{type:Number,default:1},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:"\u9009\u62E9\u65F6\u95F4"},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","change","visible-change"],watch:{open(e){this.$emit("visible-change",e)}},data(){return{open:!1,draft:{h:"00",m:"00",s:"00"},panelStyle:{...ee}}},computed:{hasSeconds(){return this.format.indexOf("ss")>-1},hours(){return Array.from({length:24},(e,t)=>Sa(t))},minutes(){let e=Math.max(1,Math.floor(Number(this.minuteStep))||1),t=[];for(let a=0;a<60;a+=e)t.push(Sa(a));return t},seconds(){return Array.from({length:60},(e,t)=>Sa(t))},columnDefs(){let e=[{key:"h",list:this.hours},{key:"m",list:this.minutes}];return this.hasSeconds&&e.push({key:"s",list:this.seconds}),e}},methods:{openPanel(){if(this.disabled)return;let e=(this.modelValue||"00:00:00").split(":");this.draft={h:e[0]||"00",m:e[1]||"00",s:e[2]||"00"},this.open=!0,this._detachPanel=J({root:()=>this.$refs.root,panel:()=>this.$refs.panel,onClose:this.closePanel,onReposition:this.updatePosition}),requestAnimationFrame(this.updatePosition)},updatePosition(){if(!this.open||!this.$refs.root)return;let e=this.$refs.root.getBoundingClientRect(),t=this.$refs.panel;this.panelStyle=ye({rect:e,flip:ge(e,t?t.offsetHeight:240),clampWidth:t?t.offsetWidth:180})},closePanel(){this.open&&(this.open=!1,this.panelStyle={...ee},this._detachPanel&&(this._detachPanel(),this._detachPanel=null))},pick(e,t){this.draft={...this.draft,[e]:t};let a=this.hasSeconds?this.draft.h+":"+this.draft.m+":"+this.draft.s:this.draft.h+":"+this.draft.m;this.$emit("update:modelValue",a),this.$emit("change",a)},clear(){this.$emit("update:modelValue",""),this.$emit("change","")}},beforeUnmount(){this.closePanel()},template:`
942
+ `};var Ta=e=>String(e).padStart(2,"0"),Kt={name:"DjmTimePicker",components:{DjmIcon:z},props:{modelValue:{type:String,default:""},format:{type:String,default:"HH:mm"},minuteStep:{type:Number,default:1},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:"\u9009\u62E9\u65F6\u95F4"},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","change","visible-change"],watch:{open(e){this.$emit("visible-change",e)}},data(){return{open:!1,draft:{h:"00",m:"00",s:"00"},panelStyle:{...oe}}},computed:{hasSeconds(){return this.format.indexOf("ss")>-1},hours(){return Array.from({length:24},(e,t)=>Ta(t))},minutes(){let e=Math.max(1,Math.floor(Number(this.minuteStep))||1),t=[];for(let a=0;a<60;a+=e)t.push(Ta(a));return t},seconds(){return Array.from({length:60},(e,t)=>Ta(t))},columnDefs(){let e=[{key:"h",list:this.hours},{key:"m",list:this.minutes}];return this.hasSeconds&&e.push({key:"s",list:this.seconds}),e}},methods:{openPanel(){if(this.disabled)return;let e=(this.modelValue||"00:00:00").split(":");this.draft={h:e[0]||"00",m:e[1]||"00",s:e[2]||"00"},this.open=!0,this._detachPanel=ie({root:()=>this.$refs.root,panel:()=>this.$refs.panel,onClose:this.closePanel,onReposition:this.updatePosition}),requestAnimationFrame(this.updatePosition)},updatePosition(){if(!this.open||!this.$refs.root)return;let e=this.$refs.root.getBoundingClientRect(),t=this.$refs.panel;this.panelStyle=xe({rect:e,flip:je(e,t?t.offsetHeight:240),clampWidth:t?t.offsetWidth:180})},closePanel(){this.open&&(this.open=!1,this.panelStyle={...oe},this._detachPanel&&(this._detachPanel(),this._detachPanel=null))},pick(e,t){this.draft={...this.draft,[e]:t};let a=this.hasSeconds?this.draft.h+":"+this.draft.m+":"+this.draft.s:this.draft.h+":"+this.draft.m;this.$emit("update:modelValue",a),this.$emit("change",a)},clear(){this.$emit("update:modelValue",""),this.$emit("change","")}},beforeUnmount(){this.closePanel()},template:`
943
943
  <div class="djm-time-picker" ref="root" :class="{ 'djm-is-disabled': disabled }">
944
944
  <!-- \u7528 div \u627F\u8F7D combobox\uFF0C\u6E05\u7A7A\u6309\u94AE\u4F5C\u4E3A\u5176\u5B50\u5143\u7D20\uFF0C\u907F\u514D\u6309\u94AE\u5D4C\u5957\u6309\u94AE -->
945
945
  <div
@@ -993,7 +993,7 @@ Minimum version required to store current data is: `+I+`.
993
993
  </div>
994
994
  </Teleport>
995
995
  </div>
996
- `};var Ot={name:"DjmColorPicker",props:{modelValue:{type:String,default:""},presets:{type:Array,default:()=>["#145a9f","#2b86d9","#4ec98d","#178050","#e3b45f","#966215","#ef8071","#c0392b","#805ad5","#4a5568","#1e2b3a","#f1f4f9"]},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","visible-change"],data(){return{open:!1,draft:this.modelValue,panelStyle:{...ee}}},watch:{modelValue(e){this.draft=e},open(e){this.$emit("visible-change",e)}},methods:{openPanel(){this.disabled||(this.draft=this.modelValue,this.open=!0,this._detachPanel=J({root:()=>this.$refs.root,panel:()=>this.$refs.panel,onClose:this.closePanel,onReposition:this.updatePosition}),requestAnimationFrame(this.updatePosition))},updatePosition(){if(!this.open||!this.$refs.root)return;let e=this.$refs.root.getBoundingClientRect(),t=this.$refs.panel;this.panelStyle=ye({rect:e,flip:ge(e,t?t.offsetHeight:220),clampWidth:t?t.offsetWidth:220})},closePanel(){this.open&&(this.open=!1,this.panelStyle={...ee},this._detachPanel&&(this._detachPanel(),this._detachPanel=null))},emitColor(e){this.$emit("update:modelValue",e),this.$emit("change",e)},pick(e){this.draft=e,this.emitColor(e)},commitInput(){let e=this.draft.trim();if(!/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)){this.draft=this.modelValue;return}this.emitColor(e.toLowerCase())}},beforeUnmount(){this.closePanel()},template:`
996
+ `};var Wt={name:"DjmColorPicker",props:{modelValue:{type:String,default:""},presets:{type:Array,default:()=>["#145a9f","#2b86d9","#4ec98d","#178050","#e3b45f","#966215","#ef8071","#c0392b","#805ad5","#4a5568","#1e2b3a","#f1f4f9"]},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","visible-change"],data(){return{open:!1,draft:this.modelValue,panelStyle:{...oe}}},watch:{modelValue(e){this.draft=e},open(e){this.$emit("visible-change",e)}},methods:{openPanel(){this.disabled||(this.draft=this.modelValue,this.open=!0,this._detachPanel=ie({root:()=>this.$refs.root,panel:()=>this.$refs.panel,onClose:this.closePanel,onReposition:this.updatePosition}),requestAnimationFrame(this.updatePosition))},updatePosition(){if(!this.open||!this.$refs.root)return;let e=this.$refs.root.getBoundingClientRect(),t=this.$refs.panel;this.panelStyle=xe({rect:e,flip:je(e,t?t.offsetHeight:220),clampWidth:t?t.offsetWidth:220})},closePanel(){this.open&&(this.open=!1,this.panelStyle={...oe},this._detachPanel&&(this._detachPanel(),this._detachPanel=null))},emitColor(e){this.$emit("update:modelValue",e),this.$emit("change",e)},pick(e){this.draft=e,this.emitColor(e)},commitInput(){let e=this.draft.trim();if(!/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)){this.draft=this.modelValue;return}this.emitColor(e.toLowerCase())}},beforeUnmount(){this.closePanel()},template:`
997
997
  <div class="djm-color-picker" ref="root" :class="{ 'djm-is-disabled': disabled }">
998
998
  <button
999
999
  class="djm-input djm-color-trigger"
@@ -1037,7 +1037,7 @@ Minimum version required to store current data is: `+I+`.
1037
1037
  </div>
1038
1038
  </Teleport>
1039
1039
  </div>
1040
- `};var ft={name:"DjmCascader",components:{DjmIcon:L},props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},placeholder:{type:String,default:"\u8BF7\u9009\u62E9"},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","change","visible-change"],watch:{open(e){this.$emit("visible-change",e)}},data(){return{open:!1,activePath:[],panelStyle:{...ee}}},computed:{selectedLabels(){let e=[],t=this.options;for(let a of this.modelValue){let n=(t||[]).find(i=>i.value===a);if(!n)break;e.push(n.label),t=n.children}return e},columns(){let e=[this.options],t=this.options;for(let a=0;a<this.activePath.length;a++){let n=(t||[]).find(i=>i.value===this.activePath[a]);if(!n||!n.children||!n.children.length)break;e.push(n.children),t=n.children}return e}},methods:{t:C,openPanel(){this.disabled||(this.activePath=this.modelValue.slice(),this.open=!0,this._detachPanel=J({root:()=>this.$refs.root,panel:()=>this.$refs.panel,onClose:this.closePanel,onReposition:this.updatePosition}),requestAnimationFrame(this.updatePosition))},updatePosition(){if(!this.open||!this.$refs.root)return;let e=this.$refs.root.getBoundingClientRect(),t=this.$refs.panel;this.panelStyle=ye({rect:e,flip:ge(e,t?t.offsetHeight:240),clampWidth:t?t.offsetWidth:320})},closePanel(){this.open&&(this.open=!1,this.panelStyle={...ee},this._detachPanel&&(this._detachPanel(),this._detachPanel=null))},pick(e,t){this.activePath=this.activePath.slice(0,t).concat(e.value),(!e.children||!e.children.length)&&(this.$emit("update:modelValue",this.activePath.slice()),this.$emit("change",this.activePath.slice()),this.closePanel())},isActive(e,t){return this.activePath[t]===e.value},clear(){this.$emit("update:modelValue",[]),this.$emit("change",[])}},beforeUnmount(){this.closePanel()},template:`
1040
+ `};var vt={name:"DjmCascader",components:{DjmIcon:z},props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},placeholder:{type:String,default:"\u8BF7\u9009\u62E9"},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","change","visible-change"],watch:{open(e){this.$emit("visible-change",e)}},data(){return{open:!1,activePath:[],panelStyle:{...oe}}},computed:{selectedLabels(){let e=[],t=this.options;for(let a of this.modelValue){let i=(t||[]).find(n=>n.value===a);if(!i)break;e.push(i.label),t=i.children}return e},columns(){let e=[this.options],t=this.options;for(let a=0;a<this.activePath.length;a++){let i=(t||[]).find(n=>n.value===this.activePath[a]);if(!i||!i.children||!i.children.length)break;e.push(i.children),t=i.children}return e}},methods:{t:C,openPanel(){this.disabled||(this.activePath=this.modelValue.slice(),this.open=!0,this._detachPanel=ie({root:()=>this.$refs.root,panel:()=>this.$refs.panel,onClose:this.closePanel,onReposition:this.updatePosition}),requestAnimationFrame(this.updatePosition))},updatePosition(){if(!this.open||!this.$refs.root)return;let e=this.$refs.root.getBoundingClientRect(),t=this.$refs.panel;this.panelStyle=xe({rect:e,flip:je(e,t?t.offsetHeight:240),clampWidth:t?t.offsetWidth:320})},closePanel(){this.open&&(this.open=!1,this.panelStyle={...oe},this._detachPanel&&(this._detachPanel(),this._detachPanel=null))},pick(e,t){this.activePath=this.activePath.slice(0,t).concat(e.value),(!e.children||!e.children.length)&&(this.$emit("update:modelValue",this.activePath.slice()),this.$emit("change",this.activePath.slice()),this.closePanel())},isActive(e,t){return this.activePath[t]===e.value},clear(){this.$emit("update:modelValue",[]),this.$emit("change",[])}},beforeUnmount(){this.closePanel()},template:`
1041
1041
  <div class="djm-cascader" ref="root" :class="{ 'djm-is-disabled': disabled }">
1042
1042
  <!-- \u7528 div \u627F\u8F7D combobox\uFF0C\u6E05\u7A7A\u6309\u94AE\u4F5C\u4E3A\u5176\u5B50\u5143\u7D20\uFF0C\u907F\u514D\u6309\u94AE\u5D4C\u5957\u6309\u94AE -->
1043
1043
  <div
@@ -1083,7 +1083,7 @@ Minimum version required to store current data is: `+I+`.
1083
1083
  </div>
1084
1084
  </Teleport>
1085
1085
  </div>
1086
- `};var Da={name:"DjmTransfer",props:{modelValue:{type:Array,default:()=>[]},data:{type:Array,default:()=>[]},titles:{type:Array,default:()=>["\u5F85\u9009","\u5DF2\u9009"]},searchable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],data(){return{checkedLeft:[],checkedRight:[],leftKeyword:"",rightKeyword:""}},watch:{leftKeyword(){this.checkedLeft=this.checkedLeft.filter(e=>this.leftList.some(t=>t.value===e))},rightKeyword(){this.checkedRight=this.checkedRight.filter(e=>this.rightList.some(t=>t.value===e))}},computed:{leftList(){return this.filtered(this.data.filter(e=>this.modelValue.indexOf(e.value)===-1),this.leftKeyword)},rightList(){return this.filtered(this.data.filter(e=>this.modelValue.indexOf(e.value)>-1),this.rightKeyword)},leftAllChecked(){return this.leftList.length>0&&this.leftList.every(e=>this.checkedLeft.indexOf(e.value)>-1)},rightAllChecked(){return this.rightList.length>0&&this.rightList.every(e=>this.checkedRight.indexOf(e.value)>-1)}},methods:{filtered(e,t){let a=t.trim().toLowerCase();return a?e.filter(n=>n.label.toLowerCase().indexOf(a)>-1):e},toggleLeft(e){e.disabled||this.disabled||(this.checkedLeft=this.toggleValue(this.checkedLeft,e.value))},toggleRight(e){e.disabled||this.disabled||(this.checkedRight=this.toggleValue(this.checkedRight,e.value))},toggleValue(e,t){return e.indexOf(t)>-1?e.filter(a=>a!==t):e.concat(t)},toggleAll(e){if(!this.disabled)if(e==="left"){let t=this.leftList.filter(a=>!a.disabled).map(a=>a.value);this.checkedLeft=this.leftAllChecked?[]:t}else{let t=this.rightList.filter(a=>!a.disabled).map(a=>a.value);this.checkedRight=this.rightAllChecked?[]:t}},move(e){if(this.disabled)return;let t;if(e==="right"){let a=this.checkedLeft.filter(n=>{let i=this.data.find(l=>l.value===n);return i&&!i.disabled});t=this.modelValue.concat(a),this.checkedLeft=[]}else t=this.modelValue.filter(a=>this.checkedRight.indexOf(a)===-1),this.checkedRight=[];this.$emit("update:modelValue",t),this.$emit("change",t)}},template:`
1086
+ `};var Ia={name:"DjmTransfer",props:{modelValue:{type:Array,default:()=>[]},data:{type:Array,default:()=>[]},titles:{type:Array,default:()=>["\u5F85\u9009","\u5DF2\u9009"]},searchable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],data(){return{checkedLeft:[],checkedRight:[],leftKeyword:"",rightKeyword:""}},watch:{leftKeyword(){this.checkedLeft=this.checkedLeft.filter(e=>this.leftList.some(t=>t.value===e))},rightKeyword(){this.checkedRight=this.checkedRight.filter(e=>this.rightList.some(t=>t.value===e))}},computed:{leftList(){return this.filtered(this.data.filter(e=>this.modelValue.indexOf(e.value)===-1),this.leftKeyword)},rightList(){return this.filtered(this.data.filter(e=>this.modelValue.indexOf(e.value)>-1),this.rightKeyword)},leftAllChecked(){return this.leftList.length>0&&this.leftList.every(e=>this.checkedLeft.indexOf(e.value)>-1)},rightAllChecked(){return this.rightList.length>0&&this.rightList.every(e=>this.checkedRight.indexOf(e.value)>-1)}},methods:{filtered(e,t){let a=t.trim().toLowerCase();return a?e.filter(i=>i.label.toLowerCase().indexOf(a)>-1):e},toggleLeft(e){e.disabled||this.disabled||(this.checkedLeft=this.toggleValue(this.checkedLeft,e.value))},toggleRight(e){e.disabled||this.disabled||(this.checkedRight=this.toggleValue(this.checkedRight,e.value))},toggleValue(e,t){return e.indexOf(t)>-1?e.filter(a=>a!==t):e.concat(t)},toggleAll(e){if(!this.disabled)if(e==="left"){let t=this.leftList.filter(a=>!a.disabled).map(a=>a.value);this.checkedLeft=this.leftAllChecked?[]:t}else{let t=this.rightList.filter(a=>!a.disabled).map(a=>a.value);this.checkedRight=this.rightAllChecked?[]:t}},move(e){if(this.disabled)return;let t;if(e==="right"){let a=this.checkedLeft.filter(i=>{let n=this.data.find(l=>l.value===i);return n&&!n.disabled});t=this.modelValue.concat(a),this.checkedLeft=[]}else t=this.modelValue.filter(a=>this.checkedRight.indexOf(a)===-1),this.checkedRight=[];this.$emit("update:modelValue",t),this.$emit("change",t)}},template:`
1087
1087
  <div class="djm-transfer" :class="{ 'djm-is-disabled': disabled }">
1088
1088
  <div class="djm-transfer-panel">
1089
1089
  <div class="djm-transfer-head">
@@ -1140,7 +1140,7 @@ Minimum version required to store current data is: `+I+`.
1140
1140
  </div>
1141
1141
  </div>
1142
1142
  </div>
1143
- `};var ol={info:"info",success:"check",warning:"alert",danger:"alert"},Ta={name:"DjmAlert",components:{DjmIcon:L},props:{tone:{type:String,default:"info"},title:{type:String,default:""},closable:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!0}},emits:["close"],computed:{iconName(){return ol[this.tone]||"info"}},template:`
1143
+ `};var fl={info:"info",success:"check",warning:"alert",danger:"alert"},La={name:"DjmAlert",components:{DjmIcon:z},props:{tone:{type:String,default:"info"},title:{type:String,default:""},closable:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!0}},emits:["close"],computed:{iconName(){return fl[this.tone]||"info"}},template:`
1144
1144
  <div class="djm-alert" :class="'djm-alert-' + tone" role="alert">
1145
1145
  <DjmIcon v-if="showIcon" :name="iconName" :size="14" />
1146
1146
  <div class="djm-alert-body">
@@ -1157,7 +1157,7 @@ Minimum version required to store current data is: `+I+`.
1157
1157
  <DjmIcon name="x" :size="12" />
1158
1158
  </button>
1159
1159
  </div>
1160
- `};var Ma={name:"DjmSpin",props:{spinning:{type:Boolean,default:!0},size:{type:String,default:"md"},tip:{type:String,default:""}},computed:{wrapped(){return!!this.$slots.default}},template:`
1160
+ `};var Aa={name:"DjmSpin",props:{spinning:{type:Boolean,default:!0},size:{type:String,default:"md"},tip:{type:String,default:""}},computed:{wrapped(){return!!this.$slots.default}},template:`
1161
1161
  <div
1162
1162
  v-if="wrapped"
1163
1163
  class="djm-spin-wrap"
@@ -1180,7 +1180,7 @@ Minimum version required to store current data is: `+I+`.
1180
1180
  <span class="djm-spinner"></span>
1181
1181
  <span v-if="tip" class="djm-spin-tip">{{ tip }}</span>
1182
1182
  </span>
1183
- `};var be=require("vue");var Ca={name:"DjmPopconfirm",components:{DjmIcon:L},props:{content:{type:String,default:""},confirmText:{type:String,default:"\u786E\u5B9A"},cancelText:{type:String,default:"\u53D6\u6D88"},tone:{type:String,default:"danger"},placement:{type:String,default:"top"},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel","visible-change"],setup(e,{emit:t}){let a=(0,be.ref)(!1),n=(0,be.ref)(null),i=(0,be.ref)(null),l=(0,be.ref)({}),o=244,r=null;function s(){let h=n.value&&n.value.querySelector(".djm-popconfirm-trigger");if(!h)return;let b=h.querySelector('button, a[href], [role="button"]'),j=b||h;b||(j.setAttribute("role","button"),j.setAttribute("tabindex","0")),j.setAttribute("aria-haspopup","dialog"),j.setAttribute("aria-expanded",String(a.value))}(0,be.onMounted)(()=>(0,be.nextTick)(s)),(0,be.watch)(a,()=>(0,be.nextTick)(s));function d(){if(!a.value||!n.value)return;let h=n.value.getBoundingClientRect(),b={position:"fixed",width:o+"px"};(e.placement==="top"||window.innerHeight-h.bottom<120)&&h.top>120?b.bottom=window.innerHeight-h.top+8+"px":b.top=h.bottom+8+"px",b.left=Math.max(8,Math.min(h.left,window.innerWidth-o-8))+"px",l.value=b}function f(){e.disabled||a.value||(a.value=!0,t("visible-change",!0),r=J({root:()=>n.value,panel:()=>i.value,onClose:c,onReposition:d}),requestAnimationFrame(d),(0,be.nextTick)(()=>{let h=i.value&&i.value.querySelector("button");h&&h.focus()}))}function c(){if(!a.value)return;let h=i.value&&i.value.contains(document.activeElement);a.value=!1,l.value={},t("visible-change",!1),r&&(r(),r=null),h&&(0,be.nextTick)(()=>{let b=n.value&&n.value.querySelector(".djm-popconfirm-trigger"),j=b&&(b.querySelector('button, a[href], [role="button"]')||b);j&&j.focus()})}function p(){e.disabled||(a.value?c():f())}function g(){t("confirm"),c()}function m(){t("cancel"),c()}return(0,be.onBeforeUnmount)(c),{open:a,root:n,panelEl:i,panelStyle:l,toggle:p,close:c,confirm:g,cancel:m}},template:`
1183
+ `};var ke=require("vue");var za={name:"DjmPopconfirm",components:{DjmIcon:z},props:{content:{type:String,default:""},confirmText:{type:String,default:"\u786E\u5B9A"},cancelText:{type:String,default:"\u53D6\u6D88"},tone:{type:String,default:"danger"},placement:{type:String,default:"top"},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel","visible-change"],setup(e,{emit:t}){let a=(0,ke.ref)(!1),i=(0,ke.ref)(null),n=(0,ke.ref)(null),l=(0,ke.ref)({}),r=244,o=null;function s(){let g=i.value&&i.value.querySelector(".djm-popconfirm-trigger");if(!g)return;let y=g.querySelector('button, a[href], [role="button"]'),j=y||g;y||(j.setAttribute("role","button"),j.setAttribute("tabindex","0")),j.setAttribute("aria-haspopup","dialog"),j.setAttribute("aria-expanded",String(a.value))}(0,ke.onMounted)(()=>(0,ke.nextTick)(s)),(0,ke.watch)(a,()=>(0,ke.nextTick)(s));function d(){if(!a.value||!i.value)return;let g=i.value.getBoundingClientRect(),y={position:"fixed",width:r+"px"};(e.placement==="top"||window.innerHeight-g.bottom<120)&&g.top>120?y.bottom=window.innerHeight-g.top+8+"px":y.top=g.bottom+8+"px",y.left=Math.max(8,Math.min(g.left,window.innerWidth-r-8))+"px",l.value=y}function p(){e.disabled||a.value||(a.value=!0,t("visible-change",!0),o=ie({root:()=>i.value,panel:()=>n.value,onClose:c,onReposition:d}),requestAnimationFrame(d),(0,ke.nextTick)(()=>{let g=n.value&&n.value.querySelector("button");g&&g.focus()}))}function c(){if(!a.value)return;let g=n.value&&n.value.contains(document.activeElement);a.value=!1,l.value={},t("visible-change",!1),o&&(o(),o=null),g&&(0,ke.nextTick)(()=>{let y=i.value&&i.value.querySelector(".djm-popconfirm-trigger"),j=y&&(y.querySelector('button, a[href], [role="button"]')||y);j&&j.focus()})}function h(){e.disabled||(a.value?c():p())}function v(){t("confirm"),c()}function u(){t("cancel"),c()}return(0,ke.onBeforeUnmount)(c),{open:a,root:i,panelEl:n,panelStyle:l,toggle:h,close:c,confirm:v,cancel:u}},template:`
1184
1184
  <span class="djm-popconfirm" ref="root">
1185
1185
  <span
1186
1186
  class="djm-popconfirm-trigger"
@@ -1217,7 +1217,7 @@ Minimum version required to store current data is: `+I+`.
1217
1217
  </Transition>
1218
1218
  </Teleport>
1219
1219
  </span>
1220
- `};var Je=require("vue"),Ea={name:"DjmAnchor",props:{items:{type:Array,default:()=>[]},offset:{type:Number,default:12},container:{type:String,default:""},title:{type:String,default:""},smooth:{type:Boolean,default:!0}},emits:["change"],setup(e,{emit:t}){let a=(0,Je.ref)(null),n=(0,Je.ref)(""),i=null,l=null;function o(){return e.container?document.querySelector(e.container):a.value&&a.value.closest(".djm-content")||window}function r(g){return g===window?window.scrollY:g.scrollTop}function s(g){return g===window?0:g.getBoundingClientRect().top}function d(){if(!l)return;let g=r(l)+e.offset,m=e.items.length?e.items[0].href:"";for(let h of e.items){let b=document.querySelector(h.href);if(!b)continue;b.getBoundingClientRect().top-s(l)+r(l)<=g&&(m=h.href)}m&&m!==n.value&&(n.value=m,t("change",m))}function f(){c(),l=o(),l&&(i=l===window?window:l,i.addEventListener("scroll",d,{passive:!0}),window.addEventListener("resize",d),d())}function c(){i&&(i.removeEventListener("scroll",d),window.removeEventListener("resize",d),i=null,l=null)}function p(g){let m=document.querySelector(g.href);if(!m||!l)return;let h=m.getBoundingClientRect().top-s(l)+r(l)-e.offset,b=e.smooth?"smooth":"auto";l===window?window.scrollTo({top:Math.max(0,h),behavior:b}):l.scrollTo({top:Math.max(0,h),behavior:b}),n.value=g.href,t("change",g.href)}return(0,Je.onMounted)(f),(0,Je.watch)(()=>e.container,f),(0,Je.onBeforeUnmount)(c),{root:a,activeKey:n,go:p}},template:`
1220
+ `};var Ze=require("vue"),Pa={name:"DjmAnchor",props:{items:{type:Array,default:()=>[]},offset:{type:Number,default:12},container:{type:String,default:""},title:{type:String,default:""},smooth:{type:Boolean,default:!0}},emits:["change"],setup(e,{emit:t}){let a=(0,Ze.ref)(null),i=(0,Ze.ref)(""),n=null,l=null;function r(){return e.container?document.querySelector(e.container):a.value&&a.value.closest(".djm-content")||window}function o(v){return v===window?window.scrollY:v.scrollTop}function s(v){return v===window?0:v.getBoundingClientRect().top}function d(){if(!l)return;let v=o(l)+e.offset,u=e.items.length?e.items[0].href:"";for(let g of e.items){let y=document.querySelector(g.href);if(!y)continue;y.getBoundingClientRect().top-s(l)+o(l)<=v&&(u=g.href)}u&&u!==i.value&&(i.value=u,t("change",u))}function p(){c(),l=r(),l&&(n=l===window?window:l,n.addEventListener("scroll",d,{passive:!0}),window.addEventListener("resize",d),d())}function c(){n&&(n.removeEventListener("scroll",d),window.removeEventListener("resize",d),n=null,l=null)}function h(v){let u=document.querySelector(v.href);if(!u||!l)return;let g=u.getBoundingClientRect().top-s(l)+o(l)-e.offset,y=e.smooth?"smooth":"auto";l===window?window.scrollTo({top:Math.max(0,g),behavior:y}):l.scrollTo({top:Math.max(0,g),behavior:y}),i.value=v.href,t("change",v.href)}return(0,Ze.onMounted)(p),(0,Ze.watch)(()=>e.container,p),(0,Ze.onBeforeUnmount)(c),{root:a,activeKey:i,go:h}},template:`
1221
1221
  <nav ref="root" class="djm-anchor" aria-label="\u9875\u5185\u5BFC\u822A">
1222
1222
  <div v-if="title" class="djm-anchor-title">{{ title }}</div>
1223
1223
  <ul class="djm-anchor-list">
@@ -1232,7 +1232,7 @@ Minimum version required to store current data is: `+I+`.
1232
1232
  </li>
1233
1233
  </ul>
1234
1234
  </nav>
1235
- `};var pt=require("vue");var Ia={name:"DjmBacktop",components:{DjmIcon:L},props:{visibilityHeight:{type:Number,default:320},container:{type:String,default:""},right:{type:Number,default:24},bottom:{type:Number,default:24},smooth:{type:Boolean,default:!0}},emits:["click"],setup(e,{emit:t}){let a=(0,pt.ref)(!1),n=(0,pt.ref)(null),i=null,l=null;function o(){return e.container?document.querySelector(e.container):n.value&&n.value.closest(".djm-content")||window}function r(){if(!i)return;let c=i===window?window.scrollY:i.scrollTop;a.value=c>e.visibilityHeight}function s(){d(),i=o(),i&&(l=i===window?window:i,l.addEventListener("scroll",r,{passive:!0}),r())}function d(){l&&(l.removeEventListener("scroll",r),l=null,i=null)}function f(){if(!i)return;let c=e.smooth?"smooth":"auto";i===window?window.scrollTo({top:0,behavior:c}):i.scrollTo({top:0,behavior:c}),t("click")}return(0,pt.onMounted)(s),(0,pt.onBeforeUnmount)(d),{visible:a,root:n,toTop:f}},template:`
1235
+ `};var gt=require("vue");var Ba={name:"DjmBacktop",components:{DjmIcon:z},props:{visibilityHeight:{type:Number,default:320},container:{type:String,default:""},right:{type:Number,default:24},bottom:{type:Number,default:24},smooth:{type:Boolean,default:!0}},emits:["click"],setup(e,{emit:t}){let a=(0,gt.ref)(!1),i=(0,gt.ref)(null),n=null,l=null;function r(){return e.container?document.querySelector(e.container):i.value&&i.value.closest(".djm-content")||window}function o(){if(!n)return;let c=n===window?window.scrollY:n.scrollTop;a.value=c>e.visibilityHeight}function s(){d(),n=r(),n&&(l=n===window?window:n,l.addEventListener("scroll",o,{passive:!0}),o())}function d(){l&&(l.removeEventListener("scroll",o),l=null,n=null)}function p(){if(!n)return;let c=e.smooth?"smooth":"auto";n===window?window.scrollTo({top:0,behavior:c}):n.scrollTo({top:0,behavior:c}),t("click")}return(0,gt.onMounted)(s),(0,gt.onBeforeUnmount)(d),{visible:a,root:i,toTop:p}},template:`
1236
1236
  <span ref="root" class="djm-backtop-host">
1237
1237
  <Transition name="djm-fade">
1238
1238
  <button
@@ -1247,7 +1247,7 @@ Minimum version required to store current data is: `+I+`.
1247
1247
  </button>
1248
1248
  </Transition>
1249
1249
  </span>
1250
- `};var La={name:"DjmDivider",props:{vertical:{type:Boolean,default:!1}},computed:{withText(){return!this.vertical&&!!this.$slots.default}},template:`
1250
+ `};var Na={name:"DjmDivider",props:{vertical:{type:Boolean,default:!1}},computed:{withText(){return!this.vertical&&!!this.$slots.default}},template:`
1251
1251
  <div
1252
1252
  class="djm-divider"
1253
1253
  :class="vertical ? 'djm-is-vertical' : ['djm-is-horizontal', { 'djm-is-text': withText }]"
@@ -1256,7 +1256,7 @@ Minimum version required to store current data is: `+I+`.
1256
1256
  >
1257
1257
  <span v-if="withText" class="djm-divider-text"><slot /></span>
1258
1258
  </div>
1259
- `};var Aa={name:"DjmSpace",props:{size:{type:[Number,String],default:8},direction:{type:String,default:"horizontal"},align:{type:String,default:"center"},wrap:{type:Boolean,default:!1}},computed:{gap(){return typeof this.size=="number"?this.size+"px":this.size}},template:`
1259
+ `};var Ra={name:"DjmSpace",props:{size:{type:[Number,String],default:8},direction:{type:String,default:"horizontal"},align:{type:String,default:"center"},wrap:{type:Boolean,default:!1}},computed:{gap(){return typeof this.size=="number"?this.size+"px":this.size}},template:`
1260
1260
  <div
1261
1261
  class="djm-space"
1262
1262
  :class="[
@@ -1268,13 +1268,13 @@ Minimum version required to store current data is: `+I+`.
1268
1268
  >
1269
1269
  <slot />
1270
1270
  </div>
1271
- `};var Xe=require("vue"),Pa={name:"DjmAffix",props:{offsetTop:{type:Number,default:0},offsetBottom:{type:Number,default:null},container:{type:String,default:""},zIndex:{type:Number,default:900}},setup(e){let t=(0,Xe.ref)(null),a=(0,Xe.ref)(!1),n=(0,Xe.ref)({}),i=(0,Xe.ref)({}),l=null,o=null;function r(){return e.container?document.querySelector(e.container):t.value&&t.value.closest(".djm-content")||window}function s(g,m){a.value||(i.value={height:m.height+"px"},a.value=!0),n.value={position:"fixed",left:m.left+"px",width:m.width+"px",zIndex:e.zIndex,...g}}function d(){a.value&&(a.value=!1,n.value={},i.value={})}function f(){if(!l||!t.value)return;let g=t.value.getBoundingClientRect(),m=l===window?0:l.getBoundingClientRect().top;if(typeof e.offsetBottom=="number"){let h=window.innerHeight-e.offsetBottom;g.bottom>=h?s({bottom:e.offsetBottom+"px"},g):d();return}g.top<m+e.offsetTop?s({top:e.offsetTop+"px"},g):d()}function c(){p(),l=r(),l&&(o=l===window?window:l,o.addEventListener("scroll",f,{passive:!0}),window.addEventListener("resize",f),f())}function p(){o&&(o.removeEventListener("scroll",f),window.removeEventListener("resize",f),o=null,l=null)}return(0,Xe.onMounted)(c),(0,Xe.onBeforeUnmount)(p),{root:t,fixed:a,affixStyle:n,holderStyle:i}},template:`
1271
+ `};var et=require("vue"),Va={name:"DjmAffix",props:{offsetTop:{type:Number,default:0},offsetBottom:{type:Number,default:null},container:{type:String,default:""},zIndex:{type:Number,default:900}},setup(e){let t=(0,et.ref)(null),a=(0,et.ref)(!1),i=(0,et.ref)({}),n=(0,et.ref)({}),l=null,r=null;function o(){return e.container?document.querySelector(e.container):t.value&&t.value.closest(".djm-content")||window}function s(v,u){a.value||(n.value={height:u.height+"px"},a.value=!0),i.value={position:"fixed",left:u.left+"px",width:u.width+"px",zIndex:e.zIndex,...v}}function d(){a.value&&(a.value=!1,i.value={},n.value={})}function p(){if(!l||!t.value)return;let v=t.value.getBoundingClientRect(),u=l===window?0:l.getBoundingClientRect().top;if(typeof e.offsetBottom=="number"){let g=window.innerHeight-e.offsetBottom;v.bottom>=g?s({bottom:e.offsetBottom+"px"},v):d();return}v.top<u+e.offsetTop?s({top:e.offsetTop+"px"},v):d()}function c(){h(),l=o(),l&&(r=l===window?window:l,r.addEventListener("scroll",p,{passive:!0}),window.addEventListener("resize",p),p())}function h(){r&&(r.removeEventListener("scroll",p),window.removeEventListener("resize",p),r=null,l=null)}return(0,et.onMounted)(c),(0,et.onBeforeUnmount)(h),{root:t,fixed:a,affixStyle:i,holderStyle:n}},template:`
1272
1272
  <div ref="root" class="djm-affix" :style="holderStyle">
1273
1273
  <div class="djm-affix-inner" :class="{ 'djm-is-fixed': fixed }" :style="affixStyle">
1274
1274
  <slot />
1275
1275
  </div>
1276
1276
  </div>
1277
- `};var za={name:"DjmSegmented",props:{modelValue:{type:[String,Number],default:""},options:{type:Array,default:()=>[]},ariaLabel:{type:String,default:"\u5206\u6BB5\u5207\u6362"}},emits:["update:modelValue","change"],methods:{isActive(e){return e.value===this.modelValue},select(e){e.disabled||this.isActive(e)||(this.$emit("update:modelValue",e.value),this.$emit("change",e.value))}},template:`
1277
+ `};var Ha={name:"DjmSegmented",props:{modelValue:{type:[String,Number],default:""},options:{type:Array,default:()=>[]},ariaLabel:{type:String,default:"\u5206\u6BB5\u5207\u6362"}},emits:["update:modelValue","change"],methods:{isActive(e){return e.value===this.modelValue},select(e){e.disabled||this.isActive(e)||(this.$emit("update:modelValue",e.value),this.$emit("change",e.value))}},template:`
1278
1278
  <div class="djm-segmented" role="group" :aria-label="ariaLabel">
1279
1279
  <button
1280
1280
  v-for="item in options"
@@ -1290,7 +1290,7 @@ Minimum version required to store current data is: `+I+`.
1290
1290
  <span v-if="item.badge !== undefined && item.badge !== null" class="djm-segmented-badge">{{ item.badge }}</span>
1291
1291
  </button>
1292
1292
  </div>
1293
- `};var ze=require("vue");var $t=0,si="",Ba=!1;function rl(){return Math.max(0,window.innerWidth-document.documentElement.clientWidth)}function nt(){if($t===0){let e=rl();if(e>0){si=document.body.style.paddingRight;let t=parseFloat(window.getComputedStyle(document.body).paddingRight)||0;document.body.style.paddingRight=t+e+"px",Ba=!0}document.body.classList.add("djm-no-scroll")}$t+=1}function He(){$t!==0&&($t-=1,!($t>0)&&(document.body.classList.remove("djm-no-scroll"),Ba&&(document.body.style.paddingRight=si,Ba=!1)))}var Na={name:"DjmImage",components:{DjmIcon:L},props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[Number,String],default:""},height:{type:[Number,String],default:""},fit:{type:String,default:"cover"},preview:{type:Boolean,default:!0}},setup(e){let t=(0,ze.ref)(!1),a=(0,ze.ref)(!1),n=(0,ze.ref)(null),i=(0,ze.ref)(null);(0,ze.watch)(()=>e.src,()=>{t.value=!1});function l(d){return typeof d=="number"?d+"px":d}function o(d){d.key==="Escape"&&s()}async function r(){t.value||!e.src||(a.value=!0,nt(),document.addEventListener("keydown",o),await(0,ze.nextTick)(),i.value&&i.value.focus())}function s(){a.value&&(a.value=!1,He(),document.removeEventListener("keydown",o),n.value&&n.value.focus())}return(0,ze.onBeforeUnmount)(s),{failed:t,open:a,zoomRef:n,closeRef:i,toSize:l,openPreview:r,closePreview:s,t:C}},template:`
1293
+ `};var Re=require("vue");var Ut=0,mn="",Oa=!1;function pl(){return Math.max(0,window.innerWidth-document.documentElement.clientWidth)}function ot(){if(Ut===0){let e=pl();if(e>0){mn=document.body.style.paddingRight;let t=parseFloat(window.getComputedStyle(document.body).paddingRight)||0;document.body.style.paddingRight=t+e+"px",Oa=!0}document.body.classList.add("djm-no-scroll")}Ut+=1}function $e(){Ut!==0&&(Ut-=1,!(Ut>0)&&(document.body.classList.remove("djm-no-scroll"),Oa&&(document.body.style.paddingRight=mn,Oa=!1)))}var $a={name:"DjmImage",components:{DjmIcon:z},props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[Number,String],default:""},height:{type:[Number,String],default:""},fit:{type:String,default:"cover"},preview:{type:Boolean,default:!0}},setup(e){let t=(0,Re.ref)(!1),a=(0,Re.ref)(!1),i=(0,Re.ref)(null),n=(0,Re.ref)(null);(0,Re.watch)(()=>e.src,()=>{t.value=!1});function l(d){return typeof d=="number"?d+"px":d}function r(d){d.key==="Escape"&&s()}async function o(){t.value||!e.src||(a.value=!0,ot(),document.addEventListener("keydown",r),await(0,Re.nextTick)(),n.value&&n.value.focus())}function s(){a.value&&(a.value=!1,$e(),document.removeEventListener("keydown",r),i.value&&i.value.focus())}return(0,Re.onBeforeUnmount)(s),{failed:t,open:a,zoomRef:i,closeRef:n,toSize:l,openPreview:o,closePreview:s,t:C}},template:`
1294
1294
  <div
1295
1295
  class="djm-image"
1296
1296
  :style="{ width: toSize(width), height: toSize(height) }"
@@ -1338,12 +1338,12 @@ Minimum version required to store current data is: `+I+`.
1338
1338
  </div>
1339
1339
  </Teleport>
1340
1340
  </div>
1341
- `};var Oe=require("vue");var Va=require("vue"),di="djm-theme",Ra="djm-primary",Qe=(0,Va.ref)("light"),ci=[{name:"\u9ED8\u8BA4\u84DD",value:"#1a6fc4"},{name:"\u79D1\u6280\u84DD",value:"#2563eb"},{name:"\u9752\u78A7",value:"#0f8b8d"},{name:"\u7FE1\u7FE0\u7EFF",value:"#12855a"},{name:"\u5178\u96C5\u7D2B",value:"#6d4ad8"},{name:"\u7425\u73C0\u6A59",value:"#b8620f"},{name:"\u6731\u7802\u7EA2",value:"#c0392b"},{name:"\u77F3\u58A8\u7070",value:"#4b5b6b"}],Ft=(0,Va.ref)(""),sl=["--djm-brand-50","--djm-brand-100","--djm-brand-200","--djm-brand-500","--djm-brand-600","--djm-brand-700","--djm-brand-800","--djm-brand-solid","--djm-brand-solid-hover","--djm-brand-soft","--djm-info","--djm-info-bg","--djm-info-border"];function dl(e){let t=String(e||"").replace("#",""),a=t.length===3?t.split("").map(p=>p+p).join(""):t;if(!/^[0-9a-fA-F]{6}$/.test(a))return{h:206,s:76,l:44};let n=parseInt(a.slice(0,2),16)/255,i=parseInt(a.slice(2,4),16)/255,l=parseInt(a.slice(4,6),16)/255,o=Math.max(n,i,l),r=Math.min(n,i,l),s=(o+r)/2;if(o===r)return{h:0,s:0,l:Math.round(s*100)};let d=o-r,f=s>.5?d/(2-o-r):d/(o+r),c;return o===n?c=((i-l)/d+(i<l?6:0))*60:o===i?c=((l-n)/d+2)*60:c=((n-i)/d+4)*60,{h:Math.round(c),s:Math.round(f*100),l:Math.round(s*100)}}function te(e,t,a){let n=Math.min(100,Math.max(0,t))/100,i=Math.min(100,Math.max(0,a))/100,l=(1-Math.abs(2*i-1))*n,o=l*(1-Math.abs(e/60%2-1)),r=i-l/2,s;return e<60?s=[l,o,0]:e<120?s=[o,l,0]:e<180?s=[0,l,o]:e<240?s=[0,o,l]:e<300?s=[o,0,l]:s=[l,0,o],"#"+s.map(d=>Math.round((d+r)*255).toString(16).padStart(2,"0")).join("")}function cl(e,t){let{h:a,s:n,l:i}=dl(e),l=Math.min(Math.max(n,20),92),o=r=>Math.min(97,Math.max(8,r));if(t){let r=Math.min(36,i);return{"--djm-brand-50":te(a,Math.min(40,l*.5),14),"--djm-brand-100":te(a,Math.min(42,l*.55),19),"--djm-brand-200":te(a,Math.min(46,l*.6),27),"--djm-brand-500":te(a,l,o(i+18)),"--djm-brand-600":te(a,l,o(i+12)),"--djm-brand-700":te(a,l*.95,o(i+30)),"--djm-brand-800":te(a,l*.9,o(i+40)),"--djm-brand-solid":te(a,l,r),"--djm-brand-solid-hover":te(a,l,Math.max(10,r-6)),"--djm-brand-soft":te(a,Math.min(40,l*.5),18),"--djm-info":te(a,l*.95,o(i+34)),"--djm-info-bg":te(a,Math.min(38,l*.48),16),"--djm-info-border":te(a,Math.min(44,l*.58),26)}}return{"--djm-brand-50":te(a,Math.min(95,l*1.05),96),"--djm-brand-100":te(a,Math.min(92,l),92),"--djm-brand-200":te(a,Math.min(88,l*.95),84),"--djm-brand-500":te(a,l,o(i+7)),"--djm-brand-600":te(a,l,o(i)),"--djm-brand-700":te(a,l,o(i-7)),"--djm-brand-800":te(a,l,o(i-14)),"--djm-brand-solid":te(a,l,o(i)),"--djm-brand-solid-hover":te(a,l,o(i-7)),"--djm-brand-soft":te(a,Math.min(90,l*1.05),96),"--djm-info":te(a,l,o(i-7)),"--djm-info-bg":te(a,Math.min(90,l*1.05),96),"--djm-info-border":te(a,Math.min(85,l*.9),86)}}function ui(e){let t=document.documentElement;if(!e){sl.forEach(n=>t.style.removeProperty(n));return}let a=cl(e,Qe.value==="dark");Object.keys(a).forEach(n=>t.style.setProperty(n,a[n]))}function Ha(e){Ft.value=e||"",ui(e||"");try{e?localStorage.setItem(Ra,e):localStorage.removeItem(Ra)}catch{}}function mi(){Ha("")}function _t(e){Qe.value=e==="dark"?"dark":"light",document.documentElement.dataset.djmTheme=Qe.value,ui(Ft.value);try{localStorage.setItem(di,Qe.value)}catch{}}function fi(){_t(Qe.value==="dark"?"light":"dark")}function pi(){let e="";try{e=localStorage.getItem(di)||""}catch{e=""}let t="";try{t=new URLSearchParams(window.location.search).get("theme")||""}catch{t=""}let a="";try{a=localStorage.getItem(Ra)||""}catch{a=""}a&&(Ft.value=a),_t(t==="dark"||t==="light"?t:e||"light")}var Oa={name:"DjmWatermark",props:{content:{type:[String,Array],default:"\u5185\u90E8\u8D44\u6599"},gap:{type:Number,default:80},fontSize:{type:Number,default:14},color:{type:String,default:""},rotate:{type:Number,default:-20},zIndex:{type:Number,default:10}},setup(e){let t=(0,Oe.ref)(""),a=null;function n(){let l=(Array.isArray(e.content)?e.content:[e.content]).filter(Boolean);if(!l.length){t.value="";return}a||(a=document.createElement("canvas"));let o=a.getContext("2d"),r=window.devicePixelRatio||1,s=Math.round(e.fontSize*1.6),d=e.fontSize+'px -apple-system, "PingFang SC", sans-serif';o.font=d;let f=Math.max(...l.map(j=>o.measureText(j).width)),c=s*l.length,p=e.rotate*Math.PI/180,g=Math.abs(Math.cos(p)),m=Math.abs(Math.sin(p)),h=Math.ceil(f*g+c*m+e.gap),b=Math.ceil(f*m+c*g+e.gap);a.width=h*r,a.height=b*r,o.scale(r,r),o.clearRect(0,0,h,b),o.translate(h/2,b/2),o.rotate(e.rotate*Math.PI/180),o.fillStyle=e.color||getComputedStyle(document.documentElement).getPropertyValue("--djm-watermark").trim()||"rgba(0, 0, 0, 0.08)",o.font=d,o.textAlign="center",o.textBaseline="middle",l.forEach((j,w)=>{let y=(w-(l.length-1)/2)*s;o.fillText(j,0,y)}),t.value=a.toDataURL("image/png")}let i=(0,Oe.computed)(()=>({backgroundImage:t.value?"url("+t.value+")":"none",zIndex:e.zIndex}));return(0,Oe.onMounted)(n),(0,Oe.watch)(()=>[e.content,e.gap,e.fontSize,e.color,e.rotate,Qe.value],n,{deep:!0}),(0,Oe.onBeforeUnmount)(()=>{a=null}),{layerStyle:i}},template:`
1341
+ `};var Fe=require("vue");var Ka=require("vue"),fn="djm-theme",Fa="djm-primary",tt=(0,Ka.ref)("light"),pn=[{name:"\u9ED8\u8BA4\u84DD",value:"#1a6fc4"},{name:"\u79D1\u6280\u84DD",value:"#2563eb"},{name:"\u9752\u78A7",value:"#0f8b8d"},{name:"\u7FE1\u7FE0\u7EFF",value:"#12855a"},{name:"\u5178\u96C5\u7D2B",value:"#6d4ad8"},{name:"\u7425\u73C0\u6A59",value:"#b8620f"},{name:"\u6731\u7802\u7EA2",value:"#c0392b"},{name:"\u77F3\u58A8\u7070",value:"#4b5b6b"}],qt=(0,Ka.ref)(""),hl=["--djm-brand-50","--djm-brand-100","--djm-brand-200","--djm-brand-500","--djm-brand-600","--djm-brand-700","--djm-brand-800","--djm-brand-solid","--djm-brand-solid-hover","--djm-brand-soft","--djm-info","--djm-info-bg","--djm-info-border"];function vl(e){let t=String(e||"").replace("#",""),a=t.length===3?t.split("").map(h=>h+h).join(""):t;if(!/^[0-9a-fA-F]{6}$/.test(a))return{h:206,s:76,l:44};let i=parseInt(a.slice(0,2),16)/255,n=parseInt(a.slice(2,4),16)/255,l=parseInt(a.slice(4,6),16)/255,r=Math.max(i,n,l),o=Math.min(i,n,l),s=(r+o)/2;if(r===o)return{h:0,s:0,l:Math.round(s*100)};let d=r-o,p=s>.5?d/(2-r-o):d/(r+o),c;return r===i?c=((n-l)/d+(n<l?6:0))*60:r===n?c=((l-i)/d+2)*60:c=((i-n)/d+4)*60,{h:Math.round(c),s:Math.round(p*100),l:Math.round(s*100)}}function re(e,t,a){let i=Math.min(100,Math.max(0,t))/100,n=Math.min(100,Math.max(0,a))/100,l=(1-Math.abs(2*n-1))*i,r=l*(1-Math.abs(e/60%2-1)),o=n-l/2,s;return e<60?s=[l,r,0]:e<120?s=[r,l,0]:e<180?s=[0,l,r]:e<240?s=[0,r,l]:e<300?s=[r,0,l]:s=[l,0,r],"#"+s.map(d=>Math.round((d+o)*255).toString(16).padStart(2,"0")).join("")}function gl(e,t){let{h:a,s:i,l:n}=vl(e),l=Math.min(Math.max(i,20),92),r=o=>Math.min(97,Math.max(8,o));if(t){let o=Math.min(36,n);return{"--djm-brand-50":re(a,Math.min(40,l*.5),14),"--djm-brand-100":re(a,Math.min(42,l*.55),19),"--djm-brand-200":re(a,Math.min(46,l*.6),27),"--djm-brand-500":re(a,l,r(n+18)),"--djm-brand-600":re(a,l,r(n+12)),"--djm-brand-700":re(a,l*.95,r(n+30)),"--djm-brand-800":re(a,l*.9,r(n+40)),"--djm-brand-solid":re(a,l,o),"--djm-brand-solid-hover":re(a,l,Math.max(10,o-6)),"--djm-brand-soft":re(a,Math.min(40,l*.5),18),"--djm-info":re(a,l*.95,r(n+34)),"--djm-info-bg":re(a,Math.min(38,l*.48),16),"--djm-info-border":re(a,Math.min(44,l*.58),26)}}return{"--djm-brand-50":re(a,Math.min(95,l*1.05),96),"--djm-brand-100":re(a,Math.min(92,l),92),"--djm-brand-200":re(a,Math.min(88,l*.95),84),"--djm-brand-500":re(a,l,r(n+7)),"--djm-brand-600":re(a,l,r(n)),"--djm-brand-700":re(a,l,r(n-7)),"--djm-brand-800":re(a,l,r(n-14)),"--djm-brand-solid":re(a,l,r(n)),"--djm-brand-solid-hover":re(a,l,r(n-7)),"--djm-brand-soft":re(a,Math.min(90,l*1.05),96),"--djm-info":re(a,l,r(n-7)),"--djm-info-bg":re(a,Math.min(90,l*1.05),96),"--djm-info-border":re(a,Math.min(85,l*.9),86)}}function hn(e){let t=document.documentElement;if(!e){hl.forEach(i=>t.style.removeProperty(i));return}let a=gl(e,tt.value==="dark");Object.keys(a).forEach(i=>t.style.setProperty(i,a[i]))}function Wa(e){qt.value=e||"",hn(e||"");try{e?localStorage.setItem(Fa,e):localStorage.removeItem(Fa)}catch{}}function vn(){Wa("")}function Qt(e){tt.value=e==="dark"?"dark":"light",document.documentElement.dataset.djmTheme=tt.value,hn(qt.value);try{localStorage.setItem(fn,tt.value)}catch{}}function gn(){Qt(tt.value==="dark"?"light":"dark")}function bn(){let e="";try{e=localStorage.getItem(fn)||""}catch{e=""}let t="";try{t=new URLSearchParams(window.location.search).get("theme")||""}catch{t=""}let a="";try{a=localStorage.getItem(Fa)||""}catch{a=""}a&&(qt.value=a),Qt(t==="dark"||t==="light"?t:e||"light")}var Ua={name:"DjmWatermark",props:{content:{type:[String,Array],default:"\u5185\u90E8\u8D44\u6599"},gap:{type:Number,default:80},fontSize:{type:Number,default:14},color:{type:String,default:""},rotate:{type:Number,default:-20},zIndex:{type:Number,default:10}},setup(e){let t=(0,Fe.ref)(""),a=null;function i(){let l=(Array.isArray(e.content)?e.content:[e.content]).filter(Boolean);if(!l.length){t.value="";return}a||(a=document.createElement("canvas"));let r=a.getContext("2d"),o=window.devicePixelRatio||1,s=Math.round(e.fontSize*1.6),d=e.fontSize+'px -apple-system, "PingFang SC", sans-serif';r.font=d;let p=Math.max(...l.map(j=>r.measureText(j).width)),c=s*l.length,h=e.rotate*Math.PI/180,v=Math.abs(Math.cos(h)),u=Math.abs(Math.sin(h)),g=Math.ceil(p*v+c*u+e.gap),y=Math.ceil(p*u+c*v+e.gap);a.width=g*o,a.height=y*o,r.scale(o,o),r.clearRect(0,0,g,y),r.translate(g/2,y/2),r.rotate(e.rotate*Math.PI/180),r.fillStyle=e.color||getComputedStyle(document.documentElement).getPropertyValue("--djm-watermark").trim()||"rgba(0, 0, 0, 0.08)",r.font=d,r.textAlign="center",r.textBaseline="middle",l.forEach((j,w)=>{let b=(w-(l.length-1)/2)*s;r.fillText(j,0,b)}),t.value=a.toDataURL("image/png")}let n=(0,Fe.computed)(()=>({backgroundImage:t.value?"url("+t.value+")":"none",zIndex:e.zIndex}));return(0,Fe.onMounted)(i),(0,Fe.watch)(()=>[e.content,e.gap,e.fontSize,e.color,e.rotate,tt.value],i,{deep:!0}),(0,Fe.onBeforeUnmount)(()=>{a=null}),{layerStyle:n}},template:`
1342
1342
  <div class="djm-watermark">
1343
1343
  <slot />
1344
1344
  <div class="djm-watermark-layer" :style="layerStyle" aria-hidden="true"></div>
1345
1345
  </div>
1346
- `};var ul=0,$a={name:"DjmAutoComplete",props:{modelValue:{type:String,default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},minChars:{type:Number,default:1},ariaLabel:{type:String,default:"\u81EA\u52A8\u5B8C\u6210"}},emits:["update:modelValue","input","select","focus","blur"],data(){return{query:this.modelValue,open:!1,activeIndex:-1,listId:"djm-autocomplete-"+ ++ul,panelStyle:{...ee}}},watch:{modelValue(e){this.query=e}},computed:{normalized(){return this.options.map(e=>typeof e=="string"?{value:e,label:e}:e)},filtered(){let e=(this.query||"").trim().toLowerCase();return e.length<this.minChars?[]:(e?this.normalized.filter(a=>String(a.label).toLowerCase().indexOf(e)>-1):this.normalized).slice(0,8)},activeId(){return this.activeIndex>-1?this.listId+"-"+this.activeIndex:void 0}},methods:{onInput(e){this.query=e.target.value,this.$emit("update:modelValue",e.target.value),this.$emit("input",e),this.activeIndex=-1,this.filtered.length?this.openPanel():this.closePanel()},onFocus(e){this.activeIndex=-1,this.filtered.length&&this.openPanel(),this.$emit("focus",e)},onBlur(e){this.closePanel(),this.$emit("blur",e)},onKeydown(e){if(e.key==="ArrowDown"||e.key==="ArrowUp"){if(!this.open){if(!this.filtered.length)return;this.openPanel()}e.preventDefault();let t=e.key==="ArrowDown"?1:-1,a=this.filtered.length;this.activeIndex=(this.activeIndex+t+a)%a;return}if(e.key==="Enter"){let t=this.filtered[this.activeIndex]||this.filtered[0];this.open&&t&&(e.preventDefault(),this.choose(t));return}e.key==="Escape"&&this.closePanel()},choose(e){this.query=e.value,this.$emit("update:modelValue",e.value),this.$emit("select",e),this.closePanel()},openPanel(){if(this.open){this.$nextTick(this.updatePosition);return}this.open=!0,this._detachPanel=J({root:()=>this.$refs.root,panel:()=>this.$refs.panel,onClose:this.closePanel,onReposition:this.updatePosition,esc:!1}),this.$nextTick(this.updatePosition)},closePanel(){this.open&&(this.open=!1,this.activeIndex=-1,this.panelStyle={...ee},this._detachPanel&&(this._detachPanel(),this._detachPanel=null))},updatePosition(){if(!this.open||!this.$refs.root)return;let e=this.$refs.root.getBoundingClientRect(),t=this.$refs.panel;this.panelStyle=ye({rect:e,flip:ge(e,t?t.offsetHeight:240),width:e.width,clampWidth:e.width})}},beforeUnmount(){this.closePanel()},template:`
1346
+ `};var bl=0,qa={name:"DjmAutoComplete",props:{modelValue:{type:String,default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},minChars:{type:Number,default:1},ariaLabel:{type:String,default:"\u81EA\u52A8\u5B8C\u6210"}},emits:["update:modelValue","input","select","focus","blur"],data(){return{query:this.modelValue,open:!1,activeIndex:-1,listId:"djm-autocomplete-"+ ++bl,panelStyle:{...oe}}},watch:{modelValue(e){this.query=e}},computed:{normalized(){return this.options.map(e=>typeof e=="string"?{value:e,label:e}:e)},filtered(){let e=(this.query||"").trim().toLowerCase();return e.length<this.minChars?[]:(e?this.normalized.filter(a=>String(a.label).toLowerCase().indexOf(e)>-1):this.normalized).slice(0,8)},activeId(){return this.activeIndex>-1?this.listId+"-"+this.activeIndex:void 0}},methods:{onInput(e){this.query=e.target.value,this.$emit("update:modelValue",e.target.value),this.$emit("input",e),this.activeIndex=-1,this.filtered.length?this.openPanel():this.closePanel()},onFocus(e){this.activeIndex=-1,this.filtered.length&&this.openPanel(),this.$emit("focus",e)},onBlur(e){this.closePanel(),this.$emit("blur",e)},onKeydown(e){if(e.key==="ArrowDown"||e.key==="ArrowUp"){if(!this.open){if(!this.filtered.length)return;this.openPanel()}e.preventDefault();let t=e.key==="ArrowDown"?1:-1,a=this.filtered.length;this.activeIndex=(this.activeIndex+t+a)%a;return}if(e.key==="Enter"){let t=this.filtered[this.activeIndex]||this.filtered[0];this.open&&t&&(e.preventDefault(),this.choose(t));return}e.key==="Escape"&&this.closePanel()},choose(e){this.query=e.value,this.$emit("update:modelValue",e.value),this.$emit("select",e),this.closePanel()},openPanel(){if(this.open){this.$nextTick(this.updatePosition);return}this.open=!0,this._detachPanel=ie({root:()=>this.$refs.root,panel:()=>this.$refs.panel,onClose:this.closePanel,onReposition:this.updatePosition,esc:!1}),this.$nextTick(this.updatePosition)},closePanel(){this.open&&(this.open=!1,this.activeIndex=-1,this.panelStyle={...oe},this._detachPanel&&(this._detachPanel(),this._detachPanel=null))},updatePosition(){if(!this.open||!this.$refs.root)return;let e=this.$refs.root.getBoundingClientRect(),t=this.$refs.panel;this.panelStyle=xe({rect:e,flip:je(e,t?t.offsetHeight:240),width:e.width,clampWidth:e.width})}},beforeUnmount(){this.closePanel()},template:`
1347
1347
  <div class="djm-autocomplete" ref="root" :class="{ 'djm-is-disabled': disabled }">
1348
1348
  <input
1349
1349
  class="djm-input djm-autocomplete-input"
@@ -1386,7 +1386,7 @@ Minimum version required to store current data is: `+I+`.
1386
1386
  </div>
1387
1387
  </Teleport>
1388
1388
  </div>
1389
- `};var ht=require("vue"),Fa={name:"DjmSplitter",props:{modelValue:{type:Number,default:50},direction:{type:String,default:"horizontal"},min:{type:Number,default:15},max:{type:Number,default:85}},emits:["update:modelValue","change"],setup(e,{emit:t}){let a=(0,ht.ref)(null),n=(0,ht.ref)(!1),i=(0,ht.computed)(()=>{let f=Number(e.modelValue),c=Number.isFinite(f)?f:50;return Math.min(e.max,Math.max(e.min,c))});function l(f){let c=Math.min(e.max,Math.max(e.min,Math.round(f*10)/10));c!==i.value&&(t("update:modelValue",c),t("change",c))}function o(f){if(!a.value)return;let c=a.value.getBoundingClientRect(),p=e.direction==="vertical",g=p?f.clientY-c.top:f.clientX-c.left,m=p?c.height:c.width;m&&l(g/m*100)}function r(){n.value&&(n.value=!1,window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",r))}function s(){n.value=!0,window.addEventListener("pointermove",o),window.addEventListener("pointerup",r)}function d(f){let c=e.direction==="vertical",p=c?"ArrowUp":"ArrowLeft",g=c?"ArrowDown":"ArrowRight",m=f.shiftKey?10:2;f.key===p?(f.preventDefault(),l(i.value-m)):f.key===g&&(f.preventDefault(),l(i.value+m))}return(0,ht.onBeforeUnmount)(r),{root:a,dragging:n,ratio:i,startDrag:s,onKeydown:d}},template:`
1389
+ `};var bt=require("vue"),_a={name:"DjmSplitter",props:{modelValue:{type:Number,default:50},direction:{type:String,default:"horizontal"},min:{type:Number,default:15},max:{type:Number,default:85}},emits:["update:modelValue","change"],setup(e,{emit:t}){let a=(0,bt.ref)(null),i=(0,bt.ref)(!1),n=(0,bt.computed)(()=>{let p=Number(e.modelValue),c=Number.isFinite(p)?p:50;return Math.min(e.max,Math.max(e.min,c))});function l(p){let c=Math.min(e.max,Math.max(e.min,Math.round(p*10)/10));c!==n.value&&(t("update:modelValue",c),t("change",c))}function r(p){if(!a.value)return;let c=a.value.getBoundingClientRect(),h=e.direction==="vertical",v=h?p.clientY-c.top:p.clientX-c.left,u=h?c.height:c.width;u&&l(v/u*100)}function o(){i.value&&(i.value=!1,window.removeEventListener("pointermove",r),window.removeEventListener("pointerup",o))}function s(){i.value=!0,window.addEventListener("pointermove",r),window.addEventListener("pointerup",o)}function d(p){let c=e.direction==="vertical",h=c?"ArrowUp":"ArrowLeft",v=c?"ArrowDown":"ArrowRight",u=p.shiftKey?10:2;p.key===h?(p.preventDefault(),l(n.value-u)):p.key===v&&(p.preventDefault(),l(n.value+u))}return(0,bt.onBeforeUnmount)(o),{root:a,dragging:i,ratio:n,startDrag:s,onKeydown:d}},template:`
1390
1390
  <div
1391
1391
  ref="root"
1392
1392
  class="djm-splitter"
@@ -1416,7 +1416,7 @@ Minimum version required to store current data is: `+I+`.
1416
1416
  <slot name="second" />
1417
1417
  </div>
1418
1418
  </div>
1419
- `};var it=require("vue");var Ka={name:"DjmCarousel",components:{DjmIcon:L},props:{items:{type:Array,default:()=>[]},height:{type:[Number,String],default:180},autoplay:{type:Boolean,default:!1},interval:{type:Number,default:4e3},arrows:{type:Boolean,default:!0},dots:{type:Boolean,default:!0}},emits:["change"],setup(e,{emit:t}){let a=(0,it.ref)(0),n=null,i=()=>({height:typeof e.height=="number"?e.height+"px":e.height});function l(g){let m=e.items.length;if(!m)return;let h=(g+m)%m;h!==a.value&&(a.value=h,t("change",h))}function o(){l(a.value+1)}function r(){l(a.value-1)}function s(){window.clearInterval(n),n=null}function d(){s(),!(!e.autoplay||e.items.length<2)&&(n=window.setInterval(o,Math.max(1200,e.interval)))}function f(g){g.key==="ArrowLeft"?(g.preventDefault(),r()):g.key==="ArrowRight"&&(g.preventDefault(),o())}(0,it.onMounted)(d),(0,it.watch)(()=>[e.autoplay,e.interval,e.items.length],d);function c(){e.autoplay&&s()}function p(){e.autoplay&&d()}return(0,it.onBeforeUnmount)(s),{index:a,boxStyle:i,go:l,next:o,prev:r,onKeydown:f,pause:c,resume:p}},template:`
1419
+ `};var rt=require("vue");var Ya={name:"DjmCarousel",components:{DjmIcon:z},props:{items:{type:Array,default:()=>[]},height:{type:[Number,String],default:180},autoplay:{type:Boolean,default:!1},interval:{type:Number,default:4e3},arrows:{type:Boolean,default:!0},dots:{type:Boolean,default:!0}},emits:["change"],setup(e,{emit:t}){let a=(0,rt.ref)(0),i=null,n=()=>({height:typeof e.height=="number"?e.height+"px":e.height});function l(v){let u=e.items.length;if(!u)return;let g=(v+u)%u;g!==a.value&&(a.value=g,t("change",g))}function r(){l(a.value+1)}function o(){l(a.value-1)}function s(){window.clearInterval(i),i=null}function d(){s(),!(!e.autoplay||e.items.length<2)&&(i=window.setInterval(r,Math.max(1200,e.interval)))}function p(v){v.key==="ArrowLeft"?(v.preventDefault(),o()):v.key==="ArrowRight"&&(v.preventDefault(),r())}(0,rt.onMounted)(d),(0,rt.watch)(()=>[e.autoplay,e.interval,e.items.length],d);function c(){e.autoplay&&s()}function h(){e.autoplay&&d()}return(0,rt.onBeforeUnmount)(s),{index:a,boxStyle:n,go:l,next:r,prev:o,onKeydown:p,pause:c,resume:h}},template:`
1420
1420
  <div
1421
1421
  class="djm-carousel"
1422
1422
  role="region"
@@ -1469,7 +1469,7 @@ Minimum version required to store current data is: `+I+`.
1469
1469
  ></button>
1470
1470
  </div>
1471
1471
  </div>
1472
- `};var fe=require("vue");var Wa={name:"DjmTour",components:{DjmIcon:L},props:{modelValue:{type:Boolean,default:!1},steps:{type:Array,default:()=>[]},offset:{type:Number,default:10}},emits:["update:modelValue","change","finish"],setup(e,{emit:t}){let a=(0,fe.ref)(0),n=(0,fe.ref)({top:"0px",left:"0px",width:"0px",height:"0px"}),i=(0,fe.ref)({position:"fixed",left:"0px",top:"0px",visibility:"hidden"}),l=(0,fe.ref)(null),o=(0,fe.computed)(()=>e.steps[a.value]||null);function r(){let m=o.value;if(!m)return;let h=m.target?document.querySelector(m.target):null,b=h?h.getBoundingClientRect():{top:80,left:80,width:220,height:40,bottom:120};n.value={top:b.top-4+"px",left:b.left-4+"px",width:b.width+8+"px",height:b.height+8+"px"};let j=l.value?l.value.offsetHeight:160,w=l.value?l.value.offsetWidth:280,u=window.innerHeight-b.bottom>j+e.offset+12?b.bottom+e.offset:Math.max(12,b.top-j-e.offset),v=Math.max(12,Math.min(b.left,window.innerWidth-w-12));i.value={position:"fixed",top:u+"px",left:v+"px",visibility:"visible"}}function s(m){m.key==="Escape"?c():m.key==="ArrowRight"&&l.value&&l.value.contains(document.activeElement)?p():m.key==="ArrowLeft"&&l.value&&l.value.contains(document.activeElement)&&g()}function d(){a.value=0,t("change",0),document.addEventListener("keydown",s),window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),(0,fe.nextTick)(()=>{r(),l.value&&l.value.focus({preventScroll:!0})})}function f(){document.removeEventListener("keydown",s),window.removeEventListener("resize",r),window.removeEventListener("scroll",r,!0)}function c(){e.modelValue&&t("update:modelValue",!1)}function p(){if(a.value>=e.steps.length-1){t("finish"),c();return}a.value+=1,t("change",a.value),(0,fe.nextTick)(r)}function g(){a.value!==0&&(a.value-=1,t("change",a.value),(0,fe.nextTick)(r))}return(0,fe.watch)(()=>e.modelValue,m=>{m?d():f()}),(0,fe.onMounted)(()=>{e.modelValue&&d()}),(0,fe.onBeforeUnmount)(f),{current:a,step:o,highlight:n,cardStyle:i,card:l,close:c,next:p,prev:g,t:C}},template:`
1472
+ `};var ge=require("vue");var Ja={name:"DjmTour",components:{DjmIcon:z},props:{modelValue:{type:Boolean,default:!1},steps:{type:Array,default:()=>[]},offset:{type:Number,default:10}},emits:["update:modelValue","change","finish"],setup(e,{emit:t}){let a=(0,ge.ref)(0),i=(0,ge.ref)({top:"0px",left:"0px",width:"0px",height:"0px"}),n=(0,ge.ref)({position:"fixed",left:"0px",top:"0px",visibility:"hidden"}),l=(0,ge.ref)(null),r=(0,ge.computed)(()=>e.steps[a.value]||null);function o(){let u=r.value;if(!u)return;let g=u.target?document.querySelector(u.target):null,y=g?g.getBoundingClientRect():{top:80,left:80,width:220,height:40,bottom:120};i.value={top:y.top-4+"px",left:y.left-4+"px",width:y.width+8+"px",height:y.height+8+"px"};let j=l.value?l.value.offsetHeight:160,w=l.value?l.value.offsetWidth:280,m=window.innerHeight-y.bottom>j+e.offset+12?y.bottom+e.offset:Math.max(12,y.top-j-e.offset),f=Math.max(12,Math.min(y.left,window.innerWidth-w-12));n.value={position:"fixed",top:m+"px",left:f+"px",visibility:"visible"}}function s(u){u.key==="Escape"?c():u.key==="ArrowRight"&&l.value&&l.value.contains(document.activeElement)?h():u.key==="ArrowLeft"&&l.value&&l.value.contains(document.activeElement)&&v()}function d(){a.value=0,t("change",0),document.addEventListener("keydown",s),window.addEventListener("resize",o),window.addEventListener("scroll",o,!0),(0,ge.nextTick)(()=>{o(),l.value&&l.value.focus({preventScroll:!0})})}function p(){document.removeEventListener("keydown",s),window.removeEventListener("resize",o),window.removeEventListener("scroll",o,!0)}function c(){e.modelValue&&t("update:modelValue",!1)}function h(){if(a.value>=e.steps.length-1){t("finish"),c();return}a.value+=1,t("change",a.value),(0,ge.nextTick)(o)}function v(){a.value!==0&&(a.value-=1,t("change",a.value),(0,ge.nextTick)(o))}return(0,ge.watch)(()=>e.modelValue,u=>{u?d():p()}),(0,ge.onMounted)(()=>{e.modelValue&&d()}),(0,ge.onBeforeUnmount)(p),{current:a,step:r,highlight:i,cardStyle:n,card:l,close:c,next:h,prev:v,t:C}},template:`
1473
1473
  <Teleport to="body">
1474
1474
  <div v-if="modelValue && step" class="djm-tour">
1475
1475
  <div class="djm-tour-highlight" :style="highlight"></div>
@@ -1500,7 +1500,7 @@ Minimum version required to store current data is: `+I+`.
1500
1500
  </div>
1501
1501
  </div>
1502
1502
  </Teleport>
1503
- `};var $e=require("vue");function hi(e){return String(e).padStart(2,"0")}function Yt(e,t,a){return`${e}-${hi(t+1)}-${hi(a)}`}function Ua(e){if(!e)return null;let t=String(e).split("-").map(Number);if(t.length!==3||t.some(o=>!Number.isFinite(o)))return null;let[a,n,i]=t,l=new Date(a,n-1,i);return n<1||n>12||i<1||l.getFullYear()!==a||l.getMonth()!==n-1||l.getDate()!==i?null:{year:a,month:n-1,day:i}}var qa={name:"DjmCalendar",components:{DjmIcon:L},props:{modelValue:{type:String,default:""},marks:{type:Array,default:()=>[]},firstDay:{type:Number,default:1}},emits:["update:modelValue","change","month-change"],setup(e,{emit:t}){let a=new Date,n=Yt(a.getFullYear(),a.getMonth(),a.getDate()),i=Ua(e.modelValue),l=(0,$e.ref)(i?i.year:a.getFullYear()),o=(0,$e.ref)(i?i.month:a.getMonth()),r=(0,$e.computed)(()=>{let h=["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"];return h.slice(e.firstDay).concat(h.slice(0,e.firstDay))}),s=(0,$e.computed)(()=>new Set(e.marks.map(h=>typeof h=="string"?h:h.date).filter(Boolean))),d=(0,$e.computed)(()=>{let b=(new Date(l.value,o.value,1).getDay()-e.firstDay+7)%7,j=new Date(l.value,o.value,1-b),w=[];for(let y=0;y<42;y++){let u=new Date(j.getFullYear(),j.getMonth(),j.getDate()+y);w.push({key:Yt(u.getFullYear(),u.getMonth(),u.getDate()),day:u.getDate(),outside:u.getMonth()!==o.value})}return w}),f=(0,$e.computed)(()=>{let h=d.value;return Array.from({length:6},(b,j)=>h.slice(j*7,j*7+7))});function c(h){let b=new Date(l.value,o.value+h,1);l.value=b.getFullYear(),o.value=b.getMonth(),t("month-change",Yt(l.value,o.value,1))}function p(h){t("update:modelValue",h.key),t("change",h.key);let b=Ua(h.key);b&&(b.year!==l.value||b.month!==o.value)&&(l.value=b.year,o.value=b.month,t("month-change",Yt(b.year,b.month,1)))}function g(){l.value=a.getFullYear(),o.value=a.getMonth(),p({key:n})}function m(h){let b={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7},j=[...h.currentTarget.querySelectorAll(".djm-date-picker-day")],w=j.indexOf(document.activeElement);if(w<0)return;let y=b[h.key];if(h.key==="Home"||h.key==="End"){h.preventDefault();let v=w-w%7;j[h.key==="Home"?v:Math.min(v+6,j.length-1)].focus();return}if(!y)return;let u=w+y;u<0||u>=j.length||(h.preventDefault(),j[u].focus())}return(0,$e.watch)(()=>e.modelValue,h=>{let b=Ua(h);b&&(b.year!==l.value||b.month!==o.value)&&(l.value=b.year,o.value=b.month)}),{todayKey:n,viewYear:l,viewMonth:o,weekNames:r,markSet:s,cells:d,weeks:f,shift:c,select:p,goToday:g,onGridKey:m,t:C}},template:`
1503
+ `};var Ke=require("vue");function yn(e){return String(e).padStart(2,"0")}function Zt(e,t,a){return`${e}-${yn(t+1)}-${yn(a)}`}function Ga(e){if(!e)return null;let t=String(e).split("-").map(Number);if(t.length!==3||t.some(r=>!Number.isFinite(r)))return null;let[a,i,n]=t,l=new Date(a,i-1,n);return i<1||i>12||n<1||l.getFullYear()!==a||l.getMonth()!==i-1||l.getDate()!==n?null:{year:a,month:i-1,day:n}}var Xa={name:"DjmCalendar",components:{DjmIcon:z},props:{modelValue:{type:String,default:""},marks:{type:Array,default:()=>[]},firstDay:{type:Number,default:1}},emits:["update:modelValue","change","month-change"],setup(e,{emit:t}){let a=new Date,i=Zt(a.getFullYear(),a.getMonth(),a.getDate()),n=Ga(e.modelValue),l=(0,Ke.ref)(n?n.year:a.getFullYear()),r=(0,Ke.ref)(n?n.month:a.getMonth()),o=(0,Ke.computed)(()=>{let g=["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"];return g.slice(e.firstDay).concat(g.slice(0,e.firstDay))}),s=(0,Ke.computed)(()=>new Set(e.marks.map(g=>typeof g=="string"?g:g.date).filter(Boolean))),d=(0,Ke.computed)(()=>{let y=(new Date(l.value,r.value,1).getDay()-e.firstDay+7)%7,j=new Date(l.value,r.value,1-y),w=[];for(let b=0;b<42;b++){let m=new Date(j.getFullYear(),j.getMonth(),j.getDate()+b);w.push({key:Zt(m.getFullYear(),m.getMonth(),m.getDate()),day:m.getDate(),outside:m.getMonth()!==r.value})}return w}),p=(0,Ke.computed)(()=>{let g=d.value;return Array.from({length:6},(y,j)=>g.slice(j*7,j*7+7))});function c(g){let y=new Date(l.value,r.value+g,1);l.value=y.getFullYear(),r.value=y.getMonth(),t("month-change",Zt(l.value,r.value,1))}function h(g){t("update:modelValue",g.key),t("change",g.key);let y=Ga(g.key);y&&(y.year!==l.value||y.month!==r.value)&&(l.value=y.year,r.value=y.month,t("month-change",Zt(y.year,y.month,1)))}function v(){l.value=a.getFullYear(),r.value=a.getMonth(),h({key:i})}function u(g){let y={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7},j=[...g.currentTarget.querySelectorAll(".djm-date-picker-day")],w=j.indexOf(document.activeElement);if(w<0)return;let b=y[g.key];if(g.key==="Home"||g.key==="End"){g.preventDefault();let f=w-w%7;j[g.key==="Home"?f:Math.min(f+6,j.length-1)].focus();return}if(!b)return;let m=w+b;m<0||m>=j.length||(g.preventDefault(),j[m].focus())}return(0,Ke.watch)(()=>e.modelValue,g=>{let y=Ga(g);y&&(y.year!==l.value||y.month!==r.value)&&(l.value=y.year,r.value=y.month)}),{todayKey:i,viewYear:l,viewMonth:r,weekNames:o,markSet:s,cells:d,weeks:p,shift:c,select:h,goToday:v,onGridKey:u,t:C}},template:`
1504
1504
  <div class="djm-calendar">
1505
1505
  <div class="djm-calendar-head">
1506
1506
  <div class="djm-calendar-title" aria-live="polite">{{ t('calendar.title', { year: viewYear, month: viewMonth + 1 }) }}</div>
@@ -1541,7 +1541,7 @@ Minimum version required to store current data is: `+I+`.
1541
1541
  </div>
1542
1542
  </div>
1543
1543
  </div>
1544
- `};var Gt=require("vue");var _a={name:"DjmFloatButton",components:{DjmIcon:L},props:{icon:{type:String,default:"plus"},label:{type:String,default:"\u5FEB\u6377\u64CD\u4F5C"},items:{type:Array,default:()=>[]},type:{type:String,default:"primary"},right:{type:Number,default:24},bottom:{type:Number,default:24}},emits:["click","select"],setup(e,{emit:t}){let a=(0,Gt.ref)(!1);function n(d){d.key==="Escape"&&l()}function i(d){d.target.closest(".djm-float-button")||l()}function l(){a.value&&(a.value=!1,document.removeEventListener("mousedown",i,!0),document.removeEventListener("keydown",n))}function o(){a.value=!a.value,a.value?(document.addEventListener("mousedown",i,!0),document.addEventListener("keydown",n)):l()}function r(){if(!e.items.length){t("click");return}o()}function s(d){l(),t("select",d),typeof d.onClick=="function"&&d.onClick(d)}return(0,Gt.onBeforeUnmount)(l),{open:a,onMainClick:r,choose:s}},template:`
1544
+ `};var ea=require("vue");var Qa={name:"DjmFloatButton",components:{DjmIcon:z},props:{icon:{type:String,default:"plus"},label:{type:String,default:"\u5FEB\u6377\u64CD\u4F5C"},items:{type:Array,default:()=>[]},type:{type:String,default:"primary"},right:{type:Number,default:24},bottom:{type:Number,default:24}},emits:["click","select"],setup(e,{emit:t}){let a=(0,ea.ref)(!1);function i(d){d.key==="Escape"&&l()}function n(d){d.target.closest(".djm-float-button")||l()}function l(){a.value&&(a.value=!1,document.removeEventListener("mousedown",n,!0),document.removeEventListener("keydown",i))}function r(){a.value=!a.value,a.value?(document.addEventListener("mousedown",n,!0),document.addEventListener("keydown",i)):l()}function o(){if(!e.items.length){t("click");return}r()}function s(d){l(),t("select",d),typeof d.onClick=="function"&&d.onClick(d)}return(0,ea.onBeforeUnmount)(l),{open:a,onMainClick:o,choose:s}},template:`
1545
1545
  <div class="djm-float-button" :style="{ right: right + 'px', bottom: bottom + 'px' }">
1546
1546
  <Transition name="djm-fade">
1547
1547
  <div v-if="open && items.length" class="djm-float-list">
@@ -1569,7 +1569,7 @@ Minimum version required to store current data is: `+I+`.
1569
1569
  <DjmIcon :name="open ? 'x' : icon" :size="18" />
1570
1570
  </button>
1571
1571
  </div>
1572
- `};var ce=require("vue");var ml=0,Ya={name:"DjmMentions",props:{modelValue:{type:String,default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},rows:{type:Number,default:3},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:"\u5185\u5BB9\u8F93\u5165"}},emits:["update:modelValue","input","select"],setup(e,{emit:t}){let a=(0,ce.ref)(null),n=(0,ce.ref)(null),i=(0,ce.ref)(e.modelValue),l=(0,ce.ref)(!1),o=(0,ce.ref)(""),r=(0,ce.ref)(-1),s="djm-mentions-"+ ++ml,d=(0,ce.ref)({...ee}),f=-1,c=null;(0,ce.watch)(()=>e.modelValue,v=>{i.value=v});let p=(0,ce.computed)(()=>e.options.map(v=>typeof v=="string"?{value:v,label:v}:v)),g=(0,ce.computed)(()=>{let v=o.value.trim().toLowerCase();return(v?p.value.filter(D=>String(D.label).toLowerCase().indexOf(v)>-1):p.value).slice(0,6)}),m=(0,ce.computed)(()=>r.value>-1?s+"-"+r.value:void 0);function h(){if(!l.value||!a.value)return;let v=a.value.getBoundingClientRect(),T=document.getElementById(s);d.value=ye({rect:v,flip:ge(v,T?T.offsetHeight:200),width:v.width})}function b(){l.value=!0,c=J({root:()=>a.value,panel:()=>document.getElementById(s),onClose:j,onReposition:h,esc:!1}),(0,ce.nextTick)(h)}function j(){l.value&&(l.value=!1,r.value=-1,d.value={...ee},c&&(c(),c=null))}function w(v){let T=v.target.value;i.value=T,t("update:modelValue",T),t("input",v);let D=v.target.selectionStart||0,x=/@([^\s@]*)$/.exec(T.slice(0,D));if(!x){j();return}f=D-x[0].length,o.value=x[1],r.value=-1,l.value?(0,ce.nextTick)(h):b()}function y(v){if(l.value){if(v.key==="ArrowDown"||v.key==="ArrowUp"){v.preventDefault();let T=v.key==="ArrowDown"?1:-1,D=g.value.length;if(!D)return;r.value=(r.value+T+D)%D;return}if(v.key==="Enter"){let T=g.value[r.value]||g.value[0];T&&(v.preventDefault(),u(T));return}v.key==="Escape"&&j()}}function u(v){let T=i.value||"",D=f+1+o.value.length,x=T.slice(0,f)+"@"+v.label+" "+T.slice(D);i.value=x,t("update:modelValue",x),t("select",v),j(),(0,ce.nextTick)(()=>{if(!n.value)return;let z=f+v.label.length+2;n.value.focus(),n.value.setSelectionRange(z,z)})}return(0,ce.onBeforeUnmount)(j),{root:a,input:n,text:i,open:l,activeIndex:r,listId:s,panelStyle:d,filtered:g,activeId:m,onInput:w,onKeydown:y,choose:u}},template:`
1572
+ `};var he=require("vue");var yl=0,Za={name:"DjmMentions",props:{modelValue:{type:String,default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},rows:{type:Number,default:3},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:"\u5185\u5BB9\u8F93\u5165"}},emits:["update:modelValue","input","select"],setup(e,{emit:t}){let a=(0,he.ref)(null),i=(0,he.ref)(null),n=(0,he.ref)(e.modelValue),l=(0,he.ref)(!1),r=(0,he.ref)(""),o=(0,he.ref)(-1),s="djm-mentions-"+ ++yl,d=(0,he.ref)({...oe}),p=-1,c=null;(0,he.watch)(()=>e.modelValue,f=>{n.value=f});let h=(0,he.computed)(()=>e.options.map(f=>typeof f=="string"?{value:f,label:f}:f)),v=(0,he.computed)(()=>{let f=r.value.trim().toLowerCase();return(f?h.value.filter(D=>String(D.label).toLowerCase().indexOf(f)>-1):h.value).slice(0,6)}),u=(0,he.computed)(()=>o.value>-1?s+"-"+o.value:void 0);function g(){if(!l.value||!a.value)return;let f=a.value.getBoundingClientRect(),E=document.getElementById(s);d.value=xe({rect:f,flip:je(f,E?E.offsetHeight:200),width:f.width})}function y(){l.value=!0,c=ie({root:()=>a.value,panel:()=>document.getElementById(s),onClose:j,onReposition:g,esc:!1}),(0,he.nextTick)(g)}function j(){l.value&&(l.value=!1,o.value=-1,d.value={...oe},c&&(c(),c=null))}function w(f){let E=f.target.value;n.value=E,t("update:modelValue",E),t("input",f);let D=f.target.selectionStart||0,k=/@([^\s@]*)$/.exec(E.slice(0,D));if(!k){j();return}p=D-k[0].length,r.value=k[1],o.value=-1,l.value?(0,he.nextTick)(g):y()}function b(f){if(l.value){if(f.key==="ArrowDown"||f.key==="ArrowUp"){f.preventDefault();let E=f.key==="ArrowDown"?1:-1,D=v.value.length;if(!D)return;o.value=(o.value+E+D)%D;return}if(f.key==="Enter"){let E=v.value[o.value]||v.value[0];E&&(f.preventDefault(),m(E));return}f.key==="Escape"&&j()}}function m(f){let E=n.value||"",D=p+1+r.value.length,k=E.slice(0,p)+"@"+f.label+" "+E.slice(D);n.value=k,t("update:modelValue",k),t("select",f),j(),(0,he.nextTick)(()=>{if(!i.value)return;let B=p+f.label.length+2;i.value.focus(),i.value.setSelectionRange(B,B)})}return(0,he.onBeforeUnmount)(j),{root:a,input:i,text:n,open:l,activeIndex:o,listId:s,panelStyle:d,filtered:v,activeId:u,onInput:w,onKeydown:b,choose:m}},template:`
1573
1573
  <div ref="root" class="djm-mentions">
1574
1574
  <textarea
1575
1575
  ref="input"
@@ -1605,11 +1605,11 @@ Minimum version required to store current data is: `+I+`.
1605
1605
  </div>
1606
1606
  </Teleport>
1607
1607
  </div>
1608
- `};var Kt={name:"DjmRow",props:{gap:{type:[Number,String],default:10}},computed:{style(){return{gap:typeof this.gap=="number"?this.gap+"px":this.gap}}},template:'<div class="djm-grid-row" :style="style"><slot /></div>'};var Wt={name:"DjmCol",props:{span:{type:Number,default:12},offset:{type:Number,default:0}},computed:{classes(){return"djm-col-"+Math.min(12,Math.max(1,this.span))},style(){return this.offset?{gridColumnStart:this.offset+1}:null}},template:'<div :class="classes" :style="style"><slot /></div>'};var Ga={name:"DjmLayout",props:{direction:{type:String,default:"vertical"}},template:`
1608
+ `};var _t={name:"DjmRow",props:{gap:{type:[Number,String],default:10}},computed:{style(){return{gap:typeof this.gap=="number"?this.gap+"px":this.gap}}},template:'<div class="djm-grid-row" :style="style"><slot /></div>'};var Yt={name:"DjmCol",props:{span:{type:Number,default:12},offset:{type:Number,default:0}},computed:{classes(){return"djm-col-"+Math.min(12,Math.max(1,this.span))},style(){return this.offset?{gridColumnStart:this.offset+1}:null}},template:'<div :class="classes" :style="style"><slot /></div>'};var ei={name:"DjmLayout",props:{direction:{type:String,default:"vertical"}},template:`
1609
1609
  <div class="djm-layout" :class="'djm-layout-' + direction">
1610
1610
  <slot />
1611
1611
  </div>
1612
- `};var Ja={name:"DjmLayoutHeader",template:'<header class="djm-layout-header"><slot /></header>'};var Xa={name:"DjmLayoutSider",props:{width:{type:[Number,String],default:200}},computed:{style(){return{width:typeof this.width=="number"?this.width+"px":this.width}}},template:'<aside class="djm-layout-sider" :style="style"><slot /></aside>'};var Qa={name:"DjmLayoutContent",template:'<main class="djm-layout-content"><slot /></main>'};var Za={name:"DjmLayoutFooter",template:'<footer class="djm-layout-footer"><slot /></footer>'};var en={name:"DjmList",props:{items:{type:Array,default:()=>[]},bordered:{type:Boolean,default:!0},emptyText:{type:String,default:"\u6682\u65E0\u6570\u636E"}},template:`
1612
+ `};var ti={name:"DjmLayoutHeader",template:'<header class="djm-layout-header"><slot /></header>'};var ai={name:"DjmLayoutSider",props:{width:{type:[Number,String],default:200}},computed:{style(){return{width:typeof this.width=="number"?this.width+"px":this.width}}},template:'<aside class="djm-layout-sider" :style="style"><slot /></aside>'};var ii={name:"DjmLayoutContent",template:'<main class="djm-layout-content"><slot /></main>'};var ni={name:"DjmLayoutFooter",template:'<footer class="djm-layout-footer"><slot /></footer>'};var li={name:"DjmList",props:{items:{type:Array,default:()=>[]},bordered:{type:Boolean,default:!0},emptyText:{type:String,default:"\u6682\u65E0\u6570\u636E"}},template:`
1613
1613
  <div class="djm-list" :class="{ 'djm-is-bordered': bordered }">
1614
1614
  <div v-if="$slots.header" class="djm-list-header"><slot name="header" /></div>
1615
1615
  <ul v-if="items.length" class="djm-list-body">
@@ -1626,7 +1626,7 @@ Minimum version required to store current data is: `+I+`.
1626
1626
  <div v-else class="djm-list-empty">{{ emptyText }}</div>
1627
1627
  <div v-if="$slots.footer" class="djm-list-footer"><slot name="footer" /></div>
1628
1628
  </div>
1629
- `};var tn={name:"DjmInputTag",components:{DjmIcon:L},props:{modelValue:{type:Array,default:()=>[]},placeholder:{type:String,default:""},max:{type:Number,default:0},disabled:{type:Boolean,default:!1},allowDuplicate:{type:Boolean,default:!1},ariaLabel:{type:String,default:"\u6807\u7B7E\u8F93\u5165"}},emits:["update:modelValue","change","add","remove","focus","blur"],data(){return{draft:""}},computed:{reachedMax(){return this.max>0&&this.modelValue.length>=this.max},placeholderText(){return this.modelValue.length?"":this.placeholder}},methods:{focusInput(){this.disabled||!this.$refs.input||this.$refs.input.focus()},commit(){let e=this.draft.trim();if(!e){this.draft="";return}if(this.reachedMax||!this.allowDuplicate&&this.modelValue.indexOf(e)>-1){this.draft="";return}let t=this.modelValue.concat(e);this.draft="",this.$emit("update:modelValue",t),this.$emit("change",t),this.$emit("add",e)},remove(e){if(this.disabled)return;let t=this.modelValue[e],a=this.modelValue.slice();a.splice(e,1),this.$emit("update:modelValue",a),this.$emit("change",a),this.$emit("remove",t)},onKeydown(e){if(e.key==="Enter"||e.key===","){e.preventDefault(),this.commit();return}e.key==="Backspace"&&!this.draft&&this.modelValue.length&&(e.preventDefault(),this.remove(this.modelValue.length-1))},onInput(e){this.draft=e.target.value},onBlur(e){this.commit(),this.$el.contains(e.relatedTarget)||this.$emit("blur",e)}},template:`
1629
+ `};var oi={name:"DjmInputTag",components:{DjmIcon:z},props:{modelValue:{type:Array,default:()=>[]},placeholder:{type:String,default:""},max:{type:Number,default:0},disabled:{type:Boolean,default:!1},allowDuplicate:{type:Boolean,default:!1},ariaLabel:{type:String,default:"\u6807\u7B7E\u8F93\u5165"}},emits:["update:modelValue","change","add","remove","focus","blur"],data(){return{draft:""}},computed:{reachedMax(){return this.max>0&&this.modelValue.length>=this.max},placeholderText(){return this.modelValue.length?"":this.placeholder}},methods:{focusInput(){this.disabled||!this.$refs.input||this.$refs.input.focus()},commit(){let e=this.draft.trim();if(!e){this.draft="";return}if(this.reachedMax||!this.allowDuplicate&&this.modelValue.indexOf(e)>-1){this.draft="";return}let t=this.modelValue.concat(e);this.draft="",this.$emit("update:modelValue",t),this.$emit("change",t),this.$emit("add",e)},remove(e){if(this.disabled)return;let t=this.modelValue[e],a=this.modelValue.slice();a.splice(e,1),this.$emit("update:modelValue",a),this.$emit("change",a),this.$emit("remove",t)},onKeydown(e){if(e.key==="Enter"||e.key===","){e.preventDefault(),this.commit();return}e.key==="Backspace"&&!this.draft&&this.modelValue.length&&(e.preventDefault(),this.remove(this.modelValue.length-1))},onInput(e){this.draft=e.target.value},onBlur(e){this.commit(),this.$el.contains(e.relatedTarget)||this.$emit("blur",e)}},template:`
1630
1630
  <div
1631
1631
  class="djm-input djm-input-tag"
1632
1632
  :class="{ 'djm-is-disabled': disabled, 'djm-is-full': reachedMax }"
@@ -1659,7 +1659,7 @@ Minimum version required to store current data is: `+I+`.
1659
1659
  @focus="$emit('focus', $event)"
1660
1660
  />
1661
1661
  </div>
1662
- `};var Dt=require("vue");var an={name:"DjmPassword",components:{DjmIcon:L},props:{modelValue:{type:String,default:""},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},showStrength:{type:Boolean,default:!0},ariaLabel:{type:String,default:""}},emits:["update:modelValue","input","change","enter","focus","blur"],setup(e,{emit:t}){let a=(0,Dt.ref)(!1),n=(0,Dt.computed)(()=>{let r=e.modelValue||"";if(!r)return 0;let s=0;return r.length>=8&&(s+=1),/[a-z]/.test(r)&&/[A-Z]/.test(r)&&(s+=1),/\d/.test(r)&&(s+=1),/[^a-zA-Z\d]/.test(r)&&(s+=1),s}),i=(0,Dt.computed)(()=>n.value<=1?1:n.value<=3?2:3),l=(0,Dt.computed)(()=>{let r=["","password.weak","password.medium","password.strong"][i.value];return C(r)});function o(r){t("update:modelValue",r.target.value),t("input",r)}return{visible:a,score:n,level:i,label:l,onInput:o,t:C}},template:`
1662
+ `};var Ct=require("vue");var ri={name:"DjmPassword",components:{DjmIcon:z},props:{modelValue:{type:String,default:""},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},showStrength:{type:Boolean,default:!0},ariaLabel:{type:String,default:""}},emits:["update:modelValue","input","change","enter","focus","blur"],setup(e,{emit:t}){let a=(0,Ct.ref)(!1),i=(0,Ct.computed)(()=>{let o=e.modelValue||"";if(!o)return 0;let s=0;return o.length>=8&&(s+=1),/[a-z]/.test(o)&&/[A-Z]/.test(o)&&(s+=1),/\d/.test(o)&&(s+=1),/[^a-zA-Z\d]/.test(o)&&(s+=1),s}),n=(0,Ct.computed)(()=>i.value<=1?1:i.value<=3?2:3),l=(0,Ct.computed)(()=>{let o=["","password.weak","password.medium","password.strong"][n.value];return C(o)});function r(o){t("update:modelValue",o.target.value),t("input",o)}return{visible:a,score:i,level:n,label:l,onInput:r,t:C}},template:`
1663
1663
  <div class="djm-password">
1664
1664
  <div class="djm-password-field">
1665
1665
  <input
@@ -1695,7 +1695,7 @@ Minimum version required to store current data is: `+I+`.
1695
1695
  <span class="djm-password-label">{{ modelValue ? label : t('password.hint') }}</span>
1696
1696
  </div>
1697
1697
  </div>
1698
- `};var pe=require("vue");var fl=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function Tt(e){if(!e)return()=>{};let t=document.activeElement,a=()=>[...e.querySelectorAll(fl)].filter(l=>l.getClientRects().length>0),n=a()[0];n&&n.focus();function i(l){if(l.key!=="Tab")return;let o=a();if(!o.length)return;let r=o[0],s=o[o.length-1];l.shiftKey&&(document.activeElement===r||!e.contains(document.activeElement))?(l.preventDefault(),s.focus()):!l.shiftKey&&document.activeElement===s&&(l.preventDefault(),r.focus())}return e.addEventListener("keydown",i),()=>{e.removeEventListener("keydown",i),t&&typeof t.focus=="function"&&t.focus()}}var pl=0,nn={name:"DjmCommandPalette",props:{modelValue:{type:Boolean,default:!1},commands:{type:Array,default:()=>[]},placeholder:{type:String,default:"\u641C\u7D22\u547D\u4EE4"},shortcut:{type:Boolean,default:!0}},emits:["update:modelValue","run"],setup(e,{emit:t}){let a=(0,pe.ref)(!1),n=(0,pe.ref)(""),i=(0,pe.ref)(-1),l=(0,pe.ref)(null),o=(0,pe.ref)(null),r="djm-command-list-"+ ++pl,s=null,d=(0,pe.computed)(()=>{let u=n.value.trim().toLowerCase();return u?e.commands.filter(v=>[v.label,v.group,v.hint].filter(Boolean).join(" ").toLowerCase().indexOf(u)>-1):e.commands}),f=(0,pe.computed)(()=>i.value>-1?r+"-"+i.value:void 0);function c(){a.value||(a.value=!0,n.value="",i.value=-1,t("update:modelValue",!0),nt(),document.addEventListener("keydown",m),(0,pe.nextTick)(()=>{s=Tt(o.value),l.value&&l.value.focus()}))}function p(){a.value&&(a.value=!1,t("update:modelValue",!1),He(),document.removeEventListener("keydown",m),s&&(s(),s=null))}function g(){a.value?p():c()}function m(u){u.key==="Escape"&&p()}function h(u){e.shortcut&&(u.metaKey||u.ctrlKey)&&String(u.key).toLowerCase()==="k"&&(u.preventDefault(),g())}function b(u){let v=d.value.length;v&&(i.value=(i.value+u+v)%v)}function j(u){n.value=u.target.value,i.value=d.value.length?0:-1}function w(u){if(u.key==="ArrowDown"){u.preventDefault(),b(1);return}if(u.key==="ArrowUp"){u.preventDefault(),b(-1);return}if(u.key==="Enter"){let v=d.value[i.value]||d.value[0];v&&(u.preventDefault(),y(v))}}function y(u){t("run",u),typeof u.run=="function"&&u.run(u),p()}return(0,pe.watch)(()=>e.modelValue,u=>{u?c():p()}),(0,pe.onMounted)(()=>window.addEventListener("keydown",h)),(0,pe.onBeforeUnmount)(()=>{window.removeEventListener("keydown",h),p()}),{open:a,keyword:n,activeIndex:i,searchInput:l,panelEl:o,listId:r,filtered:d,activeId:f,hide:p,move:b,onInput:j,onKeydown:w,run:y}},template:`
1698
+ `};var be=require("vue");var wl=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function Tt(e){if(!e)return()=>{};let t=document.activeElement,a=()=>[...e.querySelectorAll(wl)].filter(l=>l.getClientRects().length>0),i=a()[0];i&&i.focus();function n(l){if(l.key!=="Tab")return;let r=a();if(!r.length)return;let o=r[0],s=r[r.length-1];l.shiftKey&&(document.activeElement===o||!e.contains(document.activeElement))?(l.preventDefault(),s.focus()):!l.shiftKey&&document.activeElement===s&&(l.preventDefault(),o.focus())}return e.addEventListener("keydown",n),()=>{e.removeEventListener("keydown",n),t&&typeof t.focus=="function"&&t.focus()}}var jl=0,si={name:"DjmCommandPalette",props:{modelValue:{type:Boolean,default:!1},commands:{type:Array,default:()=>[]},placeholder:{type:String,default:"\u641C\u7D22\u547D\u4EE4"},shortcut:{type:Boolean,default:!0}},emits:["update:modelValue","run"],setup(e,{emit:t}){let a=(0,be.ref)(!1),i=(0,be.ref)(""),n=(0,be.ref)(-1),l=(0,be.ref)(null),r=(0,be.ref)(null),o="djm-command-list-"+ ++jl,s=null,d=(0,be.computed)(()=>{let m=i.value.trim().toLowerCase();return m?e.commands.filter(f=>[f.label,f.group,f.hint].filter(Boolean).join(" ").toLowerCase().indexOf(m)>-1):e.commands}),p=(0,be.computed)(()=>n.value>-1?o+"-"+n.value:void 0);function c(){a.value||(a.value=!0,i.value="",n.value=-1,t("update:modelValue",!0),ot(),document.addEventListener("keydown",u),(0,be.nextTick)(()=>{s=Tt(r.value),l.value&&l.value.focus()}))}function h(){a.value&&(a.value=!1,t("update:modelValue",!1),$e(),document.removeEventListener("keydown",u),s&&(s(),s=null))}function v(){a.value?h():c()}function u(m){m.key==="Escape"&&h()}function g(m){e.shortcut&&(m.metaKey||m.ctrlKey)&&String(m.key).toLowerCase()==="k"&&(m.preventDefault(),v())}function y(m){let f=d.value.length;f&&(n.value=(n.value+m+f)%f)}function j(m){i.value=m.target.value,n.value=d.value.length?0:-1}function w(m){if(m.key==="ArrowDown"){m.preventDefault(),y(1);return}if(m.key==="ArrowUp"){m.preventDefault(),y(-1);return}if(m.key==="Enter"){let f=d.value[n.value]||d.value[0];f&&(m.preventDefault(),b(f))}}function b(m){t("run",m),typeof m.run=="function"&&m.run(m),h()}return(0,be.watch)(()=>e.modelValue,m=>{m?c():h()}),(0,be.onMounted)(()=>window.addEventListener("keydown",g)),(0,be.onBeforeUnmount)(()=>{window.removeEventListener("keydown",g),h()}),{open:a,keyword:i,activeIndex:n,searchInput:l,panelEl:r,listId:o,filtered:d,activeId:p,hide:h,move:y,onInput:j,onKeydown:w,run:b}},template:`
1699
1699
  <Teleport to="body">
1700
1700
  <div v-if="open" class="djm-command-mask" @mousedown.self="hide">
1701
1701
  <div class="djm-command-panel" ref="panelEl" role="dialog" aria-modal="true" aria-label="\u547D\u4EE4\u9762\u677F">
@@ -1737,15 +1737,15 @@ Minimum version required to store current data is: `+I+`.
1737
1737
  </div>
1738
1738
  </div>
1739
1739
  </Teleport>
1740
- `};var yt=require("vue"),on={name:"DjmQRCode",props:{value:{type:String,default:""},size:{type:Number,default:120},level:{type:String,default:"M"},margin:{type:Number,default:2},dark:{type:String,default:"#000000"},light:{type:String,default:"#ffffff"},alt:{type:String,default:"\u4E8C\u7EF4\u7801"}},setup(e){let t=(0,yt.ref)(""),a=(0,yt.ref)(""),n=null,i=0;async function l(){if(!n){let r=await Promise.resolve().then(()=>(ji(),wi));n=r.default||r}return n}async function o(){let r=e.value,s=++i;if(!r){t.value="",a.value="";return}try{let f=await(await l()).toString(r,{type:"svg",margin:e.margin,width:e.size,errorCorrectionLevel:e.level,color:{dark:e.dark,light:e.light}});if(s!==i)return;t.value="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(f),a.value=""}catch{if(s!==i)return;t.value="",a.value="\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"}}return(0,yt.onMounted)(o),(0,yt.watch)(()=>[e.value,e.size,e.level,e.margin,e.dark,e.light],o),{src:t,error:a}},template:`
1740
+ `};var jt=require("vue"),ci={name:"DjmQRCode",props:{value:{type:String,default:""},size:{type:Number,default:120},level:{type:String,default:"M"},margin:{type:Number,default:2},dark:{type:String,default:"#000000"},light:{type:String,default:"#ffffff"},alt:{type:String,default:"\u4E8C\u7EF4\u7801"}},setup(e){let t=(0,jt.ref)(""),a=(0,jt.ref)(""),i=null,n=0;async function l(){if(!i){let o=await Promise.resolve().then(()=>(Dn(),Sn));i=o.default||o}return i}async function r(){let o=e.value,s=++n;if(!o){t.value="",a.value="";return}try{let p=await(await l()).toString(o,{type:"svg",margin:e.margin,width:e.size,errorCorrectionLevel:e.level,color:{dark:e.dark,light:e.light}});if(s!==n)return;t.value="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(p),a.value=""}catch{if(s!==n)return;t.value="",a.value="\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"}}return(0,jt.onMounted)(r),(0,jt.watch)(()=>[e.value,e.size,e.level,e.margin,e.dark,e.light],r),{src:t,error:a}},template:`
1741
1741
  <div class="djm-qrcode" :style="{ width: size + 'px', height: size + 'px' }">
1742
1742
  <img v-if="src" class="djm-qrcode-img" :src="src" :alt="alt" :width="size" :height="size" />
1743
1743
  <span v-else-if="error" class="djm-qrcode-tip">{{ error }}</span>
1744
1744
  <span v-else class="djm-qrcode-tip">\u6682\u65E0\u5185\u5BB9</span>
1745
1745
  </div>
1746
- `};var Rl={success:"ok",warning:"warn",error:"danger",info:"brand",default:"off"},rn={name:"DjmStatus",props:{tone:{type:String,default:""},type:{type:String,default:""},label:{type:String,default:""}},computed:{classes(){let e=(this.tone||this.type||"off").replace(/^djm-/,"");return["djm-status","djm-"+(Rl[e]||e)]}},template:`
1746
+ `};var Wl={success:"ok",warning:"warn",error:"danger",info:"brand",default:"off"},ui={name:"DjmStatus",props:{tone:{type:String,default:""},type:{type:String,default:""},label:{type:String,default:""}},computed:{classes(){let e=(this.tone||this.type||"off").replace(/^djm-/,"");return["djm-status","djm-"+(Wl[e]||e)]}},template:`
1747
1747
  <span :class="classes"><i></i><slot>{{ label }}</slot></span>
1748
- `};var Fe=require("vue"),Vl=0,sn={name:"DjmTooltip",props:{content:{type:String,default:""},placement:{type:String,default:"top"},disabled:{type:Boolean,default:!1},delay:{type:Number,default:80}},setup(e){let t=(0,Fe.ref)(!1),a=(0,Fe.ref)(null),n=(0,Fe.ref)(null),i=(0,Fe.ref)(e.placement),l=(0,Fe.ref)({}),o="djm-tooltip-"+ ++Vl,r=null;function s(){let m=a.value;return m&&(m.firstElementChild||m)}function d(m){let h=s();h&&(m?h.setAttribute("aria-describedby",o):h.removeAttribute("aria-describedby"))}function f(){let m=s(),h=n.value;if(!m||!h)return;let b=m.getBoundingClientRect(),j=h.offsetWidth,w=h.offsetHeight,y=8,u=e.placement;u==="top"&&b.top-w-y<8?u="bottom":u==="bottom"&&b.bottom+w+y>window.innerHeight-8?u="top":u==="left"&&b.left-j-y<8?u="right":u==="right"&&b.right+j+y>window.innerWidth-8&&(u="left"),i.value=u;let v,T;u==="top"?(v=b.top-w-y,T=b.left+b.width/2-j/2):u==="bottom"?(v=b.bottom+y,T=b.left+b.width/2-j/2):u==="left"?(v=b.top+b.height/2-w/2,T=b.left-j-y):(v=b.top+b.height/2-w/2,T=b.right+y),l.value={position:"fixed",top:Math.max(8,Math.min(v,window.innerHeight-w-8))+"px",left:Math.max(8,Math.min(T,window.innerWidth-j-8))+"px"}}function c(m){let h=m?"addEventListener":"removeEventListener";window[h]("scroll",f,!0),window[h]("resize",f)}function p(){e.disabled||!e.content||(window.clearTimeout(r),r=window.setTimeout(async()=>{t.value=!0,await(0,Fe.nextTick)(),f(),d(!0),c(!0)},e.delay))}function g(){window.clearTimeout(r),t.value=!1,l.value={},d(!1),c(!1)}return(0,Fe.onBeforeUnmount)(()=>{window.clearTimeout(r),c(!1)}),{visible:t,rootRef:a,contentRef:n,actualPlacement:i,panelStyle:l,tipId:o,show:p,hide:g}},template:`
1748
+ `};var We=require("vue"),Ul=0,mi={name:"DjmTooltip",props:{content:{type:String,default:""},placement:{type:String,default:"top"},disabled:{type:Boolean,default:!1},delay:{type:Number,default:80}},setup(e){let t=(0,We.ref)(!1),a=(0,We.ref)(null),i=(0,We.ref)(null),n=(0,We.ref)(e.placement),l=(0,We.ref)({}),r="djm-tooltip-"+ ++Ul,o=null;function s(){let u=a.value;return u&&(u.firstElementChild||u)}function d(u){let g=s();g&&(u?g.setAttribute("aria-describedby",r):g.removeAttribute("aria-describedby"))}function p(){let u=s(),g=i.value;if(!u||!g)return;let y=u.getBoundingClientRect(),j=g.offsetWidth,w=g.offsetHeight,b=8,m=e.placement;m==="top"&&y.top-w-b<8?m="bottom":m==="bottom"&&y.bottom+w+b>window.innerHeight-8?m="top":m==="left"&&y.left-j-b<8?m="right":m==="right"&&y.right+j+b>window.innerWidth-8&&(m="left"),n.value=m;let f,E;m==="top"?(f=y.top-w-b,E=y.left+y.width/2-j/2):m==="bottom"?(f=y.bottom+b,E=y.left+y.width/2-j/2):m==="left"?(f=y.top+y.height/2-w/2,E=y.left-j-b):(f=y.top+y.height/2-w/2,E=y.right+b),l.value={position:"fixed",top:Math.max(8,Math.min(f,window.innerHeight-w-8))+"px",left:Math.max(8,Math.min(E,window.innerWidth-j-8))+"px"}}function c(u){let g=u?"addEventListener":"removeEventListener";window[g]("scroll",p,!0),window[g]("resize",p)}function h(){e.disabled||!e.content||(window.clearTimeout(o),o=window.setTimeout(async()=>{t.value=!0,await(0,We.nextTick)(),p(),d(!0),c(!0)},e.delay))}function v(){window.clearTimeout(o),t.value=!1,l.value={},d(!1),c(!1)}return(0,We.onBeforeUnmount)(()=>{window.clearTimeout(o),c(!1)}),{visible:t,rootRef:a,contentRef:i,actualPlacement:n,panelStyle:l,tipId:r,show:h,hide:v}},template:`
1749
1749
  <span ref="rootRef" class="djm-tooltip" @mouseenter="show" @mouseleave="hide" @focusin="show" @focusout="hide" @keydown.esc="hide">
1750
1750
  <slot></slot>
1751
1751
  <Transition name="djm-fade">
@@ -1760,7 +1760,7 @@ Minimum version required to store current data is: `+I+`.
1760
1760
  >{{ content }}</span>
1761
1761
  </Transition>
1762
1762
  </span>
1763
- `};var xe=require("vue");var dn={name:"DjmDropdown",components:{DjmIcon:L},props:{items:{type:Array,default:()=>[]},placement:{type:String,default:"bottom-start"},width:{type:[Number,String],default:""},maxHeight:{type:[Number,String],default:""},disabled:{type:Boolean,default:!1},trigger:{type:String,default:"click"},closeOnSelect:{type:Boolean,default:!0}},emits:["select","visible-change"],setup(e,{emit:t}){let a=(0,xe.ref)(!1),n=(0,xe.ref)(null),i=(0,xe.ref)(null),l=(0,xe.ref)({}),o=null;function r(){let u=n.value&&n.value.querySelector(".djm-dropdown-trigger");if(!u)return;let v=u.querySelector('button, a[href], input, [role="button"]'),T=v||u;v||T.setAttribute("role","button"),T.setAttribute("aria-haspopup","menu"),T.setAttribute("aria-expanded",String(a.value)),e.disabled?T.setAttribute("aria-disabled","true"):T.removeAttribute("aria-disabled")}(0,xe.onMounted)(()=>(0,xe.nextTick)(r)),(0,xe.watch)(a,()=>(0,xe.nextTick)(r));function s(){if(!a.value||!n.value)return;let u=n.value.getBoundingClientRect(),v={position:"fixed"};e.width&&(v.minWidth=typeof e.width=="number"?e.width+"px":e.width),e.maxHeight&&(v.maxHeight=typeof e.maxHeight=="number"?e.maxHeight+"px":e.maxHeight,v.overflowY="auto");let T=window.innerHeight-u.bottom;e.placement.indexOf("top")===0||T<160&&u.top>T?v.bottom=window.innerHeight-u.top+6+"px":v.top=u.bottom+6+"px",e.placement.indexOf("end")>-1?v.right=window.innerWidth-u.right+"px":v.left=u.left+"px",l.value=v}function d(){e.disabled||a.value||(a.value=!0,t("visible-change",!0),o=J({root:()=>n.value,panel:()=>i.value,onClose:f,onReposition:s}),requestAnimationFrame(s))}function f(){a.value&&(a.value=!1,l.value={},t("visible-change",!1),o&&(o(),o=null),p())}function c(){(0,xe.nextTick)(()=>{let u=i.value&&i.value.querySelector(".djm-dropdown-item:not(:disabled)");u&&u.focus()})}function p(){let u=n.value&&n.value.querySelector(".djm-dropdown-trigger");if(!u||!i.value||!i.value.contains(document.activeElement))return;(u.querySelector('button, a[href], input, [role="button"]')||u).focus()}function g(u){if(u.key==="Escape"){u.stopPropagation(),f();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(u.key))return;u.preventDefault();let v=[...i.value?i.value.querySelectorAll(".djm-dropdown-item:not(:disabled)"):[]];if(!v.length)return;let T=v.indexOf(document.activeElement),D=0;u.key==="End"?D=v.length-1:u.key==="ArrowDown"?D=T<0?0:(T+1)%v.length:u.key==="ArrowUp"&&(D=T<0?v.length-1:(T-1+v.length)%v.length),v[D].focus()}function m(u){if(!e.disabled){if(a.value){f();return}d(),u&&u.detail===0&&c()}}function h(){e.disabled||a.value||(d(),c())}let b=null;function j(){e.trigger==="hover"&&(window.clearTimeout(b),d())}function w(){e.trigger==="hover"&&(window.clearTimeout(b),b=window.setTimeout(f,120))}function y(u){u.disabled||u.divider||(t("select",u),e.closeOnSelect&&f())}return(0,xe.onBeforeUnmount)(()=>{window.clearTimeout(b),f()}),{open:a,root:n,menuEl:i,panelStyle:l,toggle:m,close:f,pick:y,openMenu:d,onHoverIn:j,onHoverOut:w,onMenuKeydown:g,onTriggerDown:h,t:C}},template:`
1763
+ `};var Me=require("vue");var fi={name:"DjmDropdown",components:{DjmIcon:z},props:{items:{type:Array,default:()=>[]},placement:{type:String,default:"bottom-start"},width:{type:[Number,String],default:""},maxHeight:{type:[Number,String],default:""},disabled:{type:Boolean,default:!1},trigger:{type:String,default:"click"},closeOnSelect:{type:Boolean,default:!0}},emits:["select","visible-change"],setup(e,{emit:t}){let a=(0,Me.ref)(!1),i=(0,Me.ref)(null),n=(0,Me.ref)(null),l=(0,Me.ref)({}),r=null;function o(){let m=i.value&&i.value.querySelector(".djm-dropdown-trigger");if(!m)return;let f=m.querySelector('button, a[href], input, [role="button"]'),E=f||m;f||E.setAttribute("role","button"),E.setAttribute("aria-haspopup","menu"),E.setAttribute("aria-expanded",String(a.value)),e.disabled?E.setAttribute("aria-disabled","true"):E.removeAttribute("aria-disabled")}(0,Me.onMounted)(()=>(0,Me.nextTick)(o)),(0,Me.watch)(a,()=>(0,Me.nextTick)(o));function s(){if(!a.value||!i.value)return;let m=i.value.getBoundingClientRect(),f={position:"fixed"};e.width&&(f.minWidth=typeof e.width=="number"?e.width+"px":e.width),e.maxHeight&&(f.maxHeight=typeof e.maxHeight=="number"?e.maxHeight+"px":e.maxHeight,f.overflowY="auto");let E=window.innerHeight-m.bottom;e.placement.indexOf("top")===0||E<160&&m.top>E?f.bottom=window.innerHeight-m.top+6+"px":f.top=m.bottom+6+"px",e.placement.indexOf("end")>-1?f.right=window.innerWidth-m.right+"px":f.left=m.left+"px",l.value=f}function d(){e.disabled||a.value||(a.value=!0,t("visible-change",!0),r=ie({root:()=>i.value,panel:()=>n.value,onClose:p,onReposition:s}),requestAnimationFrame(s))}function p(){a.value&&(a.value=!1,l.value={},t("visible-change",!1),r&&(r(),r=null),h())}function c(){(0,Me.nextTick)(()=>{let m=n.value&&n.value.querySelector(".djm-dropdown-item:not(:disabled)");m&&m.focus()})}function h(){let m=i.value&&i.value.querySelector(".djm-dropdown-trigger");if(!m||!n.value||!n.value.contains(document.activeElement))return;(m.querySelector('button, a[href], input, [role="button"]')||m).focus()}function v(m){if(m.key==="Escape"){m.stopPropagation(),p();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(m.key))return;m.preventDefault();let f=[...n.value?n.value.querySelectorAll(".djm-dropdown-item:not(:disabled)"):[]];if(!f.length)return;let E=f.indexOf(document.activeElement),D=0;m.key==="End"?D=f.length-1:m.key==="ArrowDown"?D=E<0?0:(E+1)%f.length:m.key==="ArrowUp"&&(D=E<0?f.length-1:(E-1+f.length)%f.length),f[D].focus()}function u(m){if(!e.disabled){if(a.value){p();return}d(),m&&m.detail===0&&c()}}function g(){e.disabled||a.value||(d(),c())}let y=null;function j(){e.trigger==="hover"&&(window.clearTimeout(y),d())}function w(){e.trigger==="hover"&&(window.clearTimeout(y),y=window.setTimeout(p,120))}function b(m){m.disabled||m.divider||(t("select",m),e.closeOnSelect&&p())}return(0,Me.onBeforeUnmount)(()=>{window.clearTimeout(y),p()}),{open:a,root:i,menuEl:n,panelStyle:l,toggle:u,close:p,pick:b,openMenu:d,onHoverIn:j,onHoverOut:w,onMenuKeydown:v,onTriggerDown:g,t:C}},template:`
1764
1764
  <div
1765
1765
  class="djm-dropdown"
1766
1766
  :class="{ 'djm-is-disabled': disabled }"
@@ -1815,7 +1815,7 @@ Minimum version required to store current data is: `+I+`.
1815
1815
  </Transition>
1816
1816
  </Teleport>
1817
1817
  </div>
1818
- `};var Ke=require("vue");var Hl=0,cn={name:"DjmDrawer",components:{DjmIcon:L},props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},placement:{type:String,default:"right"},width:{type:[Number,String],default:420},maskClosable:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:["update:modelValue","open","close"],setup(e,{emit:t}){let a=(0,Ke.ref)(null),n=`djm-drawer-title-${++Hl}`,i=!1,l=null;function o(){t("update:modelValue",!1)}function r(c){e.closeOnEsc&&c.key==="Escape"&&o()}function s(){l&&(l(),l=null)}async function d(){document.addEventListener("keydown",r),nt(),i=!0,t("open"),await(0,Ke.nextTick)(),l=Tt(a.value)}function f(){document.removeEventListener("keydown",r),s(),i&&(He(),i=!1),t("close")}return(0,Ke.watch)(()=>e.modelValue,c=>{c?d():f()}),(0,Ke.onMounted)(()=>{e.modelValue&&d()}),(0,Ke.onBeforeUnmount)(()=>{document.removeEventListener("keydown",r),s(),i&&He()}),{close:o,panelRef:a,titleId:n,t:C}},computed:{panelStyle(){return{width:typeof this.width=="number"?this.width+"px":this.width}}},template:`
1818
+ `};var Ue=require("vue");var ql=0,pi={name:"DjmDrawer",components:{DjmIcon:z},props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},placement:{type:String,default:"right"},width:{type:[Number,String],default:420},maskClosable:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:["update:modelValue","open","close"],setup(e,{emit:t}){let a=(0,Ue.ref)(null),i=`djm-drawer-title-${++ql}`,n=!1,l=null;function r(){t("update:modelValue",!1)}function o(c){e.closeOnEsc&&c.key==="Escape"&&r()}function s(){l&&(l(),l=null)}async function d(){document.addEventListener("keydown",o),ot(),n=!0,t("open"),await(0,Ue.nextTick)(),l=Tt(a.value)}function p(){document.removeEventListener("keydown",o),s(),n&&($e(),n=!1),t("close")}return(0,Ue.watch)(()=>e.modelValue,c=>{c?d():p()}),(0,Ue.onMounted)(()=>{e.modelValue&&d()}),(0,Ue.onBeforeUnmount)(()=>{document.removeEventListener("keydown",o),s(),n&&$e()}),{close:r,panelRef:a,titleId:i,t:C}},computed:{panelStyle(){return{width:typeof this.width=="number"?this.width+"px":this.width}}},template:`
1819
1819
  <Teleport to="body">
1820
1820
  <Transition name="djm-drawer">
1821
1821
  <div v-if="modelValue" class="djm-drawer-mask" @mousedown.self="maskClosable && close()">
@@ -1853,7 +1853,7 @@ Minimum version required to store current data is: `+I+`.
1853
1853
  </div>
1854
1854
  </Transition>
1855
1855
  </Teleport>
1856
- `};var Ee=require("vue");var Ol=0,bt={name:"DjmModal",components:{Icon:L},props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:String,default:"640px"},maskClosable:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!1}},emits:["update:modelValue","open","close"],setup(e,{emit:t}){let a=(0,Ee.ref)(null),n=`djm-modal-title-${++Ol}`,i=!1,l=null;function o(){t("update:modelValue",!1)}function r(c){e.closeOnEsc&&c.key==="Escape"&&o()}function s(){l&&(l(),l=null)}async function d(){document.addEventListener("keydown",r),nt(),i=!0,t("open"),await(0,Ee.nextTick)(),l=Tt(a.value)}function f(){document.removeEventListener("keydown",r),s(),i&&(He(),i=!1),t("close")}return(0,Ee.watch)(()=>e.modelValue,c=>{c?d():f()}),(0,Ee.onMounted)(()=>{e.modelValue&&d()}),(0,Ee.onBeforeUnmount)(()=>{document.removeEventListener("keydown",r),s(),i&&He()}),{close:o,dialogRef:a,titleId:n,t:C,dialogStyle:(0,Ee.computed)(()=>e.fullscreen?{width:"calc(100vw - 32px)",height:"calc(100vh - 48px)"}:{width:e.width})}},template:`
1856
+ `};var ze=require("vue");var _l=0,xt={name:"DjmModal",components:{Icon:z},props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:String,default:"640px"},maskClosable:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!1}},emits:["update:modelValue","open","close"],setup(e,{emit:t}){let a=(0,ze.ref)(null),i=`djm-modal-title-${++_l}`,n=!1,l=null;function r(){t("update:modelValue",!1)}function o(c){e.closeOnEsc&&c.key==="Escape"&&r()}function s(){l&&(l(),l=null)}async function d(){document.addEventListener("keydown",o),ot(),n=!0,t("open"),await(0,ze.nextTick)(),l=Tt(a.value)}function p(){document.removeEventListener("keydown",o),s(),n&&($e(),n=!1),t("close")}return(0,ze.watch)(()=>e.modelValue,c=>{c?d():p()}),(0,ze.onMounted)(()=>{e.modelValue&&d()}),(0,ze.onBeforeUnmount)(()=>{document.removeEventListener("keydown",o),s(),n&&$e()}),{close:r,dialogRef:a,titleId:i,t:C,dialogStyle:(0,ze.computed)(()=>e.fullscreen?{width:"calc(100vw - 32px)",height:"calc(100vh - 48px)"}:{width:e.width})}},template:`
1857
1857
  <Teleport to="body">
1858
1858
  <Transition name="djm-modal">
1859
1859
  <div v-if="modelValue" class="djm-modal-mask" @mousedown.self="maskClosable && close()">
@@ -1891,7 +1891,7 @@ Minimum version required to store current data is: `+I+`.
1891
1891
  </div>
1892
1892
  </Transition>
1893
1893
  </Teleport>
1894
- `};var un={name:"DjmConfirmDialog",components:{AppModal:bt},props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},message:{type:String,default:""},confirmText:{type:String,default:""},cancelText:{type:String,default:""},danger:{type:Boolean,default:!1}},emits:["update:modelValue","confirm"],computed:{titleText(){return this.title||C("confirm.title")},confirmLabel(){return this.confirmText||C("confirm.confirm")},cancelLabel(){return this.cancelText||C("confirm.cancel")}},setup(e,{emit:t}){function a(){t("update:modelValue",!1)}function n(){t("confirm"),a()}return{close:a,confirm:n}},template:`
1894
+ `};var hi={name:"DjmConfirmDialog",components:{AppModal:xt},props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},message:{type:String,default:""},confirmText:{type:String,default:""},cancelText:{type:String,default:""},danger:{type:Boolean,default:!1}},emits:["update:modelValue","confirm"],computed:{titleText(){return this.title||C("confirm.title")},confirmLabel(){return this.confirmText||C("confirm.confirm")},cancelLabel(){return this.cancelText||C("confirm.cancel")}},setup(e,{emit:t}){function a(){t("update:modelValue",!1)}function i(){t("confirm"),a()}return{close:a,confirm:i}},template:`
1895
1895
  <AppModal
1896
1896
  :model-value="modelValue"
1897
1897
  :title="titleText"
@@ -1917,7 +1917,7 @@ Minimum version required to store current data is: `+I+`.
1917
1917
  >{{ confirmLabel }}</button>
1918
1918
  </template>
1919
1919
  </AppModal>
1920
- `};var Mt=require("vue");var Ut={name:"DjmPagination",components:{Icon:L},props:{total:{type:Number,default:0},page:{type:Number,default:1},pageSize:{type:Number,default:10},pageSizes:{type:Array,default:()=>[10,20,50]}},emits:["update:page","update:pageSize","change"],setup(e,{emit:t}){let a=(0,Mt.ref)(""),n=(0,Mt.computed)(()=>Math.max(1,Math.ceil(e.total/Math.max(1,e.pageSize)))),i=(0,Mt.computed)(()=>Math.min(Math.max(1,e.page),n.value)),l=(0,Mt.computed)(()=>{let d=n.value,f=i.value;if(d<=7)return Array.from({length:d},(m,h)=>h+1);let c=Math.max(2,f-1),p=Math.min(d-1,f+1);f<=3&&(c=2,p=4),f>=d-2&&(c=d-3,p=d-1);let g=[1];c>2&&g.push("...");for(let m=c;m<=p;m++)g.push(m);return p<d-1&&g.push("..."),g.push(d),g});function o(d){let f=Math.min(Math.max(1,d),n.value);f!==e.page&&(t("update:page",f),t("change",{page:f,pageSize:e.pageSize})),a.value=""}function r(d){let f=Number(d.target.value);t("update:pageSize",f),t("update:page",1),t("change",{page:1,pageSize:f})}function s(){let d=Number(a.value);if(!Number.isFinite(d)||d<1){a.value="";return}o(Math.floor(d))}return{jumpText:a,pageCount:n,current:i,pages:l,go:o,changeSize:r,doJump:s,t:C}},template:`
1920
+ `};var It=require("vue");var Jt={name:"DjmPagination",components:{Icon:z},props:{total:{type:Number,default:0},page:{type:Number,default:1},pageSize:{type:Number,default:10},pageSizes:{type:Array,default:()=>[10,20,50]}},emits:["update:page","update:pageSize","change"],setup(e,{emit:t}){let a=(0,It.ref)(""),i=(0,It.computed)(()=>Math.max(1,Math.ceil(e.total/Math.max(1,e.pageSize)))),n=(0,It.computed)(()=>Math.min(Math.max(1,e.page),i.value)),l=(0,It.computed)(()=>{let d=i.value,p=n.value;if(d<=7)return Array.from({length:d},(u,g)=>g+1);let c=Math.max(2,p-1),h=Math.min(d-1,p+1);p<=3&&(c=2,h=4),p>=d-2&&(c=d-3,h=d-1);let v=[1];c>2&&v.push("...");for(let u=c;u<=h;u++)v.push(u);return h<d-1&&v.push("..."),v.push(d),v});function r(d){let p=Math.min(Math.max(1,d),i.value);p!==e.page&&(t("update:page",p),t("change",{page:p,pageSize:e.pageSize})),a.value=""}function o(d){let p=Number(d.target.value);t("update:pageSize",p),t("update:page",1),t("change",{page:1,pageSize:p})}function s(){let d=Number(a.value);if(!Number.isFinite(d)||d<1){a.value="";return}r(Math.floor(d))}return{jumpText:a,pageCount:i,current:n,pages:l,go:r,changeSize:o,doJump:s,t:C}},template:`
1921
1921
  <div class="djm-pagination">
1922
1922
  <div class="djm-pagination-info">
1923
1923
  {{ t('pagination.total', { total }) }}
@@ -1963,7 +1963,7 @@ Minimum version required to store current data is: `+I+`.
1963
1963
  </div>
1964
1964
  </div>
1965
1965
  </div>
1966
- `};var ki=require("vue");var $l=0,mn={name:"DjmTabs",components:{Icon:L},props:{modelValue:{type:[String,Number],required:!0},items:{type:Array,default:()=>[]},variant:{type:String,default:"line"},flush:{type:Boolean,default:!1},persist:{type:Boolean,default:!1}},emits:["update:modelValue","close"],setup(e,{emit:t}){let a=`djm-tabs-panel-${++$l}`,n=(0,ki.computed)(()=>e.items.find(c=>c.key===e.modelValue)||{label:String(e.modelValue)});function i(c){return`${a}-${c.key}`}function l(c){c.disabled||c.key===e.modelValue||t("update:modelValue",c.key)}function o(c){t("close",c)}function r(c){return e.persist?`${a}-${c.key}`:a}function s(c){let p=String(c.badge===null||c.badge===void 0?"":c.badge).trim();return p===""?!1:Number.isFinite(Number(p))?Number(p)!==0:!0}function d(c){!c.closable||c.disabled||o(c.key)}function f(c){let p=c.key==="ArrowLeft"?-1:c.key==="ArrowRight"?1:0,g=c.key==="Home",m=c.key==="End";if(!p&&!g&&!m)return;let h=c.currentTarget.closest(".djm-tabs-head");if(!h)return;let j=[...h.querySelectorAll('[role="tab"]')].filter(u=>u.getAttribute("aria-disabled")!=="true");if(!j.length)return;c.preventDefault();let w=j.indexOf(c.currentTarget);g?w=0:m?w=j.length-1:w=(w+p+j.length)%j.length;let y=j[w];y.focus(),y.click()}return{panelId:a,activeItem:n,tabId:i,panelOf:r,activate:l,close:o,onDelete:d,onKeydown:f,hasBadge:s}},template:`
1966
+ `};var En=require("vue");var Yl=0,vi={name:"DjmTabs",components:{Icon:z},props:{modelValue:{type:[String,Number],required:!0},items:{type:Array,default:()=>[]},variant:{type:String,default:"line"},flush:{type:Boolean,default:!1},persist:{type:Boolean,default:!1}},emits:["update:modelValue","close"],setup(e,{emit:t}){let a=`djm-tabs-panel-${++Yl}`,i=(0,En.computed)(()=>e.items.find(c=>c.key===e.modelValue)||{label:String(e.modelValue)});function n(c){return`${a}-${c.key}`}function l(c){c.disabled||c.key===e.modelValue||t("update:modelValue",c.key)}function r(c){t("close",c)}function o(c){return e.persist?`${a}-${c.key}`:a}function s(c){let h=String(c.badge===null||c.badge===void 0?"":c.badge).trim();return h===""?!1:Number.isFinite(Number(h))?Number(h)!==0:!0}function d(c){!c.closable||c.disabled||r(c.key)}function p(c){let h=c.key==="ArrowLeft"?-1:c.key==="ArrowRight"?1:0,v=c.key==="Home",u=c.key==="End";if(!h&&!v&&!u)return;let g=c.currentTarget.closest(".djm-tabs-head");if(!g)return;let j=[...g.querySelectorAll('[role="tab"]')].filter(m=>m.getAttribute("aria-disabled")!=="true");if(!j.length)return;c.preventDefault();let w=j.indexOf(c.currentTarget);v?w=0:u?w=j.length-1:w=(w+h+j.length)%j.length;let b=j[w];b.focus(),b.click()}return{panelId:a,activeItem:i,tabId:n,panelOf:o,activate:l,close:r,onDelete:d,onKeydown:p,hasBadge:s}},template:`
1967
1967
  <div class="djm-tabs" :class="[variant === 'line' ? '' : 'djm-tabs-' + variant, { 'djm-is-flush': flush }]">
1968
1968
  <div class="djm-tabs-head" role="tablist">
1969
1969
  <div
@@ -2017,7 +2017,7 @@ Minimum version required to store current data is: `+I+`.
2017
2017
  </slot>
2018
2018
  </div>
2019
2019
  </div>
2020
- `};var We=require("vue");var fn={name:"DjmContextMenu",components:{Icon:L},props:{modelValue:{type:Boolean,default:!1},x:{type:Number,default:0},y:{type:Number,default:0},items:{type:Array,default:()=>[]}},emits:["update:modelValue","select"],setup(e,{emit:t}){let a=(0,We.ref)(null),n=(0,We.ref)({left:0,top:0}),i=8;function l(){t("update:modelValue",!1)}function o(){let g=a.value?a.value.offsetWidth:180,m=a.value?a.value.offsetHeight:220,h=e.x,b=e.y;h+g+i>window.innerWidth&&(h=Math.max(i,window.innerWidth-g-i)),b+m+i>window.innerHeight&&(b=Math.max(i,b-m)),n.value={left:h,top:b}}async function r(){n.value={left:e.x,top:e.y},await(0,We.nextTick)(),o();let g=a.value&&a.value.querySelector(".djm-context-menu-item:not(:disabled)");g&&g.focus()}function s(g){g.disabled||g.divider||(t("select",g),l())}function d(g){if(g.key==="Escape"){g.stopPropagation(),l();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();let m=[...a.value?a.value.querySelectorAll(".djm-context-menu-item:not(:disabled)"):[]];if(!m.length)return;let h=m.indexOf(document.activeElement),b=0;g.key==="End"?b=m.length-1:g.key==="ArrowDown"?b=h<0?0:(h+1)%m.length:g.key==="ArrowUp"&&(b=h<0?m.length-1:(h-1+m.length)%m.length),m[b].focus()}let f=null;function c(){f=J({root:()=>null,panel:()=>a.value,onClose:l,onReposition:l})}function p(){f&&(f(),f=null)}return(0,We.watch)(()=>e.modelValue,g=>{g?(r(),c()):p()}),(0,We.watch)([()=>e.x,()=>e.y],()=>{e.modelValue&&r()}),(0,We.onBeforeUnmount)(p),{menuRef:a,pos:n,close:l,onSelect:s,onKeydown:d,t:C}},template:`
2020
+ `};var qe=require("vue");var gi={name:"DjmContextMenu",components:{Icon:z},props:{modelValue:{type:Boolean,default:!1},x:{type:Number,default:0},y:{type:Number,default:0},items:{type:Array,default:()=>[]}},emits:["update:modelValue","select"],setup(e,{emit:t}){let a=(0,qe.ref)(null),i=(0,qe.ref)({left:0,top:0}),n=8;function l(){t("update:modelValue",!1)}function r(){let v=a.value?a.value.offsetWidth:180,u=a.value?a.value.offsetHeight:220,g=e.x,y=e.y;g+v+n>window.innerWidth&&(g=Math.max(n,window.innerWidth-v-n)),y+u+n>window.innerHeight&&(y=Math.max(n,y-u)),i.value={left:g,top:y}}async function o(){i.value={left:e.x,top:e.y},await(0,qe.nextTick)(),r();let v=a.value&&a.value.querySelector(".djm-context-menu-item:not(:disabled)");v&&v.focus()}function s(v){v.disabled||v.divider||(t("select",v),l())}function d(v){if(v.key==="Escape"){v.stopPropagation(),l();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(v.key))return;v.preventDefault();let u=[...a.value?a.value.querySelectorAll(".djm-context-menu-item:not(:disabled)"):[]];if(!u.length)return;let g=u.indexOf(document.activeElement),y=0;v.key==="End"?y=u.length-1:v.key==="ArrowDown"?y=g<0?0:(g+1)%u.length:v.key==="ArrowUp"&&(y=g<0?u.length-1:(g-1+u.length)%u.length),u[y].focus()}let p=null;function c(){p=ie({root:()=>null,panel:()=>a.value,onClose:l,onReposition:l})}function h(){p&&(p(),p=null)}return(0,qe.watch)(()=>e.modelValue,v=>{v?(o(),c()):h()}),(0,qe.watch)([()=>e.x,()=>e.y],()=>{e.modelValue&&o()}),(0,qe.onBeforeUnmount)(h),{menuRef:a,pos:i,close:l,onSelect:s,onKeydown:d,t:C}},template:`
2021
2021
  <Teleport to="body">
2022
2022
  <Transition name="djm-context-menu">
2023
2023
  <div
@@ -2049,7 +2049,7 @@ Minimum version required to store current data is: `+I+`.
2049
2049
  </div>
2050
2050
  </Transition>
2051
2051
  </Teleport>
2052
- `};var ne=require("vue");var Fl=0;function xi(e){return String(e).padStart(2,"0")}function Si(e,t,a){return`${e}-${xi(t+1)}-${xi(a)}`}function Di(e){if(!e)return null;let t=String(e).split("-").map(Number);return t.length!==3||t.some(a=>!Number.isFinite(a))?null:{year:t[0],month:t[1]-1,day:t[2]}}var Ue={name:"DjmDatePicker",components:{Icon:L},props:{modelValue:{type:[String,Array],default:""},placeholder:{type:String,default:""},min:{type:String,default:""},max:{type:String,default:""},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},range:{type:Boolean,default:!1},presets:{type:Array,default:()=>[]},disabledDate:{type:Function,default:null},panels:{type:Number,default:2}},emits:["update:modelValue","change","visible-change"],setup(e,{emit:t}){let a=(0,ne.ref)(!1);(0,ne.watch)(a,k=>t("visible-change",k));let n=(0,ne.ref)(null),i=(0,ne.ref)(null),l="djm-date-panel-"+ ++Fl,o=(0,ne.ref)({...ee}),r=null,s=new Date,d=Si(s.getFullYear(),s.getMonth(),s.getDate()),f=(0,ne.computed)(()=>e.range?Array.isArray(e.modelValue)?e.modelValue:[]:e.modelValue?[e.modelValue]:[]),c=(0,ne.computed)(()=>{if(!e.range)return f.value[0]||"";let[k,E]=f.value;return k?E?`${k} ~ ${E}`:`${k} ~ ${C("datePicker.rangeEnd")}`:""}),p=Di(f.value[0]),g=(0,ne.ref)(p?p.year:s.getFullYear()),m=(0,ne.ref)(p?p.month:s.getMonth()),h=(0,ne.ref)(f.value[0]||""),b=(0,ne.ref)(f.value[1]||""),j=(0,ne.computed)(()=>e.placeholder?e.placeholder:C(e.range?"datePicker.rangePlaceholder":"datePicker.placeholder")),w=(0,ne.computed)(()=>C("datePicker.weeks").split(",")),y=(0,ne.ref)(!1),u=null,v=k=>{y.value=k.matches};typeof window<"u"&&window.matchMedia&&(u=window.matchMedia("(max-width: 760px)"),y.value=u.matches,u.addEventListener?u.addEventListener("change",v):u.addListener(v)),(0,ne.onBeforeUnmount)(()=>{u&&(u.removeEventListener?u.removeEventListener("change",v):u.removeListener(v))});let T=(0,ne.computed)(()=>e.range?Math.min(y.value?1:2,Math.max(1,e.panels)):1),D=(0,ne.ref)(""),x=(0,ne.computed)(()=>{if(!e.range||!h.value||b.value||!D.value)return null;let k=h.value,E=D.value;return k<=E?[k,E]:[E,k]});function z(k){let E=new Date(g.value,m.value+k,1);return{year:E.getFullYear(),month:E.getMonth()}}function S(k,E){let $=(new Date(k,E,1).getDay()+6)%7,q=new Date(k,E,1-$),se=e.range?h.value:f.value[0],N=e.range?b.value:"",K=x.value,Y=K?K[0]:N?se:"",ie=K?K[1]:N;return Array.from({length:42},(me,ke)=>{let Ae=new Date(q.getFullYear(),q.getMonth(),q.getDate()+ke),Te=Si(Ae.getFullYear(),Ae.getMonth(),Ae.getDate());return{key:Te,day:Ae.getDate(),outside:Ae.getMonth()!==E,today:Te===d,selected:Te===se||Te===N||ie!==""&&(Te===Y||Te===ie),inRange:!!(Y&&ie&&Te>Y&&Te<ie),edgeStart:!!(Y&&ie&&Te===Y),edgeEnd:!!(ie&&Te===ie),disabled:I(Te)}})}let M=(0,ne.computed)(()=>Array.from({length:T.value},(k,E)=>{let{year:B,month:$}=z(E);return{key:B*100+$,label:C("datePicker.title",{year:B,month:$+1}),cells:S(B,$)}}));function I(k){return e.min&&k<e.min||e.max&&k>e.max?!0:typeof e.disabledDate=="function"?!!e.disabledDate(k):!1}let A=(0,ne.computed)(()=>e.range?(e.presets||[]).map(k=>{let E=typeof k.value=="function"?k.value():k.value,B=Array.isArray(E)&&E.length===2&&E.every($=>!I($));return{...k,value:E,invalid:!B}}):[]);function V(k){t("update:modelValue",k),t("change",k)}function H(){let k=Di(f.value[0]);k&&(g.value=k.year,m.value=k.month)}function G(){e.disabled||(H(),h.value=f.value[0]||"",b.value=f.value[1]||"",D.value="",a.value=!0,r=J({root:()=>n.value,panel:()=>i.value,onClose:R,onReposition:Q}),requestAnimationFrame(Q))}function Q(){if(!a.value||!n.value)return;let k=n.value.getBoundingClientRect(),E=i.value?i.value.offsetHeight:320,B=i.value?i.value.offsetWidth:300,$=Math.max(8,Math.min(k.left,window.innerWidth-B-8)),se=window.innerHeight-k.bottom-8>=E?k.bottom+4:k.top-E-4;se=Math.max(8,Math.min(se,window.innerHeight-E-8)),o.value={position:"fixed",visibility:"visible",left:$+"px",top:se+"px",bottom:"auto"}}function R(){a.value=!1,D.value="",o.value={...ee},r&&(r(),r=null)}function F(){a.value?R():G()}function U(){m.value===0?(m.value=11,g.value-=1):m.value-=1}function ae(){m.value===11?(m.value=0,g.value+=1):m.value+=1}function Z(){g.value-=1}function de(){g.value+=1}function P(k){if(k.disabled)return;if(!e.range){V(k.key),R();return}if(!h.value||b.value){h.value=k.key,b.value="",D.value="";return}let E=h.value,B=k.key;if(B<E){let $=E;E=B,B=$}h.value=E,b.value=B,V([E,B]),R()}function O(){I(d)||(e.range?V([d,d]):V(d),R())}function W(k){if(k.invalid)return;let E=k.value;h.value=E[0],b.value=E[1],V([E[0],E[1]]),R()}function re(){V(e.range?[]:""),h.value="",b.value="",R()}return(0,ne.onBeforeUnmount)(()=>{r&&(r(),r=null)}),{open:a,root:n,panel:i,panelId:l,panelStyle:o,viewYear:g,viewMonth:m,placeholderText:j,weeks:w,t:C,panels:M,panelCount:T,hoverKey:D,presetList:A,displayText:c,values:f,toggle:F,closePanel:R,prevMonth:U,nextMonth:ae,prevYear:Z,nextYear:de,pick:P,pickToday:O,pickPreset:W,clear:re}},template:`
2052
+ `};var se=require("vue");var Jl=0;function Mn(e){return String(e).padStart(2,"0")}function Cn(e,t,a){return`${e}-${Mn(t+1)}-${Mn(a)}`}function Tn(e){if(!e)return null;let t=String(e).split("-").map(Number);return t.length!==3||t.some(a=>!Number.isFinite(a))?null:{year:t[0],month:t[1]-1,day:t[2]}}var _e={name:"DjmDatePicker",components:{Icon:z},props:{modelValue:{type:[String,Array],default:""},placeholder:{type:String,default:""},min:{type:String,default:""},max:{type:String,default:""},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},range:{type:Boolean,default:!1},presets:{type:Array,default:()=>[]},disabledDate:{type:Function,default:null},panels:{type:Number,default:2}},emits:["update:modelValue","change","visible-change"],setup(e,{emit:t}){let a=(0,se.ref)(!1);(0,se.watch)(a,x=>t("visible-change",x));let i=(0,se.ref)(null),n=(0,se.ref)(null),l="djm-date-panel-"+ ++Jl,r=(0,se.ref)({...oe}),o=null,s=new Date,d=Cn(s.getFullYear(),s.getMonth(),s.getDate()),p=(0,se.computed)(()=>e.range?Array.isArray(e.modelValue)?e.modelValue:[]:e.modelValue?[e.modelValue]:[]),c=(0,se.computed)(()=>{if(!e.range)return p.value[0]||"";let[x,I]=p.value;return x?I?`${x} ~ ${I}`:`${x} ~ ${C("datePicker.rangeEnd")}`:""}),h=Tn(p.value[0]),v=(0,se.ref)(h?h.year:s.getFullYear()),u=(0,se.ref)(h?h.month:s.getMonth()),g=(0,se.ref)(p.value[0]||""),y=(0,se.ref)(p.value[1]||""),j=(0,se.computed)(()=>e.placeholder?e.placeholder:C(e.range?"datePicker.rangePlaceholder":"datePicker.placeholder")),w=(0,se.computed)(()=>C("datePicker.weeks").split(",")),b=(0,se.ref)(!1),m=null,f=x=>{b.value=x.matches};typeof window<"u"&&window.matchMedia&&(m=window.matchMedia("(max-width: 760px)"),b.value=m.matches,m.addEventListener?m.addEventListener("change",f):m.addListener(f)),(0,se.onBeforeUnmount)(()=>{m&&(m.removeEventListener?m.removeEventListener("change",f):m.removeListener(f))});let E=(0,se.computed)(()=>e.range?Math.min(b.value?1:2,Math.max(1,e.panels)):1),D=(0,se.ref)(""),k=(0,se.computed)(()=>{if(!e.range||!g.value||y.value||!D.value)return null;let x=g.value,I=D.value;return x<=I?[x,I]:[I,x]});function B(x){let I=new Date(v.value,u.value+x,1);return{year:I.getFullYear(),month:I.getMonth()}}function S(x,I){let W=(new Date(x,I,1).getDay()+6)%7,G=new Date(x,I,1-W),me=e.range?g.value:p.value[0],V=e.range?y.value:"",q=k.value,M=q?q[0]:V?me:"",R=q?q[1]:V;return Array.from({length:42},(F,J)=>{let Z=new Date(G.getFullYear(),G.getMonth(),G.getDate()+J),ee=Cn(Z.getFullYear(),Z.getMonth(),Z.getDate());return{key:ee,day:Z.getDate(),outside:Z.getMonth()!==I,today:ee===d,selected:ee===me||ee===V||R!==""&&(ee===M||ee===R),inRange:!!(M&&R&&ee>M&&ee<R),edgeStart:!!(M&&R&&ee===M),edgeEnd:!!(R&&ee===R),disabled:L(ee)}})}let T=(0,se.computed)(()=>Array.from({length:E.value},(x,I)=>{let{year:N,month:W}=B(I);return{key:N*100+W,label:C("datePicker.title",{year:N,month:W+1}),cells:S(N,W)}}));function L(x){return e.min&&x<e.min||e.max&&x>e.max?!0:typeof e.disabledDate=="function"?!!e.disabledDate(x):!1}let A=(0,se.computed)(()=>e.range?(e.presets||[]).map(x=>{let I=typeof x.value=="function"?x.value():x.value,N=Array.isArray(I)&&I.length===2&&I.every(W=>!L(W));return{...x,value:I,invalid:!N}}):[]);function O(x){t("update:modelValue",x),t("change",x)}function $(){let x=Tn(p.value[0]);x&&(v.value=x.year,u.value=x.month)}function Q(){e.disabled||($(),g.value=p.value[0]||"",y.value=p.value[1]||"",D.value="",a.value=!0,o=ie({root:()=>i.value,panel:()=>n.value,onClose:H,onReposition:te}),requestAnimationFrame(te))}function te(){if(!a.value||!i.value)return;let x=i.value.getBoundingClientRect(),I=n.value?n.value.offsetHeight:320,N=n.value?n.value.offsetWidth:300,W=Math.max(8,Math.min(x.left,window.innerWidth-N-8)),me=window.innerHeight-x.bottom-8>=I?x.bottom+4:x.top-I-4;me=Math.max(8,Math.min(me,window.innerHeight-I-8)),r.value={position:"fixed",visibility:"visible",left:W+"px",top:me+"px",bottom:"auto"}}function H(){a.value=!1,D.value="",r.value={...oe},o&&(o(),o=null)}function U(){a.value?H():Q()}function Y(){u.value===0?(u.value=11,v.value-=1):u.value-=1}function le(){u.value===11?(u.value=0,v.value+=1):u.value+=1}function ae(){v.value-=1}function de(){v.value+=1}function P(x){if(x.disabled)return;if(!e.range){O(x.key),H();return}if(!g.value||y.value){g.value=x.key,y.value="",D.value="";return}let I=g.value,N=x.key;if(N<I){let W=I;I=N,N=W}g.value=I,y.value=N,O([I,N]),H()}function K(){L(d)||(e.range?O([d,d]):O(d),H())}function _(x){if(x.invalid)return;let I=x.value;g.value=I[0],y.value=I[1],O([I[0],I[1]]),H()}function ue(){O(e.range?[]:""),g.value="",y.value="",H()}return(0,se.onBeforeUnmount)(()=>{o&&(o(),o=null)}),{open:a,root:i,panel:n,panelId:l,panelStyle:r,viewYear:v,viewMonth:u,placeholderText:j,weeks:w,t:C,panels:T,panelCount:E,hoverKey:D,presetList:A,displayText:c,values:p,toggle:U,closePanel:H,prevMonth:Y,nextMonth:le,prevYear:ae,nextYear:de,pick:P,pickToday:K,pickPreset:_,clear:ue}},template:`
2053
2053
  <div class="djm-date-picker" ref="root" :class="{ 'djm-is-disabled': disabled }">
2054
2054
  <button
2055
2055
  class="djm-input djm-date-trigger"
@@ -2139,7 +2139,7 @@ Minimum version required to store current data is: `+I+`.
2139
2139
  </Transition>
2140
2140
  </Teleport>
2141
2141
  </div>
2142
- `};var ue=require("vue");function Ti(e,t,a=[]){return e.children&&e.children.length?e.children.forEach(n=>Ti(n,t,a)):a.push(t(e)),a}function Jt(e,t=[]){return e.forEach(a=>{t.push(a),a.children&&a.children.length&&Jt(a.children,t)}),t}var wt={name:"DjmTreeSelect",components:{Icon:L},props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},nodeKey:{type:String,default:"id"},labelKey:{type:String,default:"label"},placeholder:{type:String,default:""},searchPlaceholder:{type:String,default:""},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},maxTagCount:{type:Number,default:2},showFooter:{type:Boolean,default:!0}},emits:["update:modelValue","change","visible-change"],setup(e,{emit:t}){let a=(0,ue.ref)(!1),n=(0,ue.ref)(null),i=(0,ue.ref)(null),l=(0,ue.ref)(null),o=(0,ue.ref)(""),r=(0,ue.ref)([]),s=(0,ue.ref)({...ee}),d=null;function f(R){return R?R[e.nodeKey]:void 0}function c(R){let F=R?R[e.labelKey]:"";return F==null?"":String(F)}let p=(0,ue.ref)(new Set(Jt(e.options).filter(R=>R.children&&R.children.length).map(R=>f(R)))),g=(0,ue.computed)(()=>{let R=new Map;return Jt(e.options).forEach(F=>R.set(f(F),F)),R});(0,ue.watch)(()=>e.options,R=>{!R||!R.length||p.value.size||(p.value=new Set(Jt(R).filter(F=>F.children&&F.children.length).map(F=>f(F))))});let m=(0,ue.computed)(()=>e.modelValue.map(R=>g.value.get(R)).filter(Boolean).map(R=>({key:f(R),label:c(R)}))),h=(0,ue.computed)(()=>{let R=o.value.trim().toLowerCase();if(!R)return null;let F=new Set,U=ae=>{let Z=!1;return ae.forEach(de=>{let P=de.children&&de.children.length?U(de.children):!1;(c(de).toLowerCase().includes(R)||P)&&(F.add(f(de)),Z=!0)}),Z};return U(e.options),F}),b=(0,ue.computed)(()=>{let R=[],F=(U,ae)=>{U.forEach(Z=>{if(h.value&&!h.value.has(f(Z)))return;R.push({node:Z,depth:ae,key:f(Z),label:c(Z)});let de=Z.children&&Z.children.length,P=h.value?!0:p.value.has(f(Z));de&&P&&F(Z.children,ae+1)})};return F(e.options,0),R});function j(R){return!!(R.children&&R.children.length)}function w(R){return h.value?!0:p.value.has(f(R))}function y(R){let F=v(R);return F.length>0&&F.every(U=>r.value.includes(U))}function u(R){let F=v(R),U=F.filter(ae=>r.value.includes(ae)).length;return U>0&&U<F.length}function v(R){return Ti(R,f).filter(F=>{let U=g.value.get(F);return U&&!U.disabled})}function T(R){if(R.disabled)return;let F=v(R);if(!F.length)return;F.every(ae=>r.value.includes(ae))?r.value=r.value.filter(ae=>!F.includes(ae)):r.value=[...new Set([...r.value,...F])],e.showFooter||(t("update:modelValue",[...r.value]),t("change",[...r.value]))}function D(R){if(!j(R))return;let F=f(R),U=new Set(p.value);U.has(F)?U.delete(F):U.add(F),p.value=U}function x(R){j(R)?D(R):T(R)}function z(){a.value||e.disabled||(r.value=[...e.modelValue],o.value="",a.value=!0,t("visible-change",!0),d=J({root:()=>n.value,panel:()=>i.value,onClose:M,onReposition:S}),(0,ue.nextTick)(()=>{S(),l.value&&l.value.focus()}))}function S(){if(!a.value||!n.value)return;let R=n.value.getBoundingClientRect(),F=i.value?i.value.offsetHeight:320,U=Math.min(300,window.innerWidth-16);s.value=ye({rect:R,flip:ge(R,F),gap:4,width:U,clampWidth:U})}function M(){a.value&&(a.value=!1,s.value={...ee},t("visible-change",!1),d&&(d(),d=null))}function I(){e.disabled||(a.value?M():z())}function A(){t("update:modelValue",[...r.value]),t("change",[...r.value]),M()}function V(){M()}function H(){r.value=[]}function G(R){let F=e.modelValue.filter(U=>U!==R);t("update:modelValue",F),t("change",F),r.value=r.value.filter(U=>U!==R)}function Q(){e.disabled||(t("update:modelValue",[]),t("change",[]),r.value=[])}return(0,ue.onBeforeUnmount)(()=>{d&&(d(),d=null)}),{open:a,root:n,panel:i,panelStyle:s,searchInput:l,search:o,temp:r,rows:b,selectedNodes:m,hasChildren:j,isExpanded:w,isChecked:y,isIndeterminate:u,toggleNode:T,onRowClick:x,toggle:I,confirm:A,cancel:V,clearTemp:H,clearAll:Q,removeTag:G,t:C}},template:`
2142
+ `};var ve=require("vue");function In(e,t,a=[]){return e.children&&e.children.length?e.children.forEach(i=>In(i,t,a)):a.push(t(e)),a}function ta(e,t=[]){return e.forEach(a=>{t.push(a),a.children&&a.children.length&&ta(a.children,t)}),t}var kt={name:"DjmTreeSelect",components:{Icon:z},props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},nodeKey:{type:String,default:"id"},labelKey:{type:String,default:"label"},placeholder:{type:String,default:""},searchPlaceholder:{type:String,default:""},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},maxTagCount:{type:Number,default:2},showFooter:{type:Boolean,default:!0}},emits:["update:modelValue","change","visible-change"],setup(e,{emit:t}){let a=(0,ve.ref)(!1),i=(0,ve.ref)(null),n=(0,ve.ref)(null),l=(0,ve.ref)(null),r=(0,ve.ref)(""),o=(0,ve.ref)([]),s=(0,ve.ref)({...oe}),d=null;function p(H){return H?H[e.nodeKey]:void 0}function c(H){let U=H?H[e.labelKey]:"";return U==null?"":String(U)}let h=(0,ve.ref)(new Set(ta(e.options).filter(H=>H.children&&H.children.length).map(H=>p(H)))),v=(0,ve.computed)(()=>{let H=new Map;return ta(e.options).forEach(U=>H.set(p(U),U)),H});(0,ve.watch)(()=>e.options,H=>{!H||!H.length||h.value.size||(h.value=new Set(ta(H).filter(U=>U.children&&U.children.length).map(U=>p(U))))});let u=(0,ve.computed)(()=>e.modelValue.map(H=>v.value.get(H)).filter(Boolean).map(H=>({key:p(H),label:c(H)}))),g=(0,ve.computed)(()=>{let H=r.value.trim().toLowerCase();if(!H)return null;let U=new Set,Y=le=>{let ae=!1;return le.forEach(de=>{let P=de.children&&de.children.length?Y(de.children):!1;(c(de).toLowerCase().includes(H)||P)&&(U.add(p(de)),ae=!0)}),ae};return Y(e.options),U}),y=(0,ve.computed)(()=>{let H=[],U=(Y,le)=>{Y.forEach(ae=>{if(g.value&&!g.value.has(p(ae)))return;H.push({node:ae,depth:le,key:p(ae),label:c(ae)});let de=ae.children&&ae.children.length,P=g.value?!0:h.value.has(p(ae));de&&P&&U(ae.children,le+1)})};return U(e.options,0),H});function j(H){return!!(H.children&&H.children.length)}function w(H){return g.value?!0:h.value.has(p(H))}function b(H){let U=f(H);return U.length>0&&U.every(Y=>o.value.includes(Y))}function m(H){let U=f(H),Y=U.filter(le=>o.value.includes(le)).length;return Y>0&&Y<U.length}function f(H){return In(H,p).filter(U=>{let Y=v.value.get(U);return Y&&!Y.disabled})}function E(H){if(H.disabled)return;let U=f(H);if(!U.length)return;U.every(le=>o.value.includes(le))?o.value=o.value.filter(le=>!U.includes(le)):o.value=[...new Set([...o.value,...U])],e.showFooter||(t("update:modelValue",[...o.value]),t("change",[...o.value]))}function D(H){if(!j(H))return;let U=p(H),Y=new Set(h.value);Y.has(U)?Y.delete(U):Y.add(U),h.value=Y}function k(H){j(H)?D(H):E(H)}function B(){a.value||e.disabled||(o.value=[...e.modelValue],r.value="",a.value=!0,t("visible-change",!0),d=ie({root:()=>i.value,panel:()=>n.value,onClose:T,onReposition:S}),(0,ve.nextTick)(()=>{S(),l.value&&l.value.focus()}))}function S(){if(!a.value||!i.value)return;let H=i.value.getBoundingClientRect(),U=n.value?n.value.offsetHeight:320,Y=Math.min(300,window.innerWidth-16);s.value=xe({rect:H,flip:je(H,U),gap:4,width:Y,clampWidth:Y})}function T(){a.value&&(a.value=!1,s.value={...oe},t("visible-change",!1),d&&(d(),d=null))}function L(){e.disabled||(a.value?T():B())}function A(){t("update:modelValue",[...o.value]),t("change",[...o.value]),T()}function O(){T()}function $(){o.value=[]}function Q(H){let U=e.modelValue.filter(Y=>Y!==H);t("update:modelValue",U),t("change",U),o.value=o.value.filter(Y=>Y!==H)}function te(){e.disabled||(t("update:modelValue",[]),t("change",[]),o.value=[])}return(0,ve.onBeforeUnmount)(()=>{d&&(d(),d=null)}),{open:a,root:i,panel:n,panelStyle:s,searchInput:l,search:r,temp:o,rows:y,selectedNodes:u,hasChildren:j,isExpanded:w,isChecked:b,isIndeterminate:m,toggleNode:E,onRowClick:k,toggle:L,confirm:A,cancel:O,clearTemp:$,clearAll:te,removeTag:Q,t:C}},template:`
2143
2143
  <div class="djm-tree-select" :class="{ 'djm-is-disabled': disabled }" ref="root">
2144
2144
  <div
2145
2145
  class="djm-tree-select-trigger djm-input"
@@ -2243,17 +2243,142 @@ Minimum version required to store current data is: `+I+`.
2243
2243
  </div>
2244
2244
  </Transition>
2245
2245
  </div>
2246
- `};var Be=require("vue");var Kl=new Set(["p","br","div","span","strong","b","em","i","u","s","del","sub","sup","h1","h2","h3","h4","h5","h6","ul","ol","li","blockquote","pre","code","hr","a","img","table","thead","tbody","tfoot","tr","th","td"]),Wl=new Set(["class","title"]),Ul={a:new Set(["href","target","rel"]),img:new Set(["src","alt","width","height"]),ol:new Set(["start"]),th:new Set(["colspan","rowspan","scope"]),td:new Set(["colspan","rowspan"])};function ql(e,t){let a=String(e||"").replace(/[\u0000-\u0020]+/g,"").toLowerCase();return a.startsWith("javascript:")||a.startsWith("vbscript:")?!1:a.startsWith("data:")?t==="img"&&a.startsWith("data:image/"):!0}function Mi(e){[...e.childNodes].forEach(a=>{if(a.nodeType===8){a.remove();return}if(a.nodeType!==1)return;let n=a.tagName.toLowerCase();if(!Kl.has(n)){a.remove();return}let i=Ul[n];[...a.attributes].forEach(l=>{let o=l.name.toLowerCase();if(!(Wl.has(o)||i&&i.has(o))){a.removeAttribute(l.name);return}(o==="href"||o==="src")&&!ql(l.value,n)&&a.removeAttribute(l.name)}),n==="a"&&a.getAttribute("target")==="_blank"&&a.setAttribute("rel","noopener noreferrer"),Mi(a)})}function qt(e){if(!e)return"";let a=new DOMParser().parseFromString('<div id="djm-sanitize-root">'+e+"</div>","text/html").getElementById("djm-sanitize-root");return a?(Mi(a),a.innerHTML):""}var pn={name:"DjmRichEditor",components:{Icon:L},props:{modelValue:{type:String,default:""},placeholder:{type:String,default:""},minHeight:{type:Number,default:200},sanitize:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){let a=(0,Be.ref)(null),n=(0,Be.ref)(!1),i=(0,Be.ref)(e.modelValue),l=(0,Be.ref)({bold:!1,italic:!1,underline:!1,strike:!1});function o(h){return e.sanitize?qt(h):h}function r(){a.value&&t("update:modelValue",o(a.value.innerHTML))}function s(h){let b=h.clipboardData,j=b&&b.getData("text/html");j&&(h.preventDefault(),document.execCommand("insertHTML",!1,qt(j)),r())}function d(h,b=null){e.disabled||n.value||(document.execCommand(h,!1,b),a.value&&a.value.focus(),r(),p())}function f(h){d("formatBlock",h)}function c(){let h=window.prompt(C("richEditor.linkPrompt"),"https://");h&&d("createLink",h)}function p(){e.disabled||n.value||!a.value||!a.value.contains(document.activeElement)||(l.value={bold:document.queryCommandState("bold"),italic:document.queryCommandState("italic"),underline:document.queryCommandState("underline"),strike:document.queryCommandState("strikeThrough")})}function g(){t("update:modelValue",o(i.value))}function m(){e.disabled||(n.value?(t("update:modelValue",o(i.value)),n.value=!1,requestAnimationFrame(()=>{a.value&&(a.value.innerHTML=o(i.value))})):(i.value=a.value?a.value.innerHTML:e.modelValue,n.value=!0))}return(0,Be.watch)(()=>e.modelValue,h=>{if(n.value){i.value=h;return}let b=o(h);a.value&&a.value.innerHTML!==b&&(a.value.innerHTML=b)}),(0,Be.onMounted)(()=>{a.value&&(a.value.innerHTML=o(e.modelValue)),document.addEventListener("selectionchange",p)}),(0,Be.onBeforeUnmount)(()=>document.removeEventListener("selectionchange",p)),{editor:a,sourceMode:n,source:i,formats:l,exec:d,formatBlock:f,addLink:c,onSourceInput:g,onPaste:s,toggleSource:m,syncFromDom:r,syncFormats:p,t:C}},template:`
2247
- <div class="djm-rich-editor" :class="{ 'djm-is-disabled': disabled }">
2248
- <div class="djm-rich-editor-toolbar">
2249
- <div class="djm-rich-editor-group">
2246
+ `};var fe=require("vue");var Pe=require("vue");var Gt={name:"DjmMediaPicker",components:{DjmModal:xt,DjmPagination:Jt,DjmIcon:z},props:{modelValue:{type:[Array,String,Number],default:""},items:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},limit:{type:Number,default:0},accept:{type:String,default:""},title:{type:String,default:""},triggerText:{type:String,default:""},pageSize:{type:Number,default:12},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(e,{emit:t}){let a=(0,Pe.ref)(!1),i=(0,Pe.ref)(""),n=(0,Pe.ref)(1),l=(0,Pe.ref)([]),r=(0,Pe.computed)(()=>e.multiple?Array.isArray(e.modelValue)?e.modelValue:[]:e.modelValue===""||e.modelValue===null||e.modelValue===void 0?[]:[e.modelValue]);function o(y){return y.type?y.type==="image":/\.(png|jpe?g|gif|webp|svg|avif)$/i.test(y.url||"")}let s=(0,Pe.computed)(()=>{let y=i.value.trim().toLowerCase();return e.items.filter(j=>!(e.accept==="image"&&!o(j)||e.accept==="file"&&o(j)||y&&!String(j.name||"").toLowerCase().includes(y)))}),d=(0,Pe.computed)(()=>{let y=(n.value-1)*e.pageSize;return s.value.slice(y,y+e.pageSize)});(0,Pe.watch)(i,()=>{n.value=1}),(0,Pe.watch)(()=>s.value.length,()=>{let y=Math.max(1,Math.ceil(s.value.length/e.pageSize));n.value>y&&(n.value=y)});function p(y){return l.value.includes(y)}function c(){return e.limit>0&&l.value.length>=e.limit}function h(y){if(e.multiple){if(p(y.id)){l.value=l.value.filter(j=>j!==y.id);return}if(c())return;l.value=[...l.value,y.id];return}l.value=[y.id]}function v(){e.disabled||(l.value=[...r.value],i.value="",n.value=1,a.value=!0)}function u(){let y=e.multiple?[...l.value]:l.value[0]!==void 0?l.value[0]:"";t("update:modelValue",y),t("change",y),a.value=!1}function g(){l.value=[...r.value],a.value=!1}return{open:a,keyword:i,page:n,temp:l,selectedIds:r,filtered:s,paged:d,isImage:o,isChecked:p,atLimit:c,toggle:h,openPanel:v,commit:u,cancel:g,t:C}},template:`
2247
+ <span class="djm-media-picker">
2248
+ <slot name="trigger" :open="openPanel" :count="selectedIds.length">
2249
+ <button
2250
+ class="djm-btn"
2251
+ type="button"
2252
+ :disabled="disabled"
2253
+ @click="openPanel"
2254
+ >{{ triggerText || t('mediaPicker.select') }}<span v-if="selectedIds.length" class="djm-media-picker-count">{{ selectedIds.length }}</span></button>
2255
+ </slot>
2256
+
2257
+ <DjmModal
2258
+ :model-value="open"
2259
+ :title="title || t('mediaPicker.title')"
2260
+ width="760px"
2261
+ @update:model-value="cancel"
2262
+ >
2263
+ <div class="djm-media-toolbar">
2264
+ <label class="djm-media-search">
2265
+ <DjmIcon name="search" :size="13" />
2266
+ <input
2267
+ v-model="keyword"
2268
+ class="djm-media-search-input"
2269
+ type="text"
2270
+ :placeholder="t('mediaPicker.search')"
2271
+ :aria-label="t('mediaPicker.search')"
2272
+ />
2273
+ </label>
2274
+ <span class="djm-media-toolbar-slot">
2275
+ <slot name="toolbar"></slot>
2276
+ </span>
2277
+ </div>
2278
+
2279
+ <div class="djm-media-grid" role="listbox" :aria-multiselectable="multiple ? 'true' : 'false'">
2280
+ <div
2281
+ v-for="item in paged"
2282
+ :key="item.id"
2283
+ class="djm-media-item"
2284
+ :class="{
2285
+ 'djm-is-checked': isChecked(item.id),
2286
+ 'djm-is-disabled': multiple && atLimit() && !isChecked(item.id)
2287
+ }"
2288
+ role="option"
2289
+ tabindex="0"
2290
+ :aria-selected="String(isChecked(item.id))"
2291
+ @click="toggle(item)"
2292
+ @keydown.enter.prevent="toggle(item)"
2293
+ @keydown.space.prevent="toggle(item)"
2294
+ >
2295
+ <div class="djm-media-thumb">
2296
+ <img v-if="isImage(item)" :src="item.url" :alt="item.name" loading="lazy" />
2297
+ <DjmIcon v-else name="folder" :size="26" />
2298
+ <span v-if="isChecked(item.id)" class="djm-media-check">
2299
+ <DjmIcon name="check" :size="11" />
2300
+ </span>
2301
+ </div>
2302
+ <div class="djm-media-name" :title="item.name">{{ item.name }}</div>
2303
+ </div>
2304
+ <div v-if="!paged.length" class="djm-media-empty">{{ t('mediaPicker.empty') }}</div>
2305
+ </div>
2306
+
2307
+ <div class="djm-media-foot">
2308
+ <span class="djm-media-total">
2309
+ {{ t('mediaPicker.total', { total: filtered.length }) }}
2310
+ <em v-if="multiple && limit > 0">{{ t('mediaPicker.limit', { limit }) }}</em>
2311
+ </span>
2312
+ <DjmPagination
2313
+ v-if="filtered.length > pageSize"
2314
+ v-model:page="page"
2315
+ :page-size="pageSize"
2316
+ :total="filtered.length"
2317
+ />
2318
+ </div>
2319
+
2320
+ <template #footer>
2321
+ <button class="djm-btn" type="button" @click="cancel">{{ t('common.cancel') }}</button>
2322
+ <button class="djm-btn djm-btn-primary" type="button" @click="commit">{{ t('common.confirm') }}</button>
2323
+ </template>
2324
+ </DjmModal>
2325
+ </span>
2326
+ `};var Gl=new Set(["p","br","div","span","strong","b","em","i","u","s","del","sub","sup","h1","h2","h3","h4","h5","h6","ul","ol","li","blockquote","pre","code","hr","a","img","table","thead","tbody","tfoot","tr","th","td"]),Xl=new Set(["class","title","style"]),Ql=new Set(["color","background-color","font-size","font-weight","font-style","text-decoration","text-align","text-indent","line-height"]),Zl={a:new Set(["href","target","rel"]),img:new Set(["src","alt","width","height"]),ol:new Set(["start"]),th:new Set(["colspan","rowspan","scope"]),td:new Set(["colspan","rowspan"])};function eo(e){return String(e||"").split(";").map(t=>{let a=t.indexOf(":");if(a===-1)return"";let i=t.slice(0,a).trim().toLowerCase(),n=t.slice(a+1).trim();return!Ql.has(i)||/url\s*\(|expression\s*\(|javascript:/i.test(n)?"":i+": "+n}).filter(Boolean).join("; ")}var to=new Set(["http","https","mailto","tel"]);function ao(e,t){let a=String(e||"").replace(/[\u0000-\u0020]+/g,""),i=a.match(/^([a-z][a-z0-9+.-]*):/i);if(!i)return!0;let n=i[1].toLowerCase();return!!(to.has(n)||t==="img"&&(n==="blob"||n==="data"&&/^data:image\//i.test(a)))}function Ln(e){[...e.childNodes].forEach(a=>{if(a.nodeType===8){a.remove();return}if(a.nodeType!==1)return;let i=a.tagName.toLowerCase();if(!Gl.has(i)){a.remove();return}let n=Zl[i];[...a.attributes].forEach(l=>{let r=l.name.toLowerCase();if(!(Xl.has(r)||n&&n.has(r))){a.removeAttribute(l.name);return}if(r==="style"){let s=eo(l.value);s?a.setAttribute("style",s):a.removeAttribute("style");return}(r==="href"||r==="src")&&!ao(l.value,i)&&a.removeAttribute(l.name)}),i==="a"&&a.getAttribute("target")==="_blank"&&a.setAttribute("rel","noopener noreferrer"),Ln(a)})}function Xt(e){if(!e)return"";let a=new DOMParser().parseFromString('<div id="djm-sanitize-root">'+e+"</div>","text/html").getElementById("djm-sanitize-root");return a?(Ln(a),a.innerHTML):""}var io=[{value:"p",label:"paragraph"},{value:"h1",label:"heading1"},{value:"h2",label:"heading2"},{value:"h3",label:"heading3"},{value:"blockquote",label:"quote"},{value:"pre",label:"codeBlock"}],no=[{value:"",label:"defaultSize"},{value:"12px",label:"12px"},{value:"14px",label:"14px"},{value:"16px",label:"16px"},{value:"18px",label:"18px"},{value:"24px",label:"24px"}],An=["#1f2d3d","#5a6b7d","#2b86d9","#2fa36b","#d97706","#dc2626","#7c3aed","#ffffff"],zn={simple:["history","inline","list","insert"],basic:["history","format","inline","align","list","insert","view"],full:["history","format","inline","color","align","list","insert","view"]};function Pn(e){let t=String(e||"").replace(/[\u0000-\u0020]+/g,"");if(!t)return!1;let a=t.match(/^([a-z][a-z0-9+.-]*):/i);if(!a)return!0;let i=a[1].toLowerCase();return i==="http"||i==="https"||i==="blob"?!0:i==="data"&&/^data:image\//i.test(t)}function lo(e){let t=String(e||"").trim();if(!t)return!1;let a=t.replace(/[\u0000-\u0020]+/g,"").match(/^([a-z][a-z0-9+.-]*):/i);return a?["http","https","mailto","tel"].indexOf(a[1].toLowerCase())>-1:!0}var bi={name:"DjmRichEditor",components:{Icon:z,MediaPicker:Gt},props:{modelValue:{type:String,default:""},placeholder:{type:String,default:""},minHeight:{type:Number,default:200},sanitize:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},toolbar:{type:[String,Array],default:"full"},uploadImage:{type:Function,default:null},media:{type:Array,default:()=>[]},accept:{type:String,default:"image/*"},maxImageSize:{type:Number,default:5},multiple:{type:Boolean,default:!0},showCount:{type:Boolean,default:!0}},emits:["update:modelValue","upload-error"],setup(e,{emit:t}){let a=(0,fe.ref)(null),i=(0,fe.ref)(null),n=(0,fe.ref)(!1),l=(0,fe.ref)(e.modelValue),r=(0,fe.ref)(!1),o=(0,fe.ref)(""),s=(0,fe.ref)(0),d=(0,fe.ref)(An[0]),p=(0,fe.ref)("#fdf3c4"),c=(0,fe.ref)(""),h=(0,fe.ref)(0),v=(0,fe.ref)({bold:!1,italic:!1,underline:!1,strike:!1,code:!1,block:"p",align:"",list:""}),u=null,g=(0,fe.computed)(()=>!e.disabled&&!n.value),y=(0,fe.computed)(()=>{let M=Array.isArray(e.toolbar)?e.toolbar:zn[e.toolbar]||zn.full;return new Set(M)});function j(M){return y.value.has(M)}let w=(0,fe.computed)(()=>(e.media||[]).map((M,R)=>typeof M=="string"?{id:"media-"+R,url:M,name:"",type:"image"}:{id:M&&M.id!==void 0?String(M.id):"media-"+R,url:M&&(M.url||M.src)||"",name:M&&(M.name||M.alt)||"",type:"image"}).filter(M=>!!M.url));function b(M){return e.sanitize?Xt(M):M}function m(M){return String(M||"").replace(/<[^>]*>/g,"").replace(/&nbsp;/g," ").replace(/&[a-z]+;/gi," ")}function f(){if(!a.value)return;let M=b(a.value.innerHTML);h.value=m(M).trim().length,t("update:modelValue",M)}function E(){let M=window.getSelection();if(!M||!M.rangeCount||!a.value)return null;let R=M.getRangeAt(0);return a.value.contains(R.commonAncestorContainer)?R:null}function D(){let M=E();u=M?M.cloneRange():null}function k(M){if(!a.value)return;a.value.focus();let R=window.getSelection();if(R.removeAllRanges(),M){R.addRange(M);return}let F=document.createRange();F.selectNodeContents(a.value),F.collapse(!1),R.addRange(F)}function B(M,R){if(!a.value)return;k(M);let F=window.getSelection();F.rangeCount?F.getRangeAt(0).insertNode(R):a.value.appendChild(R),f(),N()}function S(){let M=E();return M||(u?(k(u),E()):null)}function T(M,R=null){g.value&&typeof document.execCommand=="function"&&(S(),document.execCommand("styleWithCSS",!1,!0),document.execCommand(M,!1,R),a.value&&a.value.focus(),f(),N())}function L(M){o.value="",T("formatBlock","<"+M+">")}function A(M){if(o.value="",!g.value||!a.value)return;c.value=M;let R=S();if(!R||R.collapsed)return;if(!M){let ee=document.createTreeWalker(a.value,NodeFilter.SHOW_ELEMENT),Ee=[];for(;ee.nextNode();){let Ae=ee.currentNode;Ae.style&&Ae.style.fontSize&&R.intersectsNode(Ae)&&Ee.push(Ae)}Ee.forEach(Ae=>{Ae.style.fontSize=""}),f();return}let F=document.createElement("span");F.style.fontSize=M,F.appendChild(R.extractContents()),R.insertNode(F);let J=window.getSelection(),Z=document.createRange();Z.setStartAfter(F),Z.collapse(!0),J.removeAllRanges(),J.addRange(Z),f(),N()}function O(M,R){if(o.value="",M==="text"?d.value=R:p.value=R,!g.value||typeof document.execCommand!="function")return;document.execCommand("styleWithCSS",!1,!0);let F=M==="text"?"foreColor":"hiliteColor";!document.execCommand(F,!1,R)&&M==="bg"&&document.execCommand("backColor",!1,R),a.value&&a.value.focus(),f(),N()}function $(M){g.value&&(o.value=o.value===M?"":M)}function Q(){if(!g.value||!a.value)return;let M=E();if(!M)return;let R=M.commonAncestorContainer,F=R.nodeType===1?R:R.parentElement,J=F&&F.closest?F.closest("code"):null;if(J&&a.value.contains(J)){let Ae=J.parentNode;for(;J.firstChild;)Ae.insertBefore(J.firstChild,J);Ae.removeChild(J),f();return}if(M.collapsed)return;let Z=document.createElement("code");Z.appendChild(M.extractContents()),M.insertNode(Z);let ee=window.getSelection(),Ee=document.createRange();Ee.setStartAfter(Z),Ee.collapse(!0),ee.removeAllRanges(),ee.addRange(Ee),f(),N()}function te(){if(!g.value)return;let M=window.prompt(C("richEditor.linkPrompt"),"https://");if(!M)return;if(!lo(M)){window.alert(C("richEditor.linkInvalid"));return}let R=E();if(R&&R.collapsed){let F=document.createElement("a");F.href=M,F.target="_blank",F.rel="noopener noreferrer",F.textContent=M,B(R,F);return}T("createLink",M),a.value&&a.value.querySelectorAll("a[href]").forEach(F=>{F.getAttribute("target")||F.setAttribute("target","_blank"),F.setAttribute("rel","noopener noreferrer")}),f()}function H(M){return new Promise((R,F)=>{let J=new FileReader;J.onload=()=>R(J.result),J.onerror=()=>F(J.error||new Error("read failed")),J.readAsDataURL(M)})}async function U(M){if(e.uploadImage){let R=await e.uploadImage(M),F=typeof R=="string"?R:R&&R.url;if(!F)throw new Error(C("richEditor.imageUrlInvalid"));if(!Pn(F))throw new Error(C("richEditor.imageUrlInvalid"));return String(F).trim()}return H(M)}function Y(M){return M&&/^image\//.test(M.type)}function le(M){!g.value||!i.value||(D(),i.value.multiple=!!M&&e.multiple,i.value.click())}function ae(M){if(!g.value)return;let F=(Array.isArray(M)?M:[M]).map(ee=>w.value.find(Ee=>Ee.id===String(ee))).filter(Boolean).filter(ee=>Pn(ee.url)?!0:(t("upload-error",{file:null,message:C("richEditor.imageUrlInvalid")}),!1));if(!F.length)return;k(u);let J=document.createDocumentFragment();F.forEach(ee=>{let Ee=document.createElement("img");Ee.src=ee.url,Ee.alt=ee.name||"image",Ee.className="djm-rich-editor-img",J.appendChild(Ee)});let Z=window.getSelection();Z.rangeCount?Z.getRangeAt(0).insertNode(J):a.value.appendChild(J),f(),N()}function de(M){if(!M.length||!a.value)return;s.value=M.length;let R=document.createElement("span");R.className="djm-rich-editor-uploading",R.textContent=C("richEditor.uploading",{count:M.length});let F=u&&a.value.contains(u.commonAncestorContainer)?u:null;k(F);let J=window.getSelection();J.rangeCount?J.getRangeAt(0).insertNode(R):a.value.appendChild(R),Promise.all(M.map(async Z=>{if(!Y(Z))return{file:Z,error:C("richEditor.imageTypeError")};if(e.maxImageSize>0&&Z.size>e.maxImageSize*1024*1024)return{file:Z,error:C("richEditor.imageSizeError",{size:e.maxImageSize})};try{return{file:Z,url:await U(Z)}}catch(ee){return{file:Z,error:ee&&ee.message||C("richEditor.uploadFailed")}}})).then(Z=>{s.value=0;let ee=Z.filter(Xe=>Xe.url),Ee=Z.filter(Xe=>Xe.error),Ae=a.value&&a.value.contains(R);ee.length&&a.value&&ee.forEach(Xe=>{let zt=document.createElement("img");zt.src=Xe.url,zt.alt=Xe.file.name||"image",zt.className="djm-rich-editor-img",Ae?R.parentNode.insertBefore(zt,R):a.value.appendChild(zt)}),Ae&&R.remove(),Ee.forEach(Xe=>t("upload-error",{file:Xe.file,message:Xe.error})),f()})}function P(M){let R=Array.from(M.target.files||[]);M.target.value="",de(R)}function K(M){let R=M.clipboardData;if(!R)return;let F=Array.from(R.files||[]).filter(Y);if(F.length){M.preventDefault(),de(F);return}let J=R.getData("text/html");J&&(M.preventDefault(),document.execCommand("insertHTML",!1,Xt(J)),f())}function _(M){g.value&&M.dataTransfer&&Array.from(M.dataTransfer.types||[]).includes("Files")&&M.preventDefault()}function ue(M){if(!g.value)return;let R=Array.from(M.dataTransfer&&M.dataTransfer.files||[]).filter(Y);R.length&&(M.preventDefault(),D(),de(R))}function x(M,R){let F=M&&(M.nodeType===1?M:M.parentElement);return F&&F.closest?F.closest(R):null}function I(){let M=window.getSelection();if(!M||!M.anchorNode)return"p";let R=M.anchorNode;for(R.nodeType!==1&&(R=R.parentElement);R&&R!==a.value;){let F=R.tagName.toLowerCase();if(["p","h1","h2","h3","blockquote","pre"].includes(F))return F;R=R.parentElement}return"p"}function N(){if(e.disabled||n.value||!a.value||!a.value.contains(document.activeElement))return;let M=window.getSelection();v.value={bold:document.queryCommandState("bold"),italic:document.queryCommandState("italic"),underline:document.queryCommandState("underline"),strike:document.queryCommandState("strikeThrough"),code:!!x(M.anchorNode,"code"),block:I(),align:document.queryCommandState("justifyCenter")?"center":document.queryCommandState("justifyRight")?"right":document.queryCommandState("justifyFull")?"justify":"left",list:document.queryCommandState("insertOrderedList")?"ol":document.queryCommandState("insertUnorderedList")?"ul":""}}function W(){h.value=m(l.value).trim().length,t("update:modelValue",b(l.value))}function G(){e.disabled||(o.value="",n.value?(t("update:modelValue",b(l.value)),n.value=!1,requestAnimationFrame(()=>{a.value&&(a.value.innerHTML=b(l.value)),f()})):(l.value=a.value?a.value.innerHTML:e.modelValue,n.value=!0))}function me(){e.disabled||(r.value=!r.value,o.value="")}function V(M){o.value&&(M.target.closest&&M.target.closest(".djm-rich-editor-color")||(o.value=""))}function q(M){M.key==="Escape"&&r.value&&(r.value=!1,o.value="")}return(0,fe.watch)(()=>e.modelValue,M=>{if(n.value){l.value=M;return}let R=b(M);a.value&&a.value.innerHTML!==R&&(a.value.innerHTML=R),h.value=m(R).trim().length}),(0,fe.onMounted)(()=>{a.value&&(a.value.innerHTML=b(e.modelValue)),h.value=m(e.modelValue).trim().length,document.addEventListener("selectionchange",N),document.addEventListener("click",V),document.addEventListener("keydown",q)}),(0,fe.onBeforeUnmount)(()=>{document.removeEventListener("selectionchange",N),document.removeEventListener("click",V),document.removeEventListener("keydown",q)}),{editor:a,fileInput:i,sourceMode:n,source:l,fullscreen:r,panel:o,uploadCount:s,textColor:d,bgColor:p,fontSize:c,count:h,formats:v,blocks:io,sizes:no,colors:An,mediaLibrary:w,has:j,exec:T,setBlock:L,setFontSize:A,applyColor:O,togglePanel:$,toggleInlineCode:Q,addLink:te,pickImage:le,insertMedia:ae,onFilesChange:P,onPaste:K,onDragOver:_,onDrop:ue,rememberRange:D,onSourceInput:W,toggleSource:G,toggleFullscreen:me,syncFromDom:f,syncFormats:N,t:C}},template:`
2327
+ <div
2328
+ class="djm-rich-editor"
2329
+ :class="{ 'djm-is-disabled': disabled, 'djm-is-fullscreen': fullscreen }"
2330
+ >
2331
+ <div class="djm-rich-editor-toolbar" role="toolbar" :aria-label="t('richEditor.toolbar')" @mousedown="rememberRange">
2332
+ <div class="djm-rich-editor-group" v-if="has('history')">
2333
+ <button
2334
+ class="djm-rich-editor-btn"
2335
+ type="button"
2336
+ :title="t('richEditor.undo')"
2337
+ :aria-label="t('richEditor.undo')"
2338
+ :disabled="disabled || sourceMode"
2339
+ @mousedown.prevent
2340
+ @click="exec('undo')"
2341
+ ><Icon name="undo" :size="13" /></button>
2342
+ <button
2343
+ class="djm-rich-editor-btn"
2344
+ type="button"
2345
+ :title="t('richEditor.redo')"
2346
+ :aria-label="t('richEditor.redo')"
2347
+ :disabled="disabled || sourceMode"
2348
+ @mousedown.prevent
2349
+ @click="exec('redo')"
2350
+ ><Icon name="redo" :size="13" /></button>
2351
+ </div>
2352
+
2353
+ <div class="djm-rich-editor-group" v-if="has('format')">
2354
+ <select
2355
+ class="djm-rich-editor-select"
2356
+ :value="formats.block"
2357
+ :aria-label="t('richEditor.block')"
2358
+ :disabled="disabled || sourceMode"
2359
+ @change="setBlock($event.target.value)"
2360
+ >
2361
+ <option v-for="item in blocks" :key="item.value" :value="item.value">{{ t('richEditor.' + item.label) }}</option>
2362
+ </select>
2363
+ <select
2364
+ class="djm-rich-editor-select djm-rich-editor-select-size"
2365
+ :value="fontSize"
2366
+ :aria-label="t('richEditor.fontSize')"
2367
+ :disabled="disabled || sourceMode"
2368
+ @change="setFontSize($event.target.value)"
2369
+ >
2370
+ <option v-for="item in sizes" :key="item.value" :value="item.value">{{ t('richEditor.' + item.label) }}</option>
2371
+ </select>
2372
+ </div>
2373
+
2374
+ <div class="djm-rich-editor-group" v-if="has('inline')">
2250
2375
  <button
2251
2376
  class="djm-rich-editor-btn djm-rich-editor-btn-bold"
2252
2377
  type="button"
2253
2378
  :title="t('richEditor.bold')"
2254
2379
  :aria-label="t('richEditor.bold')"
2255
2380
  :aria-pressed="String(formats.bold)"
2256
- :disabled="disabled"
2381
+ :disabled="disabled || sourceMode"
2257
2382
  @mousedown.prevent
2258
2383
  @click="exec('bold')"
2259
2384
  >B</button>
@@ -2263,7 +2388,7 @@ Minimum version required to store current data is: `+I+`.
2263
2388
  :title="t('richEditor.italic')"
2264
2389
  :aria-label="t('richEditor.italic')"
2265
2390
  :aria-pressed="String(formats.italic)"
2266
- :disabled="disabled"
2391
+ :disabled="disabled || sourceMode"
2267
2392
  @mousedown.prevent
2268
2393
  @click="exec('italic')"
2269
2394
  >I</button>
@@ -2273,7 +2398,7 @@ Minimum version required to store current data is: `+I+`.
2273
2398
  :title="t('richEditor.underline')"
2274
2399
  :aria-label="t('richEditor.underline')"
2275
2400
  :aria-pressed="String(formats.underline)"
2276
- :disabled="disabled"
2401
+ :disabled="disabled || sourceMode"
2277
2402
  @mousedown.prevent
2278
2403
  @click="exec('underline')"
2279
2404
  >U</button>
@@ -2283,46 +2408,130 @@ Minimum version required to store current data is: `+I+`.
2283
2408
  :title="t('richEditor.strike')"
2284
2409
  :aria-label="t('richEditor.strike')"
2285
2410
  :aria-pressed="String(formats.strike)"
2286
- :disabled="disabled"
2411
+ :disabled="disabled || sourceMode"
2287
2412
  @mousedown.prevent
2288
2413
  @click="exec('strikeThrough')"
2289
2414
  >S</button>
2415
+ <button
2416
+ class="djm-rich-editor-btn"
2417
+ type="button"
2418
+ :title="t('richEditor.inlineCode')"
2419
+ :aria-label="t('richEditor.inlineCode')"
2420
+ :aria-pressed="String(formats.code)"
2421
+ :disabled="disabled || sourceMode"
2422
+ @mousedown.prevent
2423
+ @click="toggleInlineCode"
2424
+ ><Icon name="code" :size="13" /></button>
2290
2425
  </div>
2291
2426
 
2292
- <div class="djm-rich-editor-group">
2293
- <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.heading')" :disabled="disabled" @mousedown.prevent @click="formatBlock('h2')">H2</button>
2294
- <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.paragraph')" :disabled="disabled" @mousedown.prevent @click="formatBlock('p')">{{ t('richEditor.paragraph') }}</button>
2295
- </div>
2296
-
2297
- <div class="djm-rich-editor-group">
2298
- <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.bulletList')" :disabled="disabled" @mousedown.prevent @click="exec('insertUnorderedList')">
2299
- <span class="djm-rich-editor-glyph">\u2022 \u2261</span>
2300
- </button>
2301
- <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.numberList')" :disabled="disabled" @mousedown.prevent @click="exec('insertOrderedList')">
2302
- <span class="djm-rich-editor-glyph">1. \u2261</span>
2427
+ <div class="djm-rich-editor-group djm-rich-editor-color" v-if="has('color')">
2428
+ <button
2429
+ class="djm-rich-editor-btn"
2430
+ type="button"
2431
+ :title="t('richEditor.textColor')"
2432
+ :aria-label="t('richEditor.textColor')"
2433
+ :aria-expanded="String(panel === 'text')"
2434
+ :disabled="disabled || sourceMode"
2435
+ @mousedown.prevent
2436
+ @click.stop="togglePanel('text')"
2437
+ >
2438
+ <span class="djm-rich-editor-letter" :style="{ borderBottomColor: textColor }">A</span>
2303
2439
  </button>
2304
- <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.link')" :aria-label="t('richEditor.link')" :disabled="disabled" @mousedown.prevent @click="addLink">
2305
- <Icon name="link" :size="13" />
2440
+ <button
2441
+ class="djm-rich-editor-btn"
2442
+ type="button"
2443
+ :title="t('richEditor.bgColor')"
2444
+ :aria-label="t('richEditor.bgColor')"
2445
+ :aria-expanded="String(panel === 'bg')"
2446
+ :disabled="disabled || sourceMode"
2447
+ @mousedown.prevent
2448
+ @click.stop="togglePanel('bg')"
2449
+ >
2450
+ <span class="djm-rich-editor-letter djm-rich-editor-letter-bg" :style="{ background: bgColor }">A</span>
2306
2451
  </button>
2452
+ <div v-if="panel === 'text' || panel === 'bg'" class="djm-rich-editor-panel" role="group" :aria-label="t('richEditor.textColor')">
2453
+ <button
2454
+ v-for="color in colors"
2455
+ :key="color"
2456
+ class="djm-rich-editor-swatch"
2457
+ type="button"
2458
+ :title="color"
2459
+ :aria-label="color"
2460
+ :style="{ background: color }"
2461
+ @mousedown.prevent
2462
+ @click="applyColor(panel, color)"
2463
+ ></button>
2464
+ </div>
2307
2465
  </div>
2308
2466
 
2309
- <div class="djm-rich-editor-group">
2310
- <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.clearFormat')" :disabled="disabled" @mousedown.prevent @click="exec('removeFormat')">{{ t('richEditor.clearFormat') }}</button>
2311
- <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.undo')" :aria-label="t('richEditor.undo')" :disabled="disabled" @mousedown.prevent @click="exec('undo')">\u21B6</button>
2312
- <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.redo')" :aria-label="t('richEditor.redo')" :disabled="disabled" @mousedown.prevent @click="exec('redo')">\u21B7</button>
2467
+ <div class="djm-rich-editor-group" v-if="has('align')">
2468
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.alignLeft')" :aria-label="t('richEditor.alignLeft')" :aria-pressed="String(formats.align === 'left')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('justifyLeft')"><Icon name="align-left" :size="13" /></button>
2469
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.alignCenter')" :aria-label="t('richEditor.alignCenter')" :aria-pressed="String(formats.align === 'center')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('justifyCenter')"><Icon name="align-center" :size="13" /></button>
2470
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.alignRight')" :aria-label="t('richEditor.alignRight')" :aria-pressed="String(formats.align === 'right')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('justifyRight')"><Icon name="align-right" :size="13" /></button>
2471
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.alignJustify')" :aria-label="t('richEditor.alignJustify')" :aria-pressed="String(formats.align === 'justify')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('justifyFull')"><Icon name="align-justify" :size="13" /></button>
2313
2472
  </div>
2314
2473
 
2315
- <div class="djm-rich-editor-spacer"></div>
2316
- <button
2317
- class="djm-rich-editor-btn"
2318
- :class="{ 'djm-is-active': sourceMode }"
2319
- type="button"
2320
- :aria-pressed="String(sourceMode)"
2321
- :disabled="disabled"
2322
- @click="toggleSource"
2323
- >
2324
- <Icon name="code" :size="13" />{{ sourceMode ? t('richEditor.visual') : t('richEditor.source') }}
2325
- </button>
2474
+ <div class="djm-rich-editor-group" v-if="has('list')">
2475
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.bulletList')" :aria-label="t('richEditor.bulletList')" :aria-pressed="String(formats.list === 'ul')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('insertUnorderedList')"><Icon name="list" :size="13" /></button>
2476
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.numberList')" :aria-label="t('richEditor.numberList')" :aria-pressed="String(formats.list === 'ol')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('insertOrderedList')"><Icon name="list-ordered" :size="13" /></button>
2477
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.outdent')" :aria-label="t('richEditor.outdent')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('outdent')"><Icon name="outdent" :size="13" /></button>
2478
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.indent')" :aria-label="t('richEditor.indent')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('indent')"><Icon name="indent" :size="13" /></button>
2479
+ </div>
2480
+
2481
+ <div class="djm-rich-editor-group" v-if="has('insert')">
2482
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.link')" :aria-label="t('richEditor.link')" :disabled="disabled || sourceMode" @mousedown.prevent @click="addLink"><Icon name="link" :size="13" /></button>
2483
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.unlink')" :aria-label="t('richEditor.unlink')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('unlink')"><Icon name="unlink" :size="13" /></button>
2484
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.singleImage')" :aria-label="t('richEditor.singleImage')" :disabled="disabled || sourceMode" @mousedown.prevent @click="pickImage(false)"><Icon name="image" :size="13" /></button>
2485
+ <button v-if="multiple" class="djm-rich-editor-btn" type="button" :title="t('richEditor.multiImage')" :aria-label="t('richEditor.multiImage')" :disabled="disabled || sourceMode" @mousedown.prevent @click="pickImage(true)"><Icon name="images" :size="13" /></button>
2486
+ <MediaPicker
2487
+ v-if="mediaLibrary.length"
2488
+ class="djm-rich-editor-picker"
2489
+ multiple
2490
+ accept="image"
2491
+ :items="mediaLibrary"
2492
+ :title="t('richEditor.mediaLibrary')"
2493
+ :disabled="disabled || sourceMode"
2494
+ @change="insertMedia"
2495
+ >
2496
+ <template #trigger="{ open }">
2497
+ <button
2498
+ class="djm-rich-editor-btn"
2499
+ type="button"
2500
+ :title="t('richEditor.mediaLibrary')"
2501
+ :aria-label="t('richEditor.mediaLibrary')"
2502
+ :disabled="disabled || sourceMode"
2503
+ @mousedown.prevent="rememberRange"
2504
+ @click="open"
2505
+ ><Icon name="grid" :size="13" /></button>
2506
+ </template>
2507
+ </MediaPicker>
2508
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.hr')" :aria-label="t('richEditor.hr')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('insertHorizontalRule')">\u2014</button>
2509
+ <button class="djm-rich-editor-btn" type="button" :title="t('richEditor.clearFormat')" :aria-label="t('richEditor.clearFormat')" :disabled="disabled || sourceMode" @mousedown.prevent @click="exec('removeFormat')"><span class="djm-rich-editor-glyph">T\xD7</span></button>
2510
+ </div>
2511
+
2512
+ <div class="djm-rich-editor-spacer" v-if="has('view')"></div>
2513
+ <div class="djm-rich-editor-group djm-rich-editor-group-end" v-if="has('view')">
2514
+ <button
2515
+ class="djm-rich-editor-btn"
2516
+ :class="{ 'djm-is-active': sourceMode }"
2517
+ type="button"
2518
+ :title="sourceMode ? t('richEditor.visual') : t('richEditor.source')"
2519
+ :aria-label="sourceMode ? t('richEditor.visual') : t('richEditor.source')"
2520
+ :aria-pressed="String(sourceMode)"
2521
+ :disabled="disabled"
2522
+ @click="toggleSource"
2523
+ ><Icon name="code" :size="13" /></button>
2524
+ <button
2525
+ class="djm-rich-editor-btn"
2526
+ :class="{ 'djm-is-active': fullscreen }"
2527
+ type="button"
2528
+ :title="fullscreen ? t('richEditor.exitFullscreen') : t('richEditor.fullscreen')"
2529
+ :aria-label="fullscreen ? t('richEditor.exitFullscreen') : t('richEditor.fullscreen')"
2530
+ :aria-pressed="String(fullscreen)"
2531
+ :disabled="disabled"
2532
+ @click="toggleFullscreen"
2533
+ ><Icon :name="fullscreen ? 'minimize' : 'maximize'" :size="13" /></button>
2534
+ </div>
2326
2535
  </div>
2327
2536
 
2328
2537
  <div
@@ -2338,6 +2547,8 @@ Minimum version required to store current data is: `+I+`.
2338
2547
  :style="{ minHeight: minHeight + 'px' }"
2339
2548
  @input="syncFromDom"
2340
2549
  @paste="onPaste"
2550
+ @dragover="onDragOver"
2551
+ @drop="onDrop"
2341
2552
  ></div>
2342
2553
 
2343
2554
  <textarea
@@ -2350,8 +2561,23 @@ Minimum version required to store current data is: `+I+`.
2350
2561
  spellcheck="false"
2351
2562
  @input="onSourceInput"
2352
2563
  ></textarea>
2564
+
2565
+ <div v-if="showCount" class="djm-rich-editor-foot">
2566
+ <span v-if="uploadCount" class="djm-rich-editor-foot-item">{{ t('richEditor.uploading', { count: uploadCount }) }}</span>
2567
+ <span class="djm-rich-editor-foot-item">{{ t('richEditor.wordCount', { count }) }}</span>
2568
+ </div>
2569
+
2570
+ <input
2571
+ ref="fileInput"
2572
+ class="djm-rich-editor-file"
2573
+ type="file"
2574
+ :accept="accept"
2575
+ tabindex="-1"
2576
+ aria-hidden="true"
2577
+ @change="onFilesChange"
2578
+ />
2353
2579
  </div>
2354
- `};var Ze=require("vue");function Xt(e,t,a){return Math.min(Math.max(e,t),Math.max(t,a))}var hn={name:"DjmFloatingWindow",components:{Icon:L},props:{title:{type:String,default:"\u7A97\u53E3"},icon:{type:String,default:"monitor"},initialX:{type:Number,default:24},initialY:{type:Number,default:24},width:{type:Number,default:420},height:{type:Number,default:280},zIndex:{type:Number,default:1}},emits:["close","focus"],setup(e,{emit:t}){let a=(0,Ze.ref)(null),n=(0,Ze.ref)({x:e.initialX,y:e.initialY}),i=(0,Ze.ref)({w:e.width,h:e.height}),l=(0,Ze.ref)(!1),o=(0,Ze.ref)(!1),r=(0,Ze.ref)(null),s=null,d=null;function f(){return a.value?a.value.parentElement:null}function c(y){if(y.button!==0||l.value||o.value)return;t("focus");let u=f();u&&(s={sx:y.clientX,sy:y.clientY,x:n.value.x,y:n.value.y,maxX:u.clientWidth-i.value.w,maxY:u.clientHeight-i.value.h},window.addEventListener("pointermove",p),window.addEventListener("pointerup",g),y.preventDefault())}function p(y){s&&(n.value={x:Xt(s.x+y.clientX-s.sx,0,s.maxX),y:Xt(s.y+y.clientY-s.sy,0,s.maxY)})}function g(){s=null,window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",g)}function m(y){if(l.value||o.value)return;y.stopPropagation(),t("focus");let u=f();u&&(d={sx:y.clientX,sy:y.clientY,w:i.value.w,h:i.value.h,maxW:u.clientWidth-n.value.x,maxH:u.clientHeight-n.value.y},window.addEventListener("pointermove",h),window.addEventListener("pointerup",b),y.preventDefault())}function h(y){if(!d)return;let u=Math.min(280,d.maxW),v=Math.min(170,d.maxH);i.value={w:Xt(d.w+y.clientX-d.sx,u,d.maxW),h:Xt(d.h+y.clientY-d.sy,v,d.maxH)}}function b(){d=null,window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",b)}function j(){l.value=!l.value,t("focus")}function w(){if(o.value)r.value&&(n.value={...r.value.pos},i.value={...r.value.size},o.value=!1);else{r.value={pos:{...n.value},size:{...i.value}};let y=f();y&&(n.value={x:0,y:0},i.value={w:y.clientWidth-2,h:y.clientHeight-2}),o.value=!0,l.value=!1}t("focus")}return(0,Ze.onBeforeUnmount)(()=>{window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",g),window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",b)}),{root:a,pos:n,size:i,minimized:l,maximized:o,startDrag:c,startResize:m,toggleMin:j,toggleMax:w}},template:`
2580
+ `};var at=require("vue");function aa(e,t,a){return Math.min(Math.max(e,t),Math.max(t,a))}var yi={name:"DjmFloatingWindow",components:{Icon:z},props:{title:{type:String,default:"\u7A97\u53E3"},icon:{type:String,default:"monitor"},initialX:{type:Number,default:24},initialY:{type:Number,default:24},width:{type:Number,default:420},height:{type:Number,default:280},zIndex:{type:Number,default:1}},emits:["close","focus"],setup(e,{emit:t}){let a=(0,at.ref)(null),i=(0,at.ref)({x:e.initialX,y:e.initialY}),n=(0,at.ref)({w:e.width,h:e.height}),l=(0,at.ref)(!1),r=(0,at.ref)(!1),o=(0,at.ref)(null),s=null,d=null;function p(){return a.value?a.value.parentElement:null}function c(b){if(b.button!==0||l.value||r.value)return;t("focus");let m=p();m&&(s={sx:b.clientX,sy:b.clientY,x:i.value.x,y:i.value.y,maxX:m.clientWidth-n.value.w,maxY:m.clientHeight-n.value.h},window.addEventListener("pointermove",h),window.addEventListener("pointerup",v),b.preventDefault())}function h(b){s&&(i.value={x:aa(s.x+b.clientX-s.sx,0,s.maxX),y:aa(s.y+b.clientY-s.sy,0,s.maxY)})}function v(){s=null,window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",v)}function u(b){if(l.value||r.value)return;b.stopPropagation(),t("focus");let m=p();m&&(d={sx:b.clientX,sy:b.clientY,w:n.value.w,h:n.value.h,maxW:m.clientWidth-i.value.x,maxH:m.clientHeight-i.value.y},window.addEventListener("pointermove",g),window.addEventListener("pointerup",y),b.preventDefault())}function g(b){if(!d)return;let m=Math.min(280,d.maxW),f=Math.min(170,d.maxH);n.value={w:aa(d.w+b.clientX-d.sx,m,d.maxW),h:aa(d.h+b.clientY-d.sy,f,d.maxH)}}function y(){d=null,window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",y)}function j(){l.value=!l.value,t("focus")}function w(){if(r.value)o.value&&(i.value={...o.value.pos},n.value={...o.value.size},r.value=!1);else{o.value={pos:{...i.value},size:{...n.value}};let b=p();b&&(i.value={x:0,y:0},n.value={w:b.clientWidth-2,h:b.clientHeight-2}),r.value=!0,l.value=!1}t("focus")}return(0,at.onBeforeUnmount)(()=>{window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",v),window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",y)}),{root:a,pos:i,size:n,minimized:l,maximized:r,startDrag:c,startResize:u,toggleMin:j,toggleMax:w}},template:`
2355
2581
  <div
2356
2582
  ref="root"
2357
2583
  class="djm-float-window"
@@ -2387,7 +2613,7 @@ Minimum version required to store current data is: `+I+`.
2387
2613
 
2388
2614
  <span class="djm-float-resize" v-if="!minimized && !maximized" @pointerdown="startResize"></span>
2389
2615
  </div>
2390
- `};var qe=require("vue");var Ci=0;function _l(e){let t=e.lastIndexOf(".");return t===-1?"":e.slice(t+1).toLowerCase()}function Ct(e){return!e&&e!==0?"":e<1024?e+" B":e<1024*1024?(e/1024).toFixed(1)+" KB":(e/1024/1024).toFixed(1)+" MB"}function Yl(e,t){if(!t)return!0;let a=(e.name||"").toLowerCase(),n=(e.type||"").toLowerCase();return t.split(",").map(i=>i.trim().toLowerCase()).filter(Boolean).some(i=>i.startsWith(".")?a.endsWith(i):i.endsWith("/*")?n.startsWith(i.slice(0,-1)):n===i)}var vn={name:"DjmUpload",components:{DjmIcon:L},props:{modelValue:{type:Array,default:()=>[]},accept:{type:String,default:""},maxSize:{type:Number,default:10*1024*1024},limit:{type:Number,default:6},multiple:{type:Boolean,default:!0},drag:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},listType:{type:String,default:"text"},autoUpload:{type:Boolean,default:!0},request:{type:Function,default:null},beforeUpload:{type:Function,default:null},hint:{type:String,default:""},showList:{type:Boolean,default:!0}},emits:["update:modelValue","change","success","error","remove","exceed"],setup(e,{emit:t}){let a=(0,qe.ref)([]),n=(0,qe.ref)(!1),i=(0,qe.ref)(null),l=new Map;(0,qe.watch)(()=>e.modelValue,y=>{let u=y||[],v=a.value;u.length===v.length&&u.every((D,x)=>D===v[x])||(a.value=u.slice())});function o(){t("update:modelValue",a.value.slice()),t("change",a.value.slice())}function r(y,u){return C(y,u)}function s(){e.disabled||i.value&&i.value.click()}function d(y,u,v){a.value.includes(y)&&(l.delete(y.uid),u==="done"?(y.status="done",y.progress=100,y.response=v,y.message="",t("success",y,v)):(y.status="error",y.message=v&&v.message?v.message:r("upload.failed"),t("error",y,v)),o())}function f(y){if(!e.request){y.status="ready";return}y.status="uploading",y.progress=0,y.message="";let u=e.request(y.raw,{onProgress(v){y.progress=Math.max(0,Math.min(100,Math.round(v)))},onSuccess(v){d(y,"done",v)},onError(v){d(y,"error",v)}});u&&typeof u.then=="function"&&u.then(v=>d(y,"done",v),v=>d(y,"error",v)),typeof u=="function"&&l.set(y.uid,u)}async function c(y){if(e.disabled)return[];let u=Array.from(y||[]);if(!u.length)return[];let v=e.limit>0?e.limit-a.value.length:u.length;if(v<=0)return t("exceed",u),[];let T=u.slice(0,v);u.length>v&&t("exceed",u.slice(v));let D=[];for(let x of T){if(!Yl(x,e.accept)){t("error",{file:x,reason:"accept"});continue}if(e.maxSize>0&&x.size>e.maxSize){t("error",{file:x,reason:"size"});continue}if(typeof e.beforeUpload=="function"){let S=!0;try{S=await e.beforeUpload(x)}catch{S=!1}if(S===!1)continue}Ci+=1;let z=(0,qe.reactive)({uid:Ci,name:x.name,size:x.size,ext:_l(x.name),type:x.type,raw:x,url:x.type&&x.type.startsWith("image/")?URL.createObjectURL(x):"",progress:0,status:e.autoUpload?"uploading":"ready",response:null,message:""});a.value.push(z),D.push(z)}return D.length&&(o(),D.forEach(f)),D}function p(y){c(y.target.files),y.target.value=""}function g(){e.disabled||(n.value=!0)}function m(y){n.value=!1,c(y.dataTransfer.files)}function h(y){let u=l.get(y.uid);typeof u=="function"&&u(),l.delete(y.uid),y.url&&URL.revokeObjectURL(y.url),a.value=a.value.filter(v=>v.uid!==y.uid),t("remove",y),o()}function b(y){e.disabled||f(y)}function j(){a.value.filter(y=>y.status==="ready"||y.status==="error").forEach(f)}function w(){a.value.forEach(y=>{let u=l.get(y.uid);typeof u=="function"&&u(),y.url&&URL.revokeObjectURL(y.url)}),l.clear(),a.value=[],o()}return(0,qe.onBeforeUnmount)(()=>{a.value.forEach(y=>{y.url&&URL.revokeObjectURL(y.url)}),l.clear()}),{files:a,dragActive:n,inputRef:i,pick:s,addFiles:c,onChange:p,onDragOver:g,onDrop:m,remove:h,retry:b,submit:j,clear:w,formatFileSize:Ct,statusLabel(y){return y.status==="uploading"?r("upload.uploading",{percent:y.progress}):y.status==="done"?r("upload.done"):y.status==="error"?y.message||r("upload.failed"):r("upload.ready")},hintText(){if(e.hint)return e.hint;let y=[];return e.limit>0&&y.push(r("upload.limitHint",{count:e.limit})),e.maxSize>0&&y.push(r("upload.sizeHint",{size:Ct(e.maxSize)})),y.join(" \xB7 ")||r("upload.dropHint")},t:r}},template:`
2616
+ `};var Ye=require("vue");var Bn=0;function oo(e){let t=e.lastIndexOf(".");return t===-1?"":e.slice(t+1).toLowerCase()}function Lt(e){return!e&&e!==0?"":e<1024?e+" B":e<1024*1024?(e/1024).toFixed(1)+" KB":(e/1024/1024).toFixed(1)+" MB"}function ro(e,t){if(!t)return!0;let a=(e.name||"").toLowerCase(),i=(e.type||"").toLowerCase();return t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean).some(n=>n.startsWith(".")?a.endsWith(n):n.endsWith("/*")?i.startsWith(n.slice(0,-1)):i===n)}var wi={name:"DjmUpload",components:{DjmIcon:z},props:{modelValue:{type:Array,default:()=>[]},accept:{type:String,default:""},maxSize:{type:Number,default:10*1024*1024},limit:{type:Number,default:6},multiple:{type:Boolean,default:!0},drag:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},listType:{type:String,default:"text"},autoUpload:{type:Boolean,default:!0},request:{type:Function,default:null},beforeUpload:{type:Function,default:null},hint:{type:String,default:""},showList:{type:Boolean,default:!0}},emits:["update:modelValue","change","success","error","remove","exceed"],setup(e,{emit:t}){let a=(0,Ye.ref)([]),i=(0,Ye.ref)(!1),n=(0,Ye.ref)(null),l=new Map;(0,Ye.watch)(()=>e.modelValue,b=>{let m=b||[],f=a.value;m.length===f.length&&m.every((D,k)=>D===f[k])||(a.value=m.slice())});function r(){t("update:modelValue",a.value.slice()),t("change",a.value.slice())}function o(b,m){return C(b,m)}function s(){e.disabled||n.value&&n.value.click()}function d(b,m,f){a.value.includes(b)&&(l.delete(b.uid),m==="done"?(b.status="done",b.progress=100,b.response=f,b.message="",t("success",b,f)):(b.status="error",b.message=f&&f.message?f.message:o("upload.failed"),t("error",b,f)),r())}function p(b){if(!e.request){b.status="ready";return}b.status="uploading",b.progress=0,b.message="";let m=e.request(b.raw,{onProgress(f){b.progress=Math.max(0,Math.min(100,Math.round(f)))},onSuccess(f){d(b,"done",f)},onError(f){d(b,"error",f)}});m&&typeof m.then=="function"&&m.then(f=>d(b,"done",f),f=>d(b,"error",f)),typeof m=="function"&&l.set(b.uid,m)}async function c(b){if(e.disabled)return[];let m=Array.from(b||[]);if(!m.length)return[];let f=e.limit>0?e.limit-a.value.length:m.length;if(f<=0)return t("exceed",m),[];let E=m.slice(0,f);m.length>f&&t("exceed",m.slice(f));let D=[];for(let k of E){if(!ro(k,e.accept)){t("error",{file:k,reason:"accept"});continue}if(e.maxSize>0&&k.size>e.maxSize){t("error",{file:k,reason:"size"});continue}if(typeof e.beforeUpload=="function"){let S=!0;try{S=await e.beforeUpload(k)}catch{S=!1}if(S===!1)continue}Bn+=1;let B=(0,Ye.reactive)({uid:Bn,name:k.name,size:k.size,ext:oo(k.name),type:k.type,raw:k,url:k.type&&k.type.startsWith("image/")?URL.createObjectURL(k):"",progress:0,status:e.autoUpload?"uploading":"ready",response:null,message:""});a.value.push(B),D.push(B)}return D.length&&(r(),D.forEach(p)),D}function h(b){c(b.target.files),b.target.value=""}function v(){e.disabled||(i.value=!0)}function u(b){i.value=!1,c(b.dataTransfer.files)}function g(b){let m=l.get(b.uid);typeof m=="function"&&m(),l.delete(b.uid),b.url&&URL.revokeObjectURL(b.url),a.value=a.value.filter(f=>f.uid!==b.uid),t("remove",b),r()}function y(b){e.disabled||p(b)}function j(){a.value.filter(b=>b.status==="ready"||b.status==="error").forEach(p)}function w(){a.value.forEach(b=>{let m=l.get(b.uid);typeof m=="function"&&m(),b.url&&URL.revokeObjectURL(b.url)}),l.clear(),a.value=[],r()}return(0,Ye.onBeforeUnmount)(()=>{a.value.forEach(b=>{b.url&&URL.revokeObjectURL(b.url)}),l.clear()}),{files:a,dragActive:i,inputRef:n,pick:s,addFiles:c,onChange:h,onDragOver:v,onDrop:u,remove:g,retry:y,submit:j,clear:w,formatFileSize:Lt,statusLabel(b){return b.status==="uploading"?o("upload.uploading",{percent:b.progress}):b.status==="done"?o("upload.done"):b.status==="error"?b.message||o("upload.failed"):o("upload.ready")},hintText(){if(e.hint)return e.hint;let b=[];return e.limit>0&&b.push(o("upload.limitHint",{count:e.limit})),e.maxSize>0&&b.push(o("upload.sizeHint",{size:Lt(e.maxSize)})),b.join(" \xB7 ")||o("upload.dropHint")},t:o}},template:`
2391
2617
  <div class="djm-upload" :class="{ 'djm-is-disabled': disabled }">
2392
2618
  <div
2393
2619
  v-if="drag"
@@ -2495,7 +2721,7 @@ Minimum version required to store current data is: `+I+`.
2495
2721
  <div class="djm-upload-empty" v-else>{{ t('upload.empty') }}</div>
2496
2722
  </template>
2497
2723
  </div>
2498
- `};var he=require("vue");var gn={name:"DjmTree",components:{Icon:L},props:{data:{type:Array,default:()=>[]},nodeKey:{type:String,default:"id"},labelKey:{type:String,default:"label"},checkable:{type:Boolean,default:!1},checked:{type:Array,default:()=>[]},checkStrictly:{type:Boolean,default:!1},expanded:{type:Array,default:()=>[]},defaultExpandAll:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},load:{type:Function,default:null},keyword:{type:String,default:""},activeKey:{type:[String,Number],default:""},rowClass:{type:[String,Function],default:""},draggable:{type:Boolean,default:!1},allowDrop:{type:Function,default:null},emptyText:{type:String,default:""}},emits:["update:checked","update:expanded","node-click","check","node-drop","load-error"],setup(e,{emit:t}){let a=(0,he.ref)({}),n=(0,he.ref)([]),i=(0,he.ref)([...e.expanded]),l=(0,he.ref)([...e.checked]);(0,he.watch)(()=>e.expanded,k=>{Array.isArray(k)&&(i.value=k)}),(0,he.watch)(()=>e.checked,k=>{Array.isArray(k)&&(l.value=k)});function o(k){let E=k[e.nodeKey];return a.value[E]?a.value[E]:k.children||null}function r(k){let E=o(k);return E&&E.length?!0:s(k)}function s(k){let E=k[e.nodeKey];return a.value[E]?!1:e.lazy&&typeof e.load=="function"&&!k.children&&k.isLeaf!==!0}function d(k){return e.keyword.trim()?!0:i.value.includes(k[e.nodeKey])}function f(k){return n.value.includes(k[e.nodeKey])}function c(k,E=[]){return k.forEach(B=>{let $=o(B);$&&$.length&&(E.push(B[e.nodeKey]),c($,E))}),E}(0,he.watch)(()=>e.data,()=>{e.defaultExpandAll&&(i.value=c(e.data))},{immediate:!0});function p(k){return String(k[e.labelKey]||"").toLowerCase().includes(e.keyword.trim().toLowerCase())}function g(k){if(!e.keyword.trim()||p(k))return!0;let E=o(k);return!!(E&&E.some(B=>g(B)))}let m=(0,he.computed)(()=>{let k=[],E=(B,$)=>{B.forEach(q=>{if(!g(q))return;k.push({node:q,level:$,index:k.length});let se=o(q);se&&se.length&&d(q)&&E(se,$+1)})};return E(e.data,0),k});function h(k,E=[]){let B=o(k);return B&&B.length?B.forEach($=>h($,E)):E.push(k[e.nodeKey]),E}function b(k){let E=e.checkStrictly?[k[e.nodeKey]]:h(k);return E.length>0&&E.every(B=>l.value.includes(B))}function j(k){if(e.checkStrictly)return!1;let E=h(k),B=E.filter($=>l.value.includes($)).length;return B>0&&B<E.length}function w(k,E){if(k.disabled){E&&(E.target.checked=b(k));return}let B=e.checkStrictly?[k[e.nodeKey]]:h(k),$=B.every(se=>l.value.includes(se)),q=$?l.value.filter(se=>!B.includes(se)):[...new Set([...l.value,...B])];l.value=q,t("update:checked",q),t("check",{node:k,checked:!$,keys:q})}async function y(k){let E=k[e.nodeKey];if(!r(k))return;if(s(k)&&!a.value[E]){n.value=[...n.value,E];try{let q=await e.load(k);a.value={...a.value,[E]:q||[]}}catch(q){t("load-error",k,q);return}finally{n.value=n.value.filter(q=>q!==E)}}let $=i.value.includes(E)?i.value.filter(q=>q!==E):[...i.value,E];i.value=$,t("update:expanded",$)}function u(k){k.disabled||t("node-click",k)}function v(k){return e.activeKey!==""&&k[e.nodeKey]===e.activeKey}let T=(0,he.ref)(null),D=(0,he.ref)(-1);function x(k){return(D.value===-1?0:D.value)===k?0:-1}function z(k){let B=(T.value?T.value.querySelectorAll(".djm-tree-node"):[])[k];B&&(D.value=k,B.focus())}function S(k){let E=m.value.length;if(!E)return;let B=D.value===-1?0:D.value,$=m.value[B],q=k.key;if(q==="ArrowDown"||q==="ArrowUp"){k.preventDefault(),z(Math.min(E-1,Math.max(0,B+(q==="ArrowDown"?1:-1))));return}if(q==="Home"||q==="End"){k.preventDefault(),z(q==="Home"?0:E-1);return}if(q==="ArrowRight"){k.preventDefault(),$&&r($.node)&&!d($.node)?y($.node):z(Math.min(E-1,B+1));return}if(q==="ArrowLeft"){if(k.preventDefault(),$&&r($.node)&&d($.node)){y($.node);return}for(let se=B-1;se>=0;se--)if(m.value[se].level===$.level-1){z(se);break}return}if(q==="Enter"||q===" "){if(!$)return;k.preventDefault(),q===" "&&e.checkable?w($.node):u($.node)}}function M(k,E){return typeof e.rowClass=="function"?e.rowClass(k,E):e.rowClass}let I=(0,he.ref)(""),A=(0,he.ref)(""),V=(0,he.ref)("");function H(k,E=e.data){for(let B of E){if(B[e.nodeKey]===k)return B;let $=o(B);if($&&$.length){let q=H(k,$);if(q)return q}}return null}function G(k,E){if(k[e.nodeKey]===E)return!0;let B=o(k);return!!(B&&B.some($=>G($,E)))}function Q(k,E){let B=k.currentTarget.getBoundingClientRect(),$=B.height?(k.clientY-B.top)/B.height:.5;return $<.28?"before":$>.72?"after":r(E)?"inside":"after"}function R(k,E){if(!e.draggable||!I.value||k.disabled)return!1;let B=H(I.value);return!(!B||B===k||G(B,k[e.nodeKey])||typeof e.allowDrop=="function"&&e.allowDrop(B,k,E)===!1)}function F(){I.value="",A.value="",V.value=""}function U(k,E){!e.draggable||k.disabled||(I.value=k[e.nodeKey],A.value="",E.dataTransfer&&(E.dataTransfer.setData("text/plain",String(I.value)),E.dataTransfer.effectAllowed="move"))}function ae(k,E){if(!e.draggable||!I.value)return;let B=Q(E,k);if(!R(k,B)){A.value===k[e.nodeKey]&&F();return}E.preventDefault(),E.dataTransfer&&(E.dataTransfer.dropEffect="move"),A.value=k[e.nodeKey],V.value=B}function Z(k){A.value===k[e.nodeKey]&&(A.value="",V.value="")}function de(k,E){if(!e.draggable||!I.value)return;E.preventDefault();let B=V.value||Q(E,k),$=H(I.value);A.value===k[e.nodeKey]&&R(k,B)&&$&&t("node-drop",{dragNode:$,dropNode:k,position:B}),F()}function P(){F()}function O(k){return A.value!==k[e.nodeKey]?"":"djm-is-drop-"+V.value}function W(k){return I.value!==""&&k[e.nodeKey]===I.value}function re(k){return k[e.labelKey]}return{rows:m,rootEl:T,focusIndex:D,tabIndexOf:x,onKeydown:S,childrenOf:o,hasChildren:r,isExpanded:d,isActive:v,isLoading:f,isChecked:b,isIndeterminate:j,toggleCheck:w,toggleExpand:y,onNodeClick:u,rowClassOf:M,dropClassOf:O,isDragging:W,onDragStart:U,onDragOver:ae,onDragLeave:Z,onDrop:de,onDragEnd:P,labelOf:re,emptyLabel:(0,he.computed)(()=>e.emptyText||C("tree.empty")),t:C}},template:`
2724
+ `};var ye=require("vue");var ji={name:"DjmTree",components:{Icon:z},props:{data:{type:Array,default:()=>[]},nodeKey:{type:String,default:"id"},labelKey:{type:String,default:"label"},checkable:{type:Boolean,default:!1},checked:{type:Array,default:()=>[]},checkStrictly:{type:Boolean,default:!1},expanded:{type:Array,default:()=>[]},defaultExpandAll:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},load:{type:Function,default:null},keyword:{type:String,default:""},activeKey:{type:[String,Number],default:""},rowClass:{type:[String,Function],default:""},draggable:{type:Boolean,default:!1},allowDrop:{type:Function,default:null},emptyText:{type:String,default:""}},emits:["update:checked","update:expanded","node-click","check","node-drop","load-error"],setup(e,{emit:t}){let a=(0,ye.ref)({}),i=(0,ye.ref)([]),n=(0,ye.ref)([...e.expanded]),l=(0,ye.ref)([...e.checked]);(0,ye.watch)(()=>e.expanded,x=>{Array.isArray(x)&&(n.value=x)}),(0,ye.watch)(()=>e.checked,x=>{Array.isArray(x)&&(l.value=x)});function r(x){let I=x[e.nodeKey];return a.value[I]?a.value[I]:x.children||null}function o(x){let I=r(x);return I&&I.length?!0:s(x)}function s(x){let I=x[e.nodeKey];return a.value[I]?!1:e.lazy&&typeof e.load=="function"&&!x.children&&x.isLeaf!==!0}function d(x){return e.keyword.trim()?!0:n.value.includes(x[e.nodeKey])}function p(x){return i.value.includes(x[e.nodeKey])}function c(x,I=[]){return x.forEach(N=>{let W=r(N);W&&W.length&&(I.push(N[e.nodeKey]),c(W,I))}),I}(0,ye.watch)(()=>e.data,()=>{e.defaultExpandAll&&(n.value=c(e.data))},{immediate:!0});function h(x){return String(x[e.labelKey]||"").toLowerCase().includes(e.keyword.trim().toLowerCase())}function v(x){if(!e.keyword.trim()||h(x))return!0;let I=r(x);return!!(I&&I.some(N=>v(N)))}let u=(0,ye.computed)(()=>{let x=[],I=(N,W)=>{N.forEach(G=>{if(!v(G))return;x.push({node:G,level:W,index:x.length});let me=r(G);me&&me.length&&d(G)&&I(me,W+1)})};return I(e.data,0),x});function g(x,I=[]){let N=r(x);return N&&N.length?N.forEach(W=>g(W,I)):I.push(x[e.nodeKey]),I}function y(x){let I=e.checkStrictly?[x[e.nodeKey]]:g(x);return I.length>0&&I.every(N=>l.value.includes(N))}function j(x){if(e.checkStrictly)return!1;let I=g(x),N=I.filter(W=>l.value.includes(W)).length;return N>0&&N<I.length}function w(x,I){if(x.disabled){I&&(I.target.checked=y(x));return}let N=e.checkStrictly?[x[e.nodeKey]]:g(x),W=N.every(me=>l.value.includes(me)),G=W?l.value.filter(me=>!N.includes(me)):[...new Set([...l.value,...N])];l.value=G,t("update:checked",G),t("check",{node:x,checked:!W,keys:G})}async function b(x){let I=x[e.nodeKey];if(!o(x))return;if(s(x)&&!a.value[I]){i.value=[...i.value,I];try{let G=await e.load(x);a.value={...a.value,[I]:G||[]}}catch(G){t("load-error",x,G);return}finally{i.value=i.value.filter(G=>G!==I)}}let W=n.value.includes(I)?n.value.filter(G=>G!==I):[...n.value,I];n.value=W,t("update:expanded",W)}function m(x){x.disabled||t("node-click",x)}function f(x){return e.activeKey!==""&&x[e.nodeKey]===e.activeKey}let E=(0,ye.ref)(null),D=(0,ye.ref)(-1);function k(x){return(D.value===-1?0:D.value)===x?0:-1}function B(x){let N=(E.value?E.value.querySelectorAll(".djm-tree-node"):[])[x];N&&(D.value=x,N.focus())}function S(x){let I=u.value.length;if(!I)return;let N=D.value===-1?0:D.value,W=u.value[N],G=x.key;if(G==="ArrowDown"||G==="ArrowUp"){x.preventDefault(),B(Math.min(I-1,Math.max(0,N+(G==="ArrowDown"?1:-1))));return}if(G==="Home"||G==="End"){x.preventDefault(),B(G==="Home"?0:I-1);return}if(G==="ArrowRight"){x.preventDefault(),W&&o(W.node)&&!d(W.node)?b(W.node):B(Math.min(I-1,N+1));return}if(G==="ArrowLeft"){if(x.preventDefault(),W&&o(W.node)&&d(W.node)){b(W.node);return}for(let me=N-1;me>=0;me--)if(u.value[me].level===W.level-1){B(me);break}return}if(G==="Enter"||G===" "){if(!W)return;x.preventDefault(),G===" "&&e.checkable?w(W.node):m(W.node)}}function T(x,I){return typeof e.rowClass=="function"?e.rowClass(x,I):e.rowClass}let L=(0,ye.ref)(""),A=(0,ye.ref)(""),O=(0,ye.ref)("");function $(x,I=e.data){for(let N of I){if(N[e.nodeKey]===x)return N;let W=r(N);if(W&&W.length){let G=$(x,W);if(G)return G}}return null}function Q(x,I){if(x[e.nodeKey]===I)return!0;let N=r(x);return!!(N&&N.some(W=>Q(W,I)))}function te(x,I){let N=x.currentTarget.getBoundingClientRect(),W=N.height?(x.clientY-N.top)/N.height:.5;return W<.28?"before":W>.72?"after":o(I)?"inside":"after"}function H(x,I){if(!e.draggable||!L.value||x.disabled)return!1;let N=$(L.value);return!(!N||N===x||Q(N,x[e.nodeKey])||typeof e.allowDrop=="function"&&e.allowDrop(N,x,I)===!1)}function U(){L.value="",A.value="",O.value=""}function Y(x,I){!e.draggable||x.disabled||(L.value=x[e.nodeKey],A.value="",I.dataTransfer&&(I.dataTransfer.setData("text/plain",String(L.value)),I.dataTransfer.effectAllowed="move"))}function le(x,I){if(!e.draggable||!L.value)return;let N=te(I,x);if(!H(x,N)){A.value===x[e.nodeKey]&&U();return}I.preventDefault(),I.dataTransfer&&(I.dataTransfer.dropEffect="move"),A.value=x[e.nodeKey],O.value=N}function ae(x){A.value===x[e.nodeKey]&&(A.value="",O.value="")}function de(x,I){if(!e.draggable||!L.value)return;I.preventDefault();let N=O.value||te(I,x),W=$(L.value);A.value===x[e.nodeKey]&&H(x,N)&&W&&t("node-drop",{dragNode:W,dropNode:x,position:N}),U()}function P(){U()}function K(x){return A.value!==x[e.nodeKey]?"":"djm-is-drop-"+O.value}function _(x){return L.value!==""&&x[e.nodeKey]===L.value}function ue(x){return x[e.labelKey]}return{rows:u,rootEl:E,focusIndex:D,tabIndexOf:k,onKeydown:S,childrenOf:r,hasChildren:o,isExpanded:d,isActive:f,isLoading:p,isChecked:y,isIndeterminate:j,toggleCheck:w,toggleExpand:b,onNodeClick:m,rowClassOf:T,dropClassOf:K,isDragging:_,onDragStart:Y,onDragOver:le,onDragLeave:ae,onDrop:de,onDragEnd:P,labelOf:ue,emptyLabel:(0,ye.computed)(()=>e.emptyText||C("tree.empty")),t:C}},template:`
2499
2725
  <div class="djm-tree" role="tree" ref="rootEl" @keydown="onKeydown">
2500
2726
  <div
2501
2727
  v-for="row in rows"
@@ -2556,7 +2782,7 @@ Minimum version required to store current data is: `+I+`.
2556
2782
 
2557
2783
  <div v-if="!rows.length" class="djm-tree-empty">{{ emptyLabel }}</div>
2558
2784
  </div>
2559
- `};var we=require("vue");var yn="__editable_actions";function bn(e){return e===""||e===null||e===void 0?!0:Array.isArray(e)&&e.length===0}var wn={name:"DjmEditableTable",components:{DjmTable:Nt,DjmInput:Pe,DjmSelect:Ge,DjmSwitch:ct,DjmDatePicker:Ue},inheritAttrs:!1,props:{columns:{type:Array,required:!0},rows:{type:Array,default:()=>[]},rowKey:{type:String,default:"id"},showActions:{type:Boolean,default:!0},actionLabel:{type:String,default:"\u64CD\u4F5C"},actionWidth:{type:Number,default:120},editable:{type:Function,default:null}},emits:["edit","save","cancel"],setup(e,{emit:t}){let a=(0,we.useSlots)(),n=(0,we.ref)(""),i=(0,we.reactive)({}),l=(0,we.reactive)({}),o=(0,we.ref)(null),r=(0,we.computed)(()=>e.columns.filter(u=>u.editor)),s=(0,we.computed)(()=>e.showActions?e.columns.concat({key:yn,label:e.actionLabel,width:e.actionWidth,class:"djm-col-actions",fixed:"right",exportable:!1}):e.columns),d=(0,we.computed)(()=>{let u=new Set(r.value.map(v=>"cell-"+v.key));return u.add("cell-"+yn),Object.keys(a).filter(v=>!u.has(v))});function f(u){return"cell-"+u.key}let c="cell-"+yn;function p(){Object.keys(l).forEach(u=>delete l[u])}function g(u){return n.value!==""&&u[e.rowKey]===n.value}function m(u){return typeof e.editable=="function"?!!e.editable(u):!0}function h(u){return m(u)?(n.value=u[e.rowKey],r.value.forEach(v=>{i[v.key]=u[v.key]}),p(),t("edit",u),!0):!1}function b(){let u=j(n.value);n.value="",p(),u&&t("cancel",u)}function j(u){return u===""?null:e.rows.find(v=>v[e.rowKey]===u)||null}function w(){return p(),r.value.forEach(u=>{let v=i[u.key],T=u.rules||[];for(let D of T){if(D.required&&bn(v)){l[u.key]=D.message||"\u8BE5\u9879\u4E3A\u5FC5\u586B";break}if(D.pattern&&!bn(v)&&!D.pattern.test(String(v))){l[u.key]=D.message||"\u683C\u5F0F\u4E0D\u6B63\u786E";break}if(typeof D.validator=="function"){let x=D.validator(v,i);if(x===!1){l[u.key]=D.message||"\u6821\u9A8C\u672A\u901A\u8FC7";break}if(typeof x=="string"){l[u.key]=x;break}}}}),Object.keys(l).length===0}function y(){let u=j(n.value);if(!u)return n.value="",!1;if(!w())return(0,we.nextTick)(()=>{let T=o.value&&o.value.$el?o.value.$el.querySelector(".djm-cell-error"):null;T&&T.scrollIntoView({block:"nearest"})}),!1;let v={};return r.value.forEach(T=>{let D=i[T.key];T.editor==="number"?v[T.key]=bn(D)?null:Number(D):v[T.key]=typeof D=="string"?D.trim():D}),t("save",{row:u,changes:v}),n.value="",p(),!0}return(0,we.watch)(()=>e.rows,()=>{n.value&&!j(n.value)&&(n.value="",p())}),{tableRef:o,editingKey:n,draft:i,errors:l,editableColumns:r,renderColumns:s,forwardedSlotNames:d,cellSlot:f,actionsSlot:c,isEditing:g,rowEditable:m,startEdit:h,cancelEdit:b,saveEdit:y}},template:`
2785
+ `};var Se=require("vue");var xi="__editable_actions";function ki(e){return e===""||e===null||e===void 0?!0:Array.isArray(e)&&e.length===0}var Si={name:"DjmEditableTable",components:{DjmTable:Ot,DjmInput:Ne,DjmSelect:Qe,DjmSwitch:ft,DjmDatePicker:_e},inheritAttrs:!1,props:{columns:{type:Array,required:!0},rows:{type:Array,default:()=>[]},rowKey:{type:String,default:"id"},showActions:{type:Boolean,default:!0},actionLabel:{type:String,default:"\u64CD\u4F5C"},actionWidth:{type:Number,default:120},editable:{type:Function,default:null}},emits:["edit","save","cancel"],setup(e,{emit:t}){let a=(0,Se.useSlots)(),i=(0,Se.ref)(""),n=(0,Se.reactive)({}),l=(0,Se.reactive)({}),r=(0,Se.ref)(null),o=(0,Se.computed)(()=>e.columns.filter(m=>m.editor)),s=(0,Se.computed)(()=>e.showActions?e.columns.concat({key:xi,label:e.actionLabel,width:e.actionWidth,class:"djm-col-actions",fixed:"right",exportable:!1}):e.columns),d=(0,Se.computed)(()=>{let m=new Set(o.value.map(f=>"cell-"+f.key));return m.add("cell-"+xi),Object.keys(a).filter(f=>!m.has(f))});function p(m){return"cell-"+m.key}let c="cell-"+xi;function h(){Object.keys(l).forEach(m=>delete l[m])}function v(m){return i.value!==""&&m[e.rowKey]===i.value}function u(m){return typeof e.editable=="function"?!!e.editable(m):!0}function g(m){return u(m)?(i.value=m[e.rowKey],o.value.forEach(f=>{n[f.key]=m[f.key]}),h(),t("edit",m),!0):!1}function y(){let m=j(i.value);i.value="",h(),m&&t("cancel",m)}function j(m){return m===""?null:e.rows.find(f=>f[e.rowKey]===m)||null}function w(){return h(),o.value.forEach(m=>{let f=n[m.key],E=m.rules||[];for(let D of E){if(D.required&&ki(f)){l[m.key]=D.message||"\u8BE5\u9879\u4E3A\u5FC5\u586B";break}if(D.pattern&&!ki(f)&&!D.pattern.test(String(f))){l[m.key]=D.message||"\u683C\u5F0F\u4E0D\u6B63\u786E";break}if(typeof D.validator=="function"){let k=D.validator(f,n);if(k===!1){l[m.key]=D.message||"\u6821\u9A8C\u672A\u901A\u8FC7";break}if(typeof k=="string"){l[m.key]=k;break}}}}),Object.keys(l).length===0}function b(){let m=j(i.value);if(!m)return i.value="",!1;if(!w())return(0,Se.nextTick)(()=>{let E=r.value&&r.value.$el?r.value.$el.querySelector(".djm-cell-error"):null;E&&E.scrollIntoView({block:"nearest"})}),!1;let f={};return o.value.forEach(E=>{let D=n[E.key];E.editor==="number"?f[E.key]=ki(D)?null:Number(D):f[E.key]=typeof D=="string"?D.trim():D}),t("save",{row:m,changes:f}),i.value="",h(),!0}return(0,Se.watch)(()=>e.rows,()=>{i.value&&!j(i.value)&&(i.value="",h())}),{tableRef:r,editingKey:i,draft:n,errors:l,editableColumns:o,renderColumns:s,forwardedSlotNames:d,cellSlot:p,actionsSlot:c,isEditing:v,rowEditable:u,startEdit:g,cancelEdit:y,saveEdit:b}},template:`
2560
2786
  <DjmTable
2561
2787
  ref="tableRef"
2562
2788
  v-bind="$attrs"
@@ -2618,7 +2844,7 @@ Minimum version required to store current data is: `+I+`.
2618
2844
  <slot :name="name" v-bind="scope || {}"></slot>
2619
2845
  </template>
2620
2846
  </DjmTable>
2621
- `};var jn={name:"DjmDescriptions",props:{items:{type:Array,default:()=>[]},columns:{type:[Number,String],default:2},labelWidth:{type:[Number,String],default:72}},computed:{descStyle(){let e=Math.max(1,Number(this.columns)||1),t=this.labelWidth,a=typeof t=="number"||/^\d+(\.\d+)?$/.test(t)?t+"px":t;return{"--djm-desc-columns":e,"--djm-desc-label-w":a}}},methods:{slotOf(e){return"value-"+(e.key||e.label)}},template:`
2847
+ `};var Di={name:"DjmDescriptions",props:{items:{type:Array,default:()=>[]},columns:{type:[Number,String],default:2},labelWidth:{type:[Number,String],default:72}},computed:{descStyle(){let e=Math.max(1,Number(this.columns)||1),t=this.labelWidth,a=typeof t=="number"||/^\d+(\.\d+)?$/.test(t)?t+"px":t;return{"--djm-desc-columns":e,"--djm-desc-label-w":a}}},methods:{slotOf(e){return"value-"+(e.key||e.label)}},template:`
2622
2848
  <dl class="djm-descriptions" :style="descStyle">
2623
2849
  <div
2624
2850
  v-for="item in items"
@@ -2632,7 +2858,7 @@ Minimum version required to store current data is: `+I+`.
2632
2858
  </dd>
2633
2859
  </div>
2634
2860
  </dl>
2635
- `};var Ei=require("vue");var lt=(0,Ei.reactive)([]),Gl=0;function Ii(e){let t=lt.findIndex(a=>a.id===e);t>-1&&lt.splice(t,1)}function Qt(e,t="success",a=2600){let n=++Gl;return lt.push({id:n,text:e,type:t}),a>0&&window.setTimeout(()=>Ii(n),a),n}function jt(e,t="success",a){return Qt(e,t,a)}jt.success=(e,t)=>Qt(e,"success",t);jt.info=(e,t)=>Qt(e,"info",t);jt.error=(e,t)=>Qt(e,"error",t);jt.close=Ii;jt.clear=()=>lt.splice(0,lt.length);var kn={name:"DjmMessageHost",components:{DjmIcon:L},setup(){return{messages:lt}},template:`
2861
+ `};var Nn=require("vue");var st=(0,Nn.reactive)([]),so=0;function Rn(e){let t=st.findIndex(a=>a.id===e);t>-1&&st.splice(t,1)}function ia(e,t="success",a=2600){let i=++so;return st.push({id:i,text:e,type:t}),a>0&&window.setTimeout(()=>Rn(i),a),i}function St(e,t="success",a){return ia(e,t,a)}St.success=(e,t)=>ia(e,"success",t);St.info=(e,t)=>ia(e,"info",t);St.error=(e,t)=>ia(e,"error",t);St.close=Rn;St.clear=()=>st.splice(0,st.length);var Ei={name:"DjmMessageHost",components:{DjmIcon:z},setup(){return{messages:st}},template:`
2636
2862
  <Teleport to="body">
2637
2863
  <TransitionGroup name="djm-toast" tag="div" class="djm-toast-stack" role="status" aria-live="polite">
2638
2864
  <div
@@ -2647,7 +2873,7 @@ Minimum version required to store current data is: `+I+`.
2647
2873
  </div>
2648
2874
  </TransitionGroup>
2649
2875
  </Teleport>
2650
- `};var le=require("vue");var xn={name:"DjmOrgPicker",components:{DjmIcon:L},props:{modelValue:{type:Array,default:()=>[]},departments:{type:Array,default:()=>[]},staff:{type:Array,default:()=>[]},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},maxTagCount:{type:Number,default:3},showFooter:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["update:modelValue","change","visible-change"],setup(e,{emit:t}){let a=(0,le.ref)(!1),n=(0,le.ref)(null),i=(0,le.ref)(null),l=(0,le.ref)(""),o=(0,le.ref)(""),r=(0,le.ref)([]),s=(0,le.ref)(new Set),d=null;function f(P,O=[]){return P.forEach(W=>{O.push(W.id),W.children&&W.children.length&&f(W.children,O)}),O}function c(P){let O=E=>{for(let B of E){if(B.id===P)return B;if(B.children){let $=O(B.children);if($)return $}}return null},W=O(e.departments);if(!W)return new Set([P]);let re=new Set,k=E=>E.forEach(B=>{re.add(B.id),B.children&&k(B.children)});return k([W]),re}let p=(0,le.computed)(()=>{let P=new Map;return e.staff.forEach(O=>P.set(O.id,O)),P}),g=(0,le.computed)(()=>e.modelValue.map(P=>p.value.get(P)).filter(Boolean)),m=(0,le.computed)(()=>e.maxTagCount<=0?g.value:g.value.slice(0,e.maxTagCount)),h=(0,le.computed)(()=>Math.max(0,g.value.length-m.value.length)),b=(0,le.computed)(()=>{let P=l.value.trim().toLowerCase();if(P)return e.staff.filter(W=>(W.name+" "+(W.title||"")).toLowerCase().includes(P));if(!o.value)return e.staff;let O=c(o.value);return e.staff.filter(W=>O.has(W.deptId))}),j=(0,le.computed)(()=>{let P=[],O=(W,re)=>{W.forEach(k=>{let E=Array.isArray(k.children)&&k.children.length>0;P.push({node:k,depth:re,hasChildren:E}),E&&s.value.has(k.id)&&O(k.children,re+1)})};return O(e.departments,0),P}),w=(0,le.computed)(()=>r.value.length),y=(0,le.computed)(()=>e.placeholder||C("orgPicker.placeholder")),u=(0,le.computed)(()=>e.emptyText||C("orgPicker.empty")),v=(0,le.ref)(null),T=(0,le.ref)({...ee}),D=342;function x(){if(!a.value||!n.value)return;let P=n.value.getBoundingClientRect(),O=Math.min(520,window.innerWidth-16);T.value=ye({rect:P,flip:ge(P,D),width:O,clampWidth:O})}function z(){s.value=new Set(f(e.departments))}z(),(0,le.watch)(()=>e.departments,()=>{s.value=new Set([...s.value,...f(e.departments)])});function S(P){return(P.name||"").slice(0,1)}function M(P){return r.value.includes(P)}function I(P){r.value.includes(P.id)?r.value=r.value.filter(O=>O!==P.id):r.value=[...r.value,P.id],e.showFooter||R()}function A(P){o.value=P,l.value=""}function V(P){let O=new Set(s.value);O.has(P.id)?O.delete(P.id):O.add(P.id),s.value=O}function H(){let P=b.value.find(O=>!r.value.includes(O.id));P&&I(P)}function G(){e.disabled||a.value||(r.value=[...e.modelValue],l.value="",o.value="",a.value=!0,t("visible-change",!0),d=J({root:()=>n.value,panel:()=>v.value,onClose:Q,onReposition:x}),requestAnimationFrame(()=>{x(),i.value&&i.value.focus()}))}function Q(){a.value&&(a.value=!1,T.value={...ee},t("visible-change",!1),d&&(d(),d=null))}function R(){let P=[...r.value];t("update:modelValue",P),t("change",P),e.showFooter&&Q()}function F(){r.value=[...e.modelValue],Q()}function U(){e.disabled||(a.value?F():G())}function ae(P){let O=e.modelValue.filter(W=>W!==P);t("update:modelValue",O),t("change",O),r.value=r.value.filter(W=>W!==P)}function Z(){e.disabled||(t("update:modelValue",[]),t("change",[]),r.value=[])}function de(){r.value=[]}return(0,le.onBeforeUnmount)(()=>{d&&(d(),d=null)}),{open:a,root:n,panel:v,panelStyle:T,searchRef:i,keyword:l,activeDept:o,temp:r,expandedIds:s,appliedStaff:g,visibleTags:m,restTagCount:h,visibleStaff:b,deptRows:j,selectedCount:w,placeholderText:y,emptyLabel:u,initialOf:S,isSelected:M,toggleStaff:I,pickDept:A,toggleExpand:V,onSearchEnter:H,openPanel:G,closePanel:Q,commit:R,cancel:F,toggle:U,removeTag:ae,clearAll:Z,clearTemp:de,t:C}},template:`
2876
+ `};var ce=require("vue");var Mi={name:"DjmOrgPicker",components:{DjmIcon:z},props:{modelValue:{type:Array,default:()=>[]},departments:{type:Array,default:()=>[]},staff:{type:Array,default:()=>[]},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},maxTagCount:{type:Number,default:3},showFooter:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["update:modelValue","change","visible-change"],setup(e,{emit:t}){let a=(0,ce.ref)(!1),i=(0,ce.ref)(null),n=(0,ce.ref)(null),l=(0,ce.ref)(""),r=(0,ce.ref)(""),o=(0,ce.ref)([]),s=(0,ce.ref)(new Set),d=null;function p(P,K=[]){return P.forEach(_=>{K.push(_.id),_.children&&_.children.length&&p(_.children,K)}),K}function c(P){let K=I=>{for(let N of I){if(N.id===P)return N;if(N.children){let W=K(N.children);if(W)return W}}return null},_=K(e.departments);if(!_)return new Set([P]);let ue=new Set,x=I=>I.forEach(N=>{ue.add(N.id),N.children&&x(N.children)});return x([_]),ue}let h=(0,ce.computed)(()=>{let P=new Map;return e.staff.forEach(K=>P.set(K.id,K)),P}),v=(0,ce.computed)(()=>e.modelValue.map(P=>h.value.get(P)).filter(Boolean)),u=(0,ce.computed)(()=>e.maxTagCount<=0?v.value:v.value.slice(0,e.maxTagCount)),g=(0,ce.computed)(()=>Math.max(0,v.value.length-u.value.length)),y=(0,ce.computed)(()=>{let P=l.value.trim().toLowerCase();if(P)return e.staff.filter(_=>(_.name+" "+(_.title||"")).toLowerCase().includes(P));if(!r.value)return e.staff;let K=c(r.value);return e.staff.filter(_=>K.has(_.deptId))}),j=(0,ce.computed)(()=>{let P=[],K=(_,ue)=>{_.forEach(x=>{let I=Array.isArray(x.children)&&x.children.length>0;P.push({node:x,depth:ue,hasChildren:I}),I&&s.value.has(x.id)&&K(x.children,ue+1)})};return K(e.departments,0),P}),w=(0,ce.computed)(()=>o.value.length),b=(0,ce.computed)(()=>e.placeholder||C("orgPicker.placeholder")),m=(0,ce.computed)(()=>e.emptyText||C("orgPicker.empty")),f=(0,ce.ref)(null),E=(0,ce.ref)({...oe}),D=342;function k(){if(!a.value||!i.value)return;let P=i.value.getBoundingClientRect(),K=Math.min(520,window.innerWidth-16);E.value=xe({rect:P,flip:je(P,D),width:K,clampWidth:K})}function B(){s.value=new Set(p(e.departments))}B(),(0,ce.watch)(()=>e.departments,()=>{s.value=new Set([...s.value,...p(e.departments)])});function S(P){return(P.name||"").slice(0,1)}function T(P){return o.value.includes(P)}function L(P){o.value.includes(P.id)?o.value=o.value.filter(K=>K!==P.id):o.value=[...o.value,P.id],e.showFooter||H()}function A(P){r.value=P,l.value=""}function O(P){let K=new Set(s.value);K.has(P.id)?K.delete(P.id):K.add(P.id),s.value=K}function $(){let P=y.value.find(K=>!o.value.includes(K.id));P&&L(P)}function Q(){e.disabled||a.value||(o.value=[...e.modelValue],l.value="",r.value="",a.value=!0,t("visible-change",!0),d=ie({root:()=>i.value,panel:()=>f.value,onClose:te,onReposition:k}),requestAnimationFrame(()=>{k(),n.value&&n.value.focus()}))}function te(){a.value&&(a.value=!1,E.value={...oe},t("visible-change",!1),d&&(d(),d=null))}function H(){let P=[...o.value];t("update:modelValue",P),t("change",P),e.showFooter&&te()}function U(){o.value=[...e.modelValue],te()}function Y(){e.disabled||(a.value?U():Q())}function le(P){let K=e.modelValue.filter(_=>_!==P);t("update:modelValue",K),t("change",K),o.value=o.value.filter(_=>_!==P)}function ae(){e.disabled||(t("update:modelValue",[]),t("change",[]),o.value=[])}function de(){o.value=[]}return(0,ce.onBeforeUnmount)(()=>{d&&(d(),d=null)}),{open:a,root:i,panel:f,panelStyle:E,searchRef:n,keyword:l,activeDept:r,temp:o,expandedIds:s,appliedStaff:v,visibleTags:u,restTagCount:g,visibleStaff:y,deptRows:j,selectedCount:w,placeholderText:b,emptyLabel:m,initialOf:S,isSelected:T,toggleStaff:L,pickDept:A,toggleExpand:O,onSearchEnter:$,openPanel:Q,closePanel:te,commit:H,cancel:U,toggle:Y,removeTag:le,clearAll:ae,clearTemp:de,t:C}},template:`
2651
2877
  <div class="djm-org-picker" ref="root" :class="{ 'djm-is-open': open, 'djm-is-disabled': disabled }">
2652
2878
  <div
2653
2879
  class="djm-input djm-org-trigger"
@@ -2788,7 +3014,7 @@ Minimum version required to store current data is: `+I+`.
2788
3014
  </div>
2789
3015
  </Teleport>
2790
3016
  </div>
2791
- `};var Ne=require("vue");var Jl={input:Pe,number:mt,select:Ge,radio:At,checkbox:Lt,switch:ct,date:Ue,time:Ht,cascader:ft,treeSelect:wt,rate:Rt,slider:Vt,color:Ot},Sn={name:"DjmSchemaForm",components:{DjmForm:Pt,DjmFormItem:zt,DjmRow:Kt,DjmCol:Wt},props:{modelValue:{type:Object,default:()=>({})},fields:{type:Array,default:()=>[]},rules:{type:Object,default:()=>({})},labelWidth:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1},gap:{type:[Number,String],default:12}},emits:["update:modelValue","change"],setup(e,{emit:t}){let a=(0,Ne.ref)(null),n=(0,Ne.reactive)({...e.modelValue});(0,Ne.watch)(()=>e.fields,m=>{m.forEach(h=>{n[h.key]===void 0&&h.default!==void 0&&(n[h.key]=typeof h.default=="function"?h.default():h.default)})},{immediate:!0,deep:!0}),(0,Ne.watch)(()=>e.modelValue,m=>{m&&Object.keys(m).forEach(h=>{n[h]!==m[h]&&(n[h]=m[h])})},{deep:!0}),(0,Ne.watch)(n,()=>{t("update:modelValue",{...n}),t("change",{...n})},{deep:!0});let i=(0,Ne.computed)(()=>{let m={...e.rules};return e.fields.forEach(h=>{if(!h.required&&!h.rules)return;let b=[...m[h.key]||[]];h.required&&!b.some(j=>j.required)&&b.unshift({required:!0,message:h.requiredMessage||(h.label||h.key)+" \u4E3A\u5FC5\u586B\u9879"}),h.rules&&b.push(...h.rules),m[h.key]=b}),m}),l=(0,Ne.computed)(()=>e.fields.filter(m=>typeof m.visibleWhen!="function"?!0:!!m.visibleWhen(n)));function o(m){return Jl[m.type]||Pe}function r(m){let h={...m.props||{}};return{...h,options:m.options!==void 0?m.options:h.options,placeholder:m.placeholder!==void 0?m.placeholder:h.placeholder,disabled:e.disabled||!!m.disabled}}function s(m,h){n[m]=h}function d(){return{...n}}function f(){return a.value?a.value.validate():Promise.resolve(!0)}function c(m){return a.value?a.value.validateField(m):Promise.resolve(!0)}function p(){a.value&&a.value.clearValidate()}function g(){a.value&&a.value.resetFields()}return{innerForm:a,model:n,formRules:i,visibleFields:l,controlOf:o,controlProps:r,setValue:s,getModel:d,validate:f,validateField:c,clearValidate:p,resetFields:g}},template:`
3017
+ `};var Ve=require("vue");var co={input:Ne,number:ht,select:Qe,radio:Nt,checkbox:Bt,switch:ft,date:_e,time:Kt,cascader:vt,treeSelect:kt,rate:$t,slider:Ft,color:Wt},Ci={name:"DjmSchemaForm",components:{DjmForm:Rt,DjmFormItem:Vt,DjmRow:_t,DjmCol:Yt},props:{modelValue:{type:Object,default:()=>({})},fields:{type:Array,default:()=>[]},rules:{type:Object,default:()=>({})},labelWidth:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1},gap:{type:[Number,String],default:12}},emits:["update:modelValue","change"],setup(e,{emit:t}){let a=(0,Ve.ref)(null),i=(0,Ve.reactive)({...e.modelValue});(0,Ve.watch)(()=>e.fields,u=>{u.forEach(g=>{i[g.key]===void 0&&g.default!==void 0&&(i[g.key]=typeof g.default=="function"?g.default():g.default)})},{immediate:!0,deep:!0}),(0,Ve.watch)(()=>e.modelValue,u=>{u&&Object.keys(u).forEach(g=>{i[g]!==u[g]&&(i[g]=u[g])})},{deep:!0}),(0,Ve.watch)(i,()=>{t("update:modelValue",{...i}),t("change",{...i})},{deep:!0});let n=(0,Ve.computed)(()=>{let u={...e.rules};return e.fields.forEach(g=>{if(!g.required&&!g.rules)return;let y=[...u[g.key]||[]];g.required&&!y.some(j=>j.required)&&y.unshift({required:!0,message:g.requiredMessage||(g.label||g.key)+" \u4E3A\u5FC5\u586B\u9879"}),g.rules&&y.push(...g.rules),u[g.key]=y}),u}),l=(0,Ve.computed)(()=>e.fields.filter(u=>typeof u.visibleWhen!="function"?!0:!!u.visibleWhen(i)));function r(u){return co[u.type]||Ne}function o(u){let g={...u.props||{}};return{...g,options:u.options!==void 0?u.options:g.options,placeholder:u.placeholder!==void 0?u.placeholder:g.placeholder,disabled:e.disabled||!!u.disabled}}function s(u,g){i[u]=g}function d(){return{...i}}function p(){return a.value?a.value.validate():Promise.resolve(!0)}function c(u){return a.value?a.value.validateField(u):Promise.resolve(!0)}function h(){a.value&&a.value.clearValidate()}function v(){a.value&&a.value.resetFields()}return{innerForm:a,model:i,formRules:n,visibleFields:l,controlOf:r,controlProps:o,setValue:s,getModel:d,validate:p,validateField:c,clearValidate:h,resetFields:v}},template:`
2792
3018
  <DjmForm ref="innerForm" :model="model" :rules="formRules" :label-width="labelWidth">
2793
3019
  <DjmRow :gap="gap">
2794
3020
  <DjmCol v-for="field in visibleFields" :key="field.key" :span="field.span || 12">
@@ -2843,7 +3069,7 @@ Minimum version required to store current data is: `+I+`.
2843
3069
  </DjmCol>
2844
3070
  </DjmRow>
2845
3071
  </DjmForm>
2846
- `};var Dn={name:"DjmApprovalFlow",components:{DjmIcon:L},props:{nodes:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},emits:["node-click"],computed:{list(){return this.nodes.map((e,t)=>({...e,index:t}))}},methods:{statusText(e){return C("approval."+(e||"waiting"))},iconOf(e){return e.status==="approved"?"check":e.status==="rejected"?"x":e.status==="pending"?"clock":""},initialOf(e){return(e.name||"").slice(0,1)},t:C},template:`
3072
+ `};var Ti={name:"DjmApprovalFlow",components:{DjmIcon:z},props:{nodes:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},emits:["node-click"],computed:{list(){return this.nodes.map((e,t)=>({...e,index:t}))}},methods:{statusText(e){return C("approval."+(e||"waiting"))},iconOf(e){return e.status==="approved"?"check":e.status==="rejected"?"x":e.status==="pending"?"clock":""},initialOf(e){return(e.name||"").slice(0,1)},t:C},template:`
2847
3073
  <div class="djm-approval" :class="{ 'djm-is-compact': compact }">
2848
3074
  <div
2849
3075
  v-for="node in list"
@@ -2892,7 +3118,7 @@ Minimum version required to store current data is: `+I+`.
2892
3118
 
2893
3119
  <div v-if="!nodes.length" class="djm-approval-empty">{{ t('approval.empty') }}</div>
2894
3120
  </div>
2895
- `};var Re=require("vue");var Xl={input:Pe,number:mt,select:Ge,date:Ue,dateRange:Ue,cascader:ft,treeSelect:wt},Tn={name:"DjmQueryFilter",components:{DjmIcon:L},props:{modelValue:{type:Object,default:()=>({})},fields:{type:Array,default:()=>[]},visibleCount:{type:Number,default:3},showActions:{type:Boolean,default:!0},searchText:{type:String,default:""},resetText:{type:String,default:""}},emits:["update:modelValue","search","reset"],setup(e,{emit:t}){let a=(0,Re.ref)(!1),n=(0,Re.reactive)({...e.modelValue});(0,Re.watch)(()=>e.fields,p=>{p.forEach(g=>{n[g.key]===void 0&&g.default!==void 0&&(n[g.key]=typeof g.default=="function"?g.default():g.default)})},{immediate:!0,deep:!0}),(0,Re.watch)(()=>e.modelValue,p=>{p&&Object.keys(p).forEach(g=>{n[g]!==p[g]&&(n[g]=p[g])})},{deep:!0}),(0,Re.watch)(n,()=>{t("update:modelValue",{...n})},{deep:!0});let i=(0,Re.computed)(()=>e.fields.length>e.visibleCount),l=(0,Re.computed)(()=>!i.value||a.value?e.fields:e.fields.slice(0,e.visibleCount));function o(p){return Xl[p.type]||Pe}function r(p){let g={...p.props||{}};return p.type==="dateRange"&&(g.range=!0,g.panels=1),{...g,options:p.options!==void 0?p.options:g.options,placeholder:p.placeholder!==void 0?p.placeholder:g.placeholder}}function s(p,g){n[p]=g}function d(){t("search",{...n})}function f(p){let g=p.target&&p.target.tagName;g!=="INPUT"&&g!=="TEXTAREA"||p.target.closest(".djm-select-panel, .djm-date-picker-panel, .djm-cascader-panel, .djm-tree-select-panel")||d()}function c(){e.fields.forEach(p=>{n[p.key]=p.default!==void 0?typeof p.default=="function"?p.default():p.default:p.type==="dateRange"?[]:""}),t("reset"),t("search",{...n})}return{expanded:a,model:n,collapsible:i,visibleFields:l,controlOf:o,controlProps:r,setValue:s,search:d,reset:c,onEnter:f,t:C}},template:`
3121
+ `};var He=require("vue");var uo={input:Ne,number:ht,select:Qe,date:_e,dateRange:_e,cascader:vt,treeSelect:kt},Ii={name:"DjmQueryFilter",components:{DjmIcon:z},props:{modelValue:{type:Object,default:()=>({})},fields:{type:Array,default:()=>[]},visibleCount:{type:Number,default:3},showActions:{type:Boolean,default:!0},searchText:{type:String,default:""},resetText:{type:String,default:""}},emits:["update:modelValue","search","reset"],setup(e,{emit:t}){let a=(0,He.ref)(!1),i=(0,He.reactive)({...e.modelValue});(0,He.watch)(()=>e.fields,h=>{h.forEach(v=>{i[v.key]===void 0&&v.default!==void 0&&(i[v.key]=typeof v.default=="function"?v.default():v.default)})},{immediate:!0,deep:!0}),(0,He.watch)(()=>e.modelValue,h=>{h&&Object.keys(h).forEach(v=>{i[v]!==h[v]&&(i[v]=h[v])})},{deep:!0}),(0,He.watch)(i,()=>{t("update:modelValue",{...i})},{deep:!0});let n=(0,He.computed)(()=>e.fields.length>e.visibleCount),l=(0,He.computed)(()=>!n.value||a.value?e.fields:e.fields.slice(0,e.visibleCount));function r(h){return uo[h.type]||Ne}function o(h){let v={...h.props||{}};return h.type==="dateRange"&&(v.range=!0,v.panels=1),{...v,options:h.options!==void 0?h.options:v.options,placeholder:h.placeholder!==void 0?h.placeholder:v.placeholder}}function s(h,v){i[h]=v}function d(){t("search",{...i})}function p(h){let v=h.target&&h.target.tagName;v!=="INPUT"&&v!=="TEXTAREA"||h.target.closest(".djm-select-panel, .djm-date-picker-panel, .djm-cascader-panel, .djm-tree-select-panel")||d()}function c(){e.fields.forEach(h=>{i[h.key]=h.default!==void 0?typeof h.default=="function"?h.default():h.default:h.type==="dateRange"?[]:""}),t("reset"),t("search",{...i})}return{expanded:a,model:i,collapsible:n,visibleFields:l,controlOf:r,controlProps:o,setValue:s,search:d,reset:c,onEnter:p,t:C}},template:`
2896
3122
  <div class="djm-query-filter" @keydown.enter="onEnter">
2897
3123
  <div class="djm-query-fields">
2898
3124
  <div v-for="field in visibleFields" :key="field.key" class="djm-query-field">
@@ -2936,7 +3162,7 @@ Minimum version required to store current data is: `+I+`.
2936
3162
  </button>
2937
3163
  </div>
2938
3164
  </div>
2939
- `};var Mn={name:"DjmFilterTags",props:{items:{type:Array,default:()=>[]},clearable:{type:Boolean,default:!0},clearText:{type:String,default:"\u6E05\u7A7A\u7B5B\u9009"}},emits:["remove","clear"],template:`
3165
+ `};var Li={name:"DjmFilterTags",props:{items:{type:Array,default:()=>[]},clearable:{type:Boolean,default:!0},clearText:{type:String,default:"\u6E05\u7A7A\u7B5B\u9009"}},emits:["remove","clear"],template:`
2940
3166
  <div v-if="items.length" class="djm-filter-tags">
2941
3167
  <span v-for="item in items" :key="item.key" class="djm-filter-tag">
2942
3168
  <span class="djm-filter-tag-label">{{ item.label }}</span>
@@ -2952,87 +3178,7 @@ Minimum version required to store current data is: `+I+`.
2952
3178
  {{ clearText }}
2953
3179
  </button>
2954
3180
  </div>
2955
- `};var Ie=require("vue");var Cn={name:"DjmMediaPicker",components:{DjmModal:bt,DjmPagination:Ut,DjmIcon:L},props:{modelValue:{type:[Array,String,Number],default:""},items:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},limit:{type:Number,default:0},accept:{type:String,default:""},title:{type:String,default:""},triggerText:{type:String,default:""},pageSize:{type:Number,default:12},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(e,{emit:t}){let a=(0,Ie.ref)(!1),n=(0,Ie.ref)(""),i=(0,Ie.ref)(1),l=(0,Ie.ref)([]),o=(0,Ie.computed)(()=>e.multiple?Array.isArray(e.modelValue)?e.modelValue:[]:e.modelValue===""||e.modelValue===null||e.modelValue===void 0?[]:[e.modelValue]);function r(b){return b.type?b.type==="image":/\.(png|jpe?g|gif|webp|svg|avif)$/i.test(b.url||"")}let s=(0,Ie.computed)(()=>{let b=n.value.trim().toLowerCase();return e.items.filter(j=>!(e.accept==="image"&&!r(j)||e.accept==="file"&&r(j)||b&&!String(j.name||"").toLowerCase().includes(b)))}),d=(0,Ie.computed)(()=>{let b=(i.value-1)*e.pageSize;return s.value.slice(b,b+e.pageSize)});(0,Ie.watch)(n,()=>{i.value=1}),(0,Ie.watch)(()=>s.value.length,()=>{let b=Math.max(1,Math.ceil(s.value.length/e.pageSize));i.value>b&&(i.value=b)});function f(b){return l.value.includes(b)}function c(){return e.limit>0&&l.value.length>=e.limit}function p(b){if(e.multiple){if(f(b.id)){l.value=l.value.filter(j=>j!==b.id);return}if(c())return;l.value=[...l.value,b.id];return}l.value=[b.id]}function g(){e.disabled||(l.value=[...o.value],n.value="",i.value=1,a.value=!0)}function m(){let b=e.multiple?[...l.value]:l.value[0]!==void 0?l.value[0]:"";t("update:modelValue",b),t("change",b),a.value=!1}function h(){l.value=[...o.value],a.value=!1}return{open:a,keyword:n,page:i,temp:l,selectedIds:o,filtered:s,paged:d,isImage:r,isChecked:f,atLimit:c,toggle:p,openPanel:g,commit:m,cancel:h,t:C}},template:`
2956
- <span class="djm-media-picker">
2957
- <slot name="trigger" :open="openPanel" :count="selectedIds.length">
2958
- <button
2959
- class="djm-btn"
2960
- type="button"
2961
- :disabled="disabled"
2962
- @click="openPanel"
2963
- >{{ triggerText || t('mediaPicker.select') }}<span v-if="selectedIds.length" class="djm-media-picker-count">{{ selectedIds.length }}</span></button>
2964
- </slot>
2965
-
2966
- <DjmModal
2967
- :model-value="open"
2968
- :title="title || t('mediaPicker.title')"
2969
- width="760px"
2970
- @update:model-value="cancel"
2971
- >
2972
- <div class="djm-media-toolbar">
2973
- <label class="djm-media-search">
2974
- <DjmIcon name="search" :size="13" />
2975
- <input
2976
- v-model="keyword"
2977
- class="djm-media-search-input"
2978
- type="text"
2979
- :placeholder="t('mediaPicker.search')"
2980
- :aria-label="t('mediaPicker.search')"
2981
- />
2982
- </label>
2983
- <span class="djm-media-toolbar-slot">
2984
- <slot name="toolbar"></slot>
2985
- </span>
2986
- </div>
2987
-
2988
- <div class="djm-media-grid" role="listbox" :aria-multiselectable="multiple ? 'true' : 'false'">
2989
- <div
2990
- v-for="item in paged"
2991
- :key="item.id"
2992
- class="djm-media-item"
2993
- :class="{
2994
- 'djm-is-checked': isChecked(item.id),
2995
- 'djm-is-disabled': multiple && atLimit() && !isChecked(item.id)
2996
- }"
2997
- role="option"
2998
- tabindex="0"
2999
- :aria-selected="String(isChecked(item.id))"
3000
- @click="toggle(item)"
3001
- @keydown.enter.prevent="toggle(item)"
3002
- @keydown.space.prevent="toggle(item)"
3003
- >
3004
- <div class="djm-media-thumb">
3005
- <img v-if="isImage(item)" :src="item.url" :alt="item.name" loading="lazy" />
3006
- <DjmIcon v-else name="folder" :size="26" />
3007
- <span v-if="isChecked(item.id)" class="djm-media-check">
3008
- <DjmIcon name="check" :size="11" />
3009
- </span>
3010
- </div>
3011
- <div class="djm-media-name" :title="item.name">{{ item.name }}</div>
3012
- </div>
3013
- <div v-if="!paged.length" class="djm-media-empty">{{ t('mediaPicker.empty') }}</div>
3014
- </div>
3015
-
3016
- <div class="djm-media-foot">
3017
- <span class="djm-media-total">
3018
- {{ t('mediaPicker.total', { total: filtered.length }) }}
3019
- <em v-if="multiple && limit > 0">{{ t('mediaPicker.limit', { limit }) }}</em>
3020
- </span>
3021
- <DjmPagination
3022
- v-if="filtered.length > pageSize"
3023
- v-model:page="page"
3024
- :page-size="pageSize"
3025
- :total="filtered.length"
3026
- />
3027
- </div>
3028
-
3029
- <template #footer>
3030
- <button class="djm-btn" type="button" @click="cancel">{{ t('common.cancel') }}</button>
3031
- <button class="djm-btn djm-btn-primary" type="button" @click="commit">{{ t('common.confirm') }}</button>
3032
- </template>
3033
- </DjmModal>
3034
- </span>
3035
- `};var Et=require("vue");function Li(e){return(e||[]).map(t=>({...t,cards:(t.cards||[]).slice()}))}var En={name:"DjmKanban",components:{DjmIcon:L,DjmAvatar:Ce},props:{columns:{type:Array,default:()=>[]},draggable:{type:Boolean,default:!0},showAddCard:{type:Boolean,default:!0},addCardText:{type:String,default:""}},emits:["update:columns","change","card-move","card-click","card-add"],setup(e,{emit:t}){let a=(0,Et.ref)(Li(e.columns));(0,Et.watch)(()=>e.columns,j=>{a.value=Li(j)});let n=(0,Et.ref)(null),i=(0,Et.ref)(null);function l(j){return a.value.find(w=>w.key===j)}function o(j,w,y){e.draggable&&(n.value={card:j,fromKey:w},y.dataTransfer&&(y.dataTransfer.effectAllowed="move",y.dataTransfer.setData("text/plain",String(j.id))))}function r(j,w,y){n.value&&(y.preventDefault(),y.stopPropagation(),y.dataTransfer&&(y.dataTransfer.dropEffect="move"),i.value={columnKey:j,index:w})}function s(j,w){if(!n.value)return;w.preventDefault(),w.dataTransfer&&(w.dataTransfer.dropEffect="move");let y=l(j);i.value={columnKey:j,index:y?y.cards.length:0}}function d(j){if(!n.value||!i.value)return;j.preventDefault();let{card:w,fromKey:y}=n.value,{columnKey:u,index:v}=i.value,T=l(y),D=l(u);if(!T||!D){f();return}let x=T.cards.findIndex(M=>M===w||M.id===w.id);if(x===-1){f();return}let z=v;y===u&&x<v&&(z=v-1),T.cards.splice(x,1),D.cards.splice(z,0,w);let S=a.value.slice();t("update:columns",S),t("change",S),t("card-move",{card:w,fromKey:y,toKey:u,toIndex:z}),f()}function f(){n.value=null,i.value=null}function c(j,w){let y=i.value;return!!(y&&y.columnKey===j&&y.index===w)}function p(j){let w=i.value;return!!(w&&w.columnKey===j.key&&w.index===j.cards.length)}function g(j){return!!(n.value&&n.value.card===j)}function m(j){return j.wipLimit>0&&j.cards.length>j.wipLimit}function h(j,w){t("card-click",j,w)}function b(j){t("card-add",j)}return{inner:a,dragCard:n,dropTarget:i,onDragStart:o,onCardDragOver:r,onColumnDragOver:s,onDrop:d,resetDrag:f,isDropBefore:c,isDropEnd:p,isDragging:g,wipOver:m,onCardClick:h,onCardAdd:b,t:C}},template:`
3181
+ `};var At=require("vue");function Vn(e){return(e||[]).map(t=>({...t,cards:(t.cards||[]).slice()}))}var Ai={name:"DjmKanban",components:{DjmIcon:z,DjmAvatar:Le},props:{columns:{type:Array,default:()=>[]},draggable:{type:Boolean,default:!0},showAddCard:{type:Boolean,default:!0},addCardText:{type:String,default:""}},emits:["update:columns","change","card-move","card-click","card-add"],setup(e,{emit:t}){let a=(0,At.ref)(Vn(e.columns));(0,At.watch)(()=>e.columns,j=>{a.value=Vn(j)});let i=(0,At.ref)(null),n=(0,At.ref)(null);function l(j){return a.value.find(w=>w.key===j)}function r(j,w,b){e.draggable&&(i.value={card:j,fromKey:w},b.dataTransfer&&(b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/plain",String(j.id))))}function o(j,w,b){i.value&&(b.preventDefault(),b.stopPropagation(),b.dataTransfer&&(b.dataTransfer.dropEffect="move"),n.value={columnKey:j,index:w})}function s(j,w){if(!i.value)return;w.preventDefault(),w.dataTransfer&&(w.dataTransfer.dropEffect="move");let b=l(j);n.value={columnKey:j,index:b?b.cards.length:0}}function d(j){if(!i.value||!n.value)return;j.preventDefault();let{card:w,fromKey:b}=i.value,{columnKey:m,index:f}=n.value,E=l(b),D=l(m);if(!E||!D){p();return}let k=E.cards.findIndex(T=>T===w||T.id===w.id);if(k===-1){p();return}let B=f;b===m&&k<f&&(B=f-1),E.cards.splice(k,1),D.cards.splice(B,0,w);let S=a.value.slice();t("update:columns",S),t("change",S),t("card-move",{card:w,fromKey:b,toKey:m,toIndex:B}),p()}function p(){i.value=null,n.value=null}function c(j,w){let b=n.value;return!!(b&&b.columnKey===j&&b.index===w)}function h(j){let w=n.value;return!!(w&&w.columnKey===j.key&&w.index===j.cards.length)}function v(j){return!!(i.value&&i.value.card===j)}function u(j){return j.wipLimit>0&&j.cards.length>j.wipLimit}function g(j,w){t("card-click",j,w)}function y(j){t("card-add",j)}return{inner:a,dragCard:i,dropTarget:n,onDragStart:r,onCardDragOver:o,onColumnDragOver:s,onDrop:d,resetDrag:p,isDropBefore:c,isDropEnd:h,isDragging:v,wipOver:u,onCardClick:g,onCardAdd:y,t:C}},template:`
3036
3182
  <div class="djm-kanban" role="list" :aria-label="t('kanban.board')">
3037
3183
  <section
3038
3184
  v-for="column in inner"
@@ -3097,7 +3243,7 @@ Minimum version required to store current data is: `+I+`.
3097
3243
  </footer>
3098
3244
  </section>
3099
3245
  </div>
3100
- `};var In=require("vue");var Ql=["png","jpg","jpeg","gif","webp","bmp","svg"];function Zl(e){if(e.ext)return String(e.ext).toLowerCase();let t=e.name||"",a=t.lastIndexOf(".");return a===-1?"":t.slice(a+1).toLowerCase()}var Ln={name:"DjmAttachmentList",components:{DjmIcon:L},props:{files:{type:Array,default:()=>[]},mode:{type:String,default:"list"},removable:{type:Boolean,default:!0},downloadable:{type:Boolean,default:!0},previewable:{type:Boolean,default:!0},autoDownload:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["preview","download","remove"],setup(e,{emit:t}){let a=(0,In.computed)(()=>e.files.map((r,s)=>{let d=Zl(r),f=r.type==="image"||Ql.includes(d);return{...r,_key:r.uid!==void 0?r.uid:s,_ext:d,_isImage:f}})),n=(0,In.computed)(()=>e.emptyText||C("attachment.empty"));function i(r){t("preview",r)}function l(r){if(t("download",r),e.autoDownload&&r.url){let s=document.createElement("a");s.href=r.url,s.download=r.name||"",s.rel="noopener",document.body.appendChild(s),s.click(),s.remove()}}function o(r){t("remove",r)}return{list:a,emptyLabel:n,onPreview:i,onDownload:l,onRemove:o,formatFileSize:Ct,t:C}},template:`
3246
+ `};var zi=require("vue");var mo=["png","jpg","jpeg","gif","webp","bmp","svg"];function fo(e){if(e.ext)return String(e.ext).toLowerCase();let t=e.name||"",a=t.lastIndexOf(".");return a===-1?"":t.slice(a+1).toLowerCase()}var Pi={name:"DjmAttachmentList",components:{DjmIcon:z},props:{files:{type:Array,default:()=>[]},mode:{type:String,default:"list"},removable:{type:Boolean,default:!0},downloadable:{type:Boolean,default:!0},previewable:{type:Boolean,default:!0},autoDownload:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["preview","download","remove"],setup(e,{emit:t}){let a=(0,zi.computed)(()=>e.files.map((o,s)=>{let d=fo(o),p=o.type==="image"||mo.includes(d);return{...o,_key:o.uid!==void 0?o.uid:s,_ext:d,_isImage:p}})),i=(0,zi.computed)(()=>e.emptyText||C("attachment.empty"));function n(o){t("preview",o)}function l(o){if(t("download",o),e.autoDownload&&o.url){let s=document.createElement("a");s.href=o.url,s.download=o.name||"",s.rel="noopener",document.body.appendChild(s),s.click(),s.remove()}}function r(o){t("remove",o)}return{list:a,emptyLabel:i,onPreview:n,onDownload:l,onRemove:r,formatFileSize:Lt,t:C}},template:`
3101
3247
  <div class="djm-attachment" :class="'djm-attachment-' + mode">
3102
3248
  <p v-if="!list.length" class="djm-attachment-empty">{{ emptyLabel }}</p>
3103
3249
 
@@ -3170,7 +3316,7 @@ Minimum version required to store current data is: `+I+`.
3170
3316
  </figure>
3171
3317
  </div>
3172
3318
  </div>
3173
- `};var kt=require("vue");var Ai={info:{icon:"info",cls:"djm-is-info"},success:{icon:"check",cls:"djm-is-success"},warning:{icon:"alert",cls:"djm-is-warning"},error:{icon:"alert",cls:"djm-is-error"}},An={name:"DjmNotification",components:{DjmIcon:L,DjmAvatar:Ce},props:{items:{type:Array,default:()=>[]},showToolbar:{type:Boolean,default:!0},removable:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["click","read","read-all","remove","clear"],setup(e,{emit:t}){let a=(0,kt.computed)(()=>e.items.filter(c=>!c.read).length),n=(0,kt.computed)(()=>e.emptyText||C("notification.empty"));function i(c){return Ai[c.type]||Ai.info}function l(c){t("click",c),c.read||t("read",c)}function o(){t("read-all")}let r=(0,kt.ref)(!1),s=null;function d(){if(!r.value){r.value=!0,s=window.setTimeout(()=>{r.value=!1},3e3);return}window.clearTimeout(s),r.value=!1,t("clear")}(0,kt.onBeforeUnmount)(()=>window.clearTimeout(s));function f(c){t("remove",c)}return{unreadCount:a,emptyLabel:n,clearing:r,typeOf:i,onClick:l,onReadAll:o,onClear:d,onRemove:f,t:C}},template:`
3319
+ `};var Dt=require("vue");var Hn={info:{icon:"info",cls:"djm-is-info"},success:{icon:"check",cls:"djm-is-success"},warning:{icon:"alert",cls:"djm-is-warning"},error:{icon:"alert",cls:"djm-is-error"}},Bi={name:"DjmNotification",components:{DjmIcon:z,DjmAvatar:Le},props:{items:{type:Array,default:()=>[]},showToolbar:{type:Boolean,default:!0},removable:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["click","read","read-all","remove","clear"],setup(e,{emit:t}){let a=(0,Dt.computed)(()=>e.items.filter(c=>!c.read).length),i=(0,Dt.computed)(()=>e.emptyText||C("notification.empty"));function n(c){return Hn[c.type]||Hn.info}function l(c){t("click",c),c.read||t("read",c)}function r(){t("read-all")}let o=(0,Dt.ref)(!1),s=null;function d(){if(!o.value){o.value=!0,s=window.setTimeout(()=>{o.value=!1},3e3);return}window.clearTimeout(s),o.value=!1,t("clear")}(0,Dt.onBeforeUnmount)(()=>window.clearTimeout(s));function p(c){t("remove",c)}return{unreadCount:a,emptyLabel:i,clearing:o,typeOf:n,onClick:l,onReadAll:r,onClear:d,onRemove:p,t:C}},template:`
3174
3320
  <div class="djm-notification">
3175
3321
  <header v-if="showToolbar" class="djm-notification-bar">
3176
3322
  <span class="djm-notification-count">
@@ -3225,11 +3371,11 @@ Minimum version required to store current data is: `+I+`.
3225
3371
  </li>
3226
3372
  </ul>
3227
3373
  </div>
3228
- `};var Pi=require("vue");var eo={xs:"24px",sm:"28px",md:"30px",lg:"34px"},Pn={name:"DjmConfigProvider",props:{locale:{type:String,default:""},size:{type:String,default:""}},setup(e){return e.locale&&dt(e.locale),(0,Pi.watch)(()=>e.locale,t=>{t&&dt(t)}),{providerStyle(){let t=eo[e.size];return t?{"--djm-control-h":t}:{}}}},template:`
3374
+ `};var On=require("vue");var po={xs:"24px",sm:"28px",md:"30px",lg:"34px"},Ni={name:"DjmConfigProvider",props:{locale:{type:String,default:""},size:{type:String,default:""}},setup(e){return e.locale&&mt(e.locale),(0,On.watch)(()=>e.locale,t=>{t&&mt(t)}),{providerStyle(){let t=po[e.size];return t?{"--djm-control-h":t}:{}}}},template:`
3229
3375
  <div class="djm-config-provider" :style="providerStyle()">
3230
3376
  <slot></slot>
3231
3377
  </div>
3232
- `};var oe=require("vue");var to=0,ot=e=>String(e).padStart(2,"0");function Zt(e,t,a){return`${e}-${ot(t+1)}-${ot(a)}`}function zi(e){if(!e)return{date:"",time:""};let[t="",a=""]=String(e).split(" ");return{date:t,time:a}}function ea(e){let t=String(e||"").split("-").map(Number);return t.length!==3||t.some(a=>!Number.isFinite(a))?null:{year:t[0],month:t[1]-1,day:t[2]}}var zn={name:"DjmDateTimePicker",components:{DjmIcon:L},props:{modelValue:{type:String,default:""},format:{type:String,default:"YYYY-MM-DD HH:mm"},placeholder:{type:String,default:""},min:{type:String,default:""},max:{type:String,default:""},minuteStep:{type:Number,default:1},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},disabledDate:{type:Function,default:null}},emits:["update:modelValue","change","visible-change"],setup(e,{emit:t}){let a=(0,oe.ref)(!1);(0,oe.watch)(a,P=>t("visible-change",P));let n=(0,oe.ref)(null),i=(0,oe.ref)(null),l="djm-datetime-panel-"+ ++to,o=(0,oe.ref)({...ee}),r=null,s=new Date,d=Zt(s.getFullYear(),s.getMonth(),s.getDate()),f=(0,oe.computed)(()=>e.format.indexOf("ss")>-1),c=(0,oe.ref)({date:"",h:"00",m:"00",s:"00"}),p=ea(zi(e.modelValue).date),g=(0,oe.ref)(p?p.year:s.getFullYear()),m=(0,oe.ref)(p?p.month:s.getMonth()),h=(0,oe.computed)(()=>e.modelValue||""),b=(0,oe.computed)(()=>e.placeholder||C("dateTimePicker.placeholder")),j=(0,oe.computed)(()=>C("datePicker.weeks").split(",")),w=(0,oe.computed)(()=>Array.from({length:24},(P,O)=>ot(O))),y=(0,oe.computed)(()=>{let P=[];for(let O=0;O<60;O+=Math.max(1,e.minuteStep))P.push(ot(O));return P}),u=(0,oe.computed)(()=>Array.from({length:60},(P,O)=>ot(O))),v=(0,oe.computed)(()=>{let P=[{key:"h",list:w.value},{key:"m",list:y.value}];return f.value&&P.push({key:"s",list:u.value}),P}),T=(0,oe.computed)(()=>C("datePicker.title",{year:g.value,month:m.value+1})),D=(0,oe.computed)(()=>{let O=(new Date(g.value,m.value,1).getDay()+6)%7,W=new Date(g.value,m.value,1-O);return Array.from({length:42},(re,k)=>{let E=new Date(W.getFullYear(),W.getMonth(),W.getDate()+k),B=Zt(E.getFullYear(),E.getMonth(),E.getDate());return{key:B,day:E.getDate(),outside:E.getMonth()!==m.value,today:B===d,selected:B===c.value.date,disabled:x(B)}})});function x(P){return e.min&&P<e.min.slice(0,10)||e.max&&P>e.max.slice(0,10)?!0:typeof e.disabledDate=="function"?!!e.disabledDate(P):!1}function z(){let{date:P,time:O}=zi(e.modelValue),W=S(P||d),[re="00",k="00",E="00"]=(O||"00:00:00").split(":");c.value={date:W,h:re,m:k,s:E};let B=ea(W);B&&(g.value=B.year,m.value=B.month)}function S(P){if(!x(P))return P;for(let O=1;O<=366;O++){let W=M(P,O);if(!x(W))return W}return P}function M(P,O){let W=ea(P);if(!W)return P;let re=new Date(W.year,W.month,W.day+O);return Zt(re.getFullYear(),re.getMonth(),re.getDate())}function I(){e.disabled||(z(),a.value=!0,r=J({root:()=>n.value,panel:()=>i.value,onClose:V,onReposition:A}),requestAnimationFrame(A))}function A(){if(!a.value||!n.value)return;let P=n.value.getBoundingClientRect(),O=i.value?i.value.offsetHeight:360,W=i.value?i.value.offsetWidth:480;o.value=ye({rect:P,flip:ge(P,O),clampWidth:W})}function V(){a.value&&(a.value=!1,o.value={...ee},r&&(r(),r=null))}function H(){a.value?V():I()}function G(){m.value===0?(m.value=11,g.value-=1):m.value-=1}function Q(){m.value===11?(m.value=0,g.value+=1):m.value+=1}function R(P){P.disabled||(c.value={...c.value,date:P.key})}function F(P,O){c.value={...c.value,[P]:O}}function U(){let P=f.value?`${c.value.h}:${c.value.m}:${c.value.s}`:`${c.value.h}:${c.value.m}`;return`${c.value.date} ${P}`}function ae(){if(x(c.value.date))return;let P=U();t("update:modelValue",P),t("change",P),V()}function Z(){let P=new Date,O=Zt(P.getFullYear(),P.getMonth(),P.getDate());if(x(O))return;c.value={date:O,h:ot(P.getHours()),m:ot(P.getMinutes()),s:ot(P.getSeconds())};let W=ea(c.value.date);g.value=W.year,m.value=W.month}function de(){t("update:modelValue",""),t("change",""),V()}return(0,oe.onBeforeUnmount)(()=>{r&&(r(),r=null)}),{open:a,root:n,panel:i,panelId:l,panelStyle:o,draft:c,hasSeconds:f,displayText:h,placeholderText:b,weeks:j,monthLabel:T,cells:D,timeCols:v,toggle:H,closePanel:V,prevMonth:G,nextMonth:Q,pickDate:R,pickTime:F,confirm:ae,pickNow:Z,clear:de,t:C}},template:`
3378
+ `};var pe=require("vue");var ho=0,dt=e=>String(e).padStart(2,"0");function na(e,t,a){return`${e}-${dt(t+1)}-${dt(a)}`}function $n(e){if(!e)return{date:"",time:""};let[t="",a=""]=String(e).split(" ");return{date:t,time:a}}function la(e){let t=String(e||"").split("-").map(Number);return t.length!==3||t.some(a=>!Number.isFinite(a))?null:{year:t[0],month:t[1]-1,day:t[2]}}var Ri={name:"DjmDateTimePicker",components:{DjmIcon:z},props:{modelValue:{type:String,default:""},format:{type:String,default:"YYYY-MM-DD HH:mm"},placeholder:{type:String,default:""},min:{type:String,default:""},max:{type:String,default:""},minuteStep:{type:Number,default:1},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},disabledDate:{type:Function,default:null}},emits:["update:modelValue","change","visible-change"],setup(e,{emit:t}){let a=(0,pe.ref)(!1);(0,pe.watch)(a,P=>t("visible-change",P));let i=(0,pe.ref)(null),n=(0,pe.ref)(null),l="djm-datetime-panel-"+ ++ho,r=(0,pe.ref)({...oe}),o=null,s=new Date,d=na(s.getFullYear(),s.getMonth(),s.getDate()),p=(0,pe.computed)(()=>e.format.indexOf("ss")>-1),c=(0,pe.ref)({date:"",h:"00",m:"00",s:"00"}),h=la($n(e.modelValue).date),v=(0,pe.ref)(h?h.year:s.getFullYear()),u=(0,pe.ref)(h?h.month:s.getMonth()),g=(0,pe.computed)(()=>e.modelValue||""),y=(0,pe.computed)(()=>e.placeholder||C("dateTimePicker.placeholder")),j=(0,pe.computed)(()=>C("datePicker.weeks").split(",")),w=(0,pe.computed)(()=>Array.from({length:24},(P,K)=>dt(K))),b=(0,pe.computed)(()=>{let P=[];for(let K=0;K<60;K+=Math.max(1,e.minuteStep))P.push(dt(K));return P}),m=(0,pe.computed)(()=>Array.from({length:60},(P,K)=>dt(K))),f=(0,pe.computed)(()=>{let P=[{key:"h",list:w.value},{key:"m",list:b.value}];return p.value&&P.push({key:"s",list:m.value}),P}),E=(0,pe.computed)(()=>C("datePicker.title",{year:v.value,month:u.value+1})),D=(0,pe.computed)(()=>{let K=(new Date(v.value,u.value,1).getDay()+6)%7,_=new Date(v.value,u.value,1-K);return Array.from({length:42},(ue,x)=>{let I=new Date(_.getFullYear(),_.getMonth(),_.getDate()+x),N=na(I.getFullYear(),I.getMonth(),I.getDate());return{key:N,day:I.getDate(),outside:I.getMonth()!==u.value,today:N===d,selected:N===c.value.date,disabled:k(N)}})});function k(P){return e.min&&P<e.min.slice(0,10)||e.max&&P>e.max.slice(0,10)?!0:typeof e.disabledDate=="function"?!!e.disabledDate(P):!1}function B(){let{date:P,time:K}=$n(e.modelValue),_=S(P||d),[ue="00",x="00",I="00"]=(K||"00:00:00").split(":");c.value={date:_,h:ue,m:x,s:I};let N=la(_);N&&(v.value=N.year,u.value=N.month)}function S(P){if(!k(P))return P;for(let K=1;K<=366;K++){let _=T(P,K);if(!k(_))return _}return P}function T(P,K){let _=la(P);if(!_)return P;let ue=new Date(_.year,_.month,_.day+K);return na(ue.getFullYear(),ue.getMonth(),ue.getDate())}function L(){e.disabled||(B(),a.value=!0,o=ie({root:()=>i.value,panel:()=>n.value,onClose:O,onReposition:A}),requestAnimationFrame(A))}function A(){if(!a.value||!i.value)return;let P=i.value.getBoundingClientRect(),K=n.value?n.value.offsetHeight:360,_=n.value?n.value.offsetWidth:480;r.value=xe({rect:P,flip:je(P,K),clampWidth:_})}function O(){a.value&&(a.value=!1,r.value={...oe},o&&(o(),o=null))}function $(){a.value?O():L()}function Q(){u.value===0?(u.value=11,v.value-=1):u.value-=1}function te(){u.value===11?(u.value=0,v.value+=1):u.value+=1}function H(P){P.disabled||(c.value={...c.value,date:P.key})}function U(P,K){c.value={...c.value,[P]:K}}function Y(){let P=p.value?`${c.value.h}:${c.value.m}:${c.value.s}`:`${c.value.h}:${c.value.m}`;return`${c.value.date} ${P}`}function le(){if(k(c.value.date))return;let P=Y();t("update:modelValue",P),t("change",P),O()}function ae(){let P=new Date,K=na(P.getFullYear(),P.getMonth(),P.getDate());if(k(K))return;c.value={date:K,h:dt(P.getHours()),m:dt(P.getMinutes()),s:dt(P.getSeconds())};let _=la(c.value.date);v.value=_.year,u.value=_.month}function de(){t("update:modelValue",""),t("change",""),O()}return(0,pe.onBeforeUnmount)(()=>{o&&(o(),o=null)}),{open:a,root:i,panel:n,panelId:l,panelStyle:r,draft:c,hasSeconds:p,displayText:g,placeholderText:y,weeks:j,monthLabel:E,cells:D,timeCols:f,toggle:$,closePanel:O,prevMonth:Q,nextMonth:te,pickDate:H,pickTime:U,confirm:le,pickNow:ae,clear:de,t:C}},template:`
3233
3379
  <div class="djm-datetime" ref="root">
3234
3380
  <div
3235
3381
  class="djm-input djm-datetime-trigger"
@@ -3318,7 +3464,7 @@ Minimum version required to store current data is: `+I+`.
3318
3464
  </div>
3319
3465
  </Teleport>
3320
3466
  </div>
3321
- `};var Se=require("vue");var Bn={name:"DjmVirtualList",props:{items:{type:Array,default:()=>[]},itemHeight:{type:[Number,Function],default:40},height:{type:[Number,String],default:320},overscan:{type:Number,default:4},bottomThreshold:{type:Number,default:40},keyField:{type:String,default:"id"}},emits:["scroll","reach-bottom","item-click"],setup(e,{emit:t,expose:a}){let n=(0,Se.ref)(null),i=(0,Se.ref)(0),l=(0,Se.ref)(typeof e.height=="number"?e.height:320),o=!1;function r(w,y){return typeof e.itemHeight=="function"?Math.max(1,Number(e.itemHeight(w,y))||1):Math.max(1,e.itemHeight)}let s=(0,Se.computed)(()=>{let w=[0],y=0;return e.items.forEach((u,v)=>{y+=r(u,v),w.push(y)}),w}),d=(0,Se.computed)(()=>s.value[s.value.length-1]);function f(w){let y=s.value,u=0,v=y.length-1;for(;u<v;){let T=u+v>>1;y[T]<w?u=T+1:v=T}return Math.max(0,u-1)}let c=(0,Se.computed)(()=>{let w=e.items.length;if(!w)return{start:0,end:0};let y=Math.max(0,f(i.value)-e.overscan),u=y,v=i.value+l.value+e.overscan*40;for(;u<w&&s.value[u]<v;)u+=1;return{start:y,end:Math.min(w,u+e.overscan)}}),p=(0,Se.computed)(()=>{let{start:w,end:y}=c.value;return e.items.slice(w,y).map((u,v)=>{let T=w+v;return{item:u,index:T,key:u&&u[e.keyField]!==void 0?u[e.keyField]:T,top:s.value[T],height:r(u,T)}})});function g(w){let y=w.target;i.value=y.scrollTop,t("scroll",{scrollTop:y.scrollTop});let u=y.scrollTop+y.clientHeight>=d.value-e.bottomThreshold;u&&!o?(o=!0,t("reach-bottom")):u||(o=!1)}function m(w,y="auto"){let u=n.value;if(!u)return;let v=s.value[Math.max(0,Math.min(w,e.items.length-1))],T=s.value[Math.min(w+1,e.items.length)];y==="top"?u.scrollTop=v:y==="bottom"?u.scrollTop=T-u.clientHeight:v<u.scrollTop?u.scrollTop=v:T>u.scrollTop+u.clientHeight&&(u.scrollTop=T-u.clientHeight)}(0,Se.watch)(()=>e.height,()=>{n.value&&(l.value=n.value.clientHeight)});function h(){n.value&&(l.value=n.value.clientHeight)}let b=null;(0,Se.onMounted)(()=>{h(),window.ResizeObserver&&n.value&&(b=new ResizeObserver(()=>h()),b.observe(n.value))}),(0,Se.onBeforeUnmount)(()=>{b&&b.disconnect()});function j(w){t("item-click",w.item,w.index)}return a({scrollToIndex:m,measure:h}),{viewport:n,totalHeight:d,visibleRows:p,onScroll:g,onItemClick:j,scrollToIndex:m,measure:h,t:C}},template:`
3467
+ `};var Ce=require("vue");var Vi={name:"DjmVirtualList",props:{items:{type:Array,default:()=>[]},itemHeight:{type:[Number,Function],default:40},height:{type:[Number,String],default:320},overscan:{type:Number,default:4},bottomThreshold:{type:Number,default:40},keyField:{type:String,default:"id"}},emits:["scroll","reach-bottom","item-click"],setup(e,{emit:t,expose:a}){let i=(0,Ce.ref)(null),n=(0,Ce.ref)(0),l=(0,Ce.ref)(typeof e.height=="number"?e.height:320),r=!1;function o(w,b){return typeof e.itemHeight=="function"?Math.max(1,Number(e.itemHeight(w,b))||1):Math.max(1,e.itemHeight)}let s=(0,Ce.computed)(()=>{let w=[0],b=0;return e.items.forEach((m,f)=>{b+=o(m,f),w.push(b)}),w}),d=(0,Ce.computed)(()=>s.value[s.value.length-1]);function p(w){let b=s.value,m=0,f=b.length-1;for(;m<f;){let E=m+f>>1;b[E]<w?m=E+1:f=E}return Math.max(0,m-1)}let c=(0,Ce.computed)(()=>{let w=e.items.length;if(!w)return{start:0,end:0};let b=Math.max(0,p(n.value)-e.overscan),m=b,f=n.value+l.value+e.overscan*40;for(;m<w&&s.value[m]<f;)m+=1;return{start:b,end:Math.min(w,m+e.overscan)}}),h=(0,Ce.computed)(()=>{let{start:w,end:b}=c.value;return e.items.slice(w,b).map((m,f)=>{let E=w+f;return{item:m,index:E,key:m&&m[e.keyField]!==void 0?m[e.keyField]:E,top:s.value[E],height:o(m,E)}})});function v(w){let b=w.target;n.value=b.scrollTop,t("scroll",{scrollTop:b.scrollTop});let m=b.scrollTop+b.clientHeight>=d.value-e.bottomThreshold;m&&!r?(r=!0,t("reach-bottom")):m||(r=!1)}function u(w,b="auto"){let m=i.value;if(!m)return;let f=s.value[Math.max(0,Math.min(w,e.items.length-1))],E=s.value[Math.min(w+1,e.items.length)];b==="top"?m.scrollTop=f:b==="bottom"?m.scrollTop=E-m.clientHeight:f<m.scrollTop?m.scrollTop=f:E>m.scrollTop+m.clientHeight&&(m.scrollTop=E-m.clientHeight)}(0,Ce.watch)(()=>e.height,()=>{i.value&&(l.value=i.value.clientHeight)});function g(){i.value&&(l.value=i.value.clientHeight)}let y=null;(0,Ce.onMounted)(()=>{g(),window.ResizeObserver&&i.value&&(y=new ResizeObserver(()=>g()),y.observe(i.value))}),(0,Ce.onBeforeUnmount)(()=>{y&&y.disconnect()});function j(w){t("item-click",w.item,w.index)}return a({scrollToIndex:u,measure:g}),{viewport:i,totalHeight:d,visibleRows:h,onScroll:v,onItemClick:j,scrollToIndex:u,measure:g,t:C}},template:`
3322
3468
  <div
3323
3469
  class="djm-vlist"
3324
3470
  ref="viewport"
@@ -3341,7 +3487,7 @@ Minimum version required to store current data is: `+I+`.
3341
3487
  <slot name="empty">{{ t('virtualList.empty') }}</slot>
3342
3488
  </div>
3343
3489
  </div>
3344
- `};var Nn=require("vue");var Rn={name:"DjmBatchBar",props:{count:{type:Number,default:0},total:{type:Number,default:0},label:{type:String,default:""},clearable:{type:Boolean,default:!0},fixed:{type:Boolean,default:!1}},emits:["clear","select-all"],setup(e,{emit:t}){let a=(0,Nn.computed)(()=>e.label||C("batchBar.selected",{count:e.count})),n=(0,Nn.computed)(()=>e.total>e.count);return{text:a,canSelectAll:n,onClear:()=>t("clear"),onSelectAll:()=>t("select-all"),t:C}},template:`
3490
+ `};var Hi=require("vue");var Oi={name:"DjmBatchBar",props:{count:{type:Number,default:0},total:{type:Number,default:0},label:{type:String,default:""},clearable:{type:Boolean,default:!0},fixed:{type:Boolean,default:!1}},emits:["clear","select-all"],setup(e,{emit:t}){let a=(0,Hi.computed)(()=>e.label||C("batchBar.selected",{count:e.count})),i=(0,Hi.computed)(()=>e.total>e.count);return{text:a,canSelectAll:i,onClear:()=>t("clear"),onSelectAll:()=>t("select-all"),t:C}},template:`
3345
3491
  <div v-if="count > 0" class="djm-batch-bar" :class="{ 'djm-is-fixed': fixed }" role="region" :aria-label="text">
3346
3492
  <span class="djm-batch-info">
3347
3493
  <strong class="djm-batch-count">{{ text }}</strong>
@@ -3356,7 +3502,7 @@ Minimum version required to store current data is: `+I+`.
3356
3502
  {{ t('batchBar.clear') }}
3357
3503
  </button>
3358
3504
  </div>
3359
- `};var De=require("vue");function ao(e,t){if(!t)return!0;let a="."+String(e).split(".").pop().toLowerCase();return t.split(",").map(n=>n.trim().toLowerCase()).some(n=>n===a||n==="*")}var Vn={name:"DjmImportWizard",components:{DjmIcon:L},props:{step:{type:Number,default:1},accept:{type:String,default:".csv,.xlsx,.xls"},maxSize:{type:Number,default:10},columns:{type:Array,default:()=>[]},fields:{type:Array,default:()=>[]},mapping:{type:Object,default:()=>({})},result:{type:Object,default:()=>({})},loading:{type:Boolean,default:!1}},emits:["update:step","update:mapping","file-change","submit","retry"],setup(e,{emit:t}){let a=(0,De.ref)(e.step||1);(0,De.watch)(()=>e.step,v=>{v&&(a.value=v)});let n=(0,De.ref)(null),i=(0,De.ref)(""),l=(0,De.ref)(""),o=(0,De.ref)(null),r=(0,De.ref)({...e.mapping});(0,De.watch)(()=>e.mapping,v=>{r.value={...v}},{deep:!0});function s(v){a.value=v,t("update:step",v)}let d=(0,De.computed)(()=>[{index:1,title:C("importWizard.stepFile")},{index:2,title:C("importWizard.stepMapping")},{index:3,title:C("importWizard.stepResult")}]);function f(){o.value&&o.value.click()}function c(v){return v?ao(v.name,e.accept)?e.maxSize>0&&v.size>e.maxSize*1024*1024?(i.value=C("importWizard.sizeError",{size:e.maxSize}),!1):(i.value="",!0):(i.value=C("importWizard.acceptError",{accept:e.accept}),!1):!1}function p(v){c(v)&&(n.value=v,t("file-change",v),s(2))}function g(v){p(v.target.files&&v.target.files[0]),v.target.value=""}function m(v){let T=v.dataTransfer&&v.dataTransfer.files&&v.dataTransfer.files[0];p(T)}function h(v,T){let D={...r.value,[v]:T};T||delete D[v],r.value=D,l.value="",t("update:mapping",D)}let b=(0,De.computed)(()=>e.columns.filter(v=>v.required&&!r.value[v.key]));function j(){if(b.value.length){l.value=C("importWizard.missingRequired",{fields:b.value.map(v=>v.label||v.key).join("\u3001")});return}t("submit",{...r.value})}(0,De.watch)(()=>e.result,v=>{v&&(v.total||v.success||v.failed||v.errors&&v.errors.length)&&s(3)});function w(){n.value=null,i.value="",l.value="",r.value={},t("update:mapping",{}),o.value&&(o.value.value=""),s(1)}function y(){t("retry"),s(2)}let u=(0,De.computed)(()=>{let v=e.result||{};return{total:v.total||0,success:v.success||0,failed:v.failed||0,errors:v.errors||[]}});return{innerStep:a,steps:d,file:n,fileError:i,mappingError:l,fileInput:o,innerMapping:r,missingRequired:b,stats:u,pickFile:f,onFileChange:g,onDrop:m,setMapping:h,submit:j,reset:w,retry:y,goStep:s,formatFileSize:Ct,t:C}},template:`
3505
+ `};var Te=require("vue");function vo(e,t){if(!t)return!0;let a="."+String(e).split(".").pop().toLowerCase();return t.split(",").map(i=>i.trim().toLowerCase()).some(i=>i===a||i==="*")}var $i={name:"DjmImportWizard",components:{DjmIcon:z},props:{step:{type:Number,default:1},accept:{type:String,default:".csv,.xlsx,.xls"},maxSize:{type:Number,default:10},columns:{type:Array,default:()=>[]},fields:{type:Array,default:()=>[]},mapping:{type:Object,default:()=>({})},result:{type:Object,default:()=>({})},loading:{type:Boolean,default:!1}},emits:["update:step","update:mapping","file-change","submit","retry"],setup(e,{emit:t}){let a=(0,Te.ref)(e.step||1);(0,Te.watch)(()=>e.step,f=>{f&&(a.value=f)});let i=(0,Te.ref)(null),n=(0,Te.ref)(""),l=(0,Te.ref)(""),r=(0,Te.ref)(null),o=(0,Te.ref)({...e.mapping});(0,Te.watch)(()=>e.mapping,f=>{o.value={...f}},{deep:!0});function s(f){a.value=f,t("update:step",f)}let d=(0,Te.computed)(()=>[{index:1,title:C("importWizard.stepFile")},{index:2,title:C("importWizard.stepMapping")},{index:3,title:C("importWizard.stepResult")}]);function p(){r.value&&r.value.click()}function c(f){return f?vo(f.name,e.accept)?e.maxSize>0&&f.size>e.maxSize*1024*1024?(n.value=C("importWizard.sizeError",{size:e.maxSize}),!1):(n.value="",!0):(n.value=C("importWizard.acceptError",{accept:e.accept}),!1):!1}function h(f){c(f)&&(i.value=f,t("file-change",f),s(2))}function v(f){h(f.target.files&&f.target.files[0]),f.target.value=""}function u(f){let E=f.dataTransfer&&f.dataTransfer.files&&f.dataTransfer.files[0];h(E)}function g(f,E){let D={...o.value,[f]:E};E||delete D[f],o.value=D,l.value="",t("update:mapping",D)}let y=(0,Te.computed)(()=>e.columns.filter(f=>f.required&&!o.value[f.key]));function j(){if(y.value.length){l.value=C("importWizard.missingRequired",{fields:y.value.map(f=>f.label||f.key).join("\u3001")});return}t("submit",{...o.value})}(0,Te.watch)(()=>e.result,f=>{f&&(f.total||f.success||f.failed||f.errors&&f.errors.length)&&s(3)});function w(){i.value=null,n.value="",l.value="",o.value={},t("update:mapping",{}),r.value&&(r.value.value=""),s(1)}function b(){t("retry"),s(2)}let m=(0,Te.computed)(()=>{let f=e.result||{};return{total:f.total||0,success:f.success||0,failed:f.failed||0,errors:f.errors||[]}});return{innerStep:a,steps:d,file:i,fileError:n,mappingError:l,fileInput:r,innerMapping:o,missingRequired:y,stats:m,pickFile:p,onFileChange:v,onDrop:u,setMapping:g,submit:j,reset:w,retry:b,goStep:s,formatFileSize:Lt,t:C}},template:`
3360
3506
  <div class="djm-import-wizard">
3361
3507
  <ol class="djm-import-steps">
3362
3508
  <li
@@ -3467,9 +3613,9 @@ Minimum version required to store current data is: `+I+`.
3467
3613
  </div>
3468
3614
  </div>
3469
3615
  </div>
3470
- `};var et=require("vue");function Bi(e,t){let a=e?String(e).split(`
3471
- `):[],n=t?String(t).split(`
3472
- `):[],i=[],l=0,o=0;if(a.length*n.length>1e6)return a.forEach(g=>i.push({type:"remove",text:g,oldLine:++l,newLine:0})),n.forEach(g=>i.push({type:"add",text:g,oldLine:0,newLine:++o})),i;let r=a.length,s=n.length,d=s+1,f=new Int32Array((r+1)*d);for(let g=r-1;g>=0;g--)for(let m=s-1;m>=0;m--)f[g*d+m]=a[g]===n[m]?f[(g+1)*d+m+1]+1:Math.max(f[(g+1)*d+m],f[g*d+m+1]);let c=0,p=0;for(;c<r&&p<s;)a[c]===n[p]?(i.push({type:"equal",text:a[c],oldLine:++l,newLine:++o}),c+=1,p+=1):f[(c+1)*d+p]>=f[c*d+p+1]?(i.push({type:"remove",text:a[c],oldLine:++l,newLine:0}),c+=1):(i.push({type:"add",text:n[p],oldLine:0,newLine:++o}),p+=1);for(;c<r;)i.push({type:"remove",text:a[c],oldLine:++l,newLine:0}),c+=1;for(;p<s;)i.push({type:"add",text:n[p],oldLine:0,newLine:++o}),p+=1;return i}var Hn={name:"DjmDiff",props:{before:{type:String,default:""},after:{type:String,default:""},mode:{type:String,default:"unified"},context:{type:Number,default:3},showLineNumbers:{type:Boolean,default:!0},beforeLabel:{type:String,default:""},afterLabel:{type:String,default:""}},setup(e){let t=(0,et.computed)(()=>Bi(e.before,e.after)),a=(0,et.computed)(()=>{let d=0,f=0;return t.value.forEach(c=>{c.type==="add"&&(d+=1),c.type==="remove"&&(f+=1)}),{add:d,remove:f}}),n=(0,et.ref)([]);function i(d){n.value=n.value.concat(d)}let l=(0,et.computed)(()=>{let d=Math.max(0,e.context),f=t.value;if(!d)return f;let c=[],p=0;for(;p<f.length;){if(f[p].type!=="equal"){c.push(f[p]),p+=1;continue}let g=p;for(;g<f.length&&f[g].type==="equal";)g+=1;let m=f.slice(p,g),h=p===0,b=g===f.length,j=h?0:d,w=b?0:d,y=j+w;m.length<=y+1||n.value.indexOf(p)>-1?c.push(...m):(j&&c.push(...m.slice(0,j)),c.push({type:"skip",count:m.length-y,blockIndex:p}),w&&c.push(...m.slice(m.length-w))),p=g}return c}),o=(0,et.computed)(()=>{let d=l.value,f=[],c=0;for(;c<d.length;){let p=d[c];if(p.type==="equal"||p.type==="skip"){f.push({left:p,right:p}),c+=1;continue}let g=[],m=[];for(;c<d.length&&(d[c].type==="remove"||d[c].type==="add");)d[c].type==="remove"?g.push(d[c]):m.push(d[c]),c+=1;let h=Math.max(g.length,m.length);for(let b=0;b<h;b++)f.push({left:g[b]||null,right:m[b]||null})}return f}),r=(0,et.computed)(()=>e.beforeLabel||C("diff.before")),s=(0,et.computed)(()=>e.afterLabel||C("diff.after"));return{stats:a,displayRows:l,splitRows:o,expand:i,beforeLabelText:r,afterLabelText:s,t:C}},template:`
3616
+ `};var it=require("vue");function Fn(e,t){let a=e?String(e).split(`
3617
+ `):[],i=t?String(t).split(`
3618
+ `):[],n=[],l=0,r=0;if(a.length*i.length>1e6)return a.forEach(v=>n.push({type:"remove",text:v,oldLine:++l,newLine:0})),i.forEach(v=>n.push({type:"add",text:v,oldLine:0,newLine:++r})),n;let o=a.length,s=i.length,d=s+1,p=new Int32Array((o+1)*d);for(let v=o-1;v>=0;v--)for(let u=s-1;u>=0;u--)p[v*d+u]=a[v]===i[u]?p[(v+1)*d+u+1]+1:Math.max(p[(v+1)*d+u],p[v*d+u+1]);let c=0,h=0;for(;c<o&&h<s;)a[c]===i[h]?(n.push({type:"equal",text:a[c],oldLine:++l,newLine:++r}),c+=1,h+=1):p[(c+1)*d+h]>=p[c*d+h+1]?(n.push({type:"remove",text:a[c],oldLine:++l,newLine:0}),c+=1):(n.push({type:"add",text:i[h],oldLine:0,newLine:++r}),h+=1);for(;c<o;)n.push({type:"remove",text:a[c],oldLine:++l,newLine:0}),c+=1;for(;h<s;)n.push({type:"add",text:i[h],oldLine:0,newLine:++r}),h+=1;return n}var Fi={name:"DjmDiff",props:{before:{type:String,default:""},after:{type:String,default:""},mode:{type:String,default:"unified"},context:{type:Number,default:3},showLineNumbers:{type:Boolean,default:!0},beforeLabel:{type:String,default:""},afterLabel:{type:String,default:""}},setup(e){let t=(0,it.computed)(()=>Fn(e.before,e.after)),a=(0,it.computed)(()=>{let d=0,p=0;return t.value.forEach(c=>{c.type==="add"&&(d+=1),c.type==="remove"&&(p+=1)}),{add:d,remove:p}}),i=(0,it.ref)([]);function n(d){i.value=i.value.concat(d)}let l=(0,it.computed)(()=>{let d=Math.max(0,e.context),p=t.value;if(!d)return p;let c=[],h=0;for(;h<p.length;){if(p[h].type!=="equal"){c.push(p[h]),h+=1;continue}let v=h;for(;v<p.length&&p[v].type==="equal";)v+=1;let u=p.slice(h,v),g=h===0,y=v===p.length,j=g?0:d,w=y?0:d,b=j+w;u.length<=b+1||i.value.indexOf(h)>-1?c.push(...u):(j&&c.push(...u.slice(0,j)),c.push({type:"skip",count:u.length-b,blockIndex:h}),w&&c.push(...u.slice(u.length-w))),h=v}return c}),r=(0,it.computed)(()=>{let d=l.value,p=[],c=0;for(;c<d.length;){let h=d[c];if(h.type==="equal"||h.type==="skip"){p.push({left:h,right:h}),c+=1;continue}let v=[],u=[];for(;c<d.length&&(d[c].type==="remove"||d[c].type==="add");)d[c].type==="remove"?v.push(d[c]):u.push(d[c]),c+=1;let g=Math.max(v.length,u.length);for(let y=0;y<g;y++)p.push({left:v[y]||null,right:u[y]||null})}return p}),o=(0,it.computed)(()=>e.beforeLabel||C("diff.before")),s=(0,it.computed)(()=>e.afterLabel||C("diff.after"));return{stats:a,displayRows:l,splitRows:r,expand:n,beforeLabelText:o,afterLabelText:s,t:C}},template:`
3473
3619
  <div class="djm-diff" :class="'djm-diff-' + mode">
3474
3620
  <header class="djm-diff-bar">
3475
3621
  <span class="djm-diff-stat djm-is-add">+{{ stats.add }}</span>
@@ -3520,7 +3666,7 @@ Minimum version required to store current data is: `+I+`.
3520
3666
  </div>
3521
3667
  </div>
3522
3668
  </div>
3523
- `};var je=require("vue");function _e(e,t){return e&&e[t]!==void 0?e[t]:e&&e.id}var On={name:"DjmTreeTable",components:{DjmIcon:L},props:{data:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},rowKey:{type:String,default:"id"},expandedKeys:{type:Array,default:null},defaultExpandAll:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},checkedKeys:{type:Array,default:null},checkStrictly:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},maxHeight:{type:[Number,String],default:""},striped:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},emptyText:{type:String,default:""}},emits:["update:expandedKeys","update:checkedKeys","expand-change","check-change","row-click"],setup(e,{emit:t}){function a(S,M,I=1,A=null){(S||[]).forEach(V=>{M(V,I,A),V.children&&V.children.length&&a(V.children,M,I+1,_e(V,e.rowKey))})}function n(){let S=[];return a(e.data,M=>S.push(_e(M,e.rowKey))),S}let i=(0,je.ref)(e.expandedKeys?e.expandedKeys.slice():e.defaultExpandAll?n():[]);(0,je.watch)(()=>e.expandedKeys,S=>{S&&(i.value=S.slice())});let l=(0,je.ref)(e.checkedKeys?e.checkedKeys.slice():[]);(0,je.watch)(()=>e.checkedKeys,S=>{S&&(l.value=S.slice())});let o=(0,je.computed)(()=>{let S=[];function M(I,A,V){(I||[]).forEach(H=>{let G=_e(H,e.rowKey),Q=!!(H.children&&H.children.length),R=i.value.indexOf(G)>-1;S.push({row:H,key:G,level:A,parentKey:V,hasChildren:Q,expanded:R}),Q&&R&&M(H.children,A+1,G)})}return M(e.data,1,null),S}),r=(0,je.computed)(()=>{let S={};function M(I){let A=_e(I,e.rowKey),V=[];return(I.children||[]).forEach(H=>{V.push(_e(H,e.rowKey),...M(H))}),S[A]=V,V}return(e.data||[]).forEach(M),S}),s=(0,je.computed)(()=>{let S=[];return a(e.data,M=>{(!M.children||!M.children.length)&&S.push(_e(M,e.rowKey))}),S}),d=(0,je.computed)(()=>new Set(l.value)),f=(0,je.computed)(()=>s.value.length>0&&s.value.every(S=>d.value.has(S))),c=(0,je.computed)(()=>!f.value&&s.value.some(S=>d.value.has(S)));function p(S){if(!e.selectable||e.checkStrictly)return!1;let M=r.value[_e(S,e.rowKey)]||[];if(!M.length)return!1;let I=M.filter(A=>d.value.has(A)).length;return I>0&&I<M.length}function g(S){l.value=S,t("update:checkedKeys",S),t("check-change",S)}function m(S){let M=_e(S,e.rowKey),I=!d.value.has(M),A=new Set(l.value);if(e.checkStrictly)I?A.add(M):A.delete(M);else{[M,...r.value[M]||[]].forEach(G=>I?A.add(G):A.delete(G));let H=b(M);for(;H!=null;){let G=j(H);G.length>0&&G.every(R=>A.has(R))?A.add(H):A.delete(H),H=b(H)}}g(Array.from(A))}let h=(0,je.computed)(()=>{let S={};return a(e.data,(M,I,A)=>{S[_e(M,e.rowKey)]={row:M,parentKey:A}}),S});function b(S){let M=h.value[S];return M?M.parentKey:null}function j(S){let M=h.value[S];return M?(M.row.children||[]).map(I=>_e(I,e.rowKey)):[]}function w(){g(f.value||c.value?[]:s.value.slice())}function y(S){let M=S.key,I=i.value.indexOf(M),A=i.value.slice();I>-1?A.splice(I,1):A.push(M),i.value=A,t("update:expandedKeys",A),t("expand-change",M,I===-1)}function u(){let S=n();i.value=S,t("update:expandedKeys",S),t("expand-change",null,!0)}function v(){i.value=[],t("update:expandedKeys",[]),t("expand-change",null,!1)}function T(S,M){let I=S[M.key];return I??""}function D(S){t("row-click",S.row,S)}let x=(0,je.computed)(()=>e.maxHeight?{maxHeight:typeof e.maxHeight=="number"?e.maxHeight+"px":e.maxHeight}:null),z=(0,je.computed)(()=>e.emptyText||C("treeTable.empty"));return{rows:o,innerExpanded:i,checkedSet:d,allChecked:f,someChecked:c,isIndeterminate:p,toggleRowCheck:m,toggleAll:w,toggleExpand:y,expandAll:u,collapseAll:v,valueOf:T,onRowClick:D,scrollStyle:x,emptyLabel:z,t:C}},template:`
3669
+ `};var De=require("vue");function Je(e,t){return e&&e[t]!==void 0?e[t]:e&&e.id}var Ki={name:"DjmTreeTable",components:{DjmIcon:z},props:{data:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},rowKey:{type:String,default:"id"},expandedKeys:{type:Array,default:null},defaultExpandAll:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},checkedKeys:{type:Array,default:null},checkStrictly:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},maxHeight:{type:[Number,String],default:""},striped:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},emptyText:{type:String,default:""}},emits:["update:expandedKeys","update:checkedKeys","expand-change","check-change","row-click"],setup(e,{emit:t}){function a(S,T,L=1,A=null){(S||[]).forEach(O=>{T(O,L,A),O.children&&O.children.length&&a(O.children,T,L+1,Je(O,e.rowKey))})}function i(){let S=[];return a(e.data,T=>S.push(Je(T,e.rowKey))),S}let n=(0,De.ref)(e.expandedKeys?e.expandedKeys.slice():e.defaultExpandAll?i():[]);(0,De.watch)(()=>e.expandedKeys,S=>{S&&(n.value=S.slice())});let l=(0,De.ref)(e.checkedKeys?e.checkedKeys.slice():[]);(0,De.watch)(()=>e.checkedKeys,S=>{S&&(l.value=S.slice())});let r=(0,De.computed)(()=>{let S=[];function T(L,A,O){(L||[]).forEach($=>{let Q=Je($,e.rowKey),te=!!($.children&&$.children.length),H=n.value.indexOf(Q)>-1;S.push({row:$,key:Q,level:A,parentKey:O,hasChildren:te,expanded:H}),te&&H&&T($.children,A+1,Q)})}return T(e.data,1,null),S}),o=(0,De.computed)(()=>{let S={};function T(L){let A=Je(L,e.rowKey),O=[];return(L.children||[]).forEach($=>{O.push(Je($,e.rowKey),...T($))}),S[A]=O,O}return(e.data||[]).forEach(T),S}),s=(0,De.computed)(()=>{let S=[];return a(e.data,T=>{(!T.children||!T.children.length)&&S.push(Je(T,e.rowKey))}),S}),d=(0,De.computed)(()=>new Set(l.value)),p=(0,De.computed)(()=>s.value.length>0&&s.value.every(S=>d.value.has(S))),c=(0,De.computed)(()=>!p.value&&s.value.some(S=>d.value.has(S)));function h(S){if(!e.selectable||e.checkStrictly)return!1;let T=o.value[Je(S,e.rowKey)]||[];if(!T.length)return!1;let L=T.filter(A=>d.value.has(A)).length;return L>0&&L<T.length}function v(S){l.value=S,t("update:checkedKeys",S),t("check-change",S)}function u(S){let T=Je(S,e.rowKey),L=!d.value.has(T),A=new Set(l.value);if(e.checkStrictly)L?A.add(T):A.delete(T);else{[T,...o.value[T]||[]].forEach(Q=>L?A.add(Q):A.delete(Q));let $=y(T);for(;$!=null;){let Q=j($);Q.length>0&&Q.every(H=>A.has(H))?A.add($):A.delete($),$=y($)}}v(Array.from(A))}let g=(0,De.computed)(()=>{let S={};return a(e.data,(T,L,A)=>{S[Je(T,e.rowKey)]={row:T,parentKey:A}}),S});function y(S){let T=g.value[S];return T?T.parentKey:null}function j(S){let T=g.value[S];return T?(T.row.children||[]).map(L=>Je(L,e.rowKey)):[]}function w(){v(p.value||c.value?[]:s.value.slice())}function b(S){let T=S.key,L=n.value.indexOf(T),A=n.value.slice();L>-1?A.splice(L,1):A.push(T),n.value=A,t("update:expandedKeys",A),t("expand-change",T,L===-1)}function m(){let S=i();n.value=S,t("update:expandedKeys",S),t("expand-change",null,!0)}function f(){n.value=[],t("update:expandedKeys",[]),t("expand-change",null,!1)}function E(S,T){let L=S[T.key];return L??""}function D(S){t("row-click",S.row,S)}let k=(0,De.computed)(()=>e.maxHeight?{maxHeight:typeof e.maxHeight=="number"?e.maxHeight+"px":e.maxHeight}:null),B=(0,De.computed)(()=>e.emptyText||C("treeTable.empty"));return{rows:r,innerExpanded:n,checkedSet:d,allChecked:p,someChecked:c,isIndeterminate:h,toggleRowCheck:u,toggleAll:w,toggleExpand:b,expandAll:m,collapseAll:f,valueOf:E,onRowClick:D,scrollStyle:k,emptyLabel:B,t:C}},template:`
3524
3670
  <div class="djm-tree-table">
3525
3671
  <div
3526
3672
  class="djm-tree-table-wrap"
@@ -3598,7 +3744,7 @@ Minimum version required to store current data is: `+I+`.
3598
3744
  <p v-else-if="!rows.length" class="djm-tree-table-empty">{{ emptyLabel }}</p>
3599
3745
  </div>
3600
3746
  </div>
3601
- `};var ve=require("vue");var ta=e=>String(e).padStart(2,"0");function $n(e){return`${e.getFullYear()}-${ta(e.getMonth()+1)}-${ta(e.getDate())}`}function no(e){let t=String(e||"").split("-").map(Number);return t.length!==3||t.some(a=>!Number.isFinite(a))?null:new Date(t[0],t[1]-1,t[2])}function Ni(e,t){let a=String(e||"").split(":").map(Number);return a.length!==2||a.some(n=>!Number.isFinite(n))?t:a[0]*60+a[1]}var Fn={name:"DjmSchedule",components:{DjmIcon:L},props:{modelValue:{type:String,default:""},items:{type:Array,default:()=>[]},startHour:{type:Number,default:8},endHour:{type:Number,default:20},hourHeight:{type:Number,default:48},showWeekend:{type:Boolean,default:!0},title:{type:String,default:""}},emits:["update:modelValue","event-click","slot-click","week-change"],setup(e,{emit:t}){let a=$n(new Date),n=(0,ve.ref)(new Date().getHours()*60+new Date().getMinutes()),i=window.setInterval(()=>{let v=new Date;n.value=v.getHours()*60+v.getMinutes()},6e4),l=(0,ve.ref)(e.modelValue||a);(0,ve.watch)(()=>e.modelValue,v=>{v&&(l.value=v)});function o(v){let T=no(v)||new Date,x=(T.getDay()+6)%7;return new Date(T.getFullYear(),T.getMonth(),T.getDate()-x)}let r=(0,ve.computed)(()=>o(l.value)),s=(0,ve.computed)(()=>C("schedule.weekdays").split(","));function d(v){let T=v.map(M=>{let I=Ni(M.start,e.startHour*60),A=Math.max(I+30,Ni(M.end,I+60));return{item:M,startMin:I,endMin:A}}).sort((M,I)=>M.startMin-I.startMin),D=[],x=T.map(M=>{let I=D.findIndex(A=>A<=M.startMin);return I===-1?(D.push(M.endMin),I=D.length-1):D[I]=M.endMin,{...M,lane:I}}),z=Math.max(1,D.length),S=e.startHour*60;return x.map(M=>{let I=(M.startMin-S)/60*e.hourHeight,A=(M.endMin-M.startMin)/60*e.hourHeight;return{key:M.item.id!==void 0?M.item.id:M.item.title+M.startMin,item:M.item,top:Math.max(0,I),height:Math.max(18,A-2),left:M.lane*100/z,width:100/z}})}let f=(0,ve.computed)(()=>{let v=r.value,T=Array.from({length:7},(D,x)=>{let z=new Date(v.getFullYear(),v.getMonth(),v.getDate()+x),S=$n(z);return{key:S,date:z,day:z.getDate(),month:z.getMonth()+1,weekday:s.value[x]||"",today:S===a,weekend:x>=5,blocks:d(e.items.filter(M=>M.date===S))}});return e.showWeekend?T:T.slice(0,5)}),c=(0,ve.computed)(()=>{let v=[];for(let T=e.startHour;T<e.endHour;T++)v.push(T);return v}),p=(0,ve.computed)(()=>(e.endHour-e.startHour)*e.hourHeight),g=(0,ve.computed)(()=>({gridTemplateColumns:"56px repeat("+Math.max(1,f.value.length)+", minmax(0, 1fr))"})),m=(0,ve.computed)(()=>(n.value-e.startHour*60)/60*e.hourHeight),h=(0,ve.computed)(()=>n.value>=e.startHour*60&&n.value<=e.endHour*60&&f.value.some(v=>v.today)),b=(0,ve.computed)(()=>{let v=f.value;if(!v.length)return"";let T=v[0],D=v[v.length-1];return`${T.month}\u6708${T.day}\u65E5 - ${D.month}\u6708${D.day}\u65E5`});function j(v){let T=r.value,D=new Date(T.getFullYear(),T.getMonth(),T.getDate()+v*7);l.value=$n(D),t("update:modelValue",l.value),t("week-change",l.value)}function w(){l.value=a,t("update:modelValue",a),t("week-change",a)}function y(v,T){t("event-click",v.item,T.key)}function u(v,T){let D=v.currentTarget.getBoundingClientRect(),x=(v.clientY-D.top)/D.height,z=e.startHour*60+Math.round(x*(e.endHour-e.startHour)*60/30)*30,S=Math.floor(z/60),M=z%60;t("slot-click",{date:T.key,time:`${ta(S)}:${ta(M)}`})}return(0,ve.onBeforeUnmount)(()=>window.clearInterval(i)),{days:f,hours:c,bodyHeight:p,gridStyle:g,nowTop:m,showNowLine:h,rangeLabel:b,shiftWeek:j,goToday:w,onBlockClick:y,onSlotClick:u,t:C}},template:`
3747
+ `};var we=require("vue");var oa=e=>String(e).padStart(2,"0");function Wi(e){return`${e.getFullYear()}-${oa(e.getMonth()+1)}-${oa(e.getDate())}`}function go(e){let t=String(e||"").split("-").map(Number);return t.length!==3||t.some(a=>!Number.isFinite(a))?null:new Date(t[0],t[1]-1,t[2])}function Kn(e,t){let a=String(e||"").split(":").map(Number);return a.length!==2||a.some(i=>!Number.isFinite(i))?t:a[0]*60+a[1]}var Ui={name:"DjmSchedule",components:{DjmIcon:z},props:{modelValue:{type:String,default:""},items:{type:Array,default:()=>[]},startHour:{type:Number,default:8},endHour:{type:Number,default:20},hourHeight:{type:Number,default:48},showWeekend:{type:Boolean,default:!0},title:{type:String,default:""}},emits:["update:modelValue","event-click","slot-click","week-change"],setup(e,{emit:t}){let a=Wi(new Date),i=(0,we.ref)(new Date().getHours()*60+new Date().getMinutes()),n=window.setInterval(()=>{let f=new Date;i.value=f.getHours()*60+f.getMinutes()},6e4),l=(0,we.ref)(e.modelValue||a);(0,we.watch)(()=>e.modelValue,f=>{f&&(l.value=f)});function r(f){let E=go(f)||new Date,k=(E.getDay()+6)%7;return new Date(E.getFullYear(),E.getMonth(),E.getDate()-k)}let o=(0,we.computed)(()=>r(l.value)),s=(0,we.computed)(()=>C("schedule.weekdays").split(","));function d(f){let E=f.map(T=>{let L=Kn(T.start,e.startHour*60),A=Math.max(L+30,Kn(T.end,L+60));return{item:T,startMin:L,endMin:A}}).sort((T,L)=>T.startMin-L.startMin),D=[],k=E.map(T=>{let L=D.findIndex(A=>A<=T.startMin);return L===-1?(D.push(T.endMin),L=D.length-1):D[L]=T.endMin,{...T,lane:L}}),B=Math.max(1,D.length),S=e.startHour*60;return k.map(T=>{let L=(T.startMin-S)/60*e.hourHeight,A=(T.endMin-T.startMin)/60*e.hourHeight;return{key:T.item.id!==void 0?T.item.id:T.item.title+T.startMin,item:T.item,top:Math.max(0,L),height:Math.max(18,A-2),left:T.lane*100/B,width:100/B}})}let p=(0,we.computed)(()=>{let f=o.value,E=Array.from({length:7},(D,k)=>{let B=new Date(f.getFullYear(),f.getMonth(),f.getDate()+k),S=Wi(B);return{key:S,date:B,day:B.getDate(),month:B.getMonth()+1,weekday:s.value[k]||"",today:S===a,weekend:k>=5,blocks:d(e.items.filter(T=>T.date===S))}});return e.showWeekend?E:E.slice(0,5)}),c=(0,we.computed)(()=>{let f=[];for(let E=e.startHour;E<e.endHour;E++)f.push(E);return f}),h=(0,we.computed)(()=>(e.endHour-e.startHour)*e.hourHeight),v=(0,we.computed)(()=>({gridTemplateColumns:"56px repeat("+Math.max(1,p.value.length)+", minmax(0, 1fr))"})),u=(0,we.computed)(()=>(i.value-e.startHour*60)/60*e.hourHeight),g=(0,we.computed)(()=>i.value>=e.startHour*60&&i.value<=e.endHour*60&&p.value.some(f=>f.today)),y=(0,we.computed)(()=>{let f=p.value;if(!f.length)return"";let E=f[0],D=f[f.length-1];return`${E.month}\u6708${E.day}\u65E5 - ${D.month}\u6708${D.day}\u65E5`});function j(f){let E=o.value,D=new Date(E.getFullYear(),E.getMonth(),E.getDate()+f*7);l.value=Wi(D),t("update:modelValue",l.value),t("week-change",l.value)}function w(){l.value=a,t("update:modelValue",a),t("week-change",a)}function b(f,E){t("event-click",f.item,E.key)}function m(f,E){let D=f.currentTarget.getBoundingClientRect(),k=(f.clientY-D.top)/D.height,B=e.startHour*60+Math.round(k*(e.endHour-e.startHour)*60/30)*30,S=Math.floor(B/60),T=B%60;t("slot-click",{date:E.key,time:`${oa(S)}:${oa(T)}`})}return(0,we.onBeforeUnmount)(()=>window.clearInterval(n)),{days:p,hours:c,bodyHeight:h,gridStyle:v,nowTop:u,showNowLine:g,rangeLabel:y,shiftWeek:j,goToday:w,onBlockClick:b,onSlotClick:m,t:C}},template:`
3602
3748
  <div class="djm-schedule">
3603
3749
  <header class="djm-schedule-bar">
3604
3750
  <span class="djm-schedule-title">{{ title || t('schedule.title') }}</span>
@@ -3678,7 +3824,7 @@ Minimum version required to store current data is: `+I+`.
3678
3824
  </div>
3679
3825
  </div>
3680
3826
  </div>
3681
- `};var tt=require("vue");var Kn={name:"DjmComment",components:{DjmAvatar:Ce,DjmIcon:L},props:{list:{type:Array,default:()=>[]},maxLength:{type:Number,default:500},placeholder:{type:String,default:""},submitText:{type:String,default:""},removable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},emptyText:{type:String,default:""}},emits:["submit","reply","remove"],setup(e,{emit:t}){let a=(0,tt.ref)(""),n=(0,tt.ref)(null),i=(0,tt.computed)(()=>n.value?C("comment.replyPlaceholder",{name:n.value.author}):e.placeholder||C("comment.placeholder")),l=(0,tt.computed)(()=>e.submitText||C("comment.submit")),o=(0,tt.computed)(()=>e.emptyText||C("comment.empty")),r=(0,tt.computed)(()=>a.value.length>e.maxLength),s=(0,tt.computed)(()=>a.value.trim().length>0&&!r.value&&!e.disabled&&!e.loading);function d(m){a.value=m.target.value}function f(){s.value&&(t("submit",a.value.trim(),n.value),a.value="",n.value=null)}function c(m){n.value=m,t("reply",m)}function p(){n.value=null}function g(m){t("remove",m)}return{content:a,replyTarget:n,placeholderText:i,submitLabel:l,emptyLabel:o,overLimit:r,canSubmit:s,onInput:d,submit:f,startReply:c,cancelReply:p,remove:g,t:C}},template:`
3827
+ `};var nt=require("vue");var qi={name:"DjmComment",components:{DjmAvatar:Le,DjmIcon:z},props:{list:{type:Array,default:()=>[]},maxLength:{type:Number,default:500},placeholder:{type:String,default:""},submitText:{type:String,default:""},removable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},emptyText:{type:String,default:""}},emits:["submit","reply","remove"],setup(e,{emit:t}){let a=(0,nt.ref)(""),i=(0,nt.ref)(null),n=(0,nt.computed)(()=>i.value?C("comment.replyPlaceholder",{name:i.value.author}):e.placeholder||C("comment.placeholder")),l=(0,nt.computed)(()=>e.submitText||C("comment.submit")),r=(0,nt.computed)(()=>e.emptyText||C("comment.empty")),o=(0,nt.computed)(()=>a.value.length>e.maxLength),s=(0,nt.computed)(()=>a.value.trim().length>0&&!o.value&&!e.disabled&&!e.loading);function d(u){a.value=u.target.value}function p(){s.value&&(t("submit",a.value.trim(),i.value),a.value="",i.value=null)}function c(u){i.value=u,t("reply",u)}function h(){i.value=null}function v(u){t("remove",u)}return{content:a,replyTarget:i,placeholderText:n,submitLabel:l,emptyLabel:r,overLimit:o,canSubmit:s,onInput:d,submit:p,startReply:c,cancelReply:h,remove:v,t:C}},template:`
3682
3828
  <div class="djm-comment">
3683
3829
  <div v-if="!list.length" class="djm-comment-empty">{{ emptyLabel }}</div>
3684
3830
 
@@ -3743,7 +3889,7 @@ Minimum version required to store current data is: `+I+`.
3743
3889
  </div>
3744
3890
  </div>
3745
3891
  </div>
3746
- `};var Ve=require("vue");var Wn={name:"DjmSignature",props:{modelValue:{type:String,default:""},height:{type:Number,default:180},lineWidth:{type:Number,default:2.4},color:{type:String,default:""},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""}},emits:["update:modelValue","change","start","end","clear"],setup(e,{emit:t}){let a=(0,Ve.ref)(null),n=(0,Ve.ref)(null),i=(0,Ve.ref)([]),l=(0,Ve.ref)(!1),o=null,r=!1,s=null,d=e.modelValue,f=null;function c(){return a.value?a.value.getContext("2d"):null}function p(){return e.color?e.color:getComputedStyle(document.documentElement).getPropertyValue("--djm-text").trim()||"#1e2b3a"}function g(x){x.lineWidth=e.lineWidth,x.lineCap="round",x.lineJoin="round",x.strokeStyle=p()}function m(){let x=a.value;if(!x)return;let z=x.parentElement?x.parentElement.clientWidth:x.clientWidth,S=window.devicePixelRatio||1;x.width=Math.max(1,Math.round(z*S)),x.height=Math.max(1,Math.round(e.height*S)),x.style.width="100%",x.style.height=e.height+"px";let M=c();M.setTransform(S,0,0,S,0,0),g(M),h()}function h(){let x=c();if(!x)return;let z=a.value.width/(window.devicePixelRatio||1);x.clearRect(0,0,z,e.height),o&&x.drawImage(o,0,0,z,e.height),g(x),i.value.forEach(S=>{if(S.length<2){x.beginPath(),x.arc(S[0].x,S[0].y,e.lineWidth/2,0,Math.PI*2),x.fillStyle=p(),x.fill();return}x.beginPath(),x.moveTo(S[0].x,S[0].y);for(let M=1;M<S.length;M++)x.lineTo(S[M].x,S[M].y);x.stroke()})}function b(x){let z=a.value.getBoundingClientRect();return{x:x.clientX-z.left,y:x.clientY-z.top}}function j(x){if(!e.disabled){x.preventDefault(),r=!0,o=null,l.value=!1,s=[b(x)],i.value=i.value.concat([s]);try{a.value.setPointerCapture&&a.value.setPointerCapture(x.pointerId)}catch{}t("start")}}function w(x){if(!r||!s)return;x.preventDefault();let z=b(x),S=c(),M=s[s.length-1];S.beginPath(),S.moveTo(M.x,M.y),S.lineTo(z.x,z.y),S.stroke(),s.push(z)}function y(){r&&(r=!1,s=null,u(),t("end"))}function u(){if(!a.value)return;let x=i.value.length?a.value.toDataURL("image/png"):"";d=x,t("update:modelValue",x),t("change",x)}function v(){i.value=[],o=null,l.value=!1;let x=c(),z=a.value.width/(window.devicePixelRatio||1);x&&x.clearRect(0,0,z,e.height),d="",t("update:modelValue",""),t("change",""),t("clear")}function T(){return a.value?a.value.toDataURL("image/png"):""}let D=()=>i.value.length===0&&!l.value;return(0,Ve.watch)(()=>e.modelValue,x=>{if(x===d)return;if(d=x||"",!x){i.value=[],o=null,l.value=!1,h();return}let z=new Image;z.onload=()=>{o=z,l.value=!0,i.value=[],h()},z.src=x}),(0,Ve.onMounted)(()=>{if(m(),e.modelValue){let x=new Image;x.onload=()=>{o=x,l.value=!0,h()},x.src=e.modelValue}window.ResizeObserver&&(f=new ResizeObserver(()=>m()),n.value&&f.observe(n.value))}),(0,Ve.onBeforeUnmount)(()=>{f&&f.disconnect()}),{canvas:a,root:n,isEmpty:D,clear:v,onPointerDown:j,onPointerMove:w,onPointerUp:y,t:C}},expose:["clear","toDataURL","isEmpty"],template:`
3892
+ `};var Oe=require("vue");var _i={name:"DjmSignature",props:{modelValue:{type:String,default:""},height:{type:Number,default:180},lineWidth:{type:Number,default:2.4},color:{type:String,default:""},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""}},emits:["update:modelValue","change","start","end","clear"],setup(e,{emit:t}){let a=(0,Oe.ref)(null),i=(0,Oe.ref)(null),n=(0,Oe.ref)([]),l=(0,Oe.ref)(!1),r=null,o=!1,s=null,d=e.modelValue,p=null;function c(){return a.value?a.value.getContext("2d"):null}function h(){return e.color?e.color:getComputedStyle(document.documentElement).getPropertyValue("--djm-text").trim()||"#1e2b3a"}function v(k){k.lineWidth=e.lineWidth,k.lineCap="round",k.lineJoin="round",k.strokeStyle=h()}function u(){let k=a.value;if(!k)return;let B=k.parentElement?k.parentElement.clientWidth:k.clientWidth,S=window.devicePixelRatio||1;k.width=Math.max(1,Math.round(B*S)),k.height=Math.max(1,Math.round(e.height*S)),k.style.width="100%",k.style.height=e.height+"px";let T=c();T.setTransform(S,0,0,S,0,0),v(T),g()}function g(){let k=c();if(!k)return;let B=a.value.width/(window.devicePixelRatio||1);k.clearRect(0,0,B,e.height),r&&k.drawImage(r,0,0,B,e.height),v(k),n.value.forEach(S=>{if(S.length<2){k.beginPath(),k.arc(S[0].x,S[0].y,e.lineWidth/2,0,Math.PI*2),k.fillStyle=h(),k.fill();return}k.beginPath(),k.moveTo(S[0].x,S[0].y);for(let T=1;T<S.length;T++)k.lineTo(S[T].x,S[T].y);k.stroke()})}function y(k){let B=a.value.getBoundingClientRect();return{x:k.clientX-B.left,y:k.clientY-B.top}}function j(k){if(!e.disabled){k.preventDefault(),o=!0,r=null,l.value=!1,s=[y(k)],n.value=n.value.concat([s]);try{a.value.setPointerCapture&&a.value.setPointerCapture(k.pointerId)}catch{}t("start")}}function w(k){if(!o||!s)return;k.preventDefault();let B=y(k),S=c(),T=s[s.length-1];S.beginPath(),S.moveTo(T.x,T.y),S.lineTo(B.x,B.y),S.stroke(),s.push(B)}function b(){o&&(o=!1,s=null,m(),t("end"))}function m(){if(!a.value)return;let k=n.value.length?a.value.toDataURL("image/png"):"";d=k,t("update:modelValue",k),t("change",k)}function f(){n.value=[],r=null,l.value=!1;let k=c(),B=a.value.width/(window.devicePixelRatio||1);k&&k.clearRect(0,0,B,e.height),d="",t("update:modelValue",""),t("change",""),t("clear")}function E(){return a.value?a.value.toDataURL("image/png"):""}let D=()=>n.value.length===0&&!l.value;return(0,Oe.watch)(()=>e.modelValue,k=>{if(k===d)return;if(d=k||"",!k){n.value=[],r=null,l.value=!1,g();return}let B=new Image;B.onload=()=>{r=B,l.value=!0,n.value=[],g()},B.src=k}),(0,Oe.onMounted)(()=>{if(u(),e.modelValue){let k=new Image;k.onload=()=>{r=k,l.value=!0,g()},k.src=e.modelValue}window.ResizeObserver&&(p=new ResizeObserver(()=>u()),i.value&&p.observe(i.value))}),(0,Oe.onBeforeUnmount)(()=>{p&&p.disconnect()}),{canvas:a,root:i,isEmpty:D,clear:f,onPointerDown:j,onPointerMove:w,onPointerUp:b,t:C}},expose:["clear","toDataURL","isEmpty"],template:`
3747
3893
  <div class="djm-signature" ref="root" :class="{ 'djm-is-disabled': disabled }">
3748
3894
  <div class="djm-signature-canvas-wrap">
3749
3895
  <canvas
@@ -3764,7 +3910,7 @@ Minimum version required to store current data is: `+I+`.
3764
3910
  </button>
3765
3911
  </div>
3766
3912
  </div>
3767
- `};var aa=require("vue");function Ri(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[t])}var Un={name:"DjmPrint",components:{DjmIcon:L},props:{title:{type:String,default:""},showButton:{type:Boolean,default:!0},buttonText:{type:String,default:""},landscape:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["before-print","after-print"],setup(e,{emit:t}){let a=(0,aa.ref)(null),n=(0,aa.computed)(()=>e.buttonText||C("print.button"));function i(){return Array.from(document.querySelectorAll('link[rel="stylesheet"], style')).map(o=>o.outerHTML).join("")}function l(){if(e.disabled||!a.value)return;t("before-print");let o=document.createElement("iframe");o.setAttribute("aria-hidden","true"),o.style.cssText="position:fixed;right:0;bottom:0;width:0;height:0;border:0;",document.body.appendChild(o);let r=o.contentWindow.document,s=e.title?`<h1 class="djm-print-heading">${Ri(e.title)}</h1>`:"";r.open(),r.write(`<!doctype html><html><head><meta charset="utf-8"><title>${Ri(e.title||document.title)}</title>`+i()+`<style>@page { size: ${e.landscape?"A4 landscape":"A4 portrait"}; margin: 12mm; }html, body { background: #fff; margin: 0; padding: 0; }body { color: #000; font-size: 12px; }.djm-print-toolbar, .djm-no-print { display: none !important; }.djm-print-heading { margin: 0 0 12px; font-size: 17px; font-weight: 600; text-align: center; }table { page-break-inside: auto; } tr, img { page-break-inside: avoid; } thead { display: table-header-group; }</style></head><body><div class="djm-print-stage">`+s+a.value.innerHTML+"</div></body></html>"),r.close(),window.setTimeout(()=>{try{o.contentWindow.focus(),o.contentWindow.print()}finally{window.setTimeout(()=>{o.remove(),t("after-print")},300)}},120)}return{content:a,label:n,print:l,t:C}},expose:["print"],template:`
3913
+ `};var ra=require("vue");function Wn(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[t])}var Yi={name:"DjmPrint",components:{DjmIcon:z},props:{title:{type:String,default:""},showButton:{type:Boolean,default:!0},buttonText:{type:String,default:""},landscape:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["before-print","after-print"],setup(e,{emit:t}){let a=(0,ra.ref)(null),i=(0,ra.computed)(()=>e.buttonText||C("print.button"));function n(){return Array.from(document.querySelectorAll('link[rel="stylesheet"], style')).map(r=>r.outerHTML).join("")}function l(){if(e.disabled||!a.value)return;t("before-print");let r=document.createElement("iframe");r.setAttribute("aria-hidden","true"),r.style.cssText="position:fixed;right:0;bottom:0;width:0;height:0;border:0;",document.body.appendChild(r);let o=r.contentWindow.document,s=e.title?`<h1 class="djm-print-heading">${Wn(e.title)}</h1>`:"";o.open(),o.write(`<!doctype html><html><head><meta charset="utf-8"><title>${Wn(e.title||document.title)}</title>`+n()+`<style>@page { size: ${e.landscape?"A4 landscape":"A4 portrait"}; margin: 12mm; }html, body { background: #fff; margin: 0; padding: 0; }body { color: #000; font-size: 12px; }.djm-print-toolbar, .djm-no-print { display: none !important; }.djm-print-heading { margin: 0 0 12px; font-size: 17px; font-weight: 600; text-align: center; }table { page-break-inside: auto; } tr, img { page-break-inside: avoid; } thead { display: table-header-group; }</style></head><body><div class="djm-print-stage">`+s+a.value.innerHTML+"</div></body></html>"),o.close(),window.setTimeout(()=>{try{r.contentWindow.focus(),r.contentWindow.print()}finally{window.setTimeout(()=>{r.remove(),t("after-print")},300)}},120)}return{content:a,label:i,print:l,t:C}},expose:["print"],template:`
3768
3914
  <div class="djm-print">
3769
3915
  <div v-if="showButton" class="djm-print-actions djm-print-toolbar">
3770
3916
  <button class="djm-btn" type="button" :disabled="disabled" @click="print">
@@ -3776,7 +3922,7 @@ Minimum version required to store current data is: `+I+`.
3776
3922
  <slot></slot>
3777
3923
  </div>
3778
3924
  </div>
3779
- `};var rt=require("vue");var io=864e5,Vi=e=>String(e).padStart(2,"0");function ia(e){let t=String(e||"").split("-").map(Number);return t.length!==3||t.some(a=>!Number.isFinite(a))?null:new Date(t[0],t[1]-1,t[2])}function qn(e){return`${e.getFullYear()}-${Vi(e.getMonth()+1)}-${Vi(e.getDate())}`}function na(e,t){let a=ia(e),n=ia(t);return!a||!n?0:Math.round((a.getTime()-n.getTime())/io)}var _n={name:"DjmGantt",props:{tasks:{type:Array,default:()=>[]},nameWidth:{type:Number,default:168},dayWidth:{type:Number,default:36},rowHeight:{type:Number,default:40},startDate:{type:String,default:""},endDate:{type:String,default:""},minDays:{type:Number,default:14},showToday:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["task-click"],setup(e,{emit:t}){let a=qn(new Date),n=(0,rt.computed)(()=>{let c=e.tasks.map(b=>b.start).filter(Boolean).sort(),p=e.tasks.map(b=>b.end||b.start).filter(Boolean).sort(),g=e.startDate||c[0]||a,m=e.endDate||p[p.length-1]||g;if(m<g&&(m=g),na(m,g)+1<e.minDays){let b=ia(g);m=qn(new Date(b.getFullYear(),b.getMonth(),b.getDate()+e.minDays-1))}return{start:g,end:m}}),i=(0,rt.computed)(()=>{let c=na(n.value.end,n.value.start)+1,p=ia(n.value.start);return Array.from({length:c},(g,m)=>{let h=new Date(p.getFullYear(),p.getMonth(),p.getDate()+m),b=qn(h);return{key:b,day:h.getDate(),month:h.getMonth()+1,monthStart:m===0||h.getDate()===1,today:b===a,weekend:h.getDay()===0||h.getDay()===6}})}),l=(0,rt.computed)(()=>i.value.length*e.dayWidth),o=(0,rt.computed)(()=>e.nameWidth+l.value),r=(0,rt.computed)(()=>e.tasks.map((c,p)=>{let g=c.start||n.value.start,m=c.end||g,h=Math.max(0,na(g,n.value.start)),b=Math.max(1,na(m,g)+1),j=Math.min(100,Math.max(0,Number(c.progress)||0));return{task:c,key:c.id!==void 0?c.id:p,left:h*e.dayWidth,width:b*e.dayWidth,progress:j}})),s=(0,rt.computed)(()=>{let c=i.value.findIndex(p=>p.today);return c===-1?null:e.nameWidth+c*e.dayWidth+e.dayWidth/2}),d=(0,rt.computed)(()=>e.emptyText||C("gantt.empty"));function f(c){t("task-click",c.task)}return{days:i,bars:r,trackWidth:l,innerWidth:o,todayLeft:s,emptyLabel:d,onClick:f,t:C}},template:`
3925
+ `};var ct=require("vue");var bo=864e5,Un=e=>String(e).padStart(2,"0");function da(e){let t=String(e||"").split("-").map(Number);return t.length!==3||t.some(a=>!Number.isFinite(a))?null:new Date(t[0],t[1]-1,t[2])}function Ji(e){return`${e.getFullYear()}-${Un(e.getMonth()+1)}-${Un(e.getDate())}`}function sa(e,t){let a=da(e),i=da(t);return!a||!i?0:Math.round((a.getTime()-i.getTime())/bo)}var Gi={name:"DjmGantt",props:{tasks:{type:Array,default:()=>[]},nameWidth:{type:Number,default:168},dayWidth:{type:Number,default:36},rowHeight:{type:Number,default:40},startDate:{type:String,default:""},endDate:{type:String,default:""},minDays:{type:Number,default:14},showToday:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["task-click"],setup(e,{emit:t}){let a=Ji(new Date),i=(0,ct.computed)(()=>{let c=e.tasks.map(y=>y.start).filter(Boolean).sort(),h=e.tasks.map(y=>y.end||y.start).filter(Boolean).sort(),v=e.startDate||c[0]||a,u=e.endDate||h[h.length-1]||v;if(u<v&&(u=v),sa(u,v)+1<e.minDays){let y=da(v);u=Ji(new Date(y.getFullYear(),y.getMonth(),y.getDate()+e.minDays-1))}return{start:v,end:u}}),n=(0,ct.computed)(()=>{let c=sa(i.value.end,i.value.start)+1,h=da(i.value.start);return Array.from({length:c},(v,u)=>{let g=new Date(h.getFullYear(),h.getMonth(),h.getDate()+u),y=Ji(g);return{key:y,day:g.getDate(),month:g.getMonth()+1,monthStart:u===0||g.getDate()===1,today:y===a,weekend:g.getDay()===0||g.getDay()===6}})}),l=(0,ct.computed)(()=>n.value.length*e.dayWidth),r=(0,ct.computed)(()=>e.nameWidth+l.value),o=(0,ct.computed)(()=>e.tasks.map((c,h)=>{let v=c.start||i.value.start,u=c.end||v,g=Math.max(0,sa(v,i.value.start)),y=Math.max(1,sa(u,v)+1),j=Math.min(100,Math.max(0,Number(c.progress)||0));return{task:c,key:c.id!==void 0?c.id:h,left:g*e.dayWidth,width:y*e.dayWidth,progress:j}})),s=(0,ct.computed)(()=>{let c=n.value.findIndex(h=>h.today);return c===-1?null:e.nameWidth+c*e.dayWidth+e.dayWidth/2}),d=(0,ct.computed)(()=>e.emptyText||C("gantt.empty"));function p(c){t("task-click",c.task)}return{days:n,bars:o,trackWidth:l,innerWidth:r,todayLeft:s,emptyLabel:d,onClick:p,t:C}},template:`
3780
3926
  <div class="djm-gantt">
3781
3927
  <div class="djm-gantt-scroll">
3782
3928
  <div class="djm-gantt-inner" :style="{ width: innerWidth + 'px' }">
@@ -3839,7 +3985,7 @@ Minimum version required to store current data is: `+I+`.
3839
3985
  </div>
3840
3986
  </div>
3841
3987
  </div>
3842
- `};var Ye=require("vue");var lo=0,Yn={name:"DjmFieldList",components:{DjmIcon:L},props:{modelValue:{type:Array,default:()=>[]},fields:{type:Array,default:()=>[]},addText:{type:String,default:""},min:{type:Number,default:0},max:{type:Number,default:0},defaultItem:{type:Object,default:null},showIndex:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},emptyText:{type:String,default:""}},emits:["update:modelValue","add","remove","change"],setup(e,{emit:t}){let a=(0,Ye.ref)([]);function n(){let w=e.modelValue.length;if(a.value.length===w)return;let y=a.value.slice(0,w);for(;y.length<w;)y.push(++lo);a.value=y}n(),(0,Ye.watch)(()=>e.modelValue.length,n);let i=(0,Ye.ref)({}),l=(0,Ye.computed)(()=>e.addText||C("fieldList.add")),o=(0,Ye.computed)(()=>e.emptyText||C("fieldList.empty")),r=(0,Ye.computed)(()=>!e.disabled&&(!e.max||e.modelValue.length<e.max)),s=(0,Ye.computed)(()=>!e.disabled&&e.modelValue.length>e.min);function d(w){t("update:modelValue",w),t("change",w)}function f(w,y,u){let v=e.modelValue.map((D,x)=>x===w?{...D,[y]:u}:D);d(v);let T=a.value[w];if(i.value[T]&&i.value[T][y]){let D={...i.value[T]};delete D[y],i.value={...i.value,[T]:D}}}function c(w,y,u){let v=u.target.value;if(y.type!=="number"){f(w,y.key,v);return}let T=Number(v);f(w,y.key,v===""||!Number.isFinite(T)?v:T)}function p(){if(!r.value)return;let w=e.defaultItem?{...e.defaultItem}:{};d(e.modelValue.concat([w])),t("add",w)}function g(w){if(!s.value)return;let y=e.modelValue.slice(),[u]=y.splice(w,1);d(y),t("remove",u,w)}function m(w,y){if(!y.required)return;let v=(e.modelValue[w]||{})[y.key];if(!(v===""||v===void 0||v===null))return;let D=a.value[w];i.value={...i.value,[D]:{...i.value[D]||{},[y.key]:C("fieldList.required",{label:y.label||y.key})}}}function h(w,y){let u=a.value[w];return i.value[u]&&i.value[u][y.key]||""}function b(){let w={};return e.modelValue.forEach((y,u)=>{let v=a.value[u],T={};e.fields.forEach(D=>{if(!D.required)return;let x=y[D.key];(x===""||x===void 0||x===null)&&(T[D.key]=C("fieldList.required",{label:D.label||D.key}))}),Object.keys(T).length&&(w[v]=T)}),i.value=w,Object.keys(w).length===0}function j(w,y){let u=w[y];return u??""}return{uids:a,errors:i,addLabel:l,emptyLabel:o,canAdd:r,canRemove:s,add:p,remove:g,onInput:c,onBlur:m,errorOf:h,validate:b,valueOf:j,t:C}},expose:["validate"],template:`
3988
+ `};var Ge=require("vue");var yo=0,Xi={name:"DjmFieldList",components:{DjmIcon:z},props:{modelValue:{type:Array,default:()=>[]},fields:{type:Array,default:()=>[]},addText:{type:String,default:""},min:{type:Number,default:0},max:{type:Number,default:0},defaultItem:{type:Object,default:null},showIndex:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},emptyText:{type:String,default:""}},emits:["update:modelValue","add","remove","change"],setup(e,{emit:t}){let a=(0,Ge.ref)([]);function i(){let w=e.modelValue.length;if(a.value.length===w)return;let b=a.value.slice(0,w);for(;b.length<w;)b.push(++yo);a.value=b}i(),(0,Ge.watch)(()=>e.modelValue.length,i);let n=(0,Ge.ref)({}),l=(0,Ge.computed)(()=>e.addText||C("fieldList.add")),r=(0,Ge.computed)(()=>e.emptyText||C("fieldList.empty")),o=(0,Ge.computed)(()=>!e.disabled&&(!e.max||e.modelValue.length<e.max)),s=(0,Ge.computed)(()=>!e.disabled&&e.modelValue.length>e.min);function d(w){t("update:modelValue",w),t("change",w)}function p(w,b,m){let f=e.modelValue.map((D,k)=>k===w?{...D,[b]:m}:D);d(f);let E=a.value[w];if(n.value[E]&&n.value[E][b]){let D={...n.value[E]};delete D[b],n.value={...n.value,[E]:D}}}function c(w,b,m){let f=m.target.value;if(b.type!=="number"){p(w,b.key,f);return}let E=Number(f);p(w,b.key,f===""||!Number.isFinite(E)?f:E)}function h(){if(!o.value)return;let w=e.defaultItem?{...e.defaultItem}:{};d(e.modelValue.concat([w])),t("add",w)}function v(w){if(!s.value)return;let b=e.modelValue.slice(),[m]=b.splice(w,1);d(b),t("remove",m,w)}function u(w,b){if(!b.required)return;let f=(e.modelValue[w]||{})[b.key];if(!(f===""||f===void 0||f===null))return;let D=a.value[w];n.value={...n.value,[D]:{...n.value[D]||{},[b.key]:C("fieldList.required",{label:b.label||b.key})}}}function g(w,b){let m=a.value[w];return n.value[m]&&n.value[m][b.key]||""}function y(){let w={};return e.modelValue.forEach((b,m)=>{let f=a.value[m],E={};e.fields.forEach(D=>{if(!D.required)return;let k=b[D.key];(k===""||k===void 0||k===null)&&(E[D.key]=C("fieldList.required",{label:D.label||D.key}))}),Object.keys(E).length&&(w[f]=E)}),n.value=w,Object.keys(w).length===0}function j(w,b){let m=w[b];return m??""}return{uids:a,errors:n,addLabel:l,emptyLabel:r,canAdd:o,canRemove:s,add:h,remove:v,onInput:c,onBlur:u,errorOf:g,validate:y,valueOf:j,t:C}},expose:["validate"],template:`
3843
3989
  <div class="djm-field-list">
3844
3990
  <div v-if="!modelValue.length" class="djm-field-list-empty">{{ emptyLabel }}</div>
3845
3991
 
@@ -3905,7 +4051,7 @@ Minimum version required to store current data is: `+I+`.
3905
4051
  <DjmIcon name="plus" :size="14" />{{ addLabel }}
3906
4052
  </button>
3907
4053
  </div>
3908
- `};var Le=require("vue");var Gn={name:"DjmChat",components:{DjmAvatar:Ce},props:{messages:{type:Array,default:()=>[]},placeholder:{type:String,default:""},sendText:{type:String,default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},height:{type:[Number,String],default:360},emptyText:{type:String,default:""}},emits:["submit"],setup(e,{emit:t}){let a=(0,Le.ref)(""),n=(0,Le.ref)(null),i=(0,Le.computed)(()=>e.placeholder||C("chat.placeholder")),l=(0,Le.computed)(()=>e.sendText||C("chat.send")),o=(0,Le.computed)(()=>e.emptyText||C("chat.empty")),r=(0,Le.computed)(()=>a.value.trim().length>0&&!e.disabled&&!e.loading);function s(){let g=n.value;g&&(g.scrollTop=g.scrollHeight)}(0,Le.watch)(()=>e.messages.length,()=>(0,Le.nextTick)(s));function d(g){a.value=g.target.value}function f(){r.value&&(t("submit",a.value.trim()),a.value="")}function c(g){g.key!=="Enter"||g.shiftKey||(g.preventDefault(),f())}function p(g){return g.from==="me"}return{content:a,listRef:n,placeholderText:i,sendLabel:l,emptyLabel:o,canSend:r,onInput:d,onKeydown:c,submit:f,isSelf:p,t:C}},mounted(){this.listRef.scrollTop=this.listRef.scrollHeight},template:`
4054
+ `};var Be=require("vue");var Qi={name:"DjmChat",components:{DjmAvatar:Le},props:{messages:{type:Array,default:()=>[]},placeholder:{type:String,default:""},sendText:{type:String,default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},height:{type:[Number,String],default:360},emptyText:{type:String,default:""}},emits:["submit"],setup(e,{emit:t}){let a=(0,Be.ref)(""),i=(0,Be.ref)(null),n=(0,Be.computed)(()=>e.placeholder||C("chat.placeholder")),l=(0,Be.computed)(()=>e.sendText||C("chat.send")),r=(0,Be.computed)(()=>e.emptyText||C("chat.empty")),o=(0,Be.computed)(()=>a.value.trim().length>0&&!e.disabled&&!e.loading);function s(){let v=i.value;v&&(v.scrollTop=v.scrollHeight)}(0,Be.watch)(()=>e.messages.length,()=>(0,Be.nextTick)(s));function d(v){a.value=v.target.value}function p(){o.value&&(t("submit",a.value.trim()),a.value="")}function c(v){v.key!=="Enter"||v.shiftKey||(v.preventDefault(),p())}function h(v){return v.from==="me"}return{content:a,listRef:i,placeholderText:n,sendLabel:l,emptyLabel:r,canSend:o,onInput:d,onKeydown:c,submit:p,isSelf:h,t:C}},mounted(){this.listRef.scrollTop=this.listRef.scrollHeight},template:`
3909
4055
  <div class="djm-chat">
3910
4056
  <div
3911
4057
  class="djm-chat-list"
@@ -3977,7 +4123,7 @@ Minimum version required to store current data is: `+I+`.
3977
4123
  </button>
3978
4124
  </div>
3979
4125
  </div>
3980
- `};var xt=require("vue");var Jn={name:"DjmOrgChart",components:{DjmAvatar:Ce,DjmIcon:L},props:{data:{type:Object,default:null},nodeWidth:{type:Number,default:168},nodeHeight:{type:Number,default:68},gap:{type:Number,default:20},verticalGap:{type:Number,default:40},collapsible:{type:Boolean,default:!0},defaultExpandAll:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["node-click"],setup(e,{emit:t}){function a(f){return f&&f.id!==void 0?f.id:f?f.name:""}function n(f){let c=[];function p(g){let m=g&&g.children||[];m.length&&(c.push(a(g)),m.forEach(p))}return p(f),c}let i=(0,xt.ref)(e.defaultExpandAll?[]:n(e.data));(0,xt.watch)(()=>e.data,f=>{i.value=e.defaultExpandAll?[]:n(f)});let l=(0,xt.computed)(()=>{if(!e.data)return{nodes:[],links:[],width:0,height:0};let f=e.nodeHeight+e.verticalGap,c=0;function p(w,y){let u=a(w),v=w.children||[],T=e.collapsible&&i.value.indexOf(u)>-1,x=(T?[]:v).map(S=>p(S,y+1)),z;return x.length?z=(x[0].x+x[x.length-1].x)/2:(z=c,c+=e.nodeWidth+e.gap),{key:u,node:w,depth:y,x:z,y:y*f,collapsed:T,hasChildren:v.length>0,childrenItems:x}}let g=[],m=[];function h(w,y){g.push(w),y&&m.push({from:y,to:w}),w.childrenItems.forEach(u=>h(u,w))}let b=p(e.data,0);h(b,null);let j=g.reduce((w,y)=>Math.max(w,y.depth),0);return{nodes:g,links:m,width:Math.max(c,e.nodeWidth),height:(j+1)*e.nodeHeight+j*e.verticalGap,root:b}});function o(f){if(!e.collapsible||!f.hasChildren)return;let c=i.value.indexOf(f.key),p=i.value.slice();c>-1?p.splice(c,1):p.push(f.key),i.value=p}function r(f){let c=f.from.x+e.nodeWidth/2,p=f.from.y+e.nodeHeight,g=f.to.x+e.nodeWidth/2,m=f.to.y,h=p+(m-p)/2;return`M${c} ${p} V${h} H${g} V${m}`}function s(f){t("node-click",f.node)}let d=(0,xt.computed)(()=>e.emptyText||C("orgChart.empty"));return{layout:l,toggle:o,linkPath:r,onClick:s,emptyLabel:d,t:C}},template:`
4126
+ `};var Et=require("vue");var Zi={name:"DjmOrgChart",components:{DjmAvatar:Le,DjmIcon:z},props:{data:{type:Object,default:null},nodeWidth:{type:Number,default:168},nodeHeight:{type:Number,default:68},gap:{type:Number,default:20},verticalGap:{type:Number,default:40},collapsible:{type:Boolean,default:!0},defaultExpandAll:{type:Boolean,default:!0},emptyText:{type:String,default:""}},emits:["node-click"],setup(e,{emit:t}){function a(p){return p&&p.id!==void 0?p.id:p?p.name:""}function i(p){let c=[];function h(v){let u=v&&v.children||[];u.length&&(c.push(a(v)),u.forEach(h))}return h(p),c}let n=(0,Et.ref)(e.defaultExpandAll?[]:i(e.data));(0,Et.watch)(()=>e.data,p=>{n.value=e.defaultExpandAll?[]:i(p)});let l=(0,Et.computed)(()=>{if(!e.data)return{nodes:[],links:[],width:0,height:0};let p=e.nodeHeight+e.verticalGap,c=0;function h(w,b){let m=a(w),f=w.children||[],E=e.collapsible&&n.value.indexOf(m)>-1,k=(E?[]:f).map(S=>h(S,b+1)),B;return k.length?B=(k[0].x+k[k.length-1].x)/2:(B=c,c+=e.nodeWidth+e.gap),{key:m,node:w,depth:b,x:B,y:b*p,collapsed:E,hasChildren:f.length>0,childrenItems:k}}let v=[],u=[];function g(w,b){v.push(w),b&&u.push({from:b,to:w}),w.childrenItems.forEach(m=>g(m,w))}let y=h(e.data,0);g(y,null);let j=v.reduce((w,b)=>Math.max(w,b.depth),0);return{nodes:v,links:u,width:Math.max(c,e.nodeWidth),height:(j+1)*e.nodeHeight+j*e.verticalGap,root:y}});function r(p){if(!e.collapsible||!p.hasChildren)return;let c=n.value.indexOf(p.key),h=n.value.slice();c>-1?h.splice(c,1):h.push(p.key),n.value=h}function o(p){let c=p.from.x+e.nodeWidth/2,h=p.from.y+e.nodeHeight,v=p.to.x+e.nodeWidth/2,u=p.to.y,g=h+(u-h)/2;return`M${c} ${h} V${g} H${v} V${u}`}function s(p){t("node-click",p.node)}let d=(0,Et.computed)(()=>e.emptyText||C("orgChart.empty"));return{layout:l,toggle:r,linkPath:o,onClick:s,emptyLabel:d,t:C}},template:`
3981
4127
  <div class="djm-org-chart">
3982
4128
  <p v-if="!data" class="djm-org-chart-empty">{{ emptyLabel }}</p>
3983
4129
 
@@ -4024,7 +4170,7 @@ Minimum version required to store current data is: `+I+`.
4024
4170
  </div>
4025
4171
  </div>
4026
4172
  </div>
4027
- `};var Hi=require("vue");var Xn={name:"DjmPageTabs",components:{DjmIcon:L},props:{modelValue:{type:String,default:""},tabs:{type:Array,default:()=>[]},closable:{type:Boolean,default:!0}},emits:["update:modelValue","change","close"],setup(e,{emit:t}){let a=(0,Hi.computed)(()=>C("pageTabs.label"));function n(r){return r.closable===void 0?e.closable:r.closable}function i(r){r.key!==e.modelValue&&(t("update:modelValue",r.key),t("change",r.key,r))}function l(r){t("close",r.key,r)}function o(r,s){s.button!==1||!n(r)||(s.preventDefault(),l(r))}return{label:a,canClose:n,select:i,close:l,onAuxClick:o,t:C}},template:`
4173
+ `};var qn=require("vue");var en={name:"DjmPageTabs",components:{DjmIcon:z},props:{modelValue:{type:String,default:""},tabs:{type:Array,default:()=>[]},closable:{type:Boolean,default:!0}},emits:["update:modelValue","change","close"],setup(e,{emit:t}){let a=(0,qn.computed)(()=>C("pageTabs.label"));function i(o){return o.closable===void 0?e.closable:o.closable}function n(o){o.key!==e.modelValue&&(t("update:modelValue",o.key),t("change",o.key,o))}function l(o){t("close",o.key,o)}function r(o,s){s.button!==1||!i(o)||(s.preventDefault(),l(o))}return{label:a,canClose:i,select:n,close:l,onAuxClick:r,t:C}},template:`
4028
4174
  <div class="djm-page-tabs">
4029
4175
  <nav class="djm-page-tabs-list" :aria-label="label">
4030
4176
  <div
@@ -4056,4 +4202,4 @@ Minimum version required to store current data is: `+I+`.
4056
4202
  <slot name="extra"></slot>
4057
4203
  </div>
4058
4204
  </div>
4059
- `};function Qn(e,t,a,n=null){for(let i=0;i<e.length;i++){let l=e[i];if(l[a]===t)return{node:l,list:e,index:i,parent:n};let o=l.children;if(o&&o.length){let r=Qn(o,t,a,l);if(r)return r}}return null}function Oi(e,t,a){return e[a]===t?!0:(e.children||[]).some(i=>Oi(i,t,a))}function $i(e,t,a,n="before",i="id"){if(!Array.isArray(e)||t===a)return!1;let l=Qn(e,t,i);if(!l||Oi(l.node,a,i))return!1;l.list.splice(l.index,1);let o=Qn(e,a,i);if(!o)return l.list.splice(l.index,0,l.node),!1;if(n==="inside")return Array.isArray(o.node.children)||(o.node.children=[]),o.node.children.push(l.node),!0;let r=n==="after"?o.index+1:o.index;return o.list.splice(r,0,l.node),!0}function Fi(e,t,a,n="before"){if(!Array.isArray(e)||!Number.isInteger(t)||!Number.isInteger(a)||t<0||t>=e.length||a<0||a>=e.length||t===a)return null;let i=e.slice(),[l]=i.splice(t,1),o=n==="after"?a+1:a;return t<o&&(o-=1),o===t?null:(i.splice(o,0,l),i)}var Ki=require("vue"),la=(0,Ki.reactive)({codes:new Set});function Wi(e){la.codes=new Set(e||[])}function Ui(e){(e||[]).forEach(t=>la.codes.add(t))}function qi(){la.codes=new Set}function Zn(e){return!e||Array.isArray(e)&&!e.length?!0:(Array.isArray(e)?e:[e]).some(a=>la.codes.has(a))}var oa={mounted(e,t){if(!Zn(t.value)){if(t.modifiers.disable){e.setAttribute("disabled","disabled"),e.classList.add("djm-is-no-permission");return}e.parentNode&&e.parentNode.replaceChild(document.createComment("v-permission"),e)}}};var oo=[sa,Pe,Ge,Lt,At,ct,Pt,zt,Nt,Bt,da,ca,Ce,ua,ma,fa,pa,ha,va,ga,ya,ba,wa,ja,ka,xa,mt,Rt,Vt,Ht,Ot,ft,Da,Ta,Ma,Ca,Ea,Ia,La,Aa,Pa,za,Na,Oa,$a,Fa,Ka,Wa,qa,_a,Ya,Kt,Wt,Ga,Ja,Xa,Qa,Za,en,tn,an,nn,on,rn,sn,dn,cn,L,bt,un,Ut,mn,fn,Ue,wt,pn,hn,vn,gn,wn,jn,kn,xn,Sn,Dn,Tn,Mn,Cn,En,Ln,An,Pn,zn,Bn,Rn,Vn,Hn,On,Fn,Kn,Wn,Un,_n,Yn,Gn,Jn,Xn],_i="0.67.4";function Yi(e,t={}){t.locale&&dt(t.locale),oo.forEach(a=>e.component(a.name,a)),e.directive("permission",oa)}var ro={install:Yi,version:_i};0&&(module.exports={DjmAffix,DjmAlert,DjmAnchor,DjmApprovalFlow,DjmAttachmentList,DjmAutoComplete,DjmAvatar,DjmAvatarGroup,DjmBacktop,DjmBadge,DjmBatchBar,DjmBreadcrumb,DjmButton,DjmCalendar,DjmCard,DjmCarousel,DjmCascader,DjmChat,DjmCheckbox,DjmCol,DjmCollapse,DjmColorPicker,DjmCommandPalette,DjmComment,DjmConfigProvider,DjmConfirmDialog,DjmContextMenu,DjmDatePicker,DjmDateTimePicker,DjmDescriptions,DjmDiff,DjmDivider,DjmDrawer,DjmDropdown,DjmEditableTable,DjmEmpty,DjmFieldList,DjmFilterTags,DjmFloatButton,DjmFloatingWindow,DjmForm,DjmFormItem,DjmGantt,DjmIcon,DjmImage,DjmImportWizard,DjmInput,DjmInputNumber,DjmInputTag,DjmKanban,DjmLayout,DjmLayoutContent,DjmLayoutFooter,DjmLayoutHeader,DjmLayoutSider,DjmList,DjmMediaPicker,DjmMentions,DjmMenu,DjmMessageHost,DjmModal,DjmNotification,DjmOrgChart,DjmOrgPicker,DjmPageHeader,DjmPageTabs,DjmPagination,DjmPassword,DjmPopconfirm,DjmPopover,DjmPrint,DjmProgress,DjmQRCode,DjmQueryFilter,DjmRadio,DjmRate,DjmResult,DjmRichEditor,DjmRow,DjmSchedule,DjmSchemaForm,DjmSegmented,DjmSelect,DjmSignature,DjmSkeleton,DjmSlider,DjmSpace,DjmSpin,DjmSplitter,DjmStatistic,DjmStatus,DjmSteps,DjmSwitch,DjmTable,DjmTabs,DjmTag,DjmTimePicker,DjmTimeline,DjmTooltip,DjmTour,DjmTransfer,DjmTree,DjmTreeSelect,DjmTreeTable,DjmUpload,DjmVirtualList,DjmWatermark,PRESET_COLORS,addPermissions,clearPermissions,djmMessage,djmMessages,getLocale,hasPermission,initTheme,install,localeState,moveRows,moveTreeNode,primaryColor,resetPrimaryColor,sanitizeHtml,setLocale,setPermissions,setPrimaryColor,setTheme,t,theme,toggleTheme,vPermission,version});
4205
+ `};function tn(e,t,a,i=null){for(let n=0;n<e.length;n++){let l=e[n];if(l[a]===t)return{node:l,list:e,index:n,parent:i};let r=l.children;if(r&&r.length){let o=tn(r,t,a,l);if(o)return o}}return null}function _n(e,t,a){return e[a]===t?!0:(e.children||[]).some(n=>_n(n,t,a))}function Yn(e,t,a,i="before",n="id"){if(!Array.isArray(e)||t===a)return!1;let l=tn(e,t,n);if(!l||_n(l.node,a,n))return!1;l.list.splice(l.index,1);let r=tn(e,a,n);if(!r)return l.list.splice(l.index,0,l.node),!1;if(i==="inside")return Array.isArray(r.node.children)||(r.node.children=[]),r.node.children.push(l.node),!0;let o=i==="after"?r.index+1:r.index;return r.list.splice(o,0,l.node),!0}function Jn(e,t,a,i="before"){if(!Array.isArray(e)||!Number.isInteger(t)||!Number.isInteger(a)||t<0||t>=e.length||a<0||a>=e.length||t===a)return null;let n=e.slice(),[l]=n.splice(t,1),r=i==="after"?a+1:a;return t<r&&(r-=1),r===t?null:(n.splice(r,0,l),n)}var Gn=require("vue"),ca=(0,Gn.reactive)({codes:new Set});function Xn(e){ca.codes=new Set(e||[])}function Qn(e){(e||[]).forEach(t=>ca.codes.add(t))}function Zn(){ca.codes=new Set}function an(e){return!e||Array.isArray(e)&&!e.length?!0:(Array.isArray(e)?e:[e]).some(a=>ca.codes.has(a))}var ua={mounted(e,t){if(!an(t.value)){if(t.modifiers.disable){e.setAttribute("disabled","disabled"),e.classList.add("djm-is-no-permission");return}e.parentNode&&e.parentNode.replaceChild(document.createComment("v-permission"),e)}}};var wo=[fa,Ne,Qe,Bt,Nt,ft,Rt,Vt,Ot,Ht,pa,ha,Le,va,ga,ba,ya,wa,ja,xa,ka,Sa,Da,Ea,Ma,Ca,ht,$t,Ft,Kt,Wt,vt,Ia,La,Aa,za,Pa,Ba,Na,Ra,Va,Ha,$a,Ua,qa,_a,Ya,Ja,Xa,Qa,Za,_t,Yt,ei,ti,ai,ii,ni,li,oi,ri,si,ci,ui,mi,fi,pi,z,xt,hi,Jt,vi,gi,_e,kt,bi,yi,wi,ji,Si,Di,Ei,Mi,Ci,Ti,Ii,Li,Gt,Ai,Pi,Bi,Ni,Ri,Vi,Oi,$i,Fi,Ki,Ui,qi,_i,Yi,Gi,Xi,Qi,Zi,en],el="0.72.0";function tl(e,t={}){t.locale&&mt(t.locale),wo.forEach(a=>e.component(a.name,a)),e.directive("permission",ua)}var jo={install:tl,version:el};0&&(module.exports={DjmAffix,DjmAlert,DjmAnchor,DjmApprovalFlow,DjmAttachmentList,DjmAutoComplete,DjmAvatar,DjmAvatarGroup,DjmBacktop,DjmBadge,DjmBatchBar,DjmBreadcrumb,DjmButton,DjmCalendar,DjmCard,DjmCarousel,DjmCascader,DjmChat,DjmCheckbox,DjmCol,DjmCollapse,DjmColorPicker,DjmCommandPalette,DjmComment,DjmConfigProvider,DjmConfirmDialog,DjmContextMenu,DjmDatePicker,DjmDateTimePicker,DjmDescriptions,DjmDiff,DjmDivider,DjmDrawer,DjmDropdown,DjmEditableTable,DjmEmpty,DjmFieldList,DjmFilterTags,DjmFloatButton,DjmFloatingWindow,DjmForm,DjmFormItem,DjmGantt,DjmIcon,DjmImage,DjmImportWizard,DjmInput,DjmInputNumber,DjmInputTag,DjmKanban,DjmLayout,DjmLayoutContent,DjmLayoutFooter,DjmLayoutHeader,DjmLayoutSider,DjmList,DjmMediaPicker,DjmMentions,DjmMenu,DjmMessageHost,DjmModal,DjmNotification,DjmOrgChart,DjmOrgPicker,DjmPageHeader,DjmPageTabs,DjmPagination,DjmPassword,DjmPopconfirm,DjmPopover,DjmPrint,DjmProgress,DjmQRCode,DjmQueryFilter,DjmRadio,DjmRate,DjmResult,DjmRichEditor,DjmRow,DjmSchedule,DjmSchemaForm,DjmSegmented,DjmSelect,DjmSignature,DjmSkeleton,DjmSlider,DjmSpace,DjmSpin,DjmSplitter,DjmStatistic,DjmStatus,DjmSteps,DjmSwitch,DjmTable,DjmTabs,DjmTag,DjmTimePicker,DjmTimeline,DjmTooltip,DjmTour,DjmTransfer,DjmTree,DjmTreeSelect,DjmTreeTable,DjmUpload,DjmVirtualList,DjmWatermark,PRESET_COLORS,addPermissions,clearPermissions,djmMessage,djmMessages,getLocale,hasPermission,initTheme,install,localeState,moveRows,moveTreeNode,primaryColor,resetPrimaryColor,sanitizeHtml,setLocale,setPermissions,setPrimaryColor,setTheme,t,theme,toggleTheme,vPermission,version});