simple-table-core 0.7.30 → 0.7.32

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.
@@ -1,17 +1,10 @@
1
- import React, { RefObject } from "react";
2
- import HeaderObject from "../types/HeaderObject";
1
+ import React from "react";
3
2
  export declare const TEST_KEY = "productId";
4
3
  interface AnimateProps {
5
- allowHorizontalAnimate?: boolean;
6
4
  children: React.ReactNode | React.ReactNode[];
7
- draggedHeaderRef?: RefObject<HeaderObject | null>;
8
- headersRef: RefObject<HeaderObject[]>;
9
5
  isBody?: boolean;
10
- mainBodyRef: RefObject<HTMLDivElement | null>;
11
6
  pauseAnimation?: boolean;
12
7
  rowIndex: number;
13
8
  }
14
- declare const AnimateWrapper: ({ allowAnimations, children, ...props }: AnimateProps & {
15
- allowAnimations: boolean;
16
- }) => import("react/jsx-runtime").JSX.Element;
9
+ declare const AnimateWrapper: ({ children, ...props }: AnimateProps) => import("react/jsx-runtime").JSX.Element;
17
10
  export default AnimateWrapper;
@@ -1,15 +1,15 @@
1
1
  import HeaderObject from "../../types/HeaderObject";
2
- import TableBodyProps from "../../types/TableBodyProps";
3
2
  import { RowId } from "../../types/RowId";
4
3
  import VisibleRow from "../../types/VisibleRow";
5
4
  import { Pinned } from "../../types/Pinned";
6
- type RenderCellsProps = {
5
+ interface RenderCellsProps {
7
6
  headers: HeaderObject[];
8
7
  hiddenColumns: Record<string, boolean>;
8
+ isWidthDragging: boolean;
9
9
  onExpandRowClick: (rowId: RowId) => void;
10
10
  pinned?: Pinned;
11
11
  rowIndex: number;
12
12
  visibleRow: VisibleRow;
13
- } & Omit<TableBodyProps, "currentRows" | "headerContainerRef">;
14
- declare const RenderCells: ({ getBorderClass, handleMouseDown, handleMouseOver, headers, hiddenColumns, isSelected, isInitialFocusedCell, onExpandRowClick, pinned, rowIndex, visibleRow, ...props }: RenderCellsProps) => import("react/jsx-runtime").JSX.Element;
13
+ }
14
+ declare const RenderCells: ({ headers, hiddenColumns, isWidthDragging, onExpandRowClick, pinned, rowIndex, visibleRow, }: RenderCellsProps) => import("react/jsx-runtime").JSX.Element;
15
15
  export default RenderCells;
