@techzyapp/ui-library 1.0.19 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("react/jsx-runtime"),m=require("react"),D=require("clsx"),te=require("@tanstack/react-table"),W=require("@dnd-kit/core"),re=require("@dnd-kit/sortable"),rn=require("@dnd-kit/utilities"),de=require("./table-CZRQGNdk.cjs"),jt=require("./Badge-BQpr2Jee.cjs"),gt=require("./Button-Cu0XdnW6.cjs"),qe=require("./DatePicker-eryY6Xmx.cjs"),ze=require("./DateTimePicker-CmH3ZuzN.cjs"),$=require("./Icon-CXTl_QAP.cjs"),Be=require("./IconButton-DyRC514t.cjs"),sn=require("./Modal-DsoSz0Sp.cjs"),an=require("./MultiSelect-CtLpWaBX.cjs"),Le=require("./NumberField-C6qj3nCa.cjs"),on=require("./RadioGroup-C8u7eNBS.cjs"),wt=require("./Select-CWCeBQ8Q.cjs"),cn=require("./Slider-dxYVXRev.cjs"),kt=require("./TextField-DvKEj36A.cjs"),De=require("./TimePicker-D__72q2J.cjs"),O=require("./Typography-BFatE1_A.cjs"),se=require("./ConfigProvider-h1WoGC3R.cjs"),pt=require("./Dropdown-Ui7h2TGd.cjs"),ln=require("./EmptyState-Cxf4H8Cc.cjs"),yt=require("./ListItem-DWQorRxG.cjs"),ht=require("./Loader-B45H2SMP.cjs"),dn=require("./Pagination-CsClNqIu.cjs");function Oe(t,n){if(n==null)return!1;switch(t){case"number":return typeof n=="number"&&!Number.isNaN(n);case"boolean":return typeof n=="boolean";case"multiSelect":return Array.isArray(n)&&n.length>0;case"numberRange":case"numberRangeSlider":return Array.isArray(n)&&(n[0]!=null||n[1]!=null);case"dateRange":case"timeRange":case"dateTimeRange":return Array.isArray(n)&&!!(n[0]||n[1]);default:return typeof n=="string"&&n.trim()!==""}}function un(t,n){return t.reduce((s,a)=>Oe(a.type,n[a.key])?s+1:s,0)}const X=t=>String(t).padStart(2,"0"),vt=t=>`${t.getFullYear()}-${X(t.getMonth()+1)}-${X(t.getDate())}`,fn=t=>`${vt(t)}T${X(t.getHours())}:${X(t.getMinutes())}`,mn=t=>`${X(t.getHours())}:${X(t.getMinutes())}`,We=t=>{if(!t)return null;const n=/^\d{4}-\d{2}-\d{2}$/.test(t)?`${t}T00:00:00`:t,s=new Date(n);return Number.isNaN(s.getTime())?null:s},Ee=t=>{const n=We(t);return n?vt(n):t.slice(0,10)},$e=t=>{const n=We(t);return n?fn(n):t.slice(0,16)},ne=t=>{if(/\d{4}-\d{2}-\d{2}/.test(t)){const n=We(t);if(n)return mn(n)}return(t.includes("T")?t.slice(t.indexOf("T")+1):t).slice(0,5)};function gn(t,n,s){const a=String(n??"");switch(t){case"text":return a.toLowerCase().includes(String(s).toLowerCase());case"number":return Number(n)===s;case"numberRange":case"numberRangeSlider":{const[y,u]=s,p=Number(n);return(y==null||p>=y)&&(u==null||p<=u)}case"select":return a===s;case"multiSelect":return s.includes(a);case"boolean":return!!n===s;case"date":return Ee(a)===Ee(String(s));case"dateTime":return $e(a)===$e(String(s));case"time":return ne(a)===ne(String(s));case"dateRange":case"dateTimeRange":{const y=t==="dateRange"?Ee:$e,[u,p]=s,g=y(a);return(!u||g>=y(u))&&(!p||g<=y(p))}case"timeRange":{const[y,u]=s,p=ne(a);return(!y||p>=ne(y))&&(!u||p<=ne(u))}default:return!0}}function pn(t,n,s){const a=n.filter(y=>Oe(y.type,s[y.key]));return a.length===0?t:t.filter(y=>a.every(u=>gn(u.type,y[u.key],s[u.key])))}function xt(t,n,s={}){const a=new URLSearchParams,y=s.rangeMinSuffix??"Min",u=s.rangeMaxSuffix??"Max",p=s.multiSelectFormat??"repeat";for(const g of t){const i=n[g.key];if(!Oe(g.type,i))continue;const c=g.queryKey??g.key;switch(g.type){case"multiSelect":{const l=i;p==="csv"?a.set(c,l.join(",")):p==="indexed"?l.forEach((x,_)=>a.set(`${c}[${_}]`,x)):l.forEach(x=>a.append(c,x));break}case"numberRange":case"numberRangeSlider":{const[l,x]=i;l!=null&&a.set(c+y,String(l)),x!=null&&a.set(c+u,String(x));break}case"dateRange":case"timeRange":case"dateTimeRange":{const[l,x]=i;l&&a.set(c+y,l),x&&a.set(c+u,x);break}default:a.set(c,String(i))}}return a}function bt(t,n,s={}){const a=s.rangeMinSuffix??"Min",y=s.rangeMaxSuffix??"Max",u=s.multiSelectFormat??"repeat",p={};for(const g of t){const i=g.queryKey??g.key;switch(g.type){case"multiSelect":{let c=[];if(u==="csv"){const l=n.get(i);l&&(c=l.split(",").filter(Boolean))}else if(u==="indexed")for(let l=0;n.has(`${i}[${l}]`);l++)c.push(n.get(`${i}[${l}]`));else c=n.getAll(i);c.length&&(p[g.key]=c);break}case"numberRange":case"numberRangeSlider":{const c=n.get(i+a),l=n.get(i+y);(c!=null||l!=null)&&(p[g.key]=[c!=null?Number(c):null,l!=null?Number(l):null]);break}case"dateRange":case"timeRange":case"dateTimeRange":{const c=n.get(i+a),l=n.get(i+y);(c!=null||l!=null)&&(p[g.key]=[c??"",l??""]);break}case"number":{const c=n.get(i);if(c!=null){const l=Number(c);Number.isNaN(l)||(p[g.key]=l)}break}case"boolean":{const c=n.get(i);c==="true"?p[g.key]=!0:c==="false"&&(p[g.key]=!1);break}default:{const c=n.get(i);c&&(p[g.key]=c)}}}return p}const yn="_fields_xa8i1_2",hn="_field_xa8i1_2",xn="_rangeLabel_xa8i1_15",bn="_row_xa8i1_20",_n="_rangeSep_xa8i1_30",Sn="_stack_xa8i1_36",jn="_footer_xa8i1_43",wn="_footerEnd_xa8i1_50",E={fields:yn,field:hn,rangeLabel:xn,row:bn,rangeSep:_n,stack:Sn,footer:jn,footerEnd:wn},kn=(t,n)=>[{value:"",label:(t==null?void 0:t.any)??n("common.any")},{value:"true",label:(t==null?void 0:t.yes)??n("common.yes")},{value:"false",label:(t==null?void 0:t.no)??n("common.no")}],vn=t=>t===!0?"true":t===!1?"false":"",Tn=t=>t==="true"?!0:t==="false"?!1:null;function ue({label:t,from:n,to:s,stacked:a}){return r.jsxs("div",{className:E.field,children:[r.jsx(O.Typography,{variant:"bodySmall",className:E.rangeLabel,children:t}),a?r.jsxs("div",{className:E.stack,children:[n,s]}):r.jsxs("div",{className:E.row,children:[n,r.jsx("span",{className:E.rangeSep,"aria-hidden":!0,children:"–"}),s]})]})}function Nn({filter:t,value:n,onChange:s}){const a=se.useT(),{type:y,label:u,options:p=[],placeholder:g}=t;switch(y){case"text":return r.jsx(kt.TextField,{label:u,placeholder:g,value:n??"",onChange:i=>s(i.target.value)});case"number":return r.jsx(Le.NumberField,{label:u,placeholder:g,value:n??null,onChange:i=>s(i)});case"numberRange":{const[i,c]=n??[null,null];return r.jsx(ue,{label:u,from:r.jsx(Le.NumberField,{placeholder:a("common.min"),value:i,onChange:l=>s([l,c])}),to:r.jsx(Le.NumberField,{placeholder:a("common.max"),value:c,onChange:l=>s([i,l])})})}case"numberRangeSlider":{const i=t.min??0,c=t.max??100,[l,x]=n??[null,null];return r.jsx(cn.Slider,{range:!0,label:u,min:i,max:c,step:t.step??1,value:[l??i,x??c],valueLabel:_=>{const[N,M]=_;return`${N} – ${M}`},onChange:_=>{const[N,M]=_;s([N<=i?null:N,M>=c?null:M])}})}case"select":return r.jsx(wt.Select,{label:u,placeholder:g,options:p,value:n??"",onChange:i=>s(i)});case"multiSelect":return r.jsx(an.MultiSelect,{label:u,placeholder:g,options:p,value:n??[],onChange:i=>s(i)});case"boolean":return r.jsx(on.RadioGroup,{label:u,orientation:"horizontal",options:kn(t.booleanLabels,a),value:vn(n),onChange:i=>s(Tn(i))});case"date":return r.jsx(qe.DatePicker,{label:u,value:n??"",onChange:i=>s(i??"")});case"dateRange":{const[i,c]=n??["",""];return r.jsx(ue,{label:u,from:r.jsx(qe.DatePicker,{placeholder:a("common.from"),value:i,onChange:l=>s([l??"",c])}),to:r.jsx(qe.DatePicker,{placeholder:a("common.to"),value:c,onChange:l=>s([i,l??""])})})}case"time":return r.jsx(De.TimePicker,{label:u,value:n??"",onChange:i=>s(i??"")});case"timeRange":{const[i,c]=n??["",""];return r.jsx(ue,{label:u,from:r.jsx(De.TimePicker,{placeholder:a("common.from"),value:i,onChange:l=>s([l??"",c])}),to:r.jsx(De.TimePicker,{placeholder:a("common.to"),value:c,onChange:l=>s([i,l??""])})})}case"dateTime":return r.jsx(ze.DateTimePicker,{label:u,value:n??"",onChange:i=>s(i??"")});case"dateTimeRange":{const[i,c]=n??["",""];return r.jsx(ue,{label:u,stacked:!0,from:r.jsx(ze.DateTimePicker,{placeholder:a("common.from"),value:i,onChange:l=>s([l??"",c])}),to:r.jsx(ze.DateTimePicker,{placeholder:a("common.to"),value:c,onChange:l=>s([i,l??""])})})}default:return null}}function Mn({filters:t,value:n,onChange:s}){const a=se.useT(),[y,u]=m.useState(!1),[p,g]=m.useState(n),i=un(t,n),c=m.useId(),l=()=>{g(n),u(!0)},x=()=>{s(p),u(!1)};return r.jsxs(r.Fragment,{children:[r.jsx(jt.Badge,{content:i,color:"primary",children:r.jsx(Be.IconButton,{variant:"filled",size:"sm","aria-label":a("table.filters"),onClick:l,children:r.jsx($.Icon,{name:"Filter"})})}),r.jsx(sn.Modal,{open:y,onClose:()=>u(!1),placement:"right",size:"sm",icon:"Filter",title:a("table.filters"),description:a("table.filtersDescription"),footer:r.jsx("div",{className:E.footer,children:r.jsxs("div",{className:E.footerEnd,children:[r.jsx(gt.Button,{variant:"text",startIcon:r.jsx($.Icon,{name:"Trash"}),onClick:()=>g({}),children:a("common.clear")}),r.jsx(gt.Button,{type:"submit",form:c,startIcon:r.jsx($.Icon,{name:"Filter"}),children:a("common.apply")})]})}),children:r.jsx("form",{id:c,className:E.fields,onSubmit:_=>{_.preventDefault(),x()},children:t.map(_=>r.jsx(Nn,{filter:_,value:p[_.key],onChange:N=>g(M=>({...M,[_.key]:N}))},_.key))})})]})}const Rn="_root_1fyye_3",Fn="_toolbar_1fyye_17",In="_title_1fyye_24",Pn="_toolbarStart_1fyye_28",Cn="_toolbarEnd_1fyye_35",qn="_search_1fyye_41",zn="_scroll_1fyye_9",Ln="_table_1fyye_56",Dn="_th_1fyye_63",En="_sticky_1fyye_73",$n="_td_1fyye_80",An="_tr_1fyye_90",Bn="_wrapCell_1fyye_97",On="_hoverable_1fyye_101",Wn="_striped_1fyye_104",Hn="_clickable_1fyye_107",Qn="_empty_1fyye_111",Gn="_menuTitle_1fyye_118",Un="_rowActions_1fyye_127",Kn="_dragHandleCell_1fyye_135",Xn="_dragHandle_1fyye_135",Vn="_dragging_1fyye_164",Yn="_pinnedLeft_1fyye_172",Jn="_pinnedRight_1fyye_173",Zn="_stateCell_1fyye_221",er="_loadingState_1fyye_228",tr="_loadingOverlay_1fyye_237",nr="_footer_1fyye_247",rr="_footerMain_1fyye_253",sr="_pageSize_1fyye_260",ar="_pageSizeSelect_1fyye_266",or="_rangeText_1fyye_269",f={root:Rn,toolbar:Fn,title:In,toolbarStart:Pn,toolbarEnd:Cn,search:qn,scroll:zn,table:Ln,th:Dn,sticky:En,td:$n,tr:An,wrapCell:Bn,hoverable:On,striped:Wn,clickable:Hn,empty:Qn,menuTitle:Gn,rowActions:Un,dragHandleCell:Kn,dragHandle:Xn,dragging:Vn,pinnedLeft:Yn,pinnedRight:Jn,stateCell:Zn,loadingState:er,loadingOverlay:tr,footer:nr,footerMain:rr,pageSize:sr,pageSizeSelect:ar,rangeText:or},_t=Number.MAX_SAFE_INTEGER,ir=280;function Ae(t,n){return typeof t=="function"?t(n):t}function fe(t){return t.maxWidth??(t.wrap?ir:void 0)}function cr(t){return t==null||typeof t=="object"?"":String(t)}function lr(t){return t==null||t===""||t===!1?r.jsx("span",{className:f.empty,"aria-hidden":!0,children:"—"}):t}function St(t){return t.toString().replace(/%2C/gi,",").replace(/%3A/gi,":").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function dr(t,n,s){const a={...t};return n.top+t.y<=s.top?a.y=s.top-n.top:n.bottom+t.y>=s.top+s.height&&(a.y=s.top+s.height-n.bottom),n.left+t.x<=s.left?a.x=s.left-n.left:n.right+t.x>=s.left+s.width&&(a.x=s.left+s.width-n.right),a}const ur=({transform:t})=>({...t,x:0}),fr=({containerNodeRect:t,draggingNodeRect:n,transform:s})=>n&&t?dr(s,n,t):s,mr=[ur,fr];function gr({id:t,cells:n,clickable:s,onClick:a}){const y=se.useT(),{setNodeRef:u,transform:p,transition:g,isDragging:i,attributes:c,listeners:l}=re.useSortable({id:t});return r.jsxs("tr",{ref:u,className:D.clsx(f.tr,s&&f.clickable,i&&f.dragging),style:{transform:rn.CSS.Translate.toString(p),transition:g,position:i?"relative":void 0,zIndex:i?1:void 0},onClick:a,children:[r.jsx("td",{className:D.clsx(f.td,f.dragHandleCell),children:r.jsx("button",{type:"button",className:f.dragHandle,"aria-label":y("table.dragHandle"),...c,...l,onClick:x=>x.stopPropagation(),children:r.jsx($.Icon,{name:"Menu",size:"sm"})})}),n]})}function pr({enabled:t,sensors:n,onDragEnd:s,children:a}){return t?r.jsx(W.DndContext,{sensors:n,collisionDetection:W.closestCenter,modifiers:mr,onDragEnd:s,children:a}):r.jsx(r.Fragment,{children:a})}const yr=m.forwardRef(function({columns:n,data:s,getRowId:a,title:y,toolbar:u,searchable:p=!1,searchPlaceholder:g,defaultSearch:i="",debounceMs:c=300,defaultPage:l=1,defaultPageSize:x=10,pageSizeOptions:_=[10,20,50,100,200],allowAllRows:N=!0,showPageSize:M=!0,showFirstButton:Tt=!1,showLastButton:Nt=!1,manualPagination:Mt=!1,rowCount:He,defaultSort:me=null,onChange:Qe,queryMapping:Rt,onExportToEmail:ae,filters:b,defaultFilters:Ft,onRowClick:A,actions:oe,reorderable:V=!1,onReorder:Ge,loading:ge=!1,empty:It,urlSync:Y=!0,page:Ue,onPageChange:pe,pageSize:Ke,onPageSizeChange:ye,search:J,onSearchChange:he,sort:Z,onSortChange:xe,filterValues:be,onFiltersChange:_e,stickyHeader:Pt=!1,striped:Ct=!1,hoverable:qt=!0,className:zt,...Lt},Dt){const k=se.useT(),Et=se.useTableQueryConfig(),B=m.useRef({});B.current={...Et,...Rt};const ie=m.useRef(Qe);ie.current=Qe;const Se=m.useRef(b);Se.current=b;const Xe=m.useRef(null),je=m.useRef(null),[Ve,$t]=m.useState({start:!1,end:!1}),[C]=m.useState(()=>{const e=Y&&typeof window<"u"?new URLSearchParams(window.location.search):null;return e?{...de.parseTableQuery(e,B.current),filters:b!=null&&b.length?bt(b,e,B.current):{}}:{page:null,size:null,search:"",sort:null,filters:{}}}),[Ye,At]=m.useState(()=>({pageIndex:(C.page??l)-1,pageSize:C.size??x})),[ce,we]=m.useState(C.search||i),[Bt,Ot]=m.useState(C.search||i),[Je,Wt]=m.useState(()=>C.sort?[{id:C.sort.key,desc:C.sort.direction==="desc"}]:me?[{id:me.key,desc:me.direction==="desc"}]:[]),[Ze,Ht]=m.useState(()=>({...Ft,...C.filters})),q=Mt,et=Ue!==void 0,tt=Ke!==void 0,nt=J!==void 0,ke=Z!==void 0,ve=be!==void 0,Te={pageIndex:et?Ue-1:Ye.pageIndex,pageSize:tt?Ke:Ye.pageSize},R=nt?J:Bt,z=m.useMemo(()=>ke?Z?[{id:Z.key,desc:Z.direction==="desc"}]:[]:Je,[ke,Z,Je]),L=m.useMemo(()=>ve?be:Ze,[ve,be,Ze]),H=e=>{const o=Te,d=Ae(e,o);d.pageIndex!==o.pageIndex&&(pe==null||pe(d.pageIndex+1)),d.pageSize!==o.pageSize&&(ye==null||ye(d.pageSize)),At(h=>({pageIndex:et?h.pageIndex:d.pageIndex,pageSize:tt?h.pageSize:d.pageSize}))},Ne=()=>H(e=>e.pageIndex===0?e:{...e,pageIndex:0}),Me=(e,o=!0)=>{nt||Ot(e),he==null||he(e),o&&Ne()},Re=(e,o=!0)=>{const d=Ae(e,z);ke||Wt(d),xe==null||xe(d[0]?{key:d[0].id,direction:d[0].desc?"desc":"asc"}:null),o&&Ne()},rt=(e,o=!0)=>{ve||Ht(e),_e==null||_e(e),o&&Ne()},Qt=m.useMemo(()=>b&&b.length>0&&!q?pn(s,b,L):s,[b,q,s,L]),Gt=rt,Ut=m.useMemo(()=>n.map(e=>({id:e.key,accessorFn:o=>o[e.key],enableSorting:!!e.sortable})),[n]),Kt=m.useMemo(()=>{const e=_.map(o=>({value:String(o),label:String(o)}));return N?[...e,{value:"all",label:k("common.all")}]:e},[_,N]),Fe=m.useMemo(()=>{if(!oe)return n;const e={key:"__actions",header:"",align:"right",pinned:"right",cell:(o,d)=>r.jsx("div",{className:f.rowActions,onClick:h=>h.stopPropagation(),children:oe(o,d)})};return[...n,e]},[n,oe]),Ie=m.useMemo(()=>n.filter(e=>e.sortable),[n]),Xt=e=>Re(o=>{const d=o[0];return!d||d.id!==e?[{id:e,desc:!1}]:d.desc?[]:[{id:e,desc:!0}]}),Pe=te.useReactTable({data:Qt,columns:Ut,state:{pagination:Te,globalFilter:R,sorting:z},onPaginationChange:H,onGlobalFilterChange:e=>Me(Ae(e,R)),onSortingChange:Re,globalFilterFn:"includesString",sortDescFirst:!1,getCoreRowModel:te.getCoreRowModel(),getRowId:a,manualPagination:q,manualFiltering:q,manualSorting:q,...q?{rowCount:He??s.length}:{getPaginationRowModel:te.getPaginationRowModel(),getFilteredRowModel:te.getFilteredRowModel(),getSortedRowModel:te.getSortedRowModel()}}),Q=Pe.getRowModel().rows,Vt=W.useSensors(W.useSensor(W.PointerSensor,{activationConstraint:{distance:5}}),W.useSensor(W.KeyboardSensor,{coordinateGetter:re.sortableKeyboardCoordinates})),st=(e,o)=>a?a(e,o):String(o),Yt=e=>{const{active:o,over:d}=e;if(!d||o.id===d.id||!Ge)return;const h=s.findIndex((w,S)=>st(w,S)===o.id),I=s.findIndex((w,S)=>st(w,S)===d.id);h<0||I<0||Ge(re.arrayMove(s,h,I),{id:String(o.id),from:h,to:I})},G=q?He??s.length:Pe.getFilteredRowModel().rows.length,{pageIndex:v,pageSize:j}=Te,U=Math.max(1,Math.ceil(G/j)),at=v+1,Jt=G===0?0:v*j+1,Zt=q?Math.min(G,v*j+Q.length):Math.min(G,at*j);m.useEffect(()=>{J!==void 0&&we(J)},[J]),m.useEffect(()=>{if(ce===R)return;const e=setTimeout(()=>Me(ce),c);return()=>clearTimeout(e)},[ce,R,c]),m.useEffect(()=>{v>0&&v>=U&&H(e=>({...e,pageIndex:U-1}))},[U,v]);const F=z[0]?{key:z[0].id,direction:z[0].desc?"desc":"asc"}:null,ot=()=>{const e=v+1,o=j,d=de.buildTableQuery({page:e,size:o,search:R,sort:F},B.current);return b!=null&&b.length&&xt(b,L,B.current).forEach((h,I)=>d.append(I,h)),{page:e,size:o,search:R,sort:F,filters:L,params:d,query:St(d)}};m.useEffect(()=>{var e;(e=ie.current)==null||e.call(ie,ot())},[v,j,R,z,L]);const it=ae!=null,ct=b!=null&&b.length>0,lt=m.useCallback((e,o,d,h,I)=>{if(typeof window>"u"||!Y)return;const w=B.current,S=Se.current,K=de.buildTableQuery({page:e,size:o,search:d,sort:h},w);S!=null&&S.length&&xt(S,I,w).forEach((T,P)=>K.append(P,T));const ee={pageParam:"page",sizeParam:"size",searchParam:"search",sortParam:"sort",sortOrderParam:"order",...w},tn=w.rangeMinSuffix??"Min",nn=w.rangeMaxSuffix??"Max",Ce=[ee.pageParam,ee.sizeParam,ee.searchParam,ee.sortParam,ee.sortOrderParam];for(const T of S??[]){const P=T.queryKey??T.key;Ce.push(P,P+tn,P+nn)}const le=new URLSearchParams(window.location.search);for(const T of[...le.keys()])(Ce.includes(T)||Ce.some(P=>T.startsWith(`${P}[`)))&&le.delete(T);K.forEach((T,P)=>le.append(P,T));const ft=St(le),mt=`${window.location.pathname}${ft?`?${ft}`:""}${window.location.hash}`;mt!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,"",mt)},[Y]);m.useEffect(()=>{lt(v+1,j,R,F,L)},[v,j,R,z,L,lt]);const dt=m.useRef(()=>{});dt.current=()=>{const e=new URLSearchParams(window.location.search),o=B.current,d=de.parseTableQuery(e,o);H(()=>({pageIndex:(d.page??l)-1,pageSize:d.size??j})),we(d.search),Me(d.search,!1),Re(()=>d.sort?[{id:d.sort.key,desc:d.sort.direction==="desc"}]:[],!1);const h=Se.current;h!=null&&h.length&&rt(bt(h,e,o),!1)},m.useEffect(()=>{if(typeof window>"u"||!Y)return;const e=()=>dt.current();return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[Y]),m.useEffect(()=>{typeof process<"u"&&process.env.NODE_ENV!=="production"&&!a&&(A!=null||oe!=null||V)&&console.warn("[Table] No `getRowId` provided, so the row index is used as the React key. For a table with row interactions or changing / paged data, pass `getRowId` (e.g. `(row) => row.id`) so each row keeps its identity across sort / filter / refetch.")},[]),m.useEffect(()=>{const e=Xe.current;if(!e)return;const o=()=>{const h=e.scrollWidth>e.clientWidth+1,I=e.scrollLeft<=0,w=e.scrollLeft>=e.scrollWidth-e.clientWidth-1,S={start:h&&!I,end:h&&!w};$t(K=>K.start===S.start&&K.end===S.end?K:S)};o(),e.addEventListener("scroll",o,{passive:!0});const d=typeof ResizeObserver<"u"?new ResizeObserver(o):null;return d==null||d.observe(e),d&&je.current&&d.observe(je.current),()=>{e.removeEventListener("scroll",o),d==null||d.disconnect()}},[]);const en=y!=null||u!=null||p||ct||Ie.length>0||it,ut=e=>Fe.map(o=>r.jsx("td",{className:D.clsx(f.td,o.pinned==="left"&&f.pinnedLeft,o.pinned==="right"&&f.pinnedRight,(o.wrap||o.maxWidth!=null)&&f.wrapCell),style:{width:o.width??(o.pinned?1:fe(o)),maxWidth:fe(o),textAlign:o.align},children:lr(o.cell?o.cell(e.original,e.index):cr(e.getValue(o.key)))},o.key));return r.jsxs("div",{ref:Dt,className:D.clsx(f.root,zt),...Lt,children:[en&&r.jsxs("div",{className:f.toolbar,children:[r.jsxs("div",{className:f.toolbarStart,children:[y!=null&&r.jsx(O.Typography,{variant:"h4",as:"div",className:f.title,children:y}),p&&r.jsx(kt.TextField,{className:f.search,fullWidth:!1,value:ce,onChange:e=>we(e.target.value),placeholder:g??k("common.search"),adornment:r.jsx($.Icon,{name:"SearchNormal"}),"aria-label":k("common.search")})]}),r.jsxs("div",{className:f.toolbarEnd,children:[u,it&&r.jsxs(pt.Dropdown,{placement:"bottom-end",trigger:r.jsx(Be.IconButton,{variant:"filled",size:"sm","aria-label":k("table.export"),children:r.jsx($.Icon,{name:"ExportArrow"})}),children:[r.jsx(O.Typography,{as:"div",variant:"caption",color:"muted",className:f.menuTitle,children:k("table.export")}),r.jsx(yt.ListItem,{clickable:!0,icon:"Sms",onClick:()=>ae==null?void 0:ae(ot()),children:k("table.sendOnEmail")})]}),Ie.length>0&&r.jsxs(pt.Dropdown,{placement:"bottom-end",closeOnSelect:!1,trigger:r.jsx(jt.Badge,{dot:z.length>0,color:"primary",children:r.jsx(Be.IconButton,{variant:"filled",size:"sm","aria-label":k("table.sort"),children:r.jsx($.Icon,{name:"Sort"})})}),children:[r.jsx(O.Typography,{as:"div",variant:"caption",color:"muted",className:f.menuTitle,children:k("table.sortBy")}),Ie.map(e=>{const o=(F==null?void 0:F.key)===e.key;return r.jsx(yt.ListItem,{clickable:!0,selected:o,trailing:o?r.jsx($.Icon,{name:(F==null?void 0:F.direction)==="desc"?"ArrowDown":"ArrowUp2"}):void 0,onClick:()=>Xt(e.key),children:e.header},e.key)})]}),ct&&r.jsx(Mn,{filters:b,value:L,onChange:Gt})]})]}),r.jsx(pr,{enabled:V,sensors:Vt,onDragEnd:Yt,children:r.jsxs("div",{ref:Xe,className:f.scroll,"data-pin-start":Ve.start?"true":"false","data-pin-end":Ve.end?"true":"false",children:[r.jsxs("table",{ref:je,className:D.clsx(f.table,Ct&&f.striped,qt&&f.hoverable,Pt&&f.sticky),children:[r.jsx("thead",{children:r.jsxs("tr",{children:[V&&r.jsx("th",{className:D.clsx(f.th,f.dragHandleCell),scope:"col","aria-hidden":!0}),Fe.map(e=>{var d;const o=e.sortable&&((d=Pe.getColumn(e.key))==null?void 0:d.getIsSorted())||!1;return r.jsx("th",{scope:"col",className:D.clsx(f.th,e.pinned==="left"&&f.pinnedLeft,e.pinned==="right"&&f.pinnedRight,(e.wrap||e.maxWidth!=null)&&f.wrapCell),style:{width:e.width??(e.pinned?1:fe(e)),maxWidth:fe(e),textAlign:e.align},"aria-sort":e.sortable?o==="asc"?"ascending":o==="desc"?"descending":"none":void 0,children:e.header},e.key)})]})}),r.jsx("tbody",{children:Q.length>0?V?r.jsx(re.SortableContext,{items:Q.map(e=>e.id),strategy:re.verticalListSortingStrategy,children:Q.map(e=>r.jsx(gr,{id:e.id,clickable:!!A,onClick:A?()=>A(e.original,e.index):void 0,cells:ut(e)},e.id))}):Q.map(e=>r.jsx("tr",{className:D.clsx(f.tr,A&&f.clickable),onClick:A?()=>A(e.original,e.index):void 0,children:ut(e)},e.id)):r.jsx("tr",{children:r.jsx("td",{colSpan:Math.max(1,Fe.length+(V?1:0)),className:f.stateCell,children:ge?r.jsxs("div",{className:f.loadingState,children:[r.jsx(ht.Loader,{size:"lg"}),r.jsx(O.Typography,{variant:"bodySmall",color:"muted",as:"span",children:"Loading…"})]}):It??r.jsx(ln.EmptyState,{})})})})]}),ge&&Q.length>0&&r.jsx("div",{className:f.loadingOverlay,children:r.jsx(ht.Loader,{size:"lg"})})]})}),G>0&&(M||U>1)&&r.jsxs("div",{className:f.footer,children:[r.jsx(O.Typography,{variant:"bodySmall",color:"muted",as:"span",className:f.rangeText,children:k("table.range",{from:Jt,to:Zt,total:G})}),r.jsxs("div",{className:f.footerMain,children:[M&&r.jsxs("div",{className:f.pageSize,children:[r.jsx(O.Typography,{variant:"bodySmall",color:"muted",as:"span",children:k("table.rowsPerPage")}),r.jsx(wt.Select,{className:f.pageSizeSelect,fullWidth:!1,clearable:!1,showSelectedTick:!1,value:j>=_t?"all":String(j),onChange:e=>H(()=>({pageIndex:0,pageSize:e==="all"?_t:Number(e)})),options:Kt})]}),U>1&&r.jsx(dn.Pagination,{count:U,page:at,onChange:e=>H(o=>({...o,pageIndex:e-1})),showFirstButton:Tt,showLastButton:Nt,disabled:ge})]})]})]})});exports.Table=yr;
2
- //# sourceMappingURL=Table-Dvna5_TR.cjs.map
1
+ "use strict";const r=require("react/jsx-runtime"),m=require("react"),E=require("clsx"),te=require("@tanstack/react-table"),H=require("@dnd-kit/core"),re=require("@dnd-kit/sortable"),rn=require("@dnd-kit/utilities"),de=require("./table-CZRQGNdk.cjs"),jt=require("./Badge-BQpr2Jee.cjs"),gt=require("./Button-Cu0XdnW6.cjs"),qe=require("./DatePicker-eryY6Xmx.cjs"),ze=require("./DateTimePicker-CmH3ZuzN.cjs"),A=require("./Icon-CXTl_QAP.cjs"),Be=require("./IconButton-DyRC514t.cjs"),sn=require("./Modal-DsoSz0Sp.cjs"),an=require("./MultiSelect-CtLpWaBX.cjs"),Le=require("./NumberField-C6qj3nCa.cjs"),on=require("./RadioGroup-C8u7eNBS.cjs"),wt=require("./Select-CWCeBQ8Q.cjs"),cn=require("./Slider-dxYVXRev.cjs"),kt=require("./TextField-DvKEj36A.cjs"),De=require("./TimePicker-D__72q2J.cjs"),W=require("./Typography-BFatE1_A.cjs"),se=require("./ConfigProvider-h1WoGC3R.cjs"),pt=require("./Dropdown-Ui7h2TGd.cjs"),ln=require("./EmptyState-Cxf4H8Cc.cjs"),yt=require("./ListItem-DWQorRxG.cjs"),ht=require("./Loader-B45H2SMP.cjs"),dn=require("./Pagination-CsClNqIu.cjs");function Oe(t,n){if(n==null)return!1;switch(t){case"number":return typeof n=="number"&&!Number.isNaN(n);case"boolean":return typeof n=="boolean";case"multiSelect":return Array.isArray(n)&&n.length>0;case"numberRange":case"numberRangeSlider":return Array.isArray(n)&&(n[0]!=null||n[1]!=null);case"dateRange":case"timeRange":case"dateTimeRange":return Array.isArray(n)&&!!(n[0]||n[1]);default:return typeof n=="string"&&n.trim()!==""}}function un(t,n){return t.reduce((s,a)=>Oe(a.type,n[a.key])?s+1:s,0)}const X=t=>String(t).padStart(2,"0"),vt=t=>`${t.getFullYear()}-${X(t.getMonth()+1)}-${X(t.getDate())}`,fn=t=>`${vt(t)}T${X(t.getHours())}:${X(t.getMinutes())}`,mn=t=>`${X(t.getHours())}:${X(t.getMinutes())}`,We=t=>{if(!t)return null;const n=/^\d{4}-\d{2}-\d{2}$/.test(t)?`${t}T00:00:00`:t,s=new Date(n);return Number.isNaN(s.getTime())?null:s},Ee=t=>{const n=We(t);return n?vt(n):t.slice(0,10)},$e=t=>{const n=We(t);return n?fn(n):t.slice(0,16)},ne=t=>{if(/\d{4}-\d{2}-\d{2}/.test(t)){const n=We(t);if(n)return mn(n)}return(t.includes("T")?t.slice(t.indexOf("T")+1):t).slice(0,5)};function gn(t,n,s){const a=String(n??"");switch(t){case"text":return a.toLowerCase().includes(String(s).toLowerCase());case"number":return Number(n)===s;case"numberRange":case"numberRangeSlider":{const[y,u]=s,p=Number(n);return(y==null||p>=y)&&(u==null||p<=u)}case"select":return a===s;case"multiSelect":return s.includes(a);case"boolean":return!!n===s;case"date":return Ee(a)===Ee(String(s));case"dateTime":return $e(a)===$e(String(s));case"time":return ne(a)===ne(String(s));case"dateRange":case"dateTimeRange":{const y=t==="dateRange"?Ee:$e,[u,p]=s,g=y(a);return(!u||g>=y(u))&&(!p||g<=y(p))}case"timeRange":{const[y,u]=s,p=ne(a);return(!y||p>=ne(y))&&(!u||p<=ne(u))}default:return!0}}function pn(t,n,s){const a=n.filter(y=>Oe(y.type,s[y.key]));return a.length===0?t:t.filter(y=>a.every(u=>gn(u.type,y[u.key],s[u.key])))}function xt(t,n,s={}){const a=new URLSearchParams,y=s.rangeMinSuffix??"Min",u=s.rangeMaxSuffix??"Max",p=s.multiSelectFormat??"repeat";for(const g of t){const i=n[g.key];if(!Oe(g.type,i))continue;const c=g.queryKey??g.key;switch(g.type){case"multiSelect":{const l=i;p==="csv"?a.set(c,l.join(",")):p==="indexed"?l.forEach((x,_)=>a.set(`${c}[${_}]`,x)):l.forEach(x=>a.append(c,x));break}case"numberRange":case"numberRangeSlider":{const[l,x]=i;l!=null&&a.set(c+y,String(l)),x!=null&&a.set(c+u,String(x));break}case"dateRange":case"timeRange":case"dateTimeRange":{const[l,x]=i;l&&a.set(c+y,l),x&&a.set(c+u,x);break}default:a.set(c,String(i))}}return a}function bt(t,n,s={}){const a=s.rangeMinSuffix??"Min",y=s.rangeMaxSuffix??"Max",u=s.multiSelectFormat??"repeat",p={};for(const g of t){const i=g.queryKey??g.key;switch(g.type){case"multiSelect":{let c=[];if(u==="csv"){const l=n.get(i);l&&(c=l.split(",").filter(Boolean))}else if(u==="indexed")for(let l=0;n.has(`${i}[${l}]`);l++)c.push(n.get(`${i}[${l}]`));else c=n.getAll(i);c.length&&(p[g.key]=c);break}case"numberRange":case"numberRangeSlider":{const c=n.get(i+a),l=n.get(i+y);(c!=null||l!=null)&&(p[g.key]=[c!=null?Number(c):null,l!=null?Number(l):null]);break}case"dateRange":case"timeRange":case"dateTimeRange":{const c=n.get(i+a),l=n.get(i+y);(c!=null||l!=null)&&(p[g.key]=[c??"",l??""]);break}case"number":{const c=n.get(i);if(c!=null){const l=Number(c);Number.isNaN(l)||(p[g.key]=l)}break}case"boolean":{const c=n.get(i);c==="true"?p[g.key]=!0:c==="false"&&(p[g.key]=!1);break}default:{const c=n.get(i);c&&(p[g.key]=c)}}}return p}const yn="_fields_xa8i1_2",hn="_field_xa8i1_2",xn="_rangeLabel_xa8i1_15",bn="_row_xa8i1_20",_n="_rangeSep_xa8i1_30",Sn="_stack_xa8i1_36",jn="_footer_xa8i1_43",wn="_footerEnd_xa8i1_50",$={fields:yn,field:hn,rangeLabel:xn,row:bn,rangeSep:_n,stack:Sn,footer:jn,footerEnd:wn},kn=(t,n)=>[{value:"",label:(t==null?void 0:t.any)??n("common.any")},{value:"true",label:(t==null?void 0:t.yes)??n("common.yes")},{value:"false",label:(t==null?void 0:t.no)??n("common.no")}],vn=t=>t===!0?"true":t===!1?"false":"",Tn=t=>t==="true"?!0:t==="false"?!1:null;function ue({label:t,from:n,to:s,stacked:a}){return r.jsxs("div",{className:$.field,children:[r.jsx(W.Typography,{variant:"bodySmall",className:$.rangeLabel,children:t}),a?r.jsxs("div",{className:$.stack,children:[n,s]}):r.jsxs("div",{className:$.row,children:[n,r.jsx("span",{className:$.rangeSep,"aria-hidden":!0,children:"–"}),s]})]})}function Nn({filter:t,value:n,onChange:s}){const a=se.useT(),{type:y,label:u,options:p=[],placeholder:g}=t;switch(y){case"text":return r.jsx(kt.TextField,{label:u,placeholder:g,value:n??"",onChange:i=>s(i.target.value)});case"number":return r.jsx(Le.NumberField,{label:u,placeholder:g,value:n??null,onChange:i=>s(i)});case"numberRange":{const[i,c]=n??[null,null];return r.jsx(ue,{label:u,from:r.jsx(Le.NumberField,{placeholder:a("common.min"),value:i,onChange:l=>s([l,c])}),to:r.jsx(Le.NumberField,{placeholder:a("common.max"),value:c,onChange:l=>s([i,l])})})}case"numberRangeSlider":{const i=t.min??0,c=t.max??100,[l,x]=n??[null,null];return r.jsx(cn.Slider,{range:!0,label:u,min:i,max:c,step:t.step??1,value:[l??i,x??c],valueLabel:_=>{const[M,R]=_;return`${M} – ${R}`},onChange:_=>{const[M,R]=_;s([M<=i?null:M,R>=c?null:R])}})}case"select":return r.jsx(wt.Select,{label:u,placeholder:g,options:p,value:n??"",onChange:i=>s(i)});case"multiSelect":return r.jsx(an.MultiSelect,{label:u,placeholder:g,options:p,value:n??[],onChange:i=>s(i)});case"boolean":return r.jsx(on.RadioGroup,{label:u,orientation:"horizontal",options:kn(t.booleanLabels,a),value:vn(n),onChange:i=>s(Tn(i))});case"date":return r.jsx(qe.DatePicker,{label:u,value:n??"",onChange:i=>s(i??"")});case"dateRange":{const[i,c]=n??["",""];return r.jsx(ue,{label:u,from:r.jsx(qe.DatePicker,{placeholder:a("common.from"),value:i,onChange:l=>s([l??"",c])}),to:r.jsx(qe.DatePicker,{placeholder:a("common.to"),value:c,onChange:l=>s([i,l??""])})})}case"time":return r.jsx(De.TimePicker,{label:u,value:n??"",onChange:i=>s(i??"")});case"timeRange":{const[i,c]=n??["",""];return r.jsx(ue,{label:u,from:r.jsx(De.TimePicker,{placeholder:a("common.from"),value:i,onChange:l=>s([l??"",c])}),to:r.jsx(De.TimePicker,{placeholder:a("common.to"),value:c,onChange:l=>s([i,l??""])})})}case"dateTime":return r.jsx(ze.DateTimePicker,{label:u,value:n??"",onChange:i=>s(i??"")});case"dateTimeRange":{const[i,c]=n??["",""];return r.jsx(ue,{label:u,stacked:!0,from:r.jsx(ze.DateTimePicker,{placeholder:a("common.from"),value:i,onChange:l=>s([l??"",c])}),to:r.jsx(ze.DateTimePicker,{placeholder:a("common.to"),value:c,onChange:l=>s([i,l??""])})})}default:return null}}function Mn({filters:t,value:n,onChange:s}){const a=se.useT(),[y,u]=m.useState(!1),[p,g]=m.useState(n),i=un(t,n),c=m.useId(),l=()=>{g(n),u(!0)},x=()=>{s(p),u(!1)};return r.jsxs(r.Fragment,{children:[r.jsx(jt.Badge,{content:i,color:"primary",children:r.jsx(Be.IconButton,{variant:"filled",size:"sm","aria-label":a("table.filters"),onClick:l,children:r.jsx(A.Icon,{name:"Filter"})})}),r.jsx(sn.Modal,{open:y,onClose:()=>u(!1),placement:"right",size:"sm",icon:"Filter",title:a("table.filters"),description:a("table.filtersDescription"),footer:r.jsx("div",{className:$.footer,children:r.jsxs("div",{className:$.footerEnd,children:[r.jsx(gt.Button,{variant:"text",startIcon:r.jsx(A.Icon,{name:"Trash"}),onClick:()=>g({}),children:a("common.clear")}),r.jsx(gt.Button,{type:"submit",form:c,startIcon:r.jsx(A.Icon,{name:"Filter"}),children:a("common.apply")})]})}),children:r.jsx("form",{id:c,className:$.fields,onSubmit:_=>{_.preventDefault(),x()},children:t.map(_=>r.jsx(Nn,{filter:_,value:p[_.key],onChange:M=>g(R=>({...R,[_.key]:M}))},_.key))})})]})}const Rn="_root_1fyye_3",Fn="_toolbar_1fyye_17",In="_title_1fyye_24",Pn="_toolbarStart_1fyye_28",Cn="_toolbarEnd_1fyye_35",qn="_search_1fyye_41",zn="_scroll_1fyye_9",Ln="_table_1fyye_56",Dn="_th_1fyye_63",En="_sticky_1fyye_73",$n="_td_1fyye_80",An="_tr_1fyye_90",Bn="_wrapCell_1fyye_97",On="_hoverable_1fyye_101",Wn="_striped_1fyye_104",Hn="_clickable_1fyye_107",Qn="_empty_1fyye_111",Gn="_menuTitle_1fyye_118",Un="_rowActions_1fyye_127",Kn="_dragHandleCell_1fyye_135",Xn="_dragHandle_1fyye_135",Vn="_dragging_1fyye_164",Yn="_pinnedLeft_1fyye_172",Jn="_pinnedRight_1fyye_173",Zn="_stateCell_1fyye_221",er="_loadingState_1fyye_228",tr="_loadingOverlay_1fyye_237",nr="_footer_1fyye_247",rr="_footerMain_1fyye_253",sr="_pageSize_1fyye_260",ar="_pageSizeSelect_1fyye_266",or="_rangeText_1fyye_269",f={root:Rn,toolbar:Fn,title:In,toolbarStart:Pn,toolbarEnd:Cn,search:qn,scroll:zn,table:Ln,th:Dn,sticky:En,td:$n,tr:An,wrapCell:Bn,hoverable:On,striped:Wn,clickable:Hn,empty:Qn,menuTitle:Gn,rowActions:Un,dragHandleCell:Kn,dragHandle:Xn,dragging:Vn,pinnedLeft:Yn,pinnedRight:Jn,stateCell:Zn,loadingState:er,loadingOverlay:tr,footer:nr,footerMain:rr,pageSize:sr,pageSizeSelect:ar,rangeText:or},_t=Number.MAX_SAFE_INTEGER,ir=280;function Ae(t,n){return typeof t=="function"?t(n):t}function fe(t){return t.maxWidth??(t.wrap?ir:void 0)}function cr(t){return t==null||typeof t=="object"?"":String(t)}function lr(t){return t==null||t===""||t===!1?r.jsx("span",{className:f.empty,"aria-hidden":!0,children:"—"}):t}function St(t){return t.toString().replace(/%2C/gi,",").replace(/%3A/gi,":").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function dr(t,n,s){const a={...t};return n.top+t.y<=s.top?a.y=s.top-n.top:n.bottom+t.y>=s.top+s.height&&(a.y=s.top+s.height-n.bottom),n.left+t.x<=s.left?a.x=s.left-n.left:n.right+t.x>=s.left+s.width&&(a.x=s.left+s.width-n.right),a}const ur=({transform:t})=>({...t,x:0}),fr=({containerNodeRect:t,draggingNodeRect:n,transform:s})=>n&&t?dr(s,n,t):s,mr=[ur,fr];function gr({id:t,cells:n,clickable:s,onClick:a}){const y=se.useT(),{setNodeRef:u,transform:p,transition:g,isDragging:i,attributes:c,listeners:l}=re.useSortable({id:t});return r.jsxs("tr",{ref:u,className:E.clsx(f.tr,s&&f.clickable,i&&f.dragging),style:{transform:rn.CSS.Translate.toString(p),transition:g,position:i?"relative":void 0,zIndex:i?1:void 0},onClick:a,children:[r.jsx("td",{className:E.clsx(f.td,f.dragHandleCell),children:r.jsx("button",{type:"button",className:f.dragHandle,"aria-label":y("table.dragHandle"),...c,...l,onClick:x=>x.stopPropagation(),children:r.jsx(A.Icon,{name:"Menu",size:"sm"})})}),n]})}function pr({enabled:t,sensors:n,onDragEnd:s,children:a}){return t?r.jsx(H.DndContext,{sensors:n,collisionDetection:H.closestCenter,modifiers:mr,onDragEnd:s,children:a}):r.jsx(r.Fragment,{children:a})}const yr=m.forwardRef(function({columns:n,data:s,getRowId:a,title:y,toolbar:u,searchable:p=!1,searchPlaceholder:g,defaultSearch:i="",debounceMs:c=300,defaultPage:l=1,defaultPageSize:x=10,pageSizeOptions:_=[10,20,50,100,200],allowAllRows:M=!0,showPageSize:R=!0,showFirstButton:Tt=!1,showLastButton:Nt=!1,manualPagination:Mt=!1,rowCount:He,defaultSort:me=null,onChange:Qe,queryMapping:Rt,onExportToEmail:ae,filters:b,defaultFilters:Ft,onRowClick:B,actions:oe,reorderable:V=!1,onReorder:Ge,loading:ge=!1,empty:It,urlSync:Y=!0,page:Ue,onPageChange:pe,pageSize:Ke,onPageSizeChange:ye,search:J,onSearchChange:he,sort:Z,onSortChange:xe,filterValues:be,onFiltersChange:_e,stickyHeader:Pt=!1,striped:Ct=!1,hoverable:qt=!0,className:zt,...Lt},Dt){const k=se.useT(),Et=se.useTableQueryConfig(),O=m.useRef({});O.current={...Et,...Rt};const ie=m.useRef(Qe);ie.current=Qe;const Se=m.useRef(b);Se.current=b;const Xe=m.useRef(null),je=m.useRef(null),[Ve,$t]=m.useState({start:!1,end:!1}),[q]=m.useState(()=>{const e=Y&&typeof window<"u"?new URLSearchParams(window.location.search):null;return e?{...de.parseTableQuery(e,O.current),filters:b!=null&&b.length?bt(b,e,O.current):{}}:{page:null,size:null,search:"",sort:null,filters:{}}}),[Ye,At]=m.useState(()=>({pageIndex:(q.page??l)-1,pageSize:q.size??x})),[ce,we]=m.useState(q.search||i),[Bt,Ot]=m.useState(q.search||i),[Je,Wt]=m.useState(()=>q.sort?[{id:q.sort.key,desc:q.sort.direction==="desc"}]:me?[{id:me.key,desc:me.direction==="desc"}]:[]),[Ze,Ht]=m.useState(()=>({...Ft,...q.filters})),v=Mt,et=Ue!==void 0,tt=Ke!==void 0,nt=J!==void 0,ke=Z!==void 0,ve=be!==void 0,Te={pageIndex:et?Ue-1:Ye.pageIndex,pageSize:tt?Ke:Ye.pageSize},F=nt?J:Bt,z=m.useMemo(()=>ke?Z?[{id:Z.key,desc:Z.direction==="desc"}]:[]:Je,[ke,Z,Je]),L=m.useMemo(()=>ve?be:Ze,[ve,be,Ze]),Q=e=>{const o=Te,d=Ae(e,o);d.pageIndex!==o.pageIndex&&(pe==null||pe(d.pageIndex+1)),d.pageSize!==o.pageSize&&(ye==null||ye(d.pageSize)),At(h=>({pageIndex:et?h.pageIndex:d.pageIndex,pageSize:tt?h.pageSize:d.pageSize}))},Ne=()=>Q(e=>e.pageIndex===0?e:{...e,pageIndex:0}),Me=(e,o=!0)=>{nt||Ot(e),he==null||he(e),o&&Ne()},Re=(e,o=!0)=>{const d=Ae(e,z);ke||Wt(d),xe==null||xe(d[0]?{key:d[0].id,direction:d[0].desc?"desc":"asc"}:null),o&&Ne()},rt=(e,o=!0)=>{ve||Ht(e),_e==null||_e(e),o&&Ne()},Qt=m.useMemo(()=>b&&b.length>0&&!v?pn(s,b,L):s,[b,v,s,L]),Gt=rt,Ut=m.useMemo(()=>n.map(e=>({id:e.key,accessorFn:o=>o[e.key],enableSorting:!!e.sortable})),[n]),Kt=m.useMemo(()=>{const e=_.map(o=>({value:String(o),label:String(o)}));return M?[...e,{value:"all",label:k("common.all")}]:e},[_,M]),Fe=m.useMemo(()=>{if(!oe)return n;const e={key:"__actions",header:"",align:"right",pinned:"right",cell:(o,d)=>r.jsx("div",{className:f.rowActions,onClick:h=>h.stopPropagation(),children:oe(o,d)})};return[...n,e]},[n,oe]),Ie=m.useMemo(()=>n.filter(e=>e.sortable),[n]),Xt=e=>Re(o=>{const d=o[0];return!d||d.id!==e?[{id:e,desc:!1}]:d.desc?[]:[{id:e,desc:!0}]}),Pe=te.useReactTable({data:Qt,columns:Ut,state:{pagination:Te,globalFilter:F,sorting:z},onPaginationChange:Q,onGlobalFilterChange:e=>Me(Ae(e,F)),onSortingChange:Re,globalFilterFn:"includesString",sortDescFirst:!1,getCoreRowModel:te.getCoreRowModel(),getRowId:a,manualPagination:v,manualFiltering:v,manualSorting:v,...v?{rowCount:He??s.length}:{getPaginationRowModel:te.getPaginationRowModel(),getFilteredRowModel:te.getFilteredRowModel(),getSortedRowModel:te.getSortedRowModel()}}),G=Pe.getRowModel().rows,Vt=H.useSensors(H.useSensor(H.PointerSensor,{activationConstraint:{distance:5}}),H.useSensor(H.KeyboardSensor,{coordinateGetter:re.sortableKeyboardCoordinates})),st=(e,o)=>a?a(e,o):String(o),Yt=e=>{const{active:o,over:d}=e;if(!d||o.id===d.id||!Ge)return;const h=s.findIndex((w,S)=>st(w,S)===o.id),P=s.findIndex((w,S)=>st(w,S)===d.id);h<0||P<0||Ge(re.arrayMove(s,h,P),{id:String(o.id),from:h,to:P})},D=v?He??s.length:Pe.getFilteredRowModel().rows.length,{pageIndex:T,pageSize:j}=Te,U=Math.max(1,Math.ceil(D/j)),at=T+1,Jt=D===0?0:T*j+1,Zt=v?Math.min(D,T*j+G.length):Math.min(D,at*j);m.useEffect(()=>{J!==void 0&&we(J)},[J]),m.useEffect(()=>{if(ce===F)return;const e=setTimeout(()=>Me(ce),c);return()=>clearTimeout(e)},[ce,F,c]),m.useEffect(()=>{v&&D===0||T>0&&T>=U&&Q(e=>({...e,pageIndex:U-1}))},[U,T,v,D]);const I=z[0]?{key:z[0].id,direction:z[0].desc?"desc":"asc"}:null,ot=()=>{const e=T+1,o=j,d=de.buildTableQuery({page:e,size:o,search:F,sort:I},O.current);return b!=null&&b.length&&xt(b,L,O.current).forEach((h,P)=>d.append(P,h)),{page:e,size:o,search:F,sort:I,filters:L,params:d,query:St(d)}};m.useEffect(()=>{var e;(e=ie.current)==null||e.call(ie,ot())},[T,j,F,z,L]);const it=ae!=null,ct=b!=null&&b.length>0,lt=m.useCallback((e,o,d,h,P)=>{if(typeof window>"u"||!Y)return;const w=O.current,S=Se.current,K=de.buildTableQuery({page:e,size:o,search:d,sort:h},w);S!=null&&S.length&&xt(S,P,w).forEach((N,C)=>K.append(C,N));const ee={pageParam:"page",sizeParam:"size",searchParam:"search",sortParam:"sort",sortOrderParam:"order",...w},tn=w.rangeMinSuffix??"Min",nn=w.rangeMaxSuffix??"Max",Ce=[ee.pageParam,ee.sizeParam,ee.searchParam,ee.sortParam,ee.sortOrderParam];for(const N of S??[]){const C=N.queryKey??N.key;Ce.push(C,C+tn,C+nn)}const le=new URLSearchParams(window.location.search);for(const N of[...le.keys()])(Ce.includes(N)||Ce.some(C=>N.startsWith(`${C}[`)))&&le.delete(N);K.forEach((N,C)=>le.append(C,N));const ft=St(le),mt=`${window.location.pathname}${ft?`?${ft}`:""}${window.location.hash}`;mt!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,"",mt)},[Y]);m.useEffect(()=>{lt(T+1,j,F,I,L)},[T,j,F,z,L,lt]);const dt=m.useRef(()=>{});dt.current=()=>{const e=new URLSearchParams(window.location.search),o=O.current,d=de.parseTableQuery(e,o);Q(()=>({pageIndex:(d.page??l)-1,pageSize:d.size??j})),we(d.search),Me(d.search,!1),Re(()=>d.sort?[{id:d.sort.key,desc:d.sort.direction==="desc"}]:[],!1);const h=Se.current;h!=null&&h.length&&rt(bt(h,e,o),!1)},m.useEffect(()=>{if(typeof window>"u"||!Y)return;const e=()=>dt.current();return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[Y]),m.useEffect(()=>{typeof process<"u"&&process.env.NODE_ENV!=="production"&&!a&&(B!=null||oe!=null||V)&&console.warn("[Table] No `getRowId` provided, so the row index is used as the React key. For a table with row interactions or changing / paged data, pass `getRowId` (e.g. `(row) => row.id`) so each row keeps its identity across sort / filter / refetch.")},[]),m.useEffect(()=>{const e=Xe.current;if(!e)return;const o=()=>{const h=e.scrollWidth>e.clientWidth+1,P=e.scrollLeft<=0,w=e.scrollLeft>=e.scrollWidth-e.clientWidth-1,S={start:h&&!P,end:h&&!w};$t(K=>K.start===S.start&&K.end===S.end?K:S)};o(),e.addEventListener("scroll",o,{passive:!0});const d=typeof ResizeObserver<"u"?new ResizeObserver(o):null;return d==null||d.observe(e),d&&je.current&&d.observe(je.current),()=>{e.removeEventListener("scroll",o),d==null||d.disconnect()}},[]);const en=y!=null||u!=null||p||ct||Ie.length>0||it,ut=e=>Fe.map(o=>r.jsx("td",{className:E.clsx(f.td,o.pinned==="left"&&f.pinnedLeft,o.pinned==="right"&&f.pinnedRight,(o.wrap||o.maxWidth!=null)&&f.wrapCell),style:{width:o.width??(o.pinned?1:fe(o)),maxWidth:fe(o),textAlign:o.align},children:lr(o.cell?o.cell(e.original,e.index):cr(e.getValue(o.key)))},o.key));return r.jsxs("div",{ref:Dt,className:E.clsx(f.root,zt),...Lt,children:[en&&r.jsxs("div",{className:f.toolbar,children:[r.jsxs("div",{className:f.toolbarStart,children:[y!=null&&r.jsx(W.Typography,{variant:"h4",as:"div",className:f.title,children:y}),p&&r.jsx(kt.TextField,{className:f.search,fullWidth:!1,value:ce,onChange:e=>we(e.target.value),placeholder:g??k("common.search"),adornment:r.jsx(A.Icon,{name:"SearchNormal"}),"aria-label":k("common.search")})]}),r.jsxs("div",{className:f.toolbarEnd,children:[u,it&&r.jsxs(pt.Dropdown,{placement:"bottom-end",trigger:r.jsx(Be.IconButton,{variant:"filled",size:"sm","aria-label":k("table.export"),children:r.jsx(A.Icon,{name:"ExportArrow"})}),children:[r.jsx(W.Typography,{as:"div",variant:"caption",color:"muted",className:f.menuTitle,children:k("table.export")}),r.jsx(yt.ListItem,{clickable:!0,icon:"Sms",onClick:()=>ae==null?void 0:ae(ot()),children:k("table.sendOnEmail")})]}),Ie.length>0&&r.jsxs(pt.Dropdown,{placement:"bottom-end",closeOnSelect:!1,trigger:r.jsx(jt.Badge,{dot:z.length>0,color:"primary",children:r.jsx(Be.IconButton,{variant:"filled",size:"sm","aria-label":k("table.sort"),children:r.jsx(A.Icon,{name:"Sort"})})}),children:[r.jsx(W.Typography,{as:"div",variant:"caption",color:"muted",className:f.menuTitle,children:k("table.sortBy")}),Ie.map(e=>{const o=(I==null?void 0:I.key)===e.key;return r.jsx(yt.ListItem,{clickable:!0,selected:o,trailing:o?r.jsx(A.Icon,{name:(I==null?void 0:I.direction)==="desc"?"ArrowDown":"ArrowUp2"}):void 0,onClick:()=>Xt(e.key),children:e.header},e.key)})]}),ct&&r.jsx(Mn,{filters:b,value:L,onChange:Gt})]})]}),r.jsx(pr,{enabled:V,sensors:Vt,onDragEnd:Yt,children:r.jsxs("div",{ref:Xe,className:f.scroll,"data-pin-start":Ve.start?"true":"false","data-pin-end":Ve.end?"true":"false",children:[r.jsxs("table",{ref:je,className:E.clsx(f.table,Ct&&f.striped,qt&&f.hoverable,Pt&&f.sticky),children:[r.jsx("thead",{children:r.jsxs("tr",{children:[V&&r.jsx("th",{className:E.clsx(f.th,f.dragHandleCell),scope:"col","aria-hidden":!0}),Fe.map(e=>{var d;const o=e.sortable&&((d=Pe.getColumn(e.key))==null?void 0:d.getIsSorted())||!1;return r.jsx("th",{scope:"col",className:E.clsx(f.th,e.pinned==="left"&&f.pinnedLeft,e.pinned==="right"&&f.pinnedRight,(e.wrap||e.maxWidth!=null)&&f.wrapCell),style:{width:e.width??(e.pinned?1:fe(e)),maxWidth:fe(e),textAlign:e.align},"aria-sort":e.sortable?o==="asc"?"ascending":o==="desc"?"descending":"none":void 0,children:e.header},e.key)})]})}),r.jsx("tbody",{children:G.length>0?V?r.jsx(re.SortableContext,{items:G.map(e=>e.id),strategy:re.verticalListSortingStrategy,children:G.map(e=>r.jsx(gr,{id:e.id,clickable:!!B,onClick:B?()=>B(e.original,e.index):void 0,cells:ut(e)},e.id))}):G.map(e=>r.jsx("tr",{className:E.clsx(f.tr,B&&f.clickable),onClick:B?()=>B(e.original,e.index):void 0,children:ut(e)},e.id)):r.jsx("tr",{children:r.jsx("td",{colSpan:Math.max(1,Fe.length+(V?1:0)),className:f.stateCell,children:ge?r.jsxs("div",{className:f.loadingState,children:[r.jsx(ht.Loader,{size:"lg"}),r.jsx(W.Typography,{variant:"bodySmall",color:"muted",as:"span",children:"Loading…"})]}):It??r.jsx(ln.EmptyState,{})})})})]}),ge&&G.length>0&&r.jsx("div",{className:f.loadingOverlay,children:r.jsx(ht.Loader,{size:"lg"})})]})}),D>0&&(R||U>1)&&r.jsxs("div",{className:f.footer,children:[r.jsx(W.Typography,{variant:"bodySmall",color:"muted",as:"span",className:f.rangeText,children:k("table.range",{from:Jt,to:Zt,total:D})}),r.jsxs("div",{className:f.footerMain,children:[R&&r.jsxs("div",{className:f.pageSize,children:[r.jsx(W.Typography,{variant:"bodySmall",color:"muted",as:"span",children:k("table.rowsPerPage")}),r.jsx(wt.Select,{className:f.pageSizeSelect,fullWidth:!1,clearable:!1,showSelectedTick:!1,value:j>=_t?"all":String(j),onChange:e=>Q(()=>({pageIndex:0,pageSize:e==="all"?_t:Number(e)})),options:Kt})]}),U>1&&r.jsx(dn.Pagination,{count:U,page:at,onChange:e=>Q(o=>({...o,pageIndex:e-1})),showFirstButton:Tt,showLastButton:Nt,disabled:ge})]})]})]})});exports.Table=yr;
2
+ //# sourceMappingURL=Table--pDmXYad.cjs.map