@hpcc-js/dgrid2 3.1.0 → 3.2.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/index.js +3106 -496
- package/dist/index.js.map +1 -7
- package/dist/index.umd.cjs +3 -0
- package/dist/index.umd.cjs.map +1 -0
- package/package.json +16 -19
- package/src/__package__.ts +2 -2
- package/src/hooks.ts +2 -3
- package/src/reactTable.tsx +16 -15
- package/src/table.ts +2 -6
- package/types/__package__.d.ts +2 -2
- package/types/reactTable.d.ts +2 -2
- package/types/table.d.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.umd.cjs","sources":["../src/__package__.ts","../../../node_modules/preact/dist/preact.module.js","../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../../../node_modules/preact/hooks/dist/hooks.module.js","../../../node_modules/preact/compat/dist/compat.module.js","../../../node_modules/clsx/dist/clsx.mjs","../../../node_modules/react-data-grid/lib/bundle.js","../src/hooks.ts","../src/reactTable.tsx","../src/table.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/dgrid2\";\nexport const PKG_VERSION = \"3.1.1\";\nexport const BUILD_VERSION = \"3.2.1\";\n","var n,l,u,t,i,o,r,f,e,c,s,a,h={},v=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function _(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g(l,f,i,o,null)}function g(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function m(){return{current:null}}function b(n){return n.children}function k(n,l){this.props=n,this.context=l}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?x(n):null}function C(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C(n)}}function S(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!M.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||r)(M)}function M(){var n,u,t,o,r,e,c,s;for(i.sort(f);n=i.shift();)n.__d&&(u=i.length,o=void 0,e=(r=(t=n).__v).__e,c=[],s=[],t.__P&&((o=d({},r)).__v=r.__v+1,l.vnode&&l.vnode(o),O(t.__P,o,r,t.__n,t.__P.namespaceURI,32&r.__u?[e]:null,c,null==e?x(r):e,!!(32&r.__u),s),o.__v=r.__v,o.__.__k[o.__i]=o,j(c,o,s),o.__e!=e&&C(o)),i.length>u&&i.sort(f));M.__r=0}function P(n,l,u,t,i,o,r,f,e,c,s){var a,p,y,d,w,_=t&&t.__k||v,g=l.length;for(u.__d=e,$(u,l,_),e=u.__d,a=0;a<g;a++)null!=(y=u.__k[a])&&(p=-1===y.__i?h:_[y.__i]||h,y.__i=a,O(n,y,p,i,o,r,f,e,c,s),d=y.__e,y.ref&&p.ref!=y.ref&&(p.ref&&E(p.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),65536&y.__u||p.__k===y.__k?e=I(y,e,n):\"function\"==typeof y.type&&void 0!==y.__d?e=y.__d:d&&(e=d.nextSibling),y.__d=void 0,y.__u&=-196609);u.__d=e,u.__e=w}function $(n,l,u){var t,i,o,r,f,e=l.length,c=u.length,s=c,a=0;for(n.__k=[],t=0;t<e;t++)null!=(i=l[t])&&\"boolean\"!=typeof i&&\"function\"!=typeof i?(r=t+a,(i=n.__k[t]=\"string\"==typeof i||\"number\"==typeof i||\"bigint\"==typeof i||i.constructor==String?g(null,i,null,null,null):y(i)?g(b,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?g(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=n,i.__b=n.__b+1,o=null,-1!==(f=i.__i=L(i,u,r,s))&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a--:f==r+1?a++:(f>r?a--:a++,i.__u|=65536))):i=n.__k[t]=null;if(s)for(t=0;t<c;t++)null!=(o=u[t])&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),N(o,o))}function I(n,l,u){var t,i;if(\"function\"==typeof n.type){for(t=n.__k,i=0;t&&i<t.length;i++)t[i]&&(t[i].__=n,l=I(t[i],l,u));return l}n.__e!=l&&(l&&n.type&&!u.contains(l)&&(l=x(n)),u.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8===l.nodeType);return l}function H(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(y(n)?n.some(function(n){H(n,l)}):l.push(n)),l}function L(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type&&0==(131072&e.__u))return u;if((\"function\"!=typeof o||o===b||i)&&t>(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f<l.length){if((e=l[f])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return f;f++}}return-1}function T(n,l,u){\"-\"===l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||p.test(l)?u:u+\"px\"}function A(n,l,u,t,i){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||T(n.style,l,\"\");if(u)for(l in u)t&&u[l]===t[l]||T(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/i,\"$1\")),l=l.toLowerCase()in n||\"onFocusOut\"===l||\"onFocusIn\"===l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t?u.u=t.u:(u.u=e,n.addEventListener(l,o?s:c,o)):n.removeEventListener(l,o?s:c,o);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!==l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=e++;else if(u.t<t.u)return;return l.event&&(u=l.event(u)),\"handleEvent\"in t?t.handleEvent(u):t(u)}}}function O(n,u,t,i,o,r,f,e,c,s){var a,h,v,p,w,_,g,m,x,C,S,M,$,I,H,L,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),r=[e=u.__e=t.__e]),(a=l.__b)&&a(u);n:if(\"function\"==typeof T)try{if(m=u.props,x=\"prototype\"in T&&T.prototype.render,C=(a=T.contextType)&&i[a.__c],S=a?C?C.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(m,S):(u.__c=h=new k(m,S),h.constructor=T,h.render=V),C&&C.sub(h),h.props=m,h.state||(h.state={}),h.context=S,h.__n=i,v=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,T.getDerivedStateFromProps(m,h.__s))),p=h.props,w=h.state,h.__v=u,v)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(x&&null==T.getDerivedStateFromProps&&m!==p&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,S),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,S)||u.__v===t.__v)){for(u.__v!==t.__v&&(h.props=m,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),M=0;M<h._sb.length;M++)h.__h.push(h._sb[M]);h._sb=[],h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,S),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(p,w,_)})}if(h.context=S,h.props=m,h.__P=n,h.__e=!1,$=l.__r,I=0,x){for(h.state=h.__s,h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[]}else do{h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++I<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),x&&!v&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(p,w)),P(n,y(L=null!=a&&a.type===b&&null==a.key?a.props.children:a)?L:[L],u,t,i,o,r,f,e,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&f.push(h),g&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=r){for(u.__u|=c?160:128;e&&8===e.nodeType&&e.nextSibling;)e=e.nextSibling;r[r.indexOf(e)]=null,u.__e=e}else u.__e=t.__e,u.__k=t.__k;l.__e(n,u,t)}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=z(t.__e,u,t,i,o,r,f,c,s);(a=l.diffed)&&a(u)}function j(n,u,t){u.__d=void 0;for(var i=0;i<t.length;i++)E(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function z(u,t,i,o,r,f,e,c,s){var a,v,p,d,_,g,m,b=i.props,k=t.props,C=t.type;if(\"svg\"===C?r=\"http://www.w3.org/2000/svg\":\"math\"===C?r=\"http://www.w3.org/1998/Math/MathML\":r||(r=\"http://www.w3.org/1999/xhtml\"),null!=f)for(a=0;a<f.length;a++)if((_=f[a])&&\"setAttribute\"in _==!!C&&(C?_.localName===C:3===_.nodeType)){u=_,f[a]=null;break}if(null==u){if(null===C)return document.createTextNode(k);u=document.createElementNS(r,C,k.is&&k),c&&(l.__m&&l.__m(t,f),c=!1),f=null}if(null===C)b===k||c&&u.data===k||(u.data=k);else{if(f=f&&n.call(u.childNodes),b=i.props||h,!c&&null!=f)for(b={},a=0;a<u.attributes.length;a++)b[(_=u.attributes[a]).name]=_.value;for(a in b)if(_=b[a],\"children\"==a);else if(\"dangerouslySetInnerHTML\"==a)p=_;else if(!(a in k)){if(\"value\"==a&&\"defaultValue\"in k||\"checked\"==a&&\"defaultChecked\"in k)continue;A(u,a,null,_,r)}for(a in k)_=k[a],\"children\"==a?d=_:\"dangerouslySetInnerHTML\"==a?v=_:\"value\"==a?g=_:\"checked\"==a?m=_:c&&\"function\"!=typeof _||b[a]===_||A(u,a,_,b[a],r);if(v)c||p&&(v.__html===p.__html||v.__html===u.innerHTML)||(u.innerHTML=v.__html),t.__k=[];else if(p&&(u.innerHTML=\"\"),P(u,y(d)?d:[d],t,i,o,\"foreignObject\"===C?\"http://www.w3.org/1999/xhtml\":r,f,e,f?f[0]:i.__k&&x(i,0),c,s),null!=f)for(a=f.length;a--;)w(f[a]);c||(a=\"value\",\"progress\"===C&&null==g?u.removeAttribute(\"value\"):void 0!==g&&(g!==u[a]||\"progress\"===C&&!g||\"option\"===C&&g!==b[a])&&A(u,a,g,b[a],r),a=\"checked\",void 0!==m&&m!==u[a]&&A(u,a,m,b[a],r))}return u}function E(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function N(n,u,t){var i,o;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||E(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&N(i[o],u,t||\"function\"!=typeof n.type);t||w(n.__e),n.__c=n.__=n.__e=n.__d=void 0}function V(n,l,u){return this.constructor(n,u)}function q(u,t,i){var o,r,f,e;l.__&&l.__(u,t),r=(o=\"function\"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],O(t,u=(!o&&i||t).__k=_(b,null,[u]),r||h,h,t.namespaceURI,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),j(f,u,e)}function B(n,l){q(n,l,B)}function D(l,u,t){var i,o,r,f,e=d({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),g(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.forEach(function(n){n.__e=!0,S(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=v.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},k.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),S(this))},k.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),S(this))},k.prototype.render=b,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},M.__r=0,e=0,c=F(!1),s=F(!0),a=0;export{k as Component,b as Fragment,D as cloneElement,G as createContext,_ as createElement,m as createRef,_ as h,B as hydrate,t as isValidElement,l as options,q as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\""\";break;case 38:f=\"&\";break;case 60:f=\"<\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,l=t;\"ref\"in t&&(a=t.ref,delete t.ref);var p={type:e,props:l,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===l[c]&&(l[c]=a[c]);return r.vnode&&r.vnode(p),p}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},l=/[A-Z]/g;function p(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var p=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(l,\"-$&\").toLowerCase()),_=\";\";\"number\"!=typeof a||p.startsWith(\"--\")||o.test(p)||(_=\"px;\"),i=i+p+\":\"+a+_}}return e+'=\"'+i+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(t)+'\"'}function _(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=_(r[e]);return r}}return n(\"\"+r)}export{u as jsx,p as jsxAttr,u as jsxDEV,_ as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function d(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function h(n){return o=1,p(D,n)}function p(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=o.__c.props!==n;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),c&&c.call(this,n,t,r)||i};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=d(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__H.__h.push(i))}function _(n,u){var i=d(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function T(n,r){var u=d(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=d(t++,10),i=h();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,p as useReducer,A as useRef,h as useState};\n//# sourceMappingURL=hooks.module.js.map\n","import{Component as n,createElement as t,options as e,toChildArray as r,Fragment as u,render as o,hydrate as i,createContext as c,createRef as f,cloneElement as l}from\"preact\";export{Component,Fragment,createContext,createElement,createRef}from\"preact\";import{useState as a,useLayoutEffect as s,useEffect as h,useCallback as v,useContext as d,useDebugValue as p,useId as m,useImperativeHandle as y,useMemo as _,useReducer as b,useRef as S}from\"preact/hooks\";export*from\"preact/hooks\";function g(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function E(n,t){var e=t(),r=a({t:{__:e,u:t}}),u=r[0].t,o=r[1];return s(function(){u.__=e,u.u=t,C(u)&&o({t:u})},[n,e,t]),h(function(){return C(u)&&o({t:u}),n(function(){C(u)&&o({t:u})})},[n]),e}function C(n){var t,e,r=n.u,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}function x(n){n()}function R(n){return n}function w(){return[!1,x]}var k=s;function I(n,t){this.props=n,this.context=t}function N(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:g(this.props,n)}function u(e){return this.shouldComponentUpdate=r,t(n,e)}return u.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",u.prototype.isReactComponent=!0,u.__f=!0,u}(I.prototype=new n).isPureReactComponent=!0,I.prototype.shouldComponentUpdate=function(n,t){return g(this.props,n)||g(this.state,t)};var M=e.__b;e.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),M&&M(n)};var T=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function A(n){function t(t){if(!(\"ref\"in t))return n(t,null);var e=t.ref;delete t.ref;var r=n(t,e);return t.ref=e,r}return t.$$typeof=T,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var D=function(n,t){return null==n?null:r(r(n).map(t))},L={map:D,forEach:D,count:function(n){return n?r(n).length:0},only:function(n){var t=r(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:r},O=e.__e;e.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);O(n,t,e,r)};var F=e.unmount;function U(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=function(n,t){for(var e in t)n[e]=t[e];return n}({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return U(n,t,e)})),n}function V(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return V(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function W(){this.__u=0,this.o=null,this.__b=null}function P(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function j(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return t(r,o)}return o.displayName=\"Lazy\",o.__f=!0,o}function z(){this.i=null,this.l=null}e.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),F&&F(n)},(W.prototype=new n).__c=function(n,t){var e=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(e);var u=P(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c())};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=V(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},W.prototype.componentWillUnmount=function(){this.o=[]},W.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement(\"div\"),o=this.__v.__k[0].__c;this.__v.__k[0]=U(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&t(u,null,n.fallback);return i&&(i.__u&=-33),[t(u,null,e.__a?null:n.children),i]};var B=function(n,t,e){if(++e[1]===e[0]&&n.l.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.l.size))for(e=n.i;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.i=e=e[2]}};function H(n){return this.getChildContext=function(){return n.context},n.children}function Z(n){var e=this,r=n.h;e.componentWillUnmount=function(){o(null,e.v),e.v=null,e.h=null},e.h&&e.h!==r&&e.componentWillUnmount(),e.v||(e.h=r,e.v={nodeType:1,parentNode:r,childNodes:[],contains:function(){return!0},appendChild:function(n){this.childNodes.push(n),e.h.appendChild(n)},insertBefore:function(n,t){this.childNodes.push(n),e.h.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.h.removeChild(n)}}),o(t(H,{context:e.context},n.__v),e.v)}function Y(n,e){var r=t(Z,{__v:n,h:e});return r.containerInfo=e,r}(z.prototype=new n).__a=function(n){var t=this,e=P(t.__v),r=t.l.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),B(t,n,r)):u()};e?e(o):o()}},z.prototype.render=function(n){this.i=null,this.l=new Map;var t=r(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.l.set(t[e],this.i=[1,0,this.i]);return n.children},z.prototype.componentDidUpdate=z.prototype.componentDidMount=function(){var n=this;this.l.forEach(function(t,e){B(n,e,t)})};var $=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,q=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,G=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,J=/[A-Z0-9]/g,K=\"undefined\"!=typeof document,Q=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function X(n,t,e){return null==t.__k&&(t.textContent=\"\"),o(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function nn(n,t,e){return i(n,t),\"function\"==typeof e&&e(),n?n.__c:null}n.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(t){Object.defineProperty(n.prototype,t,{configurable:!0,get:function(){return this[\"UNSAFE_\"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var tn=e.event;function en(){}function rn(){return this.cancelBubble}function un(){return this.defaultPrevented}e.event=function(n){return tn&&(n=tn(n)),n.persist=en,n.isPropagationStopped=rn,n.isDefaultPrevented=un,n.nativeEvent=n};var on,cn={enumerable:!1,configurable:!0,get:function(){return this.class}},fn=e.vnode;e.vnode=function(n){\"string\"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf(\"-\");for(var i in t){var c=t[i];if(!(\"value\"===i&&\"defaultValue\"in t&&null==c||K&&\"children\"===i&&\"noscript\"===e||\"class\"===i||\"className\"===i)){var f=i.toLowerCase();\"defaultValue\"===i&&\"value\"in t&&null==t.value?i=\"value\":\"download\"===i&&!0===c?c=\"\":\"translate\"===f&&\"no\"===c?c=!1:\"o\"===f[0]&&\"n\"===f[1]?\"ondoubleclick\"===f?i=\"ondblclick\":\"onchange\"!==f||\"input\"!==e&&\"textarea\"!==e||Q(t.type)?\"onfocus\"===f?i=\"onfocusin\":\"onblur\"===f?i=\"onfocusout\":G.test(i)&&(i=f):f=i=\"oninput\":o&&q.test(i)?i=i.replace(J,\"-$&\").toLowerCase():null===c&&(c=void 0),\"oninput\"===f&&u[i=f]&&(i=\"oninputCapture\"),u[i]=c}}\"select\"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=r(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),\"select\"==e&&null!=u.defaultValue&&(u.value=r(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,\"className\",cn)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=$,fn&&fn(n)};var ln=e.__r;e.__r=function(n){ln&&ln(n),on=n.__c};var an=e.diffed;e.diffed=function(n){an&&an(n);var t=n.props,e=n.__e;null!=e&&\"textarea\"===n.type&&\"value\"in t&&t.value!==e.value&&(e.value=null==t.value?\"\":t.value),on=null};var sn={ReactCurrentDispatcher:{current:{readContext:function(n){return on.__n[n.__c].props.value},useCallback:v,useContext:d,useDebugValue:p,useDeferredValue:R,useEffect:h,useId:m,useImperativeHandle:y,useInsertionEffect:k,useLayoutEffect:s,useMemo:_,useReducer:b,useRef:S,useState:a,useSyncExternalStore:E,useTransition:w}}},hn=\"18.3.1\";function vn(n){return t.bind(null,n)}function dn(n){return!!n&&n.$$typeof===$}function pn(n){return dn(n)&&n.type===u}function mn(n){return!!n&&!!n.displayName&&(\"string\"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith(\"Memo(\")}function yn(n){return dn(n)?l.apply(null,arguments):n}function _n(n){return!!n.__k&&(o(null,n),!0)}function bn(n){return n&&(n.base||1===n.nodeType&&n)||null}var Sn=function(n,t){return n(t)},gn=function(n,t){return n(t)},En=u,Cn=dn,xn={useState:a,useId:m,useReducer:b,useEffect:h,useLayoutEffect:s,useInsertionEffect:k,useTransition:w,useDeferredValue:R,useSyncExternalStore:E,startTransition:x,useRef:S,useImperativeHandle:y,useMemo:_,useCallback:v,useContext:d,useDebugValue:p,version:\"18.3.1\",Children:L,render:X,hydrate:nn,unmountComponentAtNode:_n,createPortal:Y,createElement:t,createContext:c,createFactory:vn,cloneElement:yn,createRef:f,Fragment:u,isValidElement:dn,isElement:Cn,isFragment:pn,isMemo:mn,findDOMNode:bn,Component:n,PureComponent:I,memo:N,forwardRef:A,flushSync:gn,unstable_batchedUpdates:Sn,StrictMode:En,Suspense:W,SuspenseList:z,lazy:j,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:sn};export{L as Children,I as PureComponent,En as StrictMode,W as Suspense,z as SuspenseList,sn as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,yn as cloneElement,vn as createFactory,Y as createPortal,xn as default,bn as findDOMNode,gn as flushSync,A as forwardRef,nn as hydrate,Cn as isElement,pn as isFragment,mn as isMemo,dn as isValidElement,j as lazy,N as memo,X as render,x as startTransition,_n as unmountComponentAtNode,Sn as unstable_batchedUpdates,R as useDeferredValue,k as useInsertionEffect,E as useSyncExternalStore,w as useTransition,hn as version};\n//# sourceMappingURL=compat.module.js.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { createContext, useContext, useMemo, useEffect, useLayoutEffect as useLayoutEffect$1, useRef, useState, useCallback, memo, useId, forwardRef, useImperativeHandle } from 'react';\nimport { flushSync } from 'react-dom';\nimport clsx from 'clsx';\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\n\nfunction getColSpan(column, lastFrozenColumnIndex, args) {\n const colSpan = typeof column.colSpan === 'function' ? column.colSpan(args) : 1;\n if (Number.isInteger(colSpan) && colSpan > 1 && (!column.frozen || column.idx + colSpan - 1 <= lastFrozenColumnIndex)) {\n return colSpan;\n }\n return undefined;\n}\n\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\nfunction scrollIntoView(element) {\n element?.scrollIntoView({\n inline: 'nearest',\n block: 'nearest'\n });\n}\n\nfunction createCellEvent(event) {\n let defaultPrevented = false;\n const cellEvent = {\n ...event,\n preventGridDefault() {\n defaultPrevented = true;\n },\n isGridDefaultPrevented() {\n return defaultPrevented;\n }\n };\n Object.setPrototypeOf(cellEvent, Object.getPrototypeOf(event));\n return cellEvent;\n}\n\nconst nonInputKeys = new Set(['Unidentified', 'Alt', 'AltGraph', 'CapsLock', 'Control', 'Fn', 'FnLock', 'Meta', 'NumLock', 'ScrollLock', 'Shift', 'Tab', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'End', 'Home', 'PageDown', 'PageUp', 'Insert', 'ContextMenu', 'Escape', 'Pause', 'Play', 'PrintScreen', 'F1', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12']);\nfunction isCtrlKeyHeldDown(e) {\n return (e.ctrlKey || e.metaKey) && e.key !== 'Control';\n}\nfunction isDefaultCellInput(event) {\n const vKey = 86;\n if (isCtrlKeyHeldDown(event) && event.keyCode !== vKey) return false;\n return !nonInputKeys.has(event.key);\n}\nfunction onEditorNavigation({\n key,\n target\n}) {\n if (key === 'Tab' && (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement || target instanceof HTMLSelectElement)) {\n return target.closest('.rdg-editor-container')?.querySelectorAll('input, textarea, select').length === 1;\n }\n return false;\n}\n\nconst measuringCellClassname = \"mlln6zg7-0-0-beta-47\";\nfunction renderMeasuringCells(viewportColumns) {\n return viewportColumns.map(({\n key,\n idx,\n minWidth,\n maxWidth\n }) => /*#__PURE__*/jsx(\"div\", {\n className: measuringCellClassname,\n style: {\n gridColumnStart: idx + 1,\n minWidth,\n maxWidth\n },\n \"data-measuring-cell-key\": key\n }, key));\n}\n\nfunction isSelectedCellEditable({\n selectedPosition,\n columns,\n rows\n}) {\n const column = columns[selectedPosition.idx];\n const row = rows[selectedPosition.rowIdx];\n return isCellEditableUtil(column, row);\n}\nfunction isCellEditableUtil(column, row) {\n return column.renderEditCell != null && (typeof column.editable === 'function' ? column.editable(row) : column.editable) !== false;\n}\nfunction getSelectedCellColSpan({\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowIdx,\n mainHeaderRowIdx,\n lastFrozenColumnIndex,\n column\n}) {\n const topSummaryRowsCount = topSummaryRows?.length ?? 0;\n if (rowIdx === mainHeaderRowIdx) {\n return getColSpan(column, lastFrozenColumnIndex, {\n type: 'HEADER'\n });\n }\n if (topSummaryRows && rowIdx > mainHeaderRowIdx && rowIdx <= topSummaryRowsCount + mainHeaderRowIdx) {\n return getColSpan(column, lastFrozenColumnIndex, {\n type: 'SUMMARY',\n row: topSummaryRows[rowIdx + topSummaryRowsCount]\n });\n }\n if (rowIdx >= 0 && rowIdx < rows.length) {\n const row = rows[rowIdx];\n return getColSpan(column, lastFrozenColumnIndex, {\n type: 'ROW',\n row\n });\n }\n if (bottomSummaryRows) {\n return getColSpan(column, lastFrozenColumnIndex, {\n type: 'SUMMARY',\n row: bottomSummaryRows[rowIdx - rows.length]\n });\n }\n return undefined;\n}\nfunction getNextSelectedCellPosition({\n moveUp,\n moveNext,\n cellNavigationMode,\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n minRowIdx,\n mainHeaderRowIdx,\n maxRowIdx,\n currentPosition: {\n idx: currentIdx,\n rowIdx: currentRowIdx\n },\n nextPosition,\n lastFrozenColumnIndex,\n isCellWithinBounds\n}) {\n let {\n idx: nextIdx,\n rowIdx: nextRowIdx\n } = nextPosition;\n const columnsCount = columns.length;\n const setColSpan = moveNext => {\n for (const column of colSpanColumns) {\n const colIdx = column.idx;\n if (colIdx > nextIdx) break;\n const colSpan = getSelectedCellColSpan({\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowIdx: nextRowIdx,\n mainHeaderRowIdx,\n lastFrozenColumnIndex,\n column\n });\n if (colSpan && nextIdx > colIdx && nextIdx < colSpan + colIdx) {\n nextIdx = colIdx + (moveNext ? colSpan : 0);\n break;\n }\n }\n };\n const getParentRowIdx = parent => {\n return parent.level + mainHeaderRowIdx;\n };\n const setHeaderGroupColAndRowSpan = () => {\n if (moveNext) {\n const nextColumn = columns[nextIdx];\n let parent = nextColumn.parent;\n while (parent !== undefined) {\n const parentRowIdx = getParentRowIdx(parent);\n if (nextRowIdx === parentRowIdx) {\n nextIdx = parent.idx + parent.colSpan;\n break;\n }\n parent = parent.parent;\n }\n } else if (moveUp) {\n const nextColumn = columns[nextIdx];\n let parent = nextColumn.parent;\n let found = false;\n while (parent !== undefined) {\n const parentRowIdx = getParentRowIdx(parent);\n if (nextRowIdx >= parentRowIdx) {\n nextIdx = parent.idx;\n nextRowIdx = parentRowIdx;\n found = true;\n break;\n }\n parent = parent.parent;\n }\n if (!found) {\n nextIdx = currentIdx;\n nextRowIdx = currentRowIdx;\n }\n }\n };\n if (isCellWithinBounds(nextPosition)) {\n setColSpan(moveNext);\n if (nextRowIdx < mainHeaderRowIdx) {\n setHeaderGroupColAndRowSpan();\n }\n }\n if (cellNavigationMode === 'CHANGE_ROW') {\n const isAfterLastColumn = nextIdx === columnsCount;\n const isBeforeFirstColumn = nextIdx === -1;\n if (isAfterLastColumn) {\n const isLastRow = nextRowIdx === maxRowIdx;\n if (!isLastRow) {\n nextIdx = 0;\n nextRowIdx += 1;\n }\n } else if (isBeforeFirstColumn) {\n const isFirstRow = nextRowIdx === minRowIdx;\n if (!isFirstRow) {\n nextRowIdx -= 1;\n nextIdx = columnsCount - 1;\n }\n setColSpan(false);\n }\n }\n if (nextRowIdx < mainHeaderRowIdx) {\n const nextColumn = columns[nextIdx];\n let parent = nextColumn.parent;\n const nextParentRowIdx = nextRowIdx;\n nextRowIdx = mainHeaderRowIdx;\n while (parent !== undefined) {\n const parentRowIdx = getParentRowIdx(parent);\n if (parentRowIdx >= nextParentRowIdx) {\n nextRowIdx = parentRowIdx;\n nextIdx = parent.idx;\n }\n parent = parent.parent;\n }\n }\n return {\n idx: nextIdx,\n rowIdx: nextRowIdx\n };\n}\nfunction canExitGrid({\n maxColIdx,\n minRowIdx,\n maxRowIdx,\n selectedPosition: {\n rowIdx,\n idx\n },\n shiftKey\n}) {\n const atLastCellInRow = idx === maxColIdx;\n const atFirstCellInRow = idx === 0;\n const atLastRow = rowIdx === maxRowIdx;\n const atFirstRow = rowIdx === minRowIdx;\n return shiftKey ? atFirstCellInRow && atFirstRow : atLastCellInRow && atLastRow;\n}\n\nconst cell = \"cj343x07-0-0-beta-47\";\nconst cellClassname = `rdg-cell ${cell}`;\nconst cellFrozen = \"csofj7r7-0-0-beta-47\";\nconst cellFrozenClassname = `rdg-cell-frozen ${cellFrozen}`;\n\nfunction getRowStyle(rowIdx) {\n return {\n '--rdg-grid-row-start': rowIdx\n };\n}\nfunction getHeaderCellStyle(column, rowIdx, rowSpan) {\n const gridRowEnd = rowIdx + 1;\n const paddingBlockStart = `calc(${rowSpan - 1} * var(--rdg-header-row-height))`;\n if (column.parent === undefined) {\n return {\n insetBlockStart: 0,\n gridRowStart: 1,\n gridRowEnd,\n paddingBlockStart\n };\n }\n return {\n insetBlockStart: `calc(${rowIdx - rowSpan} * var(--rdg-header-row-height))`,\n gridRowStart: gridRowEnd - rowSpan,\n gridRowEnd,\n paddingBlockStart\n };\n}\nfunction getCellStyle(column, colSpan = 1) {\n const index = column.idx + 1;\n return {\n gridColumnStart: index,\n gridColumnEnd: index + colSpan,\n insetInlineStart: column.frozen ? `var(--rdg-frozen-left-${column.idx})` : undefined\n };\n}\nfunction getCellClassname(column, ...extraClasses) {\n return clsx(cellClassname, ...extraClasses, column.frozen && cellFrozenClassname);\n}\n\nconst {\n min,\n max,\n floor,\n sign,\n abs\n} = Math;\nfunction assertIsValidKeyGetter(keyGetter) {\n if (typeof keyGetter !== 'function') {\n throw new Error('Please specify the rowKeyGetter prop to use selection');\n }\n}\nfunction clampColumnWidth(width, {\n minWidth,\n maxWidth\n}) {\n width = max(width, minWidth);\n if (typeof maxWidth === 'number' && maxWidth >= minWidth) {\n return min(width, maxWidth);\n }\n return width;\n}\nfunction getHeaderCellRowSpan(column, rowIdx) {\n return column.parent === undefined ? rowIdx : column.level - column.parent.level;\n}\n\nconst checkbox = \"c1bn88vv7-0-0-beta-47\";\nconst checkboxClassname = `rdg-checkbox-input ${checkbox}`;\nfunction renderCheckbox({\n onChange,\n indeterminate,\n ...props\n}) {\n function handleChange(e) {\n onChange(e.target.checked, e.nativeEvent.shiftKey);\n }\n return /*#__PURE__*/jsx(\"input\", {\n ref: el => {\n if (el) {\n el.indeterminate = indeterminate === true;\n }\n },\n type: \"checkbox\",\n className: checkboxClassname,\n onChange: handleChange,\n ...props\n });\n}\n\nconst groupCellContent = \"g1s9ylgp7-0-0-beta-47\";\nconst groupCellContentClassname = `rdg-group-cell-content ${groupCellContent}`;\nconst caret = \"cz54e4y7-0-0-beta-47\";\nconst caretClassname = `rdg-caret ${caret}`;\nfunction renderToggleGroup(props) {\n return /*#__PURE__*/jsx(ToggleGroup, {\n ...props\n });\n}\nfunction ToggleGroup({\n groupKey,\n isExpanded,\n tabIndex,\n toggleGroup\n}) {\n function handleKeyDown({\n key\n }) {\n if (key === 'Enter') {\n toggleGroup();\n }\n }\n const d = isExpanded ? 'M1 1 L 7 7 L 13 1' : 'M1 7 L 7 1 L 13 7';\n return /*#__PURE__*/jsxs(\"span\", {\n className: groupCellContentClassname,\n tabIndex: tabIndex,\n onKeyDown: handleKeyDown,\n children: [groupKey, /*#__PURE__*/jsx(\"svg\", {\n viewBox: \"0 0 14 8\",\n width: \"14\",\n height: \"8\",\n className: caretClassname,\n \"aria-hidden\": true,\n children: /*#__PURE__*/jsx(\"path\", {\n d: d\n })\n })]\n });\n}\n\nfunction renderValue(props) {\n try {\n return props.row[props.column.key];\n } catch {\n return null;\n }\n}\n\nconst DataGridDefaultRenderersContext = /*#__PURE__*/createContext(undefined);\nconst DataGridDefaultRenderersProvider = DataGridDefaultRenderersContext.Provider;\nfunction useDefaultRenderers() {\n return useContext(DataGridDefaultRenderersContext);\n}\n\nfunction SelectCellFormatter({\n value,\n tabIndex,\n indeterminate,\n disabled,\n onChange,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n}) {\n const renderCheckbox = useDefaultRenderers().renderCheckbox;\n return renderCheckbox({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n tabIndex,\n indeterminate,\n disabled,\n checked: value,\n onChange\n });\n}\n\nconst RowSelectionContext = /*#__PURE__*/createContext(undefined);\nconst RowSelectionProvider = RowSelectionContext.Provider;\nconst RowSelectionChangeContext = /*#__PURE__*/createContext(undefined);\nconst RowSelectionChangeProvider = RowSelectionChangeContext.Provider;\nfunction useRowSelection() {\n const rowSelectionContext = useContext(RowSelectionContext);\n const rowSelectionChangeContext = useContext(RowSelectionChangeContext);\n if (rowSelectionContext === undefined || rowSelectionChangeContext === undefined) {\n throw new Error('useRowSelection must be used within DataGrid cells');\n }\n return {\n isRowSelectionDisabled: rowSelectionContext.isRowSelectionDisabled,\n isRowSelected: rowSelectionContext.isRowSelected,\n onRowSelectionChange: rowSelectionChangeContext\n };\n}\nconst HeaderRowSelectionContext = /*#__PURE__*/createContext(undefined);\nconst HeaderRowSelectionProvider = HeaderRowSelectionContext.Provider;\nconst HeaderRowSelectionChangeContext = /*#__PURE__*/createContext(undefined);\nconst HeaderRowSelectionChangeProvider = HeaderRowSelectionChangeContext.Provider;\nfunction useHeaderRowSelection() {\n const headerRowSelectionContext = useContext(HeaderRowSelectionContext);\n const headerRowSelectionChangeContext = useContext(HeaderRowSelectionChangeContext);\n if (headerRowSelectionContext === undefined || headerRowSelectionChangeContext === undefined) {\n throw new Error('useHeaderRowSelection must be used within DataGrid cells');\n }\n return {\n isIndeterminate: headerRowSelectionContext.isIndeterminate,\n isRowSelected: headerRowSelectionContext.isRowSelected,\n onRowSelectionChange: headerRowSelectionChangeContext\n };\n}\n\nconst SELECT_COLUMN_KEY = 'rdg-select-column';\nfunction HeaderRenderer(props) {\n const {\n isIndeterminate,\n isRowSelected,\n onRowSelectionChange\n } = useHeaderRowSelection();\n return /*#__PURE__*/jsx(SelectCellFormatter, {\n \"aria-label\": \"Select All\",\n tabIndex: props.tabIndex,\n indeterminate: isIndeterminate,\n value: isRowSelected,\n onChange: checked => {\n onRowSelectionChange({\n checked: isIndeterminate ? false : checked\n });\n }\n });\n}\nfunction SelectFormatter(props) {\n const {\n isRowSelectionDisabled,\n isRowSelected,\n onRowSelectionChange\n } = useRowSelection();\n return /*#__PURE__*/jsx(SelectCellFormatter, {\n \"aria-label\": \"Select\",\n tabIndex: props.tabIndex,\n disabled: isRowSelectionDisabled,\n value: isRowSelected,\n onChange: (checked, isShiftClick) => {\n onRowSelectionChange({\n row: props.row,\n checked,\n isShiftClick\n });\n }\n });\n}\nfunction SelectGroupFormatter(props) {\n const {\n isRowSelected,\n onRowSelectionChange\n } = useRowSelection();\n return /*#__PURE__*/jsx(SelectCellFormatter, {\n \"aria-label\": \"Select Group\",\n tabIndex: props.tabIndex,\n value: isRowSelected,\n onChange: checked => {\n onRowSelectionChange({\n row: props.row,\n checked,\n isShiftClick: false\n });\n }\n });\n}\nconst SelectColumn = {\n key: SELECT_COLUMN_KEY,\n name: '',\n width: 35,\n minWidth: 35,\n maxWidth: 35,\n resizable: false,\n sortable: false,\n frozen: true,\n renderHeaderCell(props) {\n return /*#__PURE__*/jsx(HeaderRenderer, {\n ...props\n });\n },\n renderCell(props) {\n return /*#__PURE__*/jsx(SelectFormatter, {\n ...props\n });\n },\n renderGroupCell(props) {\n return /*#__PURE__*/jsx(SelectGroupFormatter, {\n ...props\n });\n }\n};\n\nconst DEFAULT_COLUMN_WIDTH = 'auto';\nconst DEFAULT_COLUMN_MIN_WIDTH = 50;\nfunction useCalculatedColumns({\n rawColumns,\n defaultColumnOptions,\n getColumnWidth,\n viewportWidth,\n scrollLeft,\n enableVirtualization\n}) {\n const defaultWidth = defaultColumnOptions?.width ?? DEFAULT_COLUMN_WIDTH;\n const defaultMinWidth = defaultColumnOptions?.minWidth ?? DEFAULT_COLUMN_MIN_WIDTH;\n const defaultMaxWidth = defaultColumnOptions?.maxWidth ?? undefined;\n const defaultCellRenderer = defaultColumnOptions?.renderCell ?? renderValue;\n const defaultSortable = defaultColumnOptions?.sortable ?? false;\n const defaultResizable = defaultColumnOptions?.resizable ?? false;\n const defaultDraggable = defaultColumnOptions?.draggable ?? false;\n const {\n columns,\n colSpanColumns,\n lastFrozenColumnIndex,\n headerRowsCount\n } = useMemo(() => {\n let lastFrozenColumnIndex = -1;\n let headerRowsCount = 1;\n const columns = [];\n collectColumns(rawColumns, 1);\n function collectColumns(rawColumns, level, parent) {\n for (const rawColumn of rawColumns) {\n if ('children' in rawColumn) {\n const calculatedColumnParent = {\n name: rawColumn.name,\n parent,\n idx: -1,\n colSpan: 0,\n level: 0,\n headerCellClass: rawColumn.headerCellClass\n };\n collectColumns(rawColumn.children, level + 1, calculatedColumnParent);\n continue;\n }\n const frozen = rawColumn.frozen ?? false;\n const column = {\n ...rawColumn,\n parent,\n idx: 0,\n level: 0,\n frozen,\n width: rawColumn.width ?? defaultWidth,\n minWidth: rawColumn.minWidth ?? defaultMinWidth,\n maxWidth: rawColumn.maxWidth ?? defaultMaxWidth,\n sortable: rawColumn.sortable ?? defaultSortable,\n resizable: rawColumn.resizable ?? defaultResizable,\n draggable: rawColumn.draggable ?? defaultDraggable,\n renderCell: rawColumn.renderCell ?? defaultCellRenderer\n };\n columns.push(column);\n if (frozen) {\n lastFrozenColumnIndex++;\n }\n if (level > headerRowsCount) {\n headerRowsCount = level;\n }\n }\n }\n columns.sort(({\n key: aKey,\n frozen: frozenA\n }, {\n key: bKey,\n frozen: frozenB\n }) => {\n if (aKey === SELECT_COLUMN_KEY) return -1;\n if (bKey === SELECT_COLUMN_KEY) return 1;\n if (frozenA) {\n if (frozenB) return 0;\n return -1;\n }\n if (frozenB) return 1;\n return 0;\n });\n const colSpanColumns = [];\n columns.forEach((column, idx) => {\n column.idx = idx;\n updateColumnParent(column, idx, 0);\n if (column.colSpan != null) {\n colSpanColumns.push(column);\n }\n });\n return {\n columns,\n colSpanColumns,\n lastFrozenColumnIndex,\n headerRowsCount\n };\n }, [rawColumns, defaultWidth, defaultMinWidth, defaultMaxWidth, defaultCellRenderer, defaultResizable, defaultSortable, defaultDraggable]);\n const {\n templateColumns,\n layoutCssVars,\n totalFrozenColumnWidth,\n columnMetrics\n } = useMemo(() => {\n const columnMetrics = new Map();\n let left = 0;\n let totalFrozenColumnWidth = 0;\n const templateColumns = [];\n for (const column of columns) {\n let width = getColumnWidth(column);\n if (typeof width === 'number') {\n width = clampColumnWidth(width, column);\n } else {\n width = column.minWidth;\n }\n templateColumns.push(`${width}px`);\n columnMetrics.set(column, {\n width,\n left\n });\n left += width;\n }\n if (lastFrozenColumnIndex !== -1) {\n const columnMetric = columnMetrics.get(columns[lastFrozenColumnIndex]);\n totalFrozenColumnWidth = columnMetric.left + columnMetric.width;\n }\n const layoutCssVars = {};\n for (let i = 0; i <= lastFrozenColumnIndex; i++) {\n const column = columns[i];\n layoutCssVars[`--rdg-frozen-left-${column.idx}`] = `${columnMetrics.get(column).left}px`;\n }\n return {\n templateColumns,\n layoutCssVars,\n totalFrozenColumnWidth,\n columnMetrics\n };\n }, [getColumnWidth, columns, lastFrozenColumnIndex]);\n const [colOverscanStartIdx, colOverscanEndIdx] = useMemo(() => {\n if (!enableVirtualization) {\n return [0, columns.length - 1];\n }\n const viewportLeft = scrollLeft + totalFrozenColumnWidth;\n const viewportRight = scrollLeft + viewportWidth;\n const lastColIdx = columns.length - 1;\n const firstUnfrozenColumnIdx = min(lastFrozenColumnIndex + 1, lastColIdx);\n if (viewportLeft >= viewportRight) {\n return [firstUnfrozenColumnIdx, firstUnfrozenColumnIdx];\n }\n let colVisibleStartIdx = firstUnfrozenColumnIdx;\n while (colVisibleStartIdx < lastColIdx) {\n const {\n left,\n width\n } = columnMetrics.get(columns[colVisibleStartIdx]);\n if (left + width > viewportLeft) {\n break;\n }\n colVisibleStartIdx++;\n }\n let colVisibleEndIdx = colVisibleStartIdx;\n while (colVisibleEndIdx < lastColIdx) {\n const {\n left,\n width\n } = columnMetrics.get(columns[colVisibleEndIdx]);\n if (left + width >= viewportRight) {\n break;\n }\n colVisibleEndIdx++;\n }\n const colOverscanStartIdx = max(firstUnfrozenColumnIdx, colVisibleStartIdx - 1);\n const colOverscanEndIdx = min(lastColIdx, colVisibleEndIdx + 1);\n return [colOverscanStartIdx, colOverscanEndIdx];\n }, [columnMetrics, columns, lastFrozenColumnIndex, scrollLeft, totalFrozenColumnWidth, viewportWidth, enableVirtualization]);\n return {\n columns,\n colSpanColumns,\n colOverscanStartIdx,\n colOverscanEndIdx,\n templateColumns,\n layoutCssVars,\n headerRowsCount,\n lastFrozenColumnIndex,\n totalFrozenColumnWidth\n };\n}\nfunction updateColumnParent(column, index, level) {\n if (level < column.level) {\n column.level = level;\n }\n if (column.parent !== undefined) {\n const {\n parent\n } = column;\n if (parent.idx === -1) {\n parent.idx = index;\n }\n parent.colSpan += 1;\n updateColumnParent(parent, index, level - 1);\n }\n}\n\nconst useLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect$1;\n\nfunction useColumnWidths(columns, viewportColumns, templateColumns, gridRef, gridWidth, resizedColumnWidths, measuredColumnWidths, setResizedColumnWidths, setMeasuredColumnWidths, onColumnResize) {\n const prevGridWidthRef = useRef(gridWidth);\n const columnsCanFlex = columns.length === viewportColumns.length;\n const ignorePreviouslyMeasuredColumns = columnsCanFlex && gridWidth !== prevGridWidthRef.current;\n const newTemplateColumns = [...templateColumns];\n const columnsToMeasure = [];\n for (const {\n key,\n idx,\n width\n } of viewportColumns) {\n if (typeof width === 'string' && (ignorePreviouslyMeasuredColumns || !measuredColumnWidths.has(key)) && !resizedColumnWidths.has(key)) {\n newTemplateColumns[idx] = width;\n columnsToMeasure.push(key);\n }\n }\n const gridTemplateColumns = newTemplateColumns.join(' ');\n useLayoutEffect(() => {\n prevGridWidthRef.current = gridWidth;\n updateMeasuredWidths(columnsToMeasure);\n });\n function updateMeasuredWidths(columnsToMeasure) {\n if (columnsToMeasure.length === 0) return;\n setMeasuredColumnWidths(measuredColumnWidths => {\n const newMeasuredColumnWidths = new Map(measuredColumnWidths);\n let hasChanges = false;\n for (const key of columnsToMeasure) {\n const measuredWidth = measureColumnWidth(gridRef, key);\n hasChanges ||= measuredWidth !== measuredColumnWidths.get(key);\n if (measuredWidth === undefined) {\n newMeasuredColumnWidths.delete(key);\n } else {\n newMeasuredColumnWidths.set(key, measuredWidth);\n }\n }\n return hasChanges ? newMeasuredColumnWidths : measuredColumnWidths;\n });\n }\n function handleColumnResize(column, nextWidth) {\n const {\n key: resizingKey\n } = column;\n const newTemplateColumns = [...templateColumns];\n const columnsToMeasure = [];\n for (const {\n key,\n idx,\n width\n } of viewportColumns) {\n if (resizingKey === key) {\n const width = typeof nextWidth === 'number' ? `${nextWidth}px` : nextWidth;\n newTemplateColumns[idx] = width;\n } else if (columnsCanFlex && typeof width === 'string' && !resizedColumnWidths.has(key)) {\n newTemplateColumns[idx] = width;\n columnsToMeasure.push(key);\n }\n }\n gridRef.current.style.gridTemplateColumns = newTemplateColumns.join(' ');\n const measuredWidth = typeof nextWidth === 'number' ? nextWidth : measureColumnWidth(gridRef, resizingKey);\n flushSync(() => {\n setResizedColumnWidths(resizedColumnWidths => {\n const newResizedColumnWidths = new Map(resizedColumnWidths);\n newResizedColumnWidths.set(resizingKey, measuredWidth);\n return newResizedColumnWidths;\n });\n updateMeasuredWidths(columnsToMeasure);\n });\n onColumnResize?.(column.idx, measuredWidth);\n }\n return {\n gridTemplateColumns,\n handleColumnResize\n };\n}\nfunction measureColumnWidth(gridRef, key) {\n const selector = `[data-measuring-cell-key=\"${CSS.escape(key)}\"]`;\n const measuringCell = gridRef.current?.querySelector(selector);\n return measuringCell?.getBoundingClientRect().width;\n}\n\nfunction useGridDimensions() {\n const gridRef = useRef(null);\n const [inlineSize, setInlineSize] = useState(1);\n const [blockSize, setBlockSize] = useState(1);\n const [horizontalScrollbarHeight, setHorizontalScrollbarHeight] = useState(0);\n useLayoutEffect(() => {\n const {\n ResizeObserver\n } = window;\n if (ResizeObserver == null) return;\n const {\n clientWidth,\n clientHeight,\n offsetWidth,\n offsetHeight\n } = gridRef.current;\n const {\n width,\n height\n } = gridRef.current.getBoundingClientRect();\n const initialHorizontalScrollbarHeight = offsetHeight - clientHeight;\n const initialWidth = width - offsetWidth + clientWidth;\n const initialHeight = height - initialHorizontalScrollbarHeight;\n setInlineSize(initialWidth);\n setBlockSize(initialHeight);\n setHorizontalScrollbarHeight(initialHorizontalScrollbarHeight);\n const resizeObserver = new ResizeObserver(entries => {\n const size = entries[0].contentBoxSize[0];\n const {\n clientHeight,\n offsetHeight\n } = gridRef.current;\n flushSync(() => {\n setInlineSize(size.inlineSize);\n setBlockSize(size.blockSize);\n setHorizontalScrollbarHeight(offsetHeight - clientHeight);\n });\n });\n resizeObserver.observe(gridRef.current);\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n return [gridRef, inlineSize, blockSize, horizontalScrollbarHeight];\n}\n\nfunction useLatestFunc(fn) {\n const ref = useRef(fn);\n useEffect(() => {\n ref.current = fn;\n });\n const callbackFn = useCallback((...args) => {\n ref.current(...args);\n }, []);\n return fn ? callbackFn : fn;\n}\n\nfunction useRovingTabIndex(isSelected) {\n const [isChildFocused, setIsChildFocused] = useState(false);\n if (isChildFocused && !isSelected) {\n setIsChildFocused(false);\n }\n function onFocus(event) {\n if (event.target !== event.currentTarget) {\n setIsChildFocused(true);\n }\n }\n const isFocusable = isSelected && !isChildFocused;\n return {\n tabIndex: isFocusable ? 0 : -1,\n childTabIndex: isSelected ? 0 : -1,\n onFocus: isSelected ? onFocus : undefined\n };\n}\n\nfunction useViewportColumns({\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n colOverscanStartIdx,\n colOverscanEndIdx,\n lastFrozenColumnIndex,\n rowOverscanStartIdx,\n rowOverscanEndIdx\n}) {\n const startIdx = useMemo(() => {\n if (colOverscanStartIdx === 0) return 0;\n let startIdx = colOverscanStartIdx;\n const updateStartIdx = (colIdx, colSpan) => {\n if (colSpan !== undefined && colIdx + colSpan > colOverscanStartIdx) {\n startIdx = colIdx;\n return true;\n }\n return false;\n };\n for (const column of colSpanColumns) {\n const colIdx = column.idx;\n if (colIdx >= startIdx) break;\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: 'HEADER'\n }))) {\n break;\n }\n for (let rowIdx = rowOverscanStartIdx; rowIdx <= rowOverscanEndIdx; rowIdx++) {\n const row = rows[rowIdx];\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: 'ROW',\n row\n }))) {\n break;\n }\n }\n if (topSummaryRows != null) {\n for (const row of topSummaryRows) {\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: 'SUMMARY',\n row\n }))) {\n break;\n }\n }\n }\n if (bottomSummaryRows != null) {\n for (const row of bottomSummaryRows) {\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: 'SUMMARY',\n row\n }))) {\n break;\n }\n }\n }\n }\n return startIdx;\n }, [rowOverscanStartIdx, rowOverscanEndIdx, rows, topSummaryRows, bottomSummaryRows, colOverscanStartIdx, lastFrozenColumnIndex, colSpanColumns]);\n return useMemo(() => {\n const viewportColumns = [];\n for (let colIdx = 0; colIdx <= colOverscanEndIdx; colIdx++) {\n const column = columns[colIdx];\n if (colIdx < startIdx && !column.frozen) continue;\n viewportColumns.push(column);\n }\n return viewportColumns;\n }, [startIdx, colOverscanEndIdx, columns]);\n}\n\nfunction useViewportRows({\n rows,\n rowHeight,\n clientHeight,\n scrollTop,\n enableVirtualization\n}) {\n const {\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n } = useMemo(() => {\n if (typeof rowHeight === 'number') {\n return {\n totalRowHeight: rowHeight * rows.length,\n gridTemplateRows: ` repeat(${rows.length}, ${rowHeight}px)`,\n getRowTop: rowIdx => rowIdx * rowHeight,\n getRowHeight: () => rowHeight,\n findRowIdx: offset => floor(offset / rowHeight)\n };\n }\n let totalRowHeight = 0;\n let gridTemplateRows = ' ';\n const rowPositions = rows.map(row => {\n const currentRowHeight = rowHeight(row);\n const position = {\n top: totalRowHeight,\n height: currentRowHeight\n };\n gridTemplateRows += `${currentRowHeight}px `;\n totalRowHeight += currentRowHeight;\n return position;\n });\n const validateRowIdx = rowIdx => {\n return max(0, min(rows.length - 1, rowIdx));\n };\n return {\n totalRowHeight,\n gridTemplateRows,\n getRowTop: rowIdx => rowPositions[validateRowIdx(rowIdx)].top,\n getRowHeight: rowIdx => rowPositions[validateRowIdx(rowIdx)].height,\n findRowIdx(offset) {\n let start = 0;\n let end = rowPositions.length - 1;\n while (start <= end) {\n const middle = start + floor((end - start) / 2);\n const currentOffset = rowPositions[middle].top;\n if (currentOffset === offset) return middle;\n if (currentOffset < offset) {\n start = middle + 1;\n } else if (currentOffset > offset) {\n end = middle - 1;\n }\n if (start > end) return end;\n }\n return 0;\n }\n };\n }, [rowHeight, rows]);\n let rowOverscanStartIdx = 0;\n let rowOverscanEndIdx = rows.length - 1;\n if (enableVirtualization) {\n const overscanThreshold = 4;\n const rowVisibleStartIdx = findRowIdx(scrollTop);\n const rowVisibleEndIdx = findRowIdx(scrollTop + clientHeight);\n rowOverscanStartIdx = max(0, rowVisibleStartIdx - overscanThreshold);\n rowOverscanEndIdx = min(rows.length - 1, rowVisibleEndIdx + overscanThreshold);\n }\n return {\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n };\n}\n\nconst cellDragHandle = \"c1w9bbhr7-0-0-beta-47\";\nconst cellDragHandleFrozenClassname = \"c1creorc7-0-0-beta-47\";\nconst cellDragHandleClassname = `rdg-cell-drag-handle ${cellDragHandle}`;\nfunction DragHandle({\n gridRowStart,\n rows,\n column,\n columnWidth,\n maxColIdx,\n isLastRow,\n selectedPosition,\n latestDraggedOverRowIdx,\n isCellEditable,\n onRowsChange,\n onFill,\n onClick,\n setDragging,\n setDraggedOverRowIdx\n}) {\n const {\n idx,\n rowIdx\n } = selectedPosition;\n function handleMouseDown(event) {\n event.preventDefault();\n if (event.buttons !== 1) return;\n setDragging(true);\n window.addEventListener('mouseover', onMouseOver);\n window.addEventListener('mouseup', onMouseUp);\n function onMouseOver(event) {\n if (event.buttons !== 1) onMouseUp();\n }\n function onMouseUp() {\n window.removeEventListener('mouseover', onMouseOver);\n window.removeEventListener('mouseup', onMouseUp);\n setDragging(false);\n handleDragEnd();\n }\n }\n function handleDragEnd() {\n const overRowIdx = latestDraggedOverRowIdx.current;\n if (overRowIdx === undefined) return;\n const startRowIndex = rowIdx < overRowIdx ? rowIdx + 1 : overRowIdx;\n const endRowIndex = rowIdx < overRowIdx ? overRowIdx + 1 : rowIdx;\n updateRows(startRowIndex, endRowIndex);\n setDraggedOverRowIdx(undefined);\n }\n function handleDoubleClick(event) {\n event.stopPropagation();\n updateRows(rowIdx + 1, rows.length);\n }\n function updateRows(startRowIdx, endRowIdx) {\n const sourceRow = rows[rowIdx];\n const updatedRows = [...rows];\n const indexes = [];\n for (let i = startRowIdx; i < endRowIdx; i++) {\n if (isCellEditable({\n rowIdx: i,\n idx\n })) {\n const updatedRow = onFill({\n columnKey: column.key,\n sourceRow,\n targetRow: rows[i]\n });\n if (updatedRow !== rows[i]) {\n updatedRows[i] = updatedRow;\n indexes.push(i);\n }\n }\n }\n if (indexes.length > 0) {\n onRowsChange?.(updatedRows, {\n indexes,\n column\n });\n }\n }\n function getStyle() {\n const colSpan = column.colSpan?.({\n type: 'ROW',\n row: rows[rowIdx]\n }) ?? 1;\n const {\n insetInlineStart,\n ...style\n } = getCellStyle(column, colSpan);\n const marginEnd = 'calc(var(--rdg-drag-handle-size) * -0.5 + 1px)';\n const isLastColumn = column.idx + colSpan - 1 === maxColIdx;\n return {\n ...style,\n gridRowStart,\n marginInlineEnd: isLastColumn ? undefined : marginEnd,\n marginBlockEnd: isLastRow ? undefined : marginEnd,\n insetInlineStart: insetInlineStart ? `calc(${insetInlineStart} + ${columnWidth}px + var(--rdg-drag-handle-size) * -0.5 - 1px)` : undefined\n };\n }\n return /*#__PURE__*/jsx(\"div\", {\n style: getStyle(),\n className: clsx(cellDragHandleClassname, column.frozen && cellDragHandleFrozenClassname),\n onClick: onClick,\n onMouseDown: handleMouseDown,\n onDoubleClick: handleDoubleClick\n });\n}\n\nconst cellEditing = \"cis5rrm7-0-0-beta-47\";\nfunction EditCell({\n column,\n colSpan,\n row,\n rowIdx,\n onRowChange,\n closeEditor,\n onKeyDown,\n navigate\n}) {\n const frameRequestRef = useRef(undefined);\n const commitOnOutsideClick = column.editorOptions?.commitOnOutsideClick !== false;\n const commitOnOutsideMouseDown = useLatestFunc(() => {\n onClose(true, false);\n });\n useEffect(() => {\n if (!commitOnOutsideClick) return;\n function onWindowCaptureMouseDown() {\n frameRequestRef.current = requestAnimationFrame(commitOnOutsideMouseDown);\n }\n addEventListener('mousedown', onWindowCaptureMouseDown, {\n capture: true\n });\n return () => {\n removeEventListener('mousedown', onWindowCaptureMouseDown, {\n capture: true\n });\n cancelFrameRequest();\n };\n }, [commitOnOutsideClick, commitOnOutsideMouseDown]);\n function cancelFrameRequest() {\n cancelAnimationFrame(frameRequestRef.current);\n }\n function handleKeyDown(event) {\n if (onKeyDown) {\n const cellEvent = createCellEvent(event);\n onKeyDown({\n mode: 'EDIT',\n row,\n column,\n rowIdx,\n navigate() {\n navigate(event);\n },\n onClose\n }, cellEvent);\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n if (event.key === 'Escape') {\n onClose();\n } else if (event.key === 'Enter') {\n onClose(true);\n } else if (onEditorNavigation(event)) {\n navigate(event);\n }\n }\n function onClose(commitChanges = false, shouldFocusCell = true) {\n if (commitChanges) {\n onRowChange(row, true, shouldFocusCell);\n } else {\n closeEditor(shouldFocusCell);\n }\n }\n function onEditorRowChange(row, commitChangesAndFocus = false) {\n onRowChange(row, commitChangesAndFocus, commitChangesAndFocus);\n }\n const {\n cellClass\n } = column;\n const className = getCellClassname(column, 'rdg-editor-container', typeof cellClass === 'function' ? cellClass(row) : cellClass, !column.editorOptions?.displayCellContent && cellEditing);\n return /*#__PURE__*/jsx(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-selected\": true,\n className: className,\n style: getCellStyle(column, colSpan),\n onKeyDown: handleKeyDown,\n onMouseDownCapture: cancelFrameRequest,\n children: column.renderEditCell != null && /*#__PURE__*/jsxs(Fragment, {\n children: [column.renderEditCell({\n column,\n row,\n rowIdx,\n onRowChange: onEditorRowChange,\n onClose\n }), column.editorOptions?.displayCellContent && column.renderCell({\n column,\n row,\n rowIdx,\n isCellEditable: true,\n tabIndex: -1,\n onRowChange: onEditorRowChange\n })]\n })\n });\n}\n\nfunction GroupedColumnHeaderCell({\n column,\n rowIdx,\n isCellSelected,\n selectCell\n}) {\n const {\n tabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected);\n const {\n colSpan\n } = column;\n const rowSpan = getHeaderCellRowSpan(column, rowIdx);\n const index = column.idx + 1;\n function onClick() {\n selectCell({\n idx: column.idx,\n rowIdx\n });\n }\n return /*#__PURE__*/jsx(\"div\", {\n role: \"columnheader\",\n \"aria-colindex\": index,\n \"aria-colspan\": colSpan,\n \"aria-rowspan\": rowSpan,\n \"aria-selected\": isCellSelected,\n tabIndex: tabIndex,\n className: clsx(cellClassname, column.headerCellClass),\n style: {\n ...getHeaderCellStyle(column, rowIdx, rowSpan),\n gridColumnStart: index,\n gridColumnEnd: index + colSpan\n },\n onFocus: onFocus,\n onClick: onClick,\n children: column.name\n });\n}\n\nconst headerSortCellClassname = \"h44jtk67-0-0-beta-47\";\nconst headerSortName = \"hcgkhxz7-0-0-beta-47\";\nconst headerSortNameClassname = `rdg-header-sort-name ${headerSortName}`;\nfunction renderHeaderCell({\n column,\n sortDirection,\n priority\n}) {\n if (!column.sortable) return column.name;\n return /*#__PURE__*/jsx(SortableHeaderCell, {\n sortDirection: sortDirection,\n priority: priority,\n children: column.name\n });\n}\nfunction SortableHeaderCell({\n sortDirection,\n priority,\n children\n}) {\n const renderSortStatus = useDefaultRenderers().renderSortStatus;\n return /*#__PURE__*/jsxs(\"span\", {\n className: headerSortCellClassname,\n children: [/*#__PURE__*/jsx(\"span\", {\n className: headerSortNameClassname,\n children: children\n }), /*#__PURE__*/jsx(\"span\", {\n children: renderSortStatus({\n sortDirection,\n priority\n })\n })]\n });\n}\n\nconst cellSortableClassname = \"c6l2wv17-0-0-beta-47\";\nconst cellResizable = \"c1kqdw7y7-0-0-beta-47\";\nconst cellResizableClassname = `rdg-cell-resizable ${cellResizable}`;\nconst resizeHandleClassname = \"r1y6ywlx7-0-0-beta-47\";\nconst cellDraggableClassname = 'rdg-cell-draggable';\nconst cellDragging = \"c1bezg5o7-0-0-beta-47\";\nconst cellDraggingClassname = `rdg-cell-dragging ${cellDragging}`;\nconst cellOver = \"c1vc96037-0-0-beta-47\";\nconst cellOverClassname = `rdg-cell-drag-over ${cellOver}`;\nfunction HeaderCell({\n column,\n colSpan,\n rowIdx,\n isCellSelected,\n onColumnResize,\n onColumnsReorder,\n sortColumns,\n onSortColumnsChange,\n selectCell,\n shouldFocusGrid,\n direction,\n dragDropKey\n}) {\n const [isDragging, setIsDragging] = useState(false);\n const [isOver, setIsOver] = useState(false);\n const isRtl = direction === 'rtl';\n const rowSpan = getHeaderCellRowSpan(column, rowIdx);\n const {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected);\n const sortIndex = sortColumns?.findIndex(sort => sort.columnKey === column.key);\n const sortColumn = sortIndex !== undefined && sortIndex > -1 ? sortColumns[sortIndex] : undefined;\n const sortDirection = sortColumn?.direction;\n const priority = sortColumn !== undefined && sortColumns.length > 1 ? sortIndex + 1 : undefined;\n const ariaSort = sortDirection && !priority ? sortDirection === 'ASC' ? 'ascending' : 'descending' : undefined;\n const {\n sortable,\n resizable,\n draggable\n } = column;\n const className = getCellClassname(column, column.headerCellClass, sortable && cellSortableClassname, resizable && cellResizableClassname, draggable && cellDraggableClassname, isDragging && cellDraggingClassname, isOver && cellOverClassname);\n const renderHeaderCell$1 = column.renderHeaderCell ?? renderHeaderCell;\n function onPointerDown(event) {\n if (event.pointerType === 'mouse' && event.buttons !== 1) {\n return;\n }\n event.preventDefault();\n const {\n currentTarget,\n pointerId\n } = event;\n const headerCell = currentTarget.parentElement;\n const {\n right,\n left\n } = headerCell.getBoundingClientRect();\n const offset = isRtl ? event.clientX - left : right - event.clientX;\n let hasDoubleClicked = false;\n function onPointerMove(event) {\n const {\n width,\n right,\n left\n } = headerCell.getBoundingClientRect();\n let newWidth = isRtl ? right + offset - event.clientX : event.clientX + offset - left;\n newWidth = clampColumnWidth(newWidth, column);\n if (width > 0 && newWidth !== width) {\n onColumnResize(column, newWidth);\n }\n }\n function onDoubleClick() {\n hasDoubleClicked = true;\n onColumnResize(column, 'max-content');\n }\n function onLostPointerCapture(event) {\n if (!hasDoubleClicked) {\n onPointerMove(event);\n }\n currentTarget.removeEventListener('pointermove', onPointerMove);\n currentTarget.removeEventListener('dblclick', onDoubleClick);\n currentTarget.removeEventListener('lostpointercapture', onLostPointerCapture);\n }\n currentTarget.setPointerCapture(pointerId);\n currentTarget.addEventListener('pointermove', onPointerMove);\n currentTarget.addEventListener('dblclick', onDoubleClick);\n currentTarget.addEventListener('lostpointercapture', onLostPointerCapture);\n }\n function onSort(ctrlClick) {\n if (onSortColumnsChange == null) return;\n const {\n sortDescendingFirst\n } = column;\n if (sortColumn === undefined) {\n const nextSort = {\n columnKey: column.key,\n direction: sortDescendingFirst ? 'DESC' : 'ASC'\n };\n onSortColumnsChange(sortColumns && ctrlClick ? [...sortColumns, nextSort] : [nextSort]);\n } else {\n let nextSortColumn;\n if (sortDescendingFirst === true && sortDirection === 'DESC' || sortDescendingFirst !== true && sortDirection === 'ASC') {\n nextSortColumn = {\n columnKey: column.key,\n direction: sortDirection === 'ASC' ? 'DESC' : 'ASC'\n };\n }\n if (ctrlClick) {\n const nextSortColumns = [...sortColumns];\n if (nextSortColumn) {\n nextSortColumns[sortIndex] = nextSortColumn;\n } else {\n nextSortColumns.splice(sortIndex, 1);\n }\n onSortColumnsChange(nextSortColumns);\n } else {\n onSortColumnsChange(nextSortColumn ? [nextSortColumn] : []);\n }\n }\n }\n function onClick(event) {\n selectCell({\n idx: column.idx,\n rowIdx\n });\n if (sortable) {\n onSort(event.ctrlKey || event.metaKey);\n }\n }\n function handleFocus(event) {\n onFocus?.(event);\n if (shouldFocusGrid) {\n selectCell({\n idx: 0,\n rowIdx\n });\n }\n }\n function onKeyDown(event) {\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n onSort(event.ctrlKey || event.metaKey);\n }\n }\n function onDragStart(event) {\n event.dataTransfer.setData(dragDropKey, column.key);\n event.dataTransfer.dropEffect = 'move';\n setIsDragging(true);\n }\n function onDragEnd() {\n setIsDragging(false);\n }\n function onDragOver(event) {\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n }\n function onDrop(event) {\n setIsOver(false);\n if (event.dataTransfer.types.includes(dragDropKey.toLowerCase())) {\n const sourceKey = event.dataTransfer.getData(dragDropKey.toLowerCase());\n if (sourceKey !== column.key) {\n event.preventDefault();\n onColumnsReorder?.(sourceKey, column.key);\n }\n }\n }\n function onDragEnter(event) {\n if (isEventPertinent(event)) {\n setIsOver(true);\n }\n }\n function onDragLeave(event) {\n if (isEventPertinent(event)) {\n setIsOver(false);\n }\n }\n let draggableProps;\n if (draggable) {\n draggableProps = {\n draggable: true,\n onDragStart,\n onDragEnd,\n onDragOver,\n onDragEnter,\n onDragLeave,\n onDrop\n };\n }\n return /*#__PURE__*/jsxs(\"div\", {\n role: \"columnheader\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-rowspan\": rowSpan,\n \"aria-selected\": isCellSelected,\n \"aria-sort\": ariaSort,\n tabIndex: shouldFocusGrid ? 0 : tabIndex,\n className: className,\n style: {\n ...getHeaderCellStyle(column, rowIdx, rowSpan),\n ...getCellStyle(column, colSpan)\n },\n onFocus: handleFocus,\n onClick: onClick,\n onKeyDown: sortable ? onKeyDown : undefined,\n ...draggableProps,\n children: [renderHeaderCell$1({\n column,\n sortDirection,\n priority,\n tabIndex: childTabIndex\n }), resizable && /*#__PURE__*/jsx(\"div\", {\n className: resizeHandleClassname,\n onClick: stopPropagation,\n onPointerDown: onPointerDown\n })]\n });\n}\nfunction isEventPertinent(event) {\n const relatedTarget = event.relatedTarget;\n return !event.currentTarget.contains(relatedTarget);\n}\n\nconst row = \"r1upfr807-0-0-beta-47\";\nconst rowClassname = `rdg-row ${row}`;\nconst rowSelected = \"r190mhd37-0-0-beta-47\";\nconst rowSelectedClassname = 'rdg-row-selected';\nconst rowSelectedWithFrozenCell = \"r139qu9m7-0-0-beta-47\";\nconst topSummaryRowClassname = 'rdg-top-summary-row';\nconst bottomSummaryRowClassname = 'rdg-bottom-summary-row';\n\nconst headerRow = \"h10tskcx7-0-0-beta-47\";\nconst headerRowClassname = `rdg-header-row ${headerRow}`;\nfunction HeaderRow({\n rowIdx,\n columns,\n onColumnResize,\n onColumnsReorder,\n sortColumns,\n onSortColumnsChange,\n lastFrozenColumnIndex,\n selectedCellIdx,\n selectCell,\n shouldFocusGrid,\n direction\n}) {\n const dragDropKey = useId();\n const cells = [];\n for (let index = 0; index < columns.length; index++) {\n const column = columns[index];\n const colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: 'HEADER'\n });\n if (colSpan !== undefined) {\n index += colSpan - 1;\n }\n cells.push(/*#__PURE__*/jsx(HeaderCell, {\n column: column,\n colSpan: colSpan,\n rowIdx: rowIdx,\n isCellSelected: selectedCellIdx === column.idx,\n onColumnResize: onColumnResize,\n onColumnsReorder: onColumnsReorder,\n onSortColumnsChange: onSortColumnsChange,\n sortColumns: sortColumns,\n selectCell: selectCell,\n shouldFocusGrid: shouldFocusGrid && index === 0,\n direction: direction,\n dragDropKey: dragDropKey\n }, column.key));\n }\n return /*#__PURE__*/jsx(\"div\", {\n role: \"row\",\n \"aria-rowindex\": rowIdx,\n className: clsx(headerRowClassname, selectedCellIdx === -1 && rowSelectedClassname),\n children: cells\n });\n}\nconst HeaderRow$1 = /*#__PURE__*/memo(HeaderRow);\n\nfunction GroupedColumnHeaderRow({\n rowIdx,\n level,\n columns,\n selectedCellIdx,\n selectCell\n}) {\n const cells = [];\n const renderedParents = new Set();\n for (const column of columns) {\n let {\n parent\n } = column;\n if (parent === undefined) continue;\n while (parent.level > level) {\n if (parent.parent === undefined) break;\n parent = parent.parent;\n }\n if (parent.level === level && !renderedParents.has(parent)) {\n renderedParents.add(parent);\n const {\n idx\n } = parent;\n cells.push(/*#__PURE__*/jsx(GroupedColumnHeaderCell, {\n column: parent,\n rowIdx: rowIdx,\n isCellSelected: selectedCellIdx === idx,\n selectCell: selectCell\n }, idx));\n }\n }\n return /*#__PURE__*/jsx(\"div\", {\n role: \"row\",\n \"aria-rowindex\": rowIdx,\n className: headerRowClassname,\n children: cells\n });\n}\nconst GroupedColumnHeaderRow$1 = /*#__PURE__*/memo(GroupedColumnHeaderRow);\n\nconst cellCopied = \"c6ra8a37-0-0-beta-47\";\nconst cellCopiedClassname = `rdg-cell-copied ${cellCopied}`;\nconst cellDraggedOver = \"cq910m07-0-0-beta-47\";\nconst cellDraggedOverClassname = `rdg-cell-dragged-over ${cellDraggedOver}`;\nfunction Cell({\n column,\n colSpan,\n isCellSelected,\n isCopied,\n isDraggedOver,\n row,\n rowIdx,\n onClick,\n onDoubleClick,\n onContextMenu,\n onRowChange,\n selectCell,\n ...props\n}) {\n const {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected);\n const {\n cellClass\n } = column;\n const className = getCellClassname(column, typeof cellClass === 'function' ? cellClass(row) : cellClass, isCopied && cellCopiedClassname, isDraggedOver && cellDraggedOverClassname);\n const isEditable = isCellEditableUtil(column, row);\n function selectCellWrapper(openEditor) {\n selectCell({\n rowIdx,\n idx: column.idx\n }, openEditor);\n }\n function handleClick(event) {\n if (onClick) {\n const cellEvent = createCellEvent(event);\n onClick({\n row,\n column,\n selectCell: selectCellWrapper\n }, cellEvent);\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper();\n }\n function handleContextMenu(event) {\n if (onContextMenu) {\n const cellEvent = createCellEvent(event);\n onContextMenu({\n row,\n column,\n selectCell: selectCellWrapper\n }, cellEvent);\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper();\n }\n function handleDoubleClick(event) {\n if (onDoubleClick) {\n const cellEvent = createCellEvent(event);\n onDoubleClick({\n row,\n column,\n selectCell: selectCellWrapper\n }, cellEvent);\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper(true);\n }\n function handleRowChange(newRow) {\n onRowChange(column, newRow);\n }\n return /*#__PURE__*/jsx(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-selected\": isCellSelected,\n \"aria-readonly\": !isEditable || undefined,\n tabIndex: tabIndex,\n className: className,\n style: getCellStyle(column, colSpan),\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onContextMenu: handleContextMenu,\n onFocus: onFocus,\n ...props,\n children: column.renderCell({\n column,\n row,\n rowIdx,\n isCellEditable: isEditable,\n tabIndex: childTabIndex,\n onRowChange: handleRowChange\n })\n });\n}\nconst Cell$1 = /*#__PURE__*/memo(Cell);\n\nfunction Row({\n className,\n rowIdx,\n gridRowStart,\n selectedCellIdx,\n isRowSelectionDisabled,\n isRowSelected,\n copiedCellIdx,\n draggedOverCellIdx,\n lastFrozenColumnIndex,\n row,\n viewportColumns,\n selectedCellEditor,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n rowClass,\n setDraggedOverRowIdx,\n onMouseEnter,\n onRowChange,\n selectCell,\n ...props\n}, ref) {\n const handleRowChange = useLatestFunc((column, newRow) => {\n onRowChange(column, rowIdx, newRow);\n });\n function handleDragEnter(event) {\n setDraggedOverRowIdx?.(rowIdx);\n onMouseEnter?.(event);\n }\n className = clsx(rowClassname, `rdg-row-${rowIdx % 2 === 0 ? 'even' : 'odd'}`, rowClass?.(row, rowIdx), className, selectedCellIdx === -1 && rowSelectedClassname);\n const cells = [];\n for (let index = 0; index < viewportColumns.length; index++) {\n const column = viewportColumns[index];\n const {\n idx\n } = column;\n const colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: 'ROW',\n row\n });\n if (colSpan !== undefined) {\n index += colSpan - 1;\n }\n const isCellSelected = selectedCellIdx === idx;\n if (isCellSelected && selectedCellEditor) {\n cells.push(selectedCellEditor);\n } else {\n cells.push(/*#__PURE__*/jsx(Cell$1, {\n column: column,\n colSpan: colSpan,\n row: row,\n rowIdx: rowIdx,\n isCopied: copiedCellIdx === idx,\n isDraggedOver: draggedOverCellIdx === idx,\n isCellSelected: isCellSelected,\n onClick: onCellClick,\n onDoubleClick: onCellDoubleClick,\n onContextMenu: onCellContextMenu,\n onRowChange: handleRowChange,\n selectCell: selectCell\n }, column.key));\n }\n }\n const selectionValue = useMemo(() => ({\n isRowSelected,\n isRowSelectionDisabled\n }), [isRowSelectionDisabled, isRowSelected]);\n return /*#__PURE__*/jsx(RowSelectionProvider, {\n value: selectionValue,\n children: /*#__PURE__*/jsx(\"div\", {\n role: \"row\",\n ref: ref,\n className: className,\n onMouseEnter: handleDragEnter,\n style: getRowStyle(gridRowStart),\n ...props,\n children: cells\n })\n });\n}\nconst RowComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(Row));\nconst RowComponent$1 = RowComponent;\nfunction defaultRenderRow(key, props) {\n return /*#__PURE__*/jsx(RowComponent, {\n ...props\n }, key);\n}\n\nfunction ScrollToCell({\n scrollToPosition: {\n idx,\n rowIdx\n },\n gridElement,\n setScrollToCellPosition\n}) {\n const ref = useRef(null);\n useLayoutEffect(() => {\n scrollIntoView(ref.current);\n });\n useLayoutEffect(() => {\n function removeScrollToCell() {\n setScrollToCellPosition(null);\n }\n const observer = new IntersectionObserver(removeScrollToCell, {\n root: gridElement,\n threshold: 1.0\n });\n observer.observe(ref.current);\n return () => {\n observer.disconnect();\n };\n }, [gridElement, setScrollToCellPosition]);\n return /*#__PURE__*/jsx(\"div\", {\n ref: ref,\n style: {\n gridColumn: idx === undefined ? '1/-1' : idx + 1,\n gridRow: rowIdx === undefined ? '1/-1' : rowIdx + 2\n }\n });\n}\n\nconst arrow = \"a3ejtar7-0-0-beta-47\";\nconst arrowClassname = `rdg-sort-arrow ${arrow}`;\nfunction renderSortStatus({\n sortDirection,\n priority\n}) {\n return /*#__PURE__*/jsxs(Fragment, {\n children: [renderSortIcon({\n sortDirection\n }), renderSortPriority({\n priority\n })]\n });\n}\nfunction renderSortIcon({\n sortDirection\n}) {\n if (sortDirection === undefined) return null;\n return /*#__PURE__*/jsx(\"svg\", {\n viewBox: \"0 0 12 8\",\n width: \"12\",\n height: \"8\",\n className: arrowClassname,\n \"aria-hidden\": true,\n children: /*#__PURE__*/jsx(\"path\", {\n d: sortDirection === 'ASC' ? 'M0 8 6 0 12 8' : 'M0 0 6 8 12 0'\n })\n });\n}\nfunction renderSortPriority({\n priority\n}) {\n return priority;\n}\n\nconst root = \"rnvodz57-0-0-beta-47\";\nconst rootClassname = `rdg ${root}`;\nconst viewportDragging = \"vlqv91k7-0-0-beta-47\";\nconst viewportDraggingClassname = `rdg-viewport-dragging ${viewportDragging}`;\nconst focusSinkClassname = \"f1lsfrzw7-0-0-beta-47\";\nconst focusSinkHeaderAndSummaryClassname = \"f1cte0lg7-0-0-beta-47\";\n\nconst summaryCellClassname = \"s8wc6fl7-0-0-beta-47\";\nfunction SummaryCell({\n column,\n colSpan,\n row,\n rowIdx,\n isCellSelected,\n selectCell\n}) {\n const {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected);\n const {\n summaryCellClass\n } = column;\n const className = getCellClassname(column, summaryCellClassname, typeof summaryCellClass === 'function' ? summaryCellClass(row) : summaryCellClass);\n function onClick() {\n selectCell({\n rowIdx,\n idx: column.idx\n });\n }\n return /*#__PURE__*/jsx(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-selected\": isCellSelected,\n tabIndex: tabIndex,\n className: className,\n style: getCellStyle(column, colSpan),\n onClick: onClick,\n onFocus: onFocus,\n children: column.renderSummaryCell?.({\n column,\n row,\n tabIndex: childTabIndex\n })\n });\n}\nconst SummaryCell$1 = /*#__PURE__*/memo(SummaryCell);\n\nconst summaryRow = \"skuhp557-0-0-beta-47\";\nconst topSummaryRow = \"tf8l5ub7-0-0-beta-47\";\nconst summaryRowClassname = `rdg-summary-row ${summaryRow}`;\nfunction SummaryRow({\n rowIdx,\n gridRowStart,\n row,\n viewportColumns,\n top,\n bottom,\n lastFrozenColumnIndex,\n selectedCellIdx,\n isTop,\n selectCell,\n 'aria-rowindex': ariaRowIndex\n}) {\n const cells = [];\n for (let index = 0; index < viewportColumns.length; index++) {\n const column = viewportColumns[index];\n const colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: 'SUMMARY',\n row\n });\n if (colSpan !== undefined) {\n index += colSpan - 1;\n }\n const isCellSelected = selectedCellIdx === column.idx;\n cells.push(/*#__PURE__*/jsx(SummaryCell$1, {\n column: column,\n colSpan: colSpan,\n row: row,\n rowIdx: rowIdx,\n isCellSelected: isCellSelected,\n selectCell: selectCell\n }, column.key));\n }\n return /*#__PURE__*/jsx(\"div\", {\n role: \"row\",\n \"aria-rowindex\": ariaRowIndex,\n className: clsx(rowClassname, `rdg-row-${rowIdx % 2 === 0 ? 'even' : 'odd'}`, summaryRowClassname, isTop ? `${topSummaryRowClassname} ${topSummaryRow}` : bottomSummaryRowClassname, selectedCellIdx === -1 && rowSelectedClassname),\n style: {\n ...getRowStyle(gridRowStart),\n '--rdg-summary-row-top': top !== undefined ? `${top}px` : undefined,\n '--rdg-summary-row-bottom': bottom !== undefined ? `${bottom}px` : undefined\n },\n children: cells\n });\n}\nconst SummaryRow$1 = /*#__PURE__*/memo(SummaryRow);\n\nfunction DataGrid(props, ref) {\n const {\n columns: rawColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowKeyGetter,\n onRowsChange,\n rowHeight: rawRowHeight,\n headerRowHeight: rawHeaderRowHeight,\n summaryRowHeight: rawSummaryRowHeight,\n selectedRows,\n isRowSelectionDisabled,\n onSelectedRowsChange,\n sortColumns,\n onSortColumnsChange,\n defaultColumnOptions,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n onCellKeyDown,\n onSelectedCellChange,\n onScroll,\n onColumnResize,\n onColumnsReorder,\n onFill,\n onCopy,\n onPaste,\n enableVirtualization: rawEnableVirtualization,\n renderers,\n className,\n style,\n rowClass,\n direction: rawDirection,\n role: rawRole,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-rowcount': rawAriaRowCount,\n 'data-testid': testId\n } = props;\n const defaultRenderers = useDefaultRenderers();\n const role = rawRole ?? 'grid';\n const rowHeight = rawRowHeight ?? 35;\n const headerRowHeight = rawHeaderRowHeight ?? (typeof rowHeight === 'number' ? rowHeight : 35);\n const summaryRowHeight = rawSummaryRowHeight ?? (typeof rowHeight === 'number' ? rowHeight : 35);\n const renderRow = renderers?.renderRow ?? defaultRenderers?.renderRow ?? defaultRenderRow;\n const renderSortStatus$1 = renderers?.renderSortStatus ?? defaultRenderers?.renderSortStatus ?? renderSortStatus;\n const renderCheckbox$1 = renderers?.renderCheckbox ?? defaultRenderers?.renderCheckbox ?? renderCheckbox;\n const noRowsFallback = renderers?.noRowsFallback ?? defaultRenderers?.noRowsFallback;\n const enableVirtualization = rawEnableVirtualization ?? true;\n const direction = rawDirection ?? 'ltr';\n const [scrollTop, setScrollTop] = useState(0);\n const [scrollLeft, setScrollLeft] = useState(0);\n const [resizedColumnWidths, setResizedColumnWidths] = useState(() => new Map());\n const [measuredColumnWidths, setMeasuredColumnWidths] = useState(() => new Map());\n const [copiedCell, setCopiedCell] = useState(null);\n const [isDragging, setDragging] = useState(false);\n const [draggedOverRowIdx, setOverRowIdx] = useState(undefined);\n const [scrollToPosition, setScrollToPosition] = useState(null);\n const getColumnWidth = useCallback(column => {\n return resizedColumnWidths.get(column.key) ?? measuredColumnWidths.get(column.key) ?? column.width;\n }, [measuredColumnWidths, resizedColumnWidths]);\n const [gridRef, gridWidth, gridHeight, horizontalScrollbarHeight] = useGridDimensions();\n const {\n columns,\n colSpanColumns,\n lastFrozenColumnIndex,\n headerRowsCount,\n colOverscanStartIdx,\n colOverscanEndIdx,\n templateColumns,\n layoutCssVars,\n totalFrozenColumnWidth\n } = useCalculatedColumns({\n rawColumns,\n defaultColumnOptions,\n getColumnWidth,\n scrollLeft,\n viewportWidth: gridWidth,\n enableVirtualization\n });\n const topSummaryRowsCount = topSummaryRows?.length ?? 0;\n const bottomSummaryRowsCount = bottomSummaryRows?.length ?? 0;\n const summaryRowsCount = topSummaryRowsCount + bottomSummaryRowsCount;\n const headerAndTopSummaryRowsCount = headerRowsCount + topSummaryRowsCount;\n const groupedColumnHeaderRowsCount = headerRowsCount - 1;\n const minRowIdx = -headerAndTopSummaryRowsCount;\n const mainHeaderRowIdx = minRowIdx + groupedColumnHeaderRowsCount;\n const maxRowIdx = rows.length + bottomSummaryRowsCount - 1;\n const [selectedPosition, setSelectedPosition] = useState(() => ({\n idx: -1,\n rowIdx: minRowIdx - 1,\n mode: 'SELECT'\n }));\n const prevSelectedPosition = useRef(selectedPosition);\n const latestDraggedOverRowIdx = useRef(draggedOverRowIdx);\n const lastSelectedRowIdx = useRef(-1);\n const focusSinkRef = useRef(null);\n const shouldFocusCellRef = useRef(false);\n const isTreeGrid = role === 'treegrid';\n const headerRowsHeight = headerRowsCount * headerRowHeight;\n const summaryRowsHeight = summaryRowsCount * summaryRowHeight;\n const clientHeight = gridHeight - headerRowsHeight - summaryRowsHeight;\n const isSelectable = selectedRows != null && onSelectedRowsChange != null;\n const isRtl = direction === 'rtl';\n const leftKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n const rightKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n const ariaRowCount = rawAriaRowCount ?? headerRowsCount + rows.length + summaryRowsCount;\n const defaultGridComponents = useMemo(() => ({\n renderCheckbox: renderCheckbox$1,\n renderSortStatus: renderSortStatus$1\n }), [renderCheckbox$1, renderSortStatus$1]);\n const headerSelectionValue = useMemo(() => {\n let hasSelectedRow = false;\n let hasUnselectedRow = false;\n if (rowKeyGetter != null && selectedRows != null && selectedRows.size > 0) {\n for (const row of rows) {\n if (selectedRows.has(rowKeyGetter(row))) {\n hasSelectedRow = true;\n } else {\n hasUnselectedRow = true;\n }\n if (hasSelectedRow && hasUnselectedRow) break;\n }\n }\n return {\n isRowSelected: hasSelectedRow && !hasUnselectedRow,\n isIndeterminate: hasSelectedRow && hasUnselectedRow\n };\n }, [rows, selectedRows, rowKeyGetter]);\n const {\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n } = useViewportRows({\n rows,\n rowHeight,\n clientHeight,\n scrollTop,\n enableVirtualization\n });\n const viewportColumns = useViewportColumns({\n columns,\n colSpanColumns,\n colOverscanStartIdx,\n colOverscanEndIdx,\n lastFrozenColumnIndex,\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n rows,\n topSummaryRows,\n bottomSummaryRows\n });\n const {\n gridTemplateColumns,\n handleColumnResize\n } = useColumnWidths(columns, viewportColumns, templateColumns, gridRef, gridWidth, resizedColumnWidths, measuredColumnWidths, setResizedColumnWidths, setMeasuredColumnWidths, onColumnResize);\n const minColIdx = isTreeGrid ? -1 : 0;\n const maxColIdx = columns.length - 1;\n const selectedCellIsWithinSelectionBounds = isCellWithinSelectionBounds(selectedPosition);\n const selectedCellIsWithinViewportBounds = isCellWithinViewportBounds(selectedPosition);\n const scrollHeight = headerRowHeight + totalRowHeight + summaryRowsHeight + horizontalScrollbarHeight;\n const handleColumnResizeLatest = useLatestFunc(handleColumnResize);\n const onColumnsReorderLastest = useLatestFunc(onColumnsReorder);\n const onSortColumnsChangeLatest = useLatestFunc(onSortColumnsChange);\n const onCellClickLatest = useLatestFunc(onCellClick);\n const onCellDoubleClickLatest = useLatestFunc(onCellDoubleClick);\n const onCellContextMenuLatest = useLatestFunc(onCellContextMenu);\n const selectHeaderRowLatest = useLatestFunc(selectHeaderRow);\n const selectRowLatest = useLatestFunc(selectRow);\n const handleFormatterRowChangeLatest = useLatestFunc(updateRow);\n const selectCellLatest = useLatestFunc(selectCell);\n const selectHeaderCellLatest = useLatestFunc(({\n idx,\n rowIdx\n }) => {\n selectCell({\n rowIdx: minRowIdx + rowIdx - 1,\n idx\n });\n });\n useLayoutEffect(() => {\n if (!selectedCellIsWithinSelectionBounds || isSamePosition(selectedPosition, prevSelectedPosition.current)) {\n prevSelectedPosition.current = selectedPosition;\n return;\n }\n prevSelectedPosition.current = selectedPosition;\n if (selectedPosition.idx === -1) {\n focusSinkRef.current.focus({\n preventScroll: true\n });\n scrollIntoView(focusSinkRef.current);\n }\n });\n useLayoutEffect(() => {\n if (!shouldFocusCellRef.current) return;\n shouldFocusCellRef.current = false;\n focusCellOrCellContent();\n });\n useImperativeHandle(ref, () => ({\n element: gridRef.current,\n scrollToCell({\n idx,\n rowIdx\n }) {\n const scrollToIdx = idx !== undefined && idx > lastFrozenColumnIndex && idx < columns.length ? idx : undefined;\n const scrollToRowIdx = rowIdx !== undefined && isRowIdxWithinViewportBounds(rowIdx) ? rowIdx : undefined;\n if (scrollToIdx !== undefined || scrollToRowIdx !== undefined) {\n setScrollToPosition({\n idx: scrollToIdx,\n rowIdx: scrollToRowIdx\n });\n }\n },\n selectCell\n }));\n const setDraggedOverRowIdx = useCallback(rowIdx => {\n setOverRowIdx(rowIdx);\n latestDraggedOverRowIdx.current = rowIdx;\n }, []);\n function selectHeaderRow(args) {\n if (!onSelectedRowsChange) return;\n assertIsValidKeyGetter(rowKeyGetter);\n const newSelectedRows = new Set(selectedRows);\n for (const row of rows) {\n if (isRowSelectionDisabled?.(row) === true) continue;\n const rowKey = rowKeyGetter(row);\n if (args.checked) {\n newSelectedRows.add(rowKey);\n } else {\n newSelectedRows.delete(rowKey);\n }\n }\n onSelectedRowsChange(newSelectedRows);\n }\n function selectRow(args) {\n if (!onSelectedRowsChange) return;\n assertIsValidKeyGetter(rowKeyGetter);\n const {\n row,\n checked,\n isShiftClick\n } = args;\n if (isRowSelectionDisabled?.(row) === true) return;\n const newSelectedRows = new Set(selectedRows);\n const rowKey = rowKeyGetter(row);\n const previousRowIdx = lastSelectedRowIdx.current;\n const rowIdx = rows.indexOf(row);\n lastSelectedRowIdx.current = rowIdx;\n if (checked) {\n newSelectedRows.add(rowKey);\n } else {\n newSelectedRows.delete(rowKey);\n }\n if (isShiftClick && previousRowIdx !== -1 && previousRowIdx !== rowIdx && previousRowIdx < rows.length) {\n const step = sign(rowIdx - previousRowIdx);\n for (let i = previousRowIdx + step; i !== rowIdx; i += step) {\n const row = rows[i];\n if (isRowSelectionDisabled?.(row) === true) continue;\n if (checked) {\n newSelectedRows.add(rowKeyGetter(row));\n } else {\n newSelectedRows.delete(rowKeyGetter(row));\n }\n }\n }\n onSelectedRowsChange(newSelectedRows);\n }\n function handleKeyDown(event) {\n const {\n idx,\n rowIdx,\n mode\n } = selectedPosition;\n if (mode === 'EDIT') return;\n if (onCellKeyDown && isRowIdxWithinViewportBounds(rowIdx)) {\n const row = rows[rowIdx];\n const cellEvent = createCellEvent(event);\n onCellKeyDown({\n mode: 'SELECT',\n row,\n column: columns[idx],\n rowIdx,\n selectCell\n }, cellEvent);\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n if (!(event.target instanceof Element)) return;\n const isCellEvent = event.target.closest('.rdg-cell') !== null;\n const isRowEvent = isTreeGrid && event.target === focusSinkRef.current;\n if (!isCellEvent && !isRowEvent) return;\n const {\n keyCode\n } = event;\n if (selectedCellIsWithinViewportBounds && (onPaste != null || onCopy != null) && isCtrlKeyHeldDown(event)) {\n const cKey = 67;\n const vKey = 86;\n if (keyCode === cKey) {\n if (window.getSelection()?.isCollapsed === false) return;\n handleCopy();\n return;\n }\n if (keyCode === vKey) {\n handlePaste();\n return;\n }\n }\n switch (event.key) {\n case 'Escape':\n setCopiedCell(null);\n return;\n case 'ArrowUp':\n case 'ArrowDown':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Tab':\n case 'Home':\n case 'End':\n case 'PageUp':\n case 'PageDown':\n navigate(event);\n break;\n default:\n handleCellInput(event);\n break;\n }\n }\n function handleScroll(event) {\n const {\n scrollTop,\n scrollLeft\n } = event.currentTarget;\n flushSync(() => {\n setScrollTop(scrollTop);\n setScrollLeft(abs(scrollLeft));\n });\n onScroll?.(event);\n }\n function updateRow(column, rowIdx, row) {\n if (typeof onRowsChange !== 'function') return;\n if (row === rows[rowIdx]) return;\n const updatedRows = [...rows];\n updatedRows[rowIdx] = row;\n onRowsChange(updatedRows, {\n indexes: [rowIdx],\n column\n });\n }\n function commitEditorChanges() {\n if (selectedPosition.mode !== 'EDIT') return;\n updateRow(columns[selectedPosition.idx], selectedPosition.rowIdx, selectedPosition.row);\n }\n function handleCopy() {\n const {\n idx,\n rowIdx\n } = selectedPosition;\n const sourceRow = rows[rowIdx];\n const sourceColumnKey = columns[idx].key;\n setCopiedCell({\n row: sourceRow,\n columnKey: sourceColumnKey\n });\n onCopy?.({\n sourceRow,\n sourceColumnKey\n });\n }\n function handlePaste() {\n if (!onPaste || !onRowsChange || copiedCell === null || !isCellEditable(selectedPosition)) {\n return;\n }\n const {\n idx,\n rowIdx\n } = selectedPosition;\n const targetColumn = columns[idx];\n const targetRow = rows[rowIdx];\n const updatedTargetRow = onPaste({\n sourceRow: copiedCell.row,\n sourceColumnKey: copiedCell.columnKey,\n targetRow,\n targetColumnKey: targetColumn.key\n });\n updateRow(targetColumn, rowIdx, updatedTargetRow);\n }\n function handleCellInput(event) {\n if (!selectedCellIsWithinViewportBounds) return;\n const row = rows[selectedPosition.rowIdx];\n const {\n key,\n shiftKey\n } = event;\n if (isSelectable && shiftKey && key === ' ') {\n assertIsValidKeyGetter(rowKeyGetter);\n const rowKey = rowKeyGetter(row);\n selectRow({\n row,\n checked: !selectedRows.has(rowKey),\n isShiftClick: false\n });\n event.preventDefault();\n return;\n }\n if (isCellEditable(selectedPosition) && isDefaultCellInput(event)) {\n setSelectedPosition(({\n idx,\n rowIdx\n }) => ({\n idx,\n rowIdx,\n mode: 'EDIT',\n row,\n originalRow: row\n }));\n }\n }\n function isColIdxWithinSelectionBounds(idx) {\n return idx >= minColIdx && idx <= maxColIdx;\n }\n function isRowIdxWithinViewportBounds(rowIdx) {\n return rowIdx >= 0 && rowIdx < rows.length;\n }\n function isCellWithinSelectionBounds({\n idx,\n rowIdx\n }) {\n return rowIdx >= minRowIdx && rowIdx <= maxRowIdx && isColIdxWithinSelectionBounds(idx);\n }\n function isCellWithinEditBounds({\n idx,\n rowIdx\n }) {\n return isRowIdxWithinViewportBounds(rowIdx) && idx >= 0 && idx <= maxColIdx;\n }\n function isCellWithinViewportBounds({\n idx,\n rowIdx\n }) {\n return isRowIdxWithinViewportBounds(rowIdx) && isColIdxWithinSelectionBounds(idx);\n }\n function isCellEditable(position) {\n return isCellWithinEditBounds(position) && isSelectedCellEditable({\n columns,\n rows,\n selectedPosition: position\n });\n }\n function selectCell(position, enableEditor) {\n if (!isCellWithinSelectionBounds(position)) return;\n commitEditorChanges();\n const row = rows[position.rowIdx];\n const samePosition = isSamePosition(selectedPosition, position);\n if (enableEditor && isCellEditable(position)) {\n setSelectedPosition({\n ...position,\n mode: 'EDIT',\n row,\n originalRow: row\n });\n } else if (samePosition) {\n scrollIntoView(getCellToScroll(gridRef.current));\n } else {\n shouldFocusCellRef.current = true;\n setSelectedPosition({\n ...position,\n mode: 'SELECT'\n });\n }\n if (onSelectedCellChange && !samePosition) {\n onSelectedCellChange({\n rowIdx: position.rowIdx,\n row,\n column: columns[position.idx]\n });\n }\n }\n function getNextPosition(key, ctrlKey, shiftKey) {\n const {\n idx,\n rowIdx\n } = selectedPosition;\n const isRowSelected = selectedCellIsWithinSelectionBounds && idx === -1;\n switch (key) {\n case 'ArrowUp':\n return {\n idx,\n rowIdx: rowIdx - 1\n };\n case 'ArrowDown':\n return {\n idx,\n rowIdx: rowIdx + 1\n };\n case leftKey:\n return {\n idx: idx - 1,\n rowIdx\n };\n case rightKey:\n return {\n idx: idx + 1,\n rowIdx\n };\n case 'Tab':\n return {\n idx: idx + (shiftKey ? -1 : 1),\n rowIdx\n };\n case 'Home':\n if (isRowSelected) return {\n idx,\n rowIdx: minRowIdx\n };\n return {\n idx: 0,\n rowIdx: ctrlKey ? minRowIdx : rowIdx\n };\n case 'End':\n if (isRowSelected) return {\n idx,\n rowIdx: maxRowIdx\n };\n return {\n idx: maxColIdx,\n rowIdx: ctrlKey ? maxRowIdx : rowIdx\n };\n case 'PageUp':\n {\n if (selectedPosition.rowIdx === minRowIdx) return selectedPosition;\n const nextRowY = getRowTop(rowIdx) + getRowHeight(rowIdx) - clientHeight;\n return {\n idx,\n rowIdx: nextRowY > 0 ? findRowIdx(nextRowY) : 0\n };\n }\n case 'PageDown':\n {\n if (selectedPosition.rowIdx >= rows.length) return selectedPosition;\n const nextRowY = getRowTop(rowIdx) + clientHeight;\n return {\n idx,\n rowIdx: nextRowY < totalRowHeight ? findRowIdx(nextRowY) : rows.length - 1\n };\n }\n default:\n return selectedPosition;\n }\n }\n function navigate(event) {\n const {\n key,\n shiftKey\n } = event;\n let cellNavigationMode = 'NONE';\n if (key === 'Tab') {\n if (canExitGrid({\n shiftKey,\n maxColIdx,\n minRowIdx,\n maxRowIdx,\n selectedPosition\n })) {\n commitEditorChanges();\n return;\n }\n cellNavigationMode = 'CHANGE_ROW';\n }\n event.preventDefault();\n const ctrlKey = isCtrlKeyHeldDown(event);\n const nextPosition = getNextPosition(key, ctrlKey, shiftKey);\n if (isSamePosition(selectedPosition, nextPosition)) return;\n const nextSelectedCellPosition = getNextSelectedCellPosition({\n moveUp: key === 'ArrowUp',\n moveNext: key === rightKey || key === 'Tab' && !shiftKey,\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n minRowIdx,\n mainHeaderRowIdx,\n maxRowIdx,\n lastFrozenColumnIndex,\n cellNavigationMode,\n currentPosition: selectedPosition,\n nextPosition,\n isCellWithinBounds: isCellWithinSelectionBounds\n });\n selectCell(nextSelectedCellPosition);\n }\n function getDraggedOverCellIdx(currentRowIdx) {\n if (draggedOverRowIdx === undefined) return;\n const {\n rowIdx\n } = selectedPosition;\n const isDraggedOver = rowIdx < draggedOverRowIdx ? rowIdx < currentRowIdx && currentRowIdx <= draggedOverRowIdx : rowIdx > currentRowIdx && currentRowIdx >= draggedOverRowIdx;\n return isDraggedOver ? selectedPosition.idx : undefined;\n }\n function focusCellOrCellContent() {\n const cell = getCellToScroll(gridRef.current);\n if (cell === null) return;\n scrollIntoView(cell);\n const elementToFocus = cell.querySelector('[tabindex=\"0\"]') ?? cell;\n elementToFocus.focus({\n preventScroll: true\n });\n }\n function renderDragHandle() {\n if (onFill == null || selectedPosition.mode === 'EDIT' || !isCellWithinViewportBounds(selectedPosition)) {\n return;\n }\n const {\n idx,\n rowIdx\n } = selectedPosition;\n const column = columns[idx];\n if (column.renderEditCell == null || column.editable === false) {\n return;\n }\n const columnWidth = getColumnWidth(column);\n return /*#__PURE__*/jsx(DragHandle, {\n gridRowStart: headerAndTopSummaryRowsCount + rowIdx + 1,\n rows: rows,\n column: column,\n columnWidth: columnWidth,\n maxColIdx: maxColIdx,\n isLastRow: rowIdx === maxRowIdx,\n selectedPosition: selectedPosition,\n isCellEditable: isCellEditable,\n latestDraggedOverRowIdx: latestDraggedOverRowIdx,\n onRowsChange: onRowsChange,\n onClick: focusCellOrCellContent,\n onFill: onFill,\n setDragging: setDragging,\n setDraggedOverRowIdx: setDraggedOverRowIdx\n });\n }\n function getCellEditor(rowIdx) {\n if (selectedPosition.rowIdx !== rowIdx || selectedPosition.mode === 'SELECT') return;\n const {\n idx,\n row\n } = selectedPosition;\n const column = columns[idx];\n const colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: 'ROW',\n row\n });\n const closeEditor = shouldFocusCell => {\n shouldFocusCellRef.current = shouldFocusCell;\n setSelectedPosition(({\n idx,\n rowIdx\n }) => ({\n idx,\n rowIdx,\n mode: 'SELECT'\n }));\n };\n const onRowChange = (row, commitChanges, shouldFocusCell) => {\n if (commitChanges) {\n flushSync(() => {\n updateRow(column, selectedPosition.rowIdx, row);\n closeEditor(shouldFocusCell);\n });\n } else {\n setSelectedPosition(position => ({\n ...position,\n row\n }));\n }\n };\n if (rows[selectedPosition.rowIdx] !== selectedPosition.originalRow) {\n closeEditor(false);\n }\n return /*#__PURE__*/jsx(EditCell, {\n column: column,\n colSpan: colSpan,\n row: row,\n rowIdx: rowIdx,\n onRowChange: onRowChange,\n closeEditor: closeEditor,\n onKeyDown: onCellKeyDown,\n navigate: navigate\n }, column.key);\n }\n function getRowViewportColumns(rowIdx) {\n const selectedColumn = selectedPosition.idx === -1 ? undefined : columns[selectedPosition.idx];\n if (selectedColumn !== undefined && selectedPosition.rowIdx === rowIdx && !viewportColumns.includes(selectedColumn)) {\n return selectedPosition.idx > colOverscanEndIdx ? [...viewportColumns, selectedColumn] : [...viewportColumns.slice(0, lastFrozenColumnIndex + 1), selectedColumn, ...viewportColumns.slice(lastFrozenColumnIndex + 1)];\n }\n return viewportColumns;\n }\n function getViewportRows() {\n const rowElements = [];\n const {\n idx: selectedIdx,\n rowIdx: selectedRowIdx\n } = selectedPosition;\n const startRowIdx = selectedCellIsWithinViewportBounds && selectedRowIdx < rowOverscanStartIdx ? rowOverscanStartIdx - 1 : rowOverscanStartIdx;\n const endRowIdx = selectedCellIsWithinViewportBounds && selectedRowIdx > rowOverscanEndIdx ? rowOverscanEndIdx + 1 : rowOverscanEndIdx;\n for (let viewportRowIdx = startRowIdx; viewportRowIdx <= endRowIdx; viewportRowIdx++) {\n const isRowOutsideViewport = viewportRowIdx === rowOverscanStartIdx - 1 || viewportRowIdx === rowOverscanEndIdx + 1;\n const rowIdx = isRowOutsideViewport ? selectedRowIdx : viewportRowIdx;\n let rowColumns = viewportColumns;\n const selectedColumn = selectedIdx === -1 ? undefined : columns[selectedIdx];\n if (selectedColumn !== undefined) {\n if (isRowOutsideViewport) {\n rowColumns = [selectedColumn];\n } else {\n rowColumns = getRowViewportColumns(rowIdx);\n }\n }\n const row = rows[rowIdx];\n const gridRowStart = headerAndTopSummaryRowsCount + rowIdx + 1;\n let key = rowIdx;\n let isRowSelected = false;\n if (typeof rowKeyGetter === 'function') {\n key = rowKeyGetter(row);\n isRowSelected = selectedRows?.has(key) ?? false;\n }\n rowElements.push(renderRow(key, {\n 'aria-rowindex': headerAndTopSummaryRowsCount + rowIdx + 1,\n 'aria-selected': isSelectable ? isRowSelected : undefined,\n rowIdx,\n row,\n viewportColumns: rowColumns,\n isRowSelectionDisabled: isRowSelectionDisabled?.(row) ?? false,\n isRowSelected,\n onCellClick: onCellClickLatest,\n onCellDoubleClick: onCellDoubleClickLatest,\n onCellContextMenu: onCellContextMenuLatest,\n rowClass,\n gridRowStart,\n copiedCellIdx: copiedCell !== null && copiedCell.row === row ? columns.findIndex(c => c.key === copiedCell.columnKey) : undefined,\n selectedCellIdx: selectedRowIdx === rowIdx ? selectedIdx : undefined,\n draggedOverCellIdx: getDraggedOverCellIdx(rowIdx),\n setDraggedOverRowIdx: isDragging ? setDraggedOverRowIdx : undefined,\n lastFrozenColumnIndex,\n onRowChange: handleFormatterRowChangeLatest,\n selectCell: selectCellLatest,\n selectedCellEditor: getCellEditor(rowIdx)\n }));\n }\n return rowElements;\n }\n if (selectedPosition.idx > maxColIdx || selectedPosition.rowIdx > maxRowIdx) {\n setSelectedPosition({\n idx: -1,\n rowIdx: minRowIdx - 1,\n mode: 'SELECT'\n });\n setDraggedOverRowIdx(undefined);\n }\n let templateRows = `repeat(${headerRowsCount}, ${headerRowHeight}px)`;\n if (topSummaryRowsCount > 0) {\n templateRows += ` repeat(${topSummaryRowsCount}, ${summaryRowHeight}px)`;\n }\n if (rows.length > 0) {\n templateRows += gridTemplateRows;\n }\n if (bottomSummaryRowsCount > 0) {\n templateRows += ` repeat(${bottomSummaryRowsCount}, ${summaryRowHeight}px)`;\n }\n const isGroupRowFocused = selectedPosition.idx === -1 && selectedPosition.rowIdx !== minRowIdx - 1;\n return /*#__PURE__*/jsxs(\"div\", {\n role: role,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-multiselectable\": isSelectable ? true : undefined,\n \"aria-colcount\": columns.length,\n \"aria-rowcount\": ariaRowCount,\n className: clsx(rootClassname, className, isDragging && viewportDraggingClassname),\n style: {\n ...style,\n scrollPaddingInlineStart: selectedPosition.idx > lastFrozenColumnIndex || scrollToPosition?.idx !== undefined ? `${totalFrozenColumnWidth}px` : undefined,\n scrollPaddingBlock: isRowIdxWithinViewportBounds(selectedPosition.rowIdx) || scrollToPosition?.rowIdx !== undefined ? `${headerRowsHeight + topSummaryRowsCount * summaryRowHeight}px ${bottomSummaryRowsCount * summaryRowHeight}px` : undefined,\n gridTemplateColumns,\n gridTemplateRows: templateRows,\n '--rdg-header-row-height': `${headerRowHeight}px`,\n '--rdg-scroll-height': `${scrollHeight}px`,\n ...layoutCssVars\n },\n dir: direction,\n ref: gridRef,\n onScroll: handleScroll,\n onKeyDown: handleKeyDown,\n \"data-testid\": testId,\n children: [/*#__PURE__*/jsxs(DataGridDefaultRenderersProvider, {\n value: defaultGridComponents,\n children: [/*#__PURE__*/jsx(HeaderRowSelectionChangeProvider, {\n value: selectHeaderRowLatest,\n children: /*#__PURE__*/jsxs(HeaderRowSelectionProvider, {\n value: headerSelectionValue,\n children: [Array.from({\n length: groupedColumnHeaderRowsCount\n }, (_, index) => /*#__PURE__*/jsx(GroupedColumnHeaderRow$1, {\n rowIdx: index + 1,\n level: -groupedColumnHeaderRowsCount + index,\n columns: getRowViewportColumns(minRowIdx + index),\n selectedCellIdx: selectedPosition.rowIdx === minRowIdx + index ? selectedPosition.idx : undefined,\n selectCell: selectHeaderCellLatest\n }, index)), /*#__PURE__*/jsx(HeaderRow$1, {\n rowIdx: headerRowsCount,\n columns: getRowViewportColumns(mainHeaderRowIdx),\n onColumnResize: handleColumnResizeLatest,\n onColumnsReorder: onColumnsReorderLastest,\n sortColumns: sortColumns,\n onSortColumnsChange: onSortColumnsChangeLatest,\n lastFrozenColumnIndex: lastFrozenColumnIndex,\n selectedCellIdx: selectedPosition.rowIdx === mainHeaderRowIdx ? selectedPosition.idx : undefined,\n selectCell: selectHeaderCellLatest,\n shouldFocusGrid: !selectedCellIsWithinSelectionBounds,\n direction: direction\n })]\n })\n }), rows.length === 0 && noRowsFallback ? noRowsFallback : /*#__PURE__*/jsxs(Fragment, {\n children: [topSummaryRows?.map((row, rowIdx) => {\n const gridRowStart = headerRowsCount + 1 + rowIdx;\n const summaryRowIdx = mainHeaderRowIdx + 1 + rowIdx;\n const isSummaryRowSelected = selectedPosition.rowIdx === summaryRowIdx;\n const top = headerRowsHeight + summaryRowHeight * rowIdx;\n return /*#__PURE__*/jsx(SummaryRow$1, {\n \"aria-rowindex\": gridRowStart,\n rowIdx: summaryRowIdx,\n gridRowStart: gridRowStart,\n row: row,\n top: top,\n bottom: undefined,\n viewportColumns: getRowViewportColumns(summaryRowIdx),\n lastFrozenColumnIndex: lastFrozenColumnIndex,\n selectedCellIdx: isSummaryRowSelected ? selectedPosition.idx : undefined,\n isTop: true,\n selectCell: selectCellLatest\n }, rowIdx);\n }), /*#__PURE__*/jsx(RowSelectionChangeProvider, {\n value: selectRowLatest,\n children: getViewportRows()\n }), bottomSummaryRows?.map((row, rowIdx) => {\n const gridRowStart = headerAndTopSummaryRowsCount + rows.length + rowIdx + 1;\n const summaryRowIdx = rows.length + rowIdx;\n const isSummaryRowSelected = selectedPosition.rowIdx === summaryRowIdx;\n const top = clientHeight > totalRowHeight ? gridHeight - summaryRowHeight * (bottomSummaryRows.length - rowIdx) : undefined;\n const bottom = top === undefined ? summaryRowHeight * (bottomSummaryRows.length - 1 - rowIdx) : undefined;\n return /*#__PURE__*/jsx(SummaryRow$1, {\n \"aria-rowindex\": ariaRowCount - bottomSummaryRowsCount + rowIdx + 1,\n rowIdx: summaryRowIdx,\n gridRowStart: gridRowStart,\n row: row,\n top: top,\n bottom: bottom,\n viewportColumns: getRowViewportColumns(summaryRowIdx),\n lastFrozenColumnIndex: lastFrozenColumnIndex,\n selectedCellIdx: isSummaryRowSelected ? selectedPosition.idx : undefined,\n isTop: false,\n selectCell: selectCellLatest\n }, rowIdx);\n })]\n })]\n }), renderDragHandle(), renderMeasuringCells(viewportColumns), isTreeGrid && /*#__PURE__*/jsx(\"div\", {\n ref: focusSinkRef,\n tabIndex: isGroupRowFocused ? 0 : -1,\n className: clsx(focusSinkClassname, isGroupRowFocused && [rowSelected, lastFrozenColumnIndex !== -1 && rowSelectedWithFrozenCell], !isRowIdxWithinViewportBounds(selectedPosition.rowIdx) && focusSinkHeaderAndSummaryClassname),\n style: {\n gridRowStart: selectedPosition.rowIdx + headerAndTopSummaryRowsCount + 1\n }\n }), scrollToPosition !== null && /*#__PURE__*/jsx(ScrollToCell, {\n scrollToPosition: scrollToPosition,\n setScrollToCellPosition: setScrollToPosition,\n gridElement: gridRef.current\n })]\n });\n}\nfunction getCellToScroll(gridEl) {\n return gridEl.querySelector(':scope > [role=\"row\"] > [tabindex=\"0\"]');\n}\nfunction isSamePosition(p1, p2) {\n return p1.idx === p2.idx && p1.rowIdx === p2.rowIdx;\n}\nconst DataGrid$1 = /*#__PURE__*/forwardRef(DataGrid);\n\nfunction GroupCell({\n id,\n groupKey,\n childRows,\n isExpanded,\n isCellSelected,\n column,\n row,\n groupColumnIndex,\n isGroupByColumn,\n toggleGroup: toggleGroupWrapper\n}) {\n const {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected);\n function toggleGroup() {\n toggleGroupWrapper(id);\n }\n const isLevelMatching = isGroupByColumn && groupColumnIndex === column.idx;\n return /*#__PURE__*/jsx(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-selected\": isCellSelected,\n tabIndex: tabIndex,\n className: getCellClassname(column),\n style: {\n ...getCellStyle(column),\n cursor: isLevelMatching ? 'pointer' : 'default'\n },\n onClick: isLevelMatching ? toggleGroup : undefined,\n onFocus: onFocus,\n children: (!isGroupByColumn || isLevelMatching) && column.renderGroupCell?.({\n groupKey,\n childRows,\n column,\n row,\n isExpanded,\n tabIndex: childTabIndex,\n toggleGroup\n })\n }, column.key);\n}\nconst GroupCell$1 = /*#__PURE__*/memo(GroupCell);\n\nconst groupRow = \"g1yxluv37-0-0-beta-47\";\nconst groupRowClassname = `rdg-group-row ${groupRow}`;\nfunction GroupedRow({\n className,\n row,\n rowIdx,\n viewportColumns,\n selectedCellIdx,\n isRowSelected,\n selectCell,\n gridRowStart,\n groupBy,\n toggleGroup,\n isRowSelectionDisabled,\n ...props\n}) {\n const idx = viewportColumns[0].key === SELECT_COLUMN_KEY ? row.level + 1 : row.level;\n function handleSelectGroup() {\n selectCell({\n rowIdx,\n idx: -1\n });\n }\n const selectionValue = useMemo(() => ({\n isRowSelectionDisabled: false,\n isRowSelected\n }), [isRowSelected]);\n return /*#__PURE__*/jsx(RowSelectionProvider, {\n value: selectionValue,\n children: /*#__PURE__*/jsx(\"div\", {\n role: \"row\",\n \"aria-level\": row.level + 1,\n \"aria-setsize\": row.setSize,\n \"aria-posinset\": row.posInSet + 1,\n \"aria-expanded\": row.isExpanded,\n className: clsx(rowClassname, groupRowClassname, `rdg-row-${rowIdx % 2 === 0 ? 'even' : 'odd'}`, className, selectedCellIdx === -1 && rowSelectedClassname),\n onClick: handleSelectGroup,\n style: getRowStyle(gridRowStart),\n ...props,\n children: viewportColumns.map(column => /*#__PURE__*/jsx(GroupCell$1, {\n id: row.id,\n groupKey: row.groupKey,\n childRows: row.childRows,\n isExpanded: row.isExpanded,\n isCellSelected: selectedCellIdx === column.idx,\n column: column,\n row: row,\n groupColumnIndex: idx,\n toggleGroup: toggleGroup,\n isGroupByColumn: groupBy.includes(column.key)\n }, column.key))\n })\n });\n}\nconst GroupedRow$1 = /*#__PURE__*/memo(GroupedRow);\n\nfunction TreeDataGrid({\n columns: rawColumns,\n rows: rawRows,\n rowHeight: rawRowHeight,\n rowKeyGetter: rawRowKeyGetter,\n onCellKeyDown: rawOnCellKeyDown,\n onRowsChange,\n selectedRows: rawSelectedRows,\n onSelectedRowsChange: rawOnSelectedRowsChange,\n renderers,\n groupBy: rawGroupBy,\n rowGrouper,\n expandedGroupIds,\n onExpandedGroupIdsChange,\n ...props\n}, ref) {\n const defaultRenderers = useDefaultRenderers();\n const rawRenderRow = renderers?.renderRow ?? defaultRenderers?.renderRow ?? defaultRenderRow;\n const headerAndTopSummaryRowsCount = 1 + (props.topSummaryRows?.length ?? 0);\n const isRtl = props.direction === 'rtl';\n const leftKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n const rightKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n const toggleGroupLatest = useLatestFunc(toggleGroup);\n const {\n columns,\n groupBy\n } = useMemo(() => {\n const columns = [...rawColumns].sort(({\n key: aKey\n }, {\n key: bKey\n }) => {\n if (aKey === SELECT_COLUMN_KEY) return -1;\n if (bKey === SELECT_COLUMN_KEY) return 1;\n if (rawGroupBy.includes(aKey)) {\n if (rawGroupBy.includes(bKey)) {\n return rawGroupBy.indexOf(aKey) - rawGroupBy.indexOf(bKey);\n }\n return -1;\n }\n if (rawGroupBy.includes(bKey)) return 1;\n return 0;\n });\n const groupBy = [];\n for (const [index, column] of columns.entries()) {\n if (rawGroupBy.includes(column.key)) {\n groupBy.push(column.key);\n columns[index] = {\n ...column,\n frozen: true,\n renderCell: () => null,\n renderGroupCell: column.renderGroupCell ?? renderToggleGroup,\n editable: false\n };\n }\n }\n return {\n columns,\n groupBy\n };\n }, [rawColumns, rawGroupBy]);\n const [groupedRows, rowsCount] = useMemo(() => {\n if (groupBy.length === 0) return [undefined, rawRows.length];\n const groupRows = (rows, [groupByKey, ...remainingGroupByKeys], startRowIndex) => {\n let groupRowsCount = 0;\n const groups = {};\n for (const [key, childRows] of Object.entries(rowGrouper(rows, groupByKey))) {\n const [childGroups, childRowsCount] = remainingGroupByKeys.length === 0 ? [childRows, childRows.length] : groupRows(childRows, remainingGroupByKeys, startRowIndex + groupRowsCount + 1);\n groups[key] = {\n childRows,\n childGroups,\n startRowIndex: startRowIndex + groupRowsCount\n };\n groupRowsCount += childRowsCount + 1;\n }\n return [groups, groupRowsCount];\n };\n return groupRows(rawRows, groupBy, 0);\n }, [groupBy, rowGrouper, rawRows]);\n const [rows, isGroupRow] = useMemo(() => {\n const allGroupRows = new Set();\n if (!groupedRows) return [rawRows, isGroupRow];\n const flattenedRows = [];\n const expandGroup = (rows, parentId, level) => {\n if (isReadonlyArray(rows)) {\n flattenedRows.push(...rows);\n return;\n }\n Object.keys(rows).forEach((groupKey, posInSet, keys) => {\n const id = parentId !== undefined ? `${parentId}__${groupKey}` : groupKey;\n const isExpanded = expandedGroupIds.has(id);\n const {\n childRows,\n childGroups,\n startRowIndex\n } = rows[groupKey];\n const groupRow = {\n id,\n parentId,\n groupKey,\n isExpanded,\n childRows,\n level,\n posInSet,\n startRowIndex,\n setSize: keys.length\n };\n flattenedRows.push(groupRow);\n allGroupRows.add(groupRow);\n if (isExpanded) {\n expandGroup(childGroups, id, level + 1);\n }\n });\n };\n expandGroup(groupedRows, undefined, 0);\n return [flattenedRows, isGroupRow];\n function isGroupRow(row) {\n return allGroupRows.has(row);\n }\n }, [expandedGroupIds, groupedRows, rawRows]);\n const rowHeight = useMemo(() => {\n if (typeof rawRowHeight === 'function') {\n return row => {\n if (isGroupRow(row)) {\n return rawRowHeight({\n type: 'GROUP',\n row\n });\n }\n return rawRowHeight({\n type: 'ROW',\n row\n });\n };\n }\n return rawRowHeight;\n }, [isGroupRow, rawRowHeight]);\n const getParentRowAndIndex = useCallback(row => {\n const rowIdx = rows.indexOf(row);\n for (let i = rowIdx - 1; i >= 0; i--) {\n const parentRow = rows[i];\n if (isGroupRow(parentRow) && (!isGroupRow(row) || row.parentId === parentRow.id)) {\n return [parentRow, i];\n }\n }\n return undefined;\n }, [isGroupRow, rows]);\n const rowKeyGetter = useCallback(row => {\n if (isGroupRow(row)) {\n return row.id;\n }\n if (typeof rawRowKeyGetter === 'function') {\n return rawRowKeyGetter(row);\n }\n const parentRowAndIndex = getParentRowAndIndex(row);\n if (parentRowAndIndex !== undefined) {\n const {\n startRowIndex,\n childRows\n } = parentRowAndIndex[0];\n const groupIndex = childRows.indexOf(row);\n return startRowIndex + groupIndex + 1;\n }\n return rows.indexOf(row);\n }, [getParentRowAndIndex, isGroupRow, rawRowKeyGetter, rows]);\n const selectedRows = useMemo(() => {\n if (rawSelectedRows == null) return null;\n assertIsValidKeyGetter(rawRowKeyGetter);\n const selectedRows = new Set(rawSelectedRows);\n for (const row of rows) {\n if (isGroupRow(row)) {\n const isGroupRowSelected = row.childRows.every(cr => rawSelectedRows.has(rawRowKeyGetter(cr)));\n if (isGroupRowSelected) {\n selectedRows.add(row.id);\n }\n }\n }\n return selectedRows;\n }, [isGroupRow, rawRowKeyGetter, rawSelectedRows, rows]);\n function onSelectedRowsChange(newSelectedRows) {\n if (!rawOnSelectedRowsChange) return;\n assertIsValidKeyGetter(rawRowKeyGetter);\n const newRawSelectedRows = new Set(rawSelectedRows);\n for (const row of rows) {\n const key = rowKeyGetter(row);\n if (selectedRows?.has(key) && !newSelectedRows.has(key)) {\n if (isGroupRow(row)) {\n for (const cr of row.childRows) {\n newRawSelectedRows.delete(rawRowKeyGetter(cr));\n }\n } else {\n newRawSelectedRows.delete(key);\n }\n } else if (!selectedRows?.has(key) && newSelectedRows.has(key)) {\n if (isGroupRow(row)) {\n for (const cr of row.childRows) {\n newRawSelectedRows.add(rawRowKeyGetter(cr));\n }\n } else {\n newRawSelectedRows.add(key);\n }\n }\n }\n rawOnSelectedRowsChange(newRawSelectedRows);\n }\n function handleKeyDown(args, event) {\n rawOnCellKeyDown?.(args, event);\n if (event.isGridDefaultPrevented()) return;\n if (args.mode === 'EDIT') return;\n const {\n column,\n rowIdx,\n selectCell\n } = args;\n const idx = column?.idx ?? -1;\n const row = rows[rowIdx];\n if (!isGroupRow(row)) return;\n if (idx === -1 && (event.key === leftKey && row.isExpanded || event.key === rightKey && !row.isExpanded)) {\n event.preventDefault();\n event.preventGridDefault();\n toggleGroup(row.id);\n }\n if (idx === -1 && event.key === leftKey && !row.isExpanded && row.level !== 0) {\n const parentRowAndIndex = getParentRowAndIndex(row);\n if (parentRowAndIndex !== undefined) {\n event.preventGridDefault();\n selectCell({\n idx,\n rowIdx: parentRowAndIndex[1]\n });\n }\n }\n if (isCtrlKeyHeldDown(event) && (event.keyCode === 67 || event.keyCode === 86)) {\n event.preventGridDefault();\n }\n }\n function handleRowsChange(updatedRows, {\n indexes,\n column\n }) {\n if (!onRowsChange) return;\n const updatedRawRows = [...rawRows];\n const rawIndexes = [];\n for (const index of indexes) {\n const rawIndex = rawRows.indexOf(rows[index]);\n updatedRawRows[rawIndex] = updatedRows[index];\n rawIndexes.push(rawIndex);\n }\n onRowsChange(updatedRawRows, {\n indexes: rawIndexes,\n column\n });\n }\n function toggleGroup(groupId) {\n const newExpandedGroupIds = new Set(expandedGroupIds);\n if (newExpandedGroupIds.has(groupId)) {\n newExpandedGroupIds.delete(groupId);\n } else {\n newExpandedGroupIds.add(groupId);\n }\n onExpandedGroupIdsChange(newExpandedGroupIds);\n }\n function renderRow(key, {\n row,\n rowClass,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n onRowChange,\n lastFrozenColumnIndex,\n copiedCellIdx,\n draggedOverCellIdx,\n setDraggedOverRowIdx,\n selectedCellEditor,\n ...rowProps\n }) {\n if (isGroupRow(row)) {\n const {\n startRowIndex\n } = row;\n return /*#__PURE__*/jsx(GroupedRow$1, {\n ...rowProps,\n \"aria-rowindex\": headerAndTopSummaryRowsCount + startRowIndex + 1,\n row: row,\n groupBy: groupBy,\n toggleGroup: toggleGroupLatest\n }, key);\n }\n let ariaRowIndex = rowProps['aria-rowindex'];\n const parentRowAndIndex = getParentRowAndIndex(row);\n if (parentRowAndIndex !== undefined) {\n const {\n startRowIndex,\n childRows\n } = parentRowAndIndex[0];\n const groupIndex = childRows.indexOf(row);\n ariaRowIndex = startRowIndex + headerAndTopSummaryRowsCount + groupIndex + 2;\n }\n return rawRenderRow(key, {\n ...rowProps,\n 'aria-rowindex': ariaRowIndex,\n row,\n rowClass,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n onRowChange,\n lastFrozenColumnIndex,\n copiedCellIdx,\n draggedOverCellIdx,\n setDraggedOverRowIdx,\n selectedCellEditor\n });\n }\n return /*#__PURE__*/jsx(DataGrid$1, {\n ...props,\n role: \"treegrid\",\n \"aria-rowcount\": rowsCount + 1 + (props.topSummaryRows?.length ?? 0) + (props.bottomSummaryRows?.length ?? 0),\n ref: ref,\n columns: columns,\n rows: rows,\n rowHeight: rowHeight,\n rowKeyGetter: rowKeyGetter,\n onRowsChange: handleRowsChange,\n selectedRows: selectedRows,\n onSelectedRowsChange: onSelectedRowsChange,\n onCellKeyDown: handleKeyDown,\n renderers: {\n ...renderers,\n renderRow\n }\n });\n}\nfunction isReadonlyArray(arr) {\n return Array.isArray(arr);\n}\nconst TreeDataGrid$1 = /*#__PURE__*/forwardRef(TreeDataGrid);\n\nconst textEditorInternalClassname = \"t7vyx3i7-0-0-beta-47\";\nconst textEditorClassname = `rdg-text-editor ${textEditorInternalClassname}`;\nfunction autoFocusAndSelect(input) {\n input?.focus();\n input?.select();\n}\nfunction textEditor({\n row,\n column,\n onRowChange,\n onClose\n}) {\n return /*#__PURE__*/jsx(\"input\", {\n className: textEditorClassname,\n ref: autoFocusAndSelect,\n value: row[column.key],\n onChange: event => onRowChange({\n ...row,\n [column.key]: event.target.value\n }),\n onBlur: () => onClose(true, false)\n });\n}\n\nexport { DataGridDefaultRenderersProvider, RowComponent$1 as Row, SELECT_COLUMN_KEY, SelectCellFormatter, SelectColumn, ToggleGroup, TreeDataGrid$1 as TreeDataGrid, DataGrid$1 as default, renderCheckbox, renderHeaderCell, renderSortIcon, renderSortPriority, renderToggleGroup, renderValue, textEditor, useHeaderRowSelection, useRowSelection };\n//# sourceMappingURL=bundle.js.map\n","import React from \"preact/compat\";\nimport { Widget } from \"@hpcc-js/common\";\n\nexport function useData(widget: Widget): [string[], Array<string | number>[]] {\n const columns: string[] = React.useMemo(() => widget.columns(), [widget, widget.dataChecksum()]);\n const data: Array<string | number>[] = React.useMemo(() => widget.data(), [widget, widget.dataChecksum()]);\n\n return [columns, data];\n}\n\n","import { FunctionComponent } from \"preact\";\nimport { useCallback, useEffect, useState } from \"preact/hooks\";\nimport DataGrid, { Column, SelectColumn, SortColumn } from \"react-data-grid\";\nimport { format, timeFormat, timeParse } from \"@hpcc-js/common\";\nimport { useData } from \"./hooks.ts\";\nimport type { Table } from \"./table.ts\";\n\nimport \"react-data-grid/lib/styles.css\";\n\nexport type QuerySortItem = { attribute: string, descending: boolean };\nfunction copyAndSort<T>(items: T[], attribute: string, descending?: boolean): T[] {\n const key = attribute as keyof T;\n return [...items].sort((a: T, b: T) => {\n if (a[key] < b[key]) {\n return descending ? 1 : -1;\n } else if (a[key] > b[key]) {\n return descending ? -1 : 1;\n }\n return 0;\n });\n}\n\ninterface EmptyRowsRendererProps {\n message: string\n}\n\nconst EmptyRowsRenderer: FunctionComponent<EmptyRowsRendererProps> = ({\n message\n}) => {\n\n return <div style={{ textAlign: \"center\", gridColumn: \"1/-1\" }} >\n {message}\n </div>;\n};\n\ninterface ColumnEx<TRow, TSummaryRow = unknown> extends Column<TRow, TSummaryRow> {\n renderCell?: (props: any) => any;\n __hpcc_pattern?: ReturnType<typeof timeParse>;\n __hpcc_format?: ReturnType<typeof format> | ReturnType<typeof timeFormat>;\n}\n\nexport interface ReactTableProps {\n table: Table;\n sort?: QuerySortItem,\n}\n\nexport const ReactTable: FunctionComponent<ReactTableProps> = ({\n table,\n sort\n}) => {\n const [columns, data] = useData(table);\n const multiSelect = table.multiSelect();\n const columnTypes = table.columnTypes();\n const columnPatterns = table.columnPatterns();\n const columnFormats = table.columnFormats();\n\n const [listColumns, setListColumns] = useState<ColumnEx<any[]>[]>([]);\n const [sortColumn, setSortColumn] = useState<SortColumn>();\n const [rows, setRows] = useState<any[]>([]);\n const [selectedRows, setSelectedRows] = useState<ReadonlySet<number>>(new Set());\n\n // Columns ---\n useEffect(() => {\n setListColumns([\n ...multiSelect ? [SelectColumn as ColumnEx<any[]>] : [],\n ...columns.map((column): ColumnEx<any[]> => {\n const type = columnTypes[column] ?? \"string\";\n let formatter;\n let __hpcc_pattern;\n let __hpcc_format;\n switch (type) {\n case \"time\":\n __hpcc_pattern = columnPatterns[column] !== undefined ? timeParse(columnPatterns[column]) : undefined;\n __hpcc_format = columnFormats[column] !== undefined ? timeFormat(columnFormats[column]) : undefined;\n break;\n case \"number\":\n formatter = (props) => {\n return <div style={{ textAlign: \"right\" }}>{props.row[props.column.key]}</div>;\n };\n // eslint-disable-next-line no-fallthrough\n default:\n __hpcc_format = columnFormats[column] !== undefined ? format(columnFormats[column]) : undefined;\n }\n return {\n key: column,\n name: column,\n resizable: true,\n sortable: true,\n minWidth: 80,\n renderCell: formatter,\n __hpcc_pattern,\n __hpcc_format\n };\n })\n ]);\n }, [columnFormats, columnPatterns, columnTypes, columns, multiSelect]);\n\n const onSortColumnsChange = useCallback((sortColumns: SortColumn[]) => {\n const futureSortColumn = sortColumns.slice(-1)[0];\n const sorted = futureSortColumn !== undefined;\n const isSortedDescending: boolean = futureSortColumn?.direction === \"DESC\";\n setSortColumn(futureSortColumn);\n setRows(copyAndSort(rows, sorted ? futureSortColumn.columnKey : \"key\", sorted ? isSortedDescending : false));\n }, [rows]);\n\n const rowKeyGetter = useCallback((row: any) => {\n return row.key;\n }, []);\n\n const onSelectedRowsChange = useCallback((selectedRows: Set<any>) => {\n setSelectedRows(selectedRows);\n }, []);\n\n const onCellClick = useCallback((row, column) => {\n table.onRowClickCallback(row, column.key);\n }, [table]);\n\n // Rows ---\n useEffect(() => {\n let items = data.map((row, index) => {\n const retVal = {\n key: index\n };\n listColumns.forEach((column, index) => {\n let val = row[index] as string;\n if (column.__hpcc_pattern && column.__hpcc_format) {\n val = column.__hpcc_format(column.__hpcc_pattern(val));\n } else if (column.__hpcc_pattern) {\n val = column.__hpcc_pattern(val).toString();\n } else if (column.__hpcc_format) {\n val = column.__hpcc_format(val as any);\n }\n retVal[column.key] = val;\n });\n return retVal;\n });\n if (sort?.attribute) {\n items = copyAndSort(items, sort.attribute, sort.descending);\n }\n setRows(items);\n }, [listColumns, data, sort]);\n\n return <DataGrid\n columns={listColumns}\n headerRowHeight={24}\n rows={rows}\n rowKeyGetter={rowKeyGetter}\n rowHeight={20}\n renderers={{ noRowsFallback: <EmptyRowsRenderer message={table.noDataMessage()} /> as any }}\n className={table.darkMode() ? \"rdg-dark\" : \"rdg-light\"}\n sortColumns={sortColumn ? [sortColumn] : []}\n onSortColumnsChange={onSortColumnsChange}\n selectedRows={selectedRows}\n onSelectedRowsChange={multiSelect ? onSelectedRowsChange : undefined}\n onCellClick={multiSelect ? undefined : (args, event) => onCellClick(args.row, args.column)}\n aria-describedby={\"\"}\n aria-label={\"\"}\n aria-labelledby={\"\"}\n style={{ height: \"100%\" }}\n />;\n};\n\n","import { render, createElement } from \"preact\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\nimport { ReactTable } from \"./reactTable.tsx\";\n\nimport \"./table.css\";\n\nexport type ColumnType = \"boolean\" | \"number\" | \"string\" | \"time\";\n\nexport class Table extends HTMLWidget {\n\n protected _div;\n\n constructor() {\n super();\n }\n\n columnType(column: string): ColumnType;\n columnType(column: string, type: ColumnType): this;\n columnType(column: string, type?: ColumnType): ColumnType | this {\n if (arguments.length === 1) return this.columnTypes()[column];\n this.columnTypes({ ...this.columnTypes(), [column]: type });\n return this;\n }\n\n columnPattern(column: string): string;\n columnPattern(column: string, pattern: string): this;\n columnPattern(column: string, pattern?: string): string | this {\n if (arguments.length === 1) return this.columnPatterns()[column];\n this.columnPatterns({ ...this.columnPatterns(), [column]: pattern });\n return this;\n }\n\n columnFormat(column: string): string;\n columnFormat(column: string, format: string): this;\n columnFormat(column: string, format?: string): string | this {\n if (arguments.length === 1) return this.columnFormats()[column];\n this.columnFormats({ ...this.columnFormats(), [column]: format });\n return this;\n }\n\n private _prevRow;\n private _prevColumn;\n onRowClickCallback(row, column) {\n if (this._prevRow && JSON.stringify(this._prevRow) !== JSON.stringify(row)) {\n this.click(this._prevRow, this._prevColumn ?? \"\", false);\n }\n if (row) {\n this.click(row, column, true);\n }\n this._prevRow = row;\n this._prevColumn = column;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._div = element\n .append(\"div\")\n .style(\"display\", \"grid\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._div.style(\"width\", this.width() + \"px\");\n this._div.style(\"height\", this.height() + \"px\");\n render(createElement(ReactTable, { table: this }), this._div.node());\n }\n\n exit(domNode, element) {\n this._div.remove();\n super.exit(domNode, element);\n }\n\n // Events ---\n click(row, col, sel) {\n }\n}\nTable.prototype._class += \" dgrid2_Table\";\n\nexport interface Table {\n noDataMessage(): string;\n noDataMessage(_: string): this;\n darkMode(): boolean;\n darkMode(_: boolean): this;\n multiSelect(): boolean;\n multiSelect(_: boolean): this;\n columnTypes(): { [column: string]: ColumnType };\n columnTypes(_: { [column: string]: ColumnType }): this;\n columnPatterns(): { [column: string]: string };\n columnPatterns(_: { [column: string]: string }): this;\n columnFormats(): { [column: string]: string };\n columnFormats(_: { [column: string]: string }): this;\n}\n\nTable.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\nTable.prototype.publish(\"darkMode\", false, \"boolean\", \"Dark Mode\");\nTable.prototype.publish(\"multiSelect\", false, \"boolean\", \"Multiple Selection\");\nTable.prototype.publish(\"columnTypes\", {}, \"object\", \"Column Types (\\\"boolean\\\" | \\\"number\\\" | \\\"string\\\" | \\\"time\\\"\");\nTable.prototype.publish(\"columnPatterns\", {}, \"object\", \"Column Patterns\");\nTable.prototype.publish(\"columnFormats\", {}, \"object\", \"Column Formats\");\n\n"],"names":["l","u","i","o","r","f","e","c","s","a","h","v","p","y","d","n","w","_","t","g","m","k","x","C","M","O","j","P","$","E","I","L","N","H","T","A","F","S","V","z","b","q","B","D","G","jsx","row","moveNext","createContext","useContext","renderCheckbox","useMemo","lastFrozenColumnIndex","headerRowsCount","columns","rawColumns","colSpanColumns","columnMetrics","totalFrozenColumnWidth","templateColumns","layoutCssVars","colOverscanStartIdx","colOverscanEndIdx","useEffect","useLayoutEffect$1","useRef","columnsToMeasure","measuredColumnWidths","newTemplateColumns","width","flushSync","resizedColumnWidths","useState","clientHeight","offsetHeight","fn","useCallback","startIdx","totalRowHeight","gridTemplateRows","event","jsxs","Fragment","renderSortStatus","right","left","useId","memo","forwardRef","useImperativeHandle","scrollTop","scrollLeft","cell","idx","rowIdx","React","timeParse","timeFormat","format","selectedRows","index","DataGrid","HTMLWidget","render","createElement"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6]}
|