playbook-ui 16.13.0-rc.4 → 17.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +73 -32
- package/dist/advanced-table.js +21 -0
- package/dist/ai/all-schemas.json +1 -1
- package/dist/ai/index.json +2 -2
- package/dist/ai/kits/advanced_table.schema.json +1 -1
- package/dist/ai/playgrounds/advanced_table.json +1 -1
- package/dist/ai/playgrounds/index.json +1 -1
- package/dist/charts.js +1 -1
- package/dist/chunks/StickyLayoutHelper-DCzCcWUN.js +1 -0
- package/dist/chunks/_detail-BKKHcGcj.js +5 -0
- package/dist/chunks/{_pb_line_graph-BL9pXDkX.js → _pb_line_graph-B3q4LKEz.js} +1 -1
- package/dist/chunks/_table-Bkla2kcQ.js +1 -0
- package/dist/chunks/_typeahead-CULhE-SU.js +1 -0
- package/dist/chunks/{globalProps-BQqb1ZGy.js → globalProps-zGbN4oBH.js} +1 -1
- package/dist/chunks/lib-LNv9xZ-1.js +29 -0
- package/dist/chunks/time_picker_helper-Bx8nzyM8.js +1 -0
- package/dist/chunks/vendor.js +3 -23
- package/dist/playbook-advanced-table.js +1 -0
- package/dist/playbook-charts.js +1 -1
- package/dist/playbook-rails-charts-bindings.js +1 -1
- package/dist/playbook-rails-react-bindings.js +1 -1
- package/dist/playbook-rails.js +1 -1
- package/dist/playbook.js +1 -1
- package/package.json +7 -1
- package/dist/chunks/_typeahead-BcKnlPk3.js +0 -5
- package/dist/chunks/lib-CYrXqTdQ.js +0 -29
- package/dist/chunks/time_picker_helper-CVMV9ync.js +0 -1
package/dist/.vite/manifest.json
CHANGED
|
@@ -1,33 +1,55 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"file": "chunks/
|
|
2
|
+
"_StickyLayoutHelper-DCzCcWUN.js": {
|
|
3
|
+
"file": "chunks/StickyLayoutHelper-DCzCcWUN.js",
|
|
4
|
+
"name": "StickyLayoutHelper"
|
|
5
|
+
},
|
|
6
|
+
"__detail-BKKHcGcj.js": {
|
|
7
|
+
"file": "chunks/_detail-BKKHcGcj.js",
|
|
8
|
+
"name": "_detail",
|
|
9
|
+
"imports": [
|
|
10
|
+
"_lib-LNv9xZ-1.js",
|
|
11
|
+
"_globalProps-zGbN4oBH.js"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"__pb_line_graph-B3q4LKEz.js": {
|
|
15
|
+
"file": "chunks/_pb_line_graph-B3q4LKEz.js",
|
|
4
16
|
"name": "_pb_line_graph",
|
|
5
17
|
"imports": [
|
|
6
|
-
"_globalProps-
|
|
7
|
-
"_lib-
|
|
18
|
+
"_globalProps-zGbN4oBH.js",
|
|
19
|
+
"_lib-LNv9xZ-1.js"
|
|
8
20
|
]
|
|
9
21
|
},
|
|
10
|
-
"
|
|
11
|
-
"file": "chunks/
|
|
22
|
+
"__table-Bkla2kcQ.js": {
|
|
23
|
+
"file": "chunks/_table-Bkla2kcQ.js",
|
|
24
|
+
"name": "_table",
|
|
25
|
+
"imports": [
|
|
26
|
+
"_globalProps-zGbN4oBH.js",
|
|
27
|
+
"__detail-BKKHcGcj.js",
|
|
28
|
+
"_lib-LNv9xZ-1.js"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"__typeahead-CULhE-SU.js": {
|
|
32
|
+
"file": "chunks/_typeahead-CULhE-SU.js",
|
|
12
33
|
"name": "_typeahead",
|
|
13
34
|
"imports": [
|
|
14
|
-
"_globalProps-
|
|
15
|
-
"_lib-
|
|
35
|
+
"_globalProps-zGbN4oBH.js",
|
|
36
|
+
"_lib-LNv9xZ-1.js",
|
|
37
|
+
"__detail-BKKHcGcj.js"
|
|
16
38
|
]
|
|
17
39
|
},
|
|
18
40
|
"_componentRegistry-DRSp5D_e.js": {
|
|
19
41
|
"file": "chunks/componentRegistry-DRSp5D_e.js",
|
|
20
42
|
"name": "componentRegistry"
|
|
21
43
|
},
|
|
22
|
-
"_globalProps-
|
|
23
|
-
"file": "chunks/globalProps-
|
|
44
|
+
"_globalProps-zGbN4oBH.js": {
|
|
45
|
+
"file": "chunks/globalProps-zGbN4oBH.js",
|
|
24
46
|
"name": "globalProps",
|
|
25
47
|
"imports": [
|
|
26
|
-
"_lib-
|
|
48
|
+
"_lib-LNv9xZ-1.js"
|
|
27
49
|
]
|
|
28
50
|
},
|
|
29
|
-
"_lib-
|
|
30
|
-
"file": "chunks/lib-
|
|
51
|
+
"_lib-LNv9xZ-1.js": {
|
|
52
|
+
"file": "chunks/lib-LNv9xZ-1.js",
|
|
31
53
|
"name": "lib",
|
|
32
54
|
"css": [
|
|
33
55
|
"lib.css"
|
|
@@ -37,19 +59,33 @@
|
|
|
37
59
|
"file": "lib.css",
|
|
38
60
|
"src": "_lib.css"
|
|
39
61
|
},
|
|
40
|
-
"_time_picker_helper-
|
|
41
|
-
"file": "chunks/time_picker_helper-
|
|
62
|
+
"_time_picker_helper-Bx8nzyM8.js": {
|
|
63
|
+
"file": "chunks/time_picker_helper-Bx8nzyM8.js",
|
|
42
64
|
"name": "time_picker_helper"
|
|
43
65
|
},
|
|
66
|
+
"entrypoints/playbook-advanced-table.js": {
|
|
67
|
+
"file": "playbook-advanced-table.js",
|
|
68
|
+
"name": "entrypoints/playbook-advanced-table.js",
|
|
69
|
+
"src": "entrypoints/playbook-advanced-table.js",
|
|
70
|
+
"isEntry": true,
|
|
71
|
+
"imports": [
|
|
72
|
+
"entrypoints/playbook-advanced-table.js",
|
|
73
|
+
"_globalProps-zGbN4oBH.js",
|
|
74
|
+
"_lib-LNv9xZ-1.js",
|
|
75
|
+
"__table-Bkla2kcQ.js",
|
|
76
|
+
"__detail-BKKHcGcj.js",
|
|
77
|
+
"_StickyLayoutHelper-DCzCcWUN.js"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
44
80
|
"entrypoints/playbook-charts.js": {
|
|
45
81
|
"file": "playbook-charts.js",
|
|
46
82
|
"name": "entrypoints/playbook-charts.js",
|
|
47
83
|
"src": "entrypoints/playbook-charts.js",
|
|
48
84
|
"isEntry": true,
|
|
49
85
|
"imports": [
|
|
50
|
-
"__pb_line_graph-
|
|
51
|
-
"_globalProps-
|
|
52
|
-
"_lib-
|
|
86
|
+
"__pb_line_graph-B3q4LKEz.js",
|
|
87
|
+
"_globalProps-zGbN4oBH.js",
|
|
88
|
+
"_lib-LNv9xZ-1.js"
|
|
53
89
|
]
|
|
54
90
|
},
|
|
55
91
|
"entrypoints/playbook-rails-charts-bindings.js": {
|
|
@@ -59,9 +95,9 @@
|
|
|
59
95
|
"isEntry": true,
|
|
60
96
|
"imports": [
|
|
61
97
|
"_componentRegistry-DRSp5D_e.js",
|
|
62
|
-
"__pb_line_graph-
|
|
63
|
-
"_globalProps-
|
|
64
|
-
"_lib-
|
|
98
|
+
"__pb_line_graph-B3q4LKEz.js",
|
|
99
|
+
"_globalProps-zGbN4oBH.js",
|
|
100
|
+
"_lib-LNv9xZ-1.js"
|
|
65
101
|
]
|
|
66
102
|
},
|
|
67
103
|
"entrypoints/playbook-rails-react-bindings.js": {
|
|
@@ -71,9 +107,10 @@
|
|
|
71
107
|
"isEntry": true,
|
|
72
108
|
"imports": [
|
|
73
109
|
"_componentRegistry-DRSp5D_e.js",
|
|
74
|
-
"__typeahead-
|
|
75
|
-
"_globalProps-
|
|
76
|
-
"_lib-
|
|
110
|
+
"__typeahead-CULhE-SU.js",
|
|
111
|
+
"_globalProps-zGbN4oBH.js",
|
|
112
|
+
"_lib-LNv9xZ-1.js",
|
|
113
|
+
"__detail-BKKHcGcj.js"
|
|
77
114
|
]
|
|
78
115
|
},
|
|
79
116
|
"entrypoints/playbook-rails.js": {
|
|
@@ -82,11 +119,13 @@
|
|
|
82
119
|
"src": "entrypoints/playbook-rails.js",
|
|
83
120
|
"isEntry": true,
|
|
84
121
|
"imports": [
|
|
85
|
-
"_lib-
|
|
86
|
-
"__typeahead-
|
|
87
|
-
"
|
|
122
|
+
"_lib-LNv9xZ-1.js",
|
|
123
|
+
"__typeahead-CULhE-SU.js",
|
|
124
|
+
"_StickyLayoutHelper-DCzCcWUN.js",
|
|
125
|
+
"_time_picker_helper-Bx8nzyM8.js",
|
|
88
126
|
"entrypoints/playbook-rails-react-bindings.js",
|
|
89
|
-
"_globalProps-
|
|
127
|
+
"_globalProps-zGbN4oBH.js",
|
|
128
|
+
"__detail-BKKHcGcj.js",
|
|
90
129
|
"_componentRegistry-DRSp5D_e.js"
|
|
91
130
|
]
|
|
92
131
|
},
|
|
@@ -97,10 +136,12 @@
|
|
|
97
136
|
"isEntry": true,
|
|
98
137
|
"imports": [
|
|
99
138
|
"entrypoints/playbook.js",
|
|
100
|
-
"_time_picker_helper-
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
139
|
+
"_time_picker_helper-Bx8nzyM8.js",
|
|
140
|
+
"__detail-BKKHcGcj.js",
|
|
141
|
+
"__typeahead-CULhE-SU.js",
|
|
142
|
+
"__table-Bkla2kcQ.js",
|
|
143
|
+
"_lib-LNv9xZ-1.js",
|
|
144
|
+
"_globalProps-zGbN4oBH.js"
|
|
104
145
|
]
|
|
105
146
|
},
|
|
106
147
|
"entrypoints/playbook.scss": {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{jsx,jsxs,Fragment}from"react/jsx-runtime";import*as React from"react";import React__default,{createContext,useRef,useState,useCallback,useEffect,useMemo,useContext,useLayoutEffect}from"react";import{d as classnames,e as buildCss,g as globalProps,b as buildAriaProps,a as buildDataProps,c as buildHtmlProps}from"./chunks/globalProps-zGbN4oBH.js";import{P as PbReactPopover,S as SectionSeparator,L as LoadingInline,a as Pagination,F as FlexItem,T as Table}from"./chunks/_table-Bkla2kcQ.js";import{flushSync}from"react-dom";import{m as measureElementHeight,s as scheduleStickyActionBarHeightUpdate,b as updateStickyLayoutHeights}from"./chunks/StickyLayoutHelper-DCzCcWUN.js";import{I as Icon,F as Flex,C as Checkbox,a as Caption,D as Detail,b as Card,T as Tooltip}from"./chunks/_detail-BKKHcGcj.js";import"./chunks/lib-LNv9xZ-1.js";function memo$1(getDeps,fn,opts){let deps=opts.initialDeps??[];let result;return()=>{var _a,_b,_c,_d;let depTime;if(opts.key&&((_a=opts.debug)==null?void 0:_a.call(opts)))depTime=Date.now();const newDeps=getDeps();const depsChanged=newDeps.length!==deps.length||newDeps.some(((dep,index)=>deps[index]!==dep));if(!depsChanged){return result}deps=newDeps;let resultTime;if(opts.key&&((_b=opts.debug)==null?void 0:_b.call(opts)))resultTime=Date.now();result=fn(...newDeps);if(opts.key&&((_c=opts.debug)==null?void 0:_c.call(opts))){const depEndTime=Math.round((Date.now()-depTime)*100)/100;const resultEndTime=Math.round((Date.now()-resultTime)*100)/100;const resultFpsPercentage=resultEndTime/16;const pad=(str,num)=>{str=String(str);while(str.length<num){str=" "+str}return str};console.info(`%c⏱ ${pad(resultEndTime,5)} /${pad(depEndTime,5)} ms`,`\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(0,Math.min(120-120*resultFpsPercentage,120))}deg 100% 31%);`,opts==null?void 0:opts.key)}(_d=opts==null?void 0:opts.onChange)==null?void 0:_d.call(opts,result);return result}}function notUndefined(value,msg){if(value===void 0){throw new Error(`Unexpected undefined${""}`)}else{return value}}const approxEqual=(a,b)=>Math.abs(a-b)<1;const debounce=(targetWindow,fn,ms)=>{let timeoutId;return function(...args){targetWindow.clearTimeout(timeoutId);timeoutId=targetWindow.setTimeout((()=>fn.apply(this,args)),ms)}};const defaultKeyExtractor=index=>index;const defaultRangeExtractor=range=>{const start=Math.max(range.startIndex-range.overscan,0);const end=Math.min(range.endIndex+range.overscan,range.count-1);const arr=[];for(let i=start;i<=end;i++){arr.push(i)}return arr};const observeElementRect=(instance,cb)=>{const element=instance.scrollElement;if(!element){return}const targetWindow=instance.targetWindow;if(!targetWindow){return}const handler=rect=>{const{width:width,height:height}=rect;cb({width:Math.round(width),height:Math.round(height)})};handler(element.getBoundingClientRect());if(!targetWindow.ResizeObserver){return()=>{}}const observer=new targetWindow.ResizeObserver((entries=>{const run=()=>{const entry=entries[0];if(entry==null?void 0:entry.borderBoxSize){const box=entry.borderBoxSize[0];if(box){handler({width:box.inlineSize,height:box.blockSize});return}}handler(element.getBoundingClientRect())};instance.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(run):run()}));observer.observe(element,{box:"border-box"});return()=>{observer.unobserve(element)}};const addEventListenerOptions={passive:true};const supportsScrollend=typeof window=="undefined"?true:"onscrollend"in window;const observeElementOffset=(instance,cb)=>{const element=instance.scrollElement;if(!element){return}const targetWindow=instance.targetWindow;if(!targetWindow){return}let offset=0;const fallback=instance.options.useScrollendEvent&&supportsScrollend?()=>void 0:debounce(targetWindow,(()=>{cb(offset,false)}),instance.options.isScrollingResetDelay);const createHandler=isScrolling=>()=>{const{horizontal:horizontal,isRtl:isRtl}=instance.options;offset=horizontal?element["scrollLeft"]*(isRtl&&-1||1):element["scrollTop"];fallback();cb(offset,isScrolling)};const handler=createHandler(true);const endHandler=createHandler(false);endHandler();element.addEventListener("scroll",handler,addEventListenerOptions);const registerScrollendEvent=instance.options.useScrollendEvent&&supportsScrollend;if(registerScrollendEvent){element.addEventListener("scrollend",endHandler,addEventListenerOptions)}return()=>{element.removeEventListener("scroll",handler);if(registerScrollendEvent){element.removeEventListener("scrollend",endHandler)}}};const measureElement=(element,entry,instance)=>{if(entry==null?void 0:entry.borderBoxSize){const box=entry.borderBoxSize[0];if(box){const size=Math.round(box[instance.options.horizontal?"inlineSize":"blockSize"]);return size}}return Math.round(element.getBoundingClientRect()[instance.options.horizontal?"width":"height"])};const elementScroll=(offset,{adjustments:adjustments=0,behavior:behavior},instance)=>{var _a,_b;const toOffset=offset+adjustments;(_b=(_a=instance.scrollElement)==null?void 0:_a.scrollTo)==null?void 0:_b.call(_a,{[instance.options.horizontal?"left":"top"]:toOffset,behavior:behavior})};class Virtualizer{constructor(opts){this.unsubs=[];this.scrollElement=null;this.targetWindow=null;this.isScrolling=false;this.scrollToIndexTimeoutId=null;this.measurementsCache=[];this.itemSizeCache=new Map;this.pendingMeasuredCacheIndexes=[];this.scrollRect=null;this.scrollOffset=null;this.scrollDirection=null;this.scrollAdjustments=0;this.elementsCache=new Map;this.observer=(()=>{let _ro=null;const get=()=>{if(_ro){return _ro}if(!this.targetWindow||!this.targetWindow.ResizeObserver){return null}return _ro=new this.targetWindow.ResizeObserver((entries=>{entries.forEach((entry=>{const run=()=>{this._measureElement(entry.target,entry)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(run):run()}))}))};return{disconnect:()=>{var _a;(_a=get())==null?void 0:_a.disconnect();_ro=null},observe:target=>{var _a;return(_a=get())==null?void 0:_a.observe(target,{box:"border-box"})},unobserve:target=>{var _a;return(_a=get())==null?void 0:_a.unobserve(target)}}})();this.range=null;this.setOptions=opts2=>{Object.entries(opts2).forEach((([key,value])=>{if(typeof value==="undefined")delete opts2[key]}));this.options={debug:false,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:false,getItemKey:defaultKeyExtractor,rangeExtractor:defaultRangeExtractor,onChange:()=>{},measureElement:measureElement,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:true,isRtl:false,useScrollendEvent:true,useAnimationFrameWithResizeObserver:false,...opts2}};this.notify=sync=>{var _a,_b;(_b=(_a=this.options).onChange)==null?void 0:_b.call(_a,this,sync)};this.maybeNotify=memo$1((()=>{this.calculateRange();return[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),(isScrolling=>{this.notify(isScrolling)}),{key:false,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]});this.cleanup=()=>{this.unsubs.filter(Boolean).forEach((d=>d()));this.unsubs=[];this.observer.disconnect();this.scrollElement=null;this.targetWindow=null};this._didMount=()=>()=>{this.cleanup()};this._willUpdate=()=>{var _a;const scrollElement=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==scrollElement){this.cleanup();if(!scrollElement){this.maybeNotify();return}this.scrollElement=scrollElement;if(this.scrollElement&&"ownerDocument"in this.scrollElement){this.targetWindow=this.scrollElement.ownerDocument.defaultView}else{this.targetWindow=((_a=this.scrollElement)==null?void 0:_a.window)??null}this.elementsCache.forEach((cached=>{this.observer.observe(cached)}));this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0});this.unsubs.push(this.options.observeElementRect(this,(rect=>{this.scrollRect=rect;this.maybeNotify()})));this.unsubs.push(this.options.observeElementOffset(this,((offset,isScrolling)=>{this.scrollAdjustments=0;this.scrollDirection=isScrolling?this.getScrollOffset()<offset?"forward":"backward":null;this.scrollOffset=offset;this.isScrolling=isScrolling;this.maybeNotify()})))}};this.getSize=()=>{if(!this.options.enabled){this.scrollRect=null;return 0}this.scrollRect=this.scrollRect??this.options.initialRect;return this.scrollRect[this.options.horizontal?"width":"height"]};this.getScrollOffset=()=>{if(!this.options.enabled){this.scrollOffset=null;return 0}this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==="function"?this.options.initialOffset():this.options.initialOffset);return this.scrollOffset};this.getFurthestMeasurement=(measurements,index)=>{const furthestMeasurementsFound=new Map;const furthestMeasurements=new Map;for(let m=index-1;m>=0;m--){const measurement=measurements[m];if(furthestMeasurementsFound.has(measurement.lane)){continue}const previousFurthestMeasurement=furthestMeasurements.get(measurement.lane);if(previousFurthestMeasurement==null||measurement.end>previousFurthestMeasurement.end){furthestMeasurements.set(measurement.lane,measurement)}else if(measurement.end<previousFurthestMeasurement.end){furthestMeasurementsFound.set(measurement.lane,true)}if(furthestMeasurementsFound.size===this.options.lanes){break}}return furthestMeasurements.size===this.options.lanes?Array.from(furthestMeasurements.values()).sort(((a,b)=>{if(a.end===b.end){return a.index-b.index}return a.end-b.end}))[0]:void 0};this.getMeasurementOptions=memo$1((()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled]),((count2,paddingStart,scrollMargin,getItemKey,enabled)=>{this.pendingMeasuredCacheIndexes=[];return{count:count2,paddingStart:paddingStart,scrollMargin:scrollMargin,getItemKey:getItemKey,enabled:enabled}}),{key:false});this.getMeasurements=memo$1((()=>[this.getMeasurementOptions(),this.itemSizeCache]),(({count:count2,paddingStart:paddingStart,scrollMargin:scrollMargin,getItemKey:getItemKey,enabled:enabled},itemSizeCache)=>{if(!enabled){this.measurementsCache=[];this.itemSizeCache.clear();return[]}if(this.measurementsCache.length===0){this.measurementsCache=this.options.initialMeasurementsCache;this.measurementsCache.forEach((item=>{this.itemSizeCache.set(item.key,item.size)}))}const min2=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const measurements=this.measurementsCache.slice(0,min2);for(let i=min2;i<count2;i++){const key=getItemKey(i);const furthestMeasurement=this.options.lanes===1?measurements[i-1]:this.getFurthestMeasurement(measurements,i);const start=furthestMeasurement?furthestMeasurement.end+this.options.gap:paddingStart+scrollMargin;const measuredSize=itemSizeCache.get(key);const size=typeof measuredSize==="number"?measuredSize:this.options.estimateSize(i);const end=start+size;const lane=furthestMeasurement?furthestMeasurement.lane:i%this.options.lanes;measurements[i]={index:i,start:start,size:size,end:end,key:key,lane:lane}}this.measurementsCache=measurements;return measurements}),{key:false,debug:()=>this.options.debug});this.calculateRange=memo$1((()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset()]),((measurements,outerSize,scrollOffset)=>this.range=measurements.length>0&&outerSize>0?calculateRange({measurements:measurements,outerSize:outerSize,scrollOffset:scrollOffset}):null),{key:false,debug:()=>this.options.debug});this.getVirtualIndexes=memo$1((()=>{let startIndex=null;let endIndex=null;const range=this.calculateRange();if(range){startIndex=range.startIndex;endIndex=range.endIndex}return[this.options.rangeExtractor,this.options.overscan,this.options.count,startIndex,endIndex]}),((rangeExtractor,overscan,count2,startIndex,endIndex)=>startIndex===null||endIndex===null?[]:rangeExtractor({startIndex:startIndex,endIndex:endIndex,overscan:overscan,count:count2})),{key:false,debug:()=>this.options.debug});this.indexFromElement=node=>{const attributeName=this.options.indexAttribute;const indexStr=node.getAttribute(attributeName);if(!indexStr){console.warn(`Missing attribute name '${attributeName}={index}' on measured element.`);return-1}return parseInt(indexStr,10)};this._measureElement=(node,entry)=>{const index=this.indexFromElement(node);const item=this.measurementsCache[index];if(!item){return}const key=item.key;const prevNode=this.elementsCache.get(key);if(prevNode!==node){if(prevNode){this.observer.unobserve(prevNode)}this.observer.observe(node);this.elementsCache.set(key,node)}if(node.isConnected){this.resizeItem(index,this.options.measureElement(node,entry,this))}};this.resizeItem=(index,size)=>{const item=this.measurementsCache[index];if(!item){return}const itemSize=this.itemSizeCache.get(item.key)??item.size;const delta=size-itemSize;if(delta!==0){if(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(item,delta,this):item.start<this.getScrollOffset()+this.scrollAdjustments){this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=delta,behavior:void 0})}this.pendingMeasuredCacheIndexes.push(item.index);this.itemSizeCache=new Map(this.itemSizeCache.set(item.key,size));this.notify(false)}};this.measureElement=node=>{if(!node){this.elementsCache.forEach(((cached,key)=>{if(!cached.isConnected){this.observer.unobserve(cached);this.elementsCache.delete(key)}}));return}this._measureElement(node,void 0)};this.getVirtualItems=memo$1((()=>[this.getVirtualIndexes(),this.getMeasurements()]),((indexes,measurements)=>{const virtualItems=[];for(let k=0,len=indexes.length;k<len;k++){const i=indexes[k];const measurement=measurements[i];virtualItems.push(measurement)}return virtualItems}),{key:false,debug:()=>this.options.debug});this.getVirtualItemForOffset=offset=>{const measurements=this.getMeasurements();if(measurements.length===0){return void 0}return notUndefined(measurements[findNearestBinarySearch(0,measurements.length-1,(index=>notUndefined(measurements[index]).start),offset)])};this.getOffsetForAlignment=(toOffset,align)=>{const size=this.getSize();const scrollOffset=this.getScrollOffset();if(align==="auto"){if(toOffset>=scrollOffset+size){align="end"}}if(align==="end"){toOffset-=size}const scrollSizeProp=this.options.horizontal?"scrollWidth":"scrollHeight";const scrollSize=this.scrollElement?"document"in this.scrollElement?this.scrollElement.document.documentElement[scrollSizeProp]:this.scrollElement[scrollSizeProp]:0;const maxOffset=scrollSize-size;return Math.max(Math.min(maxOffset,toOffset),0)};this.getOffsetForIndex=(index,align="auto")=>{index=Math.max(0,Math.min(index,this.options.count-1));const item=this.measurementsCache[index];if(!item){return void 0}const size=this.getSize();const scrollOffset=this.getScrollOffset();if(align==="auto"){if(item.end>=scrollOffset+size-this.options.scrollPaddingEnd){align="end"}else if(item.start<=scrollOffset+this.options.scrollPaddingStart){align="start"}else{return[scrollOffset,align]}}const centerOffset=item.start-this.options.scrollPaddingStart+(item.size-size)/2;switch(align){case"center":return[this.getOffsetForAlignment(centerOffset,align),align];case"end":return[this.getOffsetForAlignment(item.end+this.options.scrollPaddingEnd,align),align];default:return[this.getOffsetForAlignment(item.start-this.options.scrollPaddingStart,align),align]}};this.isDynamicMode=()=>this.elementsCache.size>0;this.cancelScrollToIndex=()=>{if(this.scrollToIndexTimeoutId!==null&&this.targetWindow){this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId);this.scrollToIndexTimeoutId=null}};this.scrollToOffset=(toOffset,{align:align="start",behavior:behavior}={})=>{this.cancelScrollToIndex();if(behavior==="smooth"&&this.isDynamicMode()){console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.")}this._scrollToOffset(this.getOffsetForAlignment(toOffset,align),{adjustments:void 0,behavior:behavior})};this.scrollToIndex=(index,{align:initialAlign="auto",behavior:behavior}={})=>{index=Math.max(0,Math.min(index,this.options.count-1));this.cancelScrollToIndex();if(behavior==="smooth"&&this.isDynamicMode()){console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.")}const offsetAndAlign=this.getOffsetForIndex(index,initialAlign);if(!offsetAndAlign)return;const[offset,align]=offsetAndAlign;this._scrollToOffset(offset,{adjustments:void 0,behavior:behavior});if(behavior!=="smooth"&&this.isDynamicMode()&&this.targetWindow){this.scrollToIndexTimeoutId=this.targetWindow.setTimeout((()=>{this.scrollToIndexTimeoutId=null;const elementInDOM=this.elementsCache.has(this.options.getItemKey(index));if(elementInDOM){const[latestOffset]=notUndefined(this.getOffsetForIndex(index,align));if(!approxEqual(latestOffset,this.getScrollOffset())){this.scrollToIndex(index,{align:align,behavior:behavior})}}else{this.scrollToIndex(index,{align:align,behavior:behavior})}}))}};this.scrollBy=(delta,{behavior:behavior}={})=>{this.cancelScrollToIndex();if(behavior==="smooth"&&this.isDynamicMode()){console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.")}this._scrollToOffset(this.getScrollOffset()+delta,{adjustments:void 0,behavior:behavior})};this.getTotalSize=()=>{var _a;const measurements=this.getMeasurements();let end;if(measurements.length===0){end=this.options.paddingStart}else{end=this.options.lanes===1?((_a=measurements[measurements.length-1])==null?void 0:_a.end)??0:Math.max(...measurements.slice(-this.options.lanes).map((m=>m.end)))}return Math.max(end-this.options.scrollMargin+this.options.paddingEnd,0)};this._scrollToOffset=(offset,{adjustments:adjustments,behavior:behavior})=>{this.options.scrollToFn(offset,{behavior:behavior,adjustments:adjustments},this)};this.measure=()=>{this.itemSizeCache=new Map;this.notify(false)};this.setOptions(opts)}}const findNearestBinarySearch=(low,high,getCurrentValue,value)=>{while(low<=high){const middle=(low+high)/2|0;const currentValue=getCurrentValue(middle);if(currentValue<value){low=middle+1}else if(currentValue>value){high=middle-1}else{return middle}}if(low>0){return low-1}else{return 0}};function calculateRange({measurements:measurements,outerSize:outerSize,scrollOffset:scrollOffset}){const count2=measurements.length-1;const getOffset=index=>measurements[index].start;const startIndex=findNearestBinarySearch(0,count2,getOffset,scrollOffset);let endIndex=startIndex;while(endIndex<count2&&measurements[endIndex].end<scrollOffset+outerSize){endIndex++}return{startIndex:startIndex,endIndex:endIndex}}const useIsomorphicLayoutEffect=typeof document!=="undefined"?React.useLayoutEffect:React.useEffect;function useVirtualizerBase(options){const rerender=React.useReducer((()=>({})),{})[1];const resolvedOptions={...options,onChange:(instance2,sync)=>{var _a;if(sync){flushSync(rerender)}else{rerender()}(_a=options.onChange)==null?void 0:_a.call(options,instance2,sync)}};const[instance]=React.useState((()=>new Virtualizer(resolvedOptions)));instance.setOptions(resolvedOptions);useIsomorphicLayoutEffect((()=>instance._didMount()),[]);useIsomorphicLayoutEffect((()=>instance._willUpdate()));return instance}function useVirtualizer(options){return useVirtualizerBase({observeElementRect:observeElementRect,observeElementOffset:observeElementOffset,scrollToFn:elementScroll,...options})}const getVirtualizedContainerStyles=maxHeight=>{let heightValue="600px";if(maxHeight){switch(maxHeight){case"xs":heightValue="200px";break;case"sm":heightValue="300px";break;case"md":heightValue="400px";break;case"lg":heightValue="500px";break;case"xl":heightValue="600px";break;case"xxl":heightValue="700px";break;case"xxxl":heightValue="800px";break;default:if(maxHeight!=="auto"){heightValue=maxHeight}}}return{overflow:"auto",position:"relative",height:heightValue,width:"100%"}};const getVirtualizedRowStyle=startPosition=>({position:"absolute",top:0,left:0,height:"40px",transform:`translateY(${startPosition}px)`,tableLayout:"fixed"});const getRowHeightEstimate=rowType=>{switch(rowType){case"header":return 40;case"loading":return 30;case"footer":return 40;case"row":default:return 40}};const AdvancedTableContext=createContext({});const AdvancedTableProvider=({children:children,...props})=>{var _a;const tableContainerRef=useRef(null);const containerRef=props.tableContainerRef||tableContainerRef;const table=props.table;const isVirtualized=props.virtualizedRows||props.enableVirtualization;const headerRef=useRef(null);const sampleRowRef=useRef(null);const[headerHeight,setHeaderHeight]=useState(44);const[rowHeight,setRowHeight]=useState(38);const[actionBarHeight,setActionBarHeight]=useState(0);const measureHeights=useCallback((()=>{var _a2;const wrapper=((_a2=props.tableContainerRef)==null?void 0:_a2.current)||tableContainerRef.current;if(headerRef.current){const headerElement=headerRef.current;const headerRect=headerElement.getBoundingClientRect();if(headerRect.height>0){setHeaderHeight(headerRect.height)}}if(sampleRowRef.current){const rowRect=sampleRowRef.current.getBoundingClientRect();if(rowRect.height>0){setRowHeight(rowRect.height)}}if(wrapper){const actionBar=wrapper.querySelector(".row-selection-actions-card.is-visible, .row-selection-actions-card.show-action-card");const measuredActionBarHeight=actionBar?measureElementHeight(actionBar):0;setActionBarHeight(measuredActionBarHeight);wrapper.style.setProperty("--advanced-table-action-bar-height",`${measuredActionBarHeight}px`)}}),[props.tableContainerRef]);useEffect((()=>{var _a2;const resizeObserver=new ResizeObserver((()=>{measureHeights()}));if(headerRef.current){resizeObserver.observe(headerRef.current)}const wrapper=((_a2=props.tableContainerRef)==null?void 0:_a2.current)||tableContainerRef.current;const actionBar=wrapper==null?void 0:wrapper.querySelector(".row-selection-actions-card");if(actionBar){resizeObserver.observe(actionBar)}if(sampleRowRef.current){resizeObserver.observe(sampleRowRef.current)}const timeoutId=setTimeout(measureHeights,100);return()=>{resizeObserver.disconnect();clearTimeout(timeoutId)}}),[measureHeights]);const headerGroupCount=((_a=table==null?void 0:table.getHeaderGroups())==null?void 0:_a.length)??0;useEffect((()=>{measureHeights()}),[table==null?void 0:table.getRowModel().rows.length,headerGroupCount,props.isActionBarVisible,measureHeights]);const flattenedItems=useMemo((()=>{if(!isVirtualized||!table){return[]}const tableRows=table.getRowModel().rows;const items=[];const subRowHeaders=props.subRowHeaders;const inlineRowLoading=props.inlineRowLoading;const columnDefinitions=props.columnDefinitions;tableRows.forEach(((row,index)=>{var _a2,_b,_c;const isFirstChildofSubrow=row.depth>0&&row.index===0;if(isFirstChildofSubrow&&subRowHeaders){items.push({type:"header",row:row,id:`header-${row.id}-${index}`})}items.push({type:"row",row:row,id:`row-${row.id}-${index}`});const isExpandable=row.getIsExpanded();const rowHasNoChildren=((_a2=row.original)==null?void 0:_a2.children)&&!row.original.children.length?true:false;const isDataLoading=isExpandable&&(inlineRowLoading&&rowHasNoChildren)&&row.depth<(((_c=(_b=columnDefinitions[0])==null?void 0:_b.cellAccessors)==null?void 0:_c.length)||0);if(isDataLoading){items.push({type:"loading",row:row,id:`loading-${row.id}-${index}`})}}));const isFetching=props.isFetching||false;const shouldAddFooter=table&&!isFetching&&tableRows.length>0;if(shouldAddFooter){items.push({type:"footer",row:{},id:`footer-row`})}return items}),[isVirtualized,table,props.subRowHeaders,props.inlineRowLoading,props.columnDefinitions,table==null?void 0:table.getRowModel().rows.length,JSON.stringify((table==null?void 0:table.getState().sorting)||[]),JSON.stringify((table==null?void 0:table.getState().expanded)||{})]);const virtualizer=useVirtualizer({count:isVirtualized&&flattenedItems.length>0?flattenedItems.length:0,getScrollElement:()=>containerRef.current,estimateSize:index=>{if(!isVirtualized||flattenedItems.length===0)return 0;const item=flattenedItems[index];if(!item)return getRowHeightEstimate("row");return getRowHeightEstimate(item.type)},overscan:10,getItemKey:index=>{var _a2;if(!isVirtualized||flattenedItems.length===0||index>=flattenedItems.length){return`item-${index}`}return((_a2=flattenedItems[index])==null?void 0:_a2.id)||`item-${index}`}});useEffect((()=>{if(isVirtualized&&virtualizer&&table&&containerRef.current){virtualizer.setOptions({...virtualizer.options,count:flattenedItems.length});virtualizer.measure()}}),[isVirtualized,virtualizer,table,containerRef,JSON.stringify((table==null?void 0:table.getState().sorting)||[]),JSON.stringify((table==null?void 0:table.getState().expanded)||{}),flattenedItems.length]);const contextValue={...props,table:table,tableContainerRef:containerRef,virtualizer:isVirtualized?virtualizer:null,flattenedItems:flattenedItems,virtualizedRows:isVirtualized,enableVirtualization:isVirtualized,rowPinning:props.rowPinning,setRowPinning:props.setRowPinning,keepPinnedRows:props.keepPinnedRows,headerHeight:headerHeight,rowHeight:rowHeight,actionBarHeight:actionBarHeight,headerRef:headerRef,sampleRowRef:sampleRowRef,measureHeights:measureHeights};return jsx(AdvancedTableContext.Provider,{value:contextValue,children:children})};
|
|
2
|
+
/**
|
|
3
|
+
* table-core
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) TanStack
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
9
|
+
*
|
|
10
|
+
* @license MIT
|
|
11
|
+
*/function createColumnHelper(){return{accessor:(accessor,column)=>typeof accessor==="function"?{...column,accessorFn:accessor}:{...column,accessorKey:accessor},display:column=>column,group:column=>column}}function functionalUpdate(updater,input){return typeof updater==="function"?updater(input):updater}function makeStateUpdater(key,instance){return updater=>{instance.setState((old=>({...old,[key]:functionalUpdate(updater,old[key])})))}}function isFunction(d){return d instanceof Function}function isNumberArray(d){return Array.isArray(d)&&d.every((val=>typeof val==="number"))}function flattenBy(arr,getChildren){const flat=[];const recurse=subArr=>{subArr.forEach((item=>{flat.push(item);const children=getChildren(item);if(children!=null&&children.length){recurse(children)}}))};recurse(arr);return flat}function memo(getDeps,fn,opts){let deps=[];let result;return depArgs=>{let depTime;if(opts.key&&opts.debug)depTime=Date.now();const newDeps=getDeps(depArgs);const depsChanged=newDeps.length!==deps.length||newDeps.some(((dep,index)=>deps[index]!==dep));if(!depsChanged){return result}deps=newDeps;let resultTime;if(opts.key&&opts.debug)resultTime=Date.now();result=fn(...newDeps);opts==null||opts.onChange==null||opts.onChange(result);if(opts.key&&opts.debug){if(opts!=null&&opts.debug()){const depEndTime=Math.round((Date.now()-depTime)*100)/100;const resultEndTime=Math.round((Date.now()-resultTime)*100)/100;const resultFpsPercentage=resultEndTime/16;const pad=(str,num)=>{str=String(str);while(str.length<num){str=" "+str}return str};console.info(`%c⏱ ${pad(resultEndTime,5)} /${pad(depEndTime,5)} ms`,`\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(0,Math.min(120-120*resultFpsPercentage,120))}deg 100% 31%);`,opts==null?void 0:opts.key)}}return result}}function getMemoOptions(tableOptions,debugLevel,key,onChange){return{debug:()=>{var _tableOptions$debugAl;return(_tableOptions$debugAl=tableOptions==null?void 0:tableOptions.debugAll)!=null?_tableOptions$debugAl:tableOptions[debugLevel]},key:false,onChange:onChange}}function createCell(table,row,column,columnId){const getRenderValue=()=>{var _cell$getValue;return(_cell$getValue=cell.getValue())!=null?_cell$getValue:table.options.renderFallbackValue};const cell={id:`${row.id}_${column.id}`,row:row,column:column,getValue:()=>row.getValue(columnId),renderValue:getRenderValue,getContext:memo((()=>[table,column,row,cell]),((table2,column2,row2,cell2)=>({table:table2,column:column2,row:row2,cell:cell2,getValue:cell2.getValue,renderValue:cell2.renderValue})),getMemoOptions(table.options,"debugCells"))};table._features.forEach((feature=>{feature.createCell==null||feature.createCell(cell,column,row,table)}),{});return cell}function createColumn(table,columnDef,depth,parent){var _ref,_resolvedColumnDef$id;const defaultColumn=table._getDefaultColumnDef();const resolvedColumnDef={...defaultColumn,...columnDef};const accessorKey=resolvedColumnDef.accessorKey;let id=(_ref=(_resolvedColumnDef$id=resolvedColumnDef.id)!=null?_resolvedColumnDef$id:accessorKey?typeof String.prototype.replaceAll==="function"?accessorKey.replaceAll(".","_"):accessorKey.replace(/\./g,"_"):void 0)!=null?_ref:typeof resolvedColumnDef.header==="string"?resolvedColumnDef.header:void 0;let accessorFn;if(resolvedColumnDef.accessorFn){accessorFn=resolvedColumnDef.accessorFn}else if(accessorKey){if(accessorKey.includes(".")){accessorFn=originalRow=>{let result=originalRow;for(const key of accessorKey.split(".")){var _result;result=(_result=result)==null?void 0:_result[key]}return result}}else{accessorFn=originalRow=>originalRow[resolvedColumnDef.accessorKey]}}if(!id){throw new Error}let column={id:`${String(id)}`,accessorFn:accessorFn,parent:parent,depth:depth,columnDef:resolvedColumnDef,columns:[],getFlatColumns:memo((()=>[true]),(()=>{var _column$columns;return[column,...(_column$columns=column.columns)==null?void 0:_column$columns.flatMap((d=>d.getFlatColumns()))]}),getMemoOptions(table.options,"debugColumns")),getLeafColumns:memo((()=>[table._getOrderColumnsFn()]),(orderColumns2=>{var _column$columns2;if((_column$columns2=column.columns)!=null&&_column$columns2.length){let leafColumns=column.columns.flatMap((column2=>column2.getLeafColumns()));return orderColumns2(leafColumns)}return[column]}),getMemoOptions(table.options,"debugColumns"))};for(const feature of table._features){feature.createColumn==null||feature.createColumn(column,table)}return column}const debug="debugHeaders";function createHeader(table,column,options){var _options$id;const id=(_options$id=options.id)!=null?_options$id:column.id;let header={id:id,column:column,index:options.index,isPlaceholder:!!options.isPlaceholder,placeholderId:options.placeholderId,depth:options.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const leafHeaders=[];const recurseHeader=h=>{if(h.subHeaders&&h.subHeaders.length){h.subHeaders.map(recurseHeader)}leafHeaders.push(h)};recurseHeader(header);return leafHeaders},getContext:()=>({table:table,header:header,column:column})};table._features.forEach((feature=>{feature.createHeader==null||feature.createHeader(header,table)}));return header}const Headers={createTable:table=>{table.getHeaderGroups=memo((()=>[table.getAllColumns(),table.getVisibleLeafColumns(),table.getState().columnPinning.left,table.getState().columnPinning.right]),((allColumns,leafColumns,left,right)=>{var _left$map$filter,_right$map$filter;const leftColumns=(_left$map$filter=left==null?void 0:left.map((columnId=>leafColumns.find((d=>d.id===columnId)))).filter(Boolean))!=null?_left$map$filter:[];const rightColumns=(_right$map$filter=right==null?void 0:right.map((columnId=>leafColumns.find((d=>d.id===columnId)))).filter(Boolean))!=null?_right$map$filter:[];const centerColumns=leafColumns.filter((column=>!(left!=null&&left.includes(column.id))&&!(right!=null&&right.includes(column.id))));const headerGroups=buildHeaderGroups(allColumns,[...leftColumns,...centerColumns,...rightColumns],table);return headerGroups}),getMemoOptions(table.options,debug));table.getCenterHeaderGroups=memo((()=>[table.getAllColumns(),table.getVisibleLeafColumns(),table.getState().columnPinning.left,table.getState().columnPinning.right]),((allColumns,leafColumns,left,right)=>{leafColumns=leafColumns.filter((column=>!(left!=null&&left.includes(column.id))&&!(right!=null&&right.includes(column.id))));return buildHeaderGroups(allColumns,leafColumns,table,"center")}),getMemoOptions(table.options,debug));table.getLeftHeaderGroups=memo((()=>[table.getAllColumns(),table.getVisibleLeafColumns(),table.getState().columnPinning.left]),((allColumns,leafColumns,left)=>{var _left$map$filter2;const orderedLeafColumns=(_left$map$filter2=left==null?void 0:left.map((columnId=>leafColumns.find((d=>d.id===columnId)))).filter(Boolean))!=null?_left$map$filter2:[];return buildHeaderGroups(allColumns,orderedLeafColumns,table,"left")}),getMemoOptions(table.options,debug));table.getRightHeaderGroups=memo((()=>[table.getAllColumns(),table.getVisibleLeafColumns(),table.getState().columnPinning.right]),((allColumns,leafColumns,right)=>{var _right$map$filter2;const orderedLeafColumns=(_right$map$filter2=right==null?void 0:right.map((columnId=>leafColumns.find((d=>d.id===columnId)))).filter(Boolean))!=null?_right$map$filter2:[];return buildHeaderGroups(allColumns,orderedLeafColumns,table,"right")}),getMemoOptions(table.options,debug));table.getFooterGroups=memo((()=>[table.getHeaderGroups()]),(headerGroups=>[...headerGroups].reverse()),getMemoOptions(table.options,debug));table.getLeftFooterGroups=memo((()=>[table.getLeftHeaderGroups()]),(headerGroups=>[...headerGroups].reverse()),getMemoOptions(table.options,debug));table.getCenterFooterGroups=memo((()=>[table.getCenterHeaderGroups()]),(headerGroups=>[...headerGroups].reverse()),getMemoOptions(table.options,debug));table.getRightFooterGroups=memo((()=>[table.getRightHeaderGroups()]),(headerGroups=>[...headerGroups].reverse()),getMemoOptions(table.options,debug));table.getFlatHeaders=memo((()=>[table.getHeaderGroups()]),(headerGroups=>headerGroups.map((headerGroup=>headerGroup.headers)).flat()),getMemoOptions(table.options,debug));table.getLeftFlatHeaders=memo((()=>[table.getLeftHeaderGroups()]),(left=>left.map((headerGroup=>headerGroup.headers)).flat()),getMemoOptions(table.options,debug));table.getCenterFlatHeaders=memo((()=>[table.getCenterHeaderGroups()]),(left=>left.map((headerGroup=>headerGroup.headers)).flat()),getMemoOptions(table.options,debug));table.getRightFlatHeaders=memo((()=>[table.getRightHeaderGroups()]),(left=>left.map((headerGroup=>headerGroup.headers)).flat()),getMemoOptions(table.options,debug));table.getCenterLeafHeaders=memo((()=>[table.getCenterFlatHeaders()]),(flatHeaders=>flatHeaders.filter((header=>{var _header$subHeaders;return!((_header$subHeaders=header.subHeaders)!=null&&_header$subHeaders.length)}))),getMemoOptions(table.options,debug));table.getLeftLeafHeaders=memo((()=>[table.getLeftFlatHeaders()]),(flatHeaders=>flatHeaders.filter((header=>{var _header$subHeaders2;return!((_header$subHeaders2=header.subHeaders)!=null&&_header$subHeaders2.length)}))),getMemoOptions(table.options,debug));table.getRightLeafHeaders=memo((()=>[table.getRightFlatHeaders()]),(flatHeaders=>flatHeaders.filter((header=>{var _header$subHeaders3;return!((_header$subHeaders3=header.subHeaders)!=null&&_header$subHeaders3.length)}))),getMemoOptions(table.options,debug));table.getLeafHeaders=memo((()=>[table.getLeftHeaderGroups(),table.getCenterHeaderGroups(),table.getRightHeaderGroups()]),((left,center,right)=>{var _left$0$headers,_left$,_center$0$headers,_center$,_right$0$headers,_right$;return[...(_left$0$headers=(_left$=left[0])==null?void 0:_left$.headers)!=null?_left$0$headers:[],...(_center$0$headers=(_center$=center[0])==null?void 0:_center$.headers)!=null?_center$0$headers:[],...(_right$0$headers=(_right$=right[0])==null?void 0:_right$.headers)!=null?_right$0$headers:[]].map((header=>header.getLeafHeaders())).flat()}),getMemoOptions(table.options,debug))}};function buildHeaderGroups(allColumns,columnsToGroup,table,headerFamily){var _headerGroups$0$heade,_headerGroups$;let maxDepth=0;const findMaxDepth=function(columns,depth){if(depth===void 0){depth=1}maxDepth=Math.max(maxDepth,depth);columns.filter((column=>column.getIsVisible())).forEach((column=>{var _column$columns;if((_column$columns=column.columns)!=null&&_column$columns.length){findMaxDepth(column.columns,depth+1)}}),0)};findMaxDepth(allColumns);let headerGroups=[];const createHeaderGroup=(headersToGroup,depth)=>{const headerGroup={depth:depth,id:[headerFamily,`${depth}`].filter(Boolean).join("_"),headers:[]};const pendingParentHeaders=[];headersToGroup.forEach((headerToGroup=>{const latestPendingParentHeader=[...pendingParentHeaders].reverse()[0];const isLeafHeader=headerToGroup.column.depth===headerGroup.depth;let column;let isPlaceholder=false;if(isLeafHeader&&headerToGroup.column.parent){column=headerToGroup.column.parent}else{column=headerToGroup.column;isPlaceholder=true}if(latestPendingParentHeader&&(latestPendingParentHeader==null?void 0:latestPendingParentHeader.column)===column){latestPendingParentHeader.subHeaders.push(headerToGroup)}else{const header=createHeader(table,column,{id:[headerFamily,depth,column.id,headerToGroup==null?void 0:headerToGroup.id].filter(Boolean).join("_"),isPlaceholder:isPlaceholder,placeholderId:isPlaceholder?`${pendingParentHeaders.filter((d=>d.column===column)).length}`:void 0,depth:depth,index:pendingParentHeaders.length});header.subHeaders.push(headerToGroup);pendingParentHeaders.push(header)}headerGroup.headers.push(headerToGroup);headerToGroup.headerGroup=headerGroup}));headerGroups.push(headerGroup);if(depth>0){createHeaderGroup(pendingParentHeaders,depth-1)}};const bottomHeaders=columnsToGroup.map(((column,index)=>createHeader(table,column,{depth:maxDepth,index:index})));createHeaderGroup(bottomHeaders,maxDepth-1);headerGroups.reverse();const recurseHeadersForSpans=headers=>{const filteredHeaders=headers.filter((header=>header.column.getIsVisible()));return filteredHeaders.map((header=>{let colSpan=0;let rowSpan=0;let childRowSpans=[0];if(header.subHeaders&&header.subHeaders.length){childRowSpans=[];recurseHeadersForSpans(header.subHeaders).forEach((_ref=>{let{colSpan:childColSpan,rowSpan:childRowSpan}=_ref;colSpan+=childColSpan;childRowSpans.push(childRowSpan)}))}else{colSpan=1}const minChildRowSpan=Math.min(...childRowSpans);rowSpan=rowSpan+minChildRowSpan;header.colSpan=colSpan;header.rowSpan=rowSpan;return{colSpan:colSpan,rowSpan:rowSpan}}))};recurseHeadersForSpans((_headerGroups$0$heade=(_headerGroups$=headerGroups[0])==null?void 0:_headerGroups$.headers)!=null?_headerGroups$0$heade:[]);return headerGroups}const createRow=(table,id,original,rowIndex,depth,subRows,parentId)=>{let row={id:id,index:rowIndex,original:original,depth:depth,parentId:parentId,_valuesCache:{},_uniqueValuesCache:{},getValue:columnId=>{if(row._valuesCache.hasOwnProperty(columnId)){return row._valuesCache[columnId]}const column=table.getColumn(columnId);if(!(column!=null&&column.accessorFn)){return void 0}row._valuesCache[columnId]=column.accessorFn(row.original,rowIndex);return row._valuesCache[columnId]},getUniqueValues:columnId=>{if(row._uniqueValuesCache.hasOwnProperty(columnId)){return row._uniqueValuesCache[columnId]}const column=table.getColumn(columnId);if(!(column!=null&&column.accessorFn)){return void 0}if(!column.columnDef.getUniqueValues){row._uniqueValuesCache[columnId]=[row.getValue(columnId)];return row._uniqueValuesCache[columnId]}row._uniqueValuesCache[columnId]=column.columnDef.getUniqueValues(row.original,rowIndex);return row._uniqueValuesCache[columnId]},renderValue:columnId=>{var _row$getValue;return(_row$getValue=row.getValue(columnId))!=null?_row$getValue:table.options.renderFallbackValue},subRows:[],getLeafRows:()=>flattenBy(row.subRows,(d=>d.subRows)),getParentRow:()=>row.parentId?table.getRow(row.parentId,true):void 0,getParentRows:()=>{let parentRows=[];let currentRow=row;while(true){const parentRow=currentRow.getParentRow();if(!parentRow)break;parentRows.push(parentRow);currentRow=parentRow}return parentRows.reverse()},getAllCells:memo((()=>[table.getAllLeafColumns()]),(leafColumns=>leafColumns.map((column=>createCell(table,row,column,column.id)))),getMemoOptions(table.options,"debugRows")),_getAllCellsByColumnId:memo((()=>[row.getAllCells()]),(allCells=>allCells.reduce(((acc,cell)=>{acc[cell.column.id]=cell;return acc}),{})),getMemoOptions(table.options,"debugRows"))};for(let i=0;i<table._features.length;i++){const feature=table._features[i];feature==null||feature.createRow==null||feature.createRow(row,table)}return row};const ColumnFaceting={createColumn:(column,table)=>{column._getFacetedRowModel=table.options.getFacetedRowModel&&table.options.getFacetedRowModel(table,column.id);column.getFacetedRowModel=()=>{if(!column._getFacetedRowModel){return table.getPreFilteredRowModel()}return column._getFacetedRowModel()};column._getFacetedUniqueValues=table.options.getFacetedUniqueValues&&table.options.getFacetedUniqueValues(table,column.id);column.getFacetedUniqueValues=()=>{if(!column._getFacetedUniqueValues){return new Map}return column._getFacetedUniqueValues()};column._getFacetedMinMaxValues=table.options.getFacetedMinMaxValues&&table.options.getFacetedMinMaxValues(table,column.id);column.getFacetedMinMaxValues=()=>{if(!column._getFacetedMinMaxValues){return void 0}return column._getFacetedMinMaxValues()}}};const includesString=(row,columnId,filterValue)=>{var _filterValue$toString,_row$getValue;const search=filterValue==null||(_filterValue$toString=filterValue.toString())==null?void 0:_filterValue$toString.toLowerCase();return Boolean((_row$getValue=row.getValue(columnId))==null||(_row$getValue=_row$getValue.toString())==null||(_row$getValue=_row$getValue.toLowerCase())==null?void 0:_row$getValue.includes(search))};includesString.autoRemove=val=>testFalsey(val);const includesStringSensitive=(row,columnId,filterValue)=>{var _row$getValue2;return Boolean((_row$getValue2=row.getValue(columnId))==null||(_row$getValue2=_row$getValue2.toString())==null?void 0:_row$getValue2.includes(filterValue))};includesStringSensitive.autoRemove=val=>testFalsey(val);const equalsString=(row,columnId,filterValue)=>{var _row$getValue3;return((_row$getValue3=row.getValue(columnId))==null||(_row$getValue3=_row$getValue3.toString())==null?void 0:_row$getValue3.toLowerCase())===(filterValue==null?void 0:filterValue.toLowerCase())};equalsString.autoRemove=val=>testFalsey(val);const arrIncludes=(row,columnId,filterValue)=>{var _row$getValue4;return(_row$getValue4=row.getValue(columnId))==null?void 0:_row$getValue4.includes(filterValue)};arrIncludes.autoRemove=val=>testFalsey(val)||!(val!=null&&val.length);const arrIncludesAll=(row,columnId,filterValue)=>!filterValue.some((val=>{var _row$getValue5;return!((_row$getValue5=row.getValue(columnId))!=null&&_row$getValue5.includes(val))}));arrIncludesAll.autoRemove=val=>testFalsey(val)||!(val!=null&&val.length);const arrIncludesSome=(row,columnId,filterValue)=>filterValue.some((val=>{var _row$getValue6;return(_row$getValue6=row.getValue(columnId))==null?void 0:_row$getValue6.includes(val)}));arrIncludesSome.autoRemove=val=>testFalsey(val)||!(val!=null&&val.length);const equals=(row,columnId,filterValue)=>row.getValue(columnId)===filterValue;equals.autoRemove=val=>testFalsey(val);const weakEquals=(row,columnId,filterValue)=>row.getValue(columnId)==filterValue;weakEquals.autoRemove=val=>testFalsey(val);const inNumberRange=(row,columnId,filterValue)=>{let[min2,max2]=filterValue;const rowValue=row.getValue(columnId);return rowValue>=min2&&rowValue<=max2};inNumberRange.resolveFilterValue=val=>{let[unsafeMin,unsafeMax]=val;let parsedMin=typeof unsafeMin!=="number"?parseFloat(unsafeMin):unsafeMin;let parsedMax=typeof unsafeMax!=="number"?parseFloat(unsafeMax):unsafeMax;let min2=unsafeMin===null||Number.isNaN(parsedMin)?-Infinity:parsedMin;let max2=unsafeMax===null||Number.isNaN(parsedMax)?Infinity:parsedMax;if(min2>max2){const temp=min2;min2=max2;max2=temp}return[min2,max2]};inNumberRange.autoRemove=val=>testFalsey(val)||testFalsey(val[0])&&testFalsey(val[1]);const filterFns={includesString:includesString,includesStringSensitive:includesStringSensitive,equalsString:equalsString,arrIncludes:arrIncludes,arrIncludesAll:arrIncludesAll,arrIncludesSome:arrIncludesSome,equals:equals,weakEquals:weakEquals,inNumberRange:inNumberRange};function testFalsey(val){return val===void 0||val===null||val===""}const ColumnFiltering={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:state=>({columnFilters:[],...state}),getDefaultOptions:table=>({onColumnFiltersChange:makeStateUpdater("columnFilters",table),filterFromLeafRows:false,maxLeafRowFilterDepth:100}),createColumn:(column,table)=>{column.getAutoFilterFn=()=>{const firstRow=table.getCoreRowModel().flatRows[0];const value=firstRow==null?void 0:firstRow.getValue(column.id);if(typeof value==="string"){return filterFns.includesString}if(typeof value==="number"){return filterFns.inNumberRange}if(typeof value==="boolean"){return filterFns.equals}if(value!==null&&typeof value==="object"){return filterFns.equals}if(Array.isArray(value)){return filterFns.arrIncludes}return filterFns.weakEquals};column.getFilterFn=()=>{var _table$options$filter,_table$options$filter2;return isFunction(column.columnDef.filterFn)?column.columnDef.filterFn:column.columnDef.filterFn==="auto"?column.getAutoFilterFn():(_table$options$filter=(_table$options$filter2=table.options.filterFns)==null?void 0:_table$options$filter2[column.columnDef.filterFn])!=null?_table$options$filter:filterFns[column.columnDef.filterFn]};column.getCanFilter=()=>{var _column$columnDef$ena,_table$options$enable,_table$options$enable2;return((_column$columnDef$ena=column.columnDef.enableColumnFilter)!=null?_column$columnDef$ena:true)&&((_table$options$enable=table.options.enableColumnFilters)!=null?_table$options$enable:true)&&((_table$options$enable2=table.options.enableFilters)!=null?_table$options$enable2:true)&&!!column.accessorFn};column.getIsFiltered=()=>column.getFilterIndex()>-1;column.getFilterValue=()=>{var _table$getState$colum;return(_table$getState$colum=table.getState().columnFilters)==null||(_table$getState$colum=_table$getState$colum.find((d=>d.id===column.id)))==null?void 0:_table$getState$colum.value};column.getFilterIndex=()=>{var _table$getState$colum2,_table$getState$colum3;return(_table$getState$colum2=(_table$getState$colum3=table.getState().columnFilters)==null?void 0:_table$getState$colum3.findIndex((d=>d.id===column.id)))!=null?_table$getState$colum2:-1};column.setFilterValue=value=>{table.setColumnFilters((old=>{const filterFn=column.getFilterFn();const previousFilter=old==null?void 0:old.find((d=>d.id===column.id));const newFilter=functionalUpdate(value,previousFilter?previousFilter.value:void 0);if(shouldAutoRemoveFilter(filterFn,newFilter,column)){var _old$filter;return(_old$filter=old==null?void 0:old.filter((d=>d.id!==column.id)))!=null?_old$filter:[]}const newFilterObj={id:column.id,value:newFilter};if(previousFilter){var _old$map;return(_old$map=old==null?void 0:old.map((d=>{if(d.id===column.id){return newFilterObj}return d})))!=null?_old$map:[]}if(old!=null&&old.length){return[...old,newFilterObj]}return[newFilterObj]}))}},createRow:(row,_table)=>{row.columnFilters={};row.columnFiltersMeta={}},createTable:table=>{table.setColumnFilters=updater=>{const leafColumns=table.getAllLeafColumns();const updateFn=old=>{var _functionalUpdate;return(_functionalUpdate=functionalUpdate(updater,old))==null?void 0:_functionalUpdate.filter((filter=>{const column=leafColumns.find((d=>d.id===filter.id));if(column){const filterFn=column.getFilterFn();if(shouldAutoRemoveFilter(filterFn,filter.value,column)){return false}}return true}))};table.options.onColumnFiltersChange==null||table.options.onColumnFiltersChange(updateFn)};table.resetColumnFilters=defaultState=>{var _table$initialState$c,_table$initialState;table.setColumnFilters(defaultState?[]:(_table$initialState$c=(_table$initialState=table.initialState)==null?void 0:_table$initialState.columnFilters)!=null?_table$initialState$c:[])};table.getPreFilteredRowModel=()=>table.getCoreRowModel();table.getFilteredRowModel=()=>{if(!table._getFilteredRowModel&&table.options.getFilteredRowModel){table._getFilteredRowModel=table.options.getFilteredRowModel(table)}if(table.options.manualFiltering||!table._getFilteredRowModel){return table.getPreFilteredRowModel()}return table._getFilteredRowModel()}}};function shouldAutoRemoveFilter(filterFn,value,column){return(filterFn&&filterFn.autoRemove?filterFn.autoRemove(value,column):false)||typeof value==="undefined"||typeof value==="string"&&!value}const sum=(columnId,_leafRows,childRows)=>childRows.reduce(((sum2,next)=>{const nextValue=next.getValue(columnId);return sum2+(typeof nextValue==="number"?nextValue:0)}),0);const min=(columnId,_leafRows,childRows)=>{let min2;childRows.forEach((row=>{const value=row.getValue(columnId);if(value!=null&&(min2>value||min2===void 0&&value>=value)){min2=value}}));return min2};const max=(columnId,_leafRows,childRows)=>{let max2;childRows.forEach((row=>{const value=row.getValue(columnId);if(value!=null&&(max2<value||max2===void 0&&value>=value)){max2=value}}));return max2};const extent=(columnId,_leafRows,childRows)=>{let min2;let max2;childRows.forEach((row=>{const value=row.getValue(columnId);if(value!=null){if(min2===void 0){if(value>=value)min2=max2=value}else{if(min2>value)min2=value;if(max2<value)max2=value}}}));return[min2,max2]};const mean=(columnId,leafRows)=>{let count2=0;let sum2=0;leafRows.forEach((row=>{let value=row.getValue(columnId);if(value!=null&&(value=+value)>=value){++count2,sum2+=value}}));if(count2)return sum2/count2;return};const median=(columnId,leafRows)=>{if(!leafRows.length){return}const values=leafRows.map((row=>row.getValue(columnId)));if(!isNumberArray(values)){return}if(values.length===1){return values[0]}const mid=Math.floor(values.length/2);const nums=values.sort(((a,b)=>a-b));return values.length%2!==0?nums[mid]:(nums[mid-1]+nums[mid])/2};const unique=(columnId,leafRows)=>Array.from(new Set(leafRows.map((d=>d.getValue(columnId)))).values());const uniqueCount=(columnId,leafRows)=>new Set(leafRows.map((d=>d.getValue(columnId)))).size;const count=(_columnId,leafRows)=>leafRows.length;const aggregationFns={sum:sum,min:min,max:max,extent:extent,mean:mean,median:median,unique:unique,uniqueCount:uniqueCount,count:count};const ColumnGrouping={getDefaultColumnDef:()=>({aggregatedCell:props=>{var _toString,_props$getValue;return(_toString=(_props$getValue=props.getValue())==null||_props$getValue.toString==null?void 0:_props$getValue.toString())!=null?_toString:null},aggregationFn:"auto"}),getInitialState:state=>({grouping:[],...state}),getDefaultOptions:table=>({onGroupingChange:makeStateUpdater("grouping",table),groupedColumnMode:"reorder"}),createColumn:(column,table)=>{column.toggleGrouping=()=>{table.setGrouping((old=>{if(old!=null&&old.includes(column.id)){return old.filter((d=>d!==column.id))}return[...old!=null?old:[],column.id]}))};column.getCanGroup=()=>{var _column$columnDef$ena,_table$options$enable;return((_column$columnDef$ena=column.columnDef.enableGrouping)!=null?_column$columnDef$ena:true)&&((_table$options$enable=table.options.enableGrouping)!=null?_table$options$enable:true)&&(!!column.accessorFn||!!column.columnDef.getGroupingValue)};column.getIsGrouped=()=>{var _table$getState$group;return(_table$getState$group=table.getState().grouping)==null?void 0:_table$getState$group.includes(column.id)};column.getGroupedIndex=()=>{var _table$getState$group2;return(_table$getState$group2=table.getState().grouping)==null?void 0:_table$getState$group2.indexOf(column.id)};column.getToggleGroupingHandler=()=>{const canGroup=column.getCanGroup();return()=>{if(!canGroup)return;column.toggleGrouping()}};column.getAutoAggregationFn=()=>{const firstRow=table.getCoreRowModel().flatRows[0];const value=firstRow==null?void 0:firstRow.getValue(column.id);if(typeof value==="number"){return aggregationFns.sum}if(Object.prototype.toString.call(value)==="[object Date]"){return aggregationFns.extent}};column.getAggregationFn=()=>{var _table$options$aggreg,_table$options$aggreg2;if(!column){throw new Error}return isFunction(column.columnDef.aggregationFn)?column.columnDef.aggregationFn:column.columnDef.aggregationFn==="auto"?column.getAutoAggregationFn():(_table$options$aggreg=(_table$options$aggreg2=table.options.aggregationFns)==null?void 0:_table$options$aggreg2[column.columnDef.aggregationFn])!=null?_table$options$aggreg:aggregationFns[column.columnDef.aggregationFn]}},createTable:table=>{table.setGrouping=updater=>table.options.onGroupingChange==null?void 0:table.options.onGroupingChange(updater);table.resetGrouping=defaultState=>{var _table$initialState$g,_table$initialState;table.setGrouping(defaultState?[]:(_table$initialState$g=(_table$initialState=table.initialState)==null?void 0:_table$initialState.grouping)!=null?_table$initialState$g:[])};table.getPreGroupedRowModel=()=>table.getFilteredRowModel();table.getGroupedRowModel=()=>{if(!table._getGroupedRowModel&&table.options.getGroupedRowModel){table._getGroupedRowModel=table.options.getGroupedRowModel(table)}if(table.options.manualGrouping||!table._getGroupedRowModel){return table.getPreGroupedRowModel()}return table._getGroupedRowModel()}},createRow:(row,table)=>{row.getIsGrouped=()=>!!row.groupingColumnId;row.getGroupingValue=columnId=>{if(row._groupingValuesCache.hasOwnProperty(columnId)){return row._groupingValuesCache[columnId]}const column=table.getColumn(columnId);if(!(column!=null&&column.columnDef.getGroupingValue)){return row.getValue(columnId)}row._groupingValuesCache[columnId]=column.columnDef.getGroupingValue(row.original);return row._groupingValuesCache[columnId]};row._groupingValuesCache={}},createCell:(cell,column,row,table)=>{cell.getIsGrouped=()=>column.getIsGrouped()&&column.id===row.groupingColumnId;cell.getIsPlaceholder=()=>!cell.getIsGrouped()&&column.getIsGrouped();cell.getIsAggregated=()=>{var _row$subRows;return!cell.getIsGrouped()&&!cell.getIsPlaceholder()&&!!((_row$subRows=row.subRows)!=null&&_row$subRows.length)}}};function orderColumns(leafColumns,grouping,groupedColumnMode){if(!(grouping!=null&&grouping.length)||!groupedColumnMode){return leafColumns}const nonGroupingColumns=leafColumns.filter((col=>!grouping.includes(col.id)));if(groupedColumnMode==="remove"){return nonGroupingColumns}const groupingColumns=grouping.map((g=>leafColumns.find((col=>col.id===g)))).filter(Boolean);return[...groupingColumns,...nonGroupingColumns]}const ColumnOrdering={getInitialState:state=>({columnOrder:[],...state}),getDefaultOptions:table=>({onColumnOrderChange:makeStateUpdater("columnOrder",table)}),createColumn:(column,table)=>{column.getIndex=memo((position=>[_getVisibleLeafColumns(table,position)]),(columns=>columns.findIndex((d=>d.id===column.id))),getMemoOptions(table.options,"debugColumns"));column.getIsFirstColumn=position=>{var _columns$;const columns=_getVisibleLeafColumns(table,position);return((_columns$=columns[0])==null?void 0:_columns$.id)===column.id};column.getIsLastColumn=position=>{var _columns;const columns=_getVisibleLeafColumns(table,position);return((_columns=columns[columns.length-1])==null?void 0:_columns.id)===column.id}},createTable:table=>{table.setColumnOrder=updater=>table.options.onColumnOrderChange==null?void 0:table.options.onColumnOrderChange(updater);table.resetColumnOrder=defaultState=>{var _table$initialState$c;table.setColumnOrder(defaultState?[]:(_table$initialState$c=table.initialState.columnOrder)!=null?_table$initialState$c:[])};table._getOrderColumnsFn=memo((()=>[table.getState().columnOrder,table.getState().grouping,table.options.groupedColumnMode]),((columnOrder,grouping,groupedColumnMode)=>columns=>{let orderedColumns=[];if(!(columnOrder!=null&&columnOrder.length)){orderedColumns=columns}else{const columnOrderCopy=[...columnOrder];const columnsCopy=[...columns];while(columnsCopy.length&&columnOrderCopy.length){const targetColumnId=columnOrderCopy.shift();const foundIndex=columnsCopy.findIndex((d=>d.id===targetColumnId));if(foundIndex>-1){orderedColumns.push(columnsCopy.splice(foundIndex,1)[0])}}orderedColumns=[...orderedColumns,...columnsCopy]}return orderColumns(orderedColumns,grouping,groupedColumnMode)}),getMemoOptions(table.options,"debugTable"))}};const getDefaultColumnPinningState=()=>({left:[],right:[]});const ColumnPinning={getInitialState:state=>({columnPinning:getDefaultColumnPinningState(),...state}),getDefaultOptions:table=>({onColumnPinningChange:makeStateUpdater("columnPinning",table)}),createColumn:(column,table)=>{column.pin=position=>{const columnIds=column.getLeafColumns().map((d=>d.id)).filter(Boolean);table.setColumnPinning((old=>{var _old$left3,_old$right3;if(position==="right"){var _old$left,_old$right;return{left:((_old$left=old==null?void 0:old.left)!=null?_old$left:[]).filter((d=>!(columnIds!=null&&columnIds.includes(d)))),right:[...((_old$right=old==null?void 0:old.right)!=null?_old$right:[]).filter((d=>!(columnIds!=null&&columnIds.includes(d)))),...columnIds]}}if(position==="left"){var _old$left2,_old$right2;return{left:[...((_old$left2=old==null?void 0:old.left)!=null?_old$left2:[]).filter((d=>!(columnIds!=null&&columnIds.includes(d)))),...columnIds],right:((_old$right2=old==null?void 0:old.right)!=null?_old$right2:[]).filter((d=>!(columnIds!=null&&columnIds.includes(d))))}}return{left:((_old$left3=old==null?void 0:old.left)!=null?_old$left3:[]).filter((d=>!(columnIds!=null&&columnIds.includes(d)))),right:((_old$right3=old==null?void 0:old.right)!=null?_old$right3:[]).filter((d=>!(columnIds!=null&&columnIds.includes(d))))}}))};column.getCanPin=()=>{const leafColumns=column.getLeafColumns();return leafColumns.some((d=>{var _d$columnDef$enablePi,_ref,_table$options$enable;return((_d$columnDef$enablePi=d.columnDef.enablePinning)!=null?_d$columnDef$enablePi:true)&&((_ref=(_table$options$enable=table.options.enableColumnPinning)!=null?_table$options$enable:table.options.enablePinning)!=null?_ref:true)}))};column.getIsPinned=()=>{const leafColumnIds=column.getLeafColumns().map((d=>d.id));const{left:left,right:right}=table.getState().columnPinning;const isLeft=leafColumnIds.some((d=>left==null?void 0:left.includes(d)));const isRight=leafColumnIds.some((d=>right==null?void 0:right.includes(d)));return isLeft?"left":isRight?"right":false};column.getPinnedIndex=()=>{var _table$getState$colum,_table$getState$colum2;const position=column.getIsPinned();return position?(_table$getState$colum=(_table$getState$colum2=table.getState().columnPinning)==null||(_table$getState$colum2=_table$getState$colum2[position])==null?void 0:_table$getState$colum2.indexOf(column.id))!=null?_table$getState$colum:-1:0}},createRow:(row,table)=>{row.getCenterVisibleCells=memo((()=>[row._getAllVisibleCells(),table.getState().columnPinning.left,table.getState().columnPinning.right]),((allCells,left,right)=>{const leftAndRight=[...left!=null?left:[],...right!=null?right:[]];return allCells.filter((d=>!leftAndRight.includes(d.column.id)))}),getMemoOptions(table.options,"debugRows"));row.getLeftVisibleCells=memo((()=>[row._getAllVisibleCells(),table.getState().columnPinning.left]),((allCells,left)=>{const cells=(left!=null?left:[]).map((columnId=>allCells.find((cell=>cell.column.id===columnId)))).filter(Boolean).map((d=>({...d,position:"left"})));return cells}),getMemoOptions(table.options,"debugRows"));row.getRightVisibleCells=memo((()=>[row._getAllVisibleCells(),table.getState().columnPinning.right]),((allCells,right)=>{const cells=(right!=null?right:[]).map((columnId=>allCells.find((cell=>cell.column.id===columnId)))).filter(Boolean).map((d=>({...d,position:"right"})));return cells}),getMemoOptions(table.options,"debugRows"))},createTable:table=>{table.setColumnPinning=updater=>table.options.onColumnPinningChange==null?void 0:table.options.onColumnPinningChange(updater);table.resetColumnPinning=defaultState=>{var _table$initialState$c,_table$initialState;return table.setColumnPinning(defaultState?getDefaultColumnPinningState():(_table$initialState$c=(_table$initialState=table.initialState)==null?void 0:_table$initialState.columnPinning)!=null?_table$initialState$c:getDefaultColumnPinningState())};table.getIsSomeColumnsPinned=position=>{var _pinningState$positio;const pinningState=table.getState().columnPinning;if(!position){var _pinningState$left,_pinningState$right;return Boolean(((_pinningState$left=pinningState.left)==null?void 0:_pinningState$left.length)||((_pinningState$right=pinningState.right)==null?void 0:_pinningState$right.length))}return Boolean((_pinningState$positio=pinningState[position])==null?void 0:_pinningState$positio.length)};table.getLeftLeafColumns=memo((()=>[table.getAllLeafColumns(),table.getState().columnPinning.left]),((allColumns,left)=>(left!=null?left:[]).map((columnId=>allColumns.find((column=>column.id===columnId)))).filter(Boolean)),getMemoOptions(table.options,"debugColumns"));table.getRightLeafColumns=memo((()=>[table.getAllLeafColumns(),table.getState().columnPinning.right]),((allColumns,right)=>(right!=null?right:[]).map((columnId=>allColumns.find((column=>column.id===columnId)))).filter(Boolean)),getMemoOptions(table.options,"debugColumns"));table.getCenterLeafColumns=memo((()=>[table.getAllLeafColumns(),table.getState().columnPinning.left,table.getState().columnPinning.right]),((allColumns,left,right)=>{const leftAndRight=[...left!=null?left:[],...right!=null?right:[]];return allColumns.filter((d=>!leftAndRight.includes(d.id)))}),getMemoOptions(table.options,"debugColumns"))}};const defaultColumnSizing={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER};const getDefaultColumnSizingInfoState=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:false,columnSizingStart:[]});const ColumnSizing={getDefaultColumnDef:()=>defaultColumnSizing,getInitialState:state=>({columnSizing:{},columnSizingInfo:getDefaultColumnSizingInfoState(),...state}),getDefaultOptions:table=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:makeStateUpdater("columnSizing",table),onColumnSizingInfoChange:makeStateUpdater("columnSizingInfo",table)}),createColumn:(column,table)=>{column.getSize=()=>{var _column$columnDef$min,_ref,_column$columnDef$max;const columnSize=table.getState().columnSizing[column.id];return Math.min(Math.max((_column$columnDef$min=column.columnDef.minSize)!=null?_column$columnDef$min:defaultColumnSizing.minSize,(_ref=columnSize!=null?columnSize:column.columnDef.size)!=null?_ref:defaultColumnSizing.size),(_column$columnDef$max=column.columnDef.maxSize)!=null?_column$columnDef$max:defaultColumnSizing.maxSize)};column.getStart=memo((position=>[position,_getVisibleLeafColumns(table,position),table.getState().columnSizing]),((position,columns)=>columns.slice(0,column.getIndex(position)).reduce(((sum2,column2)=>sum2+column2.getSize()),0)),getMemoOptions(table.options,"debugColumns"));column.getAfter=memo((position=>[position,_getVisibleLeafColumns(table,position),table.getState().columnSizing]),((position,columns)=>columns.slice(column.getIndex(position)+1).reduce(((sum2,column2)=>sum2+column2.getSize()),0)),getMemoOptions(table.options,"debugColumns"));column.resetSize=()=>{table.setColumnSizing((_ref2=>{let{[column.id]:_,...rest}=_ref2;return rest}))};column.getCanResize=()=>{var _column$columnDef$ena,_table$options$enable;return((_column$columnDef$ena=column.columnDef.enableResizing)!=null?_column$columnDef$ena:true)&&((_table$options$enable=table.options.enableColumnResizing)!=null?_table$options$enable:true)};column.getIsResizing=()=>table.getState().columnSizingInfo.isResizingColumn===column.id},createHeader:(header,table)=>{header.getSize=()=>{let sum2=0;const recurse=header2=>{if(header2.subHeaders.length){header2.subHeaders.forEach(recurse)}else{var _header$column$getSiz;sum2+=(_header$column$getSiz=header2.column.getSize())!=null?_header$column$getSiz:0}};recurse(header);return sum2};header.getStart=()=>{if(header.index>0){const prevSiblingHeader=header.headerGroup.headers[header.index-1];return prevSiblingHeader.getStart()+prevSiblingHeader.getSize()}return 0};header.getResizeHandler=_contextDocument=>{const column=table.getColumn(header.column.id);const canResize=column==null?void 0:column.getCanResize();return e=>{if(!column||!canResize){return}e.persist==null||e.persist();if(isTouchStartEvent(e)){if(e.touches&&e.touches.length>1){return}}const startSize=header.getSize();const columnSizingStart=header?header.getLeafHeaders().map((d=>[d.column.id,d.column.getSize()])):[[column.id,column.getSize()]];const clientX=isTouchStartEvent(e)?Math.round(e.touches[0].clientX):e.clientX;const newColumnSizing={};const updateOffset=(eventType,clientXPos)=>{if(typeof clientXPos!=="number"){return}table.setColumnSizingInfo((old=>{var _old$startOffset,_old$startSize;const deltaDirection=table.options.columnResizeDirection==="rtl"?-1:1;const deltaOffset=(clientXPos-((_old$startOffset=old==null?void 0:old.startOffset)!=null?_old$startOffset:0))*deltaDirection;const deltaPercentage=Math.max(deltaOffset/((_old$startSize=old==null?void 0:old.startSize)!=null?_old$startSize:0),-.999999);old.columnSizingStart.forEach((_ref3=>{let[columnId,headerSize]=_ref3;newColumnSizing[columnId]=Math.round(Math.max(headerSize+headerSize*deltaPercentage,0)*100)/100}));return{...old,deltaOffset:deltaOffset,deltaPercentage:deltaPercentage}}));if(table.options.columnResizeMode==="onChange"||eventType==="end"){table.setColumnSizing((old=>({...old,...newColumnSizing})))}};const onMove=clientXPos=>updateOffset("move",clientXPos);const onEnd=clientXPos=>{updateOffset("end",clientXPos);table.setColumnSizingInfo((old=>({...old,isResizingColumn:false,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]})))};const contextDocument=_contextDocument||typeof document!=="undefined"?document:null;const mouseEvents={moveHandler:e2=>onMove(e2.clientX),upHandler:e2=>{contextDocument==null||contextDocument.removeEventListener("mousemove",mouseEvents.moveHandler);contextDocument==null||contextDocument.removeEventListener("mouseup",mouseEvents.upHandler);onEnd(e2.clientX)}};const touchEvents={moveHandler:e2=>{if(e2.cancelable){e2.preventDefault();e2.stopPropagation()}onMove(e2.touches[0].clientX);return false},upHandler:e2=>{var _e$touches$;contextDocument==null||contextDocument.removeEventListener("touchmove",touchEvents.moveHandler);contextDocument==null||contextDocument.removeEventListener("touchend",touchEvents.upHandler);if(e2.cancelable){e2.preventDefault();e2.stopPropagation()}onEnd((_e$touches$=e2.touches[0])==null?void 0:_e$touches$.clientX)}};const passiveIfSupported=passiveEventSupported()?{passive:false}:false;if(isTouchStartEvent(e)){contextDocument==null||contextDocument.addEventListener("touchmove",touchEvents.moveHandler,passiveIfSupported);contextDocument==null||contextDocument.addEventListener("touchend",touchEvents.upHandler,passiveIfSupported)}else{contextDocument==null||contextDocument.addEventListener("mousemove",mouseEvents.moveHandler,passiveIfSupported);contextDocument==null||contextDocument.addEventListener("mouseup",mouseEvents.upHandler,passiveIfSupported)}table.setColumnSizingInfo((old=>({...old,startOffset:clientX,startSize:startSize,deltaOffset:0,deltaPercentage:0,columnSizingStart:columnSizingStart,isResizingColumn:column.id})))}}},createTable:table=>{table.setColumnSizing=updater=>table.options.onColumnSizingChange==null?void 0:table.options.onColumnSizingChange(updater);table.setColumnSizingInfo=updater=>table.options.onColumnSizingInfoChange==null?void 0:table.options.onColumnSizingInfoChange(updater);table.resetColumnSizing=defaultState=>{var _table$initialState$c;table.setColumnSizing(defaultState?{}:(_table$initialState$c=table.initialState.columnSizing)!=null?_table$initialState$c:{})};table.resetHeaderSizeInfo=defaultState=>{var _table$initialState$c2;table.setColumnSizingInfo(defaultState?getDefaultColumnSizingInfoState():(_table$initialState$c2=table.initialState.columnSizingInfo)!=null?_table$initialState$c2:getDefaultColumnSizingInfoState())};table.getTotalSize=()=>{var _table$getHeaderGroup,_table$getHeaderGroup2;return(_table$getHeaderGroup=(_table$getHeaderGroup2=table.getHeaderGroups()[0])==null?void 0:_table$getHeaderGroup2.headers.reduce(((sum2,header)=>sum2+header.getSize()),0))!=null?_table$getHeaderGroup:0};table.getLeftTotalSize=()=>{var _table$getLeftHeaderG,_table$getLeftHeaderG2;return(_table$getLeftHeaderG=(_table$getLeftHeaderG2=table.getLeftHeaderGroups()[0])==null?void 0:_table$getLeftHeaderG2.headers.reduce(((sum2,header)=>sum2+header.getSize()),0))!=null?_table$getLeftHeaderG:0};table.getCenterTotalSize=()=>{var _table$getCenterHeade,_table$getCenterHeade2;return(_table$getCenterHeade=(_table$getCenterHeade2=table.getCenterHeaderGroups()[0])==null?void 0:_table$getCenterHeade2.headers.reduce(((sum2,header)=>sum2+header.getSize()),0))!=null?_table$getCenterHeade:0};table.getRightTotalSize=()=>{var _table$getRightHeader,_table$getRightHeader2;return(_table$getRightHeader=(_table$getRightHeader2=table.getRightHeaderGroups()[0])==null?void 0:_table$getRightHeader2.headers.reduce(((sum2,header)=>sum2+header.getSize()),0))!=null?_table$getRightHeader:0}}};let passiveSupported=null;function passiveEventSupported(){if(typeof passiveSupported==="boolean")return passiveSupported;let supported=false;try{const options={get passive(){supported=true;return false}};const noop2=()=>{};window.addEventListener("test",noop2,options);window.removeEventListener("test",noop2)}catch(err){supported=false}passiveSupported=supported;return passiveSupported}function isTouchStartEvent(e){return e.type==="touchstart"}const ColumnVisibility={getInitialState:state=>({columnVisibility:{},...state}),getDefaultOptions:table=>({onColumnVisibilityChange:makeStateUpdater("columnVisibility",table)}),createColumn:(column,table)=>{column.toggleVisibility=value=>{if(column.getCanHide()){table.setColumnVisibility((old=>({...old,[column.id]:value!=null?value:!column.getIsVisible()})))}};column.getIsVisible=()=>{var _ref,_table$getState$colum;const childColumns=column.columns;return(_ref=childColumns.length?childColumns.some((c=>c.getIsVisible())):(_table$getState$colum=table.getState().columnVisibility)==null?void 0:_table$getState$colum[column.id])!=null?_ref:true};column.getCanHide=()=>{var _column$columnDef$ena,_table$options$enable;return((_column$columnDef$ena=column.columnDef.enableHiding)!=null?_column$columnDef$ena:true)&&((_table$options$enable=table.options.enableHiding)!=null?_table$options$enable:true)};column.getToggleVisibilityHandler=()=>e=>{column.toggleVisibility==null||column.toggleVisibility(e.target.checked)}},createRow:(row,table)=>{row._getAllVisibleCells=memo((()=>[row.getAllCells(),table.getState().columnVisibility]),(cells=>cells.filter((cell=>cell.column.getIsVisible()))),getMemoOptions(table.options,"debugRows"));row.getVisibleCells=memo((()=>[row.getLeftVisibleCells(),row.getCenterVisibleCells(),row.getRightVisibleCells()]),((left,center,right)=>[...left,...center,...right]),getMemoOptions(table.options,"debugRows"))},createTable:table=>{const makeVisibleColumnsMethod=(key,getColumns)=>memo((()=>[getColumns(),getColumns().filter((d=>d.getIsVisible())).map((d=>d.id)).join("_")]),(columns=>columns.filter((d=>d.getIsVisible==null?void 0:d.getIsVisible()))),getMemoOptions(table.options,"debugColumns"));table.getVisibleFlatColumns=makeVisibleColumnsMethod("getVisibleFlatColumns",(()=>table.getAllFlatColumns()));table.getVisibleLeafColumns=makeVisibleColumnsMethod("getVisibleLeafColumns",(()=>table.getAllLeafColumns()));table.getLeftVisibleLeafColumns=makeVisibleColumnsMethod("getLeftVisibleLeafColumns",(()=>table.getLeftLeafColumns()));table.getRightVisibleLeafColumns=makeVisibleColumnsMethod("getRightVisibleLeafColumns",(()=>table.getRightLeafColumns()));table.getCenterVisibleLeafColumns=makeVisibleColumnsMethod("getCenterVisibleLeafColumns",(()=>table.getCenterLeafColumns()));table.setColumnVisibility=updater=>table.options.onColumnVisibilityChange==null?void 0:table.options.onColumnVisibilityChange(updater);table.resetColumnVisibility=defaultState=>{var _table$initialState$c;table.setColumnVisibility(defaultState?{}:(_table$initialState$c=table.initialState.columnVisibility)!=null?_table$initialState$c:{})};table.toggleAllColumnsVisible=value=>{var _value;value=(_value=value)!=null?_value:!table.getIsAllColumnsVisible();table.setColumnVisibility(table.getAllLeafColumns().reduce(((obj,column)=>({...obj,[column.id]:!value?!(column.getCanHide!=null&&column.getCanHide()):value})),{}))};table.getIsAllColumnsVisible=()=>!table.getAllLeafColumns().some((column=>!(column.getIsVisible!=null&&column.getIsVisible())));table.getIsSomeColumnsVisible=()=>table.getAllLeafColumns().some((column=>column.getIsVisible==null?void 0:column.getIsVisible()));table.getToggleAllColumnsVisibilityHandler=()=>e=>{var _target;table.toggleAllColumnsVisible((_target=e.target)==null?void 0:_target.checked)}}};function _getVisibleLeafColumns(table,position){return!position?table.getVisibleLeafColumns():position==="center"?table.getCenterVisibleLeafColumns():position==="left"?table.getLeftVisibleLeafColumns():table.getRightVisibleLeafColumns()}const GlobalFaceting={createTable:table=>{table._getGlobalFacetedRowModel=table.options.getFacetedRowModel&&table.options.getFacetedRowModel(table,"__global__");table.getGlobalFacetedRowModel=()=>{if(table.options.manualFiltering||!table._getGlobalFacetedRowModel){return table.getPreFilteredRowModel()}return table._getGlobalFacetedRowModel()};table._getGlobalFacetedUniqueValues=table.options.getFacetedUniqueValues&&table.options.getFacetedUniqueValues(table,"__global__");table.getGlobalFacetedUniqueValues=()=>{if(!table._getGlobalFacetedUniqueValues){return new Map}return table._getGlobalFacetedUniqueValues()};table._getGlobalFacetedMinMaxValues=table.options.getFacetedMinMaxValues&&table.options.getFacetedMinMaxValues(table,"__global__");table.getGlobalFacetedMinMaxValues=()=>{if(!table._getGlobalFacetedMinMaxValues){return}return table._getGlobalFacetedMinMaxValues()}}};const GlobalFiltering={getInitialState:state=>({globalFilter:void 0,...state}),getDefaultOptions:table=>({onGlobalFilterChange:makeStateUpdater("globalFilter",table),globalFilterFn:"auto",getColumnCanGlobalFilter:column=>{var _table$getCoreRowMode;const value=(_table$getCoreRowMode=table.getCoreRowModel().flatRows[0])==null||(_table$getCoreRowMode=_table$getCoreRowMode._getAllCellsByColumnId()[column.id])==null?void 0:_table$getCoreRowMode.getValue();return typeof value==="string"||typeof value==="number"}}),createColumn:(column,table)=>{column.getCanGlobalFilter=()=>{var _column$columnDef$ena,_table$options$enable,_table$options$enable2,_table$options$getCol;return((_column$columnDef$ena=column.columnDef.enableGlobalFilter)!=null?_column$columnDef$ena:true)&&((_table$options$enable=table.options.enableGlobalFilter)!=null?_table$options$enable:true)&&((_table$options$enable2=table.options.enableFilters)!=null?_table$options$enable2:true)&&((_table$options$getCol=table.options.getColumnCanGlobalFilter==null?void 0:table.options.getColumnCanGlobalFilter(column))!=null?_table$options$getCol:true)&&!!column.accessorFn}},createTable:table=>{table.getGlobalAutoFilterFn=()=>filterFns.includesString;table.getGlobalFilterFn=()=>{var _table$options$filter,_table$options$filter2;const{globalFilterFn:globalFilterFn}=table.options;return isFunction(globalFilterFn)?globalFilterFn:globalFilterFn==="auto"?table.getGlobalAutoFilterFn():(_table$options$filter=(_table$options$filter2=table.options.filterFns)==null?void 0:_table$options$filter2[globalFilterFn])!=null?_table$options$filter:filterFns[globalFilterFn]};table.setGlobalFilter=updater=>{table.options.onGlobalFilterChange==null||table.options.onGlobalFilterChange(updater)};table.resetGlobalFilter=defaultState=>{table.setGlobalFilter(defaultState?void 0:table.initialState.globalFilter)}}};const RowExpanding={getInitialState:state=>({expanded:{},...state}),getDefaultOptions:table=>({onExpandedChange:makeStateUpdater("expanded",table),paginateExpandedRows:true}),createTable:table=>{let registered=false;let queued=false;table._autoResetExpanded=()=>{var _ref,_table$options$autoRe;if(!registered){table._queue((()=>{registered=true}));return}if((_ref=(_table$options$autoRe=table.options.autoResetAll)!=null?_table$options$autoRe:table.options.autoResetExpanded)!=null?_ref:!table.options.manualExpanding){if(queued)return;queued=true;table._queue((()=>{table.resetExpanded();queued=false}))}};table.setExpanded=updater=>table.options.onExpandedChange==null?void 0:table.options.onExpandedChange(updater);table.toggleAllRowsExpanded=expanded=>{if(expanded!=null?expanded:!table.getIsAllRowsExpanded()){table.setExpanded(true)}else{table.setExpanded({})}};table.resetExpanded=defaultState=>{var _table$initialState$e,_table$initialState;table.setExpanded(defaultState?{}:(_table$initialState$e=(_table$initialState=table.initialState)==null?void 0:_table$initialState.expanded)!=null?_table$initialState$e:{})};table.getCanSomeRowsExpand=()=>table.getPrePaginationRowModel().flatRows.some((row=>row.getCanExpand()));table.getToggleAllRowsExpandedHandler=()=>e=>{e.persist==null||e.persist();table.toggleAllRowsExpanded()};table.getIsSomeRowsExpanded=()=>{const expanded=table.getState().expanded;return expanded===true||Object.values(expanded).some(Boolean)};table.getIsAllRowsExpanded=()=>{const expanded=table.getState().expanded;if(typeof expanded==="boolean"){return expanded===true}if(!Object.keys(expanded).length){return false}if(table.getRowModel().flatRows.some((row=>!row.getIsExpanded()))){return false}return true};table.getExpandedDepth=()=>{let maxDepth=0;const rowIds=table.getState().expanded===true?Object.keys(table.getRowModel().rowsById):Object.keys(table.getState().expanded);rowIds.forEach((id=>{const splitId=id.split(".");maxDepth=Math.max(maxDepth,splitId.length)}));return maxDepth};table.getPreExpandedRowModel=()=>table.getSortedRowModel();table.getExpandedRowModel=()=>{if(!table._getExpandedRowModel&&table.options.getExpandedRowModel){table._getExpandedRowModel=table.options.getExpandedRowModel(table)}if(table.options.manualExpanding||!table._getExpandedRowModel){return table.getPreExpandedRowModel()}return table._getExpandedRowModel()}},createRow:(row,table)=>{row.toggleExpanded=expanded=>{table.setExpanded((old=>{var _expanded;const exists=old===true?true:!!(old!=null&&old[row.id]);let oldExpanded={};if(old===true){Object.keys(table.getRowModel().rowsById).forEach((rowId=>{oldExpanded[rowId]=true}))}else{oldExpanded=old}expanded=(_expanded=expanded)!=null?_expanded:!exists;if(!exists&&expanded){return{...oldExpanded,[row.id]:true}}if(exists&&!expanded){const{[row.id]:_,...rest}=oldExpanded;return rest}return old}))};row.getIsExpanded=()=>{var _table$options$getIsR;const expanded=table.getState().expanded;return!!((_table$options$getIsR=table.options.getIsRowExpanded==null?void 0:table.options.getIsRowExpanded(row))!=null?_table$options$getIsR:expanded===true||(expanded==null?void 0:expanded[row.id]))};row.getCanExpand=()=>{var _table$options$getRow,_table$options$enable,_row$subRows;return(_table$options$getRow=table.options.getRowCanExpand==null?void 0:table.options.getRowCanExpand(row))!=null?_table$options$getRow:((_table$options$enable=table.options.enableExpanding)!=null?_table$options$enable:true)&&!!((_row$subRows=row.subRows)!=null&&_row$subRows.length)};row.getIsAllParentsExpanded=()=>{let isFullyExpanded=true;let currentRow=row;while(isFullyExpanded&¤tRow.parentId){currentRow=table.getRow(currentRow.parentId,true);isFullyExpanded=currentRow.getIsExpanded()}return isFullyExpanded};row.getToggleExpandedHandler=()=>{const canExpand=row.getCanExpand();return()=>{if(!canExpand)return;row.toggleExpanded()}}}};const defaultPageIndex=0;const defaultPageSize=10;const getDefaultPaginationState=()=>({pageIndex:defaultPageIndex,pageSize:defaultPageSize});const RowPagination={getInitialState:state=>({...state,pagination:{...getDefaultPaginationState(),...state==null?void 0:state.pagination}}),getDefaultOptions:table=>({onPaginationChange:makeStateUpdater("pagination",table)}),createTable:table=>{let registered=false;let queued=false;table._autoResetPageIndex=()=>{var _ref,_table$options$autoRe;if(!registered){table._queue((()=>{registered=true}));return}if((_ref=(_table$options$autoRe=table.options.autoResetAll)!=null?_table$options$autoRe:table.options.autoResetPageIndex)!=null?_ref:!table.options.manualPagination){if(queued)return;queued=true;table._queue((()=>{table.resetPageIndex();queued=false}))}};table.setPagination=updater=>{const safeUpdater=old=>{let newState=functionalUpdate(updater,old);return newState};return table.options.onPaginationChange==null?void 0:table.options.onPaginationChange(safeUpdater)};table.resetPagination=defaultState=>{var _table$initialState$p;table.setPagination(defaultState?getDefaultPaginationState():(_table$initialState$p=table.initialState.pagination)!=null?_table$initialState$p:getDefaultPaginationState())};table.setPageIndex=updater=>{table.setPagination((old=>{let pageIndex=functionalUpdate(updater,old.pageIndex);const maxPageIndex=typeof table.options.pageCount==="undefined"||table.options.pageCount===-1?Number.MAX_SAFE_INTEGER:table.options.pageCount-1;pageIndex=Math.max(0,Math.min(pageIndex,maxPageIndex));return{...old,pageIndex:pageIndex}}))};table.resetPageIndex=defaultState=>{var _table$initialState$p2,_table$initialState;table.setPageIndex(defaultState?defaultPageIndex:(_table$initialState$p2=(_table$initialState=table.initialState)==null||(_table$initialState=_table$initialState.pagination)==null?void 0:_table$initialState.pageIndex)!=null?_table$initialState$p2:defaultPageIndex)};table.resetPageSize=defaultState=>{var _table$initialState$p3,_table$initialState2;table.setPageSize(defaultState?defaultPageSize:(_table$initialState$p3=(_table$initialState2=table.initialState)==null||(_table$initialState2=_table$initialState2.pagination)==null?void 0:_table$initialState2.pageSize)!=null?_table$initialState$p3:defaultPageSize)};table.setPageSize=updater=>{table.setPagination((old=>{const pageSize=Math.max(1,functionalUpdate(updater,old.pageSize));const topRowIndex=old.pageSize*old.pageIndex;const pageIndex=Math.floor(topRowIndex/pageSize);return{...old,pageIndex:pageIndex,pageSize:pageSize}}))};table.setPageCount=updater=>table.setPagination((old=>{var _table$options$pageCo;let newPageCount=functionalUpdate(updater,(_table$options$pageCo=table.options.pageCount)!=null?_table$options$pageCo:-1);if(typeof newPageCount==="number"){newPageCount=Math.max(-1,newPageCount)}return{...old,pageCount:newPageCount}}));table.getPageOptions=memo((()=>[table.getPageCount()]),(pageCount=>{let pageOptions=[];if(pageCount&&pageCount>0){pageOptions=[...new Array(pageCount)].fill(null).map(((_,i)=>i))}return pageOptions}),getMemoOptions(table.options,"debugTable"));table.getCanPreviousPage=()=>table.getState().pagination.pageIndex>0;table.getCanNextPage=()=>{const{pageIndex:pageIndex}=table.getState().pagination;const pageCount=table.getPageCount();if(pageCount===-1){return true}if(pageCount===0){return false}return pageIndex<pageCount-1};table.previousPage=()=>table.setPageIndex((old=>old-1));table.nextPage=()=>table.setPageIndex((old=>old+1));table.firstPage=()=>table.setPageIndex(0);table.lastPage=()=>table.setPageIndex(table.getPageCount()-1);table.getPrePaginationRowModel=()=>table.getExpandedRowModel();table.getPaginationRowModel=()=>{if(!table._getPaginationRowModel&&table.options.getPaginationRowModel){table._getPaginationRowModel=table.options.getPaginationRowModel(table)}if(table.options.manualPagination||!table._getPaginationRowModel){return table.getPrePaginationRowModel()}return table._getPaginationRowModel()};table.getPageCount=()=>{var _table$options$pageCo2;return(_table$options$pageCo2=table.options.pageCount)!=null?_table$options$pageCo2:Math.ceil(table.getRowCount()/table.getState().pagination.pageSize)};table.getRowCount=()=>{var _table$options$rowCou;return(_table$options$rowCou=table.options.rowCount)!=null?_table$options$rowCou:table.getPrePaginationRowModel().rows.length}}};const getDefaultRowPinningState=()=>({top:[],bottom:[]});const RowPinning={getInitialState:state=>({rowPinning:getDefaultRowPinningState(),...state}),getDefaultOptions:table=>({onRowPinningChange:makeStateUpdater("rowPinning",table)}),createRow:(row,table)=>{row.pin=(position,includeLeafRows,includeParentRows)=>{const leafRowIds=includeLeafRows?row.getLeafRows().map((_ref=>{let{id:id}=_ref;return id})):[];const parentRowIds=includeParentRows?row.getParentRows().map((_ref2=>{let{id:id}=_ref2;return id})):[];const rowIds=new Set([...parentRowIds,row.id,...leafRowIds]);table.setRowPinning((old=>{var _old$top3,_old$bottom3;if(position==="bottom"){var _old$top,_old$bottom;return{top:((_old$top=old==null?void 0:old.top)!=null?_old$top:[]).filter((d=>!(rowIds!=null&&rowIds.has(d)))),bottom:[...((_old$bottom=old==null?void 0:old.bottom)!=null?_old$bottom:[]).filter((d=>!(rowIds!=null&&rowIds.has(d)))),...Array.from(rowIds)]}}if(position==="top"){var _old$top2,_old$bottom2;return{top:[...((_old$top2=old==null?void 0:old.top)!=null?_old$top2:[]).filter((d=>!(rowIds!=null&&rowIds.has(d)))),...Array.from(rowIds)],bottom:((_old$bottom2=old==null?void 0:old.bottom)!=null?_old$bottom2:[]).filter((d=>!(rowIds!=null&&rowIds.has(d))))}}return{top:((_old$top3=old==null?void 0:old.top)!=null?_old$top3:[]).filter((d=>!(rowIds!=null&&rowIds.has(d)))),bottom:((_old$bottom3=old==null?void 0:old.bottom)!=null?_old$bottom3:[]).filter((d=>!(rowIds!=null&&rowIds.has(d))))}}))};row.getCanPin=()=>{var _ref3;const{enableRowPinning:enableRowPinning,enablePinning:enablePinning}=table.options;if(typeof enableRowPinning==="function"){return enableRowPinning(row)}return(_ref3=enableRowPinning!=null?enableRowPinning:enablePinning)!=null?_ref3:true};row.getIsPinned=()=>{const rowIds=[row.id];const{top:top,bottom:bottom}=table.getState().rowPinning;const isTop=rowIds.some((d=>top==null?void 0:top.includes(d)));const isBottom=rowIds.some((d=>bottom==null?void 0:bottom.includes(d)));return isTop?"top":isBottom?"bottom":false};row.getPinnedIndex=()=>{var _ref4,_visiblePinnedRowIds$;const position=row.getIsPinned();if(!position)return-1;const visiblePinnedRowIds=(_ref4=position==="top"?table.getTopRows():table.getBottomRows())==null?void 0:_ref4.map((_ref5=>{let{id:id}=_ref5;return id}));return(_visiblePinnedRowIds$=visiblePinnedRowIds==null?void 0:visiblePinnedRowIds.indexOf(row.id))!=null?_visiblePinnedRowIds$:-1}},createTable:table=>{table.setRowPinning=updater=>table.options.onRowPinningChange==null?void 0:table.options.onRowPinningChange(updater);table.resetRowPinning=defaultState=>{var _table$initialState$r,_table$initialState;return table.setRowPinning(defaultState?getDefaultRowPinningState():(_table$initialState$r=(_table$initialState=table.initialState)==null?void 0:_table$initialState.rowPinning)!=null?_table$initialState$r:getDefaultRowPinningState())};table.getIsSomeRowsPinned=position=>{var _pinningState$positio;const pinningState=table.getState().rowPinning;if(!position){var _pinningState$top,_pinningState$bottom;return Boolean(((_pinningState$top=pinningState.top)==null?void 0:_pinningState$top.length)||((_pinningState$bottom=pinningState.bottom)==null?void 0:_pinningState$bottom.length))}return Boolean((_pinningState$positio=pinningState[position])==null?void 0:_pinningState$positio.length)};table._getPinnedRows=(visibleRows,pinnedRowIds,position)=>{var _table$options$keepPi;const rows=((_table$options$keepPi=table.options.keepPinnedRows)!=null?_table$options$keepPi:true)?(pinnedRowIds!=null?pinnedRowIds:[]).map((rowId=>{const row=table.getRow(rowId,true);return row.getIsAllParentsExpanded()?row:null})):(pinnedRowIds!=null?pinnedRowIds:[]).map((rowId=>visibleRows.find((row=>row.id===rowId))));return rows.filter(Boolean).map((d=>({...d,position:position})))};table.getTopRows=memo((()=>[table.getRowModel().rows,table.getState().rowPinning.top]),((allRows,topPinnedRowIds)=>table._getPinnedRows(allRows,topPinnedRowIds,"top")),getMemoOptions(table.options,"debugRows"));table.getBottomRows=memo((()=>[table.getRowModel().rows,table.getState().rowPinning.bottom]),((allRows,bottomPinnedRowIds)=>table._getPinnedRows(allRows,bottomPinnedRowIds,"bottom")),getMemoOptions(table.options,"debugRows"));table.getCenterRows=memo((()=>[table.getRowModel().rows,table.getState().rowPinning.top,table.getState().rowPinning.bottom]),((allRows,top,bottom)=>{const topAndBottom=new Set([...top!=null?top:[],...bottom!=null?bottom:[]]);return allRows.filter((d=>!topAndBottom.has(d.id)))}),getMemoOptions(table.options,"debugRows"))}};const RowSelection={getInitialState:state=>({rowSelection:{},...state}),getDefaultOptions:table=>({onRowSelectionChange:makeStateUpdater("rowSelection",table),enableRowSelection:true,enableMultiRowSelection:true,enableSubRowSelection:true}),createTable:table=>{table.setRowSelection=updater=>table.options.onRowSelectionChange==null?void 0:table.options.onRowSelectionChange(updater);table.resetRowSelection=defaultState=>{var _table$initialState$r;return table.setRowSelection(defaultState?{}:(_table$initialState$r=table.initialState.rowSelection)!=null?_table$initialState$r:{})};table.toggleAllRowsSelected=value=>{table.setRowSelection((old=>{value=typeof value!=="undefined"?value:!table.getIsAllRowsSelected();const rowSelection={...old};const preGroupedFlatRows=table.getPreGroupedRowModel().flatRows;if(value){preGroupedFlatRows.forEach((row=>{if(!row.getCanSelect()){return}rowSelection[row.id]=true}))}else{preGroupedFlatRows.forEach((row=>{delete rowSelection[row.id]}))}return rowSelection}))};table.toggleAllPageRowsSelected=value=>table.setRowSelection((old=>{const resolvedValue=typeof value!=="undefined"?value:!table.getIsAllPageRowsSelected();const rowSelection={...old};table.getRowModel().rows.forEach((row=>{mutateRowIsSelected(rowSelection,row.id,resolvedValue,true,table)}));return rowSelection}));table.getPreSelectedRowModel=()=>table.getCoreRowModel();table.getSelectedRowModel=memo((()=>[table.getState().rowSelection,table.getCoreRowModel()]),((rowSelection,rowModel)=>{if(!Object.keys(rowSelection).length){return{rows:[],flatRows:[],rowsById:{}}}return selectRowsFn(table,rowModel)}),getMemoOptions(table.options,"debugTable"));table.getFilteredSelectedRowModel=memo((()=>[table.getState().rowSelection,table.getFilteredRowModel()]),((rowSelection,rowModel)=>{if(!Object.keys(rowSelection).length){return{rows:[],flatRows:[],rowsById:{}}}return selectRowsFn(table,rowModel)}),getMemoOptions(table.options,"debugTable"));table.getGroupedSelectedRowModel=memo((()=>[table.getState().rowSelection,table.getSortedRowModel()]),((rowSelection,rowModel)=>{if(!Object.keys(rowSelection).length){return{rows:[],flatRows:[],rowsById:{}}}return selectRowsFn(table,rowModel)}),getMemoOptions(table.options,"debugTable"));table.getIsAllRowsSelected=()=>{const preGroupedFlatRows=table.getFilteredRowModel().flatRows;const{rowSelection:rowSelection}=table.getState();let isAllRowsSelected=Boolean(preGroupedFlatRows.length&&Object.keys(rowSelection).length);if(isAllRowsSelected){if(preGroupedFlatRows.some((row=>row.getCanSelect()&&!rowSelection[row.id]))){isAllRowsSelected=false}}return isAllRowsSelected};table.getIsAllPageRowsSelected=()=>{const paginationFlatRows=table.getPaginationRowModel().flatRows.filter((row=>row.getCanSelect()));const{rowSelection:rowSelection}=table.getState();let isAllPageRowsSelected=!!paginationFlatRows.length;if(isAllPageRowsSelected&&paginationFlatRows.some((row=>!rowSelection[row.id]))){isAllPageRowsSelected=false}return isAllPageRowsSelected};table.getIsSomeRowsSelected=()=>{var _table$getState$rowSe;const totalSelected=Object.keys((_table$getState$rowSe=table.getState().rowSelection)!=null?_table$getState$rowSe:{}).length;return totalSelected>0&&totalSelected<table.getFilteredRowModel().flatRows.length};table.getIsSomePageRowsSelected=()=>{const paginationFlatRows=table.getPaginationRowModel().flatRows;return table.getIsAllPageRowsSelected()?false:paginationFlatRows.filter((row=>row.getCanSelect())).some((d=>d.getIsSelected()||d.getIsSomeSelected()))};table.getToggleAllRowsSelectedHandler=()=>e=>{table.toggleAllRowsSelected(e.target.checked)};table.getToggleAllPageRowsSelectedHandler=()=>e=>{table.toggleAllPageRowsSelected(e.target.checked)}},createRow:(row,table)=>{row.toggleSelected=(value,opts)=>{const isSelected=row.getIsSelected();table.setRowSelection((old=>{var _opts$selectChildren;value=typeof value!=="undefined"?value:!isSelected;if(row.getCanSelect()&&isSelected===value){return old}const selectedRowIds={...old};mutateRowIsSelected(selectedRowIds,row.id,value,(_opts$selectChildren=opts==null?void 0:opts.selectChildren)!=null?_opts$selectChildren:true,table);return selectedRowIds}))};row.getIsSelected=()=>{const{rowSelection:rowSelection}=table.getState();return isRowSelected(row,rowSelection)};row.getIsSomeSelected=()=>{const{rowSelection:rowSelection}=table.getState();return isSubRowSelected(row,rowSelection)==="some"};row.getIsAllSubRowsSelected=()=>{const{rowSelection:rowSelection}=table.getState();return isSubRowSelected(row,rowSelection)==="all"};row.getCanSelect=()=>{var _table$options$enable;if(typeof table.options.enableRowSelection==="function"){return table.options.enableRowSelection(row)}return(_table$options$enable=table.options.enableRowSelection)!=null?_table$options$enable:true};row.getCanSelectSubRows=()=>{var _table$options$enable2;if(typeof table.options.enableSubRowSelection==="function"){return table.options.enableSubRowSelection(row)}return(_table$options$enable2=table.options.enableSubRowSelection)!=null?_table$options$enable2:true};row.getCanMultiSelect=()=>{var _table$options$enable3;if(typeof table.options.enableMultiRowSelection==="function"){return table.options.enableMultiRowSelection(row)}return(_table$options$enable3=table.options.enableMultiRowSelection)!=null?_table$options$enable3:true};row.getToggleSelectedHandler=()=>{const canSelect=row.getCanSelect();return e=>{var _target;if(!canSelect)return;row.toggleSelected((_target=e.target)==null?void 0:_target.checked)}}}};const mutateRowIsSelected=(selectedRowIds,id,value,includeChildren,table)=>{var _row$subRows;const row=table.getRow(id,true);if(value){if(!row.getCanMultiSelect()){Object.keys(selectedRowIds).forEach((key=>delete selectedRowIds[key]))}if(row.getCanSelect()){selectedRowIds[id]=true}}else{delete selectedRowIds[id]}if(includeChildren&&(_row$subRows=row.subRows)!=null&&_row$subRows.length&&row.getCanSelectSubRows()){row.subRows.forEach((row2=>mutateRowIsSelected(selectedRowIds,row2.id,value,includeChildren,table)))}};function selectRowsFn(table,rowModel){const rowSelection=table.getState().rowSelection;const newSelectedFlatRows=[];const newSelectedRowsById={};const recurseRows=function(rows,depth){return rows.map((row=>{var _row$subRows2;const isSelected=isRowSelected(row,rowSelection);if(isSelected){newSelectedFlatRows.push(row);newSelectedRowsById[row.id]=row}if((_row$subRows2=row.subRows)!=null&&_row$subRows2.length){row={...row,subRows:recurseRows(row.subRows)}}if(isSelected){return row}})).filter(Boolean)};return{rows:recurseRows(rowModel.rows),flatRows:newSelectedFlatRows,rowsById:newSelectedRowsById}}function isRowSelected(row,selection){var _selection$row$id;return(_selection$row$id=selection[row.id])!=null?_selection$row$id:false}function isSubRowSelected(row,selection,table){var _row$subRows3;if(!((_row$subRows3=row.subRows)!=null&&_row$subRows3.length))return false;let allChildrenSelected=true;let someSelected=false;row.subRows.forEach((subRow=>{if(someSelected&&!allChildrenSelected){return}if(subRow.getCanSelect()){if(isRowSelected(subRow,selection)){someSelected=true}else{allChildrenSelected=false}}if(subRow.subRows&&subRow.subRows.length){const subRowChildrenSelected=isSubRowSelected(subRow,selection);if(subRowChildrenSelected==="all"){someSelected=true}else if(subRowChildrenSelected==="some"){someSelected=true;allChildrenSelected=false}else{allChildrenSelected=false}}}));return allChildrenSelected?"all":someSelected?"some":false}const reSplitAlphaNumeric=/([0-9]+)/gm;const alphanumeric=(rowA,rowB,columnId)=>compareAlphanumeric(toString(rowA.getValue(columnId)).toLowerCase(),toString(rowB.getValue(columnId)).toLowerCase());const alphanumericCaseSensitive=(rowA,rowB,columnId)=>compareAlphanumeric(toString(rowA.getValue(columnId)),toString(rowB.getValue(columnId)));const text=(rowA,rowB,columnId)=>compareBasic(toString(rowA.getValue(columnId)).toLowerCase(),toString(rowB.getValue(columnId)).toLowerCase());const textCaseSensitive=(rowA,rowB,columnId)=>compareBasic(toString(rowA.getValue(columnId)),toString(rowB.getValue(columnId)));const datetime=(rowA,rowB,columnId)=>{const a=rowA.getValue(columnId);const b=rowB.getValue(columnId);return a>b?1:a<b?-1:0};const basic=(rowA,rowB,columnId)=>compareBasic(rowA.getValue(columnId),rowB.getValue(columnId));function compareBasic(a,b){return a===b?0:a>b?1:-1}function toString(a){if(typeof a==="number"){if(isNaN(a)||a===Infinity||a===-Infinity){return""}return String(a)}if(typeof a==="string"){return a}return""}function compareAlphanumeric(aStr,bStr){const a=aStr.split(reSplitAlphaNumeric).filter(Boolean);const b=bStr.split(reSplitAlphaNumeric).filter(Boolean);while(a.length&&b.length){const aa=a.shift();const bb=b.shift();const an=parseInt(aa,10);const bn=parseInt(bb,10);const combo=[an,bn].sort();if(isNaN(combo[0])){if(aa>bb){return 1}if(bb>aa){return-1}continue}if(isNaN(combo[1])){return isNaN(an)?-1:1}if(an>bn){return 1}if(bn>an){return-1}}return a.length-b.length}const sortingFns={alphanumeric:alphanumeric,alphanumericCaseSensitive:alphanumericCaseSensitive,text:text,textCaseSensitive:textCaseSensitive,datetime:datetime,basic:basic};const RowSorting={getInitialState:state=>({sorting:[],...state}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:table=>({onSortingChange:makeStateUpdater("sorting",table),isMultiSortEvent:e=>e.shiftKey}),createColumn:(column,table)=>{column.getAutoSortingFn=()=>{const firstRows=table.getFilteredRowModel().flatRows.slice(10);let isString=false;for(const row of firstRows){const value=row==null?void 0:row.getValue(column.id);if(Object.prototype.toString.call(value)==="[object Date]"){return sortingFns.datetime}if(typeof value==="string"){isString=true;if(value.split(reSplitAlphaNumeric).length>1){return sortingFns.alphanumeric}}}if(isString){return sortingFns.text}return sortingFns.basic};column.getAutoSortDir=()=>{const firstRow=table.getFilteredRowModel().flatRows[0];const value=firstRow==null?void 0:firstRow.getValue(column.id);if(typeof value==="string"){return"asc"}return"desc"};column.getSortingFn=()=>{var _table$options$sortin,_table$options$sortin2;if(!column){throw new Error}return isFunction(column.columnDef.sortingFn)?column.columnDef.sortingFn:column.columnDef.sortingFn==="auto"?column.getAutoSortingFn():(_table$options$sortin=(_table$options$sortin2=table.options.sortingFns)==null?void 0:_table$options$sortin2[column.columnDef.sortingFn])!=null?_table$options$sortin:sortingFns[column.columnDef.sortingFn]};column.toggleSorting=(desc,multi)=>{const nextSortingOrder=column.getNextSortingOrder();const hasManualValue=typeof desc!=="undefined"&&desc!==null;table.setSorting((old=>{const existingSorting=old==null?void 0:old.find((d=>d.id===column.id));const existingIndex=old==null?void 0:old.findIndex((d=>d.id===column.id));let newSorting=[];let sortAction;let nextDesc=hasManualValue?desc:nextSortingOrder==="desc";if(old!=null&&old.length&&column.getCanMultiSort()&&multi){if(existingSorting){sortAction="toggle"}else{sortAction="add"}}else{if(old!=null&&old.length&&existingIndex!==old.length-1){sortAction="replace"}else if(existingSorting){sortAction="toggle"}else{sortAction="replace"}}if(sortAction==="toggle"){if(!hasManualValue){if(!nextSortingOrder){sortAction="remove"}}}if(sortAction==="add"){var _table$options$maxMul;newSorting=[...old,{id:column.id,desc:nextDesc}];newSorting.splice(0,newSorting.length-((_table$options$maxMul=table.options.maxMultiSortColCount)!=null?_table$options$maxMul:Number.MAX_SAFE_INTEGER))}else if(sortAction==="toggle"){newSorting=old.map((d=>{if(d.id===column.id){return{...d,desc:nextDesc}}return d}))}else if(sortAction==="remove"){newSorting=old.filter((d=>d.id!==column.id))}else{newSorting=[{id:column.id,desc:nextDesc}]}return newSorting}))};column.getFirstSortDir=()=>{var _ref,_column$columnDef$sor;const sortDescFirst=(_ref=(_column$columnDef$sor=column.columnDef.sortDescFirst)!=null?_column$columnDef$sor:table.options.sortDescFirst)!=null?_ref:column.getAutoSortDir()==="desc";return sortDescFirst?"desc":"asc"};column.getNextSortingOrder=multi=>{var _table$options$enable,_table$options$enable2;const firstSortDirection=column.getFirstSortDir();const isSorted=column.getIsSorted();if(!isSorted){return firstSortDirection}if(isSorted!==firstSortDirection&&((_table$options$enable=table.options.enableSortingRemoval)!=null?_table$options$enable:true)&&(multi?(_table$options$enable2=table.options.enableMultiRemove)!=null?_table$options$enable2:true:true)){return false}return isSorted==="desc"?"asc":"desc"};column.getCanSort=()=>{var _column$columnDef$ena,_table$options$enable3;return((_column$columnDef$ena=column.columnDef.enableSorting)!=null?_column$columnDef$ena:true)&&((_table$options$enable3=table.options.enableSorting)!=null?_table$options$enable3:true)&&!!column.accessorFn};column.getCanMultiSort=()=>{var _ref2,_column$columnDef$ena2;return(_ref2=(_column$columnDef$ena2=column.columnDef.enableMultiSort)!=null?_column$columnDef$ena2:table.options.enableMultiSort)!=null?_ref2:!!column.accessorFn};column.getIsSorted=()=>{var _table$getState$sorti;const columnSort=(_table$getState$sorti=table.getState().sorting)==null?void 0:_table$getState$sorti.find((d=>d.id===column.id));return!columnSort?false:columnSort.desc?"desc":"asc"};column.getSortIndex=()=>{var _table$getState$sorti2,_table$getState$sorti3;return(_table$getState$sorti2=(_table$getState$sorti3=table.getState().sorting)==null?void 0:_table$getState$sorti3.findIndex((d=>d.id===column.id)))!=null?_table$getState$sorti2:-1};column.clearSorting=()=>{table.setSorting((old=>old!=null&&old.length?old.filter((d=>d.id!==column.id)):[]))};column.getToggleSortingHandler=()=>{const canSort=column.getCanSort();return e=>{if(!canSort)return;e.persist==null||e.persist();column.toggleSorting==null||column.toggleSorting(void 0,column.getCanMultiSort()?table.options.isMultiSortEvent==null?void 0:table.options.isMultiSortEvent(e):false)}}},createTable:table=>{table.setSorting=updater=>table.options.onSortingChange==null?void 0:table.options.onSortingChange(updater);table.resetSorting=defaultState=>{var _table$initialState$s,_table$initialState;table.setSorting(defaultState?[]:(_table$initialState$s=(_table$initialState=table.initialState)==null?void 0:_table$initialState.sorting)!=null?_table$initialState$s:[])};table.getPreSortedRowModel=()=>table.getGroupedRowModel();table.getSortedRowModel=()=>{if(!table._getSortedRowModel&&table.options.getSortedRowModel){table._getSortedRowModel=table.options.getSortedRowModel(table)}if(table.options.manualSorting||!table._getSortedRowModel){return table.getPreSortedRowModel()}return table._getSortedRowModel()}}};const builtInFeatures=[Headers,ColumnVisibility,ColumnOrdering,ColumnPinning,ColumnFaceting,ColumnFiltering,GlobalFaceting,GlobalFiltering,RowSorting,ColumnGrouping,RowExpanding,RowPagination,RowPinning,RowSelection,ColumnSizing];function createTable(options){var _options$_features,_options$initialState;const _features=[...builtInFeatures,...(_options$_features=options._features)!=null?_options$_features:[]];let table={_features:_features};const defaultOptions=table._features.reduce(((obj,feature)=>Object.assign(obj,feature.getDefaultOptions==null?void 0:feature.getDefaultOptions(table))),{});const mergeOptions=options2=>{if(table.options.mergeOptions){return table.options.mergeOptions(defaultOptions,options2)}return{...defaultOptions,...options2}};const coreInitialState={};let initialState={...coreInitialState,...(_options$initialState=options.initialState)!=null?_options$initialState:{}};table._features.forEach((feature=>{var _feature$getInitialSt;initialState=(_feature$getInitialSt=feature.getInitialState==null?void 0:feature.getInitialState(initialState))!=null?_feature$getInitialSt:initialState}));const queued=[];let queuedTimeout=false;const coreInstance={_features:_features,options:{...defaultOptions,...options},initialState:initialState,_queue:cb=>{queued.push(cb);if(!queuedTimeout){queuedTimeout=true;Promise.resolve().then((()=>{while(queued.length){queued.shift()()}queuedTimeout=false})).catch((error=>setTimeout((()=>{throw error}))))}},reset:()=>{table.setState(table.initialState)},setOptions:updater=>{const newOptions=functionalUpdate(updater,table.options);table.options=mergeOptions(newOptions)},getState:()=>table.options.state,setState:updater=>{table.options.onStateChange==null||table.options.onStateChange(updater)},_getRowId:(row,index,parent)=>{var _table$options$getRow;return(_table$options$getRow=table.options.getRowId==null?void 0:table.options.getRowId(row,index,parent))!=null?_table$options$getRow:`${parent?[parent.id,index].join("."):index}`},getCoreRowModel:()=>{if(!table._getCoreRowModel){table._getCoreRowModel=table.options.getCoreRowModel(table)}return table._getCoreRowModel()},getRowModel:()=>table.getPaginationRowModel(),getRow:(id,searchAll)=>{let row=(searchAll?table.getPrePaginationRowModel():table.getRowModel()).rowsById[id];if(!row){row=table.getCoreRowModel().rowsById[id];if(!row){throw new Error}}return row},_getDefaultColumnDef:memo((()=>[table.options.defaultColumn]),(defaultColumn=>{var _defaultColumn;defaultColumn=(_defaultColumn=defaultColumn)!=null?_defaultColumn:{};return{header:props=>{const resolvedColumnDef=props.header.column.columnDef;if(resolvedColumnDef.accessorKey){return resolvedColumnDef.accessorKey}if(resolvedColumnDef.accessorFn){return resolvedColumnDef.id}return null},cell:props=>{var _props$renderValue$to,_props$renderValue;return(_props$renderValue$to=(_props$renderValue=props.renderValue())==null||_props$renderValue.toString==null?void 0:_props$renderValue.toString())!=null?_props$renderValue$to:null},...table._features.reduce(((obj,feature)=>Object.assign(obj,feature.getDefaultColumnDef==null?void 0:feature.getDefaultColumnDef())),{}),...defaultColumn}}),getMemoOptions(options,"debugColumns")),_getColumnDefs:()=>table.options.columns,getAllColumns:memo((()=>[table._getColumnDefs()]),(columnDefs=>{const recurseColumns=function(columnDefs2,parent,depth){if(depth===void 0){depth=0}return columnDefs2.map((columnDef=>{const column=createColumn(table,columnDef,depth,parent);const groupingColumnDef=columnDef;column.columns=groupingColumnDef.columns?recurseColumns(groupingColumnDef.columns,column,depth+1):[];return column}))};return recurseColumns(columnDefs)}),getMemoOptions(options,"debugColumns")),getAllFlatColumns:memo((()=>[table.getAllColumns()]),(allColumns=>allColumns.flatMap((column=>column.getFlatColumns()))),getMemoOptions(options,"debugColumns")),_getAllFlatColumnsById:memo((()=>[table.getAllFlatColumns()]),(flatColumns=>flatColumns.reduce(((acc,column)=>{acc[column.id]=column;return acc}),{})),getMemoOptions(options,"debugColumns")),getAllLeafColumns:memo((()=>[table.getAllColumns(),table._getOrderColumnsFn()]),((allColumns,orderColumns2)=>{let leafColumns=allColumns.flatMap((column=>column.getLeafColumns()));return orderColumns2(leafColumns)}),getMemoOptions(options,"debugColumns")),getColumn:columnId=>{const column=table._getAllFlatColumnsById()[columnId];return column}};Object.assign(table,coreInstance);for(let index=0;index<table._features.length;index++){const feature=table._features[index];feature==null||feature.createTable==null||feature.createTable(table)}return table}function getCoreRowModel(){return table=>memo((()=>[table.options.data]),(data=>{const rowModel={rows:[],flatRows:[],rowsById:{}};const accessRows=function(originalRows,depth,parentRow){if(depth===void 0){depth=0}const rows=[];for(let i=0;i<originalRows.length;i++){const row=createRow(table,table._getRowId(originalRows[i],i,parentRow),originalRows[i],i,depth,void 0,parentRow==null?void 0:parentRow.id);rowModel.flatRows.push(row);rowModel.rowsById[row.id]=row;rows.push(row);if(table.options.getSubRows){var _row$originalSubRows;row.originalSubRows=table.options.getSubRows(originalRows[i],i);if((_row$originalSubRows=row.originalSubRows)!=null&&_row$originalSubRows.length){row.subRows=accessRows(row.originalSubRows,depth+1,row)}}}return rows};rowModel.rows=accessRows(data);return rowModel}),getMemoOptions(table.options,"debugTable","getRowModel",(()=>table._autoResetPageIndex())))}function getExpandedRowModel(){return table=>memo((()=>[table.getState().expanded,table.getPreExpandedRowModel(),table.options.paginateExpandedRows]),((expanded,rowModel,paginateExpandedRows)=>{if(!rowModel.rows.length||expanded!==true&&!Object.keys(expanded!=null?expanded:{}).length){return rowModel}if(!paginateExpandedRows){return rowModel}return expandRows(rowModel)}),getMemoOptions(table.options,"debugTable"))}function expandRows(rowModel){const expandedRows=[];const handleRow=row=>{var _row$subRows;expandedRows.push(row);if((_row$subRows=row.subRows)!=null&&_row$subRows.length&&row.getIsExpanded()){row.subRows.forEach(handleRow)}};rowModel.rows.forEach(handleRow);return{rows:expandedRows,flatRows:rowModel.flatRows,rowsById:rowModel.rowsById}}function getPaginationRowModel(opts){return table=>memo((()=>[table.getState().pagination,table.getPrePaginationRowModel(),table.options.paginateExpandedRows?void 0:table.getState().expanded]),((pagination,rowModel)=>{if(!rowModel.rows.length){return rowModel}const{pageSize:pageSize,pageIndex:pageIndex}=pagination;let{rows:rows,flatRows:flatRows,rowsById:rowsById}=rowModel;const pageStart=pageSize*pageIndex;const pageEnd=pageStart+pageSize;rows=rows.slice(pageStart,pageEnd);let paginatedRowModel;if(!table.options.paginateExpandedRows){paginatedRowModel=expandRows({rows:rows,flatRows:flatRows,rowsById:rowsById})}else{paginatedRowModel={rows:rows,flatRows:flatRows,rowsById:rowsById}}paginatedRowModel.flatRows=[];const handleRow=row=>{paginatedRowModel.flatRows.push(row);if(row.subRows.length){row.subRows.forEach(handleRow)}};paginatedRowModel.rows.forEach(handleRow);return paginatedRowModel}),getMemoOptions(table.options,"debugTable"))}function getSortedRowModel(){return table=>memo((()=>[table.getState().sorting,table.getPreSortedRowModel()]),((sorting,rowModel)=>{if(!rowModel.rows.length||!(sorting!=null&&sorting.length)){return rowModel}const sortingState=table.getState().sorting;const sortedFlatRows=[];const availableSorting=sortingState.filter((sort=>{var _table$getColumn;return(_table$getColumn=table.getColumn(sort.id))==null?void 0:_table$getColumn.getCanSort()}));const columnInfoById={};availableSorting.forEach((sortEntry=>{const column=table.getColumn(sortEntry.id);if(!column)return;columnInfoById[sortEntry.id]={sortUndefined:column.columnDef.sortUndefined,invertSorting:column.columnDef.invertSorting,sortingFn:column.getSortingFn()}}));const sortData=rows=>{const sortedData=rows.map((row=>({...row})));sortedData.sort(((rowA,rowB)=>{for(let i=0;i<availableSorting.length;i+=1){var _sortEntry$desc;const sortEntry=availableSorting[i];const columnInfo=columnInfoById[sortEntry.id];const sortUndefined=columnInfo.sortUndefined;const isDesc=(_sortEntry$desc=sortEntry==null?void 0:sortEntry.desc)!=null?_sortEntry$desc:false;let sortInt=0;if(sortUndefined){const aValue=rowA.getValue(sortEntry.id);const bValue=rowB.getValue(sortEntry.id);const aUndefined=aValue===void 0;const bUndefined=bValue===void 0;if(aUndefined||bUndefined){if(sortUndefined==="first")return aUndefined?-1:1;if(sortUndefined==="last")return aUndefined?1:-1;sortInt=aUndefined&&bUndefined?0:aUndefined?sortUndefined:-sortUndefined}}if(sortInt===0){sortInt=columnInfo.sortingFn(rowA,rowB,sortEntry.id)}if(sortInt!==0){if(isDesc){sortInt*=-1}if(columnInfo.invertSorting){sortInt*=-1}return sortInt}}return rowA.index-rowB.index}));sortedData.forEach((row=>{var _row$subRows;sortedFlatRows.push(row);if((_row$subRows=row.subRows)!=null&&_row$subRows.length){row.subRows=sortData(row.subRows)}}));return sortedData};return{rows:sortData(rowModel.rows),flatRows:sortedFlatRows,rowsById:rowModel.rowsById}}),getMemoOptions(table.options,"debugTable","getSortedRowModel",(()=>table._autoResetPageIndex())))}
|
|
12
|
+
/**
|
|
13
|
+
* react-table
|
|
14
|
+
*
|
|
15
|
+
* Copyright (c) TanStack
|
|
16
|
+
*
|
|
17
|
+
* This source code is licensed under the MIT license found in the
|
|
18
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
19
|
+
*
|
|
20
|
+
* @license MIT
|
|
21
|
+
*/function flexRender(Comp,props){return!Comp?null:isReactComponent(Comp)?React.createElement(Comp,props):Comp}function isReactComponent(component){return isClassComponent(component)||typeof component==="function"||isExoticComponent(component)}function isClassComponent(component){return typeof component==="function"&&(()=>{const proto=Object.getPrototypeOf(component);return proto.prototype&&proto.prototype.isReactComponent})()}function isExoticComponent(component){return typeof component==="object"&&typeof component.$$typeof==="symbol"&&["react.memo","react.forward_ref"].includes(component.$$typeof.description)}function useReactTable(options){const resolvedOptions={state:{},onStateChange:()=>{},renderFallbackValue:null,...options};const[tableRef]=React.useState((()=>({current:createTable(resolvedOptions)})));const[state,setState]=React.useState((()=>tableRef.current.initialState));tableRef.current.setOptions((prev=>({...prev,...options,state:{...state,...options.state},onStateChange:updater=>{setState(updater);options.onStateChange==null||options.onStateChange(updater)}})));return tableRef.current}const displayIcon=icon=>{if(typeof icon==="string"){return[icon,icon]}return icon};const SortIconButton=({header:header,sortIcon:sortIcon,enableSortingRemoval:enableSortingRemoval})=>{const firstIcon=displayIcon(sortIcon)[0];const secondIcon=displayIcon(sortIcon)[1];return jsxs(Fragment,{children:[header.column.getIsSorted()==="desc"&&jsx("div",{className:"sort-button-icon",style:{paddingLeft:`${(header==null?void 0:header.index)===0?"2px":"4px"}`},children:jsx(Icon,{icon:firstIcon})},firstIcon),header.column.getIsSorted()==="asc"&&jsx("div",{className:"sort-button-icon",style:{paddingLeft:`${(header==null?void 0:header.index)===0?"2px":"4px"}`},children:jsx(Icon,{icon:secondIcon})},secondIcon),header.column.getIsSorted()===false&&jsx("div",{className:"sort-button-icon",style:{paddingLeft:`${(header==null?void 0:header.index)===0?"2px":"4px"}`},children:jsx(Icon,{icon:enableSortingRemoval?"arrow-up-arrow-down":secondIcon})},enableSortingRemoval?"arrow-up-arrow-down":secondIcon)]})};const ToggleIconButton=({row:row,onClick:onClick})=>{const{toggleExpansionIcon:toggleExpansionIcon}=useContext(AdvancedTableContext);return jsx("button",{className:"gray-icon toggle-all-icon",onClick:()=>onClick(row),children:jsx(Icon,{cursor:"pointer",fixedWidth:true,icon:displayIcon(toggleExpansionIcon)[0]})},displayIcon(toggleExpansionIcon)[0])};const findColumnDefByAccessor=(defs,targetAccessor)=>{for(const def of defs){if(def.accessor===targetAccessor){return def}if(Array.isArray(def.columns)&&def.columns.length){const found=findColumnDefByAccessor(def.columns,targetAccessor);if(found)return found}}return void 0};function cssLength(value){if(value===void 0||value===null||value==="")return void 0;if(typeof value==="number"&&Number.isFinite(value))return`${value}px`;return String(value)}const columnStylingKeys=column=>column.columnStyling||column.column_styling||{};function readStylingLength(styling,camel,snake){if(snake)return styling[camel]??styling[snake];return styling[camel]}const PLAYBOOK_FORWARDED_COLUMN_DEF_SIZING_KEYS=["size","minSize","maxSize"];function buildTanStackSizingFromColumn(column){const out={};PLAYBOOK_FORWARDED_COLUMN_DEF_SIZING_KEYS.forEach((key=>{const v=column[key];if(typeof v==="number"&&Number.isFinite(v))out[key]=v}));const styling=columnStylingKeys(column);if(out.size===void 0&&readStylingLength(styling,"width")!==void 0){const w=readStylingLength(styling,"width");if(typeof w==="number"&&Number.isFinite(w))out.size=w}if(out.minSize===void 0&&readStylingLength(styling,"minWidth","min_width")!==void 0){const w=readStylingLength(styling,"minWidth","min_width");if(typeof w==="number"&&Number.isFinite(w))out.minSize=w}if(out.maxSize===void 0&&readStylingLength(styling,"maxWidth","max_width")!==void 0){const w=readStylingLength(styling,"maxWidth","max_width");if(typeof w==="number"&&Number.isFinite(w))out.maxSize=w}if(out.size!==void 0&&out.minSize===void 0&&out.maxSize===void 0){out.minSize=out.size;out.maxSize=out.size}return out}function buildPlaybookColumnLayoutStyles(column,tanStackSizing){const styling=columnStylingKeys(column);const styles={};const stylingWidth=readStylingLength(styling,"width");const stylingMin=readStylingLength(styling,"minWidth","min_width");const stylingMax=readStylingLength(styling,"maxWidth","max_width");const hasStylingWidth=stylingWidth!==void 0&&stylingWidth!=="";const hasStylingMin=stylingMin!==void 0&&stylingMin!=="";const hasStylingMax=stylingMax!==void 0&&stylingMax!=="";let widthValue=hasStylingWidth?stylingWidth:tanStackSizing.size;let minValue=hasStylingMin?stylingMin:tanStackSizing.minSize;let maxValue=hasStylingMax?stylingMax:tanStackSizing.maxSize;const preferredForLock=hasStylingWidth?stylingWidth:tanStackSizing.size;const explicitMin=hasStylingMin||tanStackSizing.minSize!==void 0;const explicitMax=hasStylingMax||tanStackSizing.maxSize!==void 0;if(preferredForLock!==void 0&&preferredForLock!==""&&!explicitMin&&!explicitMax){minValue=preferredForLock;maxValue=preferredForLock;widthValue=preferredForLock}const widthCss=cssLength(widthValue);const minCss=cssLength(minValue);const maxCss=cssLength(maxValue);if(widthCss!==void 0)styles.width=widthCss;if(minCss!==void 0)styles.minWidth=minCss;if(maxCss!==void 0)styles.maxWidth=maxCss;return styles}function playbookColumnLayoutStylesFromMeta(columnDef){const meta=columnDef==null?void 0:columnDef.meta;return(meta==null?void 0:meta.playbookColumnLayoutStyles)||{}}const filterExpandableRows=expandedState=>{for(const expandedRow in expandedState){if(expandedState[expandedRow]===false){delete expandedState[expandedRow]}}return expandedState};const getDescendantRowIds=row=>{const ids=[];for(const sub of row.subRows||[]){ids.push(sub.id);ids.push(...getDescendantRowIds(sub))}return ids};const updateExpandAndCollapseState=(tableRows,expanded,targetParent,targetDepth,cascadeCollapse)=>{const updateExpandedRows={};const rows=targetDepth!==void 0?tableRows.flatRows:tableRows.rows;const rowsToToggle=[];for(const row of rows){const shouldBeUpdated=targetDepth!==void 0?row.depth<=targetDepth:targetParent===void 0?row.depth===0:targetParent===row.parentId;if(shouldBeUpdated){rowsToToggle.push(row)}}const anyCollapsed=rowsToToggle.some((row=>!row.getIsExpanded()));const isExpandAction=anyCollapsed;for(const row of rowsToToggle){const shouldUpdate=isExpandAction||targetDepth===void 0?true:row.depth===targetDepth;if(shouldUpdate){updateExpandedRows[row.id]=isExpandAction}}const updatedExpandedState=filterExpandableRows({...expanded,...updateExpandedRows});if(cascadeCollapse&&!isExpandAction){const idsToRemove=new Set;for(const row of rowsToToggle){const shouldUpdate=targetDepth===void 0?true:row.depth===targetDepth;if(shouldUpdate){getDescendantRowIds(row).forEach((id=>idsToRemove.add(id)))}}idsToRemove.forEach((id=>delete updatedExpandedState[id]))}return updatedExpandedState};const isChrome=()=>{const userAgent=navigator.userAgent.toLowerCase();return userAgent.includes("chrome")&&!userAgent.includes("edg")};const TableHeaderCell=({enableSorting:enableSorting,enableToggleExpansion:enableToggleExpansion,handleExpandOrCollapse:handleExpandOrCollapse,header:header,headerChildren:headerChildren,isPinnedLeft:isPinnedLeft=false,loading:loading,sortIcon:sortIcon,table:table})=>{var _a,_b,_c,_d,_e,_f,_g;const{columnDefinitions:columnDefinitions,expanded:expanded,setExpanded:setExpanded,expandByDepth:expandByDepth,enableSortingRemoval:enableSortingRemoval,onExpandByDepthClick:onExpandByDepthClick,toggleExpansionIcon:toggleExpansionIcon,sortControl:sortControl,responsive:responsive,selectableRows:selectableRows,hasAnySubRows:hasAnySubRows,showActionsBar:showActionsBar,persistToggleExpansionButton:persistToggleExpansionButton,stickyLeftColumn:stickyLeftColumn,inlineRowLoading:inlineRowLoading,isActionBarVisible:isActionBarVisible,cascadeCollapse:cascadeCollapse}=useContext(AdvancedTableContext);const toggleSortButton=event=>{if(sortControl){const sortIsDesc=(header==null?void 0:header.column.getIsSorted())==="desc";sortIsDesc?sortControl.onChange({desc:true}):sortControl.onChange({desc:false})}else{header==null?void 0:header.column.getToggleSortingHandler()(event)}};const alignmentMap={left:"start",center:"center",right:"end"};const colDef=header?findColumnDefByAccessor(columnDefinitions,header.column.id):void 0;const headerAlignment=((_a=colDef==null?void 0:colDef.columnStyling)==null?void 0:_a.headerAlignment)??((_b=colDef==null?void 0:colDef.columnStyling)==null?void 0:_b.headerAligment);const headerBackgroundColor=(_c=colDef==null?void 0:colDef.columnStyling)==null?void 0:_c.headerBackgroundColor;const headerFontColor=(_d=colDef==null?void 0:colDef.columnStyling)==null?void 0:_d.headerFontColor;const isLeafColumn=(header==null?void 0:header.column.getLeafColumns().length)===1&&(header==null?void 0:header.column.getLeafColumns()[0].id)===header.column.id;const columnHasVisibleLeaf=col=>{var _a2;return((_a2=col.getIsVisible)==null?void 0:_a2.call(col))||Array.isArray(col.columns)&&col.columns.some((child=>columnHasVisibleLeaf(child)))};const isLastHeaderCell=(()=>{var _a2;if(!header)return false;if(header.colSpan>1&&header.column.parent!==void 0)return true;const parent=header.column.parent;if(!parent){const topHeaders=table==null?void 0:table.getHeaderGroups()[0].headers.filter((h=>columnHasVisibleLeaf(h.column)));return((_a2=topHeaders==null?void 0:topHeaders.at(-1))==null?void 0:_a2.id)===header.id}const visibleSiblings=parent.columns.filter(columnHasVisibleLeaf);return visibleSiblings.at(-1)===header.column})();const cellClassName=classnames("table-header-cells",`${showActionsBar&&isActionBarVisible&&"header-cells-with-actions"}`,`${isChrome()?"chrome-styles":""}`,`${enableSorting?"table-header-cells-active":""}`,{"pinned-left":responsive==="scroll"&&isPinnedLeft},isLastHeaderCell?"last-header-cell":"",stickyLeftColumn&&stickyLeftColumn.length>0&&isPinnedLeft?"sticky-left":"",((_e=colDef==null?void 0:colDef.columnStyling)==null?void 0:_e.headerPadding)&&`p_${(_f=colDef==null?void 0:colDef.columnStyling)==null?void 0:_f.headerPadding}`);const cellId=`${loading?`loading-${header==null?void 0:header.id}`:`${header==null?void 0:header.id}`}`;const isToggleExpansionEnabledLoading=(header==null?void 0:header.index)===0&&loading&&(enableToggleExpansion==="all"||"header")&&enableToggleExpansion!=="none";const isToggleExpansionEnabled=(header==null?void 0:header.index)===0&&!loading&&(enableToggleExpansion==="all"||"header")&&enableToggleExpansion!=="none";let justifyHeader;if(headerAlignment&&alignmentMap[headerAlignment]){justifyHeader=alignmentMap[headerAlignment]}else if((header==null?void 0:header.index)===0&&hasAnySubRows||(header==null?void 0:header.index)===0&&inlineRowLoading||(header==null?void 0:header.index)===0&&isToggleExpansionEnabled){justifyHeader=enableSorting?"between":"start"}else{justifyHeader=isLeafColumn?"end":"center"}const[showPopover,setShowPopover]=useState(false);const togglePopover=()=>setShowPopover((prev=>!prev));const handleShouldClose=shouldClose=>setShowPopover(!shouldClose);const popoverReference=jsx("div",{className:"gray-icon toggle-all-icon",onClick:togglePopover,children:jsx(Icon,{icon:displayIcon(toggleExpansionIcon)[0]})});const handleExpandDepth=depth=>{if(onExpandByDepthClick){const flatRows=table==null?void 0:table.getRowModel().flatRows;onExpandByDepthClick(depth,flatRows)}const updated=updateExpandAndCollapseState(table.getRowModel(),expanded,void 0,depth,cascadeCollapse);setExpanded(updated)};return jsx("th",{align:headerAlignment?headerAlignment:"right",className:cellClassName,colSpan:header==null?void 0:header.colSpan,id:cellId,style:{...playbookColumnLayoutStylesFromMeta((_g=header==null?void 0:header.column)==null?void 0:_g.columnDef),backgroundColor:headerBackgroundColor,color:headerFontColor,left:isPinnedLeft?(header==null?void 0:header.index)===1?"180px":`${header==null?void 0:header.column.getStart("left")}px`:void 0},children:(header==null?void 0:header.isPlaceholder)?null:headerChildren&&(header==null?void 0:header.index)===0?jsxs(Flex,{alignItems:"center",children:[headerChildren,jsx("div",{children:flexRender(header.column.columnDef.header,header.getContext())})]}):jsxs(Flex,{alignItems:"center",justify:justifyHeader,children:[selectableRows&&(header==null?void 0:header.index)===0&&hasAnySubRows&&jsx(Checkbox,{checked:table==null?void 0:table.getIsAllRowsSelected(),indeterminate:table==null?void 0:table.getIsSomeRowsSelected(),onChange:table==null?void 0:table.getToggleAllRowsSelectedHandler()}),isToggleExpansionEnabled&&(hasAnySubRows||inlineRowLoading&&persistToggleExpansionButton)&&!expandByDepth&&jsx(ToggleIconButton,{onClick:handleExpandOrCollapse}),isToggleExpansionEnabled&&hasAnySubRows&&expandByDepth&&jsx(PbReactPopover,{closeOnClick:"any",placement:"bottom-start",reference:popoverReference,shouldClosePopover:handleShouldClose,show:showPopover,zIndex:3,children:expandByDepth.map(((option,index)=>jsxs(Fragment,{children:[jsx(Flex,{alignItems:"center",className:"pb-advanced-table-popover-option",cursor:"pointer",htmlOptions:{onClick:()=>{handleExpandDepth(option.depth)}},paddingX:"sm",paddingY:"xs",children:option.label}),index!==expandByDepth.length-1&&jsx(SectionSeparator,{})]})))}),isToggleExpansionEnabledLoading&&jsx("div",{className:"loading-toggle-icon header-toggle-icon"}),jsxs(Flex,{className:`${(header==null?void 0:header.index)===0&&enableSorting&&"header-sort-button pb_th_link"} ${(header==null?void 0:header.index)!==0&&(header==null?void 0:header.column.getCanSort())&&"header-sort-secondary-columns"}`,cursor:(header==null?void 0:header.index)!==0&&(header==null?void 0:header.column.getCanSort())||(header==null?void 0:header.index)===0&&enableSorting?"pointer":"default",...((header==null?void 0:header.index)!==0&&(header==null?void 0:header.column.getCanSort())||(header==null?void 0:header.index)===0&&enableSorting)&&{htmlOptions:{onClick:event=>toggleSortButton(event),onKeyDown:event=>{if(event.key==="Enter"){toggleSortButton(event)}},tabIndex:0}},justify:(header==null?void 0:header.index)===0&&enableSorting?"between":headerAlignment?alignmentMap[headerAlignment]:"none",paddingLeft:(header==null?void 0:header.index)===0?enableSorting?"xxs":"xs":"none",children:[jsx("div",{children:flexRender(header==null?void 0:header.column.columnDef.header,header==null?void 0:header.getContext())}),((header==null?void 0:header.index)!==0&&(header==null?void 0:header.column.getCanSort())||(header==null?void 0:header.index)===0&&enableSorting)&&(loading?jsx("div",{className:"loading-toggle-icon"}):jsx(SortIconButton,{enableSortingRemoval:enableSortingRemoval,header:header,sortIcon:sortIcon}))]})]})},`${header==null?void 0:header.id}-header`)};const TableHeader=({children:children,className:className,dark:dark=false,enableSorting:enableSorting=false,id:id,sortIcon:sortIcon=["arrow-up-wide-short","arrow-down-short-wide"],...props})=>{const{enableToggleExpansion:enableToggleExpansion,handleExpandOrCollapse:handleExpandOrCollapse,loading:loading,table:table,hasAnySubRows:hasAnySubRows,showActionsBar:showActionsBar,selectableRows:selectableRows,persistToggleExpansionButton:persistToggleExpansionButton,responsive:responsive,headerRef:headerRef,virtualizedRows:virtualizedRows,enableVirtualization:enableVirtualization}=useContext(AdvancedTableContext);const isVirtualized=virtualizedRows||enableVirtualization;const classes=classnames(buildCss("pb_advanced_table_header"),globalProps(props),className);const columnPinning=table.getState().columnPinning;const customCellClassnames=classnames("table-header-cells-custom",`${showActionsBar&&"header-cells-with-actions"}`,`${isChrome()?"chrome-styles":""}`,`${responsive==="scroll"&&"pinned-left"}`);const renderRegularTableHeader=()=>jsx("thead",{className:classes,id:id,ref:headerRef,children:table.getHeaderGroups().map((headerGroup=>jsxs("tr",{children:[!hasAnySubRows&&selectableRows&&jsx("th",{className:customCellClassnames,children:jsx(Checkbox,{checked:table==null?void 0:table.getIsAllRowsSelected(),indeterminate:table==null?void 0:table.getIsSomeRowsSelected(),onChange:table==null?void 0:table.getToggleAllRowsSelectedHandler()})}),headerGroup.headers.map((header=>{const isPinnedLeft=columnPinning.left.includes(header.id);return jsx(TableHeaderCell,{enableSorting:enableSorting,enableToggleExpansion:enableToggleExpansion,handleExpandOrCollapse:handleExpandOrCollapse,header:header,headerChildren:children,isPinnedLeft:isPinnedLeft,loading:loading,persistToggleExpansionButton:persistToggleExpansionButton,sortIcon:sortIcon,table:table},`${header.id}-header`)}))]},`${headerGroup.id}-headerGroup`)))});const renderVirtualizedTableHeader=()=>jsx("thead",{className:classes,"data-virtualized":"true",id:id,ref:headerRef,children:table.getHeaderGroups().map((headerGroup=>jsxs("tr",{className:"virtualized-header-row-header",children:[!hasAnySubRows&&selectableRows&&jsx("th",{className:classnames(customCellClassnames,"virtualized-header-cell"),children:jsx(Checkbox,{checked:table==null?void 0:table.getIsAllRowsSelected(),indeterminate:table==null?void 0:table.getIsSomeRowsSelected(),onChange:table==null?void 0:table.getToggleAllRowsSelectedHandler()})}),headerGroup.headers.map((header=>{const isPinnedLeft=columnPinning.left.includes(header.id);return jsx(TableHeaderCell,{enableSorting:enableSorting,enableToggleExpansion:enableToggleExpansion,handleExpandOrCollapse:handleExpandOrCollapse,header:header,headerChildren:children,isPinnedLeft:isPinnedLeft,isVirtualized:true,loading:loading,persistToggleExpansionButton:persistToggleExpansionButton,sortIcon:sortIcon,table:table},`${header.id}-header-virtualized`)}))]},`${headerGroup.id}-headerGroup-virtualized`)))});return jsx(Fragment,{children:isVirtualized?renderVirtualizedTableHeader():renderRegularTableHeader()})};const getRowColorClass=(row,inlineRowLoading)=>{var _a;const isExpandable=row.getIsExpanded();const rowHasNoChildren=((_a=row.original)==null?void 0:_a.children)&&!row.original.children.length?true:false;const shouldShowExpandedBackground=isExpandable&&(!inlineRowLoading&&row.getCanExpand()||inlineRowLoading&&(rowHasNoChildren||row.getCanExpand()));return row.getIsSelected()?"bg-row-selection":shouldShowExpandedBackground?"bg-silver":"pb-bg-row-white"};const shouldShowLoadingIndicator=(row,inlineRowLoading,cellAccessorsLength)=>{var _a;const isExpandable=row.getIsExpanded();const rowHasNoChildren=((_a=row.original)==null?void 0:_a.children)&&!row.original.children.length?true:false;return isExpandable&&(inlineRowLoading&&rowHasNoChildren)&&row.depth<cellAccessorsLength};const getRowStyle=(rowStyling,row)=>{var _a;const rowId=((_a=row.original)==null?void 0:_a.id)??row.id;if(rowId==null)return;return rowStyling==null?void 0:rowStyling.find((style=>String(style==null?void 0:style.rowId)===String(rowId)))};const getFontWeight=rowStyle=>{if((rowStyle==null?void 0:rowStyle.fontWeight)==="bold")return 700;if((rowStyle==null?void 0:rowStyle.fontWeight)==="regular")return 400};const CollapsibleTrail=({leftOffset:leftOffset})=>{const style={left:`${leftOffset}em`};return jsx("div",{className:"collapsible-trail",style:style})};const renderCollapsibleTrail=currentDepth=>{const lines=[];for(let i=1;i<=currentDepth;i++){const additionalOffset=i>1?(i-1)*.25:0;const leftOffset=i*1+additionalOffset;lines.push(jsx(CollapsibleTrail,{leftOffset:leftOffset},i))}return lines};const SubRowHeaderRow=({collapsibleTrail:collapsibleTrail,enableToggleExpansion:enableToggleExpansion,onClick:onClick,row:row,subRowHeaders:subRowHeaders,table:table})=>{var _a;const{inlineRowLoading:inlineRowLoading,customSort:customSort,onCustomSortClick:onCustomSortClick}=useContext(AdvancedTableContext);const numberOfColumns=table.getAllFlatColumns().length;const rowHasChildren=row.original.children?true:false;const canExpand=inlineRowLoading?rowHasChildren:row.getCanExpand();const hasSubrowsToSort=(_a=row.getParentRow())==null?void 0:_a.subRows;return jsxs("tr",{className:"custom-row bg-silver",children:[jsxs("td",{className:`custom-row-first-column ${isChrome()?"chrome-styles":""}`,colSpan:1,children:[collapsibleTrail&&row.depth>0&&renderCollapsibleTrail(row.depth),jsx("div",{style:{paddingLeft:`${row.depth*1.25}em`},children:jsxs(Flex,{align:"center",columnGap:"xs",justifyContent:customSort&&hasSubrowsToSort&&hasSubrowsToSort.length>1?"between":void 0,children:[jsxs(Flex,{columnGap:"xs",children:[enableToggleExpansion==="all"&&canExpand?jsx(ToggleIconButton,{onClick:onClick,row:row}):null,jsx(Caption,{marginLeft:canExpand?"none":"xs",text:subRowHeaders[row.depth-1]})]}),customSort&&hasSubrowsToSort&&hasSubrowsToSort.length>1&&jsx("button",{"aria-label":"Sort this group",className:"sort-button-icon gray-icon",onClick:()=>{var _a2;onCustomSortClick&&onCustomSortClick((_a2=row.getParentRow())==null?void 0:_a2.subRows)},children:jsx(Icon,{cursor:"pointer",fixedWidth:true,icon:"sort"})})]})})]}),jsx("td",{colSpan:numberOfColumns-1})]})};const LoadingCell=()=>jsx("div",{className:"loading-cell"});const TableCellRenderer=({row:row,collapsibleTrail:collapsibleTrail=true,loading:loading=false,stickyLeftColumn:stickyLeftColumn,columnPinning:columnPinning,customRowStyle:customRowStyle,columnDefinitions:columnDefinitions,isMultiHeaderColumn:isMultiHeaderColumn=false})=>jsx(Fragment,{children:row.getVisibleCells().map(((cell,i)=>{var _a,_b,_c,_d;const isPinnedLeft=columnPinning.left.includes(cell.column.id);const isLastCell=(()=>{var _a2;if(!isMultiHeaderColumn){return false}const parent=cell.column.parent;if(!parent){const last=row.getVisibleCells().at(-1);return(last==null?void 0:last.column.id)===cell.column.id}const visibleSiblings=parent.columns.filter((col=>col.getIsVisible()));return((_a2=visibleSiblings.at(-1))==null?void 0:_a2.id)===cell.column.id})();const{column:column}=cell;const colDef=findColumnDefByAccessor(columnDefinitions??[],column.id);const cellAlignment=((_a=colDef==null?void 0:colDef.columnStyling)==null?void 0:_a.cellAlignment)??"right";const cellFontColorValue=(_b=colDef==null?void 0:colDef.columnStyling)==null?void 0:_b.fontColor;const cellFontColor=typeof cellFontColorValue==="function"?cellFontColorValue(row):cellFontColorValue;const cellBackgroundColorValue=(_c=colDef==null?void 0:colDef.columnStyling)==null?void 0:_c.cellBackgroundColor;const cellBackgroundColor=typeof cellBackgroundColorValue==="function"?cellBackgroundColorValue(row):cellBackgroundColorValue;const paddingValue=((_d=colDef==null?void 0:colDef.columnStyling)==null?void 0:_d.cellPadding)??(customRowStyle==null?void 0:customRowStyle.cellPadding);const paddingClass=paddingValue?`p_${paddingValue}`:void 0;const fontWeight=getFontWeight(customRowStyle);return jsxs("td",{align:cellAlignment,className:classnames(`${cell.id}-cell position_relative`,isChrome()?"chrome-styles":"",isPinnedLeft&&"pinned-left",stickyLeftColumn&&stickyLeftColumn.length>0&&isPinnedLeft&&"sticky-left",isLastCell&&"last-cell",paddingClass),style:{...playbookColumnLayoutStylesFromMeta(column.columnDef),left:isPinnedLeft?i===1?"180px":`${column.getStart("left")}px`:void 0,backgroundColor:cellBackgroundColor||i===0&&(customRowStyle==null?void 0:customRowStyle.backgroundColor),color:cellFontColor||(customRowStyle==null?void 0:customRowStyle.fontColor),fontWeight:fontWeight},children:[collapsibleTrail&&i===0&&row.depth>0&&renderCollapsibleTrail(row.depth),jsx("span",{id:`${cell.id}-span`,children:loading?jsx(LoadingCell,{}):flexRender(cell.column.columnDef.cell,cell.getContext())})]},`${cell.id}-data`)}))});const RegularTableView=({collapsibleTrail:collapsibleTrail=true,subRowHeaders:subRowHeaders})=>{var _a;const{enableToggleExpansion:enableToggleExpansion,handleExpandOrCollapse:handleExpandOrCollapse,inlineRowLoading:inlineRowLoading,loading:loading,table:table,selectableRows:selectableRows,hasAnySubRows:hasAnySubRows,stickyLeftColumn:stickyLeftColumn,pinnedRows:pinnedRows,headerHeight:headerHeight,rowHeight:rowHeight,actionBarHeight:actionBarHeight,rowStyling:rowStyling=[],sampleRowRef:sampleRowRef}=useContext(AdvancedTableContext);useEffect((()=>{if(stickyLeftColumn&&Array.isArray(stickyLeftColumn)){stickyLeftColumn.forEach((columnId=>{const column=table.getColumn(columnId);if(column&&column.getCanPin()){column.pin("left")}}))}}),[stickyLeftColumn,table]);const columnPinning=table.getState().columnPinning||{left:[]};const columnDefinitions=((_a=table.options.meta)==null?void 0:_a.columnDefinitions)||[];const isMultiHeaderColumn=columnDefinitions.some((obj=>"columns"in obj));function PinnedRow({row:row,position:position}){const customRowStyle=getRowStyle(rowStyling,row);const bottomRowsCount=table.getBottomRows().length;return jsx("tr",{className:classnames("pinned-row",{"pinned-row-bottom":position==="bottom"}),style:{backgroundColor:(customRowStyle==null?void 0:customRowStyle.backgroundColor)?customRowStyle==null?void 0:customRowStyle.backgroundColor:"white",color:customRowStyle==null?void 0:customRowStyle.fontColor,position:"sticky",top:position==="top"?`${row.getPinnedIndex()*rowHeight+headerHeight+actionBarHeight}px`:void 0,bottom:position==="bottom"?`${(bottomRowsCount-1-row.getPinnedIndex())*rowHeight}px`:void 0,zIndex:"3",fontWeight:getFontWeight(customRowStyle)},children:jsx(TableCellRenderer,{collapsibleTrail:collapsibleTrail,columnDefinitions:columnDefinitions,columnPinning:columnPinning,customRowStyle:customRowStyle,isMultiHeaderColumn:isMultiHeaderColumn,loading:loading,row:row,stickyLeftColumn:stickyLeftColumn})})}const totalRows=pinnedRows?table.getCenterRows():table.getRowModel().rows;return jsxs(Fragment,{children:[pinnedRows&&table.getTopRows().map((row=>jsx(PinnedRow,{position:"top",row:row},row.id))),totalRows.map(((row,rowIndex)=>{var _a2,_b,_c;const isFirstChildofSubrow=row.depth>0&&row.index===0;const subRowHeaderText=(_a2=subRowHeaders==null?void 0:subRowHeaders[row.depth-1])==null?void 0:_a2.trim();const shouldRenderSubRowHeader=isFirstChildofSubrow&&!!subRowHeaderText;const numberOfColumns=table.getAllFlatColumns().length;const isFirstRegularRow=rowIndex===0&&!row.getIsPinned();const customRowStyle=getRowStyle(rowStyling,row);const rowColor=getRowColorClass(row,inlineRowLoading||false);const isDataLoading=shouldShowLoadingIndicator(row,inlineRowLoading||false,((_c=(_b=columnDefinitions[0])==null?void 0:_b.cellAccessors)==null?void 0:_c.length)||0);return jsxs(React__default.Fragment,{children:[shouldRenderSubRowHeader&&jsx(SubRowHeaderRow,{collapsibleTrail:collapsibleTrail,enableToggleExpansion:enableToggleExpansion,onClick:handleExpandOrCollapse,row:row,subRowHeaders:subRowHeaders,table:table}),jsxs("tr",{className:`${rowColor} ${row.depth>0?`depth-sub-row-${row.depth}`:""}`,id:`${row.index}-${row.id}-${row.depth}-row`,ref:isFirstRegularRow?sampleRowRef:null,style:{backgroundColor:customRowStyle==null?void 0:customRowStyle.backgroundColor,color:customRowStyle==null?void 0:customRowStyle.fontColor,fontWeight:getFontWeight(customRowStyle)},children:[selectableRows&&!hasAnySubRows&&jsx("td",{className:"checkbox-cell",children:jsx(Checkbox,{checked:row.getIsSelected(),disabled:!row.getCanSelect(),indeterminate:row.getIsSomeSelected(),name:row.id,onChange:row.getToggleSelectedHandler()})}),jsx(TableCellRenderer,{collapsibleTrail:collapsibleTrail,columnDefinitions:columnDefinitions,columnPinning:columnPinning,customRowStyle:customRowStyle,isMultiHeaderColumn:isMultiHeaderColumn,loading:loading,row:row,stickyLeftColumn:stickyLeftColumn})]}),isDataLoading&&jsx("tr",{children:jsx("td",{colSpan:numberOfColumns,style:{paddingLeft:`${row.depth===0?.5:row.depth*2}em`},children:jsx(LoadingInline,{})})},`${row.id}-loading-row`)]},`${row.index}-${row.id}-${row.depth}-row`)})),pinnedRows&&table.getBottomRows().map((row=>jsx(PinnedRow,{position:"bottom",row:row},row.id)))]})};const VirtualizedTableView=({collapsibleTrail:collapsibleTrail=true,subRowHeaders:subRowHeaders,isFetching:isFetching})=>{var _a;const{enableToggleExpansion:enableToggleExpansion,handleExpandOrCollapse:handleExpandOrCollapse,inlineRowLoading:inlineRowLoading,loading:loading,table:table,selectableRows:selectableRows,hasAnySubRows:hasAnySubRows,virtualizer:virtualizer,flattenedItems:flattenedItems,totalAvailableCount:totalAvailableCount}=useContext(AdvancedTableContext);const columnPinning=table.getState().columnPinning||{left:[]};const sortingState=JSON.stringify(table.getState().sorting||[]);const[columnWidths,setColumnWidths]=useState({});const getHeaderCellWidths=()=>{const widths={};const headerCells=document.querySelectorAll(".table-header-cells, .table-header-cells-custom");if(selectableRows&&!hasAnySubRows&&headerCells.length>0){widths["checkbox"]=`${headerCells[0].getBoundingClientRect().width}px`}table.getFlatHeaders().forEach(((header,index)=>{const headerIndex=selectableRows&&!hasAnySubRows?index+1:index;if(headerCells[headerIndex]){const width=headerCells[headerIndex].getBoundingClientRect().width;widths[header.id]=`${width}px`}}));return widths};const debounce2=(func,wait)=>{let timeout;return function executedFunction(...args){const later=()=>{clearTimeout(timeout);func(...args)};clearTimeout(timeout);timeout=setTimeout(later,wait)}};useLayoutEffect((()=>{const timer=setTimeout((()=>{setColumnWidths(getHeaderCellWidths())}),0);return()=>clearTimeout(timer)}),[table,selectableRows,hasAnySubRows,sortingState]);useEffect((()=>{const handleResize=debounce2((()=>{setColumnWidths(getHeaderCellWidths())}),0);window.addEventListener("resize",handleResize);return()=>{window.removeEventListener("resize",handleResize)}}),[table,selectableRows,hasAnySubRows]);if(!virtualizer||!flattenedItems){return jsx("tr",{children:jsx("td",{colSpan:table.getAllFlatColumns().length||1,children:"No data to display."})})}const virtualItems=((_a=virtualizer.getVirtualItems)==null?void 0:_a.call(virtualizer))||[];if(!virtualItems.length){return jsx("tr",{children:jsx("td",{colSpan:table.getAllFlatColumns().length||1,children:"No items to display."})})}const topLevelRowCount=table.getRowModel().flatRows.filter((row=>row.depth===0)).length;return jsx(Fragment,{children:virtualItems.map((virtualRow=>{const item=flattenedItems[virtualRow.index];if(!item)return null;const virtualItemStyle=getVirtualizedRowStyle(virtualRow.start);if(item.type==="header"){return jsx("tr",{className:"virtualized-table-row virtualized-header-row",style:virtualItemStyle,children:jsx("td",{colSpan:table.getAllFlatColumns().length,children:jsx(SubRowHeaderRow,{collapsibleTrail:collapsibleTrail,enableToggleExpansion:enableToggleExpansion,onClick:handleExpandOrCollapse,row:item.row,subRowHeaders:subRowHeaders,table:table})})},`header-${item.id}-sort-${sortingState}`)}if(item.type==="row"){const row=item.row;const rowColor=getRowColorClass(row,inlineRowLoading||false);return jsxs("tr",{className:`virtualized-table-row ${rowColor} ${row.depth>0?`depth-sub-row-${row.depth}`:""}`,"data-index":virtualRow.index,ref:node=>{if(node){try{virtualizer.measureElement(node)}catch(err){}}},style:virtualItemStyle,children:[selectableRows&&!hasAnySubRows&&jsx("td",{className:"checkbox-cell",style:{width:columnWidths["checkbox"]||"auto"},children:jsx(Checkbox,{checked:row.getIsSelected(),disabled:!row.getCanSelect(),indeterminate:row.getIsSomeSelected(),name:row.id,onChange:row.getToggleSelectedHandler()})}),row.getVisibleCells().map(((cell,i)=>{var _a2,_b,_c;const isPinnedLeft=columnPinning.left.includes(cell.column.id);const isLastCell=((_c=(_b=(_a2=cell.column.parent)==null?void 0:_a2.columns)==null?void 0:_b.at(-1))==null?void 0:_c.id)===cell.column.id;const cellWidth=columnWidths[cell.column.id]||"auto";return jsxs("td",{align:"right",className:classnames(`${cell.id}-cell position_relative`,isChrome()?"chrome-styles":"",isPinnedLeft&&"pinned-left",isLastCell&&"last-cell"),style:{...playbookColumnLayoutStylesFromMeta(cell.column.columnDef),width:cellWidth},children:[collapsibleTrail&&i===0&&row.depth>0&&renderCollapsibleTrail(row.depth),jsx("span",{id:`${cell.id}-span`,children:loading?jsx(LoadingCell,{}):flexRender(cell.column.columnDef.cell,cell.getContext())})]},`${cell.id}-data`)}))]},`row-${item.id}-sort-${sortingState}`)}if(item.type==="loading"){const row=item.row;const numberOfColumns=table.getAllFlatColumns().length;return jsx("tr",{className:"virtualized-table-row virtualized-loading-row",style:virtualItemStyle,children:jsx("td",{colSpan:numberOfColumns,style:{paddingLeft:`${row.depth===0?.5:row.depth*2}em`},children:jsx(LoadingInline,{})})},`loading-${item.id}-sort-${sortingState}`)}if(item.type==="footer"){return jsx("tr",{className:"virtualized-table-row virtualized-footer",style:virtualItemStyle,children:jsx("td",{colSpan:table.getAllFlatColumns().length,children:jsx(Flex,{align:"center",justify:"center",children:isFetching?jsx(LoadingInline,{}):jsx(Detail,{text:`Showing ${topLevelRowCount} of ${totalAvailableCount} rows`})})})},`footer-row`)}return null}))})};const TableBody=({className:className,collapsibleTrail:collapsibleTrail=true,dark:dark=false,id:id,subRowHeaders:subRowHeaders,isFetching:isFetching,...props})=>{const{responsive:responsive,isPinnedLeft:isPinnedLeft=false,virtualizer:virtualizer,virtualizedRows:virtualizedRows,enableVirtualization:enableVirtualization}=useContext(AdvancedTableContext);const isVirtualized=virtualizedRows||enableVirtualization;const classes=classnames(buildCss("pb_advanced_table_body"),{"pinned-left":responsive==="scroll"&&isPinnedLeft},globalProps(props),className);const style=virtualizer?{height:`${virtualizer.getTotalSize()}px`,position:"relative",width:"100%"}:{};return jsx(Fragment,{children:jsxs("tbody",{className:classes,"data-virtualized":isVirtualized?"true":"false",id:id,style:style,children:[isVirtualized&&virtualizer?jsx(VirtualizedTableView,{collapsibleTrail:collapsibleTrail,isFetching:isFetching,subRowHeaders:subRowHeaders}):jsx(RegularTableView,{collapsibleTrail:collapsibleTrail,subRowHeaders:subRowHeaders}),isVirtualized&&!virtualizer&&jsx("tr",{children:jsx("td",{colSpan:999,style:{padding:"10px",textAlign:"center"},children:jsx("div",{children:"No data to display."})})})]})})};const TablePagination=({table:table,onChange:onChange,position:position,range:range=5})=>{const current=table.getState().pagination.pageIndex+1;const total=table.getPageCount();return jsx(Pagination,{current:current,marginBottom:position==="top"?"xs":void 0,marginTop:position==="bottom"?"xs":void 0,onChange:onChange,range:range,total:total},`pagination-${position}-${current}`)};const buildVisibilityTree=(defs,allowed)=>defs.map((def=>{const isGroup=Array.isArray(def.columns)&&def.columns.length>0;if(!(allowed==null?void 0:allowed.length)){return isGroup?{id:def.id,label:def.label,children:buildVisibilityTree(def.columns,allowed)}:{id:def.id,label:def.label}}if(allowed.includes(def.id)){return isGroup?{id:def.id,label:def.label,children:buildVisibilityTree(def.columns,null)}:{id:def.id,label:def.label}}if(isGroup){const kids=buildVisibilityTree(def.columns,allowed).filter(Boolean);return kids.length?{id:def.id,label:def.label,children:kids}:null}return null})).filter(Boolean);const showActionBar=elem=>{elem.style.display="block";const height=elem.scrollHeight+"px";elem.style.height=height;elem.classList.add("is-visible");elem.style.overflow="hidden";window.setTimeout((()=>{if(elem.classList.contains("is-visible")){elem.style.height="";elem.style.overflow="visible"}}),300)};const hideActionBar=elem=>{elem.style.height=elem.scrollHeight+"px";elem.offsetHeight;window.setTimeout((()=>{elem.style.height="0";elem.style.overflow="hidden"}),10);window.setTimeout((()=>{elem.classList.remove("is-visible")}),300)};const TableActionBar=({isVisible:isVisible,selectedCount:selectedCount,actions:actions,type:type="row-selection"})=>{var _a;const cardRef=useRef(null);const{table:table,columnVisibilityControl:columnVisibilityControl,columnDefinitions:columnDefinitions,tableContainerRef:tableContainerRef}=useContext(AdvancedTableContext);const includeIds=columnVisibilityControl==null?void 0:columnVisibilityControl.includeIds;const firstLeafId=(_a=table.getAllLeafColumns()[0])==null?void 0:_a.id;const tree=buildVisibilityTree(columnDefinitions,includeIds).filter((node=>node.id!==firstLeafId));const renderLeaf=(id,label)=>{const col=table.getColumn(id);const show=col.getIsVisible();const handleVisibilityChange=()=>{col.toggleVisibility();if(columnVisibilityControl==null?void 0:columnVisibilityControl.onColumnVisibilityChange){const updatedVisibilityState={...table.getAllColumns().reduce(((acc,col2)=>{acc[col2.id]=col2.getIsVisible();return acc}),{})};columnVisibilityControl==null?void 0:columnVisibilityControl.onColumnVisibilityChange(updatedVisibilityState)}};return jsx(Checkbox,{checked:show,onChange:handleVisibilityChange,paddingBottom:"xs",text:label},id)};const gatherLeafIds=node=>node.children&&node.children.length?node.children.flatMap(gatherLeafIds):node.id?[node.id]:[];const renderGroup=node=>{var _a2;const leaves=gatherLeafIds(node);const visibleArray=leaves.map((id=>table.getColumn(id).getIsVisible()));const allOn=visibleArray.every(Boolean);const someOn=visibleArray.some(Boolean);const handleGroupVisibilityChange=()=>{leaves.forEach((id=>table.getColumn(id).toggleVisibility(!allOn)));if(columnVisibilityControl==null?void 0:columnVisibilityControl.onColumnVisibilityChange){const updatedVisibilityState={...table.getAllColumns().reduce(((acc,col)=>{acc[col.id]=col.getIsVisible();return acc}),{})};columnVisibilityControl==null?void 0:columnVisibilityControl.onColumnVisibilityChange(updatedVisibilityState)}};return jsxs(Fragment,{children:[jsx(Checkbox,{checked:allOn,indeterminate:!allOn&&someOn,onChange:handleGroupVisibilityChange,paddingBottom:"xs",text:node.label}),jsx(Flex,{flexDirection:"column",paddingLeft:"lg",children:(_a2=node==null?void 0:node.children)==null?void 0:_a2.map((child=>child.children?renderGroup(child):renderLeaf(child.id,child.label)))})]})};useEffect((()=>{if(cardRef.current&&type==="row-selection"){if(isVisible){showActionBar(cardRef.current)}else{hideActionBar(cardRef.current)}scheduleStickyActionBarHeightUpdate((tableContainerRef==null?void 0:tableContainerRef.current)??null)}}),[isVisible,type,tableContainerRef]);const[showPopover,setShowPopover]=useState(false);const togglePopover=()=>setShowPopover((prev=>!prev));const handleShouldClose=shouldClose=>setShowPopover(!shouldClose);const popoverReference=jsx(Tooltip,{placement:"top",text:"Column Configuration",children:jsx("div",{onClick:togglePopover,children:jsx(Icon,{color:"primary",cursor:"pointer",icon:"sliders-h"})})});return jsx(Card,{borderNone:!isVisible,className:`${isVisible&&"show-action-card row-selection-actions-card"}`,htmlOptions:{ref:cardRef},padding:`${isVisible?"xs":"none"}`,children:jsx(Flex,{alignItems:"center",justify:type==="row-selection"?"between":"end",children:type==="row-selection"?jsxs(Fragment,{children:[jsxs(Caption,{color:"light",paddingLeft:"xs",size:"xs",children:[selectedCount," Selected"]}),jsx(FlexItem,{children:actions})]}):jsx(PbReactPopover,{closeOnClick:"outside",placement:"bottom-end",reference:popoverReference,shouldClosePopover:handleShouldClose,show:showPopover,zIndex:3,children:jsxs(Fragment,{children:[jsx(Caption,{paddingY:"sm",text:"Columns Config",textAlign:"center"}),jsx(SectionSeparator,{paddingBottom:"xs"}),tree.map((node=>jsx(Flex,{cursor:"pointer",flexDirection:"column",paddingX:"xs",children:node.children?renderGroup(node):renderLeaf(node.id,node.label)},node.id)))]})})})})};const CustomCell=({getValue:getValue,onRowToggleClick:onRowToggleClick,row:row,value:value,customRenderer:customRenderer,selectableRows:selectableRows,customStyle:customStyle={},fullWidthCell:fullWidthCell})=>{const{setExpanded:setExpanded,expanded:expanded,expandedControl:expandedControl,inlineRowLoading:inlineRowLoading,hasAnySubRows:hasAnySubRows,cascadeCollapse:cascadeCollapse}=useContext(AdvancedTableContext);const handleOnExpand=row2=>{onRowToggleClick&&onRowToggleClick(row2);const willBeExpanded=!row2.getIsExpanded();if(willBeExpanded){if(!expandedControl){setExpanded({...expanded,[row2.id]:true})}}else{if(cascadeCollapse){const idsToRemove=new Set([row2.id,...getDescendantRowIds(row2)]);const nextExpanded={...expanded};idsToRemove.forEach((id=>delete nextExpanded[id]));setExpanded(nextExpanded)}else if(!expandedControl){setExpanded({...expanded,[row2.id]:false})}}};const RowHasChildren=row.original.children?true:false;const renderButton=inlineRowLoading?RowHasChildren:row.getCanExpand();return jsx("div",{style:{paddingLeft:`${row.depth*1.25}em`,...fullWidthCell?{width:"100%"}:{}},children:jsxs(Flex,{alignItems:"center",columnGap:"xs",justify:"start",orientation:"row",children:[selectableRows&&hasAnySubRows&&jsx(Checkbox,{checked:row.getIsSelected(),disabled:!row.getCanSelect(),indeterminate:row.getIsSomeSelected(),name:row.id,onChange:row.getToggleSelectedHandler()}),renderButton?jsx("button",{className:"gray-icon expand-toggle-icon",onClick:()=>handleOnExpand(row),style:{color:customStyle==null?void 0:customStyle.expandButtonColor},children:row.getIsExpanded()?jsx(Icon,{cursor:"pointer",icon:"circle-play",rotation:90}):jsx(Icon,{cursor:"pointer",icon:"circle-play"})}):null,jsx(FlexItem,{paddingLeft:renderButton?"none":"xs",width:fullWidthCell?"100%":void 0,children:row.depth===0?customRenderer?customRenderer(row,getValue()):getValue():customRenderer?customRenderer(row,value):value})]})})};const createCellFunction=(cellAccessors,customRenderer,isFirstColumn,onRowToggleClick,selectableRows,rowStyling,fullWidthCell)=>{const cellRenderer=({row:row,getValue:getValue})=>{const rowData=row.original;const customStyle=getRowStyle(rowStyling,row);if(isFirstColumn){switch(row.depth){case 0:{return jsx(CustomCell,{customRenderer:customRenderer,customStyle:customStyle,fullWidthCell:fullWidthCell,getValue:getValue,onRowToggleClick:onRowToggleClick,row:row,selectableRows:selectableRows})}default:{const depthAccessor=cellAccessors[row.depth-1];const accessorValue=rowData[depthAccessor];return accessorValue?jsx(CustomCell,{customRenderer:customRenderer,customStyle:customStyle,fullWidthCell:fullWidthCell,onRowToggleClick:onRowToggleClick,row:row,selectableRows:selectableRows,value:accessorValue}):"N/A"}}}return customRenderer?customRenderer(row,getValue()):getValue()};cellRenderer.displayName="CellRenderer";return cellRenderer};function getParentOnlySortedRowModel(){return table=>()=>{const sortingState=table.getState().sorting;const rowModel=table.getPreSortedRowModel();if(!rowModel.rows.length||!(sortingState==null?void 0:sortingState.length)){return rowModel}const sortedFlatRows=[];const availableSorting=sortingState.filter((sort=>{var _a;return(_a=table.getColumn(sort.id))==null?void 0:_a.getCanSort()}));const columnInfoById={};availableSorting.forEach((sortEntry=>{const column=table.getColumn(sortEntry.id);if(!column)return;columnInfoById[sortEntry.id]={sortUndefined:column.columnDef.sortUndefined,invertSorting:column.columnDef.invertSorting,sortingFn:column.getSortingFn()}}));const parentRows=rowModel.rows.map((row=>({...row})));parentRows.sort(((rowA,rowB)=>{for(let i=0;i<availableSorting.length;i+=1){const sortEntry=availableSorting[i];const columnInfo=columnInfoById[sortEntry.id];const sortUndefined=columnInfo.sortUndefined;const isDesc=(sortEntry==null?void 0:sortEntry.desc)??false;let sortInt=0;if(sortUndefined){const aValue=rowA.getValue(sortEntry.id);const bValue=rowB.getValue(sortEntry.id);const aUndefined=aValue===void 0;const bUndefined=bValue===void 0;if(aUndefined||bUndefined){if(sortUndefined==="first")return aUndefined?-1:1;if(sortUndefined==="last")return aUndefined?1:-1;sortInt=aUndefined&&bUndefined?0:aUndefined?sortUndefined:-sortUndefined}}if(sortInt===0){sortInt=columnInfo.sortingFn(rowA,rowB,sortEntry.id)}if(sortInt!==0){if(isDesc)sortInt*=-1;if(columnInfo.invertSorting)sortInt*=-1;return sortInt}}return rowA.index-rowB.index}));function flattenRowsInOrder(rows){rows.forEach((row=>{var _a;sortedFlatRows.push(row);if((_a=row.subRows)==null?void 0:_a.length){flattenRowsInOrder(row.subRows)}}))}flattenRowsInOrder(parentRows);const rowsById={};sortedFlatRows.forEach((row=>{rowsById[row.id]=row}));return{rows:parentRows,flatRows:sortedFlatRows,rowsById:rowsById}}}function useTableState({tableData:tableData,columnDefinitions:columnDefinitions,enableSortingRemoval:enableSortingRemoval,expandedControl:expandedControl,sortControl:sortControl,onRowToggleClick:onRowToggleClick,selectableRows:selectableRows,initialLoadingRowsCount:initialLoadingRowsCount=10,loading:loading,pagination:pagination=false,paginationProps:paginationProps,virtualizedRows:virtualizedRows=false,tableOptions:tableOptions,columnVisibilityControl:columnVisibilityControl,pinnedRows:pinnedRows,rowStyling:rowStyling,inlineRowLoading:inlineRowLoading=false,sortParentOnly:sortParentOnly=false,fullWidthCell:fullWidthCell=false}){var _a,_b,_c,_d;const[localExpanded,setLocalExpanded]=useState({});const[loadingStateRowCount,setLoadingStateRowCount]=useState(initialLoadingRowsCount);const[rowSelection,setRowSelection]=useState({});const[localColumnVisibility,setLocalColumnVisibility]=useState({});const[localRowPinning,setLocalRowPinning]=useState({top:[],bottom:[]});const[localPagination,setLocalPagination]=useState({pageIndex:(paginationProps==null?void 0:paginationProps.pageIndex)??0,pageSize:(paginationProps==null?void 0:paginationProps.pageSize)??20});const expanded=expandedControl?expandedControl.value:localExpanded;const setExpanded=expandedControl?expandedControl.onChange:setLocalExpanded;const columnVisibility=columnVisibilityControl&&columnVisibilityControl.value?columnVisibilityControl.value:localColumnVisibility;const setColumnVisibility=columnVisibilityControl&&columnVisibilityControl.onChange?columnVisibilityControl.onChange:setLocalColumnVisibility;const rowPinning=(pinnedRows==null?void 0:pinnedRows.value)??localRowPinning;const onRowPinningChange=(pinnedRows==null?void 0:pinnedRows.onChange)??setLocalRowPinning;const fetchSize=20;const[fullData]=useState(tableData);const[dataChunk,setDataChunk]=useState(fullData.slice(0,fetchSize));const[totalFetched,setTotalFetched]=useState(fetchSize);const[isFetching,setIsFetching]=useState(false);const columnHelper=createColumnHelper();const buildColumns=useCallback(((columnDefinitions2,isRoot=true)=>(columnDefinitions2==null?void 0:columnDefinitions2.map(((column,index)=>{const isFirstColumn=isRoot&&index===0;if(column.columns&&column.columns.length>0){return{header:column.header??column.label??"",id:column.id??column.label??`group-${index}`,columns:buildColumns(column.columns,false)}}const tanStackSizing=buildTanStackSizingFromColumn(column);const layoutStyles=buildPlaybookColumnLayoutStyles(column,tanStackSizing);const userMeta=column.meta&&typeof column.meta==="object"&&!Array.isArray(column.meta)?column.meta:{};const hasLayoutStyles=layoutStyles.width!==void 0||layoutStyles.minWidth!==void 0||layoutStyles.maxWidth!==void 0;const columnStructure={...columnHelper.accessor(column.accessor,{header:column.header??column.label??"",enableSorting:isFirstColumn||column.enableSort===true,...tanStackSizing,meta:{...userMeta,...hasLayoutStyles?{playbookColumnLayoutStyles:layoutStyles}:{}}})};if(column.cellAccessors||column.customRenderer){columnStructure.cell=createCellFunction(column.cellAccessors||[],column.customRenderer,isFirstColumn,onRowToggleClick,selectableRows,rowStyling,fullWidthCell)}return columnStructure})))||[]),[columnHelper,onRowToggleClick,rowStyling,selectableRows,fullWidthCell]);const columns=useMemo((()=>buildColumns(columnDefinitions)),[buildColumns,columnDefinitions]);const sorting=useMemo((()=>[{id:columnDefinitions[0].accessor,desc:sortControl&&sortControl.value!==null?!sortControl.value.desc:false}]),[columnDefinitions,sortControl]);const customState=useCallback((()=>({state:{expanded:expanded,...sortControl&&{sorting:sorting},...selectableRows&&{rowSelection:rowSelection},...columnVisibility&&{columnVisibility:columnVisibility},...pinnedRows&&{rowPinning:rowPinning},...inlineRowLoading&&{pagination:localPagination}}})),[expanded,sortControl,sorting,selectableRows,rowSelection,columnVisibility,rowPinning,inlineRowLoading,localPagination]);const paginationInitializer=useMemo((()=>{if(!pagination)return{};if(inlineRowLoading){return{getPaginationRowModel:getPaginationRowModel(),paginateExpandedRows:false,onPaginationChange:setLocalPagination,autoResetPageIndex:false}}else{return{getPaginationRowModel:getPaginationRowModel(),paginateExpandedRows:false,initialState:{pagination:{pageIndex:(paginationProps==null?void 0:paginationProps.pageIndex)??0,pageSize:(paginationProps==null?void 0:paginationProps.pageSize)??20}}}}}),[pagination,paginationProps,inlineRowLoading]);const table=useReactTable({data:loading?Array(loadingStateRowCount).fill({}):virtualizedRows?dataChunk:tableData,columns:columns,onExpandedChange:setExpanded,getSubRows:row=>row.children,getCoreRowModel:getCoreRowModel(),getExpandedRowModel:getExpandedRowModel(),getSortedRowModel:sortParentOnly?getParentOnlySortedRowModel():getSortedRowModel(),enableSortingRemoval:enableSortingRemoval,sortDescFirst:true,onRowSelectionChange:setRowSelection,onRowPinningChange:onRowPinningChange,getRowId:selectableRows||pinnedRows||rowStyling?row=>row.id:void 0,onColumnVisibilityChange:setColumnVisibility,meta:{columnDefinitions:columnDefinitions},...customState(),...paginationInitializer,...tableOptions});useEffect((()=>{var _a2,_b2;const topPins=((_a2=pinnedRows==null?void 0:pinnedRows.value)==null?void 0:_a2.top)??[];const bottomPins=((_b2=pinnedRows==null?void 0:pinnedRows.value)==null?void 0:_b2.bottom)??[];const rows=table.getRowModel().rows;const collectAllDescendantIds=subs=>subs.flatMap((r=>[r.id,...collectAllDescendantIds(r.subRows)]));const expandPins=ids=>{const allPinned=[];ids.forEach((id=>{const parent=rows.find((r=>r.id===id&&r.depth===0));if(parent){allPinned.push(parent.id,...collectAllDescendantIds(parent.subRows))}}));return allPinned};onRowPinningChange({top:expandPins(topPins),bottom:expandPins(bottomPins)})}),[table,(_b=(_a=pinnedRows==null?void 0:pinnedRows.value)==null?void 0:_a.top)==null?void 0:_b.join(","),(_d=(_c=pinnedRows==null?void 0:pinnedRows.value)==null?void 0:_c.bottom)==null?void 0:_d.join(",")]);useEffect((()=>{if(pagination&&(paginationProps==null?void 0:paginationProps.pageSize)){if(inlineRowLoading){setLocalPagination((prev=>({...prev,pageSize:paginationProps.pageSize})))}else{table.setPageSize(paginationProps.pageSize)}}}),[pagination,paginationProps==null?void 0:paginationProps.pageSize,table,inlineRowLoading]);useEffect((()=>{if(pagination&&inlineRowLoading&&paginationProps){setLocalPagination({pageIndex:paginationProps.pageIndex??localPagination.pageIndex,pageSize:paginationProps.pageSize??localPagination.pageSize})}}),[pagination,inlineRowLoading,paginationProps==null?void 0:paginationProps.pageIndex,paginationProps==null?void 0:paginationProps.pageSize]);useEffect((()=>{if(pagination&&inlineRowLoading&&(paginationProps==null?void 0:paginationProps.onPageChange)){paginationProps.onPageChange(localPagination.pageIndex)}}),[localPagination.pageIndex,pagination,inlineRowLoading,paginationProps]);useEffect((()=>{if(pagination&&!inlineRowLoading&&(paginationProps==null?void 0:paginationProps.onPageChange)){const currentPageIndex=table.getState().pagination.pageIndex;paginationProps.onPageChange(currentPageIndex)}}),[table.getState().pagination.pageIndex,pagination,inlineRowLoading,paginationProps]);const hasAnySubRows=table.getRowModel().rows.some((row=>row.subRows&&row.subRows.length>0));const selectedRowsLength=Object.keys(table.getState().rowSelection).length;const fetchNextPage=useCallback((()=>{if(isFetching||totalFetched>=fullData.length)return;setIsFetching(true);setTimeout((()=>{const nextChunk=fullData.slice(totalFetched,totalFetched+fetchSize);setDataChunk((prev=>[...prev,...nextChunk]));setTotalFetched((prev=>prev+nextChunk.length));setIsFetching(false)}),500)}),[isFetching,totalFetched,fullData,fetchSize]);const updateLoadingStateRowCount=useCallback((()=>{const rowsCount=table.getRowModel().rows.length;if(rowsCount!==loadingStateRowCount&&rowsCount!==0){setLoadingStateRowCount(rowsCount)}}),[loadingStateRowCount,table]);return{table:table,expanded:expanded,setExpanded:setExpanded,hasAnySubRows:hasAnySubRows,selectedRowsLength:selectedRowsLength,fetchNextPage:fetchNextPage,updateLoadingStateRowCount:updateLoadingStateRowCount,rowSelection:rowSelection,fullData:fullData,totalFetched:totalFetched,isFetching:isFetching,localPagination:localPagination,setLocalPagination:setLocalPagination}}function useTableActions({table:table,expanded:expanded,setExpanded:setExpanded,onToggleExpansionClick:onToggleExpansionClick,onRowSelectionChange:onRowSelectionChange,inlineRowLoading:inlineRowLoading=false,localPagination:localPagination,setLocalPagination:setLocalPagination,cascadeCollapse:cascadeCollapse=false}){const[bottomReached,setBottomReached]=useState(false);const bottomTimeout=useRef(null);const handleExpandOrCollapse=useCallback((async row=>{if(onToggleExpansionClick)onToggleExpansionClick(row);const anyTopLevelExpanded=table.getRowModel().rows.some((r=>r.getIsExpanded()));const isHeaderCollapseAll=row==null&&anyTopLevelExpanded;if(cascadeCollapse&&isHeaderCollapseAll){setExpanded({});return}const updatedExpandedState=await updateExpandAndCollapseState(table.getRowModel(),expanded,row==null?void 0:row.parentId,void 0,cascadeCollapse);setExpanded(updatedExpandedState)}),[expanded,setExpanded,onToggleExpansionClick,table,cascadeCollapse]);const onPageChange=useCallback((page=>{if(inlineRowLoading&&setLocalPagination&&localPagination){setLocalPagination({...localPagination,pageIndex:page-1})}else{table.setPageIndex(page-1)}}),[table,inlineRowLoading,setLocalPagination,localPagination]);const fetchMoreOnBottomReached=useCallback(((containerRef,fetchNextPage,isFetching,totalFetched,totalDBRowCount)=>{if(!containerRef||isFetching||totalFetched>=totalDBRowCount)return;const{scrollTop:scrollTop,scrollHeight:scrollHeight,clientHeight:clientHeight}=containerRef;const distanceFromBottom=scrollHeight-scrollTop-clientHeight;if(distanceFromBottom<50){if(!bottomReached){setBottomReached(true);bottomTimeout.current=setTimeout((()=>{fetchNextPage();setBottomReached(false)}),1e3)}}else{setBottomReached(false);if(bottomTimeout.current){clearTimeout(bottomTimeout.current);bottomTimeout.current=null}}}),[bottomReached]);useEffect((()=>{if(onRowSelectionChange){onRowSelectionChange(table.getState().rowSelection)}}),[table.getState().rowSelection,onRowSelectionChange]);return{handleExpandOrCollapse:handleExpandOrCollapse,onPageChange:onPageChange,fetchMoreOnBottomReached:fetchMoreOnBottomReached}}const AdvancedTable=props=>{const{aria:aria={},actions:actions,cascadeCollapse:cascadeCollapse=false,children:children,className:className,columnDefinitions:columnDefinitions,columnGroupBorderColor:columnGroupBorderColor,columnVisibilityControl:columnVisibilityControl,customSort:customSort,dark:dark=false,data:data={},enableToggleExpansion:enableToggleExpansion="header",enableSortingRemoval:enableSortingRemoval=false,expandedControl:expandedControl,expandByDepth:expandByDepth,onExpandByDepthClick:onExpandByDepthClick,fullWidthCell:fullWidthCell=false,htmlOptions:htmlOptions={},id:id,initialLoadingRowsCount:initialLoadingRowsCount=10,inlineRowLoading:inlineRowLoading=false,loading:loading,maxHeight:maxHeight,onRowToggleClick:onRowToggleClick,onToggleExpansionClick:onToggleExpansionClick,onCustomSortClick:onCustomSortClick,pagination:pagination=false,paginationProps:paginationProps,pinnedRows:pinnedRows,responsive:responsive="scroll",rowStyling:rowStyling,scrollBarNone:scrollBarNone=false,showActionsBar:showActionsBar=true,selectableRows:selectableRows,persistToggleExpansionButton:persistToggleExpansionButton=false,sortControl:sortControl,sortParentOnly:sortParentOnly=false,stickyLeftColumn:stickyLeftColumn,tableData:tableData,tableOptions:tableOptions,tableProps:tableProps,toggleExpansionIcon:toggleExpansionIcon="arrows-from-line",onRowSelectionChange:onRowSelectionChange,virtualizedRows:virtualizedRows=false}=props;const noTableCardContainer=(tableProps==null?void 0:tableProps.container)===false;const tableWrapperRef=useRef(null);const{table:table,expanded:expanded,setExpanded:setExpanded,hasAnySubRows:hasAnySubRows,selectedRowsLength:selectedRowsLength,fetchNextPage:fetchNextPage,updateLoadingStateRowCount:updateLoadingStateRowCount,fullData:fullData,totalFetched:totalFetched,isFetching:isFetching,localPagination:localPagination,setLocalPagination:setLocalPagination}=useTableState({tableData:tableData,columnDefinitions:columnDefinitions,enableSortingRemoval:enableSortingRemoval,expandedControl:expandedControl,sortControl:sortControl,onRowToggleClick:onRowToggleClick,selectableRows:selectableRows,initialLoadingRowsCount:initialLoadingRowsCount,loading:loading,pagination:pagination,paginationProps:paginationProps,virtualizedRows:virtualizedRows,tableOptions:tableOptions,columnVisibilityControl:columnVisibilityControl,pinnedRows:pinnedRows,rowStyling:rowStyling,inlineRowLoading:inlineRowLoading,sortParentOnly:sortParentOnly,fullWidthCell:fullWidthCell});const{handleExpandOrCollapse:handleExpandOrCollapse,onPageChange:onPageChange,fetchMoreOnBottomReached:fetchMoreOnBottomReached}=useTableActions({table:table,expanded:expanded,setExpanded:setExpanded,onToggleExpansionClick:onToggleExpansionClick,onRowSelectionChange:onRowSelectionChange,inlineRowLoading:inlineRowLoading,localPagination:localPagination,setLocalPagination:setLocalPagination,cascadeCollapse:cascadeCollapse});useEffect((()=>{if(!loading){updateLoadingStateRowCount()}}),[loading,updateLoadingStateRowCount]);useEffect((()=>{fetchMoreOnBottomReached(tableWrapperRef.current,fetchNextPage,isFetching,totalFetched,fullData.length)}),[fetchMoreOnBottomReached,fetchNextPage,isFetching,totalFetched,fullData.length]);const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const isActionBarVisible=selectableRows&&showActionsBar&&selectedRowsLength>0||columnVisibilityControl;const isStickyHeader=Boolean(tableProps==null?void 0:tableProps.sticky);useEffect((()=>{if(!isStickyHeader||!tableWrapperRef.current)return;const wrapper=tableWrapperRef.current;const updateHeights=()=>updateStickyLayoutHeights(wrapper);updateHeights();scheduleStickyActionBarHeightUpdate(wrapper);const resizeObserver=new ResizeObserver(updateHeights);resizeObserver.observe(wrapper);const actionBar=wrapper.querySelector(".row-selection-actions-card");if(actionBar){resizeObserver.observe(actionBar)}const table2=wrapper.querySelector("table.pb_table");const thead=table2==null?void 0:table2.querySelector("thead");if(thead){resizeObserver.observe(thead)}return()=>resizeObserver.disconnect()}),[isStickyHeader,isActionBarVisible,columnDefinitions,tableData]);const classes=classnames(buildCss("pb_advanced_table"),`advanced-table-responsive-${responsive}`,maxHeight?`advanced-table-max-height-${maxHeight}`:"",{"hidden-action-bar":(selectableRows||columnVisibilityControl)&&!isActionBarVisible},{"advanced-table-sticky-left-columns":stickyLeftColumn&&stickyLeftColumn.length>0},{"advanced-table-sticky-header":isStickyHeader},{"advanced-table-no-table-container":noTableCardContainer},columnGroupBorderColor?`column-group-border-${columnGroupBorderColor}`:"",scrollBarNone?"advanced-table-hide-scrollbar":"",globalProps(props),className);const tableWrapperStyle=virtualizedRows?getVirtualizedContainerStyles(maxHeight):{};const tableElement=jsx(Table,{className:`${loading?"content-loading":""}`,dark:dark,dataTable:true,numberSpacing:"tabular",responsive:"none",...tableProps,children:children?children:jsxs(Fragment,{children:[jsx(TableHeader,{}),jsx(TableBody,{isFetching:isFetching})]})});return jsxs(Fragment,{children:[pagination&&jsx(TablePagination,{onChange:onPageChange,position:"top",range:paginationProps==null?void 0:paginationProps.range,table:table}),jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,onScroll:virtualizedRows?e=>fetchMoreOnBottomReached(e.currentTarget,fetchNextPage,isFetching,totalFetched,fullData.length):void 0,ref:tableWrapperRef,style:tableWrapperStyle,children:jsx(AdvancedTableProvider,{cascadeCollapse:cascadeCollapse,columnDefinitions:columnDefinitions,columnGroupBorderColor:columnGroupBorderColor,columnVisibilityControl:columnVisibilityControl,customSort:customSort,enableSortingRemoval:enableSortingRemoval,enableToggleExpansion:enableToggleExpansion,enableVirtualization:virtualizedRows,expandByDepth:expandByDepth,expanded:expanded,expandedControl:expandedControl,handleExpandOrCollapse:handleExpandOrCollapse,hasAnySubRows:hasAnySubRows,inlineRowLoading:inlineRowLoading,isActionBarVisible:isActionBarVisible,loading:loading,onCustomSortClick:onCustomSortClick,onExpandByDepthClick:onExpandByDepthClick,persistToggleExpansionButton:persistToggleExpansionButton,pinnedRows:pinnedRows,responsive:responsive,rowStyling:rowStyling,selectableRows:selectableRows,setExpanded:setExpanded,showActionsBar:showActionsBar,sortControl:sortControl,stickyLeftColumn:stickyLeftColumn,subRowHeaders:tableOptions==null?void 0:tableOptions.subRowHeaders,table:table,tableContainerRef:tableWrapperRef,toggleExpansionIcon:toggleExpansionIcon,totalAvailableCount:fullData.length,virtualizedRows:virtualizedRows,children:jsxs(React__default.Fragment,{children:[jsx(TableActionBar,{actions:actions,isVisible:isActionBarVisible,selectedCount:selectedRowsLength,type:columnVisibilityControl?"column-visibility":"row-selection"}),virtualizedRows?jsx("div",{style:{overflow:"auto",width:"100%"},children:tableElement}):tableElement]})})}),pagination&&jsx(TablePagination,{onChange:onPageChange,position:"bottom",range:paginationProps==null?void 0:paginationProps.range,table:table})]})};AdvancedTable.Header=TableHeader;AdvancedTable.Body=TableBody;export{AdvancedTable};
|