simple-table-core 0.7.29 → 0.7.31
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.
|
@@ -36,5 +36,5 @@ interface SimpleTableProps {
|
|
|
36
36
|
theme?: Theme;
|
|
37
37
|
totalPages?: number;
|
|
38
38
|
}
|
|
39
|
-
declare const _default: import("react").MemoExoticComponent<({ allowAnimations, columnEditorPosition, columnEditorText, columnResizing, defaultHeaders, editColumns, editColumnsInitOpen, columnReordering, height, hideFooter, nextIcon, onCellEdit, onColumnOrderChange, onNextPage, onPreviousPage, prevIcon, rowHeight, rows, rowsPerPage, selectableCells, selectableColumns, shouldPaginate, sortDownIcon, sortUpIcon, theme, totalPages, }: SimpleTableProps) => import("react/jsx-runtime").JSX.Element
|
|
39
|
+
declare const _default: import("react").MemoExoticComponent<({ allowAnimations, columnEditorPosition, columnEditorText, columnResizing, defaultHeaders, editColumns, editColumnsInitOpen, columnReordering, height, hideFooter, nextIcon, onCellEdit, onColumnOrderChange, onNextPage, onPreviousPage, prevIcon, rowHeight, rows, rowsPerPage, selectableCells, selectableColumns, shouldPaginate, sortDownIcon, sortUpIcon, theme, totalPages, }: SimpleTableProps) => import("react/jsx-runtime").JSX.Element>;
|
|
40
40
|
export default _default;
|
package/dist/index.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,jsxs as n,Fragment as r}from"react/jsx-runtime";import{useState as t,useRef as o,useCallback as a,useEffect as i,useMemo as c,forwardRef as l,memo as d,useReducer as u,useLayoutEffect as s}from"react";var v=function(){return v=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},v.apply(this,arguments)};function f(e,n,r){if(r||2===arguments.length)for(var t,o=0,a=n.length;o<a;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var w=function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return"".concat(n,"-").concat(r,"-").concat(t)},h=function(n){var r=n.className;return e("svg",v({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})}))},g=function(n){var r=n.className;return e("svg",v({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},I=function(n){var r=n.className;return e("svg",v({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e("path",{d:"M5.41 11.41L10 6.83l4.59 4.58L16 10l-6-6-6 6z"})}))},m=function(n){var r=n.className;return e("svg",v({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},p=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},x=function(r){var t=r.value,o=r.onBlur,a=r.onChange;return n("select",v({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;a("true"===n)}},{children:[e("option",v({value:"true"},{children:"True"})),e("option",v({value:"false"},{children:"False"}))]}))},b=function(n){var r=n.defaultValue,t=n.onBlur,a=n.onChange,i=o(null);return e("input",{className:"editable-cell-input",ref:i,autoFocus:!0,type:"text",defaultValue:null!=r?r:"",onBlur:t,onChange:function(e){var n=e.target.value;a(n)}})},M=function(n){var r=n.defaultValue,t=n.onBlur,a=n.onChange,i=o(null);return e("input",{className:"editable-cell-input",ref:i,autoFocus:!0,defaultValue:r.toString(),onBlur:t,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&a(n)}})},y=function(n){var t=n.onChange,o=n.setIsEditing,a=n.value,i=function(e){null==t||t(e)},c=function(){o(!1)};return e(r,{children:"string"==typeof a||null==a?e(b,{defaultValue:a,onBlur:c,onChange:i}):"boolean"==typeof a?e(x,{onBlur:c,onChange:i,value:a}):"number"==typeof a?e(M,{defaultValue:a,onBlur:c,onChange:i}):null})},D=0,C=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===D||o-D>=t)&&(D=o,n(r))}},S=Date.now(),E={screenX:0,screenY:0},R=function(e){var n,r,t=e.draggedHeaderRef,a=e.headersRef,c=e.hoveredHeaderRef,l=e.onColumnOrderChange,d=e.onTableHeaderDragEnd,u=(n=a.current,r=o(n),i((function(){r.current=n}),[n]),r.current);return{handleDragStart:function(e){t.current=e,S=Date.now()},handleDragOver:function(e){var n,r=e.event,o=e.hoveredHeader;if(r.preventDefault(),a.current){var i=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),l=r.screenX,s=r.screenY,v=Math.sqrt(Math.pow(l-E.screenX,2)+Math.pow(s-E.screenY,2));c.current=o;var w=f([],a.current,!0),h=w.findIndex((function(e){var n;return e.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)})),g=w.findIndex((function(e){return e.accessor===o.accessor})),I=w.splice(h,1)[0];if(w.splice(g,0,I),!(i||o.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)||null===t.current||v<10||void 0===h||void 0===g||JSON.stringify(w)===JSON.stringify(a.current))){var m=Date.now();JSON.stringify(w)===JSON.stringify(u)&&m-S<800&&v<50||(S=m,E={screenX:l,screenY:s},d(w))}}},handleDragEnd:function(){t.current=null,c.current=null,null==l||l(a.current)}}};l((function(r,o){var a,c,l=r.borderClass,d=r.colIndex,u=r.draggedHeaderRef,s=r.header,f=r.headersRef,w=r.hoveredHeaderRef,h=r.isSelected,I=r.isInitialFocusedCell,x=r.onCellEdit,b=r.onExpandRowClick,M=r.onMouseDown,D=r.onMouseOver,S=r.onTableHeaderDragEnd,E=r.rowIndex,k=r.visibleRow,N=k.depth,H=k.row,L=t(H.rowData[s.accessor]),B=L[0],O=L[1],T=t(!1),W=T[0],A=T[1],P=R({draggedHeaderRef:u,headersRef:f,hoveredHeaderRef:w,onTableHeaderDragEnd:S}).handleDragOver,z=C(),j="cell-".concat(E,"-").concat(d),F=Boolean(null===(c=null===(a=H.rowMeta)||void 0===a?void 0:a.children)||void 0===c?void 0:c.length),U=Boolean(null==s?void 0:s.isEditable),K=E%2==0,V="st-cell ".concat(N>0&&s.expandable?"st-cell-depth-".concat(N):""," ").concat(h?I?"st-cell-selected-first ".concat(l):"st-cell-selected ".concat(l):""," ").concat(K?"st-cell-odd-row":"st-cell-even-row"," ").concat(U?"clickable":"");i((function(){O(H.rowData[s.accessor])}),[s.accessor,H]);return W?e("div",v({className:"st-cell-editing ".concat(K?"st-cell-odd-row":"st-cell-even-row"),id:p({accessor:s.accessor,rowIndex:E+1})},{children:e(y,{onChange:function(e){O(e),null==x||x({accessor:s.accessor,newValue:e,row:H})},setIsEditing:A,value:B})})):n("div",v({className:V,id:j,onDoubleClick:function(){return s.isEditable&&A(!0)},onMouseDown:function(){return M({rowIndex:E,colIndex:d,rowId:H.rowMeta.rowId})},onMouseOver:function(){return D({rowIndex:E,colIndex:d,rowId:H.rowMeta.rowId})},onDragOver:function(e){return z({callback:P,callbackProps:{event:e,hoveredHeader:s},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!s.isEditable||W||(e.preventDefault(),A(!0))},ref:o,"data-row-index":E,"data-col-index":d,"aria-selected":h},{children:[s.expandable&&F?H.rowMeta.isExpanded?e("div",v({className:"st-sort-icon-container",onClick:function(){return b(H.rowMeta.rowId)}},{children:e(m,{className:"st-sort-icon"})})):e("div",v({className:"st-sort-icon-container",onClick:function(){return b(H.rowMeta.rowId)}},{children:e(g,{className:"st-sort-icon"})})):null,e("span",v({className:"st-cell-content ".concat("right"===s.align?"right-aligned":"center"===s.align?"center-aligned":"")},{children:s.cellRenderer?s.cellRenderer({accessor:s.accessor,colIndex:d,row:H}):B}))]}))}));var k={string:function(e,n,r){if(e===n)return 0;var t=e.localeCompare(n);return"ascending"===r?t:-t},number:function(e,n,r){if(e===n)return 0;var t=e-n;return"ascending"===r?t:-t},boolean:function(e,n,r){if(e===n)return 0;var t=e===n?0:e?-1:1;return"ascending"===r?t:-t},date:function(e,n,r){var t=new Date(e),o=new Date(n);if(t.getTime()===o.getTime())return 0;var a=t.getTime()-o.getTime();return"ascending"===r?a:-a},enum:function(e,n,r){return k.string(e,n,r)},default:function(e,n,r){return e===n?0:null==e?"ascending"===r?-1:1:null==n?"ascending"===r?1:-1:"string"==typeof e&&"string"==typeof n?k.string(e,n,r):"number"==typeof e&&"number"==typeof n?k.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?k.boolean(e,n,r):k.string(String(e),String(n),r)}},N=function(e,n,r,t){if(void 0===r&&(r="string"),null==e||""===e)return"ascending"===t?-1:1;if(null==n||""===n)return"ascending"===t?1:-1;if("number"===r){var o=function(e){var n;if("number"==typeof e)return e;var r=String(e);if("string"==typeof r){var t=r.replace(/[$,]/g,"").match(/^([-+]?\d*\.?\d+)([TBMKtbmk])?/);if(t){var o=parseFloat(t[1]),a=null===(n=t[2])||void 0===n?void 0:n.toUpperCase();return"T"===a?o*=1e12:"B"===a?o*=1e9:"M"===a?o*=1e6:"K"===a&&(o*=1e3),o}}return parseFloat(r)||0},a=o(e),i=o(n);return k.number(a,i,t)}return"date"===r?k.date(String(e),String(n),t):"boolean"===r?k.boolean(Boolean(e),Boolean(n),t):"enum"===r?k.enum(String(e),String(n),t):k.string(String(e),String(n),t)},H=function(e,n,r){var t=r.find((function(e){return e.accessor===n.key.accessor})),o=(null==t?void 0:t.type)||"string",a=n.direction,i=new Map,c=new Map,l="";e.forEach((function(e){var r;if(e.rowData&&!e.rowData[n.key.accessor]&&void 0!==e.rowMeta.isExpanded){var t=(e.rowData.sector||"group_".concat(i.size)).toString();l=t,c.set(l,e),i.has(l)||i.set(l,[])}else if(l){var o=i.get(l)||[];o.push(e),i.set(l,o)}else{var a="default";i.has(a)||i.set(a,[]),null===(r=i.get(a))||void 0===r||r.push(e)}}));var d=[];return i.forEach((function(e,t){if(c.has(t)){var i=c.get(t);i.rowMeta.children&&i.rowMeta.children.length>0&&(i.rowMeta.children=L(i.rowMeta.children,n,r)),d.push(i)}var l=f([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,i=e.rowData[t],c=r.rowData[t];return N(i,c,o,a)}));d.push.apply(d,l.map((function(e){var t=v({},e);if(t.rowMeta.children&&t.rowMeta.children.length>0){var o=L(t.rowMeta.children,n,r);t.rowMeta=v(v({},t.rowMeta),{children:o})}return t})))})),d},L=function(e,n,r){var t=r.find((function(e){return e.accessor===n.key.accessor})),o=(null==t?void 0:t.type)||"string",a=n.direction;return f([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,i=e.rowData[t],c=r.rowData[t];return N(i,c,o,a)})).map((function(e){return e.rowMeta.children&&e.rowMeta.children.length>0?v(v({},e),{rowMeta:v(v({},e.rowMeta),{children:L(e.rowMeta.children,n,r)})}):e}))},B=function(e){var n=e.colIndex,r=e.event,t=e.forceUpdate,o=e.header,a=e.headersRef;e.reverse;var i=e.setIsWidthDragging,c=e.startWidth;i(!0),r.preventDefault();var l=r.clientX;if(o){var d=function(e){var r=Math.max(c+(e.clientX-l),40);o&&a.current&&(a.current[n].width=r,t())},u=function(){document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",u),i(!1)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",u)}};l((function(r,o){var a=r.colIndex,c=r.columnReordering,l=r.columnResizing,d=r.currentRows,u=r.draggedHeaderRef,s=r.forceUpdate,f=r.gridColumnEnd,h=r.gridColumnStart,g=r.gridRowEnd,I=r.gridRowStart,m=r.header,x=r.headersRef,b=r.hoveredHeaderRef,M=r.onColumnOrderChange,y=r.onSort,D=r.onTableHeaderDragEnd,S=r.reverse,E=r.rowHeight,k=r.selectableColumns,N=r.setIsWidthDragging,H=r.setSelectedCells,L=r.sort,O=r.sortDownIcon,T=r.sortUpIcon,W=t(!1),A=W[0],P=W[1],z=Boolean(null==m?void 0:m.isSortable),j="st-header-cell ".concat(m===b.current?"st-hovered":""," ").concat(A?"st-dragging":""," ").concat(z?"clickable":""," ").concat(c&&!z?"columnReordering":""," ").concat("right"===(null==m?void 0:m.align)?"right-aligned":"center"===(null==m?void 0:m.align)?"center-aligned":""),F=R({draggedHeaderRef:u,headersRef:x,hoveredHeaderRef:b,onColumnOrderChange:M,onTableHeaderDragEnd:D}),U=F.handleDragStart,K=F.handleDragEnd,V=F.handleDragOver,X=C(),J=function(e){var n=e.event,r=e.header;if(k){var t=d.length,o=Array.from({length:t},(function(e,n){return w({rowIndex:n,colIndex:a,rowId:d[n].rowMeta.rowId})})),i=function(e,n){var r=new Set,o=Math.min(e,n),a=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:a-o+1}).forEach((function(e,t){r.add(w({rowIndex:n,colIndex:o+t,rowId:d[n].rowMeta.rowId}))}))})),r};n.shiftKey?H((function(e){var n,r=Number(null===(n=Array.from(e)[0])||void 0===n?void 0:n.split("-")[1]),t=Number(o[0].split("-")[1]);return r===t?new Set(o):r>t?i(t,r):i(r,t)})):H(new Set(o))}else r.isSortable&&y(a,r.accessor)};if(i((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!m)return null;var Y=l&&e("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;X({callback:B,callbackProps:{colIndex:a,event:e,forceUpdate:s,header:m,headersRef:x,setIsWidthDragging:N,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),q=L&&L.key.accessor===m.accessor&&n("div",v({className:"st-sort-icon-container",onClick:function(e){return J({event:e,header:m})}},{children:["ascending"===L.direction&&T&&T,"descending"===L.direction&&O&&O]}));return n("div",v({className:j,id:p({accessor:m.accessor,rowIndex:0}),onDragOver:function(e){X({callback:V,callbackProps:{event:e,hoveredHeader:m},limit:50})},ref:o,style:v(v({gridRowStart:I,gridRowEnd:g,gridColumnStart:h,gridColumnEnd:f},f-h>1?{}:{width:m.width}),g-I>1?{}:{height:E})},{children:[S&&Y,n("div",v({className:"st-header-label ".concat("right"===m.align?"right-aligned":"center"===m.align?"center-aligned":""),draggable:c,onClick:function(e){return J({event:e,header:m})},onDragEnd:function(e){e.preventDefault(),P(!1),K()},onDragStart:function(e){c&&m&&function(e){P(!0),U(e)}(m)}},{children:["right"===m.align&&q,null==m?void 0:m.label,"right"!==m.align&&q]})),!S&&Y]}))}));var O,T=function(e){var n=e.headers,r=e.tableRows,o=t(null),a=o[0],i=o[1],l=c((function(){var e={};return n.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[n]),d=t(l),u=d[0],s=d[1],v=c((function(){if(!a)return r;var e=function(e,n,r){return{sortedData:H(n,r,e),newSortConfig:r}}(n,r,a).sortedData;return e}),[r,a,n]);return{sort:a,setSort:i,updateSort:function(e,r){var t=n.find((function(e){return e.accessor===r}));t&&i((function(e){return e&&e.key.accessor===r?"ascending"===e.direction?{key:t,direction:"descending"}:null:{key:t,direction:"ascending"}}))},sortedRows:v,hiddenColumns:u,setHiddenColumns:s}};!function(e){e.Left="left",e.Right="right"}(O||(O={}));var W=d((function(n){n.allowAnimations;var r=n.columnEditorPosition;void 0===r&&O.Right,n.columnEditorText,n.columnResizing;var l=n.defaultHeaders;n.editColumns,n.editColumnsInitOpen,n.columnReordering;var d=n.height;n.hideFooter;var v=n.nextIcon;void 0===v&&e(g,{className:"st-next-prev-icon"}),n.onCellEdit,n.onColumnOrderChange,n.onNextPage,n.onPreviousPage;var f=n.prevIcon;void 0===f&&e(h,{className:"st-next-prev-icon"});var p=n.rowHeight,x=void 0===p?40:p,b=n.rows,M=n.rowsPerPage,y=void 0===M?10:M,D=n.selectableCells,C=void 0!==D&&D,S=n.selectableColumns,E=void 0!==S&&S,R=n.shouldPaginate,k=void 0!==R&&R,N=n.sortDownIcon;void 0===N&&e(m,{className:"st-sort-icon"});var H=n.sortUpIcon;void 0===H&&e(I,{className:"st-sort-icon"}),n.theme,n.totalPages,o(null);var L=o(l);o(null),o(null),o(null),o(null);var B=o(null),W=t(!1);W[0],W[1];var A=t(1),P=A[0];A[1];var z=t(0);z[0];var j=z[1],F=t(0);F[0];var U=F[1],K=t(0),V=K[0];K[1];var X=T({headers:L.current,tableRows:b}),J=X.sortedRows,Y=X.updateSort,q=c((function(){if(!k)return J;var e=(P-1)*y,n=e+y;return J.slice(e,n)}),[P,y,k,J]),$=t(q),G=$[0],_=$[1];i((function(){_(q)}),[q]);var Q=c((function(){var e;if(!d)return window.innerHeight-x;var n=document.querySelector(".simple-table-root"),r=0;if(d.endsWith("px"))r=parseInt(d,10);else if(d.endsWith("vh")){var t=parseInt(d,10);r=window.innerHeight*t/100}else if(d.endsWith("%")){var o=parseInt(d,10);r=((null===(e=null==n?void 0:n.parentElement)||void 0===e?void 0:e.clientHeight)||window.innerHeight)*o/100}else r=window.innerHeight;return Math.max(0,r-x)}),[d,x]),Z=c((function(){return function(e){var n=e.bufferRowCount,r=e.contentHeight,t=e.flattenedRows,o=e.rowHeight,a=e.scrollTop,i=[],c=0,l=Math.max(0,a-o*n),d=a+r+o*n,u=function(e,n){for(var r,t=0,a=e;t<a.length;t++){var s=a[t],v=c*o;if(v>=d)break;v+o>l&&i.push({row:s,depth:n,position:c,isLastGroupRow:Boolean(null===(r=s.rowMeta.children)||void 0===r?void 0:r.length)&&n>1}),c+=1,s.rowMeta.isExpanded&&s.rowMeta.children&&u(s.rowMeta.children,n+1)}};return u(t,0),i}({bufferRowCount:5,contentHeight:Q,flattenedRows:G,rowHeight:x,scrollTop:V})}),[Q,x,G,V]),ee=u((function(e){return e+1}),0)[1],ne=function(e){var n=e.selectableCells,r=e.headers,l=e.visibleRows,d=t(new Set),u=d[0],s=d[1],v=t(null),f=v[0],h=v[1],g=o(!1),I=o(null),m=a((function(){var e=Array.from(u).reduce((function(e,n){var t=n.split("-").map(Number),o=t[0],a=t[1];return e[o]||(e[o]=[]),e[o][a]=l[o].row.rowData[r[a].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");u.size>0&&navigator.clipboard.writeText(n)}),[r,u,l]),p=a((function(e,n){for(var r=new Set,t=Math.min(e.rowIndex,n.rowIndex),o=Math.max(e.rowIndex,n.rowIndex),a=Math.min(e.colIndex,n.colIndex),i=Math.max(e.colIndex,n.colIndex),c=t;c<=o;c++)for(var d=a;d<=i;d++)if(c>=0&&c<l.length){var u=l[c].row.rowMeta.rowId;r.add(w({colIndex:d,rowIndex:c,rowId:u}))}s(r)}),[l]),x=a((function(e){if(e.rowIndex>=0&&e.rowIndex<l.length&&e.colIndex>=0&&e.colIndex<r.length){var n=w(e);s(new Set([n])),h(e)}}),[r.length,l.length]);i((function(){var e=function(e){if(n&&f){var t=f.rowIndex,o=f.colIndex,a=f.rowId;if(!e.ctrlKey&&!e.metaKey||"c"!==e.key){if(l[t].row.rowMeta.rowId!==a){var i=l.findIndex((function(e){return e.row.rowMeta.rowId===a}));if(-1===i)return;t=i}if("ArrowUp"===e.key){if(e.preventDefault(),t>0){var c={rowIndex:t-1,colIndex:o,rowId:l[t-1].row.rowMeta.rowId};x(c)}}else"ArrowDown"===e.key?(e.preventDefault(),t<l.length-1&&(c={rowIndex:t+1,colIndex:o,rowId:l[t+1].row.rowMeta.rowId},x(c))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),o>0&&(c={rowIndex:t,colIndex:o-1,rowId:l[t].row.rowMeta.rowId},x(c))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),o<r.length-1&&(c={rowIndex:t,colIndex:o+1,rowId:l[t].row.rowMeta.rowId},x(c))):"Escape"===e.key&&(s(new Set),I.current=null,h(null))}else m()}};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[m,r.length,f,p,x,n,l]);var b=a((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,o=w({colIndex:n,rowIndex:r,rowId:t});return u.has(o)}),[u]),M=a((function(e){var n,r,t,o,a,i,c=e.colIndex,d=e.rowIndex,u=e.rowId,s=[],v=null===(t=null===(r=null===(n=l[d-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,f={colIndex:c,rowIndex:d+1,rowId:null===(i=null===(a=null===(o=l[d+1])||void 0===o?void 0:o.row)||void 0===a?void 0:a.rowMeta)||void 0===i?void 0:i.rowId},w={colIndex:c-1,rowIndex:d,rowId:u},h={colIndex:c+1,rowIndex:d,rowId:u};return b({colIndex:c,rowIndex:d-1,rowId:v})||s.push("st-selected-top-border"),b(f)||s.push("st-selected-bottom-border"),b(w)||s.push("st-selected-left-border"),b(h)||s.push("st-selected-right-border"),s.join(" ")}),[b,l]),y=c((function(){return f?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===f.rowIndex&&r===f.colIndex&&t===f.rowId}:function(){return!1}}),[f]);return{getBorderClass:M,handleMouseDown:function(e){var r=e.colIndex,t=e.rowIndex,o=e.rowId;if(n){g.current=!0,I.current={rowIndex:t,colIndex:r,rowId:o};var a=w({colIndex:r,rowIndex:t,rowId:o});s(new Set([a])),h({rowIndex:t,colIndex:r,rowId:o})}},handleMouseOver:function(e){var r=e.colIndex,t=e.rowIndex;if(e.rowId,n&&g.current&&I.current){for(var o=new Set,a=Math.min(I.current.rowIndex,t),i=Math.max(I.current.rowIndex,t),c=Math.min(I.current.colIndex,r),d=Math.max(I.current.colIndex,r),u=a;u<=i;u++)for(var v=c;v<=d;v++)if(u>=0&&u<l.length){var f=l[u].row.rowMeta.rowId;o.add(w({colIndex:v,rowIndex:u,rowId:f}))}s(o)}},handleMouseUp:function(){g.current=!1},isInitialFocusedCell:y,isSelected:b,selectedCells:u,setSelectedCells:s}}({selectableCells:C,headers:L.current,visibleRows:Z}),re=ne.setSelectedCells;return a((function(e,n){Y(e,n)}),[Y]),a((function(e){L.current=e,ee()}),[]),i((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||E&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||re(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[E,re]),s((function(){if(B.current){var e=B.current.offsetWidth-B.current.clientWidth,n=B.current.clientWidth;j(e),U(n)}}),[]),s((function(){var e=function(){if(ee(),B.current){var e=B.current.offsetWidth-B.current.clientWidth,n=B.current.clientWidth;j(e),U(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),null}));export{W as SimpleTable};
|
|
1
|
+
import{jsxs as e,jsx as n,Fragment as r}from"react/jsx-runtime";import{useState as t,useRef as o,useCallback as i,useEffect as a,useMemo as l,forwardRef as d,useLayoutEffect as c,createElement as s,Fragment as u,createRef as h,memo as f,useReducer as v}from"react";var g=function(){return g=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},g.apply(this,arguments)};function w(e,n){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(r[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(t=Object.getOwnPropertySymbols(e);o<t.length;o++)n.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(e,t[o])&&(r[t[o]]=e[t[o]])}return r}function m(e,n,r){if(r||2===arguments.length)for(var t,o=0,i=n.length;o<i;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var p,R=function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return"".concat(n,"-").concat(r,"-").concat(t)},C=function(r){var t=r.currentPage,o=r.hideFooter,i=r.nextIcon,a=r.onPageChange,l=r.onNextPage,d=r.onPreviousPage,c=r.prevIcon,s=r.shouldPaginate,u=r.totalPages;if(o||!s)return null;var h=!(t>1)&&!d,f=!(t<u)&&!l;return e("div",g({className:"st-footer"},{children:[n("button",g({className:"st-next-prev-btn ".concat(h?"disabled":""),onClick:function(){var e=t-1;e>=1&&a(e),d&&d(e-1)},disabled:h},{children:c})),n("button",g({className:"st-next-prev-btn ".concat(f?"disabled":""),onClick:function(){var e=t+1;(e<=u||l)&&a(e),l&&l(t)},disabled:f},{children:i})),Array.from({length:u},(function(e,r){return n("button",g({onClick:function(){var e;(e=r+1)>=1&&e<=u&&(a(e),e>t&&l?l(e-1):e<t&&d&&d(e-1))},className:"st-page-btn ".concat(t===r+1?"active":"")},{children:r+1}),r)}))]}))},I=function(e){var r=e.className;return n("svg",g({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})}))},x=function(e){var r=e.className;return n("svg",g({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},b=function(e){var r=e.className;return n("svg",g({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M5.41 11.41L10 6.83l4.59 4.58L16 10l-6-6-6 6z"})}))},y=function(e){var r=e.className;return n("svg",g({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},M=function(e){return e.position*(e.rowHeight+1)-1},H=function(e){return e.position*(e.rowHeight+1)},D=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},S=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},E=function(r){var t=r.value,o=r.onBlur,i=r.onChange;return e("select",g({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;i("true"===n)}},{children:[n("option",g({value:"true"},{children:"True"})),n("option",g({value:"false"},{children:"False"}))]}))},k=function(e){var r=e.defaultValue,t=e.onBlur,i=e.onChange,a=o(null);return n("input",{className:"editable-cell-input",ref:a,autoFocus:!0,type:"text",defaultValue:null!=r?r:"",onBlur:t,onChange:function(e){var n=e.target.value;i(n)}})},N=function(e){var r=e.defaultValue,t=e.onBlur,i=e.onChange,a=o(null);return n("input",{className:"editable-cell-input",ref:a,autoFocus:!0,defaultValue:r.toString(),onBlur:t,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&i(n)}})},T=function(e){var t=e.onChange,o=e.setIsEditing,i=e.value,a=function(e){null==t||t(e)},l=function(){o(!1)};return n(r,{children:"string"==typeof i||null==i?n(k,{defaultValue:i,onBlur:l,onChange:a}):"boolean"==typeof i?n(E,{onBlur:l,onChange:a,value:i}):"number"==typeof i?n(N,{defaultValue:i,onBlur:l,onChange:a}):null})},O=0,B=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===O||o-O>=t)&&(O=o,n(r))}},L=Date.now(),W={screenX:0,screenY:0},A=function(e){var n,r,t=e.draggedHeaderRef,i=e.headersRef,l=e.hoveredHeaderRef,d=e.onColumnOrderChange,c=e.onTableHeaderDragEnd,s=(n=i.current,r=o(n),a((function(){r.current=n}),[n]),r.current);return{handleDragStart:function(e){t.current=e,L=Date.now()},handleDragOver:function(e){var n,r=e.event,o=e.hoveredHeader;if(r.preventDefault(),i.current){var a=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),d=r.screenX,u=r.screenY,h=Math.sqrt(Math.pow(d-W.screenX,2)+Math.pow(u-W.screenY,2));l.current=o;var f=m([],i.current,!0),v=f.findIndex((function(e){var n;return e.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)})),g=f.findIndex((function(e){return e.accessor===o.accessor})),w=f.splice(v,1)[0];if(f.splice(g,0,w),!(a||o.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)||null===t.current||h<10||void 0===v||void 0===g||JSON.stringify(f)===JSON.stringify(i.current))){var p=Date.now();JSON.stringify(f)===JSON.stringify(s)&&p-L<800&&h<50||(L=p,W={screenX:d,screenY:u},c(f))}}},handleDragEnd:function(){t.current=null,l.current=null,null==d||d(i.current)}}},P=d((function(r,o){var i,l,d=r.borderClass,c=r.colIndex,s=r.draggedHeaderRef,u=r.header,h=r.headersRef,f=r.hoveredHeaderRef,v=r.isSelected,w=r.isInitialFocusedCell,m=r.onCellEdit,p=r.onExpandRowClick,R=r.onMouseDown,C=r.onMouseOver,I=r.onTableHeaderDragEnd,b=r.rowIndex,M=r.visibleRow,H=M.depth,S=M.row,E=t(S.rowData[u.accessor]),k=E[0],N=E[1],O=t(!1),L=O[0],W=O[1],P=A({draggedHeaderRef:s,headersRef:h,hoveredHeaderRef:f,onTableHeaderDragEnd:I}).handleDragOver,F=B(),z="cell-".concat(b,"-").concat(c),U=Boolean(null===(l=null===(i=S.rowMeta)||void 0===i?void 0:i.children)||void 0===l?void 0:l.length),j=Boolean(null==u?void 0:u.isEditable),K=b%2==0,V="st-cell ".concat(H>0&&u.expandable?"st-cell-depth-".concat(H):""," ").concat(v?w?"st-cell-selected-first ".concat(d):"st-cell-selected ".concat(d):""," ").concat(K?"st-cell-odd-row":"st-cell-even-row"," ").concat(j?"clickable":"");a((function(){N(S.rowData[u.accessor])}),[u.accessor,S]);return L?n("div",g({className:"st-cell-editing ".concat(K?"st-cell-odd-row":"st-cell-even-row"),id:D({accessor:u.accessor,rowIndex:b+1})},{children:n(T,{onChange:function(e){N(e),null==m||m({accessor:u.accessor,newValue:e,row:S})},setIsEditing:W,value:k})})):e("div",g({className:V,id:z,onDoubleClick:function(){return u.isEditable&&W(!0)},onMouseDown:function(){return R({rowIndex:b,colIndex:c,rowId:S.rowMeta.rowId})},onMouseOver:function(){return C({rowIndex:b,colIndex:c,rowId:S.rowMeta.rowId})},onDragOver:function(e){return F({callback:P,callbackProps:{event:e,hoveredHeader:u},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!u.isEditable||L||(e.preventDefault(),W(!0))},ref:o,"data-row-index":b,"data-col-index":c,"aria-selected":v},{children:[u.expandable&&U?S.rowMeta.isExpanded?n("div",g({className:"st-sort-icon-container",onClick:function(){return p(S.rowMeta.rowId)}},{children:n(y,{className:"st-sort-icon"})})):n("div",g({className:"st-sort-icon-container",onClick:function(){return p(S.rowMeta.rowId)}},{children:n(x,{className:"st-sort-icon"})})):null,n("span",g({className:"st-cell-content ".concat("right"===u.align?"right-aligned":"center"===u.align?"center-aligned":"")},{children:u.cellRenderer?u.cellRenderer({accessor:u.accessor,colIndex:c,row:S}):k}))]}))})),F=function(e){var t=e.allowAnimations,o=e.children,i=w(e,["allowAnimations","children"]);return t?n(z,g({},i,{children:o})):n(r,{children:o})},z=function(e){var i=e.allowHorizontalAnimate,l=void 0===i||i,d=e.children,s=e.draggedHeaderRef,u=e.headersRef,h=e.isBody,f=e.mainBodyRef,v=e.pauseAnimation,g=e.rowIndex,w=o(!1),m=t({}),p=m[0],R=m[1],C=o({}),I=u.current;return c((function(){if(I){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var i=document.getElementById(D({accessor:e.accessor,rowIndex:t}));if(i){var a=i.getAnimations().some((function(e){return"running"===e.playState})),l=i.getBoundingClientRect();a&&(null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.accessor)!==e.accessor?o[e.accessor]=!1:o[e.accessor]=l}}})),o}({currentHeaders:I,draggedHeaderRef:s,rowIndex:g});JSON.stringify(e)!==JSON.stringify(p)&&(C.current=p,R(e))}}),[p,I,s,h,g]),c((function(){var e=f.current,n=function(){w.current=!0},r=function(){w.current=!1};return null==e||e.addEventListener("scroll",n),null==e||e.addEventListener("scrollend",r),function(){null==e||e.removeEventListener("scroll",n),null==e||e.removeEventListener("scrollend",r)}}),[s,f]),a((function(){v||w.current||Object.keys(C.current).length&&I&&I.forEach((function(e){var n=document.getElementById(D({accessor:e.accessor,rowIndex:g}));if(n){var r=C.current[e.accessor],t=p[e.accessor];if(r&&t){var o=r.left-t.left,i=l?0:r.top-t.top,a=Math.abs(o),d=Math.abs(i);(a>10||d>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(o,"px, ").concat(i,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[l,p,I,h,v,C,g]),n(r,{children:d})},U=function(e){var r=e.getBorderClass,t=e.handleMouseDown,o=e.handleMouseOver,i=e.headers,a=e.hiddenColumns,l=e.isSelected,d=e.isInitialFocusedCell,c=e.onExpandRowClick,s=e.pinned,u=e.rowIndex,h=e.visibleRow,f=w(e,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isSelected","isInitialFocusedCell","onExpandRowClick","pinned","rowIndex","visibleRow"]);return n(F,g({allowAnimations:f.allowAnimations,allowHorizontalAnimate:f.shouldPaginate,draggedHeaderRef:f.draggedHeaderRef,headersRef:f.headersRef,isBody:!0,mainBodyRef:f.mainBodyRef,pauseAnimation:f.isWidthDragging,rowIndex:u+1},{children:i.map((function(e,v){return S({hiddenColumns:a,header:e,pinned:s})?n(j,g({colIndex:v,getBorderClass:r,handleMouseDown:t,handleMouseOver:o,header:e,headers:i,hiddenColumns:a,isInitialFocusedCell:d,isSelected:l,onExpandRowClick:c,pinned:s,rowIndex:u,visibleRow:h},f),D({accessor:e.accessor,rowIndex:u+1})):null}))}))},j=function(e){var t=e.colIndex,o=e.getBorderClass,i=e.handleMouseDown,a=e.handleMouseOver,l=e.header,d=e.isInitialFocusedCell,c=e.isSelected,u=e.onExpandRowClick,h=e.rowIndex,f=e.visibleRow,v=w(e,["colIndex","getBorderClass","handleMouseDown","handleMouseOver","header","isInitialFocusedCell","isSelected","onExpandRowClick","rowIndex","visibleRow"]);return l.children?n(r,{children:l.children.map((function(e,r){return n(j,g({colIndex:t+r,getBorderClass:o,handleMouseDown:i,handleMouseOver:a,header:e,isSelected:c,isInitialFocusedCell:d,onExpandRowClick:u,rowIndex:h,visibleRow:f},v),D({accessor:e.accessor,rowIndex:h+1}))}))}):s(P,g({},v,{borderClass:o({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId}),colIndex:t,header:l,isSelected:c({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId}),isInitialFocusedCell:d({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId}),key:D({accessor:l.accessor,rowIndex:h+1}),onExpandRowClick:u,onMouseDown:function(){return i({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId})},onMouseOver:function(){return a({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId})},rowIndex:h,visibleRow:f}))},K=function(e){var r=e.getNextRowIndex,t=e.gridTemplateColumns,o=e.index,i=e.pinned,a=e.props,l=e.rowHeight,d=e.visibleRow,c=d.position,s=r();return n("div",g({className:"st-table-row",style:{gridTemplateColumns:t,top:H({position:c,rowHeight:l}),height:"".concat(l,"px")}},{children:n(U,g({pinned:i,rowIndex:s,visibleRow:d},a),o)}))},V=function(e){var r=e.lastGroupRow,t=e.position,o=e.rowHeight,i=e.templateColumns;return n("div",g({className:"st-row-separator ".concat(r?"st-last-group-row":""),style:{display:"grid",gridTemplateColumns:i,position:"absolute",top:M({position:t,rowHeight:o}),minWidth:"100%"}},{children:n("div",{style:{gridColumn:"1 / -1"}})}))},J=function(r){r.headerContainerRef;var t=r.onExpandRowClick,i=r.pinned,l=r.rowHeight,d=r.sectionRef,c=r.templateColumns,s=r.totalHeight,h=r.visibleRows,f=r.width,v=w(r,["headerContainerRef","onExpandRowClick","pinned","rowHeight","sectionRef","templateColumns","totalHeight","visibleRows","width"]),m=i?"st-table-body-pinned-".concat(i):"st-table-body-main",p=o(0);a((function(){p.current=0}));var R=function(){return p.current++};return n("div",g({className:m,ref:d,style:{position:"relative",height:"".concat(s,"px"),width:f}},{children:h.map((function(r,o){var a,d,s=Boolean(null===(d=null===(a=r.row.rowMeta)||void 0===a?void 0:a.children)||void 0===d?void 0:d.length);return e(u,{children:[n(K,{getNextRowIndex:R,gridTemplateColumns:c,index:o,pinned:i,props:g(g({},v),{onExpandRowClick:t,rowHeight:l,visibleRows:h}),rowHeight:l,visibleRow:r}),0!==o&&n(V,{lastGroupRow:s,position:r.position,rowHeight:l,templateColumns:c})]},o)}))}))},X=function(r){var i,l,d,c,s,u=r.centerHeaderRef,h=r.flattenedRows,f=r.headerContainerRef,v=r.mainBodyRef,w=r.mainTemplateColumns,m=r.pinnedLeftColumns,p=r.pinnedLeftHeaderRef,R=r.pinnedLeftRef,C=r.pinnedLeftTemplateColumns,I=r.pinnedRightColumns,x=r.pinnedRightHeaderRef,b=r.pinnedRightRef,y=r.pinnedRightTemplateColumns,M=r.rowHeight,H=r.scrollbarWidth,D=r.setFlattenedRows,S=r.setScrollTop,E=r.tableBodyContainerRef,k=r.visibleRows;!function(e){var n=e.headerContainerRef,r=e.mainSectionRef,o=e.scrollbarWidth,i=t(!1),l=i[0],d=i[1];a((function(){var e=null==n?void 0:n.current;if(l&&e)return e.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(o,"px")),function(){e.classList.remove("st-header-scroll-padding")}}),[n,l,o]),a((function(){var e=null==n?void 0:n.current,t=null==r?void 0:r.current;if(t&&e){var o=function(){if(t){var e=t.scrollHeight>t.clientHeight;d(e)}};o();var i=new ResizeObserver((function(){o()}));return i.observe(t),function(){t&&i.unobserve(t)}}}),[n,r])}({headerContainerRef:f,mainSectionRef:E,scrollbarWidth:H});var N,T,O=o(null),B=(N=0,(T=function(e){e.forEach((function(e){N+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&T(e.rowMeta.children)}))})(h),N)*(M+1)-1,L=function(e){var n=function(r){return r.rowMeta.rowId===e&&r.rowMeta.children?g(g({},r),{rowMeta:g(g({},r.rowMeta),{isExpanded:!r.rowMeta.isExpanded})}):r.rowMeta.children?g(g({},r),{rowMeta:g(g({},r.rowMeta),{children:r.rowMeta.children.map(n)})}):r};D((function(e){return e.map(n)}))},W=(null===(i=p.current)||void 0===i?void 0:i.clientWidth)?(null===(l=p.current)||void 0===l?void 0:l.clientWidth)+1:0,A=null===(d=u.current)||void 0===d?void 0:d.clientWidth,P=(null===(c=x.current)||void 0===c?void 0:c.clientWidth)?(null===(s=x.current)||void 0===s?void 0:s.clientWidth)+1:0;return e("div",g({className:"st-table-body-container",ref:E,onScroll:function(e){var n=e.currentTarget.scrollTop;O.current&&cancelAnimationFrame(O.current),O.current=requestAnimationFrame((function(){S(n)}))}},{children:[m.length>0&&n(J,g({},r,{onExpandRowClick:L,pinned:"left",rowHeight:M,sectionRef:R,templateColumns:C,totalHeight:B,visibleRows:k,width:W})),n(J,g({},r,{onExpandRowClick:L,rowHeight:M,sectionRef:v,templateColumns:w,totalHeight:B,visibleRows:k,width:A})),I.length>0&&n(J,g({},r,{onExpandRowClick:L,pinned:"right",rowHeight:M,sectionRef:b,templateColumns:y,totalHeight:B,visibleRows:k,width:P}))]}))},q=function(e,n){a((function(){if(e.current){var r=e.current,t=function(){var e,t=null==r?void 0:r.scrollLeft;void 0!==t&&(null===(e=n.current)||void 0===e||e.scrollTo(t,0))};return r.addEventListener("scroll",t),function(){null==r||r.removeEventListener("scroll",t)}}}),[e,n])},Y={string:function(e,n,r){if(e===n)return 0;var t=e.localeCompare(n);return"ascending"===r?t:-t},number:function(e,n,r){if(e===n)return 0;var t=e-n;return"ascending"===r?t:-t},boolean:function(e,n,r){if(e===n)return 0;var t=e===n?0:e?-1:1;return"ascending"===r?t:-t},date:function(e,n,r){var t=new Date(e),o=new Date(n);if(t.getTime()===o.getTime())return 0;var i=t.getTime()-o.getTime();return"ascending"===r?i:-i},enum:function(e,n,r){return Y.string(e,n,r)},default:function(e,n,r){return e===n?0:null==e?"ascending"===r?-1:1:null==n?"ascending"===r?1:-1:"string"==typeof e&&"string"==typeof n?Y.string(e,n,r):"number"==typeof e&&"number"==typeof n?Y.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?Y.boolean(e,n,r):Y.string(String(e),String(n),r)}},G=function(e,n,r,t){if(void 0===r&&(r="string"),null==e||""===e)return"ascending"===t?-1:1;if(null==n||""===n)return"ascending"===t?1:-1;if("number"===r){var o=function(e){var n;if("number"==typeof e)return e;var r=String(e);if("string"==typeof r){var t=r.replace(/[$,]/g,"").match(/^([-+]?\d*\.?\d+)([TBMKtbmk])?/);if(t){var o=parseFloat(t[1]),i=null===(n=t[2])||void 0===n?void 0:n.toUpperCase();return"T"===i?o*=1e12:"B"===i?o*=1e9:"M"===i?o*=1e6:"K"===i&&(o*=1e3),o}}return parseFloat(r)||0},i=o(e),a=o(n);return Y.number(i,a,t)}return"date"===r?Y.date(String(e),String(n),t):"boolean"===r?Y.boolean(Boolean(e),Boolean(n),t):"enum"===r?Y.enum(String(e),String(n),t):Y.string(String(e),String(n),t)},$=function(e,n,r){var t=r.find((function(e){return e.accessor===n.key.accessor})),o=(null==t?void 0:t.type)||"string",i=n.direction,a=new Map,l=new Map,d="";e.forEach((function(e){var r;if(e.rowData&&!e.rowData[n.key.accessor]&&void 0!==e.rowMeta.isExpanded){var t=(e.rowData.sector||"group_".concat(a.size)).toString();d=t,l.set(d,e),a.has(d)||a.set(d,[])}else if(d){var o=a.get(d)||[];o.push(e),a.set(d,o)}else{var i="default";a.has(i)||a.set(i,[]),null===(r=a.get(i))||void 0===r||r.push(e)}}));var c=[];return a.forEach((function(e,t){if(l.has(t)){var a=l.get(t);a.rowMeta.children&&a.rowMeta.children.length>0&&(a.rowMeta.children=_(a.rowMeta.children,n,r)),c.push(a)}var d=m([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,a=e.rowData[t],l=r.rowData[t];return G(a,l,o,i)}));c.push.apply(c,d.map((function(e){var t=g({},e);if(t.rowMeta.children&&t.rowMeta.children.length>0){var o=_(t.rowMeta.children,n,r);t.rowMeta=g(g({},t.rowMeta),{children:o})}return t})))})),c},_=function(e,n,r){var t=r.find((function(e){return e.accessor===n.key.accessor})),o=(null==t?void 0:t.type)||"string",i=n.direction;return m([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,a=e.rowData[t],l=r.rowData[t];return G(a,l,o,i)})).map((function(e){return e.rowMeta.children&&e.rowMeta.children.length>0?g(g({},e),{rowMeta:g(g({},e.rowMeta),{children:_(e.rowMeta.children,n,r)})}):e}))},Q=function(e){var n=e.colIndex,r=e.event,t=e.forceUpdate,o=e.header,i=e.headersRef;e.reverse;var a=e.setIsWidthDragging,l=e.startWidth;a(!0),r.preventDefault();var d=r.clientX;if(o){var c=function(e){var r=Math.max(l+(e.clientX-d),40);o&&i.current&&(i.current[n].width=r,t())},s=function(){document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",s),a(!1)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",s)}},Z=d((function(r,o){var i=r.colIndex,l=r.columnReordering,d=r.columnResizing,c=r.currentRows,s=r.draggedHeaderRef,u=r.forceUpdate,h=r.gridColumnEnd,f=r.gridColumnStart,v=r.gridRowEnd,w=r.gridRowStart,m=r.header,p=r.headersRef,C=r.hoveredHeaderRef,I=r.onColumnOrderChange,x=r.onSort,b=r.onTableHeaderDragEnd,y=r.reverse,M=r.rowHeight,H=r.selectableColumns,S=r.setIsWidthDragging,E=r.setSelectedCells,k=r.sort,N=r.sortDownIcon,T=r.sortUpIcon,O=t(!1),L=O[0],W=O[1],P=Boolean(null==m?void 0:m.isSortable),F="st-header-cell ".concat(m===C.current?"st-hovered":""," ").concat(L?"st-dragging":""," ").concat(P?"clickable":""," ").concat(l&&!P?"columnReordering":""," ").concat("right"===(null==m?void 0:m.align)?"right-aligned":"center"===(null==m?void 0:m.align)?"center-aligned":""),z=A({draggedHeaderRef:s,headersRef:p,hoveredHeaderRef:C,onColumnOrderChange:I,onTableHeaderDragEnd:b}),U=z.handleDragStart,j=z.handleDragEnd,K=z.handleDragOver,V=B(),J=function(e){var n=e.event,r=e.header;if(H){var t=c.length,o=Array.from({length:t},(function(e,n){return R({rowIndex:n,colIndex:i,rowId:c[n].rowMeta.rowId})})),a=function(e,n){var r=new Set,o=Math.min(e,n),i=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:i-o+1}).forEach((function(e,t){r.add(R({rowIndex:n,colIndex:o+t,rowId:c[n].rowMeta.rowId}))}))})),r};n.shiftKey?E((function(e){var n,r=Number(null===(n=Array.from(e)[0])||void 0===n?void 0:n.split("-")[1]),t=Number(o[0].split("-")[1]);return r===t?new Set(o):r>t?a(t,r):a(r,t)})):E(new Set(o))}else r.isSortable&&x(i,r.accessor)};if(a((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!m)return null;var X=d&&n("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;V({callback:Q,callbackProps:{colIndex:i,event:e,forceUpdate:u,header:m,headersRef:p,setIsWidthDragging:S,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),q=k&&k.key.accessor===m.accessor&&e("div",g({className:"st-sort-icon-container",onClick:function(e){return J({event:e,header:m})}},{children:["ascending"===k.direction&&T&&T,"descending"===k.direction&&N&&N]}));return e("div",g({className:F,id:D({accessor:m.accessor,rowIndex:0}),onDragOver:function(e){V({callback:K,callbackProps:{event:e,hoveredHeader:m},limit:50})},ref:o,style:g(g({gridRowStart:w,gridRowEnd:v,gridColumnStart:f,gridColumnEnd:h},h-f>1?{}:{width:m.width}),v-w>1?{}:{height:M})},{children:[y&&X,e("div",g({className:"st-header-label ".concat("right"===m.align?"right-aligned":"center"===m.align?"center-aligned":""),draggable:l,onClick:function(e){return J({event:e,header:m})},onDragEnd:function(e){e.preventDefault(),W(!1),j()},onDragStart:function(e){l&&m&&function(e){W(!0),U(e)}(m)}},{children:["right"===m.align&&q,null==m?void 0:m.label,"right"!==m.align&&q]})),!y&&X]}))})),ee=function(r){var t=r.depth,o=r.header,i=r.hiddenColumns;r.index;var a=r.maxDepth,l=r.pinned,d=r.gridPosition,c=w(r,["depth","header","hiddenColumns","index","maxDepth","pinned","gridPosition"]);if(!S({hiddenColumns:i,header:o,pinned:l}))return null;var f=d.gridColumnStart,v=d.gridColumnEnd,m=d.gridRowStart,p=d.gridRowEnd,R=d.colIndex,C={gridColumnStart:f,gridColumnEnd:v,gridRowStart:m,gridRowEnd:p};if(o.children){var I=o.children.filter((function(e){return S({hiddenColumns:i,header:e,pinned:l})}));return e(u,{children:[n(Z,g({},c,C,{colIndex:R,header:o,ref:h()})),I.map((function(e,n){var r,o=null===(r=d.children)||void 0===r?void 0:r[e.accessor];return o?s(ee,g({},c,{depth:t+1,gridPosition:o,header:e,hiddenColumns:i,index:n,key:e.accessor,maxDepth:a})):null}))]})}return n(Z,g({},c,C,{colIndex:R,header:o,ref:h()}))},ne=function(e){var r=e.allowAnimations,t=e.columnReordering,o=e.columnResizing,i=e.currentRows,a=e.draggedHeaderRef,d=e.forceUpdate,c=e.gridTemplateColumns,s=e.handleScroll,u=e.headersRef,h=e.hiddenColumns,f=e.hoveredHeaderRef,v=e.isWidthDragging,w=e.mainBodyRef,m=e.maxDepth,p=e.onColumnOrderChange,R=e.onSort,C=e.onTableHeaderDragEnd,I=e.pinned,x=e.rowHeight,b=e.sectionRef,y=e.selectableColumns,M=e.setIsWidthDragging,H=e.setSelectedCells,D=e.sort,E=e.sortDownIcon,k=e.sortUpIcon,N=u.current.filter((function(e){return S({hiddenColumns:h,header:e,pinned:I})})),T=l((function(){var e,n,r;return e={},n=1,r=function(t,o,i){var a,l;void 0===i&&(i=!1),i||n++;var d=n,c=null!==(l=null===(a=t.children)||void 0===a?void 0:a.filter((function(e){return S({hiddenColumns:h,header:e,pinned:I})})).length)&&void 0!==l?l:0,s={gridColumnStart:d,gridColumnEnd:c>0?d+c:d+1,gridRowStart:o,gridRowEnd:c>0?o+1:m+1,colIndex:d,children:{}};return t.children&&t.children.length>0&&t.children.filter((function(e){return S({hiddenColumns:h,header:e,pinned:I})})).forEach((function(e,n){s.children[e.accessor]=r(e,o+1,0===n)})),e[t.accessor]=s,s},N.forEach((function(e,n){r(e,1,0===n)})),e}),[N,h,m,I]);return n("div",g({className:"st-header-".concat(I?"pinned-".concat(I):"main")},s&&{onScroll:s},{ref:b,style:{gridTemplateColumns:c}},{children:n(F,g({allowAnimations:r,draggedHeaderRef:a,headersRef:u,mainBodyRef:w,pauseAnimation:v,rowIndex:0},{children:N.map((function(e,r){var l=T[e.accessor];return l?n(ee,{columnReordering:t,columnResizing:o,currentRows:i,depth:1,draggedHeaderRef:a,forceUpdate:d,gridPosition:l,header:e,headersRef:u,hiddenColumns:h,hoveredHeaderRef:f,index:r,maxDepth:m,onColumnOrderChange:p,onSort:R,onTableHeaderDragEnd:C,pinned:I,reverse:"right"===I,rowHeight:x,selectableColumns:y,setIsWidthDragging:M,setSelectedCells:H,sort:D,sortDownIcon:E,sortUpIcon:k},e.accessor):null}))}))}))},re=function(e){var n;return(null===(n=e.children)||void 0===n?void 0:n.length)?1+Math.max.apply(Math,e.children.map(re)):1},te=function(r){var t=r.allowAnimations,o=r.centerHeaderRef,i=r.columnResizing,a=r.currentRows,d=r.columnReordering,c=r.draggedHeaderRef,s=r.forceUpdate,u=r.headerContainerRef,h=r.headersRef,f=r.hiddenColumns,v=r.hoveredHeaderRef,w=r.isWidthDragging,m=r.mainBodyRef,p=r.mainTemplateColumns,R=r.onColumnOrderChange,C=r.onSort,I=r.onTableHeaderDragEnd,x=r.pinnedLeftColumns,b=r.pinnedLeftHeaderRef,y=r.pinnedLeftTemplateColumns,M=r.pinnedRightColumns,H=r.pinnedRightHeaderRef,D=r.pinnedRightTemplateColumns,E=r.rowHeight,k=r.selectableColumns,N=r.setIsWidthDragging,T=r.setSelectedCells,O=r.sort,B=r.sortDownIcon,L=r.sortUpIcon;q(m,o);var W=function(e){var n,r,t=null===(n=o.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=m.current)||void 0===r||r.scrollTo(t,0))},A=l((function(){var e=h.current,n=0;return e.forEach((function(e){if(S({hiddenColumns:f,header:e})){var r=re(e);n=Math.max(n,r)}})),{maxDepth:n}}),[h,f]).maxDepth,P={allowAnimations:t,columnReordering:d,columnResizing:i,currentRows:a,draggedHeaderRef:c,forceUpdate:s,handleScroll:W,headersRef:h,hiddenColumns:f,hoveredHeaderRef:v,isWidthDragging:w,mainBodyRef:m,maxDepth:A,onColumnOrderChange:R,onSort:C,onTableHeaderDragEnd:I,rowHeight:E,selectableColumns:k,setIsWidthDragging:N,setSelectedCells:T,sort:O,sortDownIcon:B,sortUpIcon:L};return e("div",g({className:"st-header-container",ref:u},{children:[x.length>0&&n(ne,g({},P,{gridTemplateColumns:y,pinned:"left",sectionRef:b})),n(ne,g({},P,{gridTemplateColumns:p,handleScroll:W,sectionRef:o})),M.length>0&&n(ne,g({},P,{gridTemplateColumns:D,pinned:"right",sectionRef:H}))]}))},oe=function(e){var n=e.headers,r=e.hiddenColumns,t=function(e){var n=e.headers,o=e.flattenedHeaders;return n.forEach((function(e){!0!==r[e.accessor]&&(e.children?t({headers:e.children,flattenedHeaders:o}):o.push(e))})),o},o=t({headers:n,flattenedHeaders:[]});return"".concat(o.map((function(e){return function(e){var n=e.minWidth,r=e.width;return"number"==typeof r&&(r="".concat(r,"px")),n&&"number"==typeof n&&(n="".concat(n,"px")),void 0!==n?"minmax(".concat(n,", ").concat(r,")"):r}(e)})).join(" "))},ie=function(r){var t=r.allowAnimations,i=r.columnReordering,a=r.columnResizing,d=r.currentRows,c=r.draggedHeaderRef,s=r.editColumns,u=r.flattenedRows,h=r.forceUpdate,f=r.getBorderClass,v=r.handleMouseDown,w=r.handleMouseOver,m=r.headersRef,p=r.hiddenColumns,R=r.hoveredHeaderRef,C=r.isSelected,I=r.isInitialFocusedCell,x=r.isWidthDragging,b=r.mainBodyRef,y=r.onCellEdit,M=r.onColumnOrderChange,H=r.onSort,D=r.onTableHeaderDragEnd,S=r.pinnedLeftRef,E=r.pinnedRightRef,k=r.rowHeight,N=r.scrollbarWidth,T=r.selectableColumns,O=r.setIsWidthDragging,B=r.setFlattenedRows,L=r.setScrollTop,W=r.setSelectedCells,A=r.shouldPaginate,P=r.sort,F=r.sortDownIcon,z=r.sortUpIcon,U=r.tableBodyContainerRef,j=r.visibleRows,K=o(null),V=o(null),J=o(null),q=o(null),Y=m.current.filter((function(e){return!e.pinned})),G=m.current.filter((function(e){return"left"===e.pinned})),$=m.current.filter((function(e){return"right"===e.pinned})),_=l((function(){return oe({headers:G,hiddenColumns:p})}),[G,p]),Q=l((function(){return oe({headers:Y,hiddenColumns:p})}),[Y,p]),Z=l((function(){return oe({headers:$,hiddenColumns:p})}),[$,p]),ee={allowAnimations:t,centerHeaderRef:J,columnResizing:a,currentRows:d,columnReordering:i,draggedHeaderRef:c,forceUpdate:h,headerContainerRef:K,headersRef:m,hiddenColumns:p,hoveredHeaderRef:R,isWidthDragging:x,mainBodyRef:b,mainTemplateColumns:Q,onColumnOrderChange:M,onSort:H,onTableHeaderDragEnd:D,pinnedLeftColumns:G,pinnedLeftHeaderRef:V,pinnedLeftTemplateColumns:_,pinnedRightColumns:$,pinnedRightHeaderRef:q,pinnedRightTemplateColumns:Z,rowHeight:k,selectableColumns:T,setIsWidthDragging:O,setSelectedCells:W,sort:P,sortDownIcon:F,sortUpIcon:z,tableBodyContainerRef:U},ne={allowAnimations:t,centerHeaderRef:J,draggedHeaderRef:c,flattenedRows:u,getBorderClass:f,handleMouseDown:v,handleMouseOver:w,headerContainerRef:K,headers:m.current,headersRef:m,hiddenColumns:p,hoveredHeaderRef:R,isSelected:C,isInitialFocusedCell:I,isWidthDragging:x,mainBodyRef:b,mainTemplateColumns:Q,onCellEdit:y,onTableHeaderDragEnd:D,pinnedLeftColumns:G,pinnedLeftHeaderRef:V,pinnedLeftRef:S,pinnedLeftTemplateColumns:_,pinnedRightColumns:$,pinnedRightHeaderRef:q,pinnedRightRef:E,pinnedRightTemplateColumns:Z,rowHeight:k,scrollbarWidth:N,setFlattenedRows:B,shouldPaginate:A,setScrollTop:L,tableBodyContainerRef:U,visibleRows:j};return e("div",g({className:"st-table-content",style:{width:s?"calc(100% - 27.5px)":"100%"}},{children:[n(te,g({},ee)),n(X,g({},ne))]}))},ae=function(e){var n=e.callback,r=e.ref,t=e.widthAttribute;a((function(){var e=r.current;if(e){var o=function(){n(e[t]||0)};o();var i=new ResizeObserver((function(){o()}));return i.observe(e),function(){return i.disconnect()}}}),[n,r,t])},le=function(r){var i=r.mainBodyRef,a=r.pinnedLeftRef,l=r.pinnedRightRef,d=r.tableContentWidth,c=t(0),s=c[0],u=c[1],h=t(0),f=h[0],v=h[1],w=t(0),m=w[0],p=w[1],R=o(null);return ae({widthAttribute:"offsetWidth",callback:u,ref:a}),ae({widthAttribute:"scrollWidth",callback:p,ref:i}),ae({widthAttribute:"offsetWidth",callback:v,ref:l}),q(i,R),!i.current||i.current.scrollWidth<=i.current.clientWidth?null:e("div",g({className:"st-horizontal-scrollbar-container",style:{width:d}},{children:[s>0&&n("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:s}}),m>0&&n("div",g({className:"st-horizontal-scrollbar-middle",onScroll:function(e){var n=e.target.scrollLeft;void 0!==n&&i.current&&i.current.scrollTo({left:n,behavior:"auto"})},ref:R},{children:n("div",{style:{width:m}})})),f>0&&n("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:f}})]}))},de=function(e){var n=e.headers,r=e.tableRows,o=t(null),i=o[0],a=o[1],d=l((function(){var e={};return n.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[n]),c=t(d),s=c[0],u=c[1],h=l((function(){if(!i)return r;var e=function(e,n,r){return{sortedData:$(n,r,e),newSortConfig:r}}(n,r,i).sortedData;return e}),[r,i,n]);return{sort:i,setSort:a,updateSort:function(e,r){var t=n.find((function(e){return e.accessor===r}));t&&a((function(e){return e&&e.key.accessor===r?"ascending"===e.direction?{key:t,direction:"descending"}:null:{key:t,direction:"ascending"}}))},sortedRows:h,hiddenColumns:s,setHiddenColumns:u}},ce=function(r){var o=r.checked,i=void 0!==o&&o,a=r.children,l=r.onChange,d=t(i),c=d[0],s=d[1];return e("label",g({className:"st-checkbox-label"},{children:[n("input",{checked:c,className:"st-checkbox-input",onChange:function(){var e=!c;s(e),l&&l(e)},type:"checkbox"}),n("span",g({className:"st-checkbox-custom ".concat(c?"st-checked":"")},{children:c&&n("span",{className:"st-checkbox-checkmark"})})),a]}))},se=function(e){var r=e.headers,t=e.open,o=e.position;e.setOpen;var i=e.setHiddenColumns,a=e.hiddenColumns,l="left"===o?"left":"";return n("div",g({className:"st-column-editor-popout ".concat(t?"open":""," ").concat(l),onClick:function(e){return e.stopPropagation()}},{children:n("div",g({className:"st-column-editor-popout-content"},{children:r.map((function(e,r){return n(ce,g({checked:a[e.accessor],onChange:function(n){var r;return i(g(g({},a),((r={})[e.accessor]=n,r)))}},{children:e.label}),r)}))}))}))},ue=function(r){var o=r.columnEditorText,i=r.editColumns,a=r.editColumnsInitOpen,l=r.headers,d=r.position,c=void 0===d?"right":d,s=r.setHiddenColumns,u=r.hiddenColumns,h=t(a),f=h[0],v=h[1];return i?e("div",g({className:"st-column-editor ".concat(f?"open":""," ").concat(c),onClick:function(){return function(e){v(e)}(!f)}},{children:[n("div",g({className:"st-column-editor-text"},{children:o})),n(se,{headers:l,open:f,position:c,setOpen:v,setHiddenColumns:s,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(p||(p={}));var he=f((function(r){var d=r.allowAnimations,s=void 0!==d&&d,u=r.columnEditorPosition,h=void 0===u?p.Right:u,f=r.columnEditorText,w=void 0===f?"Columns":f,m=r.columnResizing,M=void 0!==m&&m,H=r.defaultHeaders,D=r.editColumns,S=void 0!==D&&D,E=r.editColumnsInitOpen,k=void 0!==E&&E,N=r.columnReordering,T=void 0!==N&&N,O=r.height,B=r.hideFooter,L=void 0!==B&&B,W=r.nextIcon,A=void 0===W?n(x,{className:"st-next-prev-icon"}):W,P=r.onCellEdit,F=r.onColumnOrderChange,z=r.onNextPage,U=r.onPreviousPage,j=r.prevIcon,K=void 0===j?n(I,{className:"st-next-prev-icon"}):j,V=r.rowHeight,J=void 0===V?40:V,X=r.rows,q=r.rowsPerPage,Y=void 0===q?10:q,G=r.selectableCells,$=void 0!==G&&G,_=r.selectableColumns,Q=void 0!==_&&_,Z=r.shouldPaginate,ee=void 0!==Z&&Z,ne=r.sortDownIcon,re=void 0===ne?n(y,{className:"st-sort-icon"}):ne,te=r.sortUpIcon,oe=void 0===te?n(b,{className:"st-sort-icon"}):te,ae=r.theme,ce=void 0===ae?"light":ae,se=r.totalPages,he=o(null),fe=o(H),ve=o(null),ge=o(null),we=o(null),me=o(null),pe=o(null),Re=t(!1),Ce=Re[0],Ie=Re[1],xe=t(1),be=xe[0],ye=xe[1],Me=t(0),He=Me[0],De=Me[1],Se=t(0),Ee=Se[0],ke=Se[1],Ne=t(0),Te=Ne[0],Oe=Ne[1],Be=de({headers:fe.current,tableRows:X}),Le=Be.sort,We=Be.sortedRows,Ae=Be.hiddenColumns,Pe=Be.setHiddenColumns,Fe=Be.updateSort,ze=l((function(){if(!ee)return We;var e=(be-1)*Y,n=e+Y;return We.slice(e,n)}),[be,Y,ee,We]),Ue=t(ze),je=Ue[0],Ke=Ue[1];a((function(){Ke(ze)}),[ze]);var Ve=l((function(){var e;if(!O)return window.innerHeight-J;var n=document.querySelector(".simple-table-root"),r=0;if(O.endsWith("px"))r=parseInt(O,10);else if(O.endsWith("vh")){var t=parseInt(O,10);r=window.innerHeight*t/100}else if(O.endsWith("%")){var o=parseInt(O,10);r=((null===(e=null==n?void 0:n.parentElement)||void 0===e?void 0:e.clientHeight)||window.innerHeight)*o/100}else r=window.innerHeight;return Math.max(0,r-J)}),[O,J]),Je=l((function(){return function(e){var n=e.bufferRowCount,r=e.contentHeight,t=e.flattenedRows,o=e.rowHeight,i=e.scrollTop,a=[],l=0,d=Math.max(0,i-o*n),c=i+r+o*n,s=function(e,n){for(var r,t=0,i=e;t<i.length;t++){var u=i[t],h=l*o;if(h>=c)break;h+o>d&&a.push({row:u,depth:n,position:l,isLastGroupRow:Boolean(null===(r=u.rowMeta.children)||void 0===r?void 0:r.length)&&n>1}),l+=1,u.rowMeta.isExpanded&&u.rowMeta.children&&s(u.rowMeta.children,n+1)}};return s(t,0),a}({bufferRowCount:5,contentHeight:Ve,flattenedRows:je,rowHeight:J,scrollTop:Te})}),[Ve,J,je,Te]),Xe=v((function(e){return e+1}),0)[1],qe=function(e){var n=e.selectableCells,r=e.headers,d=e.visibleRows,c=t(new Set),s=c[0],u=c[1],h=t(null),f=h[0],v=h[1],g=o(!1),w=o(null),m=i((function(){var e=Array.from(s).reduce((function(e,n){var t=n.split("-").map(Number),o=t[0],i=t[1];return e[o]||(e[o]=[]),e[o][i]=d[o].row.rowData[r[i].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");s.size>0&&navigator.clipboard.writeText(n)}),[r,s,d]),p=i((function(e,n){for(var r=new Set,t=Math.min(e.rowIndex,n.rowIndex),o=Math.max(e.rowIndex,n.rowIndex),i=Math.min(e.colIndex,n.colIndex),a=Math.max(e.colIndex,n.colIndex),l=t;l<=o;l++)for(var c=i;c<=a;c++)if(l>=0&&l<d.length){var s=d[l].row.rowMeta.rowId;r.add(R({colIndex:c,rowIndex:l,rowId:s}))}u(r)}),[d]),C=i((function(e){if(e.rowIndex>=0&&e.rowIndex<d.length&&e.colIndex>=0&&e.colIndex<r.length){var n=R(e);u(new Set([n])),v(e)}}),[r.length,d.length]);a((function(){var e=function(e){if(n&&f){var t=f.rowIndex,o=f.colIndex,i=f.rowId;if(!e.ctrlKey&&!e.metaKey||"c"!==e.key){if(d[t].row.rowMeta.rowId!==i){var a=d.findIndex((function(e){return e.row.rowMeta.rowId===i}));if(-1===a)return;t=a}if("ArrowUp"===e.key){if(e.preventDefault(),t>0){var l={rowIndex:t-1,colIndex:o,rowId:d[t-1].row.rowMeta.rowId};C(l)}}else"ArrowDown"===e.key?(e.preventDefault(),t<d.length-1&&(l={rowIndex:t+1,colIndex:o,rowId:d[t+1].row.rowMeta.rowId},C(l))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),o>0&&(l={rowIndex:t,colIndex:o-1,rowId:d[t].row.rowMeta.rowId},C(l))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),o<r.length-1&&(l={rowIndex:t,colIndex:o+1,rowId:d[t].row.rowMeta.rowId},C(l))):"Escape"===e.key&&(u(new Set),w.current=null,v(null))}else m()}};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[m,r.length,f,p,C,n,d]);var I=i((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,o=R({colIndex:n,rowIndex:r,rowId:t});return s.has(o)}),[s]),x=i((function(e){var n,r,t,o,i,a,l=e.colIndex,c=e.rowIndex,s=e.rowId,u=[],h=null===(t=null===(r=null===(n=d[c-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,f={colIndex:l,rowIndex:c+1,rowId:null===(a=null===(i=null===(o=d[c+1])||void 0===o?void 0:o.row)||void 0===i?void 0:i.rowMeta)||void 0===a?void 0:a.rowId},v={colIndex:l-1,rowIndex:c,rowId:s},g={colIndex:l+1,rowIndex:c,rowId:s};return I({colIndex:l,rowIndex:c-1,rowId:h})||u.push("st-selected-top-border"),I(f)||u.push("st-selected-bottom-border"),I(v)||u.push("st-selected-left-border"),I(g)||u.push("st-selected-right-border"),u.join(" ")}),[I,d]),b=l((function(){return f?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===f.rowIndex&&r===f.colIndex&&t===f.rowId}:function(){return!1}}),[f]);return{getBorderClass:x,handleMouseDown:function(e){var r=e.colIndex,t=e.rowIndex,o=e.rowId;if(n){g.current=!0,w.current={rowIndex:t,colIndex:r,rowId:o};var i=R({colIndex:r,rowIndex:t,rowId:o});u(new Set([i])),v({rowIndex:t,colIndex:r,rowId:o})}},handleMouseOver:function(e){var r=e.colIndex,t=e.rowIndex;if(e.rowId,n&&g.current&&w.current){for(var o=new Set,i=Math.min(w.current.rowIndex,t),a=Math.max(w.current.rowIndex,t),l=Math.min(w.current.colIndex,r),c=Math.max(w.current.colIndex,r),s=i;s<=a;s++)for(var h=l;h<=c;h++)if(s>=0&&s<d.length){var f=d[s].row.rowMeta.rowId;o.add(R({colIndex:h,rowIndex:s,rowId:f}))}u(o)}},handleMouseUp:function(){g.current=!1},isInitialFocusedCell:b,isSelected:I,selectedCells:s,setSelectedCells:u}}({selectableCells:$,headers:fe.current,visibleRows:Je}),Ye=qe.handleMouseDown,Ge=qe.handleMouseOver,$e=qe.handleMouseUp,_e=qe.isSelected,Qe=qe.getBorderClass,Ze=qe.isInitialFocusedCell,en=qe.setSelectedCells,nn=i((function(e,n){Fe(e,n)}),[Fe]),rn=i((function(e){fe.current=e,Xe()}),[]);return a((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||Q&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||en(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[Q,en]),c((function(){if(pe.current){var e=pe.current.offsetWidth-pe.current.clientWidth,n=pe.current.clientWidth;De(e),ke(n)}}),[]),c((function(){var e=function(){if(Xe(),pe.current){var e=pe.current.offsetWidth-pe.current.clientWidth,n=pe.current.clientWidth;De(e),ke(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),e("div",g({className:"simple-table-root st-wrapper theme-".concat(ce),style:O?{height:O}:{}},{children:[e("div",g({className:"st-table-wrapper-container"},{children:[e("div",g({className:"st-table-wrapper",onMouseUp:$e,onMouseLeave:$e},{children:[n(ie,{allowAnimations:s,columnReordering:T,columnResizing:M,currentRows:ze,draggedHeaderRef:he,editColumns:S,flattenedRows:je,forceUpdate:Xe,getBorderClass:Qe,handleMouseDown:Ye,handleMouseOver:Ge,headersRef:fe,hiddenColumns:Ae,hoveredHeaderRef:ve,isInitialFocusedCell:Ze,isSelected:_e,isWidthDragging:Ce,mainBodyRef:ge,onCellEdit:P,onColumnOrderChange:F,onSort:nn,onTableHeaderDragEnd:rn,pinnedLeftRef:we,pinnedRightRef:me,rowHeight:J,scrollbarWidth:He,selectableColumns:Q,setIsWidthDragging:Ie,setFlattenedRows:Ke,setScrollTop:Oe,setSelectedCells:en,shouldPaginate:ee,sort:Le,sortDownIcon:re,sortUpIcon:oe,tableBodyContainerRef:pe,visibleRows:Je}),n(ue,{columnEditorText:w,editColumns:S,editColumnsInitOpen:k,headers:fe.current,hiddenColumns:Ae,position:h,setHiddenColumns:Pe})]})),n(le,{mainBodyRef:ge,pinnedLeftRef:we,pinnedRightRef:me,tableContentWidth:Ee})]})),n(C,{currentPage:be,hideFooter:L,nextIcon:A,onPageChange:ye,onNextPage:z,onPreviousPage:U,prevIcon:K,shouldPaginate:ee,totalPages:se||Math.ceil(We.length/Y)})]}))}));export{he as SimpleTable};
|
|
2
2
|
//# sourceMappingURL=index.es.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),r=function(){return r=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},r.apply(this,arguments)};function t(e,n,r){if(r||2===arguments.length)for(var t,o=0,a=n.length;o<a;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var o=function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return"".concat(n,"-").concat(r,"-").concat(t)},a=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})}))},i=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},c=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M5.41 11.41L10 6.83l4.59 4.58L16 10l-6-6-6 6z"})}))},l=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},d=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},s=function(n){var t=n.value,o=n.onBlur,a=n.onChange;return e.jsxs("select",r({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;a("true"===n)}},{children:[e.jsx("option",r({value:"true"},{children:"True"})),e.jsx("option",r({value:"false"},{children:"False"}))]}))},u=function(r){var t=r.defaultValue,o=r.onBlur,a=r.onChange,i=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:i,autoFocus:!0,type:"text",defaultValue:null!=t?t:"",onBlur:o,onChange:function(e){var n=e.target.value;a(n)}})},f=function(r){var t=r.defaultValue,o=r.onBlur,a=r.onChange,i=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:i,autoFocus:!0,defaultValue:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&a(n)}})},v=function(n){var r=n.onChange,t=n.setIsEditing,o=n.value,a=function(e){null==r||r(e)},i=function(){t(!1)};return e.jsx(e.Fragment,{children:"string"==typeof o||null==o?e.jsx(u,{defaultValue:o,onBlur:i,onChange:a}):"boolean"==typeof o?e.jsx(s,{onBlur:i,onChange:a,value:o}):"number"==typeof o?e.jsx(f,{defaultValue:o,onBlur:i,onChange:a}):null})},w=0,h=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===w||o-w>=t)&&(w=o,n(r))}},g=Date.now(),x={screenX:0,screenY:0},m=function(e){var r,o,a=e.draggedHeaderRef,i=e.headersRef,c=e.hoveredHeaderRef,l=e.onColumnOrderChange,d=e.onTableHeaderDragEnd,s=(r=i.current,o=n.useRef(r),n.useEffect((function(){o.current=r}),[r]),o.current);return{handleDragStart:function(e){a.current=e,g=Date.now()},handleDragOver:function(e){var n,r=e.event,o=e.hoveredHeader;if(r.preventDefault(),i.current){var l=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),u=r.screenX,f=r.screenY,v=Math.sqrt(Math.pow(u-x.screenX,2)+Math.pow(f-x.screenY,2));c.current=o;var w=t([],i.current,!0),h=w.findIndex((function(e){var n;return e.accessor===(null===(n=a.current)||void 0===n?void 0:n.accessor)})),m=w.findIndex((function(e){return e.accessor===o.accessor})),I=w.splice(h,1)[0];if(w.splice(m,0,I),!(l||o.accessor===(null===(n=a.current)||void 0===n?void 0:n.accessor)||null===a.current||v<10||void 0===h||void 0===m||JSON.stringify(w)===JSON.stringify(i.current))){var p=Date.now();JSON.stringify(w)===JSON.stringify(s)&&p-g<800&&v<50||(g=p,x={screenX:u,screenY:f},d(w))}}},handleDragEnd:function(){a.current=null,c.current=null,null==l||l(i.current)}}};n.forwardRef((function(t,o){var a,c,s=t.borderClass,u=t.colIndex,f=t.draggedHeaderRef,w=t.header,g=t.headersRef,x=t.hoveredHeaderRef,I=t.isSelected,p=t.isInitialFocusedCell,b=t.onCellEdit,M=t.onExpandRowClick,y=t.onMouseDown,S=t.onMouseOver,C=t.onTableHeaderDragEnd,R=t.rowIndex,D=t.visibleRow,E=D.depth,k=D.row,j=n.useState(k.rowData[w.accessor]),N=j[0],H=j[1],L=n.useState(!1),O=L[0],B=L[1],T=m({draggedHeaderRef:f,headersRef:g,hoveredHeaderRef:x,onTableHeaderDragEnd:C}).handleDragOver,W=h(),P="cell-".concat(R,"-").concat(u),A=Boolean(null===(c=null===(a=k.rowMeta)||void 0===a?void 0:a.children)||void 0===c?void 0:c.length),z=Boolean(null==w?void 0:w.isEditable),F=R%2==0,U="st-cell ".concat(E>0&&w.expandable?"st-cell-depth-".concat(E):""," ").concat(I?p?"st-cell-selected-first ".concat(s):"st-cell-selected ".concat(s):""," ").concat(F?"st-cell-odd-row":"st-cell-even-row"," ").concat(z?"clickable":"");n.useEffect((function(){H(k.rowData[w.accessor])}),[w.accessor,k]);return O?e.jsx("div",r({className:"st-cell-editing ".concat(F?"st-cell-odd-row":"st-cell-even-row"),id:d({accessor:w.accessor,rowIndex:R+1})},{children:e.jsx(v,{onChange:function(e){H(e),null==b||b({accessor:w.accessor,newValue:e,row:k})},setIsEditing:B,value:N})})):e.jsxs("div",r({className:U,id:P,onDoubleClick:function(){return w.isEditable&&B(!0)},onMouseDown:function(){return y({rowIndex:R,colIndex:u,rowId:k.rowMeta.rowId})},onMouseOver:function(){return S({rowIndex:R,colIndex:u,rowId:k.rowMeta.rowId})},onDragOver:function(e){return W({callback:T,callbackProps:{event:e,hoveredHeader:w},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!w.isEditable||O||(e.preventDefault(),B(!0))},ref:o,"data-row-index":R,"data-col-index":u,"aria-selected":I},{children:[w.expandable&&A?k.rowMeta.isExpanded?e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return M(k.rowMeta.rowId)}},{children:e.jsx(l,{className:"st-sort-icon"})})):e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return M(k.rowMeta.rowId)}},{children:e.jsx(i,{className:"st-sort-icon"})})):null,e.jsx("span",r({className:"st-cell-content ".concat("right"===w.align?"right-aligned":"center"===w.align?"center-aligned":"")},{children:w.cellRenderer?w.cellRenderer({accessor:w.accessor,colIndex:u,row:k}):N}))]}))}));var I={string:function(e,n,r){if(e===n)return 0;var t=e.localeCompare(n);return"ascending"===r?t:-t},number:function(e,n,r){if(e===n)return 0;var t=e-n;return"ascending"===r?t:-t},boolean:function(e,n,r){if(e===n)return 0;var t=e===n?0:e?-1:1;return"ascending"===r?t:-t},date:function(e,n,r){var t=new Date(e),o=new Date(n);if(t.getTime()===o.getTime())return 0;var a=t.getTime()-o.getTime();return"ascending"===r?a:-a},enum:function(e,n,r){return I.string(e,n,r)},default:function(e,n,r){return e===n?0:null==e?"ascending"===r?-1:1:null==n?"ascending"===r?1:-1:"string"==typeof e&&"string"==typeof n?I.string(e,n,r):"number"==typeof e&&"number"==typeof n?I.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?I.boolean(e,n,r):I.string(String(e),String(n),r)}},p=function(e,n,r,t){if(void 0===r&&(r="string"),null==e||""===e)return"ascending"===t?-1:1;if(null==n||""===n)return"ascending"===t?1:-1;if("number"===r){var o=function(e){var n;if("number"==typeof e)return e;var r=String(e);if("string"==typeof r){var t=r.replace(/[$,]/g,"").match(/^([-+]?\d*\.?\d+)([TBMKtbmk])?/);if(t){var o=parseFloat(t[1]),a=null===(n=t[2])||void 0===n?void 0:n.toUpperCase();return"T"===a?o*=1e12:"B"===a?o*=1e9:"M"===a?o*=1e6:"K"===a&&(o*=1e3),o}}return parseFloat(r)||0},a=o(e),i=o(n);return I.number(a,i,t)}return"date"===r?I.date(String(e),String(n),t):"boolean"===r?I.boolean(Boolean(e),Boolean(n),t):"enum"===r?I.enum(String(e),String(n),t):I.string(String(e),String(n),t)},b=function(e,n,o){var a=o.find((function(e){return e.accessor===n.key.accessor})),i=(null==a?void 0:a.type)||"string",c=n.direction,l=new Map,d=new Map,s="";e.forEach((function(e){var r;if(e.rowData&&!e.rowData[n.key.accessor]&&void 0!==e.rowMeta.isExpanded){var t=(e.rowData.sector||"group_".concat(l.size)).toString();s=t,d.set(s,e),l.has(s)||l.set(s,[])}else if(s){var o=l.get(s)||[];o.push(e),l.set(s,o)}else{var a="default";l.has(a)||l.set(a,[]),null===(r=l.get(a))||void 0===r||r.push(e)}}));var u=[];return l.forEach((function(e,a){if(d.has(a)){var l=d.get(a);l.rowMeta.children&&l.rowMeta.children.length>0&&(l.rowMeta.children=M(l.rowMeta.children,n,o)),u.push(l)}var s=t([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,o=e.rowData[t],a=r.rowData[t];return p(o,a,i,c)}));u.push.apply(u,s.map((function(e){var t=r({},e);if(t.rowMeta.children&&t.rowMeta.children.length>0){var a=M(t.rowMeta.children,n,o);t.rowMeta=r(r({},t.rowMeta),{children:a})}return t})))})),u},M=function(e,n,o){var a=o.find((function(e){return e.accessor===n.key.accessor})),i=(null==a?void 0:a.type)||"string",c=n.direction;return t([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,o=e.rowData[t],a=r.rowData[t];return p(o,a,i,c)})).map((function(e){return e.rowMeta.children&&e.rowMeta.children.length>0?r(r({},e),{rowMeta:r(r({},e.rowMeta),{children:M(e.rowMeta.children,n,o)})}):e}))},y=function(e){var n=e.colIndex,r=e.event,t=e.forceUpdate,o=e.header,a=e.headersRef;e.reverse;var i=e.setIsWidthDragging,c=e.startWidth;i(!0),r.preventDefault();var l=r.clientX;if(o){var d=function(e){var r=Math.max(c+(e.clientX-l),40);o&&a.current&&(a.current[n].width=r,t())},s=function(){document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",s),i(!1)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",s)}};n.forwardRef((function(t,a){var i=t.colIndex,c=t.columnReordering,l=t.columnResizing,s=t.currentRows,u=t.draggedHeaderRef,f=t.forceUpdate,v=t.gridColumnEnd,w=t.gridColumnStart,g=t.gridRowEnd,x=t.gridRowStart,I=t.header,p=t.headersRef,b=t.hoveredHeaderRef,M=t.onColumnOrderChange,S=t.onSort,C=t.onTableHeaderDragEnd,R=t.reverse,D=t.rowHeight,E=t.selectableColumns,k=t.setIsWidthDragging,j=t.setSelectedCells,N=t.sort,H=t.sortDownIcon,L=t.sortUpIcon,O=n.useState(!1),B=O[0],T=O[1],W=Boolean(null==I?void 0:I.isSortable),P="st-header-cell ".concat(I===b.current?"st-hovered":""," ").concat(B?"st-dragging":""," ").concat(W?"clickable":""," ").concat(c&&!W?"columnReordering":""," ").concat("right"===(null==I?void 0:I.align)?"right-aligned":"center"===(null==I?void 0:I.align)?"center-aligned":""),A=m({draggedHeaderRef:u,headersRef:p,hoveredHeaderRef:b,onColumnOrderChange:M,onTableHeaderDragEnd:C}),z=A.handleDragStart,F=A.handleDragEnd,U=A.handleDragOver,K=h(),V=function(e){var n=e.event,r=e.header;if(E){var t=s.length,a=Array.from({length:t},(function(e,n){return o({rowIndex:n,colIndex:i,rowId:s[n].rowMeta.rowId})})),c=function(e,n){var r=new Set,a=Math.min(e,n),i=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:i-a+1}).forEach((function(e,t){r.add(o({rowIndex:n,colIndex:a+t,rowId:s[n].rowMeta.rowId}))}))})),r};n.shiftKey?j((function(e){var n,r=Number(null===(n=Array.from(e)[0])||void 0===n?void 0:n.split("-")[1]),t=Number(a[0].split("-")[1]);return r===t?new Set(a):r>t?c(t,r):c(r,t)})):j(new Set(a))}else r.isSortable&&S(i,r.accessor)};if(n.useEffect((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!I)return null;var X=l&&e.jsx("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;K({callback:y,callbackProps:{colIndex:i,event:e,forceUpdate:f,header:I,headersRef:p,setIsWidthDragging:k,startWidth:"object"==typeof a&&null!==a&&"current"in a?null===(n=a.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),q=N&&N.key.accessor===I.accessor&&e.jsxs("div",r({className:"st-sort-icon-container",onClick:function(e){return V({event:e,header:I})}},{children:["ascending"===N.direction&&L&&L,"descending"===N.direction&&H&&H]}));return e.jsxs("div",r({className:P,id:d({accessor:I.accessor,rowIndex:0}),onDragOver:function(e){K({callback:U,callbackProps:{event:e,hoveredHeader:I},limit:50})},ref:a,style:r(r({gridRowStart:x,gridRowEnd:g,gridColumnStart:w,gridColumnEnd:v},v-w>1?{}:{width:I.width}),g-x>1?{}:{height:D})},{children:[R&&X,e.jsxs("div",r({className:"st-header-label ".concat("right"===I.align?"right-aligned":"center"===I.align?"center-aligned":""),draggable:c,onClick:function(e){return V({event:e,header:I})},onDragEnd:function(e){e.preventDefault(),T(!1),F()},onDragStart:function(e){c&&I&&function(e){T(!0),z(e)}(I)}},{children:["right"===I.align&&q,null==I?void 0:I.label,"right"!==I.align&&q]})),!R&&X]}))}));var S,C=function(e){var r=e.headers,t=e.tableRows,o=n.useState(null),a=o[0],i=o[1],c=n.useMemo((function(){var e={};return r.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[r]),l=n.useState(c),d=l[0],s=l[1],u=n.useMemo((function(){if(!a)return t;var e=function(e,n,r){return{sortedData:b(n,r,e),newSortConfig:r}}(r,t,a).sortedData;return e}),[t,a,r]);return{sort:a,setSort:i,updateSort:function(e,n){var t=r.find((function(e){return e.accessor===n}));t&&i((function(e){return e&&e.key.accessor===n?"ascending"===e.direction?{key:t,direction:"descending"}:null:{key:t,direction:"ascending"}}))},sortedRows:u,hiddenColumns:d,setHiddenColumns:s}};!function(e){e.Left="left",e.Right="right"}(S||(S={}));var R=n.memo((function(r){r.allowAnimations;var t=r.columnEditorPosition;void 0===t&&S.Right,r.columnEditorText,r.columnResizing;var d=r.defaultHeaders;r.editColumns,r.editColumnsInitOpen,r.columnReordering;var s=r.height;r.hideFooter;var u=r.nextIcon;void 0===u&&e.jsx(i,{className:"st-next-prev-icon"}),r.onCellEdit,r.onColumnOrderChange,r.onNextPage,r.onPreviousPage;var f=r.prevIcon;void 0===f&&e.jsx(a,{className:"st-next-prev-icon"});var v=r.rowHeight,w=void 0===v?40:v,h=r.rows,g=r.rowsPerPage,x=void 0===g?10:g,m=r.selectableCells,I=void 0!==m&&m,p=r.selectableColumns,b=void 0!==p&&p,M=r.shouldPaginate,y=void 0!==M&&M,R=r.sortDownIcon;void 0===R&&e.jsx(l,{className:"st-sort-icon"});var D=r.sortUpIcon;void 0===D&&e.jsx(c,{className:"st-sort-icon"}),r.theme,r.totalPages,n.useRef(null);var E=n.useRef(d);n.useRef(null),n.useRef(null),n.useRef(null),n.useRef(null);var k=n.useRef(null),j=n.useState(!1);j[0],j[1];var N=n.useState(1),H=N[0];N[1];var L=n.useState(0);L[0];var O=L[1],B=n.useState(0);B[0];var T=B[1],W=n.useState(0),P=W[0];W[1];var A=C({headers:E.current,tableRows:h}),z=A.sortedRows,F=A.updateSort,U=n.useMemo((function(){if(!y)return z;var e=(H-1)*x,n=e+x;return z.slice(e,n)}),[H,x,y,z]),K=n.useState(U),V=K[0],X=K[1];n.useEffect((function(){X(U)}),[U]);var q=n.useMemo((function(){var e;if(!s)return window.innerHeight-w;var n=document.querySelector(".simple-table-root"),r=0;if(s.endsWith("px"))r=parseInt(s,10);else if(s.endsWith("vh")){var t=parseInt(s,10);r=window.innerHeight*t/100}else if(s.endsWith("%")){var o=parseInt(s,10);r=((null===(e=null==n?void 0:n.parentElement)||void 0===e?void 0:e.clientHeight)||window.innerHeight)*o/100}else r=window.innerHeight;return Math.max(0,r-w)}),[s,w]),J=n.useMemo((function(){return function(e){var n=e.bufferRowCount,r=e.contentHeight,t=e.flattenedRows,o=e.rowHeight,a=e.scrollTop,i=[],c=0,l=Math.max(0,a-o*n),d=a+r+o*n,s=function(e,n){for(var r,t=0,a=e;t<a.length;t++){var u=a[t],f=c*o;if(f>=d)break;f+o>l&&i.push({row:u,depth:n,position:c,isLastGroupRow:Boolean(null===(r=u.rowMeta.children)||void 0===r?void 0:r.length)&&n>1}),c+=1,u.rowMeta.isExpanded&&u.rowMeta.children&&s(u.rowMeta.children,n+1)}};return s(t,0),i}({bufferRowCount:5,contentHeight:q,flattenedRows:V,rowHeight:w,scrollTop:P})}),[q,w,V,P]),Y=n.useReducer((function(e){return e+1}),0)[1],_=function(e){var r=e.selectableCells,t=e.headers,a=e.visibleRows,i=n.useState(new Set),c=i[0],l=i[1],d=n.useState(null),s=d[0],u=d[1],f=n.useRef(!1),v=n.useRef(null),w=n.useCallback((function(){var e=Array.from(c).reduce((function(e,n){var r=n.split("-").map(Number),o=r[0],i=r[1];return e[o]||(e[o]=[]),e[o][i]=a[o].row.rowData[t[i].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");c.size>0&&navigator.clipboard.writeText(n)}),[t,c,a]),h=n.useCallback((function(e,n){for(var r=new Set,t=Math.min(e.rowIndex,n.rowIndex),i=Math.max(e.rowIndex,n.rowIndex),c=Math.min(e.colIndex,n.colIndex),d=Math.max(e.colIndex,n.colIndex),s=t;s<=i;s++)for(var u=c;u<=d;u++)if(s>=0&&s<a.length){var f=a[s].row.rowMeta.rowId;r.add(o({colIndex:u,rowIndex:s,rowId:f}))}l(r)}),[a]),g=n.useCallback((function(e){if(e.rowIndex>=0&&e.rowIndex<a.length&&e.colIndex>=0&&e.colIndex<t.length){var n=o(e);l(new Set([n])),u(e)}}),[t.length,a.length]);n.useEffect((function(){var e=function(e){if(r&&s){var n=s.rowIndex,o=s.colIndex,i=s.rowId;if(!e.ctrlKey&&!e.metaKey||"c"!==e.key){if(a[n].row.rowMeta.rowId!==i){var c=a.findIndex((function(e){return e.row.rowMeta.rowId===i}));if(-1===c)return;n=c}if("ArrowUp"===e.key){if(e.preventDefault(),n>0){var d={rowIndex:n-1,colIndex:o,rowId:a[n-1].row.rowMeta.rowId};g(d)}}else"ArrowDown"===e.key?(e.preventDefault(),n<a.length-1&&(d={rowIndex:n+1,colIndex:o,rowId:a[n+1].row.rowMeta.rowId},g(d))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),o>0&&(d={rowIndex:n,colIndex:o-1,rowId:a[n].row.rowMeta.rowId},g(d))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),o<t.length-1&&(d={rowIndex:n,colIndex:o+1,rowId:a[n].row.rowMeta.rowId},g(d))):"Escape"===e.key&&(l(new Set),v.current=null,u(null))}else w()}};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[w,t.length,s,h,g,r,a]);var x=n.useCallback((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,a=o({colIndex:n,rowIndex:r,rowId:t});return c.has(a)}),[c]),m=n.useCallback((function(e){var n,r,t,o,i,c,l=e.colIndex,d=e.rowIndex,s=e.rowId,u=[],f=null===(t=null===(r=null===(n=a[d-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,v={colIndex:l,rowIndex:d+1,rowId:null===(c=null===(i=null===(o=a[d+1])||void 0===o?void 0:o.row)||void 0===i?void 0:i.rowMeta)||void 0===c?void 0:c.rowId},w={colIndex:l-1,rowIndex:d,rowId:s},h={colIndex:l+1,rowIndex:d,rowId:s};return x({colIndex:l,rowIndex:d-1,rowId:f})||u.push("st-selected-top-border"),x(v)||u.push("st-selected-bottom-border"),x(w)||u.push("st-selected-left-border"),x(h)||u.push("st-selected-right-border"),u.join(" ")}),[x,a]),I=n.useMemo((function(){return s?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===s.rowIndex&&r===s.colIndex&&t===s.rowId}:function(){return!1}}),[s]);return{getBorderClass:m,handleMouseDown:function(e){var n=e.colIndex,t=e.rowIndex,a=e.rowId;if(r){f.current=!0,v.current={rowIndex:t,colIndex:n,rowId:a};var i=o({colIndex:n,rowIndex:t,rowId:a});l(new Set([i])),u({rowIndex:t,colIndex:n,rowId:a})}},handleMouseOver:function(e){var n=e.colIndex,t=e.rowIndex;if(e.rowId,r&&f.current&&v.current){for(var i=new Set,c=Math.min(v.current.rowIndex,t),d=Math.max(v.current.rowIndex,t),s=Math.min(v.current.colIndex,n),u=Math.max(v.current.colIndex,n),w=c;w<=d;w++)for(var h=s;h<=u;h++)if(w>=0&&w<a.length){var g=a[w].row.rowMeta.rowId;i.add(o({colIndex:h,rowIndex:w,rowId:g}))}l(i)}},handleMouseUp:function(){f.current=!1},isInitialFocusedCell:I,isSelected:x,selectedCells:c,setSelectedCells:l}}({selectableCells:I,headers:E.current,visibleRows:J}),$=_.setSelectedCells;return n.useCallback((function(e,n){F(e,n)}),[F]),n.useCallback((function(e){E.current=e,Y()}),[]),n.useEffect((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||b&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||$(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[b,$]),n.useLayoutEffect((function(){if(k.current){var e=k.current.offsetWidth-k.current.clientWidth,n=k.current.clientWidth;O(e),T(n)}}),[]),n.useLayoutEffect((function(){var e=function(){if(Y(),k.current){var e=k.current.offsetWidth-k.current.clientWidth,n=k.current.clientWidth;O(e),T(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),null}));exports.SimpleTable=R;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),r=function(){return r=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},r.apply(this,arguments)};function t(e,n){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(r[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(t=Object.getOwnPropertySymbols(e);o<t.length;o++)n.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(e,t[o])&&(r[t[o]]=e[t[o]])}return r}function o(e,n,r){if(r||2===arguments.length)for(var t,o=0,i=n.length;o<i;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var i,a=function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return"".concat(n,"-").concat(r,"-").concat(t)},l=function(n){var t=n.currentPage,o=n.hideFooter,i=n.nextIcon,a=n.onPageChange,l=n.onNextPage,d=n.onPreviousPage,s=n.prevIcon,c=n.shouldPaginate,u=n.totalPages;if(o||!c)return null;var f=!(t>1)&&!d,h=!(t<u)&&!l;return e.jsxs("div",r({className:"st-footer"},{children:[e.jsx("button",r({className:"st-next-prev-btn ".concat(f?"disabled":""),onClick:function(){var e=t-1;e>=1&&a(e),d&&d(e-1)},disabled:f},{children:s})),e.jsx("button",r({className:"st-next-prev-btn ".concat(h?"disabled":""),onClick:function(){var e=t+1;(e<=u||l)&&a(e),l&&l(t)},disabled:h},{children:i})),Array.from({length:u},(function(n,o){return e.jsx("button",r({onClick:function(){var e;(e=o+1)>=1&&e<=u&&(a(e),e>t&&l?l(e-1):e<t&&d&&d(e-1))},className:"st-page-btn ".concat(t===o+1?"active":"")},{children:o+1}),o)}))]}))},d=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})}))},s=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},c=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M5.41 11.41L10 6.83l4.59 4.58L16 10l-6-6-6 6z"})}))},u=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},f=function(e){return e.position*(e.rowHeight+1)-1},h=function(e){return e.position*(e.rowHeight+1)},g=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},v=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},w=function(n){var t=n.value,o=n.onBlur,i=n.onChange;return e.jsxs("select",r({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;i("true"===n)}},{children:[e.jsx("option",r({value:"true"},{children:"True"})),e.jsx("option",r({value:"false"},{children:"False"}))]}))},m=function(r){var t=r.defaultValue,o=r.onBlur,i=r.onChange,a=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:a,autoFocus:!0,type:"text",defaultValue:null!=t?t:"",onBlur:o,onChange:function(e){var n=e.target.value;i(n)}})},p=function(r){var t=r.defaultValue,o=r.onBlur,i=r.onChange,a=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:a,autoFocus:!0,defaultValue:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&i(n)}})},x=function(n){var r=n.onChange,t=n.setIsEditing,o=n.value,i=function(e){null==r||r(e)},a=function(){t(!1)};return e.jsx(e.Fragment,{children:"string"==typeof o||null==o?e.jsx(m,{defaultValue:o,onBlur:a,onChange:i}):"boolean"==typeof o?e.jsx(w,{onBlur:a,onChange:i,value:o}):"number"==typeof o?e.jsx(p,{defaultValue:o,onBlur:a,onChange:i}):null})},R=0,C=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===R||o-R>=t)&&(R=o,n(r))}},I=Date.now(),b={screenX:0,screenY:0},y=function(e){var r,t,i=e.draggedHeaderRef,a=e.headersRef,l=e.hoveredHeaderRef,d=e.onColumnOrderChange,s=e.onTableHeaderDragEnd,c=(r=a.current,t=n.useRef(r),n.useEffect((function(){t.current=r}),[r]),t.current);return{handleDragStart:function(e){i.current=e,I=Date.now()},handleDragOver:function(e){var n,r=e.event,t=e.hoveredHeader;if(r.preventDefault(),a.current){var d=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),u=r.screenX,f=r.screenY,h=Math.sqrt(Math.pow(u-b.screenX,2)+Math.pow(f-b.screenY,2));l.current=t;var g=o([],a.current,!0),v=g.findIndex((function(e){var n;return e.accessor===(null===(n=i.current)||void 0===n?void 0:n.accessor)})),w=g.findIndex((function(e){return e.accessor===t.accessor})),m=g.splice(v,1)[0];if(g.splice(w,0,m),!(d||t.accessor===(null===(n=i.current)||void 0===n?void 0:n.accessor)||null===i.current||h<10||void 0===v||void 0===w||JSON.stringify(g)===JSON.stringify(a.current))){var p=Date.now();JSON.stringify(g)===JSON.stringify(c)&&p-I<800&&h<50||(I=p,b={screenX:u,screenY:f},s(g))}}},handleDragEnd:function(){i.current=null,l.current=null,null==d||d(a.current)}}},M=n.forwardRef((function(t,o){var i,a,l=t.borderClass,d=t.colIndex,c=t.draggedHeaderRef,f=t.header,h=t.headersRef,v=t.hoveredHeaderRef,w=t.isSelected,m=t.isInitialFocusedCell,p=t.onCellEdit,R=t.onExpandRowClick,I=t.onMouseDown,b=t.onMouseOver,M=t.onTableHeaderDragEnd,S=t.rowIndex,E=t.visibleRow,H=E.depth,D=E.row,j=n.useState(D.rowData[f.accessor]),k=j[0],N=j[1],T=n.useState(!1),L=T[0],O=T[1],B=y({draggedHeaderRef:c,headersRef:h,hoveredHeaderRef:v,onTableHeaderDragEnd:M}).handleDragOver,W=C(),P="cell-".concat(S,"-").concat(d),A=Boolean(null===(a=null===(i=D.rowMeta)||void 0===i?void 0:i.children)||void 0===a?void 0:a.length),F=Boolean(null==f?void 0:f.isEditable),z=S%2==0,U="st-cell ".concat(H>0&&f.expandable?"st-cell-depth-".concat(H):""," ").concat(w?m?"st-cell-selected-first ".concat(l):"st-cell-selected ".concat(l):""," ").concat(z?"st-cell-odd-row":"st-cell-even-row"," ").concat(F?"clickable":"");n.useEffect((function(){N(D.rowData[f.accessor])}),[f.accessor,D]);return L?e.jsx("div",r({className:"st-cell-editing ".concat(z?"st-cell-odd-row":"st-cell-even-row"),id:g({accessor:f.accessor,rowIndex:S+1})},{children:e.jsx(x,{onChange:function(e){N(e),null==p||p({accessor:f.accessor,newValue:e,row:D})},setIsEditing:O,value:k})})):e.jsxs("div",r({className:U,id:P,onDoubleClick:function(){return f.isEditable&&O(!0)},onMouseDown:function(){return I({rowIndex:S,colIndex:d,rowId:D.rowMeta.rowId})},onMouseOver:function(){return b({rowIndex:S,colIndex:d,rowId:D.rowMeta.rowId})},onDragOver:function(e){return W({callback:B,callbackProps:{event:e,hoveredHeader:f},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!f.isEditable||L||(e.preventDefault(),O(!0))},ref:o,"data-row-index":S,"data-col-index":d,"aria-selected":w},{children:[f.expandable&&A?D.rowMeta.isExpanded?e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return R(D.rowMeta.rowId)}},{children:e.jsx(u,{className:"st-sort-icon"})})):e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return R(D.rowMeta.rowId)}},{children:e.jsx(s,{className:"st-sort-icon"})})):null,e.jsx("span",r({className:"st-cell-content ".concat("right"===f.align?"right-aligned":"center"===f.align?"center-aligned":"")},{children:f.cellRenderer?f.cellRenderer({accessor:f.accessor,colIndex:d,row:D}):k}))]}))})),S=function(n){var o=n.allowAnimations,i=n.children,a=t(n,["allowAnimations","children"]);return o?e.jsx(E,r({},a,{children:i})):e.jsx(e.Fragment,{children:i})},E=function(r){var t=r.allowHorizontalAnimate,o=void 0===t||t,i=r.children,a=r.draggedHeaderRef,l=r.headersRef,d=r.isBody,s=r.mainBodyRef,c=r.pauseAnimation,u=r.rowIndex,f=n.useRef(!1),h=n.useState({}),v=h[0],w=h[1],m=n.useRef({}),p=l.current;return n.useLayoutEffect((function(){if(p){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var i=document.getElementById(g({accessor:e.accessor,rowIndex:t}));if(i){var a=i.getAnimations().some((function(e){return"running"===e.playState})),l=i.getBoundingClientRect();a&&(null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.accessor)!==e.accessor?o[e.accessor]=!1:o[e.accessor]=l}}})),o}({currentHeaders:p,draggedHeaderRef:a,rowIndex:u});JSON.stringify(e)!==JSON.stringify(v)&&(m.current=v,w(e))}}),[v,p,a,d,u]),n.useLayoutEffect((function(){var e=s.current,n=function(){f.current=!0},r=function(){f.current=!1};return null==e||e.addEventListener("scroll",n),null==e||e.addEventListener("scrollend",r),function(){null==e||e.removeEventListener("scroll",n),null==e||e.removeEventListener("scrollend",r)}}),[a,s]),n.useEffect((function(){c||f.current||Object.keys(m.current).length&&p&&p.forEach((function(e){var n=document.getElementById(g({accessor:e.accessor,rowIndex:u}));if(n){var r=m.current[e.accessor],t=v[e.accessor];if(r&&t){var i=r.left-t.left,a=o?0:r.top-t.top,l=Math.abs(i),d=Math.abs(a);(l>10||d>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(i,"px, ").concat(a,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[o,v,p,d,c,m,u]),e.jsx(e.Fragment,{children:i})},H=function(n){var o=n.getBorderClass,i=n.handleMouseDown,a=n.handleMouseOver,l=n.headers,d=n.hiddenColumns,s=n.isSelected,c=n.isInitialFocusedCell,u=n.onExpandRowClick,f=n.pinned,h=n.rowIndex,w=n.visibleRow,m=t(n,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isSelected","isInitialFocusedCell","onExpandRowClick","pinned","rowIndex","visibleRow"]);return e.jsx(S,r({allowAnimations:m.allowAnimations,allowHorizontalAnimate:m.shouldPaginate,draggedHeaderRef:m.draggedHeaderRef,headersRef:m.headersRef,isBody:!0,mainBodyRef:m.mainBodyRef,pauseAnimation:m.isWidthDragging,rowIndex:h+1},{children:l.map((function(n,t){return v({hiddenColumns:d,header:n,pinned:f})?e.jsx(D,r({colIndex:t,getBorderClass:o,handleMouseDown:i,handleMouseOver:a,header:n,headers:l,hiddenColumns:d,isInitialFocusedCell:c,isSelected:s,onExpandRowClick:u,pinned:f,rowIndex:h,visibleRow:w},m),g({accessor:n.accessor,rowIndex:h+1})):null}))}))},D=function(o){var i=o.colIndex,a=o.getBorderClass,l=o.handleMouseDown,d=o.handleMouseOver,s=o.header,c=o.isInitialFocusedCell,u=o.isSelected,f=o.onExpandRowClick,h=o.rowIndex,v=o.visibleRow,w=t(o,["colIndex","getBorderClass","handleMouseDown","handleMouseOver","header","isInitialFocusedCell","isSelected","onExpandRowClick","rowIndex","visibleRow"]);return s.children?e.jsx(e.Fragment,{children:s.children.map((function(n,t){return e.jsx(D,r({colIndex:i+t,getBorderClass:a,handleMouseDown:l,handleMouseOver:d,header:n,isSelected:u,isInitialFocusedCell:c,onExpandRowClick:f,rowIndex:h,visibleRow:v},w),g({accessor:n.accessor,rowIndex:h+1}))}))}):n.createElement(M,r({},w,{borderClass:a({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId}),colIndex:i,header:s,isSelected:u({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId}),isInitialFocusedCell:c({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId}),key:g({accessor:s.accessor,rowIndex:h+1}),onExpandRowClick:f,onMouseDown:function(){return l({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId})},onMouseOver:function(){return d({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId})},rowIndex:h,visibleRow:v}))},j=function(n){var t=n.getNextRowIndex,o=n.gridTemplateColumns,i=n.index,a=n.pinned,l=n.props,d=n.rowHeight,s=n.visibleRow,c=s.position,u=t();return e.jsx("div",r({className:"st-table-row",style:{gridTemplateColumns:o,top:h({position:c,rowHeight:d}),height:"".concat(d,"px")}},{children:e.jsx(H,r({pinned:a,rowIndex:u,visibleRow:s},l),i)}))},k=function(n){var t=n.lastGroupRow,o=n.position,i=n.rowHeight,a=n.templateColumns;return e.jsx("div",r({className:"st-row-separator ".concat(t?"st-last-group-row":""),style:{display:"grid",gridTemplateColumns:a,position:"absolute",top:f({position:o,rowHeight:i}),minWidth:"100%"}},{children:e.jsx("div",{style:{gridColumn:"1 / -1"}})}))},N=function(o){o.headerContainerRef;var i=o.onExpandRowClick,a=o.pinned,l=o.rowHeight,d=o.sectionRef,s=o.templateColumns,c=o.totalHeight,u=o.visibleRows,f=o.width,h=t(o,["headerContainerRef","onExpandRowClick","pinned","rowHeight","sectionRef","templateColumns","totalHeight","visibleRows","width"]),g=a?"st-table-body-pinned-".concat(a):"st-table-body-main",v=n.useRef(0);n.useEffect((function(){v.current=0}));var w=function(){return v.current++};return e.jsx("div",r({className:g,ref:d,style:{position:"relative",height:"".concat(c,"px"),width:f}},{children:u.map((function(t,o){var d,c,f=Boolean(null===(c=null===(d=t.row.rowMeta)||void 0===d?void 0:d.children)||void 0===c?void 0:c.length);return e.jsxs(n.Fragment,{children:[e.jsx(j,{getNextRowIndex:w,gridTemplateColumns:s,index:o,pinned:a,props:r(r({},h),{onExpandRowClick:i,rowHeight:l,visibleRows:u}),rowHeight:l,visibleRow:t}),0!==o&&e.jsx(k,{lastGroupRow:f,position:t.position,rowHeight:l,templateColumns:s})]},o)}))}))},T=function(t){var o,i,a,l,d,s=t.centerHeaderRef,c=t.flattenedRows,u=t.headerContainerRef,f=t.mainBodyRef,h=t.mainTemplateColumns,g=t.pinnedLeftColumns,v=t.pinnedLeftHeaderRef,w=t.pinnedLeftRef,m=t.pinnedLeftTemplateColumns,p=t.pinnedRightColumns,x=t.pinnedRightHeaderRef,R=t.pinnedRightRef,C=t.pinnedRightTemplateColumns,I=t.rowHeight,b=t.scrollbarWidth,y=t.setFlattenedRows,M=t.setScrollTop,S=t.tableBodyContainerRef,E=t.visibleRows;!function(e){var r=e.headerContainerRef,t=e.mainSectionRef,o=e.scrollbarWidth,i=n.useState(!1),a=i[0],l=i[1];n.useEffect((function(){var e=null==r?void 0:r.current;if(a&&e)return e.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(o,"px")),function(){e.classList.remove("st-header-scroll-padding")}}),[r,a,o]),n.useEffect((function(){var e=null==r?void 0:r.current,n=null==t?void 0:t.current;if(n&&e){var o=function(){if(n){var e=n.scrollHeight>n.clientHeight;l(e)}};o();var i=new ResizeObserver((function(){o()}));return i.observe(n),function(){n&&i.unobserve(n)}}}),[r,t])}({headerContainerRef:u,mainSectionRef:S,scrollbarWidth:b});var H,D,j=n.useRef(null),k=(H=0,(D=function(e){e.forEach((function(e){H+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&D(e.rowMeta.children)}))})(c),H)*(I+1)-1,T=function(e){var n=function(t){return t.rowMeta.rowId===e&&t.rowMeta.children?r(r({},t),{rowMeta:r(r({},t.rowMeta),{isExpanded:!t.rowMeta.isExpanded})}):t.rowMeta.children?r(r({},t),{rowMeta:r(r({},t.rowMeta),{children:t.rowMeta.children.map(n)})}):t};y((function(e){return e.map(n)}))},L=(null===(o=v.current)||void 0===o?void 0:o.clientWidth)?(null===(i=v.current)||void 0===i?void 0:i.clientWidth)+1:0,O=null===(a=s.current)||void 0===a?void 0:a.clientWidth,B=(null===(l=x.current)||void 0===l?void 0:l.clientWidth)?(null===(d=x.current)||void 0===d?void 0:d.clientWidth)+1:0;return e.jsxs("div",r({className:"st-table-body-container",ref:S,onScroll:function(e){var n=e.currentTarget.scrollTop;j.current&&cancelAnimationFrame(j.current),j.current=requestAnimationFrame((function(){M(n)}))}},{children:[g.length>0&&e.jsx(N,r({},t,{onExpandRowClick:T,pinned:"left",rowHeight:I,sectionRef:w,templateColumns:m,totalHeight:k,visibleRows:E,width:L})),e.jsx(N,r({},t,{onExpandRowClick:T,rowHeight:I,sectionRef:f,templateColumns:h,totalHeight:k,visibleRows:E,width:O})),p.length>0&&e.jsx(N,r({},t,{onExpandRowClick:T,pinned:"right",rowHeight:I,sectionRef:R,templateColumns:C,totalHeight:k,visibleRows:E,width:B}))]}))},L=function(e,r){n.useEffect((function(){if(e.current){var n=e.current,t=function(){var e,t=null==n?void 0:n.scrollLeft;void 0!==t&&(null===(e=r.current)||void 0===e||e.scrollTo(t,0))};return n.addEventListener("scroll",t),function(){null==n||n.removeEventListener("scroll",t)}}}),[e,r])},O={string:function(e,n,r){if(e===n)return 0;var t=e.localeCompare(n);return"ascending"===r?t:-t},number:function(e,n,r){if(e===n)return 0;var t=e-n;return"ascending"===r?t:-t},boolean:function(e,n,r){if(e===n)return 0;var t=e===n?0:e?-1:1;return"ascending"===r?t:-t},date:function(e,n,r){var t=new Date(e),o=new Date(n);if(t.getTime()===o.getTime())return 0;var i=t.getTime()-o.getTime();return"ascending"===r?i:-i},enum:function(e,n,r){return O.string(e,n,r)},default:function(e,n,r){return e===n?0:null==e?"ascending"===r?-1:1:null==n?"ascending"===r?1:-1:"string"==typeof e&&"string"==typeof n?O.string(e,n,r):"number"==typeof e&&"number"==typeof n?O.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?O.boolean(e,n,r):O.string(String(e),String(n),r)}},B=function(e,n,r,t){if(void 0===r&&(r="string"),null==e||""===e)return"ascending"===t?-1:1;if(null==n||""===n)return"ascending"===t?1:-1;if("number"===r){var o=function(e){var n;if("number"==typeof e)return e;var r=String(e);if("string"==typeof r){var t=r.replace(/[$,]/g,"").match(/^([-+]?\d*\.?\d+)([TBMKtbmk])?/);if(t){var o=parseFloat(t[1]),i=null===(n=t[2])||void 0===n?void 0:n.toUpperCase();return"T"===i?o*=1e12:"B"===i?o*=1e9:"M"===i?o*=1e6:"K"===i&&(o*=1e3),o}}return parseFloat(r)||0},i=o(e),a=o(n);return O.number(i,a,t)}return"date"===r?O.date(String(e),String(n),t):"boolean"===r?O.boolean(Boolean(e),Boolean(n),t):"enum"===r?O.enum(String(e),String(n),t):O.string(String(e),String(n),t)},W=function(e,n,t){var i=t.find((function(e){return e.accessor===n.key.accessor})),a=(null==i?void 0:i.type)||"string",l=n.direction,d=new Map,s=new Map,c="";e.forEach((function(e){var r;if(e.rowData&&!e.rowData[n.key.accessor]&&void 0!==e.rowMeta.isExpanded){var t=(e.rowData.sector||"group_".concat(d.size)).toString();c=t,s.set(c,e),d.has(c)||d.set(c,[])}else if(c){var o=d.get(c)||[];o.push(e),d.set(c,o)}else{var i="default";d.has(i)||d.set(i,[]),null===(r=d.get(i))||void 0===r||r.push(e)}}));var u=[];return d.forEach((function(e,i){if(s.has(i)){var d=s.get(i);d.rowMeta.children&&d.rowMeta.children.length>0&&(d.rowMeta.children=P(d.rowMeta.children,n,t)),u.push(d)}var c=o([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,o=e.rowData[t],i=r.rowData[t];return B(o,i,a,l)}));u.push.apply(u,c.map((function(e){var o=r({},e);if(o.rowMeta.children&&o.rowMeta.children.length>0){var i=P(o.rowMeta.children,n,t);o.rowMeta=r(r({},o.rowMeta),{children:i})}return o})))})),u},P=function(e,n,t){var i=t.find((function(e){return e.accessor===n.key.accessor})),a=(null==i?void 0:i.type)||"string",l=n.direction;return o([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,o=e.rowData[t],i=r.rowData[t];return B(o,i,a,l)})).map((function(e){return e.rowMeta.children&&e.rowMeta.children.length>0?r(r({},e),{rowMeta:r(r({},e.rowMeta),{children:P(e.rowMeta.children,n,t)})}):e}))},A=function(e){var n=e.colIndex,r=e.event,t=e.forceUpdate,o=e.header,i=e.headersRef;e.reverse;var a=e.setIsWidthDragging,l=e.startWidth;a(!0),r.preventDefault();var d=r.clientX;if(o){var s=function(e){var r=Math.max(l+(e.clientX-d),40);o&&i.current&&(i.current[n].width=r,t())},c=function(){document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",c),a(!1)};document.addEventListener("mousemove",s),document.addEventListener("mouseup",c)}},F=n.forwardRef((function(t,o){var i=t.colIndex,l=t.columnReordering,d=t.columnResizing,s=t.currentRows,c=t.draggedHeaderRef,u=t.forceUpdate,f=t.gridColumnEnd,h=t.gridColumnStart,v=t.gridRowEnd,w=t.gridRowStart,m=t.header,p=t.headersRef,x=t.hoveredHeaderRef,R=t.onColumnOrderChange,I=t.onSort,b=t.onTableHeaderDragEnd,M=t.reverse,S=t.rowHeight,E=t.selectableColumns,H=t.setIsWidthDragging,D=t.setSelectedCells,j=t.sort,k=t.sortDownIcon,N=t.sortUpIcon,T=n.useState(!1),L=T[0],O=T[1],B=Boolean(null==m?void 0:m.isSortable),W="st-header-cell ".concat(m===x.current?"st-hovered":""," ").concat(L?"st-dragging":""," ").concat(B?"clickable":""," ").concat(l&&!B?"columnReordering":""," ").concat("right"===(null==m?void 0:m.align)?"right-aligned":"center"===(null==m?void 0:m.align)?"center-aligned":""),P=y({draggedHeaderRef:c,headersRef:p,hoveredHeaderRef:x,onColumnOrderChange:R,onTableHeaderDragEnd:b}),F=P.handleDragStart,z=P.handleDragEnd,U=P.handleDragOver,q=C(),K=function(e){var n=e.event,r=e.header;if(E){var t=s.length,o=Array.from({length:t},(function(e,n){return a({rowIndex:n,colIndex:i,rowId:s[n].rowMeta.rowId})})),l=function(e,n){var r=new Set,o=Math.min(e,n),i=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:i-o+1}).forEach((function(e,t){r.add(a({rowIndex:n,colIndex:o+t,rowId:s[n].rowMeta.rowId}))}))})),r};n.shiftKey?D((function(e){var n,r=Number(null===(n=Array.from(e)[0])||void 0===n?void 0:n.split("-")[1]),t=Number(o[0].split("-")[1]);return r===t?new Set(o):r>t?l(t,r):l(r,t)})):D(new Set(o))}else r.isSortable&&I(i,r.accessor)};if(n.useEffect((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!m)return null;var V=d&&e.jsx("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;q({callback:A,callbackProps:{colIndex:i,event:e,forceUpdate:u,header:m,headersRef:p,setIsWidthDragging:H,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),J=j&&j.key.accessor===m.accessor&&e.jsxs("div",r({className:"st-sort-icon-container",onClick:function(e){return K({event:e,header:m})}},{children:["ascending"===j.direction&&N&&N,"descending"===j.direction&&k&&k]}));return e.jsxs("div",r({className:W,id:g({accessor:m.accessor,rowIndex:0}),onDragOver:function(e){q({callback:U,callbackProps:{event:e,hoveredHeader:m},limit:50})},ref:o,style:r(r({gridRowStart:w,gridRowEnd:v,gridColumnStart:h,gridColumnEnd:f},f-h>1?{}:{width:m.width}),v-w>1?{}:{height:S})},{children:[M&&V,e.jsxs("div",r({className:"st-header-label ".concat("right"===m.align?"right-aligned":"center"===m.align?"center-aligned":""),draggable:l,onClick:function(e){return K({event:e,header:m})},onDragEnd:function(e){e.preventDefault(),O(!1),z()},onDragStart:function(e){l&&m&&function(e){O(!0),F(e)}(m)}},{children:["right"===m.align&&J,null==m?void 0:m.label,"right"!==m.align&&J]})),!M&&V]}))})),z=function(o){var i=o.depth,a=o.header,l=o.hiddenColumns;o.index;var d=o.maxDepth,s=o.pinned,c=o.gridPosition,u=t(o,["depth","header","hiddenColumns","index","maxDepth","pinned","gridPosition"]);if(!v({hiddenColumns:l,header:a,pinned:s}))return null;var f=c.gridColumnStart,h=c.gridColumnEnd,g=c.gridRowStart,w=c.gridRowEnd,m=c.colIndex,p={gridColumnStart:f,gridColumnEnd:h,gridRowStart:g,gridRowEnd:w};if(a.children){var x=a.children.filter((function(e){return v({hiddenColumns:l,header:e,pinned:s})}));return e.jsxs(n.Fragment,{children:[e.jsx(F,r({},u,p,{colIndex:m,header:a,ref:n.createRef()})),x.map((function(e,t){var o,a=null===(o=c.children)||void 0===o?void 0:o[e.accessor];return a?n.createElement(z,r({},u,{depth:i+1,gridPosition:a,header:e,hiddenColumns:l,index:t,key:e.accessor,maxDepth:d})):null}))]})}return e.jsx(F,r({},u,p,{colIndex:m,header:a,ref:n.createRef()}))},U=function(t){var o=t.allowAnimations,i=t.columnReordering,a=t.columnResizing,l=t.currentRows,d=t.draggedHeaderRef,s=t.forceUpdate,c=t.gridTemplateColumns,u=t.handleScroll,f=t.headersRef,h=t.hiddenColumns,g=t.hoveredHeaderRef,w=t.isWidthDragging,m=t.mainBodyRef,p=t.maxDepth,x=t.onColumnOrderChange,R=t.onSort,C=t.onTableHeaderDragEnd,I=t.pinned,b=t.rowHeight,y=t.sectionRef,M=t.selectableColumns,E=t.setIsWidthDragging,H=t.setSelectedCells,D=t.sort,j=t.sortDownIcon,k=t.sortUpIcon,N=f.current.filter((function(e){return v({hiddenColumns:h,header:e,pinned:I})})),T=n.useMemo((function(){var e,n,r;return e={},n=1,r=function(t,o,i){var a,l;void 0===i&&(i=!1),i||n++;var d=n,s=null!==(l=null===(a=t.children)||void 0===a?void 0:a.filter((function(e){return v({hiddenColumns:h,header:e,pinned:I})})).length)&&void 0!==l?l:0,c={gridColumnStart:d,gridColumnEnd:s>0?d+s:d+1,gridRowStart:o,gridRowEnd:s>0?o+1:p+1,colIndex:d,children:{}};return t.children&&t.children.length>0&&t.children.filter((function(e){return v({hiddenColumns:h,header:e,pinned:I})})).forEach((function(e,n){c.children[e.accessor]=r(e,o+1,0===n)})),e[t.accessor]=c,c},N.forEach((function(e,n){r(e,1,0===n)})),e}),[N,h,p,I]);return e.jsx("div",r({className:"st-header-".concat(I?"pinned-".concat(I):"main")},u&&{onScroll:u},{ref:y,style:{gridTemplateColumns:c}},{children:e.jsx(S,r({allowAnimations:o,draggedHeaderRef:d,headersRef:f,mainBodyRef:m,pauseAnimation:w,rowIndex:0},{children:N.map((function(n,r){var t=T[n.accessor];return t?e.jsx(z,{columnReordering:i,columnResizing:a,currentRows:l,depth:1,draggedHeaderRef:d,forceUpdate:s,gridPosition:t,header:n,headersRef:f,hiddenColumns:h,hoveredHeaderRef:g,index:r,maxDepth:p,onColumnOrderChange:x,onSort:R,onTableHeaderDragEnd:C,pinned:I,reverse:"right"===I,rowHeight:b,selectableColumns:M,setIsWidthDragging:E,setSelectedCells:H,sort:D,sortDownIcon:j,sortUpIcon:k},n.accessor):null}))}))}))},q=function(e){var n;return(null===(n=e.children)||void 0===n?void 0:n.length)?1+Math.max.apply(Math,e.children.map(q)):1},K=function(t){var o=t.allowAnimations,i=t.centerHeaderRef,a=t.columnResizing,l=t.currentRows,d=t.columnReordering,s=t.draggedHeaderRef,c=t.forceUpdate,u=t.headerContainerRef,f=t.headersRef,h=t.hiddenColumns,g=t.hoveredHeaderRef,w=t.isWidthDragging,m=t.mainBodyRef,p=t.mainTemplateColumns,x=t.onColumnOrderChange,R=t.onSort,C=t.onTableHeaderDragEnd,I=t.pinnedLeftColumns,b=t.pinnedLeftHeaderRef,y=t.pinnedLeftTemplateColumns,M=t.pinnedRightColumns,S=t.pinnedRightHeaderRef,E=t.pinnedRightTemplateColumns,H=t.rowHeight,D=t.selectableColumns,j=t.setIsWidthDragging,k=t.setSelectedCells,N=t.sort,T=t.sortDownIcon,O=t.sortUpIcon;L(m,i);var B=function(e){var n,r,t=null===(n=i.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=m.current)||void 0===r||r.scrollTo(t,0))},W=n.useMemo((function(){var e=f.current,n=0;return e.forEach((function(e){if(v({hiddenColumns:h,header:e})){var r=q(e);n=Math.max(n,r)}})),{maxDepth:n}}),[f,h]).maxDepth,P={allowAnimations:o,columnReordering:d,columnResizing:a,currentRows:l,draggedHeaderRef:s,forceUpdate:c,handleScroll:B,headersRef:f,hiddenColumns:h,hoveredHeaderRef:g,isWidthDragging:w,mainBodyRef:m,maxDepth:W,onColumnOrderChange:x,onSort:R,onTableHeaderDragEnd:C,rowHeight:H,selectableColumns:D,setIsWidthDragging:j,setSelectedCells:k,sort:N,sortDownIcon:T,sortUpIcon:O};return e.jsxs("div",r({className:"st-header-container",ref:u},{children:[I.length>0&&e.jsx(U,r({},P,{gridTemplateColumns:y,pinned:"left",sectionRef:b})),e.jsx(U,r({},P,{gridTemplateColumns:p,handleScroll:B,sectionRef:i})),M.length>0&&e.jsx(U,r({},P,{gridTemplateColumns:E,pinned:"right",sectionRef:S}))]}))},V=function(e){var n=e.headers,r=e.hiddenColumns,t=function(e){var n=e.headers,o=e.flattenedHeaders;return n.forEach((function(e){!0!==r[e.accessor]&&(e.children?t({headers:e.children,flattenedHeaders:o}):o.push(e))})),o},o=t({headers:n,flattenedHeaders:[]});return"".concat(o.map((function(e){return function(e){var n=e.minWidth,r=e.width;return"number"==typeof r&&(r="".concat(r,"px")),n&&"number"==typeof n&&(n="".concat(n,"px")),void 0!==n?"minmax(".concat(n,", ").concat(r,")"):r}(e)})).join(" "))},J=function(t){var o=t.allowAnimations,i=t.columnReordering,a=t.columnResizing,l=t.currentRows,d=t.draggedHeaderRef,s=t.editColumns,c=t.flattenedRows,u=t.forceUpdate,f=t.getBorderClass,h=t.handleMouseDown,g=t.handleMouseOver,v=t.headersRef,w=t.hiddenColumns,m=t.hoveredHeaderRef,p=t.isSelected,x=t.isInitialFocusedCell,R=t.isWidthDragging,C=t.mainBodyRef,I=t.onCellEdit,b=t.onColumnOrderChange,y=t.onSort,M=t.onTableHeaderDragEnd,S=t.pinnedLeftRef,E=t.pinnedRightRef,H=t.rowHeight,D=t.scrollbarWidth,j=t.selectableColumns,k=t.setIsWidthDragging,N=t.setFlattenedRows,L=t.setScrollTop,O=t.setSelectedCells,B=t.shouldPaginate,W=t.sort,P=t.sortDownIcon,A=t.sortUpIcon,F=t.tableBodyContainerRef,z=t.visibleRows,U=n.useRef(null),q=n.useRef(null),J=n.useRef(null),X=n.useRef(null),Y=v.current.filter((function(e){return!e.pinned})),G=v.current.filter((function(e){return"left"===e.pinned})),_=v.current.filter((function(e){return"right"===e.pinned})),$=n.useMemo((function(){return V({headers:G,hiddenColumns:w})}),[G,w]),Q=n.useMemo((function(){return V({headers:Y,hiddenColumns:w})}),[Y,w]),Z=n.useMemo((function(){return V({headers:_,hiddenColumns:w})}),[_,w]),ee={allowAnimations:o,centerHeaderRef:J,columnResizing:a,currentRows:l,columnReordering:i,draggedHeaderRef:d,forceUpdate:u,headerContainerRef:U,headersRef:v,hiddenColumns:w,hoveredHeaderRef:m,isWidthDragging:R,mainBodyRef:C,mainTemplateColumns:Q,onColumnOrderChange:b,onSort:y,onTableHeaderDragEnd:M,pinnedLeftColumns:G,pinnedLeftHeaderRef:q,pinnedLeftTemplateColumns:$,pinnedRightColumns:_,pinnedRightHeaderRef:X,pinnedRightTemplateColumns:Z,rowHeight:H,selectableColumns:j,setIsWidthDragging:k,setSelectedCells:O,sort:W,sortDownIcon:P,sortUpIcon:A,tableBodyContainerRef:F},ne={allowAnimations:o,centerHeaderRef:J,draggedHeaderRef:d,flattenedRows:c,getBorderClass:f,handleMouseDown:h,handleMouseOver:g,headerContainerRef:U,headers:v.current,headersRef:v,hiddenColumns:w,hoveredHeaderRef:m,isSelected:p,isInitialFocusedCell:x,isWidthDragging:R,mainBodyRef:C,mainTemplateColumns:Q,onCellEdit:I,onTableHeaderDragEnd:M,pinnedLeftColumns:G,pinnedLeftHeaderRef:q,pinnedLeftRef:S,pinnedLeftTemplateColumns:$,pinnedRightColumns:_,pinnedRightHeaderRef:X,pinnedRightRef:E,pinnedRightTemplateColumns:Z,rowHeight:H,scrollbarWidth:D,setFlattenedRows:N,shouldPaginate:B,setScrollTop:L,tableBodyContainerRef:F,visibleRows:z};return e.jsxs("div",r({className:"st-table-content",style:{width:s?"calc(100% - 27.5px)":"100%"}},{children:[e.jsx(K,r({},ee)),e.jsx(T,r({},ne))]}))},X=function(e){var r=e.callback,t=e.ref,o=e.widthAttribute;n.useEffect((function(){var e=t.current;if(e){var n=function(){r(e[o]||0)};n();var i=new ResizeObserver((function(){n()}));return i.observe(e),function(){return i.disconnect()}}}),[r,t,o])},Y=function(t){var o=t.mainBodyRef,i=t.pinnedLeftRef,a=t.pinnedRightRef,l=t.tableContentWidth,d=n.useState(0),s=d[0],c=d[1],u=n.useState(0),f=u[0],h=u[1],g=n.useState(0),v=g[0],w=g[1],m=n.useRef(null);return X({widthAttribute:"offsetWidth",callback:c,ref:i}),X({widthAttribute:"scrollWidth",callback:w,ref:o}),X({widthAttribute:"offsetWidth",callback:h,ref:a}),L(o,m),!o.current||o.current.scrollWidth<=o.current.clientWidth?null:e.jsxs("div",r({className:"st-horizontal-scrollbar-container",style:{width:l}},{children:[s>0&&e.jsx("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:s}}),v>0&&e.jsx("div",r({className:"st-horizontal-scrollbar-middle",onScroll:function(e){var n=e.target.scrollLeft;void 0!==n&&o.current&&o.current.scrollTo({left:n,behavior:"auto"})},ref:m},{children:e.jsx("div",{style:{width:v}})})),f>0&&e.jsx("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:f}})]}))},G=function(e){var r=e.headers,t=e.tableRows,o=n.useState(null),i=o[0],a=o[1],l=n.useMemo((function(){var e={};return r.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[r]),d=n.useState(l),s=d[0],c=d[1],u=n.useMemo((function(){if(!i)return t;var e=function(e,n,r){return{sortedData:W(n,r,e),newSortConfig:r}}(r,t,i).sortedData;return e}),[t,i,r]);return{sort:i,setSort:a,updateSort:function(e,n){var t=r.find((function(e){return e.accessor===n}));t&&a((function(e){return e&&e.key.accessor===n?"ascending"===e.direction?{key:t,direction:"descending"}:null:{key:t,direction:"ascending"}}))},sortedRows:u,hiddenColumns:s,setHiddenColumns:c}},_=function(t){var o=t.checked,i=void 0!==o&&o,a=t.children,l=t.onChange,d=n.useState(i),s=d[0],c=d[1];return e.jsxs("label",r({className:"st-checkbox-label"},{children:[e.jsx("input",{checked:s,className:"st-checkbox-input",onChange:function(){var e=!s;c(e),l&&l(e)},type:"checkbox"}),e.jsx("span",r({className:"st-checkbox-custom ".concat(s?"st-checked":"")},{children:s&&e.jsx("span",{className:"st-checkbox-checkmark"})})),a]}))},$=function(n){var t=n.headers,o=n.open,i=n.position;n.setOpen;var a=n.setHiddenColumns,l=n.hiddenColumns,d="left"===i?"left":"";return e.jsx("div",r({className:"st-column-editor-popout ".concat(o?"open":""," ").concat(d),onClick:function(e){return e.stopPropagation()}},{children:e.jsx("div",r({className:"st-column-editor-popout-content"},{children:t.map((function(n,t){return e.jsx(_,r({checked:l[n.accessor],onChange:function(e){var t;return a(r(r({},l),((t={})[n.accessor]=e,t)))}},{children:n.label}),t)}))}))}))},Q=function(t){var o=t.columnEditorText,i=t.editColumns,a=t.editColumnsInitOpen,l=t.headers,d=t.position,s=void 0===d?"right":d,c=t.setHiddenColumns,u=t.hiddenColumns,f=n.useState(a),h=f[0],g=f[1];return i?e.jsxs("div",r({className:"st-column-editor ".concat(h?"open":""," ").concat(s),onClick:function(){return function(e){g(e)}(!h)}},{children:[e.jsx("div",r({className:"st-column-editor-text"},{children:o})),e.jsx($,{headers:l,open:h,position:s,setOpen:g,setHiddenColumns:c,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(i||(i={}));var Z=n.memo((function(t){var o=t.allowAnimations,f=void 0!==o&&o,h=t.columnEditorPosition,g=void 0===h?i.Right:h,v=t.columnEditorText,w=void 0===v?"Columns":v,m=t.columnResizing,p=void 0!==m&&m,x=t.defaultHeaders,R=t.editColumns,C=void 0!==R&&R,I=t.editColumnsInitOpen,b=void 0!==I&&I,y=t.columnReordering,M=void 0!==y&&y,S=t.height,E=t.hideFooter,H=void 0!==E&&E,D=t.nextIcon,j=void 0===D?e.jsx(s,{className:"st-next-prev-icon"}):D,k=t.onCellEdit,N=t.onColumnOrderChange,T=t.onNextPage,L=t.onPreviousPage,O=t.prevIcon,B=void 0===O?e.jsx(d,{className:"st-next-prev-icon"}):O,W=t.rowHeight,P=void 0===W?40:W,A=t.rows,F=t.rowsPerPage,z=void 0===F?10:F,U=t.selectableCells,q=void 0!==U&&U,K=t.selectableColumns,V=void 0!==K&&K,X=t.shouldPaginate,_=void 0!==X&&X,$=t.sortDownIcon,Z=void 0===$?e.jsx(u,{className:"st-sort-icon"}):$,ee=t.sortUpIcon,ne=void 0===ee?e.jsx(c,{className:"st-sort-icon"}):ee,re=t.theme,te=void 0===re?"light":re,oe=t.totalPages,ie=n.useRef(null),ae=n.useRef(x),le=n.useRef(null),de=n.useRef(null),se=n.useRef(null),ce=n.useRef(null),ue=n.useRef(null),fe=n.useState(!1),he=fe[0],ge=fe[1],ve=n.useState(1),we=ve[0],me=ve[1],pe=n.useState(0),xe=pe[0],Re=pe[1],Ce=n.useState(0),Ie=Ce[0],be=Ce[1],ye=n.useState(0),Me=ye[0],Se=ye[1],Ee=G({headers:ae.current,tableRows:A}),He=Ee.sort,De=Ee.sortedRows,je=Ee.hiddenColumns,ke=Ee.setHiddenColumns,Ne=Ee.updateSort,Te=n.useMemo((function(){if(!_)return De;var e=(we-1)*z,n=e+z;return De.slice(e,n)}),[we,z,_,De]),Le=n.useState(Te),Oe=Le[0],Be=Le[1];n.useEffect((function(){Be(Te)}),[Te]);var We=n.useMemo((function(){var e;if(!S)return window.innerHeight-P;var n=document.querySelector(".simple-table-root"),r=0;if(S.endsWith("px"))r=parseInt(S,10);else if(S.endsWith("vh")){var t=parseInt(S,10);r=window.innerHeight*t/100}else if(S.endsWith("%")){var o=parseInt(S,10);r=((null===(e=null==n?void 0:n.parentElement)||void 0===e?void 0:e.clientHeight)||window.innerHeight)*o/100}else r=window.innerHeight;return Math.max(0,r-P)}),[S,P]),Pe=n.useMemo((function(){return function(e){var n=e.bufferRowCount,r=e.contentHeight,t=e.flattenedRows,o=e.rowHeight,i=e.scrollTop,a=[],l=0,d=Math.max(0,i-o*n),s=i+r+o*n,c=function(e,n){for(var r,t=0,i=e;t<i.length;t++){var u=i[t],f=l*o;if(f>=s)break;f+o>d&&a.push({row:u,depth:n,position:l,isLastGroupRow:Boolean(null===(r=u.rowMeta.children)||void 0===r?void 0:r.length)&&n>1}),l+=1,u.rowMeta.isExpanded&&u.rowMeta.children&&c(u.rowMeta.children,n+1)}};return c(t,0),a}({bufferRowCount:5,contentHeight:We,flattenedRows:Oe,rowHeight:P,scrollTop:Me})}),[We,P,Oe,Me]),Ae=n.useReducer((function(e){return e+1}),0)[1],Fe=function(e){var r=e.selectableCells,t=e.headers,o=e.visibleRows,i=n.useState(new Set),l=i[0],d=i[1],s=n.useState(null),c=s[0],u=s[1],f=n.useRef(!1),h=n.useRef(null),g=n.useCallback((function(){var e=Array.from(l).reduce((function(e,n){var r=n.split("-").map(Number),i=r[0],a=r[1];return e[i]||(e[i]=[]),e[i][a]=o[i].row.rowData[t[a].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");l.size>0&&navigator.clipboard.writeText(n)}),[t,l,o]),v=n.useCallback((function(e,n){for(var r=new Set,t=Math.min(e.rowIndex,n.rowIndex),i=Math.max(e.rowIndex,n.rowIndex),l=Math.min(e.colIndex,n.colIndex),s=Math.max(e.colIndex,n.colIndex),c=t;c<=i;c++)for(var u=l;u<=s;u++)if(c>=0&&c<o.length){var f=o[c].row.rowMeta.rowId;r.add(a({colIndex:u,rowIndex:c,rowId:f}))}d(r)}),[o]),w=n.useCallback((function(e){if(e.rowIndex>=0&&e.rowIndex<o.length&&e.colIndex>=0&&e.colIndex<t.length){var n=a(e);d(new Set([n])),u(e)}}),[t.length,o.length]);n.useEffect((function(){var e=function(e){if(r&&c){var n=c.rowIndex,i=c.colIndex,a=c.rowId;if(!e.ctrlKey&&!e.metaKey||"c"!==e.key){if(o[n].row.rowMeta.rowId!==a){var l=o.findIndex((function(e){return e.row.rowMeta.rowId===a}));if(-1===l)return;n=l}if("ArrowUp"===e.key){if(e.preventDefault(),n>0){var s={rowIndex:n-1,colIndex:i,rowId:o[n-1].row.rowMeta.rowId};w(s)}}else"ArrowDown"===e.key?(e.preventDefault(),n<o.length-1&&(s={rowIndex:n+1,colIndex:i,rowId:o[n+1].row.rowMeta.rowId},w(s))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),i>0&&(s={rowIndex:n,colIndex:i-1,rowId:o[n].row.rowMeta.rowId},w(s))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),i<t.length-1&&(s={rowIndex:n,colIndex:i+1,rowId:o[n].row.rowMeta.rowId},w(s))):"Escape"===e.key&&(d(new Set),h.current=null,u(null))}else g()}};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[g,t.length,c,v,w,r,o]);var m=n.useCallback((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,o=a({colIndex:n,rowIndex:r,rowId:t});return l.has(o)}),[l]),p=n.useCallback((function(e){var n,r,t,i,a,l,d=e.colIndex,s=e.rowIndex,c=e.rowId,u=[],f=null===(t=null===(r=null===(n=o[s-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,h={colIndex:d,rowIndex:s+1,rowId:null===(l=null===(a=null===(i=o[s+1])||void 0===i?void 0:i.row)||void 0===a?void 0:a.rowMeta)||void 0===l?void 0:l.rowId},g={colIndex:d-1,rowIndex:s,rowId:c},v={colIndex:d+1,rowIndex:s,rowId:c};return m({colIndex:d,rowIndex:s-1,rowId:f})||u.push("st-selected-top-border"),m(h)||u.push("st-selected-bottom-border"),m(g)||u.push("st-selected-left-border"),m(v)||u.push("st-selected-right-border"),u.join(" ")}),[m,o]),x=n.useMemo((function(){return c?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===c.rowIndex&&r===c.colIndex&&t===c.rowId}:function(){return!1}}),[c]);return{getBorderClass:p,handleMouseDown:function(e){var n=e.colIndex,t=e.rowIndex,o=e.rowId;if(r){f.current=!0,h.current={rowIndex:t,colIndex:n,rowId:o};var i=a({colIndex:n,rowIndex:t,rowId:o});d(new Set([i])),u({rowIndex:t,colIndex:n,rowId:o})}},handleMouseOver:function(e){var n=e.colIndex,t=e.rowIndex;if(e.rowId,r&&f.current&&h.current){for(var i=new Set,l=Math.min(h.current.rowIndex,t),s=Math.max(h.current.rowIndex,t),c=Math.min(h.current.colIndex,n),u=Math.max(h.current.colIndex,n),g=l;g<=s;g++)for(var v=c;v<=u;v++)if(g>=0&&g<o.length){var w=o[g].row.rowMeta.rowId;i.add(a({colIndex:v,rowIndex:g,rowId:w}))}d(i)}},handleMouseUp:function(){f.current=!1},isInitialFocusedCell:x,isSelected:m,selectedCells:l,setSelectedCells:d}}({selectableCells:q,headers:ae.current,visibleRows:Pe}),ze=Fe.handleMouseDown,Ue=Fe.handleMouseOver,qe=Fe.handleMouseUp,Ke=Fe.isSelected,Ve=Fe.getBorderClass,Je=Fe.isInitialFocusedCell,Xe=Fe.setSelectedCells,Ye=n.useCallback((function(e,n){Ne(e,n)}),[Ne]),Ge=n.useCallback((function(e){ae.current=e,Ae()}),[]);return n.useEffect((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||V&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||Xe(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[V,Xe]),n.useLayoutEffect((function(){if(ue.current){var e=ue.current.offsetWidth-ue.current.clientWidth,n=ue.current.clientWidth;Re(e),be(n)}}),[]),n.useLayoutEffect((function(){var e=function(){if(Ae(),ue.current){var e=ue.current.offsetWidth-ue.current.clientWidth,n=ue.current.clientWidth;Re(e),be(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),e.jsxs("div",r({className:"simple-table-root st-wrapper theme-".concat(te),style:S?{height:S}:{}},{children:[e.jsxs("div",r({className:"st-table-wrapper-container"},{children:[e.jsxs("div",r({className:"st-table-wrapper",onMouseUp:qe,onMouseLeave:qe},{children:[e.jsx(J,{allowAnimations:f,columnReordering:M,columnResizing:p,currentRows:Te,draggedHeaderRef:ie,editColumns:C,flattenedRows:Oe,forceUpdate:Ae,getBorderClass:Ve,handleMouseDown:ze,handleMouseOver:Ue,headersRef:ae,hiddenColumns:je,hoveredHeaderRef:le,isInitialFocusedCell:Je,isSelected:Ke,isWidthDragging:he,mainBodyRef:de,onCellEdit:k,onColumnOrderChange:N,onSort:Ye,onTableHeaderDragEnd:Ge,pinnedLeftRef:se,pinnedRightRef:ce,rowHeight:P,scrollbarWidth:xe,selectableColumns:V,setIsWidthDragging:ge,setFlattenedRows:Be,setScrollTop:Se,setSelectedCells:Xe,shouldPaginate:_,sort:He,sortDownIcon:Z,sortUpIcon:ne,tableBodyContainerRef:ue,visibleRows:Pe}),e.jsx(Q,{columnEditorText:w,editColumns:C,editColumnsInitOpen:b,headers:ae.current,hiddenColumns:je,position:g,setHiddenColumns:ke})]})),e.jsx(Y,{mainBodyRef:de,pinnedLeftRef:se,pinnedRightRef:ce,tableContentWidth:Ie})]})),e.jsx(l,{currentPage:we,hideFooter:H,nextIcon:j,onPageChange:me,onNextPage:T,onPreviousPage:L,prevIcon:B,shouldPaginate:_,totalPages:oe||Math.ceil(De.length/z)})]}))}));exports.SimpleTable=Z;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|