@vue-ui-kit/ant 2.5.10 → 2.5.12-beta.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.
- package/dist/cjs/index.js +14 -14
- package/dist/es/index.js +1508 -1355
- package/dist/index.d.ts +58 -4
- package/dist/style.css +4 -4
- package/package.json +2 -2
- package/src/declarations/antProxy.ts +516 -491
- package/src/packages/components/PCanvasGrid.vue +17 -0
- package/src/packages/components/PCanvasTable.vue +7 -1
- package/src/packages/styles/canvas-theme.scss +4 -4
package/dist/cjs/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let l=require("vue"),u=require("ant-design-vue"),d=require("@ant-design/icons-vue");d=c(d,1);var f=o(((e,t)=>{t.exports={keyId:1,cookies:{path:`/`},treeOptions:{parentKey:`parentId`,key:`id`,children:`children`},parseDateFormat:`yyyy-MM-dd HH:mm:ss`,firstDayOfWeek:1}})),p=o(((e,t)=>{function n(e,t,n){if(e)if(e.forEach)e.forEach(t,n);else for(var r=0,i=e.length;r<i;r++)t.call(n,e[r],r,e)}t.exports=n})),m=o(((e,t)=>{t.exports=Object.prototype.toString})),h=o(((e,t)=>{var n=m();function r(e){return function(t){return`[object `+e+`]`===n.call(t)}}t.exports=r})),g=o(((e,t)=>{var n=h();t.exports=Array.isArray||n(`Array`)})),_=o(((e,t)=>{function n(e,t){return e&&e.hasOwnProperty?e.hasOwnProperty(t):!1}t.exports=n})),v=o(((e,t)=>{var n=_();function r(e,t,r){if(e)for(var i in e)n(e,i)&&t.call(r,e[i],i,e)}t.exports=r})),y=o(((e,t)=>{var n=g(),r=p(),i=v();function a(e,t,a){return e&&(n(e)?r:i)(e,t,a)}t.exports=a})),b=o(((e,t)=>{function n(e){return function(t){return typeof t===e}}t.exports=n})),x=o(((e,t)=>{t.exports=b()(`function`)})),S=o(((e,t)=>{var n=y();function r(e,t){var r=Object[e];return function(e){var i=[];if(e){if(r)return r(e);n(e,t>1?function(t){i.push([``+t,e[t]])}:function(){i.push(arguments[t])})}return i}}t.exports=r})),C=o(((e,t)=>{t.exports=S()(`keys`,1)})),w=o(((e,t)=>{var n=m(),r=v(),i=p();function a(e,t){var n=e.__proto__.constructor;return t?new n(t):new n}function o(e,t){return t?s(e,t):e}function s(e,t){if(e)switch(n.call(e)){case`[object Object]`:var s=Object.create(Object.getPrototypeOf(e));return r(e,function(e,n){s[n]=o(e,t)}),s;case`[object Date]`:case`[object RegExp]`:return a(e,e.valueOf());case`[object Array]`:case`[object Arguments]`:var c=[];return i(e,function(e){c.push(o(e,t))}),c;case`[object Set]`:var l=a(e);return l.forEach(function(e){l.add(o(e,t))}),l;case`[object Map]`:var u=a(e);return u.forEach(function(e,n){u.set(n,o(e,t))}),u}return e}function c(e,t){return e&&s(e,t)}t.exports=c})),T=o(((e,t)=>{var n=p(),r=C(),i=g(),a=w(),o=Object.assign;function s(e,t,i){for(var o=t.length,s,c=1;c<o;c++)s=t[c],n(r(t[c]),i?function(t){e[t]=a(s[t],i)}:function(t){e[t]=s[t]});return e}t.exports=function(e){if(e){var t=arguments;if(e===!0){if(t.length>1)return e=i(e[1])?[]:{},s(e,t,!0)}else return o?o.apply(Object,t):s(e,t)}return e}})),E=o(((e,t)=>{var n=f(),r=p(),i=y(),a=x(),o=T(),s=function(){};function c(){r(arguments,function(e){i(e,function(e,t){s[t]=a(e)?function(){var t=e.apply(s.$context,arguments);return s.$context=null,t}:e})})}function l(e){return o(n,e)}function u(){return n}var d=`3.9.1`;s.VERSION=d,s.version=d,s.mixin=c,s.setup=l,s.setConfig=l,s.getConfig=u,t.exports=s})),D=o(((e,t)=>{function n(e,t,n){for(var r=e.length-1;r>=0;r--)t.call(n,e[r],r,e)}t.exports=n})),O=o(((e,t)=>{var n=D(),r=C();function i(e,t,i){n(r(e),function(n){t.call(i,e[n],n,e)})}t.exports=i})),k=o(((e,t)=>{function n(e){return e===null}t.exports=n})),A=o(((e,t)=>{var n=k();function r(e,t){return function(r){return n(r)?t:r[e]}}t.exports=r})),j=o(((e,t)=>{var n=y(),r=x(),i=A();function a(e,t,a){var o={};if(e)if(t)r(t)||(t=i(t)),n(e,function(n,r){o[r]=t.call(a,n,r,e)});else return e;return o}t.exports=a})),M=o(((e,t)=>{function n(e){return e?e.constructor===Object:!1}t.exports=n})),ee=o(((e,t)=>{function n(e){return e!==`__proto__`&&e!==`constructor`}t.exports=n})),te=o(((e,t)=>{var n=g(),r=M(),i=x(),a=y(),o=ee();function s(e,t){return r(e)&&r(t)||n(e)&&n(t)?(a(t,function(n,r){o(r)&&(e[r]=i(t)?n:s(e[r],n))}),e):t}t.exports=function(e){e||={};for(var t=arguments,n=t.length,r,i=1;i<n;i++)r=t[i],r&&s(e,r);return e}})),N=o(((e,t)=>{var n=y();function r(e,t,r){var i=[];if(e&&arguments.length>1){if(e.map)return e.map(t,r);n(e,function(){i.push(t.apply(r,arguments))})}return i}t.exports=r})),P=o(((e,t)=>{var n=_(),r=g();function i(e,t,i,a,o){return function(s,c,l){if(s&&c){if(e&&s[e])return s[e](c,l);if(t&&r(s)){for(var u=0,d=s.length;u<d;u++)if(!!c.call(l,s[u],u,s)===a)return[!0,!1,u,s[u]][i]}else for(var f in s)if(n(s,f)&&!!c.call(l,s[f],f,s)===a)return[!0,!1,f,s[f]][i]}return o}}t.exports=i})),ne=o(((e,t)=>{t.exports=P()(`some`,1,0,!0,!1)})),re=o(((e,t)=>{t.exports=P()(`every`,1,1,!1,!0)})),F=o(((e,t)=>{var n=_();function r(e,t){if(e){if(e.includes)return e.includes(t);for(var r in e)if(n(e,r)&&t===e[r])return!0}return!1}t.exports=r})),ie=o(((e,t)=>{var n=g(),r=F();function i(e,t){var i,a=0;if(n(e)&&n(t)){for(i=t.length;a<i;a++)if(!r(e,t[a]))return!1;return!0}return r(e,t)}t.exports=i})),ae=o(((e,t)=>{var n=y(),r=F(),i=x(),a=A();function o(e,t,o){var s=[];if(t){i(t)||(t=a(t));var c,l={};n(e,function(n,r){c=t.call(o,n,r,e),l[c]||(l[c]=1,s.push(n))})}else n(e,function(e){r(s,e)||s.push(e)});return s}t.exports=o})),oe=o(((e,t)=>{var n=N();function r(e){return n(e,function(e){return e})}t.exports=r})),se=o(((e,t)=>{var n=ae(),r=oe();function i(){for(var e=arguments,t=[],i=0,a=e.length;i<a;i++)t=t.concat(r(e[i]));return n(t)}t.exports=i})),I=o(((e,t)=>{t.exports=`undefined`})),ce=o(((e,t)=>{var n=I();t.exports=b()(n)})),L=o(((e,t)=>{var n=k(),r=ce();function i(e){return n(e)||r(e)}t.exports=i})),le=o(((e,t)=>{t.exports=/(.+)?\[(\d+)\]$/})),ue=o(((e,t)=>{function n(e){return e?e.splice&&e.join?e:(``+e).replace(/(\[\d+\])\.?/g,`$1.`).replace(/\.$/,``).split(`.`):[]}t.exports=n})),de=o(((e,t)=>{var n=le(),r=ue(),i=_(),a=ce(),o=L();function s(e,t,n){if(o(e))return n;var r=l(e,t);return a(r)?n:r}function c(e,t){var r=t?t.match(n):``;return r?r[1]?e[r[1]]?e[r[1]][r[2]]:void 0:e[r[2]]:e[t]}function l(e,t){if(e){var n,a,s,l=0;if(e[t]||i(e,t))return e[t];if(a=r(t),s=a.length,s){for(n=e;l<s;l++)if(n=c(n,a[l]),o(n))return l===s-1?n:void 0}return n}}t.exports=s})),fe=o(((e,t)=>{var n=p(),r=oe(),i=N(),a=g(),o=x(),s=M(),c=ce(),l=k(),u=L(),d=de(),f=A(),m=`asc`,h=`desc`;function _(e,t){return c(e)?1:l(e)?c(t)?-1:1:e&&e.localeCompare?e.localeCompare(t):e>t?1:-1}function v(e,t,n){return function(r,i){var a=r[e],o=i[e];return a===o?n?n(r,i):0:t.order===h?_(o,a):_(a,o)}}function y(e,t,r,i){var c=[];return r=a(r)?r:[r],n(r,function(r,l){if(r){var u=r,f;a(r)?(u=r[0],f=r[1]):s(r)&&(u=r.field,f=r.order),c.push({field:u,order:f||m}),n(t,o(u)?function(t,n){t[l]=u.call(i,t.data,n,e)}:function(e){e[l]=u?d(e.data,u):e.data})}}),c}function b(e,t,n){if(e){if(u(t))return r(e).sort(_);for(var a,o=i(e,function(e){return{data:e}}),s=y(e,o,t,n),c=s.length-1;c>=0;)a=v(c,s[c],a),c--;return a&&(o=o.sort(a)),i(o,f(`data`))}return[]}t.exports=b})),pe=o(((e,t)=>{t.exports=fe()})),me=o(((e,t)=>{function n(e,t){return e>=t?e:(e>>=0)+Math.round(Math.random()*((t||9)-e))}t.exports=n})),he=o(((e,t)=>{t.exports=S()(`values`,0)})),ge=o(((e,t)=>{var n=me(),r=he();function i(e){for(var t,i=[],a=r(e),o=a.length-1;o>=0;o--)t=o>0?n(0,o):0,i.push(a[t]),a.splice(t,1);return i}t.exports=i})),_e=o(((e,t)=>{var n=ge();function r(e,t){var r=n(e);return arguments.length<=1?r[0]:(t<r.length&&(r.length=t||0),r)}t.exports=r})),ve=o(((e,t)=>{function n(e){return function(t){if(t){var n=e(t&&t.replace?t.replace(/,/g,``):t);if(!isNaN(n))return n}return 0}}t.exports=n})),R=o(((e,t)=>{t.exports=ve()(parseFloat)})),ye=o(((e,t)=>{var n=R();function r(e,t,r){var i=[],a=arguments.length;if(e){if(t=a>=2?n(t):0,r=a>=3?n(r):e.length,e.slice)return e.slice(t,r);for(;t<r;t++)i.push(e[t])}return i}t.exports=r})),z=o(((e,t)=>{var n=y();function r(e,t,r){var i=[];if(e&&t){if(e.filter)return e.filter(t,r);n(e,function(n,a){t.call(r,n,a,e)&&i.push(n)})}return i}t.exports=r})),B=o(((e,t)=>{t.exports=P()(``,0,2,!0)})),be=o(((e,t)=>{t.exports=P()(`find`,1,3,!0)})),xe=o(((e,t)=>{var n=g(),r=he();function i(e,t,i){if(e){n(e)||(e=r(e));for(var a=e.length-1;a>=0;a--)if(t.call(i,e[a],a,e))return e[a]}}t.exports=i})),Se=o(((e,t)=>{var n=C();function r(e,t,r){if(e){var i,a,o=0,s=null,c=r,l=arguments.length>2,u=n(e);if(e.length&&e.reduce)return a=function(){return t.apply(s,arguments)},l?e.reduce(a,c):e.reduce(a);for(l&&(o=1,c=e[u[0]]),i=u.length;o<i;o++)c=t.call(s,c,e[u[o]],o,e);return c}}t.exports=r})),V=o(((e,t)=>{var n=g();function r(e,t,r,i){if(n(e)&&e.copyWithin)return e.copyWithin(t,r,i);var a,o,s=t>>0,c=r>>0,l=e.length,u=arguments.length>3?i>>0:l;if(s<l&&(s=s>=0?s:l+s,s>=0&&(c=c>=0?c:l+c,u=u>=0?u:l+u,c<u)))for(a=0,o=e.slice(c,u);s<l&&!(o.length<=a);s++)e[s]=o[a++];return e}t.exports=r})),H=o(((e,t)=>{var n=g();function r(e,t){var r,i=[],a=t>>0||1;if(n(e))if(a>=0&&e.length>a)for(r=0;r<e.length;)i.push(e.slice(r,r+a)),r+=a;else i=e.length?[e]:e;return i}t.exports=r})),Ce=o(((e,t)=>{var n=N(),r=A();function i(e,t){return n(e,r(t))}t.exports=i})),U=o(((e,t)=>{var n=x(),r=L(),i=de(),a=p();function o(e){return function(t,o){if(t&&t.length){var s,c;return a(t,function(a,l){o&&(a=n(o)?o(a,l,t):i(a,o)),!r(a)&&(r(s)||e(s,a))&&(c=l,s=a)}),t[c]}return s}}t.exports=o})),W=o(((e,t)=>{t.exports=U()(function(e,t){return e<t})})),we=o(((e,t)=>{var n=Ce(),r=W();function i(e){var t,i,a,o=[];if(e&&e.length)for(t=0,i=r(e,function(e){return e?e.length:0}),a=i?i.length:0;t<a;t++)o.push(n(e,t));return o}t.exports=i})),Te=o(((e,t)=>{var n=we();function r(){return n(arguments)}t.exports=r})),Ee=o(((e,t)=>{var n=he(),r=y();function i(e,t){var i={};return t||=[],r(n(e),function(e,n){i[e]=t[n]}),i}t.exports=i})),De=o(((e,t)=>{var n=g(),r=p();function i(e,t){var a=[];return r(e,function(e){a=a.concat(n(e)?t?i(e,t):e:[e])}),a}function a(e,t){return n(e)?i(e,t):[]}t.exports=a})),G=o(((e,t)=>{var n=N(),r=g();function i(e,t){for(var n=0,r=t.length;e&&n<r;)e=e[t[n++]];return r&&e?e:0}function a(e,t){for(var a,o=arguments,s=[],c=[],l=2,u=o.length;l<u;l++)s.push(o[l]);if(r(t)){for(u=t.length-1,l=0;l<u;l++)c.push(t[l]);t=t[u]}return n(e,function(e){if(c.length&&(e=i(e,c)),a=e[t]||t,a&&a.apply)return a.apply(e,s)})}t.exports=a})),Oe=o(((e,t)=>{function n(e,t){return(console[e]||console.log)(t)}t.exports=n})),ke=o(((e,t)=>{function n(e,t){try{delete e[t]}catch{e[t]=void 0}}t.exports=n})),Ae=o(((e,t)=>{var n=g(),r=D(),i=O();function a(e,t,a){return e&&(n(e)?r:i)(e,t,a)}t.exports=a})),je=o(((e,t)=>{t.exports=b()(`object`)})),Me=o(((e,t)=>{var n=ke(),r=M(),i=je(),a=g(),o=k(),s=T(),c=v();function l(e,t,l){if(e){var u,d=arguments.length>1&&(o(t)||!i(t)),f=d?l:t;if(r(e))c(e,d?function(n,r){e[r]=t}:function(t,r){n(e,r)}),f&&s(e,f);else if(a(e)){if(d)for(u=e.length;u>0;)u--,e[u]=t;else e.length=0;f&&e.push.apply(e,f)}}return e}t.exports=l})),Ne=o(((e,t)=>{var n=ke(),r=x(),i=g(),a=y(),o=p(),s=Ae(),c=Me(),l=L();function u(e){return function(t,n){return n===e}}function d(e,t,d){if(e){if(!l(t)){var f=[],p=[];return r(t)||(t=u(t)),a(e,function(e,n,r){t.call(d,e,n,r)&&f.push(n)}),i(e)?s(f,function(t,n){p.push(e[t]),e.splice(t,1)}):(p={},o(f,function(t){p[t]=e[t],n(e,t)})),p}return c(e)}return e}t.exports=d})),Pe=o(((e,t)=>{var n=f(),r=Oe(),i=fe(),a=w(),o=L(),s=y(),c=Ne(),l=T();function u(e,t){s(e,function(e){e[t]&&!e[t].length&&c(e,t)})}function d(e,t){var c=l({},n.treeOptions,t),d=c.strict,f=c.key,p=c.parentKey,m=c.children,h=c.mapChildren,g=c.sortKey,_=c.reverse,v=c.data,y=[],b={},x={},S,C,w;return g&&(e=i(a(e),g),_&&(e=e.reverse())),s(e,function(e){S=e[f],x[S]&&r(`warn`,`Duplicate primary key=`+S),x[S]=!0}),s(e,function(e){S=e[f],v?(C={},C[v]=e):C=e,w=e[p],b[S]=b[S]||[],C[f]=S,C[p]=w,S===w&&(w=null,r(`warn`,`Error infinite Loop. key=`+S+` parentKey=`+S)),b[w]=b[w]||[],b[w].push(C),C[m]=b[S],h&&(C[h]=b[S]),(!d||d&&o(w))&&(x[w]||y.push(C))}),d&&u(e,m),y}t.exports=d})),Fe=o(((e,t)=>{var n=f(),r=p(),i=T();function a(e,t,n,i){var o=i.key,s=i.parentKey,c=i.children,l=i.data,u=i.updated,d=i.clear;return r(n,function(n){var r=n[c];l&&(n=n[l]),u!==!1&&(n[s]=t?t[o]:null),e.push(n),r&&r.length&&a(e,n,r,i),d&&delete n[c]}),e}function o(e,t){return a([],null,e,i({},n.treeOptions,t))}t.exports=o})),Ie=o(((e,t)=>{function n(e){return function(t,n,r,i){var a=r||{};return e(null,t,n,i,[],[],a.children||`children`,a)}}t.exports=n})),Le=o(((e,t)=>{var n=Ie();function r(e,t,n,i,a,o,s,c){if(t){var l,u,d,f,p,m;for(u=0,d=t.length;u<d;u++){if(l=t[u],f=a.concat([``+u]),p=o.concat([l]),n.call(i,l,u,t,f,e,p))return{index:u,item:l,path:f,items:t,parent:e,nodes:p};if(s&&l&&(m=r(l,l[s],n,i,f.concat([s]),p,s,c),m))return m}}}t.exports=n(r)})),Re=o(((e,t)=>{var n=Ie(),r=y();function i(e,t,n,a,o,s,c,l){var u,d;r(t,function(r,f){u=o.concat([``+f]),d=s.concat([r]),n.call(a,r,f,t,u,e,d),r&&c&&(u.push(c),i(r,r[c],n,a,u,d,c,l))})}t.exports=n(i)})),ze=o(((e,t)=>{var n=Ie(),r=N();function i(e,t,n,a,o,s,c,l){var u,d,f,p=l.mapChildren||c;return r(t,function(r,m){return u=o.concat([``+m]),d=s.concat([r]),f=n.call(a,r,m,t,u,e,d),f&&r&&c&&r[c]&&(f[p]=i(r,r[c],n,a,u,d,c,l)),f})}t.exports=n(i)})),Be=o(((e,t)=>{var n=Re();function r(e,t,r,i){var a=[];return e&&t&&n(e,function(e,n,r,o,s,c){t.call(i,e,n,r,o,s,c)&&a.push(e)},r),a}t.exports=r})),Ve=o(((e,t)=>{var n=Ie(),r=p(),i=T();function a(e,t,n,o,s,c,l,u,d){var f,p,m,h,g,_=[],v=d.original,y=d.data,b=d.mapChildren||u,x=d.isEvery;return r(n,function(r,S){f=c.concat([``+S]),p=l.concat([r]),h=e&&!x||o.call(s,r,S,n,f,t,p),g=u&&r[u],h||g?(v?m=r:(m=i({},r),y&&(m[y]=r)),m[b]=a(h,r,r[u],o,s,f,p,u,d),(h||m[b].length)&&_.push(m)):h&&_.push(m)}),_}t.exports=n(function(e,t,n,r,i,o,s,c){return a(0,e,t,n,r,i,o,s,c)})})),He=o(((e,t)=>{function n(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(t===e[n])return n}t.exports=n})),Ue=o(((e,t)=>{function n(e,t){if(e.lastIndexOf)return e.lastIndexOf(t);for(var n=e.length-1;n>=0;n--)if(t===e[n])return n;return-1}t.exports=n})),We=o(((e,t)=>{t.exports=b()(`number`)})),Ge=o(((e,t)=>{var n=We();function r(e){return n(e)&&isNaN(e)}t.exports=r})),Ke=o(((e,t)=>{t.exports=b()(`string`)})),qe=o(((e,t)=>{t.exports=h()(`Date`)})),K=o(((e,t)=>{t.exports=parseInt})),Je=o(((e,t)=>{function n(e){return Date.UTC(e.y,e.M||0,e.d||1,e.H||0,e.m||0,e.s||0,e.S||0)}t.exports=n})),q=o(((e,t)=>{function n(e){return e.getTime()}t.exports=n})),J=o(((e,t)=>{var n=K(),r=Je(),i=q(),a=Ke(),o=qe();function s(e){return`(\\d{`+e+`})`}function c(e){return e<10?e*100:e<100?e*10:e}function l(e){return isNaN(e)?e:n(e)}for(var u=s(2),d=s(`1,2`),f=s(`1,7`),p=s(`3,4`),m=`.{1}`,h=m+d,g=`(([zZ])|([-+]\\d{2}:?\\d{2}))`,_=[p,h,h,h,h,h,m+f,g],v=[],y=_.length-1;y>=0;y--){for(var b=``,x=0;x<y+1;x++)b+=_[x];v.push(RegExp(`^`+b+`$`))}function S(e){for(var t,n={},r=0,i=v.length;r<i;r++)if(t=e.match(v[r]),t){n.y=t[1],n.M=t[2],n.d=t[3],n.H=t[4],n.m=t[5],n.s=t[6],n.S=t[7],n.Z=t[8];break}return n}for(var C=[[`yyyy`,p],[`yy`,u],[`MM`,u],[`M`,d],[`dd`,u],[`d`,d],[`HH`,u],[`H`,d],[`mm`,u],[`m`,d],[`ss`,u],[`s`,d],[`SSS`,s(3)],[`S`,f],[`Z`,g]],w={},T=[`\\[([^\\]]+)\\]`],x=0;x<C.length;x++){var E=C[x];w[E[0]]=E[1]+`?`,T.push(E[0])}var D=new RegExp(T.join(`|`),`g`),O={};function k(e,t){var n=O[t];if(!n){var r=[],i=t.replace(/([$(){}*+.?\\^|])/g,`\\$1`).replace(D,function(e,t){var n=e.charAt(0);return n===`[`?t:(r.push(n),w[e])});n=O[t]={_i:r,_r:new RegExp(i)}}var a={},o=e.match(n._r);if(o){for(var s=n._i,c=1,l=o.length;c<l;c++)a[s[c-1]]=o[c];return a}return a}function A(e){if(/^[zZ]/.test(e.Z))return new Date(r(e));var t=e.Z.match(/([-+])(\d{2}):?(\d{2})/);return t?new Date(r(e)-(t[1]===`-`?-1:1)*n(t[2])*36e5+n(t[3])*6e4):new Date(``)}function j(e,t){if(e){var r=o(e);if(r||!t&&/^[0-9]{11,15}$/.test(e))return new Date(r?i(e):n(e));if(a(e)){var s=t?k(e,t):S(e);if(s.y)return s.M&&=l(s.M)-1,s.S&&=c(l(s.S.substring(0,3))),s.Z?A(s):new Date(s.y,s.M||0,s.d||1,s.H||0,s.m||0,s.s||0,s.S||0)}}return new Date(``)}t.exports=j})),Ye=o(((e,t)=>{function n(){return new Date}t.exports=n})),Xe=o(((e,t)=>{var n=qe(),r=J(),i=Ye();function a(e){var t,a=e?r(e):i();return n(a)?(t=a.getFullYear(),t%4==0&&(t%100!=0||t%400==0)):!1}t.exports=a})),Ze=o(((e,t)=>{var n=g(),r=_();function i(e,t,i){if(e){if(n(e))for(var a=0,o=e.length;a<o&&t.call(i,e[a],a,e)!==!1;a++);else for(var s in e)if(r(e,s)&&t.call(i,e[s],s,e)===!1)break}}t.exports=i})),Qe=o(((e,t)=>{var n=g(),r=_();function i(e,t,i){if(e){var a,o;if(n(e))for(a=e.length-1;a>=0&&t.call(i,e[a],a,e)!==!1;a--);else for(o=r(e),a=o.length-1;a>=0&&t.call(i,e[o[a]],o[a],e)!==!1;a--);}}t.exports=i})),$e=o(((e,t)=>{var n=g(),r=Ke(),i=_();function a(e,t){return function(a,o){if(a){if(a[e])return a[e](o);if(r(a)||n(a))return t(a,o);for(var s in a)if(i(a,s)&&o===a[s])return s}return-1}}t.exports=a})),et=o(((e,t)=>{t.exports=$e()(`indexOf`,He())})),tt=o(((e,t)=>{t.exports=$e()(`lastIndexOf`,Ue())})),nt=o(((e,t)=>{var n=g(),r=Ke(),i=y();function a(e){var t=0;return r(e)||n(e)?e.length:(i(e,function(){t++}),t)}t.exports=a})),rt=o(((e,t)=>{var n=We();function r(e){return n(e)&&isFinite(e)}t.exports=r})),it=o(((e,t)=>{var n=g(),r=k();t.exports=function(e){return!r(e)&&!isNaN(e)&&!n(e)&&e%1==0}})),at=o(((e,t)=>{var n=g(),r=it(),i=k();function a(e){return!i(e)&&!isNaN(e)&&!n(e)&&!r(e)}t.exports=a})),ot=o(((e,t)=>{t.exports=b()(`boolean`)})),st=o(((e,t)=>{t.exports=h()(`RegExp`)})),ct=o(((e,t)=>{t.exports=h()(`Error`)})),lt=o(((e,t)=>{function n(e){return e?e.constructor===TypeError:!1}t.exports=n})),ut=o(((e,t)=>{function n(e){for(var t in e)return!1;return!0}t.exports=n})),dt=o(((e,t)=>{var n=I(),r=typeof Symbol!==n;function i(e){return r&&Symbol.isSymbol?Symbol.isSymbol(e):typeof e==`symbol`}t.exports=i})),ft=o(((e,t)=>{t.exports=h()(`Arguments`)})),pt=o(((e,t)=>{var n=Ke(),r=We();function i(e){return!!(e&&n(e.nodeName)&&r(e.nodeType))}t.exports=i})),mt=o(((e,t)=>{var n=I();t.exports=typeof document===n?0:document})),ht=o(((e,t)=>{var n=mt();function r(e){return!!(e&&n&&e.nodeType===9)}t.exports=r})),gt=o(((e,t)=>{var n=I();t.exports=typeof window===n?0:window})),_t=o(((e,t)=>{var n=gt();function r(e){return!!(n&&e&&e===e.window)}t.exports=r})),vt=o(((e,t)=>{var n=I(),r=typeof FormData!==n;function i(e){return r&&e instanceof FormData}t.exports=i})),yt=o(((e,t)=>{var n=I(),r=typeof Map!==n;function i(e){return r&&e instanceof Map}t.exports=i})),bt=o(((e,t)=>{var n=I(),r=typeof WeakMap!==n;function i(e){return r&&e instanceof WeakMap}t.exports=i})),xt=o(((e,t)=>{var n=I(),r=typeof Set!==n;function i(e){return r&&e instanceof Set}t.exports=i})),St=o(((e,t)=>{var n=I(),r=typeof WeakSet!==n;function i(e){return r&&e instanceof WeakSet}t.exports=i})),Ct=o(((e,t)=>{var n=x(),r=Ke(),i=g(),a=_();function o(e){return function(t,o,s){if(t&&n(o)){if(i(t)||r(t))return e(t,o,s);for(var c in t)if(a(t,c)&&o.call(s,t[c],c,t))return c}return-1}}t.exports=o})),wt=o(((e,t)=>{t.exports=Ct()(function(e,t,n){for(var r=0,i=e.length;r<i;r++)if(t.call(n,e[r],r,e))return r;return-1})})),Tt=o(((e,t)=>{var n=We(),r=g(),i=Ke(),a=st(),o=qe(),s=ot(),c=ce(),l=C(),u=re();function d(e,t,f,p,m,h,g){if(e===t)return!0;if(e&&t&&!n(e)&&!n(t)&&!i(e)&&!i(t)){if(a(e))return f(``+e,``+t,m,h,g);if(o(e)||s(e))return f(+e,+t,m,h,g);var _,v,y,b=r(e),x=r(t);if(b||x?b&&x:e.constructor===t.constructor)return v=l(e),y=l(t),p&&(_=p(e,t,m)),v.length===y.length?c(_)?u(v,function(n,r){return n===y[r]&&d(e[n],t[y[r]],f,p,b||x?r:n,e,t)}):!!_:!1}return f(e,t,m,h,g)}t.exports=d})),Et=o(((e,t)=>{function n(e,t){return e===t}t.exports=n})),Dt=o(((e,t)=>{var n=Tt(),r=Et();function i(e,t){return n(e,t,r)}t.exports=i})),Ot=o(((e,t)=>{var n=C(),r=wt(),i=Dt(),a=ne(),o=ie();function s(e,t){var s=n(e),c=n(t);if(c.length){if(o(s,c))return a(c,function(n){return r(s,function(r){return r===n&&i(e[r],t[n])})>-1})}else return!0;return i(e,t)}t.exports=s})),kt=o(((e,t)=>{var n=Tt(),r=Et(),i=x(),a=ce();function o(e,t,o){return i(o)?n(e,t,function(e,t,n,i,s){var c=o(e,t,n,i,s);return a(c)?r(e,t):!!c},o):n(e,t,r)}t.exports=o})),At=o(((e,t)=>{var n=dt(),r=qe(),i=g(),a=st(),o=ct(),s=k();function c(e){return s(e)?`null`:n(e)?`symbol`:r(e)?`date`:i(e)?`array`:a(e)?`regexp`:o(e)?`error`:typeof e}t.exports=c})),jt=o(((e,t)=>{var n=f(),r=L();function i(e){return``+(r(e)?``:e)+n.keyId++}t.exports=i})),Mt=o(((e,t)=>{t.exports=Ct()(function(e,t,n){for(var r=e.length-1;r>=0;r--)if(t.call(n,e[r],r,e))return r;return-1})})),Nt=o(((e,t)=>{var n=M(),r=Ke();function i(e){if(n(e))return e;if(r(e))try{return JSON.parse(e)}catch{}return{}}t.exports=i})),Pt=o(((e,t)=>{var n=L();function r(e){return n(e)?``:JSON.stringify(e)}t.exports=r})),Ft=o(((e,t)=>{t.exports=S()(`entries`,2)})),It=o(((e,t)=>{var n=x(),r=g(),i=y(),a=wt();function o(e,t){return function(o,s){var c,l,u={},d=[],f=this,p=arguments,m=p.length;if(!n(s)){for(l=1;l<m;l++)c=p[l],d.push.apply(d,r(c)?c:[c]);s=0}return i(o,function(n,r){((s?s.call(f,n,r,o):a(d,function(e){return e===r})>-1)?e:t)&&(u[r]=n)}),u}}t.exports=o})),Lt=o(((e,t)=>{t.exports=It()(1,0)})),Rt=o(((e,t)=>{t.exports=It()(0,1)})),zt=o(((e,t)=>{var n=he();function r(e){return n(e)[0]}t.exports=r})),Bt=o(((e,t)=>{var n=he();function r(e){var t=n(e);return t[t.length-1]}t.exports=r})),Vt=o(((e,t)=>{var n=le(),r=ue(),i=_();function a(e,t){if(e){if(i(e,t))return!0;var a,o,s,c,l,u,d=r(t),f=0,p=d.length;for(l=e;f<p&&(u=!1,a=d[f],c=a?a.match(n):``,c?(o=c[1],s=c[2],o?l[o]&&i(l[o],s)&&(u=!0,l=l[o][s]):i(l,s)&&(u=!0,l=l[s])):i(l,a)&&(u=!0,l=l[a]),u);f++)if(f===p-1)return!0}return!1}t.exports=a})),Ht=o(((e,t)=>{var n=K(),r=ue(),i=ee(),a=_(),o=/(.+)?\[(\d+)\]$/;function s(e,t,r,i,a){if(e[t])r&&(e[t]=a);else{var s,c,l=t?t.match(o):null;if(r)c=a;else{var u=i?i.match(o):null;c=u&&!u[1]?Array(n(u[2])+1):{}}return l?l[1]?(s=n(l[2]),e[l[1]]?r?e[l[1]][s]=c:e[l[1]][s]?c=e[l[1]][s]:e[l[1]][s]=c:(e[l[1]]=Array(s+1),e[l[1]][s]=c)):e[l[2]]=c:e[t]=c,c}return e[t]}function c(e,t,n){if(e&&i(t)){if((e[t]||a(e,t))&&!l(t))e[t]=n;else for(var o=e,c=r(t),u=c.length,d=0;d<u;d++)if(!l(c[d])){var f=d===u-1;o=s(o,c[d],f,f?null:c[d+1],n)}}return e}function l(e){return e===`__proto__`||e===`constructor`||e===`prototype`}t.exports=c})),Ut=o(((e,t)=>{var n=ut(),r=je(),i=x(),a=A(),o=y();function s(e){return function(){return n(e)}}function c(e,t,n){var c,l={};return e&&(t&&r(t)?t=s(t):i(t)||(t=a(t)),o(e,function(r,i){c=t?t.call(n,r,i,e):r,l[c]?l[c].push(r):l[c]=[r]})),l}t.exports=c})),Wt=o(((e,t)=>{var n=Ut(),r=v();function i(e,t,i){var a=n(e,t,i||this);return r(a,function(e,t){a[t]=e.length}),a}t.exports=i})),Gt=o(((e,t)=>{function n(e,t,n){var r,i,a=[],o=arguments;if(o.length<2&&(t=o[0],e=0),r=e>>0,i=t>>0,r<t)for(n=n>>0||1;r<i;r+=n)a.push(r);return a}t.exports=n})),Kt=o(((e,t)=>{var n=C(),r=ye(),i=F(),a=p(),o=T();function s(e,t){if(e&&t){var s=o.apply(this,[{}].concat(r(arguments,1))),c=n(s);a(n(e),function(t){i(c,t)&&(e[t]=s[t])})}return e}t.exports=s})),qt=o(((e,t)=>{t.exports=U()(function(e,t){return e>t})})),Jt=o(((e,t)=>{function n(e){return(e.split(`.`)[1]||``).length}t.exports=n})),Yt=o(((e,t)=>{var n=K();function r(e,t){if(e.repeat)return e.repeat(t);var r=isNaN(t)?[]:Array(n(t));return r.join(e)+(r.length>0?e:``)}t.exports=r})),Xt=o(((e,t)=>{function n(e,t){return e.substring(0,t)+`.`+e.substring(t,e.length)}t.exports=n})),Zt=o(((e,t)=>{var n=Yt(),r=Xt();function i(e){var t=``+e,i=t.match(/^([-+]?)((\d+)|((\d+)?[.](\d+)?))e([-+]{1})([0-9]+)$/);if(i){var a=e<0?`-`:``,o=i[3]||``,s=i[5]||``,c=i[6]||``,l=i[7],u=i[8],d=u-c.length,f=u-o.length,p=u-s.length;return l===`+`?o?a+o+n(`0`,u):d>0?a+s+c+n(`0`,d):a+s+r(c,u):o?f>0?a+`0.`+n(`0`,Math.abs(f))+o:a+r(o,f):p>0?a+`0.`+n(`0`,Math.abs(p))+s+c:a+r(s,p)+c}return t}t.exports=i})),Qt=o(((e,t)=>{var n=Jt(),r=Zt();function i(e,t){var i=r(e),a=r(t);return parseInt(i.replace(`.`,``))*parseInt(a.replace(`.`,``))/10**(n(i)+n(a))}t.exports=i})),$t=o(((e,t)=>{var n=Qt(),r=R(),i=Zt();function a(e){return function(t,a){var o=r(t),s=o;if(o){a>>=0;var c=i(o).split(`.`),l=c[0],u=c[1]||``,d=u.substring(0,a+1),f=l+(d?`.`+d:``);if(a>=u.length)return r(f);if(f=o,a>0){var p=10**a;s=Math[e](n(f,p))/p}else s=Math[e](f)}return s}}t.exports=a})),en=o(((e,t)=>{t.exports=$t()(`round`)})),tn=o(((e,t)=>{t.exports=$t()(`ceil`)})),nn=o(((e,t)=>{t.exports=$t()(`floor`)})),Y=o(((e,t)=>{var n=L(),r=We(),i=Zt();function a(e){return r(e)?i(e):``+(n(e)?``:e)}t.exports=a})),rn=o(((e,t)=>{var n=en(),r=Y(),i=Yt(),a=Xt();function o(e,t){t>>=0;var o=r(n(e,t)).split(`.`),s=o[0],c=o[1]||``,l=t-c.length;return t?l>0?s+`.`+c+i(`0`,l):s+a(c,Math.abs(l)):s}t.exports=o})),an=o(((e,t)=>{var n=f(),r=en(),i=tn(),a=nn(),o=We(),s=Y(),c=rn(),l=Zt(),u=T();function d(e,t){var d=u({},n.commafyOptions,t),f=d.digits,p=o(e),m,h,g,_,v;return p?(m=(d.ceil?i:d.floor?a:r)(e,f),h=l(f?c(m,f):m).split(`.`),_=h[0],v=h[1],g=_&&m<0,g&&(_=_.substring(1,_.length))):(m=s(e).replace(/,/g,``),h=m?[m]:[],_=h[0]),h.length?(g?`-`:``)+_.replace(RegExp(`(?=(?!(\\b))(.{`+(d.spaceNumber||3)+`})+$)`,`g`),d.separator||`,`)+(v?`.`+v:``):m}t.exports=d})),on=o(((e,t)=>{var n=K();t.exports=ve()(n)})),sn=o(((e,t)=>{var n=Qt(),r=R();function i(e,t){return n(r(e),r(t))}t.exports=i})),cn=o(((e,t)=>{var n=Jt(),r=Zt(),i=sn();function a(e,t){var a=r(e),o=r(t),s=10**Math.max(n(a),n(o));return(i(e,s)+i(t,s))/s}t.exports=a})),ln=o(((e,t)=>{var n=cn(),r=R();function i(e,t){return n(r(e),r(t))}t.exports=i})),un=o(((e,t)=>{var n=Jt(),r=Zt(),i=R(),a=rn();function o(e,t){var o=i(e),s=i(t),c=r(o),l=r(s),u=n(c),d=n(l),f=10**Math.max(u,d),p=u>=d?u:d;return parseFloat(a((o*f-s*f)/f,p))}t.exports=o})),dn=o(((e,t)=>{var n=Jt(),r=Zt(),i=sn();function a(e,t){var a=r(e),o=r(t),s=n(a),c=n(o)-s,l=c<0,u=10**(l?Math.abs(c):c);return i(a.replace(`.`,``)/o.replace(`.`,``),l?1/u:u)}t.exports=a})),fn=o(((e,t)=>{var n=dn(),r=R();function i(e,t){return n(r(e),r(t))}t.exports=i})),pn=o(((e,t)=>{var n=cn(),r=x(),i=g(),a=y(),o=de();function s(e,t,s){var c=0;return a(e&&e.length>2&&i(e)?e.sort():e,t?r(t)?function(){c=n(c,t.apply(s,arguments))}:function(e){c=n(c,o(e,t))}:function(e){c=n(c,e)}),c}t.exports=s})),mn=o(((e,t)=>{var n=dn(),r=nt(),i=pn();function a(e,t,a){return n(i(e,t,a),r(e))}t.exports=a})),hn=o(((e,t)=>{t.exports=`first`})),gn=o(((e,t)=>{t.exports=`last`})),_n=o(((e,t)=>{function n(e){return e.getFullYear()}t.exports=n})),vn=o(((e,t)=>{t.exports=864e5})),yn=o(((e,t)=>{function n(e){return e.getMonth()}t.exports=n})),bn=o(((e,t)=>{var n=qe(),r=q();function i(e){return n(e)&&!isNaN(r(e))}t.exports=i})),xn=o(((e,t)=>{var n=hn(),r=gn(),i=vn(),a=_n(),o=q(),s=yn(),c=J(),l=bn(),u=We();function d(e,t,f){var p=t&&!isNaN(t)?t:0;if(e=c(e),l(e)){if(f===n)return new Date(a(e),s(e)+p,1);if(f===r)return new Date(o(d(e,p+1,n))-1);if(u(f)&&e.setDate(f),p){var m=e.getDate();if(e.setMonth(s(e)+p),m!==e.getDate())return e.setDate(1),new Date(o(e)-i)}}return e}t.exports=d})),Sn=o(((e,t)=>{var n=hn(),r=gn(),i=_n(),a=xn(),o=J(),s=bn();function c(e,t,c){var l;if(e=o(e),s(e)&&(t&&(l=t&&!isNaN(t)?t:0,e.setFullYear(i(e)+l)),c||!isNaN(c))){if(c===n)return new Date(i(e),0,1);if(c===r)return e.setMonth(11),a(e,0,r);e.setMonth(c)}return e}t.exports=c})),Cn=o(((e,t)=>{var n=xn(),r=J(),i=bn();function a(e){var t=e.getMonth();return t<3?1:t<6?2:t<9?3:4}function o(e,t,o){var s,c=t&&!isNaN(t)?t*3:0;return e=r(e),i(e)?(s=(a(e)-1)*3,e.setMonth(s),n(e,c,o)):e}t.exports=o})),wn=o(((e,t)=>{t.exports=vn()*7})),Tn=o(((e,t)=>{var n=f(),r=vn(),i=wn(),a=q(),o=J(),s=bn(),c=We();function l(e,t,l,u){if(e=o(e),s(e)){var d=c(l),f=c(u),p=a(e);if(d||f){var m=f?u:n.firstDayOfWeek,h=e.getDay(),g=d?l:h;if(h!==g){var _=0;m>h?_=-(7-m+h):m<h&&(_=m-h),g>m?p+=((g===0?7:g)-m+_)*r:g<m?p+=(7-m+g+_)*r:p+=_*r}}return t&&!isNaN(t)&&(p+=t*i),new Date(p)}return e}t.exports=l})),En=o(((e,t)=>{var n=hn(),r=gn(),i=K(),a=_n(),o=yn(),s=q(),c=J(),l=bn();function u(e,t,d){if(e=c(e),l(e)&&!isNaN(t)){if(e.setDate(e.getDate()+i(t)),d===n)return new Date(a(e),o(e),e.getDate());if(d===r)return new Date(s(u(e,1,n))-1)}return e}t.exports=u})),Dn=o(((e,t)=>{var n=hn(),r=gn(),i=K(),a=_n(),o=yn(),s=q(),c=J(),l=bn();function u(e,t,d){if(e=c(e),l(e)&&!isNaN(t)){if(e.setHours(e.getHours()+i(t)),d===n)return new Date(a(e),o(e),e.getDate(),e.getHours());if(d===r)return new Date(s(u(e,1,n))-1)}return e}t.exports=u})),On=o(((e,t)=>{var n=hn(),r=gn(),i=K(),a=_n(),o=yn(),s=q(),c=J(),l=bn();function u(e,t,d){if(e=c(e),l(e)&&!isNaN(t)){if(e.setMinutes(e.getMinutes()+i(t)),d===n)return new Date(a(e),o(e),e.getDate(),e.getHours(),e.getMinutes());if(d===r)return new Date(s(u(e,1,n))-1)}return e}t.exports=u})),kn=o(((e,t)=>{var n=hn(),r=gn(),i=K(),a=_n(),o=yn(),s=q(),c=J(),l=bn();function u(e,t,d){if(e=c(e),l(e)&&!isNaN(t)){if(e.setSeconds(e.getSeconds()+i(t)),d===n)return new Date(a(e),o(e),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds());if(d===r)return new Date(s(u(e,1,n))-1)}return e}t.exports=u})),An=o(((e,t)=>{function n(e){return e.toUpperCase()}t.exports=n})),jn=o(((e,t)=>{var n=f(),r=vn(),i=wn(),a=We(),o=F(),s=J(),c=bn(),l=Tn(),u=Gt(),d=N(),p=q(),m=d(u(0,7),function(e){return[(e+1)%7,(e+2)%7,(e+3)%7]});function h(e,t){var n=new Date(e).getDay();return o(m[t],n)}function g(e,t){return function(o,u){var d=a(u)?u:n.firstDayOfWeek,f=s(o);if(c(f)){var m=l(f,0,d,d),g=e(m),_=p(g),v=p(m),y=v+r*6,b=new Date(y),x=l(g,0,d,d),S=p(x),C;if(v===S)return 1;if(t(m,b)){for(C=p(e(b));C<y;C+=r)if(h(C,d))return 1}var w=S+r*6,T=new Date(y),E=1;if(t(x,T)){for(E=0,C=_;C<w;C+=r)if(h(C,d)){E++;break}}return Math.floor((v-S)/i)+E}return NaN}}t.exports=g})),Mn=o(((e,t)=>{t.exports=jn()(function(e){return new Date(e.getFullYear(),0,1)},function(e,t){return e.getFullYear()!==t.getFullYear()})})),Nn=o(((e,t)=>{var n=_n(),r=yn();function i(e){return new Date(n(e),r(e),e.getDate())}t.exports=i})),Pn=o(((e,t)=>{var n=q(),r=Nn();function i(e){return n(r(e))}t.exports=i})),Fn=o(((e,t)=>{var n=vn(),r=hn(),i=Pn(),a=Sn(),o=J(),s=bn();function c(e){return e=o(e),s(e)?Math.floor((i(e)-i(a(e,0,r)))/n)+1:NaN}t.exports=c})),In=o(((e,t)=>{var n=Y(),r=ce(),i=Yt();function a(e,t,a){var o=n(e);return t>>=0,a=r(a)?` `:``+a,o.padStart?o.padStart(t,a):t>o.length?(t-=o.length,t>a.length&&(a+=i(a,t/a.length)),a.slice(0,t)+o):o}t.exports=a})),Ln=o(((e,t)=>{var n=f(),r=An(),i=_n(),a=yn(),o=J(),s=Mn(),c=Fn(),l=T(),u=bn(),d=x(),p=L(),m=In();function h(e,t,n,r){var i=t[n];return i?d(i)?i(r,n,e):i[r]:r}var g=/\[([^\]]+)]|y{2,4}|M{1,2}|d{1,2}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|S{1,3}|Z{1,2}|W{1,2}|D{1,3}|[aAeEq]/g;function _(e,t,d){if(e){if(e=o(e),u(e)){var f=d||{},_=t||n.parseDateFormat||n.formatString,v=e.getHours(),y=v<12?`am`:`pm`,b=l({},n.parseDateRules||n.formatStringMatchs,f.formats),x=function(t,n){return(``+i(e)).substring(4-n)},S=function(t,n){return m(a(e)+1,n,`0`)},C=function(t,n){return m(e.getDate(),n,`0`)},w=function(e,t){return m(v,t,`0`)},T=function(e,t){return m(v<=12?v:v-12,t,`0`)},E=function(t,n){return m(e.getMinutes(),n,`0`)},D=function(t,n){return m(e.getSeconds(),n,`0`)},O=function(t,n){return m(e.getMilliseconds(),n,`0`)},k=function(t,n){var r=e.getTimezoneOffset()/60*-1;return h(e,b,t,(r>=0?`+`:`-`)+m(r,2,`0`)+(n===1?`:`:``)+`00`)},A=function(t,r){return m(h(e,b,t,s(e,p(f.firstDay)?n.firstDayOfWeek:f.firstDay)),r,`0`)},j=function(t,n){return m(h(e,b,t,c(e)),n,`0`)},M={yyyy:x,yy:x,MM:S,M:S,dd:C,d:C,HH:w,H:w,hh:T,h:T,mm:E,m:E,ss:D,s:D,SSS:O,S:O,ZZ:k,Z:k,WW:A,W:A,DDD:j,D:j,a:function(t){return h(e,b,t,y)},A:function(t){return h(e,b,t,r(y))},e:function(t){return h(e,b,t,e.getDay())},E:function(t){return h(e,b,t,e.getDay())},q:function(t){return h(e,b,t,Math.floor((a(e)+3)/3))}};return _.replace(g,function(e,t){return t||(M[e]?M[e](e,e.length):e)})}return`Invalid Date`}return``}t.exports=_})),Rn=o(((e,t)=>{var n=q(),r=Ye();t.exports=Date.now||function(){return n(r())}})),zn=o(((e,t)=>{var n=q(),r=Rn(),i=J(),a=qe();t.exports=function(e,t){if(e){var o=i(e,t);return a(o)?n(o):o}return r()}})),Bn=o(((e,t)=>{var n=Ln();function r(e,t,r){return e&&t?(e=n(e,r),e!==`Invalid Date`&&e===n(t,r)):!1}t.exports=r})),Vn=o(((e,t)=>{t.exports=jn()(function(e){return new Date(e.getFullYear(),e.getMonth(),1)},function(e,t){return e.getMonth()!==t.getMonth()})})),Hn=o(((e,t)=>{var n=Sn(),r=J(),i=bn(),a=Xe();function o(e,t){return e=r(e),i(e)?a(n(e,t))?366:365:NaN}t.exports=o})),Un=o(((e,t)=>{var n=vn(),r=hn(),i=gn(),a=q(),o=xn(),s=J(),c=bn();function l(e,t){return e=s(e),c(e)?Math.floor((a(o(e,t,i))-a(o(e,t,r)))/n)+1:NaN}t.exports=l})),Wn=o(((e,t)=>{var n=q(),r=Ye(),i=J(),a=bn(),o=[[`yyyy`,31536e6],[`MM`,2592e6],[`dd`,864e5],[`HH`,36e5],[`mm`,6e4],[`ss`,1e3],[`S`,0]];function s(e,t){var s,c,l,u,d,f,p={done:!1,status:!1,time:0};if(e=i(e),t=t?i(t):r(),a(e)&&a(t)&&(s=n(e),c=n(t),s<c))for(u=p.time=c-s,p.done=!0,p.status=!0,f=0,d=o.length;f<d;f++)l=o[f],u>=l[1]?f===d-1?p[l[0]]=u||0:(p[l[0]]=Math.floor(u/l[1]),u-=p[l[0]]*l[1]):p[l[0]]=0;return p}t.exports=s})),Gn=o(((e,t)=>{var n=Y(),r=ce(),i=Yt();function a(e,t,a){var o=n(e);return t>>=0,a=r(a)?` `:``+a,o.padEnd?o.padEnd(t,a):t>o.length?(t-=o.length,t>a.length&&(a+=i(a,t/a.length)),o+a.slice(0,t)):o}t.exports=a})),Kn=o(((e,t)=>{var n=Y(),r=Yt();function i(e,t){return r(n(e),t)}t.exports=i})),qn=o(((e,t)=>{var n=Y();function r(e){return e&&e.trimRight?e.trimRight():n(e).replace(/[\s\uFEFF\xA0]+$/g,``)}t.exports=r})),Jn=o(((e,t)=>{var n=Y();function r(e){return e&&e.trimLeft?e.trimLeft():n(e).replace(/^[\s\uFEFF\xA0]+/g,``)}t.exports=r})),Yn=o(((e,t)=>{var n=qn(),r=Jn();function i(e){return e&&e.trim?e.trim():n(r(e))}t.exports=i})),Xn=o(((e,t)=>{t.exports={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`,"`":```}})),Zn=o(((e,t)=>{var n=Y(),r=C();function i(e){var t=RegExp(`(?:`+r(e).join(`|`)+`)`,`g`);return function(r){return n(r).replace(t,function(t){return e[t]})}}t.exports=i})),Qn=o(((e,t)=>{var n=Xn();t.exports=Zn()(n)})),$n=o(((e,t)=>{var n=Xn(),r=Zn(),i=y(),a={};i(n,function(e,t){a[n[t]]=t}),t.exports=r(a)})),er=o(((e,t)=>{function n(e,t,n){return e.substring(t,n)}t.exports=n})),tr=o(((e,t)=>{function n(e){return e.toLowerCase()}t.exports=n})),nr=o(((e,t)=>{var n=Y(),r=er(),i=An(),a=tr(),o={};function s(e){if(e=n(e),o[e])return o[e];var t=e.length,s=e.replace(/([-]+)/g,function(e,n,r){return r&&r+n.length<t?`-`:``});return t=s.length,s=s.replace(/([A-Z]+)/g,function(e,n,o){var s=n.length;return n=a(n),o?s>2&&o+s<t?i(r(n,0,1))+r(n,1,s-1)+i(r(n,s-1,s)):i(r(n,0,1))+r(n,1,s):s>1&&o+s<t?r(n,0,s-1)+i(r(n,s-1,s)):n}).replace(/(-[a-zA-Z])/g,function(e,t){return i(r(t,1,t.length))}),o[e]=s,s}t.exports=s})),rr=o(((e,t)=>{var n=Y(),r=er(),i=tr(),a={};function o(e){if(e=n(e),a[e])return a[e];if(/^[A-Z]+$/.test(e))return i(e);var t=e.replace(/^([a-z])([A-Z]+)([a-z]+)$/,function(e,t,n,a){var o=n.length;return o>1?t+`-`+i(r(n,0,o-1))+`-`+i(r(n,o-1,o))+a:i(t+`-`+n+a)}).replace(/^([A-Z]+)([a-z]+)?$/,function(e,t,n){var a=t.length;return i(r(t,0,a-1)+`-`+r(t,a-1,a)+(n||``))}).replace(/([a-z]?)([A-Z]+)([a-z]?)/g,function(e,t,n,a,o){var s=n.length;return s>1&&(t&&(t+=`-`),a)?(t||``)+i(r(n,0,s-1))+`-`+i(r(n,s-1,s))+a:(t||``)+(o?`-`:``)+i(n)+(a||``)});return t=t.replace(/([-]+)/g,function(e,n,r){return r&&r+n.length<t.length?`-`:``}),a[e]=t,t}t.exports=o})),ir=o(((e,t)=>{var n=Y();function r(e,t,r){var i=n(e);return(arguments.length===1?i:i.substring(r)).indexOf(t)===0}t.exports=r})),ar=o(((e,t)=>{var n=Y();function r(e,t,r){var i=n(e),a=arguments.length;return a>1&&(a>2?i.substring(0,r).indexOf(t)===r-1:i.indexOf(t)===i.length-1)}t.exports=r})),or=o(((e,t)=>{var n=f(),r=Y(),i=Yn(),a=de();function o(e,t,o){return r(e).replace((o||n).tmplRE||/\{{2}([.\w[\]\s]+)\}{2}/g,function(e,n){return a(t,i(n))})}t.exports=o})),sr=o(((e,t)=>{var n=or();function r(e,t){return n(e,t,{tmplRE:/\{([.\w[\]\s]+)\}/g})}t.exports=r})),cr=o(((e,t)=>{function n(){}t.exports=n})),lr=o(((e,t)=>{var n=ye();function r(e,t){var r=n(arguments,2);return function(){return e.apply(t,n(arguments).concat(r))}}t.exports=r})),ur=o(((e,t)=>{var n=ye();function r(e,t){var r=!1,i=null,a=n(arguments,2);return function(){return r?i:(i=e.apply(t,n(arguments).concat(a)),r=!0,i)}}t.exports=r})),dr=o(((e,t)=>{var n=ye();function r(e,t,r){var i=0,a=[];return function(){var o=arguments;i++,i<=e&&a.push(o[0]),i>=e&&t.apply(r,[a].concat(n(o)))}}t.exports=r})),fr=o(((e,t)=>{var n=ye();function r(e,t,r){var i=0,a=[];return r||=this,function(){var o=arguments;i++,i<e&&(a.push(o[0]),t.apply(r,[a].concat(n(o))))}}t.exports=r})),pr=o(((e,t)=>{var n=T();function r(e,t,r){var i=null,a=null,o=!1,s=null,c=n({leading:!0,trailing:!0},r),l=c.leading,u=c.trailing,d=function(){i=null,a=null},f=function(){o=!0,e.apply(a,i),s=setTimeout(p,t),d()},p=function(){if(s=null,o){d();return}if(u===!0){f();return}d()},m=function(){var e=s!==null;return e&&clearTimeout(s),d(),s=null,o=!1,e},h=function(){if(i=arguments,a=this,o=!1,s===null&&l===!0){f();return}u===!0&&(s=setTimeout(p,t))};return h.cancel=m,h}t.exports=r})),mr=o(((e,t)=>{var n=T();function r(e,t,r){var i=null,a=null,o=typeof r==`boolean`?{leading:r,trailing:!r}:n({leading:!1,trailing:!0},r),s=!1,c=null,l=o.leading,u=o.trailing,d=function(){i=null,a=null},f=function(){s=!0,e.apply(a,i),d()},p=function(){if(l===!0&&(c=null),s){d();return}if(u===!0){f();return}d()},m=function(){var e=c!==null;return e&&clearTimeout(c),d(),c=null,s=!1,e},h=function(){s=!1,i=arguments,a=this,c===null?l===!0&&f():clearTimeout(c),c=setTimeout(p,t)};return h.cancel=m,h}t.exports=r})),hr=o(((e,t)=>{var n=ye();function r(e,t){var r=n(arguments,2),i=this;return setTimeout(function(){e.apply(i,r)},t)}t.exports=r})),gr=o(((e,t)=>{t.exports=decodeURIComponent})),_r=o(((e,t)=>{var n=gr(),r=p(),i=Ke();function a(e){var t,a={};return e&&i(e)&&r(e.split(`&`),function(e){t=e.split(`=`),a[n(t[0])]=n(t[1]||``)}),a}t.exports=a})),vr=o(((e,t)=>{t.exports=encodeURIComponent})),yr=o(((e,t)=>{var n=vr(),r=y(),i=g(),a=k(),o=ce(),s=M();function c(e,t,o){var l,u=[];return r(e,function(e,r){l=i(e),s(e)||l?u=u.concat(c(e,t+`[`+r+`]`,l)):u.push(n(t+`[`+(o?``:r)+`]`)+`=`+n(a(e)?``:e))}),u}function l(e){var t,l=[];return r(e,function(e,r){o(e)||(t=i(e),s(e)||t?l=l.concat(c(e,r,t)):l.push(n(r)+`=`+n(a(e)?``:e)))}),l.join(`&`).replace(/%20/g,`+`)}t.exports=l})),br=o(((e,t)=>{var n=I();t.exports=typeof location===n?0:location})),xr=o(((e,t)=>{var n=br();function r(){return n?n.origin||n.protocol+`//`+n.host:``}t.exports=r})),Sr=o(((e,t)=>{var n=br(),r=_r(),i=xr();function a(e){return r(e.split(`?`)[1]||``)}function o(e){var t,r,o,s,c=``+e;return c.indexOf(`//`)===0?c=(n?n.protocol:``)+c:c.indexOf(`/`)===0&&(c=i()+c),o=c.replace(/#.*/,``).match(/(\?.*)/),s={href:c,hash:``,host:``,hostname:``,protocol:``,port:``,search:o&&o[1]&&o[1].length>1?o[1]:``},s.path=c.replace(/^([a-z0-9.+-]*:)\/\//,function(e,t){return s.protocol=t,``}).replace(/^([a-z0-9.+-]*)(:\d+)?\/?/,function(e,t,n){return r=n||``,s.port=r.replace(`:`,``),s.hostname=t,s.host=t+r,`/`}).replace(/(#.*)/,function(e,t){return s.hash=t.length>1?t:``,``}),t=s.hash.match(/#((.*)\?|(.*))/),s.pathname=s.path.replace(/(\?|#.*).*/,``),s.origin=s.protocol+`//`+s.host,s.hashKey=t&&(t[2]||t[1])||``,s.hashQuery=a(s.hash),s.searchQuery=a(s.search),s}t.exports=o})),Cr=o(((e,t)=>{var n=br(),r=xr(),i=tt();function a(){if(n){var e=n.pathname,t=i(e,`/`)+1;return r()+(t===e.length?e:e.substring(0,t))}return``}t.exports=a})),wr=o(((e,t)=>{var n=br(),r=Sr();function i(){return n?r(n.href):{}}t.exports=i})),Tr=o(((e,t)=>{var n=f(),r=mt(),i=gr(),a=vr(),o=g(),s=je(),c=qe(),l=ce(),u=F(),d=C(),m=T(),h=p(),_=Ye(),v=q(),y=Sn(),b=xn(),x=En();function S(e,t){var n=parseFloat(t),r=_(),i=v(r);switch(e){case`y`:return v(y(r,n));case`M`:return v(b(r,n));case`d`:return v(x(r,n));case`h`:case`H`:return i+n*60*60*1e3;case`m`:return i+n*60*1e3;case`s`:return i+n*1e3}return i}function w(e){return(c(e)?e:new Date(e)).toUTCString()}function E(e,t,u){if(r){var d,f,p,g,_,v,y=[],b=arguments;return o(e)?y=e:b.length>1?y=[m({name:e,value:t},u)]:s(e)&&(y=[e]),y.length>0?(h(y,function(e){d=m({},n.cookies,e),p=[],d.name&&(f=d.expires,p.push(a(d.name)+`=`+a(s(d.value)?JSON.stringify(d.value):d.value)),f&&(f=isNaN(f)?f.replace(/^([0-9]+)(y|M|d|H|h|m|s)$/,function(e,t,n){return w(S(n,t))}):/^[0-9]{11,13}$/.test(f)||c(f)?w(f):w(S(`d`,f)),d.expires=f),h([`expires`,`path`,`domain`,`secure`],function(e){l(d[e])||p.push(d[e]&&e===`secure`?e:e+`=`+d[e])})),r.cookie=p.join(`; `)}),!0):(g={},_=r.cookie,_&&h(_.split(`; `),function(e){v=e.indexOf(`=`),g[i(e.substring(0,v))]=i(e.substring(v+1)||``)}),b.length===1?g[e]:g)}return!1}function D(e){return u(j(),e)}function O(e){return E(e)}function k(e,t,n){return E(e,t,n),E}function A(e,t){E(e,``,m({expires:-1},n.cookies,t))}function j(){return d(E())}function M(){return E()}m(E,{has:D,set:k,setItem:k,get:O,getItem:O,remove:A,removeItem:A,keys:j,getJSON:M}),t.exports=E})),Er=o(((e,t)=>{var n=I(),r=mt(),i=gt(),a=T(),o=p();function s(e){try{var t=`__xe_t`;return e.setItem(t,1),e.removeItem(t),!0}catch{return!1}}function c(e){return navigator.userAgent.indexOf(e)>-1}function l(){var e,t,l,u=!1,d=!1,f=!1,p={isNode:!1,isMobile:u,isPC:!1,isDoc:!!r};if(!i&&typeof process!==n)p.isNode=!0;else{l=c(`Edge`),t=c(`Chrome`),u=/(Android|webOS|iPhone|iPad|iPod|SymbianOS|BlackBerry|Windows Phone)/.test(navigator.userAgent),p.isDoc&&(e=r.body||r.documentElement,o([`webkit`,`khtml`,`moz`,`ms`,`o`],function(t){p[`-`+t]=!!e[t+`MatchesSelector`]}));try{d=s(i.localStorage)}catch{}try{f=s(i.sessionStorage)}catch{}a(p,{edge:l,firefox:c(`Firefox`),msie:!l&&p[`-ms`],safari:!t&&!l&&c(`Safari`),isMobile:u,isPC:!u,isLocalStorage:d,isSessionStorage:f})}return p}t.exports=l})),Dr=o(((e,t)=>{var n=E(),r=T(),i=v(),a=O(),o=j(),s=te(),c=N(),l=ne(),u=re(),d=ie(),f=p(),m=D(),h=ae(),b=se(),S=oe(),ee=pe(),P=fe(),I=ge(),le=_e(),ue=ye(),ve=z(),U=B(),Oe=F(),ke=be(),Ie=xe(),K=Se(),Je=V(),q=H(),Ye=Te(),$e=we(),mt=Ee(),gt=De(),Ct=Ce(),Tt=G(),Et=Pe(),It=Fe(),Jt=Le(),Yt=Re(),Xt=ze(),Qt=Be(),$t=Ve(),cn=He(),dn=Ue(),hn=_(),gn=g(),_n=k(),vn=Ge(),yn=ce(),wn=x(),An=je(),jn=Ke(),Nn=M(),Pn=Xe(),Xn=qe(),Zn=L(),er=y(),tr=Ze(),gr=Qe(),vr=et(),br=tt(),xr=C(),Dr=he(),Or=w(),kr=nt(),Ar=Ae(),jr=Ne(),X=Me(),Mr=rt(),Nr=at(),Z=it(),Pr=ot(),Q=We(),Fr=st(),Ir=ct(),Lr=lt(),Rr=ut(),zr=dt(),Br=ft(),$=pt(),Vr=ht(),Hr=_t(),Ur=vt(),Wr=yt(),Gr=bt(),Kr=xt(),qr=St(),Jr=Ot(),Yr=Dt(),Xr=kt(),Zr=At(),Qr=jt(),$r=wt(),ei=Mt(),ti=Nt(),ni=Pt(),ri=Ft(),ii=Lt(),ai=Rt(),oi=zt(),si=Bt(),ci=Vt(),li=de(),ui=Ht(),di=Ut(),fi=Wt(),pi=Gt(),mi=Kt(),hi=me(),gi=W(),_i=qt(),vi=an(),yi=en(),bi=tn(),xi=nn(),Si=rn(),Ci=on(),wi=R(),Ti=Zt(),Ei=ln(),Di=un(),Oi=sn(),ki=fn(),Ai=pn(),ji=mn(),Mi=Sn(),Ni=Cn(),Pi=xn(),Fi=Tn(),Ii=En(),Li=Dn(),Ri=On(),zi=kn(),Bi=J(),Vi=Ln(),Hi=Rn(),Ui=zn(),Wi=bn(),Gi=Bn(),Ki=Fn(),qi=Mn(),Ji=Vn(),Yi=Hn(),Xi=Un(),Zi=Wn(),Qi=Gn(),$i=In(),ea=Kn(),ta=Yn(),na=qn(),ra=Jn(),ia=Qn(),aa=$n(),oa=nr(),sa=rr(),ca=ir(),la=ar(),ua=or(),da=sr(),fa=Y(),pa=cr(),ma=A(),ha=lr(),ga=ur(),_a=dr(),va=fr(),ya=pr(),ba=mr(),xa=hr(),Sa=_r(),Ca=yr(),wa=Sr(),Ta=Cr(),Ea=wr(),Da=Tr();r(n,{assign:r,objectEach:i,lastObjectEach:a,objectMap:o,merge:s,uniq:h,union:b,sortBy:ee,orderBy:P,shuffle:I,sample:le,some:l,every:u,slice:ue,filter:ve,find:ke,findLast:Ie,findKey:U,includes:Oe,arrayIndexOf:cn,arrayLastIndexOf:dn,map:c,reduce:K,copyWithin:Je,chunk:q,zip:Ye,unzip:$e,zipObject:mt,flatten:gt,toArray:S,includeArrays:d,pluck:Ct,invoke:Tt,arrayEach:f,lastArrayEach:m,toArrayTree:Et,toTreeArray:It,findTree:Jt,eachTree:Yt,mapTree:Xt,filterTree:Qt,searchTree:$t,hasOwnProp:hn,eqNull:Zn,isNaN:vn,isFinite:Mr,isUndefined:yn,isArray:gn,isFloat:Nr,isInteger:Z,isFunction:wn,isBoolean:Pr,isString:jn,isNumber:Q,isRegExp:Fr,isObject:An,isPlainObject:Nn,isDate:Xn,isError:Ir,isTypeError:Lr,isEmpty:Rr,isNull:_n,isSymbol:zr,isArguments:Br,isElement:$,isDocument:Vr,isWindow:Hr,isFormData:Ur,isMap:Wr,isWeakMap:Gr,isSet:Kr,isWeakSet:qr,isLeapYear:Pn,isMatch:Jr,isEqual:Yr,isEqualWith:Xr,getType:Zr,uniqueId:Qr,getSize:kr,indexOf:vr,lastIndexOf:br,findIndexOf:$r,findLastIndexOf:ei,toStringJSON:ti,toJSONString:ni,keys:xr,values:Dr,entries:ri,pick:ii,omit:ai,first:oi,last:si,each:er,forOf:tr,lastForOf:gr,lastEach:Ar,has:ci,get:li,set:ui,groupBy:di,countBy:fi,clone:Or,clear:X,remove:jr,range:pi,destructuring:mi,random:hi,min:_i,max:gi,commafy:vi,round:yi,ceil:bi,floor:xi,toFixed:Si,toNumber:wi,toNumberString:Ti,toInteger:Ci,add:Ei,subtract:Di,multiply:Oi,divide:ki,sum:Ai,mean:ji,now:Hi,timestamp:Ui,isValidDate:Wi,isDateSame:Gi,toStringDate:Bi,toDateString:Vi,getWhatYear:Mi,getWhatQuarter:Ni,getWhatMonth:Pi,getWhatWeek:Fi,getWhatDay:Ii,getWhatHours:Li,getWhatMinutes:Ri,getWhatSeconds:zi,getYearDay:Ki,getYearWeek:qi,getMonthWeek:Ji,getDayOfYear:Yi,getDayOfMonth:Xi,getDateDiff:Zi,trim:ta,trimLeft:ra,trimRight:na,escape:ia,unescape:aa,camelCase:oa,kebabCase:sa,repeat:ea,padStart:$i,padEnd:Qi,startsWith:ca,endsWith:la,template:ua,toFormatString:da,toString:fa,toValueString:fa,noop:pa,property:ma,bind:ha,once:ga,after:_a,before:va,throttle:ya,debounce:ba,delay:xa,unserialize:Sa,serialize:Ca,parseUrl:wa,getBaseURL:Ta,locat:Ea,browse:Er(),cookie:Da}),t.exports=n})),Or={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)},kr,Ar=new Uint8Array(16);function jr(){if(!kr){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);kr=crypto.getRandomValues.bind(crypto)}return kr(Ar)}var X=[];for(let e=0;e<256;++e)X.push((e+256).toString(16).slice(1));function Mr(e,t=0){return(X[e[t+0]]+X[e[t+1]]+X[e[t+2]]+X[e[t+3]]+`-`+X[e[t+4]]+X[e[t+5]]+`-`+X[e[t+6]]+X[e[t+7]]+`-`+X[e[t+8]]+X[e[t+9]]+`-`+X[e[t+10]]+X[e[t+11]]+X[e[t+12]]+X[e[t+13]]+X[e[t+14]]+X[e[t+15]]).toLowerCase()}function Nr(e,t,n){if(Or.randomUUID&&!t&&!e)return Or.randomUUID();e||={};let r=e.random??e.rng?.()??jr();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return Mr(r)}var Z=Dr(),Pr=e=>e==null||e===``,Q=e=>!Pr(e),Fr=e=>e==null,Ir=e=>!Fr(e),Lr=e=>function(t,n,r,i){let a=r||{};return e(null,t,n,i,[],[],a.children||`children`,a)},Rr=(e,t,n,r,i,a,o)=>{let s,c;t.forEach((l,u)=>{s=i.concat([``+u]),c=a.concat([l]),n.call(r,l,u,t,s,e,c),l&&o&&(s.push(o),Rr(l,l[o]||[],n,r,s,c,o))})},zr=Lr(Rr),Br={form:{labelCol:{span:6},wrapperCol:{span:16}},grid:{align:`left`,lazyReset:!1,fitHeight:30,striped:!1},canvasTable:{DISABLED:!0,ENABLE_FINDER:!0,AUTO_ROW_HEIGHT:!0,BORDER_RADIUS:4},icon:{}},$=(0,Z.clone)(Br,!0);function Vr(e){$={form:{...$.form,...e.form},grid:{...$.grid,...e.grid},canvasTable:{...$.canvasTable,...e.canvasTable},renderTooltip:e.renderTooltip??$.renderTooltip,icon:{...$.icon,...e.icon}}}function Hr(){return $.renderTooltip}function Ur(){return $}function Wr(){return{labelCol:$.form?.labelCol,wrapperCol:$.form?.wrapperCol}}function Gr(){return{align:$.grid?.align,lazyReset:$.grid?.lazyReset,fitHeight:$.grid?.fitHeight,striped:$.grid?.striped,autoBoxSizeOffset:$.grid?.autoBoxSizeOffset}}function Kr(){return $.canvasTable||{}}function qr(){$=JSON.parse(JSON.stringify(Br))}var Jr=e=>({dataIndex:e.field,key:e.field,title:e.title,...(0,Z.omit)(e,[`children`,`slots`,`cellRender`,`formatter`]),children:e.children?.map(e=>Jr(e))}),Yr={xs:24,sm:24,md:12,lg:8,xl:8,xxl:6},Xr={xs:12,sm:5,md:6,lg:6,xl:5,xxl:4},Zr={1:{xs:12,sm:5,md:6,lg:6,xl:5,xxl:4},2:{xs:12,sm:5,md:6,lg:6,xl:5,xxl:4},3:{xs:12,sm:5,md:6,lg:6,xl:5,xxl:5},4:{xs:12,sm:4,md:6,lg:9,xl:7,xxl:6},5:{xs:12,sm:4,md:6,lg:9,xl:7,xxl:6},6:{xs:12,sm:6,md:8,lg:10,xl:7,xxl:8},7:{xs:12,sm:6,md:8,lg:10,xl:9,xxl:9},8:{xs:12,sm:6,md:8,lg:10,xl:7,xxl:9},9:{xs:12,sm:6,md:8,lg:10,xl:9,xxl:10}},Qr=e=>{let t=(24-e.reduce((e,t)=>e+t,0))%24,n=t===0?24:t<0?24+t:t;return n>1?n:24},$r=[`xxs`,`xs`,`sm`,`md`,`lg`,`xl`,`xxl`],ei=e=>{let t=(0,Z.isArray)(e)?e:(0,Z.isNumber)(e)?Array.from({length:e},()=>Yr):[];return(0,Z.zipObject)($r,$r.map(e=>t.every(t=>Q(t[e]))?Qr(t.map(t=>t[e])):24))};function ti(e,t,n){let r=(0,l.toValue)(e);if(typeof r!=`object`||!r)return(0,l.watch)(e,t,n);let i=(0,Z.clone)(r,!0);return(0,l.watch)(e,(e,n,r)=>{t(e,i,r),i=(0,Z.clone)(e,!0)},n)}var ni=`-`,ri={toString:({cellValue:e})=>e?e.toString?.()??ni:ni,formatByOptions:({cellValue:e},t,n=`,`)=>{if(e==null)return ni;if((0,Z.isArray)(e))if(e.length>0){let r=t.filter(t=>e.includes(t.value));return r.length?r.map(e=>e.label).join(n):ni}else return ni;let r=t.find(t=>t.value===e);return r?r.label:ni},formatSex:({cellValue:e})=>Q(e)?(0,Z.toNumber)(e)===1?`男`:`女`:ni},ii=(e,{record:t,index:n,column:r,field:i})=>{if((0,Z.isString)(e)&&ri[e]){let r=ri[e];return r({row:t,rowIndex:n,cellValue:i?t[i]:null})}else if((0,Z.isArray)(e)&&ri[e[0]]&&e.length>1){let r=ri[e[0]];return r({row:t,rowIndex:n,cellValue:i?t[i]:null},...e.slice(1))}else if((0,Z.isFunction)(e))return e({row:t,rowIndex:n,cellValue:i?t[i]:null,column:r});else return i?t[i]:null},ai=e=>{Object.assign(ri,e)},oi=(0,l.defineComponent)(e=>{let{cellRender:t,renderTableParams:n}=e,{data:r,row:i,field:a,rowIndex:o}=n;return()=>vi.renders[t.name]?.renderDefault?.(t,{data:r,row:i,field:a,rowIndex:o},e.defaultHandler??{})??null},{name:`RenderAntCell`,props:[`cellRender`,`renderTableParams`,`defaultHandler`]}),si=(0,l.defineComponent)(e=>{let{tableData:t,row:n,column:r,rowIndex:i}=e,a=r.field?n[r.field]:null;return()=>r.slots?.default?.({row:n,column:r,rowIndex:i,cellValue:a})??(r.cellRender?(0,l.createVNode)(oi,{cellRender:r.cellRender,defaultHandler:e.defaultHandler,renderTableParams:{data:t,row:n,field:r.field,rowIndex:i}},null):r.formatter?ii(r.formatter,{record:n,index:i,field:r.field,column:r}):a)},{name:`RenderAntDefaultCell`,props:[`tableData`,`row`,`column`,`rowIndex`,`defaultHandler`]}),ci={class:`text-right mt-4px`},li=(0,l.defineComponent)({__name:`TableInput`,props:{modelValue:{type:Array,default:()=>[]},tableConfig:{type:Object,default:()=>({})},editColumns:{type:Array,default:()=>[]}},emits:[`update:modelValue`,`trigger`],setup(e,{emit:t}){let n=e,r={size:`small`,pagination:!1};(0,l.watch)(()=>n.modelValue,()=>{a(`trigger`)},{deep:!0});let i=(0,l.computed)(()=>(0,Z.merge)({},r,n.tableConfig)),a=t,o=(0,l.computed)({get:()=>n.modelValue??[],set:e=>{a(`update:modelValue`,e)}}),s=(0,l.computed)(()=>[...n.editColumns,{title:`操作`,fixed:`right`,width:100,cellRender:{name:`ButtonTree`,children:[{content:`删除`,type:`link`,danger:!0,clickEvt:({rowIndex:e})=>u(e)}]}}]),c=()=>{o.value=[...o.value,{}]},u=e=>{o.value=o.value.filter((t,n)=>n!==e)},d=(0,l.computed)(()=>{let e=0;return s.value.filter(t=>t.slots&&t.slots.default||t.formatter||t.cellRender?(t.field||(t.field=`__holder__`+e,e++),!0):!1)});return(e,t)=>{let n=(0,l.resolveComponent)(`a-form-item-rest`),r=(0,l.resolveComponent)(`a-table`),a=(0,l.resolveComponent)(`a-button`);return(0,l.openBlock)(),(0,l.createElementBlock)(`div`,null,[(0,l.createVNode)(r,(0,l.mergeProps)({"data-source":o.value},i.value,{columns:s.value.map(e=>(0,l.unref)(Jr)(e))}),(0,l.createSlots)({_:2},[d.value.length>0?{name:`bodyCell`,fn:(0,l.withCtx)(({column:e,record:t,index:r})=>[(0,l.createVNode)(n,null,{default:(0,l.withCtx)(()=>[d.value.some(t=>e.key&&t.field===e.key)?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(si),{key:r,"row-index":r,"default-handler":{},column:d.value.find(t=>e.key&&t.field===e.key),row:t,"table-data":o.value},null,8,[`row-index`,`column`,`row`,`table-data`])):(0,l.createCommentVNode)(``,!0)]),_:2},1024)]),key:`0`}:void 0]),1040,[`data-source`,`columns`]),(0,l.createElementVNode)(`div`,ci,[(0,l.createVNode)(a,{type:`primary`,onClick:c},{default:(0,l.withCtx)(()=>[...t[0]||=[(0,l.createTextVNode)(`+添加`,-1)]]),_:1})])])}}}),ui=e=>{let{icon:t}=e,n=Ur().icon?.render;if(n){let e=n(t);if(e)return e}let r=d;return r[t]?(0,l.createVNode)(r[t]):null},di={AInput:{autocomplete:`off`},$input:{autocomplete:`off`,allowClear:!0},AInputNumber:{min:0,controls:!1,precision:0},$number:{min:0,controls:!1,precision:0},$date:{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`},ADatePicker:{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`},$range:{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`},ARangePicker:{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`},$select:{getPopupContainer:e=>e.parentNode,allowClear:!0,showSearch:!0,filterOption:(e,t)=>t.label&&t.label.toLowerCase().includes(e.toLowerCase())},ASelect:{getPopupContainer:e=>e.parentNode,allowClear:!0,showSearch:!0,filterOption:(e,t)=>t.label&&t.label.toLowerCase().includes(e.toLowerCase())}},fi={PercentInput:{controls:!1,min:0,max:100,addonAfter:`%`},autoComplete:{inputProps:{}}},pi={$input:u.Input,AInput:u.Input,$textarea:u.Textarea,Textarea:u.Textarea,$number:u.InputNumber,AInputNumber:u.InputNumber,$select:u.Select,ASelect:u.Select,$date:u.DatePicker,ADatePicker:u.DatePicker,$range:u.RangePicker,ARangePicker:u.RangePicker,AAutoComplete:u.AutoComplete,$Cascader:u.Cascader,ACascader:u.Cascader,ACheckbox:u.Checkbox,AMentions:u.Mentions,ARate:u.Rate,ASlider:u.Slider,$time:u.TimePicker,ATimePicker:u.TimePicker,ATreeSelect:u.TreeSelect},mi=e=>{let t=pi[e];return{renderItemContent({props:n={},attrs:r={},events:i={},defaultValue:a},{data:o,field:s}){return Ir(a)&&Q(s)&&Fr(o[s])&&(o[s]=a),s?(0,l.createVNode)(t,(0,l.mergeProps)({is:e,value:o[s],"onUpdate:value":e=>o[s]=e},r,(0,Z.merge)({},di[e],n),{onChange:(...e)=>{i.change?.({data:o,field:s},...e)}}),null):(0,l.createVNode)(t,(0,l.mergeProps)({is:e},n),null)},renderDefault({props:n=di[e]??{},attrs:r={},events:i={},defaultValue:a},{data:o,row:s,field:c}){return Ir(a)&&Q(c)&&Fr(s[c])&&(s[c]=a),c?(0,l.createVNode)(t,(0,l.mergeProps)({is:e,value:s[c],"onUpdate:value":e=>s[c]=e},r,(0,Z.merge)({},di[e],n),{onChange:(...e)=>{i.change?.({data:o,row:s,field:c},...e)}}),null):(0,l.createVNode)(t,(0,l.mergeProps)({is:e},n),null)},renderReadonly({props:n={},attrs:r={}},{data:i,field:a}){return a?(0,l.createVNode)(t,(0,l.mergeProps)({is:e,value:i[a],"onUpdate:value":e=>i[a]=e},r,(0,Z.merge)({},di[e],{disabled:!0},n)),null):(0,l.createVNode)(t,(0,l.mergeProps)({is:e},(0,Z.merge)({},{disabled:!0},n)),null)},renderEdit(n,{props:r=di[e]??{},attrs:i={},events:a={}},o,s){return(0,l.createVNode)(t,(0,l.mergeProps)({is:e,value:n.value,"onUpdate:value":e=>n.value=e},i,(0,Z.merge)({},di[e],r),{onBlur:(...e)=>{s?.(`blur`,n.value),a.blur?.(o,...e)}}),null)}}},hi=(e,t,n)=>e.dropdowns&&e.dropdowns.length>0&&e.dropdowns.filter(e=>!e.hiddenIf?.(t)).length>0?(0,l.createVNode)(u.Dropdown,{getPopupContainer:n??(()=>document.querySelector(`.p-wrapper`))},{default:()=>(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,Z.omit)(e,[`dynamicClassName`,`content`,`getContent`,`icon`,`clickEvt`,`dropdowns`,`getProps`]),{icon:e.icon?(0,l.createVNode)(ui,{icon:e.icon},null):(0,l.createVNode)(ui,{icon:`DownOutlined`},null)},e.getProps?.(t)??{}),{default:()=>[e.content||(e?.getContent?.(t)??``)]}),overlay:()=>(0,l.createVNode)(`div`,{class:`dropdown-wrapper ${e?.dynamicClassName?.(t)??``}`},[e.dropdowns.filter(e=>!e.hiddenIf?.(t)).map(e=>hi(e,t,n))])}):(0,l.createVNode)(u.Button,(0,l.mergeProps)({class:e?.dynamicClassName?.(t)||``},(0,Z.omit)(e,[`dynamicClassName`,`content`,`getContent`,`icon`,`clickEvt`,`dropdowns`,`getProps`]),{disabled:!!e.dropdowns&&e.dropdowns.length>0||e.disabled,icon:e.icon?(0,l.createVNode)(ui,{icon:e.icon},null):null},e.getProps?.(t)??{},{onClick:()=>{e?.clickEvt&&e.clickEvt(t)}}),{default:()=>[e.content||(e?.getContent?.(t)??``)]}),gi={...Object.fromEntries(Object.keys(pi).map(e=>[e,mi(e)])),$button:{renderItemContent({props:e={},events:t={}},{data:n,field:r},i){return(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,Z.omit)(e,[`content`]),{icon:e.icon?(0,l.createVNode)(ui,{icon:e.icon},null):null,onClick:()=>{t.click?.({data:n,field:r}),e.htmlType===`reset`&&i?.reset&&(e.beforeClick&&(0,Z.isFunction)(e.beforeClick)?e.beforeClick({data:n,field:r}).then(e=>{i.reset(e?{data:e,field:r}:{data:n,field:r})}):i.reset({data:n,field:r}))}}),{default:()=>[e.content,e.suffix?.({data:n,field:r})??null]})},renderDefault({props:e={},events:t={}},{row:n,field:r},i){return(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,Z.omit)(e,[`content`]),{icon:e.icon?(0,l.createVNode)(ui,{icon:e.icon},null):null,onClick:()=>{t.click?.({row:n,field:r}),e.htmlType===`reset`&&i?.reset&&(e.beforeClick&&(0,Z.isFunction)(e.beforeClick)?(i?.setLoadings?.(!0),e.beforeClick({row:n,field:r}).then(e=>{i.reset(e?{row:e,field:r}:{row:n,field:r})}).finally(()=>{i?.setLoadings?.(!1)})):i.reset({row:n,field:r})),e.htmlType===`pick`&&i?.pick&&(e.beforeClick&&(0,Z.isFunction)(e.beforeClick)?(i?.setLoadings?.(!0),e.beforeClick({row:n,field:r}).then(e=>{i.pick(e?{row:e,field:r}:{row:n,field:r})}).finally(()=>{i?.setLoadings?.(!1)})):i.pick({row:n,field:r}))}}),{default:()=>[e.content]})}},$buttons:{renderItemContent({props:e={},children:t=[]},{data:n,field:r},i){return(0,l.createVNode)(`span`,{class:`align-gap-box w-fit`},[t.map(t=>(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,Z.omit)(Object.assign({},e,t.props),[`content`]),{icon:t.props.icon?(0,l.createVNode)(ui,{icon:t.props.icon},null):null,onClick:()=>{t.events?.click?.({data:n,field:r}),t.props.htmlType===`reset`&&i?.reset&&(e.beforeClick&&(0,Z.isFunction)(e.beforeClick)?e.beforeClick({data:n,field:r}).then(e=>{i.reset(e?{data:e,field:r}:{data:n,field:r})}):i.reset({data:n,field:r})),t.props.htmlType===`pick`&&i?.pick&&(e.beforeClick&&(0,Z.isFunction)(e.beforeClick)?e.beforeClick({data:n,field:r}).then(e=>{i.pick(e?{data:e,field:r}:{data:n,field:r})}):i.pick({data:n,field:r}))}}),{default:()=>[t.props.content]}))])},renderDefault({props:e={},children:t=[]},{data:n,row:r,field:i},a){return(0,l.createVNode)(`span`,{class:`align-gap-box w-fit`},[t.filter(e=>!e?.props?.hiddenIf?.({data:n,row:r,field:i})).map(t=>(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,Z.omit)(Object.assign({},e,t.props),[`content`,`hiddenIf`]),{icon:t.props.icon?(0,l.createVNode)(ui,{icon:t.props.icon},null):null,onClick:()=>{t.events?.click?.({data:n,row:r,field:i}),t.props.htmlType===`reset`&&a?.reset&&(e.beforeClick&&(0,Z.isFunction)(e.beforeClick)?(a?.setLoadings?.(!0),e.beforeClick({row:r,field:i}).then(e=>{a.reset(e?{row:e,field:i}:{row:r,field:i})}).finally(()=>{a?.setLoadings?.(!1)})):a.reset({row:r,field:i})),t.props.htmlType===`pick`&&a?.pick&&(e.beforeClick&&(0,Z.isFunction)(e.beforeClick)?(a?.setLoadings?.(!0),e.beforeClick({row:r,field:i}).then(e=>{a.pick(e?{row:e,field:i}:{row:r,field:i})}).finally(()=>{a?.setLoadings?.(!1)})):a.pick({row:r,field:i}))}}),{default:()=>[t.props.content]}))])}},ButtonTree:{renderDefault({children:e=[],props:t={}},n){let r=(0,l.ref)(null);return(0,l.createVNode)(`span`,{ref:r,class:t.noGap?`align-no-gap-box`:`align-gap-box`},[e.filter(e=>!e.hiddenIf?.(n)).map(e=>hi(e,n,()=>r.value?.parentElement?.parentElement?.parentElement?.parentElement||document.body))??[]])}},$radio:{renderItemContent({props:e={},events:t={},options:n,defaultValue:r},{data:i,field:a}){return Ir(r)&&Q(a)&&Fr(i[a])&&(i[a]=r),Q(a)?(0,l.createVNode)(u.RadioGroup,(0,l.mergeProps)({value:i[a],"onUpdate:value":e=>i[a]=e},e,{options:e.options??n??[],disabled:!!e.disabled,onChange:(...e)=>{t.change?.({data:i,field:a},...e)}}),null):null},renderDefault({props:e={},options:t},{row:n,field:r}){return Q(r)?(0,l.createVNode)(u.RadioGroup,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},e,{options:e.options??t??[]}),null):null},renderReadonly({props:e={},options:t},{data:n,field:r}){return Q(r)?(0,l.createVNode)(u.RadioGroup,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},(0,Z.merge)({},{disabled:!0},e),{options:e.options??t??[]}),null):null}},$autoComplete:{renderItemContent({props:e={},events:t={}},{data:n,field:r}){return Q(r)?(0,l.createVNode)(u.AutoComplete,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},Object.assign({},{filterOption:fi.autoComplete.filterOption},e),{onChange:(...e)=>{t.change?.({data:n,field:r},...e)}}),{default:()=>(0,l.createVNode)((0,l.resolveComponent)(`a-input`),Object.assign({},fi.autoComplete.inputProps,e.inputProps??{}),null)}):null}},$switch:{renderItemContent({props:e={},events:t={},defaultValue:n},{data:r,field:i}){return Ir(n)&&Q(i)&&Fr(r[i])&&(r[i]=n),Q(i)?(0,l.createVNode)(u.Switch,(0,l.mergeProps)({checked:r[i],"onUpdate:checked":e=>r[i]=e},e,{onChange:(...e)=>{t.change?.({data:r,field:i},...e)}}),null):null},renderReadonly({props:e={}},{data:t,field:n}){return Q(n)?(0,l.createVNode)(u.Switch,(0,l.mergeProps)({checked:t[n],"onUpdate:checked":e=>t[n]=e},(0,Z.merge)({},{disabled:!0},e)),null):null}},$checkbox:{renderItemContent({props:e={},options:t,events:n={},defaultValue:r},{data:i,field:a}){return Ir(r)&&Q(a)&&Fr(i[a])&&(i[a]=r),Q(a)?(0,l.createVNode)(u.CheckboxGroup,(0,l.mergeProps)({value:i[a],"onUpdate:value":e=>i[a]=e},e,{options:e.options??t??[],onChange:(...e)=>{n.change?.({data:i,field:a},...e)}}),null):null},renderDefault({props:e={},options:t},{row:n,field:r}){return Q(r)?(0,l.createVNode)(u.CheckboxGroup,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},e,{options:e.options??t??[]}),null):null},renderReadonly({props:e={},options:t},{data:n,field:r}){return Q(r)?(0,l.createVNode)(u.CheckboxGroup,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},(0,Z.merge)({},{disabled:!0},e),{options:e.options??t??[]}),null):null}},$paragraph:{renderDefault({props:e={}},{row:t,field:n}){let r={ellipsis:{expandable:!0,rows:3}},i=e.getContent?.({row:t,field:n})??(Q(n)?t[n]:``);return Q(n)?(0,l.createVNode)(u.TypographyParagraph,(0,l.mergeProps)((0,Z.merge)({},r,(0,Z.omit)(e,[`content`,`getContent`])),{content:i}),null):null}},$tableInput:{renderItemContent({props:e={},handleTrigger:t},{data:n,field:r}){return Q(r)?(0,l.createVNode)(li,{modelValue:n[r],"onUpdate:modelValue":e=>n[r]=e,onTrigger:()=>{t&&(0,Z.isFunction)(t)&&t(e.cusFields??r)},editColumns:e.editColumns??[],tableConfig:e.tableConfig??{}},null):null}},PercentInput:{renderItemContent({props:e={},attrs:t={},defaultValue:n},{data:r,field:i}){let a=e.parse?100:1;if(Q(i)){Ir(n)&&Fr(r[i])&&(r[i]=n);let o=(0,l.computed)({get:()=>(r[i]??0)*a,set:e=>{r[i]=(e??0)/a}});return(0,l.createVNode)(`div`,{class:`flex items-center`},[e.info?(0,l.createVNode)(`span`,{class:`pr-4`},[e.info]):null,(0,l.createVNode)((0,l.resolveComponent)(`a-input-number`),(0,l.mergeProps)({class:`w-60px!`},t,{value:o.value,"onUpdate:value":e=>o.value=e},(0,Z.merge)({},fi.PercentInput,(0,Z.omit)(e,[`info`]))),null)])}else return null},renderDefault({props:e={},attrs:t={}},{row:n,field:r}){let i=e.parse?100:1;if(Q(r)){let a=(0,l.computed)({get:()=>(n[r]??0)*i,set:e=>{(0,Z.set)(n,r,(e??0)/i)}});return[e.info?(0,l.createVNode)(`span`,{class:`pr-4`},[e.info]):null,(0,l.createVNode)((0,l.resolveComponent)(`a-input-number`),(0,l.mergeProps)({class:`w-60px!`},t,{value:a.value,"onUpdate:value":e=>a.value=e},(0,Z.merge)({},fi.PercentInput,(0,Z.omit)(e,[`info`]))),null)]}else return null}},TreeSelect:{renderItemContent({props:e={}},{data:t,field:n}){return Q(n)?(0,l.createVNode)(u.TreeSelect,(0,l.mergeProps)({value:t[n],"onUpdate:value":e=>t[n]=e},e),null):null},renderDefault({props:e={}},{row:t,field:n}){return Q(n)?(0,l.createVNode)(u.TreeSelect,(0,l.mergeProps)({value:t[n],"onUpdate:value":e=>t[n]=e},e),null):null}}},_i=(e,{renderItemContent:t,renderDefault:n,renderReadonly:r,renderEdit:i})=>{gi.hasOwnProperty(e)&&console.warn(`render ${e} already exists, you are trying to override it`),gi[e]={renderItemContent:t,renderDefault:n,renderReadonly:r,renderEdit:i}},vi={renders:gi,addRender:_i},yi=(0,l.defineComponent)((e,{emit:t})=>{let{itemRender:n,defaultHandler:r}=e,{renderFormParams:i}=(0,l.toRefs)(e),a=e=>{t(`trigger`,e)},o=(e,n)=>{t(`delayTrigger`,e,n)};return()=>vi.renders[n.name]?.renderItemContent?.({...n,handleTrigger:a,handleDelayTrigger:o},i.value,r)??null},{name:`RenderAntItem`,props:{itemRender:{type:Object,required:!0},renderFormParams:{type:Object,required:!0},defaultHandler:{type:Object,required:!1}},emits:[`trigger`,`delayTrigger`]}),bi=(0,l.defineComponent)(e=>{let{formData:t}=(0,l.toRefs)(e);return()=>e.item.slots?.default?.({data:t.value,field:e.item.field},e.passTrigger,e.passDelayTrigger)??null},{name:`RenderItemSlots`,props:[`formData`,`item`,`passTrigger`,`passDelayTrigger`]}),xi={key:2},Si=(0,l.defineComponent)({__name:`PFormCol`,props:{item:{},formData:{}},emits:[`trigger`,`reset`],setup(e,{emit:t}){let n=e,r=t,i=(0,l.ref)(!1),a=(0,l.ref)(Nr()),o=(e,t)=>{let n=t??222;i.value=!0,setTimeout(()=>{i.value=!1,r(`trigger`,e)},n)},s=e=>{r(`trigger`,e)},c=()=>{r(`reset`)},f=(0,Z.debounce)(()=>{a.value=Nr()},100),p=(0,l.computed)(()=>{if(!n.item.tooltipConfig)return null;let e=n.item.tooltipConfig,t=Hr(),r=()=>(0,l.h)(d.InfoCircleOutlined,{class:`cursor-pointer py-4 px-2`}),i=(0,Z.isFunction)(e.title)?e.title:String(e.title??``);return t?()=>t(r,i):()=>(0,Z.isFunction)(e.title)?(0,l.h)(u.Tooltip,(0,Z.omit)(e,[`title`]),{default:r,title:()=>(0,l.h)(`div`,{innerHTML:e.title()})}):(0,l.h)(u.Tooltip,e,{default:r})});return ti(()=>n.item,(e,t)=>{(0,Z.isEqual)(e,t)||f()},{deep:!0}),(t,n)=>{let r=(0,l.resolveComponent)(`a-form-item`),u=(0,l.resolveComponent)(`a-col`);return(0,l.openBlock)(),(0,l.createBlock)(u,(0,l.mergeProps)({key:`_col_${a.value}`},e.item.col??(e.item.span?{span:e.item.span}:(0,l.unref)(Yr))),{default:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)(r,(0,l.mergeProps)({key:`_item_${a.value}`,class:[`p-content-align-${e.item.align??`left`} ${e.item.forceRequired?`p-required`:``}`,{"p-error-hang-out":i.value}],colon:``,label:e.item.title,name:e.item.field,"wrapper-col":e.item.wrapperCol??(e.item.title?void 0:{span:24})},(0,l.unref)(Z.omit)(e.item,[`field`,`title`,`span`,`col`,`wrapperCol`,`itemRender`,`forceRequired`,`tooltip`])),(0,l.createSlots)({default:(0,l.withCtx)(()=>[e.item.slots?.default?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(bi),{key:`_sl_${e.item.field??`_`}_${a.value}`,"form-data":e.formData,item:e.item,"pass-delay-trigger":o,"pass-trigger":s},null,8,[`form-data`,`item`])):e.item.itemRender?.name?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(yi),{key:`_re_${e.item.field??`_`}_${a.value}`,"default-handler":{reset:c},"item-render":e.item.itemRender,"render-form-params":{data:e.formData,field:e.item.field},onDelayTrigger:o,onTrigger:s},null,8,[`default-handler`,`item-render`,`render-form-params`])):((0,l.openBlock)(),(0,l.createElementBlock)(`span`,xi))]),_:2},[e.item.slots?.title?{name:`label`,fn:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(e.item.slots.title)))]),key:`0`}:void 0,p.value?{name:`tooltip`,fn:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(p.value)))]),key:`1`}:void 0]),1040,[`class`,`label`,`name`,`wrapper-col`]))]),_:1},16)}}}),Ci={key:0,class:`p-pane p-wrapper`},wi=(0,l.defineComponent)({__name:`PForm`,props:{name:{},items:{},customReset:{},layout:{},labelCol:{default:()=>Wr().labelCol??{span:6}},wrapperCol:{default:()=>Wr().wrapperCol??{span:16}},colon:{type:Boolean},labelAlign:{},labelWrap:{type:Boolean},prefixCls:{},requiredMark:{},hideRequiredMark:{type:Boolean},model:{},rules:{},validateMessages:{},validateOnRuleChange:{type:Boolean},scrollToFirstError:{},onSubmit:{},validateTrigger:{},size:{},disabled:{type:Boolean},onValuesChange:{},onFieldsChange:{},onFinish:{},onFinishFailed:{},onValidate:{},data:{}},emits:[`apply`,`reset`],setup(e,{expose:t,emit:n}){let r=e,i=n,{items:a,data:o}=(0,l.toRefs)(r);function s(){i(`apply`,o.value)}let c=(0,l.ref)(),d=(0,l.ref)(Nr()),f=()=>{d.value=Nr()},p=()=>{if(r.customReset)r.customReset();else{let e={};zr(a.value,t=>{t.field&&t.itemRender?Ir(t.itemRender.defaultValue)?e[t.field]=t.itemRender.defaultValue:e[t.field]=void 0:t.field&&t.slots&&(Ir(t.slots.defaultValue)?e[t.field]=t.slots.defaultValue:e[t.field]=void 0)}),Object.assign(o.value,e)}i(`reset`)},m=(0,l.computed)(()=>({...(0,Z.omit)(r,[`items`,`data`,`model`,`labelCol`,`wrapperCol`]),labelCol:r.labelCol,wrapperCol:r.wrapperCol})),h=e=>{e&&c.value?.validateFields(e)},g=e=>{h(e)};return t({reset:f,$form:(0,l.computed)(()=>c.value)}),(t,n)=>(0,l.unref)(a).some(e=>e.field&&e.itemRender||e.slots?.default)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Ci,[((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Form),(0,l.mergeProps)({name:e.name,key:d.value,ref_key:`formEl`,ref:c,model:(0,l.unref)(o)},m.value,{onSubmit:s}),{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Row),{gutter:[6,12]},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)((0,l.unref)(a),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)(Si,{key:`_col_${e.field||t}`,"form-data":(0,l.unref)(o),item:e,onReset:p,onTrigger:g},null,8,[`form-data`,`item`]))),128))]),_:1})]),_:1},16,[`name`,`model`]))])):(0,l.createCommentVNode)(``,!0)}}),Ti=(0,l.defineComponent)(e=>{let{column:t}=e;return()=>t.slots?.title?.({column:t})??t.title},{name:`RenderAntTitle`,props:[`column`]}),Ei=({title:e,content:t})=>new Promise((n,r)=>{u.Modal.confirm({title:e,content:t,onOk:()=>{n()},onCancel:()=>{r()}})}),Di=u.message.success,Oi=u.message.error;u.message.info;var ki=u.message.warning;function Ai(e){if(typeof e==`number`&&!Number.isNaN(e))return e;if(typeof e==`string`){let t=e.match(/^(-?\d+(?:\.\d+)?)(px)?$/i);if(t)return Number.parseFloat(t[1])}return 0}function ji(e){if(e==null||e===``)return{right:0,bottom:0};if(typeof e==`object`&&!Array.isArray(e)){let t=e;return{right:typeof t.right==`number`?t.right:0,bottom:typeof t.bottom==`number`?t.bottom:0}}let t=Ai(e);return{right:t,bottom:t}}function Mi(e){let t=e?.parentElement??null;for(;t&&t!==document.body;){let e=window.getComputedStyle(t).overflow;if(e===`auto`||e===`scroll`||e===`hidden`)return t;t=t.parentElement}return document.body}function Ni(e,t){let n=e.getBoundingClientRect(),r=window.innerWidth,i=window.innerHeight,a=Math.max(0,r-n.left-t.right),o=Math.max(0,i-n.top-t.bottom),s=e.parentElement;if(s){let e=s.getBoundingClientRect();e.width>0&&(a=Math.min(a,e.width))}e.style.width=`${a}px`,e.style.height=`${o}px`}function Pi(e){e.style.width=``,e.style.height=``}function Fi(e,t,n){let r=null,i=null,a=()=>{r&&=(r.disconnect(),null),i&&=(window.removeEventListener(`resize`,i),null)},o=()=>{let r=e();r&&(Ni(r,t()),n?.onLayout?.())};return{attach:()=>{a();let t=e();if(!t)return;i=()=>o(),window.addEventListener(`resize`,i);let n=Mi(t);r=new ResizeObserver(()=>o()),r.observe(n),t.parentElement&&r.observe(t.parentElement),o()},update:o,destroy:()=>{a();let t=e();t&&Pi(t)}}}var Ii={key:0},Li={key:1,class:`p-toolbar-wrapper flex items-center w-full justify-between p-theme-bg pt-8px px-16px`},Ri={class:`flex items-center flex-1 gap-4px`},zi={class:`flex items-center gap-4px`},Bi={class:`flex items-center gap-4px`},Vi={key:2},Hi={class:`flex items-center gap-4px`},Ui={class:`flex items-center gap-4px`},Wi={key:0,class:`w-full pt-8px px-16px text-slate-5`},Gi={key:1,class:`flex w-full items-center gap-12px pt-8px px-16px`},Ki={class:`flex-1 min-w-0 text-slate-5 flex items-center`},qi=(0,l.defineComponent)({__name:`PGrid`,props:{selectConfig:{},rowKey:{default:`id`},striped:{type:Boolean,default:()=>Gr().striped??!1},manualFetch:{type:Boolean},align:{default:()=>Gr().align??`left`},formConfig:{},columns:{},toolbarConfig:{},pageConfig:{},proxyConfig:{},tableConfig:{},scrollMode:{default:`inner`},autoBoxSize:{type:Boolean,default:!1},autoBoxSizeOffset:{},lazyReset:{type:Boolean,default:()=>Gr().lazyReset??!1},fitHeight:{default:()=>Gr().fitHeight??30},fitCanvasHeight:{},renderY:{},fitContent:{type:Boolean,default:!1}},emits:[`toolbarButtonClick`,`toolbarToolClick`,`pick`,`resetQuery`],setup(e,{expose:t,emit:n}){let r=e,{formConfig:i,pageConfig:a,columns:o,toolbarConfig:s,proxyConfig:c,tableConfig:f,selectConfig:p,scrollMode:m}=(0,l.toRefs)(r),h=(0,l.computed)(()=>r.autoBoxSizeOffset??Gr().autoBoxSizeOffset),g=(0,l.reactive)({table:!1,toolbar:!1,form:!1}),_=e=>{(0,Z.isObject)(e)?Object.keys(e).forEach(t=>{g[t]=e[t]}):(0,Z.isBoolean)(e)&&(g.form=e,g.table=e,g.toolbar=e)},v=(0,l.ref)(),y=(0,l.ref)(),b=(0,l.ref)(),x=(0,l.ref)(),S=(0,l.ref)(500),C=(0,l.ref)([]),w=(0,l.ref)([]),T=e=>{let{ajax:t}=c.value;switch(e){case`multiDelete`:t.multiDelete&&(C.value.length>0?Ei({title:`警告`,content:`确认删除选中的数据吗?`}).then(()=>{g.table=!0,g.toolbar=!0,t.multiDelete(C.value).then(()=>{u.message.success(`删除成功`),me()}).catch(()=>{u.message.error(`删除失败`)}).finally(()=>{g.table=!1,g.toolbar=!1,j.multiDelete=!1})}):u.message.warn(`请选择要删除的数据`));break}},E=(0,l.computed)(()=>{let e=[];return zr(o.value??[],t=>{t.slots&&t.slots.title&&(t.field||=`__holder__`+e.length,e.push(t))}),e}),D=(0,l.ref)(),O=(0,l.ref)(),k=(0,l.ref)(Nr()),A=(0,l.ref)(Nr()),j=(0,l.reactive)([...(r.toolbarConfig?.buttons?.map(e=>e.code)??[]).filter(e=>e),...(r.toolbarConfig?.tools?.map(e=>e.code)??[]).filter(e=>e)].reduce((e,t)=>(e[t]=!1,e),{})),M=(e,t)=>{j[e]=t},ee=(0,Z.debounce)(()=>{A.value=Nr()},100),te=(0,l.computed)(()=>{let e=[];return zr(o.value??[],t=>{(t.slots&&t.slots.default||t.formatter||t.cellRender)&&(t.field||=`__holder__`+e.length,e.push(t))}),e}),N=(0,l.reactive)({page:1,size:a.value?.pageSize??10}),P=(0,l.ref)(0),ne=(0,l.ref)(0),re=(0,l.ref)([]),F=(0,l.computed)(()=>c.value&&c.value.ajax?a.value?`pagination`:`list`:`bad`),ie=(0,l.computed)(()=>!!p.value?.showCount),ae=(0,l.useAttrs)(),oe=n,se=(0,l.computed)(()=>w.value.filter(e=>C.value.includes(e[r.rowKey??`id`]))),I=(0,Z.debounce)(e=>{oe(`toolbarButtonClick`,{data:re.value,code:e,selectedKeys:C.value,records:se.value}),T(e)},100),ce=({key:e})=>I(e),L=(0,Z.debounce)(e=>{oe(`toolbarToolClick`,{data:re.value,code:e,selectedKeys:C.value,records:se.value}),T(e)},100),le=(0,l.ref)({}),ue=({row:e,field:t})=>{oe(`pick`,{row:e,field:t})},de=e=>{if(i.value&&i.value.items.length>0){if(i.value.customReset)i.value.customReset();else{let e={};zr(i.value.items,t=>{t.field&&t.itemRender?Ir(t.itemRender.defaultValue)?e[t.field]=t.itemRender.defaultValue:e[t.field]=void 0:t.field&&t.slots&&(Ir(t.slots.defaultValue)?e[t.field]=t.slots.defaultValue:e[t.field]=void 0)}),le.value=e}oe(`resetQuery`)}N.page=1,e||_e()},fe=(e,t)=>t?{list:(0,Z.isString)(t.list)?(0,Z.get)(e,t.list):(0,Z.isFunction)(t.list)?t.list(e):void 0,total:(0,Z.isString)(t.total)?(0,Z.get)(e,t.total):(0,Z.isFunction)(t.total)?t.total(e):void 0,result:(0,Z.isString)(t.result)?(0,Z.get)(e,t.result):(0,Z.isFunction)(t.result)?t.result(e):void 0,message:(0,Z.isString)(t.message)?(0,Z.get)(e,t.message):(0,Z.isFunction)(t.message)?t.message(e):void 0}:{list:e},pe=()=>(w.value=[],C.value=[],de()),me=()=>(N.page=1,w.value=[],C.value=[],ge()),he=(e,t)=>(N.page=e,N.size=t,ge()),ge=()=>new Promise(e=>{if(F.value!==`bad`){g.form=!0,g.table=!0;let{ajax:t}=c.value;t.query({form:le.value,page:N}).then(t=>{let{list:n,total:r,result:i,message:a}=fe(t,c.value.response);n?(re.value=n,P.value++):i?(re.value=i,ne.value=r??i.length,P.value++):(re.value=[],P.value++,a&&u.message.warn(a)),e(re.value)}).catch(t=>{console.error(`fetchData error`,t),e([])}).finally(()=>{g.form=!1,g.table=!1})}}),_e=(0,Z.debounce)(ge,160),ve=(e,t)=>(Object.assign(le.value,e),N.page=1,t?Promise.resolve():_e()),R=(e,t)=>(le.value=e,N.page=1,t?Promise.resolve():_e()),ye={size:`small`,sticky:!0,transformCellText:({text:e})=>(0,Z.isArray)(e)&&e.length===0?`-`:e},z=(0,l.computed)(()=>(0,Z.merge)({},ye,f?.value??{},p.value?{rowSelection:{type:p.value.multiple?`checkbox`:`radio`,preserveSelectedRowKeys:!0,selectedRowKeys:C.value,onChange:e=>{C.value=e;let t=r.rowKey??`id`,n=w.value.map(e=>e[t]),i=e.filter(e=>!n.includes(e)).map(e=>re.value.find(n=>n[t]===e)).filter(e=>!!e);w.value=[...w.value,...i]},getCheckboxProps:p.value.getCheckboxProps}}:{})),B=(0,l.computed)(()=>(0,Z.omit)({labelCol:Xr,...i.value},[`items`])),be=()=>{me()};(0,l.watch)(()=>[o.value,c.value,s.value],()=>{ee()},{deep:!0}),(0,l.watch)(()=>[A.value,P.value,F.value,ie.value],()=>(0,l.nextTick)(()=>U()),{flush:`post`});let xe=null,Se=()=>{xe?.destroy(),xe=null},V=()=>{Se(),!(!r.autoBoxSize||!v.value)&&(xe=Fi(()=>v.value??void 0,()=>ji(h.value),{onLayout:()=>{(0,l.nextTick)(()=>U())}}),xe.attach())};(0,l.watch)(()=>r.autoBoxSize,e=>{e?(0,l.nextTick)(()=>V()):Se()}),(0,l.watch)(h,()=>{r.autoBoxSize&&xe?.update()},{deep:!0});let H=null,Ce=e=>{let t=e.querySelector(`.ant-table-wrapper`);return t?t.querySelector(`.ant-table-header`)||t.querySelector(`.ant-table-thead`):null},U=()=>{H&&cancelAnimationFrame(H),H=requestAnimationFrame(()=>{if(H=null,!b.value)return;if(Ir(r.renderY)){S.value=r.renderY;return}if(r.fitContent){let e=typeof window<`u`?window.innerHeight:800,t=r.fitHeight??30;S.value=Math.max(Math.floor(e*.6)-t,160);return}let e=b.value.clientHeight,t=x.value?.offsetHeight??0,n=Ce(b.value)?.getBoundingClientRect().height??0,i=r.fitHeight??30;S.value=Math.max(e-t-n-i,100)})},W=null;(0,l.watch)(y,e=>{W?.disconnect(),W=null,e&&(W=new ResizeObserver(()=>U()),W.observe(e))},{immediate:!0}),t({commitProxy:{query:_e,reload:pe,reloadPage:me,passQuery:ve,forcePassQuery:R},$table:(0,l.computed)(()=>O.value),selectedRowKeys:(0,l.computed)(()=>C.value),setBtnLoading:M,selectedRecords:se,$form:(0,l.computed)(()=>D.value),getFormData:()=>le.value,setLoadings:_,resizeTable:U});let we,Te=null,Ee=null,De=null;(0,l.onMounted)(()=>{if(U(),window.addEventListener(`resize`,U),we=new MutationObserver(e=>{e.forEach(e=>{if(e.type===`attributes`&&e.attributeName===`style`){let t=e.target;window.getComputedStyle(t).display!==`none`&&U()}})}),v.value){we.observe(v.value,{attributes:!0,attributeFilter:[`style`]}),Te=new ResizeObserver(()=>U());let e=v.value.parentElement;for(let t=0;t<5&&e&&e!==document.body;t++)Te.observe(e),e=e.parentElement}Ee=new ResizeObserver(()=>U()),b.value&&Ee.observe(b.value),De=new ResizeObserver(()=>U()),x.value&&De.observe(x.value),de(r.manualFetch),(0,l.nextTick)(()=>{r.autoBoxSize&&V(),U()})});let G=e=>(0,Z.isFunction)(e)?e():e,Oe=e=>(0,Z.isString)(e),ke=[`align`],Ae=e=>e.map(e=>({...ke.reduce((e,t)=>({[t]:r[t]}),{}),...e}));return(0,l.onBeforeUnmount)(()=>{Se(),H&&cancelAnimationFrame(H),window.removeEventListener(`resize`,U),we.disconnect(),W?.disconnect(),Te?.disconnect(),Ee?.disconnect(),De?.disconnect()}),(t,n)=>{let a=(0,l.resolveComponent)(`a-menu-item`),c=(0,l.resolveComponent)(`a-menu`),f=(0,l.resolveComponent)(`a-dropdown`),p=(0,l.resolveComponent)(`a-pagination`);return(0,l.openBlock)(),(0,l.createElementBlock)(`div`,(0,l.mergeProps)({ref_key:`boxEl`,ref:v,class:[`p-wrapper flex flex-col gap-8px`,e.fitContent?`w-full h-auto`:e.autoBoxSize?`overflow-y-auto min-h-0 min-w-0 flex-1 w-full`:`overflow-y-auto h-full`]},(0,l.unref)(ae)),[F.value===`bad`?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Ii,`请检查配置`)):((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.unref)(i)?.items?.some(e=>e.field&&e.itemRender)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,class:`p-pane p-form-wrapper`,ref_key:`pFormWrapper`,ref:y},[(0,l.createVNode)((0,l.unref)(u.Spin),{spinning:g.form},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Form),(0,l.mergeProps)({name:(0,l.unref)(i)?.name,key:k.value,ref_key:`formEl`,ref:D,model:le.value},B.value,{onSubmit:be}),{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Row),{gutter:[6,12]},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)((0,l.unref)(i).items,(e,t)=>((0,l.openBlock)(),(0,l.createBlock)(Si,{key:`_col_${e.field||t}`,"form-data":le.value,item:e,onReset:n[0]||=e=>de(r.lazyReset)},null,8,[`form-data`,`item`]))),128))]),_:1})]),_:1},16,[`name`,`model`]))]),_:1},8,[`spinning`])],512)):(0,l.createCommentVNode)(``,!0),(0,l.unref)(s)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Li,[(0,l.createElementVNode)(`div`,Ri,[(0,l.unref)(s).buttons&&(0,l.unref)(s).buttons.length>0?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:0},(0,l.renderList)((0,l.unref)(s).buttons,(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:t},[e.dropdowns&&e.dropdowns.length?((0,l.openBlock)(),(0,l.createBlock)(f,{key:0},{overlay:(0,l.withCtx)(()=>[(0,l.createVNode)(c,{onClick:ce},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.dropdowns,e=>((0,l.openBlock)(),(0,l.createBlock)(a,{key:e.code},{default:(0,l.withCtx)(()=>[e.content&&Oe(G(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:0},[(0,l.createTextVNode)((0,l.toDisplayString)(G(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(G(e.content)),{key:1})):(0,l.createCommentVNode)(``,!0)]),_:2},1024))),128))]),_:2},1024)]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(s).disabled||e.disabled,loading:g.toolbar||!!e.code&&j[e.code],danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,zi,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&Oe(G(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(G(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(G(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(d.DownOutlined))])]),_:2},1032,[`type`,`size`,`disabled`,`loading`,`danger`,`shape`,`ghost`,`block`])]),_:2},1024)):e.code?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:1,type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(s).disabled||e.disabled,loading:g.toolbar||!!e.code&&j[e.code],danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block,onClick:t=>(0,l.unref)(I)(e.code)},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,Bi,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&Oe(G(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(G(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(G(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0)])]),_:2},1032,[`type`,`size`,`disabled`,`loading`,`danger`,`shape`,`ghost`,`block`,`onClick`])):((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Vi))],64))),128)):(0,l.createCommentVNode)(``,!0)]),(0,l.createElementVNode)(`span`,Hi,[(0,l.unref)(s).tools&&(0,l.unref)(s).tools.length>0?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:0},(0,l.renderList)((0,l.unref)(s).tools,(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:t,type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(s).disabled||e.disabled,danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block,onClick:t=>(0,l.unref)(L)(e.code),loading:g.toolbar||!!e.code&&j[e.code]},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,Ui,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&Oe(G(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(G(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(G(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0)])]),_:2},1032,[`type`,`size`,`disabled`,`danger`,`shape`,`ghost`,`block`,`onClick`,`loading`]))),128)):(0,l.createCommentVNode)(``,!0)])])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`div`,{ref_key:`tableWrapperEl`,ref:b,class:(0,l.normalizeClass)(e.fitContent?`p-pane`:`p-pane flex-1 h-0 min-h-0 flex flex-col p-${(0,l.unref)(m)??`inner`}-scroll`)},[(0,l.createElementVNode)(`div`,{class:(0,l.normalizeClass)(e.fitContent?`p-grid-table-body`:`p-grid-table-body flex-1 min-h-0 overflow-hidden`)},[((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Table),(0,l.mergeProps)({key:A.value+`_table`,"row-key":e.rowKey??`id`,ref_key:`tableEl`,ref:O,"row-class-name":e.striped?(e,t)=>t%2==1?`p-grid-row-striped`:``:``,columns:Ae((0,l.unref)(o)??[]).map(e=>(0,l.unref)(Jr)(e)),"data-source":re.value,loading:g.table,pagination:!1},z.value,{scroll:{x:`max-content`,y:S.value}}),(0,l.createSlots)({_:2},[E.value.length>0?{name:`headerCell`,fn:(0,l.withCtx)(({column:e})=>[E.value.some(t=>e.key&&t.field===e.key)?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(Ti),{key:A.value+`_title_`+P.value+`_slot_`+e.key,column:E.value.find(t=>e.key&&t.field===e.key)},null,8,[`column`])):(0,l.createCommentVNode)(``,!0)]),key:`0`}:void 0,te.value.length>0?{name:`bodyCell`,fn:(0,l.withCtx)(({column:e,record:t,index:n})=>[te.value.some(t=>e.key&&t.field===e.key)?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(si),{key:A.value+`_cell_`+P.value+`_slot_`+e.key,column:te.value.find(t=>e.key&&t.field===e.key),"default-handler":{pick:ue,setLoadings:_},row:t,"row-index":n,"table-data":re.value},null,8,[`column`,`default-handler`,`row`,`row-index`,`table-data`])):(0,l.createCommentVNode)(``,!0)]),key:`1`}:void 0]),1040,[`row-key`,`row-class-name`,`columns`,`data-source`,`loading`,`scroll`]))],2),(0,l.createElementVNode)(`div`,{ref_key:`tableFooterEl`,ref:x,class:`flex-shrink-0`},[F.value!==`pagination`&&ie.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Wi,` 已选:`+(0,l.toDisplayString)(C.value.length),1)):F.value===`pagination`?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Gi,[(0,l.createElementVNode)(`div`,Ki,[ie.value?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:0},[(0,l.createTextVNode)(` 已选:`+(0,l.toDisplayString)(C.value.length),1)],64)):(0,l.createCommentVNode)(``,!0)]),(0,l.createVNode)(p,{size:`small`,responsive:!1,"show-size-changer":!0,"show-total":e=>`共${e}条数据`,current:N.page,"page-size":N.size,total:ne.value,onChange:he},null,8,[`show-total`,`current`,`page-size`,`total`])])):(0,l.createCommentVNode)(``,!0)],512)],2)],64))],16)}}}),Ji=c(o(((e,t)=>{(function(){"use strict";try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`:root{--evt-header-font: 12px normal Arial;--evt-body-font: 12px normal Arial;--evt-color-white: #fff;--evt-color-black: #000000;--evt-color-primary: rgb(82, 146, 247);--evt-text-color-primary: #333;--evt-text-color-regular: #666;--evt-text-color-secondary: #999;--evt-box-shadow: 0 2px 12px 0 #0000001a;--evt-editor-bg-color: #fff;--evt-editor-text-color: #333;--evt-border-color: #e1e6eb;--evt-body-bg-color: #fff;--evt-stripe-color: #fafafa;--evt-placeholder-color: #cdd0dc;--evt-header-bg-color: #f8faff;--evt-header-text-color: #1d2129;--evt-body-text-color: #4e5969;--evt-footer-text-color: #4e5969;--evt-loading-icon-color: #4e5969;--evt-expand-icon-color: #4e5969;--evt-shrink-icon-color: #4e5969;--evt-error-tip-icon-color: red;--evt-required-color: #f56c6c;--evt-cell-hover-icon-bg-color: #fff;--evt-cell-hover-icon-border-color: #dde0ea;--evt-scroller-color: #dee0e3;--evt-scroller-track-color: #fff;--evt-scroller-focus-color: #bbbec4;--evt-select-border-color: var(--evt-color-primary);--evt-select-area-color: rgba(82, 146, 247, .1);--evt-select-row-col-bg-color: rgba(82, 146, 247, .1);--evt-autofill-point-border-color: #fff;--evt-edit-bg-color: #fcf6ed;--evt-checkbox-color: var(--evt-color-primary);--evt-checkbox-uncheck-color: #dde0ea;--evt-checkbox-disabled-color: #f1f2f4;--evt-checkbox-check-disabled-color: #dde0ea;--evt-icon-edit-color: #4e5969;--evt-icon-select-color: #4e5969;--evt-readonly-color: #fff;--evt-readonly-text-color: var(--evt-body-text-color);--evt-error-tip-color: #ed3f14;--evt-footer-bg-color: #fafafa;--evt-highlight-hover-row-color: rgba(186, 203, 231, .1);--evt-highlight-selected-row-color: rgba(82, 146, 247, .1);--evt-tooltip-bg-color: #303133;--evt-tooltip-text-color: #fff;--evt-resize-row-line-color: #e1e6eb;--evt-resize-column-text-color: #fff;--evt-resize-column-text-bg-color: var(--evt-color-primary);--evt-resize-column-line-color: #e1e6eb;--evt-tree-line-color: #e1e6eb;--evt-sort-icon-color: var(--evt-color-primary);--evt-drag-tip-bg-color: rgba(82, 146, 247, .1);--evt-drag-tip-line-color: var(--evt-color-primary);--evt-context-menu-min-width: 150px;--evt-context-menu-max-width: 220px;--evt-context-menu-item-padding: 8px 12px;--evt-context-menu-bg-color: #fff;--evt-context-menu-text-color: #333;--evt-context-menu-item-hover-text-color: var(--evt-color-primary);--evt-context-menu-item-hover-bg-color: #f5f5f5;--evt-context-menu-text-size: 13px}.dark{--evt-border-color: #363637;--evt-header-bg-color: #141414;--evt-body-bg-color: #141414;--evt-header-text-color: #a3a6ad;--evt-body-text-color: #cfd3dc;--evt-readonly-text-color: #cfd3dc;--evt-footer-text-color: #cfd3dc;--evt-scroller-color: #414243;--evt-scroller-track-color: #141414;--evt-scroller-focus-color: #a3a6ad;--evt-edit-bg-color: #141414;--evt-footer-bg-color: #262727;--evt-autofill-point-border-color: #fff;--evt-editor-bg-color: #434343;--evt-editor-text-color: #cfd3dc;--evt-context-menu-bg-color: #141414;--evt-context-menu-text-color: #cfd3dc;--evt-context-menu-item-hover-text-color: var(--evt-color-primary);--evt-context-menu-item-hover-bg-color: #414243}.e-virt-table-container{position:relative;outline:none}.e-virt-table-stage{position:relative;overflow:hidden;outline:none;box-sizing:border-box;z-index:10;border-radius:8px;border:1px solid var(--evt-border-color)}.e-virt-table-canvas{position:absolute;left:0;top:0;box-sizing:border-box;background-color:var(--evt-body-bg-color);border:none;outline:none;z-index:10}.e-virt-table-editor{position:absolute;top:-10000px;left:-10000px;text-align:left;height:auto;line-height:0;z-index:100;overflow:hidden;background-color:var(--evt-editor-bg-color);border:2px solid var(--evt-color-primary);box-sizing:border-box;box-shadow:var(--evt-box-shadow);display:flex;align-items:center}.e-virt-table-overlayer{position:absolute;left:0;top:0;overflow:hidden;z-index:100;pointer-events:none}.e-virt-table-editor-textarea{width:100%;box-sizing:border-box;outline:none;font-weight:400;padding:8px;font-size:12px;color:inherit;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;line-height:1.5;margin:0;border:none;vertical-align:middle;background:var(--evt-editor-bg-color);color:var(--evt-editor-text-color);overflow-y:auto;resize:none}.e-virt-table-context-menu{position:absolute;font-size:14px;color:var(--evt-text-color-regular);background-color:var(--evt-color-white);border-radius:4px;border:1px solid #e4e7ed;box-shadow:var(--evt-box-shadow);width:fit-content;padding:6px 0;z-index:9999;left:-99999px;top:-99999px}.e-virt-table-context-menu-item{cursor:pointer;padding:6px 24px;color:var(--evt-text-color-regular)}.e-virt-table-context-menu-item:hover{color:var(--evt-color-primary);background-color:#f5f7fa}.e-virt-table-loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;z-index:2000;background-color:#fff6;display:flex;align-items:center;justify-content:center}.e-virt-table-loading-spinner{opacity:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.e-virt-table-loading-spinner svg{color:var(--evt-text-color-regular);animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.e-virt-table-loading-text{margin:0;font-size:12px;color:var(--evt-text-color-regular)}.e-virt-table-main-menu,.e-virt-table-submenu{position:absolute;background:var(--evt-context-menu-bg-color);border-radius:4px;box-shadow:0 2px 8px #0000001a;min-width:var(--evt-context-menu-min-width);max-width:var(--evt-context-menu-max-width);color:var(--evt-text-color-primary)}.e-virt-table-main-menu{border:1px solid var(--evt-border-color);z-index:3000;left:-99999px;top:-99999px;display:none;position:fixed;background-color:var(--evt-body-bg-color)}.e-virt-table-submenu{border:1px solid var(--evt-border-color);z-index:1000;max-height:350px;overflow-y:auto;opacity:0;visibility:hidden;transform:translate(-10px);transition:opacity .2s,visibility .2s,transform .2s;-ms-overflow-style:none;scrollbar-width:none}.e-virt-table-submenu::-webkit-scrollbar{display:none}.e-virt-table-submenu.show{opacity:1;visibility:visible;transform:translate(0)}.e-virt-table-submenu:not(.show){transition:none}.e-virt-table-menu-item,.e-virt-table-submenu-item{position:relative;-webkit-user-select:none;user-select:none;padding:var(--evt-context-menu-item-padding);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s,color .2s;color:var(--evt-context-menu-text-color);font-size:var(--evt-context-menu-text-size)}.e-virt-table-menu-item:last-child,.e-virt-table-submenu-item:last-child{border-bottom:none}.e-virt-table-menu-item:has(.e-virt-table-menu-item-icon){padding-left:8px}.e-virt-table-menu-item-content{display:flex;align-items:center;flex:1;min-width:0}.e-virt-table-menu-item-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;flex-shrink:0}.e-virt-table-menu-item-icon svg{width:100%;height:100%;fill:currentColor}.e-virt-table-menu-item-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.e-virt-table-menu-arrow{display:inline-flex;align-items:center;justify-content:center;color:var(--evt-text-color-regular);transition:color .2s}.e-virt-table-menu-arrow svg{width:20px;height:20px;fill:currentColor}.e-virt-table-submenu-item:hover,.e-virt-table-menu-item:hover,.e-virt-table-menu-item.active{background:var(--evt-context-menu-item-hover-bg-color);color:var(--evt-context-menu-item-hover-text-color)}.e-virt-table-menu-item.disabled,.e-virt-table-submenu-item.disabled{cursor:not-allowed}.e-virt-table-finder-bar{position:absolute;top:8px;right:16px;display:none;z-index:10000;background:#fff;border:1px solid #dadce0;border-radius:12px;box-shadow:0 2px 6px #0003;padding:0 8px;height:48px;min-width:250px;align-items:center;font-size:12px}.e-virt-table-finder-bar.show{display:flex}.e-virt-table-finder-bar-input-wrapper{display:flex;align-items:center;flex:1;padding:0 8px;position:relative}.e-virt-table-finder-bar-input{border:none;outline:none;flex:1;font-size:12px;background:transparent;color:#333;min-width:150px;padding-left:0;position:relative}.e-virt-table-finder-bar-nav{display:flex;flex-direction:row;gap:8px;margin:0 8px;align-items:center}.e-virt-table-finder-bar-nav-btn{border:none;background:transparent;cursor:pointer;padding:0;color:#666;border-radius:50%;display:flex;align-items:center;justify-content:center}.e-virt-table-finder-bar-nav-btn svg{width:24px;height:24px}.e-virt-table-finder-bar-nav-btn.prev-btn{transform:rotate(-90deg)}.e-virt-table-finder-bar-nav-btn.next-btn{transform:rotate(90deg)}.e-virt-table-finder-bar-nav-btn.close-btn{font-size:24px;color:#666;line-height:1;width:24px;height:24px}.e-virt-table-finder-bar-nav-btn:hover{color:#666;background-color:#f0f0f0}.e-virt-table-finder-bar-count{color:#666;font-size:12px;margin:0 8px;white-space:nowrap;flex-shrink:0}.e-virt-table-finder-bar-count.no-results{color:#999}.e-virt-table-finder-bar-loading{display:none;position:absolute;left:8px;top:0;width:16px;height:16px;flex-shrink:0;pointer-events:none;z-index:0}.e-virt-table-finder-bar-loading.show{display:block}.e-virt-table-finder-bar-loading svg{width:100%;height:100%;color:#666;animation:rotate 1s linear infinite}.e-virt-table-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:14px;color:#666;z-index:15}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})(),(function(n,r){typeof e==`object`&&typeof t<`u`?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.EVirtTable=r())})(e,(function(){"use strict";var e=Object.defineProperty,t=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,n=(e,n,r)=>t(e,typeof n==`symbol`?n:n+``,r);class r{constructor(e){n(this,`rules`),this.rules=e}validate(e){let t=[],{column:n,row:r,key:i,rowKey:a,colIndex:o,rowIndex:s,value:c,field:l,fieldValue:u}=e;Array.isArray(this.rules)||(this.rules=[this.rules]);for(let e of this.rules){if(e.validator){let d={field:l,fieldValue:u,value:c,column:n,colIndex:o,rowIndex:s,row:r,key:i,rowKey:a,...e};e.validator(d,c,e=>{e&&t.push({...d,message:e})})}if(!e.required&&(c==null||c===``))return t;e.pattern&&!e.pattern.test(c)&&t.push({value:c,column:n,row:r,key:i,rowKey:a,colIndex:o,rowIndex:s,field:l,fieldValue:u,message:e.message||`${i} is pattern validation error`}),e.required&&(c==null||c===``)&&t.push({value:c,column:n,row:r,key:i,rowKey:a,colIndex:o,rowIndex:s,field:l,fieldValue:u,message:e.message||`${i} is required`})}return t}}function i(){return`xxxxxxxxxxxxxxxxxx`.replace(/[x]/g,function(e){let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function a(e,t){let n=0,r;return function(...i){let a=new Date().getTime(),o=a-n,s=typeof t==`function`?t():t;!n||o>=s?(e.apply(this,i),n=a):r||=setTimeout(()=>{e.apply(this,i),n=new Date().getTime(),r=void 0},s-o)}}function o(e=[]){return e.length?e.map(e=>o(e.children)+1).sort((e,t)=>t-e)[0]:0}function s(e=[]){let t=[],n=[],r=[];return e.forEach(e=>{e.fixed===`left`?t.push(e):e.fixed===`right`?r.push(e):n.push(e)}),[...t.sort((e,t)=>(e.sort??0)-(t.sort??0)),...n.sort((e,t)=>(e.sort??0)-(t.sort??0)),...r.sort((e,t)=>(e.sort??0)-(t.sort??0))]}function c(e=[],t=1,n=0,r=``){return e.sort((e,t)=>(e.sort??0)-(t.sort??0)).map(e=>{if(e.children){let i=0,a=e.fixed;e.children.forEach(e=>{e.fixed=a});let o=c(e.children,t-1,n+1,e.key);return o&&o.forEach(e=>{i+=e.colspan??0}),{...e,width:e.width,level:n,rowspan:1,colspan:i,parentKey:r,children:o.sort((e,t)=>(e.sort??0)-(t.sort??0))}}return{...e,level:n,rowspan:t,colspan:1,parentKey:r}})}function l(e=[]){let t=[];return e.forEach(e=>{e.children?t=t.concat(l(e.children)):t.push(e)}),t}function u(e){return e.filter(e=>!e.hide).map(e=>Array.isArray(e.children)&&e.children.length>0?{...e,children:u(e.children)}:{...e})}let d=/^(\r\n|\n\r|\r|\n)/,f=/^[^\t\r\n]+/,p=/^\t/;function m(e){let t=[[``]];if(e.length===0)return t;let n=0,r=0,i;for(;e.length>0&&i!==e.length;)if(i=e.length,e.match(p))e=e.replace(p,``),n+=1,t[r][n]=``;else if(e.match(d))e=e.replace(d,``),n=0,r+=1,t[r]=[``];else{let i=``;if(e.startsWith(`"`)){let t=0,n=!0;for(;n;){let r=e.slice(0,1);r===`"`&&(t+=1),i+=r,e=e.slice(1),(e.length===0||e.match(/^[\t\r\n]/)&&t%2==0)&&(n=!1)}i=i.replace(/^"/,``).replace(/"$/,``).replace(/["]*/g,e=>Array(Math.floor(e.length/2)).fill(`"`).join(``))}else{let t=e.match(f);i=t?t[0]:``,e=e.slice(i.length)}t[r][n]=i}return Array.isArray(t)&&t.length>1&&t[t.length-1].length===1&&t[t.length-1][0]===``&&(t=t.slice(0,t.length-1)),t}function h(e){let t,n,r,i,a=``,o;for(t=0,n=e.length;t<n;t+=1){for(i=e[t].length,r=0;r<i;r+=1)r>0&&(a+=` `),o=e[t][r],typeof o==`string`?o.indexOf(`
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let l=require("vue"),u=require("ant-design-vue"),d=require("@ant-design/icons-vue");d=c(d,1);var f=o(((e,t)=>{t.exports={keyId:1,cookies:{path:`/`},treeOptions:{parentKey:`parentId`,key:`id`,children:`children`},parseDateFormat:`yyyy-MM-dd HH:mm:ss`,firstDayOfWeek:1}})),p=o(((e,t)=>{function n(e,t,n){if(e)if(e.forEach)e.forEach(t,n);else for(var r=0,i=e.length;r<i;r++)t.call(n,e[r],r,e)}t.exports=n})),m=o(((e,t)=>{t.exports=Object.prototype.toString})),h=o(((e,t)=>{var n=m();function r(e){return function(t){return`[object `+e+`]`===n.call(t)}}t.exports=r})),g=o(((e,t)=>{var n=h();t.exports=Array.isArray||n(`Array`)})),_=o(((e,t)=>{function n(e,t){return e&&e.hasOwnProperty?e.hasOwnProperty(t):!1}t.exports=n})),v=o(((e,t)=>{var n=_();function r(e,t,r){if(e)for(var i in e)n(e,i)&&t.call(r,e[i],i,e)}t.exports=r})),y=o(((e,t)=>{var n=g(),r=p(),i=v();function a(e,t,a){return e&&(n(e)?r:i)(e,t,a)}t.exports=a})),b=o(((e,t)=>{function n(e){return function(t){return typeof t===e}}t.exports=n})),x=o(((e,t)=>{t.exports=b()(`function`)})),S=o(((e,t)=>{var n=y();function r(e,t){var r=Object[e];return function(e){var i=[];if(e){if(r)return r(e);n(e,t>1?function(t){i.push([``+t,e[t]])}:function(){i.push(arguments[t])})}return i}}t.exports=r})),C=o(((e,t)=>{t.exports=S()(`keys`,1)})),w=o(((e,t)=>{var n=m(),r=v(),i=p();function a(e,t){var n=e.__proto__.constructor;return t?new n(t):new n}function o(e,t){return t?s(e,t):e}function s(e,t){if(e)switch(n.call(e)){case`[object Object]`:var s=Object.create(Object.getPrototypeOf(e));return r(e,function(e,n){s[n]=o(e,t)}),s;case`[object Date]`:case`[object RegExp]`:return a(e,e.valueOf());case`[object Array]`:case`[object Arguments]`:var c=[];return i(e,function(e){c.push(o(e,t))}),c;case`[object Set]`:var l=a(e);return l.forEach(function(e){l.add(o(e,t))}),l;case`[object Map]`:var u=a(e);return u.forEach(function(e,n){u.set(n,o(e,t))}),u}return e}function c(e,t){return e&&s(e,t)}t.exports=c})),T=o(((e,t)=>{var n=p(),r=C(),i=g(),a=w(),o=Object.assign;function s(e,t,i){for(var o=t.length,s,c=1;c<o;c++)s=t[c],n(r(t[c]),i?function(t){e[t]=a(s[t],i)}:function(t){e[t]=s[t]});return e}t.exports=function(e){if(e){var t=arguments;if(e===!0){if(t.length>1)return e=i(e[1])?[]:{},s(e,t,!0)}else return o?o.apply(Object,t):s(e,t)}return e}})),E=o(((e,t)=>{var n=f(),r=p(),i=y(),a=x(),o=T(),s=function(){};function c(){r(arguments,function(e){i(e,function(e,t){s[t]=a(e)?function(){var t=e.apply(s.$context,arguments);return s.$context=null,t}:e})})}function l(e){return o(n,e)}function u(){return n}var d=`3.9.1`;s.VERSION=d,s.version=d,s.mixin=c,s.setup=l,s.setConfig=l,s.getConfig=u,t.exports=s})),D=o(((e,t)=>{function n(e,t,n){for(var r=e.length-1;r>=0;r--)t.call(n,e[r],r,e)}t.exports=n})),O=o(((e,t)=>{var n=D(),r=C();function i(e,t,i){n(r(e),function(n){t.call(i,e[n],n,e)})}t.exports=i})),k=o(((e,t)=>{function n(e){return e===null}t.exports=n})),A=o(((e,t)=>{var n=k();function r(e,t){return function(r){return n(r)?t:r[e]}}t.exports=r})),j=o(((e,t)=>{var n=y(),r=x(),i=A();function a(e,t,a){var o={};if(e)if(t)r(t)||(t=i(t)),n(e,function(n,r){o[r]=t.call(a,n,r,e)});else return e;return o}t.exports=a})),M=o(((e,t)=>{function n(e){return e?e.constructor===Object:!1}t.exports=n})),ee=o(((e,t)=>{function n(e){return e!==`__proto__`&&e!==`constructor`}t.exports=n})),te=o(((e,t)=>{var n=g(),r=M(),i=x(),a=y(),o=ee();function s(e,t){return r(e)&&r(t)||n(e)&&n(t)?(a(t,function(n,r){o(r)&&(e[r]=i(t)?n:s(e[r],n))}),e):t}t.exports=function(e){e||={};for(var t=arguments,n=t.length,r,i=1;i<n;i++)r=t[i],r&&s(e,r);return e}})),N=o(((e,t)=>{var n=y();function r(e,t,r){var i=[];if(e&&arguments.length>1){if(e.map)return e.map(t,r);n(e,function(){i.push(t.apply(r,arguments))})}return i}t.exports=r})),P=o(((e,t)=>{var n=_(),r=g();function i(e,t,i,a,o){return function(s,c,l){if(s&&c){if(e&&s[e])return s[e](c,l);if(t&&r(s)){for(var u=0,d=s.length;u<d;u++)if(!!c.call(l,s[u],u,s)===a)return[!0,!1,u,s[u]][i]}else for(var f in s)if(n(s,f)&&!!c.call(l,s[f],f,s)===a)return[!0,!1,f,s[f]][i]}return o}}t.exports=i})),ne=o(((e,t)=>{t.exports=P()(`some`,1,0,!0,!1)})),F=o(((e,t)=>{t.exports=P()(`every`,1,1,!1,!0)})),re=o(((e,t)=>{var n=_();function r(e,t){if(e){if(e.includes)return e.includes(t);for(var r in e)if(n(e,r)&&t===e[r])return!0}return!1}t.exports=r})),ie=o(((e,t)=>{var n=g(),r=re();function i(e,t){var i,a=0;if(n(e)&&n(t)){for(i=t.length;a<i;a++)if(!r(e,t[a]))return!1;return!0}return r(e,t)}t.exports=i})),ae=o(((e,t)=>{var n=y(),r=re(),i=x(),a=A();function o(e,t,o){var s=[];if(t){i(t)||(t=a(t));var c,l={};n(e,function(n,r){c=t.call(o,n,r,e),l[c]||(l[c]=1,s.push(n))})}else n(e,function(e){r(s,e)||s.push(e)});return s}t.exports=o})),I=o(((e,t)=>{var n=N();function r(e){return n(e,function(e){return e})}t.exports=r})),oe=o(((e,t)=>{var n=ae(),r=I();function i(){for(var e=arguments,t=[],i=0,a=e.length;i<a;i++)t=t.concat(r(e[i]));return n(t)}t.exports=i})),L=o(((e,t)=>{t.exports=`undefined`})),R=o(((e,t)=>{var n=L();t.exports=b()(n)})),se=o(((e,t)=>{var n=k(),r=R();function i(e){return n(e)||r(e)}t.exports=i})),ce=o(((e,t)=>{t.exports=/(.+)?\[(\d+)\]$/})),le=o(((e,t)=>{function n(e){return e?e.splice&&e.join?e:(``+e).replace(/(\[\d+\])\.?/g,`$1.`).replace(/\.$/,``).split(`.`):[]}t.exports=n})),ue=o(((e,t)=>{var n=ce(),r=le(),i=_(),a=R(),o=se();function s(e,t,n){if(o(e))return n;var r=l(e,t);return a(r)?n:r}function c(e,t){var r=t?t.match(n):``;return r?r[1]?e[r[1]]?e[r[1]][r[2]]:void 0:e[r[2]]:e[t]}function l(e,t){if(e){var n,a,s,l=0;if(e[t]||i(e,t))return e[t];if(a=r(t),s=a.length,s){for(n=e;l<s;l++)if(n=c(n,a[l]),o(n))return l===s-1?n:void 0}return n}}t.exports=s})),de=o(((e,t)=>{var n=p(),r=I(),i=N(),a=g(),o=x(),s=M(),c=R(),l=k(),u=se(),d=ue(),f=A(),m=`asc`,h=`desc`;function _(e,t){return c(e)?1:l(e)?c(t)?-1:1:e&&e.localeCompare?e.localeCompare(t):e>t?1:-1}function v(e,t,n){return function(r,i){var a=r[e],o=i[e];return a===o?n?n(r,i):0:t.order===h?_(o,a):_(a,o)}}function y(e,t,r,i){var c=[];return r=a(r)?r:[r],n(r,function(r,l){if(r){var u=r,f;a(r)?(u=r[0],f=r[1]):s(r)&&(u=r.field,f=r.order),c.push({field:u,order:f||m}),n(t,o(u)?function(t,n){t[l]=u.call(i,t.data,n,e)}:function(e){e[l]=u?d(e.data,u):e.data})}}),c}function b(e,t,n){if(e){if(u(t))return r(e).sort(_);for(var a,o=i(e,function(e){return{data:e}}),s=y(e,o,t,n),c=s.length-1;c>=0;)a=v(c,s[c],a),c--;return a&&(o=o.sort(a)),i(o,f(`data`))}return[]}t.exports=b})),fe=o(((e,t)=>{t.exports=de()})),pe=o(((e,t)=>{function n(e,t){return e>=t?e:(e>>=0)+Math.round(Math.random()*((t||9)-e))}t.exports=n})),me=o(((e,t)=>{t.exports=S()(`values`,0)})),he=o(((e,t)=>{var n=pe(),r=me();function i(e){for(var t,i=[],a=r(e),o=a.length-1;o>=0;o--)t=o>0?n(0,o):0,i.push(a[t]),a.splice(t,1);return i}t.exports=i})),ge=o(((e,t)=>{var n=he();function r(e,t){var r=n(e);return arguments.length<=1?r[0]:(t<r.length&&(r.length=t||0),r)}t.exports=r})),_e=o(((e,t)=>{function n(e){return function(t){if(t){var n=e(t&&t.replace?t.replace(/,/g,``):t);if(!isNaN(n))return n}return 0}}t.exports=n})),ve=o(((e,t)=>{t.exports=_e()(parseFloat)})),ye=o(((e,t)=>{var n=ve();function r(e,t,r){var i=[],a=arguments.length;if(e){if(t=a>=2?n(t):0,r=a>=3?n(r):e.length,e.slice)return e.slice(t,r);for(;t<r;t++)i.push(e[t])}return i}t.exports=r})),be=o(((e,t)=>{var n=y();function r(e,t,r){var i=[];if(e&&t){if(e.filter)return e.filter(t,r);n(e,function(n,a){t.call(r,n,a,e)&&i.push(n)})}return i}t.exports=r})),xe=o(((e,t)=>{t.exports=P()(``,0,2,!0)})),Se=o(((e,t)=>{t.exports=P()(`find`,1,3,!0)})),Ce=o(((e,t)=>{var n=g(),r=me();function i(e,t,i){if(e){n(e)||(e=r(e));for(var a=e.length-1;a>=0;a--)if(t.call(i,e[a],a,e))return e[a]}}t.exports=i})),we=o(((e,t)=>{var n=C();function r(e,t,r){if(e){var i,a,o=0,s=null,c=r,l=arguments.length>2,u=n(e);if(e.length&&e.reduce)return a=function(){return t.apply(s,arguments)},l?e.reduce(a,c):e.reduce(a);for(l&&(o=1,c=e[u[0]]),i=u.length;o<i;o++)c=t.call(s,c,e[u[o]],o,e);return c}}t.exports=r})),Te=o(((e,t)=>{var n=g();function r(e,t,r,i){if(n(e)&&e.copyWithin)return e.copyWithin(t,r,i);var a,o,s=t>>0,c=r>>0,l=e.length,u=arguments.length>3?i>>0:l;if(s<l&&(s=s>=0?s:l+s,s>=0&&(c=c>=0?c:l+c,u=u>=0?u:l+u,c<u)))for(a=0,o=e.slice(c,u);s<l&&!(o.length<=a);s++)e[s]=o[a++];return e}t.exports=r})),z=o(((e,t)=>{var n=g();function r(e,t){var r,i=[],a=t>>0||1;if(n(e))if(a>=0&&e.length>a)for(r=0;r<e.length;)i.push(e.slice(r,r+a)),r+=a;else i=e.length?[e]:e;return i}t.exports=r})),B=o(((e,t)=>{var n=N(),r=A();function i(e,t){return n(e,r(t))}t.exports=i})),V=o(((e,t)=>{var n=x(),r=se(),i=ue(),a=p();function o(e){return function(t,o){if(t&&t.length){var s,c;return a(t,function(a,l){o&&(a=n(o)?o(a,l,t):i(a,o)),!r(a)&&(r(s)||e(s,a))&&(c=l,s=a)}),t[c]}return s}}t.exports=o})),Ee=o(((e,t)=>{t.exports=V()(function(e,t){return e<t})})),De=o(((e,t)=>{var n=B(),r=Ee();function i(e){var t,i,a,o=[];if(e&&e.length)for(t=0,i=r(e,function(e){return e?e.length:0}),a=i?i.length:0;t<a;t++)o.push(n(e,t));return o}t.exports=i})),Oe=o(((e,t)=>{var n=De();function r(){return n(arguments)}t.exports=r})),ke=o(((e,t)=>{var n=me(),r=y();function i(e,t){var i={};return t||=[],r(n(e),function(e,n){i[e]=t[n]}),i}t.exports=i})),Ae=o(((e,t)=>{var n=g(),r=p();function i(e,t){var a=[];return r(e,function(e){a=a.concat(n(e)?t?i(e,t):e:[e])}),a}function a(e,t){return n(e)?i(e,t):[]}t.exports=a})),H=o(((e,t)=>{var n=N(),r=g();function i(e,t){for(var n=0,r=t.length;e&&n<r;)e=e[t[n++]];return r&&e?e:0}function a(e,t){for(var a,o=arguments,s=[],c=[],l=2,u=o.length;l<u;l++)s.push(o[l]);if(r(t)){for(u=t.length-1,l=0;l<u;l++)c.push(t[l]);t=t[u]}return n(e,function(e){if(c.length&&(e=i(e,c)),a=e[t]||t,a&&a.apply)return a.apply(e,s)})}t.exports=a})),je=o(((e,t)=>{function n(e,t){return(console[e]||console.log)(t)}t.exports=n})),Me=o(((e,t)=>{function n(e,t){try{delete e[t]}catch{e[t]=void 0}}t.exports=n})),Ne=o(((e,t)=>{var n=g(),r=D(),i=O();function a(e,t,a){return e&&(n(e)?r:i)(e,t,a)}t.exports=a})),U=o(((e,t)=>{t.exports=b()(`object`)})),Pe=o(((e,t)=>{var n=Me(),r=M(),i=U(),a=g(),o=k(),s=T(),c=v();function l(e,t,l){if(e){var u,d=arguments.length>1&&(o(t)||!i(t)),f=d?l:t;if(r(e))c(e,d?function(n,r){e[r]=t}:function(t,r){n(e,r)}),f&&s(e,f);else if(a(e)){if(d)for(u=e.length;u>0;)u--,e[u]=t;else e.length=0;f&&e.push.apply(e,f)}}return e}t.exports=l})),Fe=o(((e,t)=>{var n=Me(),r=x(),i=g(),a=y(),o=p(),s=Ne(),c=Pe(),l=se();function u(e){return function(t,n){return n===e}}function d(e,t,d){if(e){if(!l(t)){var f=[],p=[];return r(t)||(t=u(t)),a(e,function(e,n,r){t.call(d,e,n,r)&&f.push(n)}),i(e)?s(f,function(t,n){p.push(e[t]),e.splice(t,1)}):(p={},o(f,function(t){p[t]=e[t],n(e,t)})),p}return c(e)}return e}t.exports=d})),Ie=o(((e,t)=>{var n=f(),r=je(),i=de(),a=w(),o=se(),s=y(),c=Fe(),l=T();function u(e,t){s(e,function(e){e[t]&&!e[t].length&&c(e,t)})}function d(e,t){var c=l({},n.treeOptions,t),d=c.strict,f=c.key,p=c.parentKey,m=c.children,h=c.mapChildren,g=c.sortKey,_=c.reverse,v=c.data,y=[],b={},x={},S,C,w;return g&&(e=i(a(e),g),_&&(e=e.reverse())),s(e,function(e){S=e[f],x[S]&&r(`warn`,`Duplicate primary key=`+S),x[S]=!0}),s(e,function(e){S=e[f],v?(C={},C[v]=e):C=e,w=e[p],b[S]=b[S]||[],C[f]=S,C[p]=w,S===w&&(w=null,r(`warn`,`Error infinite Loop. key=`+S+` parentKey=`+S)),b[w]=b[w]||[],b[w].push(C),C[m]=b[S],h&&(C[h]=b[S]),(!d||d&&o(w))&&(x[w]||y.push(C))}),d&&u(e,m),y}t.exports=d})),Le=o(((e,t)=>{var n=f(),r=p(),i=T();function a(e,t,n,i){var o=i.key,s=i.parentKey,c=i.children,l=i.data,u=i.updated,d=i.clear;return r(n,function(n){var r=n[c];l&&(n=n[l]),u!==!1&&(n[s]=t?t[o]:null),e.push(n),r&&r.length&&a(e,n,r,i),d&&delete n[c]}),e}function o(e,t){return a([],null,e,i({},n.treeOptions,t))}t.exports=o})),Re=o(((e,t)=>{function n(e){return function(t,n,r,i){var a=r||{};return e(null,t,n,i,[],[],a.children||`children`,a)}}t.exports=n})),ze=o(((e,t)=>{var n=Re();function r(e,t,n,i,a,o,s,c){if(t){var l,u,d,f,p,m;for(u=0,d=t.length;u<d;u++){if(l=t[u],f=a.concat([``+u]),p=o.concat([l]),n.call(i,l,u,t,f,e,p))return{index:u,item:l,path:f,items:t,parent:e,nodes:p};if(s&&l&&(m=r(l,l[s],n,i,f.concat([s]),p,s,c),m))return m}}}t.exports=n(r)})),Be=o(((e,t)=>{var n=Re(),r=y();function i(e,t,n,a,o,s,c,l){var u,d;r(t,function(r,f){u=o.concat([``+f]),d=s.concat([r]),n.call(a,r,f,t,u,e,d),r&&c&&(u.push(c),i(r,r[c],n,a,u,d,c,l))})}t.exports=n(i)})),Ve=o(((e,t)=>{var n=Re(),r=N();function i(e,t,n,a,o,s,c,l){var u,d,f,p=l.mapChildren||c;return r(t,function(r,m){return u=o.concat([``+m]),d=s.concat([r]),f=n.call(a,r,m,t,u,e,d),f&&r&&c&&r[c]&&(f[p]=i(r,r[c],n,a,u,d,c,l)),f})}t.exports=n(i)})),He=o(((e,t)=>{var n=Be();function r(e,t,r,i){var a=[];return e&&t&&n(e,function(e,n,r,o,s,c){t.call(i,e,n,r,o,s,c)&&a.push(e)},r),a}t.exports=r})),Ue=o(((e,t)=>{var n=Re(),r=p(),i=T();function a(e,t,n,o,s,c,l,u,d){var f,p,m,h,g,_=[],v=d.original,y=d.data,b=d.mapChildren||u,x=d.isEvery;return r(n,function(r,S){f=c.concat([``+S]),p=l.concat([r]),h=e&&!x||o.call(s,r,S,n,f,t,p),g=u&&r[u],h||g?(v?m=r:(m=i({},r),y&&(m[y]=r)),m[b]=a(h,r,r[u],o,s,f,p,u,d),(h||m[b].length)&&_.push(m)):h&&_.push(m)}),_}t.exports=n(function(e,t,n,r,i,o,s,c){return a(0,e,t,n,r,i,o,s,c)})})),We=o(((e,t)=>{function n(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(t===e[n])return n}t.exports=n})),Ge=o(((e,t)=>{function n(e,t){if(e.lastIndexOf)return e.lastIndexOf(t);for(var n=e.length-1;n>=0;n--)if(t===e[n])return n;return-1}t.exports=n})),Ke=o(((e,t)=>{t.exports=b()(`number`)})),qe=o(((e,t)=>{var n=Ke();function r(e){return n(e)&&isNaN(e)}t.exports=r})),Je=o(((e,t)=>{t.exports=b()(`string`)})),Ye=o(((e,t)=>{t.exports=h()(`Date`)})),Xe=o(((e,t)=>{t.exports=parseInt})),Ze=o(((e,t)=>{function n(e){return Date.UTC(e.y,e.M||0,e.d||1,e.H||0,e.m||0,e.s||0,e.S||0)}t.exports=n})),W=o(((e,t)=>{function n(e){return e.getTime()}t.exports=n})),G=o(((e,t)=>{var n=Xe(),r=Ze(),i=W(),a=Je(),o=Ye();function s(e){return`(\\d{`+e+`})`}function c(e){return e<10?e*100:e<100?e*10:e}function l(e){return isNaN(e)?e:n(e)}for(var u=s(2),d=s(`1,2`),f=s(`1,7`),p=s(`3,4`),m=`.{1}`,h=m+d,g=`(([zZ])|([-+]\\d{2}:?\\d{2}))`,_=[p,h,h,h,h,h,m+f,g],v=[],y=_.length-1;y>=0;y--){for(var b=``,x=0;x<y+1;x++)b+=_[x];v.push(RegExp(`^`+b+`$`))}function S(e){for(var t,n={},r=0,i=v.length;r<i;r++)if(t=e.match(v[r]),t){n.y=t[1],n.M=t[2],n.d=t[3],n.H=t[4],n.m=t[5],n.s=t[6],n.S=t[7],n.Z=t[8];break}return n}for(var C=[[`yyyy`,p],[`yy`,u],[`MM`,u],[`M`,d],[`dd`,u],[`d`,d],[`HH`,u],[`H`,d],[`mm`,u],[`m`,d],[`ss`,u],[`s`,d],[`SSS`,s(3)],[`S`,f],[`Z`,g]],w={},T=[`\\[([^\\]]+)\\]`],x=0;x<C.length;x++){var E=C[x];w[E[0]]=E[1]+`?`,T.push(E[0])}var D=new RegExp(T.join(`|`),`g`),O={};function k(e,t){var n=O[t];if(!n){var r=[],i=t.replace(/([$(){}*+.?\\^|])/g,`\\$1`).replace(D,function(e,t){var n=e.charAt(0);return n===`[`?t:(r.push(n),w[e])});n=O[t]={_i:r,_r:new RegExp(i)}}var a={},o=e.match(n._r);if(o){for(var s=n._i,c=1,l=o.length;c<l;c++)a[s[c-1]]=o[c];return a}return a}function A(e){if(/^[zZ]/.test(e.Z))return new Date(r(e));var t=e.Z.match(/([-+])(\d{2}):?(\d{2})/);return t?new Date(r(e)-(t[1]===`-`?-1:1)*n(t[2])*36e5+n(t[3])*6e4):new Date(``)}function j(e,t){if(e){var r=o(e);if(r||!t&&/^[0-9]{11,15}$/.test(e))return new Date(r?i(e):n(e));if(a(e)){var s=t?k(e,t):S(e);if(s.y)return s.M&&=l(s.M)-1,s.S&&=c(l(s.S.substring(0,3))),s.Z?A(s):new Date(s.y,s.M||0,s.d||1,s.H||0,s.m||0,s.s||0,s.S||0)}}return new Date(``)}t.exports=j})),Qe=o(((e,t)=>{function n(){return new Date}t.exports=n})),$e=o(((e,t)=>{var n=Ye(),r=G(),i=Qe();function a(e){var t,a=e?r(e):i();return n(a)?(t=a.getFullYear(),t%4==0&&(t%100!=0||t%400==0)):!1}t.exports=a})),et=o(((e,t)=>{var n=g(),r=_();function i(e,t,i){if(e){if(n(e))for(var a=0,o=e.length;a<o&&t.call(i,e[a],a,e)!==!1;a++);else for(var s in e)if(r(e,s)&&t.call(i,e[s],s,e)===!1)break}}t.exports=i})),tt=o(((e,t)=>{var n=g(),r=_();function i(e,t,i){if(e){var a,o;if(n(e))for(a=e.length-1;a>=0&&t.call(i,e[a],a,e)!==!1;a--);else for(o=r(e),a=o.length-1;a>=0&&t.call(i,e[o[a]],o[a],e)!==!1;a--);}}t.exports=i})),nt=o(((e,t)=>{var n=g(),r=Je(),i=_();function a(e,t){return function(a,o){if(a){if(a[e])return a[e](o);if(r(a)||n(a))return t(a,o);for(var s in a)if(i(a,s)&&o===a[s])return s}return-1}}t.exports=a})),rt=o(((e,t)=>{t.exports=nt()(`indexOf`,We())})),it=o(((e,t)=>{t.exports=nt()(`lastIndexOf`,Ge())})),at=o(((e,t)=>{var n=g(),r=Je(),i=y();function a(e){var t=0;return r(e)||n(e)?e.length:(i(e,function(){t++}),t)}t.exports=a})),ot=o(((e,t)=>{var n=Ke();function r(e){return n(e)&&isFinite(e)}t.exports=r})),st=o(((e,t)=>{var n=g(),r=k();t.exports=function(e){return!r(e)&&!isNaN(e)&&!n(e)&&e%1==0}})),ct=o(((e,t)=>{var n=g(),r=st(),i=k();function a(e){return!i(e)&&!isNaN(e)&&!n(e)&&!r(e)}t.exports=a})),lt=o(((e,t)=>{t.exports=b()(`boolean`)})),ut=o(((e,t)=>{t.exports=h()(`RegExp`)})),K=o(((e,t)=>{t.exports=h()(`Error`)})),dt=o(((e,t)=>{function n(e){return e?e.constructor===TypeError:!1}t.exports=n})),ft=o(((e,t)=>{function n(e){for(var t in e)return!1;return!0}t.exports=n})),pt=o(((e,t)=>{var n=L(),r=typeof Symbol!==n;function i(e){return r&&Symbol.isSymbol?Symbol.isSymbol(e):typeof e==`symbol`}t.exports=i})),mt=o(((e,t)=>{t.exports=h()(`Arguments`)})),ht=o(((e,t)=>{var n=Je(),r=Ke();function i(e){return!!(e&&n(e.nodeName)&&r(e.nodeType))}t.exports=i})),gt=o(((e,t)=>{var n=L();t.exports=typeof document===n?0:document})),_t=o(((e,t)=>{var n=gt();function r(e){return!!(e&&n&&e.nodeType===9)}t.exports=r})),vt=o(((e,t)=>{var n=L();t.exports=typeof window===n?0:window})),yt=o(((e,t)=>{var n=vt();function r(e){return!!(n&&e&&e===e.window)}t.exports=r})),bt=o(((e,t)=>{var n=L(),r=typeof FormData!==n;function i(e){return r&&e instanceof FormData}t.exports=i})),xt=o(((e,t)=>{var n=L(),r=typeof Map!==n;function i(e){return r&&e instanceof Map}t.exports=i})),St=o(((e,t)=>{var n=L(),r=typeof WeakMap!==n;function i(e){return r&&e instanceof WeakMap}t.exports=i})),Ct=o(((e,t)=>{var n=L(),r=typeof Set!==n;function i(e){return r&&e instanceof Set}t.exports=i})),wt=o(((e,t)=>{var n=L(),r=typeof WeakSet!==n;function i(e){return r&&e instanceof WeakSet}t.exports=i})),Tt=o(((e,t)=>{var n=x(),r=Je(),i=g(),a=_();function o(e){return function(t,o,s){if(t&&n(o)){if(i(t)||r(t))return e(t,o,s);for(var c in t)if(a(t,c)&&o.call(s,t[c],c,t))return c}return-1}}t.exports=o})),Et=o(((e,t)=>{t.exports=Tt()(function(e,t,n){for(var r=0,i=e.length;r<i;r++)if(t.call(n,e[r],r,e))return r;return-1})})),Dt=o(((e,t)=>{var n=Ke(),r=g(),i=Je(),a=ut(),o=Ye(),s=lt(),c=R(),l=C(),u=F();function d(e,t,f,p,m,h,g){if(e===t)return!0;if(e&&t&&!n(e)&&!n(t)&&!i(e)&&!i(t)){if(a(e))return f(``+e,``+t,m,h,g);if(o(e)||s(e))return f(+e,+t,m,h,g);var _,v,y,b=r(e),x=r(t);if(b||x?b&&x:e.constructor===t.constructor)return v=l(e),y=l(t),p&&(_=p(e,t,m)),v.length===y.length?c(_)?u(v,function(n,r){return n===y[r]&&d(e[n],t[y[r]],f,p,b||x?r:n,e,t)}):!!_:!1}return f(e,t,m,h,g)}t.exports=d})),Ot=o(((e,t)=>{function n(e,t){return e===t}t.exports=n})),kt=o(((e,t)=>{var n=Dt(),r=Ot();function i(e,t){return n(e,t,r)}t.exports=i})),At=o(((e,t)=>{var n=C(),r=Et(),i=kt(),a=ne(),o=ie();function s(e,t){var s=n(e),c=n(t);if(c.length){if(o(s,c))return a(c,function(n){return r(s,function(r){return r===n&&i(e[r],t[n])})>-1})}else return!0;return i(e,t)}t.exports=s})),jt=o(((e,t)=>{var n=Dt(),r=Ot(),i=x(),a=R();function o(e,t,o){return i(o)?n(e,t,function(e,t,n,i,s){var c=o(e,t,n,i,s);return a(c)?r(e,t):!!c},o):n(e,t,r)}t.exports=o})),Mt=o(((e,t)=>{var n=pt(),r=Ye(),i=g(),a=ut(),o=K(),s=k();function c(e){return s(e)?`null`:n(e)?`symbol`:r(e)?`date`:i(e)?`array`:a(e)?`regexp`:o(e)?`error`:typeof e}t.exports=c})),Nt=o(((e,t)=>{var n=f(),r=se();function i(e){return``+(r(e)?``:e)+n.keyId++}t.exports=i})),Pt=o(((e,t)=>{t.exports=Tt()(function(e,t,n){for(var r=e.length-1;r>=0;r--)if(t.call(n,e[r],r,e))return r;return-1})})),Ft=o(((e,t)=>{var n=M(),r=Je();function i(e){if(n(e))return e;if(r(e))try{return JSON.parse(e)}catch{}return{}}t.exports=i})),It=o(((e,t)=>{var n=se();function r(e){return n(e)?``:JSON.stringify(e)}t.exports=r})),Lt=o(((e,t)=>{t.exports=S()(`entries`,2)})),Rt=o(((e,t)=>{var n=x(),r=g(),i=y(),a=Et();function o(e,t){return function(o,s){var c,l,u={},d=[],f=this,p=arguments,m=p.length;if(!n(s)){for(l=1;l<m;l++)c=p[l],d.push.apply(d,r(c)?c:[c]);s=0}return i(o,function(n,r){((s?s.call(f,n,r,o):a(d,function(e){return e===r})>-1)?e:t)&&(u[r]=n)}),u}}t.exports=o})),zt=o(((e,t)=>{t.exports=Rt()(1,0)})),Bt=o(((e,t)=>{t.exports=Rt()(0,1)})),Vt=o(((e,t)=>{var n=me();function r(e){return n(e)[0]}t.exports=r})),Ht=o(((e,t)=>{var n=me();function r(e){var t=n(e);return t[t.length-1]}t.exports=r})),Ut=o(((e,t)=>{var n=ce(),r=le(),i=_();function a(e,t){if(e){if(i(e,t))return!0;var a,o,s,c,l,u,d=r(t),f=0,p=d.length;for(l=e;f<p&&(u=!1,a=d[f],c=a?a.match(n):``,c?(o=c[1],s=c[2],o?l[o]&&i(l[o],s)&&(u=!0,l=l[o][s]):i(l,s)&&(u=!0,l=l[s])):i(l,a)&&(u=!0,l=l[a]),u);f++)if(f===p-1)return!0}return!1}t.exports=a})),Wt=o(((e,t)=>{var n=Xe(),r=le(),i=ee(),a=_(),o=/(.+)?\[(\d+)\]$/;function s(e,t,r,i,a){if(e[t])r&&(e[t]=a);else{var s,c,l=t?t.match(o):null;if(r)c=a;else{var u=i?i.match(o):null;c=u&&!u[1]?Array(n(u[2])+1):{}}return l?l[1]?(s=n(l[2]),e[l[1]]?r?e[l[1]][s]=c:e[l[1]][s]?c=e[l[1]][s]:e[l[1]][s]=c:(e[l[1]]=Array(s+1),e[l[1]][s]=c)):e[l[2]]=c:e[t]=c,c}return e[t]}function c(e,t,n){if(e&&i(t)){if((e[t]||a(e,t))&&!l(t))e[t]=n;else for(var o=e,c=r(t),u=c.length,d=0;d<u;d++)if(!l(c[d])){var f=d===u-1;o=s(o,c[d],f,f?null:c[d+1],n)}}return e}function l(e){return e===`__proto__`||e===`constructor`||e===`prototype`}t.exports=c})),Gt=o(((e,t)=>{var n=ft(),r=U(),i=x(),a=A(),o=y();function s(e){return function(){return n(e)}}function c(e,t,n){var c,l={};return e&&(t&&r(t)?t=s(t):i(t)||(t=a(t)),o(e,function(r,i){c=t?t.call(n,r,i,e):r,l[c]?l[c].push(r):l[c]=[r]})),l}t.exports=c})),Kt=o(((e,t)=>{var n=Gt(),r=v();function i(e,t,i){var a=n(e,t,i||this);return r(a,function(e,t){a[t]=e.length}),a}t.exports=i})),qt=o(((e,t)=>{function n(e,t,n){var r,i,a=[],o=arguments;if(o.length<2&&(t=o[0],e=0),r=e>>0,i=t>>0,r<t)for(n=n>>0||1;r<i;r+=n)a.push(r);return a}t.exports=n})),Jt=o(((e,t)=>{var n=C(),r=ye(),i=re(),a=p(),o=T();function s(e,t){if(e&&t){var s=o.apply(this,[{}].concat(r(arguments,1))),c=n(s);a(n(e),function(t){i(c,t)&&(e[t]=s[t])})}return e}t.exports=s})),Yt=o(((e,t)=>{t.exports=V()(function(e,t){return e>t})})),Xt=o(((e,t)=>{function n(e){return(e.split(`.`)[1]||``).length}t.exports=n})),Zt=o(((e,t)=>{var n=Xe();function r(e,t){if(e.repeat)return e.repeat(t);var r=isNaN(t)?[]:Array(n(t));return r.join(e)+(r.length>0?e:``)}t.exports=r})),Qt=o(((e,t)=>{function n(e,t){return e.substring(0,t)+`.`+e.substring(t,e.length)}t.exports=n})),$t=o(((e,t)=>{var n=Zt(),r=Qt();function i(e){var t=``+e,i=t.match(/^([-+]?)((\d+)|((\d+)?[.](\d+)?))e([-+]{1})([0-9]+)$/);if(i){var a=e<0?`-`:``,o=i[3]||``,s=i[5]||``,c=i[6]||``,l=i[7],u=i[8],d=u-c.length,f=u-o.length,p=u-s.length;return l===`+`?o?a+o+n(`0`,u):d>0?a+s+c+n(`0`,d):a+s+r(c,u):o?f>0?a+`0.`+n(`0`,Math.abs(f))+o:a+r(o,f):p>0?a+`0.`+n(`0`,Math.abs(p))+s+c:a+r(s,p)+c}return t}t.exports=i})),en=o(((e,t)=>{var n=Xt(),r=$t();function i(e,t){var i=r(e),a=r(t);return parseInt(i.replace(`.`,``))*parseInt(a.replace(`.`,``))/10**(n(i)+n(a))}t.exports=i})),tn=o(((e,t)=>{var n=en(),r=ve(),i=$t();function a(e){return function(t,a){var o=r(t),s=o;if(o){a>>=0;var c=i(o).split(`.`),l=c[0],u=c[1]||``,d=u.substring(0,a+1),f=l+(d?`.`+d:``);if(a>=u.length)return r(f);if(f=o,a>0){var p=10**a;s=Math[e](n(f,p))/p}else s=Math[e](f)}return s}}t.exports=a})),nn=o(((e,t)=>{t.exports=tn()(`round`)})),rn=o(((e,t)=>{t.exports=tn()(`ceil`)})),an=o(((e,t)=>{t.exports=tn()(`floor`)})),q=o(((e,t)=>{var n=se(),r=Ke(),i=$t();function a(e){return r(e)?i(e):``+(n(e)?``:e)}t.exports=a})),on=o(((e,t)=>{var n=nn(),r=q(),i=Zt(),a=Qt();function o(e,t){t>>=0;var o=r(n(e,t)).split(`.`),s=o[0],c=o[1]||``,l=t-c.length;return t?l>0?s+`.`+c+i(`0`,l):s+a(c,Math.abs(l)):s}t.exports=o})),sn=o(((e,t)=>{var n=f(),r=nn(),i=rn(),a=an(),o=Ke(),s=q(),c=on(),l=$t(),u=T();function d(e,t){var d=u({},n.commafyOptions,t),f=d.digits,p=o(e),m,h,g,_,v;return p?(m=(d.ceil?i:d.floor?a:r)(e,f),h=l(f?c(m,f):m).split(`.`),_=h[0],v=h[1],g=_&&m<0,g&&(_=_.substring(1,_.length))):(m=s(e).replace(/,/g,``),h=m?[m]:[],_=h[0]),h.length?(g?`-`:``)+_.replace(RegExp(`(?=(?!(\\b))(.{`+(d.spaceNumber||3)+`})+$)`,`g`),d.separator||`,`)+(v?`.`+v:``):m}t.exports=d})),cn=o(((e,t)=>{var n=Xe();t.exports=_e()(n)})),ln=o(((e,t)=>{var n=en(),r=ve();function i(e,t){return n(r(e),r(t))}t.exports=i})),un=o(((e,t)=>{var n=Xt(),r=$t(),i=ln();function a(e,t){var a=r(e),o=r(t),s=10**Math.max(n(a),n(o));return(i(e,s)+i(t,s))/s}t.exports=a})),dn=o(((e,t)=>{var n=un(),r=ve();function i(e,t){return n(r(e),r(t))}t.exports=i})),fn=o(((e,t)=>{var n=Xt(),r=$t(),i=ve(),a=on();function o(e,t){var o=i(e),s=i(t),c=r(o),l=r(s),u=n(c),d=n(l),f=10**Math.max(u,d),p=u>=d?u:d;return parseFloat(a((o*f-s*f)/f,p))}t.exports=o})),pn=o(((e,t)=>{var n=Xt(),r=$t(),i=ln();function a(e,t){var a=r(e),o=r(t),s=n(a),c=n(o)-s,l=c<0,u=10**(l?Math.abs(c):c);return i(a.replace(`.`,``)/o.replace(`.`,``),l?1/u:u)}t.exports=a})),mn=o(((e,t)=>{var n=pn(),r=ve();function i(e,t){return n(r(e),r(t))}t.exports=i})),hn=o(((e,t)=>{var n=un(),r=x(),i=g(),a=y(),o=ue();function s(e,t,s){var c=0;return a(e&&e.length>2&&i(e)?e.sort():e,t?r(t)?function(){c=n(c,t.apply(s,arguments))}:function(e){c=n(c,o(e,t))}:function(e){c=n(c,e)}),c}t.exports=s})),gn=o(((e,t)=>{var n=pn(),r=at(),i=hn();function a(e,t,a){return n(i(e,t,a),r(e))}t.exports=a})),_n=o(((e,t)=>{t.exports=`first`})),vn=o(((e,t)=>{t.exports=`last`})),yn=o(((e,t)=>{function n(e){return e.getFullYear()}t.exports=n})),bn=o(((e,t)=>{t.exports=864e5})),xn=o(((e,t)=>{function n(e){return e.getMonth()}t.exports=n})),J=o(((e,t)=>{var n=Ye(),r=W();function i(e){return n(e)&&!isNaN(r(e))}t.exports=i})),Sn=o(((e,t)=>{var n=_n(),r=vn(),i=bn(),a=yn(),o=W(),s=xn(),c=G(),l=J(),u=Ke();function d(e,t,f){var p=t&&!isNaN(t)?t:0;if(e=c(e),l(e)){if(f===n)return new Date(a(e),s(e)+p,1);if(f===r)return new Date(o(d(e,p+1,n))-1);if(u(f)&&e.setDate(f),p){var m=e.getDate();if(e.setMonth(s(e)+p),m!==e.getDate())return e.setDate(1),new Date(o(e)-i)}}return e}t.exports=d})),Cn=o(((e,t)=>{var n=_n(),r=vn(),i=yn(),a=Sn(),o=G(),s=J();function c(e,t,c){var l;if(e=o(e),s(e)&&(t&&(l=t&&!isNaN(t)?t:0,e.setFullYear(i(e)+l)),c||!isNaN(c))){if(c===n)return new Date(i(e),0,1);if(c===r)return e.setMonth(11),a(e,0,r);e.setMonth(c)}return e}t.exports=c})),wn=o(((e,t)=>{var n=Sn(),r=G(),i=J();function a(e){var t=e.getMonth();return t<3?1:t<6?2:t<9?3:4}function o(e,t,o){var s,c=t&&!isNaN(t)?t*3:0;return e=r(e),i(e)?(s=(a(e)-1)*3,e.setMonth(s),n(e,c,o)):e}t.exports=o})),Tn=o(((e,t)=>{t.exports=bn()*7})),En=o(((e,t)=>{var n=f(),r=bn(),i=Tn(),a=W(),o=G(),s=J(),c=Ke();function l(e,t,l,u){if(e=o(e),s(e)){var d=c(l),f=c(u),p=a(e);if(d||f){var m=f?u:n.firstDayOfWeek,h=e.getDay(),g=d?l:h;if(h!==g){var _=0;m>h?_=-(7-m+h):m<h&&(_=m-h),g>m?p+=((g===0?7:g)-m+_)*r:g<m?p+=(7-m+g+_)*r:p+=_*r}}return t&&!isNaN(t)&&(p+=t*i),new Date(p)}return e}t.exports=l})),Dn=o(((e,t)=>{var n=_n(),r=vn(),i=Xe(),a=yn(),o=xn(),s=W(),c=G(),l=J();function u(e,t,d){if(e=c(e),l(e)&&!isNaN(t)){if(e.setDate(e.getDate()+i(t)),d===n)return new Date(a(e),o(e),e.getDate());if(d===r)return new Date(s(u(e,1,n))-1)}return e}t.exports=u})),On=o(((e,t)=>{var n=_n(),r=vn(),i=Xe(),a=yn(),o=xn(),s=W(),c=G(),l=J();function u(e,t,d){if(e=c(e),l(e)&&!isNaN(t)){if(e.setHours(e.getHours()+i(t)),d===n)return new Date(a(e),o(e),e.getDate(),e.getHours());if(d===r)return new Date(s(u(e,1,n))-1)}return e}t.exports=u})),kn=o(((e,t)=>{var n=_n(),r=vn(),i=Xe(),a=yn(),o=xn(),s=W(),c=G(),l=J();function u(e,t,d){if(e=c(e),l(e)&&!isNaN(t)){if(e.setMinutes(e.getMinutes()+i(t)),d===n)return new Date(a(e),o(e),e.getDate(),e.getHours(),e.getMinutes());if(d===r)return new Date(s(u(e,1,n))-1)}return e}t.exports=u})),An=o(((e,t)=>{var n=_n(),r=vn(),i=Xe(),a=yn(),o=xn(),s=W(),c=G(),l=J();function u(e,t,d){if(e=c(e),l(e)&&!isNaN(t)){if(e.setSeconds(e.getSeconds()+i(t)),d===n)return new Date(a(e),o(e),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds());if(d===r)return new Date(s(u(e,1,n))-1)}return e}t.exports=u})),jn=o(((e,t)=>{function n(e){return e.toUpperCase()}t.exports=n})),Mn=o(((e,t)=>{var n=f(),r=bn(),i=Tn(),a=Ke(),o=re(),s=G(),c=J(),l=En(),u=qt(),d=N(),p=W(),m=d(u(0,7),function(e){return[(e+1)%7,(e+2)%7,(e+3)%7]});function h(e,t){var n=new Date(e).getDay();return o(m[t],n)}function g(e,t){return function(o,u){var d=a(u)?u:n.firstDayOfWeek,f=s(o);if(c(f)){var m=l(f,0,d,d),g=e(m),_=p(g),v=p(m),y=v+r*6,b=new Date(y),x=l(g,0,d,d),S=p(x),C;if(v===S)return 1;if(t(m,b)){for(C=p(e(b));C<y;C+=r)if(h(C,d))return 1}var w=S+r*6,T=new Date(y),E=1;if(t(x,T)){for(E=0,C=_;C<w;C+=r)if(h(C,d)){E++;break}}return Math.floor((v-S)/i)+E}return NaN}}t.exports=g})),Nn=o(((e,t)=>{t.exports=Mn()(function(e){return new Date(e.getFullYear(),0,1)},function(e,t){return e.getFullYear()!==t.getFullYear()})})),Pn=o(((e,t)=>{var n=yn(),r=xn();function i(e){return new Date(n(e),r(e),e.getDate())}t.exports=i})),Fn=o(((e,t)=>{var n=W(),r=Pn();function i(e){return n(r(e))}t.exports=i})),In=o(((e,t)=>{var n=bn(),r=_n(),i=Fn(),a=Cn(),o=G(),s=J();function c(e){return e=o(e),s(e)?Math.floor((i(e)-i(a(e,0,r)))/n)+1:NaN}t.exports=c})),Ln=o(((e,t)=>{var n=q(),r=R(),i=Zt();function a(e,t,a){var o=n(e);return t>>=0,a=r(a)?` `:``+a,o.padStart?o.padStart(t,a):t>o.length?(t-=o.length,t>a.length&&(a+=i(a,t/a.length)),a.slice(0,t)+o):o}t.exports=a})),Rn=o(((e,t)=>{var n=f(),r=jn(),i=yn(),a=xn(),o=G(),s=Nn(),c=In(),l=T(),u=J(),d=x(),p=se(),m=Ln();function h(e,t,n,r){var i=t[n];return i?d(i)?i(r,n,e):i[r]:r}var g=/\[([^\]]+)]|y{2,4}|M{1,2}|d{1,2}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|S{1,3}|Z{1,2}|W{1,2}|D{1,3}|[aAeEq]/g;function _(e,t,d){if(e){if(e=o(e),u(e)){var f=d||{},_=t||n.parseDateFormat||n.formatString,v=e.getHours(),y=v<12?`am`:`pm`,b=l({},n.parseDateRules||n.formatStringMatchs,f.formats),x=function(t,n){return(``+i(e)).substring(4-n)},S=function(t,n){return m(a(e)+1,n,`0`)},C=function(t,n){return m(e.getDate(),n,`0`)},w=function(e,t){return m(v,t,`0`)},T=function(e,t){return m(v<=12?v:v-12,t,`0`)},E=function(t,n){return m(e.getMinutes(),n,`0`)},D=function(t,n){return m(e.getSeconds(),n,`0`)},O=function(t,n){return m(e.getMilliseconds(),n,`0`)},k=function(t,n){var r=e.getTimezoneOffset()/60*-1;return h(e,b,t,(r>=0?`+`:`-`)+m(r,2,`0`)+(n===1?`:`:``)+`00`)},A=function(t,r){return m(h(e,b,t,s(e,p(f.firstDay)?n.firstDayOfWeek:f.firstDay)),r,`0`)},j=function(t,n){return m(h(e,b,t,c(e)),n,`0`)},M={yyyy:x,yy:x,MM:S,M:S,dd:C,d:C,HH:w,H:w,hh:T,h:T,mm:E,m:E,ss:D,s:D,SSS:O,S:O,ZZ:k,Z:k,WW:A,W:A,DDD:j,D:j,a:function(t){return h(e,b,t,y)},A:function(t){return h(e,b,t,r(y))},e:function(t){return h(e,b,t,e.getDay())},E:function(t){return h(e,b,t,e.getDay())},q:function(t){return h(e,b,t,Math.floor((a(e)+3)/3))}};return _.replace(g,function(e,t){return t||(M[e]?M[e](e,e.length):e)})}return`Invalid Date`}return``}t.exports=_})),zn=o(((e,t)=>{var n=W(),r=Qe();t.exports=Date.now||function(){return n(r())}})),Bn=o(((e,t)=>{var n=W(),r=zn(),i=G(),a=Ye();t.exports=function(e,t){if(e){var o=i(e,t);return a(o)?n(o):o}return r()}})),Vn=o(((e,t)=>{var n=Rn();function r(e,t,r){return e&&t?(e=n(e,r),e!==`Invalid Date`&&e===n(t,r)):!1}t.exports=r})),Hn=o(((e,t)=>{t.exports=Mn()(function(e){return new Date(e.getFullYear(),e.getMonth(),1)},function(e,t){return e.getMonth()!==t.getMonth()})})),Un=o(((e,t)=>{var n=Cn(),r=G(),i=J(),a=$e();function o(e,t){return e=r(e),i(e)?a(n(e,t))?366:365:NaN}t.exports=o})),Wn=o(((e,t)=>{var n=bn(),r=_n(),i=vn(),a=W(),o=Sn(),s=G(),c=J();function l(e,t){return e=s(e),c(e)?Math.floor((a(o(e,t,i))-a(o(e,t,r)))/n)+1:NaN}t.exports=l})),Gn=o(((e,t)=>{var n=W(),r=Qe(),i=G(),a=J(),o=[[`yyyy`,31536e6],[`MM`,2592e6],[`dd`,864e5],[`HH`,36e5],[`mm`,6e4],[`ss`,1e3],[`S`,0]];function s(e,t){var s,c,l,u,d,f,p={done:!1,status:!1,time:0};if(e=i(e),t=t?i(t):r(),a(e)&&a(t)&&(s=n(e),c=n(t),s<c))for(u=p.time=c-s,p.done=!0,p.status=!0,f=0,d=o.length;f<d;f++)l=o[f],u>=l[1]?f===d-1?p[l[0]]=u||0:(p[l[0]]=Math.floor(u/l[1]),u-=p[l[0]]*l[1]):p[l[0]]=0;return p}t.exports=s})),Kn=o(((e,t)=>{var n=q(),r=R(),i=Zt();function a(e,t,a){var o=n(e);return t>>=0,a=r(a)?` `:``+a,o.padEnd?o.padEnd(t,a):t>o.length?(t-=o.length,t>a.length&&(a+=i(a,t/a.length)),o+a.slice(0,t)):o}t.exports=a})),qn=o(((e,t)=>{var n=q(),r=Zt();function i(e,t){return r(n(e),t)}t.exports=i})),Jn=o(((e,t)=>{var n=q();function r(e){return e&&e.trimRight?e.trimRight():n(e).replace(/[\s\uFEFF\xA0]+$/g,``)}t.exports=r})),Yn=o(((e,t)=>{var n=q();function r(e){return e&&e.trimLeft?e.trimLeft():n(e).replace(/^[\s\uFEFF\xA0]+/g,``)}t.exports=r})),Xn=o(((e,t)=>{var n=Jn(),r=Yn();function i(e){return e&&e.trim?e.trim():n(r(e))}t.exports=i})),Zn=o(((e,t)=>{t.exports={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`,"`":```}})),Qn=o(((e,t)=>{var n=q(),r=C();function i(e){var t=RegExp(`(?:`+r(e).join(`|`)+`)`,`g`);return function(r){return n(r).replace(t,function(t){return e[t]})}}t.exports=i})),$n=o(((e,t)=>{var n=Zn();t.exports=Qn()(n)})),er=o(((e,t)=>{var n=Zn(),r=Qn(),i=y(),a={};i(n,function(e,t){a[n[t]]=t}),t.exports=r(a)})),tr=o(((e,t)=>{function n(e,t,n){return e.substring(t,n)}t.exports=n})),nr=o(((e,t)=>{function n(e){return e.toLowerCase()}t.exports=n})),rr=o(((e,t)=>{var n=q(),r=tr(),i=jn(),a=nr(),o={};function s(e){if(e=n(e),o[e])return o[e];var t=e.length,s=e.replace(/([-]+)/g,function(e,n,r){return r&&r+n.length<t?`-`:``});return t=s.length,s=s.replace(/([A-Z]+)/g,function(e,n,o){var s=n.length;return n=a(n),o?s>2&&o+s<t?i(r(n,0,1))+r(n,1,s-1)+i(r(n,s-1,s)):i(r(n,0,1))+r(n,1,s):s>1&&o+s<t?r(n,0,s-1)+i(r(n,s-1,s)):n}).replace(/(-[a-zA-Z])/g,function(e,t){return i(r(t,1,t.length))}),o[e]=s,s}t.exports=s})),ir=o(((e,t)=>{var n=q(),r=tr(),i=nr(),a={};function o(e){if(e=n(e),a[e])return a[e];if(/^[A-Z]+$/.test(e))return i(e);var t=e.replace(/^([a-z])([A-Z]+)([a-z]+)$/,function(e,t,n,a){var o=n.length;return o>1?t+`-`+i(r(n,0,o-1))+`-`+i(r(n,o-1,o))+a:i(t+`-`+n+a)}).replace(/^([A-Z]+)([a-z]+)?$/,function(e,t,n){var a=t.length;return i(r(t,0,a-1)+`-`+r(t,a-1,a)+(n||``))}).replace(/([a-z]?)([A-Z]+)([a-z]?)/g,function(e,t,n,a,o){var s=n.length;return s>1&&(t&&(t+=`-`),a)?(t||``)+i(r(n,0,s-1))+`-`+i(r(n,s-1,s))+a:(t||``)+(o?`-`:``)+i(n)+(a||``)});return t=t.replace(/([-]+)/g,function(e,n,r){return r&&r+n.length<t.length?`-`:``}),a[e]=t,t}t.exports=o})),ar=o(((e,t)=>{var n=q();function r(e,t,r){var i=n(e);return(arguments.length===1?i:i.substring(r)).indexOf(t)===0}t.exports=r})),or=o(((e,t)=>{var n=q();function r(e,t,r){var i=n(e),a=arguments.length;return a>1&&(a>2?i.substring(0,r).indexOf(t)===r-1:i.indexOf(t)===i.length-1)}t.exports=r})),sr=o(((e,t)=>{var n=f(),r=q(),i=Xn(),a=ue();function o(e,t,o){return r(e).replace((o||n).tmplRE||/\{{2}([.\w[\]\s]+)\}{2}/g,function(e,n){return a(t,i(n))})}t.exports=o})),cr=o(((e,t)=>{var n=sr();function r(e,t){return n(e,t,{tmplRE:/\{([.\w[\]\s]+)\}/g})}t.exports=r})),lr=o(((e,t)=>{function n(){}t.exports=n})),ur=o(((e,t)=>{var n=ye();function r(e,t){var r=n(arguments,2);return function(){return e.apply(t,n(arguments).concat(r))}}t.exports=r})),dr=o(((e,t)=>{var n=ye();function r(e,t){var r=!1,i=null,a=n(arguments,2);return function(){return r?i:(i=e.apply(t,n(arguments).concat(a)),r=!0,i)}}t.exports=r})),fr=o(((e,t)=>{var n=ye();function r(e,t,r){var i=0,a=[];return function(){var o=arguments;i++,i<=e&&a.push(o[0]),i>=e&&t.apply(r,[a].concat(n(o)))}}t.exports=r})),pr=o(((e,t)=>{var n=ye();function r(e,t,r){var i=0,a=[];return r||=this,function(){var o=arguments;i++,i<e&&(a.push(o[0]),t.apply(r,[a].concat(n(o))))}}t.exports=r})),mr=o(((e,t)=>{var n=T();function r(e,t,r){var i=null,a=null,o=!1,s=null,c=n({leading:!0,trailing:!0},r),l=c.leading,u=c.trailing,d=function(){i=null,a=null},f=function(){o=!0,e.apply(a,i),s=setTimeout(p,t),d()},p=function(){if(s=null,o){d();return}if(u===!0){f();return}d()},m=function(){var e=s!==null;return e&&clearTimeout(s),d(),s=null,o=!1,e},h=function(){if(i=arguments,a=this,o=!1,s===null&&l===!0){f();return}u===!0&&(s=setTimeout(p,t))};return h.cancel=m,h}t.exports=r})),hr=o(((e,t)=>{var n=T();function r(e,t,r){var i=null,a=null,o=typeof r==`boolean`?{leading:r,trailing:!r}:n({leading:!1,trailing:!0},r),s=!1,c=null,l=o.leading,u=o.trailing,d=function(){i=null,a=null},f=function(){s=!0,e.apply(a,i),d()},p=function(){if(l===!0&&(c=null),s){d();return}if(u===!0){f();return}d()},m=function(){var e=c!==null;return e&&clearTimeout(c),d(),c=null,s=!1,e},h=function(){s=!1,i=arguments,a=this,c===null?l===!0&&f():clearTimeout(c),c=setTimeout(p,t)};return h.cancel=m,h}t.exports=r})),gr=o(((e,t)=>{var n=ye();function r(e,t){var r=n(arguments,2),i=this;return setTimeout(function(){e.apply(i,r)},t)}t.exports=r})),_r=o(((e,t)=>{t.exports=decodeURIComponent})),vr=o(((e,t)=>{var n=_r(),r=p(),i=Je();function a(e){var t,a={};return e&&i(e)&&r(e.split(`&`),function(e){t=e.split(`=`),a[n(t[0])]=n(t[1]||``)}),a}t.exports=a})),yr=o(((e,t)=>{t.exports=encodeURIComponent})),br=o(((e,t)=>{var n=yr(),r=y(),i=g(),a=k(),o=R(),s=M();function c(e,t,o){var l,u=[];return r(e,function(e,r){l=i(e),s(e)||l?u=u.concat(c(e,t+`[`+r+`]`,l)):u.push(n(t+`[`+(o?``:r)+`]`)+`=`+n(a(e)?``:e))}),u}function l(e){var t,l=[];return r(e,function(e,r){o(e)||(t=i(e),s(e)||t?l=l.concat(c(e,r,t)):l.push(n(r)+`=`+n(a(e)?``:e)))}),l.join(`&`).replace(/%20/g,`+`)}t.exports=l})),xr=o(((e,t)=>{var n=L();t.exports=typeof location===n?0:location})),Sr=o(((e,t)=>{var n=xr();function r(){return n?n.origin||n.protocol+`//`+n.host:``}t.exports=r})),Cr=o(((e,t)=>{var n=xr(),r=vr(),i=Sr();function a(e){return r(e.split(`?`)[1]||``)}function o(e){var t,r,o,s,c=``+e;return c.indexOf(`//`)===0?c=(n?n.protocol:``)+c:c.indexOf(`/`)===0&&(c=i()+c),o=c.replace(/#.*/,``).match(/(\?.*)/),s={href:c,hash:``,host:``,hostname:``,protocol:``,port:``,search:o&&o[1]&&o[1].length>1?o[1]:``},s.path=c.replace(/^([a-z0-9.+-]*:)\/\//,function(e,t){return s.protocol=t,``}).replace(/^([a-z0-9.+-]*)(:\d+)?\/?/,function(e,t,n){return r=n||``,s.port=r.replace(`:`,``),s.hostname=t,s.host=t+r,`/`}).replace(/(#.*)/,function(e,t){return s.hash=t.length>1?t:``,``}),t=s.hash.match(/#((.*)\?|(.*))/),s.pathname=s.path.replace(/(\?|#.*).*/,``),s.origin=s.protocol+`//`+s.host,s.hashKey=t&&(t[2]||t[1])||``,s.hashQuery=a(s.hash),s.searchQuery=a(s.search),s}t.exports=o})),wr=o(((e,t)=>{var n=xr(),r=Sr(),i=it();function a(){if(n){var e=n.pathname,t=i(e,`/`)+1;return r()+(t===e.length?e:e.substring(0,t))}return``}t.exports=a})),Tr=o(((e,t)=>{var n=xr(),r=Cr();function i(){return n?r(n.href):{}}t.exports=i})),Er=o(((e,t)=>{var n=f(),r=gt(),i=_r(),a=yr(),o=g(),s=U(),c=Ye(),l=R(),u=re(),d=C(),m=T(),h=p(),_=Qe(),v=W(),y=Cn(),b=Sn(),x=Dn();function S(e,t){var n=parseFloat(t),r=_(),i=v(r);switch(e){case`y`:return v(y(r,n));case`M`:return v(b(r,n));case`d`:return v(x(r,n));case`h`:case`H`:return i+n*60*60*1e3;case`m`:return i+n*60*1e3;case`s`:return i+n*1e3}return i}function w(e){return(c(e)?e:new Date(e)).toUTCString()}function E(e,t,u){if(r){var d,f,p,g,_,v,y=[],b=arguments;return o(e)?y=e:b.length>1?y=[m({name:e,value:t},u)]:s(e)&&(y=[e]),y.length>0?(h(y,function(e){d=m({},n.cookies,e),p=[],d.name&&(f=d.expires,p.push(a(d.name)+`=`+a(s(d.value)?JSON.stringify(d.value):d.value)),f&&(f=isNaN(f)?f.replace(/^([0-9]+)(y|M|d|H|h|m|s)$/,function(e,t,n){return w(S(n,t))}):/^[0-9]{11,13}$/.test(f)||c(f)?w(f):w(S(`d`,f)),d.expires=f),h([`expires`,`path`,`domain`,`secure`],function(e){l(d[e])||p.push(d[e]&&e===`secure`?e:e+`=`+d[e])})),r.cookie=p.join(`; `)}),!0):(g={},_=r.cookie,_&&h(_.split(`; `),function(e){v=e.indexOf(`=`),g[i(e.substring(0,v))]=i(e.substring(v+1)||``)}),b.length===1?g[e]:g)}return!1}function D(e){return u(j(),e)}function O(e){return E(e)}function k(e,t,n){return E(e,t,n),E}function A(e,t){E(e,``,m({expires:-1},n.cookies,t))}function j(){return d(E())}function M(){return E()}m(E,{has:D,set:k,setItem:k,get:O,getItem:O,remove:A,removeItem:A,keys:j,getJSON:M}),t.exports=E})),Dr=o(((e,t)=>{var n=L(),r=gt(),i=vt(),a=T(),o=p();function s(e){try{var t=`__xe_t`;return e.setItem(t,1),e.removeItem(t),!0}catch{return!1}}function c(e){return navigator.userAgent.indexOf(e)>-1}function l(){var e,t,l,u=!1,d=!1,f=!1,p={isNode:!1,isMobile:u,isPC:!1,isDoc:!!r};if(!i&&typeof process!==n)p.isNode=!0;else{l=c(`Edge`),t=c(`Chrome`),u=/(Android|webOS|iPhone|iPad|iPod|SymbianOS|BlackBerry|Windows Phone)/.test(navigator.userAgent),p.isDoc&&(e=r.body||r.documentElement,o([`webkit`,`khtml`,`moz`,`ms`,`o`],function(t){p[`-`+t]=!!e[t+`MatchesSelector`]}));try{d=s(i.localStorage)}catch{}try{f=s(i.sessionStorage)}catch{}a(p,{edge:l,firefox:c(`Firefox`),msie:!l&&p[`-ms`],safari:!t&&!l&&c(`Safari`),isMobile:u,isPC:!u,isLocalStorage:d,isSessionStorage:f})}return p}t.exports=l})),Or=o(((e,t)=>{var n=E(),r=T(),i=v(),a=O(),o=j(),s=te(),c=N(),l=ne(),u=F(),d=ie(),f=p(),m=D(),h=ae(),b=oe(),S=I(),ee=fe(),P=de(),L=he(),ce=ge(),le=ye(),_e=be(),V=xe(),je=re(),Me=Se(),Re=Ce(),Xe=we(),Ze=Te(),W=z(),Qe=Oe(),nt=De(),gt=ke(),vt=Ae(),Tt=B(),Dt=H(),Ot=Ie(),Rt=Le(),Xt=ze(),Zt=Be(),Qt=Ve(),en=He(),tn=Ue(),un=We(),pn=Ge(),_n=_(),vn=g(),yn=k(),bn=qe(),xn=R(),Tn=x(),jn=U(),Mn=Je(),Pn=M(),Fn=$e(),Zn=Ye(),Qn=se(),tr=y(),nr=et(),_r=tt(),yr=rt(),xr=it(),Sr=C(),Or=me(),kr=w(),Ar=at(),jr=Ne(),Mr=Fe(),Y=Pe(),Nr=ot(),Pr=ct(),X=st(),Fr=lt(),Z=Ke(),Ir=ut(),Q=K(),Lr=dt(),Rr=ft(),zr=pt(),Br=mt(),$=ht(),Vr=_t(),Hr=yt(),Ur=bt(),Wr=xt(),Gr=St(),Kr=Ct(),qr=wt(),Jr=At(),Yr=kt(),Xr=jt(),Zr=Mt(),Qr=Nt(),$r=Et(),ei=Pt(),ti=Ft(),ni=It(),ri=Lt(),ii=zt(),ai=Bt(),oi=Vt(),si=Ht(),ci=Ut(),li=ue(),ui=Wt(),di=Gt(),fi=Kt(),pi=qt(),mi=Jt(),hi=pe(),gi=Ee(),_i=Yt(),vi=sn(),yi=nn(),bi=rn(),xi=an(),Si=on(),Ci=cn(),wi=ve(),Ti=$t(),Ei=dn(),Di=fn(),Oi=ln(),ki=mn(),Ai=hn(),ji=gn(),Mi=Cn(),Ni=wn(),Pi=Sn(),Fi=En(),Ii=Dn(),Li=On(),Ri=kn(),zi=An(),Bi=G(),Vi=Rn(),Hi=zn(),Ui=Bn(),Wi=J(),Gi=Vn(),Ki=In(),qi=Nn(),Ji=Hn(),Yi=Un(),Xi=Wn(),Zi=Gn(),Qi=Kn(),$i=Ln(),ea=qn(),ta=Xn(),na=Jn(),ra=Yn(),ia=$n(),aa=er(),oa=rr(),sa=ir(),ca=ar(),la=or(),ua=sr(),da=cr(),fa=q(),pa=lr(),ma=A(),ha=ur(),ga=dr(),_a=fr(),va=pr(),ya=mr(),ba=hr(),xa=gr(),Sa=vr(),Ca=br(),wa=Cr(),Ta=wr(),Ea=Tr(),Da=Er();r(n,{assign:r,objectEach:i,lastObjectEach:a,objectMap:o,merge:s,uniq:h,union:b,sortBy:ee,orderBy:P,shuffle:L,sample:ce,some:l,every:u,slice:le,filter:_e,find:Me,findLast:Re,findKey:V,includes:je,arrayIndexOf:un,arrayLastIndexOf:pn,map:c,reduce:Xe,copyWithin:Ze,chunk:W,zip:Qe,unzip:nt,zipObject:gt,flatten:vt,toArray:S,includeArrays:d,pluck:Tt,invoke:Dt,arrayEach:f,lastArrayEach:m,toArrayTree:Ot,toTreeArray:Rt,findTree:Xt,eachTree:Zt,mapTree:Qt,filterTree:en,searchTree:tn,hasOwnProp:_n,eqNull:Qn,isNaN:bn,isFinite:Nr,isUndefined:xn,isArray:vn,isFloat:Pr,isInteger:X,isFunction:Tn,isBoolean:Fr,isString:Mn,isNumber:Z,isRegExp:Ir,isObject:jn,isPlainObject:Pn,isDate:Zn,isError:Q,isTypeError:Lr,isEmpty:Rr,isNull:yn,isSymbol:zr,isArguments:Br,isElement:$,isDocument:Vr,isWindow:Hr,isFormData:Ur,isMap:Wr,isWeakMap:Gr,isSet:Kr,isWeakSet:qr,isLeapYear:Fn,isMatch:Jr,isEqual:Yr,isEqualWith:Xr,getType:Zr,uniqueId:Qr,getSize:Ar,indexOf:yr,lastIndexOf:xr,findIndexOf:$r,findLastIndexOf:ei,toStringJSON:ti,toJSONString:ni,keys:Sr,values:Or,entries:ri,pick:ii,omit:ai,first:oi,last:si,each:tr,forOf:nr,lastForOf:_r,lastEach:jr,has:ci,get:li,set:ui,groupBy:di,countBy:fi,clone:kr,clear:Y,remove:Mr,range:pi,destructuring:mi,random:hi,min:_i,max:gi,commafy:vi,round:yi,ceil:bi,floor:xi,toFixed:Si,toNumber:wi,toNumberString:Ti,toInteger:Ci,add:Ei,subtract:Di,multiply:Oi,divide:ki,sum:Ai,mean:ji,now:Hi,timestamp:Ui,isValidDate:Wi,isDateSame:Gi,toStringDate:Bi,toDateString:Vi,getWhatYear:Mi,getWhatQuarter:Ni,getWhatMonth:Pi,getWhatWeek:Fi,getWhatDay:Ii,getWhatHours:Li,getWhatMinutes:Ri,getWhatSeconds:zi,getYearDay:Ki,getYearWeek:qi,getMonthWeek:Ji,getDayOfYear:Yi,getDayOfMonth:Xi,getDateDiff:Zi,trim:ta,trimLeft:ra,trimRight:na,escape:ia,unescape:aa,camelCase:oa,kebabCase:sa,repeat:ea,padStart:$i,padEnd:Qi,startsWith:ca,endsWith:la,template:ua,toFormatString:da,toString:fa,toValueString:fa,noop:pa,property:ma,bind:ha,once:ga,after:_a,before:va,throttle:ya,debounce:ba,delay:xa,unserialize:Sa,serialize:Ca,parseUrl:wa,getBaseURL:Ta,locat:Ea,browse:Dr(),cookie:Da}),t.exports=n})),kr={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)},Ar,jr=new Uint8Array(16);function Mr(){if(!Ar){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);Ar=crypto.getRandomValues.bind(crypto)}return Ar(jr)}var Y=[];for(let e=0;e<256;++e)Y.push((e+256).toString(16).slice(1));function Nr(e,t=0){return(Y[e[t+0]]+Y[e[t+1]]+Y[e[t+2]]+Y[e[t+3]]+`-`+Y[e[t+4]]+Y[e[t+5]]+`-`+Y[e[t+6]]+Y[e[t+7]]+`-`+Y[e[t+8]]+Y[e[t+9]]+`-`+Y[e[t+10]]+Y[e[t+11]]+Y[e[t+12]]+Y[e[t+13]]+Y[e[t+14]]+Y[e[t+15]]).toLowerCase()}function Pr(e,t,n){if(kr.randomUUID&&!t&&!e)return kr.randomUUID();e||={};let r=e.random??e.rng?.()??Mr();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return Nr(r)}var X=Or(),Fr=e=>e==null||e===``,Z=e=>!Fr(e),Ir=e=>e==null,Q=e=>!Ir(e),Lr=e=>function(t,n,r,i){let a=r||{};return e(null,t,n,i,[],[],a.children||`children`,a)},Rr=(e,t,n,r,i,a,o)=>{let s,c;t.forEach((l,u)=>{s=i.concat([``+u]),c=a.concat([l]),n.call(r,l,u,t,s,e,c),l&&o&&(s.push(o),Rr(l,l[o]||[],n,r,s,c,o))})},zr=Lr(Rr),Br={form:{labelCol:{span:6},wrapperCol:{span:16}},grid:{align:`left`,lazyReset:!1,fitHeight:30,striped:!1},canvasTable:{DISABLED:!0,ENABLE_FINDER:!0,AUTO_ROW_HEIGHT:!0,BORDER_RADIUS:4},icon:{}},$=(0,X.clone)(Br,!0);function Vr(e){$={form:{...$.form,...e.form},grid:{...$.grid,...e.grid},canvasTable:{...$.canvasTable,...e.canvasTable},renderTooltip:e.renderTooltip??$.renderTooltip,icon:{...$.icon,...e.icon}}}function Hr(){return $.renderTooltip}function Ur(){return $}function Wr(){return{labelCol:$.form?.labelCol,wrapperCol:$.form?.wrapperCol}}function Gr(){return{align:$.grid?.align,lazyReset:$.grid?.lazyReset,fitHeight:$.grid?.fitHeight,striped:$.grid?.striped,autoBoxSizeOffset:$.grid?.autoBoxSizeOffset}}function Kr(){return $.canvasTable||{}}function qr(){$=JSON.parse(JSON.stringify(Br))}var Jr=e=>({dataIndex:e.field,key:e.field,title:e.title,...(0,X.omit)(e,[`children`,`slots`,`cellRender`,`formatter`]),children:e.children?.map(e=>Jr(e))}),Yr={xs:24,sm:24,md:12,lg:8,xl:8,xxl:6},Xr={xs:12,sm:5,md:6,lg:6,xl:5,xxl:4},Zr={1:{xs:12,sm:5,md:6,lg:6,xl:5,xxl:4},2:{xs:12,sm:5,md:6,lg:6,xl:5,xxl:4},3:{xs:12,sm:5,md:6,lg:6,xl:5,xxl:5},4:{xs:12,sm:4,md:6,lg:9,xl:7,xxl:6},5:{xs:12,sm:4,md:6,lg:9,xl:7,xxl:6},6:{xs:12,sm:6,md:8,lg:10,xl:7,xxl:8},7:{xs:12,sm:6,md:8,lg:10,xl:9,xxl:9},8:{xs:12,sm:6,md:8,lg:10,xl:7,xxl:9},9:{xs:12,sm:6,md:8,lg:10,xl:9,xxl:10}},Qr=e=>{let t=(24-e.reduce((e,t)=>e+t,0))%24,n=t===0?24:t<0?24+t:t;return n>1?n:24},$r=[`xxs`,`xs`,`sm`,`md`,`lg`,`xl`,`xxl`],ei=e=>{let t=(0,X.isArray)(e)?e:(0,X.isNumber)(e)?Array.from({length:e},()=>Yr):[];return(0,X.zipObject)($r,$r.map(e=>t.every(t=>Z(t[e]))?Qr(t.map(t=>t[e])):24))};function ti(e,t,n){let r=(0,l.toValue)(e);if(typeof r!=`object`||!r)return(0,l.watch)(e,t,n);let i=(0,X.clone)(r,!0);return(0,l.watch)(e,(e,n,r)=>{t(e,i,r),i=(0,X.clone)(e,!0)},n)}var ni=`-`,ri={toString:({cellValue:e})=>e?e.toString?.()??ni:ni,formatByOptions:({cellValue:e},t,n=`,`)=>{if(e==null)return ni;if((0,X.isArray)(e))if(e.length>0){let r=t.filter(t=>e.includes(t.value));return r.length?r.map(e=>e.label).join(n):ni}else return ni;let r=t.find(t=>t.value===e);return r?r.label:ni},formatSex:({cellValue:e})=>Z(e)?(0,X.toNumber)(e)===1?`男`:`女`:ni},ii=(e,{record:t,index:n,column:r,field:i})=>{if((0,X.isString)(e)&&ri[e]){let r=ri[e];return r({row:t,rowIndex:n,cellValue:i?t[i]:null})}else if((0,X.isArray)(e)&&ri[e[0]]&&e.length>1){let r=ri[e[0]];return r({row:t,rowIndex:n,cellValue:i?t[i]:null},...e.slice(1))}else if((0,X.isFunction)(e))return e({row:t,rowIndex:n,cellValue:i?t[i]:null,column:r});else return i?t[i]:null},ai=e=>{Object.assign(ri,e)},oi=(0,l.defineComponent)(e=>{let{cellRender:t,renderTableParams:n}=e,{data:r,row:i,field:a,rowIndex:o}=n;return()=>vi.renders[t.name]?.renderDefault?.(t,{data:r,row:i,field:a,rowIndex:o},e.defaultHandler??{})??null},{name:`RenderAntCell`,props:[`cellRender`,`renderTableParams`,`defaultHandler`]}),si=(0,l.defineComponent)(e=>{let{tableData:t,row:n,column:r,rowIndex:i}=e,a=r.field?n[r.field]:null;return()=>r.slots?.default?.({row:n,column:r,rowIndex:i,cellValue:a})??(r.cellRender?(0,l.createVNode)(oi,{cellRender:r.cellRender,defaultHandler:e.defaultHandler,renderTableParams:{data:t,row:n,field:r.field,rowIndex:i}},null):r.formatter?ii(r.formatter,{record:n,index:i,field:r.field,column:r}):a)},{name:`RenderAntDefaultCell`,props:[`tableData`,`row`,`column`,`rowIndex`,`defaultHandler`]}),ci={class:`text-right mt-4px`},li=(0,l.defineComponent)({__name:`TableInput`,props:{modelValue:{type:Array,default:()=>[]},tableConfig:{type:Object,default:()=>({})},editColumns:{type:Array,default:()=>[]}},emits:[`update:modelValue`,`trigger`],setup(e,{emit:t}){let n=e,r={size:`small`,pagination:!1};(0,l.watch)(()=>n.modelValue,()=>{a(`trigger`)},{deep:!0});let i=(0,l.computed)(()=>(0,X.merge)({},r,n.tableConfig)),a=t,o=(0,l.computed)({get:()=>n.modelValue??[],set:e=>{a(`update:modelValue`,e)}}),s=(0,l.computed)(()=>[...n.editColumns,{title:`操作`,fixed:`right`,width:100,cellRender:{name:`ButtonTree`,children:[{content:`删除`,type:`link`,danger:!0,clickEvt:({rowIndex:e})=>u(e)}]}}]),c=()=>{o.value=[...o.value,{}]},u=e=>{o.value=o.value.filter((t,n)=>n!==e)},d=(0,l.computed)(()=>{let e=0;return s.value.filter(t=>t.slots&&t.slots.default||t.formatter||t.cellRender?(t.field||(t.field=`__holder__`+e,e++),!0):!1)});return(e,t)=>{let n=(0,l.resolveComponent)(`a-form-item-rest`),r=(0,l.resolveComponent)(`a-table`),a=(0,l.resolveComponent)(`a-button`);return(0,l.openBlock)(),(0,l.createElementBlock)(`div`,null,[(0,l.createVNode)(r,(0,l.mergeProps)({"data-source":o.value},i.value,{columns:s.value.map(e=>(0,l.unref)(Jr)(e))}),(0,l.createSlots)({_:2},[d.value.length>0?{name:`bodyCell`,fn:(0,l.withCtx)(({column:e,record:t,index:r})=>[(0,l.createVNode)(n,null,{default:(0,l.withCtx)(()=>[d.value.some(t=>e.key&&t.field===e.key)?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(si),{key:r,"row-index":r,"default-handler":{},column:d.value.find(t=>e.key&&t.field===e.key),row:t,"table-data":o.value},null,8,[`row-index`,`column`,`row`,`table-data`])):(0,l.createCommentVNode)(``,!0)]),_:2},1024)]),key:`0`}:void 0]),1040,[`data-source`,`columns`]),(0,l.createElementVNode)(`div`,ci,[(0,l.createVNode)(a,{type:`primary`,onClick:c},{default:(0,l.withCtx)(()=>[...t[0]||=[(0,l.createTextVNode)(`+添加`,-1)]]),_:1})])])}}}),ui=e=>{let{icon:t}=e,n=Ur().icon?.render;if(n){let e=n(t);if(e)return e}let r=d;return r[t]?(0,l.createVNode)(r[t]):null},di={AInput:{autocomplete:`off`},$input:{autocomplete:`off`,allowClear:!0},AInputNumber:{min:0,controls:!1,precision:0},$number:{min:0,controls:!1,precision:0},$date:{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`},ADatePicker:{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`},$range:{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`},ARangePicker:{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`},$select:{getPopupContainer:e=>e.parentNode,allowClear:!0,showSearch:!0,filterOption:(e,t)=>t.label&&t.label.toLowerCase().includes(e.toLowerCase())},ASelect:{getPopupContainer:e=>e.parentNode,allowClear:!0,showSearch:!0,filterOption:(e,t)=>t.label&&t.label.toLowerCase().includes(e.toLowerCase())}},fi={PercentInput:{controls:!1,min:0,max:100,addonAfter:`%`},autoComplete:{inputProps:{}}},pi={$input:u.Input,AInput:u.Input,$textarea:u.Textarea,Textarea:u.Textarea,$number:u.InputNumber,AInputNumber:u.InputNumber,$select:u.Select,ASelect:u.Select,$date:u.DatePicker,ADatePicker:u.DatePicker,$range:u.RangePicker,ARangePicker:u.RangePicker,AAutoComplete:u.AutoComplete,$Cascader:u.Cascader,ACascader:u.Cascader,ACheckbox:u.Checkbox,AMentions:u.Mentions,ARate:u.Rate,ASlider:u.Slider,$time:u.TimePicker,ATimePicker:u.TimePicker,ATreeSelect:u.TreeSelect},mi=e=>{let t=pi[e];return{renderItemContent({props:n={},attrs:r={},events:i={},defaultValue:a},{data:o,field:s}){return Q(a)&&Z(s)&&Ir(o[s])&&(o[s]=a),s?(0,l.createVNode)(t,(0,l.mergeProps)({is:e,value:o[s],"onUpdate:value":e=>o[s]=e},r,(0,X.merge)({},di[e],n),{onChange:(...e)=>{i.change?.({data:o,field:s},...e)}}),null):(0,l.createVNode)(t,(0,l.mergeProps)({is:e},n),null)},renderDefault({props:n=di[e]??{},attrs:r={},events:i={},defaultValue:a},{data:o,row:s,field:c}){return Q(a)&&Z(c)&&Ir(s[c])&&(s[c]=a),c?(0,l.createVNode)(t,(0,l.mergeProps)({is:e,value:s[c],"onUpdate:value":e=>s[c]=e},r,(0,X.merge)({},di[e],n),{onChange:(...e)=>{i.change?.({data:o,row:s,field:c},...e)}}),null):(0,l.createVNode)(t,(0,l.mergeProps)({is:e},n),null)},renderReadonly({props:n={},attrs:r={}},{data:i,field:a}){return a?(0,l.createVNode)(t,(0,l.mergeProps)({is:e,value:i[a],"onUpdate:value":e=>i[a]=e},r,(0,X.merge)({},di[e],{disabled:!0},n)),null):(0,l.createVNode)(t,(0,l.mergeProps)({is:e},(0,X.merge)({},{disabled:!0},n)),null)},renderEdit(n,{props:r=di[e]??{},attrs:i={},events:a={}},o,s){return(0,l.createVNode)(t,(0,l.mergeProps)({is:e,value:n.value,"onUpdate:value":e=>n.value=e},i,(0,X.merge)({},di[e],r),{onBlur:(...e)=>{s?.(`blur`,n.value),a.blur?.(o,...e)}}),null)}}},hi=(e,t,n)=>e.dropdowns&&e.dropdowns.length>0&&e.dropdowns.filter(e=>!e.hiddenIf?.(t)).length>0?(0,l.createVNode)(u.Dropdown,{getPopupContainer:n??(()=>document.querySelector(`.p-wrapper`))},{default:()=>(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,X.omit)(e,[`dynamicClassName`,`content`,`getContent`,`icon`,`clickEvt`,`dropdowns`,`getProps`]),{icon:e.icon?(0,l.createVNode)(ui,{icon:e.icon},null):(0,l.createVNode)(ui,{icon:`DownOutlined`},null)},e.getProps?.(t)??{}),{default:()=>[e.content||(e?.getContent?.(t)??``)]}),overlay:()=>(0,l.createVNode)(`div`,{class:`dropdown-wrapper ${e?.dynamicClassName?.(t)??``}`},[e.dropdowns.filter(e=>!e.hiddenIf?.(t)).map(e=>hi(e,t,n))])}):(0,l.createVNode)(u.Button,(0,l.mergeProps)({class:e?.dynamicClassName?.(t)||``},(0,X.omit)(e,[`dynamicClassName`,`content`,`getContent`,`icon`,`clickEvt`,`dropdowns`,`getProps`]),{disabled:!!e.dropdowns&&e.dropdowns.length>0||e.disabled,icon:e.icon?(0,l.createVNode)(ui,{icon:e.icon},null):null},e.getProps?.(t)??{},{onClick:()=>{e?.clickEvt&&e.clickEvt(t)}}),{default:()=>[e.content||(e?.getContent?.(t)??``)]}),gi={...Object.fromEntries(Object.keys(pi).map(e=>[e,mi(e)])),$button:{renderItemContent({props:e={},events:t={}},{data:n,field:r},i){return(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,X.omit)(e,[`content`]),{icon:e.icon?(0,l.createVNode)(ui,{icon:e.icon},null):null,onClick:()=>{t.click?.({data:n,field:r}),e.htmlType===`reset`&&i?.reset&&(e.beforeClick&&(0,X.isFunction)(e.beforeClick)?e.beforeClick({data:n,field:r}).then(e=>{i.reset(e?{data:e,field:r}:{data:n,field:r})}):i.reset({data:n,field:r}))}}),{default:()=>[e.content,e.suffix?.({data:n,field:r})??null]})},renderDefault({props:e={},events:t={}},{row:n,field:r},i){return(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,X.omit)(e,[`content`]),{icon:e.icon?(0,l.createVNode)(ui,{icon:e.icon},null):null,onClick:()=>{t.click?.({row:n,field:r}),e.htmlType===`reset`&&i?.reset&&(e.beforeClick&&(0,X.isFunction)(e.beforeClick)?(i?.setLoadings?.(!0),e.beforeClick({row:n,field:r}).then(e=>{i.reset(e?{row:e,field:r}:{row:n,field:r})}).finally(()=>{i?.setLoadings?.(!1)})):i.reset({row:n,field:r})),e.htmlType===`pick`&&i?.pick&&(e.beforeClick&&(0,X.isFunction)(e.beforeClick)?(i?.setLoadings?.(!0),e.beforeClick({row:n,field:r}).then(e=>{i.pick(e?{row:e,field:r}:{row:n,field:r})}).finally(()=>{i?.setLoadings?.(!1)})):i.pick({row:n,field:r}))}}),{default:()=>[e.content]})}},$buttons:{renderItemContent({props:e={},children:t=[]},{data:n,field:r},i){return(0,l.createVNode)(`span`,{class:`align-gap-box w-fit`},[t.map(t=>(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,X.omit)(Object.assign({},e,t.props),[`content`]),{icon:t.props.icon?(0,l.createVNode)(ui,{icon:t.props.icon},null):null,onClick:()=>{t.events?.click?.({data:n,field:r}),t.props.htmlType===`reset`&&i?.reset&&(e.beforeClick&&(0,X.isFunction)(e.beforeClick)?e.beforeClick({data:n,field:r}).then(e=>{i.reset(e?{data:e,field:r}:{data:n,field:r})}):i.reset({data:n,field:r})),t.props.htmlType===`pick`&&i?.pick&&(e.beforeClick&&(0,X.isFunction)(e.beforeClick)?e.beforeClick({data:n,field:r}).then(e=>{i.pick(e?{data:e,field:r}:{data:n,field:r})}):i.pick({data:n,field:r}))}}),{default:()=>[t.props.content]}))])},renderDefault({props:e={},children:t=[]},{data:n,row:r,field:i},a){return(0,l.createVNode)(`span`,{class:`align-gap-box w-fit`},[t.filter(e=>!e?.props?.hiddenIf?.({data:n,row:r,field:i})).map(t=>(0,l.createVNode)(u.Button,(0,l.mergeProps)((0,X.omit)(Object.assign({},e,t.props),[`content`,`hiddenIf`]),{icon:t.props.icon?(0,l.createVNode)(ui,{icon:t.props.icon},null):null,onClick:()=>{t.events?.click?.({data:n,row:r,field:i}),t.props.htmlType===`reset`&&a?.reset&&(e.beforeClick&&(0,X.isFunction)(e.beforeClick)?(a?.setLoadings?.(!0),e.beforeClick({row:r,field:i}).then(e=>{a.reset(e?{row:e,field:i}:{row:r,field:i})}).finally(()=>{a?.setLoadings?.(!1)})):a.reset({row:r,field:i})),t.props.htmlType===`pick`&&a?.pick&&(e.beforeClick&&(0,X.isFunction)(e.beforeClick)?(a?.setLoadings?.(!0),e.beforeClick({row:r,field:i}).then(e=>{a.pick(e?{row:e,field:i}:{row:r,field:i})}).finally(()=>{a?.setLoadings?.(!1)})):a.pick({row:r,field:i}))}}),{default:()=>[t.props.content]}))])}},ButtonTree:{renderDefault({children:e=[],props:t={}},n){let r=(0,l.ref)(null);return(0,l.createVNode)(`span`,{ref:r,class:t.noGap?`align-no-gap-box`:`align-gap-box`},[e.filter(e=>!e.hiddenIf?.(n)).map(e=>hi(e,n,()=>r.value?.parentElement?.parentElement?.parentElement?.parentElement||document.body))??[]])}},$radio:{renderItemContent({props:e={},events:t={},options:n,defaultValue:r},{data:i,field:a}){return Q(r)&&Z(a)&&Ir(i[a])&&(i[a]=r),Z(a)?(0,l.createVNode)(u.RadioGroup,(0,l.mergeProps)({value:i[a],"onUpdate:value":e=>i[a]=e},e,{options:e.options??n??[],disabled:!!e.disabled,onChange:(...e)=>{t.change?.({data:i,field:a},...e)}}),null):null},renderDefault({props:e={},options:t},{row:n,field:r}){return Z(r)?(0,l.createVNode)(u.RadioGroup,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},e,{options:e.options??t??[]}),null):null},renderReadonly({props:e={},options:t},{data:n,field:r}){return Z(r)?(0,l.createVNode)(u.RadioGroup,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},(0,X.merge)({},{disabled:!0},e),{options:e.options??t??[]}),null):null}},$autoComplete:{renderItemContent({props:e={},events:t={}},{data:n,field:r}){return Z(r)?(0,l.createVNode)(u.AutoComplete,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},Object.assign({},{filterOption:fi.autoComplete.filterOption},e),{onChange:(...e)=>{t.change?.({data:n,field:r},...e)}}),{default:()=>(0,l.createVNode)((0,l.resolveComponent)(`a-input`),Object.assign({},fi.autoComplete.inputProps,e.inputProps??{}),null)}):null}},$switch:{renderItemContent({props:e={},events:t={},defaultValue:n},{data:r,field:i}){return Q(n)&&Z(i)&&Ir(r[i])&&(r[i]=n),Z(i)?(0,l.createVNode)(u.Switch,(0,l.mergeProps)({checked:r[i],"onUpdate:checked":e=>r[i]=e},e,{onChange:(...e)=>{t.change?.({data:r,field:i},...e)}}),null):null},renderReadonly({props:e={}},{data:t,field:n}){return Z(n)?(0,l.createVNode)(u.Switch,(0,l.mergeProps)({checked:t[n],"onUpdate:checked":e=>t[n]=e},(0,X.merge)({},{disabled:!0},e)),null):null}},$checkbox:{renderItemContent({props:e={},options:t,events:n={},defaultValue:r},{data:i,field:a}){return Q(r)&&Z(a)&&Ir(i[a])&&(i[a]=r),Z(a)?(0,l.createVNode)(u.CheckboxGroup,(0,l.mergeProps)({value:i[a],"onUpdate:value":e=>i[a]=e},e,{options:e.options??t??[],onChange:(...e)=>{n.change?.({data:i,field:a},...e)}}),null):null},renderDefault({props:e={},options:t},{row:n,field:r}){return Z(r)?(0,l.createVNode)(u.CheckboxGroup,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},e,{options:e.options??t??[]}),null):null},renderReadonly({props:e={},options:t},{data:n,field:r}){return Z(r)?(0,l.createVNode)(u.CheckboxGroup,(0,l.mergeProps)({value:n[r],"onUpdate:value":e=>n[r]=e},(0,X.merge)({},{disabled:!0},e),{options:e.options??t??[]}),null):null}},$paragraph:{renderDefault({props:e={}},{row:t,field:n}){let r={ellipsis:{expandable:!0,rows:3}},i=e.getContent?.({row:t,field:n})??(Z(n)?t[n]:``);return Z(n)?(0,l.createVNode)(u.TypographyParagraph,(0,l.mergeProps)((0,X.merge)({},r,(0,X.omit)(e,[`content`,`getContent`])),{content:i}),null):null}},$tableInput:{renderItemContent({props:e={},handleTrigger:t},{data:n,field:r}){return Z(r)?(0,l.createVNode)(li,{modelValue:n[r],"onUpdate:modelValue":e=>n[r]=e,onTrigger:()=>{t&&(0,X.isFunction)(t)&&t(e.cusFields??r)},editColumns:e.editColumns??[],tableConfig:e.tableConfig??{}},null):null}},PercentInput:{renderItemContent({props:e={},attrs:t={},defaultValue:n},{data:r,field:i}){let a=e.parse?100:1;if(Z(i)){Q(n)&&Ir(r[i])&&(r[i]=n);let o=(0,l.computed)({get:()=>(r[i]??0)*a,set:e=>{r[i]=(e??0)/a}});return(0,l.createVNode)(`div`,{class:`flex items-center`},[e.info?(0,l.createVNode)(`span`,{class:`pr-4`},[e.info]):null,(0,l.createVNode)((0,l.resolveComponent)(`a-input-number`),(0,l.mergeProps)({class:`w-60px!`},t,{value:o.value,"onUpdate:value":e=>o.value=e},(0,X.merge)({},fi.PercentInput,(0,X.omit)(e,[`info`]))),null)])}else return null},renderDefault({props:e={},attrs:t={}},{row:n,field:r}){let i=e.parse?100:1;if(Z(r)){let a=(0,l.computed)({get:()=>(n[r]??0)*i,set:e=>{(0,X.set)(n,r,(e??0)/i)}});return[e.info?(0,l.createVNode)(`span`,{class:`pr-4`},[e.info]):null,(0,l.createVNode)((0,l.resolveComponent)(`a-input-number`),(0,l.mergeProps)({class:`w-60px!`},t,{value:a.value,"onUpdate:value":e=>a.value=e},(0,X.merge)({},fi.PercentInput,(0,X.omit)(e,[`info`]))),null)]}else return null}},TreeSelect:{renderItemContent({props:e={}},{data:t,field:n}){return Z(n)?(0,l.createVNode)(u.TreeSelect,(0,l.mergeProps)({value:t[n],"onUpdate:value":e=>t[n]=e},e),null):null},renderDefault({props:e={}},{row:t,field:n}){return Z(n)?(0,l.createVNode)(u.TreeSelect,(0,l.mergeProps)({value:t[n],"onUpdate:value":e=>t[n]=e},e),null):null}}},_i=(e,{renderItemContent:t,renderDefault:n,renderReadonly:r,renderEdit:i})=>{gi.hasOwnProperty(e)&&console.warn(`render ${e} already exists, you are trying to override it`),gi[e]={renderItemContent:t,renderDefault:n,renderReadonly:r,renderEdit:i}},vi={renders:gi,addRender:_i},yi=(0,l.defineComponent)((e,{emit:t})=>{let{itemRender:n,defaultHandler:r}=e,{renderFormParams:i}=(0,l.toRefs)(e),a=e=>{t(`trigger`,e)},o=(e,n)=>{t(`delayTrigger`,e,n)};return()=>vi.renders[n.name]?.renderItemContent?.({...n,handleTrigger:a,handleDelayTrigger:o},i.value,r)??null},{name:`RenderAntItem`,props:{itemRender:{type:Object,required:!0},renderFormParams:{type:Object,required:!0},defaultHandler:{type:Object,required:!1}},emits:[`trigger`,`delayTrigger`]}),bi=(0,l.defineComponent)(e=>{let{formData:t}=(0,l.toRefs)(e);return()=>e.item.slots?.default?.({data:t.value,field:e.item.field},e.passTrigger,e.passDelayTrigger)??null},{name:`RenderItemSlots`,props:[`formData`,`item`,`passTrigger`,`passDelayTrigger`]}),xi={key:2},Si=(0,l.defineComponent)({__name:`PFormCol`,props:{item:{},formData:{}},emits:[`trigger`,`reset`],setup(e,{emit:t}){let n=e,r=t,i=(0,l.ref)(!1),a=(0,l.ref)(Pr()),o=(e,t)=>{let n=t??222;i.value=!0,setTimeout(()=>{i.value=!1,r(`trigger`,e)},n)},s=e=>{r(`trigger`,e)},c=()=>{r(`reset`)},f=(0,X.debounce)(()=>{a.value=Pr()},100),p=(0,l.computed)(()=>{if(!n.item.tooltipConfig)return null;let e=n.item.tooltipConfig,t=Hr(),r=()=>(0,l.h)(d.InfoCircleOutlined,{class:`cursor-pointer py-4 px-2`}),i=(0,X.isFunction)(e.title)?e.title:String(e.title??``);return t?()=>t(r,i):()=>(0,X.isFunction)(e.title)?(0,l.h)(u.Tooltip,(0,X.omit)(e,[`title`]),{default:r,title:()=>(0,l.h)(`div`,{innerHTML:e.title()})}):(0,l.h)(u.Tooltip,e,{default:r})});return ti(()=>n.item,(e,t)=>{(0,X.isEqual)(e,t)||f()},{deep:!0}),(t,n)=>{let r=(0,l.resolveComponent)(`a-form-item`),u=(0,l.resolveComponent)(`a-col`);return(0,l.openBlock)(),(0,l.createBlock)(u,(0,l.mergeProps)({key:`_col_${a.value}`},e.item.col??(e.item.span?{span:e.item.span}:(0,l.unref)(Yr))),{default:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)(r,(0,l.mergeProps)({key:`_item_${a.value}`,class:[`p-content-align-${e.item.align??`left`} ${e.item.forceRequired?`p-required`:``}`,{"p-error-hang-out":i.value}],colon:``,label:e.item.title,name:e.item.field,"wrapper-col":e.item.wrapperCol??(e.item.title?void 0:{span:24})},(0,l.unref)(X.omit)(e.item,[`field`,`title`,`span`,`col`,`wrapperCol`,`itemRender`,`forceRequired`,`tooltip`])),(0,l.createSlots)({default:(0,l.withCtx)(()=>[e.item.slots?.default?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(bi),{key:`_sl_${e.item.field??`_`}_${a.value}`,"form-data":e.formData,item:e.item,"pass-delay-trigger":o,"pass-trigger":s},null,8,[`form-data`,`item`])):e.item.itemRender?.name?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(yi),{key:`_re_${e.item.field??`_`}_${a.value}`,"default-handler":{reset:c},"item-render":e.item.itemRender,"render-form-params":{data:e.formData,field:e.item.field},onDelayTrigger:o,onTrigger:s},null,8,[`default-handler`,`item-render`,`render-form-params`])):((0,l.openBlock)(),(0,l.createElementBlock)(`span`,xi))]),_:2},[e.item.slots?.title?{name:`label`,fn:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(e.item.slots.title)))]),key:`0`}:void 0,p.value?{name:`tooltip`,fn:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(p.value)))]),key:`1`}:void 0]),1040,[`class`,`label`,`name`,`wrapper-col`]))]),_:1},16)}}}),Ci={key:0,class:`p-pane p-wrapper`},wi=(0,l.defineComponent)({__name:`PForm`,props:{name:{},items:{},customReset:{},layout:{},labelCol:{default:()=>Wr().labelCol??{span:6}},wrapperCol:{default:()=>Wr().wrapperCol??{span:16}},colon:{type:Boolean},labelAlign:{},labelWrap:{type:Boolean},prefixCls:{},requiredMark:{},hideRequiredMark:{type:Boolean},model:{},rules:{},validateMessages:{},validateOnRuleChange:{type:Boolean},scrollToFirstError:{},onSubmit:{},validateTrigger:{},size:{},disabled:{type:Boolean},onValuesChange:{},onFieldsChange:{},onFinish:{},onFinishFailed:{},onValidate:{},data:{}},emits:[`apply`,`reset`],setup(e,{expose:t,emit:n}){let r=e,i=n,{items:a,data:o}=(0,l.toRefs)(r);function s(){i(`apply`,o.value)}let c=(0,l.ref)(),d=(0,l.ref)(Pr()),f=()=>{d.value=Pr()},p=()=>{if(r.customReset)r.customReset();else{let e={};zr(a.value,t=>{t.field&&t.itemRender?Q(t.itemRender.defaultValue)?e[t.field]=t.itemRender.defaultValue:e[t.field]=void 0:t.field&&t.slots&&(Q(t.slots.defaultValue)?e[t.field]=t.slots.defaultValue:e[t.field]=void 0)}),Object.assign(o.value,e)}i(`reset`)},m=(0,l.computed)(()=>({...(0,X.omit)(r,[`items`,`data`,`model`,`labelCol`,`wrapperCol`]),labelCol:r.labelCol,wrapperCol:r.wrapperCol})),h=e=>{e&&c.value?.validateFields(e)},g=e=>{h(e)};return t({reset:f,$form:(0,l.computed)(()=>c.value)}),(t,n)=>(0,l.unref)(a).some(e=>e.field&&e.itemRender||e.slots?.default)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Ci,[((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Form),(0,l.mergeProps)({name:e.name,key:d.value,ref_key:`formEl`,ref:c,model:(0,l.unref)(o)},m.value,{onSubmit:s}),{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Row),{gutter:[6,12]},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)((0,l.unref)(a),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)(Si,{key:`_col_${e.field||t}`,"form-data":(0,l.unref)(o),item:e,onReset:p,onTrigger:g},null,8,[`form-data`,`item`]))),128))]),_:1})]),_:1},16,[`name`,`model`]))])):(0,l.createCommentVNode)(``,!0)}}),Ti=(0,l.defineComponent)(e=>{let{column:t}=e;return()=>t.slots?.title?.({column:t})??t.title},{name:`RenderAntTitle`,props:[`column`]}),Ei=({title:e,content:t})=>new Promise((n,r)=>{u.Modal.confirm({title:e,content:t,onOk:()=>{n()},onCancel:()=>{r()}})}),Di=u.message.success,Oi=u.message.error;u.message.info;var ki=u.message.warning;function Ai(e){if(typeof e==`number`&&!Number.isNaN(e))return e;if(typeof e==`string`){let t=e.match(/^(-?\d+(?:\.\d+)?)(px)?$/i);if(t)return Number.parseFloat(t[1])}return 0}function ji(e){if(e==null||e===``)return{right:0,bottom:0};if(typeof e==`object`&&!Array.isArray(e)){let t=e;return{right:typeof t.right==`number`?t.right:0,bottom:typeof t.bottom==`number`?t.bottom:0}}let t=Ai(e);return{right:t,bottom:t}}function Mi(e){let t=e?.parentElement??null;for(;t&&t!==document.body;){let e=window.getComputedStyle(t).overflow;if(e===`auto`||e===`scroll`||e===`hidden`)return t;t=t.parentElement}return document.body}function Ni(e,t){let n=e.getBoundingClientRect(),r=window.innerWidth,i=window.innerHeight,a=Math.max(0,r-n.left-t.right),o=Math.max(0,i-n.top-t.bottom),s=e.parentElement;if(s){let e=s.getBoundingClientRect();e.width>0&&(a=Math.min(a,e.width))}e.style.width=`${a}px`,e.style.height=`${o}px`}function Pi(e){e.style.width=``,e.style.height=``}function Fi(e,t,n){let r=null,i=null,a=()=>{r&&=(r.disconnect(),null),i&&=(window.removeEventListener(`resize`,i),null)},o=()=>{let r=e();r&&(Ni(r,t()),n?.onLayout?.())};return{attach:()=>{a();let t=e();if(!t)return;i=()=>o(),window.addEventListener(`resize`,i);let n=Mi(t);r=new ResizeObserver(()=>o()),r.observe(n),t.parentElement&&r.observe(t.parentElement),o()},update:o,destroy:()=>{a();let t=e();t&&Pi(t)}}}var Ii={key:0},Li={key:1,class:`p-toolbar-wrapper flex items-center w-full justify-between p-theme-bg pt-8px px-16px`},Ri={class:`flex items-center flex-1 gap-4px`},zi={class:`flex items-center gap-4px`},Bi={class:`flex items-center gap-4px`},Vi={key:2},Hi={class:`flex items-center gap-4px`},Ui={class:`flex items-center gap-4px`},Wi={key:0,class:`w-full pt-8px px-16px text-slate-5`},Gi={key:1,class:`flex w-full items-center gap-12px pt-8px px-16px`},Ki={class:`flex-1 min-w-0 text-slate-5 flex items-center`},qi=(0,l.defineComponent)({__name:`PGrid`,props:{selectConfig:{},rowKey:{default:`id`},striped:{type:Boolean,default:()=>Gr().striped??!1},manualFetch:{type:Boolean},align:{default:()=>Gr().align??`left`},formConfig:{},columns:{},toolbarConfig:{},pageConfig:{},proxyConfig:{},tableConfig:{},scrollMode:{default:`inner`},autoBoxSize:{type:Boolean,default:!1},autoBoxSizeOffset:{},lazyReset:{type:Boolean,default:()=>Gr().lazyReset??!1},fitHeight:{default:()=>Gr().fitHeight??30},fitCanvasHeight:{},renderY:{},fitContent:{type:Boolean,default:!1}},emits:[`toolbarButtonClick`,`toolbarToolClick`,`pick`,`resetQuery`],setup(e,{expose:t,emit:n}){let r=e,{formConfig:i,pageConfig:a,columns:o,toolbarConfig:s,proxyConfig:c,tableConfig:f,selectConfig:p,scrollMode:m}=(0,l.toRefs)(r),h=(0,l.computed)(()=>r.autoBoxSizeOffset??Gr().autoBoxSizeOffset),g=(0,l.reactive)({table:!1,toolbar:!1,form:!1}),_=e=>{(0,X.isObject)(e)?Object.keys(e).forEach(t=>{g[t]=e[t]}):(0,X.isBoolean)(e)&&(g.form=e,g.table=e,g.toolbar=e)},v=(0,l.ref)(),y=(0,l.ref)(),b=(0,l.ref)(),x=(0,l.ref)(),S=(0,l.ref)(500),C=(0,l.ref)([]),w=(0,l.ref)([]),T=e=>{let{ajax:t}=c.value;switch(e){case`multiDelete`:t.multiDelete&&(C.value.length>0?Ei({title:`警告`,content:`确认删除选中的数据吗?`}).then(()=>{g.table=!0,g.toolbar=!0,t.multiDelete(C.value).then(()=>{u.message.success(`删除成功`),pe()}).catch(()=>{u.message.error(`删除失败`)}).finally(()=>{g.table=!1,g.toolbar=!1,j.multiDelete=!1})}):u.message.warn(`请选择要删除的数据`));break}},E=(0,l.computed)(()=>{let e=[];return zr(o.value??[],t=>{t.slots&&t.slots.title&&(t.field||=`__holder__`+e.length,e.push(t))}),e}),D=(0,l.ref)(),O=(0,l.ref)(),k=(0,l.ref)(Pr()),A=(0,l.ref)(Pr()),j=(0,l.reactive)([...(r.toolbarConfig?.buttons?.map(e=>e.code)??[]).filter(e=>e),...(r.toolbarConfig?.tools?.map(e=>e.code)??[]).filter(e=>e)].reduce((e,t)=>(e[t]=!1,e),{})),M=(e,t)=>{j[e]=t},ee=(0,X.debounce)(()=>{A.value=Pr()},100),te=(0,l.computed)(()=>{let e=[];return zr(o.value??[],t=>{(t.slots&&t.slots.default||t.formatter||t.cellRender)&&(t.field||=`__holder__`+e.length,e.push(t))}),e}),N=(0,l.reactive)({page:1,size:a.value?.pageSize??10}),P=(0,l.ref)(0),ne=(0,l.ref)(0),F=(0,l.ref)([]),re=(0,l.computed)(()=>c.value&&c.value.ajax?a.value?`pagination`:`list`:`bad`),ie=(0,l.computed)(()=>!!p.value?.showCount),ae=(0,l.useAttrs)(),I=n,oe=(0,l.computed)(()=>w.value.filter(e=>C.value.includes(e[r.rowKey??`id`]))),L=(0,X.debounce)(e=>{I(`toolbarButtonClick`,{data:F.value,code:e,selectedKeys:C.value,records:oe.value}),T(e)},100),R=({key:e})=>L(e),se=(0,X.debounce)(e=>{I(`toolbarToolClick`,{data:F.value,code:e,selectedKeys:C.value,records:oe.value}),T(e)},100),ce=(0,l.ref)({}),le=({row:e,field:t})=>{I(`pick`,{row:e,field:t})},ue=e=>{if(i.value&&i.value.items.length>0){if(i.value.customReset)i.value.customReset();else{let e={};zr(i.value.items,t=>{t.field&&t.itemRender?Q(t.itemRender.defaultValue)?e[t.field]=t.itemRender.defaultValue:e[t.field]=void 0:t.field&&t.slots&&(Q(t.slots.defaultValue)?e[t.field]=t.slots.defaultValue:e[t.field]=void 0)}),ce.value=e}I(`resetQuery`)}N.page=1,e||ge()},de=(e,t)=>t?{list:(0,X.isString)(t.list)?(0,X.get)(e,t.list):(0,X.isFunction)(t.list)?t.list(e):void 0,total:(0,X.isString)(t.total)?(0,X.get)(e,t.total):(0,X.isFunction)(t.total)?t.total(e):void 0,result:(0,X.isString)(t.result)?(0,X.get)(e,t.result):(0,X.isFunction)(t.result)?t.result(e):void 0,message:(0,X.isString)(t.message)?(0,X.get)(e,t.message):(0,X.isFunction)(t.message)?t.message(e):void 0}:{list:e},fe=()=>(w.value=[],C.value=[],ue()),pe=()=>(N.page=1,w.value=[],C.value=[],he()),me=(e,t)=>(N.page=e,N.size=t,he()),he=()=>new Promise(e=>{if(re.value!==`bad`){g.form=!0,g.table=!0;let{ajax:t}=c.value;t.query({form:ce.value,page:N}).then(t=>{let{list:n,total:r,result:i,message:a}=de(t,c.value.response);n?(F.value=n,P.value++):i?(F.value=i,ne.value=r??i.length,P.value++):(F.value=[],P.value++,a&&u.message.warn(a)),e(F.value)}).catch(t=>{console.error(`fetchData error`,t),e([])}).finally(()=>{g.form=!1,g.table=!1})}}),ge=(0,X.debounce)(he,160),_e=(e,t)=>(Object.assign(ce.value,e),N.page=1,t?Promise.resolve():ge()),ve=(e,t)=>(ce.value=e,N.page=1,t?Promise.resolve():ge()),ye={size:`small`,sticky:!0,transformCellText:({text:e})=>(0,X.isArray)(e)&&e.length===0?`-`:e},be=(0,l.computed)(()=>(0,X.merge)({},ye,f?.value??{},p.value?{rowSelection:{type:p.value.multiple?`checkbox`:`radio`,preserveSelectedRowKeys:!0,selectedRowKeys:C.value,onChange:e=>{C.value=e;let t=r.rowKey??`id`,n=w.value.map(e=>e[t]),i=e.filter(e=>!n.includes(e)).map(e=>F.value.find(n=>n[t]===e)).filter(e=>!!e);w.value=[...w.value,...i]},getCheckboxProps:p.value.getCheckboxProps}}:{})),xe=(0,l.computed)(()=>(0,X.omit)({labelCol:Xr,...i.value},[`items`])),Se=()=>{pe()};(0,l.watch)(()=>[o.value,c.value,s.value],()=>{ee()},{deep:!0}),(0,l.watch)(()=>[A.value,P.value,re.value,ie.value],()=>(0,l.nextTick)(()=>V()),{flush:`post`});let Ce=null,we=()=>{Ce?.destroy(),Ce=null},Te=()=>{we(),!(!r.autoBoxSize||!v.value)&&(Ce=Fi(()=>v.value??void 0,()=>ji(h.value),{onLayout:()=>{(0,l.nextTick)(()=>V())}}),Ce.attach())};(0,l.watch)(()=>r.autoBoxSize,e=>{e?(0,l.nextTick)(()=>Te()):we()}),(0,l.watch)(h,()=>{r.autoBoxSize&&Ce?.update()},{deep:!0});let z=null,B=e=>{let t=e.querySelector(`.ant-table-wrapper`);return t?t.querySelector(`.ant-table-header`)||t.querySelector(`.ant-table-thead`):null},V=()=>{z&&cancelAnimationFrame(z),z=requestAnimationFrame(()=>{if(z=null,!b.value)return;if(Q(r.renderY)){S.value=r.renderY;return}if(r.fitContent){let e=typeof window<`u`?window.innerHeight:800,t=r.fitHeight??30;S.value=Math.max(Math.floor(e*.6)-t,160);return}let e=b.value.clientHeight,t=x.value?.offsetHeight??0,n=B(b.value)?.getBoundingClientRect().height??0,i=r.fitHeight??30;S.value=Math.max(e-t-n-i,100)})},Ee=null;(0,l.watch)(y,e=>{Ee?.disconnect(),Ee=null,e&&(Ee=new ResizeObserver(()=>V()),Ee.observe(e))},{immediate:!0}),t({commitProxy:{query:ge,reload:fe,reloadPage:pe,passQuery:_e,forcePassQuery:ve},$table:(0,l.computed)(()=>O.value),selectedRowKeys:(0,l.computed)(()=>C.value),setBtnLoading:M,selectedRecords:oe,$form:(0,l.computed)(()=>D.value),getFormData:()=>ce.value,setLoadings:_,resizeTable:V});let De,Oe=null,ke=null,Ae=null;(0,l.onMounted)(()=>{if(V(),window.addEventListener(`resize`,V),De=new MutationObserver(e=>{e.forEach(e=>{if(e.type===`attributes`&&e.attributeName===`style`){let t=e.target;window.getComputedStyle(t).display!==`none`&&V()}})}),v.value){De.observe(v.value,{attributes:!0,attributeFilter:[`style`]}),Oe=new ResizeObserver(()=>V());let e=v.value.parentElement;for(let t=0;t<5&&e&&e!==document.body;t++)Oe.observe(e),e=e.parentElement}ke=new ResizeObserver(()=>V()),b.value&&ke.observe(b.value),Ae=new ResizeObserver(()=>V()),x.value&&Ae.observe(x.value),ue(r.manualFetch),(0,l.nextTick)(()=>{r.autoBoxSize&&Te(),V()})});let H=e=>(0,X.isFunction)(e)?e():e,je=e=>(0,X.isString)(e),Me=[`align`],Ne=e=>e.map(e=>({...Me.reduce((e,t)=>({[t]:r[t]}),{}),...e}));return(0,l.onBeforeUnmount)(()=>{we(),z&&cancelAnimationFrame(z),window.removeEventListener(`resize`,V),De.disconnect(),Ee?.disconnect(),Oe?.disconnect(),ke?.disconnect(),Ae?.disconnect()}),(t,n)=>{let a=(0,l.resolveComponent)(`a-menu-item`),c=(0,l.resolveComponent)(`a-menu`),f=(0,l.resolveComponent)(`a-dropdown`),p=(0,l.resolveComponent)(`a-pagination`);return(0,l.openBlock)(),(0,l.createElementBlock)(`div`,(0,l.mergeProps)({ref_key:`boxEl`,ref:v,class:[`p-wrapper flex flex-col gap-8px`,e.fitContent?`w-full h-auto`:e.autoBoxSize?`overflow-y-auto min-h-0 min-w-0 flex-1 w-full`:`overflow-y-auto h-full`]},(0,l.unref)(ae)),[re.value===`bad`?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Ii,`请检查配置`)):((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.unref)(i)?.items?.some(e=>e.field&&e.itemRender)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,class:`p-pane p-form-wrapper`,ref_key:`pFormWrapper`,ref:y},[(0,l.createVNode)((0,l.unref)(u.Spin),{spinning:g.form},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Form),(0,l.mergeProps)({name:(0,l.unref)(i)?.name,key:k.value,ref_key:`formEl`,ref:D,model:ce.value},xe.value,{onSubmit:Se}),{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Row),{gutter:[6,12]},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)((0,l.unref)(i).items,(e,t)=>((0,l.openBlock)(),(0,l.createBlock)(Si,{key:`_col_${e.field||t}`,"form-data":ce.value,item:e,onReset:n[0]||=e=>ue(r.lazyReset)},null,8,[`form-data`,`item`]))),128))]),_:1})]),_:1},16,[`name`,`model`]))]),_:1},8,[`spinning`])],512)):(0,l.createCommentVNode)(``,!0),(0,l.unref)(s)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Li,[(0,l.createElementVNode)(`div`,Ri,[(0,l.unref)(s).buttons&&(0,l.unref)(s).buttons.length>0?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:0},(0,l.renderList)((0,l.unref)(s).buttons,(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:t},[e.dropdowns&&e.dropdowns.length?((0,l.openBlock)(),(0,l.createBlock)(f,{key:0},{overlay:(0,l.withCtx)(()=>[(0,l.createVNode)(c,{onClick:R},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.dropdowns,e=>((0,l.openBlock)(),(0,l.createBlock)(a,{key:e.code},{default:(0,l.withCtx)(()=>[e.content&&je(H(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:0},[(0,l.createTextVNode)((0,l.toDisplayString)(H(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(H(e.content)),{key:1})):(0,l.createCommentVNode)(``,!0)]),_:2},1024))),128))]),_:2},1024)]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(s).disabled||e.disabled,loading:g.toolbar||!!e.code&&j[e.code],danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,zi,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&je(H(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(H(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(H(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(d.DownOutlined))])]),_:2},1032,[`type`,`size`,`disabled`,`loading`,`danger`,`shape`,`ghost`,`block`])]),_:2},1024)):e.code?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:1,type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(s).disabled||e.disabled,loading:g.toolbar||!!e.code&&j[e.code],danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block,onClick:t=>(0,l.unref)(L)(e.code)},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,Bi,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&je(H(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(H(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(H(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0)])]),_:2},1032,[`type`,`size`,`disabled`,`loading`,`danger`,`shape`,`ghost`,`block`,`onClick`])):((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Vi))],64))),128)):(0,l.createCommentVNode)(``,!0)]),(0,l.createElementVNode)(`span`,Hi,[(0,l.unref)(s).tools&&(0,l.unref)(s).tools.length>0?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:0},(0,l.renderList)((0,l.unref)(s).tools,(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:t,type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(s).disabled||e.disabled,danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block,onClick:t=>(0,l.unref)(se)(e.code),loading:g.toolbar||!!e.code&&j[e.code]},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,Ui,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&je(H(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(H(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(H(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0)])]),_:2},1032,[`type`,`size`,`disabled`,`danger`,`shape`,`ghost`,`block`,`onClick`,`loading`]))),128)):(0,l.createCommentVNode)(``,!0)])])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`div`,{ref_key:`tableWrapperEl`,ref:b,class:(0,l.normalizeClass)(e.fitContent?`p-pane`:`p-pane flex-1 h-0 min-h-0 flex flex-col p-${(0,l.unref)(m)??`inner`}-scroll`)},[(0,l.createElementVNode)(`div`,{class:(0,l.normalizeClass)(e.fitContent?`p-grid-table-body`:`p-grid-table-body flex-1 min-h-0 overflow-hidden`)},[((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Table),(0,l.mergeProps)({key:A.value+`_table`,"row-key":e.rowKey??`id`,ref_key:`tableEl`,ref:O,"row-class-name":e.striped?(e,t)=>t%2==1?`p-grid-row-striped`:``:``,columns:Ne((0,l.unref)(o)??[]).map(e=>(0,l.unref)(Jr)(e)),"data-source":F.value,loading:g.table,pagination:!1},be.value,{scroll:{x:`max-content`,y:S.value}}),(0,l.createSlots)({_:2},[E.value.length>0?{name:`headerCell`,fn:(0,l.withCtx)(({column:e})=>[E.value.some(t=>e.key&&t.field===e.key)?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(Ti),{key:A.value+`_title_`+P.value+`_slot_`+e.key,column:E.value.find(t=>e.key&&t.field===e.key)},null,8,[`column`])):(0,l.createCommentVNode)(``,!0)]),key:`0`}:void 0,te.value.length>0?{name:`bodyCell`,fn:(0,l.withCtx)(({column:e,record:t,index:n})=>[te.value.some(t=>e.key&&t.field===e.key)?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(si),{key:A.value+`_cell_`+P.value+`_slot_`+e.key,column:te.value.find(t=>e.key&&t.field===e.key),"default-handler":{pick:le,setLoadings:_},row:t,"row-index":n,"table-data":F.value},null,8,[`column`,`default-handler`,`row`,`row-index`,`table-data`])):(0,l.createCommentVNode)(``,!0)]),key:`1`}:void 0]),1040,[`row-key`,`row-class-name`,`columns`,`data-source`,`loading`,`scroll`]))],2),(0,l.createElementVNode)(`div`,{ref_key:`tableFooterEl`,ref:x,class:`flex-shrink-0`},[re.value!==`pagination`&&ie.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Wi,` 已选:`+(0,l.toDisplayString)(C.value.length),1)):re.value===`pagination`?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Gi,[(0,l.createElementVNode)(`div`,Ki,[ie.value?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:0},[(0,l.createTextVNode)(` 已选:`+(0,l.toDisplayString)(C.value.length),1)],64)):(0,l.createCommentVNode)(``,!0)]),(0,l.createVNode)(p,{size:`small`,responsive:!1,"show-size-changer":!0,"show-total":e=>`共${e}条数据`,current:N.page,"page-size":N.size,total:ne.value,onChange:me},null,8,[`show-total`,`current`,`page-size`,`total`])])):(0,l.createCommentVNode)(``,!0)],512)],2)],64))],16)}}}),Ji=c(o(((e,t)=>{(function(){"use strict";try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`:root{--evt-header-font: 12px normal Arial;--evt-body-font: 12px normal Arial;--evt-color-white: #fff;--evt-color-black: #000000;--evt-color-primary: rgb(82, 146, 247);--evt-text-color-primary: #333;--evt-text-color-regular: #666;--evt-text-color-secondary: #999;--evt-box-shadow: 0 2px 12px 0 #0000001a;--evt-editor-bg-color: #fff;--evt-editor-text-color: #333;--evt-border-color: #e1e6eb;--evt-body-bg-color: #fff;--evt-stripe-color: #fafafa;--evt-placeholder-color: #cdd0dc;--evt-header-bg-color: #f8faff;--evt-header-text-color: #1d2129;--evt-body-text-color: #4e5969;--evt-footer-text-color: #4e5969;--evt-loading-icon-color: #4e5969;--evt-expand-icon-color: #4e5969;--evt-shrink-icon-color: #4e5969;--evt-error-tip-icon-color: red;--evt-required-color: #f56c6c;--evt-cell-hover-icon-bg-color: #fff;--evt-cell-hover-icon-border-color: #dde0ea;--evt-scroller-color: #dee0e3;--evt-scroller-track-color: #fff;--evt-scroller-focus-color: #bbbec4;--evt-select-border-color: var(--evt-color-primary);--evt-select-area-color: rgba(82, 146, 247, .1);--evt-select-row-col-bg-color: rgba(82, 146, 247, .1);--evt-autofill-point-border-color: #fff;--evt-edit-bg-color: #fcf6ed;--evt-checkbox-color: var(--evt-color-primary);--evt-checkbox-uncheck-color: #dde0ea;--evt-checkbox-disabled-color: #f1f2f4;--evt-checkbox-check-disabled-color: #dde0ea;--evt-icon-edit-color: #4e5969;--evt-icon-select-color: #4e5969;--evt-readonly-color: #fff;--evt-readonly-text-color: var(--evt-body-text-color);--evt-error-tip-color: #ed3f14;--evt-footer-bg-color: #fafafa;--evt-highlight-hover-row-color: rgba(186, 203, 231, .1);--evt-highlight-selected-row-color: rgba(82, 146, 247, .1);--evt-tooltip-bg-color: #303133;--evt-tooltip-text-color: #fff;--evt-resize-row-line-color: #e1e6eb;--evt-resize-column-text-color: #fff;--evt-resize-column-text-bg-color: var(--evt-color-primary);--evt-resize-column-line-color: #e1e6eb;--evt-tree-line-color: #e1e6eb;--evt-sort-icon-color: var(--evt-color-primary);--evt-drag-tip-bg-color: rgba(82, 146, 247, .1);--evt-drag-tip-line-color: var(--evt-color-primary);--evt-context-menu-min-width: 150px;--evt-context-menu-max-width: 220px;--evt-context-menu-item-padding: 8px 12px;--evt-context-menu-bg-color: #fff;--evt-context-menu-text-color: #333;--evt-context-menu-item-hover-text-color: var(--evt-color-primary);--evt-context-menu-item-hover-bg-color: #f5f5f5;--evt-context-menu-text-size: 13px}.dark{--evt-border-color: #363637;--evt-header-bg-color: #141414;--evt-body-bg-color: #141414;--evt-header-text-color: #a3a6ad;--evt-body-text-color: #cfd3dc;--evt-readonly-text-color: #cfd3dc;--evt-footer-text-color: #cfd3dc;--evt-scroller-color: #414243;--evt-scroller-track-color: #141414;--evt-scroller-focus-color: #a3a6ad;--evt-edit-bg-color: #141414;--evt-footer-bg-color: #262727;--evt-autofill-point-border-color: #fff;--evt-editor-bg-color: #434343;--evt-editor-text-color: #cfd3dc;--evt-context-menu-bg-color: #141414;--evt-context-menu-text-color: #cfd3dc;--evt-context-menu-item-hover-text-color: var(--evt-color-primary);--evt-context-menu-item-hover-bg-color: #414243}.e-virt-table-container{position:relative;outline:none}.e-virt-table-stage{position:relative;overflow:hidden;outline:none;box-sizing:border-box;z-index:10;border-radius:8px;border:1px solid var(--evt-border-color)}.e-virt-table-canvas{position:absolute;left:0;top:0;box-sizing:border-box;background-color:var(--evt-body-bg-color);border:none;outline:none;z-index:10}.e-virt-table-editor{position:absolute;top:-10000px;left:-10000px;text-align:left;height:auto;line-height:0;z-index:100;overflow:hidden;background-color:var(--evt-editor-bg-color);border:2px solid var(--evt-color-primary);box-sizing:border-box;box-shadow:var(--evt-box-shadow);display:flex;align-items:center}.e-virt-table-overlayer{position:absolute;left:0;top:0;overflow:hidden;z-index:100;pointer-events:none}.e-virt-table-editor-textarea{width:100%;box-sizing:border-box;outline:none;font-weight:400;padding:8px;font-size:12px;color:inherit;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;line-height:1.5;margin:0;border:none;vertical-align:middle;background:var(--evt-editor-bg-color);color:var(--evt-editor-text-color);overflow-y:auto;resize:none}.e-virt-table-context-menu{position:absolute;font-size:14px;color:var(--evt-text-color-regular);background-color:var(--evt-color-white);border-radius:4px;border:1px solid #e4e7ed;box-shadow:var(--evt-box-shadow);width:fit-content;padding:6px 0;z-index:9999;left:-99999px;top:-99999px}.e-virt-table-context-menu-item{cursor:pointer;padding:6px 24px;color:var(--evt-text-color-regular)}.e-virt-table-context-menu-item:hover{color:var(--evt-color-primary);background-color:#f5f7fa}.e-virt-table-loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;z-index:2000;background-color:#fff6;display:flex;align-items:center;justify-content:center}.e-virt-table-loading-spinner{opacity:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.e-virt-table-loading-spinner svg{color:var(--evt-text-color-regular);animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.e-virt-table-loading-text{margin:0;font-size:12px;color:var(--evt-text-color-regular)}.e-virt-table-main-menu,.e-virt-table-submenu{position:absolute;background:var(--evt-context-menu-bg-color);border-radius:4px;box-shadow:0 2px 8px #0000001a;min-width:var(--evt-context-menu-min-width);max-width:var(--evt-context-menu-max-width);color:var(--evt-text-color-primary)}.e-virt-table-main-menu{border:1px solid var(--evt-border-color);z-index:3000;left:-99999px;top:-99999px;display:none;position:fixed;background-color:var(--evt-body-bg-color)}.e-virt-table-submenu{border:1px solid var(--evt-border-color);z-index:1000;max-height:350px;overflow-y:auto;opacity:0;visibility:hidden;transform:translate(-10px);transition:opacity .2s,visibility .2s,transform .2s;-ms-overflow-style:none;scrollbar-width:none}.e-virt-table-submenu::-webkit-scrollbar{display:none}.e-virt-table-submenu.show{opacity:1;visibility:visible;transform:translate(0)}.e-virt-table-submenu:not(.show){transition:none}.e-virt-table-menu-item,.e-virt-table-submenu-item{position:relative;-webkit-user-select:none;user-select:none;padding:var(--evt-context-menu-item-padding);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s,color .2s;color:var(--evt-context-menu-text-color);font-size:var(--evt-context-menu-text-size)}.e-virt-table-menu-item:last-child,.e-virt-table-submenu-item:last-child{border-bottom:none}.e-virt-table-menu-item:has(.e-virt-table-menu-item-icon){padding-left:8px}.e-virt-table-menu-item-content{display:flex;align-items:center;flex:1;min-width:0}.e-virt-table-menu-item-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;flex-shrink:0}.e-virt-table-menu-item-icon svg{width:100%;height:100%;fill:currentColor}.e-virt-table-menu-item-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.e-virt-table-menu-arrow{display:inline-flex;align-items:center;justify-content:center;color:var(--evt-text-color-regular);transition:color .2s}.e-virt-table-menu-arrow svg{width:20px;height:20px;fill:currentColor}.e-virt-table-submenu-item:hover,.e-virt-table-menu-item:hover,.e-virt-table-menu-item.active{background:var(--evt-context-menu-item-hover-bg-color);color:var(--evt-context-menu-item-hover-text-color)}.e-virt-table-menu-item.disabled,.e-virt-table-submenu-item.disabled{cursor:not-allowed}.e-virt-table-finder-bar{position:absolute;top:8px;right:16px;display:none;z-index:10000;background:#fff;border:1px solid #dadce0;border-radius:12px;box-shadow:0 2px 6px #0003;padding:0 8px;height:48px;min-width:250px;align-items:center;font-size:12px}.e-virt-table-finder-bar.show{display:flex}.e-virt-table-finder-bar-input-wrapper{display:flex;align-items:center;flex:1;padding:0 8px;position:relative}.e-virt-table-finder-bar-input{border:none;outline:none;flex:1;font-size:12px;background:transparent;color:#333;min-width:150px;padding-left:0;position:relative}.e-virt-table-finder-bar-nav{display:flex;flex-direction:row;gap:8px;margin:0 8px;align-items:center}.e-virt-table-finder-bar-nav-btn{border:none;background:transparent;cursor:pointer;padding:0;color:#666;border-radius:50%;display:flex;align-items:center;justify-content:center}.e-virt-table-finder-bar-nav-btn svg{width:24px;height:24px}.e-virt-table-finder-bar-nav-btn.prev-btn{transform:rotate(-90deg)}.e-virt-table-finder-bar-nav-btn.next-btn{transform:rotate(90deg)}.e-virt-table-finder-bar-nav-btn.close-btn{font-size:24px;color:#666;line-height:1;width:24px;height:24px}.e-virt-table-finder-bar-nav-btn:hover{color:#666;background-color:#f0f0f0}.e-virt-table-finder-bar-count{color:#666;font-size:12px;margin:0 8px;white-space:nowrap;flex-shrink:0}.e-virt-table-finder-bar-count.no-results{color:#999}.e-virt-table-finder-bar-loading{display:none;position:absolute;left:8px;top:0;width:16px;height:16px;flex-shrink:0;pointer-events:none;z-index:0}.e-virt-table-finder-bar-loading.show{display:block}.e-virt-table-finder-bar-loading svg{width:100%;height:100%;color:#666;animation:rotate 1s linear infinite}.e-virt-table-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:14px;color:#666;z-index:15}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})(),(function(n,r){typeof e==`object`&&typeof t<`u`?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.EVirtTable=r())})(e,(function(){"use strict";var e=Object.defineProperty,t=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,n=(e,n,r)=>t(e,typeof n==`symbol`?n:n+``,r);class r{constructor(e){n(this,`rules`),this.rules=e}validate(e){let t=[],{column:n,row:r,key:i,rowKey:a,colIndex:o,rowIndex:s,value:c,field:l,fieldValue:u}=e;Array.isArray(this.rules)||(this.rules=[this.rules]);for(let e of this.rules){if(e.validator){let d={field:l,fieldValue:u,value:c,column:n,colIndex:o,rowIndex:s,row:r,key:i,rowKey:a,...e};e.validator(d,c,e=>{e&&t.push({...d,message:e})})}if(!e.required&&(c==null||c===``))return t;e.pattern&&!e.pattern.test(c)&&t.push({value:c,column:n,row:r,key:i,rowKey:a,colIndex:o,rowIndex:s,field:l,fieldValue:u,message:e.message||`${i} is pattern validation error`}),e.required&&(c==null||c===``)&&t.push({value:c,column:n,row:r,key:i,rowKey:a,colIndex:o,rowIndex:s,field:l,fieldValue:u,message:e.message||`${i} is required`})}return t}}function i(){return`xxxxxxxxxxxxxxxxxx`.replace(/[x]/g,function(e){let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function a(e,t){let n=0,r;return function(...i){let a=new Date().getTime(),o=a-n,s=typeof t==`function`?t():t;!n||o>=s?(e.apply(this,i),n=a):r||=setTimeout(()=>{e.apply(this,i),n=new Date().getTime(),r=void 0},s-o)}}function o(e=[]){return e.length?e.map(e=>o(e.children)+1).sort((e,t)=>t-e)[0]:0}function s(e=[]){let t=[],n=[],r=[];return e.forEach(e=>{e.fixed===`left`?t.push(e):e.fixed===`right`?r.push(e):n.push(e)}),[...t.sort((e,t)=>(e.sort??0)-(t.sort??0)),...n.sort((e,t)=>(e.sort??0)-(t.sort??0)),...r.sort((e,t)=>(e.sort??0)-(t.sort??0))]}function c(e=[],t=1,n=0,r=``){return e.sort((e,t)=>(e.sort??0)-(t.sort??0)).map(e=>{if(e.children){let i=0,a=e.fixed;e.children.forEach(e=>{e.fixed=a});let o=c(e.children,t-1,n+1,e.key);return o&&o.forEach(e=>{i+=e.colspan??0}),{...e,width:e.width,level:n,rowspan:1,colspan:i,parentKey:r,children:o.sort((e,t)=>(e.sort??0)-(t.sort??0))}}return{...e,level:n,rowspan:t,colspan:1,parentKey:r}})}function l(e=[]){let t=[];return e.forEach(e=>{e.children?t=t.concat(l(e.children)):t.push(e)}),t}function u(e){return e.filter(e=>!e.hide).map(e=>Array.isArray(e.children)&&e.children.length>0?{...e,children:u(e.children)}:{...e})}let d=/^(\r\n|\n\r|\r|\n)/,f=/^[^\t\r\n]+/,p=/^\t/;function m(e){let t=[[``]];if(e.length===0)return t;let n=0,r=0,i;for(;e.length>0&&i!==e.length;)if(i=e.length,e.match(p))e=e.replace(p,``),n+=1,t[r][n]=``;else if(e.match(d))e=e.replace(d,``),n=0,r+=1,t[r]=[``];else{let i=``;if(e.startsWith(`"`)){let t=0,n=!0;for(;n;){let r=e.slice(0,1);r===`"`&&(t+=1),i+=r,e=e.slice(1),(e.length===0||e.match(/^[\t\r\n]/)&&t%2==0)&&(n=!1)}i=i.replace(/^"/,``).replace(/"$/,``).replace(/["]*/g,e=>Array(Math.floor(e.length/2)).fill(`"`).join(``))}else{let t=e.match(f);i=t?t[0]:``,e=e.slice(i.length)}t[r][n]=i}return Array.isArray(t)&&t.length>1&&t[t.length-1].length===1&&t[t.length-1][0]===``&&(t=t.slice(0,t.length-1)),t}function h(e){let t,n,r,i,a=``,o;for(t=0,n=e.length;t<n;t+=1){for(i=e[t].length,r=0;r<i;r+=1)r>0&&(a+=` `),o=e[t][r],typeof o==`string`?o.indexOf(`
|
|
2
2
|
`)>-1?a+=`"${o.replace(/"/g,`""`)}"`:a+=o:o==null?a+=``:a+=o;t!==n-1&&(a+=`
|
|
3
|
-
`)}return a}function g(e,t,n=[]){let r=0,i=[];return e.forEach((a,o)=>{o===0?i.push(1):(n.reduce((e,t)=>`${e}${a[t]??``}`,``)||a[t])===(n.reduce((t,n)=>`${t}${e[o-1][n]??``}`,``)||e[o-1][t])?(i[r]+=1,i.push(0)):(i.push(1),r=o)}),i}function _(e,t){let n=``,r=``,i={};return t.forEach((t,a)=>{a===0?(n=t.key,r=t.key,i[t.key]=1):e[t.key]===e[n]?(i[t.key]=0,i[r]+=1):(i[t.key]=1,n=t.key,r=t.key)}),i}function v(e,t,n=[]){let{visibleRows:r,rowIndex:i,headIndex:a}=e,o=g(r,t,n);return o[i-a]===0?{rowspan:0,colspan:0,relationRowKeys:n,mergeRow:!0}:{rowspan:o[i-a],colspan:1,relationRowKeys:n,mergeRow:!0}}function y(e,t=[]){let{column:n,row:r,visibleLeafColumns:i}=e,a=i.filter(e=>t.includes(e.key));if(t.includes(n.key)){let e=_(r,a);return e[n.key]===0?{rowspan:0,colspan:0,relationColKeys:t,mergeCol:!0}:{rowspan:1,colspan:e[n.key],relationColKeys:t,mergeCol:!0}}}function b(e,t=document.documentElement){let n=e.startsWith(`--`)?e:`--${e}`;return getComputedStyle(t).getPropertyValue(n).trim()}function x(e){if(!e)return new Date(0);if(typeof e==`number`)return new Date(e);let t=String(e).trim(),n=new Date(t);if(!isNaN(n.getTime()))return n;for(let e of[/^(\d{4})-(\d{1,2})-(\d{1,2})$/,/^(\d{4})\/(\d{1,2})\/(\d{1,2})$/,/^(\d{4})\.(\d{1,2})\.(\d{1,2})$/,/^(\d{1,2})-(\d{1,2})-(\d{4})$/,/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/,/^(\d{1,2})\.(\d{1,2})\.(\d{4})$/,/^(\d{1,2})-(\d{1,2})-(\d{4})$/,/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/,/^(\d{1,2})\.(\d{1,2})\.(\d{4})$/,/^(\d{4})(\d{2})(\d{2})$/,/^(\d{4})-(\d{1,2})-(\d{1,2})\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/,/^(\d{4})\/(\d{1,2})\/(\d{1,2})\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/]){let n=t.match(e);if(n){let t=n.slice(1).map(Number);if(e.source.includes(`YYYY-MM-DD`)||e.source.includes(`YYYY/MM/DD`)||e.source.includes(`YYYY.MM.DD`)){let[e,n,r,i=0,a=0,o=0]=t;return new Date(e,n-1,r,i,a,o)}else if(e.source.includes(`DD-MM-YYYY`)||e.source.includes(`DD/MM/YYYY`)||e.source.includes(`DD.MM.YYYY`)){let[e,n,r,i=0,a=0,o=0]=t;return new Date(r,n-1,e,i,a,o)}else if(e.source.includes(`MM-DD-YYYY`)||e.source.includes(`MM/DD/YYYY`)||e.source.includes(`MM.DD.YYYY`)){let[e,n,r,i=0,a=0,o=0]=t;return new Date(r,e-1,n,i,a,o)}else if(e.source.includes(`YYYYMMDD`)){let[e,n,r]=t;return new Date(e,n-1,r)}}}return new Date(NaN)}function S(e,t){let n=x(e),r=x(t);return isNaN(n.getTime())&&isNaN(r.getTime())?0:isNaN(n.getTime())?-1:isNaN(r.getTime())?1:n.getTime()-r.getTime()}function C(e){return String(e).match(/\.(\d+)/)?.[1].length??0}class w{constructor(e,t,r,i,a,o,s){n(this,`ctx`),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`,0),n(this,`visibleWidth`,0),n(this,`visibleHeight`,0),n(this,`fixed`),n(this,`cellType`),n(this,`drawX`,0),n(this,`drawY`,0),n(this,`cellImages`,new Map),this.ctx=e,this.x=t,this.y=r,this.width=i,this.height=a,this.fixed=s,this.cellType=o}isHorizontalVisible(){if(this.fixed)return!0;let{stageWidth:e,fixedLeftWidth:t,scrollX:n,fixedRightWidth:r}=this.ctx,i=e;return!(this.x+this.width-t-n<=0||this.x-n>=i-r)}isVerticalVisible(){let{stageHeight:e,scrollY:t}=this.ctx,n=e;return!(this.y+this.height-t<=0||this.y-t>=n)}getDrawX(){if(this.fixed===`left`)return this.x;if(this.fixed===`right`){let{stageWidth:e,config:{SCROLLER_TRACK_SIZE:t}}=this.ctx;return e-(this.ctx.header.width-this.x)-t}return this.x-this.ctx.scrollX}getDrawY(){return this.cellType===`header`||this.cellType===`footer`&&this.ctx.config.FOOTER_FIXED?this.y:this.y-this.ctx.scrollY}getLeftFixedX(){return this.x-this.ctx.scrollX}isInside(e,t){return e>=this.drawX&&e<=this.drawX+this.width&&t>=this.drawY&&t<=this.drawY+this.height}isInsideVisible(e,t){return e>=this.drawX&&e<=this.drawX+this.visibleWidth&&t>=this.drawY&&t<=this.drawY+this.visibleHeight&&this.isInside(e,t)}setImage(e,t){this.cellImages.set(e,t)}getImages(){return this.cellImages}getImage(e){return this.cellImages.get(e)}isImageInside(e,t){let{offsetX:n,offsetY:r}=this.ctx.getOffset(t),i=this.getImage(e);return i?i.isInside(n,r):!1}}class T{constructor(e,t,r,i,a,o){n(this,`source`),n(this,`name`),n(this,`x`),n(this,`y`),n(this,`width`),n(this,`height`),n(this,`visible`,!0),this.source=o,this.name=e,this.x=t,this.y=r,this.width=i,this.height=a}drawWrapper(e,t){e.paint.drawRect(this.x-2,this.y-2,this.width+4,this.height+4,{radius:4,borderWidth:1,...t})}setVisible(e){this.visible=e}isInside(e,t){return this.visible?!!(this.source&&e>this.x&&e<this.x+this.width&&t>this.y&&t<this.y+this.height):!1}}class E extends w{constructor(e,t,r,i,a,o,s,c,l,u=`body`,d=!0){super(e,i,a,o,s,u,c.fixed),n(this,`parentRowKey`,``),n(this,`parentRowKeys`,[]),n(this,`formatter`),n(this,`formatterFooter`),n(this,`hoverIconName`,``),n(this,`operation`,!1),n(this,`align`),n(this,`verticalAlign`),n(this,`fixed`),n(this,`type`),n(this,`editorType`),n(this,`editorProps`),n(this,`cellType`),n(this,`level`),n(this,`colspan`,1),n(this,`rowspan`,1),n(this,`mergeRow`,!1),n(this,`mergeCol`,!1),n(this,`relationRowKeys`,[]),n(this,`relationColKeys`,[]),n(this,`key`),n(this,`column`),n(this,`rowIndex`),n(this,`colIndex`),n(this,`rowKey`),n(this,`row`),n(this,`value`),n(this,`render`),n(this,`renderFooter`),n(this,`style`,{}),n(this,`domDataset`,{}),n(this,`rules`,[]),n(this,`message`,``),n(this,`text`,``),n(this,`displayText`,``),n(this,`visibleWidth`,0),n(this,`visibleHeight`,0),n(this,`isHasChanged`,!1),n(this,`drawX`,0),n(this,`drawY`,0),n(this,`drawCellBgColor`,``),n(this,`drawCellSkyBgColor`,``),n(this,`drawTextColor`,``),n(this,`drawTextFont`,``),n(this,`drawTextX`,0),n(this,`drawTextY`,0),n(this,`drawTextWidth`,0),n(this,`drawTextHeight`,0),n(this,`autoRowHeight`,!1),n(this,`calculatedHeight`,0),n(this,`ellipsis`,!1),n(this,`rowExpand`,!1),n(this,`rowHasChildren`,!1),n(this,`overflowTooltipShow`,!0),n(this,`selectorCellValueType`,`value`),n(this,`overflowTooltipMaxWidth`,500),n(this,`overflowTooltipPlacement`,`top`),n(this,`maxLineClamp`,`auto`),n(this,`precision`),n(this,`min`),n(this,`max`),n(this,`maxlength`),n(this,`mixedRender`,!1),n(this,`renderType`,`default`),n(this,`renderFooterType`,`default`),this.visibleWidth=this.width,this.visibleHeight=this.height,this.colIndex=r,this.rowIndex=t,this.key=c.key,this.type=c.type||``,this.editorType=c.editorType||`text`,this.selectorCellValueType=c.selectorCellValueType||this.ctx.config.SELECTOR_CELL_VALUE_TYPE||`value`,this.editorProps=c.editorProps||{},this.cellType=u,this.align=c.align||this.ctx.config.COLUMNS_ALIGN,this.verticalAlign=c.verticalAlign||this.ctx.config.COLUMNS_VERTICAL_ALIGN,this.fixed=c.fixed||``,this.level=c.level||0,this.operation=c.operation||!1,this.column=c,this.rules=c.rules||[],this.row=l,this.rowKey=this.cellType===`body`?this.ctx.database.getRowKeyForRowIndex(t):`${this.cellType}_${this.rowIndex}`,this.value=this.getValue(),this.render=c.render,this.overflowTooltipShow=c.overflowTooltipShow!==!1,this.autoRowHeight=c.autoRowHeight===void 0?this.ctx.config.AUTO_ROW_HEIGHT:c.autoRowHeight,this.overflowTooltipMaxWidth=c.overflowTooltipMaxWidth||500,this.overflowTooltipPlacement=c.overflowTooltipPlacement||`top`,this.renderFooter=c.renderFooter,this.hoverIconName=c.hoverIconName,this.formatter=c.formatter,this.formatterFooter=c.formatterFooter,this.maxLineClamp=c.maxLineClamp||`auto`,this.precision=c.precision,this.min=c.min,this.max=c.max,this.maxlength=c.maxlength,this.mixedRender=c.mixedRender||!1,this.renderType=c.renderType||`default`,this.renderFooterType=c.renderFooterType||`default`;let f=this.ctx.database.getRowForRowKey(this.rowKey);this.cellType===`body`&&f&&(this.parentRowKey=f.parentRowKey,this.parentRowKeys=f.parentRowKeys),d&&this.update()}setWidthHeight(e,t){this.width=e,this.height=t}getValidationMessage(){let e=this.ctx.database.getValidationError(this.rowKey,this.key);if(Array.isArray(e)&&e.length){let[t]=e;this.message=t.message||``}return this.message}update(){this.drawX=this.getDrawX(),this.drawY=this.getDrawY(),this.updateSpan(),this.updateDragImage();let e=this.getImage(`drag`),t=e?e.width:0;this.drawTextX=this.drawX+t,this.drawTextY=this.drawY,this.isHasChanged=this.ctx.database.isHasChangedData(this.rowKey,this.key),this.drawTextWidth=this.visibleWidth-t,this.drawTextHeight=this.visibleHeight,this.updateStyle(),this.updateType(),this.updateHoverIcon(),this.updateSelection(),this.updateTree(),this.updateEditor(),this.updateRender(),this.getValidationMessage(),this.updateContainer(),this.text=this.getText(),this.displayText=this.getDisplayText()}updateSpan(){if(this.cellType===`footer`)return;let{SPAN_METHOD:e}=this.ctx.config;if(typeof e==`function`){let{colspan:t=1,rowspan:n=1,relationRowKeys:r,relationColKeys:i,mergeRow:a=!1,mergeCol:o=!1}=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue(),headIndex:this.ctx.body.headIndex,headPosition:this.ctx.database.getPositionForRowIndex(this.ctx.body.headIndex),visibleRows:this.ctx.body.visibleRows,visibleLeafColumns:this.ctx.header.visibleLeafColumns,rows:this.ctx.body.data})||{};Array.isArray(r)&&r.length>0?this.relationRowKeys=r:this.relationRowKeys=[this.key],Array.isArray(i)&&i.length>0?this.relationColKeys=i:this.relationColKeys=[this.key],this.mergeCol=o,this.mergeRow=a,this.colspan=t,this.rowspan=n,this.visibleWidth=this.getWidthByColIndexColSpan(this.colIndex,this.colspan),this.visibleHeight=this.ctx.database.getHeightByRowIndexRowSpan(this.rowIndex,this.rowspan)}}updateSpanInfo(){if(this.mergeRow||this.mergeCol){let e=this.getSpanInfo();this.height=e.height,this.width=e.width,this.drawX=this.getDrawX(),this.drawY=this.getDrawY(),this.drawY-=e.offsetTop,this.drawX-=e.offsetLeft}}updateType(){let{BODY_CELL_TYPE_METHOD:e}=this.ctx.config;if(typeof e==`function`){let t=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});t!==void 0&&(this.type=t)}}updateEditor(){let{BODY_CELL_EDITOR_METHOD:e}=this.ctx.config;if(typeof e==`function`){let t=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});if(t!==void 0){let{type:e,props:n={}}=t;this.editorType=e,this.editorProps=n}}}updateRender(){let{BODY_CELL_RENDER_METHOD:e}=this.ctx.config;if(typeof e==`function`){let t=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});t!==void 0&&(this.render=t)}}validate(){this.ctx.database.getValidator(this.rowKey,this.key).then(()=>{this.ctx.database.setValidationError(this.rowKey,this.key,[]),this.message=``}).catch(e=>{if(Array.isArray(e)&&e.length){let[t]=e;this.message=t.message,this.ctx.database.setValidationError(this.rowKey,this.key,e)}}).finally(()=>{this.ctx.emit(`draw`)})}updateStyle(){this.autoRowHeight&&(this.domDataset={"data-auto-height":!0,"data-row-index":this.rowIndex,"data-col-index":this.colIndex}),this.style=this.getOverlayerViewsStyle()}isInsideVisible(e,t){return e>=this.drawX&&e<=this.drawX+this.visibleWidth&&t>=this.drawY&&t<=this.drawY+this.visibleHeight}updateTree(){let{CELL_PADDING:e=0}=this.ctx.config,{rowKey:t,cellType:n}=this,r,i=0,a=``;if(!([`tree`,`selection-tree`,`tree-selection`].includes(this.type)&&n===`body`))return;let{expand:o=!1,hasChildren:s=!1,expandLoading:c=!1,level:l=0}=this.ctx.database.getRowForRowKey(t)||{};this.rowExpand=o,this.rowHasChildren=s;let{TREE_INDENT:u=16,CHECKBOX_SIZE:d,TREE_ICON_SIZE:f}=this.ctx.config;if(i=l*u,c){let e=this.ctx.icons.get(`loading`);a=`loading`,r=e}else if(s){let e=this.ctx.icons.get(`expand`),t=this.ctx.icons.get(`shrink`);r=o?t:e,a=o?`shrink`:`expand`}let p=f,m=f,h=this.drawX;(this.align===`center`||this.align===`right`)&&(h=this.drawX+(this.visibleWidth-p-2*e)/2,this.align=`left`);let g=h+i+e,_=this.drawY+(this.visibleHeight-m)/2,v=i+this.drawX+p-.5,y=this.getImage(`selection`),b=this.getImage(`drag`),x=b?b.width:0;if(this.type===`selection-tree`&&y){let t=y.x,n=y.width;g=i+t+n,v=g+p-e/2}else this.type===`tree-selection`?(g+=x,v=g+d+p-e/2):(g+=x,v=g+p-e/2);this.drawTextX=v,this.drawTextWidth=this.drawX+this.visibleWidth-v,!(g+p+e>this.drawX+this.visibleWidth)&&(_+m+e>this.drawY+this.visibleHeight||this.setImage(`tree`,new T(a,g,_,p,m,r)))}updateDragImage(){if(this.cellType===`body`&&this.column.dragRow){let{DRAG_ROW_ICON_SIZE:e,CELL_PADDING:t}=this.ctx.config,n=new T(`drag`,this.drawX+t/2,this.drawY+(this.visibleHeight-e)/2,e,e,this.ctx.icons.get(`drag`));this.rowspan===0&&n.setVisible(!1),this.setImage(`drag`,n)}}drawTreeLine(){let{TREE_LINE:e,TREE_INDENT:t=16,TREE_ICON_SIZE:n=16,TREE_LINE_COLOR:r=`#e1e6eb`}=this.ctx.config;if(!e||this.cellType!==`body`||![`tree`,`selection-tree`,`tree-selection`].includes(this.type)||this.rowspan===0||this.colspan===0)return;let i=this.ctx.database.getRowForRowKey(this.rowKey)||{},a=i.level??0,o=this.getImage(`tree`);if(!o)return;let s=o.x,c=o.y,l=o.width,u=o.height,d=s+l/2,f=c+u/2,p=s-a*t,m=Array.isArray(i.parentRowKeys)?i.parentRowKeys:[];if(a>0){for(let e=0;e<a-1;e+=1){let i=m[e+1];if((i&&this.ctx.database.getRowForRowKey(i)||{}).isLastChild)continue;let o=Math.round(s-(a-e)*t+n/2);this.ctx.paint.drawLine([o,this.drawY,o,this.drawY+this.visibleHeight],{borderColor:r,borderWidth:1,lineDash:[4,4],lineDashOffset:0})}let e=Math.round(s-t+n/2),o=i.isLastChild?f:this.drawY+this.visibleHeight;this.ctx.paint.drawLine([e,this.drawY,e,o],{borderColor:r,borderWidth:1,lineDash:[4,4],lineDashOffset:0});let c=Math.round(p+(a-1)*t+n/2);this.ctx.paint.drawLine([c,f,d,f],{borderColor:r,borderWidth:1,lineDash:[4,4],lineDashOffset:0})}if(i.hasChildren&&i.expand){let e=c+u,t=this.drawY+this.visibleHeight;this.ctx.paint.drawLine([d,e,d,t],{borderColor:r,borderWidth:1,lineDash:[4,4],lineDashOffset:0})}}updateContainer(){let{BODY_BG_COLOR:e,EDIT_BG_COLOR:t,BODY_CELL_STYLE_METHOD:n,FOOTER_CELL_STYLE_METHOD:r,READONLY_TEXT_COLOR:i,BODY_TEXT_COLOR:a,FOOTER_TEXT_COLOR:o,FOOTER_BG_COLOR:s,HIGHLIGHT_SELECTED_ROW:c,HIGHLIGHT_SELECTED_ROW_COLOR:l,HIGHLIGHT_HOVER_ROW:u,HIGHLIGHT_HOVER_ROW_COLOR:d,STRIPE:f,STRIPE_COLOR:p,FINDER_CELL_BG_COLOR:m}=this.ctx.config;if(this.cellType===`footer`){let e=s,t=o;if(typeof r==`function`){let{backgroundColor:n,color:i,font:a}=r({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()})||{};n&&(e=n),i&&(t=i),a&&(this.drawTextFont=a)}this.drawCellSkyBgColor=`transparent`,this.drawCellBgColor=e,this.drawTextColor=t;return}let h=`transparent`,g=this.ctx.hoverCell,_=this.ctx.currentCell,v=this.rowIndex,y=this.rowIndex;if(this.rowspan!==1&&(u||c)){let{yArr:e}=this.getSpanInfo();v=e[0],y=e[1]}u&&g&&!this.ctx.dragRowIng&&(g.rowKey===this.rowKey&&(h=d),g.rowIndex>=v&&g.rowIndex<=y&&(h=d)),c&&_&&!this.ctx.dragRowIng&&(_.rowKey===this.rowKey&&(h=l),_.rowIndex>=v&&_.rowIndex<=y&&(h=l)),this.drawCellSkyBgColor=h;let b=e,x=a;if(this.ctx.database.getReadonly(this.rowKey,this.key)||(b=t,x=i),f&&(b=this.rowIndex%2?p:e),typeof n==`function`){let{backgroundColor:e,color:t,font:r}=n({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,isHasChanged:this.isHasChanged,value:this.getValue()})||{};e&&(b=e),t&&(x=t),r&&(this.drawTextFont=r)}let{rowIndex:S,colIndex:C,type:w}=this.ctx.finderBar;S===this.rowIndex&&C===this.colIndex&&w===`body`&&(b=m),this.drawCellBgColor=b,this.drawTextColor=x}updateSelection(){let{visibleWidth:e,visibleHeight:t,rowspan:n,colspan:r,cellType:i,type:a,rowIndex:o,rowKey:s}=this;if(n===0||r===0||i===`footer`||![`index-selection`,`selection`,`selection-tree`,`tree-selection`].includes(a))return;let c=this.ctx.database.getRowSelectable(s),{CHECKBOX_SIZE:l=0,CELL_PADDING:u}=this.ctx.config,d=this.drawX+u;(this.align===`center`||this.align===`right`)&&(d=this.drawX+(e-l)/2);let f=d,p=this.drawY+(t-l)/2;if(a!==`selection-tree`&&a===`tree-selection`){let{TREE_INDENT:e=16,TREE_ICON_SIZE:t}=this.ctx.config,{level:n=0}=this.ctx.database.getRowForRowKey(s)||{},r=n*e;f=d+t+r}let m=this.ctx.icons.get(`checkbox-uncheck`),h=`checkbox-uncheck`;if(a===`selection-tree`||a===`tree-selection`){let e=this.ctx.database.getTreeSelectionState(s);e.indeterminate&&c?(m=this.ctx.icons.get(`checkbox-indeterminate`),h=`checkbox-indeterminate`):e.checked&&c?(m=this.ctx.icons.get(`checkbox-check`),h=`checkbox-check`):!e.checked&&c?(m=this.ctx.icons.get(`checkbox-uncheck`),h=`checkbox-uncheck`):(m=this.ctx.icons.get(`checkbox-disabled`),h=`checkbox-disabled`)}else{let e=this.ctx.database.getRowSelection(s);e&&c?(m=this.ctx.icons.get(`checkbox-check`),h=`checkbox-check`):e&&!c?(m=this.ctx.icons.get(`checkbox-check-disabled`),h=`checkbox-check-disabled`):!e&&c?(m=this.ctx.icons.get(`checkbox-uncheck`),h=`checkbox-uncheck`):(m=this.ctx.icons.get(`checkbox-disabled`),h=`checkbox-disabled`)}let g=this.getImage(`drag`),_=g?g.width:0;if(f+=_,f+l+u>this.drawX+this.visibleWidth||p+l+u>this.drawY+this.visibleHeight)return;let v=new T(h,f,p,l,l,m);if(a===`index-selection`){v.setVisible(!1),(this.ctx.hoverCell&&this.ctx.hoverCell.rowIndex===o||[`checkbox-disabled`,`checkbox-check`].includes(h))&&v.setVisible(!0);let e=this.rowIndex,t=this.rowIndex,n=this.ctx.hoverCell,{yArr:r}=this.getSpanInfo();e=r[0],t=r[1],n&&n.rowIndex>=e&&n.rowIndex<=t&&v.setVisible(!0)}this.setImage(`selection`,v)}updateHoverIcon(){if(this.ctx.database.getReadonly(this.rowKey,this.key))return;let{BODY_CELL_HOVER_ICON_METHOD:e,CELL_HOVER_ICON_SIZE:t,CELL_PADDING:n,ENABLE_MERGE_CELL_LINK:r}=this.ctx.config;if(typeof e==`function`){let t=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});t!==void 0&&(this.hoverIconName=t)}let{hoverCell:i}=this.ctx;if(this.hoverIconName&&!this.ctx.editing&&!this.ctx.dragRowIng&&i){let e=0,a=0;if(i.rowKey===this.rowKey&&(e=this.drawX+this.width-t-n,a=this.drawY+(this.height-t)/2),this.rowspan!==1&&r){let r=this.getSpanInfo(),{yArr:o}=r,s=o[0],c=o[1];if(i.rowIndex>=s&&i.rowIndex<=c){let{width:i,height:o,offsetTop:s,offsetLeft:c}=r;e=this.drawX-c+i-t-n,a=this.drawY-s+(o-t)/2}}let o=this.ctx.icons.get(this.hoverIconName),s=new T(this.hoverIconName,e,a,t,t,o);(this.rowspan===0||this.colspan===0)&&s.setVisible(!1),this.setImage(`hover`,s)}}getAutoHeight(){if(this.cellType!==`body`||!this.autoRowHeight||this.rowspan===0)return 0;if(this.render){let e=this.ctx.database.getOverlayerAutoHeight(this.rowIndex,this.colIndex);return this.rowspan>1?e<this.visibleHeight?0:Math.round(e-(this.visibleHeight-this.height)):Math.round(e)}if(!(this.displayText&&typeof this.displayText==`string`))return 0;let{BODY_FONT:e,CELL_PADDING:t,CELL_LINE_HEIGHT:n}=this.ctx.config,r=`${this.displayText}_${this.drawTextWidth}_${this.drawTextFont}`,i=this.ctx.paint.calculateTextHeight(this.displayText,this.drawTextWidth,{font:this.drawTextFont||e,padding:t,align:this.align,verticalAlign:this.verticalAlign,color:this.drawTextColor,autoRowHeight:this.autoRowHeight,lineHeight:n,maxLineClamp:this.maxLineClamp,cacheTextKey:r});return this.rowspan>1?i<this.visibleHeight?0:Math.round(i-(this.visibleHeight-this.height)):Math.round(i)}getSpanInfo(){return this.ctx.database.getSpanInfo(this)}getDisplayText(){if(this.cellType===`footer`)return this.renderFooter&&this.renderFooterType==="default"||this.text===null||this.text===void 0?``:this.text;{if(this.rowspan===0||this.colspan===0||this.render&&this.renderType==="default"&&!this.mixedRender)return``;let e=this.getImage(`selection`);return this.type===`index-selection`&&e&&e.visible||this.text===null||this.text===void 0?``:`${this.text}`}}getText(){if(this.cellType===`footer`)return typeof this.formatterFooter==`function`?this.formatterFooter({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.row[this.key]}):this.row[this.key];if(typeof this.formatter==`function`)return this.formatter({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});let{BODY_CELL_FORMATTER_METHOD:e}=this.ctx.config;return typeof e==`function`?e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()}):[`index-selection`,`index`].includes(this.type)?`${this.rowIndex+1}`:(this.value=this.ctx.database.getItemValue(this.rowKey,this.key),this.value)}getValue(){return this.ctx.database.getItemValue(this.rowKey,this.key)}setValue(e){this.ctx.setItemValueByEditor(this.rowKey,this.key,e)}getOverlayerViewsStyle(){let e=this.drawX-this.ctx.fixedLeftWidth,t=this.drawY-this.ctx.body.y;if(this.fixed===`left`?e=this.drawX:this.fixed===`right`&&(e=this.drawX-(this.ctx.stageWidth-this.ctx.fixedRightWidth)),this.cellType===`footer`&&this.ctx.config.FOOTER_FIXED&&(t=this.drawY-this.ctx.footer.y),this.autoRowHeight&&this.render&&this.verticalAlign===`middle`){let e=this.ctx.database.getOverlayerAutoHeight(this.rowIndex,this.colIndex);if(e<this.visibleHeight&&e>0){let n=(this.visibleHeight-e)/2;t+=n}}this.autoRowHeight&&this.ctx.database.getOverlayerAutoHeight(this.rowIndex,this.colIndex)===0&&(e=-99999,t=-99999);let n={};return this.rowspan===0&&(n={display:`none`}),{position:`absolute`,overflow:`hidden`,left:`${Math.round(e-1)}px`,top:`${Math.round(t-1)}px`,width:`${this.visibleWidth}px`,height:this.autoRowHeight&&this.renderType==="default"?`auto`:`${this.visibleHeight}px`,pointerEvents:`initial`,userSelect:`none`,...n}}drawContainer(){let{paint:e,config:{BORDER_COLOR:t,BORDER:n}}=this.ctx,{drawX:r,drawY:i}=this;e.drawRect(r,i,this.visibleWidth,this.visibleHeight,{borderColor:n?t:`transparent`,fillColor:this.drawCellBgColor}),e.drawRect(r,i,this.width,this.height,{borderColor:`transparent`,fillColor:this.drawCellSkyBgColor}),n||this.ctx.paint.drawLine([r,i+this.visibleHeight,r+this.visibleWidth,i+this.visibleHeight],{borderColor:t,fillColor:t,borderWidth:1,lineCap:`round`,lineJoin:`round`})}drawAutofillPiont(){if(this.cellType===`footer`)return;let{SELECT_BORDER_COLOR:e,ENABLE_AUTOFILL:t,ENABLE_SELECTOR:n,AUTOFILL_POINT_BORDER_COLOR:r}=this.ctx.config;if(!n||!t||this.ctx.editing)return;let{xArr:i,yArr:a}=this.ctx.selector,o=i[1],s=a[1],{colIndex:c,rowIndex:l,drawX:u,drawY:d}=this;if(c===o&&l===s){let t=c===this.ctx.maxColIndex||l===this.ctx.maxRowIndex||c===this.ctx.lastCenterColIndex?6:4;this.ctx.paint.drawRect(u+this.width-t,d+this.height-t,6,6,{borderColor:r,fillColor:e})}}draw(){this.drawTreeLine(),this.drawText(),this.drawImage(),this.drawSelector(),this.drawAutofillPiont(),this.drawErrorTip()}getWidthByColIndexColSpan(e,t){if(t===0)return 0;let n=0;for(let r=e;r<e+t;r++){let e=this.ctx.header.leafCellHeaders[r];n+=e.width}return n}drawText(){let{CELL_PADDING:e,BODY_FONT:t,PLACEHOLDER_COLOR:n,CELL_LINE_HEIGHT:r}=this.ctx.config,{placeholder:i}=this.column,a=this.displayText,o=this.drawTextColor;if(!this.ctx.database.getReadonly(this.rowKey,this.key)&&i&&[``,null,void 0].includes(this.text)&&this.cellType===`body`&&!(this.rowspan===0||this.colspan===0)&&(a=i,o=n),[``,null,void 0].includes(a))return!1;typeof a!=`string`&&(a=`${a}`);let s=`${a}_${this.drawTextWidth}_${this.drawTextFont}`;return this.ellipsis=this.ctx.paint.drawText(a,this.drawTextX,this.drawTextY,this.drawTextWidth,this.drawTextHeight,{font:this.drawTextFont||t,padding:e,align:this.align,verticalAlign:this.verticalAlign,color:o,autoRowHeight:this.autoRowHeight,lineHeight:r,maxLineClamp:this.maxLineClamp,cacheTextKey:s,layoutCallback:e=>{this.ctx.emit(`registerTextLayout`,`${this.cellType}-${this.rowIndex}-${this.colIndex}`,e)}}),this.ellipsis}drawImage(){this.getImages().forEach((e,t)=>{if(e.visible&&e.source){if(t===`hover`){let{CELL_HOVER_ICON_BG_COLOR:t,CELL_HOVER_ICON_BORDER_COLOR:n}=this.ctx.config;e.drawWrapper(this.ctx,{borderColor:n,fillColor:t})}this.ctx.paint.drawImage(e.source,e.x,e.y,e.width,e.height)}})}drawSelector(){if(this.cellType===`footer`)return;let{ENABLE_SELECTOR:e}=this.ctx.config;if(!e)return;let{xArr:t,yArr:n,xArrCopy:r,yArrCopy:i}=this.ctx.selector;this.drawBorder({xArr:r,yArr:i,borderColor:this.ctx.config.SELECT_BORDER_COLOR||`rgb(82,146,247)`,fillColor:`transparent`,borderWidth:1,lineDash:[4,4]}),this.drawBorder({xArr:this.ctx.autofill.xArr,yArr:this.ctx.autofill.yArr,borderColor:this.ctx.config.SELECT_BORDER_COLOR||`rgb(82,146,247)`,fillColor:`transparent`,borderWidth:1,lineDash:[4,4]}),this.drawBorder({xArr:t,yArr:n,borderColor:this.ctx.config.SELECT_BORDER_COLOR||`rgb(82,146,247)`,fillColor:`transparent`,borderWidth:1});let[a,o]=t,[s,c]=n;!(a===o&&s===c)&&this.colIndex>=a&&this.colIndex<=o&&this.rowIndex>=s&&this.rowIndex<=c&&this.ctx.paint.drawRect(this.drawX,this.drawY,this.width,this.height,{borderColor:`transparent`,fillColor:this.ctx.config.SELECT_AREA_COLOR||`rgba(82,146,247,0.1)`}),this.operation&&this.rowIndex>=s&&this.rowIndex<=c&&this.ctx.paint.drawRect(this.drawX,this.drawY,this.visibleWidth,this.visibleHeight,{borderColor:`transparent`,fillColor:this.ctx.config.SELECT_ROW_COL_BG_COLOR||`transparent`})}drawErrorTip(){if(this.cellType===`footer`||!this.message||this.rowspan===0||this.colspan===0)return;let{ERROR_TIP_ICON_SIZE:e,ERROR_TIP_COLOR:t}=this.ctx.config,{width:n}=this,r=this.drawX,i=this.drawY,a=[r+n-e-.5,i,r+n-.5,i,r+n-.5,i+e];this.ctx.paint.drawLine(a,{borderColor:t,fillColor:t,borderWidth:1,lineCap:`round`,lineJoin:`round`})}drawBorder(e){let{drawX:t,drawY:n,rowIndex:r,colIndex:i,height:a,width:o}=this,s=t,c=n,{xArr:l,yArr:u,lineDash:d=[],borderWidth:f=1,borderColor:p,fillColor:m}=e,h=l[0],g=l[1],_=u[0],v=u[1];if(i>=h&&i<=g&&r===_){let e=+(i===g),t=+(i===h);this.ctx.paint.drawLine([s+t,c+1,s+o-e,c+1],{borderColor:p,fillColor:m,borderWidth:f,lineCap:`round`,lineJoin:`round`,lineDash:d})}if(i===g&&r>=_&&r<=v){let e=+(r===_),t=+(r===v);this.ctx.paint.drawLine([s+o-1,c+e,s+o-1,c+a-t],{borderColor:p,fillColor:m,borderWidth:f,lineCap:`round`,lineJoin:`round`,lineDash:d})}if(i>=h&&i<=g&&r===v){let e=+(i===g),t=+(i===h);this.ctx.paint.drawLine([s+t,c+a-1,s+o-e,c+a-1],{borderColor:p,fillColor:m,borderWidth:f,lineCap:`round`,lineJoin:`round`,lineDash:d})}if(i===h&&r>=_&&r<=v){let e=+(r===v),t=+(r===_);this.ctx.paint.drawLine([s+1,c+t,s+1,c+a-e],{borderColor:p,fillColor:m,borderWidth:f,lineCap:`round`,lineJoin:`round`,lineDash:d})}}}class D{constructor(e,t){n(this,`ctx`),n(this,`data`),n(this,`columns`),n(this,`footerData`,[]),n(this,`rowKeyMap`,new Map),n(this,`colIndexKeyMap`,new Map),n(this,`headerMap`,new Map),n(this,`rowIndexRowKeyMap`,new Map),n(this,`rowKeyRowIndexMap`,new Map),n(this,`checkboxKeyMap`,new Map),n(this,`selectionMap`,new Map),n(this,`expandMap`,new Map),n(this,`originalDataMap`,new Map),n(this,`changedDataMap`,new Map),n(this,`validationErrorMap`,new Map),n(this,`itemRowKeyMap`,new WeakMap),n(this,`bufferData`,[]),n(this,`customHeader`,{fixedData:{},sortData:{},hideData:{},resizableData:{}}),n(this,`overlayerAutoHeightMap`,new Map),n(this,`maxRowHeightCellMap`,new Map),n(this,`bufferCheckState`,{buffer:!1,check:!1,indeterminate:!1,selectable:!0}),n(this,`sumHeight`,0),n(this,`filterMethod`),n(this,`positions`,[]),n(this,`sortState`,new Map),this.ctx=e;let{data:r=[],columns:i=[],footerData:a=[]}=t;this.data=r,this.footerData=a,this.columns=i,this.init()}init(e=!0){this.ctx.paint.clearTextCache(),this.clearBufferData(),this.rowKeyMap.clear(),this.checkboxKeyMap.clear(),this.colIndexKeyMap.clear(),this.rowIndexRowKeyMap.clear(),this.rowKeyRowIndexMap.clear(),this.maxRowHeightCellMap.clear();let t=l(this.getColumns());if(this.ctx.hasSelection=t.some(e=>e.type===`selection`),this.ctx.hasTree=t.some(e=>e.type?.includes(`tree`)),e){this.originalDataMap.clear(),this.changedDataMap.clear(),this.validationErrorMap.clear();let{ROW_KEY:e}=this.ctx.config;e?(this.ctx.hasSelection||this.selectionMap.clear(),this.ctx.hasTree||this.expandMap.clear()):(this.selectionMap.clear(),this.expandMap.clear())}this.itemRowKeyMap=new WeakMap,this.initData(this.data),this.getData(),this.bufferCheckState.buffer=!1}clearBufferData(){this.bufferData=[]}initData(e,t=0,n=[]){let r=e.length,{ROW_KEY:a=``,DEFAULT_EXPAND_ALL:o,CELL_HEIGHT:s,SELECTABLE_METHOD:c,CHECKBOX_KEY:l,TREE_CHILDREN_KEY:u}=this.ctx.config;e.forEach((e,d)=>{u!==`children`&&(e.children=e[u]);let f=e[a]??i();this.itemRowKeyMap.set(e,f);let p=e._height||s,m=e._readonly,h=!0;if(typeof c==`function`&&(h=c),l){let t=e[l];if(this.checkboxKeyMap.has(t)){let e=this.checkboxKeyMap.get(t)||[];e.push(f),this.checkboxKeyMap.set(t,e)}else this.checkboxKeyMap.set(t,[f])}this.selectionMap.set(f,{key:l?e[l]:f,row:e,check:this.selectionMap.get(f)?.check||!1});let g=o||this.expandMap.get(f)||e._expand||!1;this.expandMap.set(f,g),this.rowKeyMap.set(f,{readonly:m,index:d,rowIndex:d,level:t,height:p,calculatedHeight:-1,check:!1,selectable:h,expand:g,expandLazy:!1,hasChildren:e._hasChildren||(Array.isArray(e.children)?e.children.length>0:!1),expandLoading:!1,item:e,parentRowKeys:n,parentRowKey:n[n.length-1]||``,isLastChild:d===r-1}),Array.isArray(e.children)&&e.children.length&&this.initData(e.children,t+1,[...n,f])})}setRowHeight(e,t){let n=this.rowIndexRowKeyMap.get(e);if(n===void 0)return;let r=this.rowKeyMap.get(n);r.height=t,r.item._height=t,this.clearBufferData()}setBatchRowHeight(e){e.forEach(({rowIndex:e,height:t})=>{let n=this.rowIndexRowKeyMap.get(e);if(n){let e=this.rowKeyMap.get(n);e.height=t,e.item._height=t}}),this.clearBufferData()}setBatchCalculatedRowHeight(e){return e.every(({height:e,rowIndex:t})=>this.getPositionForRowIndex(t).calculatedHeight===e)?!1:(e.forEach(({rowIndex:e,height:t})=>{let n=this.rowIndexRowKeyMap.get(e);if(n){let e=this.rowKeyMap.get(n),{height:r=-1}=this.getMaxRowHeightItem(n)||{};e.calculatedHeight=Math.max(t,r)}}),this.clearBufferData(),this.getData(),!0)}getAllRowsData(){let e=[],t=n=>{n.forEach(n=>{e.push(n),Array.isArray(n.children)&&t(n.children)})};return t(this.data),e}generateColumns(e){let t=e=>e.map(e=>{let n=e.children&&Array.isArray(e.children)?t(e.children):void 0,r={hide:this.customHeader?.hideData?.[e.key],fixed:this.customHeader?.fixedData?.[e.key],sort:this.customHeader?.sortData?.[e.key],width:this.customHeader?.resizableData?.[e.key]},i={};for(let[e,t]of Object.entries(r))t!==void 0&&(i[e]=t);let a=n&&n.every(e=>e.hide);return{...e,children:n,hide:a||(typeof e.hide==`function`?e.hide(e):e.hide),...i}});return t(e)}getColumns(){return this.generateColumns(this.columns)}setColumns(e){this.columns=e,this.clearBufferData()}setData(e){this.data=e,this.init()}getOriginalData(){return this.data}getData(){if(this.bufferData.length>0)return{data:this.bufferData,sumHeight:this.sumHeight,positions:this.positions};let e=[],t=0;this.sumHeight=0,this.positions=[];let n=r=>{r?.forEach(r=>{e.push(r);let i=this.itemRowKeyMap.get(r),{expand:a,hasChildren:o,height:s,calculatedHeight:c}=this.rowKeyMap.get(i),l=this.sumHeight,u=Math.max(c,s);this.sumHeight+=u,this.rowIndexRowKeyMap.set(t,i),this.rowKeyRowIndexMap.set(i,t),this.positions.push({top:l,height:u,bottom:this.sumHeight,calculatedHeight:c}),t+=1,a&&o&&n(r.children)})};this.rowIndexRowKeyMap.clear(),this.rowKeyRowIndexMap.clear();let r=this.data;if(typeof this.filterMethod==`function`&&(r=this.filterMethod(r)),this.sortState.size){let e=Array.from(this.sortState.entries()).sort((e,t)=>e[1].timestamp-t[1].timestamp);r=this.sortDataRecursive(r,e)}return n(r),this.bufferData=e,{data:e,sumHeight:this.sumHeight,positions:this.positions}}setFooterData(e){this.footerData=e}getFooterData(){return this.footerData}setFilterMethod(e){this.filterMethod=e}clearFilterMethod(){this.filterMethod=void 0}getSortState(e){return this.sortState.get(e)||{direction:`none`,timestamp:0}}setSortState(e,t){let n=Date.now();this.ctx.config.SORT_STRICTLY&&this.sortState.clear(),t===`none`?this.sortState.delete(e):this.sortState.set(e,{direction:t,timestamp:n}),this.ctx.emit(`sortChange`,this.sortState),this.clearBufferData(),this.ctx.emit(`draw`)}clearSort(){this.sortState.clear(),this.ctx.emit(`sortChange`,this.sortState),this.clearBufferData(),this.ctx.emit(`draw`)}sortDataRecursive(e,t){let n=[...e];for(let[e,{direction:r}]of t){if(r===`none`)continue;let t=this.getColumnByKey(e);!t||!t.column.sortBy||(n=this.applySingleColumnSort(n,e,r,t.column.sortBy))}return n.map(e=>(e.children&&Array.isArray(e.children)&&(e.children=this.sortDataRecursive(e.children,t)),e))}applySingleColumnSort(e,t,n,r){return e.sort((e,i)=>{let a=e[t],o=i[t],s=0;if(typeof r==`function`)s=r(e,i);else if(r===`number`)s=(Number(a)||0)-(Number(o)||0);else if(r===`string`){let e=String(a||``),t=String(o||``);s=e.localeCompare(t)}else r===`date`&&(s=S(a,o));return n===`asc`?s:-s})}expandItem(e,t=!1){let n=this.rowKeyMap.get(e);n.expand=t,this.expandMap.set(e,t),this.clearBufferData(),this.ctx.emit(`draw`)}setExpandRowKeys(e,t=!0){this.expandMap.clear(),e.forEach(e=>{let n=this.rowKeyMap.get(e);this.expandMap.set(e,t),n.expand=t}),this.clearBufferData(),this.ctx.emit(`draw`)}getExpandRowKeys(){let e=[];return this.rowKeyMap.forEach((t,n)=>{t.expand&&e.push(n)}),e}expandAll(e){this.expandMap.clear(),this.rowKeyMap.forEach(t=>{t.expand=e,this.expandMap.set(t.key,e)}),this.clearBufferData(),this.ctx.emit(`draw`)}expandLoading(e,t=!1){let n=this.rowKeyMap.get(e);n.expandLoading=t,this.clearBufferData(),this.ctx.emit(`draw`)}setExpandChildren(e,t){let n=this.rowKeyMap.get(e);n.expand=!0,this.expandMap.set(e,!0),n.expandLazy=!0,n.item.children=t,this.initData(n.item.children,n.level+1),this.clearBufferData()}getIsExpandLoading(e){return this.rowKeyMap.get(e).expandLoading}getIsExpandLazy(e){return this.rowKeyMap.get(e).expandLazy}getIsExpand(e){return this.rowKeyMap.get(e).expand}getRowForRowKey(e){return this.rowKeyMap.get(e)}getRowForRowIndex(e){let t=this.getRowKeyForRowIndex(e);return this.rowKeyMap.get(t)}getRowKeyForRowIndex(e){return this.rowIndexRowKeyMap.get(e)||``}getRowKeyByItem(e){return this.itemRowKeyMap.get(e)}getRowIndexForRowKey(e){return this.rowKeyRowIndexMap.get(e)}getItemValueForRowIndexAndColIndex(e,t){if(!(this.rowIndexRowKeyMap.has(e)&&this.colIndexKeyMap.get(t)))return null;let n=this.rowIndexRowKeyMap.get(e),r=this.colIndexKeyMap.get(t);return n===void 0||r===void 0?null:{rowKey:n,key:r,value:this.getItemValue(n,r)}}getItemValue(e,t){let n=this.rowKeyMap.get(e);return n&&n.item?n.item[t]===void 0?null:n.item[t]:null}async batchSetItemValue(e,t=!1,n=!0,r=`none`){let i=[],a=n,o=new Map,s=[],c=[];for(let t of e){let{rowKey:e,key:n}=t,r=t.value,i=this.getRowDataItemForRowKey(e),a=this.getItemValue(e,n),o=this.getVirtualBodyCellByKey(e,n),l={...t,oldValue:a,row:i};if(o?.type===`number`)if([``,void 0,null].includes(r))r=null;else if(/^-?\d+(\.\d+)?$/.test(String(r))){let e=C(r);if(typeof o.precision==`number`&&o.precision>=0&&e>o.precision){let e=10**o.precision;r=Math.round(Number(r)*e)/e;let t=this.ctx.locale.getText(`numberTruncated`,{precision:o.precision});s.push({...l,column:o?.column,code:`ERR_NUMBER_PRECISION`,message:t})}else if(typeof o.min==`number`&&Number(r)<o.min){let e=this.ctx.locale.getText(`numberMin`,{min:o.min});r=o.min,s.push({...l,column:o?.column,code:`ERR_NUMBER_MIN`,message:e})}else if(typeof o.max==`number`&&Number(r)>o.max){let e=this.ctx.locale.getText(`numberMax`,{max:o.max});r=o.max,s.push({...l,column:o?.column,code:`ERR_NUMBER_MAX`,message:e})}else r=Number(r)}else r=a,s.push({...l,column:o?.column,code:`ERR_INVALID_NUMBER`,message:this.ctx.locale.getText(`invalidNumber`)});else if(o?.editorType===`text`&&typeof o.maxlength==`number`&&String(r).length>o.maxlength){r=String(r).slice(0,o.maxlength);let e=this.ctx.locale.getText(`stringMaxlength`,{maxlength:o.maxlength});s.push({...l,column:o?.column,code:`ERR_STRING_MAXLENGTH`,message:e})}r!==a&&c.push({...t,value:r,oldValue:a,row:i})}if(s.length){let e={code:`ERR_BATCH_SET_ITEM_VALUE`,message:this.ctx.locale.getText(`batchSetItemValueError`),data:s};this.ctx.emit(`error`,e)}if(!c.length)return;let{BEFORE_VALUE_CHANGE_METHOD:l}=this.ctx.config;r===`none`&&typeof l==`function`&&(c=await l(c),a=!1);let u=[];c.forEach(e=>{u.push(this.getValidator(e.rowKey,e.key));let{value:t,rowKey:n,key:r,row:s}=e,c=this.getItemValue(n,r);o.set(n,s),this.setItemValue(n,r,t,!1,!1,!1,a),i.push({rowKey:n,key:r,oldValue:c,newValue:t})});let d=Array.from(o.values());await Promise.all(u),this.validationErrorMap.size===0&&this.changedDataMap.size>0&&this.ctx.emit(`validateChangedData`,this.getChangedData());let f=c.map(e=>{let t=!!this.getValidationError(e.rowKey,e.key).length;return{...e,errorTip:t}});this.ctx.emit(`change`,f,d),t&&this.ctx.history.pushState({changeList:i,scrollX:this.ctx.scrollX,scrollY:this.ctx.scrollY,type:`multiple`}),this.ctx.emit(`draw`)}async setItemValue(e,t,n,r=!1,i=!1,a=!1,o=!0){if(!this.rowKeyMap.has(e))return{};let{item:s}=this.rowKeyMap.get(e),c=s[t],l=n;if(o&&this.ctx.database.getReadonly(e,t))return{oldValue:c,newValue:c};s[t]!==null&&typeof s[t]==`object`&&(c=JSON.parse(JSON.stringify(s[t])));let u=`${e}_${t}`;this.originalDataMap.has(u)||this.originalDataMap.set(u,c);let d=this.originalDataMap.get(u),f=this.getRowDataItemForRowKey(e),p={rowKey:e,key:t,value:l,oldValue:c,row:f};if(a){if(l===c)return{oldValue:c,newValue:c};this.batchSetItemValue([p],r,!1),this.ctx.emit(`editChange`,{...p,originalValue:d})}else this.changedDataMap.set(u,l),s[t]=l;return this.ctx.hasEvent(`iterationChange`)&&this.ctx.emit(`iterationChange`,{...p,originalValue:d}),i&&this.ctx.emit(`draw`),{oldValue:c,newValue:l}}getRowDataItemForRowKey(e){if(!this.rowKeyMap.has(e))return{};let{item:t}=this.rowKeyMap.get(e);return t}setRowSelectionByCheckboxKey(e,t){let{CHECKBOX_KEY:n}=this.ctx.config;if(n){if(!this.rowKeyMap.has(e))return!1;let{item:r}=this.rowKeyMap.get(e),i=r[n];this.checkboxKeyMap.has(i)&&(this.checkboxKeyMap.get(i)||[]).forEach(e=>{let n=this.selectionMap.get(e);n&&(n.check=t)})}}toggleRowSelection(e,t){let n=this.rowKeyMap.get(e),r=this.selectionMap.get(e);if(!r)return;t===`selection-tree`||t===`tree-selection`?this.toggleTreeSelection(e):(r.check=!r.check,this.setRowSelectionByCheckboxKey(e,r.check)),this.ctx.emit(`toggleRowSelection`,n);let i=this.getSelectionRows();this.ctx.emit(`selectionChange`,i),this.bufferCheckState.buffer=!1,this.ctx.emit(`draw`)}toggleTreeSelection(e){let t=this.getTreeSelectionState(e),n=this.ctx.config.TREE_SELECT_MODE;if(n===`auto`)t.checked&&!t.indeterminate?(this.clearTreeSelectionRecursive(e),this.setRowSelection(e,!1,!1)):(this.selectTreeSelectionRecursive(e),this.setRowSelection(e,!0,!1));else if(n===`cautious`)t.checked&&!t.indeterminate?(this.clearTreeSelectionRecursive(e),this.setRowSelection(e,!1,!1)):(this.selectTreeSelectionRecursive(e),this.setRowSelection(e,!0,!1));else if(n===`strictly`){let t=this.selectionMap.get(e);t&&(t.check=!t.check,this.setRowSelectionByCheckboxKey(e,t.check))}this.ctx.emit(`selectionChange`,this.getSelectionRows()),this.ctx.emit(`draw`)}selectTreeSelectionRecursive(e){this.getTreeChildren(e).forEach(e=>{this.setRowSelectionByParent(e,!0),this.selectTreeSelectionRecursive(e)})}clearTreeSelectionRecursive(e){this.getTreeChildren(e).forEach(e=>{this.setRowSelectionByParent(e,!1),this.clearTreeSelectionRecursive(e)})}updateParentTreeSelection(e){let t=this.getTreeParent(e);if(!t)return;let n=this.getTreeChildren(t).map(e=>this.selectionMap.get(e)),r=n.filter(e=>e?.check).length,i=n.length,a=!1;i>0&&(r===0?a=!1:r===i||this.ctx.config.TREE_SELECT_MODE===`auto`?a=!0:this.ctx.config.TREE_SELECT_MODE===`cautious`&&(a=!1));let o=this.selectionMap.get(t);o&&o.check!==a&&(o.check=a,this.setRowSelectionByCheckboxKey(t,a),this.updateParentTreeSelection(t))}setRowSelection(e,t,n=!0){let r=this.selectionMap.get(e);r&&(r.check=t,this.setRowSelectionByCheckboxKey(e,r.check),this.ctx.emit(`setRowSelection`,t,r.row),(this.ctx.config.TREE_SELECT_MODE===`auto`||this.ctx.config.TREE_SELECT_MODE===`cautious`)&&this.updateParentTreeSelection(e),n&&(this.bufferCheckState.buffer=!1,this.ctx.emit(`draw`)))}setRowSelectionByParent(e,t){let n=this.selectionMap.get(e);n&&(n.check=t,this.setRowSelectionByCheckboxKey(e,n.check))}getSelectionRows(){let e=[];return this.selectionMap.forEach(t=>{t.check&&e.push(t.row)}),e}getRowSelection(e){let t=this.selectionMap.get(e);return t?t.check:!1}getTreeSelectionState(e){if(!this.getRowForRowKey(e))return{checked:!1,indeterminate:!1};let t=this.selectionMap.get(e)?.check||!1;if(this.getTreeChildren(e).length===0)return{checked:t,indeterminate:!1};let n=!1,r=t;if(this.ctx.config.TREE_SELECT_MODE===`auto`){let i=e=>{let t=this.getTreeChildren(e),n=[];for(let e of t)n.push(e),n.push(...i(e));return n},a=i(e).map(e=>this.selectionMap.get(e)),o=a.filter(e=>e?.check).length,s=a.length,c=o>0;n=c&&o!==s,r=t||c,t&&s>0&&o===0&&(r=!1,n=!1)}else if(this.ctx.config.TREE_SELECT_MODE===`cautious`){let i=e=>{let t=this.getTreeChildren(e),n=[];for(let e of t)n.push(e),n.push(...i(e));return n},a=i(e).map(e=>this.selectionMap.get(e)),o=a.filter(e=>e?.check).length,s=a.length,c=o>0,l=o===s;n=c&&!l,r=t||l,t&&s>0&&o===0&&(r=!1,n=!1)}else this.ctx.config.TREE_SELECT_MODE===`strictly`&&(n=!1,r=t);return{checked:r,indeterminate:n}}getTreeChildren(e){let t=this.getRowForRowKey(e);if(!t||!t.item||!t.item.children)return[];let n=[],r=e=>{for(let t of e){let e=this.getRowKeyByItem(t);e&&n.push(e),t.children&&t.children.length>0&&r(t.children)}};return r(t.item.children),n}getTreeParent(e){let t=(e,n)=>{for(let r of e){let e=this.getRowKeyByItem(r);if(r.children)for(let i of r.children){if(this.getRowKeyByItem(i)===n)return e;let a=t(r.children,n);if(a)return a}}return null};return t(this.data,e)}getRowSelectable(e){let{selectable:t,item:n,rowIndex:r}=this.rowKeyMap.get(e);return typeof t==`function`?t({row:n,rowIndex:r}):t}toggleAllSelection(){this.ctx.config.TREE_SELECT_MODE===`auto`||this.ctx.config.TREE_SELECT_MODE===`cautious`?this.rowKeyMap.forEach((e,t)=>{let n=e.selectable;if(typeof n==`function`&&(n=n({row:e.item,rowIndex:e.rowIndex})),n){let e=this.selectionMap.get(t);e&&(e.check=!0,this.setRowSelectionByCheckboxKey(t,!0))}}):this.rowKeyMap.forEach((e,t)=>{let n=e.selectable;typeof n==`function`&&(n=n({row:e.item,rowIndex:e.rowIndex})),n&&this.setRowSelection(t,!0,!1)});let e=this.getSelectionRows();this.ctx.emit(`toggleAllSelection`,e),this.ctx.emit(`selectionChange`,e),this.bufferCheckState.buffer=!1,this.ctx.emit(`draw`)}clearSelection(e=!1){let t=this.ctx.config.TREE_SELECT_MODE===`auto`||this.ctx.config.TREE_SELECT_MODE===`cautious`;e?t?this.rowKeyMap.forEach((e,t)=>{let n=this.selectionMap.get(t);n&&(n.check=!1,this.setRowSelectionByCheckboxKey(t,!1))}):this.rowKeyMap.forEach((e,t)=>{this.setRowSelection(t,!1,!1)}):(this.selectionMap.clear(),this.rowKeyMap.forEach((e,t)=>{this.selectionMap.set(t,{check:!1,row:e.item,key:t})}));let n=this.getSelectionRows();this.ctx.emit(`clearSelection`),this.ctx.emit(`selectionChange`,n),this.bufferCheckState.buffer=!1,this.ctx.emit(`draw`)}getCheckedState(){let{buffer:e,...t}=this.bufferCheckState;if(e)return t;let n=this.rowKeyMap.size,r=0,i=0,a=this.selectionMap.size,o=Array.from(this.selectionMap.values()).some(e=>e.check);this.rowKeyMap.forEach((e,t)=>{var n;(n=this.selectionMap.get(t))!=null&&n.check&&(r+=1);let a=e.selectable;typeof a==`function`&&(a=a({row:e.item,rowIndex:e.rowIndex})),a&&(i+=1)});let s=i&&i>r&&r>0||a>n&&r===0&&o,c=i!==0,l=!!i&&i===r;return this.bufferCheckState={buffer:!0,check:l,indeterminate:s,selectable:c},{check:l,indeterminate:s,selectable:c}}updateColIndexKeyMap(e=[]){this.colIndexKeyMap.clear(),e.forEach(e=>{this.colIndexKeyMap.set(e.colIndex,e.key)})}getColumnByColIndex(e){let t=this.colIndexKeyMap.get(e);if(t&&this.headerMap.has(t))return this.headerMap.get(t)?.column}getColumnByKey(e){let t=this.headerMap.get(e);if(t)return t}getColIndexForKey(e){if(e&&this.headerMap.has(e))return this.headerMap.get(e)?.colIndex}getColHeaderByIndex(e){let t=this.colIndexKeyMap.get(e);if(t&&this.headerMap.has(t))return this.headerMap.get(t)}getChangedData(){let e=[];return this.changedDataMap.forEach((t,n)=>{let r=this.originalDataMap.get(n),i=n.split(`_`)[0],a=n.split(`_`)[1];r!==t&&e.push({rowKey:i,colKey:a,originalValue:r,row:this.ctx.database.getRowDataItemForRowKey(i),value:t})}),e}getChangedRows(){let e=new Set;this.changedDataMap.forEach((t,n)=>{let r=this.originalDataMap.get(n),i=n.split(`_`)[0];r!==t&&e.add(i)});let t=[];return e.forEach(e=>{t.push(this.ctx.database.getRowDataItemForRowKey(e))}),t}isHasChangedData(e,t){let n=`${e}_${t}`;return this.changedDataMap.has(n)?this.originalDataMap.get(n)!==this.changedDataMap.get(n):!1}getPositionForRowIndex(e){return e<this.positions.length?this.positions[e]:{height:0,top:0,bottom:0,calculatedHeight:0}}setHeader(e,t){return e?(this.headerMap.set(e,t),!0):!1}getReadonly(e,t){let{DISABLED:n}=this.ctx.config;if(n)return!0;let r=this.rowKeyMap.get(e),i=this.headerMap.get(t);if(!r||!i)return!0;let a=r.readonly,o=i.readonly,{BODY_CELL_READONLY_METHOD:s}=this.ctx.config;if(typeof s==`function`&&i){let n=s({row:r.item,rowIndex:r.rowIndex,colIndex:i.colIndex,column:i.column,value:this.getItemValue(e,t)});if(n!==void 0)return n}return o||a}clearValidate(){this.validationErrorMap.clear()}hasValidationError(){return this.validationErrorMap.size!==0}getValidator(e,t){return this.ctx.database.getReadonly(e,t)?new Promise(e=>{e([])}):new Promise(n=>{let i=this.rowKeyMap.get(e),a=this.headerMap.get(t),{BODY_CELL_RULES_METHOD:o}=this.ctx.config;if(i===void 0||a===void 0)return n([]);let s=a.column,c=s.rules;if(typeof o==`function`){let n=o({row:i.item,rowIndex:i.rowIndex,colIndex:a.colIndex,column:s,value:this.getItemValue(e,t)});n&&(c=n)}if(c){let o={row:i.item,rowIndex:i.rowIndex,colIndex:a.colIndex,column:s,key:t,rowKey:e,value:this.getItemValue(e,t),field:t,fieldValue:this.getItemValue(e,t)},l=new r(c).validate(o);this.setValidationError(e,t,l),n(l)}else this.clearValidationError(e,t),n([])})}getHeightByRowIndexRowSpan(e,t){let n=0;for(let r=0;r<t;r++){let t=this.positions[e+r];t&&(n+=t.height)}return n}getSpanInfo(e){let{rowIndex:t,key:n,rowKey:r,row:i,value:a,colIndex:o,relationRowKeys:s,relationColKeys:c,rowspan:l,height:u,width:d,colspan:f,mergeRow:p,mergeCol:m}=e;if(l===1&&f===1)return{xArr:[o,o],yArr:[t,t],rowspan:l,colspan:f,height:u,width:d,offsetTop:0,offsetLeft:0,dataList:[{rowKey:r,key:n,row:i,value:a}]};let h=t,g=t,_=o,v=o,y=[],b=0,x=0,S=0,C=0;if(l!==1&&p){C=d;let e=s.reduce((e,t)=>`${e}${this.getItemValue(r,t)??``}`,``);for(let n=t-1;n>=0;n--){let t=this.rowIndexRowKeyMap.get(n)||``;if(e===s.reduce((e,n)=>`${e}${this.getItemValue(t,n)??``}`,``))h=n;else break}for(let n=t;n<=this.ctx.maxRowIndex;n++){let t=this.rowIndexRowKeyMap.get(n)||``;if(e===s.reduce((e,n)=>`${e}${this.getItemValue(t,n)??``}`,``))g=n;else break}for(let e=h;e<t;e++){let{height:t}=this.positions[e];b+=t}for(let e=h;e<=g;e++){let{height:t}=this.positions[e];S+=t;let r=this.rowIndexRowKeyMap.get(e)||``,{item:i}=this.rowKeyMap.get(r),a=this.getItemValue(r,n);y.push({rowKey:r,key:n,value:a,row:i})}}if(f!==1&&m){S=u;for(let e=o-1;e>=0;e--){let t=this.getColumnByColIndex(e);if(!t)break;if(this.getItemValue(r,n)===this.getItemValue(r,t.key)&&c.includes(t.key))_=e;else break}for(let e=o;e<=this.ctx.maxColIndex;e++){let t=this.getColumnByColIndex(e);if(!t)break;if(this.getItemValue(r,n)===this.getItemValue(r,t.key)&&c.includes(t.key))v=e;else break}for(let e=_;e<o;e++){let t=this.getColumnByColIndex(e);if(!t)break;x+=t.width||100}for(let e=_;e<=v;e++){let t=this.getColumnByColIndex(e);if(!t)break;C+=t.width||100,y.push({rowKey:r,key:t.key,value:this.getItemValue(r,t.key),row:i})}}return{xArr:[_,v],yArr:[h,g],rowspan:l,colspan:f,height:S,width:C,offsetTop:b,offsetLeft:x,dataList:y}}setValidationErrorByRowKey(e,t,n){let r=`${e}_${t}`,i=this.getRowForRowKey(e),a=i?.rowIndex,o=this.getColumnByKey(t);if(!e||!o||!i)return;let s=this.getItemValue(e,t),c=[{key:t,rowKey:e,rowIndex:a,colIndex:o.colIndex,column:o.column,row:i,value:s,message:n,field:t,fieldValue:s}];this.validationErrorMap.set(r,c)}setValidationError(e,t,n){let r=`${e}_${t}`;this.validationErrorMap.set(r,n)}clearValidationError(e,t){let n=`${e}_${t}`;this.validationErrorMap.has(n)&&this.validationErrorMap.delete(n)}getValidationError(e,t){let n=`${e}_${t}`;return this.validationErrorMap.get(n)||[]}getVirtualBodyCell(e,t,n=!0){let r=this.getColumnByColIndex(t),i=this.getRowForRowIndex(e);return!r||!i?void 0:new E(this.ctx,e,t,0,0,0,0,r,i.item,`body`,n)}getVirtualBodyCellByKey(e,t){let n=this.getRowIndexForRowKey(e),r=this.getColIndexForKey(t);if(!(n===void 0||r===void 0))return this.getVirtualBodyCell(n,r)}hasMergeCell(e,t){let n=!1;for(let r=t[0];r<=t[1];r++)for(let t=e[0];t<=e[1];t++){let e=this.getVirtualBodyCell(r,t);if(e&&(e.rowspan!==1||e.colspan!==1)){n=!0;break}}return n}calculateMaxTreeDepth(e,t=0){let n=t;return e.forEach(e=>{if(Array.isArray(e.children)&&e.children.length>0){let r=this.calculateMaxTreeDepth(e.children,t+1);n=Math.max(n,r)}}),n}setOverlayerAutoHeightMap(e){this.overlayerAutoHeightMap=e}getOverlayerAutoHeightMap(){return this.overlayerAutoHeightMap}getOverlayerAutoHeight(e,t){let n=`${e}_${t}`;return this.overlayerAutoHeightMap.get(n)||0}setCustomHeader(e,t=!1){if([`fixedData`,`sortData`,`hideData`,`resizableData`].forEach(t=>{let n=e[t];n!==void 0&&(this.customHeader[t]=n)}),!t){let e=this.clearCustomHeaderInvalidValues(this.columns);this.ctx.emit(`customHeaderChange`,e)}}resetCustomHeader(){this.customHeader={},this.ctx.emit(`resetHeader`),this.ctx.emit(`customHeaderChange`,this.customHeader)}getCustomHeader(){return this.customHeader}setCustomHeaderResizableData(e,t){let{resizableData:n={}}=this.customHeader;n[e]=t,this.setCustomHeader({resizableData:n})}setCustomHeaderHideData(e,t){let{hideData:n={}}=this.customHeader;e.forEach(e=>{n[e]=t}),this.setCustomHeader({hideData:n}),this.ctx.emit(`resetHeader`)}setCustomHeaderFixedData(e,t){let{fixedData:n={}}=this.customHeader;e.forEach(e=>{n[e]=t}),this.setCustomHeader({fixedData:n}),this.ctx.emit(`resetHeader`)}clearCustomHeaderInvalidValues(e){let t=(e,n={})=>{e.forEach(e=>{e.children&&e.children.length>0&&t(e.children,n);let r=(t,r)=>{var i;let a=this.customHeader[t]?.[e.key];a!==void 0&&a!==r&&(n[t]||(n[t]={}),n[t][e.key]=a,t===`fixedData`&&!a&&!r&&((i=n[t])==null||delete i[e.key]))};r(`fixedData`,e.fixed),r(`sortData`,e.sort),r(`hideData`,e.hide),r(`resizableData`,e.width)})},n={};return t(e,n),n}setMaxRowHeightItem(e,t,n){this.maxRowHeightCellMap.set(e,{key:t,height:n})}getMaxRowHeightItem(e){return this.maxRowHeightCellMap.get(e)}clearChangeData(){this.changedDataMap.clear()}}class O{constructor(e){n(this,`ctx`),n(this,`history`,[]),n(this,`historyIndex`,-1),this.ctx=e,this.init()}init(){this.ctx.on(`keydown`,e=>{if(!this.ctx.editing){if(e.ctrlKey&&!e.shiftKey&&e.code===`KeyZ`||e.metaKey&&!e.shiftKey&&e.code===`KeyZ`){e.preventDefault(),this.ctx.clearSelector(),this.ctx.clearAutofill(),this.backState();return}if(e.ctrlKey&&e.code===`KeyY`||e.ctrlKey&&e.shiftKey&&e.code===`KeyZ`||e.metaKey&&e.shiftKey&&e.code===`KeyZ`){e.preventDefault(),this.ctx.clearSelector(),this.ctx.clearAutofill(),this.forwardState();return}}})}pushState(e){let{HISTORY_NUM:t=0,ENABLE_HISTORY:n}=this.ctx.config;n&&(this.history.push(e),this.history.length>t&&this.history.splice(0,1),this.historyIndex=this.history.length-1)}backState(){if(this.historyIndex>=0){let{changeList:e,scrollX:t,scrollY:n}=this.history[this.historyIndex],r=e.map(e=>({rowKey:e.rowKey,key:e.key,value:e.oldValue,row:{}}));this.ctx.setScroll(t,n),this.ctx.database.batchSetItemValue(r,!1,!1,`back`),--this.historyIndex}}forwardState(){if(this.historyIndex<this.history.length-1){this.historyIndex+=1;let{changeList:e}=this.history[this.historyIndex],t=e.map(e=>({rowKey:e.rowKey,key:e.key,value:e.newValue,row:{}}));this.ctx.database.batchSetItemValue(t,!1,!1,`forward`)}}clear(){this.history=[],this.historyIndex=-1}}class k{constructor(e){n(this,`eventTasks`,new Set),n(this,`ctx`),this.ctx=e,this.init()}init(){this.bind(window,`resize`,this.handleResize.bind(this)),this.bind(window,`mouseup`,this.handleMouseUp.bind(this)),this.bind(window,`mousemove`,this.handleMousemove.bind(this)),this.bind(window,`blur`,this.handleOutsideMousedown.bind(this)),this.bind(window,`mousedown`,this.handleOutsideMousedown.bind(this)),this.bind(this.ctx.stageElement,`click`,this.handleClick.bind(this)),this.bind(window,`keydown`,this.handleKeydown.bind(this)),this.bind(this.ctx.stageElement,`wheel`,this.handleWheel.bind(this),{passive:!1}),this.bind(this.ctx.stageElement,`touchstart`,this.handleTouchstart.bind(this),{passive:!1}),this.bind(this.ctx.stageElement,`touchend`,this.handleTouchend.bind(this)),this.bind(this.ctx.stageElement,`touchmove`,this.handleTouchmove.bind(this),{passive:!1}),this.bind(this.ctx.stageElement,`contextmenu`,this.handleContextMenu.bind(this)),this.bind(this.ctx.stageElement,`mousedown`,this.handleMouseDown.bind(this)),this.bind(this.ctx.stageElement,`dblclick`,this.handleDblclick.bind(this)),this.bind(this.ctx.stageElement,`mouseover`,this.handleMouseover.bind(this)),this.bind(this.ctx.stageElement,`mouseout`,this.handleMouseout.bind(this)),this.bind(document,`selectionchange`,this.selectionchange.bind(this))}selectionchange(){this.ctx.domSelectionStr=``;let e=window.getSelection();e&&e.toString()&&(this.ctx.domSelectionStr=e.toString())}clearDomSelection(){let e=window.getSelection();e&&!e.isCollapsed&&e.removeAllRanges()}destroy(){Array.from(this.eventTasks).forEach(({target:e,name:t,fn:n,options:r})=>{this.unbind(e,t,n,r)}),this.eventTasks.clear()}handleResize(e){this.ctx.emit(`resetHeader`,e),this.ctx.emit(`resize`,e)}handleMouseDown(e){this.clearDomSelection(),e.button===0&&(this.ctx.mousedown=!0),this.ctx.emit(`mousedown`,e)}handleMousemove(e){let t=e,n=this.ctx.containerElement.getBoundingClientRect(),r=this.ctx.zoomScale.toLogical(t.clientX-n.left),i=this.ctx.zoomScale.toLogical(t.clientY-n.top);this.ctx.mouseX=r,this.ctx.mouseY=i,this.ctx.emit(`mousemove`,e)}handleMouseUp(e){e.button===0&&(this.ctx.mousedown=!1),this.ctx.emit(`mouseup`,e)}handleClick(e){this.ctx.emit(`click`,e)}handleKeydown(e){let{ENABLE_KEYBOARD:t}=this.ctx.config;t&&this.ctx.isTarget(e)&&(this.ctx.dragHeaderIng||this.ctx.emit(`keydown`,e))}handleWheel(e){let t=e,{ENABLE_ZOOM_WHEEL:n}=this.ctx.config;if(n&&(t.ctrlKey||t.metaKey)){e.preventDefault();let n=t.deltaY>0?-.1:.1;this.ctx.setZoom(this.ctx.getZoom()+n);return}this.ctx.emit(`wheel`,e)}handleTouchstart(e){this.ctx.emit(`touchstart`,e)}handleTouchend(e){this.ctx.emit(`touchend`,e)}handleTouchmove(e){this.ctx.emit(`touchmove`,e)}handleContextMenu(e){e.preventDefault(),this.ctx.emit(`contextMenu`,e)}handleMouseover(e){this.ctx.isMouseoverTargetContainer=!0,this.ctx.emit(`mouseover`,e)}handleMouseout(e){this.ctx.isMouseoverTargetContainer=!1,this.ctx.emit(`mouseout`,e)}handleDblclick(e){this.ctx.emit(`dblclick`,e)}handleOutsideMousedown(e){this.ctx.selector.enable&&(e.target instanceof Window||e.target instanceof Node&&!this.ctx.containerElement.contains(e.target))&&this.ctx.emit(`outsideMousedown`,e)}bind(e,t,n,r){e.addEventListener(t,n,r),this.eventTasks.add({target:e,name:t,fn:n,options:r})}unbind(e,t,n,r){e.removeEventListener(t,n,r);for(let r of this.eventTasks)if(r.target===e&&r.name===t&&r.fn===n){this.eventTasks.delete(r);break}}}class A{constructor(){n(this,`events`,new Map)}has(e){return this.events.has(e)}on(e,t){let n=this.events.get(e)||[];n.push(t),this.events.set(e,n)}once(e,t){let n=(...r)=>{t(...r),this.off(e,n)};return this.on(e,n),this}off(e,t){let n=this.events.get(e);if(n){let r=n.indexOf(t);r>=0&&(n.splice(r,1),n.length===0?this.events.delete(e):this.events.set(e,n))}}emit(e,...t){let n=this.events.get(e);n&&n.forEach(e=>{e(...t)})}destroy(){this.events.clear()}}class j{constructor(e){n(this,`ctx`),n(this,`textCacheMap`,new Map);let t=e.getContext(`2d`);if(!t)throw Error(`canvas context not found`);this.ctx=t}getCtx(){return this.ctx}clearTextCache(){this.textCacheMap.clear()}scale(e,t=1){this.ctx.setTransform(1,0,0,1,0,0),this.ctx.scale(e*t,e*t)}save(){this.ctx.save()}restore(){this.ctx.restore()}translate(e,t){this.ctx.translate(e,t)}setCursor(e=`default`){this.ctx.canvas.style.cursor=e}clear(e=0,t=0,n,r){this.ctx.clearRect(e,t,n||this.ctx.canvas.width,r||this.ctx.canvas.height)}drawShadow(e,t,n,r,i){let{fillColor:a,side:o,shadowWidth:s,colorStart:c,colorEnd:l}=i;this.ctx.save(),a&&(this.ctx.fillStyle=a,this.ctx.fillRect(e,t,n,r));let u;switch(o){case`left`:u=this.ctx.createLinearGradient(e-s,t,e,t),u.addColorStop(0,c),u.addColorStop(1,l),this.ctx.fillStyle=u,this.ctx.fillRect(e-s,t,s,r);break;case`right`:u=this.ctx.createLinearGradient(e+n,t,e+n+s,t),u.addColorStop(0,c),u.addColorStop(1,l),this.ctx.fillStyle=u,this.ctx.fillRect(e+n,t,s,r);break;case`top`:u=this.ctx.createLinearGradient(e,t-s,e,t),u.addColorStop(0,c),u.addColorStop(1,l),this.ctx.fillStyle=u,this.ctx.fillRect(e,t-s,n,s);break;case`bottom`:u=this.ctx.createLinearGradient(e,t+r,e,t+r+s),u.addColorStop(0,c),u.addColorStop(1,l),this.ctx.fillStyle=u,this.ctx.fillRect(e,t+r,n,s);break;default:console.error(`Invalid side specified for shadow`);break}this.ctx.restore()}drawLine(e,t){if(e.length<4||e.length%2!=0)throw Error(`A valid array of points is required to draw a line`);this.ctx.save();let{borderColor:n=`black`,borderWidth:r=1}=t;this.ctx.beginPath(),this.ctx.moveTo(e[0]-.5,e[1]-.5);for(let t=2;t<e.length;t+=2)this.ctx.lineTo(e[t]-.5,e[t+1]-.5);this.ctx.strokeStyle=n,this.ctx.lineWidth=r,t.lineDash&&(this.ctx.lineDashOffset=t.lineDashOffset??0,this.ctx.setLineDash(t.lineDash)),t.fillColor&&(this.ctx.fillStyle=t.fillColor,this.ctx.fill()),t.borderColor&&(this.ctx.strokeStyle=t.borderColor),this.ctx.stroke(),this.ctx.closePath(),this.ctx.restore()}drawImage(e,t,n,r,i){this.ctx.save(),this.ctx.drawImage(e,t,n,r,i),this.ctx.restore()}drawRect(e,t,n,r,{borderWidth:i=1,borderColor:a,fillColor:o,radius:s=0}={}){if(this.ctx.save(),this.ctx.beginPath(),o!==void 0&&(this.ctx.fillStyle=o),a!==void 0&&(this.ctx.lineWidth=i,this.ctx.strokeStyle=a),s===0)this.ctx.rect(e-.5,t-.5,n,r);else{let[i,a,o,c]=typeof s==`number`?[s,s,s,s]:s;this.ctx.moveTo(e+i,t),this.ctx.arcTo(e+n,t,e+n,t+a,a),this.ctx.arcTo(e+n,t+r,e+n-o,t+r,o),this.ctx.arcTo(e,t+r,e,t+r-c,c),this.ctx.arcTo(e,t,e+i,t,i)}o!==void 0&&this.ctx.fill(),a!==void 0&&this.ctx.stroke(),this.ctx.restore()}drawText(e=``,t,n,r,i,a={}){this.ctx.save();let{font:o=`12px Arial`,align:s=`center`,color:c=`#495060`,padding:l=0,verticalAlign:u=`middle`,maxLineClamp:d=1,autoRowHeight:f=!1,offsetLeft:p=0,offsetRight:m=0}=a;if(this.ctx.font=o,this.ctx.fillStyle=c,[``,null,void 0].includes(e))return this.ctx.restore(),!1;let h=parseInt(o.match(/\d+/)?.[0]||`12`)*(a.lineHeight||1.2),g=this.buildTextLayout(e,t,n,r,i,{font:o,color:c,align:s,padding:l,verticalAlign:u,maxLineClamp:d,autoRowHeight:f,lineHeight:h,offsetLeft:p,offsetRight:m});if(this.ctx.textBaseline=`top`,this.ctx.textAlign=`left`,g.lines.forEach(e=>{this.ctx.fillText(e.text,e.drawX,e.drawY)}),a.textCallback&&g.lines.length){let e=g.lines.reduce((e,t)=>Math.max(e,t.width),0),n=Math.round(e),i=g.lines[0]?.drawX??t+l+p,o=i+n;s===`center`?(i=t+r/2-n/2,o=t+r/2+n/2):s===`right`&&(i=t+r-l-m-n,o=t+r-l-m);let c={x:g.lines[0]?.drawX??i,y:g.contentY,width:n,height:g.lines.length*h,left:i,right:o,top:g.contentY,bottom:g.contentY+g.lines.length*h};a.textCallback(c)}return a.layoutCallback&&a.layoutCallback(g),this.ctx.restore(),g.ellipsis}buildTextLayout(e,t,n,r,i,a){let{font:o,color:s,align:c,padding:l,verticalAlign:u,maxLineClamp:d,autoRowHeight:f,lineHeight:p,offsetLeft:m,offsetRight:h}=a;this.ctx.save(),this.ctx.font=o;let g=r-l*2-m-h,_=g,v=i-l*2,y=Array.from(e),b=this.wrapTextToLines(e,g),x=Math.round(v/p),S=Math.min(b.length,Math.max(x,1));d===`auto`&&f?S=b.length:typeof d==`number`&&d<S&&d!==1?S=d:(d===1&&(b=[{items:y.map((e,t)=>({char:e,sourceIndex:t})),text:e,caretIndex:0,lineIndex:0,drawX:0,drawY:0,width:0,segments:[]}],S=1),d===`auto`&&x===1&&(b=[{items:y.map((e,t)=>({char:e,sourceIndex:t})),text:e,caretIndex:0,lineIndex:0,drawX:0,drawY:0,width:0,segments:[]}],S=1));let C=!1,w=b.slice(0,S);if(b.length>S){C=!0;let e=b.slice(S-1),t=this.buildEllipsisLine(e,r,l);t.lineIndex=S-1,w[S-1]=t}else if(S>0){let e=S-1,t=b.slice(e),n=t.map(e=>e.text).join(``),{ellipsis:i}=this.handleEllipsis(n,r,l,o);if(i){C=!0;let n=this.buildEllipsisLine(t,r,l);n.lineIndex=e,w[e]=n}}let T=w.length*p,E=n+l;u===`middle`?E=n+(i-T)/2:u===`bottom`&&(E=n+i-T-l);let D=[];return w.forEach((e,n)=>{e.lineIndex=n;let i=this.buildLineSegments(e),a=i.reduce((e,t)=>e+t.width,0),o=t+l+m;c===`center`?o=t+(r-a)/2:c===`right`&&(o=t+r-l-h-a);let s=E+n*p;e.drawX=o,e.drawY=s,e.width=a,e.segments=i,i.forEach(e=>{e.sourceIndex<0||D.push({char:e.char,index:e.sourceIndex,line:n,x:o+e.x,y:s,width:e.width,height:p})})}),this.ctx.restore(),{text:e,chars:y,glyphs:D,lines:w,box:{x:t,y:n,width:r,height:i},contentBox:{x:t+l+m,y:n+l,width:_,height:v},contentY:E,lineHeight:p,font:o,color:s,align:c,ellipsis:C}}wrapTextToLines(e,t){if(!e)return[{items:[],text:``,caretIndex:0,lineIndex:0,drawX:0,drawY:0,width:0,segments:[]}];let n=Array.from(e),r=[],i=[],a=0,o=0,s=e=>{let t=i.map(e=>e.char).join(``);r.push({items:i,text:t,caretIndex:o,lineIndex:r.length,drawX:0,drawY:0,width:0,segments:[]}),i=[],a=0,o=e};for(let e=0;e<n.length;e++){let r=n[e];if(r===`
|
|
3
|
+
`)}return a}function g(e,t,n=[]){let r=0,i=[];return e.forEach((a,o)=>{o===0?i.push(1):(n.reduce((e,t)=>`${e}${a[t]??``}`,``)||a[t])===(n.reduce((t,n)=>`${t}${e[o-1][n]??``}`,``)||e[o-1][t])?(i[r]+=1,i.push(0)):(i.push(1),r=o)}),i}function _(e,t){let n=``,r=``,i={};return t.forEach((t,a)=>{a===0?(n=t.key,r=t.key,i[t.key]=1):e[t.key]===e[n]?(i[t.key]=0,i[r]+=1):(i[t.key]=1,n=t.key,r=t.key)}),i}function v(e,t,n=[]){let{visibleRows:r,rowIndex:i,headIndex:a}=e,o=g(r,t,n);return o[i-a]===0?{rowspan:0,colspan:0,relationRowKeys:n,mergeRow:!0}:{rowspan:o[i-a],colspan:1,relationRowKeys:n,mergeRow:!0}}function y(e,t=[]){let{column:n,row:r,visibleLeafColumns:i}=e,a=i.filter(e=>t.includes(e.key));if(t.includes(n.key)){let e=_(r,a);return e[n.key]===0?{rowspan:0,colspan:0,relationColKeys:t,mergeCol:!0}:{rowspan:1,colspan:e[n.key],relationColKeys:t,mergeCol:!0}}}function b(e,t=document.documentElement){let n=e.startsWith(`--`)?e:`--${e}`;return getComputedStyle(t).getPropertyValue(n).trim()}function x(e){if(!e)return new Date(0);if(typeof e==`number`)return new Date(e);let t=String(e).trim(),n=new Date(t);if(!isNaN(n.getTime()))return n;for(let e of[/^(\d{4})-(\d{1,2})-(\d{1,2})$/,/^(\d{4})\/(\d{1,2})\/(\d{1,2})$/,/^(\d{4})\.(\d{1,2})\.(\d{1,2})$/,/^(\d{1,2})-(\d{1,2})-(\d{4})$/,/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/,/^(\d{1,2})\.(\d{1,2})\.(\d{4})$/,/^(\d{1,2})-(\d{1,2})-(\d{4})$/,/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/,/^(\d{1,2})\.(\d{1,2})\.(\d{4})$/,/^(\d{4})(\d{2})(\d{2})$/,/^(\d{4})-(\d{1,2})-(\d{1,2})\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/,/^(\d{4})\/(\d{1,2})\/(\d{1,2})\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/]){let n=t.match(e);if(n){let t=n.slice(1).map(Number);if(e.source.includes(`YYYY-MM-DD`)||e.source.includes(`YYYY/MM/DD`)||e.source.includes(`YYYY.MM.DD`)){let[e,n,r,i=0,a=0,o=0]=t;return new Date(e,n-1,r,i,a,o)}else if(e.source.includes(`DD-MM-YYYY`)||e.source.includes(`DD/MM/YYYY`)||e.source.includes(`DD.MM.YYYY`)){let[e,n,r,i=0,a=0,o=0]=t;return new Date(r,n-1,e,i,a,o)}else if(e.source.includes(`MM-DD-YYYY`)||e.source.includes(`MM/DD/YYYY`)||e.source.includes(`MM.DD.YYYY`)){let[e,n,r,i=0,a=0,o=0]=t;return new Date(r,e-1,n,i,a,o)}else if(e.source.includes(`YYYYMMDD`)){let[e,n,r]=t;return new Date(e,n-1,r)}}}return new Date(NaN)}function S(e,t){let n=x(e),r=x(t);return isNaN(n.getTime())&&isNaN(r.getTime())?0:isNaN(n.getTime())?-1:isNaN(r.getTime())?1:n.getTime()-r.getTime()}function C(e){return String(e).match(/\.(\d+)/)?.[1].length??0}function w(e){return(e.scrollbarMode??e.SCROLLBAR_MODE)===`inner`?`inner`:`outer`}function T(e){return w(e)===`inner`}function E(e){return T(e)?0:e.SCROLLER_TRACK_SIZE||0}function D(e){return e.SCROLLER_TRACK_SIZE||0}function O(e,t){return!T(e)||!t?0:D(e)}function k(e){return+!!T(e)}function A(e){return!T(e)}function j(e){return!T(e)}function M(e,t){return T(e)&&t}function ee(e,t){return T(e)?t.innerVisible||t.isFocus||t.isDragging:!0}class te{constructor(e,t,r,i,a,o,s){n(this,`ctx`),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`,0),n(this,`visibleWidth`,0),n(this,`visibleHeight`,0),n(this,`fixed`),n(this,`cellType`),n(this,`drawX`,0),n(this,`drawY`,0),n(this,`cellImages`,new Map),this.ctx=e,this.x=t,this.y=r,this.width=i,this.height=a,this.fixed=s,this.cellType=o}isHorizontalVisible(){if(this.fixed)return!0;let{stageWidth:e,fixedLeftWidth:t,scrollX:n,fixedRightWidth:r}=this.ctx,i=e;return!(this.x+this.width-t-n<=0||this.x-n>=i-r)}isVerticalVisible(){let{stageHeight:e,scrollY:t}=this.ctx,n=e;return!(this.y+this.height-t<=0||this.y-t>=n)}getDrawX(){if(this.fixed===`left`)return this.x;if(this.fixed===`right`){let{stageWidth:e}=this.ctx;return e-(this.ctx.header.width-this.x)-E(this.ctx.config)}return this.x-this.ctx.scrollX}getDrawY(){return this.cellType===`header`||this.cellType===`footer`&&this.ctx.config.FOOTER_FIXED?this.y:this.y-this.ctx.scrollY}getLeftFixedX(){return this.x-this.ctx.scrollX}isInside(e,t){return e>=this.drawX&&e<=this.drawX+this.width&&t>=this.drawY&&t<=this.drawY+this.height}isInsideVisible(e,t){return e>=this.drawX&&e<=this.drawX+this.visibleWidth&&t>=this.drawY&&t<=this.drawY+this.visibleHeight&&this.isInside(e,t)}setImage(e,t){this.cellImages.set(e,t)}getImages(){return this.cellImages}getImage(e){return this.cellImages.get(e)}isImageInside(e,t){let{offsetX:n,offsetY:r}=this.ctx.getOffset(t),i=this.getImage(e);return i?i.isInside(n,r):!1}}class N{constructor(e,t,r,i,a,o){n(this,`source`),n(this,`name`),n(this,`x`),n(this,`y`),n(this,`width`),n(this,`height`),n(this,`visible`,!0),this.source=o,this.name=e,this.x=t-1,this.y=r-1,this.width=i,this.height=a}drawWrapper(e,t){e.paint.drawRect(this.x-2,this.y-2,this.width+4,this.height+4,{radius:4,borderWidth:1,...t})}setVisible(e){this.visible=e}isInside(e,t){return this.visible?!!(this.source&&e>this.x&&e<this.x+this.width&&t>this.y&&t<this.y+this.height):!1}}function P(e){return e===!0?`default`:e===!1?`inner`:e}function ne(e){return P(e)==="default"}function F(e){let t=P(e);return t==="default"||t===`inner`}function re(e){let t=P(e);return t==="default"||t===`outer`}function ie(e){return P(e)==="default"}function ae(e,t){return ie(e)||t}class I extends te{constructor(e,t,r,i,a,o,s,c,l,u=`body`,d=!0){super(e,i,a,o,s,u,c.fixed),n(this,`parentRowKey`,``),n(this,`parentRowKeys`,[]),n(this,`formatter`),n(this,`formatterFooter`),n(this,`hoverIconName`,``),n(this,`operation`,!1),n(this,`align`),n(this,`verticalAlign`),n(this,`fixed`),n(this,`type`),n(this,`editorType`),n(this,`editorProps`),n(this,`cellType`),n(this,`level`),n(this,`colspan`,1),n(this,`rowspan`,1),n(this,`mergeRow`,!1),n(this,`mergeCol`,!1),n(this,`relationRowKeys`,[]),n(this,`relationColKeys`,[]),n(this,`key`),n(this,`column`),n(this,`rowIndex`),n(this,`colIndex`),n(this,`rowKey`),n(this,`row`),n(this,`value`),n(this,`render`),n(this,`renderFooter`),n(this,`style`,{}),n(this,`domDataset`,{}),n(this,`rules`,[]),n(this,`message`,``),n(this,`text`,``),n(this,`displayText`,``),n(this,`visibleWidth`,0),n(this,`visibleHeight`,0),n(this,`isHasChanged`,!1),n(this,`drawX`,0),n(this,`drawY`,0),n(this,`drawCellBgColor`,``),n(this,`drawCellSkyBgColor`,``),n(this,`drawTextColor`,``),n(this,`drawTextFont`,``),n(this,`drawTextX`,0),n(this,`drawTextY`,0),n(this,`drawTextWidth`,0),n(this,`drawTextHeight`,0),n(this,`autoRowHeight`,!1),n(this,`calculatedHeight`,0),n(this,`ellipsis`,!1),n(this,`rowExpand`,!1),n(this,`rowHasChildren`,!1),n(this,`overflowTooltipShow`,!0),n(this,`selectorCellValueType`,`value`),n(this,`overflowTooltipMaxWidth`,500),n(this,`overflowTooltipPlacement`,`top`),n(this,`maxLineClamp`,`auto`),n(this,`precision`),n(this,`min`),n(this,`max`),n(this,`maxlength`),n(this,`mixedRender`,!1),n(this,`renderType`,`default`),n(this,`renderFooterType`,`default`),this.visibleWidth=this.width,this.visibleHeight=this.height,this.colIndex=r,this.rowIndex=t,this.key=c.key,this.type=c.type||``,this.editorType=c.editorType||`text`,this.selectorCellValueType=c.selectorCellValueType||this.ctx.config.SELECTOR_CELL_VALUE_TYPE||`value`,this.editorProps=c.editorProps||{},this.cellType=u,this.align=c.align||this.ctx.config.COLUMNS_ALIGN,this.verticalAlign=c.verticalAlign||this.ctx.config.COLUMNS_VERTICAL_ALIGN,this.fixed=c.fixed||``,this.level=c.level||0,this.operation=c.operation||!1,this.column=c,this.rules=c.rules||[],this.row=l,this.rowKey=this.cellType===`body`?this.ctx.database.getRowKeyForRowIndex(t):`${this.cellType}_${this.rowIndex}`,this.value=this.getValue(),this.render=c.render,this.overflowTooltipShow=c.overflowTooltipShow!==!1,this.autoRowHeight=c.autoRowHeight===void 0?this.ctx.config.AUTO_ROW_HEIGHT:c.autoRowHeight,this.overflowTooltipMaxWidth=c.overflowTooltipMaxWidth||500,this.overflowTooltipPlacement=c.overflowTooltipPlacement||`top`,this.renderFooter=c.renderFooter,this.hoverIconName=c.hoverIconName,this.formatter=c.formatter,this.formatterFooter=c.formatterFooter,this.maxLineClamp=c.maxLineClamp||`auto`,this.precision=c.precision,this.min=c.min,this.max=c.max,this.maxlength=c.maxlength,this.mixedRender=c.mixedRender||!1,this.renderType=c.renderType||`default`,this.renderFooterType=c.renderFooterType||`default`;let f=this.ctx.database.getRowForRowKey(this.rowKey);this.cellType===`body`&&f&&(this.parentRowKey=f.parentRowKey,this.parentRowKeys=f.parentRowKeys),d&&this.update()}setWidthHeight(e,t){this.width=e,this.height=t}getValidationMessage(){let e=this.ctx.database.getValidationError(this.rowKey,this.key);if(Array.isArray(e)&&e.length){let[t]=e;this.message=t.message||``}return this.message}update(){this.drawX=this.getDrawX(),this.drawY=this.getDrawY(),this.updateSpan(),this.updateDragImage();let e=this.getImage(`drag`),t=e?e.width:0;this.drawTextX=this.drawX+t,this.drawTextY=this.drawY,this.isHasChanged=this.ctx.database.isHasChangedData(this.rowKey,this.key),this.drawTextWidth=this.visibleWidth-t,this.drawTextHeight=this.visibleHeight,this.updateStyle(),this.updateType(),this.updateHoverIcon(),this.updateSelection(),this.updateTree(),this.updateEditor(),this.updateRender(),this.getValidationMessage(),this.updateContainer(),this.text=this.getText(),this.displayText=this.getDisplayText()}updateSpan(){if(this.cellType===`footer`)return;let{SPAN_METHOD:e}=this.ctx.config;if(typeof e==`function`){let{colspan:t=1,rowspan:n=1,relationRowKeys:r,relationColKeys:i,mergeRow:a=!1,mergeCol:o=!1}=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue(),headIndex:this.ctx.body.headIndex,headPosition:this.ctx.database.getPositionForRowIndex(this.ctx.body.headIndex),visibleRows:this.ctx.body.visibleRows,visibleLeafColumns:this.ctx.header.visibleLeafColumns,rows:this.ctx.body.data})||{};Array.isArray(r)&&r.length>0?this.relationRowKeys=r:this.relationRowKeys=[this.key],Array.isArray(i)&&i.length>0?this.relationColKeys=i:this.relationColKeys=[this.key],this.mergeCol=o,this.mergeRow=a,this.colspan=t,this.rowspan=n,this.visibleWidth=this.getWidthByColIndexColSpan(this.colIndex,this.colspan),this.visibleHeight=this.ctx.database.getHeightByRowIndexRowSpan(this.rowIndex,this.rowspan)}}updateSpanInfo(){if(this.mergeRow||this.mergeCol){let e=this.getSpanInfo();this.height=e.height,this.width=e.width,this.drawX=this.getDrawX(),this.drawY=this.getDrawY(),this.drawY-=e.offsetTop,this.drawX-=e.offsetLeft}}updateType(){let{BODY_CELL_TYPE_METHOD:e}=this.ctx.config;if(typeof e==`function`){let t=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});t!==void 0&&(this.type=t)}}updateEditor(){let{BODY_CELL_EDITOR_METHOD:e}=this.ctx.config;if(typeof e==`function`){let t=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});if(t!==void 0){let{type:e,props:n={}}=t;this.editorType=e,this.editorProps=n}}}updateRender(){let{BODY_CELL_RENDER_METHOD:e}=this.ctx.config;if(typeof e==`function`){let t=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});t!==void 0&&(this.render=t)}}validate(){this.ctx.database.getValidator(this.rowKey,this.key).then(()=>{this.ctx.database.setValidationError(this.rowKey,this.key,[]),this.message=``}).catch(e=>{if(Array.isArray(e)&&e.length){let[t]=e;this.message=t.message,this.ctx.database.setValidationError(this.rowKey,this.key,e)}}).finally(()=>{this.ctx.emit(`draw`)})}updateStyle(){this.autoRowHeight&&(this.domDataset={"data-auto-height":!0,"data-row-index":this.rowIndex,"data-col-index":this.colIndex}),this.style=this.getOverlayerViewsStyle()}isInsideVisible(e,t){return e>=this.drawX&&e<=this.drawX+this.visibleWidth&&t>=this.drawY&&t<=this.drawY+this.visibleHeight}updateTree(){let{CELL_PADDING:e=0}=this.ctx.config,{rowKey:t,cellType:n}=this,r,i=0,a=``;if(!([`tree`,`selection-tree`,`tree-selection`].includes(this.type)&&n===`body`))return;let{expand:o=!1,hasChildren:s=!1,expandLoading:c=!1,level:l=0}=this.ctx.database.getRowForRowKey(t)||{};this.rowExpand=o,this.rowHasChildren=s;let{TREE_INDENT:u=16,CHECKBOX_SIZE:d,TREE_ICON_SIZE:f}=this.ctx.config;if(i=l*u,c){let e=this.ctx.icons.get(`loading`);a=`loading`,r=e}else if(s){let e=this.ctx.icons.get(`expand`),t=this.ctx.icons.get(`shrink`);r=o?t:e,a=o?`shrink`:`expand`}let p=f,m=f,h=this.drawX;(this.align===`center`||this.align===`right`)&&(h=this.drawX+(this.visibleWidth-p-2*e)/2,this.align=`left`);let g=h+i+e,_=this.drawY+(this.visibleHeight-m)/2,v=i+this.drawX+p-.5,y=this.getImage(`selection`),b=this.getImage(`drag`),x=b?b.width:0;if(this.type===`selection-tree`&&y){let t=y.x,n=y.width;g=i+t+n,v=g+p-e/2}else this.type===`tree-selection`?(g+=x,v=g+d+p-e/2):(g+=x,v=g+p-e/2);this.drawTextX=v,this.drawTextWidth=this.drawX+this.visibleWidth-v,!(g+p+e>this.drawX+this.visibleWidth)&&(_+m+e>this.drawY+this.visibleHeight||this.setImage(`tree`,new N(a,g,_,p,m,r)))}updateDragImage(){if(this.cellType===`body`&&this.column.dragRow){let{DRAG_ROW_ICON_SIZE:e,CELL_PADDING:t}=this.ctx.config,n=new N(`drag`,this.drawX+t/2,this.drawY+(this.visibleHeight-e)/2,e,e,this.ctx.icons.get(`drag`));this.rowspan===0&&n.setVisible(!1),this.setImage(`drag`,n)}}drawTreeLine(){let{TREE_LINE:e,TREE_INDENT:t=16,TREE_ICON_SIZE:n=16,TREE_LINE_COLOR:r=`#e1e6eb`}=this.ctx.config;if(!e||this.cellType!==`body`||![`tree`,`selection-tree`,`tree-selection`].includes(this.type)||this.rowspan===0||this.colspan===0)return;let i=this.ctx.database.getRowForRowKey(this.rowKey)||{},a=i.level??0,o=this.getImage(`tree`);if(!o)return;let s=o.x,c=o.y,l=o.width,u=o.height,d=s+l/2,f=c+u/2,p=s-a*t,m=Array.isArray(i.parentRowKeys)?i.parentRowKeys:[];if(a>0){for(let e=0;e<a-1;e+=1){let i=m[e+1];if((i&&this.ctx.database.getRowForRowKey(i)||{}).isLastChild)continue;let o=Math.round(s-(a-e)*t+n/2);this.ctx.paint.drawLine([o,this.drawY,o,this.drawY+this.visibleHeight],{borderColor:r,borderWidth:1,lineDash:[4,4],lineDashOffset:0})}let e=Math.round(s-t+n/2),o=i.isLastChild?f:this.drawY+this.visibleHeight;this.ctx.paint.drawLine([e,this.drawY,e,o],{borderColor:r,borderWidth:1,lineDash:[4,4],lineDashOffset:0});let c=Math.round(p+(a-1)*t+n/2);this.ctx.paint.drawLine([c,f,d,f],{borderColor:r,borderWidth:1,lineDash:[4,4],lineDashOffset:0})}if(i.hasChildren&&i.expand){let e=c+u,t=this.drawY+this.visibleHeight;this.ctx.paint.drawLine([d,e,d,t],{borderColor:r,borderWidth:1,lineDash:[4,4],lineDashOffset:0})}}updateContainer(){let{BODY_BG_COLOR:e,EDIT_BG_COLOR:t,BODY_CELL_STYLE_METHOD:n,FOOTER_CELL_STYLE_METHOD:r,READONLY_TEXT_COLOR:i,BODY_TEXT_COLOR:a,FOOTER_TEXT_COLOR:o,FOOTER_BG_COLOR:s,HIGHLIGHT_SELECTED_ROW:c,HIGHLIGHT_SELECTED_ROW_COLOR:l,HIGHLIGHT_HOVER_ROW:u,HIGHLIGHT_HOVER_ROW_COLOR:d,STRIPE:f,STRIPE_COLOR:p,FINDER_CELL_BG_COLOR:m}=this.ctx.config;if(this.cellType===`footer`){let e=s,t=o;if(typeof r==`function`){let{backgroundColor:n,color:i,font:a}=r({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()})||{};n&&(e=n),i&&(t=i),a&&(this.drawTextFont=a)}this.drawCellSkyBgColor=`transparent`,this.drawCellBgColor=e,this.drawTextColor=t;return}let h=`transparent`,g=this.ctx.hoverCell,_=this.ctx.currentCell,v=this.rowIndex,y=this.rowIndex;if(this.rowspan!==1&&(u||c)){let{yArr:e}=this.getSpanInfo();v=e[0],y=e[1]}u&&g&&!this.ctx.dragRowIng&&(g.rowKey===this.rowKey&&(h=d),g.rowIndex>=v&&g.rowIndex<=y&&(h=d)),c&&_&&!this.ctx.dragRowIng&&(_.rowKey===this.rowKey&&(h=l),_.rowIndex>=v&&_.rowIndex<=y&&(h=l)),this.drawCellSkyBgColor=h;let b=e,x=a;if(this.ctx.database.getReadonly(this.rowKey,this.key)||(b=t,x=i),f&&(b=this.rowIndex%2?p:e),typeof n==`function`){let{backgroundColor:e,color:t,font:r}=n({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,isHasChanged:this.isHasChanged,value:this.getValue()})||{};e&&(b=e),t&&(x=t),r&&(this.drawTextFont=r)}let{rowIndex:S,colIndex:C,type:w}=this.ctx.finderBar;S===this.rowIndex&&C===this.colIndex&&w===`body`&&(b=m),this.drawCellBgColor=b,this.drawTextColor=x}updateSelection(){let{visibleWidth:e,visibleHeight:t,rowspan:n,colspan:r,cellType:i,type:a,rowIndex:o,rowKey:s}=this;if(n===0||r===0||i===`footer`||![`index-selection`,`selection`,`selection-tree`,`tree-selection`].includes(a))return;let c=this.ctx.database.getRowSelectable(s),{CHECKBOX_SIZE:l=0,CELL_PADDING:u}=this.ctx.config,d=this.drawX+u;(this.align===`center`||this.align===`right`)&&(d=this.drawX+(e-l)/2);let f=d,p=this.drawY+(t-l)/2;if(a!==`selection-tree`&&a===`tree-selection`){let{TREE_INDENT:e=16,TREE_ICON_SIZE:t}=this.ctx.config,{level:n=0}=this.ctx.database.getRowForRowKey(s)||{},r=n*e;f=d+t+r}let m=this.ctx.icons.get(`checkbox-uncheck`),h=`checkbox-uncheck`;if(a===`selection-tree`||a===`tree-selection`){let e=this.ctx.database.getTreeSelectionState(s);e.indeterminate&&c?(m=this.ctx.icons.get(`checkbox-indeterminate`),h=`checkbox-indeterminate`):e.checked&&c?(m=this.ctx.icons.get(`checkbox-check`),h=`checkbox-check`):!e.checked&&c?(m=this.ctx.icons.get(`checkbox-uncheck`),h=`checkbox-uncheck`):(m=this.ctx.icons.get(`checkbox-disabled`),h=`checkbox-disabled`)}else{let e=this.ctx.database.getRowSelection(s);e&&c?(m=this.ctx.icons.get(`checkbox-check`),h=`checkbox-check`):e&&!c?(m=this.ctx.icons.get(`checkbox-check-disabled`),h=`checkbox-check-disabled`):!e&&c?(m=this.ctx.icons.get(`checkbox-uncheck`),h=`checkbox-uncheck`):(m=this.ctx.icons.get(`checkbox-disabled`),h=`checkbox-disabled`)}let g=this.getImage(`drag`),_=g?g.width:0;if(f+=_,f+l+u>this.drawX+this.visibleWidth||p+l+u>this.drawY+this.visibleHeight)return;let v=new N(h,f,p,l,l,m);if(a===`index-selection`){v.setVisible(!1),(this.ctx.hoverCell&&this.ctx.hoverCell.rowIndex===o||[`checkbox-disabled`,`checkbox-check`].includes(h))&&v.setVisible(!0);let e=this.rowIndex,t=this.rowIndex,n=this.ctx.hoverCell,{yArr:r}=this.getSpanInfo();e=r[0],t=r[1],n&&n.rowIndex>=e&&n.rowIndex<=t&&v.setVisible(!0)}this.setImage(`selection`,v)}updateHoverIcon(){if(this.ctx.database.getReadonly(this.rowKey,this.key))return;let{BODY_CELL_HOVER_ICON_METHOD:e,CELL_HOVER_ICON_SIZE:t,CELL_PADDING:n,ENABLE_MERGE_CELL_LINK:r}=this.ctx.config;if(typeof e==`function`){let t=e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});t!==void 0&&(this.hoverIconName=t)}let{hoverCell:i}=this.ctx;if(this.hoverIconName&&!this.ctx.editing&&!this.ctx.dragRowIng&&i){let e=0,a=0;if(i.rowKey===this.rowKey&&(e=this.drawX+this.width-t-n,a=this.drawY+(this.height-t)/2),this.rowspan!==1&&r){let r=this.getSpanInfo(),{yArr:o}=r,s=o[0],c=o[1];if(i.rowIndex>=s&&i.rowIndex<=c){let{width:i,height:o,offsetTop:s,offsetLeft:c}=r;e=this.drawX-c+i-t-n,a=this.drawY-s+(o-t)/2}}let o=this.ctx.icons.get(this.hoverIconName),s=new N(this.hoverIconName,e,a,t,t,o);(this.rowspan===0||this.colspan===0)&&s.setVisible(!1),this.setImage(`hover`,s)}}getAutoHeight(){if(this.cellType!==`body`||!this.autoRowHeight||this.rowspan===0)return 0;if(this.render){let e=this.ctx.database.getOverlayerAutoHeight(this.rowIndex,this.colIndex);return this.rowspan>1?e<this.visibleHeight?0:Math.round(e-(this.visibleHeight-this.height)):Math.round(e)}if(!(this.displayText&&typeof this.displayText==`string`))return 0;let{BODY_FONT:e,CELL_PADDING:t,CELL_LINE_HEIGHT:n}=this.ctx.config,r=`${this.displayText}_${this.drawTextWidth}_${this.drawTextFont}`,i=this.ctx.paint.calculateTextHeight(this.displayText,this.drawTextWidth,{font:this.drawTextFont||e,padding:t,align:this.align,verticalAlign:this.verticalAlign,color:this.drawTextColor,autoRowHeight:this.autoRowHeight,lineHeight:n,maxLineClamp:this.maxLineClamp,cacheTextKey:r});return this.rowspan>1?i<this.visibleHeight?0:Math.round(i-(this.visibleHeight-this.height)):Math.round(i)}getSpanInfo(){return this.ctx.database.getSpanInfo(this)}getDisplayText(){if(this.cellType===`footer`)return this.renderFooter&&this.renderFooterType==="default"||this.text===null||this.text===void 0?``:this.text;{if(this.rowspan===0||this.colspan===0||this.render&&this.renderType==="default"&&!this.mixedRender)return``;let e=this.getImage(`selection`);return this.type===`index-selection`&&e&&e.visible||this.text===null||this.text===void 0?``:`${this.text}`}}getText(){if(this.cellType===`footer`)return typeof this.formatterFooter==`function`?this.formatterFooter({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.row[this.key]}):this.row[this.key];if(typeof this.formatter==`function`)return this.formatter({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()});let{BODY_CELL_FORMATTER_METHOD:e}=this.ctx.config;return typeof e==`function`?e({row:this.row,rowIndex:this.rowIndex,colIndex:this.colIndex,column:this.column,value:this.getValue()}):[`index-selection`,`index`].includes(this.type)?`${this.rowIndex+1}`:(this.value=this.ctx.database.getItemValue(this.rowKey,this.key),this.value)}getValue(){return this.ctx.database.getItemValue(this.rowKey,this.key)}setValue(e){this.ctx.setItemValueByEditor(this.rowKey,this.key,e)}getOverlayerViewsStyle(){let e=this.drawX-this.ctx.fixedLeftWidth,t=this.drawY-this.ctx.body.y;if(this.fixed===`left`?e=this.drawX:this.fixed===`right`&&(e=this.drawX-(this.ctx.stageWidth-this.ctx.fixedRightWidth)),this.cellType===`footer`&&this.ctx.config.FOOTER_FIXED&&(t=this.drawY-this.ctx.footer.y),this.autoRowHeight&&this.render&&this.verticalAlign===`middle`){let e=this.ctx.database.getOverlayerAutoHeight(this.rowIndex,this.colIndex);if(e<this.visibleHeight&&e>0){let n=(this.visibleHeight-e)/2;t+=n}}this.autoRowHeight&&this.ctx.database.getOverlayerAutoHeight(this.rowIndex,this.colIndex)===0&&(e=-99999,t=-99999);let n={};return this.rowspan===0&&(n={display:`none`}),{position:`absolute`,overflow:`hidden`,left:`${Math.round(e-1)}px`,top:`${Math.round(t-1)}px`,width:`${this.visibleWidth}px`,height:this.autoRowHeight&&this.renderType==="default"?`auto`:`${this.visibleHeight}px`,pointerEvents:`initial`,userSelect:`none`,...n}}drawContainer(){let{paint:e,config:{BORDER_COLOR:t,BORDER:n}}=this.ctx,{drawX:r,drawY:i}=this,a=ne(n);e.drawRect(r,i,this.visibleWidth,this.visibleHeight,{borderColor:a?t:`transparent`,fillColor:this.drawCellBgColor}),e.drawRect(r,i,this.width,this.height,{borderColor:`transparent`,fillColor:this.drawCellSkyBgColor})}drawHorizontalBorder(){let{config:{BORDER_COLOR:e,BORDER:t}}=this.ctx;if(ne(t)||!F(t))return;let{drawX:n,drawY:r}=this;this.ctx.paint.drawLine([n,r+this.visibleHeight,n+this.visibleWidth,r+this.visibleHeight],{borderColor:e,fillColor:e,borderWidth:1,lineCap:`round`,lineJoin:`round`})}drawAutofillPiont(){if(this.cellType===`footer`)return;let{SELECT_BORDER_COLOR:e,ENABLE_AUTOFILL:t,ENABLE_SELECTOR:n,AUTOFILL_POINT_BORDER_COLOR:r}=this.ctx.config;if(!n||!t||this.ctx.editing)return;let{xArr:i,yArr:a}=this.ctx.selector,o=i[1],s=a[1],{colIndex:c,rowIndex:l,drawX:u,drawY:d}=this;if(c===o&&l===s){let t=c===this.ctx.maxColIndex||l===this.ctx.maxRowIndex||c===this.ctx.lastCenterColIndex?6:4;this.ctx.paint.drawRect(u+this.width-t,d+this.height-t,6,6,{borderColor:r,fillColor:e})}}draw(){this.drawTreeLine(),this.drawText(),this.drawImage(),this.drawSelector(),this.drawAutofillPiont(),this.drawErrorTip()}getWidthByColIndexColSpan(e,t){if(t===0)return 0;let n=0;for(let r=e;r<e+t;r++){let e=this.ctx.header.leafCellHeaders[r];n+=e.width}return n}drawText(){let{CELL_PADDING:e,BODY_FONT:t,PLACEHOLDER_COLOR:n,CELL_LINE_HEIGHT:r}=this.ctx.config,{placeholder:i}=this.column,a=this.displayText,o=this.drawTextColor;if(!this.ctx.database.getReadonly(this.rowKey,this.key)&&i&&[``,null,void 0].includes(this.text)&&this.cellType===`body`&&!(this.rowspan===0||this.colspan===0)&&(a=i,o=n),[``,null,void 0].includes(a))return!1;typeof a!=`string`&&(a=`${a}`);let s=`${a}_${this.drawTextWidth}_${this.drawTextFont}`;return this.ellipsis=this.ctx.paint.drawText(a,this.drawTextX,this.drawTextY,this.drawTextWidth,this.drawTextHeight,{font:this.drawTextFont||t,padding:e,align:this.align,verticalAlign:this.verticalAlign,color:o,autoRowHeight:this.autoRowHeight,lineHeight:r,maxLineClamp:this.maxLineClamp,cacheTextKey:s,layoutCallback:e=>{this.ctx.emit(`registerTextLayout`,`${this.cellType}-${this.rowIndex}-${this.colIndex}`,e)}}),this.ellipsis}drawImage(){this.getImages().forEach((e,t)=>{if(e.visible&&e.source){if(t===`hover`){let{CELL_HOVER_ICON_BG_COLOR:t,CELL_HOVER_ICON_BORDER_COLOR:n}=this.ctx.config;e.drawWrapper(this.ctx,{borderColor:n,fillColor:t})}this.ctx.paint.drawImage(e.source,e.x,e.y,e.width,e.height)}})}drawSelector(){if(this.cellType===`footer`)return;let{ENABLE_SELECTOR:e}=this.ctx.config;if(!e)return;let{xArr:t,yArr:n,xArrCopy:r,yArrCopy:i}=this.ctx.selector;this.drawBorder({xArr:r,yArr:i,borderColor:this.ctx.config.SELECT_BORDER_COLOR||`rgb(82,146,247)`,fillColor:`transparent`,borderWidth:1,lineDash:[4,4]}),this.drawBorder({xArr:this.ctx.autofill.xArr,yArr:this.ctx.autofill.yArr,borderColor:this.ctx.config.SELECT_BORDER_COLOR||`rgb(82,146,247)`,fillColor:`transparent`,borderWidth:1,lineDash:[4,4]}),this.drawBorder({xArr:t,yArr:n,borderColor:this.ctx.config.SELECT_BORDER_COLOR||`rgb(82,146,247)`,fillColor:`transparent`,borderWidth:1});let[a,o]=t,[s,c]=n;!(a===o&&s===c)&&this.colIndex>=a&&this.colIndex<=o&&this.rowIndex>=s&&this.rowIndex<=c&&this.ctx.paint.drawRect(this.drawX,this.drawY,this.width,this.height,{borderColor:`transparent`,fillColor:this.ctx.config.SELECT_AREA_COLOR||`rgba(82,146,247,0.1)`}),this.operation&&this.rowIndex>=s&&this.rowIndex<=c&&this.ctx.paint.drawRect(this.drawX,this.drawY,this.visibleWidth,this.visibleHeight,{borderColor:`transparent`,fillColor:this.ctx.config.SELECT_ROW_COL_BG_COLOR||`transparent`})}drawErrorTip(){if(this.cellType===`footer`||!this.message||this.rowspan===0||this.colspan===0)return;let{ERROR_TIP_ICON_SIZE:e,ERROR_TIP_COLOR:t}=this.ctx.config,{width:n}=this,r=this.drawX,i=this.drawY,a=[r+n-e-.5,i,r+n-.5,i,r+n-.5,i+e];this.ctx.paint.drawLine(a,{borderColor:t,fillColor:t,borderWidth:1,lineCap:`round`,lineJoin:`round`})}drawBorder(e){let{drawX:t,drawY:n,rowIndex:r,colIndex:i,height:a,width:o}=this,s=t,c=n,{xArr:l,yArr:u,lineDash:d=[],borderWidth:f=1,borderColor:p,fillColor:m}=e,h=l[0],g=l[1],_=u[0],v=u[1];if(i>=h&&i<=g&&r===_){let e=+(i===g),t=+(i===h);this.ctx.paint.drawLine([s+t,c+1,s+o-e,c+1],{borderColor:p,fillColor:m,borderWidth:f,lineCap:`round`,lineJoin:`round`,lineDash:d})}if(i===g&&r>=_&&r<=v){let e=+(r===_),t=+(r===v);this.ctx.paint.drawLine([s+o-1,c+e,s+o-1,c+a-t],{borderColor:p,fillColor:m,borderWidth:f,lineCap:`round`,lineJoin:`round`,lineDash:d})}if(i>=h&&i<=g&&r===v){let e=+(i===g),t=+(i===h);this.ctx.paint.drawLine([s+t,c+a-1,s+o-e,c+a-1],{borderColor:p,fillColor:m,borderWidth:f,lineCap:`round`,lineJoin:`round`,lineDash:d})}if(i===h&&r>=_&&r<=v){let e=+(r===v),t=+(r===_);this.ctx.paint.drawLine([s+1,c+t,s+1,c+a-e],{borderColor:p,fillColor:m,borderWidth:f,lineCap:`round`,lineJoin:`round`,lineDash:d})}}}class oe{constructor(e,t){n(this,`ctx`),n(this,`data`),n(this,`columns`),n(this,`footerData`,[]),n(this,`rowKeyMap`,new Map),n(this,`colIndexKeyMap`,new Map),n(this,`headerMap`,new Map),n(this,`rowIndexRowKeyMap`,new Map),n(this,`rowKeyRowIndexMap`,new Map),n(this,`checkboxKeyMap`,new Map),n(this,`selectionMap`,new Map),n(this,`expandMap`,new Map),n(this,`originalDataMap`,new Map),n(this,`changedDataMap`,new Map),n(this,`validationErrorMap`,new Map),n(this,`itemRowKeyMap`,new WeakMap),n(this,`bufferData`,[]),n(this,`customHeader`,{fixedData:{},sortData:{},hideData:{},resizableData:{}}),n(this,`overlayerAutoHeightMap`,new Map),n(this,`maxRowHeightCellMap`,new Map),n(this,`bufferCheckState`,{buffer:!1,check:!1,indeterminate:!1,selectable:!0}),n(this,`sumHeight`,0),n(this,`filterMethod`),n(this,`positions`,[]),n(this,`sortState`,new Map),this.ctx=e;let{data:r=[],columns:i=[],footerData:a=[]}=t;this.data=r,this.footerData=a,this.columns=i,this.init()}init(e=!0){this.ctx.paint.clearTextCache(),this.clearBufferData(),this.rowKeyMap.clear(),this.checkboxKeyMap.clear(),this.colIndexKeyMap.clear(),this.rowIndexRowKeyMap.clear(),this.rowKeyRowIndexMap.clear(),this.maxRowHeightCellMap.clear();let t=l(this.getColumns());if(this.ctx.hasSelection=t.some(e=>e.type===`selection`),this.ctx.hasTree=t.some(e=>e.type?.includes(`tree`)),e){this.originalDataMap.clear(),this.changedDataMap.clear(),this.validationErrorMap.clear();let{ROW_KEY:e}=this.ctx.config;e?(this.ctx.hasSelection||this.selectionMap.clear(),this.ctx.hasTree||this.expandMap.clear()):(this.selectionMap.clear(),this.expandMap.clear())}this.itemRowKeyMap=new WeakMap,this.initData(this.data),this.getData(),this.bufferCheckState.buffer=!1}clearBufferData(){this.bufferData=[]}initData(e,t=0,n=[]){let r=e.length,{ROW_KEY:a=``,DEFAULT_EXPAND_ALL:o,CELL_HEIGHT:s,SELECTABLE_METHOD:c,CHECKBOX_KEY:l,TREE_CHILDREN_KEY:u}=this.ctx.config;e.forEach((e,d)=>{u!==`children`&&(e.children=e[u]);let f=e[a]??i();this.itemRowKeyMap.set(e,f);let p=e._height||s,m=e._readonly,h=!0;if(typeof c==`function`&&(h=c),l){let t=e[l];if(this.checkboxKeyMap.has(t)){let e=this.checkboxKeyMap.get(t)||[];e.push(f),this.checkboxKeyMap.set(t,e)}else this.checkboxKeyMap.set(t,[f])}this.selectionMap.set(f,{key:l?e[l]:f,row:e,check:this.selectionMap.get(f)?.check||!1});let g=o||this.expandMap.get(f)||e._expand||!1;this.expandMap.set(f,g),this.rowKeyMap.set(f,{readonly:m,index:d,rowIndex:d,level:t,height:p,calculatedHeight:-1,check:!1,selectable:h,expand:g,expandLazy:!1,hasChildren:e._hasChildren||(Array.isArray(e.children)?e.children.length>0:!1),expandLoading:!1,item:e,parentRowKeys:n,parentRowKey:n[n.length-1]||``,isLastChild:d===r-1}),Array.isArray(e.children)&&e.children.length&&this.initData(e.children,t+1,[...n,f])})}setRowHeight(e,t){let n=this.rowIndexRowKeyMap.get(e);if(n===void 0)return;let r=this.rowKeyMap.get(n);r.height=t,r.item._height=t,this.clearBufferData()}setBatchRowHeight(e){e.forEach(({rowIndex:e,height:t})=>{let n=this.rowIndexRowKeyMap.get(e);if(n){let e=this.rowKeyMap.get(n);e.height=t,e.item._height=t}}),this.clearBufferData()}setBatchCalculatedRowHeight(e){return e.every(({height:e,rowIndex:t})=>this.getPositionForRowIndex(t).calculatedHeight===e)?!1:(e.forEach(({rowIndex:e,height:t})=>{let n=this.rowIndexRowKeyMap.get(e);if(n){let e=this.rowKeyMap.get(n),{height:r=-1}=this.getMaxRowHeightItem(n)||{};e.calculatedHeight=Math.max(t,r)}}),this.clearBufferData(),this.getData(),!0)}getAllRowsData(){let e=[],t=n=>{n.forEach(n=>{e.push(n),Array.isArray(n.children)&&t(n.children)})};return t(this.data),e}generateColumns(e){let t=e=>e.map(e=>{let n=e.children&&Array.isArray(e.children)?t(e.children):void 0,r={hide:this.customHeader?.hideData?.[e.key],fixed:this.customHeader?.fixedData?.[e.key],sort:this.customHeader?.sortData?.[e.key],width:this.customHeader?.resizableData?.[e.key]},i={};for(let[e,t]of Object.entries(r))t!==void 0&&(i[e]=t);let a=n&&n.every(e=>e.hide);return{...e,children:n,hide:a||(typeof e.hide==`function`?e.hide(e):e.hide),...i}});return t(e)}getColumns(){return this.generateColumns(this.columns)}setColumns(e){this.columns=e,this.clearBufferData()}setData(e){this.data=e,this.init()}getOriginalData(){return this.data}getData(){if(this.bufferData.length>0)return{data:this.bufferData,sumHeight:this.sumHeight,positions:this.positions};let e=[],t=0;this.sumHeight=0,this.positions=[];let n=r=>{r?.forEach(r=>{e.push(r);let i=this.itemRowKeyMap.get(r),{expand:a,hasChildren:o,height:s,calculatedHeight:c}=this.rowKeyMap.get(i),l=this.sumHeight,u=Math.max(c,s);this.sumHeight+=u,this.rowIndexRowKeyMap.set(t,i),this.rowKeyRowIndexMap.set(i,t),this.positions.push({top:l,height:u,bottom:this.sumHeight,calculatedHeight:c}),t+=1,a&&o&&n(r.children)})};this.rowIndexRowKeyMap.clear(),this.rowKeyRowIndexMap.clear();let r=this.data;if(typeof this.filterMethod==`function`&&(r=this.filterMethod(r)),this.sortState.size){let e=Array.from(this.sortState.entries()).sort((e,t)=>e[1].timestamp-t[1].timestamp);r=this.sortDataRecursive(r,e)}return n(r),this.bufferData=e,{data:e,sumHeight:this.sumHeight,positions:this.positions}}setFooterData(e){this.footerData=e}getFooterData(){return this.footerData}setFilterMethod(e){this.filterMethod=e}clearFilterMethod(){this.filterMethod=void 0}getSortState(e){return this.sortState.get(e)||{direction:`none`,timestamp:0}}setSortState(e,t){let n=Date.now();this.ctx.config.SORT_STRICTLY&&this.sortState.clear(),t===`none`?this.sortState.delete(e):this.sortState.set(e,{direction:t,timestamp:n}),this.ctx.emit(`sortChange`,this.sortState),this.clearBufferData(),this.ctx.emit(`draw`)}clearSort(){this.sortState.clear(),this.ctx.emit(`sortChange`,this.sortState),this.clearBufferData(),this.ctx.emit(`draw`)}sortDataRecursive(e,t){let n=[...e];for(let[e,{direction:r}]of t){if(r===`none`)continue;let t=this.getColumnByKey(e);!t||!t.column.sortBy||(n=this.applySingleColumnSort(n,e,r,t.column.sortBy))}return n.map(e=>(e.children&&Array.isArray(e.children)&&(e.children=this.sortDataRecursive(e.children,t)),e))}applySingleColumnSort(e,t,n,r){return e.sort((e,i)=>{let a=e[t],o=i[t],s=0;if(typeof r==`function`)s=r(e,i);else if(r===`number`)s=(Number(a)||0)-(Number(o)||0);else if(r===`string`){let e=String(a||``),t=String(o||``);s=e.localeCompare(t)}else r===`date`&&(s=S(a,o));return n===`asc`?s:-s})}expandItem(e,t=!1){let n=this.rowKeyMap.get(e);n.expand=t,this.expandMap.set(e,t),this.clearBufferData(),this.ctx.emit(`draw`)}setExpandRowKeys(e,t=!0){this.expandMap.clear(),e.forEach(e=>{let n=this.rowKeyMap.get(e);this.expandMap.set(e,t),n.expand=t}),this.clearBufferData(),this.ctx.emit(`draw`)}getExpandRowKeys(){let e=[];return this.rowKeyMap.forEach((t,n)=>{t.expand&&e.push(n)}),e}expandAll(e){this.expandMap.clear(),this.rowKeyMap.forEach((t,n)=>{t.expand=e,this.expandMap.set(n,e)}),this.clearBufferData(),this.ctx.emit(`draw`)}expandLoading(e,t=!1){let n=this.rowKeyMap.get(e);n.expandLoading=t,this.clearBufferData(),this.ctx.emit(`draw`)}setExpandChildren(e,t){let n=this.rowKeyMap.get(e);n.expand=!0,this.expandMap.set(e,!0),n.expandLazy=!0,n.item.children=t,this.initData(n.item.children,n.level+1),this.clearBufferData()}getIsExpandLoading(e){return this.rowKeyMap.get(e).expandLoading}getIsExpandLazy(e){return this.rowKeyMap.get(e).expandLazy}getIsExpand(e){return this.rowKeyMap.get(e).expand}getRowForRowKey(e){return this.rowKeyMap.get(e)}getRowForRowIndex(e){let t=this.getRowKeyForRowIndex(e);return this.rowKeyMap.get(t)}getRowKeyForRowIndex(e){return this.rowIndexRowKeyMap.get(e)||``}getRowKeyByItem(e){return this.itemRowKeyMap.get(e)}getRowIndexForRowKey(e){return this.rowKeyRowIndexMap.get(e)}getItemValueForRowIndexAndColIndex(e,t){if(!(this.rowIndexRowKeyMap.has(e)&&this.colIndexKeyMap.get(t)))return null;let n=this.rowIndexRowKeyMap.get(e),r=this.colIndexKeyMap.get(t);return n===void 0||r===void 0?null:{rowKey:n,key:r,value:this.getItemValue(n,r)}}getItemValue(e,t){let n=this.rowKeyMap.get(e);return n&&n.item?n.item[t]===void 0?null:n.item[t]:null}async batchSetItemValue(e,t=!1,n=!0,r=`none`){let i=[],a=n,o=new Map,s=[],c=[];for(let t of e){let{rowKey:e,key:n}=t,r=t.value,i=this.getRowDataItemForRowKey(e),a=this.getItemValue(e,n),o=this.getVirtualBodyCellByKey(e,n),l={...t,oldValue:a,row:i};if(o?.type===`number`)if([``,void 0,null].includes(r))r=null;else if(/^-?\d+(\.\d+)?$/.test(String(r))){let e=C(r);if(typeof o.precision==`number`&&o.precision>=0&&e>o.precision){let e=10**o.precision;r=Math.round(Number(r)*e)/e;let t=this.ctx.locale.getText(`numberTruncated`,{precision:o.precision});s.push({...l,column:o?.column,code:`ERR_NUMBER_PRECISION`,message:t})}else if(typeof o.min==`number`&&Number(r)<o.min){let e=this.ctx.locale.getText(`numberMin`,{min:o.min});r=o.min,s.push({...l,column:o?.column,code:`ERR_NUMBER_MIN`,message:e})}else if(typeof o.max==`number`&&Number(r)>o.max){let e=this.ctx.locale.getText(`numberMax`,{max:o.max});r=o.max,s.push({...l,column:o?.column,code:`ERR_NUMBER_MAX`,message:e})}else r=Number(r)}else r=a,s.push({...l,column:o?.column,code:`ERR_INVALID_NUMBER`,message:this.ctx.locale.getText(`invalidNumber`)});else if(o?.editorType===`text`&&typeof o.maxlength==`number`&&String(r).length>o.maxlength){r=String(r).slice(0,o.maxlength);let e=this.ctx.locale.getText(`stringMaxlength`,{maxlength:o.maxlength});s.push({...l,column:o?.column,code:`ERR_STRING_MAXLENGTH`,message:e})}r!==a&&c.push({...t,value:r,oldValue:a,row:i})}if(s.length){let e={code:`ERR_BATCH_SET_ITEM_VALUE`,message:this.ctx.locale.getText(`batchSetItemValueError`),data:s};this.ctx.emit(`error`,e)}if(!c.length)return;let{BEFORE_VALUE_CHANGE_METHOD:l}=this.ctx.config;r===`none`&&typeof l==`function`&&(c=await l(c),a=!1);let u=[];c.forEach(e=>{u.push(this.getValidator(e.rowKey,e.key));let{value:t,rowKey:n,key:r,row:s}=e,c=this.getItemValue(n,r);o.set(n,s),this.setItemValue(n,r,t,!1,!1,!1,a),i.push({rowKey:n,key:r,oldValue:c,newValue:t})});let d=Array.from(o.values());await Promise.all(u),this.validationErrorMap.size===0&&this.changedDataMap.size>0&&this.ctx.emit(`validateChangedData`,this.getChangedData());let f=c.map(e=>{let t=!!this.getValidationError(e.rowKey,e.key).length;return{...e,errorTip:t}});this.ctx.emit(`change`,f,d),t&&this.ctx.history.pushState({changeList:i,scrollX:this.ctx.scrollX,scrollY:this.ctx.scrollY,type:`multiple`}),this.ctx.emit(`draw`)}async setItemValue(e,t,n,r=!1,i=!1,a=!1,o=!0){if(!this.rowKeyMap.has(e))return{};let{item:s}=this.rowKeyMap.get(e),c=s[t],l=n;if(o&&this.ctx.database.getReadonly(e,t))return{oldValue:c,newValue:c};s[t]!==null&&typeof s[t]==`object`&&(c=JSON.parse(JSON.stringify(s[t])));let u=`${e}_${t}`;this.originalDataMap.has(u)||this.originalDataMap.set(u,c);let d=this.originalDataMap.get(u),f=this.getRowDataItemForRowKey(e),p={rowKey:e,key:t,value:l,oldValue:c,row:f};if(a){if(l===c)return{oldValue:c,newValue:c};this.batchSetItemValue([p],r,!1),this.ctx.emit(`editChange`,{...p,originalValue:d})}else this.changedDataMap.set(u,l),s[t]=l;return this.ctx.hasEvent(`iterationChange`)&&this.ctx.emit(`iterationChange`,{...p,originalValue:d}),i&&this.ctx.emit(`draw`),{oldValue:c,newValue:l}}getRowDataItemForRowKey(e){if(!this.rowKeyMap.has(e))return{};let{item:t}=this.rowKeyMap.get(e);return t}setRowSelectionByCheckboxKey(e,t){let{CHECKBOX_KEY:n}=this.ctx.config;if(n){if(!this.rowKeyMap.has(e))return!1;let{item:r}=this.rowKeyMap.get(e),i=r[n];this.checkboxKeyMap.has(i)&&(this.checkboxKeyMap.get(i)||[]).forEach(e=>{let n=this.selectionMap.get(e);n&&(n.check=t)})}}toggleRowSelection(e,t){let n=this.rowKeyMap.get(e),r=this.selectionMap.get(e);if(!r)return;t===`selection-tree`||t===`tree-selection`?this.toggleTreeSelection(e):(r.check=!r.check,this.setRowSelectionByCheckboxKey(e,r.check)),this.ctx.emit(`toggleRowSelection`,n);let i=this.getSelectionRows();this.ctx.emit(`selectionChange`,i),this.bufferCheckState.buffer=!1,this.ctx.emit(`draw`)}toggleTreeSelection(e){let t=this.getTreeSelectionState(e),n=this.ctx.config.TREE_SELECT_MODE;if(n===`auto`)t.checked&&!t.indeterminate?(this.clearTreeSelectionRecursive(e),this.setRowSelection(e,!1,!1)):(this.selectTreeSelectionRecursive(e),this.setRowSelection(e,!0,!1));else if(n===`cautious`)t.checked&&!t.indeterminate?(this.clearTreeSelectionRecursive(e),this.setRowSelection(e,!1,!1)):(this.selectTreeSelectionRecursive(e),this.setRowSelection(e,!0,!1));else if(n===`strictly`){let t=this.selectionMap.get(e);t&&(t.check=!t.check,this.setRowSelectionByCheckboxKey(e,t.check))}this.ctx.emit(`selectionChange`,this.getSelectionRows()),this.ctx.emit(`draw`)}selectTreeSelectionRecursive(e){this.getTreeChildren(e).forEach(e=>{this.setRowSelectionByParent(e,!0),this.selectTreeSelectionRecursive(e)})}clearTreeSelectionRecursive(e){this.getTreeChildren(e).forEach(e=>{this.setRowSelectionByParent(e,!1),this.clearTreeSelectionRecursive(e)})}updateParentTreeSelection(e){let t=this.getTreeParent(e);if(!t)return;let n=this.getTreeChildren(t).map(e=>this.selectionMap.get(e)),r=n.filter(e=>e?.check).length,i=n.length,a=!1;i>0&&(r===0?a=!1:r===i||this.ctx.config.TREE_SELECT_MODE===`auto`?a=!0:this.ctx.config.TREE_SELECT_MODE===`cautious`&&(a=!1));let o=this.selectionMap.get(t);o&&o.check!==a&&(o.check=a,this.setRowSelectionByCheckboxKey(t,a),this.updateParentTreeSelection(t))}setRowSelection(e,t,n=!0){let r=this.selectionMap.get(e);r&&(r.check=t,this.setRowSelectionByCheckboxKey(e,r.check),this.ctx.emit(`setRowSelection`,t,r.row),(this.ctx.config.TREE_SELECT_MODE===`auto`||this.ctx.config.TREE_SELECT_MODE===`cautious`)&&this.updateParentTreeSelection(e),n&&(this.bufferCheckState.buffer=!1,this.ctx.emit(`draw`)))}setRowSelectionByParent(e,t){let n=this.selectionMap.get(e);n&&(n.check=t,this.setRowSelectionByCheckboxKey(e,n.check))}getSelectionRows(){let e=[];return this.selectionMap.forEach(t=>{t.check&&e.push(t.row)}),e}getRowSelection(e){let t=this.selectionMap.get(e);return t?t.check:!1}getTreeSelectionState(e){if(!this.getRowForRowKey(e))return{checked:!1,indeterminate:!1};let t=this.selectionMap.get(e)?.check||!1;if(this.getTreeChildren(e).length===0)return{checked:t,indeterminate:!1};let n=!1,r=t;if(this.ctx.config.TREE_SELECT_MODE===`auto`){let i=e=>{let t=this.getTreeChildren(e),n=[];for(let e of t)n.push(e),n.push(...i(e));return n},a=i(e).map(e=>this.selectionMap.get(e)),o=a.filter(e=>e?.check).length,s=a.length,c=o>0;n=c&&o!==s,r=t||c,t&&s>0&&o===0&&(r=!1,n=!1)}else if(this.ctx.config.TREE_SELECT_MODE===`cautious`){let i=e=>{let t=this.getTreeChildren(e),n=[];for(let e of t)n.push(e),n.push(...i(e));return n},a=i(e).map(e=>this.selectionMap.get(e)),o=a.filter(e=>e?.check).length,s=a.length,c=o>0,l=o===s;n=c&&!l,r=t||l,t&&s>0&&o===0&&(r=!1,n=!1)}else this.ctx.config.TREE_SELECT_MODE===`strictly`&&(n=!1,r=t);return{checked:r,indeterminate:n}}getTreeChildren(e){let t=this.getRowForRowKey(e);if(!t||!t.item||!t.item.children)return[];let n=[],r=e=>{for(let t of e){let e=this.getRowKeyByItem(t);e&&n.push(e),t.children&&t.children.length>0&&r(t.children)}};return r(t.item.children),n}getTreeParent(e){let t=(e,n)=>{for(let r of e){let e=this.getRowKeyByItem(r);if(r.children)for(let i of r.children){if(this.getRowKeyByItem(i)===n)return e;let a=t(r.children,n);if(a)return a}}return null};return t(this.data,e)}getRowSelectable(e){let{selectable:t,item:n,rowIndex:r}=this.rowKeyMap.get(e);return typeof t==`function`?t({row:n,rowIndex:r}):t}toggleAllSelection(){this.ctx.config.TREE_SELECT_MODE===`auto`||this.ctx.config.TREE_SELECT_MODE===`cautious`?this.rowKeyMap.forEach((e,t)=>{let n=e.selectable;if(typeof n==`function`&&(n=n({row:e.item,rowIndex:e.rowIndex})),n){let e=this.selectionMap.get(t);e&&(e.check=!0,this.setRowSelectionByCheckboxKey(t,!0))}}):this.rowKeyMap.forEach((e,t)=>{let n=e.selectable;typeof n==`function`&&(n=n({row:e.item,rowIndex:e.rowIndex})),n&&this.setRowSelection(t,!0,!1)});let e=this.getSelectionRows();this.ctx.emit(`toggleAllSelection`,e),this.ctx.emit(`selectionChange`,e),this.bufferCheckState.buffer=!1,this.ctx.emit(`draw`)}clearSelection(e=!1){let t=this.ctx.config.TREE_SELECT_MODE===`auto`||this.ctx.config.TREE_SELECT_MODE===`cautious`;e?t?this.rowKeyMap.forEach((e,t)=>{let n=this.selectionMap.get(t);n&&(n.check=!1,this.setRowSelectionByCheckboxKey(t,!1))}):this.rowKeyMap.forEach((e,t)=>{this.setRowSelection(t,!1,!1)}):(this.selectionMap.clear(),this.rowKeyMap.forEach((e,t)=>{this.selectionMap.set(t,{check:!1,row:e.item,key:t})}));let n=this.getSelectionRows();this.ctx.emit(`clearSelection`),this.ctx.emit(`selectionChange`,n),this.bufferCheckState.buffer=!1,this.ctx.emit(`draw`)}getCheckedState(){let{buffer:e,...t}=this.bufferCheckState;if(e)return t;let n=this.rowKeyMap.size,r=0,i=0,a=this.selectionMap.size,o=Array.from(this.selectionMap.values()).some(e=>e.check);this.rowKeyMap.forEach((e,t)=>{var n;(n=this.selectionMap.get(t))!=null&&n.check&&(r+=1);let a=e.selectable;typeof a==`function`&&(a=a({row:e.item,rowIndex:e.rowIndex})),a&&(i+=1)});let s=i&&i>r&&r>0||a>n&&r===0&&o,c=i!==0,l=!!i&&i===r;return this.bufferCheckState={buffer:!0,check:l,indeterminate:s,selectable:c},{check:l,indeterminate:s,selectable:c}}updateColIndexKeyMap(e=[]){this.colIndexKeyMap.clear(),e.forEach(e=>{this.colIndexKeyMap.set(e.colIndex,e.key)})}getColumnByColIndex(e){let t=this.colIndexKeyMap.get(e);if(t&&this.headerMap.has(t))return this.headerMap.get(t)?.column}getColumnByKey(e){let t=this.headerMap.get(e);if(t)return t}getColIndexForKey(e){if(e&&this.headerMap.has(e))return this.headerMap.get(e)?.colIndex}getColHeaderByIndex(e){let t=this.colIndexKeyMap.get(e);if(t&&this.headerMap.has(t))return this.headerMap.get(t)}getChangedData(){let e=[];return this.changedDataMap.forEach((t,n)=>{let r=this.originalDataMap.get(n),i=n.split(`_`)[0],a=n.split(`_`)[1];r!==t&&e.push({rowKey:i,colKey:a,originalValue:r,row:this.ctx.database.getRowDataItemForRowKey(i),value:t})}),e}getChangedRows(){let e=new Set;this.changedDataMap.forEach((t,n)=>{let r=this.originalDataMap.get(n),i=n.split(`_`)[0];r!==t&&e.add(i)});let t=[];return e.forEach(e=>{t.push(this.ctx.database.getRowDataItemForRowKey(e))}),t}isHasChangedData(e,t){let n=`${e}_${t}`;return this.changedDataMap.has(n)?this.originalDataMap.get(n)!==this.changedDataMap.get(n):!1}getPositionForRowIndex(e){return e<this.positions.length?this.positions[e]:{height:0,top:0,bottom:0,calculatedHeight:0}}setHeader(e,t){return e?(this.headerMap.set(e,t),!0):!1}getReadonly(e,t){let{DISABLED:n}=this.ctx.config;if(n)return!0;let r=this.rowKeyMap.get(e),i=this.headerMap.get(t);if(!r||!i)return!0;let a=r.readonly,o=i.readonly,{BODY_CELL_READONLY_METHOD:s}=this.ctx.config;if(typeof s==`function`&&i){let n=s({row:r.item,rowIndex:r.rowIndex,colIndex:i.colIndex,column:i.column,value:this.getItemValue(e,t)});if(n!==void 0)return n}return o||a}clearValidate(){this.validationErrorMap.clear()}hasValidationError(){return this.validationErrorMap.size!==0}getValidator(e,t){return this.ctx.database.getReadonly(e,t)?new Promise(e=>{e([])}):new Promise(n=>{let i=this.rowKeyMap.get(e),a=this.headerMap.get(t),{BODY_CELL_RULES_METHOD:o}=this.ctx.config;if(i===void 0||a===void 0)return n([]);let s=a.column,c=s.rules;if(typeof o==`function`){let n=o({row:i.item,rowIndex:i.rowIndex,colIndex:a.colIndex,column:s,value:this.getItemValue(e,t)});n&&(c=n)}if(c){let o={row:i.item,rowIndex:i.rowIndex,colIndex:a.colIndex,column:s,key:t,rowKey:e,value:this.getItemValue(e,t),field:t,fieldValue:this.getItemValue(e,t)},l=new r(c).validate(o);this.setValidationError(e,t,l),n(l)}else this.clearValidationError(e,t),n([])})}getHeightByRowIndexRowSpan(e,t){let n=0;for(let r=0;r<t;r++){let t=this.positions[e+r];t&&(n+=t.height)}return n}getSpanInfo(e){let{rowIndex:t,key:n,rowKey:r,row:i,value:a,colIndex:o,relationRowKeys:s,relationColKeys:c,rowspan:l,height:u,width:d,colspan:f,mergeRow:p,mergeCol:m}=e;if(l===1&&f===1)return{xArr:[o,o],yArr:[t,t],rowspan:l,colspan:f,height:u,width:d,offsetTop:0,offsetLeft:0,dataList:[{rowKey:r,key:n,row:i,value:a}]};let h=t,g=t,_=o,v=o,y=[],b=0,x=0,S=0,C=0;if(l!==1&&p){C=d;let e=s.reduce((e,t)=>`${e}${this.getItemValue(r,t)??``}`,``);for(let n=t-1;n>=0;n--){let t=this.rowIndexRowKeyMap.get(n)||``;if(e===s.reduce((e,n)=>`${e}${this.getItemValue(t,n)??``}`,``))h=n;else break}for(let n=t;n<=this.ctx.maxRowIndex;n++){let t=this.rowIndexRowKeyMap.get(n)||``;if(e===s.reduce((e,n)=>`${e}${this.getItemValue(t,n)??``}`,``))g=n;else break}for(let e=h;e<t;e++){let{height:t}=this.positions[e];b+=t}for(let e=h;e<=g;e++){let{height:t}=this.positions[e];S+=t;let r=this.rowIndexRowKeyMap.get(e)||``,{item:i}=this.rowKeyMap.get(r),a=this.getItemValue(r,n);y.push({rowKey:r,key:n,value:a,row:i})}}if(f!==1&&m){S=u;for(let e=o-1;e>=0;e--){let t=this.getColumnByColIndex(e);if(!t)break;if(this.getItemValue(r,n)===this.getItemValue(r,t.key)&&c.includes(t.key))_=e;else break}for(let e=o;e<=this.ctx.maxColIndex;e++){let t=this.getColumnByColIndex(e);if(!t)break;if(this.getItemValue(r,n)===this.getItemValue(r,t.key)&&c.includes(t.key))v=e;else break}for(let e=_;e<o;e++){let t=this.getColumnByColIndex(e);if(!t)break;x+=t.width||100}for(let e=_;e<=v;e++){let t=this.getColumnByColIndex(e);if(!t)break;C+=t.width||100,y.push({rowKey:r,key:t.key,value:this.getItemValue(r,t.key),row:i})}}return{xArr:[_,v],yArr:[h,g],rowspan:l,colspan:f,height:S,width:C,offsetTop:b,offsetLeft:x,dataList:y}}setValidationErrorByRowKey(e,t,n){let r=`${e}_${t}`,i=this.getRowForRowKey(e),a=i?.rowIndex,o=this.getColumnByKey(t);if(!e||!o||!i)return;let s=this.getItemValue(e,t),c=[{key:t,rowKey:e,rowIndex:a,colIndex:o.colIndex,column:o.column,row:i,value:s,message:n,field:t,fieldValue:s}];this.validationErrorMap.set(r,c)}setValidationError(e,t,n){let r=`${e}_${t}`;this.validationErrorMap.set(r,n)}clearValidationError(e,t){let n=`${e}_${t}`;this.validationErrorMap.has(n)&&this.validationErrorMap.delete(n)}getValidationError(e,t){let n=`${e}_${t}`;return this.validationErrorMap.get(n)||[]}getVirtualBodyCell(e,t,n=!0){let r=this.getColumnByColIndex(t),i=this.getRowForRowIndex(e);return!r||!i?void 0:new I(this.ctx,e,t,0,0,0,0,r,i.item,`body`,n)}getVirtualBodyCellByKey(e,t){let n=this.getRowIndexForRowKey(e),r=this.getColIndexForKey(t);if(!(n===void 0||r===void 0))return this.getVirtualBodyCell(n,r)}hasMergeCell(e,t){let n=!1;for(let r=t[0];r<=t[1];r++)for(let t=e[0];t<=e[1];t++){let e=this.getVirtualBodyCell(r,t);if(e&&(e.rowspan!==1||e.colspan!==1)){n=!0;break}}return n}calculateMaxTreeDepth(e,t=0){let n=t;return e.forEach(e=>{if(Array.isArray(e.children)&&e.children.length>0){let r=this.calculateMaxTreeDepth(e.children,t+1);n=Math.max(n,r)}}),n}setOverlayerAutoHeightMap(e){this.overlayerAutoHeightMap=e}getOverlayerAutoHeightMap(){return this.overlayerAutoHeightMap}getOverlayerAutoHeight(e,t){let n=`${e}_${t}`;return this.overlayerAutoHeightMap.get(n)||0}setCustomHeader(e,t=!1){if([`fixedData`,`sortData`,`hideData`,`resizableData`].forEach(t=>{let n=e[t];n!==void 0&&(this.customHeader[t]=n)}),!t){let e=this.clearCustomHeaderInvalidValues(this.columns);this.ctx.emit(`customHeaderChange`,e)}}resetCustomHeader(){this.customHeader={},this.ctx.emit(`resetHeader`),this.ctx.emit(`customHeaderChange`,this.customHeader)}getCustomHeader(){return this.customHeader}setCustomHeaderResizableData(e,t){let{resizableData:n={}}=this.customHeader;n[e]=t,this.setCustomHeader({resizableData:n})}setCustomHeaderHideData(e,t){let{hideData:n={}}=this.customHeader;e.forEach(e=>{n[e]=t}),this.setCustomHeader({hideData:n}),this.ctx.emit(`resetHeader`)}setCustomHeaderFixedData(e,t){let{fixedData:n={}}=this.customHeader;e.forEach(e=>{n[e]=t}),this.setCustomHeader({fixedData:n}),this.ctx.emit(`resetHeader`)}clearCustomHeaderInvalidValues(e){let t=(e,n={})=>{e.forEach(e=>{e.children&&e.children.length>0&&t(e.children,n);let r=(t,r)=>{var i;let a=this.customHeader[t]?.[e.key];a!==void 0&&a!==r&&(n[t]||(n[t]={}),n[t][e.key]=a,t===`fixedData`&&!a&&!r&&((i=n[t])==null||delete i[e.key]))};r(`fixedData`,e.fixed),r(`sortData`,e.sort),r(`hideData`,e.hide),r(`resizableData`,e.width)})},n={};return t(e,n),n}setMaxRowHeightItem(e,t,n){this.maxRowHeightCellMap.set(e,{key:t,height:n})}getMaxRowHeightItem(e){return this.maxRowHeightCellMap.get(e)}clearChangeData(){this.changedDataMap.clear()}}class L{constructor(e){n(this,`ctx`),n(this,`history`,[]),n(this,`historyIndex`,-1),this.ctx=e,this.init()}init(){this.ctx.on(`keydown`,e=>{if(!this.ctx.editing){if(e.ctrlKey&&!e.shiftKey&&e.code===`KeyZ`||e.metaKey&&!e.shiftKey&&e.code===`KeyZ`){e.preventDefault(),this.ctx.clearSelector(),this.ctx.clearAutofill(),this.backState();return}if(e.ctrlKey&&e.code===`KeyY`||e.ctrlKey&&e.shiftKey&&e.code===`KeyZ`||e.metaKey&&e.shiftKey&&e.code===`KeyZ`){e.preventDefault(),this.ctx.clearSelector(),this.ctx.clearAutofill(),this.forwardState();return}}})}pushState(e){let{HISTORY_NUM:t=0,ENABLE_HISTORY:n}=this.ctx.config;n&&(this.history.push(e),this.history.length>t&&this.history.splice(0,1),this.historyIndex=this.history.length-1)}backState(){if(this.historyIndex>=0){let{changeList:e,scrollX:t,scrollY:n}=this.history[this.historyIndex],r=e.map(e=>({rowKey:e.rowKey,key:e.key,value:e.oldValue,row:{}}));this.ctx.setScroll(t,n),this.ctx.database.batchSetItemValue(r,!1,!1,`back`),--this.historyIndex}}forwardState(){if(this.historyIndex<this.history.length-1){this.historyIndex+=1;let{changeList:e}=this.history[this.historyIndex],t=e.map(e=>({rowKey:e.rowKey,key:e.key,value:e.newValue,row:{}}));this.ctx.database.batchSetItemValue(t,!1,!1,`forward`)}}clear(){this.history=[],this.historyIndex=-1}}class R{constructor(e){n(this,`eventTasks`,new Set),n(this,`ctx`),this.ctx=e,this.init()}init(){this.bind(window,`resize`,this.handleResize.bind(this)),this.bind(window,`mouseup`,this.handleMouseUp.bind(this)),this.bind(window,`mousemove`,this.handleMousemove.bind(this)),this.bind(window,`blur`,this.handleOutsideMousedown.bind(this)),this.bind(window,`mousedown`,this.handleOutsideMousedown.bind(this)),this.bind(this.ctx.stageElement,`click`,this.handleClick.bind(this)),this.bind(window,`keydown`,this.handleKeydown.bind(this)),this.bind(this.ctx.stageElement,`wheel`,this.handleWheel.bind(this),{passive:!1}),this.bind(this.ctx.stageElement,`touchstart`,this.handleTouchstart.bind(this),{passive:!1}),this.bind(this.ctx.stageElement,`touchend`,this.handleTouchend.bind(this)),this.bind(this.ctx.stageElement,`touchmove`,this.handleTouchmove.bind(this),{passive:!1}),this.bind(this.ctx.stageElement,`contextmenu`,this.handleContextMenu.bind(this)),this.bind(this.ctx.stageElement,`mousedown`,this.handleMouseDown.bind(this)),this.bind(this.ctx.stageElement,`dblclick`,this.handleDblclick.bind(this)),this.bind(this.ctx.stageElement,`mouseover`,this.handleMouseover.bind(this)),this.bind(this.ctx.stageElement,`mouseout`,this.handleMouseout.bind(this)),this.bind(document,`selectionchange`,this.selectionchange.bind(this))}selectionchange(){this.ctx.domSelectionStr=``;let e=window.getSelection();e&&e.toString()&&(this.ctx.domSelectionStr=e.toString())}clearDomSelection(){let e=window.getSelection();e&&!e.isCollapsed&&e.removeAllRanges()}destroy(){Array.from(this.eventTasks).forEach(({target:e,name:t,fn:n,options:r})=>{this.unbind(e,t,n,r)}),this.eventTasks.clear()}handleResize(e){this.ctx.emit(`resetHeader`,e),this.ctx.emit(`resize`,e)}handleMouseDown(e){this.clearDomSelection(),e.button===0&&(this.ctx.mousedown=!0),this.ctx.emit(`mousedown`,e)}handleMousemove(e){let t=e,n=this.ctx.containerElement.getBoundingClientRect(),r=this.ctx.zoomScale.toLogical(t.clientX-n.left),i=this.ctx.zoomScale.toLogical(t.clientY-n.top);this.ctx.mouseX=r,this.ctx.mouseY=i,this.ctx.emit(`mousemove`,e)}handleMouseUp(e){e.button===0&&(this.ctx.mousedown=!1),this.ctx.emit(`mouseup`,e)}handleClick(e){this.ctx.emit(`click`,e)}handleKeydown(e){let{ENABLE_KEYBOARD:t}=this.ctx.config;t&&this.ctx.isTarget(e)&&(this.ctx.dragHeaderIng||this.ctx.emit(`keydown`,e))}handleWheel(e){let t=e,{ENABLE_ZOOM_WHEEL:n}=this.ctx.config;if(n&&(t.ctrlKey||t.metaKey)){e.preventDefault();let n=t.deltaY>0?-.1:.1;this.ctx.setZoom(this.ctx.getZoom()+n);return}this.ctx.emit(`wheel`,e)}handleTouchstart(e){this.ctx.emit(`touchstart`,e)}handleTouchend(e){this.ctx.emit(`touchend`,e)}handleTouchmove(e){this.ctx.emit(`touchmove`,e)}handleContextMenu(e){e.preventDefault(),this.ctx.emit(`contextMenu`,e)}handleMouseover(e){this.ctx.isMouseoverTargetContainer=!0,this.ctx.emit(`mouseover`,e)}handleMouseout(e){this.ctx.isMouseoverTargetContainer=!1,this.ctx.emit(`mouseout`,e)}handleDblclick(e){this.ctx.emit(`dblclick`,e)}handleOutsideMousedown(e){this.ctx.selector.enable&&(e.target instanceof Window||e.target instanceof Node&&!this.ctx.containerElement.contains(e.target))&&this.ctx.emit(`outsideMousedown`,e)}bind(e,t,n,r){e.addEventListener(t,n,r),this.eventTasks.add({target:e,name:t,fn:n,options:r})}unbind(e,t,n,r){e.removeEventListener(t,n,r);for(let r of this.eventTasks)if(r.target===e&&r.name===t&&r.fn===n){this.eventTasks.delete(r);break}}}class se{constructor(){n(this,`events`,new Map)}has(e){return this.events.has(e)}on(e,t){let n=this.events.get(e)||[];n.push(t),this.events.set(e,n)}once(e,t){let n=(...r)=>{t(...r),this.off(e,n)};return this.on(e,n),this}off(e,t){let n=this.events.get(e);if(n){let r=n.indexOf(t);r>=0&&(n.splice(r,1),n.length===0?this.events.delete(e):this.events.set(e,n))}}emit(e,...t){let n=this.events.get(e);n&&n.forEach(e=>{e(...t)})}destroy(){this.events.clear()}}class ce{constructor(e){n(this,`ctx`),n(this,`textCacheMap`,new Map);let t=e.getContext(`2d`);if(!t)throw Error(`canvas context not found`);this.ctx=t}getCtx(){return this.ctx}clearTextCache(){this.textCacheMap.clear()}scale(e,t=1){this.ctx.setTransform(1,0,0,1,0,0),this.ctx.scale(e*t,e*t)}save(){this.ctx.save()}restore(){this.ctx.restore()}translate(e,t){this.ctx.translate(e,t)}setCursor(e=`default`){this.ctx.canvas.style.cursor=e}clear(e=0,t=0,n,r){this.ctx.clearRect(e,t,n||this.ctx.canvas.width,r||this.ctx.canvas.height)}drawShadow(e,t,n,r,i){let{fillColor:a,side:o,shadowWidth:s,colorStart:c,colorEnd:l}=i;this.ctx.save(),a&&(this.ctx.fillStyle=a,this.ctx.fillRect(e,t,n,r));let u;switch(o){case`left`:u=this.ctx.createLinearGradient(e-s,t,e,t),u.addColorStop(0,c),u.addColorStop(1,l),this.ctx.fillStyle=u,this.ctx.fillRect(e-s,t,s,r);break;case`right`:u=this.ctx.createLinearGradient(e+n,t,e+n+s,t),u.addColorStop(0,c),u.addColorStop(1,l),this.ctx.fillStyle=u,this.ctx.fillRect(e+n,t,s,r);break;case`top`:u=this.ctx.createLinearGradient(e,t-s,e,t),u.addColorStop(0,c),u.addColorStop(1,l),this.ctx.fillStyle=u,this.ctx.fillRect(e,t-s,n,s);break;case`bottom`:u=this.ctx.createLinearGradient(e,t+r,e,t+r+s),u.addColorStop(0,c),u.addColorStop(1,l),this.ctx.fillStyle=u,this.ctx.fillRect(e,t+r,n,s);break;default:console.error(`Invalid side specified for shadow`);break}this.ctx.restore()}drawLine(e,t){if(e.length<4||e.length%2!=0)throw Error(`A valid array of points is required to draw a line`);this.ctx.save();let{borderColor:n=`black`,borderWidth:r=1}=t;this.ctx.beginPath(),this.ctx.moveTo(e[0]-.5,e[1]-.5);for(let t=2;t<e.length;t+=2)this.ctx.lineTo(e[t]-.5,e[t+1]-.5);this.ctx.strokeStyle=n,this.ctx.lineWidth=r,t.lineDash&&(this.ctx.lineDashOffset=t.lineDashOffset??0,this.ctx.setLineDash(t.lineDash)),t.fillColor&&(this.ctx.fillStyle=t.fillColor,this.ctx.fill()),t.borderColor&&(this.ctx.strokeStyle=t.borderColor),this.ctx.stroke(),this.ctx.closePath(),this.ctx.restore()}drawImage(e,t,n,r,i){this.ctx.save(),this.ctx.drawImage(e,t,n,r,i),this.ctx.restore()}drawRect(e,t,n,r,{borderWidth:i=1,borderColor:a,fillColor:o,radius:s=0}={}){if(this.ctx.save(),this.ctx.beginPath(),o!==void 0&&(this.ctx.fillStyle=o),a!==void 0&&(this.ctx.lineWidth=i,this.ctx.strokeStyle=a),s===0)this.ctx.rect(e-.5,t-.5,n,r);else{let[i,a,o,c]=typeof s==`number`?[s,s,s,s]:s;this.ctx.moveTo(e+i,t),this.ctx.arcTo(e+n,t,e+n,t+a,a),this.ctx.arcTo(e+n,t+r,e+n-o,t+r,o),this.ctx.arcTo(e,t+r,e,t+r-c,c),this.ctx.arcTo(e,t,e+i,t,i)}o!==void 0&&this.ctx.fill(),a!==void 0&&this.ctx.stroke(),this.ctx.restore()}drawText(e=``,t,n,r,i,a={}){this.ctx.save();let{font:o=`12px Arial`,align:s=`center`,color:c=`#495060`,padding:l=0,verticalAlign:u=`middle`,maxLineClamp:d=1,autoRowHeight:f=!1,offsetLeft:p=0,offsetRight:m=0}=a;if(this.ctx.font=o,this.ctx.fillStyle=c,[``,null,void 0].includes(e))return this.ctx.restore(),!1;let h=parseInt(o.match(/\d+/)?.[0]||`12`)*(a.lineHeight||1.2),g=this.buildTextLayout(e,t,n,r,i,{font:o,color:c,align:s,padding:l,verticalAlign:u,maxLineClamp:d,autoRowHeight:f,lineHeight:h,offsetLeft:p,offsetRight:m});if(this.ctx.textBaseline=`top`,this.ctx.textAlign=`left`,g.lines.forEach(e=>{this.ctx.fillText(e.text,e.drawX,e.drawY)}),a.textCallback&&g.lines.length){let e=g.lines.reduce((e,t)=>Math.max(e,t.width),0),n=Math.round(e),i=g.lines[0]?.drawX??t+l+p,o=i+n;s===`center`?(i=t+r/2-n/2,o=t+r/2+n/2):s===`right`&&(i=t+r-l-m-n,o=t+r-l-m);let c={x:g.lines[0]?.drawX??i,y:g.contentY,width:n,height:g.lines.length*h,left:i,right:o,top:g.contentY,bottom:g.contentY+g.lines.length*h};a.textCallback(c)}return a.layoutCallback&&a.layoutCallback(g),this.ctx.restore(),g.ellipsis}buildTextLayout(e,t,n,r,i,a){let{font:o,color:s,align:c,padding:l,verticalAlign:u,maxLineClamp:d,autoRowHeight:f,lineHeight:p,offsetLeft:m,offsetRight:h}=a;this.ctx.save(),this.ctx.font=o;let g=r-l*2-m-h,_=g,v=i-l*2,y=Array.from(e),b=this.wrapTextToLines(e,g),x=Math.round(v/p),S=Math.min(b.length,Math.max(x,1));d===`auto`&&f?S=b.length:typeof d==`number`&&d<S&&d!==1?S=d:(d===1&&(b=[{items:y.map((e,t)=>({char:e,sourceIndex:t})),text:e,caretIndex:0,lineIndex:0,drawX:0,drawY:0,width:0,segments:[]}],S=1),d===`auto`&&x===1&&(b=[{items:y.map((e,t)=>({char:e,sourceIndex:t})),text:e,caretIndex:0,lineIndex:0,drawX:0,drawY:0,width:0,segments:[]}],S=1));let C=!1,w=b.slice(0,S);if(b.length>S){C=!0;let e=b.slice(S-1),t=this.buildEllipsisLine(e,r,l);t.lineIndex=S-1,w[S-1]=t}else if(S>0){let e=S-1,t=b.slice(e),n=t.map(e=>e.text).join(``),{ellipsis:i}=this.handleEllipsis(n,r,l,o);if(i){C=!0;let n=this.buildEllipsisLine(t,r,l);n.lineIndex=e,w[e]=n}}let T=w.length*p,E=n+l;u===`middle`?E=n+(i-T)/2:u===`bottom`&&(E=n+i-T-l);let D=[];return w.forEach((e,n)=>{e.lineIndex=n;let i=this.buildLineSegments(e),a=i.reduce((e,t)=>e+t.width,0),o=t+l+m;c===`center`?o=t+(r-a)/2:c===`right`&&(o=t+r-l-h-a);let s=E+n*p;e.drawX=o,e.drawY=s,e.width=a,e.segments=i,i.forEach(e=>{e.sourceIndex<0||D.push({char:e.char,index:e.sourceIndex,line:n,x:o+e.x,y:s,width:e.width,height:p})})}),this.ctx.restore(),{text:e,chars:y,glyphs:D,lines:w,box:{x:t,y:n,width:r,height:i},contentBox:{x:t+l+m,y:n+l,width:_,height:v},contentY:E,lineHeight:p,font:o,color:s,align:c,ellipsis:C}}wrapTextToLines(e,t){if(!e)return[{items:[],text:``,caretIndex:0,lineIndex:0,drawX:0,drawY:0,width:0,segments:[]}];let n=Array.from(e),r=[],i=[],a=0,o=0,s=e=>{let t=i.map(e=>e.char).join(``);r.push({items:i,text:t,caretIndex:o,lineIndex:r.length,drawX:0,drawY:0,width:0,segments:[]}),i=[],a=0,o=e};for(let e=0;e<n.length;e++){let r=n[e];if(r===`
|
|
4
4
|
`){s(e+1);continue}let o=this.ctx.measureText(r).width;if(a+o>t&&i.length>0){s(i[i.length-1].sourceIndex+1),i.push({char:r,sourceIndex:e}),a=o;continue}i.push({char:r,sourceIndex:e}),a+=o}return(i.length>0||r.length===0)&&s(n.length),r}buildEllipsisLine(e,t,n){let r=e.flatMap(e=>e.items),i=r.map(e=>e.char).join(``),{_text:a,ellipsis:o}=this.handleEllipsis(i,t,n,this.ctx.font),s=o?a.slice(0,-3):a,c=[];for(let e=0;e<s.length;e++){let t=r[e];if(!t)break;c.push({char:t.char,sourceIndex:t.sourceIndex})}return o&&c.push({char:`.`,sourceIndex:-1,ellipsis:!0},{char:`.`,sourceIndex:-1,ellipsis:!0},{char:`.`,sourceIndex:-1,ellipsis:!0}),{items:c,text:a,caretIndex:e[0]?.caretIndex??0,lineIndex:0,drawX:0,drawY:0,width:0,segments:[]}}buildLineSegments(e){let t=[],n=0;return e.items.forEach((e,r)=>{let i=this.ctx.measureText(e.char).width;t.push({char:e.char,itemIndex:r,sourceIndex:e.sourceIndex,x:n,width:i}),n+=i}),t}wrapText(e,t,n=``){if(!e)return[``];if(n&&this.textCacheMap.has(n))return this.textCacheMap.get(n)||[``];let r=[],i=e.split(`
|
|
5
|
-
`);for(let e of i){if(e===``){r.push(``);continue}let n=e.split(``),i=``;for(let e of n){let n=i+e;this.ctx.measureText(n).width<=t?i=n:i?(r.push(i),i=e):(r.push(e),i=``)}i&&r.push(i)}let a=r.length>0?r:[``];return n&&this.textCacheMap.set(n,a),a}calculateTextHeight(e=``,t,n={}){let{font:r=`12px Arial`,padding:i=0,align:a=`center`,color:o=`#495060`,maxLineClamp:s=1,cacheTextKey:c=``}=n;this.ctx.save(),this.ctx.font=r,this.ctx.fillStyle=o,this.ctx.textAlign=a;let l=parseInt(r.match(/\d+/)?.[0]||`12`),u=l*(n.lineHeight||1.2),d=t-i*2,f=this.wrapText(e,d,c),p=1;return p=s===`auto`?f.length:f.length>s?s:f.length,this.ctx.restore(),Math.max(Math.floor(p*u+i*2),Math.floor(l+i*2))}handleEllipsis(e,t,n=0,r=`12px Arial`){this.ctx.save();let i=!1,a=e;if(this.ctx.font=r,e==null||e===``)return this.ctx.restore(),{_text:``,ellipsis:i};let o=this.ctx.measureText(`...`).width;if(t<=o+n*2)return this.ctx.restore(),{_text:``,ellipsis:!0};let s=this.ctx.measureText(e).width,c=t-n*2;if(s&&s>=c){i=!0;let t=0;for(let n=0;n<e.length;n++)if(t+=this.ctx.measureText(e[n]).width,t>=c-o){a=e.slice(0,n)+`...`,i=!0;break}}return this.ctx.restore(),{_text:a,ellipsis:i}}}class M{constructor(e){n(this,`_config`,{}),n(this,`CSS_PREFIX`,`e-virt-table`),n(this,`ICONS`,[]),n(this,`ROW_KEY`,``),n(this,`DISABLED`,!1),n(this,`HEADER_FONT`,`12px normal Arial`),n(this,`BODY_FONT`,`12px normal Arial`),n(this,`BORDER`,!0),n(this,`STRIPE`,!1),n(this,`STRIPE_COLOR`,`#fafafa`),n(this,`BORDER_COLOR`,`#e1e6eb`),n(this,`HEIGHT`,0),n(this,`PLACEHOLDER_COLOR`,`#CDD0DC`),n(this,`EMPTY_BODY_HEIGHT`,120),n(this,`EMPTY_CUSTOM_STYLE`,{}),n(this,`EMPTY_TEXT`,``),n(this,`LOADING_TEXT`,``),n(this,`MAX_HEIGHT`,1e3),n(this,`BORDER_RADIUS`,8),n(this,`ENABLE_OFFSET_HEIGHT`,!1),n(this,`OFFSET_HEIGHT`,0),n(this,`HEADER_HEIGHT`,36),n(this,`ENABLE_HEADER_STICKY`,!1),n(this,`HEADER_BG_COLOR`,`#F8FAFF`),n(this,`BODY_BG_COLOR`,`#FFF`),n(this,`HEADER_TEXT_COLOR`,`#1D2129`),n(this,`REQUIRED_COLOR`,`#F56C6C`),n(this,`BODY_TEXT_COLOR`,`#4E5969`),n(this,`FOOTER_TEXT_COLOR`,`#4E5969`),n(this,`LOADING_ICON_SVG`,``),n(this,`LOADING_ICON_COLOR`,`#4E5969`),n(this,`EXPAND_ICON_SVG`,``),n(this,`SHRINK_ICON_SVG`,``),n(this,`EXPAND_ICON_COLOR`,`#4E5969`),n(this,`SHRINK_ICON_COLOR`,`#4E5969`),n(this,`ERROR_TIP_ICON_COLOR`,`red`),n(this,`ERROR_TIP_ICON_SIZE`,6),n(this,`COLUMNS_ALIGN`,`left`),n(this,`COLUMNS_VERTICAL_ALIGN`,`middle`),n(this,`EXPAND_LAZY`,!0),n(this,`DEFAULT_EXPAND_ALL`,!1),n(this,`CELL_WIDTH`,100),n(this,`CELL_HEIGHT`,36),n(this,`CELL_PADDING`,8),n(this,`CELL_HOVER_ICON_SIZE`,14),n(this,`CELL_HOVER_ICON_BG_COLOR`,`#fff`),n(this,`CELL_HOVER_ICON_BORDER_COLOR`,`#DDE0EA`),n(this,`MIN_ZOOM`,.5),n(this,`MAX_ZOOM`,2),n(this,`ENABLE_ZOOM_WHEEL`,!0),n(this,`SCROLLER_TRACK_SIZE`,14),n(this,`SCROLLER_SIZE`,8),n(this,`SCROLLER_COLOR`,`#dee0e3`),n(this,`SCROLLER_TRACK_COLOR`,`#fff`),n(this,`SCROLLER_FOCUS_COLOR`,`#bbbec4`),n(this,`SELECT_BORDER_COLOR`,`rgb(82,146,247)`),n(this,`SELECT_AREA_COLOR`,`rgba(82,146,247,0.1)`),n(this,`SELECT_ROW_COL_BG_COLOR`,`transparent`),n(this,`AUTOFILL_POINT_BORDER_COLOR`,`#fff`),n(this,`EDIT_BG_COLOR`,`#fcf6ed`),n(this,`CHECKBOX_KEY`,``),n(this,`CHECKBOX_COLOR`,`rgb(82,146,247)`),n(this,`FINDER_CELL_BG_COLOR`,`rgb(255,229,144)`),n(this,`ENABLE_FINDER`,!0),n(this,`CHECKBOX_SIZE`,20),n(this,`CHECKBOX_DISABLED_SVG`,``),n(this,`CHECKBOX_DISABLED_COLOR`,`#F1F2F4`),n(this,`CHECKBOX_CHECK_SVG`,``),n(this,`CHECKBOX_UNCHECK_SVG`,``),n(this,`CHECKBOX_UNCHECK_COLOR`,`#DDE0EA`),n(this,`CHECKBOX_INDETERMINATE_SVG`,``),n(this,`CHECKBOX_CHECK_DISABLED_SVG`,``),n(this,`CHECKBOX_CHECK_DISABLED_COLOR`,`#DDE0EA`),n(this,`ICON_EDIT_SVG`,``),n(this,`ICON_EDIT_COLOR`,`#4E5969`),n(this,`ICON_SELECT_SVG`,``),n(this,`ICON_SELECT_COLOR`,`#4E5969`),n(this,`SORT_STRICTLY`,!0),n(this,`SORT_ASC_ICON_SVG`,``),n(this,`SORT_DESC_ICON_SVG`,``),n(this,`SORTABLE_ICON_SVG`,``),n(this,`SORT_ICON_COLOR`,`rgb(82,146,247)`),n(this,`READONLY_COLOR`,`#fff`),n(this,`READONLY_TEXT_COLOR`,`#4E5969`),n(this,`ERROR_TIP_COLOR`,`#ED3F14`),n(this,`FOOTER_BG_COLOR`,`#fafafa`),n(this,`FOOTER_FIXED`,!0),n(this,`FOOTER_POSITION`,`bottom`),n(this,`CELL_FOOTER_HEIGHT`,36),n(this,`ENABLE_SELECTOR`,!0),n(this,`TREE_SELECT_MODE`,`auto`),n(this,`TREE_CHILDREN_KEY`,`children`),n(this,`TREE_INDENT`,20),n(this,`TREE_ICON_SIZE`,20),n(this,`TREE_LINE`,!1),n(this,`TREE_LINE_COLOR`,`#e1e6eb`),n(this,`ENABLE_EDIT_SINGLE_CLICK`,!1),n(this,`ENABLE_EDIT_CLICK_SELECTOR`,!0),n(this,`SELECTOR_AREA_MIN_X`,0),n(this,`SELECTOR_AREA_MAX_X_OFFSET`,0),n(this,`SELECTOR_AREA_MAX_X`,0),n(this,`SELECTOR_AREA_MIN_Y`,0),n(this,`SELECTOR_AREA_MAX_Y`,0),n(this,`SELECTOR_AREA_MAX_Y_OFFSET`,0),n(this,`SELECTOR_CELL_VALUE_TYPE`,`value`),n(this,`ENABLE_AUTO_THEME`,!0),n(this,`ENABLE_SELECTOR_SINGLE`,!1),n(this,`ENABLE_SELECTOR_SPAN_COL`,!0),n(this,`ENABLE_SELECTOR_SPAN_ROW`,!0),n(this,`ENABLE_SELECTOR_ALL_ROWS`,!0),n(this,`ENABLE_SELECTOR_ALL_COLS`,!0),n(this,`ENABLE_MERGE_CELL_LINK`,!1),n(this,`ENABLE_AUTOFILL`,!1),n(this,`ENABLE_AUTOFILL_SPAN_COL`,!0),n(this,`ENABLE_AUTOFILL_SPAN_ROW`,!0),n(this,`ENABLE_CONTEXT_MENU`,!1),n(this,`ENABLE_HEADER_CONTEXT_MENU`,!1),n(this,`ENABLE_TEXT_SELECTION`,!0),n(this,`ENABLE_COPY`,!0),n(this,`ENABLE_PASTER`,!0),n(this,`ENABLE_RESIZE_ROW`,!0),n(this,`ENABLE_RESIZE_COLUMN`,!0),n(this,`RESIZE_ROW_LINE_COLOR`,`#e1e6eb`),n(this,`RESIZE_COLUMN_LINE_COLOR`,`#e1e6eb`),n(this,`ENABLE_RESIZE_COLUMN_TEXT`,!0),n(this,`RESIZE_COLUMN_TEXT_COLOR`,`#fff`),n(this,`RESIZE_COLUMN_TEXT_BG_COLOR`,`rgb(82,146,247)`),n(this,`RESIZE_ROW_MIN_HEIGHT`,36),n(this,`RESIZE_COLUMN_MIN_WIDTH`,40),n(this,`DRAG_TIP_BG_COLOR`,`rgba(82,146,247,0.1)`),n(this,`DRAG_TIP_LINE_COLOR`,`rgb(82,146,247)`),n(this,`ENABLE_KEYBOARD`,!0),n(this,`ENABLE_HISTORY`,!1),n(this,`ENABLE_VALIDATOR_IMMEDIATE`,!0),n(this,`HISTORY_NUM`,50),n(this,`HIGHLIGHT_HOVER_ROW`,!1),n(this,`HIGHLIGHT_HOVER_ROW_COLOR`,`rgba(186,203,231,0.1)`),n(this,`HIGHLIGHT_SELECTED_ROW`,!1),n(this,`HIGHLIGHT_SELECTED_ROW_COLOR`,`rgba(82,146,247,0.1)`),n(this,`TOOLTIP_BG_COLOR`,`#303133`),n(this,`TOOLTIP_TEXT_COLOR`,`#fff`),n(this,`TOOLTIP_ZINDEX`,3e3),n(this,`TOOLTIP_CUSTOM_STYLE`,{}),n(this,`CONTEXT_MENU`,[{value:`copy`},{value:`cut`},{value:`paste`},{value:`clearSelected`}]),n(this,`CUSTOM_BODY_CONTEXT_MENU`,[]),n(this,`HEADER_CONTEXT_MENU`,[{value:`fixedLeft`},{value:`fixedRight`},{value:`fixedNone`},{value:`hide`},{value:`visible`},{value:`resetHeader`}]),n(this,`CUSTOM_HEADER_CONTEXT_MENU`,[]),n(this,`CELL_LINE_HEIGHT`,1.2),n(this,`AUTO_ROW_HEIGHT`,!1),n(this,`ENABLE_DRAG_COLUMN`,!1),n(this,`ENABLE_DRAG_ROW`,!1),n(this,`ENABLE_DRAG_ROW_CROSS_LEVEL`,!1),n(this,`ENABLE_DRAG_ROW_CUSTOM`,!1),n(this,`DRAG_ROW_TIP_LINE_COLOR`,`rgb(82,146,247)`),n(this,`DRAG_ROW_ICON_SVG`,``),n(this,`DRAG_ROW_ICON_SIZE`,18),n(this,`DRAG_ROW_ICON_COLOR`,`#bec4c7`),n(this,`HEADER_CELL_STYLE_METHOD`),n(this,`BODY_CELL_STYLE_METHOD`),n(this,`FOOTER_CELL_STYLE_METHOD`),n(this,`BODY_CELL_READONLY_METHOD`),n(this,`BODY_CELL_FORMATTER_METHOD`),n(this,`BODY_CELL_RULES_METHOD`),n(this,`BODY_CELL_TYPE_METHOD`),n(this,`BODY_CELL_EDITOR_METHOD`),n(this,`BODY_CELL_RENDER_METHOD`),n(this,`BODY_CELL_HOVER_ICON_METHOD`),n(this,`SPAN_METHOD`),n(this,`SELECTABLE_METHOD`),n(this,`EXPAND_LAZY_METHOD`),n(this,`BEFORE_VALUE_CHANGE_METHOD`),n(this,`BEFORE_PASTE_DATA_METHOD`),n(this,`BEFORE_AUTOFILL_DATA_METHOD`),n(this,`BEFORE_SET_SELECTOR_METHOD`),n(this,`BEFORE_SET_AUTOFILL_METHOD`),n(this,`BEFORE_HEADER_CONTEXT_MENU_METHOD`),n(this,`BEFORE_BODY_CONTEXT_MENU_METHOD`),n(this,`BEFORE_COPY_METHOD`),n(this,`BEFORE_DRAG_ROW_METHOD`),this._config=e,this.updateCssVar()}init(e){this._config=e,this.updateCssVar()}updateCssVar(){let e={};Object.keys(this).forEach(t=>{if(t.endsWith(`_COLOR`)||t.endsWith(`_FONT`)){let n=b(`--evt-${t.toLocaleLowerCase().replace(/_/g,`-`)}`);n&&(e[t]=n)}}),Object.assign(this,e,this._config)}}let ee=`<svg t="1724122015492" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4237" width="32" height="32"><path d="M401.472 316.992l159.04 217.664L591.488 512l-30.976-22.656-159.04 217.728q-2.24 3.008-3.84 6.464-1.6 3.456-2.496 7.104-0.896 3.648-1.024 7.424-0.192 3.84 0.384 7.552 0.64 3.712 1.92 7.296 1.28 3.52 3.2 6.784 1.984 3.2 4.544 6.016 2.56 2.752 5.632 4.992 3.072 2.24 6.464 3.84 3.456 1.6 7.168 2.496 3.648 0.896 7.424 1.024 3.776 0.192 7.488-0.448 3.776-0.576 7.296-1.856 3.584-1.28 6.784-3.264 3.2-1.92 6.016-4.48 2.816-2.56 5.056-5.632l159.04-217.728q3.584-4.928 5.504-10.752 1.92-5.76 1.92-11.904 0-6.08-1.92-11.904-1.92-5.76-5.504-10.752L463.488 271.68q-2.24-3.072-5.056-5.632-2.752-2.56-6.016-4.48-3.2-1.984-6.784-3.328-3.52-1.28-7.296-1.856-3.712-0.576-7.488-0.448-3.84 0.192-7.424 1.088-3.712 0.896-7.168 2.496-3.392 1.6-6.4 3.84-3.136 2.176-5.696 4.992-2.56 2.752-4.48 6.016-1.984 3.2-3.264 6.784-1.28 3.52-1.92 7.296-0.576 3.712-0.384 7.488 0.128 3.84 1.024 7.488 0.896 3.648 2.496 7.04 1.6 3.456 3.84 6.528z m30.976-61.056q-3.776 0-7.488 0.704-3.712 0.768-7.168 2.24-3.52 1.408-6.656 3.52-3.2 2.112-5.824 4.8-2.688 2.624-4.8 5.76-2.112 3.2-3.52 6.656-1.472 3.52-2.176 7.232-0.768 3.712-0.768 7.488 0 3.776 0.768 7.488 0.704 3.712 2.176 7.232 1.408 3.456 3.52 6.592 2.112 3.2 4.8 5.824 2.688 2.688 5.76 4.8 3.2 2.112 6.72 3.52 3.456 1.472 7.168 2.176 3.712 0.768 7.488 0.768 3.84 0 7.488-0.768 3.712-0.704 7.232-2.176 3.456-1.408 6.592-3.52 3.2-2.112 5.824-4.8 2.688-2.688 4.8-5.76 2.112-3.2 3.52-6.656 1.472-3.52 2.24-7.232 0.704-3.712 0.704-7.488 0-3.84-0.704-7.488-0.768-3.712-2.24-7.232-1.408-3.456-3.52-6.592-2.112-3.2-4.8-5.824-2.624-2.688-5.76-4.8-3.2-2.112-6.656-3.52-3.52-1.472-7.232-2.24Q436.224 256 432.448 256z m0 435.392q-3.776 0-7.488 0.704-3.712 0.768-7.168 2.176-3.52 1.472-6.656 3.584-3.2 2.112-5.824 4.736-2.688 2.688-4.8 5.824-2.112 3.2-3.52 6.656-1.472 3.52-2.176 7.232-0.768 3.712-0.768 7.488 0 3.776 0.768 7.488 0.704 3.712 2.176 7.168 1.408 3.52 3.52 6.656 2.112 3.2 4.8 5.76 2.688 2.752 5.76 4.8 3.2 2.112 6.72 3.584 3.456 1.472 7.168 2.176 3.712 0.768 7.488 0.768 3.84 0 7.488-0.768 3.712-0.704 7.232-2.176 3.456-1.472 6.592-3.584 3.2-2.048 5.824-4.736 2.688-2.688 4.8-5.824 2.112-3.2 3.52-6.656 1.472-3.456 2.24-7.168 0.704-3.712 0.704-7.488 0-3.84-0.704-7.488-0.768-3.712-2.24-7.232-1.408-3.52-3.52-6.656-2.112-3.136-4.8-5.76-2.624-2.688-5.76-4.8-3.2-2.112-6.656-3.584-3.52-1.408-7.232-2.176-3.712-0.704-7.488-0.704z" p-id="4238"></path></svg>\r
|
|
6
|
-
`,
|
|
7
|
-
`,
|
|
8
|
-
`,
|
|
9
|
-
`,
|
|
10
|
-
`,color:`#4E5969`},{name:`expand`,configName:`EXPAND_ICON_SVG`,configColorName:`EXPAND_ICON_COLOR`,svg:
|
|
11
|
-
`,color:``},{name:`checkbox-check`,configName:`CHECKBOX_CHECK_SVG`,configColorName:`CHECKBOX_COLOR`,svg:
|
|
12
|
-
`,color:`rgb(82,146,247)`},{name:`checkbox-check-disabled`,configName:`CHECKBOX_CHECK_DISABLED_SVG`,svg:
|
|
5
|
+
`);for(let e of i){if(e===``){r.push(``);continue}let n=e.split(``),i=``;for(let e of n){let n=i+e;this.ctx.measureText(n).width<=t?i=n:i?(r.push(i),i=e):(r.push(e),i=``)}i&&r.push(i)}let a=r.length>0?r:[``];return n&&this.textCacheMap.set(n,a),a}calculateTextHeight(e=``,t,n={}){let{font:r=`12px Arial`,padding:i=0,align:a=`center`,color:o=`#495060`,maxLineClamp:s=1,cacheTextKey:c=``}=n;this.ctx.save(),this.ctx.font=r,this.ctx.fillStyle=o,this.ctx.textAlign=a;let l=parseInt(r.match(/\d+/)?.[0]||`12`),u=l*(n.lineHeight||1.2),d=t-i*2,f=this.wrapText(e,d,c),p=1;return p=s===`auto`?f.length:f.length>s?s:f.length,this.ctx.restore(),Math.max(Math.floor(p*u+i*2),Math.floor(l+i*2))}handleEllipsis(e,t,n=0,r=`12px Arial`){this.ctx.save();let i=!1,a=e;if(this.ctx.font=r,e==null||e===``)return this.ctx.restore(),{_text:``,ellipsis:i};let o=this.ctx.measureText(`...`).width;if(t<=o+n*2)return this.ctx.restore(),{_text:``,ellipsis:!0};let s=this.ctx.measureText(e).width,c=t-n*2;if(s&&s>=c){i=!0;let t=0;for(let n=0;n<e.length;n++)if(t+=this.ctx.measureText(e[n]).width,t>=c-o){a=e.slice(0,n)+`...`,i=!0;break}}return this.ctx.restore(),{_text:a,ellipsis:i}}}class le{constructor(e){n(this,`_config`,{}),n(this,`CSS_PREFIX`,`e-virt-table`),n(this,`ICONS`,[]),n(this,`ROW_KEY`,``),n(this,`DISABLED`,!1),n(this,`HEADER_FONT`,`12px normal Arial`),n(this,`BODY_FONT`,`12px normal Arial`),n(this,`BORDER`,!0),n(this,`STRIPE`,!1),n(this,`STRIPE_COLOR`,`#fafafa`),n(this,`BORDER_COLOR`,`#e1e6eb`),n(this,`HEIGHT`,0),n(this,`PLACEHOLDER_COLOR`,`#CDD0DC`),n(this,`EMPTY_BODY_HEIGHT`,120),n(this,`EMPTY_CUSTOM_STYLE`,{}),n(this,`EMPTY_TEXT`,``),n(this,`LOADING_TEXT`,``),n(this,`MAX_HEIGHT`,1e3),n(this,`BORDER_RADIUS`,8),n(this,`ENABLE_OFFSET_HEIGHT`,!1),n(this,`OFFSET_HEIGHT`,0),n(this,`HEADER_HEIGHT`,36),n(this,`ENABLE_HEADER_STICKY`,!1),n(this,`HEADER_BG_COLOR`,`#F8FAFF`),n(this,`BODY_BG_COLOR`,`#FFF`),n(this,`HEADER_TEXT_COLOR`,`#1D2129`),n(this,`REQUIRED_COLOR`,`#F56C6C`),n(this,`BODY_TEXT_COLOR`,`#4E5969`),n(this,`FOOTER_TEXT_COLOR`,`#4E5969`),n(this,`LOADING_ICON_SVG`,``),n(this,`LOADING_ICON_COLOR`,`#4E5969`),n(this,`EXPAND_ICON_SVG`,``),n(this,`SHRINK_ICON_SVG`,``),n(this,`EXPAND_ICON_COLOR`,`#4E5969`),n(this,`SHRINK_ICON_COLOR`,`#4E5969`),n(this,`ERROR_TIP_ICON_COLOR`,`red`),n(this,`ERROR_TIP_ICON_SIZE`,6),n(this,`COLUMNS_ALIGN`,`left`),n(this,`COLUMNS_VERTICAL_ALIGN`,`middle`),n(this,`EXPAND_LAZY`,!0),n(this,`DEFAULT_EXPAND_ALL`,!1),n(this,`CELL_WIDTH`,100),n(this,`CELL_HEIGHT`,36),n(this,`CELL_PADDING`,8),n(this,`CELL_HOVER_ICON_SIZE`,14),n(this,`CELL_HOVER_ICON_BG_COLOR`,`#fff`),n(this,`CELL_HOVER_ICON_BORDER_COLOR`,`#DDE0EA`),n(this,`MIN_ZOOM`,.5),n(this,`MAX_ZOOM`,2),n(this,`ENABLE_ZOOM_WHEEL`,!0),n(this,`SCROLLER_TRACK_SIZE`,14),n(this,`scrollbarMode`,`outer`),n(this,`SCROLLBAR_SHOW_DELAY`,300),n(this,`SCROLLER_SIZE`,8),n(this,`SCROLLER_COLOR`,`#dee0e3`),n(this,`SCROLLER_TRACK_COLOR`,`#fff`),n(this,`SCROLLER_FOCUS_COLOR`,`#bbbec4`),n(this,`SELECT_BORDER_COLOR`,`rgb(82,146,247)`),n(this,`SELECT_AREA_COLOR`,`rgba(82,146,247,0.1)`),n(this,`SELECT_ROW_COL_BG_COLOR`,`transparent`),n(this,`AUTOFILL_POINT_BORDER_COLOR`,`#fff`),n(this,`EDIT_BG_COLOR`,`#fcf6ed`),n(this,`CHECKBOX_KEY`,``),n(this,`CHECKBOX_COLOR`,`rgb(82,146,247)`),n(this,`FINDER_CELL_BG_COLOR`,`rgb(255,229,144)`),n(this,`ENABLE_FINDER`,!0),n(this,`CHECKBOX_SIZE`,20),n(this,`CHECKBOX_DISABLED_SVG`,``),n(this,`CHECKBOX_DISABLED_COLOR`,`#F1F2F4`),n(this,`CHECKBOX_CHECK_SVG`,``),n(this,`CHECKBOX_UNCHECK_SVG`,``),n(this,`CHECKBOX_UNCHECK_COLOR`,`#DDE0EA`),n(this,`CHECKBOX_INDETERMINATE_SVG`,``),n(this,`CHECKBOX_CHECK_DISABLED_SVG`,``),n(this,`CHECKBOX_CHECK_DISABLED_COLOR`,`#DDE0EA`),n(this,`ICON_EDIT_SVG`,``),n(this,`ICON_EDIT_COLOR`,`#4E5969`),n(this,`ICON_SELECT_SVG`,``),n(this,`ICON_SELECT_COLOR`,`#4E5969`),n(this,`SORT_STRICTLY`,!0),n(this,`SORT_ASC_ICON_SVG`,``),n(this,`SORT_DESC_ICON_SVG`,``),n(this,`SORTABLE_ICON_SVG`,``),n(this,`SORT_ICON_COLOR`,`rgb(82,146,247)`),n(this,`READONLY_COLOR`,`#fff`),n(this,`READONLY_TEXT_COLOR`,`#4E5969`),n(this,`ERROR_TIP_COLOR`,`#ED3F14`),n(this,`FOOTER_BG_COLOR`,`#fafafa`),n(this,`FOOTER_FIXED`,!0),n(this,`FOOTER_POSITION`,`bottom`),n(this,`CELL_FOOTER_HEIGHT`,36),n(this,`ENABLE_SELECTOR`,!0),n(this,`TREE_SELECT_MODE`,`auto`),n(this,`TREE_CHILDREN_KEY`,`children`),n(this,`TREE_INDENT`,20),n(this,`TREE_ICON_SIZE`,20),n(this,`TREE_LINE`,!1),n(this,`TREE_LINE_COLOR`,`#e1e6eb`),n(this,`ENABLE_EDIT_SINGLE_CLICK`,!1),n(this,`ENABLE_EDIT_CLICK_SELECTOR`,!0),n(this,`SELECTOR_AREA_MIN_X`,0),n(this,`SELECTOR_AREA_MAX_X_OFFSET`,0),n(this,`SELECTOR_AREA_MAX_X`,0),n(this,`SELECTOR_AREA_MIN_Y`,0),n(this,`SELECTOR_AREA_MAX_Y`,0),n(this,`SELECTOR_AREA_MAX_Y_OFFSET`,0),n(this,`SELECTOR_CELL_VALUE_TYPE`,`value`),n(this,`ENABLE_AUTO_THEME`,!0),n(this,`ENABLE_SELECTOR_SINGLE`,!1),n(this,`ENABLE_SELECTOR_SPAN_COL`,!0),n(this,`ENABLE_SELECTOR_SPAN_ROW`,!0),n(this,`ENABLE_SELECTOR_ALL_ROWS`,!0),n(this,`ENABLE_SELECTOR_ALL_COLS`,!0),n(this,`ENABLE_MERGE_CELL_LINK`,!1),n(this,`ENABLE_AUTOFILL`,!1),n(this,`ENABLE_AUTOFILL_SPAN_COL`,!0),n(this,`ENABLE_AUTOFILL_SPAN_ROW`,!0),n(this,`ENABLE_CONTEXT_MENU`,!1),n(this,`ENABLE_HEADER_CONTEXT_MENU`,!1),n(this,`ENABLE_TEXT_SELECTION`,!0),n(this,`ENABLE_COPY`,!0),n(this,`ENABLE_PASTER`,!0),n(this,`ENABLE_RESIZE_ROW`,!0),n(this,`ENABLE_RESIZE_COLUMN`,!0),n(this,`RESIZE_ROW_LINE_COLOR`,`#e1e6eb`),n(this,`RESIZE_COLUMN_LINE_COLOR`,`#e1e6eb`),n(this,`ENABLE_RESIZE_COLUMN_TEXT`,!0),n(this,`RESIZE_COLUMN_TEXT_COLOR`,`#fff`),n(this,`RESIZE_COLUMN_TEXT_BG_COLOR`,`rgb(82,146,247)`),n(this,`RESIZE_ROW_MIN_HEIGHT`,36),n(this,`RESIZE_COLUMN_MIN_WIDTH`,40),n(this,`DRAG_TIP_BG_COLOR`,`rgba(82,146,247,0.1)`),n(this,`DRAG_TIP_LINE_COLOR`,`rgb(82,146,247)`),n(this,`ENABLE_KEYBOARD`,!0),n(this,`ENABLE_HISTORY`,!1),n(this,`ENABLE_VALIDATOR_IMMEDIATE`,!0),n(this,`HISTORY_NUM`,50),n(this,`HIGHLIGHT_HOVER_ROW`,!1),n(this,`HIGHLIGHT_HOVER_ROW_COLOR`,`rgba(186,203,231,0.1)`),n(this,`HIGHLIGHT_SELECTED_ROW`,!1),n(this,`HIGHLIGHT_SELECTED_ROW_COLOR`,`rgba(82,146,247,0.1)`),n(this,`TOOLTIP_BG_COLOR`,`#303133`),n(this,`TOOLTIP_TEXT_COLOR`,`#fff`),n(this,`TOOLTIP_ZINDEX`,3e3),n(this,`TOOLTIP_CUSTOM_STYLE`,{}),n(this,`CONTEXT_MENU`,[{value:`copy`},{value:`cut`},{value:`paste`},{value:`clearSelected`}]),n(this,`CUSTOM_BODY_CONTEXT_MENU`,[]),n(this,`HEADER_CONTEXT_MENU`,[{value:`fixedLeft`},{value:`fixedRight`},{value:`fixedNone`},{value:`hide`},{value:`visible`},{value:`resetHeader`}]),n(this,`CUSTOM_HEADER_CONTEXT_MENU`,[]),n(this,`CELL_LINE_HEIGHT`,1.2),n(this,`AUTO_ROW_HEIGHT`,!1),n(this,`ENABLE_DRAG_COLUMN`,!1),n(this,`ENABLE_DRAG_ROW`,!1),n(this,`ENABLE_DRAG_ROW_CROSS_LEVEL`,!1),n(this,`ENABLE_DRAG_ROW_CUSTOM`,!1),n(this,`DRAG_ROW_TIP_LINE_COLOR`,`rgb(82,146,247)`),n(this,`DRAG_ROW_ICON_SVG`,``),n(this,`DRAG_ROW_ICON_SIZE`,18),n(this,`DRAG_ROW_ICON_COLOR`,`#bec4c7`),n(this,`HEADER_CELL_STYLE_METHOD`),n(this,`BODY_CELL_STYLE_METHOD`),n(this,`FOOTER_CELL_STYLE_METHOD`),n(this,`BODY_CELL_READONLY_METHOD`),n(this,`BODY_CELL_FORMATTER_METHOD`),n(this,`BODY_CELL_RULES_METHOD`),n(this,`BODY_CELL_TYPE_METHOD`),n(this,`BODY_CELL_EDITOR_METHOD`),n(this,`BODY_CELL_RENDER_METHOD`),n(this,`BODY_CELL_HOVER_ICON_METHOD`),n(this,`SPAN_METHOD`),n(this,`SELECTABLE_METHOD`),n(this,`EXPAND_LAZY_METHOD`),n(this,`BEFORE_VALUE_CHANGE_METHOD`),n(this,`BEFORE_PASTE_DATA_METHOD`),n(this,`BEFORE_AUTOFILL_DATA_METHOD`),n(this,`BEFORE_SET_SELECTOR_METHOD`),n(this,`BEFORE_SET_AUTOFILL_METHOD`),n(this,`BEFORE_HEADER_CONTEXT_MENU_METHOD`),n(this,`BEFORE_BODY_CONTEXT_MENU_METHOD`),n(this,`BEFORE_COPY_METHOD`),n(this,`BEFORE_DRAG_ROW_METHOD`),this._config=e,this.updateCssVar()}init(e){this._config=e,this.updateCssVar()}updateCssVar(){let e={};Object.keys(this).forEach(t=>{if(t.endsWith(`_COLOR`)||t.endsWith(`_FONT`)){let n=b(`--evt-${t.toLocaleLowerCase().replace(/_/g,`-`)}`);n&&(e[t]=n)}}),Object.assign(this,e,this._config)}}let ue=`<svg t="1724122015492" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4237" width="32" height="32"><path d="M401.472 316.992l159.04 217.664L591.488 512l-30.976-22.656-159.04 217.728q-2.24 3.008-3.84 6.464-1.6 3.456-2.496 7.104-0.896 3.648-1.024 7.424-0.192 3.84 0.384 7.552 0.64 3.712 1.92 7.296 1.28 3.52 3.2 6.784 1.984 3.2 4.544 6.016 2.56 2.752 5.632 4.992 3.072 2.24 6.464 3.84 3.456 1.6 7.168 2.496 3.648 0.896 7.424 1.024 3.776 0.192 7.488-0.448 3.776-0.576 7.296-1.856 3.584-1.28 6.784-3.264 3.2-1.92 6.016-4.48 2.816-2.56 5.056-5.632l159.04-217.728q3.584-4.928 5.504-10.752 1.92-5.76 1.92-11.904 0-6.08-1.92-11.904-1.92-5.76-5.504-10.752L463.488 271.68q-2.24-3.072-5.056-5.632-2.752-2.56-6.016-4.48-3.2-1.984-6.784-3.328-3.52-1.28-7.296-1.856-3.712-0.576-7.488-0.448-3.84 0.192-7.424 1.088-3.712 0.896-7.168 2.496-3.392 1.6-6.4 3.84-3.136 2.176-5.696 4.992-2.56 2.752-4.48 6.016-1.984 3.2-3.264 6.784-1.28 3.52-1.92 7.296-0.576 3.712-0.384 7.488 0.128 3.84 1.024 7.488 0.896 3.648 2.496 7.04 1.6 3.456 3.84 6.528z m30.976-61.056q-3.776 0-7.488 0.704-3.712 0.768-7.168 2.24-3.52 1.408-6.656 3.52-3.2 2.112-5.824 4.8-2.688 2.624-4.8 5.76-2.112 3.2-3.52 6.656-1.472 3.52-2.176 7.232-0.768 3.712-0.768 7.488 0 3.776 0.768 7.488 0.704 3.712 2.176 7.232 1.408 3.456 3.52 6.592 2.112 3.2 4.8 5.824 2.688 2.688 5.76 4.8 3.2 2.112 6.72 3.52 3.456 1.472 7.168 2.176 3.712 0.768 7.488 0.768 3.84 0 7.488-0.768 3.712-0.704 7.232-2.176 3.456-1.408 6.592-3.52 3.2-2.112 5.824-4.8 2.688-2.688 4.8-5.76 2.112-3.2 3.52-6.656 1.472-3.52 2.24-7.232 0.704-3.712 0.704-7.488 0-3.84-0.704-7.488-0.768-3.712-2.24-7.232-1.408-3.456-3.52-6.592-2.112-3.2-4.8-5.824-2.624-2.688-5.76-4.8-3.2-2.112-6.656-3.52-3.52-1.472-7.232-2.24Q436.224 256 432.448 256z m0 435.392q-3.776 0-7.488 0.704-3.712 0.768-7.168 2.176-3.52 1.472-6.656 3.584-3.2 2.112-5.824 4.736-2.688 2.688-4.8 5.824-2.112 3.2-3.52 6.656-1.472 3.52-2.176 7.232-0.768 3.712-0.768 7.488 0 3.776 0.768 7.488 0.704 3.712 2.176 7.168 1.408 3.52 3.52 6.656 2.112 3.2 4.8 5.76 2.688 2.752 5.76 4.8 3.2 2.112 6.72 3.584 3.456 1.472 7.168 2.176 3.712 0.768 7.488 0.768 3.84 0 7.488-0.768 3.712-0.704 7.232-2.176 3.456-1.472 6.592-3.584 3.2-2.048 5.824-4.736 2.688-2.688 4.8-5.824 2.112-3.2 3.52-6.656 1.472-3.456 2.24-7.168 0.704-3.712 0.704-7.488 0-3.84-0.704-7.488-0.768-3.712-2.24-7.232-1.408-3.52-3.52-6.656-2.112-3.136-4.8-5.76-2.624-2.688-5.76-4.8-3.2-2.112-6.656-3.584-3.52-1.408-7.232-2.176-3.712-0.704-7.488-0.704z" p-id="4238"></path></svg>\r
|
|
6
|
+
`,de=`<svg t="1722595535853" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4551" width="32" height="32"><path d="M640 128H384c-170.496 0-256 85.504-256 256v256c0 170.496 85.504 256 256 256h256c170.496 0 256-85.504 256-256V384c0-170.496-85.504-256-256-256z m67.584 302.592c-2.048 4.608-4.608 8.704-8.192 12.288L506.88 634.88c-3.584 3.584-7.68 6.144-12.288 8.192-4.608 2.048-9.728 3.072-14.848 3.072s-10.24-1.024-14.848-3.072c-4.608-2.048-8.704-4.608-12.288-8.192l-96.256-96.256c-3.584-3.584-6.144-7.68-8.192-12.288-2.048-4.608-3.072-9.728-3.072-14.848 0-2.56 0-5.12 1.024-7.68 0.512-2.56 1.024-5.12 2.048-7.168 1.024-2.56 2.048-4.608 3.584-6.656 1.536-2.048 3.072-4.096 4.608-5.632 1.536-2.048 3.584-3.584 5.632-4.608 2.048-1.536 4.096-2.56 6.656-3.584 2.56-1.024 4.608-1.536 7.168-2.048 2.56-0.512 5.12-0.512 7.68-0.512 5.12 0 10.24 1.024 14.848 3.072 4.608 2.048 8.704 4.608 12.288 8.192l69.12 68.608L645.12 389.12c3.584-3.584 7.68-6.144 12.288-8.192 4.608-2.048 9.728-3.072 14.848-3.072 2.56 0 5.12 0 7.68 0.512s5.12 1.024 7.168 2.048c2.56 1.024 4.608 2.048 6.656 3.584 2.048 1.536 4.096 3.072 5.632 4.608 1.536 1.536 3.584 3.584 4.608 5.632 1.536 2.048 2.56 4.096 3.584 6.656 1.024 2.56 1.536 4.608 2.048 7.168 0.512 2.56 1.024 5.12 1.024 7.68 0 5.12-1.024 10.24-3.072 14.848z" p-id="4552"></path></svg>
|
|
7
|
+
`,fe=`<svg t="1724122044148" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4551" width="32" height="32"><path d="M707.648 401.28L489.28 560.704l22.656 30.976 22.656-30.976L316.16 401.216q-3.072-2.24-6.464-3.84-3.456-1.536-7.104-2.432-3.712-0.896-7.488-1.088-3.776-0.128-7.488 0.448-3.776 0.64-7.296 1.92-3.584 1.28-6.784 3.2-3.2 1.984-6.016 4.544-2.816 2.56-5.056 5.632-2.176 3.072-3.84 6.464-1.536 3.456-2.432 7.104-0.896 3.712-1.088 7.488-0.128 3.776 0.448 7.488 0.64 3.776 1.92 7.296 1.28 3.584 3.2 6.784 1.984 3.2 4.544 6.016 2.56 2.752 5.632 4.992l218.368 159.552q4.928 3.584 10.752 5.504 5.76 1.92 11.904 1.92 6.08 0 11.904-1.92 5.76-1.92 10.752-5.504l218.368-159.552q3.008-2.24 5.568-4.992 2.56-2.816 4.544-6.016 1.92-3.2 3.264-6.784 1.28-3.52 1.92-7.296 0.576-3.712 0.384-7.488-0.128-3.84-1.024-7.488-0.896-3.648-2.496-7.04-1.6-3.456-3.84-6.528-2.24-3.072-4.992-5.632-2.816-2.56-6.016-4.48-3.2-1.984-6.784-3.328-3.584-1.28-7.296-1.856-3.712-0.64-7.488-0.448-3.84 0.192-7.488 1.088-3.648 0.896-7.04 2.496-3.456 1.536-6.528 3.84z m61.056 30.976q0-3.84-0.768-7.488-0.704-3.712-2.176-7.232-1.472-3.456-3.52-6.656-2.112-3.136-4.8-5.76-2.688-2.688-5.76-4.8-3.2-2.112-6.72-3.584-3.456-1.408-7.168-2.176-3.712-0.704-7.488-0.704-3.84 0-7.488 0.704-3.712 0.768-7.232 2.176-3.456 1.472-6.656 3.584-3.136 2.112-5.76 4.8-2.688 2.624-4.8 5.76-2.112 3.2-3.584 6.656-1.408 3.52-2.176 7.232-0.704 3.712-0.704 7.488 0 3.776 0.704 7.488 0.768 3.712 2.176 7.168 1.472 3.52 3.584 6.656 2.112 3.2 4.8 5.824 2.624 2.688 5.76 4.8 3.2 2.112 6.656 3.52 3.52 1.472 7.232 2.176 3.712 0.768 7.488 0.768 3.776 0 7.488-0.768 3.712-0.704 7.168-2.176 3.52-1.408 6.656-3.52 3.2-2.112 5.824-4.8 2.688-2.688 4.8-5.76 2.048-3.2 3.52-6.72 1.472-3.456 2.176-7.168 0.768-3.712 0.768-7.488z m-436.736 0q0-3.84-0.768-7.488-0.704-3.712-2.176-7.232-1.408-3.456-3.52-6.656-2.112-3.136-4.8-5.76-2.688-2.688-5.76-4.8-3.2-2.112-6.656-3.584-3.52-1.408-7.232-2.176-3.712-0.704-7.488-0.704-3.84 0-7.488 0.704-3.712 0.768-7.232 2.176-3.456 1.472-6.592 3.584-3.2 2.112-5.824 4.8-2.688 2.624-4.8 5.76-2.112 3.2-3.52 6.656-1.472 3.52-2.24 7.232-0.704 3.712-0.704 7.488 0 3.776 0.704 7.488 0.768 3.712 2.24 7.168 1.408 3.52 3.52 6.656 2.112 3.2 4.8 5.824 2.624 2.688 5.76 4.8 3.2 2.112 6.656 3.52 3.52 1.472 7.232 2.176 3.712 0.768 7.488 0.768 3.776 0 7.488-0.768 3.712-0.704 7.232-2.176 3.456-1.408 6.592-3.52 3.2-2.112 5.824-4.8 2.688-2.688 4.8-5.76 2.112-3.2 3.52-6.72 1.472-3.456 2.176-7.168 0.768-3.712 0.768-7.488z" p-id="4552"></path></svg>
|
|
8
|
+
`,pe=`<svg t="1755138507987" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5079" width="200" height="200"><path d="M512 938.688a42.688 42.688 0 0 1-35.072-18.432l-192-277.312A42.56 42.56 0 0 1 320 576h384a42.752 42.752 0 0 1 35.072 66.944l-192 277.312a42.688 42.688 0 0 1-35.072 18.432" fill="currentColor" p-id="2016"></path><path d="M704 448H320a42.752 42.752 0 0 1-35.072-66.944l192-277.312c16-23.04 54.208-23.04 70.144 0l192 277.312A42.56 42.56 0 0 1 704 448" fill="currentColor" p-id="2015"></path></svg>
|
|
9
|
+
`,me=pe.replace(`fill="currentColor" p-id="2016"`,`fill="#bec4c7" p-id="2016"`),he=pe.replace(`fill="currentColor" p-id="2015"`,`fill="#bec4c7" p-id="2015"`);class ge{constructor(e){n(this,`ctx`),n(this,`list`,[{name:`loading`,configName:`LOADING_ICON_SVG`,configColorName:`LOADING_ICON_COLOR`,svg:`<svg t="1724133395728" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2893" width="32" height="32"><path d="M512 226.8476541a19.82487759 19.82487759 0 0 1 14.66497778 5.70304692c3.80203107 3.82918865 5.70304692 8.71751457 5.70304693 14.66497779v122.20814825a19.82487759 19.82487759 0 0 1-5.70304693 14.66497778 19.82487759 19.82487759 0 0 1-14.66497778 5.70304691 19.82487759 19.82487759 0 0 1-14.66497778-5.70304691 19.82487759 19.82487759 0 0 1-5.70304693-14.66497778v-122.20814825a19.82487759 19.82487759 0 0 1 5.70304693-14.66497779 19.82487759 19.82487759 0 0 1 14.66497778-5.70304692z m0 407.36049415a19.82487759 19.82487759 0 0 1 14.66497778 5.70304691c3.80203107 3.82918865 5.70304692 8.71751457 5.70304693 14.66497778v122.20814827a19.82487759 19.82487759 0 0 1-5.70304693 14.66497776 19.82487759 19.82487759 0 0 1-14.66497778 5.70304693 19.82487759 19.82487759 0 0 1-14.66497778-5.70304693 19.82487759 19.82487759 0 0 1-5.70304693-14.66497776v-122.20814827a19.82487759 19.82487759 0 0 1 5.70304693-14.66497778 19.82487759 19.82487759 0 0 1 14.66497778-5.70304691zM797.1523459 512a19.82487759 19.82487759 0 0 1-5.70304692 14.66497778 19.82487759 19.82487759 0 0 1-14.66497779 5.70304693h-122.20814825a19.82487759 19.82487759 0 0 1-14.66497778-5.70304693 19.82487759 19.82487759 0 0 1-5.70304691-14.66497778 19.82487759 19.82487759 0 0 1 5.70304691-14.66497778 19.82487759 19.82487759 0 0 1 14.66497778-5.70304693h122.20814825a19.82487759 19.82487759 0 0 1 14.66497779 5.70304693c3.80203107 3.82918865 5.70304692 8.71751457 5.70304692 14.66497778z m-407.36049415 0a19.82487759 19.82487759 0 0 1-5.70304691 14.66497778 19.82487759 19.82487759 0 0 1-14.66497778 5.70304693h-122.20814827a19.82487759 19.82487759 0 0 1-14.66497776-5.70304693 19.82487759 19.82487759 0 0 1-5.70304693-14.66497778 19.82487759 19.82487759 0 0 1 5.70304693-14.66497778 19.82487759 19.82487759 0 0 1 14.66497776-5.70304693h122.20814827a19.82487759 19.82487759 0 0 1 14.66497778 5.70304693c3.80203107 3.82918865 5.70304692 8.71751457 5.70304691 14.66497778zM310.22076878 310.22076878a21.29137537 21.29137537 0 0 1 14.66497779-5.70304693c5.51294514 0 10.18401235 1.90101585 14.01320099 5.70304693l86.55052591 86.57768347a20.91117183 20.91117183 0 0 1 5.73020449 14.31193182 19.28172983 19.28172983 0 0 1-6.05609289 14.013201 19.11878565 19.11878565 0 0 1-14.013201 6.05609289 20.96548698 20.96548698 0 0 1-14.31193182-5.70304692L310.22076878 338.87178998a19.06447114 19.06447114 0 0 1-5.70304693-14.01320099c0-5.54010272 1.90101585-10.42842865 5.70304693-14.66497778z m288.32975775 288.32975775a19.79772001 19.79772001 0 0 1 14.3390894-6.35482371c5.29568642 0 10.04822572 2.11827457 14.31193182 6.38198066l86.57768347 86.55052651c3.80203107 3.80203107 5.70304692 8.47309828 5.70304691 14.01320102a19.55330372 19.55330372 0 0 1-6.05609225 14.31193182 19.66193339 19.66193339 0 0 1-14.31193245 6.05609288 19.01015661 19.01015661 0 0 1-14.01320099-5.70304692l-86.55052591-86.57768347a19.79772001 19.79772001 0 0 1-6.38198129-14.31193245c0-5.29568642 2.11827457-10.07538268 6.38198129-14.33908939zM713.77923122 310.22076878c3.80203107 4.26370672 5.70304692 9.15203265 5.70304693 14.66497779s-1.90101585 10.18401235-5.70304693 14.01320099l-86.57768347 86.55052591a20.91117183 20.91117183 0 0 1-14.31193182 5.73020449 19.28172983 19.28172983 0 0 1-14.013201-6.05609289 19.11878565 19.11878565 0 0 1-6.05609289-14.013201c0-5.29568642 1.90101585-10.07538268 5.70304692-14.31193182l86.57768348-86.57768347c3.80203107-3.80203107 8.50025585-5.70304692 14.01320099-5.70304693 5.54010272 0 10.40127108 1.90101585 14.66497779 5.70304693zM425.44947347 598.57768347a19.79772001 19.79772001 0 0 1 6.35482371 14.33908939c0 5.29568642-2.11827457 10.04822572-6.38198066 14.31193245L338.89894756 713.77923122a19.06447114 19.06447114 0 0 1-14.01320099 5.70304693 19.55330372 19.55330372 0 0 1-14.31193245-6.05609227 19.68909035 19.68909035 0 0 1-6.05609227-14.31193245 19.01015661 19.01015661 0 0 1 5.70304693-14.01320099l86.57768347-86.55052591a19.79772001 19.79772001 0 0 1 14.31193182-6.38198129c5.29568642 0 10.07538268 2.11827457 14.3390894 6.38198129z" fill="#000000" fill-opacity=".65" p-id="2894"></path></svg>
|
|
10
|
+
`,color:`#4E5969`},{name:`expand`,configName:`EXPAND_ICON_SVG`,configColorName:`EXPAND_ICON_COLOR`,svg:ue,color:`#4E5969`},{name:`shrink`,configName:`SHRINK_ICON_SVG`,configColorName:`SHRINK_ICON_COLOR`,svg:fe,color:`#4E5969`},{name:`checkbox-uncheck`,configName:`CHECKBOX_UNCHECK_SVG`,configColorName:`CHECKBOX_UNCHECK_COLOR`,svg:`<svg t="1722595639920" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4708" width="32" height="32"><path d="M128 640V384a256 256 0 0 1 256-256h256a256 256 0 0 1 256 256v256a256 256 0 0 1-256 256H384a256 256 0 0 1-256-256z m64 0q0 79.552 56.256 135.744Q304.448 832 384 832h256q79.552 0 135.744-56.256Q832 719.552 832 640V384q0-79.552-56.256-135.744Q719.552 192 640 192H384q-79.552 0-135.744 56.256Q192 304.448 192 384v256z" p-id="4709"></path></svg>
|
|
11
|
+
`,color:``},{name:`checkbox-check`,configName:`CHECKBOX_CHECK_SVG`,configColorName:`CHECKBOX_COLOR`,svg:de,color:`rgb(82,146,247)`},{name:`checkbox-indeterminate`,configName:`CHECKBOX_INDETERMINATE_SVG`,configColorName:`CHECKBOX_COLOR`,svg:`<svg t="1722595280953" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4394" width="32" height="32"><path d="M128 384v256q0 12.608 1.28 25.088 1.216 12.544 3.648 24.832 2.432 12.352 6.08 24.384t8.448 23.68q4.864 11.584 10.752 22.72 5.952 11.072 12.928 21.504 7.04 10.496 14.976 20.224 8 9.728 16.896 18.56 8.896 8.96 18.56 16.896 9.728 8 20.224 14.976 10.432 7.04 21.504 12.928 11.136 5.888 22.72 10.688 11.648 4.864 23.68 8.512 12.032 3.648 24.32 6.08 12.352 2.432 24.896 3.712Q371.392 896 384 896h256q12.608 0 25.088-1.28 12.544-1.216 24.832-3.648 12.352-2.432 24.384-6.08t23.68-8.512q11.584-4.8 22.72-10.688 11.072-5.952 21.504-12.928 10.496-7.04 20.224-14.976 9.728-8 18.56-16.896 8.96-8.832 16.896-18.56 8-9.728 14.976-20.224 7.04-10.432 12.928-21.504 5.888-11.136 10.688-22.72 4.864-11.648 8.512-23.68 3.648-12.032 6.08-24.32 2.432-12.352 3.712-24.896Q896 652.608 896 640V384q0-12.608-1.28-25.088-1.216-12.544-3.648-24.832-2.432-12.352-6.08-24.384t-8.512-23.68q-4.8-11.584-10.688-22.72-5.952-11.072-12.928-21.504-7.04-10.496-14.976-20.224-8-9.664-16.896-18.56-8.832-8.96-18.56-16.896-9.728-8-20.224-14.976-10.432-7.04-21.504-12.928-11.136-5.888-22.72-10.752-11.648-4.8-23.68-8.448-12.032-3.648-24.32-6.08-12.352-2.432-24.896-3.712Q652.608 128 640 128H384q-12.608 0-25.088 1.28-12.544 1.216-24.832 3.648-12.352 2.432-24.384 6.08t-23.68 8.448q-11.584 4.864-22.72 10.752-11.072 5.952-21.504 12.928-10.496 7.04-20.224 14.976-9.664 8-18.56 16.896-8.96 8.896-16.896 18.56-8 9.728-14.976 20.224-7.04 10.432-12.928 21.504-5.888 11.136-10.752 22.72-4.8 11.648-8.448 23.68-3.648 12.032-6.08 24.32-2.432 12.352-3.712 24.896Q128 371.392 128 384z m566.016 166.336H330.112a38.4 38.4 0 0 1 0-76.8h363.904a38.4 38.4 0 0 1 0 76.8z" p-id="4395"></path></svg>
|
|
12
|
+
`,color:`rgb(82,146,247)`},{name:`checkbox-check-disabled`,configName:`CHECKBOX_CHECK_DISABLED_SVG`,svg:de,color:`#DDE0EA`},{name:`checkbox-disabled`,configName:`CHECKBOX_DISABLED_SVG`,configColorName:`CHECKBOX_DISABLED_COLOR`,svg:`<svg t="1722595946663" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4865" width="32" height="32"><path d="M128 640V384a256 256 0 0 1 256-256h256a256 256 0 0 1 256 256v256a256 256 0 0 1-256 256H384a256 256 0 0 1-256-256z" p-id="4866"></path><path d="M128 640V384a256 256 0 0 1 256-256h256a256 256 0 0 1 256 256v256a256 256 0 0 1-256 256H384a256 256 0 0 1-256-256z m64 0q0 79.552 56.256 135.744Q304.448 832 384 832h256q79.552 0 135.744-56.256Q832 719.552 832 640V384q0-79.552-56.256-135.744Q719.552 192 640 192H384q-79.552 0-135.744 56.256Q192 304.448 192 384v256z" fill="#DDE0EA" p-id="4867"></path></svg>
|
|
13
13
|
`,color:`#F1F2F4`},{name:`icon-edit`,configName:`ICON_EDIT_SVG`,configColorName:`ICON_EDIT_COLOR`,svg:`<svg t="1744798692576" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6606" width="200" height="200"><path d="M855.296 894.528H168.768v-76.8h686.528v76.8z m38.4-38.4q0 3.84-0.768 7.488-0.704 3.712-2.176 7.232-1.472 3.52-3.52 6.656-2.112 3.136-4.8 5.76-2.688 2.688-5.824 4.8-3.2 2.112-6.656 3.584-3.456 1.408-7.168 2.176-3.712 0.704-7.488 0.704-3.84 0-7.488-0.704-3.712-0.768-7.232-2.176-3.52-1.472-6.656-3.584-3.136-2.112-5.76-4.736-2.688-2.688-4.8-5.824-2.112-3.2-3.584-6.656-1.408-3.52-2.176-7.232-0.704-3.648-0.704-7.488 0-3.776 0.704-7.488 0.768-3.712 2.176-7.168 1.472-3.52 3.584-6.656 2.112-3.136 4.736-5.76 2.688-2.752 5.824-4.8 3.2-2.112 6.656-3.584 3.52-1.472 7.232-2.176 3.712-0.768 7.488-0.768 3.776 0 7.488 0.768 3.712 0.704 7.168 2.176 3.52 1.472 6.656 3.584 3.2 2.048 5.76 4.736 2.752 2.688 4.864 5.824 2.048 3.2 3.52 6.656 1.472 3.456 2.176 7.168 0.768 3.712 0.768 7.488z m-686.528 0q0 3.84-0.768 7.488-0.704 3.712-2.176 7.232-1.472 3.52-3.52 6.656-2.112 3.136-4.8 5.76-2.688 2.688-5.76 4.8-3.2 2.112-6.72 3.584-3.456 1.408-7.168 2.176-3.712 0.704-7.488 0.704-3.84 0-7.488-0.704-3.712-0.768-7.232-2.176-3.456-1.472-6.656-3.584-3.136-2.112-5.76-4.736-2.688-2.688-4.8-5.824-2.112-3.2-3.584-6.656-1.408-3.52-2.176-7.232-0.704-3.648-0.704-7.488 0-3.776 0.704-7.488 0.768-3.712 2.176-7.168 1.472-3.52 3.584-6.656 2.112-3.136 4.736-5.76 2.688-2.752 5.824-4.8 3.2-2.112 6.656-3.584 3.52-1.472 7.232-2.176 3.712-0.768 7.488-0.768 3.776 0 7.488 0.768 3.712 0.704 7.168 2.176 3.52 1.472 6.656 3.584 3.2 2.048 5.824 4.736 2.688 2.688 4.8 5.824 2.048 3.2 3.52 6.656 1.472 3.456 2.176 7.168 0.768 3.712 0.768 7.488zM652.032 211.2l-369.92 370.368v89.344h90.048l369.664-369.856L652.032 211.2z m-54.4-54.272q22.528-22.528 54.4-22.528 31.808 0 54.336 22.528l89.792 89.856q22.464 22.464 22.464 54.272t-22.464 54.272l-369.664 369.856q-22.464 22.528-54.336 22.528H282.24q-31.808 0-54.336-22.528-22.464-22.464-22.464-54.272V581.568q0-31.808 22.4-54.272l369.92-370.368z" p-id="6607"></path></svg>
|
|
14
|
-
`,color:`#4E5969`},{name:`icon-select`,configName:`ICON_SELECT_SVG`,configColorName:`ICON_SELECT_COLOR`,svg:
|
|
15
|
-
`,color:`#4E5969`}]),n(this,`icons`,new Map),this.ctx=e,this.init()}async init(){let e=[];for(let t=0;t<this.list.length;t++){let n=this.list[t],r=n.color,i=n.svg;if(n.configColorName){let e=this.ctx.config[n.configColorName];e&&(r=e)}if(n.configName){let e=this.ctx.config[n.configName];e&&(i=e)}let a=this.createImageFromSVG(i,r).then(e=>{this.icons.set(n.name,e)});e.push(a)}for(let t=0;t<this.ctx.config.ICONS.length;t++){let n=this.ctx.config.ICONS[t],r=n.color,i=this.createImageFromSVG(n.svg,r,n.isBlob).then(e=>{this.icons.set(n.name,e)});e.push(i)}await Promise.all(e),this.ctx.emit(`draw`)}async createImageFromSVG(e,t,n=!1){let r=new DOMParser().parseFromString(e,`image/svg+xml`).documentElement;t&&r.querySelectorAll(`*`).forEach(e=>{let n=e.getAttribute(`fill`);(n===`currentColor`||n===null)&&e.setAttribute(`fill`,t)});let i=new Image,a=``;if(n){let e=new Blob([new XMLSerializer().serializeToString(r)],{type:`image/svg+xml`});a=URL.createObjectURL(e)}else a=`data:image/svg+xml;charset=utf-8,`+encodeURIComponent(new XMLSerializer().serializeToString(r));return i.src=a,new Promise((t,n)=>{i.onerror=()=>n(Error(`Failed to load image:`+e)),i.onload=()=>{t(i)}})}get(e){return this.icons.get(e)}getSvg(e){return this.list.find(t=>t.name===e)}}class ie{constructor(e){n(this,`ctx`),n(this,`visibleHoverCell`),n(this,`resizeObserver`),n(this,`mutationObserver`),this.ctx=e,this.init()}init(){this.resizeObserver=new ResizeObserver(e=>{this.ctx.emit(`resetHeader`),this.ctx.emit(`resizeObserver`,e),this.ctx.emit(`containerResize`,this.ctx.containerElement)}),this.resizeObserver.observe(this.ctx.containerElement),this.mutationObserver=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`class`&&(this.ctx.config.updateCssVar(),this.ctx.emit(`draw`))}),this.ctx.config.ENABLE_AUTO_THEME&&this.mutationObserver.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),this.ctx.on(`mousedown`,e=>{if(this.isBusy(e))return;let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n;this.isInsideBody(i,r)||this.ctx.emit(`mousedownBodyOutside`,e),e.button===0&&(this.handleHeaderEvent(i,r,this.ctx.header.renderCellHeaders,t=>{this.ctx.focusCellHeader=t,this.ctx.focusCell=void 0,this.ctx.emit(`cellHeaderMousedown`,t,e)}),this.handleBodyEvent(i,r,this.ctx.body.renderRows,t=>{this.ctx.setFocusCell(t),this.ctx.focusCellHeader=void 0,this.ctx.emit(`cellMousedown`,t,e)},!0))}),this.ctx.on(`mouseup`,e=>{if(e.button!==0||this.isBusy(e))return;let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n;this.handleHeaderEvent(i,r,this.ctx.header.renderCellHeaders,t=>{this.ctx.emit(`cellHeaderMouseup`,t,e)}),this.handleBodyEvent(i,r,this.ctx.body.renderRows,t=>{this.ctx.emit(`cellMouseup`,t,e)})}),this.ctx.on(`click`,e=>{if(e.button!==0||this.isBusy(e))return;let t=this.ctx.getOffset(e).offsetY,n=this.ctx.getOffset(e).offsetX;this.handleHeaderEvent(n,t,this.ctx.header.renderCellHeaders,t=>{this.ctx.clickCellHeader=t,this.ctx.emit(`cellHeaderClick`,t,e)}),this.handleBodyEvent(n,t,this.ctx.body.renderRows,r=>{this.ctx.clickCell=r,this.ctx.emit(`cellClick`,r,e);let i=r.getImage(`hover`);!this.ctx.disableHoverIconClick&&i&&i.isInside(n,t)&&this.ctx.emit(`hoverIconClick`,r)},!0)}),this.ctx.on(`dblclick`,e=>{if(e.button!==0||this.isBusy(e))return;let t=this.ctx.getOffset(e).offsetY,n=this.ctx.getOffset(e).offsetX;this.handleHeaderEvent(n,t,this.ctx.header.renderCellHeaders,t=>{this.ctx.emit(`cellHeaderDblclick`,t,e)}),this.handleBodyEvent(n,t,this.ctx.body.renderRows,t=>{this.ctx.clickCell=t,this.ctx.emit(`cellDblclick`,t,e)})}),this.ctx.on(`contextMenu`,e=>{if(this.isBusy(e))return;let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n;this.handleHeaderEvent(i,r,this.ctx.header.renderCellHeaders,t=>{this.ctx.emit(`cellHeaderContextMenuClick`,t,e)}),this.handleBodyEvent(i,r,this.ctx.body.renderRows,t=>{this.ctx.emit(`cellContextMenuClick`,t,e)})}),this.ctx.on(`mouseout`,e=>{!this.ctx.containerElement.contains(e.relatedTarget)&&this.ctx.hoverCell!==void 0&&(this.ctx.hoverRow=void 0,this.ctx.hoverCell=void 0,this.ctx.emit(`draw`))}),this.ctx.on(`mousemove`,e=>{if(this.isBusy(e))return;!this.ctx.mousedown&&this.ctx.stageElement.style.cursor!=="default"&&(this.ctx.stageElement.style.cursor=`default`);let t=this.ctx.getOffset(e).offsetY,n=this.ctx.getOffset(e).offsetX;this.handleHeaderEvent(n,t,this.ctx.header.renderCellHeaders,t=>{this.imageEnterAndLeave(t,e),this.ctx.emit(`cellHeaderMouseenter`,t,e),this.ctx.hoverCellHeader&&this.ctx.hoverCellHeader!==t&&this.ctx.emit(`cellHeaderMouseleave`,this.ctx.hoverCellHeader,e),this.ctx.hoverCellHeader!==t&&(this.ctx.hoverCellHeader=t,this.visibleHoverCell=void 0,this.ctx.emit(`cellHeaderHoverChange`,t,e))}),this.handleBodyEvent(n,t,this.ctx.body.renderRows,t=>{this.imageEnterAndLeave(t,e),this.visibleHoverCell!==t&&(this.ctx.emit(`visibleCellMouseleave`,t,e),this.visibleHoverCell=t,this.ctx.hoverCellHeader=void 0,this.ctx.emit(`visibleCellHoverChange`,t,e))},!0),this.handleBodyEvent(n,t,this.ctx.body.renderRows,t=>{this.ctx.emit(`cellMouseenter`,t,e),this.ctx.hoverCell&&this.ctx.hoverCell!==t&&this.ctx.emit(`cellMouseleave`,t,e),this.ctx.hoverCell!==t&&(this.ctx.hoverCell?.rowKey!==t.rowKey&&(this.ctx.hoverCell=t,this.ctx.hoverRow=this.ctx.body.renderRows.find(e=>e.rowKey===t.rowKey),this.ctx.emit(`rowHoverChange`,this.ctx.hoverRow,t,e),this.ctx.emit(`draw`)),this.ctx.hoverCell=t,this.ctx.emit(`cellHoverChange`,t,e))}),this.handleFooterEvent(n,t,this.ctx.footer.renderRows,t=>{this.ctx.emit(`cellFooterMouseenter`,t,e),this.ctx.hoverCell&&this.ctx.hoverCell!==t&&this.ctx.emit(`cellFooterMouseleave`,t,e),this.ctx.emit(`cellFooterHoverChange`,t,e)})})}imageEnterAndLeave(e,t){if(this.ctx.dragRowIng||this.ctx.dragHeaderIng||this.ctx.selectColsIng||this.ctx.selectRowsIng||this.ctx.selectorMove||this.ctx.autofillMove)return;let{offsetY:n,offsetX:r}=this.ctx.getOffset(t),i=n,a=r;e.cellImages.forEach((e,t)=>{e.isInside(a,i)&&(t===`drag`?this.ctx.stageElement.style.cursor=`grab`:this.ctx.stageElement.style.cursor=`pointer`)})}isBusy(e){let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n;if(this.ctx.loading||!this.ctx.isTarget(e)||this.ctx.stageElement.style.cursor===`row-resize`||this.ctx.stageElement.style.cursor===`col-resize`||this.ctx.columnResizing||this.ctx.rowResizing)return!0;let{SCROLLER_TRACK_SIZE:a}=this.ctx.config;return!!(this.ctx.scrollerMove||this.ctx.scrollerFocus||r>this.ctx.stageHeight-a||i>this.ctx.stageWidth-a)}handleBodyEvent(e,t,n,r,i=!1){if(this.isInsideBody(e,t))for(let a of n){let n=a.fixedCells.concat(a.noFixedCells);for(let a of n)if(i?a.isInsideVisible(e,t):a.isInside(e,t)){r(a);return}}}handleHeaderEvent(e,t,n,r){for(let i of n)if(i.isInside(e,t)){r(i);return}}handleFooterEvent(e,t,n,r){for(let i of n){let n=i.fixedCells.concat(i.noFixedCells);for(let i of n)if(i.isInside(e,t)){r(i);return}}}isInsideBody(e,t){let{body:{y:n,visibleHeight:r,height:i,visibleWidth:a}}=this.ctx;return e>0&&e<a&&t>n&&t<n+Math.min(i,r)}destroy(){this.resizeObserver.unobserve(this.ctx.stageElement),this.mutationObserver.disconnect()}}let ae={numberErrorTip:`只允许输入数字`,emptyText:`暂无数据`,loadingText:`加载中...`,copy:`复制`,cut:`剪切`,paste:`粘贴`,clearSelected:`清空选中内容`,fixedLeft:`左固定`,fixedRight:`右固定`,fixedNone:`取消固定`,hide:`隐藏`,visible:`显示`,resetHeader:`恢复默认`,invalidNumber:`请输入数字类型`,mergeCellNoFill:`合并单元格不能填充`,mergeCellNoCopy:`合并单元格不能复制`,mergeCellNoPaste:`合并单元格不能粘贴`,numberTruncated:`输入的数字已截取至小数点后{precision}位`,batchSetItemValueError:`批量赋值错误`,numberMin:`输入值小于{min},已自动调整为{min}`,numberMax:`输入值大于{max},已自动调整为{max}`,stringMaxlength:`输入值超过{maxlength}个字符,已自动截取`};class oe{constructor(){n(this,`langConfig`)}use(e){this.langConfig=e}getText(e,t){let n={...ae};Object.assign(n,an.locale,this.langConfig);let r=n[e];return r?r.replace(/{(\w+)}/g,(e,n)=>t?.[n]||e):``}}let se=/^-?\d*\.?\d+px$/;class I{constructor(){n(this,`value`,1)}get isDefault(){return this.value===1}clamp(e,t,n){return Math.min(n,Math.max(t,e))}set(e,t,n){let r=this.clamp(e,t,n);return Math.abs(r-this.value)<1e-4?!1:(this.value=r,!0)}toVisual(e){return e*this.value}toLogical(e){return e/this.value}toPx(e){return`${this.toVisual(e)}px`}domHeightToLogical(e){return Math.round(e/this.value)}contentToPhysical(e){return e*this.value}scaleStyle(e){if(this.isDefault)return e;let t={...e};for(let e of Object.keys(t)){let n=t[e];typeof n==`string`&&se.test(n)&&(t[e]=`${parseFloat(n)*this.value}px`)}return t}assignScaledStyle(e,t){Object.assign(e.style,this.scaleStyle(t))}containerWidth(e){return Math.floor(e/this.value)}resolveStageWidth(e){let t=this.containerWidth(e.containerPhysicalWidth),n=e.fillContainer?t:Math.min(Math.floor(e.contentWidth+e.scrollerTrackSize),t);return{stageWidth:n,stagePhysicalWidth:Math.min(Math.round(this.toVisual(n)),Math.floor(e.containerPhysicalWidth))}}applyStageHeight(e,t){let n=Math.floor(t),r=Math.floor(n/this.value);return e.style.height=`${n}px`,{stageHeight:r,stagePhysicalHeight:n}}getViewportRect(e,t){let n=this.toVisual(e.x)+t.x,r=this.toVisual(e.y)+t.y,i=this.toVisual(e.width),a=this.toVisual(e.height);return{x:n,y:r,left:n,top:r,right:n+i,bottom:r+a,width:i,height:a}}createOverlayerCellElement(e,t){let n=document.createElement(`div`);if(this.assignScaledStyle(n,e.style),Object.keys(e.domDataset||{}).forEach(t=>{n.setAttribute(t,e.domDataset[t])}),typeof e.render!=`function`)return n;if(this.isDefault)return e.render(n,e),n;let r=`visibleWidth`in e?e.visibleWidth:e.width,i=`visibleHeight`in e?e.visibleHeight:e.height,a=`autoRowHeight`in e&&e.autoRowHeight&&`renderType`in e&&e.renderType==="default",o=document.createElement(`div`);return o.className=`${t}-overlayer-cell-content`,o.style.width=`${r}px`,o.style.boxSizing=`border-box`,a?(o.style.height=`auto`,o.style.minHeight=`${i}px`,n.style.height=`auto`):(o.style.height=`${i}px`,n.style.height=this.toPx(i)),o.style.zoom=String(this.value),n.style.width=this.toPx(r),n.appendChild(o),e.render(o,e),n}}class ce{constructor(e,t){n(this,`eventBus`),n(this,`eventBrowser`),n(this,`eventTable`),n(this,`locale`,new oe),n(this,`containerElement`),n(this,`stageElement`),n(this,`canvasElement`),n(this,`overlayerElement`),n(this,`editorElement`),n(this,`emptyElement`),n(this,`contextMenuElement`),n(this,`loadingElement`),n(this,`stageWidth`,0),n(this,`stageHeight`,0),n(this,`stagePhysicalWidth`,0),n(this,`stagePhysicalHeight`,0),n(this,`zoomScale`),n(this,`paint`),n(this,`icons`),n(this,`domSelectionStr`,``),n(this,`textSelectionStr`,``),n(this,`textSelecting`,!1),n(this,`isMouseoverTargetContainer`,!1),n(this,`mousedown`,!1),n(this,`isEmpty`,!1),n(this,`rowResizing`,!1),n(this,`columnResizing`,!1),n(this,`scrollerMove`,!1),n(this,`scrollerFocus`,!1),n(this,`autofillMove`,!1),n(this,`selectorMove`,!1),n(this,`disableHoverIconClick`,!1),n(this,`selectColsIng`,!1),n(this,`selectRowsIng`,!1),n(this,`dragHeaderIng`,!1),n(this,`dragRowIng`,!1),n(this,`finding`,!1),n(this,`contextMenuIng`,!1),n(this,`editing`,!1),n(this,`loading`,!1),n(this,`onlyMergeCell`,!1),n(this,`selectOnlyOne`,!1),n(this,`hasSelection`,!1),n(this,`hasTree`,!1),n(this,`scrollY`,0),n(this,`scrollX`,0),n(this,`fixedLeftWidth`,0),n(this,`fixedRightWidth`,0),n(this,`lastCenterColIndex`,0),n(this,`maxColIndex`,0),n(this,`maxRowIndex`,0),n(this,`hoverRow`),n(this,`clickCell`),n(this,`focusCell`),n(this,`currentCell`),n(this,`hoverCell`),n(this,`clickCellHeader`),n(this,`focusCellHeader`),n(this,`hoverCellHeader`),n(this,`mouseX`,0),n(this,`mouseY`,0),n(this,`body`,{x:0,y:0,width:0,height:0,visibleHeight:0,visibleWidth:0,headIndex:0,tailIndex:0,visibleRows:[],renderRows:[],data:[]}),n(this,`footer`,{x:0,y:0,width:0,height:0,visibleHeight:0,visibleWidth:0,renderRows:[]}),n(this,`header`,{x:0,y:0,width:0,height:0,visibleHeight:0,visibleWidth:0,visibleLeafColumns:[],leafCellHeaders:[],allCellHeaders:[],renderLeafCellHeaders:[],renderCellHeaders:[],fixedLeftCellHeaders:[],fixedRightCellHeaders:[],renderCenterCellHeaders:[]}),n(this,`selector`,{enable:!1,xArr:[-1,-1],yArr:[-1,-1],xArrCopy:[-1,-1],yArrCopy:[-1,-1]}),n(this,`autofill`,{enable:!1,xArr:[-1,-1],yArr:[-1,-1]}),n(this,`finderBar`,{text:``,rowIndex:-1,colIndex:-1,type:`body`}),n(this,`database`),n(this,`history`),n(this,`config`);let{containerElement:r,stageElement:i,canvasElement:a,overlayerElement:o,editorElement:s,emptyElement:c,loadingElement:l,contextMenuElement:u}=e;this.containerElement=r,i.tabIndex=0,this.stageElement=i,this.canvasElement=a,this.overlayerElement=o,this.editorElement=s,this.emptyElement=c,this.loadingElement=l,this.contextMenuElement=u,this.config=new M(t.config||{}),this.eventBus=new A,this.eventBrowser=new k(this),this.eventTable=new ie(this),this.paint=new j(this.canvasElement),this.database=new D(this,t),this.history=new O(this),this.icons=new F(this),this.zoomScale=new I}get zoom(){return this.zoomScale.value}setConfig(e){this.config=new M(e)}setItemValueByEditor(e,t,n,r=!0,i=!0,a=!0){if(this.config.ENABLE_MERGE_CELL_LINK){let i=this.database.getVirtualBodyCellByKey(e,t);if(i&&(i.mergeRow||i.mergeCol)){let{dataList:e}=i.getSpanInfo(),t=e.map(e=>({...e,value:n}));this.database.batchSetItemValue(t,r,a);return}}this.database.setItemValue(e,t,n,r,i,!0,a)}batchSetItemValueByEditor(e,t=!0,n=!0){if(this.config.ENABLE_MERGE_CELL_LINK){let r=[];e.forEach(e=>{let t=this.database.getRowIndexForRowKey(e.rowKey),n=this.database.getColIndexForKey(e.key);if(t===void 0||n===void 0)return;let i=this.database.getVirtualBodyCell(t,n);if(i){let{dataList:t}=i.getSpanInfo(),n=t.map(t=>({...t,value:e.value}));r.push(...n)}}),this.database.batchSetItemValue(r,t,n)}else this.database.batchSetItemValue(e,t,n)}setFocusCell(e){if(this.focusCell!==e){if(this.focusCell?.rowKey!==e.rowKey){this.currentCell=e,this.emit(`rowFocusChange`,e);let t={rowIndex:e.rowIndex,rowKey:e.rowKey,row:e.row};this.emit(`currentRowChange`,t)}this.focusCell=e,this.emit(`cellFocusChange`,e)}}clearSelector(){this.selector.enable=!1,this.selector.xArr=[-1,-1],this.selector.yArr=[-1,-1],this.emit(`clearSelector`)}clearSelectorCopy(){this.selector.xArrCopy=[-1,-1],this.selector.yArrCopy=[-1,-1]}clearAutofill(){this.autofill={enable:!1,xArr:[-1,-1],yArr:[-1,-1]}}getSelectedData(){let e=[],t=this.selector.yArr,n=this.selector.xArr,r=``;for(let i=0;i<=t[1]-t[0];i++){let a=[];for(let e=0;e<=n[1]-n[0];e++){let r=i+t[0],o=e+n[0],s=this.database.getVirtualBodyCell(r,o);s&&(s.selectorCellValueType===`displayText`?a.push(s.displayText):a.push(s.getValue()))}r+=`${a.join(` `)}\r`,e.push(a)}return r=r?r.replace(/\r$/,``):` `,{xArr:n,yArr:t,text:r,value:e}}setScroll(e,t){let n=Math.floor(e),r=this.body.width-this.body.visibleWidth;n<0?n=0:n>r&&(n=r);let i=Math.floor(t),a=this.body.height-this.body.visibleHeight;this.config.FOOTER_FIXED||(a=this.body.height+this.footer.height-this.body.visibleHeight),i<0?i=0:i>a&&(i=a),this.emit(`setScroll`,n,i)}setScrollX(e){let t=Math.floor(e),n=this.body.width-this.body.visibleWidth;t<0?t=0:t>n&&(t=n),this.emit(`setScrollX`,t)}setScrollY(e){let t=Math.floor(e),n=0;this.config.FOOTER_FIXED||(n=this.footer.height);let r=this.body.height-this.body.visibleHeight+n;t<0?t=0:t>r&&(t=r),this.emit(`setScrollY`,t)}startAdjustPosition(e){this.emit(`startAdjustPosition`,e)}stopAdjustPosition(){this.emit(`stopAdjustPosition`)}isTarget(e){return!!this.containerElement.contains(e.target)}getOffset(e){let{left:t,top:n}=this.containerElement.getBoundingClientRect();return{offsetX:this.zoomScale.toLogical(e.clientX-t),offsetY:this.zoomScale.toLogical(e.clientY-n)}}toVisual(e){return this.zoomScale.toVisual(e)}toLogical(e){return this.zoomScale.toLogical(e)}toVisualPx(e){return this.zoomScale.toPx(e)}scaleStyle(e){return this.zoomScale.scaleStyle(e)}setZoom(e){let{MIN_ZOOM:t,MAX_ZOOM:n}=this.config;this.zoomScale.set(e,t,n)&&(this.emit(`zoomChange`,this.zoomScale.value),this.emit(`resetHeader`))}getZoom(){return this.zoomScale.value}hasEvent(e){return this.eventBus.has(e)}on(e,t){this.eventBus.on(e,t)}once(e,t){this.eventBus.once(e,t)}off(e,t){this.eventBus.off(e,t)}emit(e,...t){this.eventBus.emit(e,...t)}destroy(){this.eventTable.destroy(),this.eventBrowser.destroy(),this.eventBus.destroy()}}class L{constructor(e,t){n(this,`ctx`),n(this,`type`),n(this,`isFocus`,!1),n(this,`trackX`,0),n(this,`trackY`,0),n(this,`trackWidth`,0),n(this,`trackHeight`,0),n(this,`splitPoints`,[]),n(this,`barX`,0),n(this,`barY`,0),n(this,`barWidth`,0),n(this,`barHeight`,0),n(this,`distance`,0),n(this,`visibleDistance`,0),n(this,`clientX`,0),n(this,`clientY`,0),n(this,`dragStart`,0),n(this,`isDragging`,!1),n(this,`scroll`,0),this.ctx=e,this.type=t,this.type===`vertical`?this.scroll=this.ctx.scrollY:this.scroll=this.ctx.scrollX}onWheel(e){this.updateScroll(e)}onTouchmove(e){let{clientY:t,clientX:n}=e.touches[0],r=this.ctx.zoomScale.toLogical(t-this.clientY),i=this.ctx.zoomScale.toLogical(n-this.clientX),a=0;this.type===`vertical`?(a=Math.max(0,Math.min(this.dragStart-r,this.distance)),this.hasScrollbar()&&!(a===0&&r>0||a===this.distance&&r<0)&&e.preventDefault()):this.type===`horizontal`&&(a=Math.max(0,Math.min(this.dragStart-i,this.distance))),this.scroll=a}onTouchstart(e){let{clientY:t,clientX:n}=e.touches[0];this.clientX=n,this.clientY=t,this.dragStart=this.scroll}onMouseDown(e){if(!(e.target instanceof Element)||!this.ctx.isTarget(e))return;if(this.ctx.stageElement.style.cursor===`row-resize`||this.ctx.stageElement.style.cursor===`col-resize`)return!0;let{clientX:t,clientY:n}=e,r=this.ctx.zoomScale.toLogical(e.offsetX),i=this.ctx.zoomScale.toLogical(e.offsetY);if(!(t==this.clientX&&n==this.clientY)){if(this.isOnScrollbar(r,i))this.clientX=t,this.clientY=n,this.isDragging=!0,this.ctx.scrollerMove=!0,this.isFocus=!0,this.dragStart=this.scroll,e.preventDefault();else if(this.isOnTrack(r,i)){let e=0;e=this.type===`vertical`?(i-this.ctx.header.height-this.barHeight/2)/(this.visibleDistance-this.barHeight)*this.distance:(r-this.barWidth/2)/(this.visibleDistance-this.barWidth)*this.distance,this.scroll=Math.max(0,Math.min(e,this.distance))}}}onMouseUp(){this.isDragging=!1,this.isFocus=!1,this.clientX=0,this.clientY=0}onMouseMove(e){let{clientX:t,clientY:n,buttons:r}=e,i=this.ctx.zoomScale.toLogical(e.offsetX),a=this.ctx.zoomScale.toLogical(e.offsetY);if(this.isOnScrollbar(i,a)&&e.target===this.ctx.canvasElement?this.isFocus=!0:this.isFocus=!1,r===0||t==this.clientX&&n==this.clientY)return;let o=0;if(o=this.type===`horizontal`?t-this.clientX:n-this.clientY,o=this.ctx.zoomScale.toLogical(o),this.isDragging&&o!==0){let e=0;e=this.type===`vertical`?this.dragStart+o/(this.visibleDistance-this.barHeight)*this.distance:this.dragStart+o/(this.visibleDistance-this.barWidth)*this.distance,this.scroll=Math.max(0,Math.min(e,this.distance))}}isPointInElement(e,t,n,r,i,a){return e>=n&&e<=n+i&&t>=r&&t<=r+a}hasScrollbar(){return this.type===`vertical`?this.barHeight>0:this.type===`horizontal`?this.barWidth>0:!1}isOnScrollbar(e,t){return this.isPointInElement(e,t,this.barX,this.barY,this.barWidth,this.barHeight)}isOnTrack(e,t){return this.isPointInElement(e,t,this.trackX,this.trackY,this.trackWidth,this.trackHeight)}updateScroll(e){let t=e.deltaX,n=e.deltaY;this.type===`vertical`&&e.shiftKey===!1?(this.hasScrollbar()&&!(this.scroll===0&&n<0||this.scroll===this.distance&&n>0)&&e.preventDefault(),this.scroll=Math.max(0,Math.min(this.scroll+n,this.distance))):this.type===`horizontal`&&(e.shiftKey?this.scroll=Math.max(0,Math.min(this.scroll+n,this.distance)):this.scroll=Math.max(0,Math.min(this.scroll+t,this.distance)))}updatedSize(){let{body:e,header:t,stageHeight:n,stageWidth:r,config:{SCROLLER_TRACK_SIZE:i=0,SCROLLER_SIZE:a=0,BORDER:o}}=this.ctx,s=r,c=n,l=t.height,u=t.width,d=e.height,f=this.ctx.footer.height;if(this.type===`vertical`){this.visibleDistance=c-i-l,this.distance=d-this.visibleDistance+f,this.trackX=s-i,this.trackY=0,this.splitPoints=[this.trackX,l,this.trackX+i,l],this.trackWidth=i,this.trackHeight=c,this.barX=this.trackX-1+(i-a)/2,this.barWidth=a;let e=this.distance?this.visibleDistance/(d+f):0,t=Math.floor(e*this.visibleDistance);t<30?t=30:t>this.visibleDistance&&(t=0),this.barHeight=t,this.barY=l+this.scroll/this.distance*(this.visibleDistance-this.barHeight),this.scroll=Math.max(0,Math.min(this.scroll,this.distance))}else{this.visibleDistance=s-i,this.distance=u-this.visibleDistance,this.splitPoints=[s-i,c-i,s-i,c];let e=o?0:.5;this.trackX=0,this.trackY=c-i+e,this.trackWidth=s,this.trackHeight=i;let t=this.distance?this.visibleDistance/u:0,n=Math.floor(t*this.visibleDistance);this.barY=this.trackY-1+(i-a)/2,n<30?n=30:n>=this.visibleDistance&&(n=0),this.barWidth=n,this.barHeight=a,this.barX=this.scroll/this.distance*(this.visibleDistance-this.barWidth),this.scroll=Math.max(0,Math.min(this.scroll,this.distance))}}draw(){let{config:{SCROLLER_FOCUS_COLOR:e,SCROLLER_COLOR:t,BORDER_COLOR:n,BORDER:r,SCROLLER_TRACK_COLOR:i}}=this.ctx;this.updatedSize();let a=n;r||(a=`transparent`),this.ctx.paint.drawRect(this.trackX,this.trackY,this.trackWidth,this.trackHeight,{borderColor:a,fillColor:i}),this.ctx.paint.drawRect(this.barX,this.barY,this.barWidth,this.barHeight,{fillColor:this.isFocus||this.isDragging?e:t,radius:4}),this.splitPoints.length>0&&this.ctx.paint.drawLine(this.splitPoints,{borderColor:a,borderWidth:1}),this.ctx.scrollerFocus=this.isFocus}}class le{constructor(e){n(this,`ctx`),n(this,`verticalScrollbar`),n(this,`horizontalScrollbar`),n(this,`mousedownHeader`,!1),n(this,`adjustPositionX`,``),n(this,`adjustPositionY`,``),n(this,`timerX`,0),n(this,`timerY`,0),this.ctx=e,this.verticalScrollbar=new L(e,`vertical`),this.horizontalScrollbar=new L(e,`horizontal`),this.ctx.on(`wheel`,e=>this.onWheel(e)),this.ctx.on(`mousedown`,e=>this.onMouseDown(e)),this.ctx.on(`mousemove`,e=>this.onMouseMove(e)),this.ctx.on(`mouseup`,()=>this.onMouseUp()),this.ctx.on(`touchmove`,e=>this.onTouchmove(e)),this.ctx.on(`touchstart`,e=>{this.onTouchstart(e)}),this.ctx.on(`setScroll`,(e,t)=>{this.setScroll(e,t)}),this.ctx.on(`setScrollX`,e=>{this.setScrollX(e)}),this.ctx.on(`setScrollY`,e=>{this.setScrollY(e)}),this.ctx.on(`scrollToIndex`,(e,t)=>{this.scrollToIndex(e,t)}),this.ctx.on(`cellHeaderMousedown`,()=>{this.mousedownHeader=!0}),this.ctx.on(`startAdjustPosition`,e=>{this.startAdjustPosition(e)}),this.ctx.on(`stopAdjustPosition`,()=>{this.stopAdjustPosition()})}onWheel(e){this.verticalScrollbar.onWheel(e),this.horizontalScrollbar.onWheel(e),this.draw()}onTouchmove(e){this.verticalScrollbar.onTouchmove(e),this.horizontalScrollbar.onTouchmove(e),this.draw()}onTouchstart(e){this.verticalScrollbar.onTouchstart(e),this.horizontalScrollbar.onTouchstart(e),this.draw()}onMouseDown(e){this.verticalScrollbar.onMouseDown(e),this.horizontalScrollbar.onMouseDown(e),this.draw()}onMouseMove(e){this.verticalScrollbar.onMouseMove(e),this.horizontalScrollbar.onMouseMove(e),this.draw()}onMouseUp(){this.mousedownHeader=!1,this.verticalScrollbar.onMouseUp(),this.horizontalScrollbar.onMouseUp(),this.ctx.scrollerMove=!1}draw(){this.verticalScrollbar.draw(),this.horizontalScrollbar.draw();let e=Math.floor(this.horizontalScrollbar.scroll),t=Math.floor(this.verticalScrollbar.scroll);(e!==this.ctx.scrollX||t!==this.ctx.scrollY)&&(this.ctx.emit(`onScroll`,e,t),e!==this.ctx.scrollX&&this.ctx.emit(`onScrollX`,e),t!==this.ctx.scrollY&&this.ctx.emit(`onScrollY`,t),this.ctx.scrollX=e,this.ctx.scrollY=t,this.ctx.emit(`draw`))}setScroll(e,t){this.horizontalScrollbar.scroll=e,this.verticalScrollbar.scroll=t,this.ctx.emit(`draw`),this.ctx.emit(`onScroll`,e,t)}setScrollX(e){this.horizontalScrollbar.scroll=e,this.ctx.emit(`draw`)}setScrollY(e){this.verticalScrollbar.scroll=e,this.ctx.emit(`draw`)}scrollToColkey(e){let{header:t}=this.ctx,n=t.leafCellHeaders.find(t=>t.key===e);n&&this.setScrollX(n.x-t.visibleWidth/2)}scrollToColIndex(e){let{header:t}=this.ctx,n=t.leafCellHeaders.find(t=>t.colIndex===e);n&&this.setScrollX(n.x-t.visibleWidth/2)}scrollToRowIndex(e){let{body:t,database:n}=this.ctx,{top:r}=n.getPositionForRowIndex(e);this.setScrollY(r-t.visibleHeight/2)}scrollToIndex(e,t){this.scrollToRowIndex(e),this.scrollToColIndex(t)}scrollToRowKey(e){let{body:t,database:n}=this.ctx,r=n.getRowIndexForRowKey(e);if(r===void 0)return;let{top:i}=n.getPositionForRowIndex(r);this.setScrollY(i-t.visibleHeight/2)}startAdjustPosition(e){let{offsetX:t,offsetY:n}=this.ctx.getOffset(e),r=``,i=``;if(this.ctx.focusCell?.fixed!==`left`&&t<this.ctx.fixedLeftWidth?r=`left`:this.ctx.focusCell?.fixed!==`right`&&t>this.ctx.body.visibleWidth-this.ctx.fixedRightWidth?r=`right`:(r=``,this.stopAdjustPosition(!0,!1)),!this.mousedownHeader&&n<this.ctx.header.visibleHeight?i=`top`:n>this.ctx.header.visibleHeight+this.ctx.body.visibleHeight?i=`bottom`:(i=``,this.stopAdjustPosition(!1,!0)),r&&this.adjustPositionX!==r){this.adjustPositionX=r;let e=10*(r===`left`?-1:1);this.timerX&&=(clearInterval(this.timerX),0),this.timerX=setInterval(()=>{e*=1.5;let{scrollX:t}=this.ctx,n=t+e;(n<0||n>this.ctx.body.width)&&(clearInterval(this.timerX),this.timerX=0),this.ctx.setScrollX(n)},100)}if(i&&this.adjustPositionY!==i){this.adjustPositionY=i;let e=10*(i===`top`?-1:1);this.timerY&&=(clearInterval(this.timerY),0),this.timerY=setInterval(()=>{e*=1.5;let{scrollY:t}=this.ctx,n=t+e;(n<0||n>this.ctx.body.height)&&(clearInterval(this.timerY),this.timerY=0),this.ctx.setScrollY(n)},100)}}stopAdjustPosition(e=!0,t=!0){e&&(this.adjustPositionX=``,this.timerX&&=(clearInterval(this.timerX),0)),t&&(this.adjustPositionY=``,this.timerY&&=(clearInterval(this.timerY),0))}}class ue extends w{constructor(e,t,r,a,o,s,c){super(e,r,a,o,s,`header`,c.fixed),n(this,`align`),n(this,`hideHeaderSelection`,!1),n(this,`verticalAlign`,`middle`),n(this,`fixed`),n(this,`minWidth`),n(this,`maxWidth`),n(this,`widthFillDisable`),n(this,`type`),n(this,`operation`,!1),n(this,`editorType`),n(this,`level`),n(this,`text`),n(this,`hide`,!1),n(this,`displayText`,``),n(this,`colspan`),n(this,`rowspan`),n(this,`row`),n(this,`key`),n(this,`required`,!1),n(this,`readonly`,!1),n(this,`ellipsis`,!1),n(this,`overflowTooltipShow`,!0),n(this,`children`,[]),n(this,`column`),n(this,`colIndex`),n(this,`rowKey`),n(this,`rules`),n(this,`hasChildren`),n(this,`render`),n(this,`style`,{}),n(this,`drawX`,0),n(this,`drawY`,0),n(this,`sortIconName`,`sort-default`),n(this,`sortAscIconName`,`sort-asc`),n(this,`sortDescIconName`,`sort-desc`),n(this,`visibleWidth`,0),n(this,`visibleHeight`,0),n(this,`maxLineClampHeader`,`auto`),n(this,`domDataset`,{}),n(this,`textOffsetRight`,0),n(this,`textOffsetLeft`,0),n(this,`textInfo`),n(this,`drawTextX`,0),n(this,`drawTextY`,0),n(this,`drawTextWidth`,0),n(this,`drawTextHeight`,0),n(this,`drawCellBgColor`,``),n(this,`drawTextColor`,``),n(this,`drawTextFont`,``),n(this,`drawSelectionImageX`,0),n(this,`drawSelectionImageY`,0),n(this,`drawSelectionImageWidth`,0),n(this,`drawSelectionImageHeight`,0),n(this,`drawSelectionImageName`,``),n(this,`drawSelectionImageSource`),n(this,`drawSortImageX`,0),n(this,`drawSortImageY`,0),n(this,`drawSortImageWidth`,0),n(this,`drawSortImageHeight`,0),n(this,`drawSortImageName`,``),n(this,`drawSortImageSource`),n(this,`renderHeaderType`,`default`),this.ctx=e,this.x=r,this.y=a,this.width=o,this.height=s,this.visibleWidth=o,this.visibleHeight=s,this.colIndex=t,this.key=c.key,this.minWidth=c.minWidth,this.maxWidth=c.maxWidth,this.hide=(typeof c.hide==`function`?c.hide(c):c.hide)||!1,this.type=c.type||``,this.editorType=c.editorType||`text`,this.hideHeaderSelection=c.hideHeaderSelection||!1,this.align=c.headerAlign||c.align||this.ctx.config.COLUMNS_ALIGN,this.verticalAlign=c.headerVerticalAlign||c.verticalAlign||this.ctx.config.COLUMNS_VERTICAL_ALIGN,this.fixed=c.fixed||``,this.level=c.level||0,this.operation=c.operation||!1,this.text=c.title,this.column=c,this.colspan=c.colspan||1,this.widthFillDisable=c.widthFillDisable||!1,this.rowspan=c.rowspan||1,this.rules=c.rules,this.readonly=c.readonly||!1,this.required=c.required||!1,this.sortIconName=c.sortIconName||`sort-default`,this.sortAscIconName=c.sortAscIconName||`sort-asc`,this.sortDescIconName=c.sortDescIconName||`sort-desc`,this.rowKey=i(),this.overflowTooltipShow=c.overflowTooltipHeaderShow!==!1,this.hasChildren=c.children&&c.children.length>0||!1,this.render=c.renderHeader,this.maxLineClampHeader=c.maxLineClampHeader||`auto`,this.renderHeaderType=c.renderHeaderType||`default`}isVerticalVisible(){let{stageHeight:e}=this.ctx,t=e;return!(this.y+this.height<=0||this.y>=t)}updateStyle(){this.style=this.getOverlayerViewsStyle()}updateContainer(){let{HEADER_CELL_STYLE_METHOD:e,HEADER_BG_COLOR:t,HEADER_TEXT_COLOR:n}=this.ctx.config,r=t,i=n;if(typeof e==`function`){let{backgroundColor:t,color:n,font:a}=e({colIndex:this.colIndex,column:this.column})||{};t&&(r=t),n&&(i=n),a&&(this.drawTextFont=a)}let{colKey:a,type:o}=this.ctx.finderBar;o===`header`&&a===this.key&&(r=this.ctx.config.FINDER_CELL_BG_COLOR),this.drawCellBgColor=r,this.drawTextColor=i}updateOffset(){this.column.sortBy&&(this.textOffsetRight=16),this.required&&(this.textOffsetLeft=12)}update(){this.updateContainer(),this.updateOffset(),this.displayText=this.getText(),this.drawX=this.getDrawX(),this.drawY=this.getDrawY(),this.updateSelection(),this.drawTextX=this.drawX,this.drawTextY=this.drawY,this.drawTextWidth=this.width,this.drawTextHeight=this.height,this.updateStyle()}draw(){this.drawEdge(),this.drawText(),this.drawBg(),this.updateSortIcon(),this.drawImages(),this.drawRequired()}drawImages(){this.getImages().forEach(e=>{e.visible&&e.source&&this.ctx.paint.drawImage(e.source,e.x,e.y,e.width,e.height)})}drawEdge(){let{paint:e,config:{BORDER_COLOR:t,BORDER:n}}=this.ctx;e.drawRect(this.drawX,this.drawY,this.width,this.height,{borderColor:n?t:`transparent`,fillColor:this.drawCellBgColor})}drawText(){let{paint:e,config:{HEADER_FONT:t,CELL_PADDING:n}}=this.ctx,r=`${this.displayText}_${this.drawTextWidth}_${this.drawTextFont}`;this.ellipsis=e.drawText(this.displayText,this.drawTextX,this.drawTextY,this.drawTextWidth,this.drawTextHeight,{font:this.drawTextFont||t,padding:n,color:this.drawTextColor,align:this.align,verticalAlign:this.verticalAlign,maxLineClamp:this.maxLineClampHeader,offsetRight:this.textOffsetRight,offsetLeft:this.textOffsetLeft,cacheTextKey:r,textCallback:e=>{this.textInfo=e},layoutCallback:e=>{this.ctx.emit(`registerTextLayout`,`${this.cellType}-${this.colIndex}-${this.level}`,e)}})}drawRequired(){if(!this.required||!this.textInfo)return;let{left:e,top:t,height:n}=this.textInfo,{paint:r,config:{REQUIRED_COLOR:i}}=this.ctx;r.drawText(`*`,e-18,t+(n-12)/2,24,24,{color:i,font:`18px Arial`,align:`center`,verticalAlign:`middle`,padding:0})}drawBg(){if(this.ctx.dragHeaderIng)return;let{ENABLE_SELECTOR:e,ENABLE_SELECTOR_SINGLE:t}=this.ctx.config,n=-1,r=-1;if(this.ctx.focusCellHeader&&(n=this.ctx.focusCellHeader.colIndex,r=this.ctx.focusCellHeader.colIndex+this.ctx.focusCellHeader.colspan-1),e&&!t){let{xArr:e}=this.ctx.selector;n=e[0],r=e[1]}let i=this.colspan+this.colIndex-1;this.colIndex>=n&&this.colIndex<=r&&i<=r&&this.ctx.paint.drawRect(this.drawX,this.drawY,this.width,this.height,{borderColor:`transparent`,fillColor:this.ctx.config.SELECT_ROW_COL_BG_COLOR||`transparent`})}updateSelection(){if([`index-selection`,`selection`,`selection-tree`,`tree-selection`].includes(this.type)){let{indeterminate:e,check:t,selectable:n}=this.ctx.database.getCheckedState(),{CHECKBOX_SIZE:r=0,CELL_PADDING:i}=this.ctx.config,a=this.drawX+(this.width-r)/2,o=this.drawY+(this.height-r)/2;this.drawTextX=a+r-i/2,this.drawTextWidth=this.drawX+this.visibleWidth-this.drawTextX,(this.align===`left`||this.align===`right`)&&(a=this.drawX+i,this.drawTextX=a+r-i/2,this.drawTextWidth=this.drawX+this.visibleWidth-this.drawTextX),this.verticalAlign===`top`?o=this.drawY+i/2:this.verticalAlign===`bottom`&&(o=this.drawY+this.height-r-i/2),this.column.dragRow&&(a+=this.ctx.config.DRAG_ROW_ICON_SIZE,this.drawTextX+=this.ctx.config.DRAG_ROW_ICON_SIZE,this.drawTextWidth-=this.ctx.config.DRAG_ROW_ICON_SIZE);let s=this.ctx.icons.get(`checkbox-uncheck`),c=`checkbox-uncheck`;e?(s=this.ctx.icons.get(`checkbox-indeterminate`),c=`checkbox-indeterminate`):t&&n?(s=this.ctx.icons.get(`checkbox-check`),c=`checkbox-check`):t&&!n?(s=this.ctx.icons.get(`checkbox-check-disabled`),c=`checkbox-check-disabled`):!t&&n?(s=this.ctx.icons.get(`checkbox-uncheck`),c=`checkbox-uncheck`):(s=this.ctx.icons.get(`checkbox-disabled`),c=`checkbox-disabled`);let l=new T(c,a,o,r,r,s);l.setVisible(!this.hideHeaderSelection),this.setImage(`selection`,l)}}updateSortIcon(){if(!this.column.sortBy||!this.textInfo)return;let{right:e,top:t,height:n}=this.textInfo,r=e+4,i=t+(n-16)/2,a=this.sortIconName,o=this.ctx.database.getSortState(this.key);o.direction===`asc`?a=this.sortAscIconName:o.direction===`desc`&&(a=this.sortDescIconName);let s=this.ctx.icons.get(a),c=new T(a,r,i,16,16,s);this.setImage(`sort`,c)}getText(){return this.render&&this.renderHeaderType==="default"||[``,null,void 0].includes(this.text)?``:`${this.text}`}getOverlayerViewsStyle(){let e=``;return e=this.fixed===`left`?`${this.drawX}px`:this.fixed===`right`?`${this.drawX-(this.ctx.stageWidth-this.ctx.fixedRightWidth)}px`:`${this.drawX-this.ctx.fixedLeftWidth}px`,{position:`absolute`,overflow:`hidden`,left:e,top:`${this.drawY+1}px`,width:`${this.width}px`,height:`${this.height-2}px`,pointerEvents:`initial`,userSelect:`none`}}}class de{constructor(e,t){n(this,`root`),n(this,`key`),n(this,`childrenKey`),this.root=e,this.key=t?.key||`key`,this.childrenKey=t?.childrenKey||`children`}getTree(){return this.root}treeMove(e,t,n){if(n===`none`||e===t)return;let r=this.findNodeWithParent(this.root,e);if(!r)return;let i=this.findNodeWithParent(this.root,t);if(!i)return;let{parent:a,index:o,node:s}=r,{parent:c,index:l,node:u}=i;if(this.isDescendant(s,t))return;let d=a?a[this.childrenKey]:this.root;if(d.splice(o,1),a&&d.length===0&&delete a[this.childrenKey],n===`inside`){Array.isArray(u[this.childrenKey])||(u[this.childrenKey]=[]),u[this.childrenKey].push(s);return}let f=c?c[this.childrenKey]:this.root,p=l;a===c&&o<l&&p--,n===`after`&&p++,f.splice(p,0,s)}findNodeWithParent(e,t,n=null){for(let r=0;r<e.length;r++){let i=e[r];if(i[this.key]===t)return{parent:n,index:r,node:i};let a=i[this.childrenKey];if(Array.isArray(a)){let e=this.findNodeWithParent(a,t,i);if(e)return e}}return null}isDescendant(e,t){let n=e[this.childrenKey];if(!Array.isArray(n))return!1;for(let e of n)if(e[this.key]===t||this.isDescendant(e,t))return!0;return!1}}class fe{constructor(e){n(this,`ctx`),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`,0),n(this,`resizeTarget`,null),n(this,`dragTarget`,null),n(this,`dragingCell`),n(this,`dragCellDiff`,0),n(this,`resizeNum`,0),n(this,`isResizing`,!1),n(this,`clientX`,0),n(this,`resizeDiff`,0),n(this,`columnIndex`,0),n(this,`isMouseDown`,!1),n(this,`columns`),n(this,`visibleColumns`),n(this,`visibleLeafColumns`,[]),n(this,`visibleHeight`,0),n(this,`visibleWidth`,0),n(this,`allCellHeaders`,[]),n(this,`leafCellHeaders`,[]),n(this,`renderLeafCellHeaders`,[]),n(this,`fixedLeftCellHeaders`,[]),n(this,`centerCellHeaders`,[]),n(this,`fixedRightCellHeaders`,[]),n(this,`renderCenterCellHeaders`,[]),n(this,`renderFixedCellHeaders`,[]),this.ctx=e,this.ctx.on(`resetHeader`,a(()=>{this.init(),this.ctx.clearSelector(),this.ctx.emit(`draw`)},100)),this.init(),this.initSelection(),this.initSort(),this.initResizeColumn(),this.initDragColumn()}init(e=!1){let{config:{HEADER_HEIGHT:t,SCROLLER_TRACK_SIZE:n}}=this.ctx;if(!e){let e=this.ctx.database.getColumns();this.columns=e}this.allCellHeaders=[],this.leafCellHeaders=[],this.fixedLeftCellHeaders=[],this.fixedRightCellHeaders=[],this.centerCellHeaders=[],this.visibleColumns=u(this.columns);let r=o(this.visibleColumns),i=l(this.visibleColumns);this.height=t*r,this.visibleHeight=this.height,this.width=i.reduce((e,t)=>{let n=t.width||100,{maxWidth:r,minWidth:i}=t;return r&&n>r?e+r:i&&n<i?e+i:e+n},0),this.columnIndex=0,this.resizeNum=0;let a=s(c(this.visibleColumns,r));this.render(a,0),this.ctx.database.updateColIndexKeyMap(this.leafCellHeaders);let d=this.ctx.containerElement.getBoundingClientRect(),{stageWidth:f,stagePhysicalWidth:p}=this.ctx.zoomScale.resolveStageWidth({containerPhysicalWidth:d.width,contentWidth:this.width,scrollerTrackSize:n,fillContainer:this.resizeNum>0});this.ctx.stageWidth=f,this.ctx.stagePhysicalWidth=p,this.ctx.stageElement.style.width=`${p}px`,this.visibleWidth=this.ctx.stageWidth-n;let m=this.visibleWidth-this.width;if(this.resizeNum&&m>0){let e=Math.floor(m/this.resizeNum*100)/100;this.resizeAllColumn(e)}let h=this.fixedLeftCellHeaders.filter(e=>!e.hasChildren);this.ctx.fixedLeftWidth=h.reduce((e,t)=>e+t.width,0);let g=this.fixedRightCellHeaders.filter(e=>!e.hasChildren);this.ctx.fixedRightWidth=g.reduce((e,t)=>e+t.width,n),this.ctx.maxColIndex=this.leafCellHeaders.length-1,this.ctx.header.x=this.x,this.ctx.header.y=this.y,this.ctx.header.width=this.width,this.ctx.header.height=this.height,this.ctx.header.allCellHeaders=this.allCellHeaders,this.ctx.header.visibleWidth=this.visibleWidth,this.ctx.header.visibleHeight=this.visibleHeight}initSort(){this.ctx.on(`cellHeaderClick`,(e,t)=>{if(!e.isImageInside(`sort`,t))return;let n=this.ctx.database.getSortState(e.key),r;r=n.direction===`none`?`asc`:n.direction===`asc`?`desc`:`none`,this.ctx.database.setSortState(e.key,r)})}initSelection(){this.ctx.on(`cellHeaderClick`,(e,t)=>{if(this.ctx.stageElement.style.cursor!==`pointer`||!e.isImageInside(`selection`,t))return;let n=e.getImage(`selection`);[`checkbox-uncheck`,`checkbox-indeterminate`].includes(n.name)?this.ctx.database.toggleAllSelection():n.name===`checkbox-check`&&this.ctx.database.clearSelection(!0)})}initResizeColumn(){this.ctx.on(`mousedown`,e=>{this.ctx.config.ENABLE_RESIZE_COLUMN&&this.ctx.isTarget(e)&&(this.clientX=e.clientX,this.resizeTarget?(this.isResizing=!0,this.ctx.columnResizing=!0):this.isResizing=!1,this.isMouseDown=!0)}),this.ctx.on(`mouseup`,()=>{this.ctx.config.ENABLE_RESIZE_COLUMN&&(this.isMouseDown=!1,this.resizeDiff!==0&&this.resizeTarget&&this.resizeColumn(this.resizeTarget,this.resizeDiff),this.resizeTarget=null,this.isResizing=!1,this.isMouseDown=!1,this.ctx.columnResizing=!1,this.clientX=0,this.resizeDiff=0)}),this.ctx.on(`mousemove`,e=>{if(!this.ctx.config.ENABLE_RESIZE_COLUMN||this.ctx.editing)return;let{stageWidth:t,config:{RESIZE_COLUMN_MIN_WIDTH:n}}=this.ctx;if(this.isResizing&&this.resizeTarget){let t=this.resizeTarget.width,r=this.resizeTarget.minWidth,i=this.resizeTarget.maxWidth,a=e.clientX-this.clientX;a+t<n&&(a=-(t-n)),r&&a+t<r&&(a=-(t-r)),i&&a+t>i&&(a=i-t),this.resizeDiff=a,this.ctx.emit(`draw`)}else{if(this.resizeTarget=null,this.isMouseDown)return;let{offsetX:n}=this.ctx.getOffset(e);if(n<0||n>this.visibleWidth){this.ctx.stageElement.style.cursor===`col-resize`&&(this.ctx.stageElement.style.cursor=`default`);return}this.ctx.stageElement.style.cursor===`col-resize`&&(this.ctx.stageElement.style.cursor=`default`);let r=[...this.renderFixedCellHeaders,...this.renderCenterCellHeaders];for(let n of r){let{offsetX:r,offsetY:i}=this.ctx.getOffset(e),a=r,o=i,s=n.getDrawX(),c=n.getDrawY();if(a>s+n.width-5&&a<s+n.width+4&&a<t-4&&o>c){let t=n.colIndex+n.colspan-1,r=this.leafCellHeaders.find(e=>e.colIndex===t);if(!r||!r.fixed&&this.ctx.stageWidth-this.ctx.fixedRightWidth<s+n.width)return;this.ctx.isTarget(e)&&i<=this.height&&(this.ctx.stageElement.style.cursor=`col-resize`,this.resizeTarget=r)}}}})}initDragColumn(){this.ctx.on(`cellHeaderMousedown`,e=>{this.ctx.stageElement.style.cursor==="default"&&this.ctx.config.ENABLE_DRAG_COLUMN&&(e.column.dragDisabled||(this.dragTarget===e?(this.ctx.dragHeaderIng=!0,this.dragCellDiff=this.ctx.mouseX-e.drawX,this.ctx.stageElement.style.cursor=`grabbing`):(this.dragTarget=e,this.ctx.dragHeaderIng=!1)))}),this.ctx.on(`cellMousedown`,()=>{this.ctx.config.ENABLE_DRAG_COLUMN&&(this.dragTarget=null,this.ctx.dragHeaderIng=!1)}),this.ctx.on(`mouseup`,()=>{if(this.ctx.config.ENABLE_DRAG_COLUMN){if(this.dragingCell&&this.dragTarget){let e=(t,n={})=>(t.forEach((t,r)=>{t.children&&e(t.children,n),n[t.key]=r}),n),t=this.ctx.database.getColumns(),n=c(t,o(t)),r=new de(n,{key:`key`,childrenKey:`children`}),i=this.dragTarget.colIndex>this.dragingCell.colIndex?`before`:`after`;r.treeMove(this.dragTarget.column.key,this.dragingCell.column.key,i);let a=e(r.getTree());this.ctx.database.setCustomHeader({sortData:a}),this.init();let s={source:this.dragTarget,target:this.dragingCell,columns:n};this.ctx.emit(`columnDragChange`,s)}this.ctx.dragHeaderIng&&this.dragTarget&&(this.ctx.stageElement.style.cursor===`grabbing`&&(this.ctx.stageElement.style.cursor=`default`),this.ctx.dragHeaderIng=!1,this.dragTarget=null,this.dragingCell=void 0,this.dragCellDiff=0,this.ctx.clearSelector(),this.ctx.focusCellHeader=void 0,this.ctx.emit(`draw`))}}),this.ctx.on(`mousemove`,e=>{this.ctx.config.ENABLE_DRAG_COLUMN&&(!this.ctx.dragHeaderIng||!this.dragTarget||(this.dragTarget.fixed||this.ctx.startAdjustPosition(e),this.ctx.emit(`draw`)))}),this.ctx.on(`cellHoverChange`,e=>{this.ctx.config.ENABLE_DRAG_COLUMN&&(e.column.dragDisabled||(this.dragingCell=this.getDragCellHeader(e.colIndex)))}),this.ctx.on(`cellHeaderHoverChange`,e=>{this.ctx.config.ENABLE_DRAG_COLUMN&&(e.column.dragDisabled||(this.dragingCell=this.getDragCellHeader(e.colIndex)))})}getDragCellHeader(e){if(!this.dragTarget||!this.ctx.dragHeaderIng)return;let{column:{parentKey:t},key:n,level:r,fixed:i}=this.dragTarget,a=this.allCellHeaders.find(a=>a.key!==n&&a.fixed===i&&a.column.level===r&&a.column.parentKey===t&&a.colIndex<=e&&a.colIndex+a.colspan-1>=e);if(this.ctx.dragHeaderIng){let e=a?`grabbing`:`not-allowed`;this.ctx.stageElement.style.cursor=e}return a}resizeColumn(e,t){let n=r=>{r.forEach(r=>{r.children&&r.children.length>0&&n(r.children),r.key===e.key&&(r.width=(r.width||100)+t)})};n(this.columns);let r=0;if(this.width<this.visibleWidth){let e=this.visibleWidth-this.width;r=Math.floor(e/this.resizeNum*100)/100,this.resizeAllColumn(r)}let i=e.width+t+r;this.ctx.emit(`resizeColumnChange`,{colIndex:e.colIndex,key:e.key,oldWidth:e.width,width:i,column:e.column,columns:this.columns}),this.ctx.database.setCustomHeaderResizableData(e.key,i),this.init(!0),this.ctx.emit(`draw`)}resizeAllColumn(e){if(e===0)return;let t=new Map,n=!0;for(let r of this.allCellHeaders)if(r.widthFillDisable)t.set(r.key,r.width);else{let i=r.width+e*r.colspan;t.set(r.key,i),i<this.ctx.config.RESIZE_COLUMN_MIN_WIDTH&&(n=!1)}if(!n)return;let r=e=>{e.forEach(e=>{t.has(e.key)&&(e.width=t.get(e.key)),e.children&&e.children.length>0&&r(e.children)})};r(this.columns),this.init(!0),this.ctx.emit(`draw`)}getCustomHeader(){let e=this.ctx.database.getColumns(),t=this.ctx.database.getCustomHeader(),{sortData:n={}}=t;return Object.keys(n).length===0?{columns:e,customHeader:t}:{columns:c(e,o(e)),customHeader:t}}render(e,t){let n=e.length,r=t,{HEADER_HEIGHT:i=0}=this.ctx.config;for(let t=0;t<n;t++){let n=e[t],a=i*(n.rowspan||0),o=i*(n.level||0),{minWidth:s,maxWidth:c}=n,u=n.width||100;s&&u<s&&(u=s),c&&u>c&&(u=c),n.children&&(u=l(n.children).reduce((e,t)=>e+(t?.width||100),0));let d=new ue(this.ctx,this.columnIndex,r,o,u,a,n);this.ctx.database.setHeader(n.key,d),this.allCellHeaders.push(d),n.children||(this.leafCellHeaders.push(d),d.column.widthFillDisable||this.resizeNum++),n.fixed===`left`?this.fixedLeftCellHeaders.push(d):n.fixed===`right`?this.fixedRightCellHeaders.push(d):this.centerCellHeaders.push(d),!n.children&&this.columnIndex++,n.children&&this.render(n.children,r),r+=u}}drawTipLine(){if(this.isResizing&&this.resizeTarget){let{stageHeight:e,config:{RESIZE_COLUMN_LINE_COLOR:t,RESIZE_COLUMN_TEXT_COLOR:n,RESIZE_COLUMN_TEXT_BG_COLOR:r,ENABLE_RESIZE_COLUMN_TEXT:i}}=this.ctx,a=this.resizeTarget.getDrawX(),o=this.resizeTarget.width,s=a+o+this.resizeDiff-.5,c=[s-.5,0,s-.5,e];if(this.ctx.paint.drawLine(c,{borderColor:t}),i){let e=`${Math.floor(o+this.resizeDiff)}px`;this.ctx.paint.drawRect(s+45/2,this.ctx.mouseY-24/2,45,24,{fillColor:r,borderWidth:0,borderColor:`transparent`}),this.ctx.paint.drawText(e,s+45/2,this.ctx.mouseY-24/2,45,26,{padding:0,color:n,align:`center`,verticalAlign:`middle`})}}}drawDragTip(){if(this.dragTarget&&this.ctx.dragHeaderIng){let{DRAG_TIP_BG_COLOR:e,DRAG_TIP_LINE_COLOR:t}=this.ctx.config,n=this.dragTarget.width;if(this.ctx.paint.drawRect(this.ctx.mouseX-this.dragCellDiff,this.visibleHeight,n,this.ctx.body.visibleHeight,{fillColor:e,borderWidth:0,borderColor:`transparent`}),this.dragingCell){let{drawX:e,drawY:n,visibleWidth:r,colIndex:i}=this.dragingCell,a=e,o=n;i>this.dragTarget.colIndex&&(a=e+r),i===0&&(a+=1),i===this.ctx.maxColIndex&&--a;let s=[a,o,a,this.ctx.stageHeight],c=[a-4,o,a+4,o,a,o+6,a-4,o];this.ctx.paint.drawLine(c,{borderColor:t,borderWidth:1.2,fillColor:t}),this.ctx.paint.drawLine(s,{borderColor:t,borderWidth:1.2})}}}drawFixedShadow(){let{fixedLeftWidth:e,fixedRightWidth:t,scrollX:n,header:r,stageWidth:i,config:{HEADER_BG_COLOR:a,SCROLLER_TRACK_SIZE:o}}=this.ctx;if(n>0&&e!==0&&this.ctx.paint.drawShadow(this.x,this.y,e,this.height,{fillColor:a,side:`right`,shadowWidth:4,colorStart:`rgba(0,0,0,0.1)`,colorEnd:`rgba(0,0,0,0)`}),n<Math.floor(r.width-i-1)&&t!==o){let e=r.width-(this.x+this.width)+i-t;this.ctx.paint.drawShadow(e,this.y,t,this.height,{fillColor:a,side:`left`,shadowWidth:4,colorStart:`rgba(0,0,0,0)`,colorEnd:`rgba(0,0,0,0.1)`})}}update(){let e=[],t=[],n=[];if(this.centerCellHeaders.length){let e=this.centerCellHeaders[this.centerCellHeaders.length-1];this.ctx.lastCenterColIndex=e.colIndex}this.centerCellHeaders.forEach(n=>{n.isHorizontalVisible()&&n.isVerticalVisible()&&(t.push(n),n.hasChildren||e.push(n))}),this.fixedLeftCellHeaders.forEach(t=>{n.push(t),t.hasChildren||e.push(t)}),this.fixedRightCellHeaders.forEach(t=>{n.push(t),t.hasChildren||e.push(t)}),this.renderCenterCellHeaders=t,this.renderFixedCellHeaders=n,this.renderLeafCellHeaders=e.sort((e,t)=>e.x-t.x),this.visibleLeafColumns=this.renderLeafCellHeaders.map(e=>e.column),this.ctx.header.visibleLeafColumns=this.visibleLeafColumns,this.ctx.header.leafCellHeaders=this.leafCellHeaders,this.ctx.header.renderLeafCellHeaders=this.renderLeafCellHeaders,this.ctx.header.renderCellHeaders=this.renderFixedCellHeaders.concat(this.renderCenterCellHeaders)}drawBottomLine(){let{stageWidth:e,config:{BORDER_COLOR:t}}=this.ctx,n=[0,this.height,e,this.height];this.ctx.paint.drawLine(n,{borderColor:t,borderWidth:1})}draw(){this.renderCenterCellHeaders.forEach(e=>{e.update(),e.draw()}),this.drawFixedShadow(),this.renderFixedCellHeaders.forEach(e=>{e.update(),e.draw()}),this.drawBottomLine(),this.drawTipLine(),this.drawDragTip()}}class pe{constructor(e,t,r=0,i=0,a=0,o=0,s,c=`body`){n(this,`ctx`),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`),n(this,`cells`,[]),n(this,`fixedCells`,[]),n(this,`noFixedCells`,[]),n(this,`calculatedHeightCells`,[]),n(this,`rowIndex`,0),n(this,`rowKey`,``),n(this,`rowType`,`body`),n(this,`data`),n(this,`calculatedHeight`,-1),this.ctx=e,this.x=r,this.y=i,this.width=a,this.height=o,this.rowIndex=t,this.rowKey=e.database.getRowKeyForRowIndex(t)||``,this.rowType=c,this.data=s,this.update()}update(){let{header:e}=this.ctx,t=[],n=[],r=[],i=[];e.renderLeafCellHeaders.forEach(e=>{let a=new E(this.ctx,this.rowIndex,e.colIndex,e.x,this.y,e.width,this.height,e.column,this.data,this.rowType);a.fixed?n.push(a):r.push(a),t.push(a),a.autoRowHeight&&i.push(a)}),this.cells=t,this.calculatedHeightCells=i,this.fixedCells=n,this.noFixedCells=r}updateCalculatedHeight(){let e=this.calculatedHeightCells.map(e=>{let t=e.getAutoHeight(),{key:n,height:r=-1}=this.ctx.database.getMaxRowHeightItem(this.rowKey)||{};return(t>r||e.key===n&&t<r)&&this.ctx.database.setMaxRowHeightItem(this.rowKey,e.key,t),t});return this.calculatedHeight=e.length?Math.max(...e):-1,this.calculatedHeight}drawCenter(){this.noFixedCells.forEach(e=>{e.draw()})}drawFixed(){this.fixedCells.forEach(e=>{e.draw()})}drawContainer(){this.noFixedCells.forEach(e=>{e.drawContainer()})}drawFixedContainer(){this.fixedCells.forEach(e=>{e.drawContainer()})}}class me{constructor(e){n(this,`resizeTarget`,null),n(this,`dragSource`,null),n(this,`dragTarget`,null),n(this,`dragRowDiff`,0),n(this,`dragPosition`,`none`),n(this,`isMouseDown`,!1),n(this,`resizeDiff`,0),n(this,`clientY`,0),n(this,`ctx`),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`,0),n(this,`headIndex`,0),n(this,`tailIndex`,0),n(this,`isResizing`,!1),n(this,`renderRows`,[]),n(this,`visibleRows`,[]),n(this,`visibleHeight`,0),n(this,`visibleWidth`,0),n(this,`containerRect`),n(this,`data`,[]),this.ctx=e,this.init(),this.initTree(),this.initSelection(),this.initResizeRow(),this.initDragRow()}init(){let{canvasElement:e,header:t,footer:n,database:r,config:{FOOTER_FIXED:i,SCROLLER_TRACK_SIZE:a=0,HEIGHT:o,EMPTY_BODY_HEIGHT:s=0,MAX_HEIGHT:c=0,ENABLE_OFFSET_HEIGHT:l=0,OFFSET_HEIGHT:u=0,FOOTER_POSITION:d}}=this.ctx;if(!t.width)return;this.x=0,d===`top`&&i?this.y=t.height+n.height:this.y=t.height;let{data:f,sumHeight:p}=r.getData();this.height=p,this.data=f,this.width=t.width,this.visibleWidth=this.ctx.stageWidth-a;let m=this.ctx.footer.height;this.ctx.isEmpty=!this.data.length,!this.data.length&&!o?this.height=s:!this.data.length&&o&&(this.height=o-t.height-m-a);let{zoomScale:h}=this.ctx,g=this.height+t.height+a;g+=m;let _=h.contentToPhysical(g),v=window.innerHeight,{top:y}=this.containerRect||this.ctx.containerElement.getBoundingClientRect();if(v>y&&l&&!o){let e=v-y-u;e>h.contentToPhysical(t.height+a)?_=e:h.contentToPhysical(g)>c&&(_=c)}else this.data.length&&o?_=o:this.data.length&&c&&h.contentToPhysical(g)>c&&(_=c);if(_>0){let{stageHeight:e,stagePhysicalHeight:t}=h.applyStageHeight(this.ctx.stageElement,_);this.ctx.stageHeight=e,this.ctx.stagePhysicalHeight=t}let b=this.ctx.stageHeight-t.height-a;i?this.visibleHeight=b-m:this.visibleHeight=b,this.data.length||(this.height=this.visibleHeight),this.ctx.body.x=this.x,this.ctx.body.y=this.y,this.ctx.body.width=this.width,this.ctx.body.height=this.height,this.ctx.body.visibleWidth=this.visibleWidth,this.ctx.body.visibleHeight=this.visibleHeight,this.ctx.body.data=f;let x=window.devicePixelRatio||1,S=this.ctx.stagePhysicalWidth*x,C=this.ctx.stagePhysicalHeight*x;e.width=Math.round(S),e.height=Math.round(C);let w=this.data.length?`not-empty`:`empty`;this.ctx.emit(`emptyChange`,{isEmpty:w,type:w,headerHeight:t.height,bodyHeight:this.height,footerHeight:m,width:this.width,height:this.data.length?0:s+m});let T=Math.round(e.width/x*1e4)/1e4,E=Math.round(e.height/x*1e4)/1e4;this.ctx.canvasElement.setAttribute(`style`,`height:${E}px;width:${T}px;`),this.ctx.paint.scale(x,this.ctx.zoomScale.value)}initTree(){this.ctx.on(`cellClick`,(e,t)=>{if(this.ctx.stageElement.style.cursor!==`pointer`||!e.isImageInside(`tree`,t))return;let{expand:n=!1,expandLazy:r=!1}=this.ctx.database.getRowForRowKey(e.rowKey)||{},{EXPAND_LAZY:i,EXPAND_LAZY_METHOD:a}=this.ctx.config;if(i&&a&&!n&&!r)typeof a==`function`&&(this.ctx.database.expandLoading(e.rowKey,!0),a({row:e.row,rowIndex:e.rowIndex,colIndex:e.colIndex,column:e.column,value:e.getValue()}).then(t=>{this.ctx.database.setExpandChildren(e.rowKey,t),this.ctx.database.expandLoading(e.rowKey,!1),this.ctx.emit(`expandChange`,this.ctx.database.getExpandRowKeys())}).catch(t=>{this.ctx.database.expandLoading(e.rowKey,!1),console.error(t)}));else{let t=this.ctx.database.getIsExpand(e.rowKey);this.ctx.database.expandItem(e.rowKey,!t),this.ctx.emit(`expandChange`,this.ctx.database.getExpandRowKeys())}})}initSelection(){this.ctx.on(`cellClick`,(e,t)=>{this.ctx.stageElement.style.cursor!==`pointer`||!e.isImageInside(`selection`,t)||!this.ctx.database.getRowSelectable(e.rowKey)||this.ctx.database.toggleRowSelection(e.rowKey,e.type)})}initResizeRow(){this.ctx.on(`resize`,()=>{this.ctx.config.ENABLE_RESIZE_ROW&&(this.containerRect=this.ctx.containerElement.getBoundingClientRect())}),this.ctx.on(`resizeObserver`,()=>{this.ctx.config.ENABLE_RESIZE_ROW&&(this.containerRect=this.ctx.containerElement.getBoundingClientRect())}),this.ctx.on(`mouseup`,()=>{this.ctx.config.ENABLE_RESIZE_ROW&&(this.isMouseDown=!1,this.resizeDiff!==0&&this.resizeTarget&&this.resizeRow(this.resizeTarget,this.resizeDiff),this.resizeTarget=null,this.resizeDiff=0,this.isResizing=!1,setTimeout(()=>{this.ctx.rowResizing=!1},0),this.clientY=0)}),this.ctx.on(`mousedown`,e=>{this.ctx.config.ENABLE_RESIZE_ROW&&this.ctx.isTarget(e)&&(this.clientY=e.clientY,this.resizeTarget?(this.isResizing=!0,this.ctx.rowResizing=!0):(this.isResizing=!1,this.ctx.rowResizing=!1),this.isMouseDown=!0)}),this.ctx.on(`mousemove`,e=>{if(!this.ctx.config.ENABLE_RESIZE_ROW||this.ctx.editing)return;let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n,a=e.clientY,{stageHeight:o,scrollY:s,config:{RESIZE_ROW_MIN_HEIGHT:c=0}}=this.ctx;if(this.isResizing&&this.resizeTarget){let e=this.resizeTarget.height,t=a-this.clientY,{calculatedHeight:n}=this.resizeTarget,r=n===-1?c:n;t+e<r&&(t=-(e-r)),this.resizeDiff=t,this.ctx.emit(`draw`)}else{if(this.resizeTarget=null,this.isMouseDown)return;if(i<0||i>this.ctx.body.visibleWidth||r<0||r>this.ctx.header.visibleHeight+this.ctx.body.visibleHeight){this.ctx.stageElement.style.cursor===`row-resize`&&(this.ctx.stageElement.style.cursor=`default`);return}if(this.ctx.stageElement.style.cursor===`crosshair`)return;this.ctx.stageElement.style.cursor===`row-resize`&&(this.ctx.stageElement.style.cursor=`default`);for(let e=0;e<this.renderRows.length;e++){let t=this.renderRows[e];if(r>t.y-s+t.height-1.5&&r<t.y-s+t.height+1.5&&r<o-4)for(let e=0;e<t.cells.length;e++){let n=t.cells[e];i>n.drawX+10&&i<n.drawX+n.width-10&&n.rowspan===1&&(this.ctx.stageElement.style.cursor=`row-resize`,this.resizeTarget=t)}}}})}initDragRow(){this.ctx.on(`cellMousedown`,(e,t)=>{this.ctx.config.ENABLE_DRAG_ROW&&e.isImageInside(`drag`,t)&&(this.dragSource=e,this.ctx.database.expandItem(e.rowKey,!1),this.ctx.dragRowIng=!0,this.dragRowDiff=this.ctx.mouseY-e.drawY,this.ctx.stageElement.style.cursor=`grabbing`,this.ctx.clearSelector(),this.ctx.emit(`dragRowMouseDown`,e),this.ctx.emit(`draw`))}),this.ctx.on(`mouseup`,async()=>{if(this.ctx.dragRowIng){if(this.dragSource&&this.dragTarget&&this.ctx.stageElement.style.cursor!==`not-allowed`){let e=this.dragSource,t=this.dragTarget,n={source:e,target:t,position:this.dragPosition};this.ctx.emit(`dragRowChange`,n);let r=!0,{BEFORE_DRAG_ROW_METHOD:i}=this.ctx.config;if(typeof i==`function`&&(r=await i(n)),r&&!this.ctx.config.ENABLE_DRAG_ROW_CUSTOM){let n=this.ctx.database.getOriginalData(),{TREE_CHILDREN_KEY:r,ROW_KEY:i}=this.ctx.config,a=new de(n,{key:i,childrenKey:r});a.treeMove(e.rowKey,t.rowKey,this.dragPosition),this.ctx.emit(`loadData`,a.getTree())}}this.dragTarget||(this.ctx.stageElement.style.cursor=`grab`),this.ctx.dragRowIng=!1,this.dragSource=null,this.dragTarget=null,this.dragPosition=`after`,this.dragRowDiff=0,this.ctx.emit(`draw`)}}),this.ctx.on(`mousemove`,e=>{if(!this.ctx.dragRowIng)return;let{offsetY:t}=this.ctx.getOffset(e),{drawY:n}=this.dragTarget;n<t||n>t?this.ctx.startAdjustPosition(e):this.ctx.stopAdjustPosition()}),this.ctx.on(`cellMouseenter`,e=>{if(!this.ctx.dragRowIng)return;this.dragTarget=e;let{ENABLE_DRAG_ROW_CROSS_LEVEL:t}=this.ctx.config,n=this.dragSource,r=this.dragTarget;if(!t&&n&&r&&n.parentRowKey!==r.parentRowKey){this.ctx.stageElement.style.cursor=`not-allowed`;return}this.ctx.stageElement.style.cursor=`grabbing`,this.dragTarget=e;let{drawY:i,visibleHeight:a}=e,o=t?a/3:a/2;this.ctx.mouseY<=i+o?this.dragPosition=`before`:this.ctx.mouseY>i+a-o?this.dragPosition=`after`:this.dragPosition=`inside`;let s={dragSource:this.dragSource,dragTarget:this.dragTarget,dragPosition:this.dragPosition};this.ctx.emit(`dragRowMove`,s),this.ctx.emit(`draw`)})}resizeRow(e,t){let{rowIndex:n,height:r,rowKey:i,data:a}=e;this.ctx.database.setRowHeight(n,r+t),this.init(),this.ctx.emit(`draw`),this.ctx.emit(`resizeRowChange`,{rowIndex:n,oldHeight:r,height:r+t,rowKey:i,row:a,data:this.data})}drawTipLine(){if(this.isResizing&&this.resizeTarget){let{stageWidth:e,scrollY:t,config:{RESIZE_ROW_LINE_COLOR:n}}=this.ctx,r=this.resizeTarget.y-t+this.resizeTarget.height+this.resizeDiff-.5,i=[0,r-.5,e,r-.5];this.ctx.paint.drawLine(i,{borderColor:n,borderWidth:1})}}drawDragRowTip(){if(this.ctx.dragRowIng&&this.dragTarget&&this.dragSource){let{stageWidth:e,config:{DRAG_ROW_TIP_LINE_COLOR:t,DRAG_TIP_BG_COLOR:n}}=this.ctx,r=this.dragSource.visibleHeight;this.ctx.paint.drawRect(0,this.ctx.mouseY-this.dragRowDiff,this.visibleWidth,r,{fillColor:n,borderWidth:0,borderColor:`transparent`});let i=this.dragTarget.drawY,a=this.dragTarget.height,o=i;if([`before`,`after`].includes(this.dragPosition)){this.dragPosition===`after`&&(o=i+a);let n=[0,o-.5,e,o-.5];this.ctx.paint.drawLine(n,{borderColor:t,borderWidth:1.2})}[`inside`].includes(this.dragPosition)&&(o=i+a/2);let s=[0,o-4,6,o,0,o+4,0,o-4];this.ctx.paint.drawLine(s,{borderColor:t,borderWidth:1.2,fillColor:t})}}drawFixedShadow(){let{fixedLeftWidth:e,fixedRightWidth:t,scrollX:n,header:r,stageWidth:i,config:{HEADER_BG_COLOR:a,SCROLLER_TRACK_SIZE:o}}=this.ctx;if(n>0&&e!==0&&!this.ctx.isEmpty&&this.ctx.paint.drawShadow(this.x,this.y,e,this.height,{fillColor:a,side:`right`,shadowWidth:4,colorStart:`rgba(0,0,0,0.1)`,colorEnd:`rgba(0,0,0,0)`}),n<Math.floor(r.width-i-1)&&t!==o&&!this.ctx.isEmpty){let e=r.width-(this.x+this.width)+i-t;this.ctx.paint.drawShadow(e,this.y,t,this.height,{fillColor:a,side:`left`,shadowWidth:4,colorStart:`rgba(0,0,0,0)`,colorEnd:`rgba(0,0,0,0.1)`})}}binarySearch(e,t){let n=0,r=e.length-1,i=-1;for(;n<=r;){let a=Math.floor((n+r)/2),o=e[a].bottom;if(o===t)return a;o<t?n=a+1:(i=a,r=a-1)}return i}update(){this.init();let{header:e,database:t,scrollY:n,config:{CELL_HEIGHT:r}}=this.ctx,i=n,{data:a,positions:o}=t.getData();this.ctx.maxRowIndex=a.length-1;let s=this.binarySearch(o,i),c=this.binarySearch(o,i+this.visibleHeight);if(c===-1&&(c=this.ctx.maxRowIndex),s===-1&&c===this.ctx.maxRowIndex){let e=Math.floor(this.visibleHeight/r);s=this.ctx.maxRowIndex-e}this.headIndex=Math.max(0,s),this.tailIndex=Math.min(this.ctx.maxRowIndex,c+1),this.visibleRows=a.slice(this.headIndex,this.tailIndex+1),this.ctx.body.headIndex=this.headIndex,this.ctx.body.tailIndex=this.tailIndex,this.ctx.body.visibleRows=this.visibleRows;let l=[];for(let t=0;t<this.visibleRows.length;t++){let n=this.headIndex+t,r=this.visibleRows[t],{height:i,top:a}=this.ctx.database.getPositionForRowIndex(n),o=new pe(this.ctx,n,0,a+this.y,e.width,i,r);l.push(o)}this.renderRows=l,this.ctx.body.renderRows=l}updateAutoHeight(){let e=this.ctx.body.renderRows;if(!e.some(e=>e.calculatedHeightCells.length>0))return!1;e.forEach(e=>{e.updateCalculatedHeight()});let t=e.map(e=>({height:e.calculatedHeight,rowIndex:e.rowIndex}));return this.ctx.database.setBatchCalculatedRowHeight(t)}draw(){this.renderRows.forEach(e=>{e.drawContainer()}),this.renderRows.forEach(e=>{e.drawCenter()}),this.drawFixedShadow(),this.renderRows.forEach(e=>{e.drawFixedContainer()}),this.renderRows.forEach(e=>{e.drawFixed()}),this.drawTipLine()}}class he{constructor(e){n(this,`ctx`),n(this,`renderRows`,[]),n(this,`data`,[]),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`,0),n(this,`visibleWidth`,0),n(this,`visibleHeight`,0),this.ctx=e,this.init()}init(){this.data=this.ctx.database.getFooterData();let{header:e,body:t,config:{CELL_FOOTER_HEIGHT:n,FOOTER_FIXED:r,SCROLLER_TRACK_SIZE:i,FOOTER_POSITION:a}}=this.ctx;this.width=e.width,this.visibleWidth=e.visibleWidth,this.height=this.data.reduce(e=>e+n,0),this.visibleHeight=this.height,r?a===`top`?this.y=this.ctx.header.height:this.y=this.ctx.stageHeight-this.height-i:this.y=t.y+t.height,this.ctx.footer.x=this.x,this.ctx.footer.y=this.y,this.ctx.footer.height=this.height,this.ctx.footer.width=this.width,this.ctx.footer.visibleWidth=this.visibleWidth,this.ctx.footer.visibleHeight=this.visibleHeight}drawFixedShadow(){let{fixedLeftWidth:e,fixedRightWidth:t,scrollX:n,header:r,stageWidth:i,config:{HEADER_BG_COLOR:a,SCROLLER_TRACK_SIZE:o}}=this.ctx,s=this.y;if(this.ctx.config.FOOTER_FIXED||(s=this.y-this.ctx.scrollY),n>0&&e!==0&&this.ctx.paint.drawShadow(this.x,s,e,this.height,{fillColor:a,side:`right`,shadowWidth:4,colorStart:`rgba(0,0,0,0.1)`,colorEnd:`rgba(0,0,0,0)`}),n<Math.floor(r.width-i-1)&&t!==o){let e=r.width-(this.x+this.width)+i-t;this.ctx.paint.drawShadow(e,s,t,this.height,{fillColor:a,side:`left`,shadowWidth:4,colorStart:`rgba(0,0,0,0)`,colorEnd:`rgba(0,0,0,0.1)`})}}update(){this.init();let{CELL_FOOTER_HEIGHT:e}=this.ctx.config,t=this.y,n=[];this.data.forEach((r,i)=>{let a=new pe(this.ctx,i,0,t,this.width,e,r,`footer`);t+=e,n.push(a)}),this.renderRows=n,this.ctx.footer.renderRows=this.renderRows}drawTopLine(){let{stageWidth:e,config:{BORDER_COLOR:t}}=this.ctx,n=[0,this.y,e,this.y];this.ctx.paint.drawLine(n,{borderColor:t,borderWidth:1})}draw(){this.renderRows.forEach(e=>{e.drawContainer()}),this.renderRows.forEach(e=>{e.drawCenter()}),this.drawFixedShadow(),this.renderRows.forEach(e=>{e.drawFixedContainer()}),this.renderRows.forEach(e=>{e.drawFixed()}),this.drawTopLine()}}class ge{constructor(e){n(this,`isCut`,!1),n(this,`isMultipleRow`,!1),n(this,`ctx`),this.ctx=e,this.init()}init(){this.ctx.on(`setMoveFocus`,e=>{this.moveFocus(e)}),this.ctx.on(`mousemove`,a(e=>{var t;(t=this.ctx.focusCellHeader)!=null&&t.fixed||!this.ctx.dragHeaderIng&&this.ctx.selectorMove&&this.ctx.startAdjustPosition(e)},100)),this.ctx.on(`cellHoverChange`,e=>{if(!this.ctx.autofillMove){if(e.operation){this.selectRows(e,!1);return}this.isMultipleRow||this.mouseenter()}}),this.ctx.on(`cellClick`,()=>{this.adjustBoundaryPosition()}),this.ctx.on(`cellMousedown`,(e,t)=>{if(!(!this.ctx.isTarget(t)||this.ctx.stageElement.style.cursor===`pointer`||this.ctx.stageElement.style.cursor===`crosshair`)){if(e.operation){this.isMultipleRow=!0,this.selectRows(e);return}window.getComputedStyle(t.target).userSelect!==`text`&&t.preventDefault(),this.isMultipleRow=!1,this.click(t.shiftKey),this.ctx.emit(`selectorClick`,e)}}),this.ctx.on(`mouseup`,()=>{this.ctx.selectorMove=!1,this.ctx.stopAdjustPosition(),setTimeout(()=>{this.ctx.disableHoverIconClick=!1},0)}),this.ctx.on(`cellHeaderHoverChange`,e=>{this.ctx.textSelecting||this.ctx.mousedown&&this.selectCols(e)}),this.ctx.on(`cellHoverChange`,e=>{this.ctx.textSelecting||this.ctx.mousedown&&this.selectCols(e)}),this.ctx.on(`cellHeaderMousedown`,(e,t)=>{this.ctx.stageElement.style.cursor!==`pointer`&&(window.getComputedStyle(t.target).userSelect!==`text`&&t.preventDefault(),this.ctx.clearSelector(),e.operation?this.selectAll():this.selectCols(e))}),this.ctx.on(`keydown`,e=>{if(!this.ctx.editing&&!this.ctx.finding){if(e.ctrlKey&&e.code===`KeyV`||e.metaKey&&e.code===`KeyV`){this.paste();return}if(e.ctrlKey&&e.code===`KeyC`||e.metaKey&&e.code===`KeyC`){this.copy(),this.isCut=!1;return}if(e.ctrlKey&&e.code===`KeyX`||e.metaKey&&e.code===`KeyX`){this.isCut=!0,this.copy();return}if((e.ctrlKey&&e.code===`KeyA`||e.metaKey&&e.code===`KeyA`)&&(e.preventDefault(),this.selectAll()),e.code===`ArrowLeft`||e.shiftKey&&e.code===`Tab`){e.preventDefault(),this.moveFocus(`LEFT`);return}if(e.code===`ArrowUp`){e.preventDefault(),this.moveFocus(`TOP`);return}if(e.code===`ArrowRight`||e.code===`Tab`){e.preventDefault(),this.moveFocus(`RIGHT`);return}if(e.code===`ArrowDown`){e.preventDefault(),this.moveFocus(`BOTTOM`);return}if(e.code===`Delete`||e.code===`Backspace`){e.preventDefault();let{xArr:t,yArr:n}=this.ctx.selector;this.clearSelectedData(t,n);return}}}),this.ctx.on(`contextMenuClearSelected`,()=>{let{xArr:e,yArr:t}=this.ctx.selector;this.clearSelectedData(e,t)}),this.ctx.on(`contextMenuCopy`,()=>{this.copy()}),this.ctx.on(`contextMenuPaste`,()=>{this.paste()}),this.ctx.on(`contextMenuCut`,()=>{this.isCut=!0,this.copy()}),this.ctx.on(`setSelectorCell`,e=>{this.ctx.setFocusCell(e),this.click(),this.adjustBoundaryPosition()}),this.ctx.on(`selectCols`,e=>{this.selectCols(e)})}setSelector(e,t){if(this.ctx.dragHeaderIng||this.ctx.dragRowIng)return;let{ENABLE_SELECTOR_SPAN_COL:n,ENABLE_SELECTOR_SPAN_ROW:r}=this.ctx.config,i=e,a=t;if(!r){let[e]=a;a=[e,e]}if(!n){let[e]=i;i=[e,e]}if(JSON.stringify(this.ctx.selector.xArr)!==JSON.stringify(i)||JSON.stringify(this.ctx.selector.yArr)!==JSON.stringify(a)){this.ctx.mousedown&&(this.ctx.selectorMove=!0,this.ctx.disableHoverIconClick=!0),this.ctx.selector.enable=!0;let{SELECTOR_AREA_MIN_X:e,SELECTOR_AREA_MAX_X:t,SELECTOR_AREA_MIN_Y:n,SELECTOR_AREA_MAX_Y:r,SELECTOR_AREA_MAX_X_OFFSET:o,SELECTOR_AREA_MAX_Y_OFFSET:s}=this.ctx.config,c=e,l=t||this.ctx.maxColIndex-o,u=n,d=r||this.ctx.maxRowIndex-s,[f,p]=i,[m,h]=a;if(f<c||p>l||m<u||h>d)return;if(this.ctx.config.ENABLE_MERGE_CELL_LINK){let e=this.adjustMergeCells(i,a);m=e.yArr[0],h=e.yArr[1],f=e.xArr[0],p=e.xArr[1],this.ctx.onlyMergeCell=e.onlyMergeCell}f===p&&m===h?this.ctx.selectOnlyOne=!0:this.ctx.selectOnlyOne=!1,i=[Math.max(c,f),Math.min(l,p)],a=[Math.max(u,m),Math.min(d,h)];let{BEFORE_SET_SELECTOR_METHOD:g}=this.ctx.config;if(typeof g==`function`){let e=g({focusCell:this.ctx.focusCell,xArr:i,yArr:a});if(!e)return;i=e.xArr,a=e.yArr}this.ctx.selector.xArr=i,this.ctx.selector.yArr=a,h===this.ctx.maxRowIndex&&m===0?this.ctx.selectColsIng=!0:this.ctx.selectColsIng=!1,p===this.ctx.maxColIndex&&f===0?this.ctx.selectRowsIng=!0:this.ctx.selectRowsIng=!1,this.ctx.emit(`setSelector`,this.ctx.selector),this.ctx.emit(`drawView`)}}adjustMergeCells(e,t){let[n,r]=t,[i,a]=e;if(r===this.ctx.maxRowIndex&&n===0||a===this.ctx.maxColIndex&&i===0)return{xArr:e,yArr:t,onlyMergeCell:!1};let o=[],s=[];for(let c=0;c<=t[1]-t[0];c++)for(let l=0;l<=e[1]-e[0];l++){let u=c+t[0],d=l+e[0],f=this.ctx.database.getVirtualBodyCell(u,d);f&&((u===n||u===r)&&o.push(f),(d===i||d===a)&&s.push(f))}let c=o.reduce((e,t)=>{let{yArr:n}=t.getSpanInfo(),[r,i]=n;return e.minY=Math.min(e.minY,r),e.maxY=Math.max(e.maxY,i),e},{minY:n,maxY:r}),l=s.reduce((e,t)=>{let{xArr:n}=t.getSpanInfo(),[r,i]=n;return e.minX=Math.min(e.minX,r),e.maxX=Math.max(e.maxX,i),e},{minX:i,maxX:a}),u=[l.minX,l.maxX],d=[c.minY,c.maxY],f=!1;if(l.minX!==l.maxX||c.minY!==c.maxY){let e=JSON.stringify(u)+JSON.stringify(d),t=this.ctx.focusCell?.getSpanInfo();f=(t&&JSON.stringify(t.xArr)+JSON.stringify(t.yArr))===e}return{xArr:u,yArr:d,onlyMergeCell:f}}selectCols(e){if(this.ctx.config.ENABLE_SELECTOR_SINGLE||!this.ctx.config.ENABLE_SELECTOR_ALL_ROWS||this.ctx.autofillMove||this.ctx.columnResizing||this.ctx.editing)return;let{SELECTOR_AREA_MIN_Y:t,SELECTOR_AREA_MAX_Y:n,SELECTOR_AREA_MAX_Y_OFFSET:r}=this.ctx.config,i=t,a=n||this.ctx.maxRowIndex-r;if(this.ctx.focusCellHeader){let{colIndex:t}=this.ctx.focusCellHeader;if(this.ctx.clearSelector(),this.ctx.mousedown&&e.colIndex>=t){let n=[t,e.colIndex+e.colspan-1],r=[i,a];this.setSelector(n,r)}else{let n=[e.colIndex,t+e.colspan-1],r=[i,a];this.setSelector(n,r)}}}selectAll(){if(this.ctx.autofillMove||this.ctx.editing)return;let{ENABLE_SELECTOR_ALL_ROWS:e,ENABLE_SELECTOR_ALL_COLS:t}=this.ctx.config;if(e&&t){let{SELECTOR_AREA_MIN_X:e,SELECTOR_AREA_MAX_X:t,SELECTOR_AREA_MIN_Y:n,SELECTOR_AREA_MAX_Y:r,SELECTOR_AREA_MAX_X_OFFSET:i,SELECTOR_AREA_MAX_Y_OFFSET:a}=this.ctx.config,o=e,s=t||this.ctx.maxColIndex-i,c=n,l=r||this.ctx.maxRowIndex-a,u=[o,s],d=[c,l];this.setSelector(u,d)}}selectRows(e,t=!0){if(this.ctx.config.ENABLE_SELECTOR_SINGLE||!this.ctx.config.ENABLE_SELECTOR_ALL_COLS||this.ctx.autofillMove||this.ctx.editing)return;let{SELECTOR_AREA_MIN_X:n,SELECTOR_AREA_MAX_X:r,SELECTOR_AREA_MAX_X_OFFSET:i}=this.ctx.config,a=r||this.ctx.maxColIndex-i,o=n;if(t){this.ctx.setFocusCell(e);let t=[o,a],n=[e.rowIndex,e.rowIndex];this.setSelector(t,n)}if(this.ctx.focusCell&&this.ctx.mousedown){let{rowIndex:t}=this.ctx.focusCell;if(e.rowIndex>=t){let n=[o,a],r=[t,e.rowIndex];this.setSelector(n,r)}else{let n=[o,a],r=[e.rowIndex,t];this.setSelector(n,r)}}}mouseenter(){if(this.ctx.config.ENABLE_SELECTOR_SINGLE||this.ctx.editing)return;let{mousedown:e,focusCell:t,hoverCell:n}=this.ctx;if(e&&t&&n){let{rowIndex:e,colIndex:r}=t,i=Math.min(n.colIndex,r),a=Math.max(n.colIndex,r),o=Math.min(n.rowIndex,e),s=Math.max(n.rowIndex,e),c=[i,a],l=[o,s];this.setSelector(c,l)}}click(e=!1){let{focusCell:t,clickCell:n}=this.ctx;if(t&&this.isInSettingRange(t.rowIndex,t.colIndex))if(this.ctx.selector.enable=!0,n&&e){if(this.ctx.config.ENABLE_SELECTOR_SINGLE)return;let{colIndex:e,rowIndex:r}=n,{colIndex:i,rowIndex:a}=t,o=Math.min(i,e),s=Math.max(i,e),c=Math.min(a,r),l=Math.max(a,r),u=[o,s],d=[c,l];this.setSelector(u,d)}else{this.ctx.emit(`cellSelectedClick`,t);let e=[t.colIndex,t.colIndex],n=[t.rowIndex,t.rowIndex];this.setSelector(e,n)}}clearCopyLine(){this.ctx.selector.xArrCopy=[-1,-1],this.ctx.selector.yArrCopy=[-1,-1]}getCell(e,t){return this.ctx.body.renderRows.find(t=>t.rowIndex===e)?.cells.find(e=>e.colIndex===t)}copy(){if(!this.ctx.config.ENABLE_COPY||this.ctx.domSelectionStr||this.ctx.textSelectionStr)return;let{value:e,xArr:t,yArr:n}=this.ctx.getSelectedData();if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.database.hasMergeCell(t,n))if(this.ctx.onlyMergeCell&&this.ctx.focusCell){let r=this.ctx.focusCell;e=[[r.getValue()]],t=[r.colIndex,r.colIndex],n=[r.rowIndex,r.rowIndex]}else{let e={code:`ERR_MERGED_CELLS_COPY`,message:this.ctx.locale.getText(`mergeCellNoCopy`)};this.ctx.hasEvent(`error`)?this.ctx.emit(`error`,e):console.error(e.message);return}let{BEFORE_COPY_METHOD:r}=this.ctx.config;if(typeof r==`function`){let i=r({focusCell:this.ctx.focusCell,data:e,xArr:t,yArr:n});if(!i)return;e=i.data}let i=h(e);navigator.clipboard?navigator.clipboard.writeText(i).then(()=>{this.ctx.selector.xArrCopy=this.ctx.selector.xArr.slice(),this.ctx.selector.yArrCopy=this.ctx.selector.yArr.slice(),this.ctx.emit(`copyChange`,{xArr:this.ctx.selector.xArrCopy,yArr:this.ctx.selector.yArrCopy,data:e}),this.ctx.emit(`draw`)}).catch(e=>console.error(`Copy Failure:`,e)):console.error(`current browser does not support the Clipboard API`)}clearSelectedData(e,t,n=!1,r=null){let i=[],a=new Set;for(let n=0;n<=t[1]-t[0];n++)for(let o=0;o<=e[1]-e[0];o++){let s=n+t[0],c=o+e[0],l=this.ctx.database.getItemValueForRowIndexAndColIndex(s,c);if(l){let{rowKey:e,key:t}=l;this.ctx.database.getReadonly(e,t)||(a.add(e),i.push({rowKey:e,key:t,value:r,row:{}}))}}if(!i.length)return[];if(n)return i;this.ctx.database.batchSetItemValue(i,!0);let o=[];return a.forEach(e=>{o.push(this.ctx.database.getRowDataItemForRowKey(e))}),this.ctx.emit(`clearSelectedDataChange`,i,o),i}paste(){if(!navigator.clipboard){console.error(`current browser does not support the Clipboard API`);return}let{ENABLE_PASTER:e}=this.ctx.config;if(this.ctx.selector.enable&&e){let e=this.ctx.selector.yArr[0],t=this.ctx.selector.xArr[0],n=new Set;navigator.clipboard.readText().then(async r=>{let i=m(r),a=[t,t+i[0].length-1],o=[e,e+i.length-1],[s,c]=o,[l,u]=a,d=c-this.ctx.maxRowIndex,f=u-this.ctx.maxColIndex;(d>0||f>0)&&this.ctx.emit(`onPastedDataOverflow`,{maxY:c,maxX:u,minY:s,minX:l,overflowRowCount:d,overflowColCount:f,textArr:i});let p=i.length===1&&i[0].length===1;if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.database.hasMergeCell(a,o)&&!p){let e={code:`ERR_MERGED_CELLS_PASTE`,message:this.ctx.locale.getText(`mergeCellNoPaste`),data:[]};this.ctx.hasEvent(`error`)?this.ctx.emit(`error`,e):console.error(e.message);return}let h=[];for(let r=0;r<=i.length-1;r++){let a=i[r].length;for(let o=0;o<=a-1;o++){let a=r+e,s=o+t,c=i[r][o],l=this.ctx.database.getItemValueForRowIndexAndColIndex(a,s);if(l){let{rowKey:e,key:t}=l;this.ctx.database.getReadonly(e,t)||(n.add(e),h.push({rowKey:e,key:t,value:c,row:{}}))}}}if(this.isCut){let e=this.clearSelectedData(this.ctx.selector.xArrCopy,this.ctx.selector.yArrCopy,!0),t=h.map(e=>`${e.rowKey}-${e.key}`);e.forEach(e=>{t.includes(`${e.rowKey}-${e.key}`)||h.unshift(e)}),this.isCut=!1}if(!h.length)return;let{BEFORE_PASTE_DATA_METHOD:g}=this.ctx.config;if(typeof g==`function`&&(h=await g(h.map(e=>({rowKey:e.rowKey,key:e.key,value:e.value,oldValue:this.ctx.database.getItemValue(e.rowKey,e.key),row:this.ctx.database.getRowDataItemForRowKey(e.rowKey)})),a,o,i),h&&!h.length))return;this.clearCopyLine(),this.ctx.batchSetItemValueByEditor(h,!0);let _=[];n.forEach(e=>{_.push(this.ctx.database.getRowDataItemForRowKey(e))}),this.ctx.emit(`pasteChange`,h,_),this.ctx.emit(`draw`)}).catch(e=>{console.error(`Failed to get the clipboard content:`,e)})}}moveFocus(e){if(this.ctx.editing)return;let{focusCell:t}=this.ctx;if(!t)return;let{colIndex:n=0,rowIndex:r=0}=t,i=this.ctx.maxColIndex,a=this.ctx.maxRowIndex;switch(e){case`LEFT`:n>0&&n--;break;case`TOP`:r>0&&r--;break;case`RIGHT`:n<i&&n++;break;case`BOTTOM`:r<a&&r++;break}let o=[n,n],s=[r,r],c=this.getCell(r,n);c&&(c.operation||this.isInSettingRange(c.rowIndex,c.colIndex)&&(this.ctx.setFocusCell(c),this.setSelector(o,s),this.adjustBoundaryPosition(),this.ctx.emit(`moveFocus`,c),this.ctx.emit(`draw`)))}isInSettingRange(e,t){let{SELECTOR_AREA_MIN_X:n,SELECTOR_AREA_MAX_X:r,SELECTOR_AREA_MIN_Y:i,SELECTOR_AREA_MAX_Y:a,SELECTOR_AREA_MAX_X_OFFSET:o,SELECTOR_AREA_MAX_Y_OFFSET:s}=this.ctx.config,c=n,l=r||this.ctx.maxColIndex-o,u=i,d=a||this.ctx.maxRowIndex-s;return!(t<c||t>l||e<u||e>d)}adjustBoundaryPosition(){let{stageHeight:e,stageWidth:t,focusCell:n,fixedRightWidth:r,fixedLeftWidth:i,header:a,footer:o,body:s,scrollX:c,scrollY:l,config:{SCROLLER_TRACK_SIZE:u,FOOTER_FIXED:d,FOOTER_POSITION:f,ENABLE_MERGE_CELL_LINK:p}}=this.ctx;if(!n)return;p&&this.ctx.onlyMergeCell&&n.updateSpanInfo();let{drawX:m,drawY:h,width:g,height:_,fixed:v}=n,y=i-m+1,b=n.drawX+g-(t-r)+1,x=a.height-h,S=_;S>s.visibleHeight&&(S=s.visibleHeight);let C=0;d&&(f===`top`?x=a.height+o.height-h:C=o.visibleHeight);let w=h+S-(e-C-u),T=c,E=l;b>0&&!v?T=Math.floor(c+b):y>0&&!v&&(T=Math.floor(c-y)),x>0?E=Math.floor(l-x):w>0&&(E=Math.floor(l+w)),(Math.abs(c-T)>2.5||Math.abs(l-E)>2.5)&&this.ctx.setScroll(T,E)}destroy(){}}class _e{constructor(e){n(this,`ctx`),n(this,`maxColRowCell`),this.ctx=e,this.init()}init(){this.ctx.on(`mousemove`,e=>{if(this.ctx.stageElement.style.cursor===`crosshair`&&(this.ctx.stageElement.style.cursor=`default`),this.ctx.editing||!this.ctx.focusCell||!this.maxColRowCell)return;let{offsetX:t,offsetY:n}=this.ctx.getOffset(e),{colIndex:r,rowIndex:i,drawX:a,drawY:o,width:s,height:c}=this.maxColRowCell,l=r===this.ctx.maxColIndex||i===this.ctx.maxRowIndex?0:2,u=a+s-6+l,d=o+c-6+l;t>u&&n>d&&t<u+6&&n<d+6&&(this.ctx.stageElement.style.cursor=`crosshair`),this.ctx.autofillMove&&this.ctx.startAdjustPosition(e)}),this.ctx.on(`cellMouseenter`,e=>{let{xArr:t,yArr:n}=this.ctx.selector,r=t[1],i=n[1],{colIndex:a,rowIndex:o}=e;this.ctx.config.ENABLE_AUTOFILL&&a===r&&o===i&&(this.maxColRowCell=e),this.mouseenter(e)}),this.ctx.on(`mousedown`,()=>{this.ctx.stageElement.style.cursor===`crosshair`&&this.setMousedown()}),this.ctx.on(`mouseup`,()=>{this.setMouseUp(),this.ctx.stopAdjustPosition()})}isAutofillIng(){let{xArr:e,yArr:t}=this.ctx.selector;return!(JSON.stringify(this.ctx.autofill.xArr)===JSON.stringify(e)&&JSON.stringify(this.ctx.autofill.yArr)===JSON.stringify(t))}setMousedown(){this.ctx.autofill.enable=!0,this.ctx.autofillMove=!0,this.ctx.disableHoverIconClick=!0}setMouseUp(){this.ctx.autofill.enable&&(this.isAutofillIng()&&this.autofillData(),this.ctx.autofill.enable=!1,this.ctx.autofillMove=!1,this.ctx.autofill.xArr=[-1,-1],this.ctx.autofill.yArr=[-1,-1],setTimeout(()=>{this.ctx.disableHoverIconClick=!1},0))}setAutofill(e,t){let{ENABLE_AUTOFILL:n,ENABLE_AUTOFILL_SPAN_COL:r,ENABLE_AUTOFILL_SPAN_ROW:i}=this.ctx.config;if(!n)return;let a=e,o=t,s=this.ctx.selector.xArr,c=this.ctx.selector.yArr;if(!(!i&&JSON.stringify(c)!==JSON.stringify(o))&&!(!r&&JSON.stringify(s)!==JSON.stringify(a))&&(JSON.stringify(this.ctx.autofill.xArr)!==JSON.stringify(a)||JSON.stringify(this.ctx.autofill.yArr)!==JSON.stringify(o))){let{SELECTOR_AREA_MIN_X:e,SELECTOR_AREA_MAX_X:t,SELECTOR_AREA_MIN_Y:n,SELECTOR_AREA_MAX_Y:r,SELECTOR_AREA_MAX_X_OFFSET:i,SELECTOR_AREA_MAX_Y_OFFSET:s}=this.ctx.config,c=e,l=t||this.ctx.maxColIndex-i,u=n,d=r||this.ctx.maxRowIndex-s,[f,p]=a,[m,h]=o;if(f<c||m<u)return;a=[Math.max(c,f),Math.min(l,p)],o=[Math.max(u,m),Math.min(d,h)];let{BEFORE_SET_AUTOFILL_METHOD:g}=this.ctx.config;if(typeof g==`function`){let e=g({focusCell:this.ctx.focusCell,xArr:a,yArr:o});if(!e)return;a=e.xArr,o=e.yArr}this.ctx.autofill.xArr=a,this.ctx.autofill.yArr=o,this.ctx.emit(`setAutofill`,this.ctx.autofill),this.ctx.emit(`draw`)}}async autofillData(){let e=new Set,t=this.ctx.getSelectedData(),n=new Map;for(let e=0;e<=t.yArr[1]-t.yArr[0];e++)for(let r=0;r<=t.xArr[1]-t.xArr[0];r++){let i=e+t.yArr[0],a=r+t.xArr[0];n.set(`${i}-${a}`,!0)}let{value:r}=t,i=r[0].length,a=r.length,o=this.ctx.autofill.xArr,s=this.ctx.autofill.yArr,c=i===1&&a===1;if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.database.hasMergeCell(o,s)&&!c){let e={code:`ERR_MERGED_CELLS_AUTOFILL`,message:this.ctx.locale.getText(`mergeCellNoFill`),data:[]};this.ctx.hasEvent(`error`)?this.ctx.emit(`error`,e):console.error(e.message);return}let l=[];for(let t=0;t<=s[1]-s[0];t++)for(let c=0;c<=o[1]-o[0];c++){let u=c+o[0],d=t+s[0],f=r[t%a][c%i],p=this.ctx.database.getItemValueForRowIndexAndColIndex(d,u),m=`${d}-${u}`;if(p&&!n.has(m)){let{rowKey:t,key:n}=p;this.ctx.database.getReadonly(t,n)||(e.add(t),l.push({rowKey:t,key:n,value:f,row:{}}))}}if(!l.length)return;this.ctx.selector.xArr=this.ctx.autofill.xArr,this.ctx.selector.yArr=this.ctx.autofill.yArr;let{BEFORE_AUTOFILL_DATA_METHOD:u}=this.ctx.config;if(typeof u==`function`&&(l=await u(l.map(e=>({rowKey:e.rowKey,key:e.key,value:e.value,oldValue:this.ctx.database.getItemValue(e.rowKey,e.key),row:this.ctx.database.getRowDataItemForRowKey(e.rowKey)})),o,s),l&&!l.length))return;this.ctx.batchSetItemValueByEditor(l,!0);let d=[];e.forEach(e=>{d.push(this.ctx.database.getRowDataItemForRowKey(e))}),this.ctx.emit(`autofillChange`,l,d),this.ctx.emit(`draw`)}mouseenter(e){if([`index`,`selection`,`index-selection`].includes(e.type))return;let{selector:t,autofill:n}=this.ctx;if(this.ctx.mousedown&&t.enable&&n.enable){let{rowIndex:n,colIndex:r}=e,i=t.xArr.slice(),a=t.yArr.slice();n>=t.yArr[0]&&n<=t.yArr[1]?r>t.xArr[1]?i.splice(1,1,r):r<t.xArr[0]&&i.splice(0,1,r):n>t.yArr[1]?a.splice(1,1,n):n<t.yArr[0]&&a.splice(0,1,n),this.setAutofill(i,a)}}destroy(){}}let ve=Math.min,R=Math.max,ye=Math.round,z=Math.floor,B=e=>({x:e,y:e}),be={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function xe(e,t,n){return R(e,ve(t,n))}function Se(e,t){return typeof e==`function`?e(t):e}function V(e){return e.split(`-`)[0]}function H(e){return e.split(`-`)[1]}function Ce(e){return e===`x`?`y`:`x`}function U(e){return e===`y`?`height`:`width`}function W(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function we(e){return Ce(W(e))}function Te(e,t,n){n===void 0&&(n=!1);let r=H(e),i=we(e),a=U(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ne(o)),[o,Ne(o)]}function Ee(e){let t=Ne(e);return[De(e),t,De(t)]}function De(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}let G=[`left`,`right`],Oe=[`right`,`left`],ke=[`top`,`bottom`],Ae=[`bottom`,`top`];function je(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Oe:G:t?G:Oe;case`left`:case`right`:return t?ke:Ae;default:return[]}}function Me(e,t,n,r){let i=H(e),a=je(V(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(De)))),a}function Ne(e){let t=V(e);return be[t]+e.slice(t.length)}function Pe(e){return{top:0,right:0,bottom:0,left:0,...e}}function Fe(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Pe(e)}function Ie(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Le(e,t,n){let{reference:r,floating:i}=e,a=W(t),o=we(t),s=U(o),c=V(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(H(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Re(e,t){var n;t===void 0&&(t={});let{x:r,y:i,platform:a,rects:o,elements:s,strategy:c}=e,{boundary:l=`clippingAncestors`,rootBoundary:u=`viewport`,elementContext:d=`floating`,altBoundary:f=!1,padding:p=0}=Se(t,e),m=Fe(p),h=s[f?d===`floating`?`reference`:`floating`:d],g=Ie(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(h)))==null||n?h:h.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(s.floating)),boundary:l,rootBoundary:u,strategy:c})),_=d===`floating`?{x:r,y:i,width:o.floating.width,height:o.floating.height}:o.reference,v=await(a.getOffsetParent==null?void 0:a.getOffsetParent(s.floating)),y=await(a.isElement==null?void 0:a.isElement(v))&&await(a.getScale==null?void 0:a.getScale(v))||{x:1,y:1},b=Ie(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:_,offsetParent:v,strategy:c}):_);return{top:(g.top-b.top+m.top)/y.y,bottom:(b.bottom-g.bottom+m.bottom)/y.y,left:(g.left-b.left+m.left)/y.x,right:(b.right-g.right+m.right)/y.x}}let ze=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Re},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Le(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<50&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Le(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Be=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Se(e,t)||{};if(l==null)return{};let d=Fe(u),f={x:n,y:r},p=we(i),m=U(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=ve(d[_],T),D=ve(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=xe(O,A,k),M=!c.arrow&&H(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,ee=M?A<O?A-O:A-k:0;return{[p]:f[p]+ee,data:{[p]:j,centerOffset:A-j-ee,...M&&{alignmentOffset:ee}},reset:M}}}),Ve=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Se(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=V(r),_=W(o),v=V(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ne(o)]:Ee(o)),x=p!==`none`;!d&&x&&b.push(...Me(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Te(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==W(t))||T.every(e=>W(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=W(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},He=new Set([`left`,`top`]);async function Ue(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=V(n),s=H(n),c=W(n)===`y`,l=He.has(o)?-1:1,u=a&&c?-1:1,d=Se(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}let We=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Ue(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Ge=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Se(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=W(V(i)),p=Ce(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=xe(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=xe(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}};function Ke(){return typeof window<`u`}function qe(e){return q(e)?(e.nodeName||``).toLowerCase():`#document`}function K(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Je(e){return((q(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function q(e){return Ke()?e instanceof Node||e instanceof K(e).Node:!1}function J(e){return Ke()?e instanceof Element||e instanceof K(e).Element:!1}function Ye(e){return Ke()?e instanceof HTMLElement||e instanceof K(e).HTMLElement:!1}function Xe(e){return!Ke()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof K(e).ShadowRoot}function Ze(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ct(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Qe(e){return/^(table|td|th)$/.test(qe(e))}function $e(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}let et=/transform|translate|scale|rotate|perspective|filter/,tt=/paint|layout|strict|content/,nt=e=>!!e&&e!==`none`,rt;function it(e){let t=J(e)?ct(e):e;return nt(t.transform)||nt(t.translate)||nt(t.scale)||nt(t.rotate)||nt(t.perspective)||!ot()&&(nt(t.backdropFilter)||nt(t.filter))||et.test(t.willChange||``)||tt.test(t.contain||``)}function at(e){let t=ut(e);for(;Ye(t)&&!st(t);){if(it(t))return t;if($e(t))return null;t=ut(t)}return null}function ot(){return rt??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),rt}function st(e){return/^(html|body|#document)$/.test(qe(e))}function ct(e){return K(e).getComputedStyle(e)}function lt(e){return J(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ut(e){if(qe(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Xe(e)&&e.host||Je(e);return Xe(t)?t.host:t}function dt(e){let t=ut(e);return st(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ye(t)&&Ze(t)?t:dt(t)}function ft(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=dt(e),i=r===e.ownerDocument?.body,a=K(r);if(i){let e=pt(a);return t.concat(a,a.visualViewport||[],Ze(r)?r:[],e&&n?ft(e):[])}else return t.concat(r,ft(r,[],n))}function pt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function mt(e){let t=ct(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Ye(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ye(n)!==a||ye(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function ht(e){return J(e)?e:e.contextElement}function gt(e){let t=ht(e);if(!Ye(t))return B(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=mt(t),o=(a?ye(n.width):n.width)/r,s=(a?ye(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}let _t=B(0);function vt(e){let t=K(e);return!ot()||!t.visualViewport?_t:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function yt(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==K(e)?!1:t}function bt(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=ht(e),o=B(1);t&&(r?J(r)&&(o=gt(r)):o=gt(e));let s=yt(a,n,r)?vt(a):B(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=K(a),t=r&&J(r)?K(r):r,n=e,i=pt(n);for(;i&&r&&t!==n;){let e=gt(i),t=i.getBoundingClientRect(),r=ct(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=K(i),i=pt(n)}}return Ie({width:u,height:d,x:c,y:l})}function xt(e,t){let n=lt(e).scrollLeft;return t?t.left+n:bt(Je(e)).left+n}function St(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-xt(e,n),y:n.top+t.scrollTop}}function Ct(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Je(r),s=t?$e(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=B(1),u=B(0),d=Ye(r);if((d||!d&&!a)&&((qe(r)!==`body`||Ze(o))&&(c=lt(r)),d)){let e=bt(r);l=gt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?St(o,c):B(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function wt(e){return Array.from(e.getClientRects())}function Tt(e){let t=Je(e),n=lt(e),r=e.ownerDocument.body,i=R(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=R(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+xt(e),s=-n.scrollTop;return ct(r).direction===`rtl`&&(o+=R(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function Et(e,t){let n=K(e),r=Je(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=ot();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=xt(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=25&&(a-=o)}else l<=25&&(a+=l);return{width:a,height:o,x:s,y:c}}function Dt(e,t){let n=bt(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Ye(e)?gt(e):B(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ot(e,t,n){let r;if(t===`viewport`)r=Et(e,n);else if(t===`document`)r=Tt(Je(e));else if(J(t))r=Dt(t,n);else{let n=vt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ie(r)}function kt(e,t){let n=ut(e);return n===t||!J(n)||st(n)?!1:ct(n).position===`fixed`||kt(n,t)}function At(e,t){let n=t.get(e);if(n)return n;let r=ft(e,[],!1).filter(e=>J(e)&&qe(e)!==`body`),i=null,a=ct(e).position===`fixed`,o=a?ut(e):e;for(;J(o)&&!st(o);){let t=ct(o),n=it(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Ze(o)&&!n&&kt(e,o))?r=r.filter(e=>e!==o):i=t,o=ut(o)}return t.set(e,r),r}function jt(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?$e(t)?[]:At(t,this._c):[].concat(n),r],o=Ot(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Ot(t,a[e],i);s=R(n.top,s),c=ve(n.right,c),l=ve(n.bottom,l),u=R(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Mt(e){let{width:t,height:n}=mt(e);return{width:t,height:n}}function Nt(e,t,n){let r=Ye(t),i=Je(t),a=n===`fixed`,o=bt(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=B(0);function l(){c.x=xt(i)}if(r||!r&&!a)if((qe(t)!==`body`||Ze(i))&&(s=lt(t)),r){let e=bt(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?St(i,s):B(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Pt(e){return ct(e).position===`static`}function Ft(e,t){if(!Ye(e)||ct(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Je(e)===n&&(n=n.ownerDocument.body),n}function It(e,t){let n=K(e);if($e(e))return n;if(!Ye(e)){let t=ut(e);for(;t&&!st(t);){if(J(t)&&!Pt(t))return t;t=ut(t)}return n}let r=Ft(e,t);for(;r&&Qe(r)&&Pt(r);)r=Ft(r,t);return r&&st(r)&&Pt(r)&&!it(r)?n:r||at(e)||n}let Lt=async function(e){let t=this.getOffsetParent||It,n=this.getDimensions,r=await n(e.floating);return{reference:Nt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Rt(e){return ct(e).direction===`rtl`}let zt={convertOffsetParentRelativeRectToViewportRelativeRect:Ct,getDocumentElement:Je,getClippingRect:jt,getOffsetParent:It,getElementRects:Lt,getClientRects:wt,getDimensions:Mt,getScale:gt,isElement:J,isRTL:Rt};function Bt(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Vt(e,t){let n=null,r,i=Je(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=z(d),h=z(i.clientWidth-(u+f)),g=z(i.clientHeight-(d+p)),_=z(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:R(0,ve(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Bt(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Ht(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=ht(e),u=i||a?[...l?ft(l):[],...t?ft(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Vt(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?bt(e):null;c&&g();function g(){let t=bt(e);h&&!Bt(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}let Ut=We,Wt=Ge,Gt=Ve,Kt=Be,qt=(e,t,n)=>{let r=new Map,i={platform:zt,...n},a={...i.platform,_c:r};return ze(e,t,{...i,platform:a})},Jt=class{constructor(e){n(this,`ctx`),n(this,`enable`,!1),n(this,`contentEl`),n(this,`floatingEl`),n(this,`arrowEl`),this.ctx=e;let{TOOLTIP_BG_COLOR:t,TOOLTIP_TEXT_COLOR:r,TOOLTIP_ZINDEX:i,TOOLTIP_CUSTOM_STYLE:a,CSS_PREFIX:o}=this.ctx.config;this.contentEl=document.createElement(`div`),this.arrowEl=document.createElement(`div`),this.floatingEl=document.createElement(`div`),this.floatingEl.className=`${o}-tooltip`,this.contentEl.className=`${o}-tooltip-content`,this.arrowEl.className=`${o}-tooltip-arrow`;let s={display:`none`,position:`absolute`,background:t,color:r,boxSizing:`border-box`,zIndex:i,padding:`8px`,borderRadius:`4px`,fontSize:`12px`,...a},c={position:`absolute`,width:`10px`,height:`10px`,background:s.background,backgroundColor:s.backgroundColor,transform:`rotate(45deg)`,zIndex:s.zIndex};Object.assign(this.arrowEl.style,c),Object.assign(this.floatingEl.style,s),this.floatingEl.appendChild(this.contentEl),this.floatingEl.appendChild(this.arrowEl),this.ctx.containerElement.appendChild(this.floatingEl),this.init()}init(){this.floatingEl.addEventListener(`mouseleave`,()=>{this.hide()}),this.ctx.on(`mouseout`,e=>{this.floatingEl.contains(e.relatedTarget)||this.hide()}),this.ctx.on(`onScroll`,()=>{this.hide()}),this.ctx.on(`startEdit`,()=>{this.hide()}),this.ctx.on(`visibleCellHoverChange`,(e,t)=>{this.floatingEl.contains(t.target)||(e.ellipsis||e.message)&&this.show(e)}),this.ctx.on(`visibleCellMouseleave`,(e,t)=>{this.floatingEl.contains(t.target)||this.hide()}),this.ctx.on(`cellHeaderMouseleave`,(e,t)=>{this.floatingEl.contains(t.target)||this.hide()}),this.ctx.on(`cellHeaderHoverChange`,(e,t)=>{this.floatingEl.contains(t.target)||e.ellipsis&&this.show(e)}),this.ctx.on(`cellFooterMouseleave`,(e,t)=>{this.floatingEl.contains(t.target)||this.hide()}),this.ctx.on(`cellFooterHoverChange`,(e,t)=>{this.floatingEl.contains(t.target)||e.ellipsis&&this.show(e)}),this.ctx.on(`cellShowTooltip`,(e,t)=>{this.show(e,t)}),this.ctx.on(`cellHideTooltip`,()=>{this.hide()})}show(e,t){if(this.ctx.contextMenuIng||!e.overflowTooltipShow||this.ctx.mousedown)return;this.floatingEl.style.display=`block`;let n=e.getText();e.message&&(n=e.message),t&&(n=t);let r=this.ctx.containerElement.getBoundingClientRect();if(!r)return;this.enable=!0,this.contentEl.style.maxWidth=`${e.overflowTooltipMaxWidth||500}px`,this.contentEl.style.minWidth=`100px`,this.contentEl.style.width=`100%`,this.contentEl.style.display=`inline-block`,this.contentEl.style.wordBreak=`break-all`,this.contentEl.style.lineHeight=`1.5`,this.contentEl.innerText=n;let i=this.ctx.zoomScale.getViewportRect({x:e.drawX,y:e.drawY,width:e.visibleWidth,height:e.visibleHeight},r);qt({getBoundingClientRect(){return i}},this.floatingEl,{placement:e.overflowTooltipPlacement,middleware:[Wt(),Gt(),Ut(6),Kt({element:this.arrowEl})]}).then(e=>{let{x:t,y:n,placement:r,middlewareData:i}=e;if(Object.assign(this.floatingEl.style,{top:`${n}px`,left:`${t}px`}),i.arrow){let e=i.arrow;[`left`,`left-start`,`left-end`].includes(r)?Object.assign(this.arrowEl.style,{top:`${e.y}px`,bottom:``,left:``,right:`-5px`}):[`right`,`right-start`,`right-end`].includes(r)?Object.assign(this.arrowEl.style,{top:`${e.y}px`,bottom:``,left:`-5px`,right:``}):[`bottom`,`bottom-start`,`bottom-end`].includes(r)?Object.assign(this.arrowEl.style,{top:`-5px`,bottom:``,left:`${e.x}px`,right:``}):[`top`,`top-start`,`top-end`].includes(r)&&Object.assign(this.arrowEl.style,{top:``,bottom:`-5px`,left:`${e.x}px`,right:``})}})}hide(){this.enable&&(this.enable=!1,this.floatingEl.style.display=`none`)}destroy(){this.contentEl.remove(),this.arrowEl.remove(),this.floatingEl.remove()}};class Yt{constructor(e){n(this,`editorEl`),n(this,`inputEl`),n(this,`enable`,!1),n(this,`cellTarget`,null),n(this,`selectorArrStr`,``),n(this,`ctx`),n(this,`drawY`,0),n(this,`drawX`,0),n(this,`cancel`,!1),this.ctx=e,this.initTextEditor(),this.init()}init(){this.ctx.on(`outsideMousedown`,()=>{this.cellTarget&&this.cellTarget.editorType===`text`&&this.clearEditor()}),this.ctx.on(`moveFocus`,e=>{this.cellTarget=e,this.resetEditorStyle();let{xArr:t,yArr:n}=this.ctx.selector;this.selectorArrStr=JSON.stringify(t)+JSON.stringify(n),this.focusInput()}),this.ctx.on(`onScroll`,()=>{this.enable&&this.doneEdit()}),this.ctx.on(`hoverIconClick`,e=>{this.editCell(e.rowIndex,e.colIndex)}),this.ctx.on(`keydown`,e=>{if(!this.ctx.isTarget(e)||!this.ctx.focusCell||this.ctx.finding)return;let{focusCell:t}=this.ctx;if(e.code===`Escape`&&this.ctx.editing){this.cancel=!0;let{focusCell:e}=this.ctx;e&&(this.ctx.emit(`setSelectorCell`,e),this.cellTarget=e),this.doneEdit();return}if((e.altKey||e.metaKey)&&e.key===`Enter`&&this.ctx.editing&&this.inputEl){e.preventDefault();let t=this.inputEl.selectionStart,n=this.inputEl.value.substring(0,t),r=this.inputEl.value.substring(t);this.inputEl.value=n+`
|
|
16
|
-
`+r,this.inputEl.selectionStart=this.inputEl.selectionEnd=t+1,this.autoSize();return}if(e.code===`Tab`&&this.ctx.editing){if(e.preventDefault(),this.doneEdit(),e.shiftKey){this.ctx.emit(`setMoveFocus`,`LEFT`);return}this.ctx.emit(`setMoveFocus`,`RIGHT`);return}if(e.key===`Enter`&&this.ctx.editing){if(e.preventDefault(),this.doneEdit(),e.shiftKey){this.ctx.emit(`setMoveFocus`,`TOP`);return}this.ctx.emit(`setMoveFocus`,`BOTTOM`);return}if(e.key===`Enter`&&!this.ctx.editing){e.preventDefault(),this.startEdit();return}let n=e.key,r=e.ctrlKey,i=e.altKey,a=e.shiftKey,o=e.metaKey;if(!(r||i||a||o||`Enter.CapsLock.Escape.Tab.Backspace.Delete.ArrowUp.ArrowDown.ArrowLeft.ArrowRight.Home.End.PageUp.PageDown.Insert.F1.F2.F3.F4.F5.F6.F7.F8.F9.F10.F11.F12`.split(`.`).includes(n))){if(document.activeElement!==this.inputEl&&t.editorType===`text`){e.preventDefault();return}this.startEdit(!0)}}),this.ctx.on(`cellClick`,e=>{if(this.ctx.stageElement.style.cursor===`pointer`||!this.isInSelectorRange(e.rowIndex,e.colIndex))return;let{xArr:t,yArr:n}=this.ctx.selector,r=JSON.stringify(t)+JSON.stringify(n);if(this.focusInput(),this.selectorArrStr===r&&this.cellTarget){if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.onlyMergeCell){this.startEdit();return}if(this.ctx.selectOnlyOne&&e.rowKey===this.cellTarget.rowKey&&e.key===this.cellTarget.key){this.startEdit();return}}if(this.selectorArrStr=r,this.doneEdit(),this.cellTarget=e,this.resetEditorStyle(),this.ctx.config.ENABLE_EDIT_SINGLE_CLICK){if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.onlyMergeCell){this.startEdit();return}this.ctx.selectOnlyOne&&this.startEdit()}})}isTextSelectionActive(){return this.ctx.config.ENABLE_TEXT_SELECTION&&(this.ctx.textSelecting||!!this.ctx.textSelectionStr)}isInSelectorRange(e,t){let{xArr:n,yArr:r}=this.ctx.selector,[i,a]=n,[o,s]=r;return!(t<i||t>a||e<o||e>s)}initTextEditor(){this.inputEl=document.createElement(`textarea`),this.inputEl.id=`e-virt-table-editor-textarea`,this.inputEl.setAttribute(`rows`,`1`),this.inputEl.setAttribute(`tabindex`,`-1`),this.inputEl.addEventListener(`input`,this.autoSize.bind(this)),this.editorEl=this.ctx.editorElement,this.inputEl.className=`e-virt-table-editor-textarea`,this.editorEl.appendChild(this.inputEl),this.ctx.containerElement.appendChild(this.editorEl)}autoSize(){if(!this.ctx.editing)return;let e=this.inputEl.value;if(this.cellTarget&&this.cellTarget.type===`number`&&e!==``&&(this.ctx.emit(`cellHideTooltip`),!/^-?\d+(\.\d+)?$/.test(e))){let e=this.ctx.locale.getText(`numberErrorTip`);this.ctx.emit(`cellShowTooltip`,this.cellTarget,e)}this.inputEl.style.height=`auto`;let t=this.inputEl.scrollHeight,n=this.ctx.toLogical(t),r=this.ctx.body.visibleHeight;n>r&&(t=this.ctx.toVisual(r));let{stageHeight:i,footer:a,header:o,config:{SCROLLER_TRACK_SIZE:s}}=this.ctx,c=i-a.height-s;this.editorEl.style.bottom=`auto`,this.drawY<o.height&&(this.editorEl.style.top=this.ctx.toVisualPx(o.height-1)),this.drawY+this.ctx.toLogical(t)>c&&(this.editorEl.style.left=this.ctx.toVisualPx(this.drawX-1),this.editorEl.style.top=`auto`,this.editorEl.style.bottom=this.ctx.toVisualPx(i-c)),this.inputEl.style.height=`${t}px`}startEditByInput(e,t=!1){let n=t?null:e.getValue(),{editorType:r}=e;if(r===`none`)return;e.update(),this.ctx.config.ENABLE_MERGE_CELL_LINK&&e.updateSpanInfo();let{height:i,width:a,drawY:o,drawX:s}=e;this.drawX=s,this.drawY=o;let{config:{CELL_PADDING:c},header:l}=this.ctx,u=this.ctx.body.visibleHeight;i>u&&(i=u);let d=this.ctx.toVisual(u);this.editorEl.style.zIndex=`100`,this.editorEl.style.left=this.ctx.toVisualPx(this.drawX-1),this.editorEl.style.top=this.ctx.toVisualPx(this.drawY),this.editorEl.style.bottom=`auto`,this.editorEl.style.maxWidth=`none`,this.editorEl.style.maxHeight=`${d}px`,[`text`].includes(r)?(this.inputEl.style.opacity=`1`,this.inputEl.style.position=`relative`,this.inputEl.style.minWidth=this.ctx.toVisualPx(a-1),this.inputEl.style.minHeight=this.ctx.toVisualPx(i-1),this.inputEl.style.maxHeight=`${d}px`,this.inputEl.style.width=this.ctx.toVisualPx(a),this.inputEl.style.height=`auto`,this.inputEl.style.padding=this.ctx.toVisualPx(c),this.inputEl.value=``,n!==null&&(this.inputEl.value=n),(this.ctx.toLogical(this.inputEl.scrollHeight)>i||this.drawY<l.height)&&this.autoSize()):(this.inputEl.style.opacity=`0`,this.inputEl.style.width=`1px`,this.inputEl.style.height=`1px`,this.inputEl.style.position=`absolute`,this.inputEl.style.left=`0px`,this.inputEl.style.top=`0px`)}doneEditByInput(){if(this.cellTarget&&this.cellTarget.editorType===`text`){let{rowKey:e,key:t}=this.cellTarget,n=this.cellTarget.getValue(),r=this.inputEl.value;r!==n&&!(r===``&&n===null)&&!this.cancel&&this.ctx.setItemValueByEditor(e,t,r,!0)}}focusInput(){document.activeElement!==this.inputEl&&this.inputEl.focus({preventScroll:!0})}startEdit(e=!1){if(this.isTextSelectionActive())return;this.cancel=!1;let{ENABLE_EDIT_CLICK_SELECTOR:t}=this.ctx.config;if(!t)return;let n=this.ctx.focusCell;n&&(n.isVerticalVisible()&&n.isHorizontalVisible()||this.ctx.emit(`scrollToIndex`,n.rowIndex,n.colIndex),this.editCell(n.rowIndex,n.colIndex,e))}editCell(e,t,n=!1){let r=this.ctx.body.renderRows.find(t=>t.rowIndex===e);if(!r)return;let i=r.cells.find(e=>e.colIndex===t);if(!i||!(i.isVerticalVisible()&&i.isHorizontalVisible()))return;this.ctx.emit(`setSelectorCell`,i);let a=this.ctx.focusCell;if(!a||[`index`,`index-selection`,`selection`].includes(a.type)||this.enable)return;let{rowKey:o,key:s}=a,c=this.ctx.database.getReadonly(o,s);a&&!c&&(this.enable=!0,this.ctx.editing=!0,this.cellTarget=a,this.startEditByInput(this.cellTarget,n),this.ctx.emit(`startEdit`,this.cellTarget),this.ctx.emit(`draw`))}doneEdit(){this.enable&&(this.doneEditByInput(),this.ctx.emit(`cellHideTooltip`),this.ctx.emit(`doneEdit`,this.cellTarget),this.enable=!1,this.ctx.editing=!1,this.resetEditorStyle(),setTimeout(()=>{this.focusInput()},0),this.ctx.emit(`draw`))}resetEditorStyle(){let e=this.cellTarget;e&&(this.editorEl.style.left=this.ctx.toVisualPx(e.drawX),this.editorEl.style.top=this.ctx.toVisualPx(e.drawY),this.editorEl.style.maxWidth=`1px`,this.editorEl.style.maxHeight=`1px`,this.editorEl.style.zIndex=`-1`)}clearEditor(){this.doneEdit(),this.cellTarget=null,this.selectorArrStr=``,this.ctx.clearSelector(),this.ctx.focusCell=void 0,this.inputEl.blur(),this.ctx.emit(`draw`)}destroy(){var e;(e=this.editorEl)==null||e.remove()}}let Xt=class{constructor(e){n(this,`ctx`),n(this,`emptyEl`),this.ctx=e;let{EMPTY_CUSTOM_STYLE:t}=this.ctx.config;this.ctx.emptyElement?this.emptyEl=this.ctx.emptyElement:(this.emptyEl=document.createElement(`div`),this.emptyEl.innerText=this.getText()),this.emptyEl.className=`e-virt-table-empty`,this.emptyEl.style.display=`none`,this.ctx.containerElement.appendChild(this.emptyEl),this.ctx.on(`emptyChange`,({type:e,headerHeight:n,bodyHeight:r,footerHeight:i})=>{let a=n+(r+i)/2,o={display:e===`empty`?`block`:`none`,top:this.ctx.toVisualPx(a),...t};Object.assign(this.emptyEl.style,o)})}getText(){return this.ctx.config.EMPTY_TEXT||this.ctx.locale.getText(`emptyText`)}draw(){this.ctx.emptyElement||(this.emptyEl.innerText=this.getText())}destroy(){this.emptyEl.remove()}};class Zt{constructor(e){n(this,`ctx`),n(this,`observer`),this.ctx=e,this.init()}arerMapsEqual(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||t.get(n)!==r)return!1;return!0}init(){this.observer=new MutationObserver(a(()=>{let e=this.ctx.overlayerElement.querySelectorAll(`[data-auto-height="true"]`),t=new Map;e.forEach(e=>{let n=Number(e.getAttribute(`data-row-index`)),r=Number(e.getAttribute(`data-col-index`));if(isNaN(n)||isNaN(r))return;let i=e.getBoundingClientRect(),a=`${n}_${r}`;t.set(a,this.ctx.zoomScale.domHeightToLogical(i.height))});let n=this.ctx.database.getOverlayerAutoHeightMap();if(!this.arerMapsEqual(n,t)){if(this.ctx.database.setOverlayerAutoHeightMap(t),n.size===0&&t.size===0)return;this.ctx.emit(`draw`)}},16.67)),this.observer.observe(this.ctx.overlayerElement,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),this.ctx.overlayerElement.getAttribute(`data-overlayer`)==="default"&&this.ctx.on(`overlayerChange`,e=>{let t=this.ctx.overlayerElement;t.replaceChildren(),Object.assign(t.style,e.style),e.views.forEach(e=>{let n=document.createElement(`div`);n.className=e.class,this.ctx.zoomScale.assignScaledStyle(n,e.style),e.views.forEach(e=>{let t=document.createElement(`div`);this.ctx.zoomScale.assignScaledStyle(t,e.style),e.cells.forEach(e=>{let n=this.ctx.zoomScale.createOverlayerCellElement(e,this.ctx.config.CSS_PREFIX);t.appendChild(n)}),n.appendChild(t)}),t.appendChild(n)})})}draw(){let e=this.getContainer();this.ctx.emit(`overlayerChange`,e)}destroy(){this.observer&&this.observer.disconnect(),this.ctx.emit(`overlayerChange`,{style:{},views:[]})}getContainer(){let e=this.getHeader(),t=this.getBody(),n=this.getFooter(),r=[],{FOOTER_FIXED:i,FOOTER_POSITION:a}=this.ctx.config;return r=i?a===`top`?[e,n,t]:[e,t,n]:[e,t],{views:r}}getHeader(){let{fixedLeftWidth:e,fixedRightWidth:t,config:{SCROLLER_TRACK_SIZE:n,CSS_PREFIX:r}}=this.ctx,{visibleWidth:i,visibleHeight:a,renderCellHeaders:o}=this.ctx.header,s=[],c=[],l=[];o.forEach(e=>{e.render&&(e.fixed===`left`?c.push(e):e.fixed===`right`?l.push(e):s.push(e))});let u=t-n,d={key:`left`,style:{position:`absolute`,top:`0px`,left:`0px`,overflow:`hidden`,width:`${e}px`,height:`${a}px`},cells:c},f={key:`center`,style:{position:`absolute`,top:`0px`,left:`${e}px`,overflow:`hidden`,width:`${i-e-u+1}px`,height:`${a}px`},cells:s},p={key:`right`,style:{position:`absolute`,top:`0px`,right:`0px`,overflow:`hidden`,width:`${u+1}px`,height:`${a}px`},cells:l};return{type:`header`,class:`${r}-overlayer-header`,style:{position:`relative`,overflow:`hidden`,width:`${i}px`,height:`${a}px`},views:[d,f,p]}}getBody(){let e=[],t=[],n=[],r=this.ctx.body.renderRows;this.ctx.config.FOOTER_FIXED||(r=r.concat(this.ctx.footer.renderRows)),r.forEach(r=>{r.cells.forEach(r=>{r.cellType===`footer`&&(r.render=r.renderFooter),r.render&&(r.fixed===`left`?t.push(r):r.fixed===`right`?n.push(r):e.push(r))})});let{fixedLeftWidth:i,fixedRightWidth:a,config:{SCROLLER_TRACK_SIZE:o,CSS_PREFIX:s}}=this.ctx,{visibleWidth:c,visibleHeight:l}=this.ctx.body,u=a-o,d={key:`left`,style:{position:`absolute`,top:`0.5px`,left:`0.5px`,overflow:`hidden`,width:`${i}px`,height:`${l}px`},cells:t},f={key:`center`,style:{position:`absolute`,top:`0.5px`,left:`${i-.5}px`,overflow:`hidden`,width:`${c-i-u}px`,height:`${l}px`},cells:e},p={key:`right`,style:{position:`absolute`,top:`0px`,right:`0px`,overflow:`hidden`,width:`${u}px`,height:`${l}px`},cells:n};return{type:`body`,class:`${s}-overlayer-body`,style:{position:`relative`,overflow:`hidden`,width:`${c}px`,height:`${l}px`},views:[d,f,p]}}getFooter(){let e=[],t=[],n=[];this.ctx.footer.renderRows.forEach(r=>{r.cells.forEach(r=>{r.cellType===`footer`&&r.renderFooter&&(r.render=r.renderFooter,r.fixed===`left`?t.push(r):r.fixed===`right`?n.push(r):e.push(r))})});let{fixedLeftWidth:r,fixedRightWidth:i,config:{SCROLLER_TRACK_SIZE:a,CSS_PREFIX:o}}=this.ctx,{visibleWidth:s,visibleHeight:c}=this.ctx.footer,l=i-a,u={key:`left`,style:{position:`absolute`,top:`0.5px`,left:`0.5px`,overflow:`hidden`,width:`${r}px`,height:`${c}px`},cells:t},d={key:`center`,style:{position:`absolute`,top:`0.5px`,left:`${r-.5}px`,overflow:`hidden`,width:`${s-r-l}px`,height:`${c}px`},cells:e},f={key:`right`,style:{position:`absolute`,top:`0.5px`,right:`0.5px`,overflow:`hidden`,width:`${l}px`,height:`${c}px`},cells:n};return{type:`footer`,class:`${o}-overlayer-footer`,style:{position:`relative`,overflow:`hidden`,width:`${s}px`,height:`${c}px`},views:[u,d,f]}}}class Qt{constructor(e,t=[],r={}){n(this,`container`),n(this,`menuData`),n(this,`onClick`),n(this,`activeSubmenus`,new Set),n(this,`boundMouseEnterHandler`),n(this,`boundMouseLeaveHandler`),n(this,`boundClickHandler`),this.container=e,this.menuData=t,this.onClick=r.onClick,this.boundMouseEnterHandler=e=>this.handleMouseEvent(e,`enter`),this.boundMouseLeaveHandler=e=>this.handleMouseEvent(e,`leave`),this.boundClickHandler=e=>this.handleClick(e),this.createMenu(),this.bindEvents()}createMenu(){this.container.className=`e-virt-table-main-menu`,this.container.style.display=`block`;let e=document.createDocumentFragment();this.menuData.forEach(t=>{e.appendChild(this.createMenuItem(t))}),this.container.appendChild(e)}createMenuItem(e,t=!1){var n;let r=this.createElement(`div`,t?`e-virt-table-submenu-item`:`e-virt-table-menu-item`);r.setAttribute(t?`data-submenu`:`data-menu`,e.value),e.disabled&&r.classList.add(`disabled`);let i=this.createElement(`div`,`e-virt-table-menu-item-content`);if(e.icon){let t=this.createElement(`span`,`e-virt-table-menu-item-icon`);t.innerHTML=e.icon,i.appendChild(t)}else i.classList.add(`menu-item-no-icon`);let a=this.createElement(`span`,`e-virt-table-menu-item-text`);if(a.textContent=e.label||``,i.appendChild(a),r.appendChild(i),(n=e.children)!=null&&n.length){let t=this.createElement(`span`,`e-virt-table-menu-arrow`);t.innerHTML=ee,r.appendChild(t);let n=this.createSubmenu(e.children);r._submenu=n,this.container.appendChild(n)}return r}createSubmenu(e){let t=this.createElement(`div`,`e-virt-table-submenu`);return e.forEach(e=>{t.appendChild(this.createMenuItem(e,!0))}),t}createElement(e,t=``){let n=document.createElement(e);return t&&(n.className=t),n}bindEvents(){this.container.addEventListener(`mouseenter`,this.boundMouseEnterHandler,!0),this.container.addEventListener(`mouseleave`,this.boundMouseLeaveHandler,!0),this.container.addEventListener(`click`,this.boundClickHandler)}handleMouseEvent(e,t){e.stopPropagation();let n=e.target.closest(`.e-virt-table-menu-item, .e-virt-table-submenu-item`);n&&(this.container.contains(n)||n.classList.contains(`e-virt-table-submenu-item`))&&(t===`enter`?this.handleHover(n):this.handleLeave(n))}handleHover(e){e.classList.contains(`e-virt-table-menu-item`)&&(this.container.querySelectorAll(`.e-virt-table-menu-item`).forEach(e=>e.classList.remove(`active`)),e.classList.contains(`disabled`)||e.classList.add(`active`));let t=e._submenu||e.querySelector(`.e-virt-table-submenu`);t&&(this.hideSiblingSubmenus(e),this.showSubmenu(e,t))}handleLeave(e){let t=e._submenu||e.querySelector(`.e-virt-table-submenu`);setTimeout(()=>{let n=t;n&&!n.matches(`:hover`)&&!e.matches(`:hover`)&&(this.hideSubmenu(n),e.classList.contains(`e-virt-table-menu-item`)&&e.classList.remove(`active`))},150)}hideSiblingSubmenus(e){let t;if(e.classList.contains(`e-virt-table-menu-item`))t=this.container.querySelectorAll(`.e-virt-table-menu-item`);else{let n=e.closest(`.e-virt-table-submenu`);if(n)t=n.querySelectorAll(`.e-virt-table-submenu-item`);else return}t.forEach(t=>{t!==e&&t._submenu&&this.hideSubmenu(t._submenu)})}async showSubmenu(e,t){this.activeSubmenus.has(t)||(this.activeSubmenus.add(t),t.classList.add(`show`),t._cleanup=Ht(e,t,async()=>{let n=this.container.getBoundingClientRect(),r=window.innerWidth,i=t.offsetWidth||200,a=r-n.right,o=n.left,{x:s,y:c}=await qt(e,t,{placement:a>=i||a>=o?`right-start`:`left-start`,middleware:[Ut(8),Wt({padding:8})]});Object.assign(t.style,{left:`${s}px`,top:`${c}px`})}))}hideSubmenu(e){if(!this.activeSubmenus.has(e))return;this.activeSubmenus.delete(e),e.classList.remove(`show`),this.hideAllChildSubmenus(e);let t=e;t._cleanup&&(t._cleanup(),delete t._cleanup)}hideAllChildSubmenus(e){e.querySelectorAll(`.e-virt-table-submenu-item`).forEach(e=>{if(e._submenu){let t=e._submenu;if(this.activeSubmenus.has(t)){this.activeSubmenus.delete(t),t.classList.remove(`show`);let e=t;e._cleanup&&(e._cleanup(),delete e._cleanup),this.hideAllChildSubmenus(t)}}})}handleClick(e){e.stopPropagation();let t=e.target.closest(`.e-virt-table-menu-item, .e-virt-table-submenu-item`);if(!t||t.classList.contains(`disabled`))return;if(t.classList.contains(`e-virt-table-menu-item`)){let e=t._submenu||t.querySelector(`.e-virt-table-submenu`);if(e){this.showSubmenu(t,e);return}}let n=t.getAttribute(`data-menu`)||t?.getAttribute(`data-submenu`),r=this.findMenuItem(n||``);r&&this.onClick&&this.onClick(r,n||``)}findMenuItem(e,t=this.menuData){for(let n of t){if(n.value===e)return n;if(n.children){let t=this.findMenuItem(e,n.children);if(t)return t}}return null}positionMenu(e){let t={getBoundingClientRect:()=>({width:0,height:0,top:e.clientY,left:e.clientX,right:e.clientX,bottom:e.clientY,x:e.clientX,y:e.clientY}),contextElement:document.body};Ht(t,this.container,()=>{qt(t,this.container,{placement:`right-start`,middleware:[Ut(),Wt(),Gt()]}).then(({x:e,y:t})=>{this.container&&Object.assign(this.container.style,{left:`${e}px`,top:`${t}px`})})})}destroy(){this.container.removeEventListener(`mouseenter`,this.boundMouseEnterHandler,!0),this.container.removeEventListener(`mouseleave`,this.boundMouseLeaveHandler,!0),this.container.removeEventListener(`click`,this.boundClickHandler),this.cleanupAllSubmenus(this.container),this.container.style.display=`none`,this.container.replaceChildren()}removeMenuItem(e){let t=this.container.querySelector(`[data-menu="${e}"]`);if(!t)return!1;let n=t.querySelector(`.e-virt-table-submenu`);return n&&this.cleanupSubmenuRecursively(n),t.remove(),!0}removeSubMenuItem(e){let t=this.container.querySelector(`[data-submenu="${e}"]`);if(!t)return!1;let n=t.closest(`.e-virt-table-submenu`),r=t._submenu;if(r&&this.cleanupSubmenuRecursively(r),t.remove(),n&&n.querySelectorAll(`.e-virt-table-submenu-item`).length===0){let e=this.container.querySelector(`[data-menu]`);if(e&&e._submenu===n)this.removeMenuItem(e.getAttribute(`data-menu`)||``);else{let e=this.container.querySelectorAll(`[data-menu], [data-submenu]`);for(let t of e)if(t._submenu===n){let e=t.getAttribute(`data-menu`)||t.getAttribute(`data-submenu`);e&&(t.hasAttribute(`data-menu`)?this.removeMenuItem(e):this.removeSubMenuItem(e));break}}}return!0}cleanupAllSubmenus(e){e.querySelectorAll(`.e-virt-table-menu-item`).forEach(e=>{e._submenu&&=(this.cleanupSubmenuRecursively(e._submenu),void 0)})}cleanupSubmenuRecursively(e){let t=e;t._cleanup&&(t._cleanup(),delete t._cleanup),e.querySelectorAll(`.e-virt-table-submenu-item`).forEach(e=>{e._submenu&&this.cleanupSubmenuRecursively(e._submenu)}),e.remove()}}class $t{constructor(e){n(this,`ctx`),n(this,`contextMenuEl`),n(this,`currentDOMTreeMenu`),n(this,`isCustom`,!1),this.ctx=e,this.ctx.contextMenuElement?(this.contextMenuEl=this.ctx.contextMenuElement,this.contextMenuEl.className=`e-virt-table-main-menu`,this.isCustom=!0):(this.contextMenuEl=document.createElement(`div`),this.isCustom=!1),this.ctx.containerElement.appendChild(this.contextMenuEl),this.init()}init(){this.ctx.on(`outsideMousedown`,()=>{this.hide()}),this.ctx.on(`cellContextMenuClick`,async(e,t)=>{if(this.isCustom){this.contextMenuEl.style.display=`block`,this.positionMenu(t);return}let{ENABLE_CONTEXT_MENU:n,CUSTOM_BODY_CONTEXT_MENU:r,CONTEXT_MENU:i,BEFORE_BODY_CONTEXT_MENU_METHOD:a}=this.ctx.config,o=i.map(e=>({...e,label:e.label||this.ctx.locale.getText(e.value)}));if(o=[...o,...r],a&&(o=await a({list:o,cell:e,hide:this.hide.bind(this)})),!n||o.length===0)return;t.preventDefault();let{xArr:s,yArr:c}=this.ctx.selector,[l,u]=s,[d,f]=c,{rowIndex:p,colIndex:m}=e;p>=d&&p<=f&&m>=l&&m<=u||this.ctx.emit(`setSelectorCell`,e,t),this.currentDOMTreeMenu&&this.currentDOMTreeMenu.destroy(),this.ctx.contextMenuIng=!0,this.currentDOMTreeMenu=new Qt(this.contextMenuEl,o,{onClick:(n,r)=>{r===`copy`?(this.ctx.emit(`contextMenuCopy`),this.hide()):r===`paste`?(this.ctx.emit(`contextMenuPaste`),this.hide()):r===`cut`?(this.ctx.emit(`contextMenuCut`),this.hide()):r===`clearSelected`?(this.ctx.emit(`contextMenuClearSelected`),this.hide()):n.event&&n.event(t,{hide:this.hide.bind(this),cell:e})}}),this.currentDOMTreeMenu.positionMenu(t)}),this.ctx.on(`cellHeaderContextMenuClick`,async(e,t)=>{if(this.isCustom){this.contextMenuEl.style.display=`block`,this.positionMenu(t);return}let{SELECTOR_AREA_MIN_X:n,SELECTOR_AREA_MAX_X:r,SELECTOR_AREA_MAX_X_OFFSET:i,BEFORE_HEADER_CONTEXT_MENU_METHOD:a}=this.ctx.config,o=n,s=r||this.ctx.maxColIndex-i;if(e.colIndex<o||e.colIndex>s)return;let{HEADER_CONTEXT_MENU:c,CUSTOM_HEADER_CONTEXT_MENU:u,ENABLE_HEADER_CONTEXT_MENU:d}=this.ctx.config,f=c.map(e=>({...e,label:e.label||this.ctx.locale.getText(e.value)}));if(f=[...f,...u],a&&(f=await a({list:f,cell:e,hide:this.hide.bind(this)})),!d||f.length===0)return;t.preventDefault();let{xArr:p}=this.ctx.selector,[m,h]=p,{colIndex:g}=e;g>=m&&g<=h||(this.ctx.focusCellHeader=e,this.ctx.emit(`selectCols`,e)),this.currentDOMTreeMenu&&this.currentDOMTreeMenu.destroy();let _=this.ctx.database.getColumns(),v=f.map(e=>e.value===`visible`?{...e,children:this.filterColumns(_)}:e);this.ctx.contextMenuIng=!0,this.currentDOMTreeMenu=new Qt(this.contextMenuEl,v,{onClick:(n,r)=>{let{xArr:i}=this.ctx.selector,[a,o]=i;if(r===`fixedLeft`||r===`fixedRight`||r===`fixedNone`){let e=this.ctx.header.allCellHeaders.filter(e=>e.colIndex>=a&&e.colIndex<=o).filter(e=>e.level===0).filter(e=>!e.column.fixedDisabled).map(e=>e.key);this.ctx.database.setCustomHeaderFixedData(e,r===`fixedLeft`?`left`:r===`fixedRight`?`right`:``),this.hide()}else if(r===`hide`){let e=this.ctx.header.leafCellHeaders.filter(e=>e.colIndex>=a&&e.colIndex<=o).filter(e=>!e.children.length).filter(e=>!e.column.hideDisabled).map(e=>e.key);e.length>0&&this.ctx.database.setCustomHeaderHideData(e,!0),this.hide()}else if(r!==`visible`)if(r.startsWith(`visible_`)){if(!n.key)return;if(n.children){let e=this.getLeafKeys(n.children);this.ctx.database.setCustomHeaderHideData(e,!1)}else this.ctx.database.setCustomHeaderHideData([n.key],!1);this.currentDOMTreeMenu&&this.currentDOMTreeMenu.removeSubMenuItem(r),l(this.ctx.database.getColumns()).filter(e=>e.hide).length===0&&this.hide()}else r===`resetHeader`?(this.ctx.database.resetCustomHeader(),this.hide()):n.event&&n.event(t,{hide:this.hide.bind(this),cell:e})}}),this.positionMenu(t)}),this.ctx.on(`click`,()=>{this.hide()}),this.ctx.on(`onScroll`,this.hide.bind(this)),this.ctx.on(`resize`,this.hide.bind(this))}positionMenu(e){let t={getBoundingClientRect:()=>({width:0,height:0,top:e.clientY,left:e.clientX,right:e.clientX,bottom:e.clientY,x:e.clientX,y:e.clientY}),contextElement:document.body};Ht(t,this.contextMenuEl,()=>{qt(t,this.contextMenuEl,{placement:`right-start`,middleware:[Ut(),Wt(),Gt()]}).then(({x:e,y:t})=>{this.contextMenuEl&&Object.assign(this.contextMenuEl.style,{left:`${e}px`,top:`${t}px`})})})}filterColumns(e){let t=[];for(let n of e)if(n.children&&n.children.length>0){let e=this.filterColumns(n.children);e.length>0&&t.push({label:n.title,key:n.key,value:`visible_${n.key}`,children:e})}else n.hide&&t.push({label:n.title,value:`visible_${n.key}`,key:n.key});return t}getLeafKeys(e){return e.reduce((e,t)=>(!t.children||t.children.length===0?e.push(String(t.key)):e.push(...this.getLeafKeys(t.children)),e),[])}hide(){this.currentDOMTreeMenu&&=(this.currentDOMTreeMenu.destroy(),void 0),this.contextMenuEl.style.display=`none`,this.ctx.contextMenuIng=!1}destroy(){var e;this.hide(),(e=this.contextMenuEl)==null||e.remove()}}class en{constructor(e){if(n(this,`ctx`),n(this,`loadingEl`),n(this,`textEl`,document.createElement(`p`)),this.ctx=e,this.ctx.loadingElement)this.loadingEl=this.ctx.loadingElement;else{this.loadingEl=document.createElement(`div`);let e=document.createElement(`div`);e.className=`e-virt-table-loading-spinner`;let t=this.ctx.icons.getSvg(`loading`);if(t){let n=new DOMParser().parseFromString(t.svg,`image/svg+xml`).documentElement;e.appendChild(n)}this.textEl.className=`e-virt-table-loading-text`,this.textEl.innerText=this.getText(),e.appendChild(this.textEl),this.loadingEl.appendChild(e)}this.loadingEl.className=`e-virt-table-loading`,this.loadingEl.style.display=`none`,this.ctx.containerElement.appendChild(this.loadingEl)}getText(){return this.ctx.config.LOADING_TEXT||this.ctx.locale.getText(`loadingText`)}show(){this.loadingEl.style.display=`flex`}hide(){this.loadingEl.style.display=`none`}draw(){this.ctx.loadingElement||(this.textEl.innerText=this.getText())}destroy(){this.loadingEl.remove()}}class tn{constructor(e){n(this,`ctx`),n(this,`container`),n(this,`input`),n(this,`prevBtn`),n(this,`nextBtn`),n(this,`closeBtn`),n(this,`countEl`),n(this,`loadingEl`),n(this,`isVisible`,!1),n(this,`searchResults`,[]),n(this,`currentIndex`,-1),n(this,`searchData`,[]),n(this,`isComposing`,!1),this.ctx=e,this.container=this.createContainer(),this.ctx.containerElement.appendChild(this.container),this.bindEvents(),this.ctx.on(`keydown`,e=>{if(this.ctx.config.ENABLE_FINDER&&!this.ctx.editing){if((e.ctrlKey||e.metaKey)&&e.code===`KeyF`){e.preventDefault(),this.show();return}if(this.ctx.finding){if(e.code===`Escape`){e.preventDefault(),this.hide();return}if(e.code===`ArrowUp`||e.shiftKey&&e.key===`Enter`){e.preventDefault(),this.navigatePrevious();return}if(e.code===`ArrowDown`||e.key===`Enter`){e.preventDefault(),this.navigateNext();return}}}}),this.ctx.on(`setSelector`,()=>{this.hide()}),this.ctx.on(`outsideMousedown`,()=>{this.hide()})}async initSearchData(){this.showLoading(),this.searchData=[],setTimeout(()=>{let{allCellHeaders:e}=this.ctx.header;for(let t=0;t<e.length;t++){let n=e[t];n&&[`string`,`number`].includes(typeof n.text)&&this.searchData.push({rowIndex:0,colIndex:n.colIndex,text:`${n.text}`,type:`header`,colKey:n.key})}let{maxColIndex:t,maxRowIndex:n}=this.ctx;for(let e=0;e<=n;e++)for(let n=0;n<=t;n++){let t=this.ctx.database.getVirtualBodyCell(e,n,!1)?.getText();[`string`,`number`].includes(typeof t)&&this.searchData.push({rowIndex:e,colIndex:n,text:`${t}`,type:`body`})}this.hideLoading()},0)}createContainer(){let e=document.createElement(`div`);e.className=`e-virt-table-finder-bar`;let t=document.createElement(`div`);t.className=`e-virt-table-finder-bar-input-wrapper`,this.input=document.createElement(`input`),this.input.type=`text`,this.input.className=`e-virt-table-finder-bar-input`,this.input.placeholder=``,t.appendChild(this.input),this.loadingEl=document.createElement(`div`),this.loadingEl.className=`e-virt-table-finder-bar-loading`,this.loadingEl.innerHTML=`<svg t="1724133395728" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2893" width="32" height="32"><path d="M512 226.8476541a19.82487759 19.82487759 0 0 1 14.66497778 5.70304692c3.80203107 3.82918865 5.70304692 8.71751457 5.70304693 14.66497779v122.20814825a19.82487759 19.82487759 0 0 1-5.70304693 14.66497778 19.82487759 19.82487759 0 0 1-14.66497778 5.70304691 19.82487759 19.82487759 0 0 1-14.66497778-5.70304691 19.82487759 19.82487759 0 0 1-5.70304693-14.66497778v-122.20814825a19.82487759 19.82487759 0 0 1 5.70304693-14.66497779 19.82487759 19.82487759 0 0 1 14.66497778-5.70304692z m0 407.36049415a19.82487759 19.82487759 0 0 1 14.66497778 5.70304691c3.80203107 3.82918865 5.70304692 8.71751457 5.70304693 14.66497778v122.20814827a19.82487759 19.82487759 0 0 1-5.70304693 14.66497776 19.82487759 19.82487759 0 0 1-14.66497778 5.70304693 19.82487759 19.82487759 0 0 1-14.66497778-5.70304693 19.82487759 19.82487759 0 0 1-5.70304693-14.66497776v-122.20814827a19.82487759 19.82487759 0 0 1 5.70304693-14.66497778 19.82487759 19.82487759 0 0 1 14.66497778-5.70304691zM797.1523459 512a19.82487759 19.82487759 0 0 1-5.70304692 14.66497778 19.82487759 19.82487759 0 0 1-14.66497779 5.70304693h-122.20814825a19.82487759 19.82487759 0 0 1-14.66497778-5.70304693 19.82487759 19.82487759 0 0 1-5.70304691-14.66497778 19.82487759 19.82487759 0 0 1 5.70304691-14.66497778 19.82487759 19.82487759 0 0 1 14.66497778-5.70304693h122.20814825a19.82487759 19.82487759 0 0 1 14.66497779 5.70304693c3.80203107 3.82918865 5.70304692 8.71751457 5.70304692 14.66497778z m-407.36049415 0a19.82487759 19.82487759 0 0 1-5.70304691 14.66497778 19.82487759 19.82487759 0 0 1-14.66497778 5.70304693h-122.20814827a19.82487759 19.82487759 0 0 1-14.66497776-5.70304693 19.82487759 19.82487759 0 0 1-5.70304693-14.66497778 19.82487759 19.82487759 0 0 1 5.70304693-14.66497778 19.82487759 19.82487759 0 0 1 14.66497776-5.70304693h122.20814827a19.82487759 19.82487759 0 0 1 14.66497778 5.70304693c3.80203107 3.82918865 5.70304692 8.71751457 5.70304691 14.66497778zM310.22076878 310.22076878a21.29137537 21.29137537 0 0 1 14.66497779-5.70304693c5.51294514 0 10.18401235 1.90101585 14.01320099 5.70304693l86.55052591 86.57768347a20.91117183 20.91117183 0 0 1 5.73020449 14.31193182 19.28172983 19.28172983 0 0 1-6.05609289 14.013201 19.11878565 19.11878565 0 0 1-14.013201 6.05609289 20.96548698 20.96548698 0 0 1-14.31193182-5.70304692L310.22076878 338.87178998a19.06447114 19.06447114 0 0 1-5.70304693-14.01320099c0-5.54010272 1.90101585-10.42842865 5.70304693-14.66497778z m288.32975775 288.32975775a19.79772001 19.79772001 0 0 1 14.3390894-6.35482371c5.29568642 0 10.04822572 2.11827457 14.31193182 6.38198066l86.57768347 86.55052651c3.80203107 3.80203107 5.70304692 8.47309828 5.70304691 14.01320102a19.55330372 19.55330372 0 0 1-6.05609225 14.31193182 19.66193339 19.66193339 0 0 1-14.31193245 6.05609288 19.01015661 19.01015661 0 0 1-14.01320099-5.70304692l-86.55052591-86.57768347a19.79772001 19.79772001 0 0 1-6.38198129-14.31193245c0-5.29568642 2.11827457-10.07538268 6.38198129-14.33908939zM713.77923122 310.22076878c3.80203107 4.26370672 5.70304692 9.15203265 5.70304693 14.66497779s-1.90101585 10.18401235-5.70304693 14.01320099l-86.57768347 86.55052591a20.91117183 20.91117183 0 0 1-14.31193182 5.73020449 19.28172983 19.28172983 0 0 1-14.013201-6.05609289 19.11878565 19.11878565 0 0 1-6.05609289-14.013201c0-5.29568642 1.90101585-10.07538268 5.70304692-14.31193182l86.57768348-86.57768347c3.80203107-3.80203107 8.50025585-5.70304692 14.01320099-5.70304693 5.54010272 0 10.40127108 1.90101585 14.66497779 5.70304693zM425.44947347 598.57768347a19.79772001 19.79772001 0 0 1 6.35482371 14.33908939c0 5.29568642-2.11827457 10.04822572-6.38198066 14.31193245L338.89894756 713.77923122a19.06447114 19.06447114 0 0 1-14.01320099 5.70304693 19.55330372 19.55330372 0 0 1-14.31193245-6.05609227 19.68909035 19.68909035 0 0 1-6.05609227-14.31193245 19.01015661 19.01015661 0 0 1 5.70304693-14.01320099l86.57768347-86.55052591a19.79772001 19.79772001 0 0 1 14.31193182-6.38198129c5.29568642 0 10.07538268 2.11827457 14.3390894 6.38198129z" fill="#000000" fill-opacity=".65" p-id="2894"></path></svg>
|
|
17
|
-
`,t.appendChild(this.loadingEl),this.countEl=document.createElement(`span`),this.countEl.className=`e-virt-table-finder-bar-count`;let n=document.createElement(`div`);return n.className=`e-virt-table-finder-bar-nav`,this.prevBtn=document.createElement(`button`),this.prevBtn.className=`e-virt-table-finder-bar-nav-btn prev-btn`,this.prevBtn.innerHTML=ee,this.nextBtn=document.createElement(`button`),this.nextBtn.className=`e-virt-table-finder-bar-nav-btn next-btn`,this.nextBtn.innerHTML=ee,n.appendChild(this.prevBtn),n.appendChild(this.nextBtn),this.closeBtn=document.createElement(`button`),this.closeBtn.className=`e-virt-table-finder-bar-nav-btn close-btn`,this.closeBtn.innerHTML=`×`,e.appendChild(t),e.appendChild(this.countEl),e.appendChild(n),e.appendChild(this.closeBtn),e}bindEvents(){this.input.addEventListener(`input`,()=>{this.isComposing||this.performSearch()}),this.input.addEventListener(`compositionstart`,()=>{this.isComposing=!0}),this.input.addEventListener(`compositionend`,()=>{this.isComposing=!1,this.performSearch()}),this.prevBtn.addEventListener(`click`,()=>{this.navigatePrevious()}),this.nextBtn.addEventListener(`click`,()=>{this.navigateNext()}),this.closeBtn.addEventListener(`click`,()=>{this.hide()})}performSearch(){let e=this.input.value.trim();if(this.searchResults=[],this.currentIndex=-1,!e){this.cearFinderBar(),this.updateCount();return}this.showLoading(),setTimeout(()=>{this.searchResults=this.searchData.filter(t=>t.text.toLowerCase().includes(e.toLowerCase())),this.searchResults.length>0?(this.currentIndex=0,this.scrollToCurrentResult()):this.cearFinderBar(),this.updateCount(),this.hideLoading()},0)}scrollToCurrentResult(){if(this.currentIndex<0||this.currentIndex>=this.searchResults.length)return;let e=this.searchResults[this.currentIndex];this.ctx.finderBar=e;let{rowIndex:t,colIndex:n}=e;this.ctx.emit(`scrollToIndex`,t,n)}navigateNext(){this.searchResults.length!==0&&(this.currentIndex=(this.currentIndex+1)%this.searchResults.length,this.scrollToCurrentResult(),this.updateCount())}navigatePrevious(){this.searchResults.length!==0&&(this.currentIndex=this.currentIndex<=0?this.searchResults.length-1:this.currentIndex-1,this.scrollToCurrentResult(),this.updateCount())}updateCount(){if(this.searchResults.length===0)this.input.value.trim()?(this.countEl.textContent=`0/0`,this.countEl.classList.add(`no-results`)):(this.countEl.textContent=``,this.countEl.classList.remove(`no-results`));else{let e=this.currentIndex+1,t=this.searchResults.length;this.countEl.textContent=`${e}/${t}`,this.countEl.classList.remove(`no-results`)}}show(){this.isVisible||(this.isVisible=!0,this.ctx.finding=!0,this.container.classList.add(`show`),this.input.focus(),this.initSearchData())}showLoading(){var e;this.loadingEl.classList.add(`show`),(e=this.loadingEl.parentElement)==null||e.classList.add(`loading`),this.input.readOnly=!0}hideLoading(){var e;this.loadingEl.classList.remove(`show`),(e=this.loadingEl.parentElement)==null||e.classList.remove(`loading`),this.input.readOnly=!1}cearFinderBar(){this.ctx.finderBar={rowIndex:-1,colIndex:-1,text:``,type:`header`},this.ctx.emit(`draw`)}hide(){this.isVisible&&(this.isVisible=!1,this.container.classList.remove(`show`),this.ctx.finding=!1,this.input.value=``,this.searchResults=[],this.searchData=[],this.currentIndex=-1,this.hideLoading(),this.ctx.finderBar={rowIndex:-1,colIndex:-1,text:``,type:`header`},this.updateCount(),this.ctx.emit(`draw`))}destroy(){this.hide(),this.container.remove()}}let nn=class e{constructor(e){n(this,`ctx`),n(this,`layouts`,new Map),n(this,`activeCellKey`,``),n(this,`selectionStart`,null),n(this,`selectionEnd`,null),n(this,`pending`,null),this.ctx=e,this.ctx.on(`registerTextLayout`,(e,t)=>this.layouts.set(e,t)),this.ctx.on(`mousedown`,e=>this.onMouseDown(e)),this.ctx.on(`mousemove`,e=>this.onMouseMove(e)),this.ctx.on(`mouseup`,()=>this.onMouseUp()),this.ctx.on(`cellHeaderHoverChange`,e=>this.yieldToColumnDrag(e)),this.ctx.on(`cellHoverChange`,()=>this.yieldToColumnDrag()),this.ctx.on(`keydown`,e=>this.onCopyKeydown(e)),this.ctx.on(`outsideMousedown`,()=>this.resetSelection())}get canSelect(){return this.ctx.config.ENABLE_TEXT_SELECTION&&!this.ctx.editing&&!this.ctx.finding}yieldToColumnDrag(e){let t=this.ctx.focusCellHeader;if(!(!this.ctx.textSelecting||!t)){if(e){let n=t.colIndex,r=t.colIndex+t.colspan-1,i=e.colIndex,a=e.colIndex+e.colspan-1;if(i>=n&&a<=r)return}this.resetSelection()}}onMouseDown(e){if(!this.canSelect||!this.ctx.isTarget(e))return;this.ctx.containerElement.contains(document.activeElement)||this.ctx.containerElement.focus({preventScroll:!0});let t=this.hitTest(e);if(!t){this.resetSelection();return}let{offsetX:n,offsetY:r}=this.ctx.getOffset(e);this.pending={cellKey:t.cellKey,index:t.index,startX:n,startY:r}}onMouseMove(e){if(!this.canSelect||(this.ctx.textSelecting||this.tryStartDrag(e),!this.ctx.textSelecting))return;let t=this.layouts.get(this.activeCellKey);if(!t)return;let{offsetX:n,offsetY:r}=this.ctx.getOffset(e),i=this.hitTestText(t,n,r);i!==null&&(this.selectionEnd=i,this.updateSelection())}tryStartDrag(t){if(!this.pending||!this.ctx.mousedown)return;let{offsetX:n,offsetY:r}=this.ctx.getOffset(t),i=Math.abs(n-this.pending.startX),a=Math.abs(r-this.pending.startY);if(i<e.DRAG_THRESHOLD&&a<e.DRAG_THRESHOLD)return;let o=this.hitTest(t);if(!o||o.cellKey!==this.pending.cellKey){this.pending=null;return}this.activeCellKey=this.pending.cellKey,this.selectionStart=this.pending.index,this.selectionEnd=o.index,this.pending=null,this.ctx.textSelecting=!0,this.updateSelection()}onMouseUp(){this.pending=null,this.ctx.textSelecting=!1,this.ctx.textSelectionStr=this.getSelectedText(),this.ctx.textSelectionStr&&this.ctx.emit(`drawView`)}onCopyKeydown(e){var t;if(!this.canSelect||!((e.ctrlKey||e.metaKey)&&e.code===`KeyC`))return;let n=this.getSelectedText();n&&(e.preventDefault(),(t=navigator.clipboard)==null||t.writeText(n).catch(e=>console.error(`Copy Failure:`,e)))}hitTest(e){let{offsetX:t,offsetY:n}=this.ctx.getOffset(e),r=null;for(let[e,i]of this.layouts){let a=this.hitTestText(i,t,n);a!==null&&(r={cellKey:e,index:a})}return r}updateSelection(){this.ctx.textSelectionStr=this.getSelectedText(),this.ctx.emit(`drawView`)}hitTestText(e,t,n){let{glyphs:r,contentY:i,lineHeight:a,lines:o}=e;if(!r.length)return null;let s=Math.floor((n-i)/a);if(s<0||s>=o.length)return null;let c=r.filter(e=>e.line===s);if(!c.length)return null;let l=i+s*a;if(n<l-2||n>=l+a+2)return null;let u=c[0],d=c[c.length-1];if(t<u.x-2||t>d.x+d.width+2)return null;if(t<=u.x)return u.index;for(let e of c)if(t<e.x+e.width/2)return e.index;return d.index+1}clearLayouts(){this.layouts.clear()}draw(){if(!this.ctx.config.ENABLE_TEXT_SELECTION)return;let e=this.getSelectionRange(),t=e&&this.layouts.get(this.activeCellKey);t&&this.drawTextSelection(t,e)}drawTextSelection(e,t,n=`#fff`,r=`#3b82f6`){if(t.start>=t.end)return;let i=new Map;for(let n of e.glyphs){if(n.index<t.start||n.index>=t.end)continue;let e=i.get(n.line)??[];e.push(n),i.set(n.line,e)}if(!i.size)return;let a=this.ctx.paint.getCtx();a.save(),a.font=e.font,a.textBaseline=`top`,a.textAlign=`left`,i.forEach(e=>{let t=e[0],i=e[e.length-1];a.fillStyle=r,a.fillRect(t.x,t.y-1,i.x+i.width-t.x,t.height),a.fillStyle=n;for(let t of e)a.fillText(t.char,t.x,t.y)}),a.restore()}getSelectionRange(){return this.selectionStart===null||this.selectionEnd===null?null:{start:Math.min(this.selectionStart,this.selectionEnd),end:Math.max(this.selectionStart,this.selectionEnd)}}getSelectedText(){let e=this.getSelectionRange(),t=e&&this.layouts.get(this.activeCellKey);return!t||e.start>=e.end?``:t.chars.slice(e.start,e.end).join(``)}resetSelection(){this.activeCellKey=``,this.selectionStart=null,this.selectionEnd=null,this.pending=null,this.ctx.textSelecting=!1,this.ctx.textSelectionStr=``,this.ctx.emit(`drawView`)}destroy(){this.layouts.clear(),this.resetSelection()}};n(nn,`DRAG_THRESHOLD`,4);let Y=nn,rn=class e{constructor(e,t){n(this,`options`),n(this,`scroller`),n(this,`header`),n(this,`body`),n(this,`footer`),n(this,`selector`),n(this,`autofill`),n(this,`tooltip`),n(this,`editor`),n(this,`empty`),n(this,`overlayer`),n(this,`contextMenu`),n(this,`loading`),n(this,`finderBar`),n(this,`textSelector`),n(this,`animationFrameId`),n(this,`ctx`),this.options=t;let{overlayerElement:r,editorElement:i,emptyElement:a,contextMenuElement:o}=this.options,s=this.createContainer(e,r,i,a,o);this.ctx=new ce(s,this.options),this.textSelector=new Y(this.ctx),this.header=new fe(this.ctx),this.footer=new he(this.ctx),this.body=new me(this.ctx),this.scroller=new le(this.ctx),this.selector=new ge(this.ctx),this.autofill=new _e(this.ctx),this.tooltip=new Jt(this.ctx),this.empty=new Xt(this.ctx),this.editor=new Yt(this.ctx),this.overlayer=new Zt(this.ctx),this.contextMenu=new $t(this.ctx),this.loading=new en(this.ctx),this.finderBar=new tn(this.ctx),this.ctx.on(`loadData`,e=>{this.loadData(e)}),this.ctx.on(`draw`,()=>{this.draw()}),this.ctx.on(`drawView`,()=>{this.draw(!0)}),this.draw()}static useLocale(t){e.locale=t}createContainer(e,t,n,r,i){e.className=`e-virt-table-container`;let a=document.createElement(`div`),o=document.createElement(`canvas`),s=t||document.createElement(`div`);a.className=`e-virt-table-stage`,e.tabIndex=0,o.className=`e-virt-table-canvas`,s.className=`e-virt-table-overlayer`,s.setAttribute(`data-overlayer`,t?`custom`:`default`);let c=n||document.createElement(`div`);c.className=`e-virt-table-editor`;let l=r,u=i;return a.appendChild(o),a.appendChild(s),e.appendChild(a),{containerElement:e,stageElement:a,canvasElement:o,overlayerElement:s,editorElement:c,emptyElement:l,contextMenuElement:u}}doDraw(e=!1){this.header.update(),this.body.update(),this.footer.update(),this.ctx.paint.clear(),this.textSelector.clearLayouts(),this.body.draw(),this.footer.draw(),this.header.draw(),this.textSelector.draw(),this.body.drawDragRowTip(),this.scroller.draw(),this.empty.draw(),this.loading.draw(),e||this.overlayer.draw()}draw(e=!1){this.animationFrameId&&cancelAnimationFrame(this.animationFrameId),this.animationFrameId=requestAnimationFrame(()=>{this.doDraw(e),this.body.updateAutoHeight()&&this.doDraw(e)})}loadConfig(e){this.ctx.config.init(e),this.ctx.database.init(!1),this.header.init(),this.ctx.emit(`draw`)}loadColumns(e){this.editor.doneEdit(),this.ctx.database.setColumns(e),this.header.init(),this.ctx.emit(`draw`)}loadData(e){this.editor.doneEdit(),this.ctx.database.setData(e),this.header.init(),this.tooltip.hide(),this.ctx.emit(`draw`)}loadFooterData(e){this.ctx.database.setFooterData(e),this.ctx.emit(`draw`)}setCustomHeader(e,t=!0){this.ctx.database.setCustomHeader(e,t),this.header.init(),this.ctx.emit(`draw`)}getCustomHeader(){return this.header.getCustomHeader()}showColumns(e,t=!0){this.ctx.database.setCustomHeaderHideData(e,!t),this.header.init(),this.ctx.emit(`draw`)}fixedColumns(e,t){this.ctx.database.setCustomHeaderFixedData(e,t),this.header.init(),this.ctx.emit(`draw`)}setLoading(e){this.ctx.loading=e,e?this.loading.show():this.loading.hide()}on(e,t){this.ctx.on(e,t)}emit(e,...t){this.ctx.emit(e,...t)}off(e,t){this.ctx.off(e,t)}filterMethod(e){this.ctx.database.setFilterMethod(e),this.ctx.database.init(!1),this.header.init(),this.ctx.emit(`draw`)}editCell(e,t){this.editor.editCell(e,t)}setItemValue(e,t,n,r=!0,i=!0,a=!1){this.ctx.database.setItemValue(e,t,n,r,i,a)}batchSetItemValue(e,t=!0){this.ctx.database.batchSetItemValue(e,t)}setItemValueByEditor(e,t,n,r=!0,i=!0){this.ctx.setItemValueByEditor(e,t,n,r,i),this.editor.doneEdit()}clearEditableData(e=null){let t=[0,this.ctx.maxColIndex],n=[0,this.ctx.maxRowIndex];return this.selector.clearSelectedData(t,n,!1,e)}clearEditor(){this.editor.clearEditor()}doLayout(){this.ctx.emit(`draw`)}setZoom(e){this.ctx.setZoom(e)}getZoom(){return this.ctx.getZoom()}getChangedData(){return this.ctx.database.getChangedData()}getChangedRows(){return this.ctx.database.getChangedRows()}setCurrentRowByRowIndex(e){this.ctx.currentCell=this.ctx.database.getVirtualBodyCell(e,0),this.ctx.emit(`draw`)}setCurrentRow(e){let t=this.ctx.database.getColumnByColIndex(0);t&&(this.ctx.currentCell=this.ctx.database.getVirtualBodyCellByKey(e,t.key),this.ctx.emit(`draw`))}getCurrentRow(){let e=this.ctx.currentCell;return e?{row:e.row,rowIndex:e.rowIndex,rowKey:e.rowKey}:void 0}clearValidate(){this.ctx.database.clearValidate(),this.ctx.emit(`draw`)}validateFields(e,t=!0){return new Promise(async(n,r)=>{let i=[];for(let t=0;t<e.length;t++){let{rowKey:n,key:r}=e[t],a=await this.ctx.database.getValidator(n,r);Array.isArray(a)&&a.length&&i.push(a)}if(i.length){if(r(i),t){let[e]=i;if(Array.isArray(e)&&e.length){let[t]=e,{rowKey:n,key:r}=t;this.scrollToRowkey(n),this.scrollToColkey(r)}}this.ctx.emit(`draw`)}else n([]),this.ctx.emit(`draw`)})}async validate(e=!0){return new Promise(async(t,n)=>{try{t(await this.getValidations())}catch(t){if(e&&Array.isArray(t)&&t.length){let[e]=t;if(Array.isArray(e)&&e.length){let[t]=e,{rowKey:n,key:r}=t,i=this.ctx.database.getRowForRowKey(n);if(i){let{parentRowKeys:e=[]}=i;e&&e.length&&this.setExpandRowKeys(e,!0)}this.scrollToRowkey(n),this.scrollToColkey(r)}}n(t)}})}setValidations(e){if(e.forEach(e=>{let{rowIndex:t,key:n,message:r,rowKey:i}=e;if(t!==void 0&&i===void 0){let e=this.ctx.database.getRowKeyForRowIndex(t);this.ctx.database.setValidationErrorByRowKey(e,n,r)}i&&this.ctx.database.setValidationErrorByRowKey(i,n,r)}),e&&Array.isArray(e)&&e.length){let[t]=e;if(t&&t.rowKey)this.scrollToRowkey(t.rowKey),this.scrollToColkey(t.key);else if(t&&t.rowIndex!==void 0&&t.rowIndex>=0&&t.key){let{rowIndex:e,key:n}=t;this.scrollToRowIndex(e),this.scrollToColkey(n)}}}getValidations(){return this.ctx.config.DISABLED?new Promise(e=>{e([])}):new Promise(async(e,t)=>{let n=this.ctx.database.getAllRowsData(),r=this.ctx.header.leafCellHeaders,i=[];for(let e=0;e<n.length;e++)for(let t=0;t<r.length;t++){let a=this.ctx.database.getRowKeyByItem(n[e]),o=r[t].key,s=await this.ctx.database.getValidator(a,o);Array.isArray(s)&&s.length&&i.push(s)}i.length?(t(i),this.ctx.emit(`draw`)):(e([]),this.ctx.emit(`draw`))})}hasValidationError(){return this.ctx.database.hasValidationError()}scrollTo(e,t){this.scroller.setScroll(e,t)}scrollXTo(e){this.scroller.setScrollX(e)}scrollToColkey(e){this.scroller.scrollToColkey(e)}scrollToRowkey(e){this.scroller.scrollToRowKey(e)}scrollToColIndex(e){this.scroller.scrollToColIndex(e)}scrollToRowIndex(e){this.scroller.scrollToRowIndex(e)}scrollYTo(e){this.scroller.setScrollY(e)}setExpandRowKeys(e,t=!0){this.ctx.database.setExpandRowKeys(e,t)}getExpandRowKeys(){return this.ctx.database.getExpandRowKeys()}clearSelection(){this.ctx.database.clearSelection(),this.ctx.emit(`draw`)}toggleRowSelection(e){let t=this.ctx.database.getRowKeyByItem(e);this.ctx.database.toggleRowSelection(t),this.ctx.emit(`draw`)}setSelectionByRows(e,t=!0){e.forEach(e=>{let n=this.ctx.database.getRowKeyByItem(e);this.ctx.database.setRowSelection(n,t,!1)}),this.ctx.emit(`selectionChange`,this.getSelectionRows()),this.ctx.emit(`draw`)}setSelectionByRowKeys(e,t=!0){e.forEach(e=>{this.ctx.database.setRowSelection(e,t,!1)}),this.ctx.emit(`selectionChange`,this.getSelectionRows()),this.ctx.emit(`draw`)}toggleAllSelection(){this.ctx.database.toggleAllSelection(),this.ctx.emit(`draw`)}toggleRowExpand(e,t){this.ctx.database.expandItem(e,t),this.ctx.emit(`draw`)}toggleExpandAll(e){this.ctx.database.expandAll(e),this.ctx.emit(`draw`)}getSelectionRows(){return this.ctx.database.getSelectionRows()}getPositionForRowIndex(e){return this.ctx.database.getPositionForRowIndex(e)}getCellValue(e,t){return this.ctx.database.getItemValue(e,t)}getCellValueByIndex(e,t){return this.ctx.database.getItemValueForRowIndexAndColIndex(e,t)}clearSort(){this.ctx.database.clearSort()}contextMenuHide(){this.contextMenu.hide()}getUtils(){return{mergeColCell:y,mergeRowCell:v,getSpanArrByRow:g,getSpanObjByColumn:_}}getColumnByKey(e){return this.ctx.database.getColumnByKey(e)?.column}clearChangeData(){this.ctx.database.clearChangeData(),this.ctx.emit(`draw`)}getReadonly(e,t){return this.ctx.database.getReadonly(e,t)}useLocale(e){this.ctx.locale.use(e)}destroy(){this.overlayer.destroy(),this.empty.destroy(),this.editor.destroy(),this.tooltip.destroy(),this.selector.destroy(),this.autofill.destroy(),this.contextMenu.destroy(),this.loading.destroy(),this.finderBar.destroy(),this.textSelector.destroy(),this.ctx.destroy(),this.ctx.containerElement.remove()}};n(rn,`locale`);let an=rn;return an}))}))(),1),Yi=(0,l.defineComponent)((e,{emit:t})=>{let{cellRender:n,renderTableParams:r}=e,{row:i,field:a}=r;if(a){let e=(0,l.ref)(i[a]);return()=>vi.renders[n.name]?.renderEdit?.(e,n,r,t)??null}else return()=>null},{name:`RenderEditCell`,props:[`cellRender`,`renderTableParams`],emits:[`blur`]}),Xi=[[`--evt-border-color`,`--p-border-color`,`#d9d9d9`],[`--evt-header-bg-color`,`--p-table-thead-bg-color`,`#f2f3f6`],[`--evt-body-bg-color`,`--p-table-row-bg-color`,`#fff`],[`--evt-stripe-color`,`--p-striped-bg-color`,`#f2f3f6`],[`--evt-highlight-hover-row-color`,`--p-table-row-hover-bg-color`,`#e6e7ea`],[`--evt-select-border-color`,`--p-primary-color`,`#4096ff`],[`--evt-sort-icon-color`,`--p-primary-color`,`#4096ff`],[`--evt-required-color`,`--p-danger-color`,`#f5222d`],[`--evt-error-tip-color`,`--p-danger-color`,`#f5222d`],[`--evt-error-tip-icon-color`,`--p-danger-color`,`#f5222d`],[`--evt-readonly-color`,`--p-table-row-bg-color`,`#fff`],[`--evt-scroller-track-color`,`--p-table-row-bg-color`,`#fff`]],Zi=[`--evt-checkbox-color`,`--evt-checkbox-uncheck-color`,`--evt-checkbox-disabled-color`,`--evt-checkbox-check-disabled-color`,`--evt-header-text-color`,`--evt-body-text-color`,`--evt-footer-text-color`,`--evt-readonly-text-color`,`--evt-editor-text-color`,`--evt-context-menu-text-color`,`--evt-header-font`,`--evt-body-font`],Qi={"--evt-scroller-color":`#dee0e3`,"--evt-scroller-focus-color":`#bbbec4`,"--evt-edit-bg-color":`#fcf6ed`,"--evt-footer-bg-color":`#fafafa`,"--evt-autofill-point-border-color":`#fff`,"--evt-editor-bg-color":`#fff`,"--evt-context-menu-bg-color":`#fff`,"--evt-context-menu-item-hover-bg-color":`#f5f5f5`},$i={"--evt-scroller-color":`#414243`,"--evt-scroller-track-color":`#141414`,"--evt-scroller-focus-color":`#a3a6ad`,"--evt-edit-bg-color":`#141414`,"--evt-footer-bg-color":`#262727`,"--evt-autofill-point-border-color":`#a3a6ad`,"--evt-editor-bg-color":`#434343`,"--evt-context-menu-bg-color":`#141414`,"--evt-context-menu-item-hover-bg-color":`#414243`};function ea(e=document.documentElement){return e.getAttribute(`theme-mode`)===`dark`||e.getAttribute(`data-theme`)===`dark`||e.classList.contains(`dark`)}function ta(e=document.documentElement){let t=getComputedStyle(e);for(let[n,r,i]of Xi){let a=t.getPropertyValue(r).trim()||i;e.style.setProperty(n,a)}let n=ea(e)?$i:Qi;for(let[t,r]of Object.entries(n))e.style.setProperty(t,r);for(let n of Zi){let r=t.getPropertyValue(n).trim().replace(/\s+/g,` `);r&&e.style.setProperty(n,r)}}function na(e){let t=()=>{ta();let t=e.getTable();t&&t.loadConfig(e.getConfig())},n=new MutationObserver(t);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[`theme-mode`,`class`,`data-theme`]}),t(),{sync:t,disconnect:()=>n.disconnect()}}var ra=(0,l.defineComponent)({__name:`PCanvasTable`,props:{columns:{},data:{},config:{default:()=>({})},footerData:{},loading:{type:Boolean}},emits:[`change`,`selectionChange`,`ready`],setup(e,{expose:t,emit:n}){let r=n,i=(0,l.ref)([]),a=e,o=Kr(),s=(0,l.computed)(()=>({...a,config:{AUTO_ROW_HEIGHT:!0,DISABLED:!0,BORDER_RADIUS:4,...o,...a.config}})),c=null,u=null,d=(0,l.useAttrs)(),f=(0,l.ref)(null),p=(0,l.ref)(null),m=(0,l.ref)(null),h=(0,l.ref)(null),g=(0,l.ref)(),_=(0,l.ref)(`text`),v=(0,l.ref)(),y={},b={},x=(e=s.value.config)=>{let t=e?.BORDER_RADIUS??4,n=f.value?.querySelector?.(`.e-virt-table-stage`);n&&(n.style.borderRadius=`${t}px`)},S=(0,l.computed)(()=>{let e=g.value;return e?{width:`${e.width}px`,height:`${e.height}px`}:{}}),C=e=>ri[e]||(({cellValue:e})=>e),w=e=>vi.renders[e]?.renderDefault,T=(e,...t)=>({row:n,rowIndex:r,value:i})=>e({row:n,rowIndex:r,cellValue:i},...t),E=e=>{if(e.slots?.default&&(0,Z.isFunction)(e.slots?.default))return t=>e.slots?.default?.({row:t.row,column:e,rowIndex:t.rowIndex});if(e.slots?.default&&(0,Z.isString)(e.slots?.default))return`slot:${e.slots?.default}`;if(e.cellRender&&e.cellRender.name)return t=>w(e.cellRender.name)?.(e.cellRender,{data:a.data,row:t.row,rowIndex:t.rowIndex,field:e.field||t.column.key,title:t.column?.title??``},{})},D=e=>{if(e.slots?.title&&(0,Z.isFunction)(e.slots?.title))return t=>e.slots?.title?.({column:e})},O=e=>(e.slots?.edit&&(e.field||e.key)&&(0,Z.isFunction)(e.slots?.edit)?y[`__slot:${e.field||e.key}`]=e:e.editRender?.name&&(e.field||e.key)&&(b[e.field||e.key]=e.editRender),{...(0,Z.omit)(e,[`formatter`]),key:e.key||e.field||Nr(),formatter:(0,Z.isString)(e.formatter)?T(C(e.formatter)):(0,Z.isArray)(e.formatter)&&(0,Z.isString)(e.formatter[0])?T(C(e.formatter[0]),...e.formatter.slice(1)):(0,Z.isFunction)(e.formatter)?T(e.formatter):void 0,editorType:e.editorType??(e.slots?.edit&&(e.field||e.key)&&(0,Z.isFunction)(e.slots?.edit)?`__slot:${e.field||e.key}`:e.editRender?.name?e.editRender.name:void 0),render:E(e),renderHeader:D(e),children:e.children?.map(e=>O(e))});(0,l.onMounted)(()=>{f.value&&(ta(),c=new Ji.default(f.value,{config:s.value.config,columns:a.columns.map(e=>O(e)),data:a.data,footerData:a.footerData,emptyElement:m.value||void 0,overlayerElement:h.value||void 0,editorElement:p.value||void 0}),Object.keys(d).forEach(e=>{let t=d[e];if(typeof t==`function`&&e.startsWith(`on`)){let n=e.charAt(2).toLowerCase()+e.slice(3);c?.on(n,t)}}),c.on(`change`,e=>{r(`change`,e)}),c.on(`overlayerChange`,e=>{v.value=e}),c.on(`startEdit`,e=>{g.value=e,_.value=e.editorType,_.value}),c.on(`doneEdit`,()=>{_.value=`text`}),c.on(`selectionChange`,e=>{i.value=e,r(`selectionChange`,e)}),r(`ready`,c),x(),u=na({getTable:()=>c,getConfig:()=>s.value.config}))}),(0,l.onUnmounted)(()=>{u?.disconnect()});function k(e){if(!c||!g.value)return;let{rowKey:t,key:n}=g.value;c?.setItemValueByEditor(t,n,e)}let A=()=>document.body;return(0,l.watch)(()=>a.data,e=>{c?.loadData(e)},{deep:!0}),ti(()=>a.columns,(e,t)=>{(0,Z.isEqual)(e,t)||c?.loadColumns(e.map(e=>O(e)))},{deep:!0}),(0,l.watch)(()=>s.value.config,e=>{c?.loadConfig(e),x(e)},{deep:!0}),(0,l.watch)(()=>a.footerData,e=>{c?.loadFooterData(e||[])},{deep:!0}),(0,l.watch)(()=>a.loading,(e,t)=>{e!==t&&c?.setLoading(e)},{immediate:!0}),t({$table:c,selectedRecords:(0,l.computed)(()=>i.value),reloadData:()=>{c?.loadData(a.data)}}),(t,n)=>{let r=(0,l.resolveComponent)(`a-empty`),i=(0,l.resolveComponent)(`a-spin`);return(0,l.openBlock)(),(0,l.createBlock)(i,{spinning:e.loading},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,{ref_key:`eVirtTableRef`,ref:f},[(0,l.createElementVNode)(`div`,{ref_key:`eVirtTableEditorRef`,ref:p},[_.value.startsWith(`__slot:`)?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(y[_.value].slots.edit({row:g.value.row,column:y[_.value],rowIndex:g.value.rowIndex})),{key:0,bordered:!1,style:(0,l.normalizeStyle)(S.value),class:`ev-editor-wrapper`,"get-popup-container":A,value:g.value.value,"onUpdate:value":n[0]||=e=>g.value.value=e,cell:g.value,onBlur:k},null,40,[`style`,`value`,`cell`])):(0,l.unref)(vi).renders[_.value]?.renderEdit?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(Yi),{key:1,"cell-render":b[g.value.key],class:`ev-editor-wrapper`,style:(0,l.normalizeStyle)(S.value),"render-table-params":{data:a.data,row:g.value?.row,rowIndex:g.value?.rowIndex??-1,field:g.value?.key??``,title:g.value?.column?.title??``},bordered:!1,"get-popup-container":A,onBlur:k},null,8,[`cell-render`,`style`,`render-table-params`])):(0,l.createCommentVNode)(``,!0)],512),(0,l.createElementVNode)(`div`,{ref_key:`eVirtTableEmptyRef`,ref:m},[(0,l.renderSlot)(t.$slots,`empty`,{},()=>[(0,l.createVNode)(r,{description:`空数据`})])],512),(0,l.createElementVNode)(`div`,{ref_key:`eVirtTableOverlayerRef`,ref:h},[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(v.value?.views||[],e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{class:(0,l.normalizeClass)(e.class),style:(0,l.normalizeStyle)(e.style),key:e.type},[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.views,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{style:(0,l.normalizeStyle)(e.style),key:e.key},[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.cells,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,(0,l.mergeProps)({class:`canvas-cell`,key:`${e.rowKey}_${e.key}`,style:{...e.style}},{ref_for:!0},e.domDataset),[typeof e.render==`function`?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(e.render(e)),{key:0,bordered:!1})):typeof e.render==`string`&&e.render.startsWith(`slot:`)?(0,l.renderSlot)(t.$slots,e.render.replace(`slot:`,``),(0,l.mergeProps)({key:1,ref_for:!0},e,{cell:e})):(0,l.createCommentVNode)(``,!0)],16))),128))],4))),128))],6))),128))],512)],512)]),_:3},8,[`spinning`])}}}),ia={key:0},aa={key:1,class:`p-canvas-toolbar-wrapper flex items-center w-full justify-between p-theme-bg pt-8px px-16px`},oa={class:`flex items-center flex-1 gap-4px`},sa={class:`flex items-center gap-4px`},ca={class:`flex items-center gap-4px`},la={key:2},ua={class:`flex items-center gap-4px`},da={class:`flex items-center gap-4px`},fa={key:0,class:`w-full text-slate-5 pl-4`},pa=(0,l.defineComponent)({__name:`PCanvasGrid`,props:{staticConfig:{},manualFetch:{type:Boolean},formConfig:{},columns:{},toolbarConfig:{},pageConfig:{},proxyConfig:{},config:{},lazyReset:{type:Boolean,default:()=>Gr().lazyReset??!1},fitHeight:{default:()=>Gr().fitCanvasHeight??0},autoBoxSize:{type:Boolean,default:!1},autoBoxSizeOffset:{}},emits:[`toolbarButtonClick`,`toolbarToolClick`,`pick`,`resetQuery`],setup(e,{expose:t,emit:n}){let r=e,i=(0,l.useAttrs)(),a=n,{formConfig:o,pageConfig:s,columns:c,toolbarConfig:f,proxyConfig:p,config:m,staticConfig:h}=(0,l.toRefs)(r),g=Kr(),_=(0,l.computed)(()=>r.autoBoxSizeOffset??Gr().autoBoxSizeOffset),v=(0,l.ref)(Nr()),y=(0,l.ref)({}),b=(0,l.computed)(()=>({...r,config:{...g,...r.config}})),x=(0,l.computed)(()=>p.value&&p.value.ajax?s.value?`pagination`:`list`:`bad`);(0,l.computed)(()=>x.value===`pagination`?{current:T.page,total:D.value,pageSize:T.size,responsive:!1,showSizeChanger:!0,showTotal:e=>`共${e}条数据`}:!1);let S=(0,l.computed)(()=>(s.value?.pageSizes??[10,20,50,100]).map(String)),C=(0,l.computed)(()=>(0,Z.omit)({labelCol:Xr,...o.value},[`items`])),w=(0,l.reactive)({toolbar:!1,form:!1,table:!1}),T=(0,l.reactive)({page:1,size:s.value?.pageSize??10}),E=(0,l.ref)(0),D=(0,l.ref)(0),O=(0,l.ref)([]),k=(0,l.ref)(),A=(0,l.ref)(),j=(0,l.ref)(),M=(0,l.ref)(),ee=(0,l.ref)(),te=(0,l.ref)(),N=(0,l.ref)(),P=(0,l.ref)(500),ne=(0,l.ref)({}),re=e=>{ne.value[T.page]=e},F=(0,l.reactive)([...(r.toolbarConfig?.buttons?.map(e=>e.code)??[]).filter(e=>e),...(r.toolbarConfig?.tools?.map(e=>e.code)??[]).filter(e=>e)].reduce((e,t)=>(e[t]=!1,e),{})),ie=(e,t)=>{F[e]=t},ae=e=>{(0,Z.isObject)(e)?(Object.prototype.hasOwnProperty.call(e,`toolbar`)&&(w.toolbar=e.toolbar),Object.prototype.hasOwnProperty.call(e,`form`)&&(w.form=e.form),Object.prototype.hasOwnProperty.call(e,`table`)&&(w.table=e.table)):(0,Z.isBoolean)(e)&&(w.form=e,w.toolbar=e,w.table=e)},oe=(0,l.computed)(()=>(0,Z.uniq)(Object.values(ne.value).flat(),e=>e[b.value.config?.ROW_KEY??`id`])),se=()=>{pe()},I=(0,l.computed)(()=>oe.value.map(e=>e[b.value.config?.ROW_KEY??`id`])),ce=(e,t)=>t?{list:(0,Z.isString)(t.list)?(0,Z.get)(e,t.list):(0,Z.isFunction)(t.list)?t.list(e):void 0,total:(0,Z.isString)(t.total)?(0,Z.get)(e,t.total):(0,Z.isFunction)(t.total)?t.total(e):void 0,result:(0,Z.isString)(t.result)?(0,Z.get)(e,t.result):(0,Z.isFunction)(t.result)?t.result(e):void 0,message:(0,Z.isString)(t.message)?(0,Z.get)(e,t.message):(0,Z.isFunction)(t.message)?t.message(e):void 0}:{list:e},L=(0,Z.debounce)(e=>{a(`toolbarButtonClick`,{data:O.value,code:e,selectedKeys:I.value,records:oe.value}),_e(e)},100),le=({key:e})=>L(e),ue=(0,Z.debounce)(e=>{a(`toolbarToolClick`,{data:O.value,code:e,selectedKeys:I.value,records:oe.value}),_e(e)},100),de=()=>new Promise(e=>{if(x.value!==`bad`){ae({table:!0,form:!0});let{ajax:t}=p.value;t.query({form:y.value,page:T}).then(t=>{let{list:n,total:r,result:i,message:a}=ce(t,p.value.response);n?(O.value=n,E.value++):i?(O.value=i,D.value=r??i.length,E.value++):(O.value=[],E.value++,a&&ki(a)),e(O.value)}).catch(t=>{console.error(`fetchData error`,t),e([])}).finally(()=>{ae({table:!1,form:!1})})}}),fe=(e,t)=>(T.page=e,T.size=t,de()),pe=()=>(T.page=1,ne.value={},de()),me=(0,Z.debounce)(de,160),he=(e,t)=>(Object.assign(y.value,e),T.page=1,t?Promise.resolve():me()),ge=(e,t)=>(y.value=e,T.page=1,t?Promise.resolve():me()),_e=e=>{let{ajax:t}=p.value;switch(e){case`multiDelete`:t.multiDelete&&(I.value.length>0?Ei({title:`警告`,content:`确认删除选中的数据吗?`}).then(()=>{ae({table:!0,toolbar:!0}),t.multiDelete(I.value).then(()=>{Di(`删除成功`),pe()}).catch(()=>{Oi(`删除失败`)}).finally(()=>{ae({table:!1,toolbar:!1}),F.multiDelete=!1})}):ki(`请选择要删除的数据`));break}},ve=(0,l.computed)(()=>!h.value||!h.value.selectable&&!h.value.tree?c.value:[h.value.selectable&&h.value.tree?{type:`selection-tree`,width:40,widthFillDisable:!0,title:``}:h.value.selectable?{type:`selection`,width:40,widthFillDisable:!0,title:``}:h.value.tree?{type:`tree`,width:40,widthFillDisable:!0,title:``}:{type:`index`,width:40,widthFillDisable:!0,title:``},...c.value]),R=e=>{if(o.value&&o.value.items.length>0){if(o.value.customReset)o.value.customReset();else{let e={};zr(o.value.items,t=>{t.field&&t.itemRender?Ir(t.itemRender.defaultValue)?e[t.field]=t.itemRender.defaultValue:e[t.field]=void 0:t.field&&t.slots&&(Ir(t.slots.defaultValue)?e[t.field]=t.slots.defaultValue:e[t.field]=void 0)}),y.value=e}a(`resetQuery`)}T.page=1,e||me()},ye=()=>(ne.value={},R()),z=e=>(0,Z.isFunction)(e)?e():e,B=e=>(0,Z.isString)(e),be=null,xe=()=>{be?.destroy(),be=null},Se=()=>{xe(),!(!r.autoBoxSize||!j.value)&&(be=Fi(()=>j.value??void 0,()=>ji(_.value),{onLayout:()=>{(0,l.nextTick)(()=>H())}}),be.attach())};(0,l.watch)(()=>r.autoBoxSize,e=>{e?(0,l.nextTick)(()=>Se()):xe()}),(0,l.watch)(_,()=>{r.autoBoxSize&&be?.update()},{deep:!0});let V=null,H=()=>{V&&cancelAnimationFrame(V),V=requestAnimationFrame(()=>{if(V=null,!te.value)return;let e=te.value.clientHeight,t=r.fitHeight??0;P.value=Math.max(e-t,100)})},Ce=null;(0,l.watch)(M,e=>{Ce?.disconnect(),Ce=null,e&&(Ce=new ResizeObserver(()=>H()),Ce.observe(e))},{immediate:!0}),(0,l.watch)(x,()=>(0,l.nextTick)(()=>H()));let U,W=null,we=null;return(0,l.onMounted)(()=>{if(H(),window.addEventListener(`resize`,H),U=new MutationObserver(e=>{e.forEach(e=>{if(e.type===`attributes`&&e.attributeName===`style`){let t=e.target;window.getComputedStyle(t).display!==`none`&&H()}})}),j.value){U.observe(j.value,{attributes:!0,attributeFilter:[`style`]}),W=new ResizeObserver(()=>H());let e=j.value.parentElement;for(let t=0;t<5&&e&&e!==document.body;t++)W.observe(e),e=e.parentElement}we=new ResizeObserver(()=>H()),te.value&&we.observe(te.value),R(r.manualFetch),(0,l.nextTick)(()=>{r.autoBoxSize&&Se(),H()})}),(0,l.onBeforeUnmount)(()=>{V&&cancelAnimationFrame(V),window.removeEventListener(`resize`,H),U.disconnect(),Ce?.disconnect(),W?.disconnect(),we?.disconnect(),xe()}),t({commitProxy:{query:me,reload:ye,reloadPage:pe,passQuery:he,forcePassQuery:ge},$canvasTable:(0,l.computed)(()=>A.value),selectedRowKeys:I,setBtnLoading:ie,selectedRecords:oe,$form:(0,l.computed)(()=>k.value),getFormData:()=>y.value,setLoadings:ae,resizeTable:H}),(t,n)=>{let a=(0,l.resolveComponent)(`a-menu-item`),c=(0,l.resolveComponent)(`a-menu`),p=(0,l.resolveComponent)(`a-dropdown`);return(0,l.openBlock)(),(0,l.createElementBlock)(`div`,(0,l.mergeProps)({ref_key:`boxEl`,ref:j,class:[`p-wrapper flex flex-col gap-8px overflow-y-auto`,e.autoBoxSize?`min-h-0 min-w-0 flex-1 w-full`:`h-full`]},(0,l.unref)(i)),[x.value===`bad`?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,ia,`请检查配置`)):((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.unref)(o)?.items?.some(e=>e.field&&e.itemRender)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,class:`p-pane p-form-wrapper`,ref_key:`pFormWrapper`,ref:M},[(0,l.createVNode)((0,l.unref)(u.Spin),{spinning:w.form},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Form),(0,l.mergeProps)({key:v.value,ref_key:`formEl`,ref:k,model:y.value},C.value,{onSubmit:se}),{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Row),{gutter:[6,12]},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)((0,l.unref)(o).items,(e,t)=>((0,l.openBlock)(),(0,l.createBlock)(Si,{key:`_col_${e.field||t}`,"form-data":y.value,item:e,onReset:n[0]||=e=>R(r.lazyReset)},null,8,[`form-data`,`item`]))),128))]),_:1})]),_:1},16,[`model`]))]),_:1},8,[`spinning`])],512)):(0,l.createCommentVNode)(``,!0),(0,l.unref)(f)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,aa,[(0,l.createElementVNode)(`div`,oa,[(0,l.unref)(f).buttons&&(0,l.unref)(f).buttons.length>0?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:0},(0,l.renderList)((0,l.unref)(f).buttons,(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:t},[e.dropdowns&&e.dropdowns.length?((0,l.openBlock)(),(0,l.createBlock)(p,{key:0},{overlay:(0,l.withCtx)(()=>[(0,l.createVNode)(c,{onClick:le},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.dropdowns,e=>((0,l.openBlock)(),(0,l.createBlock)(a,{key:e.code},{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(e.content),1)]),_:2},1024))),128))]),_:2},1024)]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(f).disabled||e.disabled,loading:w.toolbar||!!e.code&&F[e.code],danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,sa,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&B(z(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(z(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(z(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(d.DownOutlined))])]),_:2},1032,[`type`,`size`,`disabled`,`loading`,`danger`,`shape`,`ghost`,`block`])]),_:2},1024)):e.code?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:1,type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(f).disabled||e.disabled,loading:w.toolbar||!!e.code&&F[e.code],danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block,onClick:t=>(0,l.unref)(L)(e.code)},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,ca,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&B(z(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(z(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(z(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0)])]),_:2},1032,[`type`,`size`,`disabled`,`loading`,`danger`,`shape`,`ghost`,`block`,`onClick`])):((0,l.openBlock)(),(0,l.createElementBlock)(`div`,la))],64))),128)):(0,l.createCommentVNode)(``,!0)]),(0,l.createElementVNode)(`span`,ua,[(0,l.unref)(f).tools&&(0,l.unref)(f).tools.length>0?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:0},(0,l.renderList)((0,l.unref)(f).tools,(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:t,type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(f).disabled||e.disabled,danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block,onClick:t=>(0,l.unref)(ue)(e.code),loading:w.toolbar||!!e.code&&F[e.code]},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,da,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&B(z(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(z(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(z(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0)])]),_:2},1032,[`type`,`size`,`disabled`,`danger`,`shape`,`ghost`,`block`,`onClick`,`loading`]))),128)):(0,l.createCommentVNode)(``,!0)])])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`div`,{ref_key:`tableWrapperEl`,ref:ee,class:`flex-1 h-0 min-h-0 flex flex-col p-inner-scroll`},[(0,l.createElementVNode)(`div`,{ref_key:`tableBodyEl`,ref:te,class:`flex-1 min-h-0 overflow-hidden`},[(0,l.createVNode)(ra,{ref_key:`canvasTableRef`,ref:A,columns:ve.value,config:{...b.value.config,HEIGHT:P.value},data:O.value,loading:w.table,onSelectionChange:re},(0,l.createSlots)({_:2},[(0,l.renderList)(t.$slots,(e,n)=>({name:n,fn:(0,l.withCtx)(e=>[(0,l.renderSlot)(t.$slots,n,(0,l.normalizeProps)((0,l.guardReactiveProps)(e)))])}))]),1032,[`columns`,`config`,`data`,`loading`])],512),(0,l.createElementVNode)(`div`,{ref_key:`tableFooterEl`,ref:N,class:`flex-shrink-0`},[(0,l.unref)(h)?.selectable&&(0,l.unref)(h).showCount?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,fa,` 已选:`+(0,l.toDisplayString)(I.value.length),1)):(0,l.createCommentVNode)(``,!0),x.value===`pagination`?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Pagination),{key:1,class:`p-canvas-pagination`,size:`small`,current:T.page,"page-size":T.size,"page-size-options":S.value,"show-size-changer":(0,l.unref)(s)?.showSizeChanger??!0,"show-quick-jumper":(0,l.unref)(s)?.showQuickJumper,"show-total":e=>`共${e}条数据`,total:D.value,onChange:fe},null,8,[`current`,`page-size`,`page-size-options`,`show-size-changer`,`show-quick-jumper`,`show-total`,`total`])):(0,l.createCommentVNode)(``,!0)],512)],512)],64))],16)}}}),ma=(0,l.defineComponent)({__name:`PGroupBlock`,props:{name:{},getFormSetting:{type:Function},source:{}},setup(e,{expose:t}){let n=e,r=(0,l.ref)(),{source:i}=(0,l.toRefs)(n),a=(0,l.computed)(()=>r.value?.$form),o=(0,l.computed)(()=>n.getFormSetting(i.value));return t({$form:a}),(t,n)=>((0,l.openBlock)(),(0,l.createBlock)(wi,(0,l.mergeProps)({name:e.name,ref_key:`formEl`,ref:r},o.value,{data:(0,l.unref)(i)}),null,16,[`name`,`data`]))}}),ha=(0,l.defineComponent)({__name:`CollapseCard`,props:{defaultCollapsed:{type:Boolean,default:!1},title:{default:void 0},collapsible:{type:Boolean,default:!1}},setup(e,{expose:t}){let n=(0,l.ref)(e.defaultCollapsed?[]:[`content`]);return t({collapse:()=>{n.value=[]},expand:()=>{n.value=[`content`]}}),(t,r)=>{let i=(0,l.resolveComponent)(`a-collapse-panel`),a=(0,l.resolveComponent)(`a-collapse`),o=(0,l.resolveComponent)(`a-card`);return e.collapsible?((0,l.openBlock)(),(0,l.createBlock)(a,{key:0,"active-key":n.value,"onUpdate:activeKey":r[0]||=e=>n.value=e,class:`collapsible-card`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)(i,{key:`content`,"force-render":``,header:e.title},(0,l.createSlots)({_:2},[(0,l.renderList)(t.$slots,(e,n)=>({name:n,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,n)])}))]),1032,[`header`])]),_:3},8,[`active-key`])):((0,l.openBlock)(),(0,l.createBlock)(o,{key:1,size:`small`,title:e.title},(0,l.createSlots)({_:2},[(0,l.renderList)(t.$slots,(e,n)=>({name:n,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,n)])}))]),1032,[`title`]))}}}),ga=(0,l.defineComponent)({__name:`PFormGroup`,props:(0,l.mergeModels)({name:{},getFormSetting:{type:Function},title:{},tabLabel:{},getTabLabel:{type:Function},editAble:{type:Boolean},showAdd:{type:Boolean},collapsible:{type:Boolean},defaultCollapsed:{type:Boolean},lazyErrorMark:{type:Boolean},forceRender:{type:Boolean},keepSerial:{type:Boolean},loading:{type:Boolean},itemMenus:{},createItem:{type:Function},max:{},menuHandler:{type:Function}},{modelValue:{type:Array,default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(e,{expose:t}){let n=u.Form.useForm,r=(0,l.ref)(),i=e,a=(0,l.ref)(),o=(0,l.useModel)(e,`modelValue`),s=(0,l.ref)(0),c=(0,l.ref)([]),f=(0,l.ref)([]),p=e=>{s.value=e},m=(0,l.computed)(()=>i.max??1/0),h=e=>{(i.createItem??(()=>Promise.resolve({})))({list:o.value}).then(t=>{o.value=[...o.value,{...t,__index:((0,Z.max)(o.value,e=>e.__index??-1)?.__index??-1)+1}],s.value=e})},g=i.itemMenus??[{content:`复制`,code:`copy`},{content:`删除`,code:`delete`}],_=e=>e?.parentElement?.parentElement?.parentElement?.parentElement?.parentElement?.parentElement??a.value?.$el??document.body,v=(0,l.computed)(()=>i.forceRender||o.value.length<=5),y=e=>{let t=o.value.find((t,n)=>n===e)?.__index;Q(t)&&(c.value=c.value.filter(e=>e!==t))},b=()=>{(0,l.nextTick)().then(()=>{y(s.value),f.value[s.value]?.$form?.validate()})},x=(e,t)=>i.getTabLabel?.(e,t)??`${i.tabLabel} ${i.keepSerial?t+1:(e.__index??0)+1}`;(0,l.watch)(()=>o.value,()=>{if(!i.keepSerial){let e=o.value.filter(e=>!Q(e.__index));e.length>0&&e.forEach(e=>{e.__index=((0,Z.max)(o.value,e=>e.__index??-1)?.__index??-1)+1})}},{immediate:!0});let S=(0,Z.debounce)(({key:e},t,n)=>{if(i.menuHandler&&(0,Z.isFunction)(i.menuHandler))i.menuHandler({code:(0,Z.toString)(e),data:t,index:n});else switch(e){case`delete`:o.value=o.value.filter((e,t)=>t!==n),(0,l.nextTick)(()=>{f.value=f.value.filter(e=>!!e),n<=s.value&&s.value>0&&s.value--});break;case`copy`:if(o.value.length>=m.value){ki(`已达到最大数量`);return}o.value=[...o.value,(0,Z.clone)({...(0,Z.omit)(t,[`id`,`__index`]),__index:((0,Z.max)(o.value,e=>e.__index??-1)?.__index??-1)+1})];break}},100);(0,l.watchEffect)(()=>{o.value.length===0?s.value=0:s.value>=o.value.length&&(s.value=o.value.length-1)});let C=(0,Z.debounce)(y,50);(0,l.watchEffect)(()=>{let e=o.value.map((e,t)=>c.value.includes(e.__index)?t:void 0).filter(Q),t=r.value?.$el;t&&t.querySelectorAll(`:scope >.ant-tabs-nav>.ant-tabs-nav-wrap>.ant-tabs-nav-list>.ant-tabs-tab>.ant-tabs-tab-btn`).forEach((t,n)=>{e.includes(n)?t.classList.add(`p-error-group-tab`):t.classList.remove(`p-error-group-tab`)})}),t({collapse:()=>{a.value?.collapse?.()},expand:()=>{a.value?.expand?.()},activeKey:(0,l.computed)(()=>s.value),setActiveKey:p,validateAll:()=>{let e=v.value?f.value.map(e=>e.$form?.validate()):o.value.map(e=>n(e,i.getFormSetting(e).rules)?.validate()??Promise.resolve());return Promise.allSettled(e).then(e=>{if(c.value=e.map((e,t)=>e.status===`rejected`&&typeof o.value[t]?.__index==`number`?o.value[t].__index:void 0).filter(e=>typeof e==`number`),!i.lazyErrorMark&&c.value.length){let e=c.value[0],t=o.value.findIndex(t=>t.__index===e);t!==-1&&(s.value=t)}return c.value.length?Promise.reject({error_indexes:c.value,results:e}):Promise.resolve(e)})},validate:async(e,t)=>{let r=o.value.findIndex(t=>t.__index===e);try{return await(v.value?f.value[r]?.$form?.validate()??Promise.resolve():n(o.value[r],i.getFormSetting(o.value[r]).rules)?.validate()??Promise.resolve()),c.value=c.value.filter(t=>t!==e),Promise.resolve()}catch(n){return!c.value.includes(e)&&!t&&(c.value=[...c.value,e]),Promise.reject(n)}},validateFields:async(e,t,r)=>{let a=o.value.findIndex(t=>t.__index===e),s=i.getFormSetting(o.value[a]).rules,l=n(o.value[a],s);try{return await(v.value?f.value[a]?.$form?.validateFields(t)??Promise.resolve():Promise.allSettled(t.map(e=>l.validateField(e,o.value[a][e],s[e]??[])))),Promise.resolve()}catch(t){return!c.value.includes(e)&&!r&&(c.value=[...c.value,e]),Promise.reject(t)}}});let w=(0,l.useSlots)(),T=(0,l.computed)(()=>Object.keys(w).filter(e=>e.startsWith(`group-`)).map(e=>({original:e,target:e.replace(`group-`,``)})));return(t,n)=>{let i=(0,l.resolveComponent)(`a-spin`);return(0,l.openBlock)(),(0,l.createBlock)(ha,{ref_key:`rootRef`,ref:a,title:e.title,size:`small`,collapsible:e.collapsible,"default-collapsed":e.defaultCollapsed},(0,l.createSlots)({default:(0,l.withCtx)(()=>[e.loading?((0,l.openBlock)(),(0,l.createBlock)(i,{key:0,class:`w-full`})):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Tabs),{key:1,ref_key:`tabsRef`,ref:r,type:`editable-card`,activeKey:s.value,"onUpdate:activeKey":n[1]||=e=>s.value=e,"hide-add":``,onChange:b},{rightExtra:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,`rightExtra`,{},()=>[e.showAdd&&o.value.length<m.value?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:0,type:`link`,onClick:n[0]||=e=>h(o.value.length)},{default:(0,l.withCtx)(()=>[...n[2]||=[(0,l.createTextVNode)(` + 新增 `,-1)]]),_:1})):(0,l.createCommentVNode)(``,!0)])]),default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(o.value,(t,n)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.TabPane),{key:n,tab:x(t,n),"force-render":v.value},{closeIcon:(0,l.withCtx)(()=>[e.editAble&&(0,l.unref)(g)?.length?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Dropdown),{key:0,"get-popup-container":_},{overlay:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Menu),{onClick:e=>(0,l.unref)(S)(e,t,n)},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)((0,l.unref)(g).filter(e=>e.visibleMethod?.({data:t,index:n})??!0),e=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.MenuItem),{key:e.code},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,null,(0,l.toDisplayString)(e.content),1)]),_:2},1024))),128))]),_:2},1032,[`onClick`])]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.MoreOutlined))]),_:2},1024)):(0,l.createCommentVNode)(``,!0)]),default:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)(ma,{ref_for:!0,ref_key:`blockInstance`,ref:f,key:n,source:t,name:e.name?`${e.name}_${n}`:void 0,"get-form-setting":e.getFormSetting,onFocusCapture:e=>(0,l.unref)(C)(n),onClickCapture:e=>(0,l.unref)(C)(n)},null,8,[`source`,`name`,`get-form-setting`,`onFocusCapture`,`onClickCapture`]))]),_:2},1032,[`tab`,`force-render`]))),128))]),_:3},8,[`activeKey`]))]),_:2},[(0,l.renderList)(T.value,e=>({name:e.target,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,e.original)])}))]),1032,[`title`,`collapsible`,`default-collapsed`])}}}),_a={class:`w-full text-right p-2`},va=(0,l.defineComponent)({__name:`PromisePicker`,props:{gridSetting:{},title:{default:`数据选择`},width:{default:`70%`},multipleAllowEmpty:{type:Boolean,default:!1},bodyStyle:{default:()=>({})},beforePick:{type:Function,default:()=>Promise.resolve()}},setup(e,{expose:t}){let n=(0,l.ref)(),r=e,i=(0,l.computed)(()=>r.gridSetting.selectConfig?.multiple),a=(0,l.computed)(()=>({fitContent:!0,...r.gridSetting})),o={display:`flex`,flexDirection:`column`,minHeight:0,maxHeight:`min(80dvh, calc(100dvh - 200px))`,overflow:`hidden`},s,c,d,f=(0,l.reactive)({modal:!1}),p=()=>{d&&d()},m=()=>{f.modal=!1,d&&d()},h=({row:e,field:t})=>{s&&!i.value&&r.beforePick(e).then(()=>{f.modal=!1,s({row:e,field:t})})},g=()=>{let e=n.value?.selectedRecords??[];e.length===0&&!r.multipleAllowEmpty?ki(`请选择数据`):r.beforePick(e).then(()=>{f.modal=!1,c(e)})};return t({pick:()=>new Promise((e,t)=>{s=e,d=t,f.modal=!0}),pickMultiple:()=>new Promise((e,t)=>{c=e,d=t,f.modal=!0}),grid:n,hide:()=>{f.modal=!1}}),(t,r)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Modal),{open:f.modal,"onUpdate:open":r[0]||=e=>f.modal=e,"destroy-on-close":``,title:e.title,width:e.width,footer:i.value?void 0:null,onCancel:p,"body-style":e.bodyStyle},(0,l.createSlots)({default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,{style:o},[(0,l.createVNode)(qi,(0,l.mergeProps)(a.value,{ref_key:`gridEl`,ref:n,onPick:h}),null,16)])]),_:2},[i.value?{name:`footer`,fn:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,_a,[(0,l.createElementVNode)(`span`,null,[(0,l.createVNode)((0,l.unref)(u.Button),{class:`mr-4`,onClick:m},{default:(0,l.withCtx)(()=>[...r[1]||=[(0,l.createTextVNode)(` 取消 `,-1)]]),_:1}),(0,l.createVNode)((0,l.unref)(u.Button),{type:`primary`,onClick:g},{default:(0,l.withCtx)(()=>[...r[2]||=[(0,l.createTextVNode)(` 确定 `,-1)]]),_:1})])])]),key:`0`}:void 0]),1032,[`open`,`title`,`width`,`footer`,`body-style`]))}}),ya=(0,l.defineComponent)(e=>()=>{let{item:t,data:n,emptyText:r}=e;if(t.slots?.default)return t.slots.default({data:n,field:t.field});if(t.readonlyRender?.name){let e=t.readonlyRender,r=vi.renders[e.name]?.renderReadonly?.(e,{data:n,field:t.field,title:t.label},{})??null;if(r!==null)return r}if(!t.field)return r;let i=n?.[t.field];return Ir(i)?i:r},{name:`PDescriptionContent`,props:[`item`,`data`,`emptyText`]}),ba=(0,l.defineComponent)({__name:`PDescription`,props:{data:{},items:{},title:{},extra:{},bordered:{type:Boolean,default:!1},size:{default:`default`},column:{default:3},layout:{default:`horizontal`},colon:{type:Boolean,default:!0},labelStyle:{},contentStyle:{},emptyText:{default:`-`}},setup(e){let t=e,n=(0,l.computed)(()=>({title:t.title,extra:t.extra,bordered:t.bordered,size:t.size,column:t.column,layout:t.layout,colon:t.colon,labelStyle:t.labelStyle,contentStyle:t.contentStyle}));return(t,r)=>{let i=(0,l.resolveComponent)(`a-descriptions-item`),a=(0,l.resolveComponent)(`a-descriptions`);return(0,l.openBlock)(),(0,l.createBlock)(a,(0,l.mergeProps)(n.value,{class:`p-description`}),(0,l.createSlots)({default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.items,(t,n)=>((0,l.openBlock)(),(0,l.createBlock)(i,{key:`_desc_${t.field??n}`,label:t.label,span:t.span,"label-style":t.labelStyle,"content-style":t.contentStyle},(0,l.createSlots)({default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(ya),{item:t,data:e.data,"empty-text":e.emptyText||`-`},null,8,[`item`,`data`,`empty-text`])]),_:2},[t.slots?.label?{name:`label`,fn:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(t.slots.label)))]),key:`0`}:void 0]),1032,[`label`,`span`,`label-style`,`content-style`]))),128))]),_:2},[t.$slots.title||e.title?{name:`title`,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,`title`,{},()=>[(0,l.createTextVNode)((0,l.toDisplayString)(e.title),1)])]),key:`0`}:void 0,t.$slots.extra||e.extra?{name:`extra`,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,`extra`,{},()=>[(0,l.createTextVNode)((0,l.toDisplayString)(e.extra),1)])]),key:`1`}:void 0]),1040)}}});function xa(e){e&&Vr(e)}var Sa={install(e){e.component(`PForm`,wi),e.component(`PGrid`,qi),e.component(`PCanvasTable`,ra),e.component(`PCanvasGrid`,pa),e.component(`PFormGroup`,ga),e.component(`PGroupBlock`,ma),e.component(`PromisePicker`,va),e.component(`PDescription`,ba)},addFormatter:ai,addRender:_i,setup:xa};exports.PCanvasGrid=pa,exports.PCanvasTable=ra,exports.PDescription=ba,exports.PForm=wi,exports.PFormGroup=ga,exports.PGrid=qi,exports.PGroupBlock=ma,exports.PromisePicker=va,exports.addFormatter=ai,exports.addRender=_i,exports.applyViewportRestSize=Ni,exports.cleanCol=Jr,exports.createAutoViewportBoxController=Fi,exports.default=Sa,exports.defaultItemResponsive=Yr,exports.defaultLabelCol=Xr,exports.get24rest=Qr,exports.getButtonResponsive=ei,exports.getTooltipRenderer=Hr,exports.getUIKitConfig=Ur,exports.labelColDict=Zr,exports.parseAutoViewportBoxOffset=ji,exports.resetUIKitConfig=qr,exports.setUIKitConfig=Vr,exports.setup=xa,exports.watchPreviousDeep=ti;
|
|
14
|
+
`,color:`#4E5969`},{name:`icon-select`,configName:`ICON_SELECT_SVG`,configColorName:`ICON_SELECT_COLOR`,svg:fe,color:`#4E5969`},{name:`sort-asc`,configName:`SORT_ASC_ICON_SVG`,configColorName:`SORT_ICON_COLOR`,svg:me,color:`rgb(82,146,247)`},{name:`sort-desc`,configName:`SORT_DESC_ICON_SVG`,configColorName:`SORT_ICON_COLOR`,svg:he,color:`rgb(82,146,247)`},{name:`sort-default`,configName:`SORTABLE_ICON_SVG`,svg:pe,color:`#bec4c7`},{name:`drag`,configName:`DRAG_ROW_ICON_SVG`,svg:`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M11 18c0 1.1-.9 2-2 2s-2-.9-2-2s.9-2 2-2s2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z" fill="currentColor"></path></svg>
|
|
15
|
+
`,color:`#4E5969`}]),n(this,`icons`,new Map),this.ctx=e,this.init()}async init(){let e=[];for(let t=0;t<this.list.length;t++){let n=this.list[t],r=n.color,i=n.svg;if(n.configColorName){let e=this.ctx.config[n.configColorName];e&&(r=e)}if(n.configName){let e=this.ctx.config[n.configName];e&&(i=e)}let a=this.createImageFromSVG(i,r).then(e=>{this.icons.set(n.name,e)});e.push(a)}for(let t=0;t<this.ctx.config.ICONS.length;t++){let n=this.ctx.config.ICONS[t],r=n.color,i=this.createImageFromSVG(n.svg,r,n.isBlob).then(e=>{this.icons.set(n.name,e)});e.push(i)}await Promise.all(e),this.ctx.emit(`draw`)}async createImageFromSVG(e,t,n=!1){let r=new DOMParser().parseFromString(e,`image/svg+xml`).documentElement;t&&r.querySelectorAll(`*`).forEach(e=>{let n=e.getAttribute(`fill`);(n===`currentColor`||n===null)&&e.setAttribute(`fill`,t)});let i=new Image,a=``;if(n){let e=new Blob([new XMLSerializer().serializeToString(r)],{type:`image/svg+xml`});a=URL.createObjectURL(e)}else a=`data:image/svg+xml;charset=utf-8,`+encodeURIComponent(new XMLSerializer().serializeToString(r));return i.src=a,new Promise((t,n)=>{i.onerror=()=>n(Error(`Failed to load image:`+e)),i.onload=()=>{t(i)}})}get(e){return this.icons.get(e)}getSvg(e){return this.list.find(t=>t.name===e)}}class _e{constructor(e){n(this,`ctx`),n(this,`visibleHoverCell`),n(this,`resizeObserver`),n(this,`mutationObserver`),this.ctx=e,this.init()}init(){this.resizeObserver=new ResizeObserver(e=>{this.ctx.emit(`resetHeader`),this.ctx.emit(`resizeObserver`,e),this.ctx.emit(`containerResize`,this.ctx.containerElement)}),this.resizeObserver.observe(this.ctx.containerElement),this.mutationObserver=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`class`&&(this.ctx.config.updateCssVar(),this.ctx.emit(`draw`))}),this.ctx.config.ENABLE_AUTO_THEME&&this.mutationObserver.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),this.ctx.on(`mousedown`,e=>{if(this.isBusy(e))return;let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n;this.isInsideBody(i,r)||this.ctx.emit(`mousedownBodyOutside`,e),e.button===0&&(this.handleHeaderEvent(i,r,this.ctx.header.renderCellHeaders,t=>{this.ctx.focusCellHeader=t,this.ctx.focusCell=void 0,this.ctx.emit(`cellHeaderMousedown`,t,e)}),this.handleBodyEvent(i,r,this.ctx.body.renderRows,t=>{this.ctx.setFocusCell(t),this.ctx.focusCellHeader=void 0,this.ctx.emit(`cellMousedown`,t,e)},!0))}),this.ctx.on(`mouseup`,e=>{if(e.button!==0||this.isBusy(e))return;let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n;this.handleHeaderEvent(i,r,this.ctx.header.renderCellHeaders,t=>{this.ctx.emit(`cellHeaderMouseup`,t,e)}),this.handleBodyEvent(i,r,this.ctx.body.renderRows,t=>{this.ctx.emit(`cellMouseup`,t,e)})}),this.ctx.on(`click`,e=>{if(e.button!==0||this.isBusy(e))return;let t=this.ctx.getOffset(e).offsetY,n=this.ctx.getOffset(e).offsetX;this.handleHeaderEvent(n,t,this.ctx.header.renderCellHeaders,t=>{this.ctx.clickCellHeader=t,this.ctx.emit(`cellHeaderClick`,t,e)}),this.handleBodyEvent(n,t,this.ctx.body.renderRows,r=>{this.ctx.clickCell=r,this.ctx.emit(`cellClick`,r,e);let i=r.getImage(`hover`);!this.ctx.disableHoverIconClick&&i&&i.isInside(n,t)&&this.ctx.emit(`hoverIconClick`,r)},!0)}),this.ctx.on(`dblclick`,e=>{if(e.button!==0||this.isBusy(e))return;let t=this.ctx.getOffset(e).offsetY,n=this.ctx.getOffset(e).offsetX;this.handleHeaderEvent(n,t,this.ctx.header.renderCellHeaders,t=>{this.ctx.emit(`cellHeaderDblclick`,t,e)}),this.handleBodyEvent(n,t,this.ctx.body.renderRows,t=>{this.ctx.clickCell=t,this.ctx.emit(`cellDblclick`,t,e)})}),this.ctx.on(`contextMenu`,e=>{if(this.isBusy(e))return;let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n;this.handleHeaderEvent(i,r,this.ctx.header.renderCellHeaders,t=>{this.ctx.emit(`cellHeaderContextMenuClick`,t,e)}),this.handleBodyEvent(i,r,this.ctx.body.renderRows,t=>{this.ctx.emit(`cellContextMenuClick`,t,e)})}),this.ctx.on(`mouseout`,e=>{!this.ctx.containerElement.contains(e.relatedTarget)&&this.ctx.hoverCell!==void 0&&(this.ctx.hoverRow=void 0,this.ctx.hoverCell=void 0,this.ctx.emit(`draw`))}),this.ctx.on(`mousemove`,e=>{if(this.isBusy(e))return;!this.ctx.mousedown&&this.ctx.stageElement.style.cursor!=="default"&&(this.ctx.stageElement.style.cursor=`default`);let t=this.ctx.getOffset(e).offsetY,n=this.ctx.getOffset(e).offsetX;this.handleHeaderEvent(n,t,this.ctx.header.renderCellHeaders,t=>{this.imageEnterAndLeave(t,e),this.ctx.emit(`cellHeaderMouseenter`,t,e),this.ctx.hoverCellHeader&&this.ctx.hoverCellHeader!==t&&this.ctx.emit(`cellHeaderMouseleave`,this.ctx.hoverCellHeader,e),this.ctx.hoverCellHeader!==t&&(this.ctx.hoverCellHeader=t,this.visibleHoverCell=void 0,this.ctx.emit(`cellHeaderHoverChange`,t,e))}),this.handleBodyEvent(n,t,this.ctx.body.renderRows,t=>{this.imageEnterAndLeave(t,e),this.visibleHoverCell!==t&&(this.ctx.emit(`visibleCellMouseleave`,t,e),this.visibleHoverCell=t,this.ctx.hoverCellHeader=void 0,this.ctx.emit(`visibleCellHoverChange`,t,e))},!0),this.handleBodyEvent(n,t,this.ctx.body.renderRows,t=>{this.ctx.emit(`cellMouseenter`,t,e),this.ctx.hoverCell&&this.ctx.hoverCell!==t&&this.ctx.emit(`cellMouseleave`,t,e),this.ctx.hoverCell!==t&&(this.ctx.hoverCell?.rowKey!==t.rowKey&&(this.ctx.hoverCell=t,this.ctx.hoverRow=this.ctx.body.renderRows.find(e=>e.rowKey===t.rowKey),this.ctx.emit(`rowHoverChange`,this.ctx.hoverRow,t,e),this.ctx.emit(`draw`)),this.ctx.hoverCell=t,this.ctx.emit(`cellHoverChange`,t,e))}),this.handleFooterEvent(n,t,this.ctx.footer.renderRows,t=>{this.ctx.emit(`cellFooterMouseenter`,t,e),this.ctx.hoverCell&&this.ctx.hoverCell!==t&&this.ctx.emit(`cellFooterMouseleave`,t,e),this.ctx.emit(`cellFooterHoverChange`,t,e)})})}imageEnterAndLeave(e,t){if(this.ctx.dragRowIng||this.ctx.dragHeaderIng||this.ctx.selectorMove||this.ctx.autofillMove)return;let{offsetY:n,offsetX:r}=this.ctx.getOffset(t),i=n,a=r;e.cellImages.forEach((e,t)=>{e.isInside(a,i)&&(t===`drag`?this.ctx.stageElement.style.cursor=`grab`:this.ctx.stageElement.style.cursor=`pointer`)})}isBusy(e){let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n;if(this.ctx.loading||!this.ctx.isTarget(e)||this.ctx.stageElement.style.cursor===`row-resize`||this.ctx.stageElement.style.cursor===`col-resize`||this.ctx.columnResizing||this.ctx.rowResizing)return!0;let{SCROLLER_TRACK_SIZE:a}=this.ctx.config,o=T(this.ctx.config);return!!(this.ctx.scrollerMove||this.ctx.scrollerFocus||!o&&r>this.ctx.stageHeight-a||!o&&i>this.ctx.stageWidth-a)}handleBodyEvent(e,t,n,r,i=!1){if(this.isInsideBody(e,t))for(let a of n){let n=a.fixedCells.concat(a.noFixedCells);for(let a of n)if(i?a.isInsideVisible(e,t):a.isInside(e,t)){r(a);return}}}handleHeaderEvent(e,t,n,r){for(let i of n)if(i.isInside(e,t)){r(i);return}}handleFooterEvent(e,t,n,r){for(let i of n){let n=i.fixedCells.concat(i.noFixedCells);for(let i of n)if(i.isInside(e,t)){r(i);return}}}isInsideBody(e,t){let{body:{y:n,visibleHeight:r,height:i,visibleWidth:a}}=this.ctx;return e>0&&e<a&&t>n&&t<n+Math.min(i,r)}destroy(){this.resizeObserver.unobserve(this.ctx.stageElement),this.mutationObserver.disconnect()}}let ve={numberErrorTip:`只允许输入数字`,emptyText:`暂无数据`,loadingText:`加载中...`,copy:`复制`,cut:`剪切`,paste:`粘贴`,clearSelected:`清空选中内容`,fixedLeft:`左固定`,fixedRight:`右固定`,fixedNone:`取消固定`,hide:`隐藏`,visible:`显示`,resetHeader:`恢复默认`,invalidNumber:`请输入数字类型`,mergeCellNoFill:`合并单元格不能填充`,mergeCellNoCopy:`合并单元格不能复制`,mergeCellNoPaste:`合并单元格不能粘贴`,numberTruncated:`输入的数字已截取至小数点后{precision}位`,batchSetItemValueError:`批量赋值错误`,numberMin:`输入值小于{min},已自动调整为{min}`,numberMax:`输入值大于{max},已自动调整为{max}`,stringMaxlength:`输入值超过{maxlength}个字符,已自动截取`};class ye{constructor(){n(this,`langConfig`)}use(e){this.langConfig=e}getText(e,t){let n={...ve};Object.assign(n,Cn.locale,this.langConfig);let r=n[e];return r?r.replace(/{(\w+)}/g,(e,n)=>t?.[n]||e):``}}let be=/^-?\d*\.?\d+px$/;class xe{constructor(){n(this,`value`,1)}get isDefault(){return this.value===1}clamp(e,t,n){return Math.min(n,Math.max(t,e))}set(e,t,n){let r=this.clamp(e,t,n);return Math.abs(r-this.value)<1e-4?!1:(this.value=r,!0)}toVisual(e){return e*this.value}toLogical(e){return e/this.value}toPx(e){return`${this.toVisual(e)}px`}domHeightToLogical(e){return Math.round(e/this.value)}contentToPhysical(e){return e*this.value}scaleStyle(e){if(this.isDefault)return e;let t={...e};for(let e of Object.keys(t)){let n=t[e];typeof n==`string`&&be.test(n)&&(t[e]=`${parseFloat(n)*this.value}px`)}return t}assignScaledStyle(e,t){Object.assign(e.style,this.scaleStyle(t))}containerWidth(e){return Math.floor(e/this.value)}resolveStageWidth(e){let t=this.containerWidth(e.containerPhysicalWidth),n=e.fillContainer?t:Math.min(Math.floor(e.contentWidth+e.scrollerTrackSize),t);return{stageWidth:n,stagePhysicalWidth:Math.min(Math.round(this.toVisual(n)),Math.floor(e.containerPhysicalWidth))}}applyStageHeight(e,t){let n=Math.floor(t),r=Math.floor(n/this.value);return e.style.height=`${n}px`,{stageHeight:r,stagePhysicalHeight:n}}getViewportRect(e,t){let n=this.toVisual(e.x)+t.x,r=this.toVisual(e.y)+t.y,i=this.toVisual(e.width),a=this.toVisual(e.height);return{x:n,y:r,left:n,top:r,right:n+i,bottom:r+a,width:i,height:a}}createOverlayerCellElement(e,t){let n=document.createElement(`div`);if(this.assignScaledStyle(n,e.style),Object.keys(e.domDataset||{}).forEach(t=>{n.setAttribute(t,e.domDataset[t])}),typeof e.render!=`function`)return n;if(this.isDefault)return e.render(n,e),n;let r=`visibleWidth`in e?e.visibleWidth:e.width,i=`visibleHeight`in e?e.visibleHeight:e.height,a=`autoRowHeight`in e&&e.autoRowHeight&&`renderType`in e&&e.renderType==="default",o=document.createElement(`div`);return o.className=`${t}-overlayer-cell-content`,o.style.width=`${r}px`,o.style.boxSizing=`border-box`,a?(o.style.height=`auto`,o.style.minHeight=`${i}px`,n.style.height=`auto`):(o.style.height=`${i}px`,n.style.height=this.toPx(i)),o.style.zoom=String(this.value),n.style.width=this.toPx(r),n.appendChild(o),e.render(o,e),n}}class Se{constructor(e,t){n(this,`eventBus`),n(this,`eventBrowser`),n(this,`eventTable`),n(this,`locale`,new ye),n(this,`containerElement`),n(this,`stageElement`),n(this,`canvasElement`),n(this,`overlayerElement`),n(this,`editorElement`),n(this,`emptyElement`),n(this,`contextMenuElement`),n(this,`loadingElement`),n(this,`stageWidth`,0),n(this,`stageHeight`,0),n(this,`stagePhysicalWidth`,0),n(this,`stagePhysicalHeight`,0),n(this,`zoomScale`),n(this,`paint`),n(this,`icons`),n(this,`domSelectionStr`,``),n(this,`textSelectionStr`,``),n(this,`textSelecting`,!1),n(this,`isMouseoverTargetContainer`,!1),n(this,`mousedown`,!1),n(this,`isEmpty`,!1),n(this,`rowResizing`,!1),n(this,`columnResizing`,!1),n(this,`scrollerMove`,!1),n(this,`scrollerFocus`,!1),n(this,`autofillMove`,!1),n(this,`selectorMove`,!1),n(this,`disableHoverIconClick`,!1),n(this,`selectColsIng`,!1),n(this,`selectRowsIng`,!1),n(this,`dragHeaderIng`,!1),n(this,`dragRowIng`,!1),n(this,`finding`,!1),n(this,`contextMenuIng`,!1),n(this,`editing`,!1),n(this,`loading`,!1),n(this,`onlyMergeCell`,!1),n(this,`selectOnlyOne`,!1),n(this,`hasSelection`,!1),n(this,`hasTree`,!1),n(this,`scrollY`,0),n(this,`scrollX`,0),n(this,`fixedLeftWidth`,0),n(this,`fixedRightWidth`,0),n(this,`lastCenterColIndex`,0),n(this,`maxColIndex`,0),n(this,`maxRowIndex`,0),n(this,`hoverRow`),n(this,`clickCell`),n(this,`focusCell`),n(this,`currentCell`),n(this,`hoverCell`),n(this,`clickCellHeader`),n(this,`focusCellHeader`),n(this,`hoverCellHeader`),n(this,`mouseX`,0),n(this,`mouseY`,0),n(this,`body`,{x:0,y:0,width:0,height:0,visibleHeight:0,visibleWidth:0,headIndex:0,tailIndex:0,visibleRows:[],renderRows:[],data:[]}),n(this,`footer`,{x:0,y:0,width:0,height:0,visibleHeight:0,visibleWidth:0,renderRows:[]}),n(this,`header`,{x:0,y:0,width:0,height:0,visibleHeight:0,visibleWidth:0,visibleLeafColumns:[],leafCellHeaders:[],allCellHeaders:[],renderLeafCellHeaders:[],renderCellHeaders:[],fixedLeftCellHeaders:[],fixedRightCellHeaders:[],renderCenterCellHeaders:[]}),n(this,`selector`,{enable:!1,xArr:[-1,-1],yArr:[-1,-1],xArrCopy:[-1,-1],yArrCopy:[-1,-1]}),n(this,`autofill`,{enable:!1,xArr:[-1,-1],yArr:[-1,-1]}),n(this,`finderBar`,{text:``,rowIndex:-1,colIndex:-1,type:`body`}),n(this,`database`),n(this,`history`),n(this,`config`);let{containerElement:r,stageElement:i,canvasElement:a,overlayerElement:o,editorElement:s,emptyElement:c,loadingElement:l,contextMenuElement:u}=e;this.containerElement=r,i.tabIndex=0,this.stageElement=i,this.canvasElement=a,this.overlayerElement=o,this.editorElement=s,this.emptyElement=c,this.loadingElement=l,this.contextMenuElement=u,this.config=new le(t.config||{}),this.eventBus=new se,this.eventBrowser=new R(this),this.eventTable=new _e(this),this.paint=new ce(this.canvasElement),this.database=new oe(this,t),this.history=new L(this),this.icons=new ge(this),this.zoomScale=new xe}get zoom(){return this.zoomScale.value}setConfig(e){this.config=new le(e)}setItemValueByEditor(e,t,n,r=!0,i=!0,a=!0){if(this.config.ENABLE_MERGE_CELL_LINK){let i=this.database.getVirtualBodyCellByKey(e,t);if(i&&(i.mergeRow||i.mergeCol)){let{dataList:e}=i.getSpanInfo(),t=e.map(e=>({...e,value:n}));this.database.batchSetItemValue(t,r,a);return}}this.database.setItemValue(e,t,n,r,i,!0,a)}batchSetItemValueByEditor(e,t=!0,n=!0){if(this.config.ENABLE_MERGE_CELL_LINK){let r=[];e.forEach(e=>{let t=this.database.getRowIndexForRowKey(e.rowKey),n=this.database.getColIndexForKey(e.key);if(t===void 0||n===void 0)return;let i=this.database.getVirtualBodyCell(t,n);if(i){let{dataList:t}=i.getSpanInfo(),n=t.map(t=>({...t,value:e.value}));r.push(...n)}}),this.database.batchSetItemValue(r,t,n)}else this.database.batchSetItemValue(e,t,n)}setFocusCell(e){if(this.focusCell!==e){if(this.focusCell?.rowKey!==e.rowKey){this.currentCell=e,this.emit(`rowFocusChange`,e);let t={rowIndex:e.rowIndex,rowKey:e.rowKey,row:e.row};this.emit(`currentRowChange`,t)}this.focusCell=e,this.emit(`cellFocusChange`,e)}}clearSelector(){this.selector.enable=!1,this.selector.xArr=[-1,-1],this.selector.yArr=[-1,-1],this.emit(`clearSelector`)}clearSelectorCopy(){this.selector.xArrCopy=[-1,-1],this.selector.yArrCopy=[-1,-1]}clearAutofill(){this.autofill={enable:!1,xArr:[-1,-1],yArr:[-1,-1]}}getSelectedData(){let e=[],t=this.selector.yArr,n=this.selector.xArr,r=``;for(let i=0;i<=t[1]-t[0];i++){let a=[];for(let e=0;e<=n[1]-n[0];e++){let r=i+t[0],o=e+n[0],s=this.database.getVirtualBodyCell(r,o);s&&(s.selectorCellValueType===`displayText`?a.push(s.displayText):a.push(s.getValue()))}r+=`${a.join(` `)}\r`,e.push(a)}return r=r?r.replace(/\r$/,``):` `,{xArr:n,yArr:t,text:r,value:e}}setScroll(e,t){let n=Math.floor(e),r=this.body.width-this.body.visibleWidth;n<0?n=0:n>r&&(n=r);let i=Math.floor(t),a=this.body.height-this.body.visibleHeight;this.config.FOOTER_FIXED||(a=this.body.height+this.footer.height-this.body.visibleHeight),i<0?i=0:i>a&&(i=a),this.emit(`setScroll`,n,i)}setScrollX(e){let t=Math.floor(e),n=this.body.width-this.body.visibleWidth;t<0?t=0:t>n&&(t=n),this.emit(`setScrollX`,t)}setScrollY(e){let t=Math.floor(e),n=0;this.config.FOOTER_FIXED||(n=this.footer.height);let r=this.body.height-this.body.visibleHeight+n;t<0?t=0:t>r&&(t=r),this.emit(`setScrollY`,t)}startAdjustPosition(e){this.emit(`startAdjustPosition`,e)}stopAdjustPosition(){this.emit(`stopAdjustPosition`)}isTarget(e){return!!this.containerElement.contains(e.target)}getOffset(e){let{left:t,top:n}=this.containerElement.getBoundingClientRect();return{offsetX:this.zoomScale.toLogical(e.clientX-t),offsetY:this.zoomScale.toLogical(e.clientY-n)}}toVisual(e){return this.zoomScale.toVisual(e)}toLogical(e){return this.zoomScale.toLogical(e)}toVisualPx(e){return this.zoomScale.toPx(e)}scaleStyle(e){return this.zoomScale.scaleStyle(e)}setZoom(e){let{MIN_ZOOM:t,MAX_ZOOM:n}=this.config;this.zoomScale.set(e,t,n)&&(this.emit(`zoomChange`,this.zoomScale.value),this.emit(`resetHeader`))}getZoom(){return this.zoomScale.value}hasEvent(e){return this.eventBus.has(e)}on(e,t){this.eventBus.on(e,t)}once(e,t){this.eventBus.once(e,t)}off(e,t){this.eventBus.off(e,t)}emit(e,...t){this.eventBus.emit(e,...t)}destroy(){this.eventTable.destroy(),this.eventBrowser.destroy(),this.eventBus.destroy()}}function Ce(e,t,n,r=t,i=30){if(e<=0||t<=0||n<=0||r<=0)return 0;let a=Math.floor(t/n*r);return a<i?Math.min(i,r):a>r?0:a}class we{constructor(e,t){n(this,`ctx`),n(this,`type`),n(this,`isFocus`,!1),n(this,`trackX`,0),n(this,`trackY`,0),n(this,`trackWidth`,0),n(this,`trackHeight`,0),n(this,`splitPoints`,[]),n(this,`barX`,0),n(this,`barY`,0),n(this,`barWidth`,0),n(this,`barHeight`,0),n(this,`distance`,0),n(this,`visibleDistance`,0),n(this,`thumbTrackDistance`,0),n(this,`thumbTravelDistance`,0),n(this,`clientX`,0),n(this,`clientY`,0),n(this,`dragStart`,0),n(this,`innerVisible`,!1),n(this,`innerShowTimer`,0),n(this,`isDragging`,!1),n(this,`scroll`,0),this.ctx=e,this.type=t,this.type===`vertical`?this.scroll=this.ctx.scrollY:this.scroll=this.ctx.scrollX}onWheel(e){this.updateScroll(e)}onTouchmove(e){let{clientY:t,clientX:n}=e.touches[0],r=this.ctx.zoomScale.toLogical(t-this.clientY),i=this.ctx.zoomScale.toLogical(n-this.clientX),a=0;this.type===`vertical`?(a=Math.max(0,Math.min(this.dragStart-r,this.distance)),this.hasScrollbar()&&!(a===0&&r>0||a===this.distance&&r<0)&&e.preventDefault()):this.type===`horizontal`&&(a=Math.max(0,Math.min(this.dragStart-i,this.distance))),this.scroll=a}onTouchstart(e){let{clientY:t,clientX:n}=e.touches[0];this.clientX=n,this.clientY=t,this.dragStart=this.scroll}onMouseDown(e){if(!(e.target instanceof Element)||!this.ctx.isTarget(e))return;if(this.ctx.stageElement.style.cursor===`row-resize`||this.ctx.stageElement.style.cursor===`col-resize`)return!0;let{clientX:t,clientY:n}=e,r=this.ctx.zoomScale.toLogical(e.offsetX),i=this.ctx.zoomScale.toLogical(e.offsetY);if(!(t==this.clientX&&n==this.clientY)&&!(this.isInnerMode()&&!this.canInteractWithScrollbar())){if(this.isOnScrollbar(r,i))this.clientX=t,this.clientY=n,this.isDragging=!0,this.ctx.scrollerMove=!0,this.isFocus=!0,this.dragStart=this.scroll,e.preventDefault();else if(this.isOnTrack(r,i)){let e=0;e=this.type===`vertical`?(i-this.ctx.header.height-this.barHeight/2)/this.thumbTravelDistance*this.distance:(r-this.barWidth/2)/this.thumbTravelDistance*this.distance,this.scroll=Math.max(0,Math.min(e,this.distance))}}}onMouseUp(){this.isDragging=!1,this.isFocus=!1,this.clientX=0,this.clientY=0}onMouseMove(e,t){let{clientX:n,clientY:r,buttons:i}=e,a=this.ctx.zoomScale.toLogical(e.offsetX),o=this.ctx.zoomScale.toLogical(e.offsetY),s=!1;if(M(this.ctx.config,t)?this.startInnerShowTimer():s=this.hideInnerScrollbar(),this.canInteractWithScrollbar()&&(this.isOnScrollbar(a,o)||this.isOnTrack(a,o))&&e.target===this.ctx.canvasElement?(this.isFocus=!0,this.ctx.stageElement.style.cursor=`pointer`):this.isFocus=!1,i===0||n==this.clientX&&r==this.clientY)return s;let c=0;if(c=this.type===`horizontal`?n-this.clientX:r-this.clientY,c=this.ctx.zoomScale.toLogical(c),this.isDragging&&c!==0){let e=0;e=(this.type,this.dragStart+c/this.thumbTravelDistance*this.distance),this.scroll=Math.max(0,Math.min(e,this.distance))}return s}isPointInElement(e,t,n,r,i,a){return e>=n&&e<=n+i&&t>=r&&t<=r+a}hasScrollbar(){return this.type===`vertical`?this.barHeight>0:this.type===`horizontal`?this.barWidth>0:!1}isOnScrollbar(e,t){return this.isPointInElement(e,t,this.barX,this.barY,this.barWidth,this.barHeight)}isOnTrack(e,t){return this.isPointInElement(e,t,this.trackX,this.trackY,this.trackWidth,this.trackHeight)}isInnerMode(){return T(this.ctx.config)}shouldDrawInnerScrollbar(){return ee(this.ctx.config,{innerVisible:this.innerVisible,isFocus:this.isFocus,isDragging:this.isDragging})}canInteractWithScrollbar(){return!this.isInnerMode()||this.shouldDrawInnerScrollbar()}startInnerShowTimer(){if(!this.isInnerMode()||this.innerVisible||this.innerShowTimer)return;let e=Math.max(0,this.ctx.config.SCROLLBAR_SHOW_DELAY||0);this.innerShowTimer=window.setTimeout(()=>{this.innerVisible=!0,this.innerShowTimer=0,this.ctx.emit(`draw`)},e)}cancelInnerShowTimer(){this.innerShowTimer&&=(clearTimeout(this.innerShowTimer),0)}hideInnerScrollbar(){if(!this.isInnerMode()||this.isDragging)return!1;let e=this.innerVisible||this.isFocus;return this.cancelInnerShowTimer(),this.innerVisible=!1,this.isFocus=!1,e}updateScroll(e){let t=e.deltaX,n=e.deltaY;this.type===`vertical`&&e.shiftKey===!1?(this.hasScrollbar()&&!(this.scroll===0&&n<0||this.scroll===this.distance&&n>0)&&e.preventDefault(),this.scroll=Math.max(0,Math.min(this.scroll+n,this.distance))):this.type===`horizontal`&&(e.shiftKey?this.scroll=Math.max(0,Math.min(this.scroll+n,this.distance)):this.scroll=Math.max(0,Math.min(this.scroll+t,this.distance)))}updatedSize(){let{body:e,header:t,stageHeight:n,stageWidth:r,config:{SCROLLER_SIZE:i=0,BORDER:a}}=this.ctx,o=E(this.ctx.config),s=D(this.ctx.config),c=r,l=n,u=t.height,d=t.width,f=e.height,p=this.ctx.footer.height,m=l-o-u,h=c-o,g=Math.max(0,f-m+p),_=Math.max(0,d-h),v=k(this.ctx.config);if(this.type===`vertical`){this.visibleDistance=m,this.distance=g;let e=O(this.ctx.config,_>0);this.thumbTrackDistance=Math.max(0,this.visibleDistance-e),this.trackX=c-s,this.trackY=0,this.splitPoints=[this.trackX,u,this.trackX+s,u],this.trackWidth=s,this.trackHeight=Math.max(0,l-e),this.barX=this.trackX-1+(s-i)/2,this.barWidth=i,this.barHeight=Ce(this.distance,this.visibleDistance,f+p,this.thumbTrackDistance),this.thumbTravelDistance=Math.max(0,this.thumbTrackDistance-this.barHeight-v);let t=this.distance?this.scroll/this.distance:0;this.barY=u+t*this.thumbTravelDistance,this.scroll=Math.max(0,Math.min(this.scroll,this.distance))}else{this.visibleDistance=h,this.distance=_;let e=O(this.ctx.config,g>0);this.thumbTrackDistance=Math.max(0,this.visibleDistance-e),this.splitPoints=[c-s,l-s,c-s,l];let t=ie(a)?0:.5;this.trackX=0,this.trackY=l-s+t,this.trackWidth=Math.max(0,c-e),this.trackHeight=s,this.barWidth=Ce(this.distance,this.visibleDistance,d,this.thumbTrackDistance),this.thumbTravelDistance=Math.max(0,this.thumbTrackDistance-this.barWidth-v),this.barY=this.trackY-1+(s-i)/2,this.barHeight=i;let n=this.distance?this.scroll/this.distance:0;this.barX=n*this.thumbTravelDistance,this.scroll=Math.max(0,Math.min(this.scroll,this.distance))}}draw(){let{config:{SCROLLER_FOCUS_COLOR:e,SCROLLER_COLOR:t,BORDER_COLOR:n,BORDER:r,SCROLLER_TRACK_COLOR:i}}=this.ctx;if(this.updatedSize(),this.isInnerMode()&&!this.shouldDrawInnerScrollbar())return this.isFocus||this.isDragging;let a=A(this.ctx.config),o=j(this.ctx.config),s=a&&ie(r)?n:`transparent`,c=this.hasScrollbar(),l=ae(r,c);return o&&l?(this.ctx.paint.drawRect(this.trackX,this.trackY,this.trackWidth,this.trackHeight,{fillColor:i}),this.drawTrackHeaderBackground(),a&&(this.ctx.paint.drawRect(this.trackX,this.trackY,this.trackWidth,this.trackHeight,{borderColor:s}),this.drawRightBoundaryBorder())):o&&this.drawInactiveTrackBackground(),c&&this.ctx.paint.drawRect(this.barX,this.barY,this.barWidth,this.barHeight,{fillColor:this.isFocus||this.isDragging?e:t,radius:4}),a&&l&&this.splitPoints.length>0&&this.ctx.paint.drawLine(this.splitPoints,{borderColor:s,borderWidth:1}),this.isFocus||this.isDragging}drawTrackHeaderBackground(){if(this.type!==`vertical`||this.trackWidth<=0)return;let{header:e,config:{HEADER_BG_COLOR:t}}=this.ctx,n=Math.max(0,Math.min(e.height,this.trackHeight));n<=0||this.ctx.paint.drawRect(this.trackX,this.trackY,this.trackWidth,n,{fillColor:t})}drawInactiveTrackBackground(){if(this.type!==`vertical`)return;let{footer:e,header:t,scrollY:n,stageHeight:r,config:{BODY_BG_COLOR:i,FOOTER_BG_COLOR:a,FOOTER_FIXED:o,FOOTER_POSITION:s,HEADER_BG_COLOR:c,SCROLLER_TRACK_SIZE:l=0}}=this.ctx,u=Math.max(0,r-l);if(u<=0||this.trackWidth<=0||(this.ctx.paint.drawRect(this.trackX,0,this.trackWidth,u,{fillColor:i}),this.ctx.paint.drawRect(this.trackX,0,this.trackWidth,t.height,{fillColor:c}),!e.height))return;let d=o?s===`top`?t.height:u-e.height:e.y-n,f=Math.max(t.height,Math.min(d,u)),p=Math.max(0,Math.min(e.height,u-f));p>0&&this.ctx.paint.drawRect(this.trackX,f,this.trackWidth,p,{fillColor:a})}drawRightBoundaryBorder(){let{stageHeight:e,config:{BORDER:t,BORDER_COLOR:n,SCROLLER_TRACK_SIZE:r=0}}=this.ctx;this.type}}class Te{constructor(e){n(this,`ctx`),n(this,`verticalScrollbar`),n(this,`horizontalScrollbar`),n(this,`mousedownHeader`,!1),n(this,`adjustPositionX`,``),n(this,`adjustPositionY`,``),n(this,`timerX`,0),n(this,`timerY`,0),this.ctx=e,this.verticalScrollbar=new we(e,`vertical`),this.horizontalScrollbar=new we(e,`horizontal`),this.ctx.on(`wheel`,e=>this.onWheel(e)),this.ctx.on(`mousedown`,e=>this.onMouseDown(e)),this.ctx.on(`mousemove`,e=>this.onMouseMove(e)),this.ctx.on(`mouseup`,()=>this.onMouseUp()),this.ctx.on(`mouseout`,e=>this.onMouseOut(e)),this.ctx.on(`touchmove`,e=>this.onTouchmove(e)),this.ctx.on(`touchstart`,e=>{this.onTouchstart(e)}),this.ctx.on(`setScroll`,(e,t)=>{this.setScroll(e,t)}),this.ctx.on(`setScrollX`,e=>{this.setScrollX(e)}),this.ctx.on(`setScrollY`,e=>{this.setScrollY(e)}),this.ctx.on(`scrollToIndex`,(e,t)=>{this.scrollToIndex(e,t)}),this.ctx.on(`cellHeaderMousedown`,()=>{this.mousedownHeader=!0}),this.ctx.on(`startAdjustPosition`,e=>{this.startAdjustPosition(e)}),this.ctx.on(`stopAdjustPosition`,()=>{this.stopAdjustPosition()})}onWheel(e){this.verticalScrollbar.onWheel(e),this.horizontalScrollbar.onWheel(e),this.draw()}onTouchmove(e){this.verticalScrollbar.onTouchmove(e),this.horizontalScrollbar.onTouchmove(e),this.draw()}onTouchstart(e){this.verticalScrollbar.onTouchstart(e),this.horizontalScrollbar.onTouchstart(e),this.draw()}onMouseDown(e){this.verticalScrollbar.onMouseDown(e),this.horizontalScrollbar.onMouseDown(e),this.draw()}onMouseMove(e){let t=this.ctx.containerElement.getBoundingClientRect(),n=e.clientX>=t.left&&e.clientX<=t.right&&e.clientY>=t.top&&e.clientY<=t.bottom,r=this.verticalScrollbar.onMouseMove(e,n),i=this.horizontalScrollbar.onMouseMove(e,n);r||i?this.ctx.emit(`draw`):this.draw()}onMouseUp(){this.mousedownHeader=!1,this.verticalScrollbar.onMouseUp(),this.horizontalScrollbar.onMouseUp(),this.ctx.scrollerMove=!1}onMouseOut(e){this.ctx.containerElement.contains(e.relatedTarget)||(this.verticalScrollbar.hideInnerScrollbar(),this.horizontalScrollbar.hideInnerScrollbar(),this.ctx.emit(`draw`))}draw(){let e=this.verticalScrollbar.draw(),t=this.horizontalScrollbar.draw();this.ctx.scrollerFocus=e||t;let n=Math.floor(this.horizontalScrollbar.scroll),r=Math.floor(this.verticalScrollbar.scroll);(n!==this.ctx.scrollX||r!==this.ctx.scrollY)&&(this.ctx.emit(`onScroll`,n,r),n!==this.ctx.scrollX&&this.ctx.emit(`onScrollX`,n),r!==this.ctx.scrollY&&this.ctx.emit(`onScrollY`,r),this.ctx.scrollX=n,this.ctx.scrollY=r,this.ctx.emit(`draw`))}setScroll(e,t){this.horizontalScrollbar.scroll=e,this.verticalScrollbar.scroll=t,this.ctx.emit(`draw`),this.ctx.emit(`onScroll`,e,t)}setScrollX(e){this.horizontalScrollbar.scroll=e,this.ctx.emit(`draw`)}setScrollY(e){this.verticalScrollbar.scroll=e,this.ctx.emit(`draw`)}scrollToColkey(e){let{header:t}=this.ctx,n=t.leafCellHeaders.find(t=>t.key===e);n&&this.setScrollX(n.x-t.visibleWidth/2)}scrollToColIndex(e){let{header:t}=this.ctx,n=t.leafCellHeaders.find(t=>t.colIndex===e);n&&this.setScrollX(n.x-t.visibleWidth/2)}scrollToRowIndex(e){let{body:t,database:n}=this.ctx,{top:r}=n.getPositionForRowIndex(e);this.setScrollY(r-t.visibleHeight/2)}scrollToIndex(e,t){this.scrollToRowIndex(e),this.scrollToColIndex(t)}scrollToRowKey(e){let{body:t,database:n}=this.ctx,r=n.getRowIndexForRowKey(e);if(r===void 0)return;let{top:i}=n.getPositionForRowIndex(r);this.setScrollY(i-t.visibleHeight/2)}startAdjustPosition(e){let{offsetX:t,offsetY:n}=this.ctx.getOffset(e),r=``,i=``;if(this.ctx.focusCell?.fixed!==`left`&&t<this.ctx.fixedLeftWidth?r=`left`:this.ctx.focusCell?.fixed!==`right`&&t>this.ctx.body.visibleWidth-this.ctx.fixedRightWidth?r=`right`:(r=``,this.stopAdjustPosition(!0,!1)),!this.mousedownHeader&&n<this.ctx.header.visibleHeight?i=`top`:n>this.ctx.header.visibleHeight+this.ctx.body.visibleHeight?i=`bottom`:(i=``,this.stopAdjustPosition(!1,!0)),r&&this.adjustPositionX!==r){this.adjustPositionX=r;let e=10*(r===`left`?-1:1);this.timerX&&=(clearInterval(this.timerX),0),this.timerX=setInterval(()=>{e*=1.5;let{scrollX:t}=this.ctx,n=t+e;(n<0||n>this.ctx.body.width)&&(clearInterval(this.timerX),this.timerX=0),this.ctx.setScrollX(n)},100)}if(i&&this.adjustPositionY!==i){this.adjustPositionY=i;let e=10*(i===`top`?-1:1);this.timerY&&=(clearInterval(this.timerY),0),this.timerY=setInterval(()=>{e*=1.5;let{scrollY:t}=this.ctx,n=t+e;(n<0||n>this.ctx.body.height)&&(clearInterval(this.timerY),this.timerY=0),this.ctx.setScrollY(n)},100)}}stopAdjustPosition(e=!0,t=!0){e&&(this.adjustPositionX=``,this.timerX&&=(clearInterval(this.timerX),0)),t&&(this.adjustPositionY=``,this.timerY&&=(clearInterval(this.timerY),0))}}class z extends te{constructor(e,t,r,a,o,s,c){super(e,r,a,o,s,`header`,c.fixed),n(this,`align`),n(this,`hideHeaderSelection`,!1),n(this,`verticalAlign`,`middle`),n(this,`fixed`),n(this,`minWidth`),n(this,`maxWidth`),n(this,`widthFillDisable`),n(this,`type`),n(this,`operation`,!1),n(this,`editorType`),n(this,`level`),n(this,`text`),n(this,`hide`,!1),n(this,`displayText`,``),n(this,`colspan`),n(this,`rowspan`),n(this,`row`),n(this,`key`),n(this,`required`,!1),n(this,`readonly`,!1),n(this,`ellipsis`,!1),n(this,`overflowTooltipShow`,!0),n(this,`children`,[]),n(this,`column`),n(this,`colIndex`),n(this,`rowKey`),n(this,`rules`),n(this,`hasChildren`),n(this,`render`),n(this,`style`,{}),n(this,`drawX`,0),n(this,`drawY`,0),n(this,`sortIconName`,`sort-default`),n(this,`sortAscIconName`,`sort-asc`),n(this,`sortDescIconName`,`sort-desc`),n(this,`visibleWidth`,0),n(this,`visibleHeight`,0),n(this,`maxLineClampHeader`,`auto`),n(this,`domDataset`,{}),n(this,`textOffsetRight`,0),n(this,`textOffsetLeft`,0),n(this,`textInfo`),n(this,`drawTextX`,0),n(this,`drawTextY`,0),n(this,`drawTextWidth`,0),n(this,`drawTextHeight`,0),n(this,`drawCellBgColor`,``),n(this,`drawTextColor`,``),n(this,`drawTextFont`,``),n(this,`drawSelectionImageX`,0),n(this,`drawSelectionImageY`,0),n(this,`drawSelectionImageWidth`,0),n(this,`drawSelectionImageHeight`,0),n(this,`drawSelectionImageName`,``),n(this,`drawSelectionImageSource`),n(this,`drawSortImageX`,0),n(this,`drawSortImageY`,0),n(this,`drawSortImageWidth`,0),n(this,`drawSortImageHeight`,0),n(this,`drawSortImageName`,``),n(this,`drawSortImageSource`),n(this,`renderHeaderType`,`default`),this.ctx=e,this.x=r,this.y=a,this.width=o,this.height=s,this.visibleWidth=o,this.visibleHeight=s,this.colIndex=t,this.key=c.key,this.minWidth=c.minWidth,this.maxWidth=c.maxWidth,this.hide=(typeof c.hide==`function`?c.hide(c):c.hide)||!1,this.type=c.type||``,this.editorType=c.editorType||`text`,this.hideHeaderSelection=c.hideHeaderSelection||!1,this.align=c.headerAlign||c.align||this.ctx.config.COLUMNS_ALIGN,this.verticalAlign=c.headerVerticalAlign||c.verticalAlign||this.ctx.config.COLUMNS_VERTICAL_ALIGN,this.fixed=c.fixed||``,this.level=c.level||0,this.operation=c.operation||!1,this.text=c.title,this.column=c,this.colspan=c.colspan||1,this.widthFillDisable=c.widthFillDisable||!1,this.rowspan=c.rowspan||1,this.rules=c.rules,this.readonly=c.readonly||!1,this.required=c.required||!1,this.sortIconName=c.sortIconName||`sort-default`,this.sortAscIconName=c.sortAscIconName||`sort-asc`,this.sortDescIconName=c.sortDescIconName||`sort-desc`,this.rowKey=i(),this.overflowTooltipShow=c.overflowTooltipHeaderShow!==!1,this.hasChildren=c.children&&c.children.length>0||!1,this.render=c.renderHeader,this.maxLineClampHeader=c.maxLineClampHeader||`auto`,this.renderHeaderType=c.renderHeaderType||`default`}isVerticalVisible(){let{stageHeight:e}=this.ctx,t=e;return!(this.y+this.height<=0||this.y>=t)}updateStyle(){this.style=this.getOverlayerViewsStyle()}updateContainer(){let{HEADER_CELL_STYLE_METHOD:e,HEADER_BG_COLOR:t,HEADER_TEXT_COLOR:n}=this.ctx.config,r=t,i=n;if(typeof e==`function`){let{backgroundColor:t,color:n,font:a}=e({colIndex:this.colIndex,column:this.column})||{};t&&(r=t),n&&(i=n),a&&(this.drawTextFont=a)}let{colKey:a,type:o}=this.ctx.finderBar;o===`header`&&a===this.key&&(r=this.ctx.config.FINDER_CELL_BG_COLOR),this.drawCellBgColor=r,this.drawTextColor=i}updateOffset(){this.column.sortBy&&(this.textOffsetRight=16),this.required&&(this.textOffsetLeft=12)}update(){this.updateContainer(),this.updateOffset(),this.displayText=this.getText(),this.drawX=this.getDrawX(),this.drawY=this.getDrawY(),this.drawTextX=this.drawX,this.drawTextY=this.drawY,this.drawTextWidth=this.width,this.drawTextHeight=this.height,this.updateSelection(),this.updateStyle()}draw(){this.drawEdge(),this.drawText(),this.drawBg(),this.updateSortIcon(),this.drawImages(),this.drawRequired()}drawImages(){this.getImages().forEach(e=>{e.visible&&e.source&&this.ctx.paint.drawImage(e.source,e.x,e.y,e.width,e.height)})}drawEdge(){let{paint:e,config:{BORDER_COLOR:t,BORDER:n}}=this.ctx;e.drawRect(this.drawX,this.drawY,this.width,this.height,{borderColor:ne(n)?t:`transparent`,fillColor:this.drawCellBgColor})}drawText(){let{paint:e,config:{HEADER_FONT:t,CELL_PADDING:n}}=this.ctx,r=`${this.displayText}_${this.drawTextWidth}_${this.drawTextFont}`;this.ellipsis=e.drawText(this.displayText,this.drawTextX,this.drawTextY,this.drawTextWidth,this.drawTextHeight,{font:this.drawTextFont||t,padding:n,color:this.drawTextColor,align:this.align,verticalAlign:this.verticalAlign,maxLineClamp:this.maxLineClampHeader,offsetRight:this.textOffsetRight,offsetLeft:this.textOffsetLeft,cacheTextKey:r,textCallback:e=>{this.textInfo=e},layoutCallback:e=>{this.ctx.emit(`registerTextLayout`,`${this.cellType}-${this.colIndex}-${this.level}`,e)}})}drawRequired(){if(!this.required||!this.textInfo)return;let{left:e,top:t,height:n}=this.textInfo,{paint:r,config:{REQUIRED_COLOR:i}}=this.ctx;r.drawText(`*`,e-18,t+(n-12)/2,24,24,{color:i,font:`18px Arial`,align:`center`,verticalAlign:`middle`,padding:0})}drawBg(){if(this.ctx.dragHeaderIng)return;let{ENABLE_SELECTOR:e,ENABLE_SELECTOR_SINGLE:t}=this.ctx.config,n=-1,r=-1;if(this.ctx.focusCellHeader&&(n=this.ctx.focusCellHeader.colIndex,r=this.ctx.focusCellHeader.colIndex+this.ctx.focusCellHeader.colspan-1),e&&!t){let{xArr:e}=this.ctx.selector;n=e[0],r=e[1]}let i=this.colspan+this.colIndex-1;this.colIndex>=n&&this.colIndex<=r&&i<=r&&this.ctx.paint.drawRect(this.drawX,this.drawY,this.width,this.height,{borderColor:`transparent`,fillColor:this.ctx.config.SELECT_ROW_COL_BG_COLOR||`transparent`})}updateSelection(){if([`index-selection`,`selection`,`selection-tree`,`tree-selection`].includes(this.type)){let{indeterminate:e,check:t,selectable:n}=this.ctx.database.getCheckedState(),{CHECKBOX_SIZE:r=0,CELL_PADDING:i}=this.ctx.config,a=this.drawX+(this.width-r)/2,o=this.drawY+(this.height-r)/2;this.drawTextX=a+r-i/2,this.drawTextWidth=this.drawX+this.visibleWidth-this.drawTextX,(this.align===`left`||this.align===`right`)&&(a=this.drawX+i,this.drawTextX=a+r-i/2,this.drawTextWidth=this.drawX+this.visibleWidth-this.drawTextX),this.verticalAlign===`top`?o=this.drawY+i/2:this.verticalAlign===`bottom`&&(o=this.drawY+this.height-r-i/2),this.column.dragRow&&(a+=this.ctx.config.DRAG_ROW_ICON_SIZE,this.drawTextX+=this.ctx.config.DRAG_ROW_ICON_SIZE,this.drawTextWidth-=this.ctx.config.DRAG_ROW_ICON_SIZE);let s=this.ctx.icons.get(`checkbox-uncheck`),c=`checkbox-uncheck`;e?(s=this.ctx.icons.get(`checkbox-indeterminate`),c=`checkbox-indeterminate`):t&&n?(s=this.ctx.icons.get(`checkbox-check`),c=`checkbox-check`):t&&!n?(s=this.ctx.icons.get(`checkbox-check-disabled`),c=`checkbox-check-disabled`):!t&&n?(s=this.ctx.icons.get(`checkbox-uncheck`),c=`checkbox-uncheck`):(s=this.ctx.icons.get(`checkbox-disabled`),c=`checkbox-disabled`);let l=new N(c,a,o,r,r,s);l.setVisible(!this.hideHeaderSelection),this.setImage(`selection`,l)}}updateSortIcon(){if(!this.column.sortBy||!this.textInfo)return;let{right:e,top:t,height:n}=this.textInfo,r=e+4,i=t+(n-16)/2,a=this.sortIconName,o=this.ctx.database.getSortState(this.key);o.direction===`asc`?a=this.sortAscIconName:o.direction===`desc`&&(a=this.sortDescIconName);let s=this.ctx.icons.get(a),c=new N(a,r,i,16,16,s);this.setImage(`sort`,c)}getText(){return this.render&&this.renderHeaderType==="default"||[``,null,void 0].includes(this.text)?``:`${this.text}`}getOverlayerViewsStyle(){let e=``;return e=this.fixed===`left`?`${this.drawX}px`:this.fixed===`right`?`${this.drawX-(this.ctx.stageWidth-this.ctx.fixedRightWidth)}px`:`${this.drawX-this.ctx.fixedLeftWidth}px`,{position:`absolute`,overflow:`hidden`,left:e,top:`${this.drawY+1}px`,width:`${this.width}px`,height:`${this.height-2}px`,pointerEvents:`initial`,userSelect:`none`}}}class B{constructor(e,t){n(this,`root`),n(this,`key`),n(this,`childrenKey`),this.root=e,this.key=t?.key||`key`,this.childrenKey=t?.childrenKey||`children`}getTree(){return this.root}treeMove(e,t,n){if(n===`none`||e===t)return;let r=this.findNodeWithParent(this.root,e);if(!r)return;let i=this.findNodeWithParent(this.root,t);if(!i)return;let{parent:a,index:o,node:s}=r,{parent:c,index:l,node:u}=i;if(this.isDescendant(s,t))return;let d=a?a[this.childrenKey]:this.root;if(d.splice(o,1),a&&d.length===0&&delete a[this.childrenKey],n===`inside`){Array.isArray(u[this.childrenKey])||(u[this.childrenKey]=[]),u[this.childrenKey].push(s);return}let f=c?c[this.childrenKey]:this.root,p=l;a===c&&o<l&&p--,n===`after`&&p++,f.splice(p,0,s)}findNodeWithParent(e,t,n=null){for(let r=0;r<e.length;r++){let i=e[r];if(i[this.key]===t)return{parent:n,index:r,node:i};let a=i[this.childrenKey];if(Array.isArray(a)){let e=this.findNodeWithParent(a,t,i);if(e)return e}}return null}isDescendant(e,t){let n=e[this.childrenKey];if(!Array.isArray(n))return!1;for(let e of n)if(e[this.key]===t||this.isDescendant(e,t))return!0;return!1}}class V{constructor(e){n(this,`ctx`),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`,0),n(this,`resizeTarget`,null),n(this,`dragTarget`,null),n(this,`dragingCell`),n(this,`dragCellDiff`,0),n(this,`resizeNum`,0),n(this,`isResizing`,!1),n(this,`clientX`,0),n(this,`resizeDiff`,0),n(this,`columnIndex`,0),n(this,`isMouseDown`,!1),n(this,`columns`),n(this,`visibleColumns`),n(this,`visibleLeafColumns`,[]),n(this,`visibleHeight`,0),n(this,`visibleWidth`,0),n(this,`allCellHeaders`,[]),n(this,`leafCellHeaders`,[]),n(this,`renderLeafCellHeaders`,[]),n(this,`fixedLeftCellHeaders`,[]),n(this,`centerCellHeaders`,[]),n(this,`fixedRightCellHeaders`,[]),n(this,`renderCenterCellHeaders`,[]),n(this,`renderFixedCellHeaders`,[]),this.ctx=e,this.ctx.on(`resetHeader`,a(()=>{this.init(),this.ctx.clearSelector(),this.ctx.emit(`draw`)},100)),this.init(),this.initSelection(),this.initSort(),this.initResizeColumn(),this.initDragColumn()}init(e=!1){let{config:{HEADER_HEIGHT:t}}=this.ctx,n=E(this.ctx.config);if(!e){let e=this.ctx.database.getColumns();this.columns=e}this.allCellHeaders=[],this.leafCellHeaders=[],this.fixedLeftCellHeaders=[],this.fixedRightCellHeaders=[],this.centerCellHeaders=[],this.visibleColumns=u(this.columns);let r=o(this.visibleColumns),i=l(this.visibleColumns);this.height=t*r,this.visibleHeight=this.height,this.width=i.reduce((e,t)=>{let n=t.width||100,{maxWidth:r,minWidth:i}=t;return r&&n>r?e+r:i&&n<i?e+i:e+n},0),this.columnIndex=0,this.resizeNum=0;let a=s(c(this.visibleColumns,r));this.render(a,0),this.ctx.database.updateColIndexKeyMap(this.leafCellHeaders);let d=this.ctx.containerElement.getBoundingClientRect(),{stageWidth:f,stagePhysicalWidth:p}=this.ctx.zoomScale.resolveStageWidth({containerPhysicalWidth:d.width,contentWidth:this.width,scrollerTrackSize:n,fillContainer:this.resizeNum>0});this.ctx.stageWidth=f,this.ctx.stagePhysicalWidth=p,this.ctx.stageElement.style.width=`${p}px`,this.visibleWidth=this.ctx.stageWidth-n;let m=this.visibleWidth-this.width;if(this.resizeNum&&m>0){let e=Math.floor(m/this.resizeNum*100)/100;this.resizeAllColumn(e)}let h=this.fixedLeftCellHeaders.filter(e=>!e.hasChildren);this.ctx.fixedLeftWidth=h.reduce((e,t)=>e+t.width,0);let g=this.fixedRightCellHeaders.filter(e=>!e.hasChildren);this.ctx.fixedRightWidth=g.reduce((e,t)=>e+t.width,n),this.ctx.maxColIndex=this.leafCellHeaders.length-1,this.ctx.header.x=this.x,this.ctx.header.y=this.y,this.ctx.header.width=this.width,this.ctx.header.height=this.height,this.ctx.header.allCellHeaders=this.allCellHeaders,this.ctx.header.visibleWidth=this.visibleWidth,this.ctx.header.visibleHeight=this.visibleHeight}initSort(){this.ctx.on(`cellHeaderClick`,(e,t)=>{if(!e.isImageInside(`sort`,t))return;let n=this.ctx.database.getSortState(e.key),r;r=n.direction===`none`?`asc`:n.direction===`asc`?`desc`:`none`,this.ctx.database.setSortState(e.key,r)})}initSelection(){this.ctx.on(`cellHeaderClick`,(e,t)=>{if(this.ctx.stageElement.style.cursor!==`pointer`||!e.isImageInside(`selection`,t))return;let n=e.getImage(`selection`);[`checkbox-uncheck`,`checkbox-indeterminate`].includes(n.name)?this.ctx.database.toggleAllSelection():n.name===`checkbox-check`&&this.ctx.database.clearSelection(!0)})}initResizeColumn(){this.ctx.on(`mousedown`,e=>{this.ctx.config.ENABLE_RESIZE_COLUMN&&this.ctx.isTarget(e)&&(this.clientX=e.clientX,this.resizeTarget?(this.isResizing=!0,this.ctx.columnResizing=!0):this.isResizing=!1,this.isMouseDown=!0)}),this.ctx.on(`mouseup`,()=>{this.ctx.config.ENABLE_RESIZE_COLUMN&&(this.isMouseDown=!1,this.resizeDiff!==0&&this.resizeTarget&&this.resizeColumn(this.resizeTarget,this.resizeDiff),this.resizeTarget=null,this.isResizing=!1,this.isMouseDown=!1,this.ctx.columnResizing=!1,this.clientX=0,this.resizeDiff=0)}),this.ctx.on(`mousemove`,e=>{if(!this.ctx.config.ENABLE_RESIZE_COLUMN||this.ctx.editing)return;let{stageWidth:t,config:{RESIZE_COLUMN_MIN_WIDTH:n}}=this.ctx;if(this.isResizing&&this.resizeTarget){let t=this.resizeTarget.width,r=this.resizeTarget.minWidth,i=this.resizeTarget.maxWidth,a=e.clientX-this.clientX;a+t<n&&(a=-(t-n)),r&&a+t<r&&(a=-(t-r)),i&&a+t>i&&(a=i-t),this.resizeDiff=a,this.ctx.emit(`draw`)}else{if(this.resizeTarget=null,this.isMouseDown)return;let{offsetX:n}=this.ctx.getOffset(e);if(n<0||n>this.visibleWidth){this.ctx.stageElement.style.cursor===`col-resize`&&(this.ctx.stageElement.style.cursor=`default`);return}this.ctx.stageElement.style.cursor===`col-resize`&&(this.ctx.stageElement.style.cursor=`default`);let r=[...this.renderFixedCellHeaders,...this.renderCenterCellHeaders];for(let n of r){let{offsetX:r,offsetY:i}=this.ctx.getOffset(e),a=r,o=i,s=n.getDrawX(),c=n.getDrawY();if(a>s+n.width-5&&a<s+n.width+4&&a<t-4&&o>c){let t=n.colIndex+n.colspan-1,r=this.leafCellHeaders.find(e=>e.colIndex===t);if(!r||!r.fixed&&this.ctx.stageWidth-this.ctx.fixedRightWidth<s+n.width)return;this.ctx.isTarget(e)&&i<=this.height&&(this.ctx.stageElement.style.cursor=`col-resize`,this.resizeTarget=r)}}}})}initDragColumn(){this.ctx.on(`cellHeaderMousedown`,e=>{this.ctx.stageElement.style.cursor==="default"&&this.ctx.config.ENABLE_DRAG_COLUMN&&(e.column.dragDisabled||(this.dragTarget===e?(this.ctx.dragHeaderIng=!0,this.dragCellDiff=this.ctx.mouseX-e.drawX,this.ctx.stageElement.style.cursor=`grabbing`):(this.dragTarget=e,this.ctx.dragHeaderIng=!1)))}),this.ctx.on(`cellMousedown`,()=>{this.ctx.config.ENABLE_DRAG_COLUMN&&(this.dragTarget=null,this.ctx.dragHeaderIng=!1)}),this.ctx.on(`mouseup`,()=>{if(this.ctx.config.ENABLE_DRAG_COLUMN){if(this.dragingCell&&this.dragTarget){let e=(t,n={})=>(t.forEach((t,r)=>{t.children&&e(t.children,n),n[t.key]=r}),n),t=this.ctx.database.getColumns(),n=c(t,o(t)),r=new B(n,{key:`key`,childrenKey:`children`}),i=this.dragTarget.colIndex>this.dragingCell.colIndex?`before`:`after`;r.treeMove(this.dragTarget.column.key,this.dragingCell.column.key,i);let a=e(r.getTree());this.ctx.database.setCustomHeader({sortData:a}),this.init();let s={source:this.dragTarget,target:this.dragingCell,columns:n};this.ctx.emit(`columnDragChange`,s)}this.ctx.dragHeaderIng&&this.dragTarget&&(this.ctx.stageElement.style.cursor===`grabbing`&&(this.ctx.stageElement.style.cursor=`default`),this.ctx.dragHeaderIng=!1,this.dragTarget=null,this.dragingCell=void 0,this.dragCellDiff=0,this.ctx.clearSelector(),this.ctx.focusCellHeader=void 0,this.ctx.emit(`draw`))}}),this.ctx.on(`mousemove`,e=>{this.ctx.config.ENABLE_DRAG_COLUMN&&(!this.ctx.dragHeaderIng||!this.dragTarget||(this.dragTarget.fixed||this.ctx.startAdjustPosition(e),this.ctx.emit(`draw`)))}),this.ctx.on(`cellHoverChange`,e=>{this.ctx.config.ENABLE_DRAG_COLUMN&&(e.column.dragDisabled||(this.dragingCell=this.getDragCellHeader(e.colIndex)))}),this.ctx.on(`cellHeaderHoverChange`,e=>{this.ctx.config.ENABLE_DRAG_COLUMN&&(e.column.dragDisabled||(this.dragingCell=this.getDragCellHeader(e.colIndex)))})}getDragCellHeader(e){if(!this.dragTarget||!this.ctx.dragHeaderIng)return;let{column:{parentKey:t},key:n,level:r,fixed:i}=this.dragTarget,a=this.allCellHeaders.find(a=>a.key!==n&&a.fixed===i&&a.column.level===r&&a.column.parentKey===t&&a.colIndex<=e&&a.colIndex+a.colspan-1>=e);if(this.ctx.dragHeaderIng){let e=a?`grabbing`:`not-allowed`;this.ctx.stageElement.style.cursor=e}return a}resizeColumn(e,t){let n=r=>{r.forEach(r=>{r.children&&r.children.length>0&&n(r.children),r.key===e.key&&(r.width=(r.width||100)+t)})};n(this.columns);let r=0;if(this.width<this.visibleWidth){let e=this.visibleWidth-this.width;r=Math.floor(e/this.resizeNum*100)/100,this.resizeAllColumn(r)}let i=e.width+t+r;this.ctx.emit(`resizeColumnChange`,{colIndex:e.colIndex,key:e.key,oldWidth:e.width,width:i,column:e.column,columns:this.columns}),this.ctx.database.setCustomHeaderResizableData(e.key,i),this.init(!0),this.ctx.emit(`draw`)}resizeAllColumn(e){if(e===0)return;let t=new Map,n=!0;for(let r of this.allCellHeaders)if(r.widthFillDisable)t.set(r.key,r.width);else{let i=r.width+e*r.colspan;t.set(r.key,i),i<this.ctx.config.RESIZE_COLUMN_MIN_WIDTH&&(n=!1)}if(!n)return;let r=e=>{e.forEach(e=>{t.has(e.key)&&(e.width=t.get(e.key)),e.children&&e.children.length>0&&r(e.children)})};r(this.columns),this.init(!0),this.ctx.emit(`draw`)}getCustomHeader(){let e=this.ctx.database.getColumns(),t=this.ctx.database.getCustomHeader(),{sortData:n={}}=t;return Object.keys(n).length===0?{columns:e,customHeader:t}:{columns:c(e,o(e)),customHeader:t}}render(e,t){let n=e.length,r=t,{HEADER_HEIGHT:i=0}=this.ctx.config;for(let t=0;t<n;t++){let n=e[t],a=i*(n.rowspan||0),o=i*(n.level||0),{minWidth:s,maxWidth:c}=n,u=n.width||100;s&&u<s&&(u=s),c&&u>c&&(u=c),n.children&&(u=l(n.children).reduce((e,t)=>e+(t?.width||100),0));let d=new z(this.ctx,this.columnIndex,r,o,u,a,n);this.ctx.database.setHeader(n.key,d),this.allCellHeaders.push(d),n.children||(this.leafCellHeaders.push(d),d.column.widthFillDisable||this.resizeNum++),n.fixed===`left`?this.fixedLeftCellHeaders.push(d):n.fixed===`right`?this.fixedRightCellHeaders.push(d):this.centerCellHeaders.push(d),!n.children&&this.columnIndex++,n.children&&this.render(n.children,r),r+=u}}drawTipLine(){if(this.isResizing&&this.resizeTarget){let{stageHeight:e,config:{RESIZE_COLUMN_LINE_COLOR:t,RESIZE_COLUMN_TEXT_COLOR:n,RESIZE_COLUMN_TEXT_BG_COLOR:r,ENABLE_RESIZE_COLUMN_TEXT:i}}=this.ctx,a=this.resizeTarget.getDrawX(),o=this.resizeTarget.width,s=a+o+this.resizeDiff-.5,c=[s-.5,0,s-.5,e];if(this.ctx.paint.drawLine(c,{borderColor:t}),i){let e=`${Math.floor(o+this.resizeDiff)}px`;this.ctx.paint.drawRect(s+45/2,this.ctx.mouseY-24/2,45,24,{fillColor:r,borderWidth:0,borderColor:`transparent`}),this.ctx.paint.drawText(e,s+45/2,this.ctx.mouseY-24/2,45,26,{padding:0,color:n,align:`center`,verticalAlign:`middle`})}}}drawDragTip(){if(this.dragTarget&&this.ctx.dragHeaderIng){let{DRAG_TIP_BG_COLOR:e,DRAG_TIP_LINE_COLOR:t}=this.ctx.config,n=this.dragTarget.width;if(this.ctx.paint.drawRect(this.ctx.mouseX-this.dragCellDiff,this.visibleHeight,n,this.ctx.body.visibleHeight,{fillColor:e,borderWidth:0,borderColor:`transparent`}),this.dragingCell){let{drawX:e,drawY:n,visibleWidth:r,colIndex:i}=this.dragingCell,a=e,o=n;i>this.dragTarget.colIndex&&(a=e+r),i===0&&(a+=1),i===this.ctx.maxColIndex&&--a;let s=[a,o,a,this.ctx.stageHeight],c=[a-4,o,a+4,o,a,o+6,a-4,o];this.ctx.paint.drawLine(c,{borderColor:t,borderWidth:1.2,fillColor:t}),this.ctx.paint.drawLine(s,{borderColor:t,borderWidth:1.2})}}}drawFixedShadow(){let{fixedLeftWidth:e,fixedRightWidth:t,scrollX:n,header:r,stageWidth:i,config:{HEADER_BG_COLOR:a}}=this.ctx,o=E(this.ctx.config);if(n>0&&e!==0&&this.ctx.paint.drawShadow(this.x,this.y,e,this.height,{fillColor:a,side:`right`,shadowWidth:4,colorStart:`rgba(0,0,0,0.1)`,colorEnd:`rgba(0,0,0,0)`}),n<Math.floor(r.width-i-1)&&t!==o){let e=r.width-(this.x+this.width)+i-t;this.ctx.paint.drawShadow(e,this.y,t,this.height,{fillColor:a,side:`left`,shadowWidth:4,colorStart:`rgba(0,0,0,0)`,colorEnd:`rgba(0,0,0,0.1)`})}}update(){let e=[],t=[],n=[];if(this.centerCellHeaders.length){let e=this.centerCellHeaders[this.centerCellHeaders.length-1];this.ctx.lastCenterColIndex=e.colIndex}this.centerCellHeaders.forEach(n=>{n.isHorizontalVisible()&&n.isVerticalVisible()&&(t.push(n),n.hasChildren||e.push(n))}),this.fixedLeftCellHeaders.forEach(t=>{n.push(t),t.hasChildren||e.push(t)}),this.fixedRightCellHeaders.forEach(t=>{n.push(t),t.hasChildren||e.push(t)}),this.renderCenterCellHeaders=t,this.renderFixedCellHeaders=n,this.renderLeafCellHeaders=e.sort((e,t)=>e.x-t.x),this.visibleLeafColumns=this.renderLeafCellHeaders.map(e=>e.column),this.ctx.header.visibleLeafColumns=this.visibleLeafColumns,this.ctx.header.leafCellHeaders=this.leafCellHeaders,this.ctx.header.renderLeafCellHeaders=this.renderLeafCellHeaders,this.ctx.header.renderCellHeaders=this.renderFixedCellHeaders.concat(this.renderCenterCellHeaders)}drawBottomLine(){let{stageWidth:e,config:{BORDER_COLOR:t,BORDER:n}}=this.ctx;if(!F(n))return;let r=[0,this.height,e,this.height];this.ctx.paint.drawLine(r,{borderColor:t,borderWidth:1})}draw(){this.renderCenterCellHeaders.forEach(e=>{e.update(),e.draw()}),this.drawFixedShadow(),this.renderFixedCellHeaders.forEach(e=>{e.update(),e.draw()}),this.drawBottomLine(),this.drawTipLine(),this.drawDragTip()}}class Ee{constructor(e,t,r=0,i=0,a=0,o=0,s,c=`body`){n(this,`ctx`),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`),n(this,`cells`,[]),n(this,`fixedCells`,[]),n(this,`noFixedCells`,[]),n(this,`calculatedHeightCells`,[]),n(this,`rowIndex`,0),n(this,`rowKey`,``),n(this,`rowType`,`body`),n(this,`data`),n(this,`calculatedHeight`,-1),this.ctx=e,this.x=r,this.y=i,this.width=a,this.height=o,this.rowIndex=t,this.rowKey=e.database.getRowKeyForRowIndex(t)||``,this.rowType=c,this.data=s,this.update()}update(){let{header:e}=this.ctx,t=[],n=[],r=[],i=[];e.renderLeafCellHeaders.forEach(e=>{let a=new I(this.ctx,this.rowIndex,e.colIndex,e.x,this.y,e.width,this.height,e.column,this.data,this.rowType);a.fixed?n.push(a):r.push(a),t.push(a),a.autoRowHeight&&i.push(a)}),this.cells=t,this.calculatedHeightCells=i,this.fixedCells=n,this.noFixedCells=r}updateCalculatedHeight(){let e=this.calculatedHeightCells.map(e=>{let t=e.getAutoHeight(),{key:n,height:r=-1}=this.ctx.database.getMaxRowHeightItem(this.rowKey)||{};return(t>r||e.key===n&&t<r)&&this.ctx.database.setMaxRowHeightItem(this.rowKey,e.key,t),t});return this.calculatedHeight=e.length?Math.max(...e):-1,this.calculatedHeight}drawCenter(){this.noFixedCells.forEach(e=>{e.draw()})}drawFixed(){this.fixedCells.forEach(e=>{e.draw()})}drawContainer(){this.noFixedCells.forEach(e=>{e.drawContainer()})}drawFixedContainer(){this.fixedCells.forEach(e=>{e.drawContainer()})}drawHorizontalBorder(){this.noFixedCells.forEach(e=>{e.drawHorizontalBorder()})}drawFixedHorizontalBorder(){this.fixedCells.forEach(e=>{e.drawHorizontalBorder()})}}class De{constructor(e){n(this,`resizeTarget`,null),n(this,`dragSource`,null),n(this,`dragTarget`,null),n(this,`dragRowDiff`,0),n(this,`dragPosition`,`none`),n(this,`isMouseDown`,!1),n(this,`resizeDiff`,0),n(this,`clientY`,0),n(this,`ctx`),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`,0),n(this,`headIndex`,0),n(this,`tailIndex`,0),n(this,`isResizing`,!1),n(this,`renderRows`,[]),n(this,`visibleRows`,[]),n(this,`visibleHeight`,0),n(this,`visibleWidth`,0),n(this,`containerRect`),n(this,`data`,[]),this.ctx=e,this.init(),this.initTree(),this.initSelection(),this.initResizeRow(),this.initDragRow()}init(){let{canvasElement:e,header:t,footer:n,database:r,config:{FOOTER_FIXED:i,HEIGHT:a,EMPTY_BODY_HEIGHT:o=0,MAX_HEIGHT:s=0,ENABLE_OFFSET_HEIGHT:c=0,OFFSET_HEIGHT:l=0,FOOTER_POSITION:u}}=this.ctx,d=E(this.ctx.config);if(!t.width)return;this.x=0,u===`top`&&i?this.y=t.height+n.height:this.y=t.height;let{data:f,sumHeight:p}=r.getData();this.height=p,this.data=f,this.width=t.width,this.visibleWidth=this.ctx.stageWidth-d;let m=this.ctx.footer.height;this.ctx.isEmpty=!this.data.length,!this.data.length&&!a?this.height=o:!this.data.length&&a&&(this.height=a-t.height-m-d);let{zoomScale:h}=this.ctx,g=this.height+t.height+d;g+=m;let _=h.contentToPhysical(g),v=window.innerHeight,{top:y}=this.containerRect||this.ctx.containerElement.getBoundingClientRect();if(v>y&&c&&!a){let e=v-y-l;e>h.contentToPhysical(t.height+d)?_=e:h.contentToPhysical(g)>s&&(_=s)}else this.data.length&&a?_=a:this.data.length&&s&&h.contentToPhysical(g)>s&&(_=s);if(_>0){let{stageHeight:e,stagePhysicalHeight:t}=h.applyStageHeight(this.ctx.stageElement,_);this.ctx.stageHeight=e,this.ctx.stagePhysicalHeight=t}let b=this.ctx.stageHeight-t.height-d;i?this.visibleHeight=b-m:this.visibleHeight=b,this.data.length||(this.height=this.visibleHeight),this.ctx.body.x=this.x,this.ctx.body.y=this.y,this.ctx.body.width=this.width,this.ctx.body.height=this.height,this.ctx.body.visibleWidth=this.visibleWidth,this.ctx.body.visibleHeight=this.visibleHeight,this.ctx.body.data=f;let x=window.devicePixelRatio||1,S=this.ctx.stagePhysicalWidth*x,C=this.ctx.stagePhysicalHeight*x;e.width=Math.round(S),e.height=Math.round(C);let w=this.data.length?`not-empty`:`empty`;this.ctx.emit(`emptyChange`,{isEmpty:w,type:w,headerHeight:t.height,bodyHeight:this.height,footerHeight:m,width:this.width,height:this.data.length?0:o+m});let T=Math.round(e.width/x*1e4)/1e4,D=Math.round(e.height/x*1e4)/1e4;this.ctx.canvasElement.setAttribute(`style`,`height:${D}px;width:${T}px;`),this.ctx.paint.scale(x,this.ctx.zoomScale.value)}initTree(){this.ctx.on(`cellClick`,(e,t)=>{if(this.ctx.stageElement.style.cursor!==`pointer`||!e.isImageInside(`tree`,t))return;let{expand:n=!1,expandLazy:r=!1}=this.ctx.database.getRowForRowKey(e.rowKey)||{},{EXPAND_LAZY:i,EXPAND_LAZY_METHOD:a}=this.ctx.config;if(i&&a&&!n&&!r)typeof a==`function`&&(this.ctx.database.expandLoading(e.rowKey,!0),a({row:e.row,rowIndex:e.rowIndex,colIndex:e.colIndex,column:e.column,value:e.getValue()}).then(t=>{this.ctx.database.setExpandChildren(e.rowKey,t),this.ctx.database.expandLoading(e.rowKey,!1),this.ctx.emit(`expandChange`,this.ctx.database.getExpandRowKeys())}).catch(t=>{this.ctx.database.expandLoading(e.rowKey,!1),console.error(t)}));else{let t=this.ctx.database.getIsExpand(e.rowKey);this.ctx.database.expandItem(e.rowKey,!t),this.ctx.emit(`expandChange`,this.ctx.database.getExpandRowKeys())}})}initSelection(){this.ctx.on(`cellClick`,(e,t)=>{this.ctx.stageElement.style.cursor!==`pointer`||!e.isImageInside(`selection`,t)||!this.ctx.database.getRowSelectable(e.rowKey)||this.ctx.database.toggleRowSelection(e.rowKey,e.type)})}initResizeRow(){this.ctx.on(`resize`,()=>{this.ctx.config.ENABLE_RESIZE_ROW&&(this.containerRect=this.ctx.containerElement.getBoundingClientRect())}),this.ctx.on(`resizeObserver`,()=>{this.ctx.config.ENABLE_RESIZE_ROW&&(this.containerRect=this.ctx.containerElement.getBoundingClientRect())}),this.ctx.on(`mouseup`,()=>{this.ctx.config.ENABLE_RESIZE_ROW&&(this.isMouseDown=!1,this.resizeDiff!==0&&this.resizeTarget&&this.resizeRow(this.resizeTarget,this.resizeDiff),this.resizeTarget=null,this.resizeDiff=0,this.isResizing=!1,setTimeout(()=>{this.ctx.rowResizing=!1},0),this.clientY=0)}),this.ctx.on(`mousedown`,e=>{this.ctx.config.ENABLE_RESIZE_ROW&&this.ctx.isTarget(e)&&(this.clientY=e.clientY,this.resizeTarget?(this.isResizing=!0,this.ctx.rowResizing=!0):(this.isResizing=!1,this.ctx.rowResizing=!1),this.isMouseDown=!0)}),this.ctx.on(`mousemove`,e=>{if(!this.ctx.config.ENABLE_RESIZE_ROW||this.ctx.editing)return;let{offsetY:t,offsetX:n}=this.ctx.getOffset(e),r=t,i=n,a=e.clientY,{stageHeight:o,scrollY:s,config:{RESIZE_ROW_MIN_HEIGHT:c=0}}=this.ctx;if(this.isResizing&&this.resizeTarget){let e=this.resizeTarget.height,t=a-this.clientY,{calculatedHeight:n}=this.resizeTarget,r=n===-1?c:n;t+e<r&&(t=-(e-r)),this.resizeDiff=t,this.ctx.emit(`draw`)}else{if(this.resizeTarget=null,this.isMouseDown)return;if(i<0||i>this.ctx.body.visibleWidth||r<0||r>this.ctx.header.visibleHeight+this.ctx.body.visibleHeight){this.ctx.stageElement.style.cursor===`row-resize`&&(this.ctx.stageElement.style.cursor=`default`);return}if(this.ctx.stageElement.style.cursor===`crosshair`)return;this.ctx.stageElement.style.cursor===`row-resize`&&(this.ctx.stageElement.style.cursor=`default`);for(let e=0;e<this.renderRows.length;e++){let t=this.renderRows[e];if(r>t.y-s+t.height-1.5&&r<t.y-s+t.height+1.5&&r<o-4)for(let e=0;e<t.cells.length;e++){let n=t.cells[e];i>n.drawX+10&&i<n.drawX+n.width-10&&n.rowspan===1&&(this.ctx.stageElement.style.cursor=`row-resize`,this.resizeTarget=t)}}}})}initDragRow(){this.ctx.on(`cellMousedown`,(e,t)=>{this.ctx.config.ENABLE_DRAG_ROW&&e.isImageInside(`drag`,t)&&(this.dragSource=e,this.ctx.database.expandItem(e.rowKey,!1),this.ctx.dragRowIng=!0,this.dragRowDiff=this.ctx.mouseY-e.drawY,this.ctx.stageElement.style.cursor=`grabbing`,this.ctx.clearSelector(),this.ctx.emit(`dragRowMouseDown`,e),this.ctx.emit(`draw`))}),this.ctx.on(`mouseup`,async()=>{if(this.ctx.dragRowIng){if(this.dragSource&&this.dragTarget&&this.ctx.stageElement.style.cursor!==`not-allowed`){let e=this.dragSource,t=this.dragTarget,n={source:e,target:t,position:this.dragPosition};this.ctx.emit(`dragRowChange`,n);let r=!0,{BEFORE_DRAG_ROW_METHOD:i}=this.ctx.config;if(typeof i==`function`&&(r=await i(n)),r&&!this.ctx.config.ENABLE_DRAG_ROW_CUSTOM){let n=this.ctx.database.getOriginalData(),{TREE_CHILDREN_KEY:r,ROW_KEY:i}=this.ctx.config,a=new B(n,{key:i,childrenKey:r});a.treeMove(e.rowKey,t.rowKey,this.dragPosition),this.ctx.emit(`loadData`,a.getTree())}}this.dragTarget||(this.ctx.stageElement.style.cursor=`grab`),this.ctx.dragRowIng=!1,this.dragSource=null,this.dragTarget=null,this.dragPosition=`after`,this.dragRowDiff=0,this.ctx.emit(`draw`)}}),this.ctx.on(`mousemove`,e=>{if(!this.ctx.dragRowIng)return;let{offsetY:t}=this.ctx.getOffset(e),{drawY:n}=this.dragTarget;n<t||n>t?this.ctx.startAdjustPosition(e):this.ctx.stopAdjustPosition()}),this.ctx.on(`cellMouseenter`,e=>{if(!this.ctx.dragRowIng)return;this.dragTarget=e;let{ENABLE_DRAG_ROW_CROSS_LEVEL:t}=this.ctx.config,n=this.dragSource,r=this.dragTarget;if(!t&&n&&r&&n.parentRowKey!==r.parentRowKey){this.ctx.stageElement.style.cursor=`not-allowed`;return}this.ctx.stageElement.style.cursor=`grabbing`,this.dragTarget=e;let{drawY:i,visibleHeight:a}=e,o=t?a/3:a/2;this.ctx.mouseY<=i+o?this.dragPosition=`before`:this.ctx.mouseY>i+a-o?this.dragPosition=`after`:this.dragPosition=`inside`;let s={dragSource:this.dragSource,dragTarget:this.dragTarget,dragPosition:this.dragPosition};this.ctx.emit(`dragRowMove`,s),this.ctx.emit(`draw`)})}resizeRow(e,t){let{rowIndex:n,height:r,rowKey:i,data:a}=e;this.ctx.database.setRowHeight(n,r+t),this.init(),this.ctx.emit(`draw`),this.ctx.emit(`resizeRowChange`,{rowIndex:n,oldHeight:r,height:r+t,rowKey:i,row:a,data:this.data})}drawTipLine(){if(this.isResizing&&this.resizeTarget){let{stageWidth:e,scrollY:t,config:{RESIZE_ROW_LINE_COLOR:n}}=this.ctx,r=this.resizeTarget.y-t+this.resizeTarget.height+this.resizeDiff-.5,i=[0,r-.5,e,r-.5];this.ctx.paint.drawLine(i,{borderColor:n,borderWidth:1})}}drawDragRowTip(){if(this.ctx.dragRowIng&&this.dragTarget&&this.dragSource){let{stageWidth:e,config:{DRAG_ROW_TIP_LINE_COLOR:t,DRAG_TIP_BG_COLOR:n}}=this.ctx,r=this.dragSource.visibleHeight;this.ctx.paint.drawRect(0,this.ctx.mouseY-this.dragRowDiff,this.visibleWidth,r,{fillColor:n,borderWidth:0,borderColor:`transparent`});let i=this.dragTarget.drawY,a=this.dragTarget.height,o=i;if([`before`,`after`].includes(this.dragPosition)){this.dragPosition===`after`&&(o=i+a);let n=[0,o-.5,e,o-.5];this.ctx.paint.drawLine(n,{borderColor:t,borderWidth:1.2})}[`inside`].includes(this.dragPosition)&&(o=i+a/2);let s=[0,o-4,6,o,0,o+4,0,o-4];this.ctx.paint.drawLine(s,{borderColor:t,borderWidth:1.2,fillColor:t})}}drawFixedShadow(){let{fixedLeftWidth:e,fixedRightWidth:t,scrollX:n,header:r,stageWidth:i,config:{HEADER_BG_COLOR:a}}=this.ctx,o=E(this.ctx.config);if(n>0&&e!==0&&!this.ctx.isEmpty&&this.ctx.paint.drawShadow(this.x,this.y,e,this.height,{fillColor:a,side:`right`,shadowWidth:4,colorStart:`rgba(0,0,0,0.1)`,colorEnd:`rgba(0,0,0,0)`}),n<Math.floor(r.width-i-1)&&t!==o&&!this.ctx.isEmpty){let e=r.width-(this.x+this.width)+i-t;this.ctx.paint.drawShadow(e,this.y,t,this.height,{fillColor:a,side:`left`,shadowWidth:4,colorStart:`rgba(0,0,0,0)`,colorEnd:`rgba(0,0,0,0.1)`})}}binarySearch(e,t){let n=0,r=e.length-1,i=-1;for(;n<=r;){let a=Math.floor((n+r)/2),o=e[a].bottom;if(o===t)return a;o<t?n=a+1:(i=a,r=a-1)}return i}update(){this.init();let{header:e,database:t,scrollY:n,config:{CELL_HEIGHT:r}}=this.ctx,i=n,{data:a,positions:o}=t.getData();this.ctx.maxRowIndex=a.length-1;let s=this.binarySearch(o,i),c=this.binarySearch(o,i+this.visibleHeight);if(c===-1&&(c=this.ctx.maxRowIndex),s===-1&&c===this.ctx.maxRowIndex){let e=Math.floor(this.visibleHeight/r);s=this.ctx.maxRowIndex-e}this.headIndex=Math.max(0,s),this.tailIndex=Math.min(this.ctx.maxRowIndex,c+1),this.visibleRows=a.slice(this.headIndex,this.tailIndex+1),this.ctx.body.headIndex=this.headIndex,this.ctx.body.tailIndex=this.tailIndex,this.ctx.body.visibleRows=this.visibleRows;let l=[];for(let t=0;t<this.visibleRows.length;t++){let n=this.headIndex+t,r=this.visibleRows[t],{height:i,top:a}=this.ctx.database.getPositionForRowIndex(n),o=new Ee(this.ctx,n,0,a+this.y,e.width,i,r);l.push(o)}this.renderRows=l,this.ctx.body.renderRows=l}updateAutoHeight(){let e=this.ctx.body.renderRows;if(!e.some(e=>e.calculatedHeightCells.length>0))return!1;e.forEach(e=>{e.updateCalculatedHeight()});let t=e.map(e=>({height:e.calculatedHeight,rowIndex:e.rowIndex}));return this.ctx.database.setBatchCalculatedRowHeight(t)}draw(){this.renderRows.forEach(e=>{e.drawContainer()}),this.renderRows.forEach(e=>{e.drawHorizontalBorder()}),this.renderRows.forEach(e=>{e.drawCenter()}),this.drawFixedShadow(),this.renderRows.forEach(e=>{e.drawFixedContainer()}),this.renderRows.forEach(e=>{e.drawFixedHorizontalBorder()}),this.renderRows.forEach(e=>{e.drawFixed()}),this.drawTipLine()}}class Oe{constructor(e){n(this,`ctx`),n(this,`renderRows`,[]),n(this,`data`,[]),n(this,`x`,0),n(this,`y`,0),n(this,`width`,0),n(this,`height`,0),n(this,`visibleWidth`,0),n(this,`visibleHeight`,0),this.ctx=e,this.init()}init(){this.data=this.ctx.database.getFooterData();let{header:e,body:t,config:{CELL_FOOTER_HEIGHT:n,FOOTER_FIXED:r,FOOTER_POSITION:i}}=this.ctx,a=E(this.ctx.config);this.width=e.width,this.visibleWidth=e.visibleWidth,this.height=this.data.reduce(e=>e+n,0),this.visibleHeight=this.height,r?i===`top`?this.y=this.ctx.header.height:this.y=this.ctx.stageHeight-this.height-a:this.y=t.y+t.height,this.ctx.footer.x=this.x,this.ctx.footer.y=this.y,this.ctx.footer.height=this.height,this.ctx.footer.width=this.width,this.ctx.footer.visibleWidth=this.visibleWidth,this.ctx.footer.visibleHeight=this.visibleHeight}drawFixedShadow(){let{fixedLeftWidth:e,fixedRightWidth:t,scrollX:n,header:r,stageWidth:i,config:{HEADER_BG_COLOR:a}}=this.ctx,o=E(this.ctx.config),s=this.y;if(this.ctx.config.FOOTER_FIXED||(s=this.y-this.ctx.scrollY),n>0&&e!==0&&this.ctx.paint.drawShadow(this.x,s,e,this.height,{fillColor:a,side:`right`,shadowWidth:4,colorStart:`rgba(0,0,0,0.1)`,colorEnd:`rgba(0,0,0,0)`}),n<Math.floor(r.width-i-1)&&t!==o){let e=r.width-(this.x+this.width)+i-t;this.ctx.paint.drawShadow(e,s,t,this.height,{fillColor:a,side:`left`,shadowWidth:4,colorStart:`rgba(0,0,0,0)`,colorEnd:`rgba(0,0,0,0.1)`})}}update(){this.init();let{CELL_FOOTER_HEIGHT:e}=this.ctx.config,t=this.y,n=[];this.data.forEach((r,i)=>{let a=new Ee(this.ctx,i,0,t,this.width,e,r,`footer`);t+=e,n.push(a)}),this.renderRows=n,this.ctx.footer.renderRows=this.renderRows}drawTopLine(){let{stageWidth:e,config:{BORDER_COLOR:t,BORDER:n}}=this.ctx;if(!F(n))return;let r=[0,this.y,e,this.y];this.ctx.paint.drawLine(r,{borderColor:t,borderWidth:1})}draw(){this.renderRows.forEach(e=>{e.drawContainer()}),this.renderRows.forEach(e=>{e.drawHorizontalBorder()}),this.renderRows.forEach(e=>{e.drawCenter()}),this.drawFixedShadow(),this.renderRows.forEach(e=>{e.drawFixedContainer()}),this.renderRows.forEach(e=>{e.drawFixedHorizontalBorder()}),this.renderRows.forEach(e=>{e.drawFixed()}),this.drawTopLine()}}class ke{constructor(e){n(this,`isCut`,!1),n(this,`isMultipleRow`,!1),n(this,`ctx`),this.ctx=e,this.init()}init(){this.ctx.on(`setMoveFocus`,e=>{this.moveFocus(e)}),this.ctx.on(`mousemove`,a(e=>{var t;(t=this.ctx.focusCellHeader)!=null&&t.fixed||!this.ctx.dragHeaderIng&&this.ctx.selectorMove&&this.ctx.startAdjustPosition(e)},100)),this.ctx.on(`cellHoverChange`,e=>{if(!this.ctx.autofillMove){if(e.operation){this.selectRows(e,!1);return}this.isMultipleRow||this.mouseenter()}}),this.ctx.on(`cellClick`,()=>{this.adjustBoundaryPosition()}),this.ctx.on(`cellMousedown`,(e,t)=>{if(!(!this.ctx.isTarget(t)||this.ctx.stageElement.style.cursor===`pointer`||this.ctx.stageElement.style.cursor===`crosshair`)){if(e.operation){this.isMultipleRow=!0,this.selectRows(e);return}window.getComputedStyle(t.target).userSelect!==`text`&&t.preventDefault(),this.isMultipleRow=!1,this.click(t.shiftKey),this.ctx.emit(`selectorClick`,e)}}),this.ctx.on(`mouseup`,()=>{this.ctx.selectorMove=!1,this.ctx.stopAdjustPosition(),setTimeout(()=>{this.ctx.disableHoverIconClick=!1},0)}),this.ctx.on(`cellHeaderHoverChange`,e=>{this.ctx.textSelecting||this.ctx.mousedown&&this.selectCols(e)}),this.ctx.on(`cellHoverChange`,e=>{this.ctx.textSelecting||this.ctx.mousedown&&this.selectCols(e)}),this.ctx.on(`cellHeaderMousedown`,(e,t)=>{this.ctx.stageElement.style.cursor!==`pointer`&&(window.getComputedStyle(t.target).userSelect!==`text`&&t.preventDefault(),this.ctx.clearSelector(),e.operation?this.selectAll():this.selectCols(e))}),this.ctx.on(`keydown`,e=>{if(!this.ctx.editing&&!this.ctx.finding){if(e.ctrlKey&&e.code===`KeyV`||e.metaKey&&e.code===`KeyV`){this.paste();return}if(e.ctrlKey&&e.code===`KeyC`||e.metaKey&&e.code===`KeyC`){this.copy(),this.isCut=!1;return}if(e.ctrlKey&&e.code===`KeyX`||e.metaKey&&e.code===`KeyX`){this.isCut=!0,this.copy();return}if((e.ctrlKey&&e.code===`KeyA`||e.metaKey&&e.code===`KeyA`)&&(e.preventDefault(),this.selectAll()),e.code===`ArrowLeft`||e.shiftKey&&e.code===`Tab`){e.preventDefault(),this.moveFocus(`LEFT`);return}if(e.code===`ArrowUp`){e.preventDefault(),this.moveFocus(`TOP`);return}if(e.code===`ArrowRight`||e.code===`Tab`){e.preventDefault(),this.moveFocus(`RIGHT`);return}if(e.code===`ArrowDown`){e.preventDefault(),this.moveFocus(`BOTTOM`);return}if(e.code===`Delete`||e.code===`Backspace`){e.preventDefault();let{xArr:t,yArr:n}=this.ctx.selector;this.clearSelectedData(t,n);return}}}),this.ctx.on(`contextMenuClearSelected`,()=>{let{xArr:e,yArr:t}=this.ctx.selector;this.clearSelectedData(e,t)}),this.ctx.on(`contextMenuCopy`,()=>{this.copy()}),this.ctx.on(`contextMenuPaste`,()=>{this.paste()}),this.ctx.on(`contextMenuCut`,()=>{this.isCut=!0,this.copy()}),this.ctx.on(`setSelectorCell`,e=>{this.ctx.setFocusCell(e),this.click(),this.adjustBoundaryPosition()}),this.ctx.on(`selectCols`,e=>{this.selectCols(e)})}setSelector(e,t){if(this.ctx.dragHeaderIng||this.ctx.dragRowIng)return;let{ENABLE_SELECTOR_SPAN_COL:n,ENABLE_SELECTOR_SPAN_ROW:r}=this.ctx.config,i=e,a=t;if(!r){let[e]=a;a=[e,e]}if(!n){let[e]=i;i=[e,e]}if(JSON.stringify(this.ctx.selector.xArr)!==JSON.stringify(i)||JSON.stringify(this.ctx.selector.yArr)!==JSON.stringify(a)){this.ctx.mousedown&&(this.ctx.selectorMove=!0,this.ctx.disableHoverIconClick=!0),this.ctx.selector.enable=!0;let{SELECTOR_AREA_MIN_X:e,SELECTOR_AREA_MAX_X:t,SELECTOR_AREA_MIN_Y:n,SELECTOR_AREA_MAX_Y:r,SELECTOR_AREA_MAX_X_OFFSET:o,SELECTOR_AREA_MAX_Y_OFFSET:s}=this.ctx.config,c=e,l=t||this.ctx.maxColIndex-o,u=n,d=r||this.ctx.maxRowIndex-s,[f,p]=i,[m,h]=a;if(f<c||p>l||m<u||h>d)return;if(this.ctx.config.ENABLE_MERGE_CELL_LINK){let e=this.adjustMergeCells(i,a);m=e.yArr[0],h=e.yArr[1],f=e.xArr[0],p=e.xArr[1],this.ctx.onlyMergeCell=e.onlyMergeCell}f===p&&m===h?this.ctx.selectOnlyOne=!0:this.ctx.selectOnlyOne=!1,i=[Math.max(c,f),Math.min(l,p)],a=[Math.max(u,m),Math.min(d,h)];let{BEFORE_SET_SELECTOR_METHOD:g}=this.ctx.config;if(typeof g==`function`){let e=g({focusCell:this.ctx.focusCell,xArr:i,yArr:a});if(!e)return;i=e.xArr,a=e.yArr}this.ctx.selector.xArr=i,this.ctx.selector.yArr=a,h===this.ctx.maxRowIndex&&m===0?this.ctx.selectColsIng=!0:this.ctx.selectColsIng=!1,p===this.ctx.maxColIndex&&f===0?this.ctx.selectRowsIng=!0:this.ctx.selectRowsIng=!1,this.ctx.emit(`setSelector`,this.ctx.selector),this.ctx.emit(`drawView`)}}adjustMergeCells(e,t){let[n,r]=t,[i,a]=e;if(r===this.ctx.maxRowIndex&&n===0||a===this.ctx.maxColIndex&&i===0)return{xArr:e,yArr:t,onlyMergeCell:!1};let o=[],s=[];for(let c=0;c<=t[1]-t[0];c++)for(let l=0;l<=e[1]-e[0];l++){let u=c+t[0],d=l+e[0],f=this.ctx.database.getVirtualBodyCell(u,d);f&&((u===n||u===r)&&o.push(f),(d===i||d===a)&&s.push(f))}let c=o.reduce((e,t)=>{let{yArr:n}=t.getSpanInfo(),[r,i]=n;return e.minY=Math.min(e.minY,r),e.maxY=Math.max(e.maxY,i),e},{minY:n,maxY:r}),l=s.reduce((e,t)=>{let{xArr:n}=t.getSpanInfo(),[r,i]=n;return e.minX=Math.min(e.minX,r),e.maxX=Math.max(e.maxX,i),e},{minX:i,maxX:a}),u=[l.minX,l.maxX],d=[c.minY,c.maxY],f=!1;if(l.minX!==l.maxX||c.minY!==c.maxY){let e=JSON.stringify(u)+JSON.stringify(d),t=this.ctx.focusCell?.getSpanInfo();f=(t&&JSON.stringify(t.xArr)+JSON.stringify(t.yArr))===e}return{xArr:u,yArr:d,onlyMergeCell:f}}selectCols(e){if(this.ctx.config.ENABLE_SELECTOR_SINGLE||!this.ctx.config.ENABLE_SELECTOR_ALL_ROWS||this.ctx.autofillMove||this.ctx.columnResizing||this.ctx.editing)return;let{SELECTOR_AREA_MIN_Y:t,SELECTOR_AREA_MAX_Y:n,SELECTOR_AREA_MAX_Y_OFFSET:r}=this.ctx.config,i=t,a=n||this.ctx.maxRowIndex-r;if(this.ctx.focusCellHeader){let{colIndex:t}=this.ctx.focusCellHeader;if(this.ctx.clearSelector(),this.ctx.mousedown&&e.colIndex>=t){let n=[t,e.colIndex+e.colspan-1],r=[i,a];this.setSelector(n,r)}else{let n=[e.colIndex,t+e.colspan-1],r=[i,a];this.setSelector(n,r)}}}selectAll(){if(this.ctx.autofillMove||this.ctx.editing)return;let{ENABLE_SELECTOR_ALL_ROWS:e,ENABLE_SELECTOR_ALL_COLS:t}=this.ctx.config;if(e&&t){let{SELECTOR_AREA_MIN_X:e,SELECTOR_AREA_MAX_X:t,SELECTOR_AREA_MIN_Y:n,SELECTOR_AREA_MAX_Y:r,SELECTOR_AREA_MAX_X_OFFSET:i,SELECTOR_AREA_MAX_Y_OFFSET:a}=this.ctx.config,o=e,s=t||this.ctx.maxColIndex-i,c=n,l=r||this.ctx.maxRowIndex-a,u=[o,s],d=[c,l];this.setSelector(u,d)}}selectRows(e,t=!0){if(this.ctx.config.ENABLE_SELECTOR_SINGLE||!this.ctx.config.ENABLE_SELECTOR_ALL_COLS||this.ctx.autofillMove||this.ctx.editing)return;let{SELECTOR_AREA_MIN_X:n,SELECTOR_AREA_MAX_X:r,SELECTOR_AREA_MAX_X_OFFSET:i}=this.ctx.config,a=r||this.ctx.maxColIndex-i,o=n;if(t){this.ctx.setFocusCell(e);let t=[o,a],n=[e.rowIndex,e.rowIndex];this.setSelector(t,n)}if(this.ctx.focusCell&&this.ctx.mousedown){let{rowIndex:t}=this.ctx.focusCell;if(e.rowIndex>=t){let n=[o,a],r=[t,e.rowIndex];this.setSelector(n,r)}else{let n=[o,a],r=[e.rowIndex,t];this.setSelector(n,r)}}}mouseenter(){if(this.ctx.config.ENABLE_SELECTOR_SINGLE||this.ctx.editing)return;let{mousedown:e,focusCell:t,hoverCell:n}=this.ctx;if(e&&t&&n){let{rowIndex:e,colIndex:r}=t,i=Math.min(n.colIndex,r),a=Math.max(n.colIndex,r),o=Math.min(n.rowIndex,e),s=Math.max(n.rowIndex,e),c=[i,a],l=[o,s];this.setSelector(c,l)}}click(e=!1){let{focusCell:t,clickCell:n}=this.ctx;if(t&&this.isInSettingRange(t.rowIndex,t.colIndex))if(this.ctx.selector.enable=!0,n&&e){if(this.ctx.config.ENABLE_SELECTOR_SINGLE)return;let{colIndex:e,rowIndex:r}=n,{colIndex:i,rowIndex:a}=t,o=Math.min(i,e),s=Math.max(i,e),c=Math.min(a,r),l=Math.max(a,r),u=[o,s],d=[c,l];this.setSelector(u,d)}else{this.ctx.emit(`cellSelectedClick`,t);let e=[t.colIndex,t.colIndex],n=[t.rowIndex,t.rowIndex];this.setSelector(e,n)}}clearCopyLine(){this.ctx.selector.xArrCopy=[-1,-1],this.ctx.selector.yArrCopy=[-1,-1]}getCell(e,t){return this.ctx.body.renderRows.find(t=>t.rowIndex===e)?.cells.find(e=>e.colIndex===t)}copy(){if(!this.ctx.config.ENABLE_COPY||this.ctx.domSelectionStr||this.ctx.textSelectionStr)return;let{value:e,xArr:t,yArr:n}=this.ctx.getSelectedData();if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.database.hasMergeCell(t,n))if(this.ctx.onlyMergeCell&&this.ctx.focusCell){let r=this.ctx.focusCell;e=[[r.getValue()]],t=[r.colIndex,r.colIndex],n=[r.rowIndex,r.rowIndex]}else{let e={code:`ERR_MERGED_CELLS_COPY`,message:this.ctx.locale.getText(`mergeCellNoCopy`)};this.ctx.hasEvent(`error`)?this.ctx.emit(`error`,e):console.error(e.message);return}let{BEFORE_COPY_METHOD:r}=this.ctx.config;if(typeof r==`function`){let i=r({focusCell:this.ctx.focusCell,data:e,xArr:t,yArr:n});if(!i)return;e=i.data}let i=h(e);navigator.clipboard?navigator.clipboard.writeText(i).then(()=>{this.ctx.selector.xArrCopy=this.ctx.selector.xArr.slice(),this.ctx.selector.yArrCopy=this.ctx.selector.yArr.slice(),this.ctx.emit(`copyChange`,{xArr:this.ctx.selector.xArrCopy,yArr:this.ctx.selector.yArrCopy,data:e}),this.ctx.emit(`draw`)}).catch(e=>console.error(`Copy Failure:`,e)):console.error(`current browser does not support the Clipboard API`)}clearSelectedData(e,t,n=!1,r=null){let i=[],a=new Set;for(let n=0;n<=t[1]-t[0];n++)for(let o=0;o<=e[1]-e[0];o++){let s=n+t[0],c=o+e[0],l=this.ctx.database.getItemValueForRowIndexAndColIndex(s,c);if(l){let{rowKey:e,key:t}=l;this.ctx.database.getReadonly(e,t)||(a.add(e),i.push({rowKey:e,key:t,value:r,row:{}}))}}if(!i.length)return[];if(n)return i;this.ctx.database.batchSetItemValue(i,!0);let o=[];return a.forEach(e=>{o.push(this.ctx.database.getRowDataItemForRowKey(e))}),this.ctx.emit(`clearSelectedDataChange`,i,o),i}paste(){if(!navigator.clipboard){console.error(`current browser does not support the Clipboard API`);return}let{ENABLE_PASTER:e}=this.ctx.config;if(this.ctx.selector.enable&&e){let e=this.ctx.selector.yArr[0],t=this.ctx.selector.xArr[0],n=new Set;navigator.clipboard.readText().then(async r=>{let i=m(r),a=[t,t+i[0].length-1],o=[e,e+i.length-1],[s,c]=o,[l,u]=a,d=c-this.ctx.maxRowIndex,f=u-this.ctx.maxColIndex;(d>0||f>0)&&this.ctx.emit(`onPastedDataOverflow`,{maxY:c,maxX:u,minY:s,minX:l,overflowRowCount:d,overflowColCount:f,textArr:i});let p=i.length===1&&i[0].length===1;if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.database.hasMergeCell(a,o)&&!p){let e={code:`ERR_MERGED_CELLS_PASTE`,message:this.ctx.locale.getText(`mergeCellNoPaste`),data:[]};this.ctx.hasEvent(`error`)?this.ctx.emit(`error`,e):console.error(e.message);return}let h=[];for(let r=0;r<=i.length-1;r++){let a=i[r].length;for(let o=0;o<=a-1;o++){let a=r+e,s=o+t,c=i[r][o],l=this.ctx.database.getItemValueForRowIndexAndColIndex(a,s);if(l){let{rowKey:e,key:t}=l;this.ctx.database.getReadonly(e,t)||(n.add(e),h.push({rowKey:e,key:t,value:c,row:{}}))}}}if(this.isCut){let e=this.clearSelectedData(this.ctx.selector.xArrCopy,this.ctx.selector.yArrCopy,!0),t=h.map(e=>`${e.rowKey}-${e.key}`);e.forEach(e=>{t.includes(`${e.rowKey}-${e.key}`)||h.unshift(e)}),this.isCut=!1}if(!h.length)return;let{BEFORE_PASTE_DATA_METHOD:g}=this.ctx.config;if(typeof g==`function`&&(h=await g(h.map(e=>({rowKey:e.rowKey,key:e.key,value:e.value,oldValue:this.ctx.database.getItemValue(e.rowKey,e.key),row:this.ctx.database.getRowDataItemForRowKey(e.rowKey)})),a,o,i),h&&!h.length))return;this.clearCopyLine(),this.ctx.batchSetItemValueByEditor(h,!0);let _=[];n.forEach(e=>{_.push(this.ctx.database.getRowDataItemForRowKey(e))}),this.ctx.emit(`pasteChange`,h,_),this.ctx.emit(`draw`)}).catch(e=>{console.error(`Failed to get the clipboard content:`,e)})}}moveFocus(e){if(this.ctx.editing)return;let{focusCell:t}=this.ctx;if(!t)return;let{colIndex:n=0,rowIndex:r=0}=t,i=this.ctx.maxColIndex,a=this.ctx.maxRowIndex;switch(e){case`LEFT`:n>0&&n--;break;case`TOP`:r>0&&r--;break;case`RIGHT`:n<i&&n++;break;case`BOTTOM`:r<a&&r++;break}let o=[n,n],s=[r,r],c=this.getCell(r,n);c&&(c.operation||this.isInSettingRange(c.rowIndex,c.colIndex)&&(this.ctx.setFocusCell(c),this.setSelector(o,s),this.adjustBoundaryPosition(),this.ctx.emit(`moveFocus`,c),this.ctx.emit(`draw`)))}isInSettingRange(e,t){let{SELECTOR_AREA_MIN_X:n,SELECTOR_AREA_MAX_X:r,SELECTOR_AREA_MIN_Y:i,SELECTOR_AREA_MAX_Y:a,SELECTOR_AREA_MAX_X_OFFSET:o,SELECTOR_AREA_MAX_Y_OFFSET:s}=this.ctx.config,c=n,l=r||this.ctx.maxColIndex-o,u=i,d=a||this.ctx.maxRowIndex-s;return!(t<c||t>l||e<u||e>d)}adjustBoundaryPosition(){let{stageHeight:e,stageWidth:t,focusCell:n,fixedRightWidth:r,fixedLeftWidth:i,header:a,footer:o,body:s,scrollX:c,scrollY:l,config:{FOOTER_FIXED:u,FOOTER_POSITION:d,ENABLE_MERGE_CELL_LINK:f}}=this.ctx,p=E(this.ctx.config);if(!n)return;f&&this.ctx.onlyMergeCell&&n.updateSpanInfo();let{drawX:m,drawY:h,width:g,height:_,fixed:v}=n,y=i-m+1,b=n.drawX+g-(t-r)+1,x=a.height-h,S=_;S>s.visibleHeight&&(S=s.visibleHeight);let C=0;u&&(d===`top`?x=a.height+o.height-h:C=o.visibleHeight);let w=h+S-(e-C-p),T=c,D=l;b>0&&!v?T=Math.floor(c+b):y>0&&!v&&(T=Math.floor(c-y)),x>0?D=Math.floor(l-x):w>0&&(D=Math.floor(l+w)),(Math.abs(c-T)>2.5||Math.abs(l-D)>2.5)&&this.ctx.setScroll(T,D)}destroy(){}}class Ae{constructor(e){n(this,`ctx`),n(this,`maxColRowCell`),this.ctx=e,this.init()}init(){this.ctx.on(`mousemove`,e=>{if(this.ctx.stageElement.style.cursor===`crosshair`&&(this.ctx.stageElement.style.cursor=`default`),this.ctx.editing||!this.ctx.focusCell||!this.maxColRowCell)return;let{offsetX:t,offsetY:n}=this.ctx.getOffset(e),{colIndex:r,rowIndex:i,drawX:a,drawY:o,width:s,height:c}=this.maxColRowCell,l=r===this.ctx.maxColIndex||i===this.ctx.maxRowIndex?0:2,u=a+s-6+l,d=o+c-6+l;t>u&&n>d&&t<u+6&&n<d+6&&(this.ctx.stageElement.style.cursor=`crosshair`),this.ctx.autofillMove&&this.ctx.startAdjustPosition(e)}),this.ctx.on(`cellMouseenter`,e=>{let{xArr:t,yArr:n}=this.ctx.selector,r=t[1],i=n[1],{colIndex:a,rowIndex:o}=e;this.ctx.config.ENABLE_AUTOFILL&&a===r&&o===i&&(this.maxColRowCell=e),this.mouseenter(e)}),this.ctx.on(`mousedown`,()=>{this.ctx.stageElement.style.cursor===`crosshair`&&this.setMousedown()}),this.ctx.on(`mouseup`,()=>{this.setMouseUp(),this.ctx.stopAdjustPosition()})}isAutofillIng(){let{xArr:e,yArr:t}=this.ctx.selector;return!(JSON.stringify(this.ctx.autofill.xArr)===JSON.stringify(e)&&JSON.stringify(this.ctx.autofill.yArr)===JSON.stringify(t))}setMousedown(){this.ctx.autofill.enable=!0,this.ctx.autofillMove=!0,this.ctx.disableHoverIconClick=!0}setMouseUp(){this.ctx.autofill.enable&&(this.isAutofillIng()&&this.autofillData(),this.ctx.autofill.enable=!1,this.ctx.autofillMove=!1,this.ctx.autofill.xArr=[-1,-1],this.ctx.autofill.yArr=[-1,-1],setTimeout(()=>{this.ctx.disableHoverIconClick=!1},0))}setAutofill(e,t){let{ENABLE_AUTOFILL:n,ENABLE_AUTOFILL_SPAN_COL:r,ENABLE_AUTOFILL_SPAN_ROW:i}=this.ctx.config;if(!n)return;let a=e,o=t,s=this.ctx.selector.xArr,c=this.ctx.selector.yArr;if(!(!i&&JSON.stringify(c)!==JSON.stringify(o))&&!(!r&&JSON.stringify(s)!==JSON.stringify(a))&&(JSON.stringify(this.ctx.autofill.xArr)!==JSON.stringify(a)||JSON.stringify(this.ctx.autofill.yArr)!==JSON.stringify(o))){let{SELECTOR_AREA_MIN_X:e,SELECTOR_AREA_MAX_X:t,SELECTOR_AREA_MIN_Y:n,SELECTOR_AREA_MAX_Y:r,SELECTOR_AREA_MAX_X_OFFSET:i,SELECTOR_AREA_MAX_Y_OFFSET:s}=this.ctx.config,c=e,l=t||this.ctx.maxColIndex-i,u=n,d=r||this.ctx.maxRowIndex-s,[f,p]=a,[m,h]=o;if(f<c||m<u)return;a=[Math.max(c,f),Math.min(l,p)],o=[Math.max(u,m),Math.min(d,h)];let{BEFORE_SET_AUTOFILL_METHOD:g}=this.ctx.config;if(typeof g==`function`){let e=g({focusCell:this.ctx.focusCell,xArr:a,yArr:o});if(!e)return;a=e.xArr,o=e.yArr}this.ctx.autofill.xArr=a,this.ctx.autofill.yArr=o,this.ctx.emit(`setAutofill`,this.ctx.autofill),this.ctx.emit(`draw`)}}async autofillData(){let e=new Set,t=this.ctx.getSelectedData(),n=new Map;for(let e=0;e<=t.yArr[1]-t.yArr[0];e++)for(let r=0;r<=t.xArr[1]-t.xArr[0];r++){let i=e+t.yArr[0],a=r+t.xArr[0];n.set(`${i}-${a}`,!0)}let{value:r}=t,i=r[0].length,a=r.length,o=this.ctx.autofill.xArr,s=this.ctx.autofill.yArr,c=i===1&&a===1;if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.database.hasMergeCell(o,s)&&!c){let e={code:`ERR_MERGED_CELLS_AUTOFILL`,message:this.ctx.locale.getText(`mergeCellNoFill`),data:[]};this.ctx.hasEvent(`error`)?this.ctx.emit(`error`,e):console.error(e.message);return}let l=[];for(let t=0;t<=s[1]-s[0];t++)for(let c=0;c<=o[1]-o[0];c++){let u=c+o[0],d=t+s[0],f=r[t%a][c%i],p=this.ctx.database.getItemValueForRowIndexAndColIndex(d,u),m=`${d}-${u}`;if(p&&!n.has(m)){let{rowKey:t,key:n}=p;this.ctx.database.getReadonly(t,n)||(e.add(t),l.push({rowKey:t,key:n,value:f,row:{}}))}}if(!l.length)return;this.ctx.selector.xArr=this.ctx.autofill.xArr,this.ctx.selector.yArr=this.ctx.autofill.yArr;let{BEFORE_AUTOFILL_DATA_METHOD:u}=this.ctx.config;if(typeof u==`function`&&(l=await u(l.map(e=>({rowKey:e.rowKey,key:e.key,value:e.value,oldValue:this.ctx.database.getItemValue(e.rowKey,e.key),row:this.ctx.database.getRowDataItemForRowKey(e.rowKey)})),o,s),l&&!l.length))return;this.ctx.batchSetItemValueByEditor(l,!0);let d=[];e.forEach(e=>{d.push(this.ctx.database.getRowDataItemForRowKey(e))}),this.ctx.emit(`autofillChange`,l,d),this.ctx.emit(`draw`)}mouseenter(e){if([`index`,`selection`,`index-selection`].includes(e.type))return;let{selector:t,autofill:n}=this.ctx;if(this.ctx.mousedown&&t.enable&&n.enable){let{rowIndex:n,colIndex:r}=e,i=t.xArr.slice(),a=t.yArr.slice();n>=t.yArr[0]&&n<=t.yArr[1]?r>t.xArr[1]?i.splice(1,1,r):r<t.xArr[0]&&i.splice(0,1,r):n>t.yArr[1]?a.splice(1,1,n):n<t.yArr[0]&&a.splice(0,1,n),this.setAutofill(i,a)}}destroy(){}}let H=Math.min,je=Math.max,Me=Math.round,Ne=Math.floor,U=e=>({x:e,y:e}),Pe={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Fe(e,t,n){return je(e,H(t,n))}function Ie(e,t){return typeof e==`function`?e(t):e}function Le(e){return e.split(`-`)[0]}function Re(e){return e.split(`-`)[1]}function ze(e){return e===`x`?`y`:`x`}function Be(e){return e===`y`?`height`:`width`}function Ve(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function He(e){return ze(Ve(e))}function Ue(e,t,n){n===void 0&&(n=!1);let r=Re(e),i=He(e),a=Be(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=W(o)),[o,W(o)]}function We(e){let t=W(e);return[Ge(e),t,Ge(t)]}function Ge(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}let Ke=[`left`,`right`],qe=[`right`,`left`],Je=[`top`,`bottom`],Ye=[`bottom`,`top`];function Xe(e,t,n){switch(e){case`top`:case`bottom`:return n?t?qe:Ke:t?Ke:qe;case`left`:case`right`:return t?Je:Ye;default:return[]}}function Ze(e,t,n,r){let i=Re(e),a=Xe(Le(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Ge)))),a}function W(e){let t=Le(e);return Pe[t]+e.slice(t.length)}function G(e){return{top:0,right:0,bottom:0,left:0,...e}}function Qe(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:G(e)}function $e(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function et(e,t,n){let{reference:r,floating:i}=e,a=Ve(t),o=He(t),s=Be(o),c=Le(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Re(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function tt(e,t){var n;t===void 0&&(t={});let{x:r,y:i,platform:a,rects:o,elements:s,strategy:c}=e,{boundary:l=`clippingAncestors`,rootBoundary:u=`viewport`,elementContext:d=`floating`,altBoundary:f=!1,padding:p=0}=Ie(t,e),m=Qe(p),h=s[f?d===`floating`?`reference`:`floating`:d],g=$e(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(h)))==null||n?h:h.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(s.floating)),boundary:l,rootBoundary:u,strategy:c})),_=d===`floating`?{x:r,y:i,width:o.floating.width,height:o.floating.height}:o.reference,v=await(a.getOffsetParent==null?void 0:a.getOffsetParent(s.floating)),y=await(a.isElement==null?void 0:a.isElement(v))&&await(a.getScale==null?void 0:a.getScale(v))||{x:1,y:1},b=$e(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:_,offsetParent:v,strategy:c}):_);return{top:(g.top-b.top+m.top)/y.y,bottom:(b.bottom-g.bottom+m.bottom)/y.y,left:(g.left-b.left+m.left)/y.x,right:(b.right-g.right+m.right)/y.x}}let nt=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:tt},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=et(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<50&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=et(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},rt=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Ie(e,t)||{};if(l==null)return{};let d=Qe(u),f={x:n,y:r},p=He(i),m=Be(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=H(d[_],T),D=H(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Fe(O,A,k),M=!c.arrow&&Re(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,ee=M?A<O?A-O:A-k:0;return{[p]:f[p]+ee,data:{[p]:j,centerOffset:A-j-ee,...M&&{alignmentOffset:ee}},reset:M}}}),it=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Ie(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Le(r),_=Ve(o),v=Le(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[W(o)]:We(o)),x=p!==`none`;!d&&x&&b.push(...Ze(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Ue(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Ve(t))||T.every(e=>Ve(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Ve(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},at=new Set([`left`,`top`]);async function ot(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Le(n),s=Re(n),c=Ve(n)===`y`,l=at.has(o)?-1:1,u=a&&c?-1:1,d=Ie(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}let st=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await ot(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},ct=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Ie(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Ve(Le(i)),p=ze(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Fe(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Fe(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}};function lt(){return typeof window<`u`}function ut(e){return ft(e)?(e.nodeName||``).toLowerCase():`#document`}function K(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function dt(e){return((ft(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ft(e){return lt()?e instanceof Node||e instanceof K(e).Node:!1}function pt(e){return lt()?e instanceof Element||e instanceof K(e).Element:!1}function mt(e){return lt()?e instanceof HTMLElement||e instanceof K(e).HTMLElement:!1}function ht(e){return!lt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof K(e).ShadowRoot}function gt(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Dt(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function _t(e){return/^(table|td|th)$/.test(ut(e))}function vt(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}let yt=/transform|translate|scale|rotate|perspective|filter/,bt=/paint|layout|strict|content/,xt=e=>!!e&&e!==`none`,St;function Ct(e){let t=pt(e)?Dt(e):e;return xt(t.transform)||xt(t.translate)||xt(t.scale)||xt(t.rotate)||xt(t.perspective)||!Tt()&&(xt(t.backdropFilter)||xt(t.filter))||yt.test(t.willChange||``)||bt.test(t.contain||``)}function wt(e){let t=kt(e);for(;mt(t)&&!Et(t);){if(Ct(t))return t;if(vt(t))return null;t=kt(t)}return null}function Tt(){return St??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),St}function Et(e){return/^(html|body|#document)$/.test(ut(e))}function Dt(e){return K(e).getComputedStyle(e)}function Ot(e){return pt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function kt(e){if(ut(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ht(e)&&e.host||dt(e);return ht(t)?t.host:t}function At(e){let t=kt(e);return Et(t)?e.ownerDocument?e.ownerDocument.body:e.body:mt(t)&>(t)?t:At(t)}function jt(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=At(e),i=r===e.ownerDocument?.body,a=K(r);if(i){let e=Mt(a);return t.concat(a,a.visualViewport||[],gt(r)?r:[],e&&n?jt(e):[])}else return t.concat(r,jt(r,[],n))}function Mt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Nt(e){let t=Dt(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=mt(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Me(n)!==a||Me(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Pt(e){return pt(e)?e:e.contextElement}function Ft(e){let t=Pt(e);if(!mt(t))return U(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Nt(t),o=(a?Me(n.width):n.width)/r,s=(a?Me(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}let It=U(0);function Lt(e){let t=K(e);return!Tt()||!t.visualViewport?It:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Rt(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==K(e)?!1:t}function zt(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Pt(e),o=U(1);t&&(r?pt(r)&&(o=Ft(r)):o=Ft(e));let s=Rt(a,n,r)?Lt(a):U(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=K(a),t=r&&pt(r)?K(r):r,n=e,i=Mt(n);for(;i&&r&&t!==n;){let e=Ft(i),t=i.getBoundingClientRect(),r=Dt(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=K(i),i=Mt(n)}}return $e({width:u,height:d,x:c,y:l})}function Bt(e,t){let n=Ot(e).scrollLeft;return t?t.left+n:zt(dt(e)).left+n}function Vt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Bt(e,n),y:n.top+t.scrollTop}}function Ht(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=dt(r),s=t?vt(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=U(1),u=U(0),d=mt(r);if((d||!d&&!a)&&((ut(r)!==`body`||gt(o))&&(c=Ot(r)),d)){let e=zt(r);l=Ft(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Vt(o,c):U(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Ut(e){return Array.from(e.getClientRects())}function Wt(e){let t=dt(e),n=Ot(e),r=e.ownerDocument.body,i=je(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=je(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Bt(e),s=-n.scrollTop;return Dt(r).direction===`rtl`&&(o+=je(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function Gt(e,t){let n=K(e),r=dt(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Tt();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Bt(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=25&&(a-=o)}else l<=25&&(a+=l);return{width:a,height:o,x:s,y:c}}function Kt(e,t){let n=zt(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=mt(e)?Ft(e):U(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function qt(e,t,n){let r;if(t===`viewport`)r=Gt(e,n);else if(t===`document`)r=Wt(dt(e));else if(pt(t))r=Kt(t,n);else{let n=Lt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return $e(r)}function Jt(e,t){let n=kt(e);return n===t||!pt(n)||Et(n)?!1:Dt(n).position===`fixed`||Jt(n,t)}function Yt(e,t){let n=t.get(e);if(n)return n;let r=jt(e,[],!1).filter(e=>pt(e)&&ut(e)!==`body`),i=null,a=Dt(e).position===`fixed`,o=a?kt(e):e;for(;pt(o)&&!Et(o);){let t=Dt(o),n=Ct(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||gt(o)&&!n&&Jt(e,o))?r=r.filter(e=>e!==o):i=t,o=kt(o)}return t.set(e,r),r}function Xt(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?vt(t)?[]:Yt(t,this._c):[].concat(n),r],o=qt(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=qt(t,a[e],i);s=je(n.top,s),c=H(n.right,c),l=H(n.bottom,l),u=je(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Zt(e){let{width:t,height:n}=Nt(e);return{width:t,height:n}}function Qt(e,t,n){let r=mt(t),i=dt(t),a=n===`fixed`,o=zt(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=U(0);function l(){c.x=Bt(i)}if(r||!r&&!a)if((ut(t)!==`body`||gt(i))&&(s=Ot(t)),r){let e=zt(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Vt(i,s):U(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function $t(e){return Dt(e).position===`static`}function en(e,t){if(!mt(e)||Dt(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return dt(e)===n&&(n=n.ownerDocument.body),n}function tn(e,t){let n=K(e);if(vt(e))return n;if(!mt(e)){let t=kt(e);for(;t&&!Et(t);){if(pt(t)&&!$t(t))return t;t=kt(t)}return n}let r=en(e,t);for(;r&&_t(r)&&$t(r);)r=en(r,t);return r&&Et(r)&&$t(r)&&!Ct(r)?n:r||wt(e)||n}let nn=async function(e){let t=this.getOffsetParent||tn,n=this.getDimensions,r=await n(e.floating);return{reference:Qt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function rn(e){return Dt(e).direction===`rtl`}let an={convertOffsetParentRelativeRectToViewportRelativeRect:Ht,getDocumentElement:dt,getClippingRect:Xt,getOffsetParent:tn,getElementRects:nn,getClientRects:Ut,getDimensions:Zt,getScale:Ft,isElement:pt,isRTL:rn};function q(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function on(e,t){let n=null,r,i=dt(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Ne(d),h=Ne(i.clientWidth-(u+f)),g=Ne(i.clientHeight-(d+p)),_=Ne(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:je(0,H(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!q(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function sn(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Pt(e),u=i||a?[...l?jt(l):[],...t?jt(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?on(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?zt(e):null;c&&g();function g(){let t=zt(e);h&&!q(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}let cn=st,ln=ct,un=it,dn=rt,fn=(e,t,n)=>{let r=new Map,i={platform:an,...n},a={...i.platform,_c:r};return nt(e,t,{...i,platform:a})},pn=class{constructor(e){n(this,`ctx`),n(this,`enable`,!1),n(this,`contentEl`),n(this,`floatingEl`),n(this,`arrowEl`),this.ctx=e;let{TOOLTIP_BG_COLOR:t,TOOLTIP_TEXT_COLOR:r,TOOLTIP_ZINDEX:i,TOOLTIP_CUSTOM_STYLE:a,CSS_PREFIX:o}=this.ctx.config;this.contentEl=document.createElement(`div`),this.arrowEl=document.createElement(`div`),this.floatingEl=document.createElement(`div`),this.floatingEl.className=`${o}-tooltip`,this.contentEl.className=`${o}-tooltip-content`,this.arrowEl.className=`${o}-tooltip-arrow`;let s={display:`none`,position:`absolute`,background:t,color:r,boxSizing:`border-box`,zIndex:i,padding:`8px`,borderRadius:`4px`,fontSize:`12px`,...a},c={position:`absolute`,width:`10px`,height:`10px`,background:s.background,backgroundColor:s.backgroundColor,transform:`rotate(45deg)`,zIndex:s.zIndex};Object.assign(this.arrowEl.style,c),Object.assign(this.floatingEl.style,s),this.floatingEl.appendChild(this.contentEl),this.floatingEl.appendChild(this.arrowEl),this.ctx.containerElement.appendChild(this.floatingEl),this.init()}init(){this.floatingEl.addEventListener(`mouseleave`,()=>{this.hide()}),this.ctx.on(`mouseout`,e=>{this.floatingEl.contains(e.relatedTarget)||this.hide()}),this.ctx.on(`onScroll`,()=>{this.hide()}),this.ctx.on(`startEdit`,()=>{this.hide()}),this.ctx.on(`visibleCellHoverChange`,(e,t)=>{this.floatingEl.contains(t.target)||(e.ellipsis||e.message)&&this.show(e)}),this.ctx.on(`visibleCellMouseleave`,(e,t)=>{this.floatingEl.contains(t.target)||this.hide()}),this.ctx.on(`cellHeaderMouseleave`,(e,t)=>{this.floatingEl.contains(t.target)||this.hide()}),this.ctx.on(`cellHeaderHoverChange`,(e,t)=>{this.floatingEl.contains(t.target)||e.ellipsis&&this.show(e)}),this.ctx.on(`cellFooterMouseleave`,(e,t)=>{this.floatingEl.contains(t.target)||this.hide()}),this.ctx.on(`cellFooterHoverChange`,(e,t)=>{this.floatingEl.contains(t.target)||e.ellipsis&&this.show(e)}),this.ctx.on(`cellShowTooltip`,(e,t)=>{this.show(e,t)}),this.ctx.on(`cellHideTooltip`,()=>{this.hide()})}show(e,t){if(this.ctx.contextMenuIng||!e.overflowTooltipShow||this.ctx.mousedown)return;this.floatingEl.style.display=`block`;let n=e.getText();e.message&&(n=e.message),t&&(n=t);let r=this.ctx.containerElement.getBoundingClientRect();if(!r)return;this.enable=!0,this.contentEl.style.maxWidth=`${e.overflowTooltipMaxWidth||500}px`,this.contentEl.style.minWidth=`100px`,this.contentEl.style.width=`100%`,this.contentEl.style.display=`inline-block`,this.contentEl.style.wordBreak=`break-all`,this.contentEl.style.lineHeight=`1.5`,this.contentEl.innerText=n;let i=this.ctx.zoomScale.getViewportRect({x:e.drawX,y:e.drawY,width:e.visibleWidth,height:e.visibleHeight},r);fn({getBoundingClientRect(){return i}},this.floatingEl,{placement:e.overflowTooltipPlacement,middleware:[ln(),un(),cn(6),dn({element:this.arrowEl})]}).then(e=>{let{x:t,y:n,placement:r,middlewareData:i}=e;if(Object.assign(this.floatingEl.style,{top:`${n}px`,left:`${t}px`}),i.arrow){let e=i.arrow;[`left`,`left-start`,`left-end`].includes(r)?Object.assign(this.arrowEl.style,{top:`${e.y}px`,bottom:``,left:``,right:`-5px`}):[`right`,`right-start`,`right-end`].includes(r)?Object.assign(this.arrowEl.style,{top:`${e.y}px`,bottom:``,left:`-5px`,right:``}):[`bottom`,`bottom-start`,`bottom-end`].includes(r)?Object.assign(this.arrowEl.style,{top:`-5px`,bottom:``,left:`${e.x}px`,right:``}):[`top`,`top-start`,`top-end`].includes(r)&&Object.assign(this.arrowEl.style,{top:``,bottom:`-5px`,left:`${e.x}px`,right:``})}})}hide(){this.enable&&(this.enable=!1,this.floatingEl.style.display=`none`)}destroy(){this.contentEl.remove(),this.arrowEl.remove(),this.floatingEl.remove()}};class mn{constructor(e){n(this,`editorEl`),n(this,`inputEl`),n(this,`enable`,!1),n(this,`cellTarget`,null),n(this,`selectorArrStr`,``),n(this,`ctx`),n(this,`drawY`,0),n(this,`drawX`,0),n(this,`cancel`,!1),this.ctx=e,this.initTextEditor(),this.init()}init(){this.ctx.on(`outsideMousedown`,()=>{this.cellTarget&&this.cellTarget.editorType===`text`&&this.clearEditor()}),this.ctx.on(`moveFocus`,e=>{this.cellTarget=e,this.resetEditorStyle();let{xArr:t,yArr:n}=this.ctx.selector;this.selectorArrStr=JSON.stringify(t)+JSON.stringify(n),this.focusInput()}),this.ctx.on(`onScroll`,()=>{this.enable&&this.doneEdit()}),this.ctx.on(`hoverIconClick`,e=>{this.editCell(e.rowIndex,e.colIndex)}),this.ctx.on(`keydown`,e=>{if(!this.ctx.isTarget(e)||!this.ctx.focusCell||this.ctx.finding)return;let{focusCell:t}=this.ctx;if(e.code===`Escape`&&this.ctx.editing){this.cancel=!0;let{focusCell:e}=this.ctx;e&&(this.ctx.emit(`setSelectorCell`,e),this.cellTarget=e),this.doneEdit();return}if((e.altKey||e.metaKey)&&e.key===`Enter`&&this.ctx.editing&&this.inputEl){e.preventDefault();let t=this.inputEl.selectionStart,n=this.inputEl.value.substring(0,t),r=this.inputEl.value.substring(t);this.inputEl.value=n+`
|
|
16
|
+
`+r,this.inputEl.selectionStart=this.inputEl.selectionEnd=t+1,this.autoSize();return}if(e.code===`Tab`&&this.ctx.editing){if(e.preventDefault(),this.doneEdit(),e.shiftKey){this.ctx.emit(`setMoveFocus`,`LEFT`);return}this.ctx.emit(`setMoveFocus`,`RIGHT`);return}if(e.key===`Enter`&&this.ctx.editing){if(e.preventDefault(),this.doneEdit(),e.shiftKey){this.ctx.emit(`setMoveFocus`,`TOP`);return}this.ctx.emit(`setMoveFocus`,`BOTTOM`);return}if(e.key===`Enter`&&!this.ctx.editing){e.preventDefault(),this.startEdit();return}let n=e.key,r=e.ctrlKey,i=e.altKey,a=e.shiftKey,o=e.metaKey;if(!(r||i||a||o||`Enter.CapsLock.Escape.Tab.Backspace.Delete.ArrowUp.ArrowDown.ArrowLeft.ArrowRight.Home.End.PageUp.PageDown.Insert.F1.F2.F3.F4.F5.F6.F7.F8.F9.F10.F11.F12`.split(`.`).includes(n))){if(document.activeElement!==this.inputEl&&t.editorType===`text`){e.preventDefault();return}this.startEdit(!0)}}),this.ctx.on(`cellClick`,e=>{if(this.ctx.stageElement.style.cursor===`pointer`||!this.isInSelectorRange(e.rowIndex,e.colIndex))return;let{xArr:t,yArr:n}=this.ctx.selector,r=JSON.stringify(t)+JSON.stringify(n);if(this.focusInput(),this.selectorArrStr===r&&this.cellTarget){if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.onlyMergeCell){this.startEdit();return}if(this.ctx.selectOnlyOne&&e.rowKey===this.cellTarget.rowKey&&e.key===this.cellTarget.key){this.startEdit();return}}if(this.selectorArrStr=r,this.doneEdit(),this.cellTarget=e,this.resetEditorStyle(),this.ctx.config.ENABLE_EDIT_SINGLE_CLICK){if(this.ctx.config.ENABLE_MERGE_CELL_LINK&&this.ctx.onlyMergeCell){this.startEdit();return}this.ctx.selectOnlyOne&&this.startEdit()}})}isTextSelectionActive(){return this.ctx.config.ENABLE_TEXT_SELECTION&&(this.ctx.textSelecting||!!this.ctx.textSelectionStr)}isInSelectorRange(e,t){let{xArr:n,yArr:r}=this.ctx.selector,[i,a]=n,[o,s]=r;return!(t<i||t>a||e<o||e>s)}initTextEditor(){this.inputEl=document.createElement(`textarea`),this.inputEl.id=`e-virt-table-editor-textarea`,this.inputEl.setAttribute(`rows`,`1`),this.inputEl.setAttribute(`tabindex`,`-1`),this.inputEl.addEventListener(`input`,this.autoSize.bind(this)),this.editorEl=this.ctx.editorElement,this.inputEl.className=`e-virt-table-editor-textarea`,this.editorEl.appendChild(this.inputEl),this.ctx.containerElement.appendChild(this.editorEl)}autoSize(){if(!this.ctx.editing)return;let e=this.inputEl.value;if(this.cellTarget&&this.cellTarget.type===`number`&&e!==``&&(this.ctx.emit(`cellHideTooltip`),!/^-?\d+(\.\d+)?$/.test(e))){let e=this.ctx.locale.getText(`numberErrorTip`);this.ctx.emit(`cellShowTooltip`,this.cellTarget,e)}this.inputEl.style.height=`auto`;let t=this.inputEl.scrollHeight,n=this.ctx.toLogical(t),r=this.ctx.body.visibleHeight;n>r&&(t=this.ctx.toVisual(r));let{stageHeight:i,footer:a,header:o}=this.ctx,s=i-a.height-E(this.ctx.config);this.editorEl.style.bottom=`auto`,this.drawY<o.height&&(this.editorEl.style.top=this.ctx.toVisualPx(o.height-1)),this.drawY+this.ctx.toLogical(t)>s&&(this.editorEl.style.left=this.ctx.toVisualPx(this.drawX-1),this.editorEl.style.top=`auto`,this.editorEl.style.bottom=this.ctx.toVisualPx(i-s)),this.inputEl.style.height=`${t}px`}startEditByInput(e,t=!1){let n=t?null:e.getValue(),{editorType:r}=e;if(r===`none`)return;e.update(),this.ctx.config.ENABLE_MERGE_CELL_LINK&&e.updateSpanInfo();let{height:i,width:a,drawY:o,drawX:s}=e;this.drawX=s,this.drawY=o;let{config:{CELL_PADDING:c},header:l}=this.ctx,u=this.ctx.body.visibleHeight;i>u&&(i=u);let d=this.ctx.toVisual(u);this.editorEl.style.zIndex=`100`,this.editorEl.style.left=this.ctx.toVisualPx(this.drawX-1),this.editorEl.style.top=this.ctx.toVisualPx(this.drawY),this.editorEl.style.bottom=`auto`,this.editorEl.style.maxWidth=`none`,this.editorEl.style.border=``,this.editorEl.style.maxHeight=`${d}px`,[`text`].includes(r)?(this.inputEl.style.opacity=`1`,this.inputEl.style.position=`relative`,this.inputEl.style.minWidth=this.ctx.toVisualPx(a-1),this.inputEl.style.minHeight=this.ctx.toVisualPx(i-1),this.inputEl.style.maxHeight=`${d}px`,this.inputEl.style.width=this.ctx.toVisualPx(a),this.inputEl.style.height=`auto`,this.inputEl.style.padding=this.ctx.toVisualPx(c),this.inputEl.value=``,n!==null&&(this.inputEl.value=n),(this.ctx.toLogical(this.inputEl.scrollHeight)>i||this.drawY<l.height)&&this.autoSize()):(this.inputEl.style.opacity=`0`,this.inputEl.style.width=`1px`,this.inputEl.style.height=`1px`,this.inputEl.style.position=`absolute`,this.inputEl.style.left=`0px`,this.inputEl.style.top=`0px`)}doneEditByInput(){if(this.cellTarget&&this.cellTarget.editorType===`text`){let{rowKey:e,key:t}=this.cellTarget,n=this.cellTarget.getValue(),r=this.inputEl.value;r!==n&&!(r===``&&n===null)&&!this.cancel&&this.ctx.setItemValueByEditor(e,t,r,!0)}}focusInput(){document.activeElement!==this.inputEl&&this.inputEl.focus({preventScroll:!0})}startEdit(e=!1){if(this.isTextSelectionActive())return;this.cancel=!1;let{ENABLE_EDIT_CLICK_SELECTOR:t}=this.ctx.config;if(!t)return;let n=this.ctx.focusCell;n&&(n.isVerticalVisible()&&n.isHorizontalVisible()||this.ctx.emit(`scrollToIndex`,n.rowIndex,n.colIndex),this.editCell(n.rowIndex,n.colIndex,e))}editCell(e,t,n=!1){let r=this.ctx.body.renderRows.find(t=>t.rowIndex===e);if(!r)return;let i=r.cells.find(e=>e.colIndex===t);if(!i||!(i.isVerticalVisible()&&i.isHorizontalVisible()))return;this.ctx.emit(`setSelectorCell`,i);let a=this.ctx.focusCell;if(!a||[`index`,`index-selection`,`selection`].includes(a.type)||this.enable)return;let{rowKey:o,key:s}=a,c=this.ctx.database.getReadonly(o,s);a&&!c&&(this.enable=!0,this.ctx.editing=!0,this.cellTarget=a,this.startEditByInput(this.cellTarget,n),this.ctx.emit(`startEdit`,this.cellTarget),this.ctx.emit(`draw`))}doneEdit(){this.enable&&(this.doneEditByInput(),this.ctx.emit(`cellHideTooltip`),this.ctx.emit(`doneEdit`,this.cellTarget),this.enable=!1,this.ctx.editing=!1,this.resetEditorStyle(),setTimeout(()=>{this.focusInput()},0),this.ctx.emit(`draw`))}resetEditorStyle(){let e=this.cellTarget;e&&(this.editorEl.style.left=this.ctx.toVisualPx(e.drawX),this.editorEl.style.top=this.ctx.toVisualPx(e.drawY),this.editorEl.style.maxWidth=`1px`,this.editorEl.style.maxHeight=`1px`,this.editorEl.style.zIndex=`-1`,this.editorEl.style.border=`none`)}clearEditor(){this.doneEdit(),this.cellTarget=null,this.selectorArrStr=``,this.ctx.clearSelector(),this.ctx.focusCell=void 0,this.inputEl.blur(),this.ctx.emit(`draw`)}destroy(){var e;(e=this.editorEl)==null||e.remove()}}let hn=class{constructor(e){n(this,`ctx`),n(this,`emptyEl`),this.ctx=e;let{EMPTY_CUSTOM_STYLE:t}=this.ctx.config;this.ctx.emptyElement?this.emptyEl=this.ctx.emptyElement:(this.emptyEl=document.createElement(`div`),this.emptyEl.innerText=this.getText()),this.emptyEl.className=`e-virt-table-empty`,this.emptyEl.style.display=`none`,this.ctx.containerElement.appendChild(this.emptyEl),this.ctx.on(`emptyChange`,({type:e,headerHeight:n,bodyHeight:r,footerHeight:i})=>{let a=n+(r+i)/2,o={display:e===`empty`?`block`:`none`,top:this.ctx.toVisualPx(a),...t};Object.assign(this.emptyEl.style,o)})}getText(){return this.ctx.config.EMPTY_TEXT||this.ctx.locale.getText(`emptyText`)}draw(){this.ctx.emptyElement||(this.emptyEl.innerText=this.getText())}destroy(){this.emptyEl.remove()}};class gn{constructor(e){n(this,`ctx`),n(this,`observer`),this.ctx=e,this.init()}arerMapsEqual(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||t.get(n)!==r)return!1;return!0}init(){this.observer=new MutationObserver(a(()=>{let e=this.ctx.overlayerElement.querySelectorAll(`[data-auto-height="true"]`),t=new Map;e.forEach(e=>{let n=Number(e.getAttribute(`data-row-index`)),r=Number(e.getAttribute(`data-col-index`));if(isNaN(n)||isNaN(r))return;let i=e.getBoundingClientRect(),a=`${n}_${r}`;t.set(a,this.ctx.zoomScale.domHeightToLogical(i.height))});let n=this.ctx.database.getOverlayerAutoHeightMap();if(!this.arerMapsEqual(n,t)){if(this.ctx.database.setOverlayerAutoHeightMap(t),n.size===0&&t.size===0)return;this.ctx.emit(`draw`)}},16.67)),this.observer.observe(this.ctx.overlayerElement,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),this.ctx.overlayerElement.getAttribute(`data-overlayer`)==="default"&&this.ctx.on(`overlayerChange`,e=>{let t=this.ctx.overlayerElement;t.replaceChildren(),Object.assign(t.style,e.style),e.views.forEach(e=>{let n=document.createElement(`div`);n.className=e.class,this.ctx.zoomScale.assignScaledStyle(n,e.style),e.views.forEach(e=>{let t=document.createElement(`div`);this.ctx.zoomScale.assignScaledStyle(t,e.style),e.cells.forEach(e=>{let n=this.ctx.zoomScale.createOverlayerCellElement(e,this.ctx.config.CSS_PREFIX);t.appendChild(n)}),n.appendChild(t)}),t.appendChild(n)})})}draw(){let e=this.getContainer();this.ctx.emit(`overlayerChange`,e)}destroy(){this.observer&&this.observer.disconnect(),this.ctx.emit(`overlayerChange`,{style:{},views:[]})}getContainer(){let e=this.getHeader(),t=this.getBody(),n=this.getFooter(),r=[],{FOOTER_FIXED:i,FOOTER_POSITION:a}=this.ctx.config;return r=i?a===`top`?[e,n,t]:[e,t,n]:[e,t],{views:r}}getHeader(){let{fixedLeftWidth:e,fixedRightWidth:t,config:{CSS_PREFIX:n}}=this.ctx,r=E(this.ctx.config),{visibleWidth:i,visibleHeight:a,renderCellHeaders:o}=this.ctx.header,s=[],c=[],l=[];o.forEach(e=>{e.render&&(e.fixed===`left`?c.push(e):e.fixed===`right`?l.push(e):s.push(e))});let u=t-r,d={key:`left`,style:{position:`absolute`,top:`0px`,left:`0px`,overflow:`hidden`,width:`${e}px`,height:`${a}px`},cells:c},f={key:`center`,style:{position:`absolute`,top:`0px`,left:`${e}px`,overflow:`hidden`,width:`${i-e-u+1}px`,height:`${a}px`},cells:s},p={key:`right`,style:{position:`absolute`,top:`0px`,right:`0px`,overflow:`hidden`,width:`${u+1}px`,height:`${a}px`},cells:l};return{type:`header`,class:`${n}-overlayer-header`,style:{position:`relative`,overflow:`hidden`,width:`${i}px`,height:`${a}px`},views:[d,f,p]}}getBody(){let e=[],t=[],n=[],r=this.ctx.body.renderRows;this.ctx.config.FOOTER_FIXED||(r=r.concat(this.ctx.footer.renderRows)),r.forEach(r=>{r.cells.forEach(r=>{r.cellType===`footer`&&(r.render=r.renderFooter),r.render&&(r.fixed===`left`?t.push(r):r.fixed===`right`?n.push(r):e.push(r))})});let{fixedLeftWidth:i,fixedRightWidth:a,config:{CSS_PREFIX:o}}=this.ctx,s=E(this.ctx.config),{visibleWidth:c,visibleHeight:l}=this.ctx.body,u=a-s,d={key:`left`,style:{position:`absolute`,top:`0.5px`,left:`0.5px`,overflow:`hidden`,width:`${i}px`,height:`${l}px`},cells:t},f={key:`center`,style:{position:`absolute`,top:`0.5px`,left:`${i-.5}px`,overflow:`hidden`,width:`${c-i-u}px`,height:`${l}px`},cells:e},p={key:`right`,style:{position:`absolute`,top:`0px`,right:`0px`,overflow:`hidden`,width:`${u}px`,height:`${l}px`},cells:n};return{type:`body`,class:`${o}-overlayer-body`,style:{position:`relative`,overflow:`hidden`,width:`${c}px`,height:`${l}px`},views:[d,f,p]}}getFooter(){let e=[],t=[],n=[];this.ctx.footer.renderRows.forEach(r=>{r.cells.forEach(r=>{r.cellType===`footer`&&r.renderFooter&&(r.render=r.renderFooter,r.fixed===`left`?t.push(r):r.fixed===`right`?n.push(r):e.push(r))})});let{fixedLeftWidth:r,fixedRightWidth:i,config:{CSS_PREFIX:a}}=this.ctx,o=E(this.ctx.config),{visibleWidth:s,visibleHeight:c}=this.ctx.footer,l=i-o,u={key:`left`,style:{position:`absolute`,top:`0.5px`,left:`0.5px`,overflow:`hidden`,width:`${r}px`,height:`${c}px`},cells:t},d={key:`center`,style:{position:`absolute`,top:`0.5px`,left:`${r-.5}px`,overflow:`hidden`,width:`${s-r-l}px`,height:`${c}px`},cells:e},f={key:`right`,style:{position:`absolute`,top:`0.5px`,right:`0.5px`,overflow:`hidden`,width:`${l}px`,height:`${c}px`},cells:n};return{type:`footer`,class:`${a}-overlayer-footer`,style:{position:`relative`,overflow:`hidden`,width:`${s}px`,height:`${c}px`},views:[u,d,f]}}}class _n{constructor(e,t=[],r={}){n(this,`container`),n(this,`menuData`),n(this,`onClick`),n(this,`activeSubmenus`,new Set),n(this,`boundMouseEnterHandler`),n(this,`boundMouseLeaveHandler`),n(this,`boundClickHandler`),this.container=e,this.menuData=t,this.onClick=r.onClick,this.boundMouseEnterHandler=e=>this.handleMouseEvent(e,`enter`),this.boundMouseLeaveHandler=e=>this.handleMouseEvent(e,`leave`),this.boundClickHandler=e=>this.handleClick(e),this.createMenu(),this.bindEvents()}createMenu(){this.container.className=`e-virt-table-main-menu`,this.container.style.display=`block`;let e=document.createDocumentFragment();this.menuData.forEach(t=>{e.appendChild(this.createMenuItem(t))}),this.container.appendChild(e)}createMenuItem(e,t=!1){var n;let r=this.createElement(`div`,t?`e-virt-table-submenu-item`:`e-virt-table-menu-item`);r.setAttribute(t?`data-submenu`:`data-menu`,e.value),e.disabled&&r.classList.add(`disabled`);let i=this.createElement(`div`,`e-virt-table-menu-item-content`);if(e.icon){let t=this.createElement(`span`,`e-virt-table-menu-item-icon`);t.innerHTML=e.icon,i.appendChild(t)}else i.classList.add(`menu-item-no-icon`);let a=this.createElement(`span`,`e-virt-table-menu-item-text`);if(a.textContent=e.label||``,i.appendChild(a),r.appendChild(i),(n=e.children)!=null&&n.length){let t=this.createElement(`span`,`e-virt-table-menu-arrow`);t.innerHTML=ue,r.appendChild(t);let n=this.createSubmenu(e.children);r._submenu=n,this.container.appendChild(n)}return r}createSubmenu(e){let t=this.createElement(`div`,`e-virt-table-submenu`);return e.forEach(e=>{t.appendChild(this.createMenuItem(e,!0))}),t}createElement(e,t=``){let n=document.createElement(e);return t&&(n.className=t),n}bindEvents(){this.container.addEventListener(`mouseenter`,this.boundMouseEnterHandler,!0),this.container.addEventListener(`mouseleave`,this.boundMouseLeaveHandler,!0),this.container.addEventListener(`click`,this.boundClickHandler)}handleMouseEvent(e,t){e.stopPropagation();let n=e.target.closest(`.e-virt-table-menu-item, .e-virt-table-submenu-item`);n&&(this.container.contains(n)||n.classList.contains(`e-virt-table-submenu-item`))&&(t===`enter`?this.handleHover(n):this.handleLeave(n))}handleHover(e){e.classList.contains(`e-virt-table-menu-item`)&&(this.container.querySelectorAll(`.e-virt-table-menu-item`).forEach(e=>e.classList.remove(`active`)),e.classList.contains(`disabled`)||e.classList.add(`active`));let t=e._submenu||e.querySelector(`.e-virt-table-submenu`);t&&(this.hideSiblingSubmenus(e),this.showSubmenu(e,t))}handleLeave(e){let t=e._submenu||e.querySelector(`.e-virt-table-submenu`);setTimeout(()=>{let n=t;n&&!n.matches(`:hover`)&&!e.matches(`:hover`)&&(this.hideSubmenu(n),e.classList.contains(`e-virt-table-menu-item`)&&e.classList.remove(`active`))},150)}hideSiblingSubmenus(e){let t;if(e.classList.contains(`e-virt-table-menu-item`))t=this.container.querySelectorAll(`.e-virt-table-menu-item`);else{let n=e.closest(`.e-virt-table-submenu`);if(n)t=n.querySelectorAll(`.e-virt-table-submenu-item`);else return}t.forEach(t=>{t!==e&&t._submenu&&this.hideSubmenu(t._submenu)})}async showSubmenu(e,t){this.activeSubmenus.has(t)||(this.activeSubmenus.add(t),t.classList.add(`show`),t._cleanup=sn(e,t,async()=>{let n=this.container.getBoundingClientRect(),r=window.innerWidth,i=t.offsetWidth||200,a=r-n.right,o=n.left,{x:s,y:c}=await fn(e,t,{placement:a>=i||a>=o?`right-start`:`left-start`,middleware:[cn(8),ln({padding:8})]});Object.assign(t.style,{left:`${s}px`,top:`${c}px`})}))}hideSubmenu(e){if(!this.activeSubmenus.has(e))return;this.activeSubmenus.delete(e),e.classList.remove(`show`),this.hideAllChildSubmenus(e);let t=e;t._cleanup&&(t._cleanup(),delete t._cleanup)}hideAllChildSubmenus(e){e.querySelectorAll(`.e-virt-table-submenu-item`).forEach(e=>{if(e._submenu){let t=e._submenu;if(this.activeSubmenus.has(t)){this.activeSubmenus.delete(t),t.classList.remove(`show`);let e=t;e._cleanup&&(e._cleanup(),delete e._cleanup),this.hideAllChildSubmenus(t)}}})}handleClick(e){e.stopPropagation();let t=e.target.closest(`.e-virt-table-menu-item, .e-virt-table-submenu-item`);if(!t||t.classList.contains(`disabled`))return;if(t.classList.contains(`e-virt-table-menu-item`)){let e=t._submenu||t.querySelector(`.e-virt-table-submenu`);if(e){this.showSubmenu(t,e);return}}let n=t.getAttribute(`data-menu`)||t?.getAttribute(`data-submenu`),r=this.findMenuItem(n||``);r&&this.onClick&&this.onClick(r,n||``)}findMenuItem(e,t=this.menuData){for(let n of t){if(n.value===e)return n;if(n.children){let t=this.findMenuItem(e,n.children);if(t)return t}}return null}positionMenu(e){let t={getBoundingClientRect:()=>({width:0,height:0,top:e.clientY,left:e.clientX,right:e.clientX,bottom:e.clientY,x:e.clientX,y:e.clientY}),contextElement:document.body};sn(t,this.container,()=>{fn(t,this.container,{placement:`right-start`,middleware:[cn(),ln(),un()]}).then(({x:e,y:t})=>{this.container&&Object.assign(this.container.style,{left:`${e}px`,top:`${t}px`})})})}destroy(){this.container.removeEventListener(`mouseenter`,this.boundMouseEnterHandler,!0),this.container.removeEventListener(`mouseleave`,this.boundMouseLeaveHandler,!0),this.container.removeEventListener(`click`,this.boundClickHandler),this.cleanupAllSubmenus(this.container),this.container.style.display=`none`,this.container.replaceChildren()}removeMenuItem(e){let t=this.container.querySelector(`[data-menu="${e}"]`);if(!t)return!1;let n=t.querySelector(`.e-virt-table-submenu`);return n&&this.cleanupSubmenuRecursively(n),t.remove(),!0}removeSubMenuItem(e){let t=this.container.querySelector(`[data-submenu="${e}"]`);if(!t)return!1;let n=t.closest(`.e-virt-table-submenu`),r=t._submenu;if(r&&this.cleanupSubmenuRecursively(r),t.remove(),n&&n.querySelectorAll(`.e-virt-table-submenu-item`).length===0){let e=this.container.querySelector(`[data-menu]`);if(e&&e._submenu===n)this.removeMenuItem(e.getAttribute(`data-menu`)||``);else{let e=this.container.querySelectorAll(`[data-menu], [data-submenu]`);for(let t of e)if(t._submenu===n){let e=t.getAttribute(`data-menu`)||t.getAttribute(`data-submenu`);e&&(t.hasAttribute(`data-menu`)?this.removeMenuItem(e):this.removeSubMenuItem(e));break}}}return!0}cleanupAllSubmenus(e){e.querySelectorAll(`.e-virt-table-menu-item`).forEach(e=>{e._submenu&&=(this.cleanupSubmenuRecursively(e._submenu),void 0)})}cleanupSubmenuRecursively(e){let t=e;t._cleanup&&(t._cleanup(),delete t._cleanup),e.querySelectorAll(`.e-virt-table-submenu-item`).forEach(e=>{e._submenu&&this.cleanupSubmenuRecursively(e._submenu)}),e.remove()}}class vn{constructor(e){n(this,`ctx`),n(this,`contextMenuEl`),n(this,`currentDOMTreeMenu`),n(this,`isCustom`,!1),this.ctx=e,this.ctx.contextMenuElement?(this.contextMenuEl=this.ctx.contextMenuElement,this.contextMenuEl.className=`e-virt-table-main-menu`,this.isCustom=!0):(this.contextMenuEl=document.createElement(`div`),this.isCustom=!1),this.ctx.containerElement.appendChild(this.contextMenuEl),this.init()}init(){this.ctx.on(`outsideMousedown`,()=>{this.hide()}),this.ctx.on(`cellContextMenuClick`,async(e,t)=>{if(this.isCustom){this.contextMenuEl.style.display=`block`,this.positionMenu(t);return}let{ENABLE_CONTEXT_MENU:n,CUSTOM_BODY_CONTEXT_MENU:r,CONTEXT_MENU:i,BEFORE_BODY_CONTEXT_MENU_METHOD:a}=this.ctx.config,o=i.map(e=>({...e,label:e.label||this.ctx.locale.getText(e.value)}));if(o=[...o,...r],a&&(o=await a({list:o,cell:e,hide:this.hide.bind(this)})),!n||o.length===0)return;t.preventDefault();let{xArr:s,yArr:c}=this.ctx.selector,[l,u]=s,[d,f]=c,{rowIndex:p,colIndex:m}=e;p>=d&&p<=f&&m>=l&&m<=u||this.ctx.emit(`setSelectorCell`,e,t),this.currentDOMTreeMenu&&this.currentDOMTreeMenu.destroy(),this.ctx.contextMenuIng=!0,this.currentDOMTreeMenu=new _n(this.contextMenuEl,o,{onClick:(n,r)=>{r===`copy`?(this.ctx.emit(`contextMenuCopy`),this.hide()):r===`paste`?(this.ctx.emit(`contextMenuPaste`),this.hide()):r===`cut`?(this.ctx.emit(`contextMenuCut`),this.hide()):r===`clearSelected`?(this.ctx.emit(`contextMenuClearSelected`),this.hide()):n.event&&n.event(t,{hide:this.hide.bind(this),cell:e})}}),this.currentDOMTreeMenu.positionMenu(t)}),this.ctx.on(`cellHeaderContextMenuClick`,async(e,t)=>{if(this.isCustom){this.contextMenuEl.style.display=`block`,this.positionMenu(t);return}let{SELECTOR_AREA_MIN_X:n,SELECTOR_AREA_MAX_X:r,SELECTOR_AREA_MAX_X_OFFSET:i,BEFORE_HEADER_CONTEXT_MENU_METHOD:a}=this.ctx.config,o=n,s=r||this.ctx.maxColIndex-i;if(e.colIndex<o||e.colIndex>s)return;let{HEADER_CONTEXT_MENU:c,CUSTOM_HEADER_CONTEXT_MENU:u,ENABLE_HEADER_CONTEXT_MENU:d}=this.ctx.config,f=c.map(e=>({...e,label:e.label||this.ctx.locale.getText(e.value)}));if(f=[...f,...u],a&&(f=await a({list:f,cell:e,hide:this.hide.bind(this)})),!d||f.length===0)return;t.preventDefault();let{xArr:p}=this.ctx.selector,[m,h]=p,{colIndex:g}=e;g>=m&&g<=h||(this.ctx.focusCellHeader=e,this.ctx.emit(`selectCols`,e)),this.currentDOMTreeMenu&&this.currentDOMTreeMenu.destroy();let _=this.ctx.database.getColumns(),v=f.map(e=>e.value===`visible`?{...e,children:this.filterColumns(_)}:e);this.ctx.contextMenuIng=!0,this.currentDOMTreeMenu=new _n(this.contextMenuEl,v,{onClick:(n,r)=>{let{xArr:i}=this.ctx.selector,[a,o]=i;if(r===`fixedLeft`||r===`fixedRight`||r===`fixedNone`){let e=this.ctx.header.allCellHeaders.filter(e=>e.colIndex>=a&&e.colIndex<=o).filter(e=>e.level===0).filter(e=>!e.column.fixedDisabled).map(e=>e.key);this.ctx.database.setCustomHeaderFixedData(e,r===`fixedLeft`?`left`:r===`fixedRight`?`right`:``),this.hide()}else if(r===`hide`){let e=this.ctx.header.leafCellHeaders.filter(e=>e.colIndex>=a&&e.colIndex<=o).filter(e=>!e.children.length).filter(e=>!e.column.hideDisabled).map(e=>e.key);e.length>0&&this.ctx.database.setCustomHeaderHideData(e,!0),this.hide()}else if(r!==`visible`)if(r.startsWith(`visible_`)){if(!n.key)return;if(n.children){let e=this.getLeafKeys(n.children);this.ctx.database.setCustomHeaderHideData(e,!1)}else this.ctx.database.setCustomHeaderHideData([n.key],!1);this.currentDOMTreeMenu&&this.currentDOMTreeMenu.removeSubMenuItem(r),l(this.ctx.database.getColumns()).filter(e=>e.hide).length===0&&this.hide()}else r===`resetHeader`?(this.ctx.database.resetCustomHeader(),this.hide()):n.event&&n.event(t,{hide:this.hide.bind(this),cell:e})}}),this.positionMenu(t)}),this.ctx.on(`click`,()=>{this.hide()}),this.ctx.on(`onScroll`,this.hide.bind(this)),this.ctx.on(`resize`,this.hide.bind(this))}positionMenu(e){let t={getBoundingClientRect:()=>({width:0,height:0,top:e.clientY,left:e.clientX,right:e.clientX,bottom:e.clientY,x:e.clientX,y:e.clientY}),contextElement:document.body};sn(t,this.contextMenuEl,()=>{fn(t,this.contextMenuEl,{placement:`right-start`,middleware:[cn(),ln(),un()]}).then(({x:e,y:t})=>{this.contextMenuEl&&Object.assign(this.contextMenuEl.style,{left:`${e}px`,top:`${t}px`})})})}filterColumns(e){let t=[];for(let n of e)if(n.children&&n.children.length>0){let e=this.filterColumns(n.children);e.length>0&&t.push({label:n.title,key:n.key,value:`visible_${n.key}`,children:e})}else n.hide&&t.push({label:n.title,value:`visible_${n.key}`,key:n.key});return t}getLeafKeys(e){return e.reduce((e,t)=>(!t.children||t.children.length===0?e.push(String(t.key)):e.push(...this.getLeafKeys(t.children)),e),[])}hide(){this.currentDOMTreeMenu&&=(this.currentDOMTreeMenu.destroy(),void 0),this.contextMenuEl.style.display=`none`,this.ctx.contextMenuIng=!1}destroy(){var e;this.hide(),(e=this.contextMenuEl)==null||e.remove()}}class yn{constructor(e){if(n(this,`ctx`),n(this,`loadingEl`),n(this,`textEl`,document.createElement(`p`)),this.ctx=e,this.ctx.loadingElement)this.loadingEl=this.ctx.loadingElement;else{this.loadingEl=document.createElement(`div`);let e=document.createElement(`div`);e.className=`e-virt-table-loading-spinner`;let t=this.ctx.icons.getSvg(`loading`);if(t){let n=new DOMParser().parseFromString(t.svg,`image/svg+xml`).documentElement;e.appendChild(n)}this.textEl.className=`e-virt-table-loading-text`,this.textEl.innerText=this.getText(),e.appendChild(this.textEl),this.loadingEl.appendChild(e)}this.loadingEl.className=`e-virt-table-loading`,this.loadingEl.style.display=`none`,this.ctx.containerElement.appendChild(this.loadingEl)}getText(){return this.ctx.config.LOADING_TEXT||this.ctx.locale.getText(`loadingText`)}show(){this.loadingEl.style.display=`flex`}hide(){this.loadingEl.style.display=`none`}draw(){this.ctx.loadingElement||(this.textEl.innerText=this.getText())}destroy(){this.loadingEl.remove()}}class bn{constructor(e){n(this,`ctx`),n(this,`container`),n(this,`input`),n(this,`prevBtn`),n(this,`nextBtn`),n(this,`closeBtn`),n(this,`countEl`),n(this,`loadingEl`),n(this,`isVisible`,!1),n(this,`searchResults`,[]),n(this,`currentIndex`,-1),n(this,`searchData`,[]),n(this,`isComposing`,!1),this.ctx=e,this.container=this.createContainer(),this.ctx.containerElement.appendChild(this.container),this.bindEvents(),this.ctx.on(`keydown`,e=>{if(this.ctx.config.ENABLE_FINDER&&!this.ctx.editing){if((e.ctrlKey||e.metaKey)&&e.code===`KeyF`){e.preventDefault(),this.show();return}if(this.ctx.finding){if(e.code===`Escape`){e.preventDefault(),this.hide();return}if(e.code===`ArrowUp`||e.shiftKey&&e.key===`Enter`){e.preventDefault(),this.navigatePrevious();return}if(e.code===`ArrowDown`||e.key===`Enter`){e.preventDefault(),this.navigateNext();return}}}}),this.ctx.on(`setSelector`,()=>{this.hide()}),this.ctx.on(`outsideMousedown`,()=>{this.hide()})}async initSearchData(){this.showLoading(),this.searchData=[],setTimeout(()=>{let{allCellHeaders:e}=this.ctx.header;for(let t=0;t<e.length;t++){let n=e[t];n&&[`string`,`number`].includes(typeof n.text)&&this.searchData.push({rowIndex:0,colIndex:n.colIndex,text:`${n.text}`,type:`header`,colKey:n.key})}let{maxColIndex:t,maxRowIndex:n}=this.ctx;for(let e=0;e<=n;e++)for(let n=0;n<=t;n++){let t=this.ctx.database.getVirtualBodyCell(e,n,!1)?.getText();[`string`,`number`].includes(typeof t)&&this.searchData.push({rowIndex:e,colIndex:n,text:`${t}`,type:`body`})}this.hideLoading()},0)}createContainer(){let e=document.createElement(`div`);e.className=`e-virt-table-finder-bar`;let t=document.createElement(`div`);t.className=`e-virt-table-finder-bar-input-wrapper`,this.input=document.createElement(`input`),this.input.type=`text`,this.input.className=`e-virt-table-finder-bar-input`,this.input.placeholder=``,t.appendChild(this.input),this.loadingEl=document.createElement(`div`),this.loadingEl.className=`e-virt-table-finder-bar-loading`,this.loadingEl.innerHTML=`<svg t="1724133395728" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2893" width="32" height="32"><path d="M512 226.8476541a19.82487759 19.82487759 0 0 1 14.66497778 5.70304692c3.80203107 3.82918865 5.70304692 8.71751457 5.70304693 14.66497779v122.20814825a19.82487759 19.82487759 0 0 1-5.70304693 14.66497778 19.82487759 19.82487759 0 0 1-14.66497778 5.70304691 19.82487759 19.82487759 0 0 1-14.66497778-5.70304691 19.82487759 19.82487759 0 0 1-5.70304693-14.66497778v-122.20814825a19.82487759 19.82487759 0 0 1 5.70304693-14.66497779 19.82487759 19.82487759 0 0 1 14.66497778-5.70304692z m0 407.36049415a19.82487759 19.82487759 0 0 1 14.66497778 5.70304691c3.80203107 3.82918865 5.70304692 8.71751457 5.70304693 14.66497778v122.20814827a19.82487759 19.82487759 0 0 1-5.70304693 14.66497776 19.82487759 19.82487759 0 0 1-14.66497778 5.70304693 19.82487759 19.82487759 0 0 1-14.66497778-5.70304693 19.82487759 19.82487759 0 0 1-5.70304693-14.66497776v-122.20814827a19.82487759 19.82487759 0 0 1 5.70304693-14.66497778 19.82487759 19.82487759 0 0 1 14.66497778-5.70304691zM797.1523459 512a19.82487759 19.82487759 0 0 1-5.70304692 14.66497778 19.82487759 19.82487759 0 0 1-14.66497779 5.70304693h-122.20814825a19.82487759 19.82487759 0 0 1-14.66497778-5.70304693 19.82487759 19.82487759 0 0 1-5.70304691-14.66497778 19.82487759 19.82487759 0 0 1 5.70304691-14.66497778 19.82487759 19.82487759 0 0 1 14.66497778-5.70304693h122.20814825a19.82487759 19.82487759 0 0 1 14.66497779 5.70304693c3.80203107 3.82918865 5.70304692 8.71751457 5.70304692 14.66497778z m-407.36049415 0a19.82487759 19.82487759 0 0 1-5.70304691 14.66497778 19.82487759 19.82487759 0 0 1-14.66497778 5.70304693h-122.20814827a19.82487759 19.82487759 0 0 1-14.66497776-5.70304693 19.82487759 19.82487759 0 0 1-5.70304693-14.66497778 19.82487759 19.82487759 0 0 1 5.70304693-14.66497778 19.82487759 19.82487759 0 0 1 14.66497776-5.70304693h122.20814827a19.82487759 19.82487759 0 0 1 14.66497778 5.70304693c3.80203107 3.82918865 5.70304692 8.71751457 5.70304691 14.66497778zM310.22076878 310.22076878a21.29137537 21.29137537 0 0 1 14.66497779-5.70304693c5.51294514 0 10.18401235 1.90101585 14.01320099 5.70304693l86.55052591 86.57768347a20.91117183 20.91117183 0 0 1 5.73020449 14.31193182 19.28172983 19.28172983 0 0 1-6.05609289 14.013201 19.11878565 19.11878565 0 0 1-14.013201 6.05609289 20.96548698 20.96548698 0 0 1-14.31193182-5.70304692L310.22076878 338.87178998a19.06447114 19.06447114 0 0 1-5.70304693-14.01320099c0-5.54010272 1.90101585-10.42842865 5.70304693-14.66497778z m288.32975775 288.32975775a19.79772001 19.79772001 0 0 1 14.3390894-6.35482371c5.29568642 0 10.04822572 2.11827457 14.31193182 6.38198066l86.57768347 86.55052651c3.80203107 3.80203107 5.70304692 8.47309828 5.70304691 14.01320102a19.55330372 19.55330372 0 0 1-6.05609225 14.31193182 19.66193339 19.66193339 0 0 1-14.31193245 6.05609288 19.01015661 19.01015661 0 0 1-14.01320099-5.70304692l-86.55052591-86.57768347a19.79772001 19.79772001 0 0 1-6.38198129-14.31193245c0-5.29568642 2.11827457-10.07538268 6.38198129-14.33908939zM713.77923122 310.22076878c3.80203107 4.26370672 5.70304692 9.15203265 5.70304693 14.66497779s-1.90101585 10.18401235-5.70304693 14.01320099l-86.57768347 86.55052591a20.91117183 20.91117183 0 0 1-14.31193182 5.73020449 19.28172983 19.28172983 0 0 1-14.013201-6.05609289 19.11878565 19.11878565 0 0 1-6.05609289-14.013201c0-5.29568642 1.90101585-10.07538268 5.70304692-14.31193182l86.57768348-86.57768347c3.80203107-3.80203107 8.50025585-5.70304692 14.01320099-5.70304693 5.54010272 0 10.40127108 1.90101585 14.66497779 5.70304693zM425.44947347 598.57768347a19.79772001 19.79772001 0 0 1 6.35482371 14.33908939c0 5.29568642-2.11827457 10.04822572-6.38198066 14.31193245L338.89894756 713.77923122a19.06447114 19.06447114 0 0 1-14.01320099 5.70304693 19.55330372 19.55330372 0 0 1-14.31193245-6.05609227 19.68909035 19.68909035 0 0 1-6.05609227-14.31193245 19.01015661 19.01015661 0 0 1 5.70304693-14.01320099l86.57768347-86.55052591a19.79772001 19.79772001 0 0 1 14.31193182-6.38198129c5.29568642 0 10.07538268 2.11827457 14.3390894 6.38198129z" fill="#000000" fill-opacity=".65" p-id="2894"></path></svg>
|
|
17
|
+
`,t.appendChild(this.loadingEl),this.countEl=document.createElement(`span`),this.countEl.className=`e-virt-table-finder-bar-count`;let n=document.createElement(`div`);return n.className=`e-virt-table-finder-bar-nav`,this.prevBtn=document.createElement(`button`),this.prevBtn.className=`e-virt-table-finder-bar-nav-btn prev-btn`,this.prevBtn.innerHTML=ue,this.nextBtn=document.createElement(`button`),this.nextBtn.className=`e-virt-table-finder-bar-nav-btn next-btn`,this.nextBtn.innerHTML=ue,n.appendChild(this.prevBtn),n.appendChild(this.nextBtn),this.closeBtn=document.createElement(`button`),this.closeBtn.className=`e-virt-table-finder-bar-nav-btn close-btn`,this.closeBtn.innerHTML=`×`,e.appendChild(t),e.appendChild(this.countEl),e.appendChild(n),e.appendChild(this.closeBtn),e}bindEvents(){this.input.addEventListener(`input`,()=>{this.isComposing||this.performSearch()}),this.input.addEventListener(`compositionstart`,()=>{this.isComposing=!0}),this.input.addEventListener(`compositionend`,()=>{this.isComposing=!1,this.performSearch()}),this.prevBtn.addEventListener(`click`,()=>{this.navigatePrevious()}),this.nextBtn.addEventListener(`click`,()=>{this.navigateNext()}),this.closeBtn.addEventListener(`click`,()=>{this.hide()})}performSearch(){let e=this.input.value.trim();if(this.searchResults=[],this.currentIndex=-1,!e){this.cearFinderBar(),this.updateCount();return}this.showLoading(),setTimeout(()=>{this.searchResults=this.searchData.filter(t=>t.text.toLowerCase().includes(e.toLowerCase())),this.searchResults.length>0?(this.currentIndex=0,this.scrollToCurrentResult()):this.cearFinderBar(),this.updateCount(),this.hideLoading()},0)}scrollToCurrentResult(){if(this.currentIndex<0||this.currentIndex>=this.searchResults.length)return;let e=this.searchResults[this.currentIndex];this.ctx.finderBar=e;let{rowIndex:t,colIndex:n}=e;this.ctx.emit(`scrollToIndex`,t,n)}navigateNext(){this.searchResults.length!==0&&(this.currentIndex=(this.currentIndex+1)%this.searchResults.length,this.scrollToCurrentResult(),this.updateCount())}navigatePrevious(){this.searchResults.length!==0&&(this.currentIndex=this.currentIndex<=0?this.searchResults.length-1:this.currentIndex-1,this.scrollToCurrentResult(),this.updateCount())}updateCount(){if(this.searchResults.length===0)this.input.value.trim()?(this.countEl.textContent=`0/0`,this.countEl.classList.add(`no-results`)):(this.countEl.textContent=``,this.countEl.classList.remove(`no-results`));else{let e=this.currentIndex+1,t=this.searchResults.length;this.countEl.textContent=`${e}/${t}`,this.countEl.classList.remove(`no-results`)}}show(){this.isVisible||(this.isVisible=!0,this.ctx.finding=!0,this.container.classList.add(`show`),this.input.focus(),this.initSearchData())}showLoading(){var e;this.loadingEl.classList.add(`show`),(e=this.loadingEl.parentElement)==null||e.classList.add(`loading`),this.input.readOnly=!0}hideLoading(){var e;this.loadingEl.classList.remove(`show`),(e=this.loadingEl.parentElement)==null||e.classList.remove(`loading`),this.input.readOnly=!1}cearFinderBar(){this.ctx.finderBar={rowIndex:-1,colIndex:-1,text:``,type:`header`},this.ctx.emit(`draw`)}hide(){this.isVisible&&(this.isVisible=!1,this.container.classList.remove(`show`),this.ctx.finding=!1,this.input.value=``,this.searchResults=[],this.searchData=[],this.currentIndex=-1,this.hideLoading(),this.ctx.finderBar={rowIndex:-1,colIndex:-1,text:``,type:`header`},this.updateCount(),this.ctx.emit(`draw`))}destroy(){this.hide(),this.container.remove()}}let xn=class e{constructor(e){n(this,`ctx`),n(this,`layouts`,new Map),n(this,`activeCellKey`,``),n(this,`selectionStart`,null),n(this,`selectionEnd`,null),n(this,`pending`,null),this.ctx=e,this.ctx.on(`registerTextLayout`,(e,t)=>this.layouts.set(e,t)),this.ctx.on(`mousedown`,e=>this.onMouseDown(e)),this.ctx.on(`mousemove`,e=>this.onMouseMove(e)),this.ctx.on(`mouseup`,()=>this.onMouseUp()),this.ctx.on(`cellHeaderHoverChange`,e=>this.yieldToColumnDrag(e)),this.ctx.on(`cellHoverChange`,()=>this.yieldToColumnDrag()),this.ctx.on(`keydown`,e=>this.onCopyKeydown(e)),this.ctx.on(`outsideMousedown`,()=>this.resetSelection())}get canSelect(){return this.ctx.config.ENABLE_TEXT_SELECTION&&!this.ctx.editing&&!this.ctx.finding}yieldToColumnDrag(e){let t=this.ctx.focusCellHeader;if(!(!this.ctx.textSelecting||!t)){if(e){let n=t.colIndex,r=t.colIndex+t.colspan-1,i=e.colIndex,a=e.colIndex+e.colspan-1;if(i>=n&&a<=r)return}this.resetSelection()}}onMouseDown(e){if(!this.canSelect||!this.ctx.isTarget(e))return;this.ctx.containerElement.contains(document.activeElement)||this.ctx.containerElement.focus({preventScroll:!0});let t=this.hitTest(e);if(!t){this.resetSelection();return}let{offsetX:n,offsetY:r}=this.ctx.getOffset(e);this.pending={cellKey:t.cellKey,index:t.index,startX:n,startY:r}}onMouseMove(e){if(!this.canSelect||(this.ctx.textSelecting||this.tryStartDrag(e),!this.ctx.textSelecting))return;let t=this.layouts.get(this.activeCellKey);if(!t)return;let{offsetX:n,offsetY:r}=this.ctx.getOffset(e),i=this.hitTestText(t,n,r);i!==null&&(this.selectionEnd=i,this.updateSelection())}tryStartDrag(t){if(!this.pending||!this.ctx.mousedown)return;let{offsetX:n,offsetY:r}=this.ctx.getOffset(t),i=Math.abs(n-this.pending.startX),a=Math.abs(r-this.pending.startY);if(i<e.DRAG_THRESHOLD&&a<e.DRAG_THRESHOLD)return;let o=this.hitTest(t);if(!o||o.cellKey!==this.pending.cellKey){this.pending=null;return}this.activeCellKey=this.pending.cellKey,this.selectionStart=this.pending.index,this.selectionEnd=o.index,this.pending=null,this.ctx.textSelecting=!0,this.updateSelection()}onMouseUp(){this.pending=null,this.ctx.textSelecting=!1,this.ctx.textSelectionStr=this.getSelectedText(),this.ctx.textSelectionStr&&this.ctx.emit(`drawView`)}onCopyKeydown(e){var t;if(!this.canSelect||!((e.ctrlKey||e.metaKey)&&e.code===`KeyC`))return;let n=this.getSelectedText();n&&(e.preventDefault(),(t=navigator.clipboard)==null||t.writeText(n).catch(e=>console.error(`Copy Failure:`,e)))}hitTest(e){let{offsetX:t,offsetY:n}=this.ctx.getOffset(e),r=null;for(let[e,i]of this.layouts){let a=this.hitTestText(i,t,n);a!==null&&(r={cellKey:e,index:a})}return r}updateSelection(){this.ctx.textSelectionStr=this.getSelectedText(),this.ctx.emit(`drawView`)}hitTestText(e,t,n){let{glyphs:r,contentY:i,lineHeight:a,lines:o}=e;if(!r.length)return null;let s=Math.floor((n-i)/a);if(s<0||s>=o.length)return null;let c=r.filter(e=>e.line===s);if(!c.length)return null;let l=i+s*a;if(n<l-2||n>=l+a+2)return null;let u=c[0],d=c[c.length-1];if(t<u.x-2||t>d.x+d.width+2)return null;if(t<=u.x)return u.index;for(let e of c)if(t<e.x+e.width/2)return e.index;return d.index+1}clearLayouts(){this.layouts.clear()}draw(){if(!this.ctx.config.ENABLE_TEXT_SELECTION)return;let e=this.getSelectionRange(),t=e&&this.layouts.get(this.activeCellKey);t&&this.drawTextSelection(t,e)}drawTextSelection(e,t,n=`#fff`,r=`#3b82f6`){if(t.start>=t.end)return;let i=new Map;for(let n of e.glyphs){if(n.index<t.start||n.index>=t.end)continue;let e=i.get(n.line)??[];e.push(n),i.set(n.line,e)}if(!i.size)return;let a=this.ctx.paint.getCtx();a.save(),a.font=e.font,a.textBaseline=`top`,a.textAlign=`left`,i.forEach(e=>{let t=e[0],i=e[e.length-1];a.fillStyle=r,a.fillRect(t.x,t.y-1,i.x+i.width-t.x,t.height),a.fillStyle=n;for(let t of e)a.fillText(t.char,t.x,t.y)}),a.restore()}getSelectionRange(){return this.selectionStart===null||this.selectionEnd===null?null:{start:Math.min(this.selectionStart,this.selectionEnd),end:Math.max(this.selectionStart,this.selectionEnd)}}getSelectedText(){let e=this.getSelectionRange(),t=e&&this.layouts.get(this.activeCellKey);return!t||e.start>=e.end?``:t.chars.slice(e.start,e.end).join(``)}resetSelection(){this.activeCellKey=``,this.selectionStart=null,this.selectionEnd=null,this.pending=null,this.ctx.textSelecting=!1,this.ctx.textSelectionStr=``,this.ctx.emit(`drawView`)}destroy(){this.layouts.clear(),this.resetSelection()}};n(xn,`DRAG_THRESHOLD`,4);let J=xn,Sn=class e{constructor(e,t){n(this,`options`),n(this,`scroller`),n(this,`header`),n(this,`body`),n(this,`footer`),n(this,`selector`),n(this,`autofill`),n(this,`tooltip`),n(this,`editor`),n(this,`empty`),n(this,`overlayer`),n(this,`contextMenu`),n(this,`loading`),n(this,`finderBar`),n(this,`textSelector`),n(this,`animationFrameId`),n(this,`ctx`),this.options=t;let{overlayerElement:r,editorElement:i,emptyElement:a,contextMenuElement:o}=this.options,s=this.createContainer(e,r,i,a,o);this.ctx=new Se(s,this.options),this.textSelector=new J(this.ctx),this.header=new V(this.ctx),this.footer=new Oe(this.ctx),this.body=new De(this.ctx),this.scroller=new Te(this.ctx),this.selector=new ke(this.ctx),this.autofill=new Ae(this.ctx),this.tooltip=new pn(this.ctx),this.empty=new hn(this.ctx),this.editor=new mn(this.ctx),this.overlayer=new gn(this.ctx),this.contextMenu=new vn(this.ctx),this.loading=new yn(this.ctx),this.finderBar=new bn(this.ctx),this.ctx.on(`loadData`,e=>{this.loadData(e)}),this.ctx.on(`draw`,()=>{this.draw()}),this.ctx.on(`drawView`,()=>{this.draw(!0)}),this.draw()}static useLocale(t){e.locale=t}createContainer(e,t,n,r,i){e.className=`e-virt-table-container`;let a=document.createElement(`div`),o=document.createElement(`canvas`),s=t||document.createElement(`div`);a.className=`e-virt-table-stage`,e.tabIndex=0,o.className=`e-virt-table-canvas`,s.className=`e-virt-table-overlayer`,s.setAttribute(`data-overlayer`,t?`custom`:`default`);let c=n||document.createElement(`div`);c.className=`e-virt-table-editor`;let l=r,u=i;return a.appendChild(o),a.appendChild(s),e.appendChild(a),{containerElement:e,stageElement:a,canvasElement:o,overlayerElement:s,editorElement:c,emptyElement:l,contextMenuElement:u}}doDraw(e=!1){this.updateStageBorder(),this.header.update(),this.body.update(),this.footer.update(),this.ctx.paint.clear(),this.textSelector.clearLayouts(),this.body.draw(),this.footer.draw(),this.header.draw(),this.textSelector.draw(),this.body.drawDragRowTip(),this.scroller.draw(),this.empty.draw(),this.loading.draw(),e||this.overlayer.draw()}updateStageBorder(){let{BORDER:e,BORDER_COLOR:t,BORDER_RADIUS:n}=this.ctx.config;this.ctx.stageElement.dataset.borderStyle=P(e),this.ctx.stageElement.style.borderColor=re(e)?t:`transparent`,this.ctx.stageElement.style.borderRadius=`${n}px`}draw(e=!1){this.animationFrameId&&cancelAnimationFrame(this.animationFrameId),this.animationFrameId=requestAnimationFrame(()=>{this.doDraw(e),this.body.updateAutoHeight()&&this.doDraw(e)})}loadConfig(e){this.ctx.config.init(e),this.ctx.database.init(!1),this.header.init(),this.ctx.emit(`draw`)}loadColumns(e){this.editor.doneEdit(),this.ctx.database.setColumns(e),this.header.init(),this.ctx.emit(`draw`)}loadData(e){this.editor.doneEdit(),this.ctx.database.setData(e),this.header.init(),this.tooltip.hide(),this.ctx.emit(`draw`)}loadFooterData(e){this.ctx.database.setFooterData(e),this.ctx.emit(`draw`)}setCustomHeader(e,t=!0){this.ctx.database.setCustomHeader(e,t),this.header.init(),this.ctx.emit(`draw`)}getCustomHeader(){return this.header.getCustomHeader()}showColumns(e,t=!0){this.ctx.database.setCustomHeaderHideData(e,!t),this.header.init(),this.ctx.emit(`draw`)}fixedColumns(e,t){this.ctx.database.setCustomHeaderFixedData(e,t),this.header.init(),this.ctx.emit(`draw`)}setLoading(e){this.ctx.loading=e,e?this.loading.show():this.loading.hide()}on(e,t){this.ctx.on(e,t)}emit(e,...t){this.ctx.emit(e,...t)}off(e,t){this.ctx.off(e,t)}filterMethod(e){this.ctx.database.setFilterMethod(e),this.ctx.database.init(!1),this.header.init(),this.ctx.emit(`draw`)}editCell(e,t){this.editor.editCell(e,t)}setItemValue(e,t,n,r=!0,i=!0,a=!1){this.ctx.database.setItemValue(e,t,n,r,i,a)}batchSetItemValue(e,t=!0){this.ctx.database.batchSetItemValue(e,t)}setItemValueByEditor(e,t,n,r=!0,i=!0){this.ctx.setItemValueByEditor(e,t,n,r,i),this.editor.doneEdit()}clearEditableData(e=null){let t=[0,this.ctx.maxColIndex],n=[0,this.ctx.maxRowIndex];return this.selector.clearSelectedData(t,n,!1,e)}clearEditor(){this.editor.clearEditor()}doLayout(){this.ctx.emit(`draw`)}setZoom(e){this.ctx.setZoom(e)}getZoom(){return this.ctx.getZoom()}getChangedData(){return this.ctx.database.getChangedData()}getChangedRows(){return this.ctx.database.getChangedRows()}setCurrentRowByRowIndex(e){this.ctx.currentCell=this.ctx.database.getVirtualBodyCell(e,0),this.ctx.emit(`draw`)}setCurrentRow(e){let t=this.ctx.database.getColumnByColIndex(0);t&&(this.ctx.currentCell=this.ctx.database.getVirtualBodyCellByKey(e,t.key),this.ctx.emit(`draw`))}getCurrentRow(){let e=this.ctx.currentCell;return e?{row:e.row,rowIndex:e.rowIndex,rowKey:e.rowKey}:void 0}clearValidate(){this.ctx.database.clearValidate(),this.ctx.emit(`draw`)}validateFields(e,t=!0){return new Promise(async(n,r)=>{let i=[];for(let t=0;t<e.length;t++){let{rowKey:n,key:r}=e[t],a=await this.ctx.database.getValidator(n,r);Array.isArray(a)&&a.length&&i.push(a)}if(i.length){if(r(i),t){let[e]=i;if(Array.isArray(e)&&e.length){let[t]=e,{rowKey:n,key:r}=t;this.scrollToRowkey(n),this.scrollToColkey(r)}}this.ctx.emit(`draw`)}else n([]),this.ctx.emit(`draw`)})}async validate(e=!0){return new Promise(async(t,n)=>{try{t(await this.getValidations())}catch(t){if(e&&Array.isArray(t)&&t.length){let[e]=t;if(Array.isArray(e)&&e.length){let[t]=e,{rowKey:n,key:r}=t,i=this.ctx.database.getRowForRowKey(n);if(i){let{parentRowKeys:e=[]}=i;e&&e.length&&this.setExpandRowKeys(e,!0)}this.scrollToRowkey(n),this.scrollToColkey(r)}}n(t)}})}setValidations(e){if(e.forEach(e=>{let{rowIndex:t,key:n,message:r,rowKey:i}=e;if(t!==void 0&&i===void 0){let e=this.ctx.database.getRowKeyForRowIndex(t);this.ctx.database.setValidationErrorByRowKey(e,n,r)}i&&this.ctx.database.setValidationErrorByRowKey(i,n,r)}),e&&Array.isArray(e)&&e.length){let[t]=e;if(t&&t.rowKey)this.scrollToRowkey(t.rowKey),this.scrollToColkey(t.key);else if(t&&t.rowIndex!==void 0&&t.rowIndex>=0&&t.key){let{rowIndex:e,key:n}=t;this.scrollToRowIndex(e),this.scrollToColkey(n)}}}getValidations(){return this.ctx.config.DISABLED?new Promise(e=>{e([])}):new Promise(async(e,t)=>{let n=this.ctx.database.getAllRowsData(),r=this.ctx.header.leafCellHeaders,i=[];for(let e=0;e<n.length;e++)for(let t=0;t<r.length;t++){let a=this.ctx.database.getRowKeyByItem(n[e]),o=r[t].key,s=await this.ctx.database.getValidator(a,o);Array.isArray(s)&&s.length&&i.push(s)}i.length?(t(i),this.ctx.emit(`draw`)):(e([]),this.ctx.emit(`draw`))})}hasValidationError(){return this.ctx.database.hasValidationError()}scrollTo(e,t){this.scroller.setScroll(e,t)}scrollXTo(e){this.scroller.setScrollX(e)}scrollToColkey(e){this.scroller.scrollToColkey(e)}scrollToRowkey(e){this.scroller.scrollToRowKey(e)}scrollToColIndex(e){this.scroller.scrollToColIndex(e)}scrollToRowIndex(e){this.scroller.scrollToRowIndex(e)}scrollYTo(e){this.scroller.setScrollY(e)}setExpandRowKeys(e,t=!0){this.ctx.database.setExpandRowKeys(e,t)}getExpandRowKeys(){return this.ctx.database.getExpandRowKeys()}clearSelection(){this.ctx.database.clearSelection(),this.ctx.emit(`draw`)}toggleRowSelection(e){let t=this.ctx.database.getRowKeyByItem(e);this.ctx.database.toggleRowSelection(t),this.ctx.emit(`draw`)}setSelectionByRows(e,t=!0){e.forEach(e=>{let n=this.ctx.database.getRowKeyByItem(e);this.ctx.database.setRowSelection(n,t,!1)}),this.ctx.emit(`selectionChange`,this.getSelectionRows()),this.ctx.emit(`draw`)}setSelectionByRowKeys(e,t=!0){e.forEach(e=>{this.ctx.database.setRowSelection(e,t,!1)}),this.ctx.emit(`selectionChange`,this.getSelectionRows()),this.ctx.emit(`draw`)}toggleAllSelection(){this.ctx.database.toggleAllSelection(),this.ctx.emit(`draw`)}toggleRowExpand(e,t){this.ctx.database.expandItem(e,t),this.ctx.emit(`draw`)}toggleExpandAll(e){this.ctx.database.expandAll(e),this.ctx.emit(`draw`)}getSelectionRows(){return this.ctx.database.getSelectionRows()}getPositionForRowIndex(e){return this.ctx.database.getPositionForRowIndex(e)}getCellValue(e,t){return this.ctx.database.getItemValue(e,t)}getCellValueByIndex(e,t){return this.ctx.database.getItemValueForRowIndexAndColIndex(e,t)}clearSort(){this.ctx.database.clearSort()}contextMenuHide(){this.contextMenu.hide()}getUtils(){return{mergeColCell:y,mergeRowCell:v,getSpanArrByRow:g,getSpanObjByColumn:_}}getColumnByKey(e){return this.ctx.database.getColumnByKey(e)?.column}clearChangeData(){this.ctx.database.clearChangeData(),this.ctx.emit(`draw`)}getReadonly(e,t){return this.ctx.database.getReadonly(e,t)}useLocale(e){this.ctx.locale.use(e)}destroy(){this.overlayer.destroy(),this.empty.destroy(),this.editor.destroy(),this.tooltip.destroy(),this.selector.destroy(),this.autofill.destroy(),this.contextMenu.destroy(),this.loading.destroy(),this.finderBar.destroy(),this.textSelector.destroy(),this.ctx.destroy(),this.ctx.containerElement.remove()}};n(Sn,`locale`);let Cn=Sn;return Cn}))}))(),1),Yi=(0,l.defineComponent)((e,{emit:t})=>{let{cellRender:n,renderTableParams:r}=e,{row:i,field:a}=r;if(a){let e=(0,l.ref)(i[a]);return()=>vi.renders[n.name]?.renderEdit?.(e,n,r,t)??null}else return()=>null},{name:`RenderEditCell`,props:[`cellRender`,`renderTableParams`],emits:[`blur`]}),Xi=[[`--evt-border-color`,`--p-border-color`,`#d9d9d9`],[`--evt-header-bg-color`,`--p-table-thead-bg-color`,`#f2f3f6`],[`--evt-body-bg-color`,`--p-table-row-bg-color`,`#fff`],[`--evt-stripe-color`,`--p-striped-bg-color`,`#f2f3f6`],[`--evt-highlight-hover-row-color`,`--p-table-row-hover-bg-color`,`#e6e7ea`],[`--evt-select-border-color`,`--p-primary-color`,`#4096ff`],[`--evt-sort-icon-color`,`--p-primary-color`,`#4096ff`],[`--evt-required-color`,`--p-danger-color`,`#f5222d`],[`--evt-error-tip-color`,`--p-danger-color`,`#f5222d`],[`--evt-error-tip-icon-color`,`--p-danger-color`,`#f5222d`],[`--evt-readonly-color`,`--p-table-row-bg-color`,`#fff`],[`--evt-scroller-track-color`,`--p-table-row-bg-color`,`#fff`]],Zi=[`--evt-checkbox-color`,`--evt-checkbox-uncheck-color`,`--evt-checkbox-disabled-color`,`--evt-checkbox-check-disabled-color`,`--evt-header-text-color`,`--evt-body-text-color`,`--evt-footer-text-color`,`--evt-readonly-text-color`,`--evt-editor-text-color`,`--evt-context-menu-text-color`,`--evt-header-font`,`--evt-body-font`],Qi={"--evt-scroller-color":`#dee0e3`,"--evt-scroller-focus-color":`#bbbec4`,"--evt-edit-bg-color":`#fcf6ed`,"--evt-footer-bg-color":`#fafafa`,"--evt-autofill-point-border-color":`#fff`,"--evt-editor-bg-color":`#fff`,"--evt-context-menu-bg-color":`#fff`,"--evt-context-menu-item-hover-bg-color":`#f5f5f5`},$i={"--evt-scroller-color":`#414243`,"--evt-scroller-track-color":`#141414`,"--evt-scroller-focus-color":`#a3a6ad`,"--evt-edit-bg-color":`#141414`,"--evt-footer-bg-color":`#262727`,"--evt-autofill-point-border-color":`#a3a6ad`,"--evt-editor-bg-color":`#434343`,"--evt-context-menu-bg-color":`#141414`,"--evt-context-menu-item-hover-bg-color":`#414243`};function ea(e=document.documentElement){return e.getAttribute(`theme-mode`)===`dark`||e.getAttribute(`data-theme`)===`dark`||e.classList.contains(`dark`)}function ta(e=document.documentElement){let t=getComputedStyle(e);for(let[n,r,i]of Xi){let a=t.getPropertyValue(r).trim()||i;e.style.setProperty(n,a)}let n=ea(e)?$i:Qi;for(let[t,r]of Object.entries(n))e.style.setProperty(t,r);for(let n of Zi){let r=t.getPropertyValue(n).trim().replace(/\s+/g,` `);r&&e.style.setProperty(n,r)}}function na(e){let t=()=>{ta();let t=e.getTable();t&&t.loadConfig(e.getConfig())},n=new MutationObserver(t);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[`theme-mode`,`class`,`data-theme`]}),t(),{sync:t,disconnect:()=>n.disconnect()}}var ra=(0,l.defineComponent)({__name:`PCanvasTable`,props:{columns:{},data:{},config:{default:()=>({})},footerData:{},loading:{type:Boolean}},emits:[`change`,`selectionChange`,`sortChange`,`ready`],setup(e,{expose:t,emit:n}){let r=n,i=(0,l.ref)([]),a=e,o=Kr(),s=(0,l.computed)(()=>({...a,config:{AUTO_ROW_HEIGHT:!0,DISABLED:!0,BORDER_RADIUS:4,...o,...a.config}})),c=null,u=null,d=(0,l.useAttrs)(),f=(0,l.ref)(null),p=(0,l.ref)(null),m=(0,l.ref)(null),h=(0,l.ref)(null),g=(0,l.ref)(),_=(0,l.ref)(`text`),v=(0,l.ref)(),y={},b={},x=(e=s.value.config)=>{let t=e?.BORDER_RADIUS??4,n=f.value?.querySelector?.(`.e-virt-table-stage`);n&&(n.style.borderRadius=`${t}px`)},S=(0,l.computed)(()=>{let e=g.value;return e?{width:`${e.width}px`,height:`${e.height}px`}:{}}),C=e=>ri[e]||(({cellValue:e})=>e),w=e=>vi.renders[e]?.renderDefault,T=(e,...t)=>({row:n,rowIndex:r,value:i})=>e({row:n,rowIndex:r,cellValue:i},...t),E=e=>{if(e.slots?.default&&(0,X.isFunction)(e.slots?.default))return t=>e.slots?.default?.({row:t.row,column:e,rowIndex:t.rowIndex});if(e.slots?.default&&(0,X.isString)(e.slots?.default))return`slot:${e.slots?.default}`;if(e.cellRender&&e.cellRender.name)return t=>w(e.cellRender.name)?.(e.cellRender,{data:a.data,row:t.row,rowIndex:t.rowIndex,field:e.field||t.column.key,title:t.column?.title??``},{})},D=e=>{if(e.slots?.title&&(0,X.isFunction)(e.slots?.title))return t=>e.slots?.title?.({column:e})},O=e=>(e.slots?.edit&&(e.field||e.key)&&(0,X.isFunction)(e.slots?.edit)?y[`__slot:${e.field||e.key}`]=e:e.editRender?.name&&(e.field||e.key)&&(b[e.field||e.key]=e.editRender),{...(0,X.omit)(e,[`formatter`]),key:e.key||e.field||Pr(),formatter:(0,X.isString)(e.formatter)?T(C(e.formatter)):(0,X.isArray)(e.formatter)&&(0,X.isString)(e.formatter[0])?T(C(e.formatter[0]),...e.formatter.slice(1)):(0,X.isFunction)(e.formatter)?T(e.formatter):void 0,editorType:e.editorType??(e.slots?.edit&&(e.field||e.key)&&(0,X.isFunction)(e.slots?.edit)?`__slot:${e.field||e.key}`:e.editRender?.name?e.editRender.name:void 0),render:E(e),renderHeader:D(e),children:e.children?.map(e=>O(e))});(0,l.onMounted)(()=>{f.value&&(ta(),c=new Ji.default(f.value,{config:s.value.config,columns:a.columns.map(e=>O(e)),data:a.data,footerData:a.footerData,emptyElement:m.value||void 0,overlayerElement:h.value||void 0,editorElement:p.value||void 0}),Object.keys(d).forEach(e=>{let t=d[e];if(typeof t==`function`&&e.startsWith(`on`)){let n=e.charAt(2).toLowerCase()+e.slice(3);c?.on(n,t)}}),c.on(`change`,e=>{r(`change`,e)}),c.on(`overlayerChange`,e=>{v.value=e}),c.on(`startEdit`,e=>{g.value=e,_.value=e.editorType,_.value}),c.on(`doneEdit`,()=>{_.value=`text`}),c.on(`selectionChange`,e=>{i.value=e,r(`selectionChange`,e)}),c.on(`sortChange`,e=>{r(`sortChange`,e)}),r(`ready`,c),x(),u=na({getTable:()=>c,getConfig:()=>s.value.config}))}),(0,l.onUnmounted)(()=>{u?.disconnect()});function k(e){if(!c||!g.value)return;let{rowKey:t,key:n}=g.value;c?.setItemValueByEditor(t,n,e)}let A=()=>document.body;return(0,l.watch)(()=>a.data,e=>{c?.loadData(e)},{deep:!0}),ti(()=>a.columns,(e,t)=>{(0,X.isEqual)(e,t)||c?.loadColumns(e.map(e=>O(e)))},{deep:!0}),(0,l.watch)(()=>s.value.config,e=>{c?.loadConfig(e),x(e)},{deep:!0}),(0,l.watch)(()=>a.footerData,e=>{c?.loadFooterData(e||[])},{deep:!0}),(0,l.watch)(()=>a.loading,(e,t)=>{e!==t&&c?.setLoading(e)},{immediate:!0}),t({get $table(){return c},selectedRecords:(0,l.computed)(()=>i.value),reloadData:()=>{c?.loadData(a.data)}}),(t,n)=>{let r=(0,l.resolveComponent)(`a-empty`),i=(0,l.resolveComponent)(`a-spin`);return(0,l.openBlock)(),(0,l.createBlock)(i,{spinning:e.loading},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,{ref_key:`eVirtTableRef`,ref:f},[(0,l.createElementVNode)(`div`,{ref_key:`eVirtTableEditorRef`,ref:p},[_.value.startsWith(`__slot:`)?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(y[_.value].slots.edit({row:g.value.row,column:y[_.value],rowIndex:g.value.rowIndex})),{key:0,bordered:!1,style:(0,l.normalizeStyle)(S.value),class:`ev-editor-wrapper`,"get-popup-container":A,value:g.value.value,"onUpdate:value":n[0]||=e=>g.value.value=e,cell:g.value,onBlur:k},null,40,[`style`,`value`,`cell`])):(0,l.unref)(vi).renders[_.value]?.renderEdit?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(Yi),{key:1,"cell-render":b[g.value.key],class:`ev-editor-wrapper`,style:(0,l.normalizeStyle)(S.value),"render-table-params":{data:a.data,row:g.value?.row,rowIndex:g.value?.rowIndex??-1,field:g.value?.key??``,title:g.value?.column?.title??``},bordered:!1,"get-popup-container":A,onBlur:k},null,8,[`cell-render`,`style`,`render-table-params`])):(0,l.createCommentVNode)(``,!0)],512),(0,l.createElementVNode)(`div`,{ref_key:`eVirtTableEmptyRef`,ref:m},[(0,l.renderSlot)(t.$slots,`empty`,{},()=>[(0,l.createVNode)(r,{description:`空数据`})])],512),(0,l.createElementVNode)(`div`,{ref_key:`eVirtTableOverlayerRef`,ref:h},[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(v.value?.views||[],e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{class:(0,l.normalizeClass)(e.class),style:(0,l.normalizeStyle)(e.style),key:e.type},[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.views,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{style:(0,l.normalizeStyle)(e.style),key:e.key},[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.cells,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,(0,l.mergeProps)({class:`canvas-cell`,key:`${e.rowKey}_${e.key}`,style:{...e.style}},{ref_for:!0},e.domDataset),[typeof e.render==`function`?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(e.render(e)),{key:0,bordered:!1})):typeof e.render==`string`&&e.render.startsWith(`slot:`)?(0,l.renderSlot)(t.$slots,e.render.replace(`slot:`,``),(0,l.mergeProps)({key:1,ref_for:!0},e,{cell:e})):(0,l.createCommentVNode)(``,!0)],16))),128))],4))),128))],6))),128))],512)],512)]),_:3},8,[`spinning`])}}}),ia={key:0},aa={key:1,class:`p-canvas-toolbar-wrapper flex items-center w-full justify-between p-theme-bg pt-8px px-16px`},oa={class:`flex items-center flex-1 gap-4px`},sa={class:`flex items-center gap-4px`},ca={class:`flex items-center gap-4px`},la={key:2},ua={class:`flex items-center gap-4px`},da={class:`flex items-center gap-4px`},fa={key:0,class:`w-full text-slate-5 pl-4`},pa=(0,l.defineComponent)({__name:`PCanvasGrid`,props:{staticConfig:{},manualFetch:{type:Boolean},formConfig:{},columns:{},toolbarConfig:{},pageConfig:{},proxyConfig:{},config:{},border:{type:[Boolean,String]},scrollbarMode:{},scrollbarShowDelay:{},lazyReset:{type:Boolean,default:()=>Gr().lazyReset??!1},fitHeight:{default:()=>Gr().fitCanvasHeight??0},autoBoxSize:{type:Boolean,default:!1},autoBoxSizeOffset:{}},emits:[`toolbarButtonClick`,`toolbarToolClick`,`pick`,`resetQuery`,`sortChange`],setup(e,{expose:t,emit:n}){let r=e,i=(0,l.useAttrs)(),a=n,o=e=>{a(`sortChange`,e)},{formConfig:s,pageConfig:c,columns:f,toolbarConfig:p,proxyConfig:m,config:h,staticConfig:g}=(0,l.toRefs)(r),_=Kr(),v=(0,l.computed)(()=>r.autoBoxSizeOffset??Gr().autoBoxSizeOffset),y=(0,l.ref)(Pr()),b=(0,l.ref)({}),x=(0,l.computed)(()=>({...r,config:{..._,...r.config,...r.border===void 0?{}:{BORDER:r.border},...r.scrollbarMode===void 0?{}:{scrollbarMode:r.scrollbarMode},...r.scrollbarShowDelay===void 0?{}:{SCROLLBAR_SHOW_DELAY:r.scrollbarShowDelay}}})),S=(0,l.computed)(()=>m.value&&m.value.ajax?c.value?`pagination`:`list`:`bad`);(0,l.computed)(()=>S.value===`pagination`?{current:E.page,total:O.value,pageSize:E.size,responsive:!1,showSizeChanger:!0,showTotal:e=>`共${e}条数据`}:!1);let C=(0,l.computed)(()=>(c.value?.pageSizes??[10,20,50,100]).map(String)),w=(0,l.computed)(()=>(0,X.omit)({labelCol:Xr,...s.value},[`items`])),T=(0,l.reactive)({toolbar:!1,form:!1,table:!1}),E=(0,l.reactive)({page:1,size:c.value?.pageSize??10}),D=(0,l.ref)(0),O=(0,l.ref)(0),k=(0,l.ref)([]),A=(0,l.ref)(),j=(0,l.ref)(),M=(0,l.ref)(),ee=(0,l.ref)(),te=(0,l.ref)(),N=(0,l.ref)(),P=(0,l.ref)(),ne=(0,l.ref)(500),F=(0,l.ref)({}),re=e=>{F.value[E.page]=e},ie=(0,l.reactive)([...(r.toolbarConfig?.buttons?.map(e=>e.code)??[]).filter(e=>e),...(r.toolbarConfig?.tools?.map(e=>e.code)??[]).filter(e=>e)].reduce((e,t)=>(e[t]=!1,e),{})),ae=(e,t)=>{ie[e]=t},I=e=>{(0,X.isObject)(e)?(Object.prototype.hasOwnProperty.call(e,`toolbar`)&&(T.toolbar=e.toolbar),Object.prototype.hasOwnProperty.call(e,`form`)&&(T.form=e.form),Object.prototype.hasOwnProperty.call(e,`table`)&&(T.table=e.table)):(0,X.isBoolean)(e)&&(T.form=e,T.toolbar=e,T.table=e)},oe=(0,l.computed)(()=>(0,X.uniq)(Object.values(F.value).flat(),e=>e[x.value.config?.ROW_KEY??`id`])),L=()=>{pe()},R=(0,l.computed)(()=>oe.value.map(e=>e[x.value.config?.ROW_KEY??`id`])),se=(e,t)=>t?{list:(0,X.isString)(t.list)?(0,X.get)(e,t.list):(0,X.isFunction)(t.list)?t.list(e):void 0,total:(0,X.isString)(t.total)?(0,X.get)(e,t.total):(0,X.isFunction)(t.total)?t.total(e):void 0,result:(0,X.isString)(t.result)?(0,X.get)(e,t.result):(0,X.isFunction)(t.result)?t.result(e):void 0,message:(0,X.isString)(t.message)?(0,X.get)(e,t.message):(0,X.isFunction)(t.message)?t.message(e):void 0}:{list:e},ce=(0,X.debounce)(e=>{a(`toolbarButtonClick`,{data:k.value,code:e,selectedKeys:R.value,records:oe.value}),_e(e)},100),le=({key:e})=>ce(e),ue=(0,X.debounce)(e=>{a(`toolbarToolClick`,{data:k.value,code:e,selectedKeys:R.value,records:oe.value}),_e(e)},100),de=()=>new Promise(e=>{if(S.value!==`bad`){I({table:!0,form:!0});let{ajax:t}=m.value;t.query({form:b.value,page:E}).then(t=>{let{list:n,total:r,result:i,message:a}=se(t,m.value.response);n?(k.value=n,D.value++):i?(k.value=i,O.value=r??i.length,D.value++):(k.value=[],D.value++,a&&ki(a)),e(k.value)}).catch(t=>{console.error(`fetchData error`,t),e([])}).finally(()=>{I({table:!1,form:!1})})}}),fe=(e,t)=>(E.page=e,E.size=t,de()),pe=()=>(E.page=1,F.value={},de()),me=(0,X.debounce)(de,160),he=(e,t)=>(Object.assign(b.value,e),E.page=1,t?Promise.resolve():me()),ge=(e,t)=>(b.value=e,E.page=1,t?Promise.resolve():me()),_e=e=>{let{ajax:t}=m.value;switch(e){case`multiDelete`:t.multiDelete&&(R.value.length>0?Ei({title:`警告`,content:`确认删除选中的数据吗?`}).then(()=>{I({table:!0,toolbar:!0}),t.multiDelete(R.value).then(()=>{Di(`删除成功`),pe()}).catch(()=>{Oi(`删除失败`)}).finally(()=>{I({table:!1,toolbar:!1}),ie.multiDelete=!1})}):ki(`请选择要删除的数据`));break}},ve=(0,l.computed)(()=>!g.value||!g.value.selectable&&!g.value.tree?f.value:[g.value.selectable&&g.value.tree?{type:`selection-tree`,width:40,widthFillDisable:!0,title:``}:g.value.selectable?{type:`selection`,width:40,widthFillDisable:!0,title:``}:g.value.tree?{type:`tree`,width:40,widthFillDisable:!0,title:``}:{type:`index`,width:40,widthFillDisable:!0,title:``},...f.value]),ye=e=>{if(s.value&&s.value.items.length>0){if(s.value.customReset)s.value.customReset();else{let e={};zr(s.value.items,t=>{t.field&&t.itemRender?Q(t.itemRender.defaultValue)?e[t.field]=t.itemRender.defaultValue:e[t.field]=void 0:t.field&&t.slots&&(Q(t.slots.defaultValue)?e[t.field]=t.slots.defaultValue:e[t.field]=void 0)}),b.value=e}a(`resetQuery`)}E.page=1,e||me()},be=()=>(F.value={},ye()),xe=e=>(0,X.isFunction)(e)?e():e,Se=e=>(0,X.isString)(e),Ce=null,we=()=>{Ce?.destroy(),Ce=null},Te=()=>{we(),!(!r.autoBoxSize||!M.value)&&(Ce=Fi(()=>M.value??void 0,()=>ji(v.value),{onLayout:()=>{(0,l.nextTick)(()=>B())}}),Ce.attach())};(0,l.watch)(()=>r.autoBoxSize,e=>{e?(0,l.nextTick)(()=>Te()):we()}),(0,l.watch)(v,()=>{r.autoBoxSize&&Ce?.update()},{deep:!0});let z=null,B=()=>{z&&cancelAnimationFrame(z),z=requestAnimationFrame(()=>{if(z=null,!N.value)return;let e=N.value.clientHeight,t=r.fitHeight??0;ne.value=Math.max(e-t,100)})},V=null;(0,l.watch)(ee,e=>{V?.disconnect(),V=null,e&&(V=new ResizeObserver(()=>B()),V.observe(e))},{immediate:!0}),(0,l.watch)(S,()=>(0,l.nextTick)(()=>B()));let Ee,De=null,Oe=null;return(0,l.onMounted)(()=>{if(B(),window.addEventListener(`resize`,B),Ee=new MutationObserver(e=>{e.forEach(e=>{if(e.type===`attributes`&&e.attributeName===`style`){let t=e.target;window.getComputedStyle(t).display!==`none`&&B()}})}),M.value){Ee.observe(M.value,{attributes:!0,attributeFilter:[`style`]}),De=new ResizeObserver(()=>B());let e=M.value.parentElement;for(let t=0;t<5&&e&&e!==document.body;t++)De.observe(e),e=e.parentElement}Oe=new ResizeObserver(()=>B()),N.value&&Oe.observe(N.value),ye(r.manualFetch),(0,l.nextTick)(()=>{r.autoBoxSize&&Te(),B()})}),(0,l.onBeforeUnmount)(()=>{z&&cancelAnimationFrame(z),window.removeEventListener(`resize`,B),Ee.disconnect(),V?.disconnect(),De?.disconnect(),Oe?.disconnect(),we()}),t({commitProxy:{query:me,reload:be,reloadPage:pe,passQuery:he,forcePassQuery:ge},$canvasTable:(0,l.computed)(()=>j.value),selectedRowKeys:R,setBtnLoading:ae,selectedRecords:oe,$form:(0,l.computed)(()=>A.value),getFormData:()=>b.value,setLoadings:I,resizeTable:B}),(t,n)=>{let a=(0,l.resolveComponent)(`a-menu-item`),f=(0,l.resolveComponent)(`a-menu`),m=(0,l.resolveComponent)(`a-dropdown`);return(0,l.openBlock)(),(0,l.createElementBlock)(`div`,(0,l.mergeProps)({ref_key:`boxEl`,ref:M,class:[`p-wrapper flex flex-col gap-8px overflow-y-auto`,e.autoBoxSize?`min-h-0 min-w-0 flex-1 w-full`:`h-full`]},(0,l.unref)(i)),[S.value===`bad`?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,ia,`请检查配置`)):((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.unref)(s)?.items?.some(e=>e.field&&e.itemRender)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,class:`p-pane p-form-wrapper`,ref_key:`pFormWrapper`,ref:ee},[(0,l.createVNode)((0,l.unref)(u.Spin),{spinning:T.form},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Form),(0,l.mergeProps)({key:y.value,ref_key:`formEl`,ref:A,model:b.value},w.value,{onSubmit:L}),{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Row),{gutter:[6,12]},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)((0,l.unref)(s).items,(e,t)=>((0,l.openBlock)(),(0,l.createBlock)(Si,{key:`_col_${e.field||t}`,"form-data":b.value,item:e,onReset:n[0]||=e=>ye(r.lazyReset)},null,8,[`form-data`,`item`]))),128))]),_:1})]),_:1},16,[`model`]))]),_:1},8,[`spinning`])],512)):(0,l.createCommentVNode)(``,!0),(0,l.unref)(p)?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,aa,[(0,l.createElementVNode)(`div`,oa,[(0,l.unref)(p).buttons&&(0,l.unref)(p).buttons.length>0?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:0},(0,l.renderList)((0,l.unref)(p).buttons,(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:t},[e.dropdowns&&e.dropdowns.length?((0,l.openBlock)(),(0,l.createBlock)(m,{key:0},{overlay:(0,l.withCtx)(()=>[(0,l.createVNode)(f,{onClick:le},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.dropdowns,e=>((0,l.openBlock)(),(0,l.createBlock)(a,{key:e.code},{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(e.content),1)]),_:2},1024))),128))]),_:2},1024)]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(p).disabled||e.disabled,loading:T.toolbar||!!e.code&&ie[e.code],danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,sa,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&Se(xe(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(xe(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(xe(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(d.DownOutlined))])]),_:2},1032,[`type`,`size`,`disabled`,`loading`,`danger`,`shape`,`ghost`,`block`])]),_:2},1024)):e.code?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:1,type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(p).disabled||e.disabled,loading:T.toolbar||!!e.code&&ie[e.code],danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block,onClick:t=>(0,l.unref)(ce)(e.code)},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,ca,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&Se(xe(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(xe(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(xe(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0)])]),_:2},1032,[`type`,`size`,`disabled`,`loading`,`danger`,`shape`,`ghost`,`block`,`onClick`])):((0,l.openBlock)(),(0,l.createElementBlock)(`div`,la))],64))),128)):(0,l.createCommentVNode)(``,!0)]),(0,l.createElementVNode)(`span`,ua,[(0,l.unref)(p).tools&&(0,l.unref)(p).tools.length>0?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:0},(0,l.renderList)((0,l.unref)(p).tools,(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:t,type:e.type,size:e.size??`middle`,disabled:(0,l.unref)(p).disabled||e.disabled,danger:e.danger,shape:e.shape,ghost:e.ghost,block:e.block,onClick:t=>(0,l.unref)(ue)(e.code),loading:T.toolbar||!!e.code&&ie[e.code]},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,da,[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(ui),{key:0,icon:e.icon},null,8,[`icon`])):(0,l.createCommentVNode)(``,!0),e.content&&Se(xe(e.content))?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(xe(e.content)),1)],64)):e.content?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(xe(e.content)),{key:2})):(0,l.createCommentVNode)(``,!0)])]),_:2},1032,[`type`,`size`,`disabled`,`danger`,`shape`,`ghost`,`block`,`onClick`,`loading`]))),128)):(0,l.createCommentVNode)(``,!0)])])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`div`,{ref_key:`tableWrapperEl`,ref:te,class:`flex-1 h-0 min-h-0 flex flex-col p-inner-scroll`},[(0,l.createElementVNode)(`div`,{ref_key:`tableBodyEl`,ref:N,class:`flex-1 min-h-0 overflow-hidden`},[(0,l.createVNode)(ra,{ref_key:`canvasTableRef`,ref:j,columns:ve.value,config:{...x.value.config,HEIGHT:ne.value},data:k.value,loading:T.table,onSelectionChange:re,onSortChange:o},(0,l.createSlots)({_:2},[(0,l.renderList)(t.$slots,(e,n)=>({name:n,fn:(0,l.withCtx)(e=>[(0,l.renderSlot)(t.$slots,n,(0,l.normalizeProps)((0,l.guardReactiveProps)(e)))])}))]),1032,[`columns`,`config`,`data`,`loading`])],512),(0,l.createElementVNode)(`div`,{ref_key:`tableFooterEl`,ref:P,class:`flex-shrink-0`},[(0,l.unref)(g)?.selectable&&(0,l.unref)(g).showCount?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,fa,` 已选:`+(0,l.toDisplayString)(R.value.length),1)):(0,l.createCommentVNode)(``,!0),S.value===`pagination`?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Pagination),{key:1,class:`p-canvas-pagination`,size:`small`,current:E.page,"page-size":E.size,"page-size-options":C.value,"show-size-changer":(0,l.unref)(c)?.showSizeChanger??!0,"show-quick-jumper":(0,l.unref)(c)?.showQuickJumper,"show-total":e=>`共${e}条数据`,total:O.value,onChange:fe},null,8,[`current`,`page-size`,`page-size-options`,`show-size-changer`,`show-quick-jumper`,`show-total`,`total`])):(0,l.createCommentVNode)(``,!0)],512)],512)],64))],16)}}}),ma=(0,l.defineComponent)({__name:`PGroupBlock`,props:{name:{},getFormSetting:{type:Function},source:{}},setup(e,{expose:t}){let n=e,r=(0,l.ref)(),{source:i}=(0,l.toRefs)(n),a=(0,l.computed)(()=>r.value?.$form),o=(0,l.computed)(()=>n.getFormSetting(i.value));return t({$form:a}),(t,n)=>((0,l.openBlock)(),(0,l.createBlock)(wi,(0,l.mergeProps)({name:e.name,ref_key:`formEl`,ref:r},o.value,{data:(0,l.unref)(i)}),null,16,[`name`,`data`]))}}),ha=(0,l.defineComponent)({__name:`CollapseCard`,props:{defaultCollapsed:{type:Boolean,default:!1},title:{default:void 0},collapsible:{type:Boolean,default:!1}},setup(e,{expose:t}){let n=(0,l.ref)(e.defaultCollapsed?[]:[`content`]);return t({collapse:()=>{n.value=[]},expand:()=>{n.value=[`content`]}}),(t,r)=>{let i=(0,l.resolveComponent)(`a-collapse-panel`),a=(0,l.resolveComponent)(`a-collapse`),o=(0,l.resolveComponent)(`a-card`);return e.collapsible?((0,l.openBlock)(),(0,l.createBlock)(a,{key:0,"active-key":n.value,"onUpdate:activeKey":r[0]||=e=>n.value=e,class:`collapsible-card`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)(i,{key:`content`,"force-render":``,header:e.title},(0,l.createSlots)({_:2},[(0,l.renderList)(t.$slots,(e,n)=>({name:n,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,n)])}))]),1032,[`header`])]),_:3},8,[`active-key`])):((0,l.openBlock)(),(0,l.createBlock)(o,{key:1,size:`small`,title:e.title},(0,l.createSlots)({_:2},[(0,l.renderList)(t.$slots,(e,n)=>({name:n,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,n)])}))]),1032,[`title`]))}}}),ga=(0,l.defineComponent)({__name:`PFormGroup`,props:(0,l.mergeModels)({name:{},getFormSetting:{type:Function},title:{},tabLabel:{},getTabLabel:{type:Function},editAble:{type:Boolean},showAdd:{type:Boolean},collapsible:{type:Boolean},defaultCollapsed:{type:Boolean},lazyErrorMark:{type:Boolean},forceRender:{type:Boolean},keepSerial:{type:Boolean},loading:{type:Boolean},itemMenus:{},createItem:{type:Function},max:{},menuHandler:{type:Function}},{modelValue:{type:Array,default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(e,{expose:t}){let n=u.Form.useForm,r=(0,l.ref)(),i=e,a=(0,l.ref)(),o=(0,l.useModel)(e,`modelValue`),s=(0,l.ref)(0),c=(0,l.ref)([]),f=(0,l.ref)([]),p=e=>{s.value=e},m=(0,l.computed)(()=>i.max??1/0),h=e=>{(i.createItem??(()=>Promise.resolve({})))({list:o.value}).then(t=>{o.value=[...o.value,{...t,__index:((0,X.max)(o.value,e=>e.__index??-1)?.__index??-1)+1}],s.value=e})},g=i.itemMenus??[{content:`复制`,code:`copy`},{content:`删除`,code:`delete`}],_=e=>e?.parentElement?.parentElement?.parentElement?.parentElement?.parentElement?.parentElement??a.value?.$el??document.body,v=(0,l.computed)(()=>i.forceRender||o.value.length<=5),y=e=>{let t=o.value.find((t,n)=>n===e)?.__index;Z(t)&&(c.value=c.value.filter(e=>e!==t))},b=()=>{(0,l.nextTick)().then(()=>{y(s.value),f.value[s.value]?.$form?.validate()})},x=(e,t)=>i.getTabLabel?.(e,t)??`${i.tabLabel} ${i.keepSerial?t+1:(e.__index??0)+1}`;(0,l.watch)(()=>o.value,()=>{if(!i.keepSerial){let e=o.value.filter(e=>!Z(e.__index));e.length>0&&e.forEach(e=>{e.__index=((0,X.max)(o.value,e=>e.__index??-1)?.__index??-1)+1})}},{immediate:!0});let S=(0,X.debounce)(({key:e},t,n)=>{if(i.menuHandler&&(0,X.isFunction)(i.menuHandler))i.menuHandler({code:(0,X.toString)(e),data:t,index:n});else switch(e){case`delete`:o.value=o.value.filter((e,t)=>t!==n),(0,l.nextTick)(()=>{f.value=f.value.filter(e=>!!e),n<=s.value&&s.value>0&&s.value--});break;case`copy`:if(o.value.length>=m.value){ki(`已达到最大数量`);return}o.value=[...o.value,(0,X.clone)({...(0,X.omit)(t,[`id`,`__index`]),__index:((0,X.max)(o.value,e=>e.__index??-1)?.__index??-1)+1})];break}},100);(0,l.watchEffect)(()=>{o.value.length===0?s.value=0:s.value>=o.value.length&&(s.value=o.value.length-1)});let C=(0,X.debounce)(y,50);(0,l.watchEffect)(()=>{let e=o.value.map((e,t)=>c.value.includes(e.__index)?t:void 0).filter(Z),t=r.value?.$el;t&&t.querySelectorAll(`:scope >.ant-tabs-nav>.ant-tabs-nav-wrap>.ant-tabs-nav-list>.ant-tabs-tab>.ant-tabs-tab-btn`).forEach((t,n)=>{e.includes(n)?t.classList.add(`p-error-group-tab`):t.classList.remove(`p-error-group-tab`)})}),t({collapse:()=>{a.value?.collapse?.()},expand:()=>{a.value?.expand?.()},activeKey:(0,l.computed)(()=>s.value),setActiveKey:p,validateAll:()=>{let e=v.value?f.value.map(e=>e.$form?.validate()):o.value.map(e=>n(e,i.getFormSetting(e).rules)?.validate()??Promise.resolve());return Promise.allSettled(e).then(e=>{if(c.value=e.map((e,t)=>e.status===`rejected`&&typeof o.value[t]?.__index==`number`?o.value[t].__index:void 0).filter(e=>typeof e==`number`),!i.lazyErrorMark&&c.value.length){let e=c.value[0],t=o.value.findIndex(t=>t.__index===e);t!==-1&&(s.value=t)}return c.value.length?Promise.reject({error_indexes:c.value,results:e}):Promise.resolve(e)})},validate:async(e,t)=>{let r=o.value.findIndex(t=>t.__index===e);try{return await(v.value?f.value[r]?.$form?.validate()??Promise.resolve():n(o.value[r],i.getFormSetting(o.value[r]).rules)?.validate()??Promise.resolve()),c.value=c.value.filter(t=>t!==e),Promise.resolve()}catch(n){return!c.value.includes(e)&&!t&&(c.value=[...c.value,e]),Promise.reject(n)}},validateFields:async(e,t,r)=>{let a=o.value.findIndex(t=>t.__index===e),s=i.getFormSetting(o.value[a]).rules,l=n(o.value[a],s);try{return await(v.value?f.value[a]?.$form?.validateFields(t)??Promise.resolve():Promise.allSettled(t.map(e=>l.validateField(e,o.value[a][e],s[e]??[])))),Promise.resolve()}catch(t){return!c.value.includes(e)&&!r&&(c.value=[...c.value,e]),Promise.reject(t)}}});let w=(0,l.useSlots)(),T=(0,l.computed)(()=>Object.keys(w).filter(e=>e.startsWith(`group-`)).map(e=>({original:e,target:e.replace(`group-`,``)})));return(t,n)=>{let i=(0,l.resolveComponent)(`a-spin`);return(0,l.openBlock)(),(0,l.createBlock)(ha,{ref_key:`rootRef`,ref:a,title:e.title,size:`small`,collapsible:e.collapsible,"default-collapsed":e.defaultCollapsed},(0,l.createSlots)({default:(0,l.withCtx)(()=>[e.loading?((0,l.openBlock)(),(0,l.createBlock)(i,{key:0,class:`w-full`})):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Tabs),{key:1,ref_key:`tabsRef`,ref:r,type:`editable-card`,activeKey:s.value,"onUpdate:activeKey":n[1]||=e=>s.value=e,"hide-add":``,onChange:b},{rightExtra:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,`rightExtra`,{},()=>[e.showAdd&&o.value.length<m.value?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Button),{key:0,type:`link`,onClick:n[0]||=e=>h(o.value.length)},{default:(0,l.withCtx)(()=>[...n[2]||=[(0,l.createTextVNode)(` + 新增 `,-1)]]),_:1})):(0,l.createCommentVNode)(``,!0)])]),default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(o.value,(t,n)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.TabPane),{key:n,tab:x(t,n),"force-render":v.value},{closeIcon:(0,l.withCtx)(()=>[e.editAble&&(0,l.unref)(g)?.length?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Dropdown),{key:0,"get-popup-container":_},{overlay:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Menu),{onClick:e=>(0,l.unref)(S)(e,t,n)},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)((0,l.unref)(g).filter(e=>e.visibleMethod?.({data:t,index:n})??!0),e=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.MenuItem),{key:e.code},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,null,(0,l.toDisplayString)(e.content),1)]),_:2},1024))),128))]),_:2},1032,[`onClick`])]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.MoreOutlined))]),_:2},1024)):(0,l.createCommentVNode)(``,!0)]),default:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)(ma,{ref_for:!0,ref_key:`blockInstance`,ref:f,key:n,source:t,name:e.name?`${e.name}_${n}`:void 0,"get-form-setting":e.getFormSetting,onFocusCapture:e=>(0,l.unref)(C)(n),onClickCapture:e=>(0,l.unref)(C)(n)},null,8,[`source`,`name`,`get-form-setting`,`onFocusCapture`,`onClickCapture`]))]),_:2},1032,[`tab`,`force-render`]))),128))]),_:3},8,[`activeKey`]))]),_:2},[(0,l.renderList)(T.value,e=>({name:e.target,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,e.original)])}))]),1032,[`title`,`collapsible`,`default-collapsed`])}}}),_a={class:`w-full text-right p-2`},va=(0,l.defineComponent)({__name:`PromisePicker`,props:{gridSetting:{},title:{default:`数据选择`},width:{default:`70%`},multipleAllowEmpty:{type:Boolean,default:!1},bodyStyle:{default:()=>({})},beforePick:{type:Function,default:()=>Promise.resolve()}},setup(e,{expose:t}){let n=(0,l.ref)(),r=e,i=(0,l.computed)(()=>r.gridSetting.selectConfig?.multiple),a=(0,l.computed)(()=>({fitContent:!0,...r.gridSetting})),o={display:`flex`,flexDirection:`column`,minHeight:0,maxHeight:`min(80dvh, calc(100dvh - 200px))`,overflow:`hidden`},s,c,d,f=(0,l.reactive)({modal:!1}),p=()=>{d&&d()},m=()=>{f.modal=!1,d&&d()},h=({row:e,field:t})=>{s&&!i.value&&r.beforePick(e).then(()=>{f.modal=!1,s({row:e,field:t})})},g=()=>{let e=n.value?.selectedRecords??[];e.length===0&&!r.multipleAllowEmpty?ki(`请选择数据`):r.beforePick(e).then(()=>{f.modal=!1,c(e)})};return t({pick:()=>new Promise((e,t)=>{s=e,d=t,f.modal=!0}),pickMultiple:()=>new Promise((e,t)=>{c=e,d=t,f.modal=!0}),grid:n,hide:()=>{f.modal=!1}}),(t,r)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Modal),{open:f.modal,"onUpdate:open":r[0]||=e=>f.modal=e,"destroy-on-close":``,title:e.title,width:e.width,footer:i.value?void 0:null,onCancel:p,"body-style":e.bodyStyle},(0,l.createSlots)({default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,{style:o},[(0,l.createVNode)(qi,(0,l.mergeProps)(a.value,{ref_key:`gridEl`,ref:n,onPick:h}),null,16)])]),_:2},[i.value?{name:`footer`,fn:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,_a,[(0,l.createElementVNode)(`span`,null,[(0,l.createVNode)((0,l.unref)(u.Button),{class:`mr-4`,onClick:m},{default:(0,l.withCtx)(()=>[...r[1]||=[(0,l.createTextVNode)(` 取消 `,-1)]]),_:1}),(0,l.createVNode)((0,l.unref)(u.Button),{type:`primary`,onClick:g},{default:(0,l.withCtx)(()=>[...r[2]||=[(0,l.createTextVNode)(` 确定 `,-1)]]),_:1})])])]),key:`0`}:void 0]),1032,[`open`,`title`,`width`,`footer`,`body-style`]))}}),ya=(0,l.defineComponent)(e=>()=>{let{item:t,data:n,emptyText:r}=e;if(t.slots?.default)return t.slots.default({data:n,field:t.field});if(t.readonlyRender?.name){let e=t.readonlyRender,r=vi.renders[e.name]?.renderReadonly?.(e,{data:n,field:t.field,title:t.label},{})??null;if(r!==null)return r}if(!t.field)return r;let i=n?.[t.field];return Q(i)?i:r},{name:`PDescriptionContent`,props:[`item`,`data`,`emptyText`]}),ba=(0,l.defineComponent)({__name:`PDescription`,props:{data:{},items:{},title:{},extra:{},bordered:{type:Boolean,default:!1},size:{default:`default`},column:{default:3},layout:{default:`horizontal`},colon:{type:Boolean,default:!0},labelStyle:{},contentStyle:{},emptyText:{default:`-`}},setup(e){let t=e,n=(0,l.computed)(()=>({title:t.title,extra:t.extra,bordered:t.bordered,size:t.size,column:t.column,layout:t.layout,colon:t.colon,labelStyle:t.labelStyle,contentStyle:t.contentStyle}));return(t,r)=>{let i=(0,l.resolveComponent)(`a-descriptions-item`),a=(0,l.resolveComponent)(`a-descriptions`);return(0,l.openBlock)(),(0,l.createBlock)(a,(0,l.mergeProps)(n.value,{class:`p-description`}),(0,l.createSlots)({default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.items,(t,n)=>((0,l.openBlock)(),(0,l.createBlock)(i,{key:`_desc_${t.field??n}`,label:t.label,span:t.span,"label-style":t.labelStyle,"content-style":t.contentStyle},(0,l.createSlots)({default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(ya),{item:t,data:e.data,"empty-text":e.emptyText||`-`},null,8,[`item`,`data`,`empty-text`])]),_:2},[t.slots?.label?{name:`label`,fn:(0,l.withCtx)(()=>[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(t.slots.label)))]),key:`0`}:void 0]),1032,[`label`,`span`,`label-style`,`content-style`]))),128))]),_:2},[t.$slots.title||e.title?{name:`title`,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,`title`,{},()=>[(0,l.createTextVNode)((0,l.toDisplayString)(e.title),1)])]),key:`0`}:void 0,t.$slots.extra||e.extra?{name:`extra`,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,`extra`,{},()=>[(0,l.createTextVNode)((0,l.toDisplayString)(e.extra),1)])]),key:`1`}:void 0]),1040)}}});function xa(e){e&&Vr(e)}var Sa={install(e){e.component(`PForm`,wi),e.component(`PGrid`,qi),e.component(`PCanvasTable`,ra),e.component(`PCanvasGrid`,pa),e.component(`PFormGroup`,ga),e.component(`PGroupBlock`,ma),e.component(`PromisePicker`,va),e.component(`PDescription`,ba)},addFormatter:ai,addRender:_i,setup:xa};exports.PCanvasGrid=pa,exports.PCanvasTable=ra,exports.PDescription=ba,exports.PForm=wi,exports.PFormGroup=ga,exports.PGrid=qi,exports.PGroupBlock=ma,exports.PromisePicker=va,exports.addFormatter=ai,exports.addRender=_i,exports.applyViewportRestSize=Ni,exports.cleanCol=Jr,exports.createAutoViewportBoxController=Fi,exports.default=Sa,exports.defaultItemResponsive=Yr,exports.defaultLabelCol=Xr,exports.get24rest=Qr,exports.getButtonResponsive=ei,exports.getTooltipRenderer=Hr,exports.getUIKitConfig=Ur,exports.labelColDict=Zr,exports.parseAutoViewportBoxOffset=ji,exports.resetUIKitConfig=qr,exports.setUIKitConfig=Vr,exports.setup=xa,exports.watchPreviousDeep=ti;
|