@tedi-design-system/react 19.0.0 → 19.0.1-rc.1
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/bundle-stats.html +394 -38
- package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
- package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
- package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
- package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
- package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
- package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
- package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
- package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
- package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
- package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
- package/external/prop-types/external/react-is/index.cjs.js +1 -1
- package/external/prop-types/external/react-is/index.es.js +1 -1
- package/index.css +1 -1
- package/package.json +4 -4
- package/src/tedi/components/content/table/table.cjs.js +1 -1
- package/src/tedi/components/content/table/table.es.js +448 -438
- package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
- package/src/tedi/providers/label-provider/labels-map.d.ts +21 -0
- package/src/tedi/providers/label-provider/labels-map.es.js +21 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tedi-design-system/react",
|
|
3
|
-
"version": "19.0.
|
|
3
|
+
"version": "19.0.1-rc.1",
|
|
4
4
|
"description": "TEDI Design System React component library — accessible, reusable UI components. Docs & live examples: https://storybook.tedi.ee/react/rc/",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"@mui/material": "^5.15.13",
|
|
48
48
|
"@mui/x-date-pickers": "^5.0.20",
|
|
49
49
|
"@tanstack/react-table": "^8.13.2",
|
|
50
|
-
"@tedi-design-system/core": "^6.
|
|
50
|
+
"@tedi-design-system/core": "^6.8.1",
|
|
51
51
|
"classnames": "^2.5.1",
|
|
52
52
|
"draft-js": "^0.11.7",
|
|
53
53
|
"draftjs-md-converter": "^1.5.2",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"react-dom": "18.3.1",
|
|
134
134
|
"replace-in-file": "^8.4.0",
|
|
135
135
|
"rollup-plugin-preserve-directives": "^0.4.0",
|
|
136
|
-
"rollup-plugin-visualizer": "^
|
|
136
|
+
"rollup-plugin-visualizer": "^7.1.1",
|
|
137
137
|
"sass": "^1.83.1",
|
|
138
138
|
"semantic-release": "^25.0.3",
|
|
139
139
|
"showdown": "^2.1.0",
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
"stylelint-config-recess-order": "^7.7.0",
|
|
144
144
|
"stylelint-config-standard-scss": "^14.0.0",
|
|
145
145
|
"stylelint-declaration-strict-value": "^1.9.2",
|
|
146
|
-
"ts-jest": "29.
|
|
146
|
+
"ts-jest": "29.4.12",
|
|
147
147
|
"ts-node": "^10.9.2",
|
|
148
148
|
"tslib": "^2.8.1",
|
|
149
149
|
"typescript": "5.9.2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),ie=require("../../../../../external/@tanstack/react-table/build/lib/index.cjs.js"),I=require("../../../../../external/classnames/index.cjs.js"),i=require("react"),ht=require("../../base/icon/icon.cjs.js"),mn=require("../../buttons/collapse-button/collapse-button.cjs.js"),mt=require("../../form/checkbox/checkbox.cjs.js"),hn=require("../../form/radio/radio.cjs.js"),xn=require("../../form/textfield/textfield.cjs.js"),o=require("./table.module.scss.cjs.js"),wn=require("./table-columns-menu/table-columns-menu.cjs.js"),Cn=require("./table-context.cjs.js"),vn=require("./table-header-button/table-header-button.cjs.js"),_n=require("./table-toolbar/table-toolbar.cjs.js"),Sn=require("./use-table-persistence.cjs.js"),Rn=require("../../../providers/label-provider/use-labels.cjs.js"),oe=require("../../../../../external/@tanstack/table-core/build/lib/index.cjs.js"),Dn=require("../../navigation/pagination/pagination.cjs.js"),yn=(D,E)=>M=>{const _=M.index;if(_<0||_>=D.length)return 1;const N=E(D[_]);if(_>0&&E(D[_-1])===N)return 0;let T=1;for(let A=_+1;A<D.length&&E(D[A])===N;A++)T++;return T},xt="data-tedi-drag-handle",kn=({label:D,onHandlePointerDown:E,id:M,pickedUp:_,onKeyDown:N})=>r.jsx("button",{type:"button",id:M,className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:_}),"aria-label":D,"aria-pressed":_,onClick:T=>T.stopPropagation(),onMouseDown:E,onTouchStart:E,onKeyDown:N,[xt]:"",children:r.jsx(ht.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),In=D=>{const{row:E,rowClassName:M,rowStyle:_,isActiveRow:N,clickable:T,onClick:A,onKeyDownHandler:Se,ariaRowIndex:Re,columnProps:Z,draggable:re,dragHandleLabel:se,dragHandlers:g,dragHandleId:De,dragHandlePickedUp:ye,dragOverColumnId:de}=D;return r.jsx("tr",{className:M,style:_,draggable:re||void 0,onDragStart:g==null?void 0:g.onDragStart,onDragOver:g==null?void 0:g.onDragOver,onDragLeave:g==null?void 0:g.onDragLeave,onDragEnd:g==null?void 0:g.onDragEnd,onDrop:g==null?void 0:g.onDrop,onClick:T&&A?()=>A(E):void 0,onKeyDown:T?Se:void 0,tabIndex:T?0:void 0,role:T?"button":void 0,"aria-rowindex":Re,"aria-current":N?"true":void 0,children:E.getVisibleCells().map(L=>{var ee;const f=L.column.columnDef.meta,$=Z==null?void 0:Z(L.column.id),ce=re&&L.column.id===_e,ue=!!de&&L.column.id===de,O=(ee=f==null?void 0:f.rowSpan)==null?void 0:ee.call(f,L.row);return O===0?null:r.jsx("td",{rowSpan:O&&O>1?O:void 0,className:I.default(o.default["tedi-table__cell"],{[o.default[`tedi-table__cell--align-${f==null?void 0:f.align}`]]:f==null?void 0:f.align,[o.default[`tedi-table__cell--valign-${f==null?void 0:f.vAlign}`]]:f==null?void 0:f.vAlign,[o.default["tedi-table__cell--drag-handle"]]:ce,[o.default["tedi-table__cell--drag-over"]]:ue},$==null?void 0:$.className),style:$==null?void 0:$.style,children:ce?r.jsx(kn,{label:se,onHandlePointerDown:(g==null?void 0:g.onHandlePointerDown)??(()=>{}),onKeyDown:g==null?void 0:g.onKeyDown,id:De,pickedUp:ye}):ie.flexRender(L.column.columnDef.cell,L.getContext())},L.id)})})},qe="__select__",He="__expand__",_e="__drag__",ae=()=>!0,En={text:ae,select:ae,"multi-select":ae,"date-range":ae,"date-range-period":ae};function Tn(D){return Array.isArray(D.columns)}function wt(D){const{id:E,data:M,columns:_,size:N="medium",caption:T,state:A,defaultState:Se,onStateChange:Re,persist:Z,emptyState:re,emptyStateRole:se,className:g,children:De,striped:ye=!1,verticalBorders:de=!1,borderless:L=!1,stickyFirstColumn:f=!1,stickyLastColumn:$=!1,stickyHeader:ce=!1,maxHeight:ue,onRowClick:O,activeRowId:ee,rowHover:Ct,enableRowSelection:Ue,selectionMode:ke="multiple",highlightSelectedRows:vt=!0,enableColumnFilters:Ie=!1,renderSubComponent:U,getRowCanExpand:Ke,getSubRows:Ve,getRowId:_t,expandTrigger:Ee="button",paginateExpandedRows:St=!1,pagination:B,autoResetPageIndex:Rt,manualPagination:q=!1,manualSorting:Te=!1,manualFiltering:Oe=!1,pageCount:Ge,rowCount:ge,checkboxProps:Ne,radioProps:We,collapseProps:Xe,rowProps:Le,columnProps:H,reorderableRows:S=!1,onRowDrop:j,reorderableColumns:K=!1}=D,{getLabel:h}=Rn.useLabels(),Ye=re??h("table.no-data"),V=i.useRef(h);V.current=h;const Dt=i.useId(),b=E??Dt,x=i.useMemo(()=>B?B===!0?{pageSize:10,pageSizeOptions:[10,25,50],paginationProps:void 0}:{pageSize:B.pageSize??10,pageSizeOptions:B.pageSizeOptions===void 0?[10,25,50]:B.pageSizeOptions,paginationProps:B.paginationProps}:null,[B]),y=x!==null,yt=i.useMemo(()=>{const e=x==null?void 0:x.pageSizeOptions;return Array.isArray(e)&&e.length>0?e:void 0},[x]),[P,R]=Sn.useTablePersistence({persist:Z,controlled:A,defaultState:Se,onStateChange:Re}),kt=i.useCallback(e=>{R(n=>{const t=n.columnVisibility??{};return{columnVisibility:typeof e=="function"?e(t):e}})},[R]),It=i.useCallback(e=>{R(n=>{const t=n.rowSelection??{};return{rowSelection:typeof e=="function"?e(t):e}})},[R]),Et=i.useCallback(e=>{R(n=>{const t=n.expanded??{};return{expanded:typeof e=="function"?e(t):e}})},[R]),Tt=i.useCallback(e=>{R(n=>{const t=n.columnFilters??[];return{columnFilters:typeof e=="function"?e(t):e}})},[R]),Ot=i.useCallback(e=>{R(n=>{const t=n.columnOrder??[];return{columnOrder:typeof e=="function"?e(t):e}})},[R]),Nt=i.useCallback(e=>{R(n=>{const t=n.sorting??[];return{sorting:typeof e=="function"?e(t):e}})},[R]),Lt=i.useCallback(e=>{R(n=>{const t=n.pagination??{pageIndex:0,pageSize:(x==null?void 0:x.pageSize)??10};return{pagination:typeof e=="function"?e(t):e}})},[R,x]),te=!!(U||Ve),Je=!!Ue,$t=i.useMemo(()=>oe.getCoreRowModel(),[]),jt=i.useMemo(()=>Oe?void 0:oe.getFilteredRowModel(),[Oe]),Pt=i.useMemo(()=>Te?void 0:oe.getSortedRowModel(),[Te]),At=i.useMemo(()=>te?oe.getExpandedRowModel():void 0,[te]),Ft=i.useMemo(()=>y&&!q?oe.getPaginationRowModel():void 0,[y,q]),zt=i.useMemo(()=>{const e=[];if(S&&e.push({id:_e,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",cell:()=>null}),Je){const n=ke==="single",t=`${b}-select`;e.push({id:qe,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:n?"":({table:l})=>r.jsx(mt.Checkbox,{...Ne,id:`${b}-select-all`,name:`${b}-select-all`,label:V.current("table.select-all",l.getIsAllPageRowsSelected()),hideLabel:!0,value:"all",checked:l.getIsAllPageRowsSelected(),indeterminate:l.getIsSomePageRowsSelected()&&!l.getIsAllPageRowsSelected(),onChange:(a,s)=>l.toggleAllPageRowsSelected(s)}),cell:({row:l})=>n?r.jsx(hn.Radio,{...We,id:`${b}-select-${l.id}`,name:t,label:V.current("table.select-row",l.getIsSelected()),hideLabel:!0,value:l.id,checked:l.getIsSelected(),disabled:!l.getCanSelect(),onChange:(a,s)=>{s&&l.toggleSelected(!0)}}):r.jsx(mt.Checkbox,{...Ne,id:`${b}-select-${l.id}`,name:`${b}-select-${l.id}`,label:V.current("table.select-row",l.getIsSelected()),hideLabel:!0,value:l.id,checked:l.getIsSelected(),disabled:!l.getCanSelect(),indeterminate:l.getIsSomeSelected(),onChange:(a,s)=>l.toggleSelected(s)})})}return te&&e.push({id:He,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",cell:({row:n})=>{if(!n.getCanExpand())return null;const t=`${b}-sub-${n.id}`;return r.jsx("span",{onClick:l=>l.stopPropagation(),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&l.stopPropagation()},children:r.jsx(mn.CollapseButton,{arrowType:Ee==="row"?"default":"secondary",...Xe,hideText:!0,id:`${b}-expand-${n.id}`,"aria-controls":U?t:void 0,openText:V.current("table.expand-row"),closeText:V.current("table.collapse-row"),open:n.getIsExpanded(),onOpenChange:()=>n.toggleExpanded()})})}}),[...e,..._]},[_,Je,ke,te,U,Ee,S,b,Ne,We,Xe]),Mt=i.useMemo(()=>({}),[]),Bt=i.useMemo(()=>({}),[]),qt=i.useMemo(()=>[],[]),Ht=i.useMemo(()=>[],[]),Ut=i.useMemo(()=>[],[]),Kt=i.useMemo(()=>({pageIndex:0,pageSize:(x==null?void 0:x.pageSize)??10}),[x]),c=ie.useReactTable({data:M,columns:zt,state:{columnVisibility:P.columnVisibility,columnOrder:P.columnOrder??Ht,rowSelection:P.rowSelection??Mt,expanded:P.expanded??Bt,columnFilters:P.columnFilters??qt,sorting:P.sorting??Ut,pagination:y?P.pagination??Kt:void 0},enableRowSelection:Ue,enableMultiRowSelection:ke!=="single",enableColumnFilters:Ie,autoResetPageIndex:Rt??!q,paginateExpandedRows:y&&!q?St:!0,manualPagination:q,manualSorting:Te,manualFiltering:Oe,pageCount:q&&Ge!==void 0?Ge:void 0,rowCount:q&&ge!==void 0?ge:void 0,getRowCanExpand:U?Ke??(()=>!0):Ke,getSubRows:Ve,getRowId:_t,onColumnVisibilityChange:kt,onColumnOrderChange:Ot,onRowSelectionChange:It,onExpandedChange:Et,onColumnFiltersChange:Tt,onSortingChange:Nt,onPaginationChange:y?Lt:void 0,filterFns:En,getCoreRowModel:$t,getFilteredRowModel:jt,getExpandedRowModel:At,getSortedRowModel:Pt,getPaginationRowModel:Ft}),Vt=i.useMemo(()=>({table:c,size:N,id:b,state:P}),[c,N,b,P]),fe=i.useRef(null),[Qe,Gt]=i.useState({left:!1,right:!1}),Ze=f||$;i.useEffect(()=>{const e=fe.current;if(!e||!Ze)return;const n=()=>{const l=e.scrollLeft>0,a=Math.ceil(e.scrollLeft+e.clientWidth)<e.scrollWidth;Gt(s=>s.left===l&&s.right===a?s:{left:l,right:a})};n(),e.addEventListener("scroll",n,{passive:!0});const t=new ResizeObserver(n);return t.observe(e),e.firstElementChild&&t.observe(e.firstElementChild),()=>{e.removeEventListener("scroll",n),t.disconnect()}},[Ze]);const be=i.useCallback(()=>{fe.current&&(fe.current.scrollTop=0)},[]),Wt=i.useCallback(e=>{c.setPageIndex(e-1),be()},[c,be]),Xt=i.useCallback(e=>{c.setPageSize(e),be()},[c,be]),Yt=c.getHeaderGroups().length>1,pe=Ee==="row"&&te,Jt=Ct??(!!O||pe),Qt=I.default(o.default["tedi-table"],o.default[`tedi-table--${N}`],{[o.default["tedi-table--striped"]]:ye,[o.default["tedi-table--vertical-borders"]]:de,[o.default["tedi-table--borderless"]]:L,[o.default["tedi-table--sticky-first-column"]]:f,[o.default["tedi-table--sticky-last-column"]]:$,[o.default["tedi-table--overflow-left"]]:f&&Qe.left,[o.default["tedi-table--overflow-right"]]:$&&Qe.right,[o.default["tedi-table--sticky-header"]]:ce,[o.default["tedi-table--clickable-rows"]]:!!O||pe,[o.default["tedi-table--row-hover"]]:Jt,[o.default["tedi-table--has-pagination"]]:y,[o.default["tedi-table--grouped-headers"]]:Yt},g),w=c.getRowModel().rows,me=c.getHeaderGroups(),et=c.getFooterGroups(),tt=c.getVisibleLeafColumns(),he=tt.length,Zt=et.some(e=>e.headers.some(n=>n.column.columnDef.footer!==void 0)),nt=e=>!!O||pe&&e.getCanExpand(),lt=e=>{pe&&e.getCanExpand()&&e.toggleExpanded(),O==null||O(e)},en=e=>n=>{nt(e)&&n.target===n.currentTarget&&(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),lt(e))},ot=me.length+(Ie?1:0),at=c.getState().pagination,tn=y?at.pageIndex*at.pageSize:0,nn=y?ge??c.getFilteredRowModel().rows.length:w.length,ln=y?ot+nn:void 0,[it,$e]=i.useState(null),[on,xe]=i.useState(null),G=i.useRef(null),W=i.useRef(null),[rt,je]=i.useState(null),[st,we]=i.useState(null),X=i.useRef(null),Y=i.useRef(null),[dt,Pe]=i.useState(null),Ce=i.useRef([]),[ct,Ae]=i.useState(null),ne=i.useRef(-1),[an,F]=i.useState(""),ve=i.useRef(null),[rn,ut]=i.useState(0),Fe=i.useMemo(()=>S?new Map(w.map(e=>[e.id,e.index])):new Map,[S,w]);i.useEffect(()=>{if(!S&&!K)return;const e=()=>{W.current=null,Y.current=null};return window.addEventListener("mouseup",e),window.addEventListener("touchend",e),()=>{window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e)}},[S,K]);const sn=i.useCallback(e=>({onHandlePointerDown:()=>{W.current=e},onDragStart:n=>{if(W.current!==e){n.preventDefault();return}W.current=null,n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain",e)}catch{}const t=n.currentTarget,l=t.closest("table");if(l){const a=t.getBoundingClientRect(),s=Array.from(t.children),u=document.createElement("div");u.style.cssText=`position:fixed;top:-10000px;left:0;width:${a.width}px;pointer-events:none;`;const m=document.createElement("table");m.className=l.className,m.style.cssText=`width:${a.width}px;table-layout:fixed;border-collapse:collapse;`;const C=document.createElement("tbody"),v=t.cloneNode(!0);v.classList.add(o.default["tedi-table__row--drag-preview"]);const d=Array.from(v.children);s.forEach((J,k)=>{const z=d[k];if(!z)return;const le=J.getBoundingClientRect();z.style.width=`${le.width}px`,z.style.minWidth=`${le.width}px`,z.style.maxWidth=`${le.width}px`}),C.appendChild(v),m.appendChild(C),u.appendChild(m),document.body.appendChild(u),n.dataTransfer.setDragImage(u,24,a.height/2),window.setTimeout(()=>u.remove(),0)}G.current=e,$e(e)},onDragOver:n=>{!G.current||G.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",xe(e))},onDragLeave:()=>{xe(n=>n===e?null:n)},onDragEnd:()=>{G.current=null,W.current=null,$e(null),xe(null)},onDrop:n=>{n.preventDefault();const t=G.current,l=e;if(G.current=null,W.current=null,$e(null),xe(null),!t||t===l)return;const a=Fe.get(t),s=Fe.get(l);a===void 0||s===void 0||j==null||j({fromId:t,toId:l,fromIndex:a,toIndex:s})}}),[Fe,j]),gt=(e,n,t)=>{const l=e.slice(),[a]=l.splice(n,1);return l.splice(t,0,a),l},dn=i.useCallback(e=>({onHandlePointerDown:()=>{Y.current=e},onDragStart:n=>{if(Y.current!==e){n.preventDefault();return}Y.current=null,n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain",e)}catch{}const t=n.currentTarget,l=t.getBoundingClientRect(),a=document.createElement("div");a.style.cssText=`position:fixed;top:-10000px;left:0;width:${l.width}px;pointer-events:none;`;const s=document.createElement("table"),u=t.closest("table");s.className=(u==null?void 0:u.className)??"",s.style.cssText=`width:${l.width}px;table-layout:fixed;border-collapse:collapse;`;const m=document.createElement("thead"),C=document.createElement("tr");C.className=o.default["tedi-table__row"];const v=t.cloneNode(!0);v.classList.add(o.default["tedi-table__header-cell--drag-preview"]),v.style.width=`${l.width}px`,C.appendChild(v),m.appendChild(C),s.appendChild(m),a.appendChild(s),document.body.appendChild(a),n.dataTransfer.setDragImage(a,l.width/2,l.height/2),window.setTimeout(()=>a.remove(),0),X.current=e,je(e)},onDragOver:n=>{!X.current||X.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",we(e))},onDragLeave:()=>{we(n=>n===e?null:n)},onDragEnd:()=>{X.current=null,Y.current=null,je(null),we(null)},onDrop:n=>{n.preventDefault();const t=X.current,l=e;if(X.current=null,Y.current=null,je(null),we(null),!t||t===l)return;const a=c.getState().columnOrder,s=a.length>0?a:c.getAllLeafColumns().map(C=>C.id),u=s.indexOf(t),m=s.indexOf(l);u<0||m<0||c.setColumnOrder(gt(s,u,m))}}),[c]),cn=e=>`${b}-col-reorder-${e}`,un=e=>`${b}-row-reorder-${e}`,ft=()=>c.getVisibleLeafColumns().filter(e=>!e.parent&&e.id!==_e&&e.id!==qe&&e.id!==He).map(e=>e.id),ze=e=>{const n=c.getColumn(e),t=n==null?void 0:n.columnDef.meta;return(t==null?void 0:t.label)??(typeof(n==null?void 0:n.columnDef.header)=="string"?n.columnDef.header:e)},bt=(e,n)=>{const t=ft(),l=t.indexOf(n);if(l<0)return;const a=l+e;if(a<0||a>=t.length)return;const s=gt(t,l,a),u=c.getState().columnOrder.length>0?[...c.getState().columnOrder]:c.getAllLeafColumns().map(d=>d.id),m=new Set(t);let C=0;const v=u.map(d=>m.has(d)?s[C++]:d);for(const d of s)v.includes(d)||v.push(d);c.setColumnOrder(v),F(h("table.reorder.move",ze(n),a+1)),ve.current={kind:"column",id:n},ut(d=>d+1)},gn=(e,n)=>{if(!K)return;const t=dt;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)Ce.current=[...c.getState().columnOrder??[]],Pe(n),F(h("table.reorder.pickup",ze(n)));else{const l=ft().indexOf(t)+1;Pe(null),Ce.current=[],F(h("table.reorder.drop",ze(t),l))}break;case"Escape":t!==null&&(e.preventDefault(),c.setColumnOrder(Ce.current),Pe(null),Ce.current=[],F(h("table.reorder.cancel")));break;case"ArrowLeft":t!==null&&(e.preventDefault(),bt(-1,t));break;case"ArrowRight":t!==null&&(e.preventDefault(),bt(1,t));break}},pt=(e,n)=>{const t=w.findIndex(u=>u.original===n);if(t<0)return;const l=t+e;if(l<0||l>=w.length)return;const a=w[t],s=w[l];j==null||j({fromId:a.id,toId:s.id,fromIndex:a.index,toIndex:s.index}),F(h("table.row-reorder.move",l+1)),ve.current={kind:"row",original:n},ut(u=>u+1)},fn=(e,n)=>{if(!S)return;const t=ct;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)Ae(n.original),ne.current=n.index,F(h("table.row-reorder.pickup",w.indexOf(n)+1));else{const l=w.findIndex(a=>a.original===t)+1;Ae(null),ne.current=-1,F(h("table.row-reorder.drop",l))}break;case"Escape":if(t!==null){e.preventDefault();const l=w.findIndex(a=>a.original===t);if(l>=0&&ne.current>=0){const a=w[l];j==null||j({fromId:a.id,toId:a.id,fromIndex:a.index,toIndex:ne.current})}Ae(null),ne.current=-1,F(h("table.row-reorder.cancel"))}break;case"ArrowUp":t!==null&&(e.preventDefault(),pt(-1,t));break;case"ArrowDown":t!==null&&(e.preventDefault(),pt(1,t));break}};return i.useEffect(()=>{var t;const e=ve.current;if(!e)return;ve.current=null;let n;if(e.kind==="column")n=`${b}-col-reorder-${e.id}`;else{const l=w.find(a=>a.original===e.original);n=l?`${b}-row-reorder-${l.id}`:null}n&&((t=document.getElementById(n))==null||t.focus())},[rn,w,b]),r.jsx(Cn.TableContext.Provider,{value:Vt,children:r.jsxs("div",{className:Qt,"data-name":"tedi-table",children:[De,(S||K)&&r.jsx("div",{className:o.default["tedi-table__sr-only"],"aria-live":"polite","aria-atomic":"true",children:an}),r.jsx("div",{ref:fe,className:o.default["tedi-table__scroll"],style:ue!==void 0?{maxHeight:ue,overflowY:"auto"}:void 0,children:r.jsxs("table",{id:E,className:o.default["tedi-table__table"],"aria-rowcount":ln,"aria-colcount":he>0?he:void 0,children:[T&&r.jsx("caption",{className:o.default["tedi-table__caption"],children:T}),r.jsxs("thead",{className:o.default["tedi-table__head"],children:[me.map((e,n)=>r.jsx("tr",{className:o.default["tedi-table__row"],"aria-rowindex":y?n+1:void 0,children:e.headers.map(t=>{const l=t.subHeaders.length>0,a=!!t.column.parent,s=Tn(t.column.columnDef),u=!s&&!a;if(t.isPlaceholder&&!u||!t.isPlaceholder&&u&&n>0)return null;const m=u?me.length-n:1,C=t.column.getIsSorted(),v=t.column.getCanSort()?C==="asc"?"ascending":C==="desc"?"descending":"none":void 0,d=t.column.columnDef.meta,J=(d==null?void 0:d.label)??(typeof t.column.columnDef.header=="string"?t.column.columnDef.header:void 0),k=H==null?void 0:H(t.column.id),z=t.column.getSize(),le=t.column.id===_e||t.column.id===qe||t.column.id===He,Q=K&&u&&!le,p=Q?dn(t.column.id):void 0,bn=Q&&rt===t.column.id,pn=Q&&st===t.column.id&&rt!==t.column.id,Me=Q&&dt===t.column.id;return r.jsx("th",{colSpan:t.colSpan,rowSpan:m>1?m:void 0,draggable:Q||void 0,onDragStart:p==null?void 0:p.onDragStart,onDragOver:p==null?void 0:p.onDragOver,onDragLeave:p==null?void 0:p.onDragLeave,onDragEnd:p==null?void 0:p.onDragEnd,onDrop:p==null?void 0:p.onDrop,className:I.default(o.default["tedi-table__header-cell"],{[o.default["tedi-table__header-cell--group"]]:l,[o.default["tedi-table__header-cell--dragging"]]:bn,[o.default["tedi-table__header-cell--drag-over"]]:pn,[o.default["tedi-table__header-cell--picked-up"]]:Me,[o.default[`tedi-table__cell--align-${d==null?void 0:d.align}`]]:d==null?void 0:d.align,[o.default[`tedi-table__cell--valign-${d==null?void 0:d.vAlign}`]]:d==null?void 0:d.vAlign},k==null?void 0:k.className),scope:"col","aria-sort":v,"aria-label":J??(s?void 0:t.column.id),style:z||k!=null&&k.style?{...z?{width:z}:null,...k==null?void 0:k.style}:void 0,children:Q&&p?r.jsxs("span",{className:o.default["tedi-table__header-cell-inner"],children:[r.jsx("button",{type:"button",id:cn(t.column.id),className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:Me}),"aria-label":h("table.drag-column",J??t.column.id),"aria-pressed":Me,onClick:Be=>Be.stopPropagation(),onMouseDown:p.onHandlePointerDown,onTouchStart:p.onHandlePointerDown,onKeyDown:Be=>gn(Be,t.column.id),[xt]:"",children:r.jsx(ht.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),ie.flexRender(t.column.columnDef.header,t.getContext())]}):ie.flexRender(t.column.columnDef.header,t.getContext())},t.id)})},e.id)),Ie&&r.jsx("tr",{className:I.default(o.default["tedi-table__row"],o.default["tedi-table__row--filter"]),"aria-rowindex":y?me.length+1:void 0,children:tt.map(e=>{const n=e.columnDef.meta,t=(n==null?void 0:n.label)??(typeof e.columnDef.header=="string"?e.columnDef.header:e.id),l=`${b}-filter-${e.id}`,a=H==null?void 0:H(e.id);return r.jsx("th",{className:I.default(o.default["tedi-table__header-cell"],a==null?void 0:a.className),style:a==null?void 0:a.style,scope:"col",children:e.getCanFilter()&&r.jsx(xn.TextField,{size:"small",placeholder:h("table.filter-placeholder"),...n==null?void 0:n.filterProps,id:l,name:l,label:h("table.filter-input",t),hideLabel:!0,value:e.getFilterValue()??"",onChange:s=>e.setFilterValue(s||void 0)})},e.id)})})]}),r.jsx("tbody",{className:o.default["tedi-table__body"],children:w.length===0?r.jsx("tr",{className:o.default["tedi-table__row"],children:r.jsx("td",{colSpan:Math.max(1,he),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--placeholder"]),children:se?r.jsx("div",{role:se,children:Ye}):Ye})}):w.map((e,n)=>{const t=nt(e),l=ee!==void 0&&e.id===ee,a=Le==null?void 0:Le(e),s=I.default(o.default["tedi-table__row"],{[o.default["tedi-table__row--selected"]]:vt&&e.getIsSelected(),[o.default["tedi-table__row--active"]]:l,[o.default["tedi-table__row--clickable"]]:t,[o.default["tedi-table__row--sub-row"]]:e.depth>0},a==null?void 0:a.className),u=y?ot+tn+n+1:void 0,m=`${b}-sub-${e.id}`,C=S&&it===e.id,v=S&&on===e.id&&it!==e.id,d=S&&ct===e.original,J={row:e,rowClassName:I.default(s,{[o.default["tedi-table__row--dragging"]]:C,[o.default["tedi-table__row--drag-over"]]:v,[o.default["tedi-table__row--picked-up"]]:d}),rowStyle:a==null?void 0:a.style,isActiveRow:l,clickable:t,onClick:lt,onKeyDownHandler:en(e),ariaRowIndex:u,columnProps:H,draggable:S,dragHandleLabel:h("table.drag-row"),dragHandlers:S?{...sn(e.id),onKeyDown:k=>fn(k,e)}:void 0,dragHandleId:S?un(e.id):void 0,dragHandlePickedUp:d,dragOverColumnId:K?st:null};return r.jsxs(i.Fragment,{children:[r.jsx(In,{...J}),U&&e.getIsExpanded()&&r.jsx("tr",{className:I.default(o.default["tedi-table__row"],o.default["tedi-table__row--sub-component"]),children:r.jsx("td",{id:m,role:"region","aria-label":h("table.row-details"),colSpan:Math.max(1,he),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--sub-component"]),children:U(e)})})]},e.id)})}),Zt&&r.jsx("tfoot",{className:o.default["tedi-table__foot"],children:et.map(e=>r.jsx("tr",{className:o.default["tedi-table__row"],children:e.headers.map(n=>{const t=n.column.columnDef.meta;return r.jsx("td",{colSpan:n.colSpan,className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--footer"],{[o.default[`tedi-table__cell--align-${t==null?void 0:t.align}`]]:t==null?void 0:t.align,[o.default[`tedi-table__cell--valign-${t==null?void 0:t.vAlign}`]]:t==null?void 0:t.vAlign}),children:n.isPlaceholder?null:ie.flexRender(n.column.columnDef.footer,n.getContext())},n.id)})},e.id))})]})}),y&&r.jsx("div",{className:o.default["tedi-table__pagination"],children:r.jsx(Dn.Pagination,{...x==null?void 0:x.paginationProps,pageCount:Math.max(1,c.getPageCount()),page:c.getState().pagination.pageIndex+1,onPageChange:Wt,totalItems:ge??c.getFilteredRowModel().rows.length,pageSize:c.getState().pagination.pageSize,pageSizeOptions:yt,onPageSizeChange:Xt})})]})})}wt.displayName="Table";const On=Object.assign(wt,{Toolbar:_n.TableToolbar,ColumnsMenu:wn.TableColumnsMenu,HeaderButton:vn.TableHeaderButton});exports.Table=On;exports.groupRowSpan=yn;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),ce=require("../../../../../external/@tanstack/react-table/build/lib/index.cjs.js"),I=require("../../../../../external/classnames/index.cjs.js"),i=require("react"),We=require("../../base/icon/icon.cjs.js"),vn=require("../../buttons/collapse-button/collapse-button.cjs.js"),wt=require("../../form/checkbox/checkbox.cjs.js"),wn=require("../../form/radio/radio.cjs.js"),_n=require("../../form/textfield/textfield.cjs.js"),o=require("./table.module.scss.cjs.js"),Sn=require("./table-columns-menu/table-columns-menu.cjs.js"),Rn=require("./table-context.cjs.js"),Dn=require("./table-header-button/table-header-button.cjs.js"),yn=require("./table-toolbar/table-toolbar.cjs.js"),kn=require("./use-table-persistence.cjs.js"),In=require("../../../providers/label-provider/use-labels.cjs.js"),se=require("../../../../../external/@tanstack/table-core/build/lib/index.cjs.js"),En=require("../../navigation/pagination/pagination.cjs.js"),Tn=(D,E)=>q=>{const _=q.index;if(_<0||_>=D.length)return 1;const O=E(D[_]);if(_>0&&E(D[_-1])===O)return 0;let y=1;for(let z=_+1;z<D.length&&E(D[z])===O;z++)y++;return y},_t="data-tedi-drag-handle",On=({label:D,onHandlePointerDown:E,id:q,pickedUp:_,onKeyDown:O})=>r.jsx("button",{type:"button",id:q,className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:_}),"aria-label":D,"aria-pressed":_,onClick:y=>y.stopPropagation(),onMouseDown:E,onTouchStart:E,onKeyDown:O,[_t]:"",children:r.jsx(We.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),Nn=D=>{const{row:E,rowClassName:q,rowStyle:_,isActiveRow:O,clickable:y,onClick:z,onKeyDownHandler:Se,ariaRowIndex:Re,ariaExpanded:De,ariaControls:ye,columnProps:W,draggable:ue,dragHandleLabel:ke,dragHandlers:g,dragHandleId:Ie,dragHandlePickedUp:Ee,dragOverColumnId:X}=D;return r.jsx("tr",{className:q,style:_,draggable:ue||void 0,onDragStart:g==null?void 0:g.onDragStart,onDragOver:g==null?void 0:g.onDragOver,onDragLeave:g==null?void 0:g.onDragLeave,onDragEnd:g==null?void 0:g.onDragEnd,onDrop:g==null?void 0:g.onDrop,onClick:y&&z?()=>z(E):void 0,onKeyDown:y?Se:void 0,tabIndex:y?0:void 0,role:y?"button":void 0,"aria-rowindex":y?void 0:Re,"aria-expanded":De,"aria-controls":ye,"aria-current":O?"true":void 0,children:E.getVisibleCells().map(T=>{var oe;const f=T.column.columnDef.meta,j=W==null?void 0:W(T.column.id),L=ue&&T.column.id===_e,ge=!!X&&T.column.id===X,Y=(oe=f==null?void 0:f.rowSpan)==null?void 0:oe.call(f,T.row);return Y===0?null:r.jsx("td",{rowSpan:Y&&Y>1?Y:void 0,className:I.default(o.default["tedi-table__cell"],{[o.default[`tedi-table__cell--align-${f==null?void 0:f.align}`]]:f==null?void 0:f.align,[o.default[`tedi-table__cell--valign-${f==null?void 0:f.vAlign}`]]:f==null?void 0:f.vAlign,[o.default["tedi-table__cell--drag-handle"]]:L,[o.default["tedi-table__cell--drag-over"]]:ge},j==null?void 0:j.className),style:j==null?void 0:j.style,children:L?r.jsx(On,{label:ke,onHandlePointerDown:(g==null?void 0:g.onHandlePointerDown)??(()=>{}),onKeyDown:g==null?void 0:g.onKeyDown,id:Ie,pickedUp:Ee}):ce.flexRender(T.column.columnDef.cell,T.getContext())},T.id)})})},Ve="__select__",Ge="__expand__",_e="__drag__",de=()=>!0,jn={text:de,select:de,"multi-select":de,"date-range":de,"date-range-period":de};function Ln(D){return Array.isArray(D.columns)}function St(D){const{id:E,data:q,columns:_,size:O="medium",caption:y,state:z,defaultState:Se,onStateChange:Re,persist:De,emptyState:ye,emptyStateRole:W,className:ue,children:ke,striped:g=!1,verticalBorders:Ie=!1,borderless:Ee=!1,stickyFirstColumn:X=!1,stickyLastColumn:T=!1,stickyHeader:f=!1,maxHeight:j,onRowClick:L,activeRowId:ge,rowHover:Y,enableRowSelection:oe,selectionMode:Te="multiple",highlightSelectedRows:Rt=!0,enableColumnFilters:Oe=!1,renderSubComponent:U,getRowCanExpand:Xe,getSubRows:Ye,getRowId:Dt,expandTrigger:Ne="button",paginateExpandedRows:yt=!1,pagination:H,autoResetPageIndex:kt,manualPagination:K=!1,manualSorting:je=!1,manualFiltering:Le=!1,pageCount:Je,rowCount:fe,checkboxProps:$e,radioProps:Qe,collapseProps:Ze,rowProps:Pe,columnProps:V,reorderableRows:S=!1,onRowDrop:N,reorderableColumns:J=!1}=D,{getLabel:h}=In.useLabels(),et=ye??h("table.no-data"),$=i.useRef(h);$.current=h;const It=i.useId(),m=E??It,x=i.useMemo(()=>H?H===!0?{pageSize:10,pageSizeOptions:[10,25,50],paginationProps:void 0}:{pageSize:H.pageSize??10,pageSizeOptions:H.pageSizeOptions===void 0?[10,25,50]:H.pageSizeOptions,paginationProps:H.paginationProps}:null,[H]),k=x!==null,Et=i.useMemo(()=>{const e=x==null?void 0:x.pageSizeOptions;return Array.isArray(e)&&e.length>0?e:void 0},[x]),[P,R]=kn.useTablePersistence({persist:De,controlled:z,defaultState:Se,onStateChange:Re}),Tt=i.useCallback(e=>{R(n=>{const t=n.columnVisibility??{};return{columnVisibility:typeof e=="function"?e(t):e}})},[R]),Ot=i.useCallback(e=>{R(n=>{const t=n.rowSelection??{};return{rowSelection:typeof e=="function"?e(t):e}})},[R]),Nt=i.useCallback(e=>{R(n=>{const t=n.expanded??{};return{expanded:typeof e=="function"?e(t):e}})},[R]),jt=i.useCallback(e=>{R(n=>{const t=n.columnFilters??[];return{columnFilters:typeof e=="function"?e(t):e}})},[R]),Lt=i.useCallback(e=>{R(n=>{const t=n.columnOrder??[];return{columnOrder:typeof e=="function"?e(t):e}})},[R]),$t=i.useCallback(e=>{R(n=>{const t=n.sorting??[];return{sorting:typeof e=="function"?e(t):e}})},[R]),Pt=i.useCallback(e=>{R(n=>{const t=n.pagination??{pageIndex:0,pageSize:(x==null?void 0:x.pageSize)??10};return{pagination:typeof e=="function"?e(t):e}})},[R,x]),ae=!!(U||Ye),tt=!!oe,At=i.useMemo(()=>se.getCoreRowModel(),[]),Ft=i.useMemo(()=>Le?void 0:se.getFilteredRowModel(),[Le]),zt=i.useMemo(()=>je?void 0:se.getSortedRowModel(),[je]),Bt=i.useMemo(()=>ae?se.getExpandedRowModel():void 0,[ae]),Mt=i.useMemo(()=>k&&!K?se.getPaginationRowModel():void 0,[k,K]),qt=i.useMemo(()=>{const e=[];if(S&&e.push({id:_e,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",meta:{label:$.current("table.reorder-column")},cell:()=>null}),tt){const n=Te==="single",t=`${m}-select`;e.push({id:Ve,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,meta:{label:$.current("table.select-column")},header:n?"":({table:l})=>r.jsx(wt.Checkbox,{...$e,id:`${m}-select-all`,name:`${m}-select-all`,label:$.current("table.select-all",l.getIsAllPageRowsSelected()),hideLabel:!0,value:"all",checked:l.getIsAllPageRowsSelected(),indeterminate:l.getIsSomePageRowsSelected()&&!l.getIsAllPageRowsSelected(),onChange:(a,s)=>l.toggleAllPageRowsSelected(s)}),cell:({row:l})=>n?r.jsx(wn.Radio,{...Qe,id:`${m}-select-${l.id}`,name:t,label:$.current("table.select-row",l.getIsSelected()),hideLabel:!0,value:l.id,checked:l.getIsSelected(),disabled:!l.getCanSelect(),onChange:(a,s)=>{s&&l.toggleSelected(!0)}}):r.jsx(wt.Checkbox,{...$e,id:`${m}-select-${l.id}`,name:`${m}-select-${l.id}`,label:$.current("table.select-row",l.getIsSelected()),hideLabel:!0,value:l.id,checked:l.getIsSelected(),disabled:!l.getCanSelect(),indeterminate:l.getIsSomeSelected(),onChange:(a,s)=>l.toggleSelected(s)})})}return ae&&e.push({id:Ge,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",meta:{label:$.current("table.expand-column")},cell:({row:n})=>{if(!n.getCanExpand())return null;const t=`${m}-sub-${n.id}`;return Ne==="row"?r.jsx(We.Icon,{name:n.getIsExpanded()?"expand_less":"expand_more",size:24,filled:!0,color:"brand"}):r.jsx("span",{onClick:l=>l.stopPropagation(),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&l.stopPropagation()},children:r.jsx(vn.CollapseButton,{arrowType:"secondary",...Ze,hideText:!0,id:`${m}-expand-${n.id}`,"aria-controls":U?t:void 0,openText:$.current("table.expand-row"),closeText:$.current("table.collapse-row"),open:n.getIsExpanded(),onOpenChange:()=>n.toggleExpanded()})})}}),[...e,..._]},[_,tt,Te,ae,U,Ne,S,m,$e,Qe,Ze]),Ut=i.useMemo(()=>({}),[]),Ht=i.useMemo(()=>({}),[]),Kt=i.useMemo(()=>[],[]),Vt=i.useMemo(()=>[],[]),Gt=i.useMemo(()=>[],[]),Wt=i.useMemo(()=>({pageIndex:0,pageSize:(x==null?void 0:x.pageSize)??10}),[x]),c=ce.useReactTable({data:q,columns:qt,state:{columnVisibility:P.columnVisibility,columnOrder:P.columnOrder??Vt,rowSelection:P.rowSelection??Ut,expanded:P.expanded??Ht,columnFilters:P.columnFilters??Kt,sorting:P.sorting??Gt,pagination:k?P.pagination??Wt:void 0},enableRowSelection:oe,enableMultiRowSelection:Te!=="single",enableColumnFilters:Oe,autoResetPageIndex:kt??!K,paginateExpandedRows:k&&!K?yt:!0,manualPagination:K,manualSorting:je,manualFiltering:Le,pageCount:K&&Je!==void 0?Je:void 0,rowCount:K&&fe!==void 0?fe:void 0,getRowCanExpand:U?Xe??(()=>!0):Xe,getSubRows:Ye,getRowId:Dt,onColumnVisibilityChange:Tt,onColumnOrderChange:Lt,onRowSelectionChange:Ot,onExpandedChange:Nt,onColumnFiltersChange:jt,onSortingChange:$t,onPaginationChange:k?Pt:void 0,filterFns:jn,getCoreRowModel:At,getFilteredRowModel:Ft,getExpandedRowModel:Bt,getSortedRowModel:zt,getPaginationRowModel:Mt}),Xt=i.useMemo(()=>({table:c,size:O,id:m,state:P}),[c,O,m,P]),me=i.useRef(null),[nt,Yt]=i.useState({left:!1,right:!1}),lt=X||T;i.useEffect(()=>{const e=me.current;if(!e||!lt)return;const n=()=>{const l=e.scrollLeft>0,a=Math.ceil(e.scrollLeft+e.clientWidth)<e.scrollWidth;Yt(s=>s.left===l&&s.right===a?s:{left:l,right:a})};n(),e.addEventListener("scroll",n,{passive:!0});const t=new ResizeObserver(n);return t.observe(e),e.firstElementChild&&t.observe(e.firstElementChild),()=>{e.removeEventListener("scroll",n),t.disconnect()}},[lt]);const pe=i.useCallback(()=>{me.current&&(me.current.scrollTop=0)},[]),Jt=i.useCallback(e=>{c.setPageIndex(e-1),pe()},[c,pe]),Qt=i.useCallback(e=>{c.setPageSize(e),pe()},[c,pe]),Zt=c.getHeaderGroups().length>1,Q=Ne==="row"&&ae,en=Y??(!!L||Q),tn=I.default(o.default["tedi-table"],o.default[`tedi-table--${O}`],{[o.default["tedi-table--striped"]]:g,[o.default["tedi-table--vertical-borders"]]:Ie,[o.default["tedi-table--borderless"]]:Ee,[o.default["tedi-table--sticky-first-column"]]:X,[o.default["tedi-table--sticky-last-column"]]:T,[o.default["tedi-table--overflow-left"]]:X&&nt.left,[o.default["tedi-table--overflow-right"]]:T&&nt.right,[o.default["tedi-table--sticky-header"]]:f,[o.default["tedi-table--clickable-rows"]]:!!L||Q,[o.default["tedi-table--row-hover"]]:en,[o.default["tedi-table--has-pagination"]]:k,[o.default["tedi-table--grouped-headers"]]:Zt},ue),C=c.getRowModel().rows,be=c.getHeaderGroups(),ot=c.getFooterGroups(),at=c.getVisibleLeafColumns(),he=at.length,nn=ot.some(e=>e.headers.some(n=>n.column.columnDef.footer!==void 0)),it=e=>!!L||Q&&e.getCanExpand(),rt=e=>{Q&&e.getCanExpand()&&e.toggleExpanded(),L==null||L(e)},ln=e=>n=>{it(e)&&n.target===n.currentTarget&&(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),rt(e))},st=be.length+(Oe?1:0),dt=c.getState().pagination,on=k?dt.pageIndex*dt.pageSize:0,an=k?fe??c.getFilteredRowModel().rows.length:C.length,rn=k?st+an:void 0,[ct,Ae]=i.useState(null),[sn,xe]=i.useState(null),Z=i.useRef(null),ee=i.useRef(null),[ut,Fe]=i.useState(null),[gt,Ce]=i.useState(null),te=i.useRef(null),ne=i.useRef(null),[ft,ze]=i.useState(null),ve=i.useRef([]),[mt,Be]=i.useState(null),ie=i.useRef(-1),[dn,B]=i.useState(""),we=i.useRef(null),[cn,pt]=i.useState(0),Me=i.useMemo(()=>S?new Map(C.map(e=>[e.id,e.index])):new Map,[S,C]);i.useEffect(()=>{if(!S&&!J)return;const e=()=>{ee.current=null,ne.current=null};return window.addEventListener("mouseup",e),window.addEventListener("touchend",e),()=>{window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e)}},[S,J]);const un=i.useCallback(e=>({onHandlePointerDown:()=>{ee.current=e},onDragStart:n=>{if(ee.current!==e){n.preventDefault();return}ee.current=null,n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain",e)}catch{}const t=n.currentTarget,l=t.closest("table");if(l){const a=t.getBoundingClientRect(),s=Array.from(t.children),u=document.createElement("div");u.style.cssText=`position:fixed;top:-10000px;left:0;width:${a.width}px;pointer-events:none;`;const p=document.createElement("table");p.className=l.className,p.style.cssText=`width:${a.width}px;table-layout:fixed;border-collapse:collapse;`;const v=document.createElement("tbody"),w=t.cloneNode(!0);w.classList.add(o.default["tedi-table__row--drag-preview"]);const d=Array.from(w.children);s.forEach((M,G)=>{const A=d[G];if(!A)return;const re=M.getBoundingClientRect();A.style.width=`${re.width}px`,A.style.minWidth=`${re.width}px`,A.style.maxWidth=`${re.width}px`}),v.appendChild(w),p.appendChild(v),u.appendChild(p),document.body.appendChild(u),n.dataTransfer.setDragImage(u,24,a.height/2),window.setTimeout(()=>u.remove(),0)}Z.current=e,Ae(e)},onDragOver:n=>{!Z.current||Z.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",xe(e))},onDragLeave:()=>{xe(n=>n===e?null:n)},onDragEnd:()=>{Z.current=null,ee.current=null,Ae(null),xe(null)},onDrop:n=>{n.preventDefault();const t=Z.current,l=e;if(Z.current=null,ee.current=null,Ae(null),xe(null),!t||t===l)return;const a=Me.get(t),s=Me.get(l);a===void 0||s===void 0||N==null||N({fromId:t,toId:l,fromIndex:a,toIndex:s})}}),[Me,N]),bt=(e,n,t)=>{const l=e.slice(),[a]=l.splice(n,1);return l.splice(t,0,a),l},gn=i.useCallback(e=>({onHandlePointerDown:()=>{ne.current=e},onDragStart:n=>{if(ne.current!==e){n.preventDefault();return}ne.current=null,n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain",e)}catch{}const t=n.currentTarget,l=t.getBoundingClientRect(),a=document.createElement("div");a.style.cssText=`position:fixed;top:-10000px;left:0;width:${l.width}px;pointer-events:none;`;const s=document.createElement("table"),u=t.closest("table");s.className=(u==null?void 0:u.className)??"",s.style.cssText=`width:${l.width}px;table-layout:fixed;border-collapse:collapse;`;const p=document.createElement("thead"),v=document.createElement("tr");v.className=o.default["tedi-table__row"];const w=t.cloneNode(!0);w.classList.add(o.default["tedi-table__header-cell--drag-preview"]),w.style.width=`${l.width}px`,v.appendChild(w),p.appendChild(v),s.appendChild(p),a.appendChild(s),document.body.appendChild(a),n.dataTransfer.setDragImage(a,l.width/2,l.height/2),window.setTimeout(()=>a.remove(),0),te.current=e,Fe(e)},onDragOver:n=>{!te.current||te.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",Ce(e))},onDragLeave:()=>{Ce(n=>n===e?null:n)},onDragEnd:()=>{te.current=null,ne.current=null,Fe(null),Ce(null)},onDrop:n=>{n.preventDefault();const t=te.current,l=e;if(te.current=null,ne.current=null,Fe(null),Ce(null),!t||t===l)return;const a=c.getState().columnOrder,s=a.length>0?a:c.getAllLeafColumns().map(v=>v.id),u=s.indexOf(t),p=s.indexOf(l);u<0||p<0||c.setColumnOrder(bt(s,u,p))}}),[c]),fn=e=>`${m}-col-reorder-${e}`,mn=e=>`${m}-row-reorder-${e}`,ht=()=>c.getVisibleLeafColumns().filter(e=>!e.parent&&e.id!==_e&&e.id!==Ve&&e.id!==Ge).map(e=>e.id),qe=e=>{const n=c.getColumn(e),t=n==null?void 0:n.columnDef.meta;return(t==null?void 0:t.label)??(typeof(n==null?void 0:n.columnDef.header)=="string"?n.columnDef.header:e)},xt=(e,n)=>{const t=ht(),l=t.indexOf(n);if(l<0)return;const a=l+e;if(a<0||a>=t.length)return;const s=bt(t,l,a),u=c.getState().columnOrder.length>0?[...c.getState().columnOrder]:c.getAllLeafColumns().map(d=>d.id),p=new Set(t);let v=0;const w=u.map(d=>p.has(d)?s[v++]:d);for(const d of s)w.includes(d)||w.push(d);c.setColumnOrder(w),B(h("table.reorder.move",qe(n),a+1)),we.current={kind:"column",id:n},pt(d=>d+1)},pn=(e,n)=>{if(!J)return;const t=ft;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)ve.current=[...c.getState().columnOrder??[]],ze(n),B(h("table.reorder.pickup",qe(n)));else{const l=ht().indexOf(t)+1;ze(null),ve.current=[],B(h("table.reorder.drop",qe(t),l))}break;case"Escape":t!==null&&(e.preventDefault(),c.setColumnOrder(ve.current),ze(null),ve.current=[],B(h("table.reorder.cancel")));break;case"ArrowLeft":t!==null&&(e.preventDefault(),xt(-1,t));break;case"ArrowRight":t!==null&&(e.preventDefault(),xt(1,t));break}},Ct=(e,n)=>{const t=C.findIndex(u=>u.original===n);if(t<0)return;const l=t+e;if(l<0||l>=C.length)return;const a=C[t],s=C[l];N==null||N({fromId:a.id,toId:s.id,fromIndex:a.index,toIndex:s.index}),B(h("table.row-reorder.move",l+1)),we.current={kind:"row",original:n},pt(u=>u+1)},bn=(e,n)=>{if(!S)return;const t=mt;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)Be(n.original),ie.current=n.index,B(h("table.row-reorder.pickup",C.indexOf(n)+1));else{const l=C.findIndex(a=>a.original===t)+1;Be(null),ie.current=-1,B(h("table.row-reorder.drop",l))}break;case"Escape":if(t!==null){e.preventDefault();const l=C.findIndex(a=>a.original===t);if(l>=0&&ie.current>=0){const a=C[l];N==null||N({fromId:a.id,toId:a.id,fromIndex:a.index,toIndex:ie.current})}Be(null),ie.current=-1,B(h("table.row-reorder.cancel"))}break;case"ArrowUp":t!==null&&(e.preventDefault(),Ct(-1,t));break;case"ArrowDown":t!==null&&(e.preventDefault(),Ct(1,t));break}};return i.useEffect(()=>{var t;const e=we.current;if(!e)return;we.current=null;let n;if(e.kind==="column")n=`${m}-col-reorder-${e.id}`;else{const l=C.find(a=>a.original===e.original);n=l?`${m}-row-reorder-${l.id}`:null}n&&((t=document.getElementById(n))==null||t.focus())},[cn,C,m]),r.jsx(Rn.TableContext.Provider,{value:Xt,children:r.jsxs("div",{className:tn,"data-name":"tedi-table",children:[ke,(S||J)&&r.jsx("div",{className:o.default["tedi-table__sr-only"],"aria-live":"polite","aria-atomic":"true",children:dn}),r.jsx("div",{ref:me,className:o.default["tedi-table__scroll"],style:j!==void 0?{maxHeight:j,overflowY:"auto"}:void 0,tabIndex:0,children:r.jsxs("table",{id:E,className:o.default["tedi-table__table"],"aria-rowcount":rn,"aria-colcount":he>0?he:void 0,children:[y&&r.jsx("caption",{className:o.default["tedi-table__caption"],children:y}),r.jsxs("thead",{className:o.default["tedi-table__head"],children:[be.map((e,n)=>r.jsx("tr",{className:o.default["tedi-table__row"],"aria-rowindex":k?n+1:void 0,children:e.headers.map(t=>{const l=t.subHeaders.length>0,a=!!t.column.parent,s=Ln(t.column.columnDef),u=!s&&!a;if(t.isPlaceholder&&!u||!t.isPlaceholder&&u&&n>0)return null;const p=u?be.length-n:1,v=t.column.getIsSorted(),w=t.column.getCanSort()?v==="asc"?"ascending":v==="desc"?"descending":"none":void 0,d=t.column.columnDef.meta,M=(d==null?void 0:d.label)??(typeof t.column.columnDef.header=="string"?t.column.columnDef.header:void 0),G=M!=null&&M.trim()?M:void 0,A=t.column.columnDef.header,re=!s&&(A==null||typeof A=="string"&&A.trim()===""),vt=G??(s?void 0:t.column.id),F=V==null?void 0:V(t.column.id),Ue=t.column.getSize(),hn=t.column.id===_e||t.column.id===Ve||t.column.id===Ge,le=J&&u&&!hn,b=le?gn(t.column.id):void 0,xn=le&&ut===t.column.id,Cn=le&>===t.column.id&&ut!==t.column.id,He=le&&ft===t.column.id;return r.jsx("th",{colSpan:t.colSpan,rowSpan:p>1?p:void 0,draggable:le||void 0,onDragStart:b==null?void 0:b.onDragStart,onDragOver:b==null?void 0:b.onDragOver,onDragLeave:b==null?void 0:b.onDragLeave,onDragEnd:b==null?void 0:b.onDragEnd,onDrop:b==null?void 0:b.onDrop,className:I.default(o.default["tedi-table__header-cell"],{[o.default["tedi-table__header-cell--group"]]:l,[o.default["tedi-table__header-cell--dragging"]]:xn,[o.default["tedi-table__header-cell--drag-over"]]:Cn,[o.default["tedi-table__header-cell--picked-up"]]:He,[o.default[`tedi-table__cell--align-${d==null?void 0:d.align}`]]:d==null?void 0:d.align,[o.default[`tedi-table__cell--valign-${d==null?void 0:d.vAlign}`]]:d==null?void 0:d.vAlign},F==null?void 0:F.className),scope:"col","aria-sort":w,"aria-label":G??(s?void 0:t.column.id),style:Ue||F!=null&&F.style?{...Ue?{width:Ue}:null,...F==null?void 0:F.style}:void 0,children:le&&b?r.jsxs("span",{className:o.default["tedi-table__header-cell-inner"],children:[r.jsx("button",{type:"button",id:fn(t.column.id),className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:He}),"aria-label":h("table.drag-column",G??t.column.id),"aria-pressed":He,onClick:Ke=>Ke.stopPropagation(),onMouseDown:b.onHandlePointerDown,onTouchStart:b.onHandlePointerDown,onKeyDown:Ke=>pn(Ke,t.column.id),[_t]:"",children:r.jsx(We.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),ce.flexRender(t.column.columnDef.header,t.getContext())]}):re&&vt?r.jsx("span",{className:o.default["tedi-table__sr-only"],children:vt}):ce.flexRender(t.column.columnDef.header,t.getContext())},t.id)})},e.id)),Oe&&r.jsx("tr",{className:I.default(o.default["tedi-table__row"],o.default["tedi-table__row--filter"]),"aria-rowindex":k?be.length+1:void 0,children:at.map(e=>{const n=e.columnDef.meta,t=(n==null?void 0:n.label)??(typeof e.columnDef.header=="string"?e.columnDef.header:e.id),l=`${m}-filter-${e.id}`,a=V==null?void 0:V(e.id);return r.jsx("th",{className:I.default(o.default["tedi-table__header-cell"],a==null?void 0:a.className),style:a==null?void 0:a.style,scope:"col",children:e.getCanFilter()&&r.jsx(_n.TextField,{size:"small",placeholder:h("table.filter-placeholder"),...n==null?void 0:n.filterProps,id:l,name:l,label:h("table.filter-input",t),hideLabel:!0,value:e.getFilterValue()??"",onChange:s=>e.setFilterValue(s||void 0)})},e.id)})})]}),r.jsx("tbody",{className:o.default["tedi-table__body"],children:C.length===0?r.jsx("tr",{className:o.default["tedi-table__row"],children:r.jsx("td",{colSpan:Math.max(1,he),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--placeholder"]),children:W?r.jsx("div",{role:W,children:et}):et})}):C.map((e,n)=>{const t=it(e),l=ge!==void 0&&e.id===ge,a=Pe==null?void 0:Pe(e),s=I.default(o.default["tedi-table__row"],{[o.default["tedi-table__row--selected"]]:Rt&&e.getIsSelected(),[o.default["tedi-table__row--active"]]:l,[o.default["tedi-table__row--clickable"]]:t,[o.default["tedi-table__row--sub-row"]]:e.depth>0},a==null?void 0:a.className),u=k?st+on+n+1:void 0,p=`${m}-sub-${e.id}`,v=S&&ct===e.id,w=S&&sn===e.id&&ct!==e.id,d=S&&mt===e.original,M={row:e,rowClassName:I.default(s,{[o.default["tedi-table__row--dragging"]]:v,[o.default["tedi-table__row--drag-over"]]:w,[o.default["tedi-table__row--picked-up"]]:d}),rowStyle:a==null?void 0:a.style,isActiveRow:l,clickable:t,onClick:rt,onKeyDownHandler:ln(e),ariaRowIndex:u,ariaExpanded:Q&&e.getCanExpand()?e.getIsExpanded():void 0,ariaControls:Q&&e.getCanExpand()&&U?p:void 0,columnProps:V,draggable:S,dragHandleLabel:h("table.drag-row"),dragHandlers:S?{...un(e.id),onKeyDown:G=>bn(G,e)}:void 0,dragHandleId:S?mn(e.id):void 0,dragHandlePickedUp:d,dragOverColumnId:J?gt:null};return r.jsxs(i.Fragment,{children:[r.jsx(Nn,{...M}),U&&e.getIsExpanded()&&r.jsx("tr",{className:I.default(o.default["tedi-table__row"],o.default["tedi-table__row--sub-component"]),children:r.jsx("td",{id:p,role:"region","aria-label":h("table.row-details"),colSpan:Math.max(1,he),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--sub-component"]),children:U(e)})})]},e.id)})}),nn&&r.jsx("tfoot",{className:o.default["tedi-table__foot"],children:ot.map(e=>r.jsx("tr",{className:o.default["tedi-table__row"],children:e.headers.map(n=>{const t=n.column.columnDef.meta;return r.jsx("td",{colSpan:n.colSpan,className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--footer"],{[o.default[`tedi-table__cell--align-${t==null?void 0:t.align}`]]:t==null?void 0:t.align,[o.default[`tedi-table__cell--valign-${t==null?void 0:t.vAlign}`]]:t==null?void 0:t.vAlign}),children:n.isPlaceholder?null:ce.flexRender(n.column.columnDef.footer,n.getContext())},n.id)})},e.id))})]})}),k&&r.jsx("div",{className:o.default["tedi-table__pagination"],children:r.jsx(En.Pagination,{...x==null?void 0:x.paginationProps,pageCount:Math.max(1,c.getPageCount()),page:c.getState().pagination.pageIndex+1,onPageChange:Jt,totalItems:fe??c.getFilteredRowModel().rows.length,pageSize:c.getState().pagination.pageSize,pageSizeOptions:Et,onPageSizeChange:Qt})})]})})}St.displayName="Table";const $n=Object.assign(St,{Toolbar:yn.TableToolbar,ColumnsMenu:Sn.TableColumnsMenu,HeaderButton:Dn.TableHeaderButton});exports.Table=$n;exports.groupRowSpan=Tn;
|