simple-table-core 0.7.1 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.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 a,useEffect as l,useMemo as i,createContext as s,forwardRef as d,useContext as c,useLayoutEffect as u,createElement as f,createRef as h,memo as v,useReducer as g}from"react";var m=function(){return m=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},m.apply(this,arguments)};function p(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 w(e,n,r){if(r||2===arguments.length)for(var t,o=0,a=n.length;o<a;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var R,C=function(r){var t=r.currentPage,o=r.hideFooter,a=r.nextIcon,l=r.onPageChange,i=r.prevIcon,s=r.rowsPerPage,d=r.shouldPaginate,c=r.totalRows,u=Math.ceil(c/s),f=t>1,h=t<u,v=function(e){e>=1&&e<=u&&l(e)};return o||!d?null:e("div",m({className:"st-footer"},{children:[n("button",m({className:"st-next-prev-btn ".concat(f?"":"disabled"),onClick:function(){return v(t-1)},disabled:!f},{children:i})),n("button",m({className:"st-next-prev-btn ".concat(h?"":"disabled"),onClick:function(){return v(t+1)},disabled:!h},{children:a})),Array.from({length:u},(function(e,r){return n("button",m({onClick:function(){return v(r+1)},className:"st-page-btn ".concat(t===r+1?"active":"")},{children:r+1}),r)}))]}))},b=function(e){var r=e.className;return n("svg",m({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",m({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"})}))},y=s({rows:[],tableRows:[]}),I=function(e){var r=e.className;return n("svg",m({className:r,viewBox:"0 0 20 20",width:"20",height:"20",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"})}))},E=function(e){var r=e.className;return n("svg",m({className:r,viewBox:"0 0 20 20",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},D=function(r){var o=r.checked,a=void 0!==o&&o,l=r.children,i=r.onChange,s=t(a),d=s[0],c=s[1];return e("label",m({className:"st-checkbox-label"},{children:[n("input",{checked:d,className:"st-checkbox-input",onChange:function(){var e=!d;c(e),i&&i(e)},type:"checkbox"}),n("span",m({className:"st-checkbox-custom ".concat(d?"st-checked":"")},{children:d&&n("span",{className:"st-checkbox-checkmark"})})),l]}))},H=function(e){var r=e.headers,t=e.open,o=e.position;e.setOpen;var a=e.setHiddenColumns,l=e.hiddenColumns,i="left"===o?"left":"";return n("div",m({className:"st-column-editor-popout ".concat(t?"open":""," ").concat(i),onClick:function(e){return e.stopPropagation()}},{children:n("div",m({className:"st-column-editor-popout-content"},{children:r.map((function(e,r){return n(D,m({checked:l[e.accessor],onChange:function(n){var r;return a(m(m({},l),((r={})[e.accessor]=n,r)))}},{children:e.label}),r)}))}))}))},N=function(r){var o=r.columnEditorText,a=r.editColumns,l=r.editColumnsInitOpen,i=r.headers,s=r.position,d=void 0===s?"right":s,c=r.setHiddenColumns,u=r.hiddenColumns,f=t(l),h=f[0],v=f[1];return a?e("div",m({className:"st-column-editor ".concat(h?"open":""," ").concat(d),onClick:function(){return function(e){v(e)}(!h)}},{children:[n("div",m({className:"st-column-editor-text"},{children:o})),n(H,{headers:i,open:h,position:d,setOpen:v,setHiddenColumns:c,hiddenColumns:u})]})):null},S=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},k=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},L=function(r){var t=r.value,o=r.onBlur,a=r.onChange;return e("select",m({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;a("true"===n)}},{children:[n("option",m({value:"true"},{children:"True"})),n("option",m({value:"false"},{children:"False"}))]}))},M=function(e){var r=e.defaultValue,t=e.onBlur,a=e.onChange,l=o(null);return n("input",{className:"editable-cell-input",ref:l,autoFocus:!0,type:"text",defaultValue:null!=r?r:"",onBlur:t,onChange:function(e){var n=e.target.value;a(n)}})},T=function(e){var r=e.defaultValue,t=e.onBlur,a=e.onChange,l=o(null);return n("input",{className:"editable-cell-input",ref:l,autoFocus:!0,defaultValue:r.toString(),onBlur:t,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&a(n)}})},B=function(e){var t=e.onChange,o=e.setIsEditing,a=e.value,l=function(e){null==t||t(e)},i=function(){o(!1)};return n(r,{children:"string"==typeof a||null==a?n(M,{defaultValue:a,onBlur:i,onChange:l}):"boolean"==typeof a?n(L,{onBlur:i,onChange:l,value:a}):"number"==typeof a?n(T,{defaultValue:a,onBlur:i,onChange:l}):null})},O=0,A=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))}},P=Date.now(),W={screenX:0,screenY:0},z=function(e){var n,r,t=e.draggedHeaderRef,a=e.headersRef,i=e.hoveredHeaderRef,s=e.onTableHeaderDragEnd,d=(n=a.current,r=o(n),l((function(){r.current=n}),[n]),r.current);return{handleDragStart:function(e){t.current=e,P=Date.now()},handleDragOver:function(e){var n,r=e.event,o=e.hoveredHeader;if(r.preventDefault(),a.current){var l=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),c=r.screenX,u=r.screenY,f=Math.sqrt(Math.pow(c-W.screenX,2)+Math.pow(u-W.screenY,2));i.current=o;var h=w([],a.current,!0),v=h.findIndex((function(e){var n;return e.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)})),g=h.findIndex((function(e){return e.accessor===o.accessor})),m=h.splice(v,1)[0];if(h.splice(g,0,m),!(l||o.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)||null===t.current||f<10||void 0===v||void 0===g||JSON.stringify(h)===JSON.stringify(a.current))){var p=Date.now();JSON.stringify(h)===JSON.stringify(d)&&p-P<800&&f<50||(P=p,W={screenX:c,screenY:u},s(h))}}},handleDragEnd:function(){t.current=null,i.current=null}}},U=d((function(r,o){var a,i=r.borderClass,s=r.cellHasChildren,d=r.colIndex,u=r.content,f=r.depth,h=r.draggedHeaderRef,v=r.header,g=r.headersRef,p=r.hoveredHeaderRef,w=r.isRowExpanded,R=r.isSelected,C=r.isTopLeftCell,b=r.onCellChange,I=r.onExpandRowClick,D=r.onMouseDown,H=r.onMouseOver,N=r.onTableHeaderDragEnd,k=r.row,L=r.rowIndex,M=c(y),T=M.rows,O=M.tableRows,P=t(u),W=P[0],U=P[1],j=t(!1),F=j[0],G=j[1],V=z({draggedHeaderRef:h,headersRef:g,hoveredHeaderRef:p,onTableHeaderDragEnd:N}).handleDragOver,J=A(),X=Boolean(null==v?void 0:v.isEditable),Y=L%2==0,q="st-cell ".concat(f>0&&v.expandable?"st-cell-depth-".concat(f):""," ").concat(R?C?"st-cell-selected-first-cell ".concat(i):"st-cell-selected ".concat(i):""," ").concat(Y?"st-cell-odd-row":"st-cell-even-row"," ").concat(X?"clickable":""," ").concat("right"===v.align?"right-aligned":"");l((function(){"object"!=typeof u&&U(u)}),[u]),l((function(){}),[v.accessor,W,T,null===(a=k.rowMeta)||void 0===a?void 0:a.rowId,O]);return F?n("div",m({className:"st-cell-editing ".concat(Y?"st-cell-odd-row":"st-cell-even-row"),id:S({accessor:v.accessor,rowIndex:L+1})},{children:n(B,{onChange:function(e){var n;U(e),null==b||b({accessor:v.accessor,newValue:e,newRowIndex:L,originalRowIndex:null===(n=k.rowMeta)||void 0===n?void 0:n.rowId,row:k})},setIsEditing:G,value:W})})):e("div",m({className:q,id:S({accessor:v.accessor,rowIndex:L+1}),onDoubleClick:function(){return v.isEditable&&G(!0)},onMouseDown:function(){return D(L,d)},onMouseOver:function(){return H(L,d)},onDragOver:function(e){return J({callback:V,callbackProps:{event:e,hoveredHeader:v},limit:50})},ref:o},{children:[v.expandable&&s?w(k.rowMeta.rowId)?n("div",m({className:"st-sort-icon-container",onClick:function(){return I(k.rowMeta.rowId)}},{children:n(E,{className:"st-sort-icon"})})):n("div",m({className:"st-sort-icon-container",onClick:function(){return I(k.rowMeta.rowId)}},{children:n(x,{className:"st-sort-icon"})})):null,n("span",{children:W})]}))})),j=d((function(e,r){return e.visible?n("div",{className:"st-cell",ref:r}):n("div",{ref:r})})),F=function(e){var r=e.lastGroupRow;return n("div",{className:"st-row-separator ".concat(r?"st-last-group-row":"")})},G=function(e){var t=e.allowAnimations,o=e.children,a=p(e,["allowAnimations","children"]);return t?n(V,m({},a,{children:o})):n(r,{children:o})},V=function(e){var a=e.allowHorizontalAnimate,i=void 0===a||a,s=e.children,d=e.draggedHeaderRef,c=e.headersRef,f=e.isBody,h=e.mainBodyRef,v=e.pauseAnimation,g=e.rowIndex,m=o(!1),p=t({}),w=p[0],R=p[1],C=o({}),b=c.current;return u((function(){if(b){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var a=document.getElementById(S({accessor:e.accessor,rowIndex:t}));if(a){var l=a.getAnimations().some((function(e){return"running"===e.playState})),i=a.getBoundingClientRect();l&&(null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.accessor)!==e.accessor?o[e.accessor]=!1:o[e.accessor]=i}}})),o}({currentHeaders:b,draggedHeaderRef:d,rowIndex:g});JSON.stringify(e)!==JSON.stringify(w)&&(C.current=w,R(e))}}),[w,b,d,f,g]),u((function(){var e=h.current,n=function(){m.current=!0},r=function(){m.current=!1};return null==e||e.addEventListener("scroll",n),null==e||e.addEventListener("scrollend",r),function(){null==e||e.removeEventListener("scroll",n),null==e||e.removeEventListener("scrollend",r)}}),[d,h]),l((function(){v||m.current||Object.keys(C.current).length&&b&&b.forEach((function(e){var n=document.getElementById(S({accessor:e.accessor,rowIndex:g}));if(n){var r=C.current[e.accessor],t=w[e.accessor];if(r&&t){var o=r.left-t.left,a=i?0:r.top-t.top,l=Math.abs(o),s=Math.abs(a);(l>10||s>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(o,"px, ").concat(a,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[i,w,b,f,v,C,g]),n(r,{children:s})},J=function(r){var t,o=r.getBorderClass,a=r.handleMouseDown,l=r.handleMouseOver,i=r.headers,s=r.hiddenColumns,d=r.isRowExpanded,c=r.isSelected,u=r.isTopLeftCell,v=r.lastGroupRow,g=r.onExpandRowClick,w=r.pinned,R=r.row,C=r.rowIndex,b=r.shouldDisplayLastColumnCell,x=p(r,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isRowExpanded","isSelected","isTopLeftCell","lastGroupRow","onExpandRowClick","pinned","row","rowIndex","shouldDisplayLastColumnCell"]),y=null===(t=R.rowMeta)||void 0===t?void 0:t.children;return e(G,m({allowAnimations:x.allowAnimations,allowHorizontalAnimate:x.shouldPaginate,draggedHeaderRef:x.draggedHeaderRef,headersRef:x.headersRef,isBody:!0,mainBodyRef:x.mainBodyRef,pauseAnimation:x.isWidthDragging,rowIndex:C+1},{children:[0!==C&&n(F,{lastGroupRow:v}),i.map((function(e,n){if(!k({hiddenColumns:s,header:e,pinned:w}))return null;var r=R.rowData[e.accessor];return e.cellRenderer&&(r=e.cellRenderer(R)),f(U,m({},x,{borderClass:o(C,n),cellHasChildren:((null==y?void 0:y.length)||0)>0,colIndex:n,content:r,header:e,isRowExpanded:d,isSelected:c(C,n),isTopLeftCell:u(C,n),key:n,onExpandRowClick:g,onMouseDown:function(){return a({rowIndex:C,colIndex:n})},onMouseOver:function(){return l(C,n)},row:R,rowIndex:C}))})),n(j,{ref:h(),visible:b})]}))},X=function(t){var o,a,l,i=t.depth,s=void 0===i?0:i,d=t.getNextRowIndex,c=t.index,u=t.lastGroupRow,h=t.pinned,v=t.props,g=t.row,p=((null===(a=null===(o=g.rowMeta)||void 0===o?void 0:o.children)||void 0===a?void 0:a.length)||0)>0,w=d(),R=(null===(l=g.rowMeta)||void 0===l?void 0:l.children)||[];return e(r,{children:[f(J,m({},v,{depth:s,lastGroupRow:u,key:c,pinned:h,row:g,rowIndex:w})),p&&v.isRowExpanded(g.rowMeta.rowId)&&R.map((function(e,r){return n(X,{depth:s+1,getNextRowIndex:d,index:r,pinned:h,props:v,row:e},r)}))]})},Y=function(e){e.headerContainerRef;var r=e.isRowExpanded,t=e.onExpandRowClick,a=e.pinned,i=e.rows,s=e.sectionRef,d=e.templateColumns,c=p(e,["headerContainerRef","isRowExpanded","onExpandRowClick","pinned","rows","sectionRef","templateColumns"]),u=a?"st-table-body-pinned-".concat(a):"st-table-body-main",f=o(0);l((function(){f.current=0}));var h=function(){return f.current++};return n("div",m({className:u,ref:s,style:{gridTemplateColumns:d}},{children:i.map((function(e,o){var l,i;return n(X,{getNextRowIndex:h,index:o,lastGroupRow:Boolean(null===(i=null===(l=e.rowMeta)||void 0===l?void 0:l.children)||void 0===i?void 0:i.length),pinned:a,props:m(m({},c),{isRowExpanded:r,onExpandRowClick:t}),row:e},o)}))}))},q=function(r){var o=r.currentRows,a=r.headerContainerRef,i=r.isRowExpanded,s=r.mainBodyRef,d=r.mainTemplateColumns,c=r.onExpandRowClick,u=r.pinnedLeftColumns,f=r.pinnedLeftRef,h=r.pinnedLeftTemplateColumns,v=r.pinnedRightColumns,g=r.pinnedRightRef,p=r.pinnedRightTemplateColumns,w=r.scrollbarHorizontalRef,R=r.scrollbarWidth,C=r.tableBodyContainerRef;return function(e){var n=e.headerContainerRef,r=e.mainSectionRef,o=e.scrollbarHorizontalRef,a=e.scrollbarWidth,i=t(!1),s=i[0],d=i[1];l((function(){var e=null==n?void 0:n.current,r=null==o?void 0:o.current;if(s&&e)return e.classList.add("st-header-scroll-padding"),null==r||r.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(a,"px")),null==r||r.style.setProperty("--st-after-width","".concat(a,"px")),function(){e.classList.remove("st-header-scroll-padding"),null==r||r.classList.remove("st-header-scroll-padding")}}),[n,s,o,a]),l((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 a=new ResizeObserver((function(){o()}));return a.observe(t),function(){t&&a.unobserve(t)}}}),[n,r])}({headerContainerRef:a,mainSectionRef:C,scrollbarHorizontalRef:w,scrollbarWidth:R}),e("div",m({className:"st-table-body-container",ref:C},{children:[u.length>0&&n(Y,m({},r,{rows:o,templateColumns:h,pinned:"left",sectionRef:f,isRowExpanded:i,onExpandRowClick:c})),n(Y,m({},r,{rows:o,templateColumns:d,sectionRef:s,isRowExpanded:i,onExpandRowClick:c})),v.length>0&&n(Y,m({},r,{rows:o,templateColumns:p,pinned:"right",sectionRef:g,isRowExpanded:i,onExpandRowClick:c}))]}))},K=function(e){var n=e.event,r=e.forceUpdate,t=e.header,o=e.headersRef,a=e.index;e.reverse;var l=e.setIsWidthDragging;l(!0),n.preventDefault();var i=n.clientX;if(t){var s=t.width,d=function(e){var n=Math.max(s+(e.clientX-i),40);t&&o.current&&(o.current[a].width=n,r())},c=function(){document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",c),l(!1)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",c)}},$=d((function(r,o){var a,i=r.columnResizing,s=r.currentRows,d=r.draggable,c=r.draggedHeaderRef,u=r.forceUpdate,f=r.headersRef,h=r.hoveredHeaderRef,v=r.index,g=r.onSort,p=r.onTableHeaderDragEnd,w=r.reverse,R=r.selectableColumns,C=r.setIsWidthDragging,b=r.setSelectedCells,x=r.sort,y=r.sortDownIcon,I=r.sortUpIcon,E=t(!1),D=E[0],H=E[1],N=null===(a=f.current)||void 0===a?void 0:a[v],k=Boolean(null==N?void 0:N.isSortable),L="st-header-cell ".concat(N===h.current?"st-hovered":""," ").concat(D?"st-dragging":""," ").concat(k?"clickable":""," ").concat(d&&!k?"draggable":""," ").concat("right"===(null==N?void 0:N.align)?"right-aligned":""),M=z({draggedHeaderRef:c,headersRef:f,hoveredHeaderRef:h,onTableHeaderDragEnd:p}),T=M.handleDragStart,B=M.handleDragEnd,O=z({draggedHeaderRef:c,headersRef:f,hoveredHeaderRef:h,onTableHeaderDragEnd:p}).handleDragOver,P=A(),W=function(e){var n=e.event,r=e.header;if(R){var t=s.length,o=Array.from({length:t},(function(e,n){return"".concat(n,"-").concat(v)})),a=function(e,n){var r=new Set,o=Math.min(e,n),a=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:a-o+1}).forEach((function(e,t){r.add("".concat(n,"-").concat(o+t))}))})),r};n.shiftKey?b((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)})):b(new Set(o))}else r.isSortable&&g(v,r.accessor)};if(l((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!N)return null;var U=i&&n("div",{className:"st-header-resize-handle",onMouseDown:function(e){P({callback:K,callbackProps:{event:e,forceUpdate:u,header:N,headersRef:f,index:v,setIsWidthDragging:C},limit:10})}});return e("div",m({className:L,id:S({accessor:N.accessor,rowIndex:0}),onDragOver:function(e){P({callback:O,callbackProps:{event:e,hoveredHeader:N},limit:50})},ref:o,style:{width:N.width}},{children:[w&&U,n("div",m({className:"st-header-label",draggable:d,onClick:function(e){return W({event:e,header:N})},onDragEnd:function(e){e.preventDefault(),H(!1),B()},onDragStart:function(e){d&&N&&function(e){H(!0),T(e)}(N)},onMouseEnter:function(){return document.body.style.overflow="hidden"},onMouseLeave:function(){return document.body.style.overflow="auto"}},{children:null==N?void 0:N.label})),x&&x.key.accessor===N.accessor&&e("div",m({className:"st-sort-icon-container",onClick:function(e){return W({event:e,header:N})}},{children:["ascending"===x.direction&&I&&I,"descending"===x.direction&&y&&y]})),!w&&U]}))})),Q=function(e,n){l((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])},Z=function(r){var t,a,l,i=r.allowAnimations,s=r.columnResizing,d=r.currentRows,c=r.draggable,u=r.draggedHeaderRef,f=r.forceUpdate,v=r.headerContainerRef,g=r.headersRef,p=r.hiddenColumns,w=r.hoveredHeaderRef,R=r.isWidthDragging,C=r.mainTemplateColumns,b=r.onSort,x=r.onTableHeaderDragEnd,y=r.pinnedLeftColumns,I=r.pinnedLeftTemplateColumns,E=r.pinnedRightColumns,D=r.pinnedRightTemplateColumns,H=r.selectableColumns,N=r.setIsWidthDragging,S=r.setSelectedCells,L=r.shouldDisplayLastColumnCell,M=r.sort,T=r.sortDownIcon,B=r.sortUpIcon,O=r.mainBodyRef,A=o(null);Q(O,A);return e("div",m({className:"st-header-container",ref:v},{children:[y.length>0&&n("div",m({className:"st-header-pinned-left",style:{gridTemplateColumns:I}},{children:n(G,m({allowAnimations:i,draggedHeaderRef:u,headersRef:g,mainBodyRef:O,pauseAnimation:R,rowIndex:0},{children:null===(t=g.current)||void 0===t?void 0:t.map((function(e,r){return k({hiddenColumns:p,header:e,pinned:"left"})?n($,{columnResizing:s,currentRows:d,draggable:c,draggedHeaderRef:u,forceUpdate:f,headersRef:g,hoveredHeaderRef:w,index:r,onSort:b,onTableHeaderDragEnd:x,ref:h(),selectableColumns:H,setIsWidthDragging:N,setSelectedCells:S,sort:M,sortDownIcon:T,sortUpIcon:B},e.accessor):null}))}))})),n("div",m({className:"st-header-main",onScroll:function(e){var n,r,t=null===(n=A.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=O.current)||void 0===r||r.scrollTo(t,0))},ref:A,style:{gridTemplateColumns:C}},{children:e(G,m({allowAnimations:i,draggedHeaderRef:u,headersRef:g,mainBodyRef:O,pauseAnimation:R,rowIndex:0},{children:[null===(a=g.current)||void 0===a?void 0:a.map((function(e,r){return k({hiddenColumns:p,header:e})?n($,{columnResizing:s,currentRows:d,draggable:c,draggedHeaderRef:u,forceUpdate:f,headersRef:g,hoveredHeaderRef:w,index:r,onSort:b,onTableHeaderDragEnd:x,ref:h(),selectableColumns:H,setIsWidthDragging:N,setSelectedCells:S,sort:M,sortDownIcon:T,sortUpIcon:B},e.accessor):null})),n(j,{ref:h(),visible:L})]}))})),E.length>0&&n("div",m({className:"st-header-pinned-right",style:{gridTemplateColumns:D}},{children:e(G,m({allowAnimations:i,draggedHeaderRef:u,headersRef:g,mainBodyRef:O,pauseAnimation:R,rowIndex:0},{children:[null===(l=g.current)||void 0===l?void 0:l.map((function(e,r){return k({hiddenColumns:p,header:e,pinned:"right"})?n($,{columnResizing:s,currentRows:d,draggable:c,draggedHeaderRef:u,forceUpdate:f,headersRef:g,hoveredHeaderRef:w,index:r,onSort:b,onTableHeaderDragEnd:x,reverse:!0,ref:h(),selectableColumns:H,setIsWidthDragging:N,setSelectedCells:S,sort:M,sortDownIcon:T,sortUpIcon:B},e.accessor):null})),n(j,{ref:h(),visible:L})]}))}))]}))},_=function(r){var t=r.allowAnimations,a=r.columnResizing,l=r.currentRows,s=r.draggable,d=r.draggedHeaderRef,c=r.editColumns,u=r.forceUpdate,f=r.getBorderClass,h=r.handleMouseDown,v=r.handleMouseOver,g=r.headersRef,p=r.hiddenColumns,w=r.hoveredHeaderRef,R=r.isRowExpanded,C=r.isSelected,b=r.isTopLeftCell,x=r.isWidthDragging,y=r.mainBodyRef,I=r.onCellChange,E=r.onExpandRowClick,D=r.onSort,H=r.onTableHeaderDragEnd,N=r.pinnedLeftRef,S=r.pinnedRightRef,k=r.scrollbarHorizontalRef,L=r.scrollbarWidth,M=r.selectableColumns,T=r.setIsWidthDragging,B=r.setSelectedCells,O=r.shouldPaginate,A=r.sort,P=r.sortDownIcon,W=r.sortUpIcon,z=r.tableBodyContainerRef,U=o(null),j=g.current.filter((function(e){return!e.hide&&!e.pinned})),F=i((function(){return!!y.current&&j.reduce((function(e,n){return e+n.width}),0)<y.current.clientWidth}),[j,y]),G=g.current.filter((function(e){return"left"===e.pinned&&!0!==e.hide})),V=g.current.filter((function(e){return"right"===e.pinned&&!0!==e.hide})),J=i((function(){return"".concat(G.map((function(e){return"".concat(e.width,"px")})).join(" "))}),[G]),X=i((function(){return"".concat(j.filter((function(e){return!0!==p[e.accessor]})).map((function(e){return"".concat(e.width,"px")})).join(" ")," 1fr")}),[j,p]),Y=i((function(){return"".concat(V.map((function(e){return"".concat(e.width,"px")})).join(" "))}),[V]),K={allowAnimations:t,columnResizing:a,currentRows:l,draggable:s,draggedHeaderRef:d,forceUpdate:u,headerContainerRef:U,headersRef:g,hiddenColumns:p,hoveredHeaderRef:w,isWidthDragging:x,mainBodyRef:y,mainTemplateColumns:X,onSort:D,onTableHeaderDragEnd:H,pinnedLeftColumns:G,pinnedLeftTemplateColumns:J,pinnedRightColumns:V,pinnedRightTemplateColumns:Y,selectableColumns:M,setIsWidthDragging:T,setSelectedCells:B,shouldDisplayLastColumnCell:F,sort:A,sortDownIcon:P,sortUpIcon:W,tableBodyContainerRef:z},$={allowAnimations:t,currentRows:l,draggedHeaderRef:d,getBorderClass:f,handleMouseDown:h,handleMouseOver:v,headerContainerRef:U,headers:g.current,headersRef:g,hiddenColumns:p,hoveredHeaderRef:w,isRowExpanded:R,isSelected:C,isTopLeftCell:b,isWidthDragging:x,mainBodyRef:y,mainTemplateColumns:X,onCellChange:I,onExpandRowClick:E,onTableHeaderDragEnd:H,pinnedLeftColumns:G,pinnedLeftRef:N,pinnedLeftTemplateColumns:J,pinnedRightColumns:V,pinnedRightRef:S,pinnedRightTemplateColumns:Y,scrollbarHorizontalRef:k,scrollbarWidth:L,shouldDisplayLastColumnCell:F,shouldPaginate:O,tableBodyContainerRef:z};return e("div",m({className:"st-table-content",style:{width:c?"calc(100% - 27.5px)":"100%"}},{children:[n(Z,m({},K)),n(q,m({},$))]}))},ee=function(e){var n=e.callback,r=e.ref,t=e.widthAttribute;l((function(){var e=r.current;if(e){var o=function(){n(e[t]||0)};o();var a=new ResizeObserver((function(){o()}));return a.observe(e),function(){return a.disconnect()}}}),[n,r,t])},ne=function(r){r.headersRef;var a=r.mainBodyRef,l=r.pinnedLeftRef,i=r.pinnedRightRef,s=r.scrollbarHorizontalRef,d=r.tableContentWidth,c=t(0),u=c[0],f=c[1],h=t(0),v=h[0],g=h[1],p=t(0),w=p[0],R=p[1],C=o(null);return ee({widthAttribute:"offsetWidth",callback:f,ref:l}),ee({widthAttribute:"scrollWidth",callback:R,ref:a}),ee({widthAttribute:"offsetWidth",callback:g,ref:i}),Q(a,C),!a.current||a.current.scrollWidth<=a.current.clientWidth?null:n("div",m({className:"st-horizontal-scrollbar-container",ref:s},{children:e("div",m({style:{width:d}},{children:[u>0&&n("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:u}}),w>0&&n("div",m({className:"st-horizontal-scrollbar-middle",onScroll:function(e){var n=e.target.scrollLeft;void 0!==n&&a.current&&a.current.scrollTo({left:n,behavior:"auto"})},ref:C},{children:n("div",{style:{width:w}})})),v>0&&n("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:v}})]}))}))},re=function(e,n){var r=t(null),o=r[0],a=r[1],l=t({}),s=l[0],d=l[1],c=i((function(){if(!o)return e;var r=function(e,n,r){var t=r?r.key:e[0],o="ascending";return r&&r.key.accessor===t.accessor&&"ascending"===r.direction&&(o="descending"),{sortedData:w([],n,!0).sort((function(e,n){var r,a,l,i,s=null!==(a=null===(r=null==e?void 0:e.rowData)||void 0===r?void 0:r[t.accessor])&&void 0!==a?a:"",d=null!==(i=null===(l=null==n?void 0:n.rowData)||void 0===l?void 0:l[t.accessor])&&void 0!==i?i:"";return s<d?"ascending"===o?1:-1:s>d?"ascending"===o?-1:1:0})),newSortConfig:{key:t,direction:o}}}(n,e,o).sortedData;return r}),[e,o,n]);return{sort:o,setSort:a,sortedRows:c,hiddenColumns:s,setHiddenColumns:d}};!function(e){e.Left="left",e.Right="right"}(R||(R={}));var te=function(r){var s=r.allowAnimations,d=void 0!==s&&s,c=r.columnEditorPosition,f=void 0===c?R.Right:c,h=r.columnEditorText,v=void 0===h?"Columns":h,p=r.columnResizing,w=void 0!==p&&p,D=r.defaultHeaders,H=r.draggable,S=void 0!==H&&H,k=r.editColumns,L=void 0!==k&&k,M=r.editColumnsInitOpen,T=void 0!==M&&M,B=r.height,O=r.hideFooter,A=void 0!==O&&O,P=r.nextIcon,W=void 0===P?n(x,{className:"st-next-prev-icon"}):P,z=r.onCellChange,U=r.prevIcon,j=void 0===U?n(b,{className:"st-next-prev-icon"}):U,F=r.rows,G=r.rowsPerPage,V=void 0===G?10:G,J=r.selectableCells,X=void 0!==J&&J,Y=r.selectableColumns,q=void 0!==Y&&Y,K=r.shouldPaginate,$=void 0!==K&&K,Q=r.sortDownIcon,Z=void 0===Q?n(E,{className:"st-sort-icon"}):Q,ee=r.sortUpIcon,te=void 0===ee?n(I,{className:"st-sort-icon"}):ee,oe=r.theme,ae=void 0===oe?"light":oe,le=t((function(){return function(e){var n=new Set,r=function(e){var t;e.rowMeta.isExpanded&&n.add(e.rowMeta.rowId.toString()),null===(t=e.rowMeta.children)||void 0===t||t.forEach(r)};return e.forEach(r),n}(F)})),ie=le[0],se=le[1],de=i((function(){return F.map((function(e,n){return m(m({},e),{originalRowIndex:n})}))}),[F]),ce=o(null),ue=o(D),fe=o(null),he=o(null),ve=o(null),ge=o(null),me=o(null),pe=o(null),we=t(!1),Re=we[0],Ce=we[1],be=t(1),xe=be[0],ye=be[1],Ie=t(0),Ee=Ie[0],De=Ie[1],He=t(0),Ne=He[0],Se=He[1],ke=re(de,ue.current),Le=ke.sort,Me=ke.setSort,Te=ke.sortedRows,Be=ke.hiddenColumns,Oe=ke.setHiddenColumns,Ae=a((function(e){var n=String(e);se((function(e){var r=new Set(e);return r.has(n)?r.delete(n):r.add(n),r}))}),[]),Pe=a((function(e){return ie.has(String(e))}),[ie]),We=g((function(e){return e+1}),0)[1],ze=function(e){var n=e.selectableCells,r=e.headers,s=e.rows,d=t(new Set),c=d[0],u=d[1],f=o(!1),h=o(null),v=a((function(){var e=Array.from(c).reduce((function(e,n){var t=n.split("-").map(Number),o=t[0],a=t[1];return e[o]||(e[o]=[]),e[o][a]=s[o][r[a].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");navigator.clipboard.writeText(n)}),[c,s,r]);l((function(){var e=function(e){(e.ctrlKey||e.metaKey)&&"c"===e.key&&v()};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[v]);var g=a((function(e,n){return c.has("".concat(e,"-").concat(n))}),[c]),m=a((function(e,n){var r=[];return g(e-1,n)||r.push("st-selected-top-border"),g(e+1,n)||r.push("st-selected-bottom-border"),g(e,n-1)||r.push("st-selected-left-border"),g(e,n+1)||r.push("st-selected-right-border"),r.join(" ")}),[g]),p=i((function(){var e=Math.min.apply(Math,Array.from(c).map((function(e){return parseInt(e.split("-")[0])}))),n=Math.min.apply(Math,Array.from(c).map((function(e){return parseInt(e.split("-")[1])})));return function(r,t){return r===e&&t===n}}),[c]);return{selectedCells:c,handleMouseDown:function(e){var r=e.colIndex,t=e.rowIndex;n&&(f.current=!0,h.current={row:t,col:r},u(new Set(["".concat(t,"-").concat(r)])))},handleMouseOver:function(e,r){if(n&&f.current&&h.current){for(var t=new Set,o=Math.min(h.current.row,e),a=Math.max(h.current.row,e),l=Math.min(h.current.col,r),i=Math.max(h.current.col,r),s=o;s<=a;s++)for(var d=l;d<=i;d++)t.add("".concat(s,"-").concat(d));u(t)}},handleMouseUp:function(){f.current=!1,h.current=null},isSelected:g,getBorderClass:m,isTopLeftCell:p,setSelectedCells:u}}({selectableCells:X,headers:ue.current,rows:Te}),Ue=ze.handleMouseDown,je=ze.handleMouseOver,Fe=ze.handleMouseUp,Ge=ze.isSelected,Ve=ze.getBorderClass,Je=ze.isTopLeftCell,Xe=ze.setSelectedCells,Ye=i((function(){return $?Te.slice((xe-1)*V,xe*V):Te}),[xe,V,$,Te]),qe=a((function(e,n){Me((function(r){return(null==r?void 0:r.key.accessor)!==n?{key:ue.current[e],direction:"ascending"}:"ascending"===(null==r?void 0:r.direction)?{key:ue.current[e],direction:"descending"}:null}))}),[Me]),Ke=a((function(e){ue.current=e,We()}),[]);return l((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"))||Xe(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[q,Xe]),u((function(){if(pe.current){var e=pe.current.offsetWidth-pe.current.clientWidth,n=pe.current.clientWidth;De(e),Se(n)}}),[]),n(y.Provider,m({value:{rows:F,tableRows:de}},{children:e("div",m({className:"simple-table-root st-wrapper theme-".concat(ae),style:B?{height:B}:{}},{children:[e("div",m({className:"st-table-wrapper-container"},{children:[e("div",m({className:"st-table-wrapper",onMouseUp:Fe,onMouseLeave:Fe},{children:[n(_,{allowAnimations:d,columnResizing:w,currentRows:Ye,draggable:S,draggedHeaderRef:ce,editColumns:L,forceUpdate:We,getBorderClass:Ve,handleMouseDown:Ue,handleMouseOver:je,headers:ue.current,headersRef:ue,hiddenColumns:Be,hoveredHeaderRef:fe,isRowExpanded:Pe,isSelected:Ge,isTopLeftCell:Je,isWidthDragging:Re,mainBodyRef:he,onCellChange:z,onExpandRowClick:Ae,onSort:qe,onTableHeaderDragEnd:Ke,pinnedLeftRef:ve,pinnedRightRef:ge,scrollbarHorizontalRef:me,scrollbarWidth:Ee,selectableColumns:q,setIsWidthDragging:Ce,setSelectedCells:Xe,shouldPaginate:$,sort:Le,sortDownIcon:Z,sortUpIcon:te,tableBodyContainerRef:pe}),n(N,{columnEditorText:v,editColumns:L,editColumnsInitOpen:T,headers:ue.current,hiddenColumns:Be,position:f,setHiddenColumns:Oe})]})),n(ne,{headersRef:ue,mainBodyRef:he,pinnedLeftRef:ve,pinnedRightRef:ge,scrollbarHorizontalRef:me,tableContentWidth:Ne})]})),n(C,{currentPage:xe,hideFooter:A,nextIcon:W,onPageChange:ye,prevIcon:j,rowsPerPage:V,shouldPaginate:$,totalRows:Te.length})]}))}))};te.defaultProps={allowAnimations:!1,columnEditorPosition:R.Right,columnEditorText:"Columns",columnResizing:!1,defaultHeaders:[],draggable:!1,editColumns:!1,editColumnsInitOpen:!1,height:"",hideFooter:!1,nextIcon:n(x,{className:"st-next-prev-icon"}),onCellChange:function(){},prevIcon:n(b,{className:"st-next-prev-icon"}),rows:[],rowsPerPage:10,selectableCells:!1,selectableColumns:!1,shouldPaginate:!1,sortDownIcon:n(E,{className:"st-sort-icon"}),sortUpIcon:n(I,{className:"st-sort-icon"}),theme:"light"};var oe=v(te);export{oe 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 a,useEffect as l,useMemo as i,createContext as s,forwardRef as d,useContext as c,useLayoutEffect as u,createElement as f,createRef as h,memo as v,useReducer as g}from"react";var m=function(){return m=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},m.apply(this,arguments)};function p(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 w(e,n,r){if(r||2===arguments.length)for(var t,o=0,a=n.length;o<a;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var R,C=function(r){var t=r.currentPage,o=r.hideFooter,a=r.nextIcon,l=r.onPageChange,i=r.prevIcon,s=r.rowsPerPage,d=r.shouldPaginate,c=r.totalRows,u=Math.ceil(c/s),f=t>1,h=t<u,v=function(e){e>=1&&e<=u&&l(e)};return o||!d?null:e("div",m({className:"st-footer"},{children:[n("button",m({className:"st-next-prev-btn ".concat(f?"":"disabled"),onClick:function(){return v(t-1)},disabled:!f},{children:i})),n("button",m({className:"st-next-prev-btn ".concat(h?"":"disabled"),onClick:function(){return v(t+1)},disabled:!h},{children:a})),Array.from({length:u},(function(e,r){return n("button",m({onClick:function(){return v(r+1)},className:"st-page-btn ".concat(t===r+1?"active":"")},{children:r+1}),r)}))]}))},b=function(e){var r=e.className;return n("svg",m({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",m({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"})}))},y=s({rows:[],tableRows:[]}),I=function(e){var r=e.className;return n("svg",m({className:r,viewBox:"0 0 20 20",width:"20",height:"20",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"})}))},E=function(e){var r=e.className;return n("svg",m({className:r,viewBox:"0 0 20 20",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg"},{children:n("path",{d:"M5.41 7.59L10 12.17l4.59-4.58L16 9l-6 6-6-6z"})}))},D=function(r){var o=r.checked,a=void 0!==o&&o,l=r.children,i=r.onChange,s=t(a),d=s[0],c=s[1];return e("label",m({className:"st-checkbox-label"},{children:[n("input",{checked:d,className:"st-checkbox-input",onChange:function(){var e=!d;c(e),i&&i(e)},type:"checkbox"}),n("span",m({className:"st-checkbox-custom ".concat(d?"st-checked":"")},{children:d&&n("span",{className:"st-checkbox-checkmark"})})),l]}))},H=function(e){var r=e.headers,t=e.open,o=e.position;e.setOpen;var a=e.setHiddenColumns,l=e.hiddenColumns,i="left"===o?"left":"";return n("div",m({className:"st-column-editor-popout ".concat(t?"open":""," ").concat(i),onClick:function(e){return e.stopPropagation()}},{children:n("div",m({className:"st-column-editor-popout-content"},{children:r.map((function(e,r){return n(D,m({checked:l[e.accessor],onChange:function(n){var r;return a(m(m({},l),((r={})[e.accessor]=n,r)))}},{children:e.label}),r)}))}))}))},N=function(r){var o=r.columnEditorText,a=r.editColumns,l=r.editColumnsInitOpen,i=r.headers,s=r.position,d=void 0===s?"right":s,c=r.setHiddenColumns,u=r.hiddenColumns,f=t(l),h=f[0],v=f[1];return a?e("div",m({className:"st-column-editor ".concat(h?"open":""," ").concat(d),onClick:function(){return function(e){v(e)}(!h)}},{children:[n("div",m({className:"st-column-editor-text"},{children:o})),n(H,{headers:i,open:h,position:d,setOpen:v,setHiddenColumns:c,hiddenColumns:u})]})):null},S=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},k=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},L=function(r){var t=r.value,o=r.onBlur,a=r.onChange;return e("select",m({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;a("true"===n)}},{children:[n("option",m({value:"true"},{children:"True"})),n("option",m({value:"false"},{children:"False"}))]}))},M=function(e){var r=e.defaultValue,t=e.onBlur,a=e.onChange,l=o(null);return n("input",{className:"editable-cell-input",ref:l,autoFocus:!0,type:"text",defaultValue:null!=r?r:"",onBlur:t,onChange:function(e){var n=e.target.value;a(n)}})},T=function(e){var r=e.defaultValue,t=e.onBlur,a=e.onChange,l=o(null);return n("input",{className:"editable-cell-input",ref:l,autoFocus:!0,defaultValue:r.toString(),onBlur:t,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&a(n)}})},B=function(e){var t=e.onChange,o=e.setIsEditing,a=e.value,l=function(e){null==t||t(e)},i=function(){o(!1)};return n(r,{children:"string"==typeof a||null==a?n(M,{defaultValue:a,onBlur:i,onChange:l}):"boolean"==typeof a?n(L,{onBlur:i,onChange:l,value:a}):"number"==typeof a?n(T,{defaultValue:a,onBlur:i,onChange:l}):null})},O=0,A=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))}},P=Date.now(),W={screenX:0,screenY:0},z=function(e){var n,r,t=e.draggedHeaderRef,a=e.headersRef,i=e.hoveredHeaderRef,s=e.onTableHeaderDragEnd,d=(n=a.current,r=o(n),l((function(){r.current=n}),[n]),r.current);return{handleDragStart:function(e){t.current=e,P=Date.now()},handleDragOver:function(e){var n,r=e.event,o=e.hoveredHeader;if(r.preventDefault(),a.current){var l=r.currentTarget.getAnimations().some((function(e){return"running"===e.playState})),c=r.screenX,u=r.screenY,f=Math.sqrt(Math.pow(c-W.screenX,2)+Math.pow(u-W.screenY,2));i.current=o;var h=w([],a.current,!0),v=h.findIndex((function(e){var n;return e.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)})),g=h.findIndex((function(e){return e.accessor===o.accessor})),m=h.splice(v,1)[0];if(h.splice(g,0,m),!(l||o.accessor===(null===(n=t.current)||void 0===n?void 0:n.accessor)||null===t.current||f<10||void 0===v||void 0===g||JSON.stringify(h)===JSON.stringify(a.current))){var p=Date.now();JSON.stringify(h)===JSON.stringify(d)&&p-P<800&&f<50||(P=p,W={screenX:c,screenY:u},s(h))}}},handleDragEnd:function(){t.current=null,i.current=null}}},U=d((function(r,o){var a=r.borderClass,i=r.cellHasChildren,s=r.colIndex,d=r.content,u=r.depth,f=r.draggedHeaderRef,h=r.header,v=r.headersRef,g=r.hoveredHeaderRef,p=r.isRowExpanded,w=r.isSelected,R=r.isTopLeftCell,C=r.onCellChange,b=r.onExpandRowClick,I=r.onMouseDown,D=r.onMouseOver,H=r.onTableHeaderDragEnd,N=r.row,k=r.rowIndex,L=c(y);L.rows,L.tableRows;var M=t(d),T=M[0],O=M[1],P=t(!1),W=P[0],U=P[1],j=z({draggedHeaderRef:f,headersRef:v,hoveredHeaderRef:g,onTableHeaderDragEnd:H}).handleDragOver,F=A(),G=Boolean(null==h?void 0:h.isEditable),V=k%2==0,J="st-cell ".concat(u>0&&h.expandable?"st-cell-depth-".concat(u):""," ").concat(w?R?"st-cell-selected-first-cell ".concat(a):"st-cell-selected ".concat(a):""," ").concat(V?"st-cell-odd-row":"st-cell-even-row"," ").concat(G?"clickable":""," ").concat("right"===h.align?"right-aligned":"");l((function(){"object"!=typeof d&&O(d)}),[d]);return W?n("div",m({className:"st-cell-editing ".concat(V?"st-cell-odd-row":"st-cell-even-row"),id:S({accessor:h.accessor,rowIndex:k+1})},{children:n(B,{onChange:function(e){var n;O(e),null==C||C({accessor:h.accessor,newValue:e,newRowIndex:k,originalRowIndex:null===(n=N.rowMeta)||void 0===n?void 0:n.rowId,row:N})},setIsEditing:U,value:T})})):e("div",m({className:J,id:S({accessor:h.accessor,rowIndex:k+1}),onDoubleClick:function(){return h.isEditable&&U(!0)},onMouseDown:function(){return I(k,s)},onMouseOver:function(){return D(k,s)},onDragOver:function(e){return F({callback:j,callbackProps:{event:e,hoveredHeader:h},limit:50})},ref:o},{children:[h.expandable&&i?p(N.rowMeta.rowId)?n("div",m({className:"st-sort-icon-container",onClick:function(){return b(N.rowMeta.rowId)}},{children:n(E,{className:"st-sort-icon"})})):n("div",m({className:"st-sort-icon-container",onClick:function(){return b(N.rowMeta.rowId)}},{children:n(x,{className:"st-sort-icon"})})):null,n("span",{children:T})]}))})),j=d((function(e,r){return e.visible?n("div",{className:"st-cell",ref:r}):n("div",{ref:r})})),F=function(e){var r=e.lastGroupRow;return n("div",{className:"st-row-separator ".concat(r?"st-last-group-row":"")})},G=function(e){var t=e.allowAnimations,o=e.children,a=p(e,["allowAnimations","children"]);return t?n(V,m({},a,{children:o})):n(r,{children:o})},V=function(e){var a=e.allowHorizontalAnimate,i=void 0===a||a,s=e.children,d=e.draggedHeaderRef,c=e.headersRef,f=e.isBody,h=e.mainBodyRef,v=e.pauseAnimation,g=e.rowIndex,m=o(!1),p=t({}),w=p[0],R=p[1],C=o({}),b=c.current;return u((function(){if(b){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var a=document.getElementById(S({accessor:e.accessor,rowIndex:t}));if(a){var l=a.getAnimations().some((function(e){return"running"===e.playState})),i=a.getBoundingClientRect();l&&(null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.accessor)!==e.accessor?o[e.accessor]=!1:o[e.accessor]=i}}})),o}({currentHeaders:b,draggedHeaderRef:d,rowIndex:g});JSON.stringify(e)!==JSON.stringify(w)&&(C.current=w,R(e))}}),[w,b,d,f,g]),u((function(){var e=h.current,n=function(){m.current=!0},r=function(){m.current=!1};return null==e||e.addEventListener("scroll",n),null==e||e.addEventListener("scrollend",r),function(){null==e||e.removeEventListener("scroll",n),null==e||e.removeEventListener("scrollend",r)}}),[d,h]),l((function(){v||m.current||Object.keys(C.current).length&&b&&b.forEach((function(e){var n=document.getElementById(S({accessor:e.accessor,rowIndex:g}));if(n){var r=C.current[e.accessor],t=w[e.accessor];if(r&&t){var o=r.left-t.left,a=i?0:r.top-t.top,l=Math.abs(o),s=Math.abs(a);(l>10||s>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(o,"px, ").concat(a,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[i,w,b,f,v,C,g]),n(r,{children:s})},J=function(r){var t,o=r.getBorderClass,a=r.handleMouseDown,l=r.handleMouseOver,i=r.headers,s=r.hiddenColumns,d=r.isRowExpanded,c=r.isSelected,u=r.isTopLeftCell,v=r.lastGroupRow,g=r.onExpandRowClick,w=r.pinned,R=r.row,C=r.rowIndex,b=r.shouldDisplayLastColumnCell,x=p(r,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isRowExpanded","isSelected","isTopLeftCell","lastGroupRow","onExpandRowClick","pinned","row","rowIndex","shouldDisplayLastColumnCell"]),y=null===(t=R.rowMeta)||void 0===t?void 0:t.children;return e(G,m({allowAnimations:x.allowAnimations,allowHorizontalAnimate:x.shouldPaginate,draggedHeaderRef:x.draggedHeaderRef,headersRef:x.headersRef,isBody:!0,mainBodyRef:x.mainBodyRef,pauseAnimation:x.isWidthDragging,rowIndex:C+1},{children:[0!==C&&n(F,{lastGroupRow:v}),i.map((function(e,n){if(!k({hiddenColumns:s,header:e,pinned:w}))return null;var r=R.rowData[e.accessor];return e.cellRenderer&&(r=e.cellRenderer(R)),f(U,m({},x,{borderClass:o(C,n),cellHasChildren:((null==y?void 0:y.length)||0)>0,colIndex:n,content:r,header:e,isRowExpanded:d,isSelected:c(C,n),isTopLeftCell:u(C,n),key:n,onExpandRowClick:g,onMouseDown:function(){return a({rowIndex:C,colIndex:n})},onMouseOver:function(){return l(C,n)},row:R,rowIndex:C}))})),n(j,{ref:h(),visible:b})]}))},X=function(t){var o,a,l,i=t.depth,s=void 0===i?0:i,d=t.getNextRowIndex,c=t.index,u=t.lastGroupRow,h=t.pinned,v=t.props,g=t.row,p=((null===(a=null===(o=g.rowMeta)||void 0===o?void 0:o.children)||void 0===a?void 0:a.length)||0)>0,w=d(),R=(null===(l=g.rowMeta)||void 0===l?void 0:l.children)||[];return e(r,{children:[f(J,m({},v,{depth:s,lastGroupRow:u,key:c,pinned:h,row:g,rowIndex:w})),p&&v.isRowExpanded(g.rowMeta.rowId)&&R.map((function(e,r){return n(X,{depth:s+1,getNextRowIndex:d,index:r,pinned:h,props:v,row:e},r)}))]})},Y=function(e){e.headerContainerRef;var r=e.isRowExpanded,t=e.onExpandRowClick,a=e.pinned,i=e.rows,s=e.sectionRef,d=e.templateColumns,c=p(e,["headerContainerRef","isRowExpanded","onExpandRowClick","pinned","rows","sectionRef","templateColumns"]),u=a?"st-table-body-pinned-".concat(a):"st-table-body-main",f=o(0);l((function(){f.current=0}));var h=function(){return f.current++};return n("div",m({className:u,ref:s,style:{gridTemplateColumns:d}},{children:i.map((function(e,o){var l,i;return n(X,{getNextRowIndex:h,index:o,lastGroupRow:Boolean(null===(i=null===(l=e.rowMeta)||void 0===l?void 0:l.children)||void 0===i?void 0:i.length),pinned:a,props:m(m({},c),{isRowExpanded:r,onExpandRowClick:t}),row:e},o)}))}))},q=function(r){var o=r.currentRows,a=r.headerContainerRef,i=r.isRowExpanded,s=r.mainBodyRef,d=r.mainTemplateColumns,c=r.onExpandRowClick,u=r.pinnedLeftColumns,f=r.pinnedLeftRef,h=r.pinnedLeftTemplateColumns,v=r.pinnedRightColumns,g=r.pinnedRightRef,p=r.pinnedRightTemplateColumns,w=r.scrollbarHorizontalRef,R=r.scrollbarWidth,C=r.tableBodyContainerRef;return function(e){var n=e.headerContainerRef,r=e.mainSectionRef,o=e.scrollbarHorizontalRef,a=e.scrollbarWidth,i=t(!1),s=i[0],d=i[1];l((function(){var e=null==n?void 0:n.current,r=null==o?void 0:o.current;if(s&&e)return e.classList.add("st-header-scroll-padding"),null==r||r.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(a,"px")),null==r||r.style.setProperty("--st-after-width","".concat(a,"px")),function(){e.classList.remove("st-header-scroll-padding"),null==r||r.classList.remove("st-header-scroll-padding")}}),[n,s,o,a]),l((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 a=new ResizeObserver((function(){o()}));return a.observe(t),function(){t&&a.unobserve(t)}}}),[n,r])}({headerContainerRef:a,mainSectionRef:C,scrollbarHorizontalRef:w,scrollbarWidth:R}),e("div",m({className:"st-table-body-container",ref:C},{children:[u.length>0&&n(Y,m({},r,{rows:o,templateColumns:h,pinned:"left",sectionRef:f,isRowExpanded:i,onExpandRowClick:c})),n(Y,m({},r,{rows:o,templateColumns:d,sectionRef:s,isRowExpanded:i,onExpandRowClick:c})),v.length>0&&n(Y,m({},r,{rows:o,templateColumns:p,pinned:"right",sectionRef:g,isRowExpanded:i,onExpandRowClick:c}))]}))},K=function(e){var n=e.event,r=e.forceUpdate,t=e.header,o=e.headersRef,a=e.index;e.reverse;var l=e.setIsWidthDragging;l(!0),n.preventDefault();var i=n.clientX;if(t){var s=t.width,d=function(e){var n=Math.max(s+(e.clientX-i),40);t&&o.current&&(o.current[a].width=n,r())},c=function(){document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",c),l(!1)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",c)}},$=d((function(r,o){var a,i=r.columnResizing,s=r.currentRows,d=r.draggable,c=r.draggedHeaderRef,u=r.forceUpdate,f=r.headersRef,h=r.hoveredHeaderRef,v=r.index,g=r.onSort,p=r.onTableHeaderDragEnd,w=r.reverse,R=r.selectableColumns,C=r.setIsWidthDragging,b=r.setSelectedCells,x=r.sort,y=r.sortDownIcon,I=r.sortUpIcon,E=t(!1),D=E[0],H=E[1],N=null===(a=f.current)||void 0===a?void 0:a[v],k=Boolean(null==N?void 0:N.isSortable),L="st-header-cell ".concat(N===h.current?"st-hovered":""," ").concat(D?"st-dragging":""," ").concat(k?"clickable":""," ").concat(d&&!k?"draggable":""," ").concat("right"===(null==N?void 0:N.align)?"right-aligned":""),M=z({draggedHeaderRef:c,headersRef:f,hoveredHeaderRef:h,onTableHeaderDragEnd:p}),T=M.handleDragStart,B=M.handleDragEnd,O=z({draggedHeaderRef:c,headersRef:f,hoveredHeaderRef:h,onTableHeaderDragEnd:p}).handleDragOver,P=A(),W=function(e){var n=e.event,r=e.header;if(R){var t=s.length,o=Array.from({length:t},(function(e,n){return"".concat(n,"-").concat(v)})),a=function(e,n){var r=new Set,o=Math.min(e,n),a=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:a-o+1}).forEach((function(e,t){r.add("".concat(n,"-").concat(o+t))}))})),r};n.shiftKey?b((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)})):b(new Set(o))}else r.isSortable&&g(v,r.accessor)};if(l((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!N)return null;var U=i&&n("div",{className:"st-header-resize-handle",onMouseDown:function(e){P({callback:K,callbackProps:{event:e,forceUpdate:u,header:N,headersRef:f,index:v,setIsWidthDragging:C},limit:10})}});return e("div",m({className:L,id:S({accessor:N.accessor,rowIndex:0}),onDragOver:function(e){P({callback:O,callbackProps:{event:e,hoveredHeader:N},limit:50})},ref:o,style:{width:N.width}},{children:[w&&U,n("div",m({className:"st-header-label",draggable:d,onClick:function(e){return W({event:e,header:N})},onDragEnd:function(e){e.preventDefault(),H(!1),B()},onDragStart:function(e){d&&N&&function(e){H(!0),T(e)}(N)},onMouseEnter:function(){return document.body.style.overflow="hidden"},onMouseLeave:function(){return document.body.style.overflow="auto"}},{children:null==N?void 0:N.label})),x&&x.key.accessor===N.accessor&&e("div",m({className:"st-sort-icon-container",onClick:function(e){return W({event:e,header:N})}},{children:["ascending"===x.direction&&I&&I,"descending"===x.direction&&y&&y]})),!w&&U]}))})),Q=function(e,n){l((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])},Z=function(r){var t,a,l,i=r.allowAnimations,s=r.columnResizing,d=r.currentRows,c=r.draggable,u=r.draggedHeaderRef,f=r.forceUpdate,v=r.headerContainerRef,g=r.headersRef,p=r.hiddenColumns,w=r.hoveredHeaderRef,R=r.isWidthDragging,C=r.mainTemplateColumns,b=r.onSort,x=r.onTableHeaderDragEnd,y=r.pinnedLeftColumns,I=r.pinnedLeftTemplateColumns,E=r.pinnedRightColumns,D=r.pinnedRightTemplateColumns,H=r.selectableColumns,N=r.setIsWidthDragging,S=r.setSelectedCells,L=r.shouldDisplayLastColumnCell,M=r.sort,T=r.sortDownIcon,B=r.sortUpIcon,O=r.mainBodyRef,A=o(null);Q(O,A);return e("div",m({className:"st-header-container",ref:v},{children:[y.length>0&&n("div",m({className:"st-header-pinned-left",style:{gridTemplateColumns:I}},{children:n(G,m({allowAnimations:i,draggedHeaderRef:u,headersRef:g,mainBodyRef:O,pauseAnimation:R,rowIndex:0},{children:null===(t=g.current)||void 0===t?void 0:t.map((function(e,r){return k({hiddenColumns:p,header:e,pinned:"left"})?n($,{columnResizing:s,currentRows:d,draggable:c,draggedHeaderRef:u,forceUpdate:f,headersRef:g,hoveredHeaderRef:w,index:r,onSort:b,onTableHeaderDragEnd:x,ref:h(),selectableColumns:H,setIsWidthDragging:N,setSelectedCells:S,sort:M,sortDownIcon:T,sortUpIcon:B},e.accessor):null}))}))})),n("div",m({className:"st-header-main",onScroll:function(e){var n,r,t=null===(n=A.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=O.current)||void 0===r||r.scrollTo(t,0))},ref:A,style:{gridTemplateColumns:C}},{children:e(G,m({allowAnimations:i,draggedHeaderRef:u,headersRef:g,mainBodyRef:O,pauseAnimation:R,rowIndex:0},{children:[null===(a=g.current)||void 0===a?void 0:a.map((function(e,r){return k({hiddenColumns:p,header:e})?n($,{columnResizing:s,currentRows:d,draggable:c,draggedHeaderRef:u,forceUpdate:f,headersRef:g,hoveredHeaderRef:w,index:r,onSort:b,onTableHeaderDragEnd:x,ref:h(),selectableColumns:H,setIsWidthDragging:N,setSelectedCells:S,sort:M,sortDownIcon:T,sortUpIcon:B},e.accessor):null})),n(j,{ref:h(),visible:L})]}))})),E.length>0&&n("div",m({className:"st-header-pinned-right",style:{gridTemplateColumns:D}},{children:e(G,m({allowAnimations:i,draggedHeaderRef:u,headersRef:g,mainBodyRef:O,pauseAnimation:R,rowIndex:0},{children:[null===(l=g.current)||void 0===l?void 0:l.map((function(e,r){return k({hiddenColumns:p,header:e,pinned:"right"})?n($,{columnResizing:s,currentRows:d,draggable:c,draggedHeaderRef:u,forceUpdate:f,headersRef:g,hoveredHeaderRef:w,index:r,onSort:b,onTableHeaderDragEnd:x,reverse:!0,ref:h(),selectableColumns:H,setIsWidthDragging:N,setSelectedCells:S,sort:M,sortDownIcon:T,sortUpIcon:B},e.accessor):null})),n(j,{ref:h(),visible:L})]}))}))]}))},_=function(r){var t=r.allowAnimations,a=r.columnResizing,l=r.currentRows,s=r.draggable,d=r.draggedHeaderRef,c=r.editColumns,u=r.forceUpdate,f=r.getBorderClass,h=r.handleMouseDown,v=r.handleMouseOver,g=r.headersRef,p=r.hiddenColumns,w=r.hoveredHeaderRef,R=r.isRowExpanded,C=r.isSelected,b=r.isTopLeftCell,x=r.isWidthDragging,y=r.mainBodyRef,I=r.onCellChange,E=r.onExpandRowClick,D=r.onSort,H=r.onTableHeaderDragEnd,N=r.pinnedLeftRef,S=r.pinnedRightRef,k=r.scrollbarHorizontalRef,L=r.scrollbarWidth,M=r.selectableColumns,T=r.setIsWidthDragging,B=r.setSelectedCells,O=r.shouldPaginate,A=r.sort,P=r.sortDownIcon,W=r.sortUpIcon,z=r.tableBodyContainerRef,U=o(null),j=g.current.filter((function(e){return!e.hide&&!e.pinned})),F=i((function(){return!!y.current&&j.reduce((function(e,n){return e+n.width}),0)<y.current.clientWidth}),[j,y]),G=g.current.filter((function(e){return"left"===e.pinned&&!0!==e.hide})),V=g.current.filter((function(e){return"right"===e.pinned&&!0!==e.hide})),J=i((function(){return"".concat(G.map((function(e){return"".concat(e.width,"px")})).join(" "))}),[G]),X=i((function(){return"".concat(j.filter((function(e){return!0!==p[e.accessor]})).map((function(e){return"".concat(e.width,"px")})).join(" ")," 1fr")}),[j,p]),Y=i((function(){return"".concat(V.map((function(e){return"".concat(e.width,"px")})).join(" "))}),[V]),K={allowAnimations:t,columnResizing:a,currentRows:l,draggable:s,draggedHeaderRef:d,forceUpdate:u,headerContainerRef:U,headersRef:g,hiddenColumns:p,hoveredHeaderRef:w,isWidthDragging:x,mainBodyRef:y,mainTemplateColumns:X,onSort:D,onTableHeaderDragEnd:H,pinnedLeftColumns:G,pinnedLeftTemplateColumns:J,pinnedRightColumns:V,pinnedRightTemplateColumns:Y,selectableColumns:M,setIsWidthDragging:T,setSelectedCells:B,shouldDisplayLastColumnCell:F,sort:A,sortDownIcon:P,sortUpIcon:W,tableBodyContainerRef:z},$={allowAnimations:t,currentRows:l,draggedHeaderRef:d,getBorderClass:f,handleMouseDown:h,handleMouseOver:v,headerContainerRef:U,headers:g.current,headersRef:g,hiddenColumns:p,hoveredHeaderRef:w,isRowExpanded:R,isSelected:C,isTopLeftCell:b,isWidthDragging:x,mainBodyRef:y,mainTemplateColumns:X,onCellChange:I,onExpandRowClick:E,onTableHeaderDragEnd:H,pinnedLeftColumns:G,pinnedLeftRef:N,pinnedLeftTemplateColumns:J,pinnedRightColumns:V,pinnedRightRef:S,pinnedRightTemplateColumns:Y,scrollbarHorizontalRef:k,scrollbarWidth:L,shouldDisplayLastColumnCell:F,shouldPaginate:O,tableBodyContainerRef:z};return e("div",m({className:"st-table-content",style:{width:c?"calc(100% - 27.5px)":"100%"}},{children:[n(Z,m({},K)),n(q,m({},$))]}))},ee=function(e){var n=e.callback,r=e.ref,t=e.widthAttribute;l((function(){var e=r.current;if(e){var o=function(){n(e[t]||0)};o();var a=new ResizeObserver((function(){o()}));return a.observe(e),function(){return a.disconnect()}}}),[n,r,t])},ne=function(r){r.headersRef;var a=r.mainBodyRef,l=r.pinnedLeftRef,i=r.pinnedRightRef,s=r.scrollbarHorizontalRef,d=r.tableContentWidth,c=t(0),u=c[0],f=c[1],h=t(0),v=h[0],g=h[1],p=t(0),w=p[0],R=p[1],C=o(null);return ee({widthAttribute:"offsetWidth",callback:f,ref:l}),ee({widthAttribute:"scrollWidth",callback:R,ref:a}),ee({widthAttribute:"offsetWidth",callback:g,ref:i}),Q(a,C),!a.current||a.current.scrollWidth<=a.current.clientWidth?null:n("div",m({className:"st-horizontal-scrollbar-container",ref:s},{children:e("div",m({style:{width:d}},{children:[u>0&&n("div",{className:"st-horizontal-scrollbar-left",style:{flexShrink:0,width:u}}),w>0&&n("div",m({className:"st-horizontal-scrollbar-middle",onScroll:function(e){var n=e.target.scrollLeft;void 0!==n&&a.current&&a.current.scrollTo({left:n,behavior:"auto"})},ref:C},{children:n("div",{style:{width:w}})})),v>0&&n("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:v}})]}))}))},re=function(e,n){var r=t(null),o=r[0],a=r[1],l=t({}),s=l[0],d=l[1],c=i((function(){if(!o)return e;var r=function(e,n,r){var t=r?r.key:e[0],o="ascending";return r&&r.key.accessor===t.accessor&&"ascending"===r.direction&&(o="descending"),{sortedData:w([],n,!0).sort((function(e,n){var r,a,l,i,s=null!==(a=null===(r=null==e?void 0:e.rowData)||void 0===r?void 0:r[t.accessor])&&void 0!==a?a:"",d=null!==(i=null===(l=null==n?void 0:n.rowData)||void 0===l?void 0:l[t.accessor])&&void 0!==i?i:"";return s<d?"ascending"===o?1:-1:s>d?"ascending"===o?-1:1:0})),newSortConfig:{key:t,direction:o}}}(n,e,o).sortedData;return r}),[e,o,n]);return{sort:o,setSort:a,sortedRows:c,hiddenColumns:s,setHiddenColumns:d}};!function(e){e.Left="left",e.Right="right"}(R||(R={}));var te=function(r){var s=r.allowAnimations,d=void 0!==s&&s,c=r.columnEditorPosition,f=void 0===c?R.Right:c,h=r.columnEditorText,v=void 0===h?"Columns":h,p=r.columnResizing,w=void 0!==p&&p,D=r.defaultHeaders,H=r.draggable,S=void 0!==H&&H,k=r.editColumns,L=void 0!==k&&k,M=r.editColumnsInitOpen,T=void 0!==M&&M,B=r.height,O=r.hideFooter,A=void 0!==O&&O,P=r.nextIcon,W=void 0===P?n(x,{className:"st-next-prev-icon"}):P,z=r.onCellChange,U=r.prevIcon,j=void 0===U?n(b,{className:"st-next-prev-icon"}):U,F=r.rows,G=r.rowsPerPage,V=void 0===G?10:G,J=r.selectableCells,X=void 0!==J&&J,Y=r.selectableColumns,q=void 0!==Y&&Y,K=r.shouldPaginate,$=void 0!==K&&K,Q=r.sortDownIcon,Z=void 0===Q?n(E,{className:"st-sort-icon"}):Q,ee=r.sortUpIcon,te=void 0===ee?n(I,{className:"st-sort-icon"}):ee,oe=r.theme,ae=void 0===oe?"light":oe,le=t((function(){return function(e){var n=new Set,r=function(e){var t;e.rowMeta.isExpanded&&n.add(e.rowMeta.rowId.toString()),null===(t=e.rowMeta.children)||void 0===t||t.forEach(r)};return e.forEach(r),n}(F)})),ie=le[0],se=le[1],de=i((function(){return F.map((function(e,n){return m(m({},e),{originalRowIndex:n})}))}),[F]),ce=o(null),ue=o(D),fe=o(null),he=o(null),ve=o(null),ge=o(null),me=o(null),pe=o(null),we=t(!1),Re=we[0],Ce=we[1],be=t(1),xe=be[0],ye=be[1],Ie=t(0),Ee=Ie[0],De=Ie[1],He=t(0),Ne=He[0],Se=He[1],ke=re(de,ue.current),Le=ke.sort,Me=ke.setSort,Te=ke.sortedRows,Be=ke.hiddenColumns,Oe=ke.setHiddenColumns,Ae=a((function(e){var n=String(e);se((function(e){var r=new Set(e);return r.has(n)?r.delete(n):r.add(n),r}))}),[]),Pe=a((function(e){return ie.has(String(e))}),[ie]),We=g((function(e){return e+1}),0)[1],ze=function(e){var n=e.selectableCells,r=e.headers,s=e.rows,d=t(new Set),c=d[0],u=d[1],f=o(!1),h=o(null),v=a((function(){var e=Array.from(c).reduce((function(e,n){var t=n.split("-").map(Number),o=t[0],a=t[1];return e[o]||(e[o]=[]),e[o][a]=s[o][r[a].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");navigator.clipboard.writeText(n)}),[c,s,r]);l((function(){var e=function(e){(e.ctrlKey||e.metaKey)&&"c"===e.key&&v()};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[v]);var g=a((function(e,n){return c.has("".concat(e,"-").concat(n))}),[c]),m=a((function(e,n){var r=[];return g(e-1,n)||r.push("st-selected-top-border"),g(e+1,n)||r.push("st-selected-bottom-border"),g(e,n-1)||r.push("st-selected-left-border"),g(e,n+1)||r.push("st-selected-right-border"),r.join(" ")}),[g]),p=i((function(){var e=Math.min.apply(Math,Array.from(c).map((function(e){return parseInt(e.split("-")[0])}))),n=Math.min.apply(Math,Array.from(c).map((function(e){return parseInt(e.split("-")[1])})));return function(r,t){return r===e&&t===n}}),[c]);return{selectedCells:c,handleMouseDown:function(e){var r=e.colIndex,t=e.rowIndex;n&&(f.current=!0,h.current={row:t,col:r},u(new Set(["".concat(t,"-").concat(r)])))},handleMouseOver:function(e,r){if(n&&f.current&&h.current){for(var t=new Set,o=Math.min(h.current.row,e),a=Math.max(h.current.row,e),l=Math.min(h.current.col,r),i=Math.max(h.current.col,r),s=o;s<=a;s++)for(var d=l;d<=i;d++)t.add("".concat(s,"-").concat(d));u(t)}},handleMouseUp:function(){f.current=!1,h.current=null},isSelected:g,getBorderClass:m,isTopLeftCell:p,setSelectedCells:u}}({selectableCells:X,headers:ue.current,rows:Te}),Ue=ze.handleMouseDown,je=ze.handleMouseOver,Fe=ze.handleMouseUp,Ge=ze.isSelected,Ve=ze.getBorderClass,Je=ze.isTopLeftCell,Xe=ze.setSelectedCells,Ye=i((function(){return $?Te.slice((xe-1)*V,xe*V):Te}),[xe,V,$,Te]),qe=a((function(e,n){Me((function(r){return(null==r?void 0:r.key.accessor)!==n?{key:ue.current[e],direction:"ascending"}:"ascending"===(null==r?void 0:r.direction)?{key:ue.current[e],direction:"descending"}:null}))}),[Me]),Ke=a((function(e){ue.current=e,We()}),[]);return l((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"))||Xe(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[q,Xe]),u((function(){if(pe.current){var e=pe.current.offsetWidth-pe.current.clientWidth,n=pe.current.clientWidth;De(e),Se(n)}}),[]),n(y.Provider,m({value:{rows:F,tableRows:de}},{children:e("div",m({className:"simple-table-root st-wrapper theme-".concat(ae),style:B?{height:B}:{}},{children:[e("div",m({className:"st-table-wrapper-container"},{children:[e("div",m({className:"st-table-wrapper",onMouseUp:Fe,onMouseLeave:Fe},{children:[n(_,{allowAnimations:d,columnResizing:w,currentRows:Ye,draggable:S,draggedHeaderRef:ce,editColumns:L,forceUpdate:We,getBorderClass:Ve,handleMouseDown:Ue,handleMouseOver:je,headers:ue.current,headersRef:ue,hiddenColumns:Be,hoveredHeaderRef:fe,isRowExpanded:Pe,isSelected:Ge,isTopLeftCell:Je,isWidthDragging:Re,mainBodyRef:he,onCellChange:z,onExpandRowClick:Ae,onSort:qe,onTableHeaderDragEnd:Ke,pinnedLeftRef:ve,pinnedRightRef:ge,scrollbarHorizontalRef:me,scrollbarWidth:Ee,selectableColumns:q,setIsWidthDragging:Ce,setSelectedCells:Xe,shouldPaginate:$,sort:Le,sortDownIcon:Z,sortUpIcon:te,tableBodyContainerRef:pe}),n(N,{columnEditorText:v,editColumns:L,editColumnsInitOpen:T,headers:ue.current,hiddenColumns:Be,position:f,setHiddenColumns:Oe})]})),n(ne,{headersRef:ue,mainBodyRef:he,pinnedLeftRef:ve,pinnedRightRef:ge,scrollbarHorizontalRef:me,tableContentWidth:Ne})]})),n(C,{currentPage:xe,hideFooter:A,nextIcon:W,onPageChange:ye,prevIcon:j,rowsPerPage:V,shouldPaginate:$,totalRows:Te.length})]}))}))};te.defaultProps={allowAnimations:!1,columnEditorPosition:R.Right,columnEditorText:"Columns",columnResizing:!1,defaultHeaders:[],draggable:!1,editColumns:!1,editColumnsInitOpen:!1,height:"",hideFooter:!1,nextIcon:n(x,{className:"st-next-prev-icon"}),onCellChange:function(){},prevIcon:n(b,{className:"st-next-prev-icon"}),rows:[],rowsPerPage:10,selectableCells:!1,selectableColumns:!1,shouldPaginate:!1,sortDownIcon:n(E,{className:"st-sort-icon"}),sortUpIcon:n(I,{className:"st-sort-icon"}),theme:"light"};var oe=v(te);export{oe 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,a=n.length;o<a;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var a,s=function(n){var t=n.currentPage,o=n.hideFooter,a=n.nextIcon,s=n.onPageChange,l=n.prevIcon,i=n.rowsPerPage,c=n.shouldPaginate,d=n.totalRows,u=Math.ceil(d/i),f=t>1,h=t<u,v=function(e){e>=1&&e<=u&&s(e)};return o||!c?null:e.jsxs("div",r({className:"st-footer"},{children:[e.jsx("button",r({className:"st-next-prev-btn ".concat(f?"":"disabled"),onClick:function(){return v(t-1)},disabled:!f},{children:l})),e.jsx("button",r({className:"st-next-prev-btn ".concat(h?"":"disabled"),onClick:function(){return v(t+1)},disabled:!h},{children:a})),Array.from({length:u},(function(n,o){return e.jsx("button",r({onClick:function(){return v(o+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"})}))},i=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},c=n.createContext({rows:[],tableRows:[]}),d=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 20 20",width:"20",height:"20",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 20 20",width:"20",height:"20",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(t){var o=t.checked,a=void 0!==o&&o,s=t.children,l=t.onChange,i=n.useState(a),c=i[0],d=i[1];return e.jsxs("label",r({className:"st-checkbox-label"},{children:[e.jsx("input",{checked:c,className:"st-checkbox-input",onChange:function(){var e=!c;d(e),l&&l(e)},type:"checkbox"}),e.jsx("span",r({className:"st-checkbox-custom ".concat(c?"st-checked":"")},{children:c&&e.jsx("span",{className:"st-checkbox-checkmark"})})),s]}))},h=function(n){var t=n.headers,o=n.open,a=n.position;n.setOpen;var s=n.setHiddenColumns,l=n.hiddenColumns,i="left"===a?"left":"";return e.jsx("div",r({className:"st-column-editor-popout ".concat(o?"open":""," ").concat(i),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(f,r({checked:l[n.accessor],onChange:function(e){var t;return s(r(r({},l),((t={})[n.accessor]=e,t)))}},{children:n.label}),t)}))}))}))},v=function(t){var o=t.columnEditorText,a=t.editColumns,s=t.editColumnsInitOpen,l=t.headers,i=t.position,c=void 0===i?"right":i,d=t.setHiddenColumns,u=t.hiddenColumns,f=n.useState(s),v=f[0],m=f[1];return a?e.jsxs("div",r({className:"st-column-editor ".concat(v?"open":""," ").concat(c),onClick:function(){return function(e){m(e)}(!v)}},{children:[e.jsx("div",r({className:"st-column-editor-text"},{children:o})),e.jsx(h,{headers:l,open:v,position:c,setOpen:m,setHiddenColumns:d,hiddenColumns:u})]})):null},m=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},g=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},p=function(n){var t=n.value,o=n.onBlur,a=n.onChange;return e.jsxs("select",r({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;a("true"===n)}},{children:[e.jsx("option",r({value:"true"},{children:"True"})),e.jsx("option",r({value:"false"},{children:"False"}))]}))},w=function(r){var t=r.defaultValue,o=r.onBlur,a=r.onChange,s=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:s,autoFocus:!0,type:"text",defaultValue:null!=t?t:"",onBlur:o,onChange:function(e){var n=e.target.value;a(n)}})},R=function(r){var t=r.defaultValue,o=r.onBlur,a=r.onChange,s=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:s,autoFocus:!0,defaultValue:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&a(n)}})},x=function(n){var r=n.onChange,t=n.setIsEditing,o=n.value,a=function(e){null==r||r(e)},s=function(){t(!1)};return e.jsx(e.Fragment,{children:"string"==typeof o||null==o?e.jsx(w,{defaultValue:o,onBlur:s,onChange:a}):"boolean"==typeof o?e.jsx(p,{onBlur:s,onChange:a,value:o}):"number"==typeof o?e.jsx(R,{defaultValue:o,onBlur:s,onChange:a}):null})},C=0,b=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===C||o-C>=t)&&(C=o,n(r))}},j=Date.now(),y={screenX:0,screenY:0},E=function(e){var r,t,a=e.draggedHeaderRef,s=e.headersRef,l=e.hoveredHeaderRef,i=e.onTableHeaderDragEnd,c=(r=s.current,t=n.useRef(r),n.useEffect((function(){t.current=r}),[r]),t.current);return{handleDragStart:function(e){a.current=e,j=Date.now()},handleDragOver:function(e){var n,r=e.event,t=e.hoveredHeader;if(r.preventDefault(),s.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-y.screenX,2)+Math.pow(f-y.screenY,2));l.current=t;var v=o([],s.current,!0),m=v.findIndex((function(e){var n;return e.accessor===(null===(n=a.current)||void 0===n?void 0:n.accessor)})),g=v.findIndex((function(e){return e.accessor===t.accessor})),p=v.splice(m,1)[0];if(v.splice(g,0,p),!(d||t.accessor===(null===(n=a.current)||void 0===n?void 0:n.accessor)||null===a.current||h<10||void 0===m||void 0===g||JSON.stringify(v)===JSON.stringify(s.current))){var w=Date.now();JSON.stringify(v)===JSON.stringify(c)&&w-j<800&&h<50||(j=w,y={screenX:u,screenY:f},i(v))}}},handleDragEnd:function(){a.current=null,l.current=null}}},I=n.forwardRef((function(t,o){var a,s=t.borderClass,l=t.cellHasChildren,d=t.colIndex,f=t.content,h=t.depth,v=t.draggedHeaderRef,g=t.header,p=t.headersRef,w=t.hoveredHeaderRef,R=t.isRowExpanded,C=t.isSelected,j=t.isTopLeftCell,y=t.onCellChange,I=t.onExpandRowClick,S=t.onMouseDown,D=t.onMouseOver,H=t.onTableHeaderDragEnd,k=t.row,M=t.rowIndex,N=n.useContext(c),L=N.rows,T=N.tableRows,B=n.useState(f),O=B[0],A=B[1],P=n.useState(!1),W=P[0],z=P[1],U=E({draggedHeaderRef:v,headersRef:p,hoveredHeaderRef:w,onTableHeaderDragEnd:H}).handleDragOver,F=b(),G=Boolean(null==g?void 0:g.isEditable),V=M%2==0,J="st-cell ".concat(h>0&&g.expandable?"st-cell-depth-".concat(h):""," ").concat(C?j?"st-cell-selected-first-cell ".concat(s):"st-cell-selected ".concat(s):""," ").concat(V?"st-cell-odd-row":"st-cell-even-row"," ").concat(G?"clickable":""," ").concat("right"===g.align?"right-aligned":"");n.useEffect((function(){"object"!=typeof f&&A(f)}),[f]),n.useEffect((function(){}),[g.accessor,O,L,null===(a=k.rowMeta)||void 0===a?void 0:a.rowId,T]);return W?e.jsx("div",r({className:"st-cell-editing ".concat(V?"st-cell-odd-row":"st-cell-even-row"),id:m({accessor:g.accessor,rowIndex:M+1})},{children:e.jsx(x,{onChange:function(e){var n;A(e),null==y||y({accessor:g.accessor,newValue:e,newRowIndex:M,originalRowIndex:null===(n=k.rowMeta)||void 0===n?void 0:n.rowId,row:k})},setIsEditing:z,value:O})})):e.jsxs("div",r({className:J,id:m({accessor:g.accessor,rowIndex:M+1}),onDoubleClick:function(){return g.isEditable&&z(!0)},onMouseDown:function(){return S(M,d)},onMouseOver:function(){return D(M,d)},onDragOver:function(e){return F({callback:U,callbackProps:{event:e,hoveredHeader:g},limit:50})},ref:o},{children:[g.expandable&&l?R(k.rowMeta.rowId)?e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return I(k.rowMeta.rowId)}},{children:e.jsx(u,{className:"st-sort-icon"})})):e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return I(k.rowMeta.rowId)}},{children:e.jsx(i,{className:"st-sort-icon"})})):null,e.jsx("span",{children:O})]}))})),S=n.forwardRef((function(n,r){return n.visible?e.jsx("div",{className:"st-cell",ref:r}):e.jsx("div",{ref:r})})),D=function(n){var r=n.lastGroupRow;return e.jsx("div",{className:"st-row-separator ".concat(r?"st-last-group-row":"")})},H=function(n){var o=n.allowAnimations,a=n.children,s=t(n,["allowAnimations","children"]);return o?e.jsx(k,r({},s,{children:a})):e.jsx(e.Fragment,{children:a})},k=function(r){var t=r.allowHorizontalAnimate,o=void 0===t||t,a=r.children,s=r.draggedHeaderRef,l=r.headersRef,i=r.isBody,c=r.mainBodyRef,d=r.pauseAnimation,u=r.rowIndex,f=n.useRef(!1),h=n.useState({}),v=h[0],g=h[1],p=n.useRef({}),w=l.current;return n.useLayoutEffect((function(){if(w){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var a=document.getElementById(m({accessor:e.accessor,rowIndex:t}));if(a){var s=a.getAnimations().some((function(e){return"running"===e.playState})),l=a.getBoundingClientRect();s&&(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:w,draggedHeaderRef:s,rowIndex:u});JSON.stringify(e)!==JSON.stringify(v)&&(p.current=v,g(e))}}),[v,w,s,i,u]),n.useLayoutEffect((function(){var e=c.current,n=function(){f.current=!0},r=function(){f.current=!1};return null==e||e.addEventListener("scroll",n),null==e||e.addEventListener("scrollend",r),function(){null==e||e.removeEventListener("scroll",n),null==e||e.removeEventListener("scrollend",r)}}),[s,c]),n.useEffect((function(){d||f.current||Object.keys(p.current).length&&w&&w.forEach((function(e){var n=document.getElementById(m({accessor:e.accessor,rowIndex:u}));if(n){var r=p.current[e.accessor],t=v[e.accessor];if(r&&t){var a=r.left-t.left,s=o?0:r.top-t.top,l=Math.abs(a),i=Math.abs(s);(l>10||i>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(a,"px, ").concat(s,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[o,v,w,i,d,p,u]),e.jsx(e.Fragment,{children:a})},M=function(o){var a,s=o.getBorderClass,l=o.handleMouseDown,i=o.handleMouseOver,c=o.headers,d=o.hiddenColumns,u=o.isRowExpanded,f=o.isSelected,h=o.isTopLeftCell,v=o.lastGroupRow,m=o.onExpandRowClick,p=o.pinned,w=o.row,R=o.rowIndex,x=o.shouldDisplayLastColumnCell,C=t(o,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isRowExpanded","isSelected","isTopLeftCell","lastGroupRow","onExpandRowClick","pinned","row","rowIndex","shouldDisplayLastColumnCell"]),b=null===(a=w.rowMeta)||void 0===a?void 0:a.children;return e.jsxs(H,r({allowAnimations:C.allowAnimations,allowHorizontalAnimate:C.shouldPaginate,draggedHeaderRef:C.draggedHeaderRef,headersRef:C.headersRef,isBody:!0,mainBodyRef:C.mainBodyRef,pauseAnimation:C.isWidthDragging,rowIndex:R+1},{children:[0!==R&&e.jsx(D,{lastGroupRow:v}),c.map((function(e,t){if(!g({hiddenColumns:d,header:e,pinned:p}))return null;var o=w.rowData[e.accessor];return e.cellRenderer&&(o=e.cellRenderer(w)),n.createElement(I,r({},C,{borderClass:s(R,t),cellHasChildren:((null==b?void 0:b.length)||0)>0,colIndex:t,content:o,header:e,isRowExpanded:u,isSelected:f(R,t),isTopLeftCell:h(R,t),key:t,onExpandRowClick:m,onMouseDown:function(){return l({rowIndex:R,colIndex:t})},onMouseOver:function(){return i(R,t)},row:w,rowIndex:R}))})),e.jsx(S,{ref:n.createRef(),visible:x})]}))},N=function(t){var o,a,s,l=t.depth,i=void 0===l?0:l,c=t.getNextRowIndex,d=t.index,u=t.lastGroupRow,f=t.pinned,h=t.props,v=t.row,m=((null===(a=null===(o=v.rowMeta)||void 0===o?void 0:o.children)||void 0===a?void 0:a.length)||0)>0,g=c(),p=(null===(s=v.rowMeta)||void 0===s?void 0:s.children)||[];return e.jsxs(e.Fragment,{children:[n.createElement(M,r({},h,{depth:i,lastGroupRow:u,key:d,pinned:f,row:v,rowIndex:g})),m&&h.isRowExpanded(v.rowMeta.rowId)&&p.map((function(n,r){return e.jsx(N,{depth:i+1,getNextRowIndex:c,index:r,pinned:f,props:h,row:n},r)}))]})},L=function(o){o.headerContainerRef;var a=o.isRowExpanded,s=o.onExpandRowClick,l=o.pinned,i=o.rows,c=o.sectionRef,d=o.templateColumns,u=t(o,["headerContainerRef","isRowExpanded","onExpandRowClick","pinned","rows","sectionRef","templateColumns"]),f=l?"st-table-body-pinned-".concat(l):"st-table-body-main",h=n.useRef(0);n.useEffect((function(){h.current=0}));var v=function(){return h.current++};return e.jsx("div",r({className:f,ref:c,style:{gridTemplateColumns:d}},{children:i.map((function(n,t){var o,i;return e.jsx(N,{getNextRowIndex:v,index:t,lastGroupRow:Boolean(null===(i=null===(o=n.rowMeta)||void 0===o?void 0:o.children)||void 0===i?void 0:i.length),pinned:l,props:r(r({},u),{isRowExpanded:a,onExpandRowClick:s}),row:n},t)}))}))},T=function(t){var o=t.currentRows,a=t.headerContainerRef,s=t.isRowExpanded,l=t.mainBodyRef,i=t.mainTemplateColumns,c=t.onExpandRowClick,d=t.pinnedLeftColumns,u=t.pinnedLeftRef,f=t.pinnedLeftTemplateColumns,h=t.pinnedRightColumns,v=t.pinnedRightRef,m=t.pinnedRightTemplateColumns,g=t.scrollbarHorizontalRef,p=t.scrollbarWidth,w=t.tableBodyContainerRef;return function(e){var r=e.headerContainerRef,t=e.mainSectionRef,o=e.scrollbarHorizontalRef,a=e.scrollbarWidth,s=n.useState(!1),l=s[0],i=s[1];n.useEffect((function(){var e=null==r?void 0:r.current,n=null==o?void 0:o.current;if(l&&e)return e.classList.add("st-header-scroll-padding"),null==n||n.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(a,"px")),null==n||n.style.setProperty("--st-after-width","".concat(a,"px")),function(){e.classList.remove("st-header-scroll-padding"),null==n||n.classList.remove("st-header-scroll-padding")}}),[r,l,o,a]),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;i(e)}};o();var a=new ResizeObserver((function(){o()}));return a.observe(n),function(){n&&a.unobserve(n)}}}),[r,t])}({headerContainerRef:a,mainSectionRef:w,scrollbarHorizontalRef:g,scrollbarWidth:p}),e.jsxs("div",r({className:"st-table-body-container",ref:w},{children:[d.length>0&&e.jsx(L,r({},t,{rows:o,templateColumns:f,pinned:"left",sectionRef:u,isRowExpanded:s,onExpandRowClick:c})),e.jsx(L,r({},t,{rows:o,templateColumns:i,sectionRef:l,isRowExpanded:s,onExpandRowClick:c})),h.length>0&&e.jsx(L,r({},t,{rows:o,templateColumns:m,pinned:"right",sectionRef:v,isRowExpanded:s,onExpandRowClick:c}))]}))},B=function(e){var n=e.event,r=e.forceUpdate,t=e.header,o=e.headersRef,a=e.index;e.reverse;var s=e.setIsWidthDragging;s(!0),n.preventDefault();var l=n.clientX;if(t){var i=t.width,c=function(e){var n=Math.max(i+(e.clientX-l),40);t&&o.current&&(o.current[a].width=n,r())},d=function(){document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d),s(!1)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)}},O=n.forwardRef((function(t,o){var a,s=t.columnResizing,l=t.currentRows,i=t.draggable,c=t.draggedHeaderRef,d=t.forceUpdate,u=t.headersRef,f=t.hoveredHeaderRef,h=t.index,v=t.onSort,g=t.onTableHeaderDragEnd,p=t.reverse,w=t.selectableColumns,R=t.setIsWidthDragging,x=t.setSelectedCells,C=t.sort,j=t.sortDownIcon,y=t.sortUpIcon,I=n.useState(!1),S=I[0],D=I[1],H=null===(a=u.current)||void 0===a?void 0:a[h],k=Boolean(null==H?void 0:H.isSortable),M="st-header-cell ".concat(H===f.current?"st-hovered":""," ").concat(S?"st-dragging":""," ").concat(k?"clickable":""," ").concat(i&&!k?"draggable":""," ").concat("right"===(null==H?void 0:H.align)?"right-aligned":""),N=E({draggedHeaderRef:c,headersRef:u,hoveredHeaderRef:f,onTableHeaderDragEnd:g}),L=N.handleDragStart,T=N.handleDragEnd,O=E({draggedHeaderRef:c,headersRef:u,hoveredHeaderRef:f,onTableHeaderDragEnd:g}).handleDragOver,A=b(),P=function(e){var n=e.event,r=e.header;if(w){var t=l.length,o=Array.from({length:t},(function(e,n){return"".concat(n,"-").concat(h)})),a=function(e,n){var r=new Set,o=Math.min(e,n),a=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:a-o+1}).forEach((function(e,t){r.add("".concat(n,"-").concat(o+t))}))})),r};n.shiftKey?x((function(e){var n,r=Number(null===(n=Array.from(e)[0])||void 0===n?void 0:n.split("-")[1]),t=Number(o[0].split("-")[1]);return r===t?new Set(o):r>t?a(t,r):a(r,t)})):x(new Set(o))}else r.isSortable&&v(h,r.accessor)};if(n.useEffect((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!H)return null;var W=s&&e.jsx("div",{className:"st-header-resize-handle",onMouseDown:function(e){A({callback:B,callbackProps:{event:e,forceUpdate:d,header:H,headersRef:u,index:h,setIsWidthDragging:R},limit:10})}});return e.jsxs("div",r({className:M,id:m({accessor:H.accessor,rowIndex:0}),onDragOver:function(e){A({callback:O,callbackProps:{event:e,hoveredHeader:H},limit:50})},ref:o,style:{width:H.width}},{children:[p&&W,e.jsx("div",r({className:"st-header-label",draggable:i,onClick:function(e){return P({event:e,header:H})},onDragEnd:function(e){e.preventDefault(),D(!1),T()},onDragStart:function(e){i&&H&&function(e){D(!0),L(e)}(H)},onMouseEnter:function(){return document.body.style.overflow="hidden"},onMouseLeave:function(){return document.body.style.overflow="auto"}},{children:null==H?void 0:H.label})),C&&C.key.accessor===H.accessor&&e.jsxs("div",r({className:"st-sort-icon-container",onClick:function(e){return P({event:e,header:H})}},{children:["ascending"===C.direction&&y&&y,"descending"===C.direction&&j&&j]})),!p&&W]}))})),A=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=function(t){var o,a,s,l=t.allowAnimations,i=t.columnResizing,c=t.currentRows,d=t.draggable,u=t.draggedHeaderRef,f=t.forceUpdate,h=t.headerContainerRef,v=t.headersRef,m=t.hiddenColumns,p=t.hoveredHeaderRef,w=t.isWidthDragging,R=t.mainTemplateColumns,x=t.onSort,C=t.onTableHeaderDragEnd,b=t.pinnedLeftColumns,j=t.pinnedLeftTemplateColumns,y=t.pinnedRightColumns,E=t.pinnedRightTemplateColumns,I=t.selectableColumns,D=t.setIsWidthDragging,k=t.setSelectedCells,M=t.shouldDisplayLastColumnCell,N=t.sort,L=t.sortDownIcon,T=t.sortUpIcon,B=t.mainBodyRef,P=n.useRef(null);A(B,P);return e.jsxs("div",r({className:"st-header-container",ref:h},{children:[b.length>0&&e.jsx("div",r({className:"st-header-pinned-left",style:{gridTemplateColumns:j}},{children:e.jsx(H,r({allowAnimations:l,draggedHeaderRef:u,headersRef:v,mainBodyRef:B,pauseAnimation:w,rowIndex:0},{children:null===(o=v.current)||void 0===o?void 0:o.map((function(r,t){return g({hiddenColumns:m,header:r,pinned:"left"})?e.jsx(O,{columnResizing:i,currentRows:c,draggable:d,draggedHeaderRef:u,forceUpdate:f,headersRef:v,hoveredHeaderRef:p,index:t,onSort:x,onTableHeaderDragEnd:C,ref:n.createRef(),selectableColumns:I,setIsWidthDragging:D,setSelectedCells:k,sort:N,sortDownIcon:L,sortUpIcon:T},r.accessor):null}))}))})),e.jsx("div",r({className:"st-header-main",onScroll:function(e){var n,r,t=null===(n=P.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=B.current)||void 0===r||r.scrollTo(t,0))},ref:P,style:{gridTemplateColumns:R}},{children:e.jsxs(H,r({allowAnimations:l,draggedHeaderRef:u,headersRef:v,mainBodyRef:B,pauseAnimation:w,rowIndex:0},{children:[null===(a=v.current)||void 0===a?void 0:a.map((function(r,t){return g({hiddenColumns:m,header:r})?e.jsx(O,{columnResizing:i,currentRows:c,draggable:d,draggedHeaderRef:u,forceUpdate:f,headersRef:v,hoveredHeaderRef:p,index:t,onSort:x,onTableHeaderDragEnd:C,ref:n.createRef(),selectableColumns:I,setIsWidthDragging:D,setSelectedCells:k,sort:N,sortDownIcon:L,sortUpIcon:T},r.accessor):null})),e.jsx(S,{ref:n.createRef(),visible:M})]}))})),y.length>0&&e.jsx("div",r({className:"st-header-pinned-right",style:{gridTemplateColumns:E}},{children:e.jsxs(H,r({allowAnimations:l,draggedHeaderRef:u,headersRef:v,mainBodyRef:B,pauseAnimation:w,rowIndex:0},{children:[null===(s=v.current)||void 0===s?void 0:s.map((function(r,t){return g({hiddenColumns:m,header:r,pinned:"right"})?e.jsx(O,{columnResizing:i,currentRows:c,draggable:d,draggedHeaderRef:u,forceUpdate:f,headersRef:v,hoveredHeaderRef:p,index:t,onSort:x,onTableHeaderDragEnd:C,reverse:!0,ref:n.createRef(),selectableColumns:I,setIsWidthDragging:D,setSelectedCells:k,sort:N,sortDownIcon:L,sortUpIcon:T},r.accessor):null})),e.jsx(S,{ref:n.createRef(),visible:M})]}))}))]}))},W=function(t){var o=t.allowAnimations,a=t.columnResizing,s=t.currentRows,l=t.draggable,i=t.draggedHeaderRef,c=t.editColumns,d=t.forceUpdate,u=t.getBorderClass,f=t.handleMouseDown,h=t.handleMouseOver,v=t.headersRef,m=t.hiddenColumns,g=t.hoveredHeaderRef,p=t.isRowExpanded,w=t.isSelected,R=t.isTopLeftCell,x=t.isWidthDragging,C=t.mainBodyRef,b=t.onCellChange,j=t.onExpandRowClick,y=t.onSort,E=t.onTableHeaderDragEnd,I=t.pinnedLeftRef,S=t.pinnedRightRef,D=t.scrollbarHorizontalRef,H=t.scrollbarWidth,k=t.selectableColumns,M=t.setIsWidthDragging,N=t.setSelectedCells,L=t.shouldPaginate,B=t.sort,O=t.sortDownIcon,A=t.sortUpIcon,W=t.tableBodyContainerRef,z=n.useRef(null),U=v.current.filter((function(e){return!e.hide&&!e.pinned})),F=n.useMemo((function(){return!!C.current&&U.reduce((function(e,n){return e+n.width}),0)<C.current.clientWidth}),[U,C]),G=v.current.filter((function(e){return"left"===e.pinned&&!0!==e.hide})),V=v.current.filter((function(e){return"right"===e.pinned&&!0!==e.hide})),J=n.useMemo((function(){return"".concat(G.map((function(e){return"".concat(e.width,"px")})).join(" "))}),[G]),X=n.useMemo((function(){return"".concat(U.filter((function(e){return!0!==m[e.accessor]})).map((function(e){return"".concat(e.width,"px")})).join(" ")," 1fr")}),[U,m]),q=n.useMemo((function(){return"".concat(V.map((function(e){return"".concat(e.width,"px")})).join(" "))}),[V]),Y={allowAnimations:o,columnResizing:a,currentRows:s,draggable:l,draggedHeaderRef:i,forceUpdate:d,headerContainerRef:z,headersRef:v,hiddenColumns:m,hoveredHeaderRef:g,isWidthDragging:x,mainBodyRef:C,mainTemplateColumns:X,onSort:y,onTableHeaderDragEnd:E,pinnedLeftColumns:G,pinnedLeftTemplateColumns:J,pinnedRightColumns:V,pinnedRightTemplateColumns:q,selectableColumns:k,setIsWidthDragging:M,setSelectedCells:N,shouldDisplayLastColumnCell:F,sort:B,sortDownIcon:O,sortUpIcon:A,tableBodyContainerRef:W},K={allowAnimations:o,currentRows:s,draggedHeaderRef:i,getBorderClass:u,handleMouseDown:f,handleMouseOver:h,headerContainerRef:z,headers:v.current,headersRef:v,hiddenColumns:m,hoveredHeaderRef:g,isRowExpanded:p,isSelected:w,isTopLeftCell:R,isWidthDragging:x,mainBodyRef:C,mainTemplateColumns:X,onCellChange:b,onExpandRowClick:j,onTableHeaderDragEnd:E,pinnedLeftColumns:G,pinnedLeftRef:I,pinnedLeftTemplateColumns:J,pinnedRightColumns:V,pinnedRightRef:S,pinnedRightTemplateColumns:q,scrollbarHorizontalRef:D,scrollbarWidth:H,shouldDisplayLastColumnCell:F,shouldPaginate:L,tableBodyContainerRef:W};return e.jsxs("div",r({className:"st-table-content",style:{width:c?"calc(100% - 27.5px)":"100%"}},{children:[e.jsx(P,r({},Y)),e.jsx(T,r({},K))]}))},z=function(e){var r=e.callback,t=e.ref,o=e.widthAttribute;n.useEffect((function(){var e=t.current;if(e){var n=function(){r(e[o]||0)};n();var a=new ResizeObserver((function(){n()}));return a.observe(e),function(){return a.disconnect()}}}),[r,t,o])},U=function(t){t.headersRef;var o=t.mainBodyRef,a=t.pinnedLeftRef,s=t.pinnedRightRef,l=t.scrollbarHorizontalRef,i=t.tableContentWidth,c=n.useState(0),d=c[0],u=c[1],f=n.useState(0),h=f[0],v=f[1],m=n.useState(0),g=m[0],p=m[1],w=n.useRef(null);return z({widthAttribute:"offsetWidth",callback:u,ref:a}),z({widthAttribute:"scrollWidth",callback:p,ref:o}),z({widthAttribute:"offsetWidth",callback:v,ref:s}),A(o,w),!o.current||o.current.scrollWidth<=o.current.clientWidth?null:e.jsx("div",r({className:"st-horizontal-scrollbar-container",ref:l},{children:e.jsxs("div",r({style:{width:i}},{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}})})),h>0&&e.jsx("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:h}})]}))}))},F=function(e,r){var t=n.useState(null),a=t[0],s=t[1],l=n.useState({}),i=l[0],c=l[1],d=n.useMemo((function(){if(!a)return e;var n=function(e,n,r){var t=r?r.key:e[0],a="ascending";return r&&r.key.accessor===t.accessor&&"ascending"===r.direction&&(a="descending"),{sortedData:o([],n,!0).sort((function(e,n){var r,o,s,l,i=null!==(o=null===(r=null==e?void 0:e.rowData)||void 0===r?void 0:r[t.accessor])&&void 0!==o?o:"",c=null!==(l=null===(s=null==n?void 0:n.rowData)||void 0===s?void 0:s[t.accessor])&&void 0!==l?l:"";return i<c?"ascending"===a?1:-1:i>c?"ascending"===a?-1:1:0})),newSortConfig:{key:t,direction:a}}}(r,e,a).sortedData;return n}),[e,a,r]);return{sort:a,setSort:s,sortedRows:d,hiddenColumns:i,setHiddenColumns:c}};!function(e){e.Left="left",e.Right="right"}(a||(a={}));var G=function(t){var o=t.allowAnimations,f=void 0!==o&&o,h=t.columnEditorPosition,m=void 0===h?a.Right:h,g=t.columnEditorText,p=void 0===g?"Columns":g,w=t.columnResizing,R=void 0!==w&&w,x=t.defaultHeaders,C=t.draggable,b=void 0!==C&&C,j=t.editColumns,y=void 0!==j&&j,E=t.editColumnsInitOpen,I=void 0!==E&&E,S=t.height,D=t.hideFooter,H=void 0!==D&&D,k=t.nextIcon,M=void 0===k?e.jsx(i,{className:"st-next-prev-icon"}):k,N=t.onCellChange,L=t.prevIcon,T=void 0===L?e.jsx(l,{className:"st-next-prev-icon"}):L,B=t.rows,O=t.rowsPerPage,A=void 0===O?10:O,P=t.selectableCells,z=void 0!==P&&P,G=t.selectableColumns,V=void 0!==G&&G,J=t.shouldPaginate,X=void 0!==J&&J,q=t.sortDownIcon,Y=void 0===q?e.jsx(u,{className:"st-sort-icon"}):q,K=t.sortUpIcon,_=void 0===K?e.jsx(d,{className:"st-sort-icon"}):K,$=t.theme,Q=void 0===$?"light":$,Z=n.useState((function(){return function(e){var n=new Set,r=function(e){var t;e.rowMeta.isExpanded&&n.add(e.rowMeta.rowId.toString()),null===(t=e.rowMeta.children)||void 0===t||t.forEach(r)};return e.forEach(r),n}(B)})),ee=Z[0],ne=Z[1],re=n.useMemo((function(){return B.map((function(e,n){return r(r({},e),{originalRowIndex:n})}))}),[B]),te=n.useRef(null),oe=n.useRef(x),ae=n.useRef(null),se=n.useRef(null),le=n.useRef(null),ie=n.useRef(null),ce=n.useRef(null),de=n.useRef(null),ue=n.useState(!1),fe=ue[0],he=ue[1],ve=n.useState(1),me=ve[0],ge=ve[1],pe=n.useState(0),we=pe[0],Re=pe[1],xe=n.useState(0),Ce=xe[0],be=xe[1],je=F(re,oe.current),ye=je.sort,Ee=je.setSort,Ie=je.sortedRows,Se=je.hiddenColumns,De=je.setHiddenColumns,He=n.useCallback((function(e){var n=String(e);ne((function(e){var r=new Set(e);return r.has(n)?r.delete(n):r.add(n),r}))}),[]),ke=n.useCallback((function(e){return ee.has(String(e))}),[ee]),Me=n.useReducer((function(e){return e+1}),0)[1],Ne=function(e){var r=e.selectableCells,t=e.headers,o=e.rows,a=n.useState(new Set),s=a[0],l=a[1],i=n.useRef(!1),c=n.useRef(null),d=n.useCallback((function(){var e=Array.from(s).reduce((function(e,n){var r=n.split("-").map(Number),a=r[0],s=r[1];return e[a]||(e[a]=[]),e[a][s]=o[a][t[s].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");navigator.clipboard.writeText(n)}),[s,o,t]);n.useEffect((function(){var e=function(e){(e.ctrlKey||e.metaKey)&&"c"===e.key&&d()};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[d]);var u=n.useCallback((function(e,n){return s.has("".concat(e,"-").concat(n))}),[s]),f=n.useCallback((function(e,n){var r=[];return u(e-1,n)||r.push("st-selected-top-border"),u(e+1,n)||r.push("st-selected-bottom-border"),u(e,n-1)||r.push("st-selected-left-border"),u(e,n+1)||r.push("st-selected-right-border"),r.join(" ")}),[u]),h=n.useMemo((function(){var e=Math.min.apply(Math,Array.from(s).map((function(e){return parseInt(e.split("-")[0])}))),n=Math.min.apply(Math,Array.from(s).map((function(e){return parseInt(e.split("-")[1])})));return function(r,t){return r===e&&t===n}}),[s]);return{selectedCells:s,handleMouseDown:function(e){var n=e.colIndex,t=e.rowIndex;r&&(i.current=!0,c.current={row:t,col:n},l(new Set(["".concat(t,"-").concat(n)])))},handleMouseOver:function(e,n){if(r&&i.current&&c.current){for(var t=new Set,o=Math.min(c.current.row,e),a=Math.max(c.current.row,e),s=Math.min(c.current.col,n),d=Math.max(c.current.col,n),u=o;u<=a;u++)for(var f=s;f<=d;f++)t.add("".concat(u,"-").concat(f));l(t)}},handleMouseUp:function(){i.current=!1,c.current=null},isSelected:u,getBorderClass:f,isTopLeftCell:h,setSelectedCells:l}}({selectableCells:z,headers:oe.current,rows:Ie}),Le=Ne.handleMouseDown,Te=Ne.handleMouseOver,Be=Ne.handleMouseUp,Oe=Ne.isSelected,Ae=Ne.getBorderClass,Pe=Ne.isTopLeftCell,We=Ne.setSelectedCells,ze=n.useMemo((function(){return X?Ie.slice((me-1)*A,me*A):Ie}),[me,A,X,Ie]),Ue=n.useCallback((function(e,n){Ee((function(r){return(null==r?void 0:r.key.accessor)!==n?{key:oe.current[e],direction:"ascending"}:"ascending"===(null==r?void 0:r.direction)?{key:oe.current[e],direction:"descending"}:null}))}),[Ee]),Fe=n.useCallback((function(e){oe.current=e,Me()}),[]);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"))||We(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[V,We]),n.useLayoutEffect((function(){if(de.current){var e=de.current.offsetWidth-de.current.clientWidth,n=de.current.clientWidth;Re(e),be(n)}}),[]),e.jsx(c.Provider,r({value:{rows:B,tableRows:re}},{children:e.jsxs("div",r({className:"simple-table-root st-wrapper theme-".concat(Q),style:S?{height:S}:{}},{children:[e.jsxs("div",r({className:"st-table-wrapper-container"},{children:[e.jsxs("div",r({className:"st-table-wrapper",onMouseUp:Be,onMouseLeave:Be},{children:[e.jsx(W,{allowAnimations:f,columnResizing:R,currentRows:ze,draggable:b,draggedHeaderRef:te,editColumns:y,forceUpdate:Me,getBorderClass:Ae,handleMouseDown:Le,handleMouseOver:Te,headers:oe.current,headersRef:oe,hiddenColumns:Se,hoveredHeaderRef:ae,isRowExpanded:ke,isSelected:Oe,isTopLeftCell:Pe,isWidthDragging:fe,mainBodyRef:se,onCellChange:N,onExpandRowClick:He,onSort:Ue,onTableHeaderDragEnd:Fe,pinnedLeftRef:le,pinnedRightRef:ie,scrollbarHorizontalRef:ce,scrollbarWidth:we,selectableColumns:V,setIsWidthDragging:he,setSelectedCells:We,shouldPaginate:X,sort:ye,sortDownIcon:Y,sortUpIcon:_,tableBodyContainerRef:de}),e.jsx(v,{columnEditorText:p,editColumns:y,editColumnsInitOpen:I,headers:oe.current,hiddenColumns:Se,position:m,setHiddenColumns:De})]})),e.jsx(U,{headersRef:oe,mainBodyRef:se,pinnedLeftRef:le,pinnedRightRef:ie,scrollbarHorizontalRef:ce,tableContentWidth:Ce})]})),e.jsx(s,{currentPage:me,hideFooter:H,nextIcon:M,onPageChange:ge,prevIcon:T,rowsPerPage:A,shouldPaginate:X,totalRows:Ie.length})]}))}))};G.defaultProps={allowAnimations:!1,columnEditorPosition:a.Right,columnEditorText:"Columns",columnResizing:!1,defaultHeaders:[],draggable:!1,editColumns:!1,editColumnsInitOpen:!1,height:"",hideFooter:!1,nextIcon:e.jsx(i,{className:"st-next-prev-icon"}),onCellChange:function(){},prevIcon:e.jsx(l,{className:"st-next-prev-icon"}),rows:[],rowsPerPage:10,selectableCells:!1,selectableColumns:!1,shouldPaginate:!1,sortDownIcon:e.jsx(u,{className:"st-sort-icon"}),sortUpIcon:e.jsx(d,{className:"st-sort-icon"}),theme:"light"};var V=n.memo(G);exports.SimpleTable=V;
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,a=n.length;o<a;o++)!t&&o in n||(t||(t=Array.prototype.slice.call(n,0,o)),t[o]=n[o]);return e.concat(t||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var a,s=function(n){var t=n.currentPage,o=n.hideFooter,a=n.nextIcon,s=n.onPageChange,l=n.prevIcon,i=n.rowsPerPage,c=n.shouldPaginate,d=n.totalRows,u=Math.ceil(d/i),f=t>1,h=t<u,v=function(e){e>=1&&e<=u&&s(e)};return o||!c?null:e.jsxs("div",r({className:"st-footer"},{children:[e.jsx("button",r({className:"st-next-prev-btn ".concat(f?"":"disabled"),onClick:function(){return v(t-1)},disabled:!f},{children:l})),e.jsx("button",r({className:"st-next-prev-btn ".concat(h?"":"disabled"),onClick:function(){return v(t+1)},disabled:!h},{children:a})),Array.from({length:u},(function(n,o){return e.jsx("button",r({onClick:function(){return v(o+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"})}))},i=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},{children:e.jsx("path",{d:"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z"})}))},c=n.createContext({rows:[],tableRows:[]}),d=function(n){var t=n.className;return e.jsx("svg",r({className:t,viewBox:"0 0 20 20",width:"20",height:"20",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 20 20",width:"20",height:"20",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(t){var o=t.checked,a=void 0!==o&&o,s=t.children,l=t.onChange,i=n.useState(a),c=i[0],d=i[1];return e.jsxs("label",r({className:"st-checkbox-label"},{children:[e.jsx("input",{checked:c,className:"st-checkbox-input",onChange:function(){var e=!c;d(e),l&&l(e)},type:"checkbox"}),e.jsx("span",r({className:"st-checkbox-custom ".concat(c?"st-checked":"")},{children:c&&e.jsx("span",{className:"st-checkbox-checkmark"})})),s]}))},h=function(n){var t=n.headers,o=n.open,a=n.position;n.setOpen;var s=n.setHiddenColumns,l=n.hiddenColumns,i="left"===a?"left":"";return e.jsx("div",r({className:"st-column-editor-popout ".concat(o?"open":""," ").concat(i),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(f,r({checked:l[n.accessor],onChange:function(e){var t;return s(r(r({},l),((t={})[n.accessor]=e,t)))}},{children:n.label}),t)}))}))}))},v=function(t){var o=t.columnEditorText,a=t.editColumns,s=t.editColumnsInitOpen,l=t.headers,i=t.position,c=void 0===i?"right":i,d=t.setHiddenColumns,u=t.hiddenColumns,f=n.useState(s),v=f[0],m=f[1];return a?e.jsxs("div",r({className:"st-column-editor ".concat(v?"open":""," ").concat(c),onClick:function(){return function(e){m(e)}(!v)}},{children:[e.jsx("div",r({className:"st-column-editor-text"},{children:o})),e.jsx(h,{headers:l,open:v,position:c,setOpen:m,setHiddenColumns:d,hiddenColumns:u})]})):null},m=function(e){var n=e.accessor,r=e.rowIndex;return"cell-".concat(n,"-").concat(r)},g=function(e){var n=e.hiddenColumns,r=e.header,t=e.pinned;return n[r.accessor]?null:!t&&!r.pinned||r.pinned===t||null},p=function(n){var t=n.value,o=n.onBlur,a=n.onChange;return e.jsxs("select",r({value:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;a("true"===n)}},{children:[e.jsx("option",r({value:"true"},{children:"True"})),e.jsx("option",r({value:"false"},{children:"False"}))]}))},w=function(r){var t=r.defaultValue,o=r.onBlur,a=r.onChange,s=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:s,autoFocus:!0,type:"text",defaultValue:null!=t?t:"",onBlur:o,onChange:function(e){var n=e.target.value;a(n)}})},R=function(r){var t=r.defaultValue,o=r.onBlur,a=r.onChange,s=n.useRef(null);return e.jsx("input",{className:"editable-cell-input",ref:s,autoFocus:!0,defaultValue:t.toString(),onBlur:o,onChange:function(e){var n=e.target.value;/^\d*\.?\d*$/.test(n)&&a(n)}})},x=function(n){var r=n.onChange,t=n.setIsEditing,o=n.value,a=function(e){null==r||r(e)},s=function(){t(!1)};return e.jsx(e.Fragment,{children:"string"==typeof o||null==o?e.jsx(w,{defaultValue:o,onBlur:s,onChange:a}):"boolean"==typeof o?e.jsx(p,{onBlur:s,onChange:a,value:o}):"number"==typeof o?e.jsx(R,{defaultValue:o,onBlur:s,onChange:a}):null})},C=0,b=function(){return function(e){var n=e.callback,r=e.callbackProps,t=e.limit,o=Date.now();(0===C||o-C>=t)&&(C=o,n(r))}},j=Date.now(),y={screenX:0,screenY:0},E=function(e){var r,t,a=e.draggedHeaderRef,s=e.headersRef,l=e.hoveredHeaderRef,i=e.onTableHeaderDragEnd,c=(r=s.current,t=n.useRef(r),n.useEffect((function(){t.current=r}),[r]),t.current);return{handleDragStart:function(e){a.current=e,j=Date.now()},handleDragOver:function(e){var n,r=e.event,t=e.hoveredHeader;if(r.preventDefault(),s.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-y.screenX,2)+Math.pow(f-y.screenY,2));l.current=t;var v=o([],s.current,!0),m=v.findIndex((function(e){var n;return e.accessor===(null===(n=a.current)||void 0===n?void 0:n.accessor)})),g=v.findIndex((function(e){return e.accessor===t.accessor})),p=v.splice(m,1)[0];if(v.splice(g,0,p),!(d||t.accessor===(null===(n=a.current)||void 0===n?void 0:n.accessor)||null===a.current||h<10||void 0===m||void 0===g||JSON.stringify(v)===JSON.stringify(s.current))){var w=Date.now();JSON.stringify(v)===JSON.stringify(c)&&w-j<800&&h<50||(j=w,y={screenX:u,screenY:f},i(v))}}},handleDragEnd:function(){a.current=null,l.current=null}}},I=n.forwardRef((function(t,o){var a=t.borderClass,s=t.cellHasChildren,l=t.colIndex,d=t.content,f=t.depth,h=t.draggedHeaderRef,v=t.header,g=t.headersRef,p=t.hoveredHeaderRef,w=t.isRowExpanded,R=t.isSelected,C=t.isTopLeftCell,j=t.onCellChange,y=t.onExpandRowClick,I=t.onMouseDown,S=t.onMouseOver,D=t.onTableHeaderDragEnd,H=t.row,k=t.rowIndex,M=n.useContext(c);M.rows,M.tableRows;var N=n.useState(d),L=N[0],T=N[1],B=n.useState(!1),O=B[0],A=B[1],P=E({draggedHeaderRef:h,headersRef:g,hoveredHeaderRef:p,onTableHeaderDragEnd:D}).handleDragOver,W=b(),z=Boolean(null==v?void 0:v.isEditable),U=k%2==0,F="st-cell ".concat(f>0&&v.expandable?"st-cell-depth-".concat(f):""," ").concat(R?C?"st-cell-selected-first-cell ".concat(a):"st-cell-selected ".concat(a):""," ").concat(U?"st-cell-odd-row":"st-cell-even-row"," ").concat(z?"clickable":""," ").concat("right"===v.align?"right-aligned":"");n.useEffect((function(){"object"!=typeof d&&T(d)}),[d]);return O?e.jsx("div",r({className:"st-cell-editing ".concat(U?"st-cell-odd-row":"st-cell-even-row"),id:m({accessor:v.accessor,rowIndex:k+1})},{children:e.jsx(x,{onChange:function(e){var n;T(e),null==j||j({accessor:v.accessor,newValue:e,newRowIndex:k,originalRowIndex:null===(n=H.rowMeta)||void 0===n?void 0:n.rowId,row:H})},setIsEditing:A,value:L})})):e.jsxs("div",r({className:F,id:m({accessor:v.accessor,rowIndex:k+1}),onDoubleClick:function(){return v.isEditable&&A(!0)},onMouseDown:function(){return I(k,l)},onMouseOver:function(){return S(k,l)},onDragOver:function(e){return W({callback:P,callbackProps:{event:e,hoveredHeader:v},limit:50})},ref:o},{children:[v.expandable&&s?w(H.rowMeta.rowId)?e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return y(H.rowMeta.rowId)}},{children:e.jsx(u,{className:"st-sort-icon"})})):e.jsx("div",r({className:"st-sort-icon-container",onClick:function(){return y(H.rowMeta.rowId)}},{children:e.jsx(i,{className:"st-sort-icon"})})):null,e.jsx("span",{children:L})]}))})),S=n.forwardRef((function(n,r){return n.visible?e.jsx("div",{className:"st-cell",ref:r}):e.jsx("div",{ref:r})})),D=function(n){var r=n.lastGroupRow;return e.jsx("div",{className:"st-row-separator ".concat(r?"st-last-group-row":"")})},H=function(n){var o=n.allowAnimations,a=n.children,s=t(n,["allowAnimations","children"]);return o?e.jsx(k,r({},s,{children:a})):e.jsx(e.Fragment,{children:a})},k=function(r){var t=r.allowHorizontalAnimate,o=void 0===t||t,a=r.children,s=r.draggedHeaderRef,l=r.headersRef,i=r.isBody,c=r.mainBodyRef,d=r.pauseAnimation,u=r.rowIndex,f=n.useRef(!1),h=n.useState({}),v=h[0],g=h[1],p=n.useRef({}),w=l.current;return n.useLayoutEffect((function(){if(w){var e=function(e){var n=e.currentHeaders,r=e.draggedHeaderRef,t=e.rowIndex,o={};return n.forEach((function(e){var n;if(e){var a=document.getElementById(m({accessor:e.accessor,rowIndex:t}));if(a){var s=a.getAnimations().some((function(e){return"running"===e.playState})),l=a.getBoundingClientRect();s&&(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:w,draggedHeaderRef:s,rowIndex:u});JSON.stringify(e)!==JSON.stringify(v)&&(p.current=v,g(e))}}),[v,w,s,i,u]),n.useLayoutEffect((function(){var e=c.current,n=function(){f.current=!0},r=function(){f.current=!1};return null==e||e.addEventListener("scroll",n),null==e||e.addEventListener("scrollend",r),function(){null==e||e.removeEventListener("scroll",n),null==e||e.removeEventListener("scrollend",r)}}),[s,c]),n.useEffect((function(){d||f.current||Object.keys(p.current).length&&w&&w.forEach((function(e){var n=document.getElementById(m({accessor:e.accessor,rowIndex:u}));if(n){var r=p.current[e.accessor],t=v[e.accessor];if(r&&t){var a=r.left-t.left,s=o?0:r.top-t.top,l=Math.abs(a),i=Math.abs(s);(l>10||i>10)&&requestAnimationFrame((function(){n.style.transform="translate(".concat(a,"px, ").concat(s,"px)"),n.style.transition="transform 0s",requestAnimationFrame((function(){n.style.transform="",n.style.transition="transform ".concat(400,"ms ease-out")}))}))}}}))}),[o,v,w,i,d,p,u]),e.jsx(e.Fragment,{children:a})},M=function(o){var a,s=o.getBorderClass,l=o.handleMouseDown,i=o.handleMouseOver,c=o.headers,d=o.hiddenColumns,u=o.isRowExpanded,f=o.isSelected,h=o.isTopLeftCell,v=o.lastGroupRow,m=o.onExpandRowClick,p=o.pinned,w=o.row,R=o.rowIndex,x=o.shouldDisplayLastColumnCell,C=t(o,["getBorderClass","handleMouseDown","handleMouseOver","headers","hiddenColumns","isRowExpanded","isSelected","isTopLeftCell","lastGroupRow","onExpandRowClick","pinned","row","rowIndex","shouldDisplayLastColumnCell"]),b=null===(a=w.rowMeta)||void 0===a?void 0:a.children;return e.jsxs(H,r({allowAnimations:C.allowAnimations,allowHorizontalAnimate:C.shouldPaginate,draggedHeaderRef:C.draggedHeaderRef,headersRef:C.headersRef,isBody:!0,mainBodyRef:C.mainBodyRef,pauseAnimation:C.isWidthDragging,rowIndex:R+1},{children:[0!==R&&e.jsx(D,{lastGroupRow:v}),c.map((function(e,t){if(!g({hiddenColumns:d,header:e,pinned:p}))return null;var o=w.rowData[e.accessor];return e.cellRenderer&&(o=e.cellRenderer(w)),n.createElement(I,r({},C,{borderClass:s(R,t),cellHasChildren:((null==b?void 0:b.length)||0)>0,colIndex:t,content:o,header:e,isRowExpanded:u,isSelected:f(R,t),isTopLeftCell:h(R,t),key:t,onExpandRowClick:m,onMouseDown:function(){return l({rowIndex:R,colIndex:t})},onMouseOver:function(){return i(R,t)},row:w,rowIndex:R}))})),e.jsx(S,{ref:n.createRef(),visible:x})]}))},N=function(t){var o,a,s,l=t.depth,i=void 0===l?0:l,c=t.getNextRowIndex,d=t.index,u=t.lastGroupRow,f=t.pinned,h=t.props,v=t.row,m=((null===(a=null===(o=v.rowMeta)||void 0===o?void 0:o.children)||void 0===a?void 0:a.length)||0)>0,g=c(),p=(null===(s=v.rowMeta)||void 0===s?void 0:s.children)||[];return e.jsxs(e.Fragment,{children:[n.createElement(M,r({},h,{depth:i,lastGroupRow:u,key:d,pinned:f,row:v,rowIndex:g})),m&&h.isRowExpanded(v.rowMeta.rowId)&&p.map((function(n,r){return e.jsx(N,{depth:i+1,getNextRowIndex:c,index:r,pinned:f,props:h,row:n},r)}))]})},L=function(o){o.headerContainerRef;var a=o.isRowExpanded,s=o.onExpandRowClick,l=o.pinned,i=o.rows,c=o.sectionRef,d=o.templateColumns,u=t(o,["headerContainerRef","isRowExpanded","onExpandRowClick","pinned","rows","sectionRef","templateColumns"]),f=l?"st-table-body-pinned-".concat(l):"st-table-body-main",h=n.useRef(0);n.useEffect((function(){h.current=0}));var v=function(){return h.current++};return e.jsx("div",r({className:f,ref:c,style:{gridTemplateColumns:d}},{children:i.map((function(n,t){var o,i;return e.jsx(N,{getNextRowIndex:v,index:t,lastGroupRow:Boolean(null===(i=null===(o=n.rowMeta)||void 0===o?void 0:o.children)||void 0===i?void 0:i.length),pinned:l,props:r(r({},u),{isRowExpanded:a,onExpandRowClick:s}),row:n},t)}))}))},T=function(t){var o=t.currentRows,a=t.headerContainerRef,s=t.isRowExpanded,l=t.mainBodyRef,i=t.mainTemplateColumns,c=t.onExpandRowClick,d=t.pinnedLeftColumns,u=t.pinnedLeftRef,f=t.pinnedLeftTemplateColumns,h=t.pinnedRightColumns,v=t.pinnedRightRef,m=t.pinnedRightTemplateColumns,g=t.scrollbarHorizontalRef,p=t.scrollbarWidth,w=t.tableBodyContainerRef;return function(e){var r=e.headerContainerRef,t=e.mainSectionRef,o=e.scrollbarHorizontalRef,a=e.scrollbarWidth,s=n.useState(!1),l=s[0],i=s[1];n.useEffect((function(){var e=null==r?void 0:r.current,n=null==o?void 0:o.current;if(l&&e)return e.classList.add("st-header-scroll-padding"),null==n||n.classList.add("st-header-scroll-padding"),e.style.setProperty("--st-after-width","".concat(a,"px")),null==n||n.style.setProperty("--st-after-width","".concat(a,"px")),function(){e.classList.remove("st-header-scroll-padding"),null==n||n.classList.remove("st-header-scroll-padding")}}),[r,l,o,a]),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;i(e)}};o();var a=new ResizeObserver((function(){o()}));return a.observe(n),function(){n&&a.unobserve(n)}}}),[r,t])}({headerContainerRef:a,mainSectionRef:w,scrollbarHorizontalRef:g,scrollbarWidth:p}),e.jsxs("div",r({className:"st-table-body-container",ref:w},{children:[d.length>0&&e.jsx(L,r({},t,{rows:o,templateColumns:f,pinned:"left",sectionRef:u,isRowExpanded:s,onExpandRowClick:c})),e.jsx(L,r({},t,{rows:o,templateColumns:i,sectionRef:l,isRowExpanded:s,onExpandRowClick:c})),h.length>0&&e.jsx(L,r({},t,{rows:o,templateColumns:m,pinned:"right",sectionRef:v,isRowExpanded:s,onExpandRowClick:c}))]}))},B=function(e){var n=e.event,r=e.forceUpdate,t=e.header,o=e.headersRef,a=e.index;e.reverse;var s=e.setIsWidthDragging;s(!0),n.preventDefault();var l=n.clientX;if(t){var i=t.width,c=function(e){var n=Math.max(i+(e.clientX-l),40);t&&o.current&&(o.current[a].width=n,r())},d=function(){document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d),s(!1)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)}},O=n.forwardRef((function(t,o){var a,s=t.columnResizing,l=t.currentRows,i=t.draggable,c=t.draggedHeaderRef,d=t.forceUpdate,u=t.headersRef,f=t.hoveredHeaderRef,h=t.index,v=t.onSort,g=t.onTableHeaderDragEnd,p=t.reverse,w=t.selectableColumns,R=t.setIsWidthDragging,x=t.setSelectedCells,C=t.sort,j=t.sortDownIcon,y=t.sortUpIcon,I=n.useState(!1),S=I[0],D=I[1],H=null===(a=u.current)||void 0===a?void 0:a[h],k=Boolean(null==H?void 0:H.isSortable),M="st-header-cell ".concat(H===f.current?"st-hovered":""," ").concat(S?"st-dragging":""," ").concat(k?"clickable":""," ").concat(i&&!k?"draggable":""," ").concat("right"===(null==H?void 0:H.align)?"right-aligned":""),N=E({draggedHeaderRef:c,headersRef:u,hoveredHeaderRef:f,onTableHeaderDragEnd:g}),L=N.handleDragStart,T=N.handleDragEnd,O=E({draggedHeaderRef:c,headersRef:u,hoveredHeaderRef:f,onTableHeaderDragEnd:g}).handleDragOver,A=b(),P=function(e){var n=e.event,r=e.header;if(w){var t=l.length,o=Array.from({length:t},(function(e,n){return"".concat(n,"-").concat(h)})),a=function(e,n){var r=new Set,o=Math.min(e,n),a=Math.max(e,n);return Array.from({length:t}).forEach((function(e,n){Array.from({length:a-o+1}).forEach((function(e,t){r.add("".concat(n,"-").concat(o+t))}))})),r};n.shiftKey?x((function(e){var n,r=Number(null===(n=Array.from(e)[0])||void 0===n?void 0:n.split("-")[1]),t=Number(o[0].split("-")[1]);return r===t?new Set(o):r>t?a(t,r):a(r,t)})):x(new Set(o))}else r.isSortable&&v(h,r.accessor)};if(n.useEffect((function(){var e=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"};return document.addEventListener("dragover",e),function(){document.removeEventListener("dragover",e)}}),[]),!H)return null;var W=s&&e.jsx("div",{className:"st-header-resize-handle",onMouseDown:function(e){A({callback:B,callbackProps:{event:e,forceUpdate:d,header:H,headersRef:u,index:h,setIsWidthDragging:R},limit:10})}});return e.jsxs("div",r({className:M,id:m({accessor:H.accessor,rowIndex:0}),onDragOver:function(e){A({callback:O,callbackProps:{event:e,hoveredHeader:H},limit:50})},ref:o,style:{width:H.width}},{children:[p&&W,e.jsx("div",r({className:"st-header-label",draggable:i,onClick:function(e){return P({event:e,header:H})},onDragEnd:function(e){e.preventDefault(),D(!1),T()},onDragStart:function(e){i&&H&&function(e){D(!0),L(e)}(H)},onMouseEnter:function(){return document.body.style.overflow="hidden"},onMouseLeave:function(){return document.body.style.overflow="auto"}},{children:null==H?void 0:H.label})),C&&C.key.accessor===H.accessor&&e.jsxs("div",r({className:"st-sort-icon-container",onClick:function(e){return P({event:e,header:H})}},{children:["ascending"===C.direction&&y&&y,"descending"===C.direction&&j&&j]})),!p&&W]}))})),A=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=function(t){var o,a,s,l=t.allowAnimations,i=t.columnResizing,c=t.currentRows,d=t.draggable,u=t.draggedHeaderRef,f=t.forceUpdate,h=t.headerContainerRef,v=t.headersRef,m=t.hiddenColumns,p=t.hoveredHeaderRef,w=t.isWidthDragging,R=t.mainTemplateColumns,x=t.onSort,C=t.onTableHeaderDragEnd,b=t.pinnedLeftColumns,j=t.pinnedLeftTemplateColumns,y=t.pinnedRightColumns,E=t.pinnedRightTemplateColumns,I=t.selectableColumns,D=t.setIsWidthDragging,k=t.setSelectedCells,M=t.shouldDisplayLastColumnCell,N=t.sort,L=t.sortDownIcon,T=t.sortUpIcon,B=t.mainBodyRef,P=n.useRef(null);A(B,P);return e.jsxs("div",r({className:"st-header-container",ref:h},{children:[b.length>0&&e.jsx("div",r({className:"st-header-pinned-left",style:{gridTemplateColumns:j}},{children:e.jsx(H,r({allowAnimations:l,draggedHeaderRef:u,headersRef:v,mainBodyRef:B,pauseAnimation:w,rowIndex:0},{children:null===(o=v.current)||void 0===o?void 0:o.map((function(r,t){return g({hiddenColumns:m,header:r,pinned:"left"})?e.jsx(O,{columnResizing:i,currentRows:c,draggable:d,draggedHeaderRef:u,forceUpdate:f,headersRef:v,hoveredHeaderRef:p,index:t,onSort:x,onTableHeaderDragEnd:C,ref:n.createRef(),selectableColumns:I,setIsWidthDragging:D,setSelectedCells:k,sort:N,sortDownIcon:L,sortUpIcon:T},r.accessor):null}))}))})),e.jsx("div",r({className:"st-header-main",onScroll:function(e){var n,r,t=null===(n=P.current)||void 0===n?void 0:n.scrollLeft;void 0!==t&&(null===(r=B.current)||void 0===r||r.scrollTo(t,0))},ref:P,style:{gridTemplateColumns:R}},{children:e.jsxs(H,r({allowAnimations:l,draggedHeaderRef:u,headersRef:v,mainBodyRef:B,pauseAnimation:w,rowIndex:0},{children:[null===(a=v.current)||void 0===a?void 0:a.map((function(r,t){return g({hiddenColumns:m,header:r})?e.jsx(O,{columnResizing:i,currentRows:c,draggable:d,draggedHeaderRef:u,forceUpdate:f,headersRef:v,hoveredHeaderRef:p,index:t,onSort:x,onTableHeaderDragEnd:C,ref:n.createRef(),selectableColumns:I,setIsWidthDragging:D,setSelectedCells:k,sort:N,sortDownIcon:L,sortUpIcon:T},r.accessor):null})),e.jsx(S,{ref:n.createRef(),visible:M})]}))})),y.length>0&&e.jsx("div",r({className:"st-header-pinned-right",style:{gridTemplateColumns:E}},{children:e.jsxs(H,r({allowAnimations:l,draggedHeaderRef:u,headersRef:v,mainBodyRef:B,pauseAnimation:w,rowIndex:0},{children:[null===(s=v.current)||void 0===s?void 0:s.map((function(r,t){return g({hiddenColumns:m,header:r,pinned:"right"})?e.jsx(O,{columnResizing:i,currentRows:c,draggable:d,draggedHeaderRef:u,forceUpdate:f,headersRef:v,hoveredHeaderRef:p,index:t,onSort:x,onTableHeaderDragEnd:C,reverse:!0,ref:n.createRef(),selectableColumns:I,setIsWidthDragging:D,setSelectedCells:k,sort:N,sortDownIcon:L,sortUpIcon:T},r.accessor):null})),e.jsx(S,{ref:n.createRef(),visible:M})]}))}))]}))},W=function(t){var o=t.allowAnimations,a=t.columnResizing,s=t.currentRows,l=t.draggable,i=t.draggedHeaderRef,c=t.editColumns,d=t.forceUpdate,u=t.getBorderClass,f=t.handleMouseDown,h=t.handleMouseOver,v=t.headersRef,m=t.hiddenColumns,g=t.hoveredHeaderRef,p=t.isRowExpanded,w=t.isSelected,R=t.isTopLeftCell,x=t.isWidthDragging,C=t.mainBodyRef,b=t.onCellChange,j=t.onExpandRowClick,y=t.onSort,E=t.onTableHeaderDragEnd,I=t.pinnedLeftRef,S=t.pinnedRightRef,D=t.scrollbarHorizontalRef,H=t.scrollbarWidth,k=t.selectableColumns,M=t.setIsWidthDragging,N=t.setSelectedCells,L=t.shouldPaginate,B=t.sort,O=t.sortDownIcon,A=t.sortUpIcon,W=t.tableBodyContainerRef,z=n.useRef(null),U=v.current.filter((function(e){return!e.hide&&!e.pinned})),F=n.useMemo((function(){return!!C.current&&U.reduce((function(e,n){return e+n.width}),0)<C.current.clientWidth}),[U,C]),G=v.current.filter((function(e){return"left"===e.pinned&&!0!==e.hide})),V=v.current.filter((function(e){return"right"===e.pinned&&!0!==e.hide})),J=n.useMemo((function(){return"".concat(G.map((function(e){return"".concat(e.width,"px")})).join(" "))}),[G]),X=n.useMemo((function(){return"".concat(U.filter((function(e){return!0!==m[e.accessor]})).map((function(e){return"".concat(e.width,"px")})).join(" ")," 1fr")}),[U,m]),q=n.useMemo((function(){return"".concat(V.map((function(e){return"".concat(e.width,"px")})).join(" "))}),[V]),Y={allowAnimations:o,columnResizing:a,currentRows:s,draggable:l,draggedHeaderRef:i,forceUpdate:d,headerContainerRef:z,headersRef:v,hiddenColumns:m,hoveredHeaderRef:g,isWidthDragging:x,mainBodyRef:C,mainTemplateColumns:X,onSort:y,onTableHeaderDragEnd:E,pinnedLeftColumns:G,pinnedLeftTemplateColumns:J,pinnedRightColumns:V,pinnedRightTemplateColumns:q,selectableColumns:k,setIsWidthDragging:M,setSelectedCells:N,shouldDisplayLastColumnCell:F,sort:B,sortDownIcon:O,sortUpIcon:A,tableBodyContainerRef:W},K={allowAnimations:o,currentRows:s,draggedHeaderRef:i,getBorderClass:u,handleMouseDown:f,handleMouseOver:h,headerContainerRef:z,headers:v.current,headersRef:v,hiddenColumns:m,hoveredHeaderRef:g,isRowExpanded:p,isSelected:w,isTopLeftCell:R,isWidthDragging:x,mainBodyRef:C,mainTemplateColumns:X,onCellChange:b,onExpandRowClick:j,onTableHeaderDragEnd:E,pinnedLeftColumns:G,pinnedLeftRef:I,pinnedLeftTemplateColumns:J,pinnedRightColumns:V,pinnedRightRef:S,pinnedRightTemplateColumns:q,scrollbarHorizontalRef:D,scrollbarWidth:H,shouldDisplayLastColumnCell:F,shouldPaginate:L,tableBodyContainerRef:W};return e.jsxs("div",r({className:"st-table-content",style:{width:c?"calc(100% - 27.5px)":"100%"}},{children:[e.jsx(P,r({},Y)),e.jsx(T,r({},K))]}))},z=function(e){var r=e.callback,t=e.ref,o=e.widthAttribute;n.useEffect((function(){var e=t.current;if(e){var n=function(){r(e[o]||0)};n();var a=new ResizeObserver((function(){n()}));return a.observe(e),function(){return a.disconnect()}}}),[r,t,o])},U=function(t){t.headersRef;var o=t.mainBodyRef,a=t.pinnedLeftRef,s=t.pinnedRightRef,l=t.scrollbarHorizontalRef,i=t.tableContentWidth,c=n.useState(0),d=c[0],u=c[1],f=n.useState(0),h=f[0],v=f[1],m=n.useState(0),g=m[0],p=m[1],w=n.useRef(null);return z({widthAttribute:"offsetWidth",callback:u,ref:a}),z({widthAttribute:"scrollWidth",callback:p,ref:o}),z({widthAttribute:"offsetWidth",callback:v,ref:s}),A(o,w),!o.current||o.current.scrollWidth<=o.current.clientWidth?null:e.jsx("div",r({className:"st-horizontal-scrollbar-container",ref:l},{children:e.jsxs("div",r({style:{width:i}},{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}})})),h>0&&e.jsx("div",{className:"st-horizontal-scrollbar-right",style:{flexShrink:0,minWidth:h}})]}))}))},F=function(e,r){var t=n.useState(null),a=t[0],s=t[1],l=n.useState({}),i=l[0],c=l[1],d=n.useMemo((function(){if(!a)return e;var n=function(e,n,r){var t=r?r.key:e[0],a="ascending";return r&&r.key.accessor===t.accessor&&"ascending"===r.direction&&(a="descending"),{sortedData:o([],n,!0).sort((function(e,n){var r,o,s,l,i=null!==(o=null===(r=null==e?void 0:e.rowData)||void 0===r?void 0:r[t.accessor])&&void 0!==o?o:"",c=null!==(l=null===(s=null==n?void 0:n.rowData)||void 0===s?void 0:s[t.accessor])&&void 0!==l?l:"";return i<c?"ascending"===a?1:-1:i>c?"ascending"===a?-1:1:0})),newSortConfig:{key:t,direction:a}}}(r,e,a).sortedData;return n}),[e,a,r]);return{sort:a,setSort:s,sortedRows:d,hiddenColumns:i,setHiddenColumns:c}};!function(e){e.Left="left",e.Right="right"}(a||(a={}));var G=function(t){var o=t.allowAnimations,f=void 0!==o&&o,h=t.columnEditorPosition,m=void 0===h?a.Right:h,g=t.columnEditorText,p=void 0===g?"Columns":g,w=t.columnResizing,R=void 0!==w&&w,x=t.defaultHeaders,C=t.draggable,b=void 0!==C&&C,j=t.editColumns,y=void 0!==j&&j,E=t.editColumnsInitOpen,I=void 0!==E&&E,S=t.height,D=t.hideFooter,H=void 0!==D&&D,k=t.nextIcon,M=void 0===k?e.jsx(i,{className:"st-next-prev-icon"}):k,N=t.onCellChange,L=t.prevIcon,T=void 0===L?e.jsx(l,{className:"st-next-prev-icon"}):L,B=t.rows,O=t.rowsPerPage,A=void 0===O?10:O,P=t.selectableCells,z=void 0!==P&&P,G=t.selectableColumns,V=void 0!==G&&G,J=t.shouldPaginate,X=void 0!==J&&J,q=t.sortDownIcon,Y=void 0===q?e.jsx(u,{className:"st-sort-icon"}):q,K=t.sortUpIcon,_=void 0===K?e.jsx(d,{className:"st-sort-icon"}):K,$=t.theme,Q=void 0===$?"light":$,Z=n.useState((function(){return function(e){var n=new Set,r=function(e){var t;e.rowMeta.isExpanded&&n.add(e.rowMeta.rowId.toString()),null===(t=e.rowMeta.children)||void 0===t||t.forEach(r)};return e.forEach(r),n}(B)})),ee=Z[0],ne=Z[1],re=n.useMemo((function(){return B.map((function(e,n){return r(r({},e),{originalRowIndex:n})}))}),[B]),te=n.useRef(null),oe=n.useRef(x),ae=n.useRef(null),se=n.useRef(null),le=n.useRef(null),ie=n.useRef(null),ce=n.useRef(null),de=n.useRef(null),ue=n.useState(!1),fe=ue[0],he=ue[1],ve=n.useState(1),me=ve[0],ge=ve[1],pe=n.useState(0),we=pe[0],Re=pe[1],xe=n.useState(0),Ce=xe[0],be=xe[1],je=F(re,oe.current),ye=je.sort,Ee=je.setSort,Ie=je.sortedRows,Se=je.hiddenColumns,De=je.setHiddenColumns,He=n.useCallback((function(e){var n=String(e);ne((function(e){var r=new Set(e);return r.has(n)?r.delete(n):r.add(n),r}))}),[]),ke=n.useCallback((function(e){return ee.has(String(e))}),[ee]),Me=n.useReducer((function(e){return e+1}),0)[1],Ne=function(e){var r=e.selectableCells,t=e.headers,o=e.rows,a=n.useState(new Set),s=a[0],l=a[1],i=n.useRef(!1),c=n.useRef(null),d=n.useCallback((function(){var e=Array.from(s).reduce((function(e,n){var r=n.split("-").map(Number),a=r[0],s=r[1];return e[a]||(e[a]=[]),e[a][s]=o[a][t[s].accessor],e}),{}),n=Object.values(e).map((function(e){return Object.values(e).join("\t")})).join("\n");navigator.clipboard.writeText(n)}),[s,o,t]);n.useEffect((function(){var e=function(e){(e.ctrlKey||e.metaKey)&&"c"===e.key&&d()};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[d]);var u=n.useCallback((function(e,n){return s.has("".concat(e,"-").concat(n))}),[s]),f=n.useCallback((function(e,n){var r=[];return u(e-1,n)||r.push("st-selected-top-border"),u(e+1,n)||r.push("st-selected-bottom-border"),u(e,n-1)||r.push("st-selected-left-border"),u(e,n+1)||r.push("st-selected-right-border"),r.join(" ")}),[u]),h=n.useMemo((function(){var e=Math.min.apply(Math,Array.from(s).map((function(e){return parseInt(e.split("-")[0])}))),n=Math.min.apply(Math,Array.from(s).map((function(e){return parseInt(e.split("-")[1])})));return function(r,t){return r===e&&t===n}}),[s]);return{selectedCells:s,handleMouseDown:function(e){var n=e.colIndex,t=e.rowIndex;r&&(i.current=!0,c.current={row:t,col:n},l(new Set(["".concat(t,"-").concat(n)])))},handleMouseOver:function(e,n){if(r&&i.current&&c.current){for(var t=new Set,o=Math.min(c.current.row,e),a=Math.max(c.current.row,e),s=Math.min(c.current.col,n),d=Math.max(c.current.col,n),u=o;u<=a;u++)for(var f=s;f<=d;f++)t.add("".concat(u,"-").concat(f));l(t)}},handleMouseUp:function(){i.current=!1,c.current=null},isSelected:u,getBorderClass:f,isTopLeftCell:h,setSelectedCells:l}}({selectableCells:z,headers:oe.current,rows:Ie}),Le=Ne.handleMouseDown,Te=Ne.handleMouseOver,Be=Ne.handleMouseUp,Oe=Ne.isSelected,Ae=Ne.getBorderClass,Pe=Ne.isTopLeftCell,We=Ne.setSelectedCells,ze=n.useMemo((function(){return X?Ie.slice((me-1)*A,me*A):Ie}),[me,A,X,Ie]),Ue=n.useCallback((function(e,n){Ee((function(r){return(null==r?void 0:r.key.accessor)!==n?{key:oe.current[e],direction:"ascending"}:"ascending"===(null==r?void 0:r.direction)?{key:oe.current[e],direction:"descending"}:null}))}),[Ee]),Fe=n.useCallback((function(e){oe.current=e,Me()}),[]);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"))||We(new Set)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[V,We]),n.useLayoutEffect((function(){if(de.current){var e=de.current.offsetWidth-de.current.clientWidth,n=de.current.clientWidth;Re(e),be(n)}}),[]),e.jsx(c.Provider,r({value:{rows:B,tableRows:re}},{children:e.jsxs("div",r({className:"simple-table-root st-wrapper theme-".concat(Q),style:S?{height:S}:{}},{children:[e.jsxs("div",r({className:"st-table-wrapper-container"},{children:[e.jsxs("div",r({className:"st-table-wrapper",onMouseUp:Be,onMouseLeave:Be},{children:[e.jsx(W,{allowAnimations:f,columnResizing:R,currentRows:ze,draggable:b,draggedHeaderRef:te,editColumns:y,forceUpdate:Me,getBorderClass:Ae,handleMouseDown:Le,handleMouseOver:Te,headers:oe.current,headersRef:oe,hiddenColumns:Se,hoveredHeaderRef:ae,isRowExpanded:ke,isSelected:Oe,isTopLeftCell:Pe,isWidthDragging:fe,mainBodyRef:se,onCellChange:N,onExpandRowClick:He,onSort:Ue,onTableHeaderDragEnd:Fe,pinnedLeftRef:le,pinnedRightRef:ie,scrollbarHorizontalRef:ce,scrollbarWidth:we,selectableColumns:V,setIsWidthDragging:he,setSelectedCells:We,shouldPaginate:X,sort:ye,sortDownIcon:Y,sortUpIcon:_,tableBodyContainerRef:de}),e.jsx(v,{columnEditorText:p,editColumns:y,editColumnsInitOpen:I,headers:oe.current,hiddenColumns:Se,position:m,setHiddenColumns:De})]})),e.jsx(U,{headersRef:oe,mainBodyRef:se,pinnedLeftRef:le,pinnedRightRef:ie,scrollbarHorizontalRef:ce,tableContentWidth:Ce})]})),e.jsx(s,{currentPage:me,hideFooter:H,nextIcon:M,onPageChange:ge,prevIcon:T,rowsPerPage:A,shouldPaginate:X,totalRows:Ie.length})]}))}))};G.defaultProps={allowAnimations:!1,columnEditorPosition:a.Right,columnEditorText:"Columns",columnResizing:!1,defaultHeaders:[],draggable:!1,editColumns:!1,editColumnsInitOpen:!1,height:"",hideFooter:!1,nextIcon:e.jsx(i,{className:"st-next-prev-icon"}),onCellChange:function(){},prevIcon:e.jsx(l,{className:"st-next-prev-icon"}),rows:[],rowsPerPage:10,selectableCells:!1,selectableColumns:!1,shouldPaginate:!1,sortDownIcon:e.jsx(u,{className:"st-sort-icon"}),sortUpIcon:e.jsx(d,{className:"st-sort-icon"}),theme:"light"};var V=n.memo(G);exports.SimpleTable=V;
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "simple-table-core",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
8
8
  ".": {
9
9
  "import": "./dist/index.es.js",
10
- "require": "./dist/index.js",
11
- "types": "./dist/index.d.ts"
10
+ "require": "./dist/index.js"
12
11
  }
13
12
  },
14
13
  "license": "MIT",