@@ -1,3 +1,22 @@
1
- import TableBodyProps from "../../types/TableBodyProps";
2
- declare const TableBody: (props: TableBodyProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { Dispatch, SetStateAction, RefObject } from "react";
2
+ import Row from "../../types/Row";
3
+ import VisibleRow from "../../types/VisibleRow";
4
+ import HeaderObject from "../../types/HeaderObject";
5
+ interface TableBodyLocalProps {
6
+ centerHeaderRef: RefObject<HTMLDivElement | null>;
7
+ flattenedRows: Row[];
8
+ headerContainerRef: RefObject<HTMLDivElement | null>;
9
+ isWidthDragging: boolean;
10
+ mainTemplateColumns: string;
11
+ pinnedLeftColumns: HeaderObject[];
12
+ pinnedLeftHeaderRef: RefObject<HTMLDivElement | null>;
13
+ pinnedLeftTemplateColumns: string;
14
+ pinnedRightColumns: HeaderObject[];
15
+ pinnedRightHeaderRef: RefObject<HTMLDivElement | null>;
16
+ pinnedRightTemplateColumns: string;
17
+ setFlattenedRows: Dispatch<SetStateAction<Row[]>>;
18
+ setScrollTop: Dispatch<SetStateAction<number>>;
19
+ visibleRows: VisibleRow[];
20
+ }
21
+ declare const TableBody: ({ centerHeaderRef, flattenedRows, headerContainerRef, isWidthDragging, mainTemplateColumns, pinnedLeftColumns, pinnedLeftHeaderRef, pinnedLeftTemplateColumns, pinnedRightColumns, pinnedRightHeaderRef, pinnedRightTemplateColumns, setFlattenedRows, setScrollTop, visibleRows, }: TableBodyLocalProps) => import("react/jsx-runtime").JSX.Element;
3
22
  export default TableBody;
@@ -1,4 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import TableCellProps from "../../types/TableCellProps";
3
- declare const TableCell: import("react").ForwardRefExoticComponent<TableCellProps & import("react").RefAttributes<HTMLDivElement>>;
3
+ interface MinimalCellProps {
4
+ colIndex: number;
5
+ header: TableCellProps["header"];
6
+ onExpandRowClick: TableCellProps["onExpandRowClick"];
7
+ rowIndex: number;
8
+ visibleRow: TableCellProps["visibleRow"];
9
+ }
10
+ declare const TableCell: import("react").ForwardRefExoticComponent<MinimalCellProps & import("react").RefAttributes<HTMLDivElement>>;
4
11
  export default TableCell;
@@ -1,3 +1,14 @@
1
- import TableContentProps from "../../types/TableContentProps";
2
- declare const TableContent: ({ allowAnimations, columnReordering, columnResizing, currentRows, draggedHeaderRef, editColumns, flattenedRows, forceUpdate, getBorderClass, handleMouseDown, handleMouseOver, headersRef, hiddenColumns, hoveredHeaderRef, isSelected, isInitialFocusedCell, isWidthDragging, mainBodyRef, onCellEdit, onColumnOrderChange, onSort, onTableHeaderDragEnd, pinnedLeftRef, pinnedRightRef, rowHeight, scrollbarWidth, selectableColumns, setIsWidthDragging, setFlattenedRows, setScrollTop, setSelectedCells, shouldPaginate, sort, sortDownIcon, sortUpIcon, tableBodyContainerRef, visibleRows, }: TableContentProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { Dispatch, SetStateAction } from "react";
2
+ import Row from "../../types/Row";
3
+ import SortConfig from "../../types/SortConfig";
4
+ import VisibleRow from "../../types/VisibleRow";
5
+ interface TableContentLocalProps {
6
+ flattenedRows: Row[];
7
+ isWidthDragging: boolean;
8
+ setFlattenedRows: Dispatch<SetStateAction<Row[]>>;
9
+ setScrollTop: Dispatch<SetStateAction<number>>;
10
+ sort: SortConfig | null;
11
+ visibleRows: VisibleRow[];
12
+ }
13
+ declare const TableContent: ({ flattenedRows, isWidthDragging, setFlattenedRows, setScrollTop, sort, visibleRows, }: TableContentLocalProps) => import("react/jsx-runtime").JSX.Element;
3
14
  export default TableContent;
@@ -1,3 +1,3 @@
1
1
  import TableHeaderProps from "../../types/TableHeaderProps";
2
- declare const TableHeader: ({ allowAnimations, centerHeaderRef, columnResizing, currentRows, columnReordering, draggedHeaderRef, forceUpdate, headerContainerRef, headersRef, hiddenColumns, hoveredHeaderRef, isWidthDragging, mainBodyRef, mainTemplateColumns, onColumnOrderChange, onSort, onTableHeaderDragEnd, pinnedLeftColumns, pinnedLeftHeaderRef, pinnedLeftTemplateColumns, pinnedRightColumns, pinnedRightHeaderRef, pinnedRightTemplateColumns, rowHeight, selectableColumns, setIsWidthDragging, setSelectedCells, sort, sortDownIcon, sortUpIcon, }: TableHeaderProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const TableHeader: ({ centerHeaderRef, headerContainerRef, headersRef, hiddenColumns, isWidthDragging, mainTemplateColumns, pinnedLeftColumns, pinnedLeftHeaderRef, pinnedLeftTemplateColumns, pinnedRightColumns, pinnedRightHeaderRef, pinnedRightTemplateColumns, sort, }: TableHeaderProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default TableHeader;
@@ -1,33 +1,15 @@
1
- import { SetStateAction, Dispatch, ReactNode, RefObject } from "react";
1
+ /// <reference types="react" />
2
2
  import HeaderObject from "../../types/HeaderObject";
3
3
  import SortConfig from "../../types/SortConfig";
4
- import OnSortProps from "../../types/OnSortProps";
5
- import Row from "../../types/Row";
6
- export interface TableHeaderCellProps {
4
+ export interface MinimalHeaderCellProps {
7
5
  colIndex: number;
8
- columnReordering: boolean;
9
- columnResizing: boolean;
10
- currentRows: Row[];
11
- draggedHeaderRef: RefObject<HeaderObject | null>;
12
- forceUpdate: () => void;
13
6
  gridColumnEnd: number;
14
7
  gridColumnStart: number;
15
8
  gridRowEnd: number;
16
9
  gridRowStart: number;
17
10
  header: HeaderObject;
18
- headersRef: RefObject<HeaderObject[]>;
19
- hoveredHeaderRef: RefObject<HeaderObject | null>;
20
- onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
21
- onSort: OnSortProps;
22
- onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
23
11
  reverse?: boolean;
24
- rowHeight: number;
25
- selectableColumns: boolean;
26
- setIsWidthDragging: Dispatch<SetStateAction<boolean>>;
27
- setSelectedCells: Dispatch<React.SetStateAction<Set<string>>>;
28
12
  sort: SortConfig | null;
29
- sortDownIcon?: ReactNode;
30
- sortUpIcon?: ReactNode;
31
13
  }
32
- declare const TableHeaderCell: import("react").ForwardRefExoticComponent<TableHeaderCellProps & import("react").RefAttributes<HTMLDivElement>>;
14
+ declare const TableHeaderCell: import("react").ForwardRefExoticComponent<MinimalHeaderCellProps & import("react").RefAttributes<HTMLDivElement>>;
33
15
  export default TableHeaderCell;
@@ -1,3 +1,3 @@
1
1
  import TableHeaderSectionProps from "../../types/TableHeaderSectionProps";
2
- declare const TableHeaderSection: ({ allowAnimations, columnReordering, columnResizing, currentRows, draggedHeaderRef, forceUpdate, gridTemplateColumns, handleScroll, headersRef, hiddenColumns, hoveredHeaderRef, isWidthDragging, mainBodyRef, maxDepth, onColumnOrderChange, onSort, onTableHeaderDragEnd, pinned, rowHeight, sectionRef, selectableColumns, setIsWidthDragging, setSelectedCells, sort, sortDownIcon, sortUpIcon, }: TableHeaderSectionProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const TableHeaderSection: ({ gridTemplateColumns, handleScroll, headersRef, hiddenColumns, isWidthDragging, maxDepth, pinned, sectionRef, sort, }: TableHeaderSectionProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default TableHeaderSection;
@@ -1,16 +1,18 @@
1
1
  import { RowId } from "../../types/RowId";
2
- import TableBodyProps from "../../types/TableBodyProps";
3
2
  import VisibleRow from "../../types/VisibleRow";
4
3
  import { Pinned } from "../../types/Pinned";
5
- declare const TableRow: ({ getNextRowIndex, gridTemplateColumns, index, pinned, props, rowHeight, visibleRow, }: {
4
+ import HeaderObject from "../../types/HeaderObject";
5
+ interface TableRowProps {
6
6
  getNextRowIndex: () => number;
7
7
  gridTemplateColumns: string;
8
8
  index: number;
9
- pinned?: Pinned | undefined;
10
- props: Omit<TableBodyProps, "currentRows" | "headerContainerRef"> & {
11
- onExpandRowClick: (rowId: RowId) => void;
12
- };
9
+ pinned?: Pinned;
13
10
  rowHeight: number;
14
11
  visibleRow: VisibleRow;
15
- }) => import("react/jsx-runtime").JSX.Element;
12
+ headers: HeaderObject[];
13
+ hiddenColumns: Record<string, boolean>;
14
+ isWidthDragging: boolean;
15
+ onExpandRowClick: (rowId: RowId) => void;
16
+ }
17
+ declare const TableRow: ({ getNextRowIndex, gridTemplateColumns, headers, hiddenColumns, index, isWidthDragging, onExpandRowClick, pinned, rowHeight, visibleRow, }: TableRowProps) => import("react/jsx-runtime").JSX.Element;
16
18
  export default TableRow;
@@ -1,17 +1,21 @@
1
1
  import { RefObject } from "react";
2
- import TableBodyProps from "../../types/TableBodyProps";
3
2
  import VisibleRow from "../../types/VisibleRow";
4
3
  import { RowId } from "../../types/RowId";
5
4
  import { Pinned } from "../../types/Pinned";
6
- declare const TableSection: ({ headerContainerRef, onExpandRowClick, pinned, rowHeight, sectionRef, templateColumns, totalHeight, visibleRows, width, ...props }: {
5
+ import HeaderObject from "../../types/HeaderObject";
6
+ interface TableSectionProps {
7
7
  headerContainerRef: RefObject<HTMLDivElement | null>;
8
+ headers: HeaderObject[];
9
+ hiddenColumns: Record<string, boolean>;
10
+ isWidthDragging: boolean;
8
11
  onExpandRowClick: (rowId: RowId) => void;
9
- pinned?: Pinned | undefined;
12
+ pinned?: Pinned;
10
13
  rowHeight: number;
11
- sectionRef?: RefObject<HTMLDivElement | null> | undefined;
14
+ sectionRef?: RefObject<HTMLDivElement | null>;
12
15
  templateColumns: string;
13
16
  totalHeight: number;
14
17
  visibleRows: VisibleRow[];
15
- width?: number | undefined;
16
- } & Omit<TableBodyProps, "currentRows">) => import("react/jsx-runtime").JSX.Element;
18
+ width?: number;
19
+ }
20
+ declare const TableSection: ({ headerContainerRef, headers, hiddenColumns, isWidthDragging, onExpandRowClick, pinned, rowHeight, sectionRef, templateColumns, totalHeight, visibleRows, width, }: TableSectionProps) => import("react/jsx-runtime").JSX.Element;
17
21
  export default TableSection;
@@ -0,0 +1,46 @@
1
+ import { ReactNode, RefObject, Dispatch, SetStateAction } from "react";
2
+ import HeaderObject from "../types/HeaderObject";
3
+ import OnSortProps from "../types/OnSortProps";
4
+ import Cell from "../types/Cell";
5
+ interface TableContextType {
6
+ allowAnimations?: boolean;
7
+ columnReordering: boolean;
8
+ columnResizing: boolean;
9
+ draggedHeaderRef: RefObject<HeaderObject | null>;
10
+ editColumns?: boolean;
11
+ forceUpdate: () => void;
12
+ getBorderClass: (cell: Cell) => string;
13
+ handleMouseDown: (cell: Cell) => void;
14
+ handleMouseOver: (cell: Cell) => void;
15
+ headersRef: RefObject<HeaderObject[]>;
16
+ hiddenColumns: Record<string, boolean>;
17
+ hoveredHeaderRef: RefObject<HeaderObject | null>;
18
+ isInitialFocusedCell: (cell: Cell) => boolean;
19
+ isSelected: (cell: Cell) => boolean;
20
+ mainBodyRef: RefObject<HTMLDivElement | null>;
21
+ onCellEdit?: (props: any) => void;
22
+ onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
23
+ onSort: OnSortProps;
24
+ onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
25
+ pinnedLeftRef: RefObject<HTMLDivElement | null>;
26
+ pinnedRightRef: RefObject<HTMLDivElement | null>;
27
+ rowHeight: number;
28
+ scrollbarWidth: number;
29
+ selectColumns?: (columnIndices: number[], isShiftKey?: boolean) => void;
30
+ selectableColumns: boolean;
31
+ setInitialFocusedCell: Dispatch<SetStateAction<Cell | null>>;
32
+ setIsWidthDragging: Dispatch<SetStateAction<boolean>>;
33
+ setSelectedCells: Dispatch<SetStateAction<Set<string>>>;
34
+ setSelectedColumns: Dispatch<SetStateAction<Set<number>>>;
35
+ shouldPaginate: boolean;
36
+ sortDownIcon?: ReactNode;
37
+ sortUpIcon?: ReactNode;
38
+ tableBodyContainerRef: RefObject<HTMLDivElement | null>;
39
+ }
40
+ export declare const TableContext: import("react").Context<TableContextType | undefined>;
41
+ export declare const TableProvider: ({ children, value, }: {
42
+ children: ReactNode;
43
+ value: TableContextType;
44
+ }) => import("react/jsx-runtime").JSX.Element;
45
+ export declare const useTableContext: () => TableContextType;
46
+ export {};
@@ -14,7 +14,12 @@ declare const useSelection: ({ selectableCells, headers, visibleRows, }: {
14
14
  handleMouseUp: () => void;
15
15
  isInitialFocusedCell: ({ rowIndex, colIndex, rowId }: Cell) => boolean;
16
16
  isSelected: ({ colIndex, rowIndex, rowId }: Cell) => boolean;
17
+ lastSelectedColumnIndex: number | null;
18
+ selectColumns: (columnIndices: number[], isShiftKey?: boolean) => void;
17
19
  selectedCells: Set<string>;
20
+ selectedColumns: Set<number>;
21
+ setInitialFocusedCell: import("react").Dispatch<import("react").SetStateAction<Cell | null>>;
18
22
  setSelectedCells: import("react").Dispatch<import("react").SetStateAction<Set<string>>>;
23
+ setSelectedColumns: import("react").Dispatch<import("react").SetStateAction<Set<number>>>;
19
24
  };
20
25
  export default useSelection;
package/dist/index.d.ts CHANGED
@@ -9,10 +9,9 @@ import type OnSortProps from "./types/OnSortProps";
9
9
  import type Row from "./types/Row";
10
10
  import type SharedTableProps from "./types/SharedTableProps";
11
11
  import type SortConfig from "./types/SortConfig";
12
- import type TableBodyProps from "./types/TableBodyProps";
13
12
  import type TableCellProps from "./types/TableCellProps";
14
13
  import type TableHeaderProps from "./types/TableHeaderProps";
15
14
  import type TableRowProps from "./types/TableRowProps";
16
15
  import type Theme from "./types/Theme";
17
16
  export { SimpleTable };
18
- export type { BoundingBox, Cell, CellChangeProps, CellValue, DragHandlerProps, HeaderObject, OnSortProps, Row, SharedTableProps, SortConfig, TableBodyProps, TableCellProps, TableHeaderProps, TableRowProps, Theme, };
17
+ export type { BoundingBox, Cell, CellChangeProps, CellValue, DragHandlerProps, HeaderObject, OnSortProps, Row, SharedTableProps, SortConfig, TableCellProps, TableHeaderProps, TableRowProps, Theme, };
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 d,useLayoutEffect as c,createElement as s,Fragment as u,createRef as h,memo as f,useReducer as v}from"react";var g=function(){return g=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},g.apply(this,arguments)};function w(e,n){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(r[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(t=Object.getOwnPropertySymbols(e);o<t.length;o++)n.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(e,t[o])&&(r[t[o]]=e[t[o]])}return r}function m(e,n,r){if(r||2===arguments.length)for(var t,o=0,i=n.length;o<i;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var p,I=function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return"".concat(n,"-").concat(r,"-").concat(t)},R=function(r){var t=r.currentPage,o=r.hideFooter,i=r.nextIcon,a=r.onPageChange,l=r.onNextPage,d=r.onPreviousPage,c=r.prevIcon,s=r.shouldPaginate,u=r.totalPages;if(o||!s)return null;var h=!(t>1)&&!d,f=!(t<u)&&!l;return e("div",g({className:"st-footer"},{children:[n("button",g({className:"st-next-prev-btn ".concat(h?"disabled":""),onClick:function(){var e=t-1;e>=1&&a(e),d&&d(e-1)},disabled:h},{children:c})),n("button",g({className:"st-next-prev-btn ".concat(f?"disabled":""),onClick:function(){var e=t+1;(e<=u||l)&&a(e),l&&l(t)},disabled:f},{children:i})),Array.from({length:u},(function(e,r){return n("button",g({onClick:function(){var e;(e=r+1)>=1&&e<=u&&(a(e),e>t&&l?l(e-1):e<t&&d&&d(e-1))},className:"st-page-btn ".concat(t===r+1?"active":"")},{children:r+1}),r)}))]}))},C=function(e){var r=e.className;return n("svg",g({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})}))},x=function(e){var r=e.className;return n("svg",g({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},b=function(e){var r=e.className;return n("svg",g({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M5.41 11.41L10 6.83l4.59 4.58L16 10l-6-6-6 6z"})}))},y=function(e){var r=e.className;return n("svg",g({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},M=function(e){return e.position*(e.rowHeight+1)-1},H=function(e){return e.position*(e.rowHeight+1)},D=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},S=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},E=function(r){var t=r.value,o=r.onBlur,i=r.onChange;return e("select",g({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;i("true"===n)}},{children:[n("option",g({value:"true"},{children:"True"})),n("option",g({value:"false"},{children:"False"}))]}))},k=function(e){var r=e.defaultValue,t=e.onBlur,i=e.onChange,a=o(null);return n("input",{className:"editable-cell-input",ref:a,autoFocus:!0,type:"text",defaultValue:null!=r?r:"",onBlur:t,onChange:function(e){var n=e.target.value;i(n)}})},N=function(e){var r=e.defaultValue,t=e.onBlur,i=e.onChange,a=o(null);return n("input",{className:"editable-cell-input",ref:a,autoFocus:!0,defaultValue:r.toString(),onBlur:t,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&i(n)}})},T=function(e){var t=e.onChange,o=e.setIsEditing,i=e.value,a=function(e){null==t||t(e)},l=function(){o(!1)};return n(r,{children:"string"==typeof i||null==i?n(k,{defaultValue:i,onBlur:l,onChange:a}):"boolean"==typeof i?n(E,{onBlur:l,onChange:a,value:i}):"number"==typeof i?n(N,{defaultValue:i,onBlur:l,onChange:a}):null})},O=0,B=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===O||o-O>=t)&&(O=o,n(r))}},L=Date.now(),W={screenX:0,screenY:0},A=function(e){var n,r,t=e.draggedHeaderRef,i=e.headersRef,l=e.hoveredHeaderRef,d=e.onColumnOrderChange,c=e.onTableHeaderDragEnd,s=(n=i.current,r=o(n),a((function(){r.current=n}),[n]),r.current);return{handleDragStart:function(e){t.current=e,L=Date.now()},handleDragOver:function(e){var n,r=e.event,o=e.hoveredHeader;if(r.preventDefault(),i.current){var a=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),d=r.screenX,u=r.screenY,h=Math.sqrt(Math.pow(d-W.screenX,2)+Math.pow(u-W.screenY,2));l.current=o;var f=m([],i.current,!0),v=f.findIndex((function(e){var n;return e.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)})),g=f.findIndex((function(e){return e.accessor===o.accessor})),w=f.splice(v,1)[0];if(f.splice(g,0,w),!(a||o.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)||null===t.current||h<10||void 0===v||void 0===g||JSON.stringify(f)===JSON.stringify(i.current))){var p=Date.now();JSON.stringify(f)===JSON.stringify(s)&&p-L<800&&h<50||(L=p,W={screenX:d,screenY:u},c(f))}}},handleDragEnd:function(){t.current=null,l.current=null,null==d||d(i.current)}}},P=d((function(r,o){var i,l,d=r.borderClass,c=r.colIndex,s=r.draggedHeaderRef,u=r.header,h=r.headersRef,f=r.hoveredHeaderRef,v=r.isSelected,w=r.isInitialFocusedCell,m=r.onCellEdit,p=r.onExpandRowClick,I=r.onMouseDown,R=r.onMouseOver,C=r.onTableHeaderDragEnd,b=r.rowIndex,M=r.visibleRow,H=M.depth,S=M.row,E=t(S.rowData[u.accessor]),k=E[0],N=E[1],O=t(!1),L=O[0],W=O[1],P=A({draggedHeaderRef:s,headersRef:h,hoveredHeaderRef:f,onTableHeaderDragEnd:C}).handleDragOver,F=B(),z="cell-".concat(b,"-").concat(c),U=Boolean(null===(l=null===(i=S.rowMeta)||void 0===i?void 0:i.children)||void 0===l?void 0:l.length),j=Boolean(null==u?void 0:u.isEditable),K=b%2==0,V="st-cell ".concat(H>0&&u.expandable?"st-cell-depth-".concat(H):""," ").concat(v?w?"st-cell-selected-first ".concat(d):"st-cell-selected ".concat(d):""," ").concat(K?"st-cell-odd-row":"st-cell-even-row"," ").concat(j?"clickable":"");a((function(){N(S.rowData[u.accessor])}),[u.accessor,S]);return L?n("div",g({className:"st-cell-editing ".concat(K?"st-cell-odd-row":"st-cell-even-row"),id:D({accessor:u.accessor,rowIndex:b+1})},{children:n(T,{onChange:function(e){N(e),null==m||m({accessor:u.accessor,newValue:e,row:S})},setIsEditing:W,value:k})})):e("div",g({className:V,id:z,onDoubleClick:function(){return u.isEditable&&W(!0)},onMouseDown:function(){return I({rowIndex:b,colIndex:c,rowId:S.rowMeta.rowId})},onMouseOver:function(){return R({rowIndex:b,colIndex:c,rowId:S.rowMeta.rowId})},onDragOver:function(e){return F({callback:P,callbackProps:{event:e,hoveredHeader:u},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!u.isEditable||L||(e.preventDefault(),W(!0))},ref:o,"data-row-index":b,"data-col-index":c,"aria-selected":v},{children:[u.expandable&&U?S.rowMeta.isExpanded?n("div",g({className:"st-sort-icon-container",onClick:function(){return p(S.rowMeta.rowId)}},{children:n(y,{className:"st-sort-icon"})})):n("div",g({className:"st-sort-icon-container",onClick:function(){return p(S.rowMeta.rowId)}},{children:n(x,{className:"st-sort-icon"})})):null,n("span",g({className:"st-cell-content ".concat("right"===u.align?"right-aligned":"center"===u.align?"center-aligned":"")},{children:u.cellRenderer?u.cellRenderer({accessor:u.accessor,colIndex:c,row:S}):k}))]}))})),F=function(e){var t=e.allowAnimations,o=e.children,i=w(e,["allowAnimations","children"]);return t?n(z,g({},i,{children:o})):n(r,{children:o})},z=function(e){var i=e.allowHorizontalAnimate,l=void 0===i||i,d=e.children,s=e.draggedHeaderRef,u=e.headersRef,h=e.isBody,f=e.mainBodyRef,v=e.pauseAnimation,g=e.rowIndex,w=o(!1),m=t({}),p=m[0],I=m[1],R=o({}),C=u.current;return c((function(){if(C){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var i=document.getElementById(D({accessor:e.accessor,rowIndex:t}));if(i){var a=i.getAnimations().some((function(e){return"running"===e.playState})),l=i.getBoundingClientRect();a&&(null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.accessor)!==e.accessor?o[e.accessor]=!1:o[e.accessor]=l}}})),o}({currentHeaders:C,draggedHeaderRef:s,rowIndex:g});JSON.stringify(e)!==JSON.stringify(p)&&(R.current=p,I(e))}}),[p,C,s,h,g]),c((function(){var e=f.current,n=function(){w.current=!0},r=function(){w.current=!1};return null==e||e.addEventListener("scroll",n),null==e||e.addEventListener("scrollend",r),function(){null==e||e.removeEventListener("scroll",n),null==e||e.removeEventListener("scrollend",r)}}),[s,f]),a((function(){v||w.current||Object.keys(R.current).length&&C&&C.forEach((function(e){var n=document.getElementById(D({accessor:e.accessor,rowIndex:g}));if(n){var r=R.current[e.accessor],t=p[e.accessor];if(r&&t){var o=r.left-t.left,i=l?0:r.top-t.top,a=Math.abs(o),d=Math.abs(i);(a>10||d>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(o,"px, ").concat(i,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[l,p,C,h,v,R,g]),n(r,{children:d})},U=function(e){var r=e.getBorderClass,t=e.handleMouseDown,o=e.handleMouseOver,i=e.headers,a=e.hiddenColumns,l=e.isSelected,d=e.isInitialFocusedCell,c=e.onExpandRowClick,s=e.pinned,u=e.rowIndex,h=e.visibleRow,f=w(e,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isSelected","isInitialFocusedCell","onExpandRowClick","pinned","rowIndex","visibleRow"]);return n(F,g({allowAnimations:f.allowAnimations,allowHorizontalAnimate:f.shouldPaginate,draggedHeaderRef:f.draggedHeaderRef,headersRef:f.headersRef,isBody:!0,mainBodyRef:f.mainBodyRef,pauseAnimation:f.isWidthDragging,rowIndex:u+1},{children:i.map((function(e,v){return S({hiddenColumns:a,header:e,pinned:s})?n(j,g({colIndex:v,getBorderClass:r,handleMouseDown:t,handleMouseOver:o,header:e,headers:i,hiddenColumns:a,isInitialFocusedCell:d,isSelected:l,onExpandRowClick:c,pinned:s,rowIndex:u,visibleRow:h},f),D({accessor:e.accessor,rowIndex:u+1})):null}))}))},j=function(e){var t=e.colIndex,o=e.getBorderClass,i=e.handleMouseDown,a=e.handleMouseOver,l=e.header,d=e.isInitialFocusedCell,c=e.isSelected,u=e.onExpandRowClick,h=e.rowIndex,f=e.visibleRow,v=w(e,["colIndex","getBorderClass","handleMouseDown","handleMouseOver","header","isInitialFocusedCell","isSelected","onExpandRowClick","rowIndex","visibleRow"]);return l.children?n(r,{children:l.children.map((function(e,r){return n(j,g({colIndex:t+r,getBorderClass:o,handleMouseDown:i,handleMouseOver:a,header:e,isSelected:c,isInitialFocusedCell:d,onExpandRowClick:u,rowIndex:h,visibleRow:f},v),D({accessor:e.accessor,rowIndex:h+1}))}))}):s(P,g({},v,{borderClass:o({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId}),colIndex:t,header:l,isSelected:c({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId}),isInitialFocusedCell:d({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId}),key:D({accessor:l.accessor,rowIndex:h+1}),onExpandRowClick:u,onMouseDown:function(){return i({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId})},onMouseOver:function(){return a({rowIndex:h,colIndex:t,rowId:f.row.rowMeta.rowId})},rowIndex:h,visibleRow:f}))},K=function(e){var r=e.getNextRowIndex,t=e.gridTemplateColumns,o=e.index,i=e.pinned,a=e.props,l=e.rowHeight,d=e.visibleRow,c=d.position,s=r();return n("div",g({className:"st-table-row",style:{gridTemplateColumns:t,top:H({position:c,rowHeight:l}),height:"".concat(l,"px")}},{children:n(U,g({pinned:i,rowIndex:s,visibleRow:d},a),o)}))},V=function(e){var r=e.lastGroupRow,t=e.position,o=e.rowHeight,i=e.templateColumns;return n("div",g({className:"st-row-separator ".concat(r?"st-last-group-row":""),style:{display:"grid",gridTemplateColumns:i,position:"absolute",top:M({position:t,rowHeight:o}),minWidth:"100%"}},{children:n("div",{style:{gridColumn:"1 / -1"}})}))},J=function(r){r.headerContainerRef;var t=r.onExpandRowClick,i=r.pinned,l=r.rowHeight,d=r.sectionRef,c=r.templateColumns,s=r.totalHeight,h=r.visibleRows,f=r.width,v=w(r,["headerContainerRef","onExpandRowClick","pinned","rowHeight","sectionRef","templateColumns","totalHeight","visibleRows","width"]),m=i?"st-table-body-pinned-".concat(i):"st-table-body-main",p=o(0);a((function(){p.current=0}));var I=function(){return p.current++};return n("div",g({className:m,ref:d,style:{position:"relative",height:"".concat(s,"px"),width:f}},{children:h.map((function(r,o){var a,d,s=Boolean(null===(d=null===(a=r.row.rowMeta)||void 0===a?void 0:a.children)||void 0===d?void 0:d.length);return e(u,{children:[n(K,{getNextRowIndex:I,gridTemplateColumns:c,index:o,pinned:i,props:g(g({},v),{onExpandRowClick:t,rowHeight:l,visibleRows:h}),rowHeight:l,visibleRow:r}),0!==o&&n(V,{lastGroupRow:s,position:r.position,rowHeight:l,templateColumns:c})]},o)}))}))},X=function(r){var i,l,d,c,s,u=r.centerHeaderRef,h=r.flattenedRows,f=r.headerContainerRef,v=r.mainBodyRef,w=r.mainTemplateColumns,m=r.pinnedLeftColumns,p=r.pinnedLeftHeaderRef,I=r.pinnedLeftRef,R=r.pinnedLeftTemplateColumns,C=r.pinnedRightColumns,x=r.pinnedRightHeaderRef,b=r.pinnedRightRef,y=r.pinnedRightTemplateColumns,M=r.rowHeight,H=r.scrollbarWidth,D=r.setFlattenedRows,S=r.setScrollTop,E=r.tableBodyContainerRef,k=r.visibleRows;!function(e){var n=e.headerContainerRef,r=e.mainSectionRef,o=e.scrollbarWidth,i=t(!1),l=i[0],d=i[1];a((function(){var e=null==n?void 0:n.current;if(l&&e)return e.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(o,"px")),function(){e.classList.remove("st-header-scroll-padding")}}),[n,l,o]),a((function(){var e=null==n?void 0:n.current,t=null==r?void 0:r.current;if(t&&e){var o=function(){if(t){var e=t.scrollHeight>t.clientHeight;d(e)}};o();var i=new ResizeObserver((function(){o()}));return i.observe(t),function(){t&&i.unobserve(t)}}}),[n,r])}({headerContainerRef:f,mainSectionRef:E,scrollbarWidth:H});var N,T,O=o(null),B=(N=0,(T=function(e){e.forEach((function(e){N+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&T(e.rowMeta.children)}))})(h),N)*(M+1)-1,L=function(e){var n=function(r){return r.rowMeta.rowId===e&&r.rowMeta.children?g(g({},r),{rowMeta:g(g({},r.rowMeta),{isExpanded:!r.rowMeta.isExpanded})}):r.rowMeta.children?g(g({},r),{rowMeta:g(g({},r.rowMeta),{children:r.rowMeta.children.map(n)})}):r};D((function(e){return e.map(n)}))},W=(null===(i=p.current)||void 0===i?void 0:i.clientWidth)?(null===(l=p.current)||void 0===l?void 0:l.clientWidth)+1:0,A=null===(d=u.current)||void 0===d?void 0:d.clientWidth,P=(null===(c=x.current)||void 0===c?void 0:c.clientWidth)?(null===(s=x.current)||void 0===s?void 0:s.clientWidth)+1:0;return e("div",g({className:"st-table-body-container",ref:E,onScroll:function(e){var n=e.currentTarget.scrollTop;O.current&&cancelAnimationFrame(O.current),O.current=requestAnimationFrame((function(){S(n)}))}},{children:[m.length>0&&n(J,g({},r,{onExpandRowClick:L,pinned:"left",rowHeight:M,sectionRef:I,templateColumns:R,totalHeight:B,visibleRows:k,width:W})),n(J,g({},r,{onExpandRowClick:L,rowHeight:M,sectionRef:v,templateColumns:w,totalHeight:B,visibleRows:k,width:A})),C.length>0&&n(J,g({},r,{onExpandRowClick:L,pinned:"right",rowHeight:M,sectionRef:b,templateColumns:y,totalHeight:B,visibleRows:k,width:P}))]}))},q=function(e,n){a((function(){if(e.current){var r=e.current,t=function(){var e,t=null==r?void 0:r.scrollLeft;void 0!==t&&(null===(e=n.current)||void 0===e||e.scrollTo(t,0))};return r.addEventListener("scroll",t),function(){null==r||r.removeEventListener("scroll",t)}}}),[e,n])},Y={string:function(e,n,r){if(e===n)return 0;var t=e.localeCompare(n);return"ascending"===r?t:-t},number:function(e,n,r){if(e===n)return 0;var t=e-n;return"ascending"===r?t:-t},boolean:function(e,n,r){if(e===n)return 0;var t=e===n?0:e?-1:1;return"ascending"===r?t:-t},date:function(e,n,r){var t=new Date(e),o=new Date(n);if(t.getTime()===o.getTime())return 0;var i=t.getTime()-o.getTime();return"ascending"===r?i:-i},enum:function(e,n,r){return Y.string(e,n,r)},default:function(e,n,r){return e===n?0:null==e?"ascending"===r?-1:1:null==n?"ascending"===r?1:-1:"string"==typeof e&&"string"==typeof n?Y.string(e,n,r):"number"==typeof e&&"number"==typeof n?Y.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?Y.boolean(e,n,r):Y.string(String(e),String(n),r)}},G=function(e,n,r,t){if(void 0===r&&(r="string"),null==e||""===e)return"ascending"===t?-1:1;if(null==n||""===n)return"ascending"===t?1:-1;if("number"===r){var o=function(e){var n;if("number"==typeof e)return e;var r=String(e);if("string"==typeof r){var t=r.replace(/[$,]/g,"").match(/^([-+]?\d*\.?\d+)([TBMKtbmk])?/);if(t){var o=parseFloat(t[1]),i=null===(n=t[2])||void 0===n?void 0:n.toUpperCase();return"T"===i?o*=1e12:"B"===i?o*=1e9:"M"===i?o*=1e6:"K"===i&&(o*=1e3),o}}return parseFloat(r)||0},i=o(e),a=o(n);return Y.number(i,a,t)}return"date"===r?Y.date(String(e),String(n),t):"boolean"===r?Y.boolean(Boolean(e),Boolean(n),t):"enum"===r?Y.enum(String(e),String(n),t):Y.string(String(e),String(n),t)},$=function(e,n,r){var t=r.find((function(e){return e.accessor===n.key.accessor})),o=(null==t?void 0:t.type)||"string",i=n.direction,a=new Map,l=new Map,d="";e.forEach((function(e){var r;if(e.rowData&&!e.rowData[n.key.accessor]&&void 0!==e.rowMeta.isExpanded){var t=(e.rowData.sector||"group_".concat(a.size)).toString();d=t,l.set(d,e),a.has(d)||a.set(d,[])}else if(d){var o=a.get(d)||[];o.push(e),a.set(d,o)}else{var i="default";a.has(i)||a.set(i,[]),null===(r=a.get(i))||void 0===r||r.push(e)}}));var c=[];return a.forEach((function(e,t){if(l.has(t)){var a=l.get(t);a.rowMeta.children&&a.rowMeta.children.length>0&&(a.rowMeta.children=_(a.rowMeta.children,n,r)),c.push(a)}var d=m([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,a=e.rowData[t],l=r.rowData[t];return G(a,l,o,i)}));c.push.apply(c,d.map((function(e){var t=g({},e);if(t.rowMeta.children&&t.rowMeta.children.length>0){var o=_(t.rowMeta.children,n,r);t.rowMeta=g(g({},t.rowMeta),{children:o})}return t})))})),c},_=function(e,n,r){var t=r.find((function(e){return e.accessor===n.key.accessor})),o=(null==t?void 0:t.type)||"string",i=n.direction;return m([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,a=e.rowData[t],l=r.rowData[t];return G(a,l,o,i)})).map((function(e){return e.rowMeta.children&&e.rowMeta.children.length>0?g(g({},e),{rowMeta:g(g({},e.rowMeta),{children:_(e.rowMeta.children,n,r)})}):e}))},Q=function(e){var n=e.colIndex,r=e.event,t=e.forceUpdate,o=e.header,i=e.headersRef;e.reverse;var a=e.setIsWidthDragging,l=e.startWidth;a(!0),r.preventDefault();var d=r.clientX;if(o){var c=function(e){var r=Math.max(l+(e.clientX-d),40);o&&i.current&&(i.current[n].width=r,t())},s=function(){document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",s),a(!1)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",s)}},Z=d((function(r,o){var i=r.colIndex,l=r.columnReordering,d=r.columnResizing,c=r.currentRows,s=r.draggedHeaderRef,u=r.forceUpdate,h=r.gridColumnEnd,f=r.gridColumnStart,v=r.gridRowEnd,w=r.gridRowStart,m=r.header,p=r.headersRef,R=r.hoveredHeaderRef,C=r.onColumnOrderChange,x=r.onSort,b=r.onTableHeaderDragEnd,y=r.reverse,M=r.rowHeight,H=r.selectableColumns,S=r.setIsWidthDragging,E=r.setSelectedCells,k=r.sort,N=r.sortDownIcon,T=r.sortUpIcon,O=t(!1),L=O[0],W=O[1],P=Boolean(null==m?void 0:m.isSortable),F="st-header-cell ".concat(m===R.current?"st-hovered":""," ").concat(L?"st-dragging":""," ").concat(P?"clickable":""," ").concat(l&&!P?"columnReordering":""," ").concat("right"===(null==m?void 0:m.align)?"right-aligned":"center"===(null==m?void 0:m.align)?"center-aligned":""),z=A({draggedHeaderRef:s,headersRef:p,hoveredHeaderRef:R,onColumnOrderChange:C,onTableHeaderDragEnd:b}),U=z.handleDragStart,j=z.handleDragEnd,K=z.handleDragOver,V=B(),J=function(e){var n=e.event,r=e.header;if(H){var t=c.length,o=Array.from({length:t},(function(e,n){return I({rowIndex:n,colIndex:i,rowId:c[n].rowMeta.rowId})})),a=function(e,n){var r=new Set,o=Math.min(e,n),i=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:i-o+1}).forEach((function(e,t){r.add(I({rowIndex:n,colIndex:o+t,rowId:c[n].rowMeta.rowId}))}))})),r};n.shiftKey?E((function(e){var n,r=Number(null===(n=Array.from(e)[0])||void 0===n?void 0:n.split("-")[1]),t=Number(o[0].split("-")[1]);return r===t?new Set(o):r>t?a(t,r):a(r,t)})):E(new Set(o))}else r.isSortable&&x(i,r.accessor)};if(a((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!m)return null;var X=d&&n("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;V({callback:Q,callbackProps:{colIndex:i,event:e,forceUpdate:u,header:m,headersRef:p,setIsWidthDragging:S,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),q=k&&k.key.accessor===m.accessor&&e("div",g({className:"st-sort-icon-container",onClick:function(e){return J({event:e,header:m})}},{children:["ascending"===k.direction&&T&&T,"descending"===k.direction&&N&&N]}));return e("div",g({className:F,id:D({accessor:m.accessor,rowIndex:0}),onDragOver:function(e){V({callback:K,callbackProps:{event:e,hoveredHeader:m},limit:50})},ref:o,style:g(g({gridRowStart:w,gridRowEnd:v,gridColumnStart:f,gridColumnEnd:h},h-f>1?{}:{width:m.width}),v-w>1?{}:{height:M})},{children:[y&&X,e("div",g({className:"st-header-label ".concat("right"===m.align?"right-aligned":"center"===m.align?"center-aligned":""),draggable:l,onClick:function(e){return J({event:e,header:m})},onDragEnd:function(e){e.preventDefault(),W(!1),j()},onDragStart:function(e){l&&m&&function(e){W(!0),U(e)}(m)}},{children:["right"===m.align&&q,null==m?void 0:m.label,"right"!==m.align&&q]})),!y&&X]}))})),ee=function(r){var t,o,i=r.depth,a=r.getNextColIndex,l=r.header,d=r.hiddenColumns,c=r.index,f=r.maxDepth,v=r.pinned,m=w(r,["depth","getNextColIndex","header","hiddenColumns","index","maxDepth","pinned"]),p=null!==(o=null===(t=l.children)||void 0===t?void 0:t.length)&&void 0!==o?o:0,I=a(0===c?0:1),R={gridColumnStart:I,gridColumnEnd:p>0?I+p:I+1,gridRowStart:i,gridRowEnd:p>0?i+1:f+1};if(l.children){var C=l.children.filter((function(e){return S({hiddenColumns:d,header:e,pinned:v})}));return e(u,{children:[n(Z,g({},m,R,{colIndex:I,header:l,ref:h()})),C.map((function(e,n){return s(ee,g({},m,{depth:i+1,getNextColIndex:a,header:e,hiddenColumns:d,index:n,key:e.accessor,maxDepth:f}))}))]})}return n(Z,g({},m,R,{colIndex:I,header:l,ref:h()}))},ne=function(e){var r,t=e.allowAnimations,o=e.columnReordering,i=e.columnResizing,l=e.currentRows,d=e.draggedHeaderRef,c=e.forceUpdate,s=e.gridTemplateColumns,u=e.handleScroll,h=e.headersRef,f=e.hiddenColumns,v=e.hoveredHeaderRef,w=e.isWidthDragging,m=e.mainBodyRef,p=e.maxDepth,I=e.onColumnOrderChange,R=e.onSort,C=e.onTableHeaderDragEnd,x=e.pinned,b=e.rowHeight,y=e.sectionRef,M=e.selectableColumns,H=e.setIsWidthDragging,D=e.setSelectedCells,E=e.sort,k=e.sortDownIcon,N=e.sortUpIcon,T=(r=1,function(e){return void 0===e&&(e=1),r+=e});a((function(){T(0)}));var O=h.current.filter((function(e){return S({hiddenColumns:f,header:e,pinned:x})}));return n("div",g({className:"st-header-".concat(x?"pinned-".concat(x):"main")},u&&{onScroll:u},{ref:y,style:{gridTemplateColumns:s}},{children:n(F,g({allowAnimations:t,draggedHeaderRef:d,headersRef:h,mainBodyRef:m,pauseAnimation:w,rowIndex:0},{children:O.map((function(e,r){return n(ee,{getNextColIndex:T,columnReordering:o,columnResizing:i,currentRows:l,depth:1,draggedHeaderRef:d,forceUpdate:c,header:e,headersRef:h,hiddenColumns:f,hoveredHeaderRef:v,index:r,maxDepth:p,onColumnOrderChange:I,onSort:R,onTableHeaderDragEnd:C,pinned:x,reverse:"right"===x,rowHeight:b,selectableColumns:M,setIsWidthDragging:H,setSelectedCells:D,sort:E,sortDownIcon:k,sortUpIcon:N},e.accessor)}))}))}))},re=function(e){var n;return(null===(n=e.children)||void 0===n?void 0:n.length)?1+Math.max.apply(Math,e.children.map(re)):1},te=function(r){var t=r.allowAnimations,o=r.centerHeaderRef,i=r.columnResizing,a=r.currentRows,d=r.columnReordering,c=r.draggedHeaderRef,s=r.forceUpdate,u=r.headerContainerRef,h=r.headersRef,f=r.hiddenColumns,v=r.hoveredHeaderRef,w=r.isWidthDragging,m=r.mainBodyRef,p=r.mainTemplateColumns,I=r.onColumnOrderChange,R=r.onSort,C=r.onTableHeaderDragEnd,x=r.pinnedLeftColumns,b=r.pinnedLeftHeaderRef,y=r.pinnedLeftTemplateColumns,M=r.pinnedRightColumns,H=r.pinnedRightHeaderRef,D=r.pinnedRightTemplateColumns,E=r.rowHeight,k=r.selectableColumns,N=r.setIsWidthDragging,T=r.setSelectedCells,O=r.sort,B=r.sortDownIcon,L=r.sortUpIcon;q(m,o);var W=function(e){var n,r,t=null===(n=o.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=m.current)||void 0===r||r.scrollTo(t,0))},A=l((function(){var e=h.current,n=0;return e.forEach((function(e){if(S({hiddenColumns:f,header:e})){var r=re(e);n=Math.max(n,r)}})),{maxDepth:n}}),[h,f]).maxDepth,P={allowAnimations:t,columnReordering:d,columnResizing:i,currentRows:a,draggedHeaderRef:c,forceUpdate:s,handleScroll:W,headersRef:h,hiddenColumns:f,hoveredHeaderRef:v,isWidthDragging:w,mainBodyRef:m,maxDepth:A,onColumnOrderChange:I,onSort:R,onTableHeaderDragEnd:C,rowHeight:E,selectableColumns:k,setIsWidthDragging:N,setSelectedCells:T,sort:O,sortDownIcon:B,sortUpIcon:L};return e("div",g({className:"st-header-container",ref:u},{children:[x.length>0&&n(ne,g({},P,{gridTemplateColumns:y,pinned:"left",sectionRef:b})),n(ne,g({},P,{gridTemplateColumns:p,handleScroll:W,sectionRef:o})),M.length>0&&n(ne,g({},P,{gridTemplateColumns:D,pinned:"right",sectionRef:H}))]}))},oe=function(e){var n=e.headers,r=e.hiddenColumns,t=function(e){var n=e.headers,o=e.flattenedHeaders;return n.forEach((function(e){!0!==r[e.accessor]&&(e.children?t({headers:e.children,flattenedHeaders:o}):o.push(e))})),o},o=t({headers:n,flattenedHeaders:[]});return"".concat(o.map((function(e){return function(e){var n=e.minWidth,r=e.width;return"number"==typeof r&&(r="".concat(r,"px")),n&&"number"==typeof n&&(n="".concat(n,"px")),void 0!==n?"minmax(".concat(n,", ").concat(r,")"):r}(e)})).join(" "))},ie=function(r){var t=r.allowAnimations,i=r.columnReordering,a=r.columnResizing,d=r.currentRows,c=r.draggedHeaderRef,s=r.editColumns,u=r.flattenedRows,h=r.forceUpdate,f=r.getBorderClass,v=r.handleMouseDown,w=r.handleMouseOver,m=r.headersRef,p=r.hiddenColumns,I=r.hoveredHeaderRef,R=r.isSelected,C=r.isInitialFocusedCell,x=r.isWidthDragging,b=r.mainBodyRef,y=r.onCellEdit,M=r.onColumnOrderChange,H=r.onSort,D=r.onTableHeaderDragEnd,S=r.pinnedLeftRef,E=r.pinnedRightRef,k=r.rowHeight,N=r.scrollbarWidth,T=r.selectableColumns,O=r.setIsWidthDragging,B=r.setFlattenedRows,L=r.setScrollTop,W=r.setSelectedCells,A=r.shouldPaginate,P=r.sort,F=r.sortDownIcon,z=r.sortUpIcon,U=r.tableBodyContainerRef,j=r.visibleRows,K=o(null),V=o(null),J=o(null),q=o(null),Y=m.current.filter((function(e){return!e.pinned})),G=m.current.filter((function(e){return"left"===e.pinned})),$=m.current.filter((function(e){return"right"===e.pinned})),_=l((function(){return oe({headers:G,hiddenColumns:p})}),[G,p]),Q=l((function(){return oe({headers:Y,hiddenColumns:p})}),[Y,p]),Z=l((function(){return oe({headers:$,hiddenColumns:p})}),[$,p]),ee={allowAnimations:t,centerHeaderRef:J,columnResizing:a,currentRows:d,columnReordering:i,draggedHeaderRef:c,forceUpdate:h,headerContainerRef:K,headersRef:m,hiddenColumns:p,hoveredHeaderRef:I,isWidthDragging:x,mainBodyRef:b,mainTemplateColumns:Q,onColumnOrderChange:M,onSort:H,onTableHeaderDragEnd:D,pinnedLeftColumns:G,pinnedLeftHeaderRef:V,pinnedLeftTemplateColumns:_,pinnedRightColumns:$,pinnedRightHeaderRef:q,pinnedRightTemplateColumns:Z,rowHeight:k,selectableColumns:T,setIsWidthDragging:O,setSelectedCells:W,sort:P,sortDownIcon:F,sortUpIcon:z,tableBodyContainerRef:U},ne={allowAnimations:t,centerHeaderRef:J,draggedHeaderRef:c,flattenedRows:u,getBorderClass:f,handleMouseDown:v,handleMouseOver:w,headerContainerRef:K,headers:m.current,headersRef:m,hiddenColumns:p,hoveredHeaderRef:I,isSelected:R,isInitialFocusedCell:C,isWidthDragging:x,mainBodyRef:b,mainTemplateColumns:Q,onCellEdit:y,onTableHeaderDragEnd:D,pinnedLeftColumns:G,pinnedLeftHeaderRef:V,pinnedLeftRef:S,pinnedLeftTemplateColumns:_,pinnedRightColumns:$,pinnedRightHeaderRef:q,pinnedRightRef:E,pinnedRightTemplateColumns:Z,rowHeight:k,scrollbarWidth:N,setFlattenedRows:B,shouldPaginate:A,setScrollTop:L,tableBodyContainerRef:U,visibleRows:j};return e("div",g({className:"st-table-content",style:{width:s?"calc(100% - 27.5px)":"100%"}},{children:[n(te,g({},ee)),n(X,g({},ne))]}))},ae=function(e){var n=e.callback,r=e.ref,t=e.widthAttribute;a((function(){var e=r.current;if(e){var o=function(){n(e[t]||0)};o();var i=new ResizeObserver((function(){o()}));return i.observe(e),function(){return i.disconnect()}}}),[n,r,t])},le=function(r){var i=r.mainBodyRef,a=r.pinnedLeftRef,l=r.pinnedRightRef,d=r.tableContentWidth,c=t(0),s=c[0],u=c[1],h=t(0),f=h[0],v=h[1],w=t(0),m=w[0],p=w[1],I=o(null);return ae({widthAttribute:"offsetWidth",callback:u,ref:a}),ae({widthAttribute:"scrollWidth",callback:p,ref:i}),ae({widthAttribute:"offsetWidth",callback:v,ref:l}),q(i,I),!i.current||i.current.scrollWidth<=i.current.clientWidth?null:e("div",g({className:"st-horizontal-scrollbar-container",style:{width:d}},{children:[s>0&&n("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:s}}),m>0&&n("div",g({className:"st-horizontal-scrollbar-middle",onScroll:function(e){var n=e.target.scrollLeft;void 0!==n&&i.current&&i.current.scrollTo({left:n,behavior:"auto"})},ref:I},{children:n("div",{style:{width:m}})})),f>0&&n("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:f}})]}))},de=function(e){var n=e.headers,r=e.tableRows,o=t(null),i=o[0],a=o[1],d=l((function(){var e={};return n.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[n]),c=t(d),s=c[0],u=c[1],h=l((function(){if(!i)return r;var e=function(e,n,r){return{sortedData:$(n,r,e),newSortConfig:r}}(n,r,i).sortedData;return e}),[r,i,n]);return{sort:i,setSort:a,updateSort:function(e,r){var t=n.find((function(e){return e.accessor===r}));t&&a((function(e){return e&&e.key.accessor===r?"ascending"===e.direction?{key:t,direction:"descending"}:null:{key:t,direction:"ascending"}}))},sortedRows:h,hiddenColumns:s,setHiddenColumns:u}},ce=function(r){var o=r.checked,i=void 0!==o&&o,a=r.children,l=r.onChange,d=t(i),c=d[0],s=d[1];return e("label",g({className:"st-checkbox-label"},{children:[n("input",{checked:c,className:"st-checkbox-input",onChange:function(){var e=!c;s(e),l&&l(e)},type:"checkbox"}),n("span",g({className:"st-checkbox-custom ".concat(c?"st-checked":"")},{children:c&&n("span",{className:"st-checkbox-checkmark"})})),a]}))},se=function(e){var r=e.headers,t=e.open,o=e.position;e.setOpen;var i=e.setHiddenColumns,a=e.hiddenColumns,l="left"===o?"left":"";return n("div",g({className:"st-column-editor-popout ".concat(t?"open":""," ").concat(l),onClick:function(e){return e.stopPropagation()}},{children:n("div",g({className:"st-column-editor-popout-content"},{children:r.map((function(e,r){return n(ce,g({checked:a[e.accessor],onChange:function(n){var r;return i(g(g({},a),((r={})[e.accessor]=n,r)))}},{children:e.label}),r)}))}))}))},ue=function(r){var o=r.columnEditorText,i=r.editColumns,a=r.editColumnsInitOpen,l=r.headers,d=r.position,c=void 0===d?"right":d,s=r.setHiddenColumns,u=r.hiddenColumns,h=t(a),f=h[0],v=h[1];return i?e("div",g({className:"st-column-editor ".concat(f?"open":""," ").concat(c),onClick:function(){return function(e){v(e)}(!f)}},{children:[n("div",g({className:"st-column-editor-text"},{children:o})),n(se,{headers:l,open:f,position:c,setOpen:v,setHiddenColumns:s,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(p||(p={}));var he=f((function(r){var d=r.allowAnimations,s=void 0!==d&&d,u=r.columnEditorPosition,h=void 0===u?p.Right:u,f=r.columnEditorText,w=void 0===f?"Columns":f,m=r.columnResizing,M=void 0!==m&&m,H=r.defaultHeaders,D=r.editColumns,S=void 0!==D&&D,E=r.editColumnsInitOpen,k=void 0!==E&&E,N=r.columnReordering,T=void 0!==N&&N,O=r.height,B=r.hideFooter,L=void 0!==B&&B,W=r.nextIcon,A=void 0===W?n(x,{className:"st-next-prev-icon"}):W,P=r.onCellEdit,F=r.onColumnOrderChange,z=r.onNextPage,U=r.onPreviousPage,j=r.prevIcon,K=void 0===j?n(C,{className:"st-next-prev-icon"}):j,V=r.rowHeight,J=void 0===V?40:V,X=r.rows,q=r.rowsPerPage,Y=void 0===q?10:q,G=r.selectableCells,$=void 0!==G&&G,_=r.selectableColumns,Q=void 0!==_&&_,Z=r.shouldPaginate,ee=void 0!==Z&&Z,ne=r.sortDownIcon,re=void 0===ne?n(y,{className:"st-sort-icon"}):ne,te=r.sortUpIcon,oe=void 0===te?n(b,{className:"st-sort-icon"}):te,ae=r.theme,ce=void 0===ae?"light":ae,se=r.totalPages,he=o(null),fe=o(H),ve=o(null),ge=o(null),we=o(null),me=o(null),pe=o(null),Ie=t(!1),Re=Ie[0],Ce=Ie[1],xe=t(1),be=xe[0],ye=xe[1],Me=t(0),He=Me[0],De=Me[1],Se=t(0),Ee=Se[0],ke=Se[1],Ne=t(0),Te=Ne[0],Oe=Ne[1],Be=de({headers:fe.current,tableRows:X}),Le=Be.sort,We=Be.sortedRows,Ae=Be.hiddenColumns,Pe=Be.setHiddenColumns,Fe=Be.updateSort,ze=l((function(){if(!ee)return We;var e=(be-1)*Y,n=e+Y;return We.slice(e,n)}),[be,Y,ee,We]),Ue=t(ze),je=Ue[0],Ke=Ue[1];a((function(){Ke(ze)}),[ze]);var Ve=l((function(){var e;if(!O)return window.innerHeight-J;var n=document.querySelector(".simple-table-root"),r=0;if(O.endsWith("px"))r=parseInt(O,10);else if(O.endsWith("vh")){var t=parseInt(O,10);r=window.innerHeight*t/100}else if(O.endsWith("%")){var o=parseInt(O,10);r=((null===(e=null==n?void 0:n.parentElement)||void 0===e?void 0:e.clientHeight)||window.innerHeight)*o/100}else r=window.innerHeight;return Math.max(0,r-J)}),[O,J]),Je=l((function(){return function(e){var n=e.bufferRowCount,r=e.contentHeight,t=e.flattenedRows,o=e.rowHeight,i=e.scrollTop,a=[],l=0,d=Math.max(0,i-o*n),c=i+r+o*n,s=function(e,n){for(var r,t=0,i=e;t<i.length;t++){var u=i[t],h=l*o;if(h>=c)break;h+o>d&&a.push({row:u,depth:n,position:l,isLastGroupRow:Boolean(null===(r=u.rowMeta.children)||void 0===r?void 0:r.length)&&n>1}),l+=1,u.rowMeta.isExpanded&&u.rowMeta.children&&s(u.rowMeta.children,n+1)}};return s(t,0),a}({bufferRowCount:5,contentHeight:Ve,flattenedRows:je,rowHeight:J,scrollTop:Te})}),[Ve,J,je,Te]),Xe=v((function(e){return e+1}),0)[1],qe=function(e){var n=e.selectableCells,r=e.headers,d=e.visibleRows,c=t(new Set),s=c[0],u=c[1],h=t(null),f=h[0],v=h[1],g=o(!1),w=o(null),m=i((function(){var e=Array.from(s).reduce((function(e,n){var t=n.split("-").map(Number),o=t[0],i=t[1];return e[o]||(e[o]=[]),e[o][i]=d[o].row.rowData[r[i].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");s.size>0&&navigator.clipboard.writeText(n)}),[r,s,d]),p=i((function(e,n){for(var r=new Set,t=Math.min(e.rowIndex,n.rowIndex),o=Math.max(e.rowIndex,n.rowIndex),i=Math.min(e.colIndex,n.colIndex),a=Math.max(e.colIndex,n.colIndex),l=t;l<=o;l++)for(var c=i;c<=a;c++)if(l>=0&&l<d.length){var s=d[l].row.rowMeta.rowId;r.add(I({colIndex:c,rowIndex:l,rowId:s}))}u(r)}),[d]),R=i((function(e){if(e.rowIndex>=0&&e.rowIndex<d.length&&e.colIndex>=0&&e.colIndex<r.length){var n=I(e);u(new Set([n])),v(e)}}),[r.length,d.length]);a((function(){var e=function(e){if(n&&f){var t=f.rowIndex,o=f.colIndex,i=f.rowId;if(!e.ctrlKey&&!e.metaKey||"c"!==e.key){if(d[t].row.rowMeta.rowId!==i){var a=d.findIndex((function(e){return e.row.rowMeta.rowId===i}));if(-1===a)return;t=a}if("ArrowUp"===e.key){if(e.preventDefault(),t>0){var l={rowIndex:t-1,colIndex:o,rowId:d[t-1].row.rowMeta.rowId};R(l)}}else"ArrowDown"===e.key?(e.preventDefault(),t<d.length-1&&(l={rowIndex:t+1,colIndex:o,rowId:d[t+1].row.rowMeta.rowId},R(l))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),o>0&&(l={rowIndex:t,colIndex:o-1,rowId:d[t].row.rowMeta.rowId},R(l))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),o<r.length-1&&(l={rowIndex:t,colIndex:o+1,rowId:d[t].row.rowMeta.rowId},R(l))):"Escape"===e.key&&(u(new Set),w.current=null,v(null))}else m()}};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[m,r.length,f,p,R,n,d]);var C=i((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,o=I({colIndex:n,rowIndex:r,rowId:t});return s.has(o)}),[s]),x=i((function(e){var n,r,t,o,i,a,l=e.colIndex,c=e.rowIndex,s=e.rowId,u=[],h=null===(t=null===(r=null===(n=d[c-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,f={colIndex:l,rowIndex:c+1,rowId:null===(a=null===(i=null===(o=d[c+1])||void 0===o?void 0:o.row)||void 0===i?void 0:i.rowMeta)||void 0===a?void 0:a.rowId},v={colIndex:l-1,rowIndex:c,rowId:s},g={colIndex:l+1,rowIndex:c,rowId:s};return C({colIndex:l,rowIndex:c-1,rowId:h})||u.push("st-selected-top-border"),C(f)||u.push("st-selected-bottom-border"),C(v)||u.push("st-selected-left-border"),C(g)||u.push("st-selected-right-border"),u.join(" ")}),[C,d]),b=l((function(){return f?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===f.rowIndex&&r===f.colIndex&&t===f.rowId}:function(){return!1}}),[f]);return{getBorderClass:x,handleMouseDown:function(e){var r=e.colIndex,t=e.rowIndex,o=e.rowId;if(n){g.current=!0,w.current={rowIndex:t,colIndex:r,rowId:o};var i=I({colIndex:r,rowIndex:t,rowId:o});u(new Set([i])),v({rowIndex:t,colIndex:r,rowId:o})}},handleMouseOver:function(e){var r=e.colIndex,t=e.rowIndex;if(e.rowId,n&&g.current&&w.current){for(var o=new Set,i=Math.min(w.current.rowIndex,t),a=Math.max(w.current.rowIndex,t),l=Math.min(w.current.colIndex,r),c=Math.max(w.current.colIndex,r),s=i;s<=a;s++)for(var h=l;h<=c;h++)if(s>=0&&s<d.length){var f=d[s].row.rowMeta.rowId;o.add(I({colIndex:h,rowIndex:s,rowId:f}))}u(o)}},handleMouseUp:function(){g.current=!1},isInitialFocusedCell:b,isSelected:C,selectedCells:s,setSelectedCells:u}}({selectableCells:$,headers:fe.current,visibleRows:Je}),Ye=qe.handleMouseDown,Ge=qe.handleMouseOver,$e=qe.handleMouseUp,_e=qe.isSelected,Qe=qe.getBorderClass,Ze=qe.isInitialFocusedCell,en=qe.setSelectedCells,nn=i((function(e,n){Fe(e,n)}),[Fe]),rn=i((function(e){fe.current=e,Xe()}),[]);return a((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||Q&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||en(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[Q,en]),c((function(){if(pe.current){var e=pe.current.offsetWidth-pe.current.clientWidth,n=pe.current.clientWidth;De(e),ke(n)}}),[]),c((function(){var e=function(){if(Xe(),pe.current){var e=pe.current.offsetWidth-pe.current.clientWidth,n=pe.current.clientWidth;De(e),ke(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),e("div",g({className:"simple-table-root st-wrapper theme-".concat(ce),style:O?{height:O}:{}},{children:[e("div",g({className:"st-table-wrapper-container"},{children:[e("div",g({className:"st-table-wrapper",onMouseUp:$e,onMouseLeave:$e},{children:[n(ie,{allowAnimations:s,columnReordering:T,columnResizing:M,currentRows:ze,draggedHeaderRef:he,editColumns:S,flattenedRows:je,forceUpdate:Xe,getBorderClass:Qe,handleMouseDown:Ye,handleMouseOver:Ge,headersRef:fe,hiddenColumns:Ae,hoveredHeaderRef:ve,isInitialFocusedCell:Ze,isSelected:_e,isWidthDragging:Re,mainBodyRef:ge,onCellEdit:P,onColumnOrderChange:F,onSort:nn,onTableHeaderDragEnd:rn,pinnedLeftRef:we,pinnedRightRef:me,rowHeight:J,scrollbarWidth:He,selectableColumns:Q,setIsWidthDragging:Ce,setFlattenedRows:Ke,setScrollTop:Oe,setSelectedCells:en,shouldPaginate:ee,sort:Le,sortDownIcon:re,sortUpIcon:oe,tableBodyContainerRef:pe,visibleRows:Je}),n(ue,{columnEditorText:w,editColumns:S,editColumnsInitOpen:k,headers:fe.current,hiddenColumns:Ae,position:h,setHiddenColumns:Pe})]})),n(le,{mainBodyRef:ge,pinnedLeftRef:we,pinnedRightRef:me,tableContentWidth:Ee})]})),n(R,{currentPage:be,hideFooter:L,nextIcon:A,onPageChange:ye,onNextPage:z,onPreviousPage:U,prevIcon:K,shouldPaginate:ee,totalPages:se||Math.ceil(We.length/Y)})]}))}));export{he as SimpleTable};
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,createContext as d,useContext as c,forwardRef as s,useLayoutEffect as u,Fragment as h,createRef as f,memo as v,useReducer as g}from"react";var w=function(){return w=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},w.apply(this,arguments)};function m(e,n,r){if(r||2===arguments.length)for(var t,o=0,i=n.length;o<i;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var p,C=function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return"".concat(n,"-").concat(r,"-").concat(t)},x=function(r){var t=r.currentPage,o=r.hideFooter,i=r.nextIcon,a=r.onPageChange,l=r.onNextPage,d=r.onPreviousPage,c=r.prevIcon,s=r.shouldPaginate,u=r.totalPages;if(o||!s)return null;var h=!(t>1)&&!d,f=!(t<u)&&!l;return e("div",w({className:"st-footer"},{children:[n("button",w({className:"st-next-prev-btn ".concat(h?"disabled":""),onClick:function(){var e=t-1;e>=1&&a(e),d&&d(e-1)},disabled:h},{children:c})),n("button",w({className:"st-next-prev-btn ".concat(f?"disabled":""),onClick:function(){var e=t+1;(e<=u||l)&&a(e),l&&l(t)},disabled:f},{children:i})),Array.from({length:u},(function(e,r){return n("button",w({onClick:function(){var e;(e=r+1)>=1&&e<=u&&(a(e),e>t&&l?l(e-1):e<t&&d&&d(e-1))},className:"st-page-btn ".concat(t===r+1?"active":"")},{children:r+1}),r)}))]}))},I=function(e){var r=e.className;return n("svg",w({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"})}))},R=function(e){var r=e.className;return n("svg",w({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},b=function(e){var r=e.className;return n("svg",w({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M5.41 11.41L10 6.83l4.59 4.58L16 10l-6-6-6 6z"})}))},y=function(e){var r=e.className;return n("svg",w({className:r,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},M=function(e){return e.position*(e.rowHeight+1)-1},S=function(e){return e.position*(e.rowHeight+1)},E=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},D=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},H=function(r){var t=r.value,o=r.onBlur,i=r.onChange;return e("select",w({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;i("true"===n)}},{children:[n("option",w({value:"true"},{children:"True"})),n("option",w({value:"false"},{children:"False"}))]}))},k=function(e){var r=e.defaultValue,t=e.onBlur,i=e.onChange,a=o(null);return n("input",{className:"editable-cell-input",ref:a,autoFocus:!0,type:"text",defaultValue:null!=r?r:"",onBlur:t,onChange:function(e){var n=e.target.value;i(n)}})},N=function(e){var r=e.defaultValue,t=e.onBlur,i=e.onChange,a=o(null);return n("input",{className:"editable-cell-input",ref:a,autoFocus:!0,defaultValue:r.toString(),onBlur:t,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&i(n)}})},T=function(e){var t=e.onChange,o=e.setIsEditing,i=e.value,a=function(e){null==t||t(e)},l=function(){o(!1)};return n(r,{children:"string"==typeof i||null==i?n(k,{defaultValue:i,onBlur:l,onChange:a}):"boolean"==typeof i?n(H,{onBlur:l,onChange:a,value:i}):"number"==typeof i?n(N,{defaultValue:i,onBlur:l,onChange:a}):null})},L=0,W=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===L||o-L>=t)&&(L=o,n(r))}},O=Date.now(),B={screenX:0,screenY:0},P=function(e){var n,r,t=e.draggedHeaderRef,i=e.headersRef,l=e.hoveredHeaderRef,d=e.onColumnOrderChange,c=e.onTableHeaderDragEnd,s=(n=i.current,r=o(n),a((function(){r.current=n}),[n]),r.current);return{handleDragStart:function(e){t.current=e,O=Date.now()},handleDragOver:function(e){var n,r=e.event,o=e.hoveredHeader;if(r.preventDefault(),i.current){var a=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),d=r.screenX,u=r.screenY,h=Math.sqrt(Math.pow(d-B.screenX,2)+Math.pow(u-B.screenY,2));l.current=o;var f=m([],i.current,!0),v=f.findIndex((function(e){var n;return e.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)})),g=f.findIndex((function(e){return e.accessor===o.accessor})),w=f.splice(v,1)[0];if(f.splice(g,0,w),!(a||o.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)||null===t.current||h<10||void 0===v||void 0===g||JSON.stringify(f)===JSON.stringify(i.current))){var p=Date.now();JSON.stringify(f)===JSON.stringify(s)&&p-O<800&&h<50||(O=p,B={screenX:d,screenY:u},c(f))}}},handleDragEnd:function(){t.current=null,l.current=null,null==d||d(i.current)}}},A=d(void 0),F=function(e){var r=e.children,t=e.value;return n(A.Provider,w({value:t},{children:r}))},z=function(){var e=c(A);if(void 0===e)throw new Error("useTableContext must be used within a TableProvider");return e},j=s((function(r,o){var i,l,d=r.colIndex,c=r.header,s=r.onExpandRowClick,u=r.rowIndex,h=r.visibleRow,f=z(),v=f.draggedHeaderRef,g=f.headersRef,m=f.hoveredHeaderRef,p=f.onCellEdit,C=f.onTableHeaderDragEnd,x=f.handleMouseDown,I=f.handleMouseOver,b=f.getBorderClass,M=f.isSelected,S=f.isInitialFocusedCell,D=b({rowIndex:u,colIndex:d,rowId:h.row.rowMeta.rowId}),H=M({rowIndex:u,colIndex:d,rowId:h.row.rowMeta.rowId}),k=S({rowIndex:u,colIndex:d,rowId:h.row.rowMeta.rowId}),N=h.depth,L=h.row,O=t(L.rowData[c.accessor]),B=O[0],A=O[1],F=t(!1),j=F[0],U=F[1],K=P({draggedHeaderRef:v,headersRef:g,hoveredHeaderRef:m,onTableHeaderDragEnd:C}).handleDragOver,V=W(),J="cell-".concat(u,"-").concat(d),X=Boolean(null===(l=null===(i=L.rowMeta)||void 0===i?void 0:i.children)||void 0===l?void 0:l.length),q=Boolean(null==c?void 0:c.isEditable),Y=u%2==0,G="st-cell ".concat(N>0&&c.expandable?"st-cell-depth-".concat(N):""," ").concat(H?k?"st-cell-selected-first ".concat(D):"st-cell-selected ".concat(D):""," ").concat(Y?"st-cell-odd-row":"st-cell-even-row"," ").concat(q?"clickable":"");a((function(){A(L.rowData[c.accessor])}),[c.accessor,L]);return j?n("div",w({className:"st-cell-editing ".concat(Y?"st-cell-odd-row":"st-cell-even-row"),id:E({accessor:c.accessor,rowIndex:u+1})},{children:n(T,{onChange:function(e){A(e),null==p||p({accessor:c.accessor,newValue:e,row:L})},setIsEditing:U,value:B})})):e("div",w({className:G,id:J,onDoubleClick:function(){return c.isEditable&&U(!0)},onMouseDown:function(){return x({rowIndex:u,colIndex:d,rowId:L.rowMeta.rowId})},onMouseOver:function(){return I({rowIndex:u,colIndex:d,rowId:L.rowMeta.rowId})},onDragOver:function(e){return V({callback:K,callbackProps:{event:e,hoveredHeader:c},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!c.isEditable||j||(e.preventDefault(),U(!0))},ref:o,"data-row-index":u,"data-col-index":d,"aria-selected":H},{children:[c.expandable&&X?L.rowMeta.isExpanded?n("div",w({className:"st-sort-icon-container",onClick:function(){return s(L.rowMeta.rowId)}},{children:n(y,{className:"st-sort-icon"})})):n("div",w({className:"st-sort-icon-container",onClick:function(){return s(L.rowMeta.rowId)}},{children:n(R,{className:"st-sort-icon"})})):null,n("span",w({className:"st-cell-content ".concat("right"===c.align?"right-aligned":"center"===c.align?"center-aligned":"")},{children:c.cellRenderer?c.cellRenderer({accessor:c.accessor,colIndex:d,row:L}):B}))]}))})),U=function(e){var t=e.children,o=function(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}(e,["children"]);return z().allowAnimations?n(K,w({},o,{children:t})):n(r,{children:t})},K=function(e){var i=e.children,l=e.isBody,d=e.pauseAnimation,c=e.rowIndex,s=o(!1),h=z(),f=h.draggedHeaderRef,v=h.headersRef,g=h.mainBodyRef,w=h.shouldPaginate,m=t({}),p=m[0],C=m[1],x=o({}),I=v.current;return u((function(){if(I){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var i=document.getElementById(E({accessor:e.accessor,rowIndex:t}));if(i){var a=i.getAnimations().some((function(e){return"running"===e.playState})),l=i.getBoundingClientRect();a&&(null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.accessor)!==e.accessor?o[e.accessor]=!1:o[e.accessor]=l}}})),o}({currentHeaders:I,draggedHeaderRef:f,rowIndex:c});JSON.stringify(e)!==JSON.stringify(p)&&(x.current=p,C(e))}}),[p,I,f,l,c]),u((function(){var e=g.current,n=function(){s.current=!0},r=function(){s.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)}}),[f,g]),a((function(){d||s.current||Object.keys(x.current).length&&I&&I.forEach((function(e){var n=document.getElementById(E({accessor:e.accessor,rowIndex:c}));if(n){var r=x.current[e.accessor],t=p[e.accessor];if(r&&t){var o=r.left-t.left,i=w?0:r.top-t.top,a=Math.abs(o),l=Math.abs(i);(a>10||l>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")}))}))}}}))}),[p,I,l,d,x,c,w]),n(r,{children:i})},V=function(e){var r=e.headers,t=e.hiddenColumns,o=e.isWidthDragging,i=e.onExpandRowClick,a=e.pinned,d=e.rowIndex,c=e.visibleRow,s=r.filter((function(e){return D({hiddenColumns:t,header:e,pinned:a})})),u=l((function(){var e={},n=1,r=function(o,i){void 0===i&&(i=!1),i||n++,e[o.accessor]=n,o.children&&o.children.length>0&&o.children.filter((function(e){return D({hiddenColumns:t,header:e,pinned:a})})).forEach((function(e,n){r(e,0===n)}))};return s.forEach((function(e,n){r(e,0===n)})),e}),[s,t,a]);return n(U,w({isBody:!0,pauseAnimation:o,rowIndex:d+1},{children:s.map((function(e){return n(J,{columnIndices:u,header:e,headers:r,hiddenColumns:t,onExpandRowClick:i,pinned:a,rowIndex:d,visibleRow:c},E({accessor:e.accessor,rowIndex:d+1}))}))}))},J=function(e){var r=e.columnIndices,t=e.header,o=e.headers,i=e.hiddenColumns,a=e.onExpandRowClick,l=e.pinned,d=e.rowIndex,c=e.visibleRow,s=r[t.accessor];if(t.children){var u=t.children.filter((function(e){return D({hiddenColumns:i,header:e,pinned:l})}));return n(h,{children:u.map((function(e){return n(J,{columnIndices:r,header:e,headers:o,hiddenColumns:i,onExpandRowClick:a,pinned:l,rowIndex:d,visibleRow:c},E({accessor:e.accessor,rowIndex:d+1}))}))})}return n(j,{colIndex:s,header:t,onExpandRowClick:a,rowIndex:d,visibleRow:c},E({accessor:t.accessor,rowIndex:d+1}))},X=function(e){var r=e.getNextRowIndex,t=e.gridTemplateColumns,o=e.headers,i=e.hiddenColumns,a=e.index,l=e.isWidthDragging,d=e.onExpandRowClick,c=e.pinned,s=e.rowHeight,u=e.visibleRow,h=u.position,f=r();return n("div",w({className:"st-table-row",style:{gridTemplateColumns:t,top:S({position:h,rowHeight:s}),height:"".concat(s,"px")}},{children:n(V,{headers:o,hiddenColumns:i,isWidthDragging:l,onExpandRowClick:d,pinned:c,rowIndex:f,visibleRow:u},a)}))},q=function(e){var r=e.lastGroupRow,t=e.position,o=e.rowHeight,i=e.templateColumns;return n("div",w({className:"st-row-separator ".concat(r?"st-last-group-row":""),style:{display:"grid",gridTemplateColumns:i,position:"absolute",top:M({position:t,rowHeight:o}),minWidth:"100%"}},{children:n("div",{style:{gridColumn:"1 / -1"}})}))},Y=function(r){r.headerContainerRef;var t=r.headers,i=r.hiddenColumns,l=r.isWidthDragging,d=r.onExpandRowClick,c=r.pinned,s=r.rowHeight,u=r.sectionRef,f=r.templateColumns,v=r.totalHeight,g=r.visibleRows,m=r.width,p=c?"st-table-body-pinned-".concat(c):"st-table-body-main",C=o(0);a((function(){C.current=0}));var x=function(){return C.current++};return n("div",w({className:p,ref:u,style:{position:"relative",height:"".concat(v,"px"),width:m}},{children:g.map((function(r,o){var a,u,v=Boolean(null===(u=null===(a=r.row.rowMeta)||void 0===a?void 0:a.children)||void 0===u?void 0:u.length);return e(h,{children:[n(X,{getNextRowIndex:x,gridTemplateColumns:f,headers:t,hiddenColumns:i,index:o,isWidthDragging:l,onExpandRowClick:d,pinned:c,rowHeight:s,visibleRow:r}),0!==o&&n(q,{lastGroupRow:v,position:r.position,rowHeight:s,templateColumns:f})]},o)}))}))},G=function(r){var i,l,d,c,s,u=r.centerHeaderRef,h=r.flattenedRows,f=r.headerContainerRef,v=r.isWidthDragging,g=r.mainTemplateColumns,m=r.pinnedLeftColumns,p=r.pinnedLeftHeaderRef,C=r.pinnedLeftTemplateColumns,x=r.pinnedRightColumns,I=r.pinnedRightHeaderRef,R=r.pinnedRightTemplateColumns,b=r.setFlattenedRows,y=r.setScrollTop,M=r.visibleRows,S=z(),E=S.rowHeight,D=S.scrollbarWidth,H=S.mainBodyRef,k=S.pinnedLeftRef,N=S.pinnedRightRef,T=S.tableBodyContainerRef,L=S.hiddenColumns,W=S.headersRef;!function(e){var n=e.headerContainerRef,r=e.mainSectionRef,o=e.scrollbarWidth,i=t(!1),l=i[0],d=i[1];a((function(){var e=null==n?void 0:n.current;if(l&&e)return e.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(o,"px")),function(){e.classList.remove("st-header-scroll-padding")}}),[n,l,o]),a((function(){var e=null==n?void 0:n.current,t=null==r?void 0:r.current;if(t&&e){var o=function(){if(t){var e=t.scrollHeight>t.clientHeight;d(e)}};o();var i=new ResizeObserver((function(){o()}));return i.observe(t),function(){t&&i.unobserve(t)}}}),[n,r])}({headerContainerRef:f,mainSectionRef:T,scrollbarWidth:D});var O,B,P=o(null),A=(O=0,(B=function(e){e.forEach((function(e){O+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&B(e.rowMeta.children)}))})(h),O)*(E+1)-1,F=function(e){var n=function(r){return r.rowMeta.rowId===e&&r.rowMeta.children?w(w({},r),{rowMeta:w(w({},r.rowMeta),{isExpanded:!r.rowMeta.isExpanded})}):r.rowMeta.children?w(w({},r),{rowMeta:w(w({},r.rowMeta),{children:r.rowMeta.children.map(n)})}):r};b((function(e){return e.map(n)}))},j=(null===(i=p.current)||void 0===i?void 0:i.clientWidth)?(null===(l=p.current)||void 0===l?void 0:l.clientWidth)+1:0,U=null===(d=u.current)||void 0===d?void 0:d.clientWidth,K=(null===(c=I.current)||void 0===c?void 0:c.clientWidth)?(null===(s=I.current)||void 0===s?void 0:s.clientWidth)+1:0,V={headerContainerRef:f,headers:W.current,hiddenColumns:L,isWidthDragging:v,rowHeight:E,visibleRows:M};return e("div",w({className:"st-table-body-container",ref:T,onScroll:function(e){var n=e.currentTarget.scrollTop;P.current&&cancelAnimationFrame(P.current),P.current=requestAnimationFrame((function(){y(n)}))}},{children:[m.length>0&&n(Y,w({},V,{onExpandRowClick:F,pinned:"left",sectionRef:k,templateColumns:C,totalHeight:A,width:j})),n(Y,w({},V,{onExpandRowClick:F,sectionRef:H,templateColumns:g,totalHeight:A,width:U})),x.length>0&&n(Y,w({},V,{onExpandRowClick:F,pinned:"right",sectionRef:N,templateColumns:R,totalHeight:A,width:K}))]}))},$=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])},_={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 _.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?_.string(e,n,r):"number"==typeof e&&"number"==typeof n?_.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?_.boolean(e,n,r):_.string(String(e),String(n),r)}},Q=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 _.number(i,a,t)}return"date"===r?_.date(String(e),String(n),t):"boolean"===r?_.boolean(Boolean(e),Boolean(n),t):"enum"===r?_.enum(String(e),String(n),t):_.string(String(e),String(n),t)},Z=function(e,n,r){var t=r.find((function(e){return e.accessor===n.key.accessor})),o=(null==t?void 0:t.type)||"string",i=n.direction,a=new Map,l=new Map,d="";e.forEach((function(e){var r;if(e.rowData&&!e.rowData[n.key.accessor]&&void 0!==e.rowMeta.isExpanded){var t=(e.rowData.sector||"group_".concat(a.size)).toString();d=t,l.set(d,e),a.has(d)||a.set(d,[])}else if(d){var o=a.get(d)||[];o.push(e),a.set(d,o)}else{var i="default";a.has(i)||a.set(i,[]),null===(r=a.get(i))||void 0===r||r.push(e)}}));var c=[];return a.forEach((function(e,t){if(l.has(t)){var a=l.get(t);a.rowMeta.children&&a.rowMeta.children.length>0&&(a.rowMeta.children=ee(a.rowMeta.children,n,r)),c.push(a)}var d=m([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,a=e.rowData[t],l=r.rowData[t];return Q(a,l,o,i)}));c.push.apply(c,d.map((function(e){var t=w({},e);if(t.rowMeta.children&&t.rowMeta.children.length>0){var o=ee(t.rowMeta.children,n,r);t.rowMeta=w(w({},t.rowMeta),{children:o})}return t})))})),c},ee=function(e,n,r){var t=r.find((function(e){return e.accessor===n.key.accessor})),o=(null==t?void 0:t.type)||"string",i=n.direction;return m([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,a=e.rowData[t],l=r.rowData[t];return Q(a,l,o,i)})).map((function(e){return e.rowMeta.children&&e.rowMeta.children.length>0?w(w({},e),{rowMeta:w(w({},e.rowMeta),{children:ee(e.rowMeta.children,n,r)})}):e}))},ne=function(e){var n=e.colIndex,r=e.event,t=e.forceUpdate,o=e.header,i=e.headersRef;e.reverse;var a=e.setIsWidthDragging,l=e.startWidth;a(!0),r.preventDefault();var d=r.clientX;if(o){var c=function(e){var r=Math.max(l+(e.clientX-d),40);o&&i.current&&(i.current[n].width=r,t())},s=function(){document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",s),a(!1)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",s)}},re=s((function(r,o){var i=r.colIndex,l=r.gridColumnEnd,d=r.gridColumnStart,c=r.gridRowEnd,s=r.gridRowStart,u=r.header,h=r.reverse,f=r.sort,v=z(),g=v.columnReordering,p=v.columnResizing,C=v.draggedHeaderRef,x=v.forceUpdate,I=v.headersRef,R=v.hoveredHeaderRef,b=v.onColumnOrderChange,y=v.onSort,M=v.onTableHeaderDragEnd,S=v.rowHeight,D=v.selectColumns,H=v.selectableColumns,k=v.setInitialFocusedCell,N=v.setIsWidthDragging,T=v.setSelectedCells,L=v.setSelectedColumns,O=v.sortDownIcon,B=v.sortUpIcon,A=t(!1),F=A[0],j=A[1],U=Boolean(null==u?void 0:u.isSortable),K="st-header-cell ".concat(u===R.current?"st-hovered":""," ").concat(F?"st-dragging":""," ").concat(U?"clickable":""," ").concat(g&&!U?"columnReordering":""," ").concat("right"===(null==u?void 0:u.align)?"right-aligned":"center"===(null==u?void 0:u.align)?"center-aligned":""),V=P({draggedHeaderRef:C,headersRef:I,hoveredHeaderRef:R,onColumnOrderChange:b,onTableHeaderDragEnd:M}),J=V.handleDragStart,X=V.handleDragEnd,q=V.handleDragOver,Y=W(),G=function(e){var n=e.event,r=e.header;if(H){var t=function(e,n){if(!e.children||0===e.children.length)return[n];var r=[],t=function(e,n){if(!e.children||0===e.children.length)return r.push(n),n+1;for(var o=n,i=0,a=e.children;i<a.length;i++){var l=a[i];o=t(l,o)}return o};return t(e,n),r}(r,i);return n.shiftKey&&D?L((function(e){if(0===e.size)return new Set(t);var n=t[0],r=Array.from(e).sort((function(e,n){return e-n})),o=r[0],i=Math.abs(n-o);r.forEach((function(e){var r=Math.abs(n-e);r<i&&(i=r,o=e)}));var a,l,d,c,s=m(m([],(a=o,l=n,d=Math.min(a,l),c=Math.max(a,l),Array.from({length:c-d+1},(function(e,n){return d+n}))),!0),t,!0);return new Set(m(m([],Array.from(e),!0),s,!0))})):D&&D(t),T(new Set),void k(null)}r.isSortable&&y(i,r.accessor)};if(a((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!u)return null;var $=p&&n("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;Y({callback:ne,callbackProps:{colIndex:i,event:e,forceUpdate:x,header:u,headersRef:I,setIsWidthDragging:N,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),_=f&&f.key.accessor===u.accessor&&e("div",w({className:"st-sort-icon-container",onClick:function(e){return G({event:e,header:u})}},{children:["ascending"===f.direction&&B&&B,"descending"===f.direction&&O&&O]}));return e("div",w({className:K,id:E({accessor:u.accessor,rowIndex:0}),onDragOver:function(e){Y({callback:q,callbackProps:{event:e,hoveredHeader:u},limit:50})},ref:o,style:w(w({gridRowStart:s,gridRowEnd:c,gridColumnStart:d,gridColumnEnd:l},l-d>1?{}:{width:u.width}),c-s>1?{}:{height:S})},{children:[h&&$,e("div",w({className:"st-header-label ".concat("right"===u.align?"right-aligned":"center"===u.align?"center-aligned":""),draggable:g,onClick:function(e){return G({event:e,header:u})},onDragEnd:function(e){e.preventDefault(),j(!1),X()},onDragStart:function(e){g&&u&&function(e){j(!0),J(e)}(u)}},{children:["right"===u.align&&_,null==u?void 0:u.label,"right"!==u.align&&_]})),!h&&$]}))})),te=function(r){var t=r.depth,o=r.header,i=r.hiddenColumns,a=r.maxDepth,l=r.pinned,d=r.gridPosition,c=r.reverse,s=r.sort;if(!D({hiddenColumns:i,header:o,pinned:l}))return null;var u=d.gridColumnStart,v=d.gridColumnEnd,g=d.gridRowStart,w=d.gridRowEnd,m=d.colIndex;if(o.children){var p=o.children.filter((function(e){return D({hiddenColumns:i,header:e,pinned:l})}));return e(h,{children:[n(re,{colIndex:m,gridColumnEnd:v,gridColumnStart:u,gridRowEnd:w,gridRowStart:g,header:o,ref:f(),reverse:c,sort:s}),p.map((function(e,r){var o,u=null===(o=d.children)||void 0===o?void 0:o[e.accessor];return u?n(te,{depth:t+1,gridPosition:u,header:e,hiddenColumns:i,maxDepth:a,pinned:l,reverse:c,sort:s},e.accessor):null}))]})}return n(re,{colIndex:m,gridColumnEnd:v,gridColumnStart:u,gridRowEnd:w,gridRowStart:g,header:o,ref:f(),reverse:c,sort:s})},oe=function(e){var r=e.gridTemplateColumns,t=e.handleScroll,o=e.headersRef,i=e.hiddenColumns;e.isWidthDragging;var a=e.maxDepth,d=e.pinned,c=e.sectionRef,s=e.sort,u=o.current.filter((function(e){return D({hiddenColumns:i,header:e,pinned:d})})),h=l((function(){var e,n,r;return e={},n=1,r=function(t,o,l){var c,s;void 0===l&&(l=!1),l||n++;var u=n,h=null!==(s=null===(c=t.children)||void 0===c?void 0:c.filter((function(e){return D({hiddenColumns:i,header:e,pinned:d})})).length)&&void 0!==s?s:0,f={gridColumnStart:u,gridColumnEnd:h>0?u+h:u+1,gridRowStart:o,gridRowEnd:h>0?o+1:a+1,colIndex:u,children:{}};return t.children&&t.children.length>0&&t.children.filter((function(e){return D({hiddenColumns:i,header:e,pinned:d})})).forEach((function(e,n){f.children[e.accessor]=r(e,o+1,0===n)})),e[t.accessor]=f,f},u.forEach((function(e,n){r(e,1,0===n)})),e}),[u,i,a,d]);return n("div",w({className:"st-header-".concat(d?"pinned-".concat(d):"main")},t&&{onScroll:t},{ref:c,style:{gridTemplateColumns:r}},{children:n(U,w({rowIndex:0},{children:u.map((function(e){var r=h[e.accessor];return r?n(te,{depth:1,gridPosition:r,header:e,hiddenColumns:i,maxDepth:a,pinned:d,reverse:"right"===d,sort:s},e.accessor):null}))}))}))},ie=function(e){var n;return(null===(n=e.children)||void 0===n?void 0:n.length)?1+Math.max.apply(Math,e.children.map(ie)):1},ae=function(r){var t=r.centerHeaderRef,o=r.headerContainerRef,i=r.headersRef,a=r.hiddenColumns,d=r.isWidthDragging,c=r.mainTemplateColumns,s=r.pinnedLeftColumns,u=r.pinnedLeftHeaderRef,h=r.pinnedLeftTemplateColumns,f=r.pinnedRightColumns,v=r.pinnedRightHeaderRef,g=r.pinnedRightTemplateColumns,m=r.sort,p=z().mainBodyRef;$(p,t);var C=l((function(){var e=i.current,n=0;return e.forEach((function(e){if(D({hiddenColumns:a,header:e})){var r=ie(e);n=Math.max(n,r)}})),{maxDepth:n}}),[i,a]).maxDepth;return e("div",w({className:"st-header-container",ref:o},{children:[s.length>0&&n(oe,{gridTemplateColumns:h,handleScroll:void 0,headersRef:i,hiddenColumns:a,isWidthDragging:d,maxDepth:C,pinned:"left",sectionRef:u,sort:m}),n(oe,{gridTemplateColumns:c,handleScroll:function(e){var n,r,o=null===(n=t.current)||void 0===n?void 0:n.scrollLeft;void 0!==o&&(null===(r=p.current)||void 0===r||r.scrollTo(o,0))},headersRef:i,hiddenColumns:a,isWidthDragging:d,maxDepth:C,sectionRef:t,sort:m}),f.length>0&&n(oe,{gridTemplateColumns:g,handleScroll:void 0,headersRef:i,hiddenColumns:a,isWidthDragging:d,maxDepth:C,pinned:"right",sectionRef:v,sort:m})]}))},le=function(e){var n=e.headers,r=e.hiddenColumns,t=function(e){var n=e.headers,o=e.flattenedHeaders;return n.forEach((function(e){!0!==r[e.accessor]&&(e.children?t({headers:e.children,flattenedHeaders:o}):o.push(e))})),o},o=t({headers:n,flattenedHeaders:[]});return"".concat(o.map((function(e){return function(e){var n=e.minWidth,r=e.width;return"number"==typeof r&&(r="".concat(r,"px")),n&&"number"==typeof n&&(n="".concat(n,"px")),void 0!==n?"minmax(".concat(n,", ").concat(r,")"):r}(e)})).join(" "))},de=function(r){var t=r.flattenedRows,i=r.isWidthDragging,a=r.setFlattenedRows,d=r.setScrollTop,c=r.sort,s=r.visibleRows,u=z(),h=u.editColumns,f=u.headersRef,v=u.hiddenColumns,g=o(null),m=o(null),p=o(null),C=o(null),x=f.current.filter((function(e){return!e.pinned})),I=f.current.filter((function(e){return"left"===e.pinned})),R=f.current.filter((function(e){return"right"===e.pinned})),b=l((function(){return le({headers:I,hiddenColumns:v})}),[I,v]),y=l((function(){return le({headers:x,hiddenColumns:v})}),[x,v]),M=l((function(){return le({headers:R,hiddenColumns:v})}),[R,v]),S={centerHeaderRef:p,flattenedRows:t,headerContainerRef:g,isWidthDragging:i,mainTemplateColumns:y,pinnedLeftColumns:I,pinnedLeftHeaderRef:m,pinnedLeftTemplateColumns:b,pinnedRightColumns:R,pinnedRightHeaderRef:C,pinnedRightTemplateColumns:M,setFlattenedRows:a,setScrollTop:d,visibleRows:s};return e("div",w({className:"st-table-content",style:{width:h?"calc(100% - 27.5px)":"100%"}},{children:[n(ae,w({},{centerHeaderRef:p,headerContainerRef:g,headersRef:f,hiddenColumns:v,isWidthDragging:i,mainTemplateColumns:y,pinnedLeftColumns:I,pinnedLeftHeaderRef:m,pinnedLeftTemplateColumns:b,pinnedRightColumns:R,pinnedRightHeaderRef:C,pinnedRightTemplateColumns:M,sort:c})),n(G,w({},S))]}))},ce=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])},se=function(r){var i=r.mainBodyRef,a=r.pinnedLeftRef,l=r.pinnedRightRef,d=r.tableContentWidth,c=t(0),s=c[0],u=c[1],h=t(0),f=h[0],v=h[1],g=t(0),m=g[0],p=g[1],C=o(null);return ce({widthAttribute:"offsetWidth",callback:u,ref:a}),ce({widthAttribute:"scrollWidth",callback:p,ref:i}),ce({widthAttribute:"offsetWidth",callback:v,ref:l}),$(i,C),!i.current||i.current.scrollWidth<=i.current.clientWidth?null:e("div",w({className:"st-horizontal-scrollbar-container",style:{width:d}},{children:[s>0&&n("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:s}}),m>0&&n("div",w({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:C},{children:n("div",{style:{width:m}})})),f>0&&n("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:f}})]}))},ue=function(e){var n=e.headers,r=e.tableRows,o=t(null),i=o[0],a=o[1],d=l((function(){var e={};return n.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[n]),c=t(d),s=c[0],u=c[1],h=l((function(){if(!i)return r;var e=function(e,n,r){return{sortedData:Z(n,r,e),newSortConfig:r}}(n,r,i).sortedData;return e}),[r,i,n]);return{sort:i,setSort:a,updateSort:function(e,r){var t=n.find((function(e){return e.accessor===r}));t&&a((function(e){return e&&e.key.accessor===r?"ascending"===e.direction?{key:t,direction:"descending"}:null:{key:t,direction:"ascending"}}))},sortedRows:h,hiddenColumns:s,setHiddenColumns:u}},he=function(r){var o=r.checked,i=void 0!==o&&o,a=r.children,l=r.onChange,d=t(i),c=d[0],s=d[1];return e("label",w({className:"st-checkbox-label"},{children:[n("input",{checked:c,className:"st-checkbox-input",onChange:function(){var e=!c;s(e),l&&l(e)},type:"checkbox"}),n("span",w({className:"st-checkbox-custom ".concat(c?"st-checked":"")},{children:c&&n("span",{className:"st-checkbox-checkmark"})})),a]}))},fe=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",w({className:"st-column-editor-popout ".concat(t?"open":""," ").concat(l),onClick:function(e){return e.stopPropagation()}},{children:n("div",w({className:"st-column-editor-popout-content"},{children:r.map((function(e,r){return n(he,w({checked:a[e.accessor],onChange:function(n){var r;return i(w(w({},a),((r={})[e.accessor]=n,r)))}},{children:e.label}),r)}))}))}))},ve=function(r){var o=r.columnEditorText,i=r.editColumns,a=r.editColumnsInitOpen,l=r.headers,d=r.position,c=void 0===d?"right":d,s=r.setHiddenColumns,u=r.hiddenColumns,h=t(a),f=h[0],v=h[1];return i?e("div",w({className:"st-column-editor ".concat(f?"open":""," ").concat(c),onClick:function(){return function(e){v(e)}(!f)}},{children:[n("div",w({className:"st-column-editor-text"},{children:o})),n(fe,{headers:l,open:f,position:c,setOpen:v,setHiddenColumns:s,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(p||(p={}));var ge=v((function(r){var d=r.allowAnimations,c=void 0!==d&&d,s=r.columnEditorPosition,h=void 0===s?p.Right:s,f=r.columnEditorText,v=void 0===f?"Columns":f,m=r.columnResizing,M=void 0!==m&&m,S=r.defaultHeaders,E=r.editColumns,D=void 0!==E&&E,H=r.editColumnsInitOpen,k=void 0!==H&&H,N=r.columnReordering,T=void 0!==N&&N,L=r.height,W=r.hideFooter,O=void 0!==W&&W,B=r.nextIcon,P=void 0===B?n(R,{className:"st-next-prev-icon"}):B,A=r.onCellEdit,z=r.onColumnOrderChange,j=r.onNextPage,U=r.onPreviousPage,K=r.prevIcon,V=void 0===K?n(I,{className:"st-next-prev-icon"}):K,J=r.rowHeight,X=void 0===J?40:J,q=r.rows,Y=r.rowsPerPage,G=void 0===Y?10:Y,$=r.selectableCells,_=void 0!==$&&$,Q=r.selectableColumns,Z=void 0!==Q&&Q,ee=r.shouldPaginate,ne=void 0!==ee&&ee,re=r.sortDownIcon,te=void 0===re?n(y,{className:"st-sort-icon"}):re,oe=r.sortUpIcon,ie=void 0===oe?n(b,{className:"st-sort-icon"}):oe,ae=r.theme,le=void 0===ae?"light":ae,ce=r.totalPages,he=o(null),fe=o(S),ge=o(null),we=o(null),me=o(null),pe=o(null),Ce=o(null),xe=t(!1),Ie=xe[0],Re=xe[1],be=t(1),ye=be[0],Me=be[1],Se=t(0),Ee=Se[0],De=Se[1],He=t(0),ke=He[0],Ne=He[1],Te=t(0),Le=Te[0],We=Te[1],Oe=ue({headers:fe.current,tableRows:q}),Be=Oe.sort,Pe=Oe.sortedRows,Ae=Oe.hiddenColumns,Fe=Oe.setHiddenColumns,ze=Oe.updateSort,je=l((function(){if(!ne)return Pe;var e=(ye-1)*G,n=e+G;return Pe.slice(e,n)}),[ye,G,ne,Pe]),Ue=t(je),Ke=Ue[0],Ve=Ue[1];a((function(){Ve(je)}),[je]);var Je=l((function(){var e;if(!L)return window.innerHeight-X;var n=document.querySelector(".simple-table-root"),r=0;if(L.endsWith("px"))r=parseInt(L,10);else if(L.endsWith("vh")){var t=parseInt(L,10);r=window.innerHeight*t/100}else if(L.endsWith("%")){var o=parseInt(L,10);r=((null===(e=null==n?void 0:n.parentElement)||void 0===e?void 0:e.clientHeight)||window.innerHeight)*o/100}else r=window.innerHeight;return Math.max(0,r-X)}),[L,X]),Xe=l((function(){return function(e){var n=e.bufferRowCount,r=e.contentHeight,t=e.flattenedRows,o=e.rowHeight,i=e.scrollTop,a=[],l=0,d=Math.max(0,i-o*n),c=i+r+o*n,s=function(e,n){for(var r,t=0,i=e;t<i.length;t++){var u=i[t],h=l*o;if(h>=c)break;h+o>d&&a.push({row:u,depth:n,position:l,isLastGroupRow:Boolean(null===(r=u.rowMeta.children)||void 0===r?void 0:r.length)&&n>1}),l+=1,u.rowMeta.isExpanded&&u.rowMeta.children&&s(u.rowMeta.children,n+1)}};return s(t,0),a}({bufferRowCount:5,contentHeight:Je,flattenedRows:Ke,rowHeight:X,scrollTop:Le})}),[Je,X,Ke,Le]),qe=g((function(e){return e+1}),0)[1],Ye=function(e){var n=e.selectableCells,r=e.headers,d=e.visibleRows,c=t(new Set),s=c[0],u=c[1],h=t(new Set),f=h[0],v=h[1],g=t(null),w=g[0],m=g[1],p=t(null),x=p[0],I=p[1],R=o(!1),b=o(null),y=i((function(){var e=Array.from(s).reduce((function(e,n){var t=n.split("-").map(Number),o=t[0],i=t[1];return e[o]||(e[o]=[]),e[o][i]=d[o].row.rowData[r[i].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");s.size>0&&navigator.clipboard.writeText(n)}),[r,s,d]),M=i((function(e,n){for(var r=new Set,t=Math.min(e.rowIndex,n.rowIndex),o=Math.max(e.rowIndex,n.rowIndex),i=Math.min(e.colIndex,n.colIndex),a=Math.max(e.colIndex,n.colIndex),l=t;l<=o;l++)for(var c=i;c<=a;c++)if(l>=0&&l<d.length){var s=d[l].row.rowMeta.rowId;r.add(C({colIndex:c,rowIndex:l,rowId:s}))}v(new Set),m(null),u(r)}),[d,v,m,u]),S=i((function(e){if(e.rowIndex>=0&&e.rowIndex<d.length&&e.colIndex>=0&&e.colIndex<r.length){var n=C(e);v(new Set),m(null),u(new Set([n])),I(e)}}),[r.length,d.length,v,m,u,I]),E=i((function(e,n){void 0===n&&(n=!1),u(new Set),I(null),v((function(r){var t=new Set(n?r:[]);return e.forEach((function(e){return t.add(e)})),t})),e.length>0&&m(e[e.length-1])}),[u,I,v,m]);a((function(){var e=function(e){if(n&&x){var t=x.rowIndex,o=x.colIndex,i=x.rowId;if(!e.ctrlKey&&!e.metaKey||"c"!==e.key){if(d[t].row.rowMeta.rowId!==i){var a=d.findIndex((function(e){return e.row.rowMeta.rowId===i}));if(-1===a)return;t=a}if("ArrowUp"===e.key){if(e.preventDefault(),t>0){var l={rowIndex:t-1,colIndex:o,rowId:d[t-1].row.rowMeta.rowId};S(l)}}else"ArrowDown"===e.key?(e.preventDefault(),t<d.length-1&&(l={rowIndex:t+1,colIndex:o,rowId:d[t+1].row.rowMeta.rowId},S(l))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),o>0&&(l={rowIndex:t,colIndex:o-1,rowId:d[t].row.rowMeta.rowId},S(l))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),o<r.length-1&&(l={rowIndex:t,colIndex:o+1,rowId:d[t].row.rowMeta.rowId},S(l))):"Escape"===e.key&&(u(new Set),v(new Set),m(null),b.current=null,I(null))}else y()}};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[y,r.length,x,M,S,n,d]);var D=i((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,o=C({colIndex:n,rowIndex:r,rowId:t}),i=s.has(o),a=f.has(n);return i||a}),[s,f]),H=i((function(e){var n,r,t,o,i,a,l=e.colIndex,c=e.rowIndex,s=e.rowId,u=[],h=null===(t=null===(r=null===(n=d[c-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,v={colIndex:l,rowIndex:c+1,rowId:null===(a=null===(i=null===(o=d[c+1])||void 0===o?void 0:o.row)||void 0===i?void 0:i.rowMeta)||void 0===a?void 0:a.rowId},g={colIndex:l-1,rowIndex:c,rowId:s},w={colIndex:l+1,rowIndex:c,rowId:s};return(!D({colIndex:l,rowIndex:c-1,rowId:h})||f.has(l)&&0===c)&&u.push("st-selected-top-border"),(!D(v)||f.has(l)&&c===d.length-1)&&u.push("st-selected-bottom-border"),D(g)||u.push("st-selected-left-border"),D(w)||u.push("st-selected-right-border"),u.join(" ")}),[D,d,f]),k=l((function(){return x?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===x.rowIndex&&r===x.colIndex&&t===x.rowId}:function(){return!1}}),[x]);return{getBorderClass:H,handleMouseDown:function(e){var r=e.colIndex,t=e.rowIndex,o=e.rowId;if(n){R.current=!0,b.current={rowIndex:t,colIndex:r,rowId:o},v(new Set),m(null);var i=C({colIndex:r,rowIndex:t,rowId:o});u(new Set([i])),I({rowIndex:t,colIndex:r,rowId:o})}},handleMouseOver:function(e){var r=e.colIndex,t=e.rowIndex;if(e.rowId,n&&R.current&&b.current){for(var o=new Set,i=Math.min(b.current.rowIndex,t),a=Math.max(b.current.rowIndex,t),l=Math.min(b.current.colIndex,r),c=Math.max(b.current.colIndex,r),s=i;s<=a;s++)for(var h=l;h<=c;h++)if(s>=0&&s<d.length){var f=d[s].row.rowMeta.rowId;o.add(C({colIndex:h,rowIndex:s,rowId:f}))}u(o)}},handleMouseUp:function(){R.current=!1},isInitialFocusedCell:k,isSelected:D,lastSelectedColumnIndex:w,selectColumns:E,selectedCells:s,selectedColumns:f,setInitialFocusedCell:I,setSelectedCells:u,setSelectedColumns:v}}({selectableCells:_,headers:fe.current,visibleRows:Xe}),Ge=Ye.handleMouseDown,$e=Ye.handleMouseOver,_e=Ye.handleMouseUp,Qe=Ye.isSelected,Ze=Ye.getBorderClass,en=Ye.isInitialFocusedCell,nn=Ye.setSelectedCells,rn=Ye.setSelectedColumns,tn=Ye.selectColumns,on=Ye.setInitialFocusedCell,an=i((function(e,n){ze(e,n)}),[ze]),ln=i((function(e){fe.current=e,qe()}),[]);return a((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||Z&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||(nn(new Set),Z&&rn(new Set))};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[Z,nn,rn]),u((function(){if(Ce.current){var e=Ce.current.offsetWidth-Ce.current.clientWidth,n=Ce.current.clientWidth;De(e),Ne(n)}}),[]),u((function(){var e=function(){if(qe(),Ce.current){var e=Ce.current.offsetWidth-Ce.current.clientWidth,n=Ce.current.clientWidth;De(e),Ne(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),n(F,w({value:{allowAnimations:c,columnReordering:T,columnResizing:M,draggedHeaderRef:he,editColumns:D,forceUpdate:qe,getBorderClass:Ze,handleMouseDown:Ge,handleMouseOver:$e,headersRef:fe,hiddenColumns:Ae,hoveredHeaderRef:ge,isInitialFocusedCell:en,isSelected:Qe,mainBodyRef:we,onCellEdit:A,onColumnOrderChange:z,onSort:an,onTableHeaderDragEnd:ln,pinnedLeftRef:me,pinnedRightRef:pe,rowHeight:X,scrollbarWidth:Ee,selectColumns:tn,selectableColumns:Z,setInitialFocusedCell:on,setIsWidthDragging:Re,setSelectedCells:nn,setSelectedColumns:rn,shouldPaginate:ne,sortDownIcon:te,sortUpIcon:ie,tableBodyContainerRef:Ce}},{children:e("div",w({className:"simple-table-root st-wrapper theme-".concat(le),style:L?{height:L}:{}},{children:[e("div",w({className:"st-table-wrapper-container"},{children:[e("div",w({className:"st-table-wrapper",onMouseUp:_e,onMouseLeave:_e},{children:[n(de,{flattenedRows:Ke,isWidthDragging:Ie,setFlattenedRows:Ve,setScrollTop:We,sort:Be,visibleRows:Xe}),n(ve,{columnEditorText:v,editColumns:D,editColumnsInitOpen:k,headers:fe.current,hiddenColumns:Ae,position:h,setHiddenColumns:Fe})]})),n(se,{mainBodyRef:we,pinnedLeftRef:me,pinnedRightRef:pe,tableContentWidth:ke})]})),n(x,{currentPage:ye,hideFooter:O,nextIcon:P,onPageChange:Me,onNextPage:j,onPreviousPage:U,prevIcon:V,shouldPaginate:ne,totalPages:ce||Math.ceil(Pe.length/G)})]}))}))}));export{ge as SimpleTable};
2
2
  //# sourceMappingURL=index.es.js.map
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),r=function(){return r=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},r.apply(this,arguments)};function t(e,n){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(r[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(t=Object.getOwnPropertySymbols(e);o<t.length;o++)n.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(e,t[o])&&(r[t[o]]=e[t[o]])}return r}function o(e,n,r){if(r||2===arguments.length)for(var t,o=0,i=n.length;o<i;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var i,a=function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return"".concat(n,"-").concat(r,"-").concat(t)},l=function(n){var t=n.currentPage,o=n.hideFooter,i=n.nextIcon,a=n.onPageChange,l=n.onNextPage,d=n.onPreviousPage,s=n.prevIcon,c=n.shouldPaginate,u=n.totalPages;if(o||!c)return null;var f=!(t>1)&&!d,h=!(t<u)&&!l;return e.jsxs("div",r({className:"st-footer"},{children:[e.jsx("button",r({className:"st-next-prev-btn ".concat(f?"disabled":""),onClick:function(){var e=t-1;e>=1&&a(e),d&&d(e-1)},disabled:f},{children:s})),e.jsx("button",r({className:"st-next-prev-btn ".concat(h?"disabled":""),onClick:function(){var e=t+1;(e<=u||l)&&a(e),l&&l(t)},disabled:h},{children:i})),Array.from({length:u},(function(n,o){return e.jsx("button",r({onClick:function(){var e;(e=o+1)>=1&&e<=u&&(a(e),e>t&&l?l(e-1):e<t&&d&&d(e-1))},className:"st-page-btn ".concat(t===o+1?"active":"")},{children:o+1}),o)}))]}))},d=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})}))},s=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},c=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M5.41 11.41L10 6.83l4.59 4.58L16 10l-6-6-6 6z"})}))},u=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},f=function(e){return e.position*(e.rowHeight+1)-1},h=function(e){return e.position*(e.rowHeight+1)},g=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},v=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},w=function(n){var t=n.value,o=n.onBlur,i=n.onChange;return e.jsxs("select",r({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;i("true"===n)}},{children:[e.jsx("option",r({value:"true"},{children:"True"})),e.jsx("option",r({value:"false"},{children:"False"}))]}))},m=function(r){var t=r.defaultValue,o=r.onBlur,i=r.onChange,a=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:a,autoFocus:!0,type:"text",defaultValue:null!=t?t:"",onBlur:o,onChange:function(e){var n=e.target.value;i(n)}})},p=function(r){var t=r.defaultValue,o=r.onBlur,i=r.onChange,a=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:a,autoFocus:!0,defaultValue:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&i(n)}})},x=function(n){var r=n.onChange,t=n.setIsEditing,o=n.value,i=function(e){null==r||r(e)},a=function(){t(!1)};return e.jsx(e.Fragment,{children:"string"==typeof o||null==o?e.jsx(m,{defaultValue:o,onBlur:a,onChange:i}):"boolean"==typeof o?e.jsx(w,{onBlur:a,onChange:i,value:o}):"number"==typeof o?e.jsx(p,{defaultValue:o,onBlur:a,onChange:i}):null})},R=0,C=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===R||o-R>=t)&&(R=o,n(r))}},I=Date.now(),b={screenX:0,screenY:0},y=function(e){var r,t,i=e.draggedHeaderRef,a=e.headersRef,l=e.hoveredHeaderRef,d=e.onColumnOrderChange,s=e.onTableHeaderDragEnd,c=(r=a.current,t=n.useRef(r),n.useEffect((function(){t.current=r}),[r]),t.current);return{handleDragStart:function(e){i.current=e,I=Date.now()},handleDragOver:function(e){var n,r=e.event,t=e.hoveredHeader;if(r.preventDefault(),a.current){var d=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),u=r.screenX,f=r.screenY,h=Math.sqrt(Math.pow(u-b.screenX,2)+Math.pow(f-b.screenY,2));l.current=t;var g=o([],a.current,!0),v=g.findIndex((function(e){var n;return e.accessor===(null===(n=i.current)||void 0===n?void 0:n.accessor)})),w=g.findIndex((function(e){return e.accessor===t.accessor})),m=g.splice(v,1)[0];if(g.splice(w,0,m),!(d||t.accessor===(null===(n=i.current)||void 0===n?void 0:n.accessor)||null===i.current||h<10||void 0===v||void 0===w||JSON.stringify(g)===JSON.stringify(a.current))){var p=Date.now();JSON.stringify(g)===JSON.stringify(c)&&p-I<800&&h<50||(I=p,b={screenX:u,screenY:f},s(g))}}},handleDragEnd:function(){i.current=null,l.current=null,null==d||d(a.current)}}},M=n.forwardRef((function(t,o){var i,a,l=t.borderClass,d=t.colIndex,c=t.draggedHeaderRef,f=t.header,h=t.headersRef,v=t.hoveredHeaderRef,w=t.isSelected,m=t.isInitialFocusedCell,p=t.onCellEdit,R=t.onExpandRowClick,I=t.onMouseDown,b=t.onMouseOver,M=t.onTableHeaderDragEnd,S=t.rowIndex,H=t.visibleRow,E=H.depth,D=H.row,j=n.useState(D.rowData[f.accessor]),k=j[0],N=j[1],T=n.useState(!1),L=T[0],O=T[1],B=y({draggedHeaderRef:c,headersRef:h,hoveredHeaderRef:v,onTableHeaderDragEnd:M}).handleDragOver,W=C(),A="cell-".concat(S,"-").concat(d),P=Boolean(null===(a=null===(i=D.rowMeta)||void 0===i?void 0:i.children)||void 0===a?void 0:a.length),F=Boolean(null==f?void 0:f.isEditable),z=S%2==0,U="st-cell ".concat(E>0&&f.expandable?"st-cell-depth-".concat(E):""," ").concat(w?m?"st-cell-selected-first ".concat(l):"st-cell-selected ".concat(l):""," ").concat(z?"st-cell-odd-row":"st-cell-even-row"," ").concat(F?"clickable":"");n.useEffect((function(){N(D.rowData[f.accessor])}),[f.accessor,D]);return L?e.jsx("div",r({className:"st-cell-editing ".concat(z?"st-cell-odd-row":"st-cell-even-row"),id:g({accessor:f.accessor,rowIndex:S+1})},{children:e.jsx(x,{onChange:function(e){N(e),null==p||p({accessor:f.accessor,newValue:e,row:D})},setIsEditing:O,value:k})})):e.jsxs("div",r({className:U,id:A,onDoubleClick:function(){return f.isEditable&&O(!0)},onMouseDown:function(){return I({rowIndex:S,colIndex:d,rowId:D.rowMeta.rowId})},onMouseOver:function(){return b({rowIndex:S,colIndex:d,rowId:D.rowMeta.rowId})},onDragOver:function(e){return W({callback:B,callbackProps:{event:e,hoveredHeader:f},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!f.isEditable||L||(e.preventDefault(),O(!0))},ref:o,"data-row-index":S,"data-col-index":d,"aria-selected":w},{children:[f.expandable&&P?D.rowMeta.isExpanded?e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return R(D.rowMeta.rowId)}},{children:e.jsx(u,{className:"st-sort-icon"})})):e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return R(D.rowMeta.rowId)}},{children:e.jsx(s,{className:"st-sort-icon"})})):null,e.jsx("span",r({className:"st-cell-content ".concat("right"===f.align?"right-aligned":"center"===f.align?"center-aligned":"")},{children:f.cellRenderer?f.cellRenderer({accessor:f.accessor,colIndex:d,row:D}):k}))]}))})),S=function(n){var o=n.allowAnimations,i=n.children,a=t(n,["allowAnimations","children"]);return o?e.jsx(H,r({},a,{children:i})):e.jsx(e.Fragment,{children:i})},H=function(r){var t=r.allowHorizontalAnimate,o=void 0===t||t,i=r.children,a=r.draggedHeaderRef,l=r.headersRef,d=r.isBody,s=r.mainBodyRef,c=r.pauseAnimation,u=r.rowIndex,f=n.useRef(!1),h=n.useState({}),v=h[0],w=h[1],m=n.useRef({}),p=l.current;return n.useLayoutEffect((function(){if(p){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var i=document.getElementById(g({accessor:e.accessor,rowIndex:t}));if(i){var a=i.getAnimations().some((function(e){return"running"===e.playState})),l=i.getBoundingClientRect();a&&(null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.accessor)!==e.accessor?o[e.accessor]=!1:o[e.accessor]=l}}})),o}({currentHeaders:p,draggedHeaderRef:a,rowIndex:u});JSON.stringify(e)!==JSON.stringify(v)&&(m.current=v,w(e))}}),[v,p,a,d,u]),n.useLayoutEffect((function(){var e=s.current,n=function(){f.current=!0},r=function(){f.current=!1};return null==e||e.addEventListener("scroll",n),null==e||e.addEventListener("scrollend",r),function(){null==e||e.removeEventListener("scroll",n),null==e||e.removeEventListener("scrollend",r)}}),[a,s]),n.useEffect((function(){c||f.current||Object.keys(m.current).length&&p&&p.forEach((function(e){var n=document.getElementById(g({accessor:e.accessor,rowIndex:u}));if(n){var r=m.current[e.accessor],t=v[e.accessor];if(r&&t){var i=r.left-t.left,a=o?0:r.top-t.top,l=Math.abs(i),d=Math.abs(a);(l>10||d>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(i,"px, ").concat(a,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[o,v,p,d,c,m,u]),e.jsx(e.Fragment,{children:i})},E=function(n){var o=n.getBorderClass,i=n.handleMouseDown,a=n.handleMouseOver,l=n.headers,d=n.hiddenColumns,s=n.isSelected,c=n.isInitialFocusedCell,u=n.onExpandRowClick,f=n.pinned,h=n.rowIndex,w=n.visibleRow,m=t(n,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isSelected","isInitialFocusedCell","onExpandRowClick","pinned","rowIndex","visibleRow"]);return e.jsx(S,r({allowAnimations:m.allowAnimations,allowHorizontalAnimate:m.shouldPaginate,draggedHeaderRef:m.draggedHeaderRef,headersRef:m.headersRef,isBody:!0,mainBodyRef:m.mainBodyRef,pauseAnimation:m.isWidthDragging,rowIndex:h+1},{children:l.map((function(n,t){return v({hiddenColumns:d,header:n,pinned:f})?e.jsx(D,r({colIndex:t,getBorderClass:o,handleMouseDown:i,handleMouseOver:a,header:n,headers:l,hiddenColumns:d,isInitialFocusedCell:c,isSelected:s,onExpandRowClick:u,pinned:f,rowIndex:h,visibleRow:w},m),g({accessor:n.accessor,rowIndex:h+1})):null}))}))},D=function(o){var i=o.colIndex,a=o.getBorderClass,l=o.handleMouseDown,d=o.handleMouseOver,s=o.header,c=o.isInitialFocusedCell,u=o.isSelected,f=o.onExpandRowClick,h=o.rowIndex,v=o.visibleRow,w=t(o,["colIndex","getBorderClass","handleMouseDown","handleMouseOver","header","isInitialFocusedCell","isSelected","onExpandRowClick","rowIndex","visibleRow"]);return s.children?e.jsx(e.Fragment,{children:s.children.map((function(n,t){return e.jsx(D,r({colIndex:i+t,getBorderClass:a,handleMouseDown:l,handleMouseOver:d,header:n,isSelected:u,isInitialFocusedCell:c,onExpandRowClick:f,rowIndex:h,visibleRow:v},w),g({accessor:n.accessor,rowIndex:h+1}))}))}):n.createElement(M,r({},w,{borderClass:a({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId}),colIndex:i,header:s,isSelected:u({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId}),isInitialFocusedCell:c({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId}),key:g({accessor:s.accessor,rowIndex:h+1}),onExpandRowClick:f,onMouseDown:function(){return l({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId})},onMouseOver:function(){return d({rowIndex:h,colIndex:i,rowId:v.row.rowMeta.rowId})},rowIndex:h,visibleRow:v}))},j=function(n){var t=n.getNextRowIndex,o=n.gridTemplateColumns,i=n.index,a=n.pinned,l=n.props,d=n.rowHeight,s=n.visibleRow,c=s.position,u=t();return e.jsx("div",r({className:"st-table-row",style:{gridTemplateColumns:o,top:h({position:c,rowHeight:d}),height:"".concat(d,"px")}},{children:e.jsx(E,r({pinned:a,rowIndex:u,visibleRow:s},l),i)}))},k=function(n){var t=n.lastGroupRow,o=n.position,i=n.rowHeight,a=n.templateColumns;return e.jsx("div",r({className:"st-row-separator ".concat(t?"st-last-group-row":""),style:{display:"grid",gridTemplateColumns:a,position:"absolute",top:f({position:o,rowHeight:i}),minWidth:"100%"}},{children:e.jsx("div",{style:{gridColumn:"1 / -1"}})}))},N=function(o){o.headerContainerRef;var i=o.onExpandRowClick,a=o.pinned,l=o.rowHeight,d=o.sectionRef,s=o.templateColumns,c=o.totalHeight,u=o.visibleRows,f=o.width,h=t(o,["headerContainerRef","onExpandRowClick","pinned","rowHeight","sectionRef","templateColumns","totalHeight","visibleRows","width"]),g=a?"st-table-body-pinned-".concat(a):"st-table-body-main",v=n.useRef(0);n.useEffect((function(){v.current=0}));var w=function(){return v.current++};return e.jsx("div",r({className:g,ref:d,style:{position:"relative",height:"".concat(c,"px"),width:f}},{children:u.map((function(t,o){var d,c,f=Boolean(null===(c=null===(d=t.row.rowMeta)||void 0===d?void 0:d.children)||void 0===c?void 0:c.length);return e.jsxs(n.Fragment,{children:[e.jsx(j,{getNextRowIndex:w,gridTemplateColumns:s,index:o,pinned:a,props:r(r({},h),{onExpandRowClick:i,rowHeight:l,visibleRows:u}),rowHeight:l,visibleRow:t}),0!==o&&e.jsx(k,{lastGroupRow:f,position:t.position,rowHeight:l,templateColumns:s})]},o)}))}))},T=function(t){var o,i,a,l,d,s=t.centerHeaderRef,c=t.flattenedRows,u=t.headerContainerRef,f=t.mainBodyRef,h=t.mainTemplateColumns,g=t.pinnedLeftColumns,v=t.pinnedLeftHeaderRef,w=t.pinnedLeftRef,m=t.pinnedLeftTemplateColumns,p=t.pinnedRightColumns,x=t.pinnedRightHeaderRef,R=t.pinnedRightRef,C=t.pinnedRightTemplateColumns,I=t.rowHeight,b=t.scrollbarWidth,y=t.setFlattenedRows,M=t.setScrollTop,S=t.tableBodyContainerRef,H=t.visibleRows;!function(e){var r=e.headerContainerRef,t=e.mainSectionRef,o=e.scrollbarWidth,i=n.useState(!1),a=i[0],l=i[1];n.useEffect((function(){var e=null==r?void 0:r.current;if(a&&e)return e.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(o,"px")),function(){e.classList.remove("st-header-scroll-padding")}}),[r,a,o]),n.useEffect((function(){var e=null==r?void 0:r.current,n=null==t?void 0:t.current;if(n&&e){var o=function(){if(n){var e=n.scrollHeight>n.clientHeight;l(e)}};o();var i=new ResizeObserver((function(){o()}));return i.observe(n),function(){n&&i.unobserve(n)}}}),[r,t])}({headerContainerRef:u,mainSectionRef:S,scrollbarWidth:b});var E,D,j=n.useRef(null),k=(E=0,(D=function(e){e.forEach((function(e){E+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&D(e.rowMeta.children)}))})(c),E)*(I+1)-1,T=function(e){var n=function(t){return t.rowMeta.rowId===e&&t.rowMeta.children?r(r({},t),{rowMeta:r(r({},t.rowMeta),{isExpanded:!t.rowMeta.isExpanded})}):t.rowMeta.children?r(r({},t),{rowMeta:r(r({},t.rowMeta),{children:t.rowMeta.children.map(n)})}):t};y((function(e){return e.map(n)}))},L=(null===(o=v.current)||void 0===o?void 0:o.clientWidth)?(null===(i=v.current)||void 0===i?void 0:i.clientWidth)+1:0,O=null===(a=s.current)||void 0===a?void 0:a.clientWidth,B=(null===(l=x.current)||void 0===l?void 0:l.clientWidth)?(null===(d=x.current)||void 0===d?void 0:d.clientWidth)+1:0;return e.jsxs("div",r({className:"st-table-body-container",ref:S,onScroll:function(e){var n=e.currentTarget.scrollTop;j.current&&cancelAnimationFrame(j.current),j.current=requestAnimationFrame((function(){M(n)}))}},{children:[g.length>0&&e.jsx(N,r({},t,{onExpandRowClick:T,pinned:"left",rowHeight:I,sectionRef:w,templateColumns:m,totalHeight:k,visibleRows:H,width:L})),e.jsx(N,r({},t,{onExpandRowClick:T,rowHeight:I,sectionRef:f,templateColumns:h,totalHeight:k,visibleRows:H,width:O})),p.length>0&&e.jsx(N,r({},t,{onExpandRowClick:T,pinned:"right",rowHeight:I,sectionRef:R,templateColumns:C,totalHeight:k,visibleRows:H,width:B}))]}))},L=function(e,r){n.useEffect((function(){if(e.current){var n=e.current,t=function(){var e,t=null==n?void 0:n.scrollLeft;void 0!==t&&(null===(e=r.current)||void 0===e||e.scrollTo(t,0))};return n.addEventListener("scroll",t),function(){null==n||n.removeEventListener("scroll",t)}}}),[e,r])},O={string:function(e,n,r){if(e===n)return 0;var t=e.localeCompare(n);return"ascending"===r?t:-t},number:function(e,n,r){if(e===n)return 0;var t=e-n;return"ascending"===r?t:-t},boolean:function(e,n,r){if(e===n)return 0;var t=e===n?0:e?-1:1;return"ascending"===r?t:-t},date:function(e,n,r){var t=new Date(e),o=new Date(n);if(t.getTime()===o.getTime())return 0;var i=t.getTime()-o.getTime();return"ascending"===r?i:-i},enum:function(e,n,r){return O.string(e,n,r)},default:function(e,n,r){return e===n?0:null==e?"ascending"===r?-1:1:null==n?"ascending"===r?1:-1:"string"==typeof e&&"string"==typeof n?O.string(e,n,r):"number"==typeof e&&"number"==typeof n?O.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?O.boolean(e,n,r):O.string(String(e),String(n),r)}},B=function(e,n,r,t){if(void 0===r&&(r="string"),null==e||""===e)return"ascending"===t?-1:1;if(null==n||""===n)return"ascending"===t?1:-1;if("number"===r){var o=function(e){var n;if("number"==typeof e)return e;var r=String(e);if("string"==typeof r){var t=r.replace(/[$,]/g,"").match(/^([-+]?\d*\.?\d+)([TBMKtbmk])?/);if(t){var o=parseFloat(t[1]),i=null===(n=t[2])||void 0===n?void 0:n.toUpperCase();return"T"===i?o*=1e12:"B"===i?o*=1e9:"M"===i?o*=1e6:"K"===i&&(o*=1e3),o}}return parseFloat(r)||0},i=o(e),a=o(n);return O.number(i,a,t)}return"date"===r?O.date(String(e),String(n),t):"boolean"===r?O.boolean(Boolean(e),Boolean(n),t):"enum"===r?O.enum(String(e),String(n),t):O.string(String(e),String(n),t)},W=function(e,n,t){var i=t.find((function(e){return e.accessor===n.key.accessor})),a=(null==i?void 0:i.type)||"string",l=n.direction,d=new Map,s=new Map,c="";e.forEach((function(e){var r;if(e.rowData&&!e.rowData[n.key.accessor]&&void 0!==e.rowMeta.isExpanded){var t=(e.rowData.sector||"group_".concat(d.size)).toString();c=t,s.set(c,e),d.has(c)||d.set(c,[])}else if(c){var o=d.get(c)||[];o.push(e),d.set(c,o)}else{var i="default";d.has(i)||d.set(i,[]),null===(r=d.get(i))||void 0===r||r.push(e)}}));var u=[];return d.forEach((function(e,i){if(s.has(i)){var d=s.get(i);d.rowMeta.children&&d.rowMeta.children.length>0&&(d.rowMeta.children=A(d.rowMeta.children,n,t)),u.push(d)}var c=o([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,o=e.rowData[t],i=r.rowData[t];return B(o,i,a,l)}));u.push.apply(u,c.map((function(e){var o=r({},e);if(o.rowMeta.children&&o.rowMeta.children.length>0){var i=A(o.rowMeta.children,n,t);o.rowMeta=r(r({},o.rowMeta),{children:i})}return o})))})),u},A=function(e,n,t){var i=t.find((function(e){return e.accessor===n.key.accessor})),a=(null==i?void 0:i.type)||"string",l=n.direction;return o([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,o=e.rowData[t],i=r.rowData[t];return B(o,i,a,l)})).map((function(e){return e.rowMeta.children&&e.rowMeta.children.length>0?r(r({},e),{rowMeta:r(r({},e.rowMeta),{children:A(e.rowMeta.children,n,t)})}):e}))},P=function(e){var n=e.colIndex,r=e.event,t=e.forceUpdate,o=e.header,i=e.headersRef;e.reverse;var a=e.setIsWidthDragging,l=e.startWidth;a(!0),r.preventDefault();var d=r.clientX;if(o){var s=function(e){var r=Math.max(l+(e.clientX-d),40);o&&i.current&&(i.current[n].width=r,t())},c=function(){document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",c),a(!1)};document.addEventListener("mousemove",s),document.addEventListener("mouseup",c)}},F=n.forwardRef((function(t,o){var i=t.colIndex,l=t.columnReordering,d=t.columnResizing,s=t.currentRows,c=t.draggedHeaderRef,u=t.forceUpdate,f=t.gridColumnEnd,h=t.gridColumnStart,v=t.gridRowEnd,w=t.gridRowStart,m=t.header,p=t.headersRef,x=t.hoveredHeaderRef,R=t.onColumnOrderChange,I=t.onSort,b=t.onTableHeaderDragEnd,M=t.reverse,S=t.rowHeight,H=t.selectableColumns,E=t.setIsWidthDragging,D=t.setSelectedCells,j=t.sort,k=t.sortDownIcon,N=t.sortUpIcon,T=n.useState(!1),L=T[0],O=T[1],B=Boolean(null==m?void 0:m.isSortable),W="st-header-cell ".concat(m===x.current?"st-hovered":""," ").concat(L?"st-dragging":""," ").concat(B?"clickable":""," ").concat(l&&!B?"columnReordering":""," ").concat("right"===(null==m?void 0:m.align)?"right-aligned":"center"===(null==m?void 0:m.align)?"center-aligned":""),A=y({draggedHeaderRef:c,headersRef:p,hoveredHeaderRef:x,onColumnOrderChange:R,onTableHeaderDragEnd:b}),F=A.handleDragStart,z=A.handleDragEnd,U=A.handleDragOver,q=C(),K=function(e){var n=e.event,r=e.header;if(H){var t=s.length,o=Array.from({length:t},(function(e,n){return a({rowIndex:n,colIndex:i,rowId:s[n].rowMeta.rowId})})),l=function(e,n){var r=new Set,o=Math.min(e,n),i=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:i-o+1}).forEach((function(e,t){r.add(a({rowIndex:n,colIndex:o+t,rowId:s[n].rowMeta.rowId}))}))})),r};n.shiftKey?D((function(e){var n,r=Number(null===(n=Array.from(e)[0])||void 0===n?void 0:n.split("-")[1]),t=Number(o[0].split("-")[1]);return r===t?new Set(o):r>t?l(t,r):l(r,t)})):D(new Set(o))}else r.isSortable&&I(i,r.accessor)};if(n.useEffect((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!m)return null;var V=d&&e.jsx("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;q({callback:P,callbackProps:{colIndex:i,event:e,forceUpdate:u,header:m,headersRef:p,setIsWidthDragging:E,startWidth:"object"==typeof o&&null!==o&&"current"in o?null===(n=o.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),J=j&&j.key.accessor===m.accessor&&e.jsxs("div",r({className:"st-sort-icon-container",onClick:function(e){return K({event:e,header:m})}},{children:["ascending"===j.direction&&N&&N,"descending"===j.direction&&k&&k]}));return e.jsxs("div",r({className:W,id:g({accessor:m.accessor,rowIndex:0}),onDragOver:function(e){q({callback:U,callbackProps:{event:e,hoveredHeader:m},limit:50})},ref:o,style:r(r({gridRowStart:w,gridRowEnd:v,gridColumnStart:h,gridColumnEnd:f},f-h>1?{}:{width:m.width}),v-w>1?{}:{height:S})},{children:[M&&V,e.jsxs("div",r({className:"st-header-label ".concat("right"===m.align?"right-aligned":"center"===m.align?"center-aligned":""),draggable:l,onClick:function(e){return K({event:e,header:m})},onDragEnd:function(e){e.preventDefault(),O(!1),z()},onDragStart:function(e){l&&m&&function(e){O(!0),F(e)}(m)}},{children:["right"===m.align&&J,null==m?void 0:m.label,"right"!==m.align&&J]})),!M&&V]}))})),z=function(o){var i,a,l=o.depth,d=o.getNextColIndex,s=o.header,c=o.hiddenColumns,u=o.index,f=o.maxDepth,h=o.pinned,g=t(o,["depth","getNextColIndex","header","hiddenColumns","index","maxDepth","pinned"]),w=null!==(a=null===(i=s.children)||void 0===i?void 0:i.length)&&void 0!==a?a:0,m=d(0===u?0:1),p={gridColumnStart:m,gridColumnEnd:w>0?m+w:m+1,gridRowStart:l,gridRowEnd:w>0?l+1:f+1};if(s.children){var x=s.children.filter((function(e){return v({hiddenColumns:c,header:e,pinned:h})}));return e.jsxs(n.Fragment,{children:[e.jsx(F,r({},g,p,{colIndex:m,header:s,ref:n.createRef()})),x.map((function(e,t){return n.createElement(z,r({},g,{depth:l+1,getNextColIndex:d,header:e,hiddenColumns:c,index:t,key:e.accessor,maxDepth:f}))}))]})}return e.jsx(F,r({},g,p,{colIndex:m,header:s,ref:n.createRef()}))},U=function(t){var o,i=t.allowAnimations,a=t.columnReordering,l=t.columnResizing,d=t.currentRows,s=t.draggedHeaderRef,c=t.forceUpdate,u=t.gridTemplateColumns,f=t.handleScroll,h=t.headersRef,g=t.hiddenColumns,w=t.hoveredHeaderRef,m=t.isWidthDragging,p=t.mainBodyRef,x=t.maxDepth,R=t.onColumnOrderChange,C=t.onSort,I=t.onTableHeaderDragEnd,b=t.pinned,y=t.rowHeight,M=t.sectionRef,H=t.selectableColumns,E=t.setIsWidthDragging,D=t.setSelectedCells,j=t.sort,k=t.sortDownIcon,N=t.sortUpIcon,T=(o=1,function(e){return void 0===e&&(e=1),o+=e});n.useEffect((function(){T(0)}));var L=h.current.filter((function(e){return v({hiddenColumns:g,header:e,pinned:b})}));return e.jsx("div",r({className:"st-header-".concat(b?"pinned-".concat(b):"main")},f&&{onScroll:f},{ref:M,style:{gridTemplateColumns:u}},{children:e.jsx(S,r({allowAnimations:i,draggedHeaderRef:s,headersRef:h,mainBodyRef:p,pauseAnimation:m,rowIndex:0},{children:L.map((function(n,r){return e.jsx(z,{getNextColIndex:T,columnReordering:a,columnResizing:l,currentRows:d,depth:1,draggedHeaderRef:s,forceUpdate:c,header:n,headersRef:h,hiddenColumns:g,hoveredHeaderRef:w,index:r,maxDepth:x,onColumnOrderChange:R,onSort:C,onTableHeaderDragEnd:I,pinned:b,reverse:"right"===b,rowHeight:y,selectableColumns:H,setIsWidthDragging:E,setSelectedCells:D,sort:j,sortDownIcon:k,sortUpIcon:N},n.accessor)}))}))}))},q=function(e){var n;return(null===(n=e.children)||void 0===n?void 0:n.length)?1+Math.max.apply(Math,e.children.map(q)):1},K=function(t){var o=t.allowAnimations,i=t.centerHeaderRef,a=t.columnResizing,l=t.currentRows,d=t.columnReordering,s=t.draggedHeaderRef,c=t.forceUpdate,u=t.headerContainerRef,f=t.headersRef,h=t.hiddenColumns,g=t.hoveredHeaderRef,w=t.isWidthDragging,m=t.mainBodyRef,p=t.mainTemplateColumns,x=t.onColumnOrderChange,R=t.onSort,C=t.onTableHeaderDragEnd,I=t.pinnedLeftColumns,b=t.pinnedLeftHeaderRef,y=t.pinnedLeftTemplateColumns,M=t.pinnedRightColumns,S=t.pinnedRightHeaderRef,H=t.pinnedRightTemplateColumns,E=t.rowHeight,D=t.selectableColumns,j=t.setIsWidthDragging,k=t.setSelectedCells,N=t.sort,T=t.sortDownIcon,O=t.sortUpIcon;L(m,i);var B=function(e){var n,r,t=null===(n=i.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=m.current)||void 0===r||r.scrollTo(t,0))},W=n.useMemo((function(){var e=f.current,n=0;return e.forEach((function(e){if(v({hiddenColumns:h,header:e})){var r=q(e);n=Math.max(n,r)}})),{maxDepth:n}}),[f,h]).maxDepth,A={allowAnimations:o,columnReordering:d,columnResizing:a,currentRows:l,draggedHeaderRef:s,forceUpdate:c,handleScroll:B,headersRef:f,hiddenColumns:h,hoveredHeaderRef:g,isWidthDragging:w,mainBodyRef:m,maxDepth:W,onColumnOrderChange:x,onSort:R,onTableHeaderDragEnd:C,rowHeight:E,selectableColumns:D,setIsWidthDragging:j,setSelectedCells:k,sort:N,sortDownIcon:T,sortUpIcon:O};return e.jsxs("div",r({className:"st-header-container",ref:u},{children:[I.length>0&&e.jsx(U,r({},A,{gridTemplateColumns:y,pinned:"left",sectionRef:b})),e.jsx(U,r({},A,{gridTemplateColumns:p,handleScroll:B,sectionRef:i})),M.length>0&&e.jsx(U,r({},A,{gridTemplateColumns:H,pinned:"right",sectionRef:S}))]}))},V=function(e){var n=e.headers,r=e.hiddenColumns,t=function(e){var n=e.headers,o=e.flattenedHeaders;return n.forEach((function(e){!0!==r[e.accessor]&&(e.children?t({headers:e.children,flattenedHeaders:o}):o.push(e))})),o},o=t({headers:n,flattenedHeaders:[]});return"".concat(o.map((function(e){return function(e){var n=e.minWidth,r=e.width;return"number"==typeof r&&(r="".concat(r,"px")),n&&"number"==typeof n&&(n="".concat(n,"px")),void 0!==n?"minmax(".concat(n,", ").concat(r,")"):r}(e)})).join(" "))},J=function(t){var o=t.allowAnimations,i=t.columnReordering,a=t.columnResizing,l=t.currentRows,d=t.draggedHeaderRef,s=t.editColumns,c=t.flattenedRows,u=t.forceUpdate,f=t.getBorderClass,h=t.handleMouseDown,g=t.handleMouseOver,v=t.headersRef,w=t.hiddenColumns,m=t.hoveredHeaderRef,p=t.isSelected,x=t.isInitialFocusedCell,R=t.isWidthDragging,C=t.mainBodyRef,I=t.onCellEdit,b=t.onColumnOrderChange,y=t.onSort,M=t.onTableHeaderDragEnd,S=t.pinnedLeftRef,H=t.pinnedRightRef,E=t.rowHeight,D=t.scrollbarWidth,j=t.selectableColumns,k=t.setIsWidthDragging,N=t.setFlattenedRows,L=t.setScrollTop,O=t.setSelectedCells,B=t.shouldPaginate,W=t.sort,A=t.sortDownIcon,P=t.sortUpIcon,F=t.tableBodyContainerRef,z=t.visibleRows,U=n.useRef(null),q=n.useRef(null),J=n.useRef(null),X=n.useRef(null),Y=v.current.filter((function(e){return!e.pinned})),G=v.current.filter((function(e){return"left"===e.pinned})),_=v.current.filter((function(e){return"right"===e.pinned})),$=n.useMemo((function(){return V({headers:G,hiddenColumns:w})}),[G,w]),Q=n.useMemo((function(){return V({headers:Y,hiddenColumns:w})}),[Y,w]),Z=n.useMemo((function(){return V({headers:_,hiddenColumns:w})}),[_,w]),ee={allowAnimations:o,centerHeaderRef:J,columnResizing:a,currentRows:l,columnReordering:i,draggedHeaderRef:d,forceUpdate:u,headerContainerRef:U,headersRef:v,hiddenColumns:w,hoveredHeaderRef:m,isWidthDragging:R,mainBodyRef:C,mainTemplateColumns:Q,onColumnOrderChange:b,onSort:y,onTableHeaderDragEnd:M,pinnedLeftColumns:G,pinnedLeftHeaderRef:q,pinnedLeftTemplateColumns:$,pinnedRightColumns:_,pinnedRightHeaderRef:X,pinnedRightTemplateColumns:Z,rowHeight:E,selectableColumns:j,setIsWidthDragging:k,setSelectedCells:O,sort:W,sortDownIcon:A,sortUpIcon:P,tableBodyContainerRef:F},ne={allowAnimations:o,centerHeaderRef:J,draggedHeaderRef:d,flattenedRows:c,getBorderClass:f,handleMouseDown:h,handleMouseOver:g,headerContainerRef:U,headers:v.current,headersRef:v,hiddenColumns:w,hoveredHeaderRef:m,isSelected:p,isInitialFocusedCell:x,isWidthDragging:R,mainBodyRef:C,mainTemplateColumns:Q,onCellEdit:I,onTableHeaderDragEnd:M,pinnedLeftColumns:G,pinnedLeftHeaderRef:q,pinnedLeftRef:S,pinnedLeftTemplateColumns:$,pinnedRightColumns:_,pinnedRightHeaderRef:X,pinnedRightRef:H,pinnedRightTemplateColumns:Z,rowHeight:E,scrollbarWidth:D,setFlattenedRows:N,shouldPaginate:B,setScrollTop:L,tableBodyContainerRef:F,visibleRows:z};return e.jsxs("div",r({className:"st-table-content",style:{width:s?"calc(100% - 27.5px)":"100%"}},{children:[e.jsx(K,r({},ee)),e.jsx(T,r({},ne))]}))},X=function(e){var r=e.callback,t=e.ref,o=e.widthAttribute;n.useEffect((function(){var e=t.current;if(e){var n=function(){r(e[o]||0)};n();var i=new ResizeObserver((function(){n()}));return i.observe(e),function(){return i.disconnect()}}}),[r,t,o])},Y=function(t){var o=t.mainBodyRef,i=t.pinnedLeftRef,a=t.pinnedRightRef,l=t.tableContentWidth,d=n.useState(0),s=d[0],c=d[1],u=n.useState(0),f=u[0],h=u[1],g=n.useState(0),v=g[0],w=g[1],m=n.useRef(null);return X({widthAttribute:"offsetWidth",callback:c,ref:i}),X({widthAttribute:"scrollWidth",callback:w,ref:o}),X({widthAttribute:"offsetWidth",callback:h,ref:a}),L(o,m),!o.current||o.current.scrollWidth<=o.current.clientWidth?null:e.jsxs("div",r({className:"st-horizontal-scrollbar-container",style:{width:l}},{children:[s>0&&e.jsx("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:s}}),v>0&&e.jsx("div",r({className:"st-horizontal-scrollbar-middle",onScroll:function(e){var n=e.target.scrollLeft;void 0!==n&&o.current&&o.current.scrollTo({left:n,behavior:"auto"})},ref:m},{children:e.jsx("div",{style:{width:v}})})),f>0&&e.jsx("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:f}})]}))},G=function(e){var r=e.headers,t=e.tableRows,o=n.useState(null),i=o[0],a=o[1],l=n.useMemo((function(){var e={};return r.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[r]),d=n.useState(l),s=d[0],c=d[1],u=n.useMemo((function(){if(!i)return t;var e=function(e,n,r){return{sortedData:W(n,r,e),newSortConfig:r}}(r,t,i).sortedData;return e}),[t,i,r]);return{sort:i,setSort:a,updateSort:function(e,n){var t=r.find((function(e){return e.accessor===n}));t&&a((function(e){return e&&e.key.accessor===n?"ascending"===e.direction?{key:t,direction:"descending"}:null:{key:t,direction:"ascending"}}))},sortedRows:u,hiddenColumns:s,setHiddenColumns:c}},_=function(t){var o=t.checked,i=void 0!==o&&o,a=t.children,l=t.onChange,d=n.useState(i),s=d[0],c=d[1];return e.jsxs("label",r({className:"st-checkbox-label"},{children:[e.jsx("input",{checked:s,className:"st-checkbox-input",onChange:function(){var e=!s;c(e),l&&l(e)},type:"checkbox"}),e.jsx("span",r({className:"st-checkbox-custom ".concat(s?"st-checked":"")},{children:s&&e.jsx("span",{className:"st-checkbox-checkmark"})})),a]}))},$=function(n){var t=n.headers,o=n.open,i=n.position;n.setOpen;var a=n.setHiddenColumns,l=n.hiddenColumns,d="left"===i?"left":"";return e.jsx("div",r({className:"st-column-editor-popout ".concat(o?"open":""," ").concat(d),onClick:function(e){return e.stopPropagation()}},{children:e.jsx("div",r({className:"st-column-editor-popout-content"},{children:t.map((function(n,t){return e.jsx(_,r({checked:l[n.accessor],onChange:function(e){var t;return a(r(r({},l),((t={})[n.accessor]=e,t)))}},{children:n.label}),t)}))}))}))},Q=function(t){var o=t.columnEditorText,i=t.editColumns,a=t.editColumnsInitOpen,l=t.headers,d=t.position,s=void 0===d?"right":d,c=t.setHiddenColumns,u=t.hiddenColumns,f=n.useState(a),h=f[0],g=f[1];return i?e.jsxs("div",r({className:"st-column-editor ".concat(h?"open":""," ").concat(s),onClick:function(){return function(e){g(e)}(!h)}},{children:[e.jsx("div",r({className:"st-column-editor-text"},{children:o})),e.jsx($,{headers:l,open:h,position:s,setOpen:g,setHiddenColumns:c,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(i||(i={}));var Z=n.memo((function(t){var o=t.allowAnimations,f=void 0!==o&&o,h=t.columnEditorPosition,g=void 0===h?i.Right:h,v=t.columnEditorText,w=void 0===v?"Columns":v,m=t.columnResizing,p=void 0!==m&&m,x=t.defaultHeaders,R=t.editColumns,C=void 0!==R&&R,I=t.editColumnsInitOpen,b=void 0!==I&&I,y=t.columnReordering,M=void 0!==y&&y,S=t.height,H=t.hideFooter,E=void 0!==H&&H,D=t.nextIcon,j=void 0===D?e.jsx(s,{className:"st-next-prev-icon"}):D,k=t.onCellEdit,N=t.onColumnOrderChange,T=t.onNextPage,L=t.onPreviousPage,O=t.prevIcon,B=void 0===O?e.jsx(d,{className:"st-next-prev-icon"}):O,W=t.rowHeight,A=void 0===W?40:W,P=t.rows,F=t.rowsPerPage,z=void 0===F?10:F,U=t.selectableCells,q=void 0!==U&&U,K=t.selectableColumns,V=void 0!==K&&K,X=t.shouldPaginate,_=void 0!==X&&X,$=t.sortDownIcon,Z=void 0===$?e.jsx(u,{className:"st-sort-icon"}):$,ee=t.sortUpIcon,ne=void 0===ee?e.jsx(c,{className:"st-sort-icon"}):ee,re=t.theme,te=void 0===re?"light":re,oe=t.totalPages,ie=n.useRef(null),ae=n.useRef(x),le=n.useRef(null),de=n.useRef(null),se=n.useRef(null),ce=n.useRef(null),ue=n.useRef(null),fe=n.useState(!1),he=fe[0],ge=fe[1],ve=n.useState(1),we=ve[0],me=ve[1],pe=n.useState(0),xe=pe[0],Re=pe[1],Ce=n.useState(0),Ie=Ce[0],be=Ce[1],ye=n.useState(0),Me=ye[0],Se=ye[1],He=G({headers:ae.current,tableRows:P}),Ee=He.sort,De=He.sortedRows,je=He.hiddenColumns,ke=He.setHiddenColumns,Ne=He.updateSort,Te=n.useMemo((function(){if(!_)return De;var e=(we-1)*z,n=e+z;return De.slice(e,n)}),[we,z,_,De]),Le=n.useState(Te),Oe=Le[0],Be=Le[1];n.useEffect((function(){Be(Te)}),[Te]);var We=n.useMemo((function(){var e;if(!S)return window.innerHeight-A;var n=document.querySelector(".simple-table-root"),r=0;if(S.endsWith("px"))r=parseInt(S,10);else if(S.endsWith("vh")){var t=parseInt(S,10);r=window.innerHeight*t/100}else if(S.endsWith("%")){var o=parseInt(S,10);r=((null===(e=null==n?void 0:n.parentElement)||void 0===e?void 0:e.clientHeight)||window.innerHeight)*o/100}else r=window.innerHeight;return Math.max(0,r-A)}),[S,A]),Ae=n.useMemo((function(){return function(e){var n=e.bufferRowCount,r=e.contentHeight,t=e.flattenedRows,o=e.rowHeight,i=e.scrollTop,a=[],l=0,d=Math.max(0,i-o*n),s=i+r+o*n,c=function(e,n){for(var r,t=0,i=e;t<i.length;t++){var u=i[t],f=l*o;if(f>=s)break;f+o>d&&a.push({row:u,depth:n,position:l,isLastGroupRow:Boolean(null===(r=u.rowMeta.children)||void 0===r?void 0:r.length)&&n>1}),l+=1,u.rowMeta.isExpanded&&u.rowMeta.children&&c(u.rowMeta.children,n+1)}};return c(t,0),a}({bufferRowCount:5,contentHeight:We,flattenedRows:Oe,rowHeight:A,scrollTop:Me})}),[We,A,Oe,Me]),Pe=n.useReducer((function(e){return e+1}),0)[1],Fe=function(e){var r=e.selectableCells,t=e.headers,o=e.visibleRows,i=n.useState(new Set),l=i[0],d=i[1],s=n.useState(null),c=s[0],u=s[1],f=n.useRef(!1),h=n.useRef(null),g=n.useCallback((function(){var e=Array.from(l).reduce((function(e,n){var r=n.split("-").map(Number),i=r[0],a=r[1];return e[i]||(e[i]=[]),e[i][a]=o[i].row.rowData[t[a].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");l.size>0&&navigator.clipboard.writeText(n)}),[t,l,o]),v=n.useCallback((function(e,n){for(var r=new Set,t=Math.min(e.rowIndex,n.rowIndex),i=Math.max(e.rowIndex,n.rowIndex),l=Math.min(e.colIndex,n.colIndex),s=Math.max(e.colIndex,n.colIndex),c=t;c<=i;c++)for(var u=l;u<=s;u++)if(c>=0&&c<o.length){var f=o[c].row.rowMeta.rowId;r.add(a({colIndex:u,rowIndex:c,rowId:f}))}d(r)}),[o]),w=n.useCallback((function(e){if(e.rowIndex>=0&&e.rowIndex<o.length&&e.colIndex>=0&&e.colIndex<t.length){var n=a(e);d(new Set([n])),u(e)}}),[t.length,o.length]);n.useEffect((function(){var e=function(e){if(r&&c){var n=c.rowIndex,i=c.colIndex,a=c.rowId;if(!e.ctrlKey&&!e.metaKey||"c"!==e.key){if(o[n].row.rowMeta.rowId!==a){var l=o.findIndex((function(e){return e.row.rowMeta.rowId===a}));if(-1===l)return;n=l}if("ArrowUp"===e.key){if(e.preventDefault(),n>0){var s={rowIndex:n-1,colIndex:i,rowId:o[n-1].row.rowMeta.rowId};w(s)}}else"ArrowDown"===e.key?(e.preventDefault(),n<o.length-1&&(s={rowIndex:n+1,colIndex:i,rowId:o[n+1].row.rowMeta.rowId},w(s))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),i>0&&(s={rowIndex:n,colIndex:i-1,rowId:o[n].row.rowMeta.rowId},w(s))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),i<t.length-1&&(s={rowIndex:n,colIndex:i+1,rowId:o[n].row.rowMeta.rowId},w(s))):"Escape"===e.key&&(d(new Set),h.current=null,u(null))}else g()}};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[g,t.length,c,v,w,r,o]);var m=n.useCallback((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,o=a({colIndex:n,rowIndex:r,rowId:t});return l.has(o)}),[l]),p=n.useCallback((function(e){var n,r,t,i,a,l,d=e.colIndex,s=e.rowIndex,c=e.rowId,u=[],f=null===(t=null===(r=null===(n=o[s-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,h={colIndex:d,rowIndex:s+1,rowId:null===(l=null===(a=null===(i=o[s+1])||void 0===i?void 0:i.row)||void 0===a?void 0:a.rowMeta)||void 0===l?void 0:l.rowId},g={colIndex:d-1,rowIndex:s,rowId:c},v={colIndex:d+1,rowIndex:s,rowId:c};return m({colIndex:d,rowIndex:s-1,rowId:f})||u.push("st-selected-top-border"),m(h)||u.push("st-selected-bottom-border"),m(g)||u.push("st-selected-left-border"),m(v)||u.push("st-selected-right-border"),u.join(" ")}),[m,o]),x=n.useMemo((function(){return c?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===c.rowIndex&&r===c.colIndex&&t===c.rowId}:function(){return!1}}),[c]);return{getBorderClass:p,handleMouseDown:function(e){var n=e.colIndex,t=e.rowIndex,o=e.rowId;if(r){f.current=!0,h.current={rowIndex:t,colIndex:n,rowId:o};var i=a({colIndex:n,rowIndex:t,rowId:o});d(new Set([i])),u({rowIndex:t,colIndex:n,rowId:o})}},handleMouseOver:function(e){var n=e.colIndex,t=e.rowIndex;if(e.rowId,r&&f.current&&h.current){for(var i=new Set,l=Math.min(h.current.rowIndex,t),s=Math.max(h.current.rowIndex,t),c=Math.min(h.current.colIndex,n),u=Math.max(h.current.colIndex,n),g=l;g<=s;g++)for(var v=c;v<=u;v++)if(g>=0&&g<o.length){var w=o[g].row.rowMeta.rowId;i.add(a({colIndex:v,rowIndex:g,rowId:w}))}d(i)}},handleMouseUp:function(){f.current=!1},isInitialFocusedCell:x,isSelected:m,selectedCells:l,setSelectedCells:d}}({selectableCells:q,headers:ae.current,visibleRows:Ae}),ze=Fe.handleMouseDown,Ue=Fe.handleMouseOver,qe=Fe.handleMouseUp,Ke=Fe.isSelected,Ve=Fe.getBorderClass,Je=Fe.isInitialFocusedCell,Xe=Fe.setSelectedCells,Ye=n.useCallback((function(e,n){Ne(e,n)}),[Ne]),Ge=n.useCallback((function(e){ae.current=e,Pe()}),[]);return n.useEffect((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||V&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||Xe(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[V,Xe]),n.useLayoutEffect((function(){if(ue.current){var e=ue.current.offsetWidth-ue.current.clientWidth,n=ue.current.clientWidth;Re(e),be(n)}}),[]),n.useLayoutEffect((function(){var e=function(){if(Pe(),ue.current){var e=ue.current.offsetWidth-ue.current.clientWidth,n=ue.current.clientWidth;Re(e),be(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),e.jsxs("div",r({className:"simple-table-root st-wrapper theme-".concat(te),style:S?{height:S}:{}},{children:[e.jsxs("div",r({className:"st-table-wrapper-container"},{children:[e.jsxs("div",r({className:"st-table-wrapper",onMouseUp:qe,onMouseLeave:qe},{children:[e.jsx(J,{allowAnimations:f,columnReordering:M,columnResizing:p,currentRows:Te,draggedHeaderRef:ie,editColumns:C,flattenedRows:Oe,forceUpdate:Pe,getBorderClass:Ve,handleMouseDown:ze,handleMouseOver:Ue,headersRef:ae,hiddenColumns:je,hoveredHeaderRef:le,isInitialFocusedCell:Je,isSelected:Ke,isWidthDragging:he,mainBodyRef:de,onCellEdit:k,onColumnOrderChange:N,onSort:Ye,onTableHeaderDragEnd:Ge,pinnedLeftRef:se,pinnedRightRef:ce,rowHeight:A,scrollbarWidth:xe,selectableColumns:V,setIsWidthDragging:ge,setFlattenedRows:Be,setScrollTop:Se,setSelectedCells:Xe,shouldPaginate:_,sort:Ee,sortDownIcon:Z,sortUpIcon:ne,tableBodyContainerRef:ue,visibleRows:Ae}),e.jsx(Q,{columnEditorText:w,editColumns:C,editColumnsInitOpen:b,headers:ae.current,hiddenColumns:je,position:g,setHiddenColumns:ke})]})),e.jsx(Y,{mainBodyRef:de,pinnedLeftRef:se,pinnedRightRef:ce,tableContentWidth:Ie})]})),e.jsx(l,{currentPage:we,hideFooter:E,nextIcon:j,onPageChange:me,onNextPage:T,onPreviousPage:L,prevIcon:B,shouldPaginate:_,totalPages:oe||Math.ceil(De.length/z)})]}))}));exports.SimpleTable=Z;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),r=function(){return r=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},r.apply(this,arguments)};function t(e,n,r){if(r||2===arguments.length)for(var t,o=0,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 o,i=function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return"".concat(n,"-").concat(r,"-").concat(t)},a=function(n){var t=n.currentPage,o=n.hideFooter,i=n.nextIcon,a=n.onPageChange,l=n.onNextPage,s=n.onPreviousPage,d=n.prevIcon,c=n.shouldPaginate,u=n.totalPages;if(o||!c)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&&a(e),s&&s(e-1)},disabled:f},{children:d})),e.jsx("button",r({className:"st-next-prev-btn ".concat(h?"disabled":""),onClick:function(){var e=t+1;(e<=u||l)&&a(e),l&&l(t)},disabled:h},{children:i})),Array.from({length:u},(function(n,o){return e.jsx("button",r({onClick:function(){var e;(e=o+1)>=1&&e<=u&&(a(e),e>t&&l?l(e-1):e<t&&s&&s(e-1))},className:"st-page-btn ".concat(t===o+1?"active":"")},{children:o+1}),o)}))]}))},l=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})}))},s=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},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:"M5.41 11.41L10 6.83l4.59 4.58L16 10l-6-6-6 6z"})}))},c=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},u=function(e){return e.position*(e.rowHeight+1)-1},f=function(e){return e.position*(e.rowHeight+1)},h=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},v=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},g=function(n){var t=n.value,o=n.onBlur,i=n.onChange;return e.jsxs("select",r({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;i("true"===n)}},{children:[e.jsx("option",r({value:"true"},{children:"True"})),e.jsx("option",r({value:"false"},{children:"False"}))]}))},m=function(r){var t=r.defaultValue,o=r.onBlur,i=r.onChange,a=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:a,autoFocus:!0,type:"text",defaultValue:null!=t?t:"",onBlur:o,onChange:function(e){var n=e.target.value;i(n)}})},w=function(r){var t=r.defaultValue,o=r.onBlur,i=r.onChange,a=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:a,autoFocus:!0,defaultValue:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&i(n)}})},p=function(n){var r=n.onChange,t=n.setIsEditing,o=n.value,i=function(e){null==r||r(e)},a=function(){t(!1)};return e.jsx(e.Fragment,{children:"string"==typeof o||null==o?e.jsx(m,{defaultValue:o,onBlur:a,onChange:i}):"boolean"==typeof o?e.jsx(g,{onBlur:a,onChange:i,value:o}):"number"==typeof o?e.jsx(w,{defaultValue:o,onBlur:a,onChange:i}):null})},x=0,C=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===x||o-x>=t)&&(x=o,n(r))}},R=Date.now(),I={screenX:0,screenY:0},b=function(e){var r,o,i=e.draggedHeaderRef,a=e.headersRef,l=e.hoveredHeaderRef,s=e.onColumnOrderChange,d=e.onTableHeaderDragEnd,c=(r=a.current,o=n.useRef(r),n.useEffect((function(){o.current=r}),[r]),o.current);return{handleDragStart:function(e){i.current=e,R=Date.now()},handleDragOver:function(e){var n,r=e.event,o=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-I.screenX,2)+Math.pow(f-I.screenY,2));l.current=o;var v=t([],a.current,!0),g=v.findIndex((function(e){var n;return e.accessor===(null===(n=i.current)||void 0===n?void 0:n.accessor)})),m=v.findIndex((function(e){return e.accessor===o.accessor})),w=v.splice(g,1)[0];if(v.splice(m,0,w),!(s||o.accessor===(null===(n=i.current)||void 0===n?void 0:n.accessor)||null===i.current||h<10||void 0===g||void 0===m||JSON.stringify(v)===JSON.stringify(a.current))){var p=Date.now();JSON.stringify(v)===JSON.stringify(c)&&p-R<800&&h<50||(R=p,I={screenX:u,screenY:f},d(v))}}},handleDragEnd:function(){i.current=null,l.current=null,null==s||s(a.current)}}},y=n.createContext(void 0),S=function(n){var t=n.children,o=n.value;return e.jsx(y.Provider,r({value:o},{children:t}))},j=function(){var e=n.useContext(y);if(void 0===e)throw new Error("useTableContext must be used within a TableProvider");return e},M=n.forwardRef((function(t,o){var i,a,l=t.colIndex,d=t.header,u=t.onExpandRowClick,f=t.rowIndex,v=t.visibleRow,g=j(),m=g.draggedHeaderRef,w=g.headersRef,x=g.hoveredHeaderRef,R=g.onCellEdit,I=g.onTableHeaderDragEnd,y=g.handleMouseDown,S=g.handleMouseOver,M=g.getBorderClass,E=g.isSelected,D=g.isInitialFocusedCell,k=M({rowIndex:f,colIndex:l,rowId:v.row.rowMeta.rowId}),H=E({rowIndex:f,colIndex:l,rowId:v.row.rowMeta.rowId}),N=D({rowIndex:f,colIndex:l,rowId:v.row.rowMeta.rowId}),L=v.depth,T=v.row,W=n.useState(T.rowData[d.accessor]),O=W[0],P=W[1],B=n.useState(!1),F=B[0],A=B[1],z=b({draggedHeaderRef:m,headersRef:w,hoveredHeaderRef:x,onTableHeaderDragEnd:I}).handleDragOver,U=C(),q="cell-".concat(f,"-").concat(l),K=Boolean(null===(a=null===(i=T.rowMeta)||void 0===i?void 0:i.children)||void 0===a?void 0:a.length),V=Boolean(null==d?void 0:d.isEditable),J=f%2==0,X="st-cell ".concat(L>0&&d.expandable?"st-cell-depth-".concat(L):""," ").concat(H?N?"st-cell-selected-first ".concat(k):"st-cell-selected ".concat(k):""," ").concat(J?"st-cell-odd-row":"st-cell-even-row"," ").concat(V?"clickable":"");n.useEffect((function(){P(T.rowData[d.accessor])}),[d.accessor,T]);return F?e.jsx("div",r({className:"st-cell-editing ".concat(J?"st-cell-odd-row":"st-cell-even-row"),id:h({accessor:d.accessor,rowIndex:f+1})},{children:e.jsx(p,{onChange:function(e){P(e),null==R||R({accessor:d.accessor,newValue:e,row:T})},setIsEditing:A,value:O})})):e.jsxs("div",r({className:X,id:q,onDoubleClick:function(){return d.isEditable&&A(!0)},onMouseDown:function(){return y({rowIndex:f,colIndex:l,rowId:T.rowMeta.rowId})},onMouseOver:function(){return S({rowIndex:f,colIndex:l,rowId:T.rowMeta.rowId})},onDragOver:function(e){return U({callback:z,callbackProps:{event:e,hoveredHeader:d},limit:50})},onKeyDown:function(e){"F2"!==e.key&&"Enter"!==e.key||!d.isEditable||F||(e.preventDefault(),A(!0))},ref:o,"data-row-index":f,"data-col-index":l,"aria-selected":H},{children:[d.expandable&&K?T.rowMeta.isExpanded?e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return u(T.rowMeta.rowId)}},{children:e.jsx(c,{className:"st-sort-icon"})})):e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return u(T.rowMeta.rowId)}},{children:e.jsx(s,{className:"st-sort-icon"})})):null,e.jsx("span",r({className:"st-cell-content ".concat("right"===d.align?"right-aligned":"center"===d.align?"center-aligned":"")},{children:d.cellRenderer?d.cellRenderer({accessor:d.accessor,colIndex:l,row:T}):O}))]}))})),E=function(n){var t=n.children,o=function(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}(n,["children"]);return j().allowAnimations?e.jsx(D,r({},o,{children:t})):e.jsx(e.Fragment,{children:t})},D=function(r){var t=r.children,o=r.isBody,i=r.pauseAnimation,a=r.rowIndex,l=n.useRef(!1),s=j(),d=s.draggedHeaderRef,c=s.headersRef,u=s.mainBodyRef,f=s.shouldPaginate,v=n.useState({}),g=v[0],m=v[1],w=n.useRef({}),p=c.current;return n.useLayoutEffect((function(){if(p){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var i=document.getElementById(h({accessor:e.accessor,rowIndex:t}));if(i){var a=i.getAnimations().some((function(e){return"running"===e.playState})),l=i.getBoundingClientRect();a&&(null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.accessor)!==e.accessor?o[e.accessor]=!1:o[e.accessor]=l}}})),o}({currentHeaders:p,draggedHeaderRef:d,rowIndex:a});JSON.stringify(e)!==JSON.stringify(g)&&(w.current=g,m(e))}}),[g,p,d,o,a]),n.useLayoutEffect((function(){var e=u.current,n=function(){l.current=!0},r=function(){l.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,u]),n.useEffect((function(){i||l.current||Object.keys(w.current).length&&p&&p.forEach((function(e){var n=document.getElementById(h({accessor:e.accessor,rowIndex:a}));if(n){var r=w.current[e.accessor],t=g[e.accessor];if(r&&t){var o=r.left-t.left,i=f?0:r.top-t.top,l=Math.abs(o),s=Math.abs(i);(l>10||s>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")}))}))}}}))}),[g,p,o,i,w,a,f]),e.jsx(e.Fragment,{children:t})},k=function(t){var o=t.headers,i=t.hiddenColumns,a=t.isWidthDragging,l=t.onExpandRowClick,s=t.pinned,d=t.rowIndex,c=t.visibleRow,u=o.filter((function(e){return v({hiddenColumns:i,header:e,pinned:s})})),f=n.useMemo((function(){var e={},n=1,r=function(t,o){void 0===o&&(o=!1),o||n++,e[t.accessor]=n,t.children&&t.children.length>0&&t.children.filter((function(e){return v({hiddenColumns:i,header:e,pinned:s})})).forEach((function(e,n){r(e,0===n)}))};return u.forEach((function(e,n){r(e,0===n)})),e}),[u,i,s]);return e.jsx(E,r({isBody:!0,pauseAnimation:a,rowIndex:d+1},{children:u.map((function(n){return e.jsx(H,{columnIndices:f,header:n,headers:o,hiddenColumns:i,onExpandRowClick:l,pinned:s,rowIndex:d,visibleRow:c},h({accessor:n.accessor,rowIndex:d+1}))}))}))},H=function(r){var t=r.columnIndices,o=r.header,i=r.headers,a=r.hiddenColumns,l=r.onExpandRowClick,s=r.pinned,d=r.rowIndex,c=r.visibleRow,u=t[o.accessor];if(o.children){var f=o.children.filter((function(e){return v({hiddenColumns:a,header:e,pinned:s})}));return e.jsx(n.Fragment,{children:f.map((function(n){return e.jsx(H,{columnIndices:t,header:n,headers:i,hiddenColumns:a,onExpandRowClick:l,pinned:s,rowIndex:d,visibleRow:c},h({accessor:n.accessor,rowIndex:d+1}))}))})}return e.jsx(M,{colIndex:u,header:o,onExpandRowClick:l,rowIndex:d,visibleRow:c},h({accessor:o.accessor,rowIndex:d+1}))},N=function(n){var t=n.getNextRowIndex,o=n.gridTemplateColumns,i=n.headers,a=n.hiddenColumns,l=n.index,s=n.isWidthDragging,d=n.onExpandRowClick,c=n.pinned,u=n.rowHeight,h=n.visibleRow,v=h.position,g=t();return e.jsx("div",r({className:"st-table-row",style:{gridTemplateColumns:o,top:f({position:v,rowHeight:u}),height:"".concat(u,"px")}},{children:e.jsx(k,{headers:i,hiddenColumns:a,isWidthDragging:s,onExpandRowClick:d,pinned:c,rowIndex:g,visibleRow:h},l)}))},L=function(n){var t=n.lastGroupRow,o=n.position,i=n.rowHeight,a=n.templateColumns;return e.jsx("div",r({className:"st-row-separator ".concat(t?"st-last-group-row":""),style:{display:"grid",gridTemplateColumns:a,position:"absolute",top:u({position:o,rowHeight:i}),minWidth:"100%"}},{children:e.jsx("div",{style:{gridColumn:"1 / -1"}})}))},T=function(t){t.headerContainerRef;var o=t.headers,i=t.hiddenColumns,a=t.isWidthDragging,l=t.onExpandRowClick,s=t.pinned,d=t.rowHeight,c=t.sectionRef,u=t.templateColumns,f=t.totalHeight,h=t.visibleRows,v=t.width,g=s?"st-table-body-pinned-".concat(s):"st-table-body-main",m=n.useRef(0);n.useEffect((function(){m.current=0}));var w=function(){return m.current++};return e.jsx("div",r({className:g,ref:c,style:{position:"relative",height:"".concat(f,"px"),width:v}},{children:h.map((function(r,t){var c,f,h=Boolean(null===(f=null===(c=r.row.rowMeta)||void 0===c?void 0:c.children)||void 0===f?void 0:f.length);return e.jsxs(n.Fragment,{children:[e.jsx(N,{getNextRowIndex:w,gridTemplateColumns:u,headers:o,hiddenColumns:i,index:t,isWidthDragging:a,onExpandRowClick:l,pinned:s,rowHeight:d,visibleRow:r}),0!==t&&e.jsx(L,{lastGroupRow:h,position:r.position,rowHeight:d,templateColumns:u})]},t)}))}))},W=function(t){var o,i,a,l,s,d=t.centerHeaderRef,c=t.flattenedRows,u=t.headerContainerRef,f=t.isWidthDragging,h=t.mainTemplateColumns,v=t.pinnedLeftColumns,g=t.pinnedLeftHeaderRef,m=t.pinnedLeftTemplateColumns,w=t.pinnedRightColumns,p=t.pinnedRightHeaderRef,x=t.pinnedRightTemplateColumns,C=t.setFlattenedRows,R=t.setScrollTop,I=t.visibleRows,b=j(),y=b.rowHeight,S=b.scrollbarWidth,M=b.mainBodyRef,E=b.pinnedLeftRef,D=b.pinnedRightRef,k=b.tableBodyContainerRef,H=b.hiddenColumns,N=b.headersRef;!function(e){var r=e.headerContainerRef,t=e.mainSectionRef,o=e.scrollbarWidth,i=n.useState(!1),a=i[0],l=i[1];n.useEffect((function(){var e=null==r?void 0:r.current;if(a&&e)return e.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(o,"px")),function(){e.classList.remove("st-header-scroll-padding")}}),[r,a,o]),n.useEffect((function(){var e=null==r?void 0:r.current,n=null==t?void 0:t.current;if(n&&e){var o=function(){if(n){var e=n.scrollHeight>n.clientHeight;l(e)}};o();var i=new ResizeObserver((function(){o()}));return i.observe(n),function(){n&&i.unobserve(n)}}}),[r,t])}({headerContainerRef:u,mainSectionRef:k,scrollbarWidth:S});var L,W,O=n.useRef(null),P=(L=0,(W=function(e){e.forEach((function(e){L+=1,e.rowMeta.isExpanded&&e.rowMeta.children&&W(e.rowMeta.children)}))})(c),L)*(y+1)-1,B=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};C((function(e){return e.map(n)}))},F=(null===(o=g.current)||void 0===o?void 0:o.clientWidth)?(null===(i=g.current)||void 0===i?void 0:i.clientWidth)+1:0,A=null===(a=d.current)||void 0===a?void 0:a.clientWidth,z=(null===(l=p.current)||void 0===l?void 0:l.clientWidth)?(null===(s=p.current)||void 0===s?void 0:s.clientWidth)+1:0,U={headerContainerRef:u,headers:N.current,hiddenColumns:H,isWidthDragging:f,rowHeight:y,visibleRows:I};return e.jsxs("div",r({className:"st-table-body-container",ref:k,onScroll:function(e){var n=e.currentTarget.scrollTop;O.current&&cancelAnimationFrame(O.current),O.current=requestAnimationFrame((function(){R(n)}))}},{children:[v.length>0&&e.jsx(T,r({},U,{onExpandRowClick:B,pinned:"left",sectionRef:E,templateColumns:m,totalHeight:P,width:F})),e.jsx(T,r({},U,{onExpandRowClick:B,sectionRef:M,templateColumns:h,totalHeight:P,width:A})),w.length>0&&e.jsx(T,r({},U,{onExpandRowClick:B,pinned:"right",sectionRef:D,templateColumns:x,totalHeight:P,width:z}))]}))},O=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])},P={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 P.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?P.string(e,n,r):"number"==typeof e&&"number"==typeof n?P.number(e,n,r):"boolean"==typeof e&&"boolean"==typeof n?P.boolean(e,n,r):P.string(String(e),String(n),r)}},B=function(e,n,r,t){if(void 0===r&&(r="string"),null==e||""===e)return"ascending"===t?-1:1;if(null==n||""===n)return"ascending"===t?1:-1;if("number"===r){var o=function(e){var n;if("number"==typeof e)return e;var r=String(e);if("string"==typeof r){var t=r.replace(/[$,]/g,"").match(/^([-+]?\d*\.?\d+)([TBMKtbmk])?/);if(t){var o=parseFloat(t[1]),i=null===(n=t[2])||void 0===n?void 0:n.toUpperCase();return"T"===i?o*=1e12:"B"===i?o*=1e9:"M"===i?o*=1e6:"K"===i&&(o*=1e3),o}}return parseFloat(r)||0},i=o(e),a=o(n);return P.number(i,a,t)}return"date"===r?P.date(String(e),String(n),t):"boolean"===r?P.boolean(Boolean(e),Boolean(n),t):"enum"===r?P.enum(String(e),String(n),t):P.string(String(e),String(n),t)},F=function(e,n,o){var i=o.find((function(e){return e.accessor===n.key.accessor})),a=(null==i?void 0:i.type)||"string",l=n.direction,s=new Map,d=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(s.size)).toString();c=t,d.set(c,e),s.has(c)||s.set(c,[])}else if(c){var o=s.get(c)||[];o.push(e),s.set(c,o)}else{var i="default";s.has(i)||s.set(i,[]),null===(r=s.get(i))||void 0===r||r.push(e)}}));var u=[];return s.forEach((function(e,i){if(d.has(i)){var s=d.get(i);s.rowMeta.children&&s.rowMeta.children.length>0&&(s.rowMeta.children=A(s.rowMeta.children,n,o)),u.push(s)}var c=t([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,o=e.rowData[t],i=r.rowData[t];return B(o,i,a,l)}));u.push.apply(u,c.map((function(e){var t=r({},e);if(t.rowMeta.children&&t.rowMeta.children.length>0){var i=A(t.rowMeta.children,n,o);t.rowMeta=r(r({},t.rowMeta),{children:i})}return t})))})),u},A=function(e,n,o){var i=o.find((function(e){return e.accessor===n.key.accessor})),a=(null==i?void 0:i.type)||"string",l=n.direction;return t([],e,!0).sort((function(e,r){if(!(null==e?void 0:e.rowData)||!(null==r?void 0:r.rowData))return 0;var t=n.key.accessor,o=e.rowData[t],i=r.rowData[t];return B(o,i,a,l)})).map((function(e){return e.rowMeta.children&&e.rowMeta.children.length>0?r(r({},e),{rowMeta:r(r({},e.rowMeta),{children:A(e.rowMeta.children,n,o)})}):e}))},z=function(e){var n=e.colIndex,r=e.event,t=e.forceUpdate,o=e.header,i=e.headersRef;e.reverse;var a=e.setIsWidthDragging,l=e.startWidth;a(!0),r.preventDefault();var s=r.clientX;if(o){var d=function(e){var r=Math.max(l+(e.clientX-s),40);o&&i.current&&(i.current[n].width=r,t())},c=function(){document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",c),a(!1)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",c)}},U=n.forwardRef((function(o,i){var a=o.colIndex,l=o.gridColumnEnd,s=o.gridColumnStart,d=o.gridRowEnd,c=o.gridRowStart,u=o.header,f=o.reverse,v=o.sort,g=j(),m=g.columnReordering,w=g.columnResizing,p=g.draggedHeaderRef,x=g.forceUpdate,R=g.headersRef,I=g.hoveredHeaderRef,y=g.onColumnOrderChange,S=g.onSort,M=g.onTableHeaderDragEnd,E=g.rowHeight,D=g.selectColumns,k=g.selectableColumns,H=g.setInitialFocusedCell,N=g.setIsWidthDragging,L=g.setSelectedCells,T=g.setSelectedColumns,W=g.sortDownIcon,O=g.sortUpIcon,P=n.useState(!1),B=P[0],F=P[1],A=Boolean(null==u?void 0:u.isSortable),U="st-header-cell ".concat(u===I.current?"st-hovered":""," ").concat(B?"st-dragging":""," ").concat(A?"clickable":""," ").concat(m&&!A?"columnReordering":""," ").concat("right"===(null==u?void 0:u.align)?"right-aligned":"center"===(null==u?void 0:u.align)?"center-aligned":""),q=b({draggedHeaderRef:p,headersRef:R,hoveredHeaderRef:I,onColumnOrderChange:y,onTableHeaderDragEnd:M}),K=q.handleDragStart,V=q.handleDragEnd,J=q.handleDragOver,X=C(),Y=function(e){var n=e.event,r=e.header;if(k){var o=function(e,n){if(!e.children||0===e.children.length)return[n];var r=[],t=function(e,n){if(!e.children||0===e.children.length)return r.push(n),n+1;for(var o=n,i=0,a=e.children;i<a.length;i++){var l=a[i];o=t(l,o)}return o};return t(e,n),r}(r,a);return n.shiftKey&&D?T((function(e){if(0===e.size)return new Set(o);var n=o[0],r=Array.from(e).sort((function(e,n){return e-n})),i=r[0],a=Math.abs(n-i);r.forEach((function(e){var r=Math.abs(n-e);r<a&&(a=r,i=e)}));var l,s,d,c,u=t(t([],(l=i,s=n,d=Math.min(l,s),c=Math.max(l,s),Array.from({length:c-d+1},(function(e,n){return d+n}))),!0),o,!0);return new Set(t(t([],Array.from(e),!0),u,!0))})):D&&D(o),L(new Set),void H(null)}r.isSortable&&S(a,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)}}),[]),!u)return null;var G=w&&e.jsx("div",{className:"st-header-resize-handle",onMouseDown:function(e){var n;X({callback:z,callbackProps:{colIndex:a,event:e,forceUpdate:x,header:u,headersRef:R,setIsWidthDragging:N,startWidth:"object"==typeof i&&null!==i&&"current"in i?null===(n=i.current)||void 0===n?void 0:n.offsetWidth:void 0},limit:10})}}),_=v&&v.key.accessor===u.accessor&&e.jsxs("div",r({className:"st-sort-icon-container",onClick:function(e){return Y({event:e,header:u})}},{children:["ascending"===v.direction&&O&&O,"descending"===v.direction&&W&&W]}));return e.jsxs("div",r({className:U,id:h({accessor:u.accessor,rowIndex:0}),onDragOver:function(e){X({callback:J,callbackProps:{event:e,hoveredHeader:u},limit:50})},ref:i,style:r(r({gridRowStart:c,gridRowEnd:d,gridColumnStart:s,gridColumnEnd:l},l-s>1?{}:{width:u.width}),d-c>1?{}:{height:E})},{children:[f&&G,e.jsxs("div",r({className:"st-header-label ".concat("right"===u.align?"right-aligned":"center"===u.align?"center-aligned":""),draggable:m,onClick:function(e){return Y({event:e,header:u})},onDragEnd:function(e){e.preventDefault(),F(!1),V()},onDragStart:function(e){m&&u&&function(e){F(!0),K(e)}(u)}},{children:["right"===u.align&&_,null==u?void 0:u.label,"right"!==u.align&&_]})),!f&&G]}))})),q=function(r){var t=r.depth,o=r.header,i=r.hiddenColumns,a=r.maxDepth,l=r.pinned,s=r.gridPosition,d=r.reverse,c=r.sort;if(!v({hiddenColumns:i,header:o,pinned:l}))return null;var u=s.gridColumnStart,f=s.gridColumnEnd,h=s.gridRowStart,g=s.gridRowEnd,m=s.colIndex;if(o.children){var w=o.children.filter((function(e){return v({hiddenColumns:i,header:e,pinned:l})}));return e.jsxs(n.Fragment,{children:[e.jsx(U,{colIndex:m,gridColumnEnd:f,gridColumnStart:u,gridRowEnd:g,gridRowStart:h,header:o,ref:n.createRef(),reverse:d,sort:c}),w.map((function(n,r){var o,u=null===(o=s.children)||void 0===o?void 0:o[n.accessor];return u?e.jsx(q,{depth:t+1,gridPosition:u,header:n,hiddenColumns:i,maxDepth:a,pinned:l,reverse:d,sort:c},n.accessor):null}))]})}return e.jsx(U,{colIndex:m,gridColumnEnd:f,gridColumnStart:u,gridRowEnd:g,gridRowStart:h,header:o,ref:n.createRef(),reverse:d,sort:c})},K=function(t){var o=t.gridTemplateColumns,i=t.handleScroll,a=t.headersRef,l=t.hiddenColumns;t.isWidthDragging;var s=t.maxDepth,d=t.pinned,c=t.sectionRef,u=t.sort,f=a.current.filter((function(e){return v({hiddenColumns:l,header:e,pinned:d})})),h=n.useMemo((function(){var e,n,r;return e={},n=1,r=function(t,o,i){var a,c;void 0===i&&(i=!1),i||n++;var u=n,f=null!==(c=null===(a=t.children)||void 0===a?void 0:a.filter((function(e){return v({hiddenColumns:l,header:e,pinned:d})})).length)&&void 0!==c?c:0,h={gridColumnStart:u,gridColumnEnd:f>0?u+f:u+1,gridRowStart:o,gridRowEnd:f>0?o+1:s+1,colIndex:u,children:{}};return t.children&&t.children.length>0&&t.children.filter((function(e){return v({hiddenColumns:l,header:e,pinned:d})})).forEach((function(e,n){h.children[e.accessor]=r(e,o+1,0===n)})),e[t.accessor]=h,h},f.forEach((function(e,n){r(e,1,0===n)})),e}),[f,l,s,d]);return e.jsx("div",r({className:"st-header-".concat(d?"pinned-".concat(d):"main")},i&&{onScroll:i},{ref:c,style:{gridTemplateColumns:o}},{children:e.jsx(E,r({rowIndex:0},{children:f.map((function(n){var r=h[n.accessor];return r?e.jsx(q,{depth:1,gridPosition:r,header:n,hiddenColumns:l,maxDepth:s,pinned:d,reverse:"right"===d,sort:u},n.accessor):null}))}))}))},V=function(e){var n;return(null===(n=e.children)||void 0===n?void 0:n.length)?1+Math.max.apply(Math,e.children.map(V)):1},J=function(t){var o=t.centerHeaderRef,i=t.headerContainerRef,a=t.headersRef,l=t.hiddenColumns,s=t.isWidthDragging,d=t.mainTemplateColumns,c=t.pinnedLeftColumns,u=t.pinnedLeftHeaderRef,f=t.pinnedLeftTemplateColumns,h=t.pinnedRightColumns,g=t.pinnedRightHeaderRef,m=t.pinnedRightTemplateColumns,w=t.sort,p=j().mainBodyRef;O(p,o);var x=n.useMemo((function(){var e=a.current,n=0;return e.forEach((function(e){if(v({hiddenColumns:l,header:e})){var r=V(e);n=Math.max(n,r)}})),{maxDepth:n}}),[a,l]).maxDepth;return e.jsxs("div",r({className:"st-header-container",ref:i},{children:[c.length>0&&e.jsx(K,{gridTemplateColumns:f,handleScroll:void 0,headersRef:a,hiddenColumns:l,isWidthDragging:s,maxDepth:x,pinned:"left",sectionRef:u,sort:w}),e.jsx(K,{gridTemplateColumns:d,handleScroll:function(e){var n,r,t=null===(n=o.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=p.current)||void 0===r||r.scrollTo(t,0))},headersRef:a,hiddenColumns:l,isWidthDragging:s,maxDepth:x,sectionRef:o,sort:w}),h.length>0&&e.jsx(K,{gridTemplateColumns:m,handleScroll:void 0,headersRef:a,hiddenColumns:l,isWidthDragging:s,maxDepth:x,pinned:"right",sectionRef:g,sort:w})]}))},X=function(e){var n=e.headers,r=e.hiddenColumns,t=function(e){var n=e.headers,o=e.flattenedHeaders;return n.forEach((function(e){!0!==r[e.accessor]&&(e.children?t({headers:e.children,flattenedHeaders:o}):o.push(e))})),o},o=t({headers:n,flattenedHeaders:[]});return"".concat(o.map((function(e){return function(e){var n=e.minWidth,r=e.width;return"number"==typeof r&&(r="".concat(r,"px")),n&&"number"==typeof n&&(n="".concat(n,"px")),void 0!==n?"minmax(".concat(n,", ").concat(r,")"):r}(e)})).join(" "))},Y=function(t){var o=t.flattenedRows,i=t.isWidthDragging,a=t.setFlattenedRows,l=t.setScrollTop,s=t.sort,d=t.visibleRows,c=j(),u=c.editColumns,f=c.headersRef,h=c.hiddenColumns,v=n.useRef(null),g=n.useRef(null),m=n.useRef(null),w=n.useRef(null),p=f.current.filter((function(e){return!e.pinned})),x=f.current.filter((function(e){return"left"===e.pinned})),C=f.current.filter((function(e){return"right"===e.pinned})),R=n.useMemo((function(){return X({headers:x,hiddenColumns:h})}),[x,h]),I=n.useMemo((function(){return X({headers:p,hiddenColumns:h})}),[p,h]),b=n.useMemo((function(){return X({headers:C,hiddenColumns:h})}),[C,h]),y={centerHeaderRef:m,headerContainerRef:v,headersRef:f,hiddenColumns:h,isWidthDragging:i,mainTemplateColumns:I,pinnedLeftColumns:x,pinnedLeftHeaderRef:g,pinnedLeftTemplateColumns:R,pinnedRightColumns:C,pinnedRightHeaderRef:w,pinnedRightTemplateColumns:b,sort:s},S={centerHeaderRef:m,flattenedRows:o,headerContainerRef:v,isWidthDragging:i,mainTemplateColumns:I,pinnedLeftColumns:x,pinnedLeftHeaderRef:g,pinnedLeftTemplateColumns:R,pinnedRightColumns:C,pinnedRightHeaderRef:w,pinnedRightTemplateColumns:b,setFlattenedRows:a,setScrollTop:l,visibleRows:d};return e.jsxs("div",r({className:"st-table-content",style:{width:u?"calc(100% - 27.5px)":"100%"}},{children:[e.jsx(J,r({},y)),e.jsx(W,r({},S))]}))},G=function(e){var r=e.callback,t=e.ref,o=e.widthAttribute;n.useEffect((function(){var e=t.current;if(e){var n=function(){r(e[o]||0)};n();var i=new ResizeObserver((function(){n()}));return i.observe(e),function(){return i.disconnect()}}}),[r,t,o])},_=function(t){var o=t.mainBodyRef,i=t.pinnedLeftRef,a=t.pinnedRightRef,l=t.tableContentWidth,s=n.useState(0),d=s[0],c=s[1],u=n.useState(0),f=u[0],h=u[1],v=n.useState(0),g=v[0],m=v[1],w=n.useRef(null);return G({widthAttribute:"offsetWidth",callback:c,ref:i}),G({widthAttribute:"scrollWidth",callback:m,ref:o}),G({widthAttribute:"offsetWidth",callback:h,ref:a}),O(o,w),!o.current||o.current.scrollWidth<=o.current.clientWidth?null:e.jsxs("div",r({className:"st-horizontal-scrollbar-container",style:{width:l}},{children:[d>0&&e.jsx("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:d}}),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:w},{children:e.jsx("div",{style:{width:g}})})),f>0&&e.jsx("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:f}})]}))},$=function(e){var r=e.headers,t=e.tableRows,o=n.useState(null),i=o[0],a=o[1],l=n.useMemo((function(){var e={};return r.forEach((function(n){!0===n.hide&&(e[n.accessor]=!0)})),e}),[r]),s=n.useState(l),d=s[0],c=s[1],u=n.useMemo((function(){if(!i)return t;var e=function(e,n,r){return{sortedData:F(n,r,e),newSortConfig:r}}(r,t,i).sortedData;return e}),[t,i,r]);return{sort:i,setSort:a,updateSort:function(e,n){var t=r.find((function(e){return e.accessor===n}));t&&a((function(e){return e&&e.key.accessor===n?"ascending"===e.direction?{key:t,direction:"descending"}:null:{key:t,direction:"ascending"}}))},sortedRows:u,hiddenColumns:d,setHiddenColumns:c}},Q=function(t){var o=t.checked,i=void 0!==o&&o,a=t.children,l=t.onChange,s=n.useState(i),d=s[0],c=s[1];return e.jsxs("label",r({className:"st-checkbox-label"},{children:[e.jsx("input",{checked:d,className:"st-checkbox-input",onChange:function(){var e=!d;c(e),l&&l(e)},type:"checkbox"}),e.jsx("span",r({className:"st-checkbox-custom ".concat(d?"st-checked":"")},{children:d&&e.jsx("span",{className:"st-checkbox-checkmark"})})),a]}))},Z=function(n){var t=n.headers,o=n.open,i=n.position;n.setOpen;var a=n.setHiddenColumns,l=n.hiddenColumns,s="left"===i?"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(Q,r({checked:l[n.accessor],onChange:function(e){var t;return a(r(r({},l),((t={})[n.accessor]=e,t)))}},{children:n.label}),t)}))}))}))},ee=function(t){var o=t.columnEditorText,i=t.editColumns,a=t.editColumnsInitOpen,l=t.headers,s=t.position,d=void 0===s?"right":s,c=t.setHiddenColumns,u=t.hiddenColumns,f=n.useState(a),h=f[0],v=f[1];return i?e.jsxs("div",r({className:"st-column-editor ".concat(h?"open":""," ").concat(d),onClick:function(){return function(e){v(e)}(!h)}},{children:[e.jsx("div",r({className:"st-column-editor-text"},{children:o})),e.jsx(Z,{headers:l,open:h,position:d,setOpen:v,setHiddenColumns:c,hiddenColumns:u})]})):null};!function(e){e.Left="left",e.Right="right"}(o||(o={}));var ne=n.memo((function(t){var u=t.allowAnimations,f=void 0!==u&&u,h=t.columnEditorPosition,v=void 0===h?o.Right:h,g=t.columnEditorText,m=void 0===g?"Columns":g,w=t.columnResizing,p=void 0!==w&&w,x=t.defaultHeaders,C=t.editColumns,R=void 0!==C&&C,I=t.editColumnsInitOpen,b=void 0!==I&&I,y=t.columnReordering,j=void 0!==y&&y,M=t.height,E=t.hideFooter,D=void 0!==E&&E,k=t.nextIcon,H=void 0===k?e.jsx(s,{className:"st-next-prev-icon"}):k,N=t.onCellEdit,L=t.onColumnOrderChange,T=t.onNextPage,W=t.onPreviousPage,O=t.prevIcon,P=void 0===O?e.jsx(l,{className:"st-next-prev-icon"}):O,B=t.rowHeight,F=void 0===B?40:B,A=t.rows,z=t.rowsPerPage,U=void 0===z?10:z,q=t.selectableCells,K=void 0!==q&&q,V=t.selectableColumns,J=void 0!==V&&V,X=t.shouldPaginate,G=void 0!==X&&X,Q=t.sortDownIcon,Z=void 0===Q?e.jsx(c,{className:"st-sort-icon"}):Q,ne=t.sortUpIcon,re=void 0===ne?e.jsx(d,{className:"st-sort-icon"}):ne,te=t.theme,oe=void 0===te?"light":te,ie=t.totalPages,ae=n.useRef(null),le=n.useRef(x),se=n.useRef(null),de=n.useRef(null),ce=n.useRef(null),ue=n.useRef(null),fe=n.useRef(null),he=n.useState(!1),ve=he[0],ge=he[1],me=n.useState(1),we=me[0],pe=me[1],xe=n.useState(0),Ce=xe[0],Re=xe[1],Ie=n.useState(0),be=Ie[0],ye=Ie[1],Se=n.useState(0),je=Se[0],Me=Se[1],Ee=$({headers:le.current,tableRows:A}),De=Ee.sort,ke=Ee.sortedRows,He=Ee.hiddenColumns,Ne=Ee.setHiddenColumns,Le=Ee.updateSort,Te=n.useMemo((function(){if(!G)return ke;var e=(we-1)*U,n=e+U;return ke.slice(e,n)}),[we,U,G,ke]),We=n.useState(Te),Oe=We[0],Pe=We[1];n.useEffect((function(){Pe(Te)}),[Te]);var Be=n.useMemo((function(){var e;if(!M)return window.innerHeight-F;var n=document.querySelector(".simple-table-root"),r=0;if(M.endsWith("px"))r=parseInt(M,10);else if(M.endsWith("vh")){var t=parseInt(M,10);r=window.innerHeight*t/100}else if(M.endsWith("%")){var o=parseInt(M,10);r=((null===(e=null==n?void 0:n.parentElement)||void 0===e?void 0:e.clientHeight)||window.innerHeight)*o/100}else r=window.innerHeight;return Math.max(0,r-F)}),[M,F]),Fe=n.useMemo((function(){return function(e){var n=e.bufferRowCount,r=e.contentHeight,t=e.flattenedRows,o=e.rowHeight,i=e.scrollTop,a=[],l=0,s=Math.max(0,i-o*n),d=i+r+o*n,c=function(e,n){for(var r,t=0,i=e;t<i.length;t++){var u=i[t],f=l*o;if(f>=d)break;f+o>s&&a.push({row:u,depth:n,position:l,isLastGroupRow:Boolean(null===(r=u.rowMeta.children)||void 0===r?void 0:r.length)&&n>1}),l+=1,u.rowMeta.isExpanded&&u.rowMeta.children&&c(u.rowMeta.children,n+1)}};return c(t,0),a}({bufferRowCount:5,contentHeight:Be,flattenedRows:Oe,rowHeight:F,scrollTop:je})}),[Be,F,Oe,je]),Ae=n.useReducer((function(e){return e+1}),0)[1],ze=function(e){var r=e.selectableCells,t=e.headers,o=e.visibleRows,a=n.useState(new Set),l=a[0],s=a[1],d=n.useState(new Set),c=d[0],u=d[1],f=n.useState(null),h=f[0],v=f[1],g=n.useState(null),m=g[0],w=g[1],p=n.useRef(!1),x=n.useRef(null),C=n.useCallback((function(){var e=Array.from(l).reduce((function(e,n){var r=n.split("-").map(Number),i=r[0],a=r[1];return e[i]||(e[i]=[]),e[i][a]=o[i].row.rowData[t[a].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");l.size>0&&navigator.clipboard.writeText(n)}),[t,l,o]),R=n.useCallback((function(e,n){for(var r=new Set,t=Math.min(e.rowIndex,n.rowIndex),a=Math.max(e.rowIndex,n.rowIndex),l=Math.min(e.colIndex,n.colIndex),d=Math.max(e.colIndex,n.colIndex),c=t;c<=a;c++)for(var f=l;f<=d;f++)if(c>=0&&c<o.length){var h=o[c].row.rowMeta.rowId;r.add(i({colIndex:f,rowIndex:c,rowId:h}))}u(new Set),v(null),s(r)}),[o,u,v,s]),I=n.useCallback((function(e){if(e.rowIndex>=0&&e.rowIndex<o.length&&e.colIndex>=0&&e.colIndex<t.length){var n=i(e);u(new Set),v(null),s(new Set([n])),w(e)}}),[t.length,o.length,u,v,s,w]),b=n.useCallback((function(e,n){void 0===n&&(n=!1),s(new Set),w(null),u((function(r){var t=new Set(n?r:[]);return e.forEach((function(e){return t.add(e)})),t})),e.length>0&&v(e[e.length-1])}),[s,w,u,v]);n.useEffect((function(){var e=function(e){if(r&&m){var n=m.rowIndex,i=m.colIndex,a=m.rowId;if(!e.ctrlKey&&!e.metaKey||"c"!==e.key){if(o[n].row.rowMeta.rowId!==a){var l=o.findIndex((function(e){return e.row.rowMeta.rowId===a}));if(-1===l)return;n=l}if("ArrowUp"===e.key){if(e.preventDefault(),n>0){var d={rowIndex:n-1,colIndex:i,rowId:o[n-1].row.rowMeta.rowId};I(d)}}else"ArrowDown"===e.key?(e.preventDefault(),n<o.length-1&&(d={rowIndex:n+1,colIndex:i,rowId:o[n+1].row.rowMeta.rowId},I(d))):"ArrowLeft"===e.key||"Tab"===e.key&&e.shiftKey?(e.preventDefault(),i>0&&(d={rowIndex:n,colIndex:i-1,rowId:o[n].row.rowMeta.rowId},I(d))):"ArrowRight"===e.key||"Tab"===e.key?(e.preventDefault(),i<t.length-1&&(d={rowIndex:n,colIndex:i+1,rowId:o[n].row.rowMeta.rowId},I(d))):"Escape"===e.key&&(s(new Set),u(new Set),v(null),x.current=null,w(null))}else C()}};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[C,t.length,m,R,I,r,o]);var y=n.useCallback((function(e){var n=e.colIndex,r=e.rowIndex,t=e.rowId,o=i({colIndex:n,rowIndex:r,rowId:t}),a=l.has(o),s=c.has(n);return a||s}),[l,c]),S=n.useCallback((function(e){var n,r,t,i,a,l,s=e.colIndex,d=e.rowIndex,u=e.rowId,f=[],h=null===(t=null===(r=null===(n=o[d-1])||void 0===n?void 0:n.row)||void 0===r?void 0:r.rowMeta)||void 0===t?void 0:t.rowId,v={colIndex:s,rowIndex:d+1,rowId:null===(l=null===(a=null===(i=o[d+1])||void 0===i?void 0:i.row)||void 0===a?void 0:a.rowMeta)||void 0===l?void 0:l.rowId},g={colIndex:s-1,rowIndex:d,rowId:u},m={colIndex:s+1,rowIndex:d,rowId:u};return(!y({colIndex:s,rowIndex:d-1,rowId:h})||c.has(s)&&0===d)&&f.push("st-selected-top-border"),(!y(v)||c.has(s)&&d===o.length-1)&&f.push("st-selected-bottom-border"),y(g)||f.push("st-selected-left-border"),y(m)||f.push("st-selected-right-border"),f.join(" ")}),[y,o,c]),j=n.useMemo((function(){return m?function(e){var n=e.rowIndex,r=e.colIndex,t=e.rowId;return n===m.rowIndex&&r===m.colIndex&&t===m.rowId}:function(){return!1}}),[m]);return{getBorderClass:S,handleMouseDown:function(e){var n=e.colIndex,t=e.rowIndex,o=e.rowId;if(r){p.current=!0,x.current={rowIndex:t,colIndex:n,rowId:o},u(new Set),v(null);var a=i({colIndex:n,rowIndex:t,rowId:o});s(new Set([a])),w({rowIndex:t,colIndex:n,rowId:o})}},handleMouseOver:function(e){var n=e.colIndex,t=e.rowIndex;if(e.rowId,r&&p.current&&x.current){for(var a=new Set,l=Math.min(x.current.rowIndex,t),d=Math.max(x.current.rowIndex,t),c=Math.min(x.current.colIndex,n),u=Math.max(x.current.colIndex,n),f=l;f<=d;f++)for(var h=c;h<=u;h++)if(f>=0&&f<o.length){var v=o[f].row.rowMeta.rowId;a.add(i({colIndex:h,rowIndex:f,rowId:v}))}s(a)}},handleMouseUp:function(){p.current=!1},isInitialFocusedCell:j,isSelected:y,lastSelectedColumnIndex:h,selectColumns:b,selectedCells:l,selectedColumns:c,setInitialFocusedCell:w,setSelectedCells:s,setSelectedColumns:u}}({selectableCells:K,headers:le.current,visibleRows:Fe}),Ue=ze.handleMouseDown,qe=ze.handleMouseOver,Ke=ze.handleMouseUp,Ve=ze.isSelected,Je=ze.getBorderClass,Xe=ze.isInitialFocusedCell,Ye=ze.setSelectedCells,Ge=ze.setSelectedColumns,_e=ze.selectColumns,$e=ze.setInitialFocusedCell,Qe=n.useCallback((function(e,n){Le(e,n)}),[Le]),Ze=n.useCallback((function(e){le.current=e,Ae()}),[]);return n.useEffect((function(){var e=function(e){var n=e.target;n.closest(".st-cell")||J&&(n.classList.contains("st-header-cell")||n.classList.contains("st-header-label"))||(Ye(new Set),J&&Ge(new Set))};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[J,Ye,Ge]),n.useLayoutEffect((function(){if(fe.current){var e=fe.current.offsetWidth-fe.current.clientWidth,n=fe.current.clientWidth;Re(e),ye(n)}}),[]),n.useLayoutEffect((function(){var e=function(){if(Ae(),fe.current){var e=fe.current.offsetWidth-fe.current.clientWidth,n=fe.current.clientWidth;Re(e),ye(n)}};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),e.jsx(S,r({value:{allowAnimations:f,columnReordering:j,columnResizing:p,draggedHeaderRef:ae,editColumns:R,forceUpdate:Ae,getBorderClass:Je,handleMouseDown:Ue,handleMouseOver:qe,headersRef:le,hiddenColumns:He,hoveredHeaderRef:se,isInitialFocusedCell:Xe,isSelected:Ve,mainBodyRef:de,onCellEdit:N,onColumnOrderChange:L,onSort:Qe,onTableHeaderDragEnd:Ze,pinnedLeftRef:ce,pinnedRightRef:ue,rowHeight:F,scrollbarWidth:Ce,selectColumns:_e,selectableColumns:J,setInitialFocusedCell:$e,setIsWidthDragging:ge,setSelectedCells:Ye,setSelectedColumns:Ge,shouldPaginate:G,sortDownIcon:Z,sortUpIcon:re,tableBodyContainerRef:fe}},{children:e.jsxs("div",r({className:"simple-table-root st-wrapper theme-".concat(oe),style:M?{height:M}:{}},{children:[e.jsxs("div",r({className:"st-table-wrapper-container"},{children:[e.jsxs("div",r({className:"st-table-wrapper",onMouseUp:Ke,onMouseLeave:Ke},{children:[e.jsx(Y,{flattenedRows:Oe,isWidthDragging:ve,setFlattenedRows:Pe,setScrollTop:Me,sort:De,visibleRows:Fe}),e.jsx(ee,{columnEditorText:m,editColumns:R,editColumnsInitOpen:b,headers:le.current,hiddenColumns:He,position:v,setHiddenColumns:Ne})]})),e.jsx(_,{mainBodyRef:de,pinnedLeftRef:ce,pinnedRightRef:ue,tableContentWidth:be})]})),e.jsx(a,{currentPage:we,hideFooter:D,nextIcon:H,onPageChange:pe,onNextPage:T,onPreviousPage:W,prevIcon:P,shouldPaginate:G,totalPages:ie||Math.ceil(ke.length/U)})]}))}))}));exports.SimpleTable=ne;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,23 +1,19 @@
1
- import { SetStateAction } from "react";
2
- import { Dispatch } from "react";
3
- import { ReactNode } from "react";
1
+ import { RefObject } from "react";
4
2
  import SortConfig from "./SortConfig";
5
- import Row from "./Row";
6
- import SharedTableProps from "./SharedTableProps";
7
- import OnSortProps from "./OnSortProps";
8
3
  import HeaderObject from "./HeaderObject";
9
- interface TableHeaderProps extends SharedTableProps {
10
- columnResizing: boolean;
11
- currentRows: Row[];
12
- columnReordering: boolean;
13
- forceUpdate: () => void;
14
- onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
15
- onSort: OnSortProps;
16
- selectableColumns: boolean;
17
- setIsWidthDragging: Dispatch<SetStateAction<boolean>>;
18
- setSelectedCells: Dispatch<SetStateAction<Set<string>>>;
4
+ type TableHeaderProps = {
5
+ centerHeaderRef: RefObject<HTMLDivElement | null>;
6
+ headerContainerRef: RefObject<HTMLDivElement | null>;
7
+ headersRef: RefObject<HeaderObject[]>;
8
+ hiddenColumns: Record<string, boolean>;
9
+ isWidthDragging: boolean;
10
+ mainTemplateColumns: string;
11
+ pinnedLeftColumns: HeaderObject[];
12
+ pinnedLeftHeaderRef: RefObject<HTMLDivElement | null>;
13
+ pinnedLeftTemplateColumns: string;
14
+ pinnedRightColumns: HeaderObject[];
15
+ pinnedRightHeaderRef: RefObject<HTMLDivElement | null>;
16
+ pinnedRightTemplateColumns: string;
19
17
  sort: SortConfig | null;
20
- sortDownIcon?: ReactNode;
21
- sortUpIcon?: ReactNode;
22
- }
18
+ };
23
19
  export default TableHeaderProps;
@@ -1,35 +1,17 @@
1
- import { Dispatch, ReactNode, SetStateAction, UIEvent } from "react";
2
- import Row from "./Row";
1
+ import { UIEventHandler } from "react";
3
2
  import { Pinned } from "./Pinned";
4
- import { OnSortProps, SortConfig } from "..";
3
+ import { SortConfig } from "..";
5
4
  import { HeaderObject } from "..";
6
5
  import { RefObject } from "react";
7
6
  interface TableHeaderSectionProps {
8
- allowAnimations: boolean;
9
- columnReordering: boolean;
10
- columnResizing: boolean;
11
- currentRows: Row[];
12
- draggedHeaderRef: RefObject<HeaderObject | null>;
13
- forceUpdate: () => void;
14
7
  gridTemplateColumns: string;
15
- handleScroll?: (event: UIEvent<HTMLDivElement>) => void;
8
+ handleScroll?: UIEventHandler<HTMLDivElement>;
16
9
  headersRef: RefObject<HeaderObject[]>;
17
10
  hiddenColumns: Record<string, boolean>;
18
- hoveredHeaderRef: RefObject<HeaderObject | null>;
19
11
  isWidthDragging: boolean;
20
- mainBodyRef: RefObject<HTMLDivElement | null>;
21
12
  maxDepth: number;
22
- onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
23
- onSort: OnSortProps;
24
- onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
25
13
  pinned?: Pinned;
26
- rowHeight: number;
27
14
  sectionRef: RefObject<HTMLDivElement | null>;
28
- selectableColumns: boolean;
29
- setIsWidthDragging: Dispatch<SetStateAction<boolean>>;
30
- setSelectedCells: Dispatch<SetStateAction<Set<string>>>;
31
15
  sort: SortConfig | null;
32
- sortDownIcon?: ReactNode;
33
- sortUpIcon?: ReactNode;
34
16
  }
35
17
  export default TableHeaderSectionProps;
@@ -0,0 +1,21 @@
1
+ import HeaderObject from "../types/HeaderObject";
2
+ /**
3
+ * Gets all leaf column indices (bottom-level columns) for a given header and its descendants
4
+ * @param header The header to get indices for
5
+ * @param colIndex The column index of the header in the current context
6
+ * @returns Array of column indices that belong to this header branch
7
+ */
8
+ export declare const getHeaderLeafIndices: (header: HeaderObject, colIndex: number) => number[];
9
+ /**
10
+ * Flattens a nested header structure to get all leaf headers
11
+ * @param headers The headers array to flatten
12
+ * @returns Flattened array of all leaf headers
13
+ */
14
+ export declare const flattenHeaders: (headers: HeaderObject[]) => HeaderObject[];
15
+ /**
16
+ * Gets the range of column indices between two column indices
17
+ * @param startColIndex Starting column index
18
+ * @param endColIndex Ending column index
19
+ * @returns Array of column indices in the range (inclusive)
20
+ */
21
+ export declare const getColumnRange: (startColIndex: number, endColIndex: number) => number[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simple-table-core",
3
- "version": "0.7.30",
3
+ "version": "0.7.32",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,26 +0,0 @@
1
- import { Dispatch, RefObject, SetStateAction } from "react";
2
- import CellChangeProps from "./CellChangeProps";
3
- import HeaderObject from "./HeaderObject";
4
- import SharedTableProps from "./SharedTableProps";
5
- import Row from "./Row";
6
- import Cell from "./Cell";
7
- import VisibleRow from "./VisibleRow";
8
- interface TableBodyProps extends SharedTableProps {
9
- flattenedRows: Row[];
10
- getBorderClass: (props: Cell) => string;
11
- handleMouseDown: (props: Cell) => void;
12
- handleMouseOver: (props: Cell) => void;
13
- headers: HeaderObject[];
14
- isSelected: (props: Cell) => boolean;
15
- isInitialFocusedCell: (props: Cell) => boolean;
16
- onCellEdit?: (props: CellChangeProps) => void;
17
- pinnedLeftRef: RefObject<HTMLDivElement | null>;
18
- pinnedRightRef: RefObject<HTMLDivElement | null>;
19
- rowHeight: number;
20
- scrollbarWidth: number;
21
- setFlattenedRows: Dispatch<SetStateAction<Row[]>>;
22
- setScrollTop: Dispatch<SetStateAction<number>>;
23
- shouldPaginate: boolean;
24
- visibleRows: VisibleRow[];
25
- }
26
- export default TableBodyProps;
@@ -1,10 +0,0 @@
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" | "headers";
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;