simple-table-core 0.7.18 → 0.7.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/SimpleTable/RenderCells.d.ts +1 -1
- package/dist/components/SimpleTable/TableContent.d.ts +2 -10
- package/dist/hooks/useSelection.d.ts +10 -14
- package/dist/index.es.js +1 -1
- package/dist/index.js +1 -1
- package/dist/types/Cell.d.ts +4 -2
- package/dist/types/SelectionType.d.ts +7 -0
- package/dist/types/TableBodyProps.d.ts +10 -7
- package/dist/types/TableCellProps.d.ts +4 -3
- package/dist/types/TableContentProps.d.ts +10 -0
- package/dist/types/TableHeaderProps.d.ts +1 -1
- package/dist/types/TableRowProps.d.ts +3 -3
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import HeaderObject from "../../types/HeaderObject";
|
|
|
2
2
|
import TableBodyProps from "../../types/TableBodyProps";
|
|
3
3
|
import { RowId } from "../../types/RowId";
|
|
4
4
|
import VisibleRow from "../../types/VisibleRow";
|
|
5
|
-
declare const RenderCells: ({ getBorderClass, handleMouseDown, handleMouseOver, headers, hiddenColumns, isSelected,
|
|
5
|
+
declare const RenderCells: ({ getBorderClass, handleMouseDown, handleMouseOver, headers, hiddenColumns, isSelected, isInitialFocusedCell, onExpandRowClick, pinned, rowIndex, visibleRow, ...props }: {
|
|
6
6
|
headers: HeaderObject[];
|
|
7
7
|
hiddenColumns: Record<string, boolean>;
|
|
8
8
|
onExpandRowClick: (rowId: RowId) => void;
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import TableHeaderProps from "../../types/TableHeaderProps";
|
|
4
|
-
type OmittedTableProps = "centerHeaderRef" | "headerContainerRef" | "mainTemplateColumns" | "pinnedLeftColumns" | "pinnedLeftHeaderRef" | "pinnedLeftTemplateColumns" | "pinnedRightColumns" | "pinnedRightHeaderRef" | "pinnedRightTemplateColumns";
|
|
5
|
-
interface TableContentProps extends Omit<TableHeaderProps, OmittedTableProps>, Omit<TableBodyProps, OmittedTableProps> {
|
|
6
|
-
editColumns: boolean;
|
|
7
|
-
pinnedLeftRef: RefObject<HTMLDivElement | null>;
|
|
8
|
-
pinnedRightRef: RefObject<HTMLDivElement | null>;
|
|
9
|
-
}
|
|
10
|
-
declare const TableContent: ({ allowAnimations, columnResizing, currentRows, columnReordering, draggedHeaderRef, editColumns, forceUpdate, getBorderClass, handleMouseDown, handleMouseOver, headersRef, hiddenColumns, hoveredHeaderRef, isSelected, isTopLeftCell, isWidthDragging, mainBodyRef, onCellEdit, onColumnOrderChange, onSort, onTableHeaderDragEnd, pinnedLeftRef, pinnedRightRef, scrollbarWidth, selectableColumns, setIsWidthDragging, setSelectedCells, shouldPaginate, sort, sortDownIcon, sortUpIcon, tableBodyContainerRef, }: TableContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import TableContentProps from "../../types/TableContentProps";
|
|
2
|
+
declare const TableContent: ({ allowAnimations, columnReordering, columnResizing, currentRows, draggedHeaderRef, editColumns, forceUpdate, getBorderClass, handleMouseDown, handleMouseOver, headersRef, hiddenColumns, hoveredHeaderRef, isSelected, isInitialFocusedCell, isWidthDragging, mainBodyRef, onCellEdit, onColumnOrderChange, onSort, onTableHeaderDragEnd, pinnedLeftRef, pinnedRightRef, scrollbarWidth, selectableColumns, setIsWidthDragging, setScrollTop, setSelectedCells, shouldPaginate, sort, sortDownIcon, sortUpIcon, tableBodyContainerRef, visibleRows, }: TableContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
3
|
export default TableContent;
|
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import HeaderObject from "../types/HeaderObject";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
declare const useSelection: ({ selectableCells, headers, rows, }: {
|
|
3
|
+
import Cell from "../types/Cell";
|
|
4
|
+
import VisibleRow from "../types/VisibleRow";
|
|
5
|
+
declare const useSelection: ({ selectableCells, headers, visibleRows, }: {
|
|
8
6
|
selectableCells: boolean;
|
|
9
7
|
headers: HeaderObject[];
|
|
10
|
-
|
|
11
|
-
[key: string]: any;
|
|
12
|
-
}[];
|
|
8
|
+
visibleRows: VisibleRow[];
|
|
13
9
|
}) => {
|
|
14
|
-
|
|
15
|
-
handleMouseDown: ({ colIndex, rowIndex }:
|
|
16
|
-
handleMouseOver: (
|
|
10
|
+
getBorderClass: ({ colIndex, rowIndex, rowId }: Cell) => string;
|
|
11
|
+
handleMouseDown: ({ colIndex, rowIndex, rowId }: Cell) => void;
|
|
12
|
+
handleMouseOver: ({ colIndex, rowIndex, rowId }: Cell) => void;
|
|
17
13
|
handleMouseUp: () => void;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
isInitialFocusedCell: ({ rowIndex, colIndex, rowId }: Cell) => boolean;
|
|
15
|
+
isSelected: ({ colIndex, rowIndex, rowId }: Cell) => boolean;
|
|
16
|
+
selectedCells: Set<string>;
|
|
21
17
|
setSelectedCells: import("react").Dispatch<import("react").SetStateAction<Set<string>>>;
|
|
22
18
|
};
|
|
23
19
|
export default useSelection;
|
package/dist/index.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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 c,useLayoutEffect as s,createElement as d,Fragment as u,createRef as f,memo as h,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 m(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 p(e,n,r,t){return new(r||(r=Promise))((function(o,i){function a(e){try{c(t.next(e))}catch(e){i(e)}}function l(e){try{c(t.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?o(e.value):(n=e.value,n instanceof r?n:new r((function(e){e(n)}))).then(a,l)}c((t=t.apply(e,n||[])).next())}))}function w(e,n){var r,t,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=l(0),a.throw=l(1),a.return=l(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(c){return function(l){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(i=0)),i;)try{if(r=1,t&&(o=2&l[0]?t.return:l[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,l[1])).done)return o;switch(t=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,t=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=n.call(e,i)}catch(e){l=[6,e],t=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,c])}}}function R(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 C,b=function(r){var t=r.currentPage,o=r.hideFooter,i=r.nextIcon,a=r.onPageChange,l=r.onNextPage,c=r.onPreviousPage,s=r.prevIcon,d=r.shouldPaginate,u=r.totalPages;if(o||!d)return null;var f=!(t>1)&&!c,h=!(t<u)&&!l;return e("div",g({className:"st-footer"},{children:[n("button",g({className:"st-next-prev-btn ".concat(f?"disabled":""),onClick:function(){var e=t-1;e>=1&&a(e),c&&c(e-1)},disabled:f},{children:s})),n("button",g({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(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&&c&&c(e-1))},className:"st-page-btn ".concat(t===r+1?"active":"")},{children:r+1}),r)}))]}))},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:"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"})}))},H=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"})}))},M=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"})}))},D=40,I=function(e){return e.position*(e.rowHeight+1)-1},E=function(e){return e.position*(e.rowHeight+1)},S=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},k=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},N=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"}))]}))},L=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)}})},T=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)}})},O=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(L,{defaultValue:i,onBlur:l,onChange:a}):"boolean"==typeof i?n(N,{onBlur:l,onChange:a,value:i}):"number"==typeof i?n(T,{defaultValue:i,onBlur:l,onChange:a}):null})},B=0,W=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===B||o-B>=t)&&(B=o,n(r))}},A=Date.now(),P={screenX:0,screenY:0},z=function(e){var n,r,t=e.draggedHeaderRef,i=e.headersRef,l=e.hoveredHeaderRef,c=e.onColumnOrderChange,s=e.onTableHeaderDragEnd,d=(n=i.current,r=o(n),a((function(){r.current=n}),[n]),r.current);return{handleDragStart:function(e){t.current=e,A=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})),c=r.screenX,u=r.screenY,f=Math.sqrt(Math.pow(c-P.screenX,2)+Math.pow(u-P.screenY,2));l.current=o;var h=R([],i.current,!0),v=h.findIndex((function(e){var n;return e.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)})),g=h.findIndex((function(e){return e.accessor===o.accessor})),m=h.splice(v,1)[0];if(h.splice(g,0,m),!(a||o.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)||null===t.current||f<10||void 0===v||void 0===g||JSON.stringify(h)===JSON.stringify(i.current))){var p=Date.now();JSON.stringify(h)===JSON.stringify(d)&&p-A<800&&f<50||(A=p,P={screenX:c,screenY:u},s(h))}}},handleDragEnd:function(){t.current=null,l.current=null,null==c||c(i.current)}}},U=c((function(r,o){var i,l,c=r.borderClass,s=r.colIndex,d=r.draggedHeaderRef,u=r.header,f=r.headersRef,h=r.hoveredHeaderRef,v=r.isSelected,m=r.isTopLeftCell,p=r.onCellEdit,w=r.onExpandRowClick,R=r.onMouseDown,C=r.onMouseOver,b=r.onTableHeaderDragEnd,y=r.rowIndex,H=r.visibleRow,D=H.depth,I=H.row,E=t(I.rowData[u.accessor]),k=E[0],N=E[1],L=t(!1),T=L[0],B=L[1],A=z({draggedHeaderRef:d,headersRef:f,hoveredHeaderRef:h,onTableHeaderDragEnd:b}).handleDragOver,P=W(),U=Boolean(null===(l=null===(i=I.rowMeta)||void 0===i?void 0:i.children)||void 0===l?void 0:l.length),j=Boolean(null==u?void 0:u.isEditable),F=y%2==0,V="st-cell ".concat(D>0&&u.expandable?"st-cell-depth-".concat(D):""," ").concat(v?m?"st-cell-selected-first-cell ".concat(c):"st-cell-selected ".concat(c):""," ").concat(F?"st-cell-odd-row":"st-cell-even-row"," ").concat(j?"clickable":""," ").concat("right"===u.align?"right-aligned":"center"===u.align?"center-aligned":"left-aligned");return a((function(){N(I.rowData[u.accessor])}),[u.accessor,I]),T?n("div",g({className:"st-cell-editing ".concat(F?"st-cell-odd-row":"st-cell-even-row"),id:S({accessor:u.accessor,rowIndex:y+1})},{children:n(O,{onChange:function(e){N(e),null==p||p({accessor:u.accessor,newValue:e,row:I})},setIsEditing:B,value:k})})):e("div",g({className:V,id:S({accessor:u.accessor,rowIndex:y+1}),onDoubleClick:function(){return u.isEditable&&B(!0)},onMouseDown:function(){return R(y,s)},onMouseOver:function(){return C(y,s)},onDragOver:function(e){return P({callback:A,callbackProps:{event:e,hoveredHeader:u},limit:50})},ref:o},{children:[u.expandable&&U?I.rowMeta.isExpanded?n("div",g({className:"st-sort-icon-container",onClick:function(){return w(I.rowMeta.rowId)}},{children:n(M,{className:"st-sort-icon"})})):n("div",g({className:"st-sort-icon-container",onClick:function(){return w(I.rowMeta.rowId)}},{children:n(x,{className:"st-sort-icon"})})):null,n("span",g({className:"st-cell-content"},{children:u.cellRenderer?u.cellRenderer({accessor:u.accessor,colIndex:s,row:I}):k}))]}))})),j=function(e){var t=e.allowAnimations,o=e.children,i=m(e,["allowAnimations","children"]);return t?n(F,g({},i,{children:o})):n(r,{children:o})},F=function(e){var i=e.allowHorizontalAnimate,l=void 0===i||i,c=e.children,d=e.draggedHeaderRef,u=e.headersRef,f=e.isBody,h=e.mainBodyRef,v=e.pauseAnimation,g=e.rowIndex,m=o(!1),p=t({}),w=p[0],R=p[1],C=o({}),b=u.current;return s((function(){if(b){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(S({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:b,draggedHeaderRef:d,rowIndex:g});JSON.stringify(e)!==JSON.stringify(w)&&(C.current=w,R(e))}}),[w,b,d,f,g]),s((function(){var e=h.current,n=function(){m.current=!0},r=function(){m.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)}}),[d,h]),a((function(){v||m.current||Object.keys(C.current).length&&b&&b.forEach((function(e){var n=document.getElementById(S({accessor:e.accessor,rowIndex:g}));if(n){var r=C.current[e.accessor],t=w[e.accessor];if(r&&t){var o=r.left-t.left,i=l?0:r.top-t.top,a=Math.abs(o),c=Math.abs(i);(a>10||c>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,w,b,f,v,C,g]),n(r,{children:c})},V=function(e){var r=e.getBorderClass,t=e.handleMouseDown,o=e.handleMouseOver,i=e.headers,a=e.hiddenColumns,l=e.isSelected,c=e.isTopLeftCell,s=e.onExpandRowClick,u=e.pinned,f=e.rowIndex,h=e.visibleRow,v=m(e,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isSelected","isTopLeftCell","onExpandRowClick","pinned","rowIndex","visibleRow"]);return n(j,g({allowAnimations:v.allowAnimations,allowHorizontalAnimate:v.shouldPaginate,draggedHeaderRef:v.draggedHeaderRef,headersRef:v.headersRef,isBody:!0,mainBodyRef:v.mainBodyRef,pauseAnimation:v.isWidthDragging,rowIndex:f+1},{children:i.map((function(e,n){return k({hiddenColumns:a,header:e,pinned:u})?d(U,g({},v,{borderClass:r(f,n),colIndex:n,header:e,isSelected:l(f,n),isTopLeftCell:c(f,n),key:S({accessor:e.accessor,rowIndex:f+1}),onExpandRowClick:s,onMouseDown:function(){return t({rowIndex:f,colIndex:n})},onMouseOver:function(){return o(f,n)},rowIndex:f,visibleRow:h})):null}))}))},J=function(e){var r=e.getNextRowIndex,t=e.gridTemplateColumns,o=e.index,i=e.pinned,a=e.props,l=e.rowHeight,c=e.visibleRow,s=c.position,d=r();return n("div",g({className:"st-table-row",style:{gridTemplateColumns:t,top:E({position:s,rowHeight:l}),height:"".concat(l,"px")}},{children:n(V,g({pinned:i,rowIndex:d,visibleRow:c},a),o)}))},X=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:I({position:t,rowHeight:o}),minWidth:"100%"}},{children:n("div",{style:{gridColumn:"1 / -1"}})}))},K=function(r){r.headerContainerRef;var t=r.onExpandRowClick,i=r.pinned,l=r.rowHeight,c=r.sectionRef,s=r.templateColumns,d=r.totalHeight,f=r.visibleRows,h=r.width,v=m(r,["headerContainerRef","onExpandRowClick","pinned","rowHeight","sectionRef","templateColumns","totalHeight","visibleRows","width"]),p=i?"st-table-body-pinned-".concat(i):"st-table-body-main",w=o(0);a((function(){w.current=0}));var R=function(){return w.current++};return n("div",g({className:p,ref:c,style:{position:"relative",height:"".concat(d,"px"),width:h}},{children:f.map((function(r,o){var a,c,d=Boolean(null===(c=null===(a=r.row.rowMeta)||void 0===a?void 0:a.children)||void 0===c?void 0:c.length);return e(u,{children:[n(J,{getNextRowIndex:R,gridTemplateColumns:s,index:o,pinned:i,props:g(g({},v),{onExpandRowClick:t}),rowHeight:l,visibleRow:r}),0!==o&&n(X,{lastGroupRow:d,position:r.position,rowHeight:l,templateColumns:s})]},o)}))}))},q=function(r){var c,s,d,u,f,h=r.centerHeaderRef,v=r.currentRows,m=r.headerContainerRef,C=r.mainBodyRef,b=r.mainTemplateColumns,y=r.pinnedLeftColumns,x=r.pinnedLeftHeaderRef,H=r.pinnedLeftRef,M=r.pinnedLeftTemplateColumns,I=r.pinnedRightColumns,E=r.pinnedRightHeaderRef,S=r.pinnedRightRef,k=r.pinnedRightTemplateColumns,N=r.scrollbarWidth,L=r.tableBodyContainerRef;!function(e){var n=e.headerContainerRef,r=e.mainSectionRef,o=e.scrollbarWidth,i=t(!1),l=i[0],c=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;c(e)}};o();var i=new ResizeObserver((function(){o()}));return i.observe(t),function(){t&&i.unobserve(t)}}}),[n,r])}({headerContainerRef:m,mainSectionRef:L,scrollbarWidth:N});var T=o(null),O=o(null),B=t(v),W=B[0],A=B[1],P=t(1),z=P[0],U=P[1],j=t(!1),F=j[0],V=j[1],J=t(!0),X=J[0],q=J[1],G=t(0),Y=G[0],$=G[1];a((function(){A(v)}),[v]);var _=function(e){var n=0,r=function(e){e.forEach((function(e){n+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&r(e.rowMeta.children)}))};return r(e),n}(W),Q=41*_-1,Z=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};A((function(e){return e.map(n)}))},ee=l((function(){return function(e){var n=e.bufferRowCount,r=e.containerHeight,t=e.rowHeight,o=e.rows,i=e.scrollTop,a=[],l=0,c=Math.max(0,i-t*n),s=i+r+t*n,d=function(e,n){for(var r,o=0,i=e;o<i.length;o++){var u=i[o],f=l*t;if(f>=s)break;f+t>c&&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&&d(u.rowMeta.children,n+1)}};return d(o,0),a}({bufferRowCount:5,containerHeight:600,rowHeight:D,rows:W,scrollTop:Y})}),[W,Y]),ne=i((function(){return p(void 0,void 0,void 0,(function(){var e;return w(this,(function(n){return F||!X||(V(!0),e=v.slice(20*z,20*(z+1)),A((function(n){return R(R([],n,!0),e,!0)})),U((function(e){return e+1})),V(!1),e.length<20/3&&q(!1)),[2]}))}))}),[v,X,F,z]),re=i((function(e){e[0].isIntersecting&&X&&!F&&ne()}),[X,F,ne]);a((function(){return T.current=new IntersectionObserver(re,{root:null,rootMargin:"100px",threshold:0}),L.current&&T.current.observe(L.current),function(){T.current&&T.current.disconnect()}}),[re,W,L]);var te=(null===(c=x.current)||void 0===c?void 0:c.clientWidth)?(null===(s=x.current)||void 0===s?void 0:s.clientWidth)+1:0,oe=null===(d=h.current)||void 0===d?void 0:d.clientWidth,ie=(null===(u=E.current)||void 0===u?void 0:u.clientWidth)?(null===(f=E.current)||void 0===f?void 0:f.clientWidth)+1:0;return e("div",g({className:"st-table-body-container",ref:L,onScroll:function(e){var n=e.currentTarget.scrollTop;O.current&&cancelAnimationFrame(O.current),O.current=requestAnimationFrame((function(){$(n)}))}},{children:[y.length>0&&n(K,g({},r,{onExpandRowClick:Z,pinned:"left",rowHeight:D,sectionRef:H,templateColumns:M,totalHeight:Q,visibleRows:ee,width:te})),n(K,g({},r,{onExpandRowClick:Z,rowHeight:D,sectionRef:C,templateColumns:b,totalHeight:Q,visibleRows:ee,width:oe})),I.length>0&&n(K,g({},r,{onExpandRowClick:Z,pinned:"right",rowHeight:D,sectionRef:S,templateColumns:k,totalHeight:Q,visibleRows:ee,width:ie}))]}))},G={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 G.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?G.string(e,n,r):"number"==typeof e&&"number"==typeof n?G.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?G.boolean(e,n,r):G.string(String(e),String(n),r)}},Y=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 G.number(i,a,t)}return"date"===r?G.date(String(e),String(n),t):"boolean"===r?G.boolean(Boolean(e),Boolean(n),t):"enum"===r?G.enum(String(e),String(n),t):G.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,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(a.size)).toString();c=t,l.set(c,e),a.has(c)||a.set(c,[])}else if(c){var o=a.get(c)||[];o.push(e),a.set(c,o)}else{var i="default";a.has(i)||a.set(i,[]),null===(r=a.get(i))||void 0===r||r.push(e)}}));var s=[];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)),s.push(a)}var c=R([],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 Y(a,l,o,i)}));s.push.apply(s,c.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})))})),s},_=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 R([],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 Y(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.event,r=e.forceUpdate,t=e.header,o=e.headersRef,i=e.index;e.reverse;var a=e.setIsWidthDragging,l=e.startWidth;a(!0),n.preventDefault();var c=n.clientX;if(t){var s=function(e){var n=Math.max(l+(e.clientX-c),40);t&&o.current&&(o.current[i].width=n,r())},d=function(){document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",d),a(!1)};document.addEventListener("mousemove",s),document.addEventListener("mouseup",d)}},Z=c((function(r,o){var i,l=r.columnResizing,c=r.currentRows,s=r.columnReordering,d=r.draggedHeaderRef,u=r.forceUpdate,f=r.headersRef,h=r.hoveredHeaderRef,v=r.index,m=r.onColumnOrderChange,p=r.onSort,w=r.onTableHeaderDragEnd,R=r.reverse,C=r.rowHeight,b=r.selectableColumns,y=r.setIsWidthDragging,x=r.setSelectedCells,H=r.sort,M=r.sortDownIcon,D=r.sortUpIcon,I=t(!1),E=I[0],k=I[1],N=null===(i=f.current)||void 0===i?void 0:i[v],L=Boolean(null==N?void 0:N.isSortable),T="st-header-cell ".concat(N===h.current?"st-hovered":""," ").concat(E?"st-dragging":""," ").concat(L?"clickable":""," ").concat(s&&!L?"columnReordering":""," ").concat("right"===(null==N?void 0:N.align)?"right-aligned":"center"===(null==N?void 0:N.align)?"center-aligned":""),O=z({draggedHeaderRef:d,headersRef:f,hoveredHeaderRef:h,onColumnOrderChange:m,onTableHeaderDragEnd:w}),B=O.handleDragStart,A=O.handleDragEnd,P=O.handleDragOver,U=W(),j=function(e){var n=e.event,r=e.header;if(b){var t=c.length,o=Array.from({length:t},(function(e,n){return"".concat(n,"-").concat(v)})),i=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("".concat(n,"-").concat(o+t))}))})),r};n.shiftKey?x((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)})):x(new Set(o))}else r.isSortable&&p(v,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)}}),[]),!N)return null;var F=l&&n("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;U({callback:Q,callbackProps:{event:e,forceUpdate:u,header:N,headersRef:f,index:v,setIsWidthDragging:y,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),V=H&&H.key.accessor===N.accessor&&e("div",g({className:"st-sort-icon-container",onClick:function(e){return j({event:e,header:N})}},{children:["ascending"===H.direction&&D&&D,"descending"===H.direction&&M&&M]}));return e("div",g({className:T,id:S({accessor:N.accessor,rowIndex:0}),onDragOver:function(e){U({callback:P,callbackProps:{event:e,hoveredHeader:N},limit:50})},ref:o,style:{width:N.width,height:C}},{children:[R&&F,e("div",g({className:"st-header-label ".concat("right"===N.align?"right-aligned":""),draggable:s,onClick:function(e){return j({event:e,header:N})},onDragEnd:function(e){e.preventDefault(),k(!1),A()},onDragStart:function(e){s&&N&&function(e){k(!0),B(e)}(N)}},{children:["right"===N.align&&V,null==N?void 0:N.label,"right"!==N.align&&V]})),!R&&F]}))})),ee=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])},ne=function(r){var t,o,i,a=r.allowAnimations,l=r.centerHeaderRef,c=r.columnResizing,s=r.currentRows,d=r.columnReordering,u=r.draggedHeaderRef,h=r.forceUpdate,v=r.headerContainerRef,m=r.headersRef,p=r.hiddenColumns,w=r.hoveredHeaderRef,R=r.isWidthDragging,C=r.mainBodyRef,b=r.mainTemplateColumns,y=r.onColumnOrderChange,x=r.onSort,H=r.onTableHeaderDragEnd,M=r.pinnedLeftColumns,I=r.pinnedLeftHeaderRef,E=r.pinnedLeftTemplateColumns,S=r.pinnedRightColumns,N=r.pinnedRightHeaderRef,L=r.pinnedRightTemplateColumns,T=r.selectableColumns,O=r.setIsWidthDragging,B=r.setSelectedCells,W=r.sort,A=r.sortDownIcon,P=r.sortUpIcon;ee(C,l);return e("div",g({className:"st-header-container",ref:v},{children:[M.length>0&&n("div",g({className:"st-header-pinned-left",ref:I,style:{gridTemplateColumns:E}},{children:n(j,g({allowAnimations:a,draggedHeaderRef:u,headersRef:m,mainBodyRef:C,pauseAnimation:R,rowIndex:0},{children:null===(t=m.current)||void 0===t?void 0:t.map((function(e,r){return k({hiddenColumns:p,header:e,pinned:"left"})?n(Z,{columnResizing:c,currentRows:s,columnReordering:d,draggedHeaderRef:u,forceUpdate:h,headersRef:m,hoveredHeaderRef:w,index:r,onColumnOrderChange:y,onSort:x,onTableHeaderDragEnd:H,ref:f(),rowHeight:D,selectableColumns:T,setIsWidthDragging:O,setSelectedCells:B,sort:W,sortDownIcon:A,sortUpIcon:P},e.accessor):null}))}))})),n("div",g({className:"st-header-main",onScroll:function(e){var n,r,t=null===(n=l.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=C.current)||void 0===r||r.scrollTo(t,0))},ref:l,style:{gridTemplateColumns:b}},{children:n(j,g({allowAnimations:a,draggedHeaderRef:u,headersRef:m,mainBodyRef:C,pauseAnimation:R,rowIndex:0},{children:null===(o=m.current)||void 0===o?void 0:o.map((function(e,r){return k({hiddenColumns:p,header:e})?n(Z,{columnResizing:c,currentRows:s,columnReordering:d,draggedHeaderRef:u,forceUpdate:h,headersRef:m,hoveredHeaderRef:w,index:r,onColumnOrderChange:y,onSort:x,onTableHeaderDragEnd:H,ref:f(),rowHeight:D,selectableColumns:T,setIsWidthDragging:O,setSelectedCells:B,sort:W,sortDownIcon:A,sortUpIcon:P},e.accessor):null}))}))})),S.length>0&&n("div",g({className:"st-header-pinned-right",ref:N,style:{gridTemplateColumns:L}},{children:n(j,g({allowAnimations:a,draggedHeaderRef:u,headersRef:m,mainBodyRef:C,pauseAnimation:R,rowIndex:0},{children:null===(i=m.current)||void 0===i?void 0:i.map((function(e,r){return k({hiddenColumns:p,header:e,pinned:"right"})?n(Z,{columnResizing:c,currentRows:s,columnReordering:d,draggedHeaderRef:u,forceUpdate:h,headersRef:m,hoveredHeaderRef:w,index:r,onColumnOrderChange:y,onSort:x,onTableHeaderDragEnd:H,reverse:!0,ref:f(),rowHeight:D,selectableColumns:T,setIsWidthDragging:O,setSelectedCells:B,sort:W,sortDownIcon:A,sortUpIcon:P},e.accessor):null}))}))}))]}))},re=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},te=function(r){var t=r.allowAnimations,i=r.columnResizing,a=r.currentRows,c=r.columnReordering,s=r.draggedHeaderRef,d=r.editColumns,u=r.forceUpdate,f=r.getBorderClass,h=r.handleMouseDown,v=r.handleMouseOver,m=r.headersRef,p=r.hiddenColumns,w=r.hoveredHeaderRef,R=r.isSelected,C=r.isTopLeftCell,b=r.isWidthDragging,y=r.mainBodyRef,x=r.onCellEdit,H=r.onColumnOrderChange,M=r.onSort,D=r.onTableHeaderDragEnd,I=r.pinnedLeftRef,E=r.pinnedRightRef,S=r.scrollbarWidth,k=r.selectableColumns,N=r.setIsWidthDragging,L=r.setSelectedCells,T=r.shouldPaginate,O=r.sort,B=r.sortDownIcon,W=r.sortUpIcon,A=r.tableBodyContainerRef,P=o(null),z=o(null),U=o(null),j=o(null),F=m.current.filter((function(e){return!e.hide&&!e.pinned})),V=m.current.filter((function(e){return"left"===e.pinned&&!0!==e.hide})),J=m.current.filter((function(e){return"right"===e.pinned&&!0!==e.hide})),X=l((function(){return"".concat(V.map((function(e){return re(e)})).join(" "))}),[V]),K=l((function(){return"".concat(F.filter((function(e){return!0!==p[e.accessor]})).map((function(e){return re(e)})).join(" "))}),[F,p]),G=l((function(){return"".concat(J.map((function(e){return re(e)})).join(" "))}),[J]),Y={allowAnimations:t,centerHeaderRef:U,columnResizing:i,currentRows:a,columnReordering:c,draggedHeaderRef:s,forceUpdate:u,headerContainerRef:P,headersRef:m,hiddenColumns:p,hoveredHeaderRef:w,isWidthDragging:b,mainBodyRef:y,mainTemplateColumns:K,onColumnOrderChange:H,onSort:M,onTableHeaderDragEnd:D,pinnedLeftColumns:V,pinnedLeftHeaderRef:z,pinnedLeftTemplateColumns:X,pinnedRightColumns:J,pinnedRightHeaderRef:j,pinnedRightTemplateColumns:G,selectableColumns:k,setIsWidthDragging:N,setSelectedCells:L,sort:O,sortDownIcon:B,sortUpIcon:W,tableBodyContainerRef:A},$={allowAnimations:t,centerHeaderRef:U,currentRows:a,draggedHeaderRef:s,getBorderClass:f,handleMouseDown:h,handleMouseOver:v,headerContainerRef:P,headers:m.current,headersRef:m,hiddenColumns:p,hoveredHeaderRef:w,isSelected:R,isTopLeftCell:C,isWidthDragging:b,mainBodyRef:y,mainTemplateColumns:K,onCellEdit:x,onTableHeaderDragEnd:D,pinnedLeftColumns:V,pinnedLeftHeaderRef:z,pinnedLeftRef:I,pinnedLeftTemplateColumns:X,pinnedRightColumns:J,pinnedRightHeaderRef:j,pinnedRightRef:E,pinnedRightTemplateColumns:G,scrollbarWidth:S,shouldPaginate:T,tableBodyContainerRef:A};return e("div",g({className:"st-table-content",style:{width:d?"calc(100% - 27.5px)":"100%"}},{children:[n(ne,g({},Y)),n(q,g({},$))]}))},oe=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])},ie=function(r){var i=r.mainBodyRef,a=r.pinnedLeftRef,l=r.pinnedRightRef,c=r.tableContentWidth,s=t(0),d=s[0],u=s[1],f=t(0),h=f[0],v=f[1],m=t(0),p=m[0],w=m[1],R=o(null);return oe({widthAttribute:"offsetWidth",callback:u,ref:a}),oe({widthAttribute:"scrollWidth",callback:w,ref:i}),oe({widthAttribute:"offsetWidth",callback:v,ref:l}),ee(i,R),!i.current||i.current.scrollWidth<=i.current.clientWidth?null:e("div",g({className:"st-horizontal-scrollbar-container",style:{width:c}},{children:[d>0&&n("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:d}}),p>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:p}})})),h>0&&n("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:h}})]}))},ae=function(e){var n=e.headers,r=e.tableRows,o=t(null),i=o[0],a=o[1],c=l((function(){var e={};return n.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[n]),s=t(c),d=s[0],u=s[1],f=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:f,hiddenColumns:d,setHiddenColumns:u}},le=function(r){var o=r.checked,i=void 0!==o&&o,a=r.children,l=r.onChange,c=t(i),s=c[0],d=c[1];return e("label",g({className:"st-checkbox-label"},{children:[n("input",{checked:s,className:"st-checkbox-input",onChange:function(){var e=!s;d(e),l&&l(e)},type:"checkbox"}),n("span",g({className:"st-checkbox-custom ".concat(s?"st-checked":"")},{children:s&&n("span",{className:"st-checkbox-checkmark"})})),a]}))},ce=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(le,g({checked:a[e.accessor],onChange:function(n){var r;return i(g(g({},a),((r={})[e.accessor]=n,r)))}},{children:e.label}),r)}))}))}))},se=function(r){var o=r.columnEditorText,i=r.editColumns,a=r.editColumnsInitOpen,l=r.headers,c=r.position,s=void 0===c?"right":c,d=r.setHiddenColumns,u=r.hiddenColumns,f=t(a),h=f[0],v=f[1];return i?e("div",g({className:"st-column-editor ".concat(h?"open":""," ").concat(s),onClick:function(){return function(e){v(e)}(!h)}},{children:[n("div",g({className:"st-column-editor-text"},{children:o})),n(ce,{headers:l,open:h,position:s,setOpen:v,setHiddenColumns:d,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(C||(C={}));var de=h((function(r){var c=r.allowAnimations,d=void 0!==c&&c,u=r.columnEditorPosition,f=void 0===u?C.Right:u,h=r.columnEditorText,m=void 0===h?"Columns":h,p=r.columnResizing,w=void 0!==p&&p,R=r.defaultHeaders,D=r.editColumns,I=void 0!==D&&D,E=r.editColumnsInitOpen,S=void 0!==E&&E,k=r.columnReordering,N=void 0!==k&&k,L=r.height,T=r.hideFooter,O=void 0!==T&&T,B=r.nextIcon,W=void 0===B?n(x,{className:"st-next-prev-icon"}):B,A=r.onCellEdit,P=r.onColumnOrderChange,z=r.onNextPage,U=r.onPreviousPage,j=r.prevIcon,F=void 0===j?n(y,{className:"st-next-prev-icon"}):j,V=r.rows,J=r.rowsPerPage,X=void 0===J?10:J,K=r.selectableCells,q=void 0!==K&&K,G=r.selectableColumns,Y=void 0!==G&&G,$=r.shouldPaginate,_=void 0!==$&&$,Q=r.sortDownIcon,Z=void 0===Q?n(M,{className:"st-sort-icon"}):Q,ee=r.sortUpIcon,ne=void 0===ee?n(H,{className:"st-sort-icon"}):ee,re=r.theme,oe=void 0===re?"light":re,le=r.totalPages,ce=o(null),de=o(R),ue=o(null),fe=o(null),he=o(null),ve=o(null),ge=o(null),me=t(!1),pe=me[0],we=me[1],Re=t(1),Ce=Re[0],be=Re[1],ye=t(0),xe=ye[0],He=ye[1],Me=t(0),De=Me[0],Ie=Me[1],Ee=ae({headers:de.current,tableRows:V}),Se=Ee.sort,ke=Ee.sortedRows,Ne=Ee.hiddenColumns,Le=Ee.setHiddenColumns,Te=Ee.updateSort,Oe=v((function(e){return e+1}),0)[1],Be=function(e){var n=e.selectableCells,r=e.headers,c=e.rows,s=t(new Set),d=s[0],u=s[1],f=o(!1),h=o(null),v=i((function(){var e=Array.from(d).reduce((function(e,n){var t=n.split("-").map(Number),o=t[0],i=t[1];return e[o]||(e[o]=[]),e[o][i]=c[o][r[i].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");d.size>0&&navigator.clipboard.writeText(n)}),[d,c,r]);a((function(){var e=function(e){(e.ctrlKey||e.metaKey)&&"c"===e.key&&v()};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[v]);var g=i((function(e,n){return d.has("".concat(e,"-").concat(n))}),[d]),m=i((function(e,n){var r=[];return g(e-1,n)||r.push("st-selected-top-border"),g(e+1,n)||r.push("st-selected-bottom-border"),g(e,n-1)||r.push("st-selected-left-border"),g(e,n+1)||r.push("st-selected-right-border"),r.join(" ")}),[g]),p=l((function(){var e=Math.min.apply(Math,Array.from(d).map((function(e){return parseInt(e.split("-")[0])}))),n=Math.min.apply(Math,Array.from(d).map((function(e){return parseInt(e.split("-")[1])})));return function(r,t){return r===e&&t===n}}),[d]);return{selectedCells:d,handleMouseDown:function(e){var r=e.colIndex,t=e.rowIndex;n&&(f.current=!0,h.current={row:t,col:r},u(new Set(["".concat(t,"-").concat(r)])))},handleMouseOver:function(e,r){if(n&&f.current&&h.current){for(var t=new Set,o=Math.min(h.current.row,e),i=Math.max(h.current.row,e),a=Math.min(h.current.col,r),l=Math.max(h.current.col,r),c=o;c<=i;c++)for(var s=a;s<=l;s++)t.add("".concat(c,"-").concat(s));u(t)}},handleMouseUp:function(){f.current=!1,h.current=null},isSelected:g,getBorderClass:m,isTopLeftCell:p,setSelectedCells:u}}({selectableCells:q,headers:de.current,rows:ke}),We=Be.handleMouseDown,Ae=Be.handleMouseOver,Pe=Be.handleMouseUp,ze=Be.isSelected,Ue=Be.getBorderClass,je=Be.isTopLeftCell,Fe=Be.setSelectedCells,Ve=l((function(){return _?ke.slice((Ce-1)*X,Ce*X):ke}),[Ce,X,_,ke]),Je=i((function(e,n){Te(e,n)}),[Te]),Xe=i((function(e){de.current=e,Oe()}),[]);return a((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||Y&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||Fe(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[Y,Fe]),s((function(){if(ge.current){var e=ge.current.offsetWidth-ge.current.clientWidth,n=ge.current.clientWidth;He(e),Ie(n)}}),[]),s((function(){var e=function(){if(Oe(),ge.current){var e=ge.current.offsetWidth-ge.current.clientWidth,n=ge.current.clientWidth;He(e),Ie(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),e("div",g({className:"simple-table-root st-wrapper theme-".concat(oe),style:L?{height:L}:{}},{children:[e("div",g({className:"st-table-wrapper-container"},{children:[e("div",g({className:"st-table-wrapper",onMouseUp:Pe,onMouseLeave:Pe},{children:[n(te,{allowAnimations:d,columnResizing:w,currentRows:Ve,draggedHeaderRef:ce,editColumns:I,columnReordering:N,forceUpdate:Oe,getBorderClass:Ue,handleMouseDown:We,handleMouseOver:Ae,headers:de.current,headersRef:de,hiddenColumns:Ne,hoveredHeaderRef:ue,isSelected:ze,isTopLeftCell:je,isWidthDragging:pe,mainBodyRef:fe,onCellEdit:A,onColumnOrderChange:P,onSort:Je,onTableHeaderDragEnd:Xe,pinnedLeftRef:he,pinnedRightRef:ve,scrollbarWidth:xe,selectableColumns:Y,setIsWidthDragging:we,setSelectedCells:Fe,shouldPaginate:_,sort:Se,sortDownIcon:Z,sortUpIcon:ne,tableBodyContainerRef:ge}),n(se,{columnEditorText:m,editColumns:I,editColumnsInitOpen:S,headers:de.current,hiddenColumns:Ne,position:f,setHiddenColumns:Le})]})),n(ie,{mainBodyRef:fe,pinnedLeftRef:he,pinnedRightRef:ve,tableContentWidth:De})]})),n(b,{currentPage:Ce,hideFooter:O,nextIcon:W,onPageChange:be,onNextPage:z,onPreviousPage:U,prevIcon:F,shouldPaginate:_,totalPages:le||Math.ceil(ke.length/X)})]}))}));export{de 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 c,useLayoutEffect as d,createElement as s,Fragment as u,createRef as f,memo as h,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,t){return new(r||(r=Promise))((function(o,i){function a(e){try{c(t.next(e))}catch(e){i(e)}}function l(e){try{c(t.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?o(e.value):(n=e.value,n instanceof r?n:new r((function(e){e(n)}))).then(a,l)}c((t=t.apply(e,n||[])).next())}))}function p(e,n){var r,t,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=l(0),a.throw=l(1),a.return=l(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(c){return function(l){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(i=0)),i;)try{if(r=1,t&&(o=2&l[0]?t.return:l[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,l[1])).done)return o;switch(t=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,t=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=n.call(e,i)}catch(e){l=[6,e],t=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,c])}}}function R(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,b=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,c=r.onPreviousPage,d=r.prevIcon,s=r.shouldPaginate,u=r.totalPages;if(o||!s)return null;var f=!(t>1)&&!c,h=!(t<u)&&!l;return e("div",g({className:"st-footer"},{children:[n("button",g({className:"st-next-prev-btn ".concat(f?"disabled":""),onClick:function(){var e=t-1;e>=1&&a(e),c&&c(e-1)},disabled:f},{children:d})),n("button",g({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(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&&c&&c(e-1))},className:"st-page-btn ".concat(t===r+1?"active":"")},{children:r+1}),r)}))]}))},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:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})}))},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:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},M=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"})}))},H=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"})}))},D=40,S=function(e){return e.position*(e.rowHeight+1)-1},E=function(e){return e.position*(e.rowHeight+1)},k=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},N=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},T=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"}))]}))},O=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)}})},L=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)}})},B=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(O,{defaultValue:i,onBlur:l,onChange:a}):"boolean"==typeof i?n(T,{onBlur:l,onChange:a,value:i}):"number"==typeof i?n(L,{defaultValue:i,onBlur:l,onChange:a}):null})},W=0,A=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))}},P=Date.now(),z={screenX:0,screenY:0},U=function(e){var n,r,t=e.draggedHeaderRef,i=e.headersRef,l=e.hoveredHeaderRef,c=e.onColumnOrderChange,d=e.onTableHeaderDragEnd,s=(n=i.current,r=o(n),a((function(){r.current=n}),[n]),r.current);return{handleDragStart:function(e){t.current=e,P=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})),c=r.screenX,u=r.screenY,f=Math.sqrt(Math.pow(c-z.screenX,2)+Math.pow(u-z.screenY,2));l.current=o;var h=R([],i.current,!0),v=h.findIndex((function(e){var n;return e.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)})),g=h.findIndex((function(e){return e.accessor===o.accessor})),w=h.splice(v,1)[0];if(h.splice(g,0,w),!(a||o.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)||null===t.current||f<10||void 0===v||void 0===g||JSON.stringify(h)===JSON.stringify(i.current))){var m=Date.now();JSON.stringify(h)===JSON.stringify(s)&&m-P<800&&f<50||(P=m,z={screenX:c,screenY:u},d(h))}}},handleDragEnd:function(){t.current=null,l.current=null,null==c||c(i.current)}}},F=c((function(r,o){var i,l,c=r.borderClass,d=r.colIndex,s=r.draggedHeaderRef,u=r.header,f=r.headersRef,h=r.hoveredHeaderRef,v=r.isSelected,w=r.isInitialFocusedCell,m=r.onCellEdit,p=r.onExpandRowClick,R=r.onMouseDown,I=r.onMouseOver,b=r.onTableHeaderDragEnd,C=r.rowIndex,x=r.visibleRow,M=x.depth,D=x.row,S=t(D.rowData[u.accessor]),E=S[0],N=S[1],T=t(!1),O=T[0],L=T[1],W=U({draggedHeaderRef:s,headersRef:f,hoveredHeaderRef:h,onTableHeaderDragEnd:b}).handleDragOver,P=A(),z="cell-".concat(C,"-").concat(d),F=Boolean(null===(l=null===(i=D.rowMeta)||void 0===i?void 0:i.children)||void 0===l?void 0:l.length),j=Boolean(null==u?void 0:u.isEditable),K=C%2==0,V="st-cell ".concat(M>0&&u.expandable?"st-cell-depth-".concat(M):""," ").concat(v?w?"st-cell-selected-first-cell ".concat(c):"st-cell-selected ".concat(c):""," ").concat(K?"st-cell-odd-row":"st-cell-even-row"," ").concat(j?"clickable":""," ").concat("right"===u.align?"right-aligned":"center"===u.align?"center-aligned":"left-aligned");a((function(){N(D.rowData[u.accessor])}),[u.accessor,D]);return O?n("div",g({className:"st-cell-editing ".concat(K?"st-cell-odd-row":"st-cell-even-row"),id:k({accessor:u.accessor,rowIndex:C+1})},{children:n(B,{onChange:function(e){N(e),null==m||m({accessor:u.accessor,newValue:e,row:D})},setIsEditing:L,value:E})})):e("div",g({className:V,id:z,onDoubleClick:function(){return u.isEditable&&L(!0)},onMouseDown:function(){return R({rowIndex:C,colIndex:d,rowId:D.rowMeta.rowId})},onMouseOver:function(){return I({rowIndex:C,colIndex:d,rowId:D.rowMeta.rowId})},onDragOver:function(e){return P({callback:W,callbackProps:{event:e,hoveredHeader:u},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!u.isEditable||O||(e.preventDefault(),L(!0))},ref:o,"data-row-index":C,"data-col-index":d,"aria-selected":v},{children:[u.expandable&&F?D.rowMeta.isExpanded?n("div",g({className:"st-sort-icon-container",onClick:function(){return p(D.rowMeta.rowId)}},{children:n(H,{className:"st-sort-icon"})})):n("div",g({className:"st-sort-icon-container",onClick:function(){return p(D.rowMeta.rowId)}},{children:n(y,{className:"st-sort-icon"})})):null,n("span",g({className:"st-cell-content"},{children:u.cellRenderer?u.cellRenderer({accessor:u.accessor,colIndex:d,row:D}):E}))]}))})),j=function(e){var t=e.allowAnimations,o=e.children,i=w(e,["allowAnimations","children"]);return t?n(K,g({},i,{children:o})):n(r,{children:o})},K=function(e){var i=e.allowHorizontalAnimate,l=void 0===i||i,c=e.children,s=e.draggedHeaderRef,u=e.headersRef,f=e.isBody,h=e.mainBodyRef,v=e.pauseAnimation,g=e.rowIndex,w=o(!1),m=t({}),p=m[0],R=m[1],I=o({}),b=u.current;return d((function(){if(b){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(k({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:b,draggedHeaderRef:s,rowIndex:g});JSON.stringify(e)!==JSON.stringify(p)&&(I.current=p,R(e))}}),[p,b,s,f,g]),d((function(){var e=h.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,h]),a((function(){v||w.current||Object.keys(I.current).length&&b&&b.forEach((function(e){var n=document.getElementById(k({accessor:e.accessor,rowIndex:g}));if(n){var r=I.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),c=Math.abs(i);(a>10||c>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,b,f,v,I,g]),n(r,{children:c})},V=function(e){var r=e.getBorderClass,t=e.handleMouseDown,o=e.handleMouseOver,i=e.headers,a=e.hiddenColumns,l=e.isSelected,c=e.isInitialFocusedCell,d=e.onExpandRowClick,u=e.pinned,f=e.rowIndex,h=e.visibleRow,v=w(e,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isSelected","isInitialFocusedCell","onExpandRowClick","pinned","rowIndex","visibleRow"]);return n(j,g({allowAnimations:v.allowAnimations,allowHorizontalAnimate:v.shouldPaginate,draggedHeaderRef:v.draggedHeaderRef,headersRef:v.headersRef,isBody:!0,mainBodyRef:v.mainBodyRef,pauseAnimation:v.isWidthDragging,rowIndex:f+1},{children:i.map((function(e,n){return N({hiddenColumns:a,header:e,pinned:u})?s(F,g({},v,{borderClass:r({rowIndex:f,colIndex:n,rowId:h.row.rowMeta.rowId}),colIndex:n,header:e,isSelected:l({rowIndex:f,colIndex:n,rowId:h.row.rowMeta.rowId}),isInitialFocusedCell:c({rowIndex:f,colIndex:n,rowId:h.row.rowMeta.rowId}),key:k({accessor:e.accessor,rowIndex:f+1}),onExpandRowClick:d,onMouseDown:function(){return t({rowIndex:f,colIndex:n,rowId:h.row.rowMeta.rowId})},onMouseOver:function(){return o({rowIndex:f,colIndex:n,rowId:h.row.rowMeta.rowId})},rowIndex:f,visibleRow:h})):null}))}))},J=function(e){var r=e.getNextRowIndex,t=e.gridTemplateColumns,o=e.index,i=e.pinned,a=e.props,l=e.rowHeight,c=e.visibleRow,d=c.position,s=r();return n("div",g({className:"st-table-row",style:{gridTemplateColumns:t,top:E({position:d,rowHeight:l}),height:"".concat(l,"px")}},{children:n(V,g({pinned:i,rowIndex:s,visibleRow:c},a),o)}))},X=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:S({position:t,rowHeight:o}),minWidth:"100%"}},{children:n("div",{style:{gridColumn:"1 / -1"}})}))},q=function(r){r.headerContainerRef;var t=r.onExpandRowClick,i=r.pinned,l=r.rowHeight,c=r.sectionRef,d=r.templateColumns,s=r.totalHeight,f=r.visibleRows,h=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:c,style:{position:"relative",height:"".concat(s,"px"),width:h}},{children:f.map((function(r,o){var a,c,s=Boolean(null===(c=null===(a=r.row.rowMeta)||void 0===a?void 0:a.children)||void 0===c?void 0:c.length);return e(u,{children:[n(J,{getNextRowIndex:R,gridTemplateColumns:d,index:o,pinned:i,props:g(g({},v),{onExpandRowClick:t,visibleRows:f}),rowHeight:l,visibleRow:r}),0!==o&&n(X,{lastGroupRow:s,position:r.position,rowHeight:l,templateColumns:d})]},o)}))}))},G=function(r){var l,c,d,s,u,f=r.centerHeaderRef,h=r.currentRows,v=r.headerContainerRef,w=r.mainBodyRef,I=r.mainTemplateColumns,b=r.pinnedLeftColumns,C=r.pinnedLeftHeaderRef,x=r.pinnedLeftRef,y=r.pinnedLeftTemplateColumns,M=r.pinnedRightColumns,H=r.pinnedRightHeaderRef,S=r.pinnedRightRef,E=r.pinnedRightTemplateColumns,k=r.scrollbarWidth,N=r.setScrollTop,T=r.tableBodyContainerRef,O=r.visibleRows;!function(e){var n=e.headerContainerRef,r=e.mainSectionRef,o=e.scrollbarWidth,i=t(!1),l=i[0],c=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;c(e)}};o();var i=new ResizeObserver((function(){o()}));return i.observe(t),function(){t&&i.unobserve(t)}}}),[n,r])}({headerContainerRef:v,mainSectionRef:T,scrollbarWidth:k});var L=o(null),B=o(null),W=t(h),A=W[0],P=W[1],z=t(1),U=z[0],F=z[1],j=t(!1),K=j[0],V=j[1],J=t(!0),X=J[0],G=J[1];a((function(){P(h)}),[h]);var Y=function(e){var n=0,r=function(e){e.forEach((function(e){n+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&r(e.rowMeta.children)}))};return r(e),n}(A),$=41*Y-1,_=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};P((function(e){return e.map(n)}))},Q=i((function(){return m(void 0,void 0,void 0,(function(){var e;return p(this,(function(n){return K||!X||(V(!0),e=h.slice(20*U,20*(U+1)),P((function(n){return R(R([],n,!0),e,!0)})),F((function(e){return e+1})),V(!1),e.length<20/3&&G(!1)),[2]}))}))}),[h,X,K,U]),Z=i((function(e){e[0].isIntersecting&&X&&!K&&Q()}),[X,K,Q]);a((function(){return L.current=new IntersectionObserver(Z,{root:null,rootMargin:"100px",threshold:0}),T.current&&L.current.observe(T.current),function(){L.current&&L.current.disconnect()}}),[Z,A,T]);var ee=(null===(l=C.current)||void 0===l?void 0:l.clientWidth)?(null===(c=C.current)||void 0===c?void 0:c.clientWidth)+1:0,ne=null===(d=f.current)||void 0===d?void 0:d.clientWidth,re=(null===(s=H.current)||void 0===s?void 0:s.clientWidth)?(null===(u=H.current)||void 0===u?void 0:u.clientWidth)+1:0;return e("div",g({className:"st-table-body-container",ref:T,onScroll:function(e){var n=e.currentTarget.scrollTop;B.current&&cancelAnimationFrame(B.current),B.current=requestAnimationFrame((function(){N(n)}))}},{children:[b.length>0&&n(q,g({},r,{onExpandRowClick:_,pinned:"left",rowHeight:D,sectionRef:x,templateColumns:y,totalHeight:$,visibleRows:O,width:ee})),n(q,g({},r,{onExpandRowClick:_,rowHeight:D,sectionRef:w,templateColumns:I,totalHeight:$,visibleRows:O,width:ne})),M.length>0&&n(q,g({},r,{onExpandRowClick:_,pinned:"right",rowHeight:D,sectionRef:S,templateColumns:E,totalHeight:$,visibleRows:O,width:re}))]}))},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)}},$=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,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(a.size)).toString();c=t,l.set(c,e),a.has(c)||a.set(c,[])}else if(c){var o=a.get(c)||[];o.push(e),a.set(c,o)}else{var i="default";a.has(i)||a.set(i,[]),null===(r=a.get(i))||void 0===r||r.push(e)}}));var d=[];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=Q(a.rowMeta.children,n,r)),d.push(a)}var c=R([],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 $(a,l,o,i)}));d.push.apply(d,c.map((function(e){var t=g({},e);if(t.rowMeta.children&&t.rowMeta.children.length>0){var o=Q(t.rowMeta.children,n,r);t.rowMeta=g(g({},t.rowMeta),{children:o})}return t})))})),d},Q=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 R([],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 $(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:Q(e.rowMeta.children,n,r)})}):e}))},Z=function(e){var n=e.event,r=e.forceUpdate,t=e.header,o=e.headersRef,i=e.index;e.reverse;var a=e.setIsWidthDragging,l=e.startWidth;a(!0),n.preventDefault();var c=n.clientX;if(t){var d=function(e){var n=Math.max(l+(e.clientX-c),40);t&&o.current&&(o.current[i].width=n,r())},s=function(){document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",s),a(!1)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",s)}},ee=c((function(r,o){var i,l=r.columnResizing,c=r.currentRows,d=r.columnReordering,s=r.draggedHeaderRef,u=r.forceUpdate,f=r.headersRef,h=r.hoveredHeaderRef,v=r.index,w=r.onColumnOrderChange,m=r.onSort,p=r.onTableHeaderDragEnd,R=r.reverse,I=r.rowHeight,b=r.selectableColumns,C=r.setIsWidthDragging,x=r.setSelectedCells,y=r.sort,M=r.sortDownIcon,H=r.sortUpIcon,D=t(!1),S=D[0],E=D[1],N=null===(i=f.current)||void 0===i?void 0:i[v],T=Boolean(null==N?void 0:N.isSortable),O="st-header-cell ".concat(N===h.current?"st-hovered":""," ").concat(S?"st-dragging":""," ").concat(T?"clickable":""," ").concat(d&&!T?"columnReordering":""," ").concat("right"===(null==N?void 0:N.align)?"right-aligned":"center"===(null==N?void 0:N.align)?"center-aligned":""),L=U({draggedHeaderRef:s,headersRef:f,hoveredHeaderRef:h,onColumnOrderChange:w,onTableHeaderDragEnd:p}),B=L.handleDragStart,W=L.handleDragEnd,P=L.handleDragOver,z=A(),F=function(e){var n=e.event,r=e.header;if(b){var t=c.length,o=Array.from({length:t},(function(e,n){return"".concat(n,"-").concat(v)})),i=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("".concat(n,"-").concat(o+t))}))})),r};n.shiftKey?x((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)})):x(new Set(o))}else r.isSortable&&m(v,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)}}),[]),!N)return null;var j=l&&n("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;z({callback:Z,callbackProps:{event:e,forceUpdate:u,header:N,headersRef:f,index:v,setIsWidthDragging:C,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),K=y&&y.key.accessor===N.accessor&&e("div",g({className:"st-sort-icon-container",onClick:function(e){return F({event:e,header:N})}},{children:["ascending"===y.direction&&H&&H,"descending"===y.direction&&M&&M]}));return e("div",g({className:O,id:k({accessor:N.accessor,rowIndex:0}),onDragOver:function(e){z({callback:P,callbackProps:{event:e,hoveredHeader:N},limit:50})},ref:o,style:{width:N.width,height:I}},{children:[R&&j,e("div",g({className:"st-header-label ".concat("right"===N.align?"right-aligned":""),draggable:d,onClick:function(e){return F({event:e,header:N})},onDragEnd:function(e){e.preventDefault(),E(!1),W()},onDragStart:function(e){d&&N&&function(e){E(!0),B(e)}(N)}},{children:["right"===N.align&&K,null==N?void 0:N.label,"right"!==N.align&&K]})),!R&&j]}))})),ne=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])},re=function(r){var t,o,i,a=r.allowAnimations,l=r.centerHeaderRef,c=r.columnResizing,d=r.currentRows,s=r.columnReordering,u=r.draggedHeaderRef,h=r.forceUpdate,v=r.headerContainerRef,w=r.headersRef,m=r.hiddenColumns,p=r.hoveredHeaderRef,R=r.isWidthDragging,I=r.mainBodyRef,b=r.mainTemplateColumns,C=r.onColumnOrderChange,x=r.onSort,y=r.onTableHeaderDragEnd,M=r.pinnedLeftColumns,H=r.pinnedLeftHeaderRef,S=r.pinnedLeftTemplateColumns,E=r.pinnedRightColumns,k=r.pinnedRightHeaderRef,T=r.pinnedRightTemplateColumns,O=r.selectableColumns,L=r.setIsWidthDragging,B=r.setSelectedCells,W=r.sort,A=r.sortDownIcon,P=r.sortUpIcon;ne(I,l);return e("div",g({className:"st-header-container",ref:v},{children:[M.length>0&&n("div",g({className:"st-header-pinned-left",ref:H,style:{gridTemplateColumns:S}},{children:n(j,g({allowAnimations:a,draggedHeaderRef:u,headersRef:w,mainBodyRef:I,pauseAnimation:R,rowIndex:0},{children:null===(t=w.current)||void 0===t?void 0:t.map((function(e,r){return N({hiddenColumns:m,header:e,pinned:"left"})?n(ee,{columnResizing:c,currentRows:d,columnReordering:s,draggedHeaderRef:u,forceUpdate:h,headersRef:w,hoveredHeaderRef:p,index:r,onColumnOrderChange:C,onSort:x,onTableHeaderDragEnd:y,ref:f(),rowHeight:D,selectableColumns:O,setIsWidthDragging:L,setSelectedCells:B,sort:W,sortDownIcon:A,sortUpIcon:P},e.accessor):null}))}))})),n("div",g({className:"st-header-main",onScroll:function(e){var n,r,t=null===(n=l.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=I.current)||void 0===r||r.scrollTo(t,0))},ref:l,style:{gridTemplateColumns:b}},{children:n(j,g({allowAnimations:a,draggedHeaderRef:u,headersRef:w,mainBodyRef:I,pauseAnimation:R,rowIndex:0},{children:null===(o=w.current)||void 0===o?void 0:o.map((function(e,r){return N({hiddenColumns:m,header:e})?n(ee,{columnResizing:c,currentRows:d,columnReordering:s,draggedHeaderRef:u,forceUpdate:h,headersRef:w,hoveredHeaderRef:p,index:r,onColumnOrderChange:C,onSort:x,onTableHeaderDragEnd:y,ref:f(),rowHeight:D,selectableColumns:O,setIsWidthDragging:L,setSelectedCells:B,sort:W,sortDownIcon:A,sortUpIcon:P},e.accessor):null}))}))})),E.length>0&&n("div",g({className:"st-header-pinned-right",ref:k,style:{gridTemplateColumns:T}},{children:n(j,g({allowAnimations:a,draggedHeaderRef:u,headersRef:w,mainBodyRef:I,pauseAnimation:R,rowIndex:0},{children:null===(i=w.current)||void 0===i?void 0:i.map((function(e,r){return N({hiddenColumns:m,header:e,pinned:"right"})?n(ee,{columnResizing:c,currentRows:d,columnReordering:s,draggedHeaderRef:u,forceUpdate:h,headersRef:w,hoveredHeaderRef:p,index:r,onColumnOrderChange:C,onSort:x,onTableHeaderDragEnd:y,reverse:!0,ref:f(),rowHeight:D,selectableColumns:O,setIsWidthDragging:L,setSelectedCells:B,sort:W,sortDownIcon:A,sortUpIcon:P},e.accessor):null}))}))}))]}))},te=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},oe=function(r){var t=r.allowAnimations,i=r.columnReordering,a=r.columnResizing,c=r.currentRows,d=r.draggedHeaderRef,s=r.editColumns,u=r.forceUpdate,f=r.getBorderClass,h=r.handleMouseDown,v=r.handleMouseOver,w=r.headersRef,m=r.hiddenColumns,p=r.hoveredHeaderRef,R=r.isSelected,I=r.isInitialFocusedCell,b=r.isWidthDragging,C=r.mainBodyRef,x=r.onCellEdit,y=r.onColumnOrderChange,M=r.onSort,H=r.onTableHeaderDragEnd,D=r.pinnedLeftRef,S=r.pinnedRightRef,E=r.scrollbarWidth,k=r.selectableColumns,N=r.setIsWidthDragging,T=r.setScrollTop,O=r.setSelectedCells,L=r.shouldPaginate,B=r.sort,W=r.sortDownIcon,A=r.sortUpIcon,P=r.tableBodyContainerRef,z=r.visibleRows,U=o(null),F=o(null),j=o(null),K=o(null),V=w.current.filter((function(e){return!e.hide&&!e.pinned})),J=w.current.filter((function(e){return"left"===e.pinned&&!0!==e.hide})),X=w.current.filter((function(e){return"right"===e.pinned&&!0!==e.hide})),q=l((function(){return"".concat(J.map((function(e){return te(e)})).join(" "))}),[J]),Y=l((function(){return"".concat(V.filter((function(e){return!0!==m[e.accessor]})).map((function(e){return te(e)})).join(" "))}),[V,m]),$=l((function(){return"".concat(X.map((function(e){return te(e)})).join(" "))}),[X]),_={allowAnimations:t,centerHeaderRef:j,columnResizing:a,currentRows:c,columnReordering:i,draggedHeaderRef:d,forceUpdate:u,headerContainerRef:U,headersRef:w,hiddenColumns:m,hoveredHeaderRef:p,isWidthDragging:b,mainBodyRef:C,mainTemplateColumns:Y,onColumnOrderChange:y,onSort:M,onTableHeaderDragEnd:H,pinnedLeftColumns:J,pinnedLeftHeaderRef:F,pinnedLeftTemplateColumns:q,pinnedRightColumns:X,pinnedRightHeaderRef:K,pinnedRightTemplateColumns:$,selectableColumns:k,setIsWidthDragging:N,setSelectedCells:O,sort:B,sortDownIcon:W,sortUpIcon:A,tableBodyContainerRef:P},Q={allowAnimations:t,centerHeaderRef:j,currentRows:c,draggedHeaderRef:d,getBorderClass:f,handleMouseDown:h,handleMouseOver:v,headerContainerRef:U,headers:w.current,headersRef:w,hiddenColumns:m,hoveredHeaderRef:p,isSelected:R,isInitialFocusedCell:I,isWidthDragging:b,mainBodyRef:C,mainTemplateColumns:Y,onCellEdit:x,onTableHeaderDragEnd:H,pinnedLeftColumns:J,pinnedLeftHeaderRef:F,pinnedLeftRef:D,pinnedLeftTemplateColumns:q,pinnedRightColumns:X,pinnedRightHeaderRef:K,pinnedRightRef:S,pinnedRightTemplateColumns:$,scrollbarWidth:E,shouldPaginate:L,setScrollTop:T,tableBodyContainerRef:P,visibleRows:z};return e("div",g({className:"st-table-content",style:{width:s?"calc(100% - 27.5px)":"100%"}},{children:[n(re,g({},_)),n(G,g({},Q))]}))},ie=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])},ae=function(r){var i=r.mainBodyRef,a=r.pinnedLeftRef,l=r.pinnedRightRef,c=r.tableContentWidth,d=t(0),s=d[0],u=d[1],f=t(0),h=f[0],v=f[1],w=t(0),m=w[0],p=w[1],R=o(null);return ie({widthAttribute:"offsetWidth",callback:u,ref:a}),ie({widthAttribute:"scrollWidth",callback:p,ref:i}),ie({widthAttribute:"offsetWidth",callback:v,ref:l}),ne(i,R),!i.current||i.current.scrollWidth<=i.current.clientWidth?null:e("div",g({className:"st-horizontal-scrollbar-container",style:{width:c}},{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}})})),h>0&&n("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:h}})]}))},le=function(e){var n=e.headers,r=e.tableRows,o=t(null),i=o[0],a=o[1],c=l((function(){var e={};return n.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[n]),d=t(c),s=d[0],u=d[1],f=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:f,hiddenColumns:s,setHiddenColumns:u}},ce=function(r){var o=r.checked,i=void 0!==o&&o,a=r.children,l=r.onChange,c=t(i),d=c[0],s=c[1];return e("label",g({className:"st-checkbox-label"},{children:[n("input",{checked:d,className:"st-checkbox-input",onChange:function(){var e=!d;s(e),l&&l(e)},type:"checkbox"}),n("span",g({className:"st-checkbox-custom ".concat(d?"st-checked":"")},{children:d&&n("span",{className:"st-checkbox-checkmark"})})),a]}))},de=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)}))}))}))},se=function(r){var o=r.columnEditorText,i=r.editColumns,a=r.editColumnsInitOpen,l=r.headers,c=r.position,d=void 0===c?"right":c,s=r.setHiddenColumns,u=r.hiddenColumns,f=t(a),h=f[0],v=f[1];return i?e("div",g({className:"st-column-editor ".concat(h?"open":""," ").concat(d),onClick:function(){return function(e){v(e)}(!h)}},{children:[n("div",g({className:"st-column-editor-text"},{children:o})),n(de,{headers:l,open:h,position:d,setOpen:v,setHiddenColumns:s,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(I||(I={}));var ue=h((function(r){var c=r.allowAnimations,s=void 0!==c&&c,u=r.columnEditorPosition,f=void 0===u?I.Right:u,h=r.columnEditorText,w=void 0===h?"Columns":h,m=r.columnResizing,p=void 0!==m&&m,R=r.defaultHeaders,S=r.editColumns,E=void 0!==S&&S,k=r.editColumnsInitOpen,N=void 0!==k&&k,T=r.columnReordering,O=void 0!==T&&T,L=r.height,B=r.hideFooter,W=void 0!==B&&B,A=r.nextIcon,P=void 0===A?n(y,{className:"st-next-prev-icon"}):A,z=r.onCellEdit,U=r.onColumnOrderChange,F=r.onNextPage,j=r.onPreviousPage,K=r.prevIcon,V=void 0===K?n(x,{className:"st-next-prev-icon"}):K,J=r.rows,X=r.rowsPerPage,q=void 0===X?10:X,G=r.selectableCells,Y=void 0!==G&&G,$=r.selectableColumns,_=void 0!==$&&$,Q=r.shouldPaginate,Z=void 0!==Q&&Q,ee=r.sortDownIcon,ne=void 0===ee?n(H,{className:"st-sort-icon"}):ee,re=r.sortUpIcon,te=void 0===re?n(M,{className:"st-sort-icon"}):re,ie=r.theme,ce=void 0===ie?"light":ie,de=r.totalPages,ue=o(null),fe=o(R),he=o(null),ve=o(null),ge=o(null),we=o(null),me=o(null),pe=t(!1),Re=pe[0],Ie=pe[1],be=t(1),Ce=be[0],xe=be[1],ye=t(0),Me=ye[0],He=ye[1],De=t(0),Se=De[0],Ee=De[1],ke=t(0),Ne=ke[0],Te=ke[1],Oe=le({headers:fe.current,tableRows:J}),Le=Oe.sort,Be=Oe.sortedRows,We=Oe.hiddenColumns,Ae=Oe.setHiddenColumns,Pe=Oe.updateSort,ze=l((function(){return function(e){var n=e.bufferRowCount,r=e.containerHeight,t=e.rowHeight,o=e.rows,i=e.scrollTop,a=[],l=0,c=Math.max(0,i-t*n),d=i+r+t*n,s=function(e,n){for(var r,o=0,i=e;o<i.length;o++){var u=i[o],f=l*t;if(f>=d)break;f+t>c&&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(o,0),a}({bufferRowCount:5,containerHeight:600,rowHeight:D,rows:J,scrollTop:Ne})}),[J,Ne]),Ue=v((function(e){return e+1}),0)[1],Fe=function(e){var n=e.selectableCells,r=e.headers,c=e.visibleRows,d=t(new Set),s=d[0],u=d[1],f=t(null),h=f[0],v=f[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]=c[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,c]),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 d=i;d<=a;d++)if(l>=0&&l<c.length){var s=c[l].row.rowMeta.rowId;r.add(b({colIndex:d,rowIndex:l,rowId:s}))}u(r)}),[c]),R=i((function(e){if(e.rowIndex>=0&&e.rowIndex<c.length&&e.colIndex>=0&&e.colIndex<r.length){var n=b(e);u(new Set([n])),v(e)}}),[r.length,c.length]);a((function(){var e=function(e){if(n&&h){var t=h.rowIndex,o=h.colIndex;if(h.rowId,!e.ctrlKey&&!e.metaKey||"c"!==e.key)if("ArrowUp"===e.key){if(e.preventDefault(),t>0){var i={rowIndex:t-1,colIndex:o,rowId:c[t-1].row.rowMeta.rowId};R(i)}}else"ArrowDown"===e.key?(e.preventDefault(),t<c.length-1&&(i={rowIndex:t+1,colIndex:o,rowId:c[t+1].row.rowMeta.rowId},R(i))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),o>0&&(i={rowIndex:t,colIndex:o-1,rowId:c[t].row.rowMeta.rowId},R(i))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),o<r.length-1&&(i={rowIndex:t,colIndex:o+1,rowId:c[t].row.rowMeta.rowId},R(i))):"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,h,p,R,n,c]);var I=i((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,o=b({colIndex:n,rowIndex:r,rowId:t});return s.has(o)}),[s]),C=i((function(e){var n,r,t,o,i,a,l=e.colIndex,d=e.rowIndex,s=e.rowId,u=[],f=null===(t=null===(r=null===(n=c[d-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,h={colIndex:l,rowIndex:d+1,rowId:null===(a=null===(i=null===(o=c[d+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:d,rowId:s},g={colIndex:l+1,rowIndex:d,rowId:s};return I({colIndex:l,rowIndex:d-1,rowId:f})||u.push("st-selected-top-border"),I(h)||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,c]),x=l((function(){return h?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===h.rowIndex&&r===h.colIndex&&t===h.rowId}:function(){return!1}}),[h,c]);return{getBorderClass:C,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=b({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),d=Math.max(w.current.colIndex,r),s=i;s<=a;s++)for(var f=l;f<=d;f++)if(s>=0&&s<c.length){var h=c[s].row.rowMeta.rowId;o.add(b({colIndex:f,rowIndex:s,rowId:h}))}u(o)}},handleMouseUp:function(){g.current=!1},isInitialFocusedCell:x,isSelected:I,selectedCells:s,setSelectedCells:u}}({selectableCells:Y,headers:fe.current,visibleRows:ze}),je=Fe.handleMouseDown,Ke=Fe.handleMouseOver,Ve=Fe.handleMouseUp,Je=Fe.isSelected,Xe=Fe.getBorderClass,qe=Fe.isInitialFocusedCell,Ge=Fe.setSelectedCells,Ye=l((function(){return Z?Be.slice((Ce-1)*q,Ce*q):Be}),[Ce,q,Z,Be]),$e=i((function(e,n){Pe(e,n)}),[Pe]),_e=i((function(e){fe.current=e,Ue()}),[]);return a((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||_&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||Ge(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[_,Ge]),d((function(){if(me.current){var e=me.current.offsetWidth-me.current.clientWidth,n=me.current.clientWidth;He(e),Ee(n)}}),[]),d((function(){var e=function(){if(Ue(),me.current){var e=me.current.offsetWidth-me.current.clientWidth,n=me.current.clientWidth;He(e),Ee(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:L?{height:L}:{}},{children:[e("div",g({className:"st-table-wrapper-container"},{children:[e("div",g({className:"st-table-wrapper",onMouseUp:Ve,onMouseLeave:Ve},{children:[n(oe,{allowAnimations:s,columnReordering:O,columnResizing:p,currentRows:Ye,draggedHeaderRef:ue,editColumns:E,forceUpdate:Ue,getBorderClass:Xe,handleMouseDown:je,handleMouseOver:Ke,headers:fe.current,headersRef:fe,hiddenColumns:We,hoveredHeaderRef:he,isSelected:Je,isInitialFocusedCell:qe,isWidthDragging:Re,mainBodyRef:ve,onCellEdit:z,onColumnOrderChange:U,onSort:$e,onTableHeaderDragEnd:_e,pinnedLeftRef:ge,pinnedRightRef:we,scrollbarWidth:Me,selectableColumns:_,setIsWidthDragging:Ie,setScrollTop:Te,setSelectedCells:Ge,shouldPaginate:Z,sort:Le,sortDownIcon:ne,sortUpIcon:te,tableBodyContainerRef:me,visibleRows:ze}),n(se,{columnEditorText:w,editColumns:E,editColumnsInitOpen:N,headers:fe.current,hiddenColumns:We,position:f,setHiddenColumns:Ae})]})),n(ae,{mainBodyRef:ve,pinnedLeftRef:ge,pinnedRightRef:we,tableContentWidth:Se})]})),n(C,{currentPage:Ce,hideFooter:W,nextIcon:P,onPageChange:xe,onNextPage:F,onPreviousPage:j,prevIcon:V,shouldPaginate:Z,totalPages:de||Math.ceil(Be.length/q)})]}))}));export{ue 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"),t=function(){return t=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},t.apply(this,arguments)};function r(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(t[r[o]]=e[r[o]])}return t}function o(e,n,t,r){return new(t||(t=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(i,s)}l((r=r.apply(e,n||[])).next())}))}function a(e,n){var t,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=n.call(e,a)}catch(e){s=[6,e],r=0}finally{t=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function i(e,n,t){if(t||2===arguments.length)for(var r,o=0,a=n.length;o<a;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var s,l=function(n){var r=n.currentPage,o=n.hideFooter,a=n.nextIcon,i=n.onPageChange,s=n.onNextPage,l=n.onPreviousPage,c=n.prevIcon,d=n.shouldPaginate,u=n.totalPages;if(o||!d)return null;var f=!(r>1)&&!l,h=!(r<u)&&!s;return e.jsxs("div",t({className:"st-footer"},{children:[e.jsx("button",t({className:"st-next-prev-btn ".concat(f?"disabled":""),onClick:function(){var e=r-1;e>=1&&i(e),l&&l(e-1)},disabled:f},{children:c})),e.jsx("button",t({className:"st-next-prev-btn ".concat(h?"disabled":""),onClick:function(){var e=r+1;(e<=u||s)&&i(e),s&&s(r)},disabled:h},{children:a})),Array.from({length:u},(function(n,o){return e.jsx("button",t({onClick:function(){var e;(e=o+1)>=1&&e<=u&&(i(e),e>r&&s?s(e-1):e<r&&l&&l(e-1))},className:"st-page-btn ".concat(r===o+1?"active":"")},{children:o+1}),o)}))]}))},c=function(n){var r=n.className;return e.jsx("svg",t({className:r,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"})}))},d=function(n){var r=n.className;return e.jsx("svg",t({className:r,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"})}))},u=function(n){var r=n.className;return e.jsx("svg",t({className:r,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"})}))},f=function(n){var r=n.className;return e.jsx("svg",t({className:r,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"})}))},h=40,g=function(e){return e.position*(e.rowHeight+1)-1},v=function(e){return e.position*(e.rowHeight+1)},m=function(e){var n=e.accessor,t=e.rowIndex;return"cell-".concat(n,"-").concat(t)},p=function(e){var n=e.hiddenColumns,t=e.header,r=e.pinned;return n[t.accessor]?null:!r&&!t.pinned||t.pinned===r||null},w=function(n){var r=n.value,o=n.onBlur,a=n.onChange;return e.jsxs("select",t({value:r.toString(),onBlur:o,onChange:function(e){var n=e.target.value;a("true"===n)}},{children:[e.jsx("option",t({value:"true"},{children:"True"})),e.jsx("option",t({value:"false"},{children:"False"}))]}))},R=function(t){var r=t.defaultValue,o=t.onBlur,a=t.onChange,i=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:i,autoFocus:!0,type:"text",defaultValue:null!=r?r:"",onBlur:o,onChange:function(e){var n=e.target.value;a(n)}})},x=function(t){var r=t.defaultValue,o=t.onBlur,a=t.onChange,i=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:i,autoFocus:!0,defaultValue:r.toString(),onBlur:o,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&a(n)}})},C=function(n){var t=n.onChange,r=n.setIsEditing,o=n.value,a=function(e){null==t||t(e)},i=function(){r(!1)};return e.jsx(e.Fragment,{children:"string"==typeof o||null==o?e.jsx(R,{defaultValue:o,onBlur:i,onChange:a}):"boolean"==typeof o?e.jsx(w,{onBlur:i,onChange:a,value:o}):"number"==typeof o?e.jsx(x,{defaultValue:o,onBlur:i,onChange:a}):null})},b=0,y=function(){return function(e){var n=e.callback,t=e.callbackProps,r=e.limit,o=Date.now();(0===b||o-b>=r)&&(b=o,n(t))}},j=Date.now(),H={screenX:0,screenY:0},S=function(e){var t,r,o=e.draggedHeaderRef,a=e.headersRef,s=e.hoveredHeaderRef,l=e.onColumnOrderChange,c=e.onTableHeaderDragEnd,d=(t=a.current,r=n.useRef(t),n.useEffect((function(){r.current=t}),[t]),r.current);return{handleDragStart:function(e){o.current=e,j=Date.now()},handleDragOver:function(e){var n,t=e.event,r=e.hoveredHeader;if(t.preventDefault(),a.current){var l=t.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),u=t.screenX,f=t.screenY,h=Math.sqrt(Math.pow(u-H.screenX,2)+Math.pow(f-H.screenY,2));s.current=r;var g=i([],a.current,!0),v=g.findIndex((function(e){var n;return e.accessor===(null===(n=o.current)||void 0===n?void 0:n.accessor)})),m=g.findIndex((function(e){return e.accessor===r.accessor})),p=g.splice(v,1)[0];if(g.splice(m,0,p),!(l||r.accessor===(null===(n=o.current)||void 0===n?void 0:n.accessor)||null===o.current||h<10||void 0===v||void 0===m||JSON.stringify(g)===JSON.stringify(a.current))){var w=Date.now();JSON.stringify(g)===JSON.stringify(d)&&w-j<800&&h<50||(j=w,H={screenX:u,screenY:f},c(g))}}},handleDragEnd:function(){o.current=null,s.current=null,null==l||l(a.current)}}},M=n.forwardRef((function(r,o){var a,i,s=r.borderClass,l=r.colIndex,c=r.draggedHeaderRef,u=r.header,h=r.headersRef,g=r.hoveredHeaderRef,v=r.isSelected,p=r.isTopLeftCell,w=r.onCellEdit,R=r.onExpandRowClick,x=r.onMouseDown,b=r.onMouseOver,j=r.onTableHeaderDragEnd,H=r.rowIndex,M=r.visibleRow,E=M.depth,D=M.row,I=n.useState(D.rowData[u.accessor]),k=I[0],L=I[1],N=n.useState(!1),T=N[0],O=N[1],B=S({draggedHeaderRef:c,headersRef:h,hoveredHeaderRef:g,onTableHeaderDragEnd:j}).handleDragOver,W=y(),A=Boolean(null===(i=null===(a=D.rowMeta)||void 0===a?void 0:a.children)||void 0===i?void 0:i.length),P=Boolean(null==u?void 0:u.isEditable),z=H%2==0,U="st-cell ".concat(E>0&&u.expandable?"st-cell-depth-".concat(E):""," ").concat(v?p?"st-cell-selected-first-cell ".concat(s):"st-cell-selected ".concat(s):""," ").concat(z?"st-cell-odd-row":"st-cell-even-row"," ").concat(P?"clickable":""," ").concat("right"===u.align?"right-aligned":"center"===u.align?"center-aligned":"left-aligned");return n.useEffect((function(){L(D.rowData[u.accessor])}),[u.accessor,D]),T?e.jsx("div",t({className:"st-cell-editing ".concat(z?"st-cell-odd-row":"st-cell-even-row"),id:m({accessor:u.accessor,rowIndex:H+1})},{children:e.jsx(C,{onChange:function(e){L(e),null==w||w({accessor:u.accessor,newValue:e,row:D})},setIsEditing:O,value:k})})):e.jsxs("div",t({className:U,id:m({accessor:u.accessor,rowIndex:H+1}),onDoubleClick:function(){return u.isEditable&&O(!0)},onMouseDown:function(){return x(H,l)},onMouseOver:function(){return b(H,l)},onDragOver:function(e){return W({callback:B,callbackProps:{event:e,hoveredHeader:u},limit:50})},ref:o},{children:[u.expandable&&A?D.rowMeta.isExpanded?e.jsx("div",t({className:"st-sort-icon-container",onClick:function(){return R(D.rowMeta.rowId)}},{children:e.jsx(f,{className:"st-sort-icon"})})):e.jsx("div",t({className:"st-sort-icon-container",onClick:function(){return R(D.rowMeta.rowId)}},{children:e.jsx(d,{className:"st-sort-icon"})})):null,e.jsx("span",t({className:"st-cell-content"},{children:u.cellRenderer?u.cellRenderer({accessor:u.accessor,colIndex:l,row:D}):k}))]}))})),E=function(n){var o=n.allowAnimations,a=n.children,i=r(n,["allowAnimations","children"]);return o?e.jsx(D,t({},i,{children:a})):e.jsx(e.Fragment,{children:a})},D=function(t){var r=t.allowHorizontalAnimate,o=void 0===r||r,a=t.children,i=t.draggedHeaderRef,s=t.headersRef,l=t.isBody,c=t.mainBodyRef,d=t.pauseAnimation,u=t.rowIndex,f=n.useRef(!1),h=n.useState({}),g=h[0],v=h[1],p=n.useRef({}),w=s.current;return n.useLayoutEffect((function(){if(w){var e=function(e){var n=e.currentHeaders,t=e.draggedHeaderRef,r=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var a=document.getElementById(m({accessor:e.accessor,rowIndex:r}));if(a){var i=a.getAnimations().some((function(e){return"running"===e.playState})),s=a.getBoundingClientRect();i&&(null===(n=null==t?void 0:t.current)||void 0===n?void 0:n.accessor)!==e.accessor?o[e.accessor]=!1:o[e.accessor]=s}}})),o}({currentHeaders:w,draggedHeaderRef:i,rowIndex:u});JSON.stringify(e)!==JSON.stringify(g)&&(p.current=g,v(e))}}),[g,w,i,l,u]),n.useLayoutEffect((function(){var e=c.current,n=function(){f.current=!0},t=function(){f.current=!1};return null==e||e.addEventListener("scroll",n),null==e||e.addEventListener("scrollend",t),function(){null==e||e.removeEventListener("scroll",n),null==e||e.removeEventListener("scrollend",t)}}),[i,c]),n.useEffect((function(){d||f.current||Object.keys(p.current).length&&w&&w.forEach((function(e){var n=document.getElementById(m({accessor:e.accessor,rowIndex:u}));if(n){var t=p.current[e.accessor],r=g[e.accessor];if(t&&r){var a=t.left-r.left,i=o?0:t.top-r.top,s=Math.abs(a),l=Math.abs(i);(s>10||l>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(a,"px, ").concat(i,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[o,g,w,l,d,p,u]),e.jsx(e.Fragment,{children:a})},I=function(o){var a=o.getBorderClass,i=o.handleMouseDown,s=o.handleMouseOver,l=o.headers,c=o.hiddenColumns,d=o.isSelected,u=o.isTopLeftCell,f=o.onExpandRowClick,h=o.pinned,g=o.rowIndex,v=o.visibleRow,w=r(o,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isSelected","isTopLeftCell","onExpandRowClick","pinned","rowIndex","visibleRow"]);return e.jsx(E,t({allowAnimations:w.allowAnimations,allowHorizontalAnimate:w.shouldPaginate,draggedHeaderRef:w.draggedHeaderRef,headersRef:w.headersRef,isBody:!0,mainBodyRef:w.mainBodyRef,pauseAnimation:w.isWidthDragging,rowIndex:g+1},{children:l.map((function(e,r){return p({hiddenColumns:c,header:e,pinned:h})?n.createElement(M,t({},w,{borderClass:a(g,r),colIndex:r,header:e,isSelected:d(g,r),isTopLeftCell:u(g,r),key:m({accessor:e.accessor,rowIndex:g+1}),onExpandRowClick:f,onMouseDown:function(){return i({rowIndex:g,colIndex:r})},onMouseOver:function(){return s(g,r)},rowIndex:g,visibleRow:v})):null}))}))},k=function(n){var r=n.getNextRowIndex,o=n.gridTemplateColumns,a=n.index,i=n.pinned,s=n.props,l=n.rowHeight,c=n.visibleRow,d=c.position,u=r();return e.jsx("div",t({className:"st-table-row",style:{gridTemplateColumns:o,top:v({position:d,rowHeight:l}),height:"".concat(l,"px")}},{children:e.jsx(I,t({pinned:i,rowIndex:u,visibleRow:c},s),a)}))},L=function(n){var r=n.lastGroupRow,o=n.position,a=n.rowHeight,i=n.templateColumns;return e.jsx("div",t({className:"st-row-separator ".concat(r?"st-last-group-row":""),style:{display:"grid",gridTemplateColumns:i,position:"absolute",top:g({position:o,rowHeight:a}),minWidth:"100%"}},{children:e.jsx("div",{style:{gridColumn:"1 / -1"}})}))},N=function(o){o.headerContainerRef;var a=o.onExpandRowClick,i=o.pinned,s=o.rowHeight,l=o.sectionRef,c=o.templateColumns,d=o.totalHeight,u=o.visibleRows,f=o.width,h=r(o,["headerContainerRef","onExpandRowClick","pinned","rowHeight","sectionRef","templateColumns","totalHeight","visibleRows","width"]),g=i?"st-table-body-pinned-".concat(i):"st-table-body-main",v=n.useRef(0);n.useEffect((function(){v.current=0}));var m=function(){return v.current++};return e.jsx("div",t({className:g,ref:l,style:{position:"relative",height:"".concat(d,"px"),width:f}},{children:u.map((function(r,o){var l,d,u=Boolean(null===(d=null===(l=r.row.rowMeta)||void 0===l?void 0:l.children)||void 0===d?void 0:d.length);return e.jsxs(n.Fragment,{children:[e.jsx(k,{getNextRowIndex:m,gridTemplateColumns:c,index:o,pinned:i,props:t(t({},h),{onExpandRowClick:a}),rowHeight:s,visibleRow:r}),0!==o&&e.jsx(L,{lastGroupRow:u,position:r.position,rowHeight:s,templateColumns:c})]},o)}))}))},T=function(r){var s,l,c,d,u,f=r.centerHeaderRef,g=r.currentRows,v=r.headerContainerRef,m=r.mainBodyRef,p=r.mainTemplateColumns,w=r.pinnedLeftColumns,R=r.pinnedLeftHeaderRef,x=r.pinnedLeftRef,C=r.pinnedLeftTemplateColumns,b=r.pinnedRightColumns,y=r.pinnedRightHeaderRef,j=r.pinnedRightRef,H=r.pinnedRightTemplateColumns,S=r.scrollbarWidth,M=r.tableBodyContainerRef;!function(e){var t=e.headerContainerRef,r=e.mainSectionRef,o=e.scrollbarWidth,a=n.useState(!1),i=a[0],s=a[1];n.useEffect((function(){var e=null==t?void 0:t.current;if(i&&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")}}),[t,i,o]),n.useEffect((function(){var e=null==t?void 0:t.current,n=null==r?void 0:r.current;if(n&&e){var o=function(){if(n){var e=n.scrollHeight>n.clientHeight;s(e)}};o();var a=new ResizeObserver((function(){o()}));return a.observe(n),function(){n&&a.unobserve(n)}}}),[t,r])}({headerContainerRef:v,mainSectionRef:M,scrollbarWidth:S});var E=n.useRef(null),D=n.useRef(null),I=n.useState(g),k=I[0],L=I[1],T=n.useState(1),O=T[0],B=T[1],W=n.useState(!1),A=W[0],P=W[1],z=n.useState(!0),U=z[0],F=z[1],V=n.useState(0),q=V[0],J=V[1];n.useEffect((function(){L(g)}),[g]);var X=function(e){var n=0,t=function(e){e.forEach((function(e){n+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&t(e.rowMeta.children)}))};return t(e),n}(k),K=41*X-1,G=function(e){var n=function(r){return r.rowMeta.rowId===e&&r.rowMeta.children?t(t({},r),{rowMeta:t(t({},r.rowMeta),{isExpanded:!r.rowMeta.isExpanded})}):r.rowMeta.children?t(t({},r),{rowMeta:t(t({},r.rowMeta),{children:r.rowMeta.children.map(n)})}):r};L((function(e){return e.map(n)}))},Y=n.useMemo((function(){return function(e){var n=e.bufferRowCount,t=e.containerHeight,r=e.rowHeight,o=e.rows,a=e.scrollTop,i=[],s=0,l=Math.max(0,a-r*n),c=a+t+r*n,d=function(e,n){for(var t,o=0,a=e;o<a.length;o++){var u=a[o],f=s*r;if(f>=c)break;f+r>l&&i.push({row:u,depth:n,position:s,isLastGroupRow:Boolean(null===(t=u.rowMeta.children)||void 0===t?void 0:t.length)&&n>1}),s+=1,u.rowMeta.isExpanded&&u.rowMeta.children&&d(u.rowMeta.children,n+1)}};return d(o,0),i}({bufferRowCount:5,containerHeight:600,rowHeight:h,rows:k,scrollTop:q})}),[k,q]),_=n.useCallback((function(){return o(void 0,void 0,void 0,(function(){var e;return a(this,(function(n){return A||!U||(P(!0),e=g.slice(20*O,20*(O+1)),L((function(n){return i(i([],n,!0),e,!0)})),B((function(e){return e+1})),P(!1),e.length<20/3&&F(!1)),[2]}))}))}),[g,U,A,O]),$=n.useCallback((function(e){e[0].isIntersecting&&U&&!A&&_()}),[U,A,_]);n.useEffect((function(){return E.current=new IntersectionObserver($,{root:null,rootMargin:"100px",threshold:0}),M.current&&E.current.observe(M.current),function(){E.current&&E.current.disconnect()}}),[$,k,M]);var Q=(null===(s=R.current)||void 0===s?void 0:s.clientWidth)?(null===(l=R.current)||void 0===l?void 0:l.clientWidth)+1:0,Z=null===(c=f.current)||void 0===c?void 0:c.clientWidth,ee=(null===(d=y.current)||void 0===d?void 0:d.clientWidth)?(null===(u=y.current)||void 0===u?void 0:u.clientWidth)+1:0;return e.jsxs("div",t({className:"st-table-body-container",ref:M,onScroll:function(e){var n=e.currentTarget.scrollTop;D.current&&cancelAnimationFrame(D.current),D.current=requestAnimationFrame((function(){J(n)}))}},{children:[w.length>0&&e.jsx(N,t({},r,{onExpandRowClick:G,pinned:"left",rowHeight:h,sectionRef:x,templateColumns:C,totalHeight:K,visibleRows:Y,width:Q})),e.jsx(N,t({},r,{onExpandRowClick:G,rowHeight:h,sectionRef:m,templateColumns:p,totalHeight:K,visibleRows:Y,width:Z})),b.length>0&&e.jsx(N,t({},r,{onExpandRowClick:G,pinned:"right",rowHeight:h,sectionRef:j,templateColumns:H,totalHeight:K,visibleRows:Y,width:ee}))]}))},O={string:function(e,n,t){if(e===n)return 0;var r=e.localeCompare(n);return"ascending"===t?r:-r},number:function(e,n,t){if(e===n)return 0;var r=e-n;return"ascending"===t?r:-r},boolean:function(e,n,t){if(e===n)return 0;var r=e===n?0:e?-1:1;return"ascending"===t?r:-r},date:function(e,n,t){var r=new Date(e),o=new Date(n);if(r.getTime()===o.getTime())return 0;var a=r.getTime()-o.getTime();return"ascending"===t?a:-a},enum:function(e,n,t){return O.string(e,n,t)},default:function(e,n,t){return e===n?0:null==e?"ascending"===t?-1:1:null==n?"ascending"===t?1:-1:"string"==typeof e&&"string"==typeof n?O.string(e,n,t):"number"==typeof e&&"number"==typeof n?O.number(e,n,t):"boolean"==typeof e&&"boolean"==typeof n?O.boolean(e,n,t):O.string(String(e),String(n),t)}},B=function(e,n,t,r){if(void 0===t&&(t="string"),null==e||""===e)return"ascending"===r?-1:1;if(null==n||""===n)return"ascending"===r?1:-1;if("number"===t){var o=function(e){var n;if("number"==typeof e)return e;var t=String(e);if("string"==typeof t){var r=t.replace(/[$,]/g,"").match(/^([-+]?\d*\.?\d+)([TBMKtbmk])?/);if(r){var o=parseFloat(r[1]),a=null===(n=r[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(t)||0},a=o(e),i=o(n);return O.number(a,i,r)}return"date"===t?O.date(String(e),String(n),r):"boolean"===t?O.boolean(Boolean(e),Boolean(n),r):"enum"===t?O.enum(String(e),String(n),r):O.string(String(e),String(n),r)},W=function(e,n,r){var o=r.find((function(e){return e.accessor===n.key.accessor})),a=(null==o?void 0:o.type)||"string",s=n.direction,l=new Map,c=new Map,d="";e.forEach((function(e){var t;if(e.rowData&&!e.rowData[n.key.accessor]&&void 0!==e.rowMeta.isExpanded){var r=(e.rowData.sector||"group_".concat(l.size)).toString();d=r,c.set(d,e),l.has(d)||l.set(d,[])}else if(d){var o=l.get(d)||[];o.push(e),l.set(d,o)}else{var a="default";l.has(a)||l.set(a,[]),null===(t=l.get(a))||void 0===t||t.push(e)}}));var u=[];return l.forEach((function(e,o){if(c.has(o)){var l=c.get(o);l.rowMeta.children&&l.rowMeta.children.length>0&&(l.rowMeta.children=A(l.rowMeta.children,n,r)),u.push(l)}var d=i([],e,!0).sort((function(e,t){if(!(null==e?void 0:e.rowData)||!(null==t?void 0:t.rowData))return 0;var r=n.key.accessor,o=e.rowData[r],i=t.rowData[r];return B(o,i,a,s)}));u.push.apply(u,d.map((function(e){var o=t({},e);if(o.rowMeta.children&&o.rowMeta.children.length>0){var a=A(o.rowMeta.children,n,r);o.rowMeta=t(t({},o.rowMeta),{children:a})}return o})))})),u},A=function(e,n,r){var o=r.find((function(e){return e.accessor===n.key.accessor})),a=(null==o?void 0:o.type)||"string",s=n.direction;return i([],e,!0).sort((function(e,t){if(!(null==e?void 0:e.rowData)||!(null==t?void 0:t.rowData))return 0;var r=n.key.accessor,o=e.rowData[r],i=t.rowData[r];return B(o,i,a,s)})).map((function(e){return e.rowMeta.children&&e.rowMeta.children.length>0?t(t({},e),{rowMeta:t(t({},e.rowMeta),{children:A(e.rowMeta.children,n,r)})}):e}))},P=function(e){var n=e.event,t=e.forceUpdate,r=e.header,o=e.headersRef,a=e.index;e.reverse;var i=e.setIsWidthDragging,s=e.startWidth;i(!0),n.preventDefault();var l=n.clientX;if(r){var c=function(e){var n=Math.max(s+(e.clientX-l),40);r&&o.current&&(o.current[a].width=n,t())},d=function(){document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d),i(!1)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)}},z=n.forwardRef((function(r,o){var a,i=r.columnResizing,s=r.currentRows,l=r.columnReordering,c=r.draggedHeaderRef,d=r.forceUpdate,u=r.headersRef,f=r.hoveredHeaderRef,h=r.index,g=r.onColumnOrderChange,v=r.onSort,p=r.onTableHeaderDragEnd,w=r.reverse,R=r.rowHeight,x=r.selectableColumns,C=r.setIsWidthDragging,b=r.setSelectedCells,j=r.sort,H=r.sortDownIcon,M=r.sortUpIcon,E=n.useState(!1),D=E[0],I=E[1],k=null===(a=u.current)||void 0===a?void 0:a[h],L=Boolean(null==k?void 0:k.isSortable),N="st-header-cell ".concat(k===f.current?"st-hovered":""," ").concat(D?"st-dragging":""," ").concat(L?"clickable":""," ").concat(l&&!L?"columnReordering":""," ").concat("right"===(null==k?void 0:k.align)?"right-aligned":"center"===(null==k?void 0:k.align)?"center-aligned":""),T=S({draggedHeaderRef:c,headersRef:u,hoveredHeaderRef:f,onColumnOrderChange:g,onTableHeaderDragEnd:p}),O=T.handleDragStart,B=T.handleDragEnd,W=T.handleDragOver,A=y(),z=function(e){var n=e.event,t=e.header;if(x){var r=s.length,o=Array.from({length:r},(function(e,n){return"".concat(n,"-").concat(h)})),a=function(e,n){var t=new Set,o=Math.min(e,n),a=Math.max(e,n);return Array.from({length:r}).forEach((function(e,n){Array.from({length:a-o+1}).forEach((function(e,r){t.add("".concat(n,"-").concat(o+r))}))})),t};n.shiftKey?b((function(e){var n,t=Number(null===(n=Array.from(e)[0])||void 0===n?void 0:n.split("-")[1]),r=Number(o[0].split("-")[1]);return t===r?new Set(o):t>r?a(r,t):a(t,r)})):b(new Set(o))}else t.isSortable&&v(h,t.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)}}),[]),!k)return null;var U=i&&e.jsx("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;A({callback:P,callbackProps:{event:e,forceUpdate:d,header:k,headersRef:u,index:h,setIsWidthDragging:C,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),F=j&&j.key.accessor===k.accessor&&e.jsxs("div",t({className:"st-sort-icon-container",onClick:function(e){return z({event:e,header:k})}},{children:["ascending"===j.direction&&M&&M,"descending"===j.direction&&H&&H]}));return e.jsxs("div",t({className:N,id:m({accessor:k.accessor,rowIndex:0}),onDragOver:function(e){A({callback:W,callbackProps:{event:e,hoveredHeader:k},limit:50})},ref:o,style:{width:k.width,height:R}},{children:[w&&U,e.jsxs("div",t({className:"st-header-label ".concat("right"===k.align?"right-aligned":""),draggable:l,onClick:function(e){return z({event:e,header:k})},onDragEnd:function(e){e.preventDefault(),I(!1),B()},onDragStart:function(e){l&&k&&function(e){I(!0),O(e)}(k)}},{children:["right"===k.align&&F,null==k?void 0:k.label,"right"!==k.align&&F]})),!w&&U]}))})),U=function(e,t){n.useEffect((function(){if(e.current){var n=e.current,r=function(){var e,r=null==n?void 0:n.scrollLeft;void 0!==r&&(null===(e=t.current)||void 0===e||e.scrollTo(r,0))};return n.addEventListener("scroll",r),function(){null==n||n.removeEventListener("scroll",r)}}}),[e,t])},F=function(r){var o,a,i,s=r.allowAnimations,l=r.centerHeaderRef,c=r.columnResizing,d=r.currentRows,u=r.columnReordering,f=r.draggedHeaderRef,g=r.forceUpdate,v=r.headerContainerRef,m=r.headersRef,w=r.hiddenColumns,R=r.hoveredHeaderRef,x=r.isWidthDragging,C=r.mainBodyRef,b=r.mainTemplateColumns,y=r.onColumnOrderChange,j=r.onSort,H=r.onTableHeaderDragEnd,S=r.pinnedLeftColumns,M=r.pinnedLeftHeaderRef,D=r.pinnedLeftTemplateColumns,I=r.pinnedRightColumns,k=r.pinnedRightHeaderRef,L=r.pinnedRightTemplateColumns,N=r.selectableColumns,T=r.setIsWidthDragging,O=r.setSelectedCells,B=r.sort,W=r.sortDownIcon,A=r.sortUpIcon;U(C,l);return e.jsxs("div",t({className:"st-header-container",ref:v},{children:[S.length>0&&e.jsx("div",t({className:"st-header-pinned-left",ref:M,style:{gridTemplateColumns:D}},{children:e.jsx(E,t({allowAnimations:s,draggedHeaderRef:f,headersRef:m,mainBodyRef:C,pauseAnimation:x,rowIndex:0},{children:null===(o=m.current)||void 0===o?void 0:o.map((function(t,r){return p({hiddenColumns:w,header:t,pinned:"left"})?e.jsx(z,{columnResizing:c,currentRows:d,columnReordering:u,draggedHeaderRef:f,forceUpdate:g,headersRef:m,hoveredHeaderRef:R,index:r,onColumnOrderChange:y,onSort:j,onTableHeaderDragEnd:H,ref:n.createRef(),rowHeight:h,selectableColumns:N,setIsWidthDragging:T,setSelectedCells:O,sort:B,sortDownIcon:W,sortUpIcon:A},t.accessor):null}))}))})),e.jsx("div",t({className:"st-header-main",onScroll:function(e){var n,t,r=null===(n=l.current)||void 0===n?void 0:n.scrollLeft;void 0!==r&&(null===(t=C.current)||void 0===t||t.scrollTo(r,0))},ref:l,style:{gridTemplateColumns:b}},{children:e.jsx(E,t({allowAnimations:s,draggedHeaderRef:f,headersRef:m,mainBodyRef:C,pauseAnimation:x,rowIndex:0},{children:null===(a=m.current)||void 0===a?void 0:a.map((function(t,r){return p({hiddenColumns:w,header:t})?e.jsx(z,{columnResizing:c,currentRows:d,columnReordering:u,draggedHeaderRef:f,forceUpdate:g,headersRef:m,hoveredHeaderRef:R,index:r,onColumnOrderChange:y,onSort:j,onTableHeaderDragEnd:H,ref:n.createRef(),rowHeight:h,selectableColumns:N,setIsWidthDragging:T,setSelectedCells:O,sort:B,sortDownIcon:W,sortUpIcon:A},t.accessor):null}))}))})),I.length>0&&e.jsx("div",t({className:"st-header-pinned-right",ref:k,style:{gridTemplateColumns:L}},{children:e.jsx(E,t({allowAnimations:s,draggedHeaderRef:f,headersRef:m,mainBodyRef:C,pauseAnimation:x,rowIndex:0},{children:null===(i=m.current)||void 0===i?void 0:i.map((function(t,r){return p({hiddenColumns:w,header:t,pinned:"right"})?e.jsx(z,{columnResizing:c,currentRows:d,columnReordering:u,draggedHeaderRef:f,forceUpdate:g,headersRef:m,hoveredHeaderRef:R,index:r,onColumnOrderChange:y,onSort:j,onTableHeaderDragEnd:H,reverse:!0,ref:n.createRef(),rowHeight:h,selectableColumns:N,setIsWidthDragging:T,setSelectedCells:O,sort:B,sortDownIcon:W,sortUpIcon:A},t.accessor):null}))}))}))]}))},V=function(e){var n=e.minWidth,t=e.width;return"number"==typeof t&&(t="".concat(t,"px")),n&&"number"==typeof n&&(n="".concat(n,"px")),void 0!==n?"minmax(".concat(n,", ").concat(t,")"):t},q=function(r){var o=r.allowAnimations,a=r.columnResizing,i=r.currentRows,s=r.columnReordering,l=r.draggedHeaderRef,c=r.editColumns,d=r.forceUpdate,u=r.getBorderClass,f=r.handleMouseDown,h=r.handleMouseOver,g=r.headersRef,v=r.hiddenColumns,m=r.hoveredHeaderRef,p=r.isSelected,w=r.isTopLeftCell,R=r.isWidthDragging,x=r.mainBodyRef,C=r.onCellEdit,b=r.onColumnOrderChange,y=r.onSort,j=r.onTableHeaderDragEnd,H=r.pinnedLeftRef,S=r.pinnedRightRef,M=r.scrollbarWidth,E=r.selectableColumns,D=r.setIsWidthDragging,I=r.setSelectedCells,k=r.shouldPaginate,L=r.sort,N=r.sortDownIcon,O=r.sortUpIcon,B=r.tableBodyContainerRef,W=n.useRef(null),A=n.useRef(null),P=n.useRef(null),z=n.useRef(null),U=g.current.filter((function(e){return!e.hide&&!e.pinned})),q=g.current.filter((function(e){return"left"===e.pinned&&!0!==e.hide})),J=g.current.filter((function(e){return"right"===e.pinned&&!0!==e.hide})),X=n.useMemo((function(){return"".concat(q.map((function(e){return V(e)})).join(" "))}),[q]),K=n.useMemo((function(){return"".concat(U.filter((function(e){return!0!==v[e.accessor]})).map((function(e){return V(e)})).join(" "))}),[U,v]),G=n.useMemo((function(){return"".concat(J.map((function(e){return V(e)})).join(" "))}),[J]),Y={allowAnimations:o,centerHeaderRef:P,columnResizing:a,currentRows:i,columnReordering:s,draggedHeaderRef:l,forceUpdate:d,headerContainerRef:W,headersRef:g,hiddenColumns:v,hoveredHeaderRef:m,isWidthDragging:R,mainBodyRef:x,mainTemplateColumns:K,onColumnOrderChange:b,onSort:y,onTableHeaderDragEnd:j,pinnedLeftColumns:q,pinnedLeftHeaderRef:A,pinnedLeftTemplateColumns:X,pinnedRightColumns:J,pinnedRightHeaderRef:z,pinnedRightTemplateColumns:G,selectableColumns:E,setIsWidthDragging:D,setSelectedCells:I,sort:L,sortDownIcon:N,sortUpIcon:O,tableBodyContainerRef:B},_={allowAnimations:o,centerHeaderRef:P,currentRows:i,draggedHeaderRef:l,getBorderClass:u,handleMouseDown:f,handleMouseOver:h,headerContainerRef:W,headers:g.current,headersRef:g,hiddenColumns:v,hoveredHeaderRef:m,isSelected:p,isTopLeftCell:w,isWidthDragging:R,mainBodyRef:x,mainTemplateColumns:K,onCellEdit:C,onTableHeaderDragEnd:j,pinnedLeftColumns:q,pinnedLeftHeaderRef:A,pinnedLeftRef:H,pinnedLeftTemplateColumns:X,pinnedRightColumns:J,pinnedRightHeaderRef:z,pinnedRightRef:S,pinnedRightTemplateColumns:G,scrollbarWidth:M,shouldPaginate:k,tableBodyContainerRef:B};return e.jsxs("div",t({className:"st-table-content",style:{width:c?"calc(100% - 27.5px)":"100%"}},{children:[e.jsx(F,t({},Y)),e.jsx(T,t({},_))]}))},J=function(e){var t=e.callback,r=e.ref,o=e.widthAttribute;n.useEffect((function(){var e=r.current;if(e){var n=function(){t(e[o]||0)};n();var a=new ResizeObserver((function(){n()}));return a.observe(e),function(){return a.disconnect()}}}),[t,r,o])},X=function(r){var o=r.mainBodyRef,a=r.pinnedLeftRef,i=r.pinnedRightRef,s=r.tableContentWidth,l=n.useState(0),c=l[0],d=l[1],u=n.useState(0),f=u[0],h=u[1],g=n.useState(0),v=g[0],m=g[1],p=n.useRef(null);return J({widthAttribute:"offsetWidth",callback:d,ref:a}),J({widthAttribute:"scrollWidth",callback:m,ref:o}),J({widthAttribute:"offsetWidth",callback:h,ref:i}),U(o,p),!o.current||o.current.scrollWidth<=o.current.clientWidth?null:e.jsxs("div",t({className:"st-horizontal-scrollbar-container",style:{width:s}},{children:[c>0&&e.jsx("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:c}}),v>0&&e.jsx("div",t({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:p},{children:e.jsx("div",{style:{width:v}})})),f>0&&e.jsx("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:f}})]}))},K=function(e){var t=e.headers,r=e.tableRows,o=n.useState(null),a=o[0],i=o[1],s=n.useMemo((function(){var e={};return t.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[t]),l=n.useState(s),c=l[0],d=l[1],u=n.useMemo((function(){if(!a)return r;var e=function(e,n,t){return{sortedData:W(n,t,e),newSortConfig:t}}(t,r,a).sortedData;return e}),[r,a,t]);return{sort:a,setSort:i,updateSort:function(e,n){var r=t.find((function(e){return e.accessor===n}));r&&i((function(e){return e&&e.key.accessor===n?"ascending"===e.direction?{key:r,direction:"descending"}:null:{key:r,direction:"ascending"}}))},sortedRows:u,hiddenColumns:c,setHiddenColumns:d}},G=function(r){var o=r.checked,a=void 0!==o&&o,i=r.children,s=r.onChange,l=n.useState(a),c=l[0],d=l[1];return e.jsxs("label",t({className:"st-checkbox-label"},{children:[e.jsx("input",{checked:c,className:"st-checkbox-input",onChange:function(){var e=!c;d(e),s&&s(e)},type:"checkbox"}),e.jsx("span",t({className:"st-checkbox-custom ".concat(c?"st-checked":"")},{children:c&&e.jsx("span",{className:"st-checkbox-checkmark"})})),i]}))},Y=function(n){var r=n.headers,o=n.open,a=n.position;n.setOpen;var i=n.setHiddenColumns,s=n.hiddenColumns,l="left"===a?"left":"";return e.jsx("div",t({className:"st-column-editor-popout ".concat(o?"open":""," ").concat(l),onClick:function(e){return e.stopPropagation()}},{children:e.jsx("div",t({className:"st-column-editor-popout-content"},{children:r.map((function(n,r){return e.jsx(G,t({checked:s[n.accessor],onChange:function(e){var r;return i(t(t({},s),((r={})[n.accessor]=e,r)))}},{children:n.label}),r)}))}))}))},_=function(r){var o=r.columnEditorText,a=r.editColumns,i=r.editColumnsInitOpen,s=r.headers,l=r.position,c=void 0===l?"right":l,d=r.setHiddenColumns,u=r.hiddenColumns,f=n.useState(i),h=f[0],g=f[1];return a?e.jsxs("div",t({className:"st-column-editor ".concat(h?"open":""," ").concat(c),onClick:function(){return function(e){g(e)}(!h)}},{children:[e.jsx("div",t({className:"st-column-editor-text"},{children:o})),e.jsx(Y,{headers:s,open:h,position:c,setOpen:g,setHiddenColumns:d,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(s||(s={}));var $=n.memo((function(r){var o=r.allowAnimations,a=void 0!==o&&o,i=r.columnEditorPosition,h=void 0===i?s.Right:i,g=r.columnEditorText,v=void 0===g?"Columns":g,m=r.columnResizing,p=void 0!==m&&m,w=r.defaultHeaders,R=r.editColumns,x=void 0!==R&&R,C=r.editColumnsInitOpen,b=void 0!==C&&C,y=r.columnReordering,j=void 0!==y&&y,H=r.height,S=r.hideFooter,M=void 0!==S&&S,E=r.nextIcon,D=void 0===E?e.jsx(d,{className:"st-next-prev-icon"}):E,I=r.onCellEdit,k=r.onColumnOrderChange,L=r.onNextPage,N=r.onPreviousPage,T=r.prevIcon,O=void 0===T?e.jsx(c,{className:"st-next-prev-icon"}):T,B=r.rows,W=r.rowsPerPage,A=void 0===W?10:W,P=r.selectableCells,z=void 0!==P&&P,U=r.selectableColumns,F=void 0!==U&&U,V=r.shouldPaginate,J=void 0!==V&&V,G=r.sortDownIcon,Y=void 0===G?e.jsx(f,{className:"st-sort-icon"}):G,$=r.sortUpIcon,Q=void 0===$?e.jsx(u,{className:"st-sort-icon"}):$,Z=r.theme,ee=void 0===Z?"light":Z,ne=r.totalPages,te=n.useRef(null),re=n.useRef(w),oe=n.useRef(null),ae=n.useRef(null),ie=n.useRef(null),se=n.useRef(null),le=n.useRef(null),ce=n.useState(!1),de=ce[0],ue=ce[1],fe=n.useState(1),he=fe[0],ge=fe[1],ve=n.useState(0),me=ve[0],pe=ve[1],we=n.useState(0),Re=we[0],xe=we[1],Ce=K({headers:re.current,tableRows:B}),be=Ce.sort,ye=Ce.sortedRows,je=Ce.hiddenColumns,He=Ce.setHiddenColumns,Se=Ce.updateSort,Me=n.useReducer((function(e){return e+1}),0)[1],Ee=function(e){var t=e.selectableCells,r=e.headers,o=e.rows,a=n.useState(new Set),i=a[0],s=a[1],l=n.useRef(!1),c=n.useRef(null),d=n.useCallback((function(){var e=Array.from(i).reduce((function(e,n){var t=n.split("-").map(Number),a=t[0],i=t[1];return e[a]||(e[a]=[]),e[a][i]=o[a][r[i].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");i.size>0&&navigator.clipboard.writeText(n)}),[i,o,r]);n.useEffect((function(){var e=function(e){(e.ctrlKey||e.metaKey)&&"c"===e.key&&d()};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[d]);var u=n.useCallback((function(e,n){return i.has("".concat(e,"-").concat(n))}),[i]),f=n.useCallback((function(e,n){var t=[];return u(e-1,n)||t.push("st-selected-top-border"),u(e+1,n)||t.push("st-selected-bottom-border"),u(e,n-1)||t.push("st-selected-left-border"),u(e,n+1)||t.push("st-selected-right-border"),t.join(" ")}),[u]),h=n.useMemo((function(){var e=Math.min.apply(Math,Array.from(i).map((function(e){return parseInt(e.split("-")[0])}))),n=Math.min.apply(Math,Array.from(i).map((function(e){return parseInt(e.split("-")[1])})));return function(t,r){return t===e&&r===n}}),[i]);return{selectedCells:i,handleMouseDown:function(e){var n=e.colIndex,r=e.rowIndex;t&&(l.current=!0,c.current={row:r,col:n},s(new Set(["".concat(r,"-").concat(n)])))},handleMouseOver:function(e,n){if(t&&l.current&&c.current){for(var r=new Set,o=Math.min(c.current.row,e),a=Math.max(c.current.row,e),i=Math.min(c.current.col,n),d=Math.max(c.current.col,n),u=o;u<=a;u++)for(var f=i;f<=d;f++)r.add("".concat(u,"-").concat(f));s(r)}},handleMouseUp:function(){l.current=!1,c.current=null},isSelected:u,getBorderClass:f,isTopLeftCell:h,setSelectedCells:s}}({selectableCells:z,headers:re.current,rows:ye}),De=Ee.handleMouseDown,Ie=Ee.handleMouseOver,ke=Ee.handleMouseUp,Le=Ee.isSelected,Ne=Ee.getBorderClass,Te=Ee.isTopLeftCell,Oe=Ee.setSelectedCells,Be=n.useMemo((function(){return J?ye.slice((he-1)*A,he*A):ye}),[he,A,J,ye]),We=n.useCallback((function(e,n){Se(e,n)}),[Se]),Ae=n.useCallback((function(e){re.current=e,Me()}),[]);return n.useEffect((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||F&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||Oe(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[F,Oe]),n.useLayoutEffect((function(){if(le.current){var e=le.current.offsetWidth-le.current.clientWidth,n=le.current.clientWidth;pe(e),xe(n)}}),[]),n.useLayoutEffect((function(){var e=function(){if(Me(),le.current){var e=le.current.offsetWidth-le.current.clientWidth,n=le.current.clientWidth;pe(e),xe(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),e.jsxs("div",t({className:"simple-table-root st-wrapper theme-".concat(ee),style:H?{height:H}:{}},{children:[e.jsxs("div",t({className:"st-table-wrapper-container"},{children:[e.jsxs("div",t({className:"st-table-wrapper",onMouseUp:ke,onMouseLeave:ke},{children:[e.jsx(q,{allowAnimations:a,columnResizing:p,currentRows:Be,draggedHeaderRef:te,editColumns:x,columnReordering:j,forceUpdate:Me,getBorderClass:Ne,handleMouseDown:De,handleMouseOver:Ie,headers:re.current,headersRef:re,hiddenColumns:je,hoveredHeaderRef:oe,isSelected:Le,isTopLeftCell:Te,isWidthDragging:de,mainBodyRef:ae,onCellEdit:I,onColumnOrderChange:k,onSort:We,onTableHeaderDragEnd:Ae,pinnedLeftRef:ie,pinnedRightRef:se,scrollbarWidth:me,selectableColumns:F,setIsWidthDragging:ue,setSelectedCells:Oe,shouldPaginate:J,sort:be,sortDownIcon:Y,sortUpIcon:Q,tableBodyContainerRef:le}),e.jsx(_,{columnEditorText:v,editColumns:x,editColumnsInitOpen:b,headers:re.current,hiddenColumns:je,position:h,setHiddenColumns:He})]})),e.jsx(X,{mainBodyRef:ae,pinnedLeftRef:ie,pinnedRightRef:se,tableContentWidth:Re})]})),e.jsx(l,{currentPage:he,hideFooter:M,nextIcon:D,onPageChange:ge,onNextPage:L,onPreviousPage:N,prevIcon:O,shouldPaginate:J,totalPages:ne||Math.ceil(ye.length/A)})]}))}));exports.SimpleTable=$;
|
|
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,t){return new(r||(r=Promise))((function(o,a){function i(e){try{s(t.next(e))}catch(e){a(e)}}function l(e){try{s(t.throw(e))}catch(e){a(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof r?n:new r((function(e){e(n)}))).then(i,l)}s((t=t.apply(e,n||[])).next())}))}function a(e,n){var r,t,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=l(0),i.throw=l(1),i.return=l(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(l){return function(s){return function(l){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,t&&(o=2&l[0]?t.return:l[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,l[1])).done)return o;switch(t=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,t=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=n.call(e,a)}catch(e){l=[6,e],t=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,s])}}}function i(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 l,s=function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return"".concat(n,"-").concat(r,"-").concat(t)},c=function(n){var t=n.currentPage,o=n.hideFooter,a=n.nextIcon,i=n.onPageChange,l=n.onNextPage,s=n.onPreviousPage,c=n.prevIcon,d=n.shouldPaginate,u=n.totalPages;if(o||!d)return null;var f=!(t>1)&&!s,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&&i(e),s&&s(e-1)},disabled:f},{children:c})),e.jsx("button",r({className:"st-next-prev-btn ".concat(h?"disabled":""),onClick:function(){var e=t+1;(e<=u||l)&&i(e),l&&l(t)},disabled:h},{children:a})),Array.from({length:u},(function(n,o){return e.jsx("button",r({onClick:function(){var e;(e=o+1)>=1&&e<=u&&(i(e),e>t&&l?l(e-1):e<t&&s&&s(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"})}))},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:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},f=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"})}))},h=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"})}))},v=40,g=function(e){return e.position*(e.rowHeight+1)-1},w=function(e){return e.position*(e.rowHeight+1)},m=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},p=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},x=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"}))]}))},R=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)}})},b=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)}})},C=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(R,{defaultValue:o,onBlur:i,onChange:a}):"boolean"==typeof o?e.jsx(x,{onBlur:i,onChange:a,value:o}):"number"==typeof o?e.jsx(b,{defaultValue:o,onBlur:i,onChange:a}):null})},I=0,y=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===I||o-I>=t)&&(I=o,n(r))}},M=Date.now(),j={screenX:0,screenY:0},S=function(e){var r,t,o=e.draggedHeaderRef,a=e.headersRef,l=e.hoveredHeaderRef,s=e.onColumnOrderChange,c=e.onTableHeaderDragEnd,d=(r=a.current,t=n.useRef(r),n.useEffect((function(){t.current=r}),[r]),t.current);return{handleDragStart:function(e){o.current=e,M=Date.now()},handleDragOver:function(e){var n,r=e.event,t=e.hoveredHeader;if(r.preventDefault(),a.current){var s=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),u=r.screenX,f=r.screenY,h=Math.sqrt(Math.pow(u-j.screenX,2)+Math.pow(f-j.screenY,2));l.current=t;var v=i([],a.current,!0),g=v.findIndex((function(e){var n;return e.accessor===(null===(n=o.current)||void 0===n?void 0:n.accessor)})),w=v.findIndex((function(e){return e.accessor===t.accessor})),m=v.splice(g,1)[0];if(v.splice(w,0,m),!(s||t.accessor===(null===(n=o.current)||void 0===n?void 0:n.accessor)||null===o.current||h<10||void 0===g||void 0===w||JSON.stringify(v)===JSON.stringify(a.current))){var p=Date.now();JSON.stringify(v)===JSON.stringify(d)&&p-M<800&&h<50||(M=p,j={screenX:u,screenY:f},c(v))}}},handleDragEnd:function(){o.current=null,l.current=null,null==s||s(a.current)}}},H=n.forwardRef((function(t,o){var a,i,l=t.borderClass,s=t.colIndex,c=t.draggedHeaderRef,d=t.header,f=t.headersRef,v=t.hoveredHeaderRef,g=t.isSelected,w=t.isInitialFocusedCell,p=t.onCellEdit,x=t.onExpandRowClick,R=t.onMouseDown,b=t.onMouseOver,I=t.onTableHeaderDragEnd,M=t.rowIndex,j=t.visibleRow,H=j.depth,E=j.row,D=n.useState(E.rowData[d.accessor]),k=D[0],N=D[1],T=n.useState(!1),L=T[0],O=T[1],B=S({draggedHeaderRef:c,headersRef:f,hoveredHeaderRef:v,onTableHeaderDragEnd:I}).handleDragOver,W=y(),A="cell-".concat(M,"-").concat(s),P=Boolean(null===(i=null===(a=E.rowMeta)||void 0===a?void 0:a.children)||void 0===i?void 0:i.length),z=Boolean(null==d?void 0:d.isEditable),F=M%2==0,U="st-cell ".concat(H>0&&d.expandable?"st-cell-depth-".concat(H):""," ").concat(g?w?"st-cell-selected-first-cell ".concat(l):"st-cell-selected ".concat(l):""," ").concat(F?"st-cell-odd-row":"st-cell-even-row"," ").concat(z?"clickable":""," ").concat("right"===d.align?"right-aligned":"center"===d.align?"center-aligned":"left-aligned");n.useEffect((function(){N(E.rowData[d.accessor])}),[d.accessor,E]);return L?e.jsx("div",r({className:"st-cell-editing ".concat(F?"st-cell-odd-row":"st-cell-even-row"),id:m({accessor:d.accessor,rowIndex:M+1})},{children:e.jsx(C,{onChange:function(e){N(e),null==p||p({accessor:d.accessor,newValue:e,row:E})},setIsEditing:O,value:k})})):e.jsxs("div",r({className:U,id:A,onDoubleClick:function(){return d.isEditable&&O(!0)},onMouseDown:function(){return R({rowIndex:M,colIndex:s,rowId:E.rowMeta.rowId})},onMouseOver:function(){return b({rowIndex:M,colIndex:s,rowId:E.rowMeta.rowId})},onDragOver:function(e){return W({callback:B,callbackProps:{event:e,hoveredHeader:d},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!d.isEditable||L||(e.preventDefault(),O(!0))},ref:o,"data-row-index":M,"data-col-index":s,"aria-selected":g},{children:[d.expandable&&P?E.rowMeta.isExpanded?e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return x(E.rowMeta.rowId)}},{children:e.jsx(h,{className:"st-sort-icon"})})):e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return x(E.rowMeta.rowId)}},{children:e.jsx(u,{className:"st-sort-icon"})})):null,e.jsx("span",r({className:"st-cell-content"},{children:d.cellRenderer?d.cellRenderer({accessor:d.accessor,colIndex:s,row:E}):k}))]}))})),E=function(n){var o=n.allowAnimations,a=n.children,i=t(n,["allowAnimations","children"]);return o?e.jsx(D,r({},i,{children:a})):e.jsx(e.Fragment,{children:a})},D=function(r){var t=r.allowHorizontalAnimate,o=void 0===t||t,a=r.children,i=r.draggedHeaderRef,l=r.headersRef,s=r.isBody,c=r.mainBodyRef,d=r.pauseAnimation,u=r.rowIndex,f=n.useRef(!1),h=n.useState({}),v=h[0],g=h[1],w=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 a=document.getElementById(m({accessor:e.accessor,rowIndex:t}));if(a){var i=a.getAnimations().some((function(e){return"running"===e.playState})),l=a.getBoundingClientRect();i&&(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:i,rowIndex:u});JSON.stringify(e)!==JSON.stringify(v)&&(w.current=v,g(e))}}),[v,p,i,s,u]),n.useLayoutEffect((function(){var e=c.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)}}),[i,c]),n.useEffect((function(){d||f.current||Object.keys(w.current).length&&p&&p.forEach((function(e){var n=document.getElementById(m({accessor:e.accessor,rowIndex:u}));if(n){var r=w.current[e.accessor],t=v[e.accessor];if(r&&t){var a=r.left-t.left,i=o?0:r.top-t.top,l=Math.abs(a),s=Math.abs(i);(l>10||s>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(a,"px, ").concat(i,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[o,v,p,s,d,w,u]),e.jsx(e.Fragment,{children:a})},k=function(o){var a=o.getBorderClass,i=o.handleMouseDown,l=o.handleMouseOver,s=o.headers,c=o.hiddenColumns,d=o.isSelected,u=o.isInitialFocusedCell,f=o.onExpandRowClick,h=o.pinned,v=o.rowIndex,g=o.visibleRow,w=t(o,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isSelected","isInitialFocusedCell","onExpandRowClick","pinned","rowIndex","visibleRow"]);return e.jsx(E,r({allowAnimations:w.allowAnimations,allowHorizontalAnimate:w.shouldPaginate,draggedHeaderRef:w.draggedHeaderRef,headersRef:w.headersRef,isBody:!0,mainBodyRef:w.mainBodyRef,pauseAnimation:w.isWidthDragging,rowIndex:v+1},{children:s.map((function(e,t){return p({hiddenColumns:c,header:e,pinned:h})?n.createElement(H,r({},w,{borderClass:a({rowIndex:v,colIndex:t,rowId:g.row.rowMeta.rowId}),colIndex:t,header:e,isSelected:d({rowIndex:v,colIndex:t,rowId:g.row.rowMeta.rowId}),isInitialFocusedCell:u({rowIndex:v,colIndex:t,rowId:g.row.rowMeta.rowId}),key:m({accessor:e.accessor,rowIndex:v+1}),onExpandRowClick:f,onMouseDown:function(){return i({rowIndex:v,colIndex:t,rowId:g.row.rowMeta.rowId})},onMouseOver:function(){return l({rowIndex:v,colIndex:t,rowId:g.row.rowMeta.rowId})},rowIndex:v,visibleRow:g})):null}))}))},N=function(n){var t=n.getNextRowIndex,o=n.gridTemplateColumns,a=n.index,i=n.pinned,l=n.props,s=n.rowHeight,c=n.visibleRow,d=c.position,u=t();return e.jsx("div",r({className:"st-table-row",style:{gridTemplateColumns:o,top:w({position:d,rowHeight:s}),height:"".concat(s,"px")}},{children:e.jsx(k,r({pinned:i,rowIndex:u,visibleRow:c},l),a)}))},T=function(n){var t=n.lastGroupRow,o=n.position,a=n.rowHeight,i=n.templateColumns;return e.jsx("div",r({className:"st-row-separator ".concat(t?"st-last-group-row":""),style:{display:"grid",gridTemplateColumns:i,position:"absolute",top:g({position:o,rowHeight:a}),minWidth:"100%"}},{children:e.jsx("div",{style:{gridColumn:"1 / -1"}})}))},L=function(o){o.headerContainerRef;var a=o.onExpandRowClick,i=o.pinned,l=o.rowHeight,s=o.sectionRef,c=o.templateColumns,d=o.totalHeight,u=o.visibleRows,f=o.width,h=t(o,["headerContainerRef","onExpandRowClick","pinned","rowHeight","sectionRef","templateColumns","totalHeight","visibleRows","width"]),v=i?"st-table-body-pinned-".concat(i):"st-table-body-main",g=n.useRef(0);n.useEffect((function(){g.current=0}));var w=function(){return g.current++};return e.jsx("div",r({className:v,ref:s,style:{position:"relative",height:"".concat(d,"px"),width:f}},{children:u.map((function(t,o){var s,d,f=Boolean(null===(d=null===(s=t.row.rowMeta)||void 0===s?void 0:s.children)||void 0===d?void 0:d.length);return e.jsxs(n.Fragment,{children:[e.jsx(N,{getNextRowIndex:w,gridTemplateColumns:c,index:o,pinned:i,props:r(r({},h),{onExpandRowClick:a,visibleRows:u}),rowHeight:l,visibleRow:t}),0!==o&&e.jsx(T,{lastGroupRow:f,position:t.position,rowHeight:l,templateColumns:c})]},o)}))}))},O=function(t){var l,s,c,d,u,f=t.centerHeaderRef,h=t.currentRows,g=t.headerContainerRef,w=t.mainBodyRef,m=t.mainTemplateColumns,p=t.pinnedLeftColumns,x=t.pinnedLeftHeaderRef,R=t.pinnedLeftRef,b=t.pinnedLeftTemplateColumns,C=t.pinnedRightColumns,I=t.pinnedRightHeaderRef,y=t.pinnedRightRef,M=t.pinnedRightTemplateColumns,j=t.scrollbarWidth,S=t.setScrollTop,H=t.tableBodyContainerRef,E=t.visibleRows;!function(e){var r=e.headerContainerRef,t=e.mainSectionRef,o=e.scrollbarWidth,a=n.useState(!1),i=a[0],l=a[1];n.useEffect((function(){var e=null==r?void 0:r.current;if(i&&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,i,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 a=new ResizeObserver((function(){o()}));return a.observe(n),function(){n&&a.unobserve(n)}}}),[r,t])}({headerContainerRef:g,mainSectionRef:H,scrollbarWidth:j});var D=n.useRef(null),k=n.useRef(null),N=n.useState(h),T=N[0],O=N[1],B=n.useState(1),W=B[0],A=B[1],P=n.useState(!1),z=P[0],F=P[1],U=n.useState(!0),K=U[0],V=U[1];n.useEffect((function(){O(h)}),[h]);var q=function(e){var n=0,r=function(e){e.forEach((function(e){n+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&r(e.rowMeta.children)}))};return r(e),n}(T),J=41*q-1,X=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};O((function(e){return e.map(n)}))},G=n.useCallback((function(){return o(void 0,void 0,void 0,(function(){var e;return a(this,(function(n){return z||!K||(F(!0),e=h.slice(20*W,20*(W+1)),O((function(n){return i(i([],n,!0),e,!0)})),A((function(e){return e+1})),F(!1),e.length<20/3&&V(!1)),[2]}))}))}),[h,K,z,W]),Y=n.useCallback((function(e){e[0].isIntersecting&&K&&!z&&G()}),[K,z,G]);n.useEffect((function(){return D.current=new IntersectionObserver(Y,{root:null,rootMargin:"100px",threshold:0}),H.current&&D.current.observe(H.current),function(){D.current&&D.current.disconnect()}}),[Y,T,H]);var _=(null===(l=x.current)||void 0===l?void 0:l.clientWidth)?(null===(s=x.current)||void 0===s?void 0:s.clientWidth)+1:0,$=null===(c=f.current)||void 0===c?void 0:c.clientWidth,Q=(null===(d=I.current)||void 0===d?void 0:d.clientWidth)?(null===(u=I.current)||void 0===u?void 0:u.clientWidth)+1:0;return e.jsxs("div",r({className:"st-table-body-container",ref:H,onScroll:function(e){var n=e.currentTarget.scrollTop;k.current&&cancelAnimationFrame(k.current),k.current=requestAnimationFrame((function(){S(n)}))}},{children:[p.length>0&&e.jsx(L,r({},t,{onExpandRowClick:X,pinned:"left",rowHeight:v,sectionRef:R,templateColumns:b,totalHeight:J,visibleRows:E,width:_})),e.jsx(L,r({},t,{onExpandRowClick:X,rowHeight:v,sectionRef:w,templateColumns:m,totalHeight:J,visibleRows:E,width:$})),C.length>0&&e.jsx(L,r({},t,{onExpandRowClick:X,pinned:"right",rowHeight:v,sectionRef:y,templateColumns:M,totalHeight:J,visibleRows:E,width:Q}))]}))},B={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 B.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?B.string(e,n,r):"number"==typeof e&&"number"==typeof n?B.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?B.boolean(e,n,r):B.string(String(e),String(n),r)}},W=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 B.number(a,i,t)}return"date"===r?B.date(String(e),String(n),t):"boolean"===r?B.boolean(Boolean(e),Boolean(n),t):"enum"===r?B.enum(String(e),String(n),t):B.string(String(e),String(n),t)},A=function(e,n,t){var o=t.find((function(e){return e.accessor===n.key.accessor})),a=(null==o?void 0:o.type)||"string",l=n.direction,s=new Map,c=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(s.size)).toString();d=t,c.set(d,e),s.has(d)||s.set(d,[])}else if(d){var o=s.get(d)||[];o.push(e),s.set(d,o)}else{var a="default";s.has(a)||s.set(a,[]),null===(r=s.get(a))||void 0===r||r.push(e)}}));var u=[];return s.forEach((function(e,o){if(c.has(o)){var s=c.get(o);s.rowMeta.children&&s.rowMeta.children.length>0&&(s.rowMeta.children=P(s.rowMeta.children,n,t)),u.push(s)}var d=i([],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 W(o,i,a,l)}));u.push.apply(u,d.map((function(e){var o=r({},e);if(o.rowMeta.children&&o.rowMeta.children.length>0){var a=P(o.rowMeta.children,n,t);o.rowMeta=r(r({},o.rowMeta),{children:a})}return o})))})),u},P=function(e,n,t){var o=t.find((function(e){return e.accessor===n.key.accessor})),a=(null==o?void 0:o.type)||"string",l=n.direction;return i([],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 W(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}))},z=function(e){var n=e.event,r=e.forceUpdate,t=e.header,o=e.headersRef,a=e.index;e.reverse;var i=e.setIsWidthDragging,l=e.startWidth;i(!0),n.preventDefault();var s=n.clientX;if(t){var c=function(e){var n=Math.max(l+(e.clientX-s),40);t&&o.current&&(o.current[a].width=n,r())},d=function(){document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d),i(!1)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)}},F=n.forwardRef((function(t,o){var a,i=t.columnResizing,l=t.currentRows,s=t.columnReordering,c=t.draggedHeaderRef,d=t.forceUpdate,u=t.headersRef,f=t.hoveredHeaderRef,h=t.index,v=t.onColumnOrderChange,g=t.onSort,w=t.onTableHeaderDragEnd,p=t.reverse,x=t.rowHeight,R=t.selectableColumns,b=t.setIsWidthDragging,C=t.setSelectedCells,I=t.sort,M=t.sortDownIcon,j=t.sortUpIcon,H=n.useState(!1),E=H[0],D=H[1],k=null===(a=u.current)||void 0===a?void 0:a[h],N=Boolean(null==k?void 0:k.isSortable),T="st-header-cell ".concat(k===f.current?"st-hovered":""," ").concat(E?"st-dragging":""," ").concat(N?"clickable":""," ").concat(s&&!N?"columnReordering":""," ").concat("right"===(null==k?void 0:k.align)?"right-aligned":"center"===(null==k?void 0:k.align)?"center-aligned":""),L=S({draggedHeaderRef:c,headersRef:u,hoveredHeaderRef:f,onColumnOrderChange:v,onTableHeaderDragEnd:w}),O=L.handleDragStart,B=L.handleDragEnd,W=L.handleDragOver,A=y(),P=function(e){var n=e.event,r=e.header;if(R){var t=l.length,o=Array.from({length:t},(function(e,n){return"".concat(n,"-").concat(h)})),a=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("".concat(n,"-").concat(o+t))}))})),r};n.shiftKey?C((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)})):C(new Set(o))}else r.isSortable&&g(h,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)}}),[]),!k)return null;var F=i&&e.jsx("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;A({callback:z,callbackProps:{event:e,forceUpdate:d,header:k,headersRef:u,index:h,setIsWidthDragging:b,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),U=I&&I.key.accessor===k.accessor&&e.jsxs("div",r({className:"st-sort-icon-container",onClick:function(e){return P({event:e,header:k})}},{children:["ascending"===I.direction&&j&&j,"descending"===I.direction&&M&&M]}));return e.jsxs("div",r({className:T,id:m({accessor:k.accessor,rowIndex:0}),onDragOver:function(e){A({callback:W,callbackProps:{event:e,hoveredHeader:k},limit:50})},ref:o,style:{width:k.width,height:x}},{children:[p&&F,e.jsxs("div",r({className:"st-header-label ".concat("right"===k.align?"right-aligned":""),draggable:s,onClick:function(e){return P({event:e,header:k})},onDragEnd:function(e){e.preventDefault(),D(!1),B()},onDragStart:function(e){s&&k&&function(e){D(!0),O(e)}(k)}},{children:["right"===k.align&&U,null==k?void 0:k.label,"right"!==k.align&&U]})),!p&&F]}))})),U=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])},K=function(t){var o,a,i,l=t.allowAnimations,s=t.centerHeaderRef,c=t.columnResizing,d=t.currentRows,u=t.columnReordering,f=t.draggedHeaderRef,h=t.forceUpdate,g=t.headerContainerRef,w=t.headersRef,m=t.hiddenColumns,x=t.hoveredHeaderRef,R=t.isWidthDragging,b=t.mainBodyRef,C=t.mainTemplateColumns,I=t.onColumnOrderChange,y=t.onSort,M=t.onTableHeaderDragEnd,j=t.pinnedLeftColumns,S=t.pinnedLeftHeaderRef,H=t.pinnedLeftTemplateColumns,D=t.pinnedRightColumns,k=t.pinnedRightHeaderRef,N=t.pinnedRightTemplateColumns,T=t.selectableColumns,L=t.setIsWidthDragging,O=t.setSelectedCells,B=t.sort,W=t.sortDownIcon,A=t.sortUpIcon;U(b,s);return e.jsxs("div",r({className:"st-header-container",ref:g},{children:[j.length>0&&e.jsx("div",r({className:"st-header-pinned-left",ref:S,style:{gridTemplateColumns:H}},{children:e.jsx(E,r({allowAnimations:l,draggedHeaderRef:f,headersRef:w,mainBodyRef:b,pauseAnimation:R,rowIndex:0},{children:null===(o=w.current)||void 0===o?void 0:o.map((function(r,t){return p({hiddenColumns:m,header:r,pinned:"left"})?e.jsx(F,{columnResizing:c,currentRows:d,columnReordering:u,draggedHeaderRef:f,forceUpdate:h,headersRef:w,hoveredHeaderRef:x,index:t,onColumnOrderChange:I,onSort:y,onTableHeaderDragEnd:M,ref:n.createRef(),rowHeight:v,selectableColumns:T,setIsWidthDragging:L,setSelectedCells:O,sort:B,sortDownIcon:W,sortUpIcon:A},r.accessor):null}))}))})),e.jsx("div",r({className:"st-header-main",onScroll:function(e){var n,r,t=null===(n=s.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=b.current)||void 0===r||r.scrollTo(t,0))},ref:s,style:{gridTemplateColumns:C}},{children:e.jsx(E,r({allowAnimations:l,draggedHeaderRef:f,headersRef:w,mainBodyRef:b,pauseAnimation:R,rowIndex:0},{children:null===(a=w.current)||void 0===a?void 0:a.map((function(r,t){return p({hiddenColumns:m,header:r})?e.jsx(F,{columnResizing:c,currentRows:d,columnReordering:u,draggedHeaderRef:f,forceUpdate:h,headersRef:w,hoveredHeaderRef:x,index:t,onColumnOrderChange:I,onSort:y,onTableHeaderDragEnd:M,ref:n.createRef(),rowHeight:v,selectableColumns:T,setIsWidthDragging:L,setSelectedCells:O,sort:B,sortDownIcon:W,sortUpIcon:A},r.accessor):null}))}))})),D.length>0&&e.jsx("div",r({className:"st-header-pinned-right",ref:k,style:{gridTemplateColumns:N}},{children:e.jsx(E,r({allowAnimations:l,draggedHeaderRef:f,headersRef:w,mainBodyRef:b,pauseAnimation:R,rowIndex:0},{children:null===(i=w.current)||void 0===i?void 0:i.map((function(r,t){return p({hiddenColumns:m,header:r,pinned:"right"})?e.jsx(F,{columnResizing:c,currentRows:d,columnReordering:u,draggedHeaderRef:f,forceUpdate:h,headersRef:w,hoveredHeaderRef:x,index:t,onColumnOrderChange:I,onSort:y,onTableHeaderDragEnd:M,reverse:!0,ref:n.createRef(),rowHeight:v,selectableColumns:T,setIsWidthDragging:L,setSelectedCells:O,sort:B,sortDownIcon:W,sortUpIcon:A},r.accessor):null}))}))}))]}))},V=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},q=function(t){var o=t.allowAnimations,a=t.columnReordering,i=t.columnResizing,l=t.currentRows,s=t.draggedHeaderRef,c=t.editColumns,d=t.forceUpdate,u=t.getBorderClass,f=t.handleMouseDown,h=t.handleMouseOver,v=t.headersRef,g=t.hiddenColumns,w=t.hoveredHeaderRef,m=t.isSelected,p=t.isInitialFocusedCell,x=t.isWidthDragging,R=t.mainBodyRef,b=t.onCellEdit,C=t.onColumnOrderChange,I=t.onSort,y=t.onTableHeaderDragEnd,M=t.pinnedLeftRef,j=t.pinnedRightRef,S=t.scrollbarWidth,H=t.selectableColumns,E=t.setIsWidthDragging,D=t.setScrollTop,k=t.setSelectedCells,N=t.shouldPaginate,T=t.sort,L=t.sortDownIcon,B=t.sortUpIcon,W=t.tableBodyContainerRef,A=t.visibleRows,P=n.useRef(null),z=n.useRef(null),F=n.useRef(null),U=n.useRef(null),q=v.current.filter((function(e){return!e.hide&&!e.pinned})),J=v.current.filter((function(e){return"left"===e.pinned&&!0!==e.hide})),X=v.current.filter((function(e){return"right"===e.pinned&&!0!==e.hide})),G=n.useMemo((function(){return"".concat(J.map((function(e){return V(e)})).join(" "))}),[J]),Y=n.useMemo((function(){return"".concat(q.filter((function(e){return!0!==g[e.accessor]})).map((function(e){return V(e)})).join(" "))}),[q,g]),_=n.useMemo((function(){return"".concat(X.map((function(e){return V(e)})).join(" "))}),[X]),$={allowAnimations:o,centerHeaderRef:F,columnResizing:i,currentRows:l,columnReordering:a,draggedHeaderRef:s,forceUpdate:d,headerContainerRef:P,headersRef:v,hiddenColumns:g,hoveredHeaderRef:w,isWidthDragging:x,mainBodyRef:R,mainTemplateColumns:Y,onColumnOrderChange:C,onSort:I,onTableHeaderDragEnd:y,pinnedLeftColumns:J,pinnedLeftHeaderRef:z,pinnedLeftTemplateColumns:G,pinnedRightColumns:X,pinnedRightHeaderRef:U,pinnedRightTemplateColumns:_,selectableColumns:H,setIsWidthDragging:E,setSelectedCells:k,sort:T,sortDownIcon:L,sortUpIcon:B,tableBodyContainerRef:W},Q={allowAnimations:o,centerHeaderRef:F,currentRows:l,draggedHeaderRef:s,getBorderClass:u,handleMouseDown:f,handleMouseOver:h,headerContainerRef:P,headers:v.current,headersRef:v,hiddenColumns:g,hoveredHeaderRef:w,isSelected:m,isInitialFocusedCell:p,isWidthDragging:x,mainBodyRef:R,mainTemplateColumns:Y,onCellEdit:b,onTableHeaderDragEnd:y,pinnedLeftColumns:J,pinnedLeftHeaderRef:z,pinnedLeftRef:M,pinnedLeftTemplateColumns:G,pinnedRightColumns:X,pinnedRightHeaderRef:U,pinnedRightRef:j,pinnedRightTemplateColumns:_,scrollbarWidth:S,shouldPaginate:N,setScrollTop:D,tableBodyContainerRef:W,visibleRows:A};return e.jsxs("div",r({className:"st-table-content",style:{width:c?"calc(100% - 27.5px)":"100%"}},{children:[e.jsx(K,r({},$)),e.jsx(O,r({},Q))]}))},J=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 a=new ResizeObserver((function(){n()}));return a.observe(e),function(){return a.disconnect()}}}),[r,t,o])},X=function(t){var o=t.mainBodyRef,a=t.pinnedLeftRef,i=t.pinnedRightRef,l=t.tableContentWidth,s=n.useState(0),c=s[0],d=s[1],u=n.useState(0),f=u[0],h=u[1],v=n.useState(0),g=v[0],w=v[1],m=n.useRef(null);return J({widthAttribute:"offsetWidth",callback:d,ref:a}),J({widthAttribute:"scrollWidth",callback:w,ref:o}),J({widthAttribute:"offsetWidth",callback:h,ref:i}),U(o,m),!o.current||o.current.scrollWidth<=o.current.clientWidth?null:e.jsxs("div",r({className:"st-horizontal-scrollbar-container",style:{width:l}},{children:[c>0&&e.jsx("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:c}}),g>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:g}})})),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),a=o[0],i=o[1],l=n.useMemo((function(){var e={};return r.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[r]),s=n.useState(l),c=s[0],d=s[1],u=n.useMemo((function(){if(!a)return t;var e=function(e,n,r){return{sortedData:A(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:c,setHiddenColumns:d}},Y=function(t){var o=t.checked,a=void 0!==o&&o,i=t.children,l=t.onChange,s=n.useState(a),c=s[0],d=s[1];return e.jsxs("label",r({className:"st-checkbox-label"},{children:[e.jsx("input",{checked:c,className:"st-checkbox-input",onChange:function(){var e=!c;d(e),l&&l(e)},type:"checkbox"}),e.jsx("span",r({className:"st-checkbox-custom ".concat(c?"st-checked":"")},{children:c&&e.jsx("span",{className:"st-checkbox-checkmark"})})),i]}))},_=function(n){var t=n.headers,o=n.open,a=n.position;n.setOpen;var i=n.setHiddenColumns,l=n.hiddenColumns,s="left"===a?"left":"";return e.jsx("div",r({className:"st-column-editor-popout ".concat(o?"open":""," ").concat(s),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(Y,r({checked:l[n.accessor],onChange:function(e){var t;return i(r(r({},l),((t={})[n.accessor]=e,t)))}},{children:n.label}),t)}))}))}))},$=function(t){var o=t.columnEditorText,a=t.editColumns,i=t.editColumnsInitOpen,l=t.headers,s=t.position,c=void 0===s?"right":s,d=t.setHiddenColumns,u=t.hiddenColumns,f=n.useState(i),h=f[0],v=f[1];return a?e.jsxs("div",r({className:"st-column-editor ".concat(h?"open":""," ").concat(c),onClick:function(){return function(e){v(e)}(!h)}},{children:[e.jsx("div",r({className:"st-column-editor-text"},{children:o})),e.jsx(_,{headers:l,open:h,position:c,setOpen:v,setHiddenColumns:d,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(l||(l={}));var Q=n.memo((function(t){var o=t.allowAnimations,a=void 0!==o&&o,i=t.columnEditorPosition,g=void 0===i?l.Right:i,w=t.columnEditorText,m=void 0===w?"Columns":w,p=t.columnResizing,x=void 0!==p&&p,R=t.defaultHeaders,b=t.editColumns,C=void 0!==b&&b,I=t.editColumnsInitOpen,y=void 0!==I&&I,M=t.columnReordering,j=void 0!==M&&M,S=t.height,H=t.hideFooter,E=void 0!==H&&H,D=t.nextIcon,k=void 0===D?e.jsx(u,{className:"st-next-prev-icon"}):D,N=t.onCellEdit,T=t.onColumnOrderChange,L=t.onNextPage,O=t.onPreviousPage,B=t.prevIcon,W=void 0===B?e.jsx(d,{className:"st-next-prev-icon"}):B,A=t.rows,P=t.rowsPerPage,z=void 0===P?10:P,F=t.selectableCells,U=void 0!==F&&F,K=t.selectableColumns,V=void 0!==K&&K,J=t.shouldPaginate,Y=void 0!==J&&J,_=t.sortDownIcon,Q=void 0===_?e.jsx(h,{className:"st-sort-icon"}):_,Z=t.sortUpIcon,ee=void 0===Z?e.jsx(f,{className:"st-sort-icon"}):Z,ne=t.theme,re=void 0===ne?"light":ne,te=t.totalPages,oe=n.useRef(null),ae=n.useRef(R),ie=n.useRef(null),le=n.useRef(null),se=n.useRef(null),ce=n.useRef(null),de=n.useRef(null),ue=n.useState(!1),fe=ue[0],he=ue[1],ve=n.useState(1),ge=ve[0],we=ve[1],me=n.useState(0),pe=me[0],xe=me[1],Re=n.useState(0),be=Re[0],Ce=Re[1],Ie=n.useState(0),ye=Ie[0],Me=Ie[1],je=G({headers:ae.current,tableRows:A}),Se=je.sort,He=je.sortedRows,Ee=je.hiddenColumns,De=je.setHiddenColumns,ke=je.updateSort,Ne=n.useMemo((function(){return function(e){var n=e.bufferRowCount,r=e.containerHeight,t=e.rowHeight,o=e.rows,a=e.scrollTop,i=[],l=0,s=Math.max(0,a-t*n),c=a+r+t*n,d=function(e,n){for(var r,o=0,a=e;o<a.length;o++){var u=a[o],f=l*t;if(f>=c)break;f+t>s&&i.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&&d(u.rowMeta.children,n+1)}};return d(o,0),i}({bufferRowCount:5,containerHeight:600,rowHeight:v,rows:A,scrollTop:ye})}),[A,ye]),Te=n.useReducer((function(e){return e+1}),0)[1],Le=function(e){var r=e.selectableCells,t=e.headers,o=e.visibleRows,a=n.useState(new Set),i=a[0],l=a[1],c=n.useState(null),d=c[0],u=c[1],f=n.useRef(!1),h=n.useRef(null),v=n.useCallback((function(){var e=Array.from(i).reduce((function(e,n){var r=n.split("-").map(Number),a=r[0],i=r[1];return e[a]||(e[a]=[]),e[a][i]=o[a].row.rowData[t[i].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");i.size>0&&navigator.clipboard.writeText(n)}),[t,i,o]),g=n.useCallback((function(e,n){for(var r=new Set,t=Math.min(e.rowIndex,n.rowIndex),a=Math.max(e.rowIndex,n.rowIndex),i=Math.min(e.colIndex,n.colIndex),c=Math.max(e.colIndex,n.colIndex),d=t;d<=a;d++)for(var u=i;u<=c;u++)if(d>=0&&d<o.length){var f=o[d].row.rowMeta.rowId;r.add(s({colIndex:u,rowIndex:d,rowId:f}))}l(r)}),[o]),w=n.useCallback((function(e){if(e.rowIndex>=0&&e.rowIndex<o.length&&e.colIndex>=0&&e.colIndex<t.length){var n=s(e);l(new Set([n])),u(e)}}),[t.length,o.length]);n.useEffect((function(){var e=function(e){if(r&&d){var n=d.rowIndex,a=d.colIndex;if(d.rowId,!e.ctrlKey&&!e.metaKey||"c"!==e.key)if("ArrowUp"===e.key){if(e.preventDefault(),n>0){var i={rowIndex:n-1,colIndex:a,rowId:o[n-1].row.rowMeta.rowId};w(i)}}else"ArrowDown"===e.key?(e.preventDefault(),n<o.length-1&&(i={rowIndex:n+1,colIndex:a,rowId:o[n+1].row.rowMeta.rowId},w(i))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),a>0&&(i={rowIndex:n,colIndex:a-1,rowId:o[n].row.rowMeta.rowId},w(i))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),a<t.length-1&&(i={rowIndex:n,colIndex:a+1,rowId:o[n].row.rowMeta.rowId},w(i))):"Escape"===e.key&&(l(new Set),h.current=null,u(null));else v()}};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[v,t.length,d,g,w,r,o]);var m=n.useCallback((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,o=s({colIndex:n,rowIndex:r,rowId:t});return i.has(o)}),[i]),p=n.useCallback((function(e){var n,r,t,a,i,l,s=e.colIndex,c=e.rowIndex,d=e.rowId,u=[],f=null===(t=null===(r=null===(n=o[c-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,h={colIndex:s,rowIndex:c+1,rowId:null===(l=null===(i=null===(a=o[c+1])||void 0===a?void 0:a.row)||void 0===i?void 0:i.rowMeta)||void 0===l?void 0:l.rowId},v={colIndex:s-1,rowIndex:c,rowId:d},g={colIndex:s+1,rowIndex:c,rowId:d};return m({colIndex:s,rowIndex:c-1,rowId:f})||u.push("st-selected-top-border"),m(h)||u.push("st-selected-bottom-border"),m(v)||u.push("st-selected-left-border"),m(g)||u.push("st-selected-right-border"),u.join(" ")}),[m,o]),x=n.useMemo((function(){return d?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===d.rowIndex&&r===d.colIndex&&t===d.rowId}:function(){return!1}}),[d,o]);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 a=s({colIndex:n,rowIndex:t,rowId:o});l(new Set([a])),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 a=new Set,i=Math.min(h.current.rowIndex,t),c=Math.max(h.current.rowIndex,t),d=Math.min(h.current.colIndex,n),u=Math.max(h.current.colIndex,n),v=i;v<=c;v++)for(var g=d;g<=u;g++)if(v>=0&&v<o.length){var w=o[v].row.rowMeta.rowId;a.add(s({colIndex:g,rowIndex:v,rowId:w}))}l(a)}},handleMouseUp:function(){f.current=!1},isInitialFocusedCell:x,isSelected:m,selectedCells:i,setSelectedCells:l}}({selectableCells:U,headers:ae.current,visibleRows:Ne}),Oe=Le.handleMouseDown,Be=Le.handleMouseOver,We=Le.handleMouseUp,Ae=Le.isSelected,Pe=Le.getBorderClass,ze=Le.isInitialFocusedCell,Fe=Le.setSelectedCells,Ue=n.useMemo((function(){return Y?He.slice((ge-1)*z,ge*z):He}),[ge,z,Y,He]),Ke=n.useCallback((function(e,n){ke(e,n)}),[ke]),Ve=n.useCallback((function(e){ae.current=e,Te()}),[]);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"))||Fe(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[V,Fe]),n.useLayoutEffect((function(){if(de.current){var e=de.current.offsetWidth-de.current.clientWidth,n=de.current.clientWidth;xe(e),Ce(n)}}),[]),n.useLayoutEffect((function(){var e=function(){if(Te(),de.current){var e=de.current.offsetWidth-de.current.clientWidth,n=de.current.clientWidth;xe(e),Ce(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),e.jsxs("div",r({className:"simple-table-root st-wrapper theme-".concat(re),style:S?{height:S}:{}},{children:[e.jsxs("div",r({className:"st-table-wrapper-container"},{children:[e.jsxs("div",r({className:"st-table-wrapper",onMouseUp:We,onMouseLeave:We},{children:[e.jsx(q,{allowAnimations:a,columnReordering:j,columnResizing:x,currentRows:Ue,draggedHeaderRef:oe,editColumns:C,forceUpdate:Te,getBorderClass:Pe,handleMouseDown:Oe,handleMouseOver:Be,headers:ae.current,headersRef:ae,hiddenColumns:Ee,hoveredHeaderRef:ie,isSelected:Ae,isInitialFocusedCell:ze,isWidthDragging:fe,mainBodyRef:le,onCellEdit:N,onColumnOrderChange:T,onSort:Ke,onTableHeaderDragEnd:Ve,pinnedLeftRef:se,pinnedRightRef:ce,scrollbarWidth:pe,selectableColumns:V,setIsWidthDragging:he,setScrollTop:Me,setSelectedCells:Fe,shouldPaginate:Y,sort:Se,sortDownIcon:Q,sortUpIcon:ee,tableBodyContainerRef:de,visibleRows:Ne}),e.jsx($,{columnEditorText:m,editColumns:C,editColumnsInitOpen:y,headers:ae.current,hiddenColumns:Ee,position:g,setHiddenColumns:De})]})),e.jsx(X,{mainBodyRef:le,pinnedLeftRef:se,pinnedRightRef:ce,tableContentWidth:be})]})),e.jsx(c,{currentPage:ge,hideFooter:E,nextIcon:k,onPageChange:we,onNextPage:L,onPreviousPage:O,prevIcon:W,shouldPaginate:Y,totalPages:te||Math.ceil(He.length/z)})]}))}));exports.SimpleTable=Q;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/types/Cell.d.ts
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import { RefObject } from "react";
|
|
2
|
-
import { MouseDownProps } from "../hooks/useSelection";
|
|
1
|
+
import { Dispatch, RefObject, SetStateAction } from "react";
|
|
3
2
|
import CellChangeProps from "./CellChangeProps";
|
|
4
3
|
import HeaderObject from "./HeaderObject";
|
|
5
4
|
import SharedTableProps from "./SharedTableProps";
|
|
6
5
|
import Row from "./Row";
|
|
6
|
+
import Cell from "./Cell";
|
|
7
|
+
import VisibleRow from "./VisibleRow";
|
|
7
8
|
interface TableBodyProps extends SharedTableProps {
|
|
8
9
|
currentRows: Row[];
|
|
9
|
-
getBorderClass: (
|
|
10
|
-
handleMouseDown: (props:
|
|
11
|
-
handleMouseOver: (
|
|
10
|
+
getBorderClass: (props: Cell) => string;
|
|
11
|
+
handleMouseDown: (props: Cell) => void;
|
|
12
|
+
handleMouseOver: (props: Cell) => void;
|
|
12
13
|
headers: HeaderObject[];
|
|
13
|
-
isSelected: (
|
|
14
|
-
|
|
14
|
+
isSelected: (props: Cell) => boolean;
|
|
15
|
+
isInitialFocusedCell: (props: Cell) => boolean;
|
|
15
16
|
onCellEdit?: (props: CellChangeProps) => void;
|
|
16
17
|
pinnedLeftRef: RefObject<HTMLDivElement | null>;
|
|
17
18
|
pinnedRightRef: RefObject<HTMLDivElement | null>;
|
|
18
19
|
scrollbarWidth: number;
|
|
20
|
+
setScrollTop: Dispatch<SetStateAction<number>>;
|
|
19
21
|
shouldPaginate: boolean;
|
|
22
|
+
visibleRows: VisibleRow[];
|
|
20
23
|
}
|
|
21
24
|
export default TableBodyProps;
|
|
@@ -3,6 +3,7 @@ import HeaderObject from "./HeaderObject";
|
|
|
3
3
|
import CellChangeProps from "./CellChangeProps";
|
|
4
4
|
import { RowId } from "./RowId";
|
|
5
5
|
import VisibleRow from "./VisibleRow";
|
|
6
|
+
import Cell from "./Cell";
|
|
6
7
|
export interface TableCellProps {
|
|
7
8
|
borderClass: string;
|
|
8
9
|
colIndex: number;
|
|
@@ -11,11 +12,11 @@ export interface TableCellProps {
|
|
|
11
12
|
headersRef: RefObject<HeaderObject[]>;
|
|
12
13
|
hoveredHeaderRef: RefObject<HeaderObject | null>;
|
|
13
14
|
isSelected: boolean;
|
|
14
|
-
|
|
15
|
+
isInitialFocusedCell: boolean;
|
|
15
16
|
onCellEdit?: (props: CellChangeProps) => void;
|
|
16
17
|
onExpandRowClick: (rowId: RowId) => void;
|
|
17
|
-
onMouseDown: (
|
|
18
|
-
onMouseOver: (
|
|
18
|
+
onMouseDown: (props: Cell) => void;
|
|
19
|
+
onMouseOver: (props: Cell) => void;
|
|
19
20
|
onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
|
|
20
21
|
rowIndex: number;
|
|
21
22
|
visibleRow: VisibleRow;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RefObject } from "react";
|
|
2
|
+
import TableHeaderProps from "./TableHeaderProps";
|
|
3
|
+
import TableBodyProps from "./TableBodyProps";
|
|
4
|
+
type OmittedTableProps = "centerHeaderRef" | "headerContainerRef" | "mainTemplateColumns" | "pinnedLeftColumns" | "pinnedLeftHeaderRef" | "pinnedLeftTemplateColumns" | "pinnedRightColumns" | "pinnedRightHeaderRef" | "pinnedRightTemplateColumns";
|
|
5
|
+
interface TableContentProps extends Omit<TableHeaderProps, OmittedTableProps>, Omit<TableBodyProps, OmittedTableProps> {
|
|
6
|
+
editColumns: boolean;
|
|
7
|
+
pinnedLeftRef: RefObject<HTMLDivElement | null>;
|
|
8
|
+
pinnedRightRef: RefObject<HTMLDivElement | null>;
|
|
9
|
+
}
|
|
10
|
+
export default TableContentProps;
|
|
@@ -15,7 +15,7 @@ interface TableHeaderProps extends SharedTableProps {
|
|
|
15
15
|
onSort: OnSortProps;
|
|
16
16
|
selectableColumns: boolean;
|
|
17
17
|
setIsWidthDragging: Dispatch<SetStateAction<boolean>>;
|
|
18
|
-
setSelectedCells: Dispatch<
|
|
18
|
+
setSelectedCells: Dispatch<SetStateAction<Set<string>>>;
|
|
19
19
|
sort: SortConfig | null;
|
|
20
20
|
sortDownIcon?: ReactNode;
|
|
21
21
|
sortUpIcon?: ReactNode;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RefObject } from "react";
|
|
2
2
|
import CellChangeProps from "./CellChangeProps";
|
|
3
3
|
import HeaderObject from "./HeaderObject";
|
|
4
|
-
import { MouseDownProps } from "../hooks/useSelection";
|
|
5
4
|
import Row from "./Row";
|
|
5
|
+
import Cell from "./Cell";
|
|
6
6
|
type TableRowProps = {
|
|
7
7
|
allowAnimations: boolean;
|
|
8
8
|
currentRows: {
|
|
@@ -10,14 +10,14 @@ type TableRowProps = {
|
|
|
10
10
|
}[];
|
|
11
11
|
draggedHeaderRef: RefObject<HeaderObject | null>;
|
|
12
12
|
getBorderClass: (rowIndex: number, columnIndex: number) => string;
|
|
13
|
-
handleMouseDown: (props:
|
|
13
|
+
handleMouseDown: (props: Cell) => void;
|
|
14
14
|
handleMouseOver: (rowIndex: number, columnIndex: number) => void;
|
|
15
15
|
headers: HeaderObject[];
|
|
16
16
|
headersRef: RefObject<HeaderObject[]>;
|
|
17
17
|
hiddenColumns: Record<string, boolean>;
|
|
18
18
|
hoveredHeaderRef: RefObject<HeaderObject | null>;
|
|
19
19
|
isSelected: (rowIndex: number, columnIndex: number) => boolean;
|
|
20
|
-
|
|
20
|
+
isInitialFocusedCell: (rowIndex: number, columnIndex: number) => boolean;
|
|
21
21
|
isWidthDragging: boolean;
|
|
22
22
|
onCellEdit?: (props: CellChangeProps) => void;
|
|
23
23
|
onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
|