@apia/table 0.1.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,2 +1,3212 @@
1
- import{jsx as d,jsxs as S,Fragment as V}from"react/jsx-runtime";import b,{useState as je,useMemo as Ge,forwardRef as Xe,useCallback as sn}from"react";import{Box as $,Button as Ye,Input as cn,Link as Qe,Spinner as Je}from"theme-ui";import{useBreakpointIndex as dn}from"@theme-ui/match-media";import{getVariant as X}from"@apia/theme";import{useThrottleFn as un,useMount as mn,useUpdateEffect as se,useUnmount as pn}from"ahooks";import{uniqueId as ie}from"lodash-es";import{createSlice as fn,injectReducers as wn,shallowEqual as Te}from"@apia/store";import{addBoundary as ne,AriaLiveEmitter as ce,formatMessage as vn,useLatest as bn,useUpdateEffect as hn,getSpecificParent as q,isChild as Ze,autoDisconnectMutationObserver as yn,getFocusSelector as Ae,cantFocusSelector as On,globalFocus as gn,scrollParentIntoElement as Rn,customEvents as de,debugDispatcher as xn,persistentStorage as G,EventEmitter as $n,downloadUrl as er,arrayOrArray as rr,useMount as In,getDateFormat as Sn}from"@apia/util";import{shallowEqual as E}from"react-redux";import{useOtherTagButton as or,ApiaFilter as Ee,IconButton as _e}from"@apia/components";import{Icon as ke}from"@apia/icons";import{FaSortUp as Nn,FaSortDown as Cn,FaSort as Pn,FaMinusSquare as Fn,FaPlusSquare as jn,FaSquare as nr}from"@meronex/icons/fa";import ue from"dayjs";const lr={noRegisters:window.FINDER_NO_DATA};function Tn(){return{allowEdition:!1,allowSelection:!0,columns:[],expandedRows:[],isEditionMode:!1,isFocused:!1,filters:[],focusedColumn:0,focusedRow:0,hasNonAdditionalFilters:!1,isMultiple:!0,nonAdditionalColumnsCount:0,rows:[],selectedRows:[],statesColumns:0}}function An(e,r){const o=!!r.filters.find(n=>!!r.columns.find(a=>a.name===n.column));return ne({number:e,min:o?-2:-1,max:Math.max(0,r.rows.length-1)})}function En(e,r){return ne({number:e,min:0,max:r.nonAdditionalColumnsCount+r.statesColumns+(r.hasNonAdditionalFilters?1:0)})}function _n(e){return typeof e=="object"&&!!e&&"forbidSelection"in e}function le(e,r){let o=0;return r.filter(n=>{const a=e.rows[n+o];return e.expandedRows.includes(n)&&(o+=1),!(_n(a)&&a.forbidSelection)})}function Y(e,{ctrlKey:r,shiftKey:o,newFocusedColumn:n,newFocusedRow:a,shouldSelectNewFocused:t}){var s;let l=Math.round(An((s=a??e.focusedRow)!=null?s:0,e)*2)/2;const i=En(n??e.focusedColumn,e);if(e.focusedColumn=i,e.focusedRow=l,e.isFocused=t??!1,t===!1||l<0)return;Math.round(l)-l!==0&&(l=Math.floor(l));const c=r&&e.selectedRows.includes(l);if(e.allowSelection!==!1){if(!r&&!o||e.isMultiple===!1&&!c)e.selectedRows=le(e,[l]);else if(r&&e.isMultiple||c)e.selectedRows=le(e,e.selectedRows.includes(l)?e.selectedRows.filter(u=>u!==l):[...e.selectedRows,l]);else if(o&&e.isMultiple){const u=[...e.selectedRows].sort((f,g)=>f-g);let h=u[0],v=u[u.length-1];if(h===void 0){e.selectedRows=le(e,[l]);return}l<h&&(h=l),l>v&&(v=l);const p=le(e,new Array(v-h+1).fill("").map((f,g)=>g+(h??0)));e.selectedRows=le(e,p)}}}var kn=Object.defineProperty,me=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,sr=(e,r,o)=>r in e?kn(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,Dn=(e,r)=>{for(var o in r||(r={}))tr.call(r,o)&&sr(e,o,r[o]);if(me)for(var o of me(r))ar.call(r,o)&&sr(e,o,r[o]);return e},Ln=(e,r)=>{var o={};for(var n in e)tr.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&me)for(var n of me(e))r.indexOf(n)<0&&ar.call(e,n)&&(o[n]=e[n]);return o};function ir(e,r){const o=e.key.toLowerCase();return r.isEditionMode?!1:o===" "&&e.ctrlKey||o==="a"&&e.ctrlKey||o==="m"&&e.ctrlKey?!0:r.draggingRow!==void 0?["Escape","Enter"].includes(e.key):["arrowup","arrowdown","arrowleft","arrowright","end","enter","home","pageup","pagedown"].includes(e.key.toLowerCase())}function Mn(e,{ev:r}){const{altKey:o,ctrlKey:n,key:a,shiftKey:t}=r;ir(r,e)&&r.preventDefault();const s=a.toLowerCase(),l=i=>{var c=i,{newFocusedColumn:u,newFocusedRow:h}=c,v=Ln(c,["newFocusedColumn","newFocusedRow"]);return Y(e,Dn({altKey:o,ctrlKey:n,shiftKey:t,newFocusedColumn:u,newFocusedRow:h},v))};if(e.isEditionMode)switch(s){case"escape":case"enter":{e.isEditionMode&&(e.isEditionMode=!1),r.stopPropagation();break}}else if(s==="enter"&&(e.allowEdition===!0||e.focusedRow<0))e.isEditionMode=!0;else switch(s){case"arrowup":{let i=e.expandedRows.includes(e.focusedRow-1)?.6:1;Math.round(e.focusedRow)-e.focusedRow!==0&&(i=.5),l({newFocusedRow:e.focusedRow-i,shouldSelectNewFocused:!n});break}case"arrowdown":{let i=e.expandedRows.includes(e.focusedRow)?.6:1;Math.round(e.focusedRow)-e.focusedRow!==0&&(i=.5),l({newFocusedRow:e.focusedRow+i,shouldSelectNewFocused:!n});break}case"arrowleft":case"arrowright":{l({newFocusedColumn:e.focusedColumn+(s==="arrowleft"?-1:1),shouldSelectNewFocused:!n});break}case"home":{l(n?{newFocusedColumn:0,newFocusedRow:0,ctrlKey:!1}:{newFocusedColumn:0});break}case"end":{l(n?{newFocusedRow:Number.POSITIVE_INFINITY,newFocusedColumn:Number.POSITIVE_INFINITY,ctrlKey:!1}:{newFocusedColumn:Number.POSITIVE_INFINITY});break}case"pageup":{l({newFocusedRow:e.focusedRow-5,shouldSelectNewFocused:!n});break}case"pagedown":{l({newFocusedRow:e.focusedRow+5,shouldSelectNewFocused:!n});break}case" ":{n&&l({newFocusedRow:e.focusedRow});break}case"a":{n&&e.allowSelection&&(e.selectedRows=e.rows.map((i,c)=>c));break}}}var Kn=Object.defineProperty,Bn=Object.defineProperties,Hn=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,cr=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,ur=(e,r,o)=>r in e?Kn(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,Wn=(e,r)=>{for(var o in r||(r={}))cr.call(r,o)&&ur(e,o,r[o]);if(pe)for(var o of pe(r))dr.call(r,o)&&ur(e,o,r[o]);return e},qn=(e,r)=>Bn(e,Hn(r)),Un=(e,r)=>{var o={};for(var n in e)cr.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&pe)for(var n of pe(e))r.indexOf(n)<0&&dr.call(e,n)&&(o[n]=e[n]);return o};function te(e,r){var o;switch(e){case"howToEndDrag":ce.emit("live",{type:"assertive",message:window.ARIA_HOW_TO_END_DRAG});break;case"whichIsTheNewIndex":ce.emit("live",{type:"assertive",message:vn(window.ARIA_HOW_TO_WHICH_IS_THE_NEW_POSITION,{TOK1:String((o=r?.newIndex)!=null?o:0)})});break;case"reset":ce.emit("live",{type:"reset",message:""});break;default:ce.emit("live",{type:"assertive",message:window.ARIA_HOW_TO_START_DRAG})}}let mr;function Vn(e,r,o){return function(n){var a=n,{children:t,onChangeSelection:s,onSelectRows:l}=a,i=Un(a,["children","onChangeSelection","onSelectRows"]),c,u;const{run:h}=un(O=>{["shift","alt","control"].includes(O.key.toLowerCase())||T.dispatch(e.handleKey({id:r,ev:O}))},(c=o?.throttleOptions)!=null?c:{wait:100}),[v,p]=b.useState(null),f=F(O=>{var R;const I=o.stateSelector(O);return((R=I?.selectedRows)!=null?R:[]).map(P=>({index:P,row:I.rows[P]}))},(O,R)=>E(O.map(I=>I.index),R.map(I=>I.index))),g=bn(f),w=F(O=>{var R;const I=o.stateSelector(O);return(R=I?.focusedRow)!=null?R:-1}),{allowKeyboardSorting:j,focusedCell:m,isEditionMode:x,isFocused:y}=F(O=>{const R=o.stateSelector(O);return{focusedCell:R?.focusedRow!==void 0?`${R?.focusedRow}_${R?.focusedColumn}`:void 0,isEditionMode:R?.isEditionMode,rows:R?.rows,isFocused:R?.isFocused,allowKeyboardSorting:R?.allowRowsKeyboardSorting}},E);hn(()=>{s&&s(f)},[s,f]);const A=b.useCallback(O=>{var R;if(O.target.closest(".moreInformationButton"))return;O.shiftKey&&((R=document.getSelection())==null||R.removeAllRanges());const I=q(O.target,C=>C.tagName.toLowerCase()==="table"?null:!!C.matches("tr")),P=q(O.target,C=>C.tagName.toLowerCase()==="table"?null:!!C.matches("td,th"));P&&I&&T.dispatch(e.updateByClick({altKey:O.altKey,id:r,ctrlKey:O.ctrlKey,ariaColIndex:Number(P.getAttribute("aria-colindex")),rowIndex:Number(I.getAttribute("data-focusindex")),shiftKey:O.shiftKey}))},[]),K=b.useCallback(O=>{Ze(O.target,R=>R.tagName==="THEAD")||(O.preventDefault(),l&&l(g.current,w))},[w,l,g]),_=b.useRef(!0),B=b.useRef(!1),oe=b.useCallback(()=>{if(!B.current){if(B.current=!0,m===void 0)return B.current=!1,()=>{};if(v){const O=yn(v,()=>{mr=setTimeout(()=>{var R;const I=v.querySelector('[data-focused="true"]');let P=null,C=null;if(["td","th"].includes((R=I?.tagName.toLowerCase())!=null?R:"")&&(P=I,C=I?.querySelector(Ae(":not(.debug_info__button)"))),I?.tagName.toLowerCase()==="tr"&&(P=I.querySelector("td,th"),C=I.querySelector(Ae(":not(.debug_info__button)"))||P),C?(P?.setAttribute("tabIndex","-1"),C.setAttribute("tabIndex","0")):P?.setAttribute("tabIndex","0"),x){const H=P?.querySelectorAll('[tabindex="-1"]');H?.forEach(ae=>ae.setAttribute("tabIndex","0"))}else{const H=v?.querySelectorAll(Ae(`${On}:not([data-focused="true"])`));H?.forEach(ae=>{ae!==C&&ae.setAttribute("tabIndex","-1"),C?.tagName==="BUTTON"&&C.setAttribute("role","gridcell")})}const k=C??P,D=q(k,H=>H.tagName==="TR");k&&_.current&&o.stateSelector(T.getState()).isFocused&&(gn.focus=k,k.focus()),D&&Rn(D,55,2,100,"makeKeyHandler"),_.current||(_.current=!0)},0)},{timeout:5e3});return B.current=!1,()=>{O(),clearTimeout(mr)}}B.current=!1}return()=>{}},[m,v,x]);b.useLayoutEffect(oe,[m,y,x]),b.useEffect(()=>{function O(R){const I=q(R.target,C=>C.tagName.toLowerCase()==="table"),P=q(R.relatedTarget,C=>C.tagName.toLowerCase()==="table");(!P||P!==I)&&A(R)}return v?.addEventListener("dblclick",K),v?.addEventListener("mousedown",A),v?.addEventListener("focusin",O),v?.addEventListener(de.focus,A),()=>{v?.removeEventListener("mousedown",A),v?.removeEventListener("dblclick",K),v?.removeEventListener("focusin",O),v?.removeEventListener(de.focus,A)}},[v]);const W=b.useRef(!1),N=b.useRef(!1);return d($,qn(Wn({ref:p},i),{className:`selection__keyHandler ${(u=i.className)!=null?u:""}`,onBlur:b.useCallback(O=>{(!O.relatedTarget||!q(O.relatedTarget,R=>R===v))&&(T.dispatch(e.selectionStateUpdate({id:r,isFocused:!1})),te("reset"),N.current=!1)},[v]),onFocus:b.useCallback(()=>{N.current||te("howToStartDrag"),N.current=!0},[]),sx:b.useMemo(()=>({overflow:"auto",position:"relative"}),[]),onKeyDown:b.useCallback(O=>{var R;const I=o.stateSelector(T.getState());if(ir(O,o.stateSelector(T.getState()))&&(O.preventDefault(),O.stopPropagation()),e.swapFocusedRow&&W.current&&j)(O.key==="Enter"||O.key==="Escape")&&W.current?(te("howToStartDrag"),W.current=!1,T.dispatch(e.swapFocusedRow({tableName:r,newIndex:I.focusedRow}))):["ArrowDown","ArrowUp"].includes(O.key)&&(O.key==="ArrowDown"?T.dispatch(e.swapFocusedRow({tableName:r,newIndex:I.focusedRow+1})):T.dispatch(e.swapFocusedRow({tableName:r,newIndex:I.focusedRow-1})));else if(O.key==="m"&&O.ctrlKey&&!W.current&&I.focusedRow>=0&&e.swapFocusedRow)W.current=!0,te("howToEndDrag"),T.dispatch(e.swapFocusedRow({tableName:r,newIndex:I.focusedRow}));else{const P=((R=I?.selectedRows)!=null?R:[]).map(C=>({index:C,row:I.rows[C]}));i.onKeyDown&&i.onKeyDown(O),O.key==="Enter"&&l&&I.focusedRow>=0&&l(P,w),h(O)}},[j,w,h,l,i]),children:t}))}}var zn=Object.defineProperty,Gn=Object.defineProperties,Xn=Object.getOwnPropertyDescriptors,fe=Object.getOwnPropertySymbols,pr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,wr=(e,r,o)=>r in e?zn(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,De=(e,r)=>{for(var o in r||(r={}))pr.call(r,o)&&wr(e,o,r[o]);if(fe)for(var o of fe(r))fr.call(r,o)&&wr(e,o,r[o]);return e},Yn=(e,r)=>Gn(e,Xn(r)),Le=(e,r)=>{var o={};for(var n in e)pr.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&fe)for(var n of fe(e))r.indexOf(n)<0&&fr.call(e,n)&&(o[n]=e[n]);return o};function Qn(){return{handleKey(e,{payload:r}){Mn(e[r.id],r)},selectionStateUpdate(e,r){var{payload:o}=r,n=o,{id:a}=n,t=Le(n,["id"]);e[a]=De(De({},e[a]),t)},setNewFocused(e,r){var{payload:o}=r,n=o,{id:a}=n,t=Le(n,["id"]);Y(e[a],t)},updateByClick(e,r){var{payload:o}=r,n=o,{id:a,colIndex:t,rowIndex:s,ariaColIndex:l,ariaRowIndex:i,isFocused:c}=n,u=Le(n,["id","colIndex","rowIndex","ariaColIndex","ariaRowIndex","isFocused"]),h;const v=e[a].hasNonAdditionalFilters;e[a].isEditionMode=!1;const p=(h=t??l)!=null?h:1,f=i!==void 0?i:(s??0)-(1+(v?2:1));Y(e[a],Yn(De({},u),{newFocusedColumn:p,newFocusedRow:f})),c!==void 0&&(e[a].isFocused=c)}}}var Jn=Object.defineProperty,Zn=Object.defineProperties,el=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,vr=Object.prototype.hasOwnProperty,br=Object.prototype.propertyIsEnumerable,hr=(e,r,o)=>r in e?Jn(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,ve=(e,r)=>{for(var o in r||(r={}))vr.call(r,o)&&hr(e,o,r[o]);if(we)for(var o of we(r))br.call(r,o)&&hr(e,o,r[o]);return e},rl=(e,r)=>Zn(e,el(r)),ol=(e,r)=>{var o={};for(var n in e)vr.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&we)for(var n of we(e))r.indexOf(n)<0&&br.call(e,n)&&(o[n]=e[n]);return o};function yr(){return rl(ve({},Tn()),{allowSelection:!0,allowSorting:!0,filters:[],isLoading:!1,isMultiple:!0,accordionIndexColumns:{},expandedRows:[]})}const Or=fn({name:"responsiveTableSlice",initialState:{},reducers:ve({update(e,r){var{payload:o}=r,n=o,{tableName:a}=n,t=ol(n,["tableName"]),s,l,i,c,u,h;e[a]||(e[a]=yr()),e[a]=ve(ve({},e[a]),t),Y(e[a],{altKey:!1,ctrlKey:!1,shiftKey:!1,shouldSelectNewFocused:(s=t.isFocused)!=null?s:e[a].isFocused}),t.columns&&(e[a].nonAdditionalColumnsCount=t.columns.filter(v=>!v.showAsAdditional).length),t.rows&&(e[a].statesColumns=Math.max((i=(l=e[a])==null?void 0:l.reserveColumnsForStates)!=null?i:0,...(h=(u=(c=e[a])==null?void 0:c.rows)==null?void 0:u.map(v=>{var p,f;return(f=(p=v.states)==null?void 0:p.length)!=null?f:0}))!=null?h:[0])),t.filters&&(e[a].hasNonAdditionalFilters=t.filters.filter(v=>{var p,f;return!v.asAdditional&&((f=(p=t.columns)!=null?p:e[a].columns)==null?void 0:f.find(g=>g.name===v.column))}).length>0)},addRows(e,{payload:r}){e[r.tableName]||(e[r.tableName]=yr()),e[r.tableName].rows=e[r.tableName].rows.concat(...r.newRows),Y(e[r.tableName],{altKey:!1,ctrlKey:!1,shiftKey:!1,shouldSelectNewFocused:!0,newFocusedRow:e[r.tableName].rows.length})},deleteRows(e,{payload:r}){const o=e[r.tableName],n=r.rowIndices.reduce((a,t)=>t<a?t:a,1/0);o.rows=o.rows.filter((a,t)=>!r.rowIndices.includes(t)),Y(e[r.tableName],{altKey:!1,ctrlKey:!1,shiftKey:!1,shouldSelectNewFocused:!0,newFocusedRow:n}),e[r.tableName].isFocused=!1},destroy(e,{payload:{tableName:r}}){delete e[r]},swapFocusedRow(e,{payload:{newIndex:r,tableName:o}}){const n=e[o],a=n.focusedRow;if(a===void 0||r<0||r>=n.rows.length)return;if(a===r){n.draggingRow===r?n.draggingRow=void 0:n.draggingRow=r;return}te("whichIsTheNewIndex",{newIndex:r}),n.selectedRows.includes(a)&&(n.selectedRows=[...n.selectedRows.filter(s=>s!==a),r]);const t=n.rows[r];n.rows[r]=n.rows[a],n.rows[a]=t,n.focusedRow=r,n.draggingRow=r}},Qn())}),{store:T,useSelector:F}=wn({responsiveTableSlice:Or.reducer}),M=Or.actions;var nl=Object.defineProperty,ll=Object.defineProperties,tl=Object.getOwnPropertyDescriptors,gr=Object.getOwnPropertySymbols,al=Object.prototype.hasOwnProperty,sl=Object.prototype.propertyIsEnumerable,Rr=(e,r,o)=>r in e?nl(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,be=(e,r)=>{for(var o in r||(r={}))al.call(r,o)&&Rr(e,o,r[o]);if(gr)for(var o of gr(r))sl.call(r,o)&&Rr(e,o,r[o]);return e},xr=(e,r)=>ll(e,tl(r));const $r=b.createContext({});function L(){const e=b.useContext($r);if(!e)throw new Error("There is no ResponsiveTableContext");return e}const il=({allowEdition:e,allowRowsKeyboardSorting:r,allowSelection:o,allowSorting:n,avoidReparseSelectionOnRowChange:a,children:t=d(So,{}),className:s,currentBreakPoint:l,customLabels:i,columns:c,filters:u,rows:h,label:v,isMultiple:p,name:f,onChangeSelection:g,onFilterBlur:w,onFilterChange:j,onFilterPressEnter:m,onSelectRows:x,onSortChange:y,reserveColumnsForStates:A,variant:K})=>{const _=b.useMemo(()=>f??ie("responsiveTable"),[f]),B=b.useMemo(()=>be(be({},lr),i),[i]),oe=b.useMemo(()=>({currentBreakPoint:l,label:v,labels:B,name:_,onChangeSelection:g,onFilterBlur:w,onFilterChange:j,onFilterPressEnter:m,onSelectRows:x,onSortChange:y}),[_,l,v,B,g,w,j,m,x,y]);return mn(()=>{T.dispatch(M.update({allowEdition:e,allowRowsKeyboardSorting:r,allowSelection:o,allowSorting:n,columns:c,filters:u??[],rows:h,isMultiple:p,tableName:_,reserveColumnsForStates:A}))}),se(()=>{T.dispatch(M.update({tableName:_,columns:c}))},[c]),se(()=>{if(T.dispatch(M.update({tableName:_,rows:h})),a!==!0){const W=h.map((N,O)=>xr(be({},N),{i:O})).filter(N=>N.initiallySelected);T.dispatch(M.update({tableName:_,selectedRows:W.map(N=>N.i)}))}},[h]),se(()=>{T.dispatch(M.update({tableName:_,filters:u}))},[u]),pn(()=>{}),d($r.Provider,{value:oe,children:d($,xr(be({id:f,className:`responsiveTableContext__wrapper ${s??""}`},K?X(K):null),{children:t}))})},cl=b.memo(il);var dl=Object.defineProperty,Ir=Object.getOwnPropertySymbols,ul=Object.prototype.hasOwnProperty,ml=Object.prototype.propertyIsEnumerable,Sr=(e,r,o)=>r in e?dl(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,pl=(e,r)=>{for(var o in r||(r={}))ul.call(r,o)&&Sr(e,o,r[o]);if(Ir)for(var o of Ir(r))ml.call(r,o)&&Sr(e,o,r[o]);return e};const fl=e=>{const{name:r,onChangeSelection:o,onSelectRows:n}=L(),a=b.useMemo(()=>Vn(M,r,{throttleOptions:{wait:50},stateSelector:t=>t.responsiveTableSlice[r]}),[r]);return d(a,pl({onChangeSelection:o,onSelectRows:n},e))},wl=b.memo(fl);function U(e,r,o){const n=F(t=>{var s,l,i,c,u,h,v;const p=o(t),f=p?.hasNonAdditionalFilters,g=f?2:1,w=(s=p?.statesColumns)!=null?s:0;let j=0;e==="tr"&&(j=p?.expandedRows.filter(y=>y<r.rowIndex).length);let m=!1,x=!1;switch(e){case"filterTd":{const y=r;m=p?.focusedRow===1-g&&ne((l=p?.focusedColumn)!=null?l:0,0)-w===y.columnIndex+1+(f?1:0);break}case"tr":{const y=r;m=p?p.focusedRow===y.rowIndex&&p?.focusedColumn===0||Math.floor(p?.focusedRow)===y.rowIndex&&Math.round(p?.focusedRow)-p.focusedRow!==0&&!!y.isTheExpandedRow:!1,x=!y.isTheExpandedRow&&p?.selectedRows.includes(y.rowIndex);break}case"stateCell":{const y=r;m=p?.focusedRow===y.rowIndex&&((i=p?.focusedColumn)!=null?i:0)===y.columnIndex+1+(f?1:0);break}case"additionalTd":{const y=r;m=p?.focusedRow===y.rowIndex&&((c=p?.focusedColumn)!=null?c:0)===1;break}case"td":{const y=r;m=p?.focusedRow===y.rowIndex&&((u=p?.focusedColumn)!=null?u:0)-w===y.columnIndex+1+(f?1:0);break}case"headerStateCell":{const y=r;m=p?.focusedRow===y.rowIndex-1-g&&ne(p?.focusedColumn,0)===y.columnIndex+1+(f?1:0);break}case"th":{const y=r;m=p?.focusedRow===0-g&&ne(((h=p?.focusedColumn)!=null?h:0)-w,0)===y.columnIndex+1+(f?1:0);break}case"separator":{const y=r;m=p?p.focusedRow===y.rowIndex:!1;break}}return{columns:(v=p?.columns)!=null?v:[],expandedBeforeThisRow:j,isEditionMode:p?.isEditionMode,hasNonAdditionalFilters:f,rowsLength:e==="table"?p?.rows.length:"",isSelected:x,isFocused:m,startDataRowIndex:g,statesColumns:p?.statesColumns}},E);let a=b.useMemo(()=>({}),[]);switch(e){case"filterTd":{a={"aria-colindex":r.columnIndex+1+n.statesColumns+(n.hasNonAdditionalFilters?1:0),"data-editionmode":n.isEditionMode&&n.isFocused,"data-focused":n.isFocused,tabIndex:n.isFocused?0:-1,"data-rowindex":2};break}case"separator":{const t=r;a={"aria-rowindex":t.rowIndex+n.startDataRowIndex+1+n.expandedBeforeThisRow,"data-focusindex":t.rowIndex+n.startDataRowIndex+1,"aria-selected":n.isSelected,"data-focused":n.isFocused,"aria-expanded":!1};break}case"table":{a={role:"treegrid","aria-colcount":n.columns.length,"aria-rowcount":n.rowsLength};break}case"tr":{const t=r;a={"aria-rowindex":t.rowIndex+n.startDataRowIndex+1+n.expandedBeforeThisRow+(t.isTheExpandedRow?1:0),"data-focusindex":t.rowIndex+n.startDataRowIndex+1+(t.isTheExpandedRow?.5:0),"aria-selected":n.isSelected,"data-focused":n.isFocused,"aria-expanded":t.isThisRowExpanded,tabIndex:n.isFocused?0:-1};break}case"td":{const t=r;a={"aria-colindex":t.columnIndex+1+n.statesColumns+(n.hasNonAdditionalFilters?1:0),"data-editionmode":n.isEditionMode&&n.isFocused,"data-focused":n.isFocused,tabIndex:n.isFocused?0:-1,"data-rowindex":t.rowIndex+n.startDataRowIndex+1};break}case"additionalTd":{const t=r;a={"aria-colindex":1,"data-editionmode":n.isEditionMode&&n.isFocused,"data-focused":n.isFocused,tabIndex:n.isFocused?0:-1,"data-rowindex":t.rowIndex+n.startDataRowIndex+1};break}case"stateCell":{const t=r;a={"aria-colindex":t.columnIndex+1+(n.hasNonAdditionalFilters?1:0),"data-editionmode":n.isEditionMode&&n.isFocused,"data-focused":n.isFocused,tabIndex:n.isFocused?0:-1,"data-rowindex":t.rowIndex+n.startDataRowIndex+1};break}case"headerStateCell":{const t=r;a={"aria-colindex":t.columnIndex+1+(n.hasNonAdditionalFilters?1:0),"aria-sort":"none","data-editionmode":n.isEditionMode&&n.isFocused,"data-focused":n.isFocused,tabIndex:n.isFocused?0:-1,"data-rowindex":t.rowIndex};break}case"th":{const t=r;a={"aria-colindex":t.columnIndex+1+n.statesColumns+(n.hasNonAdditionalFilters?1:0),"aria-sort":["ascending","descending","none"][["Asc","Desc",null].findIndex(s=>s===n.columns[t.columnIndex].currentSorting)],"data-editionmode":n.isEditionMode&&n.isFocused,"data-focused":n.isFocused,tabIndex:n.isFocused?0:-1,"data-rowindex":1};break}}return b.useMemo(()=>a,Object.values(a))}var vl=Object.defineProperty,bl=Object.defineProperties,hl=Object.getOwnPropertyDescriptors,Nr=Object.getOwnPropertySymbols,yl=Object.prototype.hasOwnProperty,Ol=Object.prototype.propertyIsEnumerable,Cr=(e,r,o)=>r in e?vl(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,he=(e,r)=>{for(var o in r||(r={}))yl.call(r,o)&&Cr(e,o,r[o]);if(Nr)for(var o of Nr(r))Ol.call(r,o)&&Cr(e,o,r[o]);return e},Me=(e,r)=>bl(e,hl(r));const Q="tablesWidths";function Ke(e){return typeof e=="string"?e.match(/(%|px|vw|vh|vmin|vmax|cm|mm|in|pt|pc)/)?e:Number.parseInt(e,10):e}xn.on("cleanTableSizes",([e])=>{const r=G[Q];delete r[e],G[Q]=r},'Se usa para borrar el estado de una tabla. Uso: dd.cleanTableSizes("TableName")');function Pr(e,r){return`${e}${r}`}const Fr=new class extends $n{},gl=({apiaColumnIndex:e,columnIndex:r,inTableColumnIndex:o})=>{var n,a,t,s,l,i,c,u;const{name:h,onSortChange:v}=L(),p=(s=(t=(n=window.location.href.match(/busEntId=(\d+)/))==null?void 0:n[1])!=null?t:(a=window.location.href.match(/query=(\d+)/))==null?void 0:a[1])!=null?s:"",f=window.isGlobal?"isGlobal":"notGlobal",g=h+p+String(f),w=F(N=>{const O=N.responsiveTableSlice[h];return O?.columns[r]},E),j=(i=(l=G[Q])==null?void 0:l[g])==null?void 0:i[w.name],[m,x]=b.useState(j??200),[y,A]=b.useState(j!==void 0);b.useEffect(()=>void Fr.on("resize",N=>{N.name===Pr(g,w.name)&&(A(!0),x(N.width))}),[w.name,g]);const K=F(N=>{const O=N.responsiveTableSlice[h],R=O?.filters.find(I=>I.column===w.title);return R?.required},E),_=F(N=>{const O=N.responsiveTableSlice[h];return O?.allowSorting}),B=U("th",{columnIndex:o},z(h)),oe=b.useMemo(()=>{var N;return y?{width:`${m}px`,minWidth:`${m}px`,position:"relative"}:{minWidth:Ke((N=w.minWidth)!=null?N:w.width),maxWidth:w.maxWidth!==void 0?Ke(w.maxWidth):void 0,width:Ke(w.width),position:"relative"}},[w.maxWidth,w.minWidth,w.width,y,m]),W=or(b.useMemo(()=>({className:"headButton",onClick:N=>{Ze(N.target,O=>O.classList.contains("headButton__resizer"))||(console.warn("Buttons slice is not defined"),v&&w.allowSorting!==!1&&_!==!1&&v({column:w,columnIndex:e,name:w.name,sortValue:["Asc","Desc"][w.currentSorting!=="A"?0:1]}))}}),[e,w,_,v]));return d($,Me(he(he({as:"th",style:oe,"data-columnname":w.name,title:(u=(c=w.title)!=null?c:w.label)!=null?u:w.name},W),B),{role:"rowheader",className:`${K&&window.SHOW_REQUIRED_POSITION?"requiredFilterColumn":""}`,children:S($,{as:"span",className:"headButton__container",children:[d($,{as:"span",className:"headButton__label",children:d($,{as:"span",className:`${K?"requiredFilter__Column":""}`,children:w.label})}),S($,{as:"span",className:"headButton__sortIcon",children:[w.allowSorting!==!1&&w.currentSorting==="A"&&d(Nn,{}),w.allowSorting!==!1&&w.currentSorting==="D"&&d(Cn,{}),w.allowSorting!==!1&&!w.currentSorting&&d(Pn,{})]}),d($,{className:"headButton__resizer",onMouseDown:N=>{if(!y){const k=q(N.target,D=>D.tagName==="TR");k?.querySelectorAll("th").forEach(D=>{Fr.emit("resize",{name:Pr(g,D.dataset.columnname),width:D.clientWidth})}),A(!0)}const O=q(N.target,k=>k.tagName==="TH");if(!O)throw new Error("There is no th");const R=N.clientX,I=O.clientWidth,P=k=>{const D=k.clientX-R;x(I+D)},C=()=>{const k=q(N.target,D=>D.tagName==="TR");k?.querySelectorAll("th").forEach(D=>{var H;G[Q]=Me(he({},G[Q]),{[g]:Me(he({},(H=G[Q])==null?void 0:H[g]),{[D.dataset.columnname]:D.clientWidth})})}),document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",C)};return document.addEventListener("mousemove",P),document.addEventListener("mouseup",C),!1}})]})}))},Rl=b.memo(gl);var xl=Object.defineProperty,$l=Object.defineProperties,Il=Object.getOwnPropertyDescriptors,jr=Object.getOwnPropertySymbols,Sl=Object.prototype.hasOwnProperty,Nl=Object.prototype.propertyIsEnumerable,Tr=(e,r,o)=>r in e?xl(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,Cl=(e,r)=>{for(var o in r||(r={}))Sl.call(r,o)&&Tr(e,o,r[o]);if(jr)for(var o of jr(r))Nl.call(r,o)&&Tr(e,o,r[o]);return e},Pl=(e,r)=>$l(e,Il(r));const Fl=({state:e})=>{var r;const{Icon:o}=e;return d(Ye,Pl(Cl({},X("inherit")),{title:e.tooltip,className:`${(r=e.className)!=null?r:"state"}_icon state_icon`,sx:b.useMemo(()=>{var n;return{"svg, path":{color:(n=e.color)!=null?n:""}}},[e.color]),children:d(o,{})}))},Ar=b.memo(Fl);var jl=Object.defineProperty,Tl=Object.defineProperties,Al=Object.getOwnPropertyDescriptors,Er=Object.getOwnPropertySymbols,El=Object.prototype.hasOwnProperty,_l=Object.prototype.propertyIsEnumerable,_r=(e,r,o)=>r in e?jl(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,kl=(e,r)=>{for(var o in r||(r={}))El.call(r,o)&&_r(e,o,r[o]);if(Er)for(var o of Er(r))_l.call(r,o)&&_r(e,o,r[o]);return e},Dl=(e,r)=>Tl(e,Al(r));const Be=({index:e,rowIndex:r,state:o,isHeader:n})=>{const{name:a}=L(),t=U(n?"headerStateCell":"stateCell",{columnIndex:e,rowIndex:r},z(a));return d($,Dl(kl({as:"td",className:"stateCell"},t),{children:o?d(Ar,{state:o}):""}))};var Ll=Object.defineProperty,Ml=Object.defineProperties,Kl=Object.getOwnPropertyDescriptors,kr=Object.getOwnPropertySymbols,Bl=Object.prototype.hasOwnProperty,Hl=Object.prototype.propertyIsEnumerable,Dr=(e,r,o)=>r in e?Ll(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,J=(e,r)=>{for(var o in r||(r={}))Bl.call(r,o)&&Dr(e,o,r[o]);if(kr)for(var o of kr(r))Hl.call(r,o)&&Dr(e,o,r[o]);return e},Z=(e,r)=>Ml(e,Kl(r));const Wl=({filter:e})=>{var r,o;const{onFilterBlur:n,onFilterChange:a,onFilterPressEnter:t}=L(),s={id:e.id,currentValue:e.currentValue,type:"number"},l={id:(r=e.filterToId)!=null?r:"",currentValue:(o=e.filterToValue)!=null?o:"",type:"number"};return S($,{className:"ApiaFilter__Range",children:[d($,{className:"ApiaFilter__Range__Low",children:d(Ee,{filter:s,onChange:i=>{a&&a(Z(J({},s),{currentValue:i}))},onBlur:i=>{n&&n(Z(J({},s),{currentValue:i}))},onPressEnter:i=>{t&&t(Z(J({},s),{currentValue:i}))}})})," - ",d($,{className:"ApiaFilter__Range__High",children:d(Ee,{filter:l,onChange:i=>{a&&a(Z(J({},l),{currentValue:i}))},onBlur:i=>{n&&n(Z(J({},l),{currentValue:i}))},onPressEnter:i=>{t&&t(Z(J({},l),{currentValue:i}))}})})]})},ql=Wl;var Ul=Object.defineProperty,Vl=Object.defineProperties,zl=Object.getOwnPropertyDescriptors,Lr=Object.getOwnPropertySymbols,Gl=Object.prototype.hasOwnProperty,Xl=Object.prototype.propertyIsEnumerable,Mr=(e,r,o)=>r in e?Ul(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,ye=(e,r)=>{for(var o in r||(r={}))Gl.call(r,o)&&Mr(e,o,r[o]);if(Lr)for(var o of Lr(r))Xl.call(r,o)&&Mr(e,o,r[o]);return e},Oe=(e,r)=>Vl(e,zl(r));const Yl=({columnIndex:e,filter:r})=>{const{name:o,onFilterBlur:n,onFilterChange:a,onFilterPressEnter:t}=L(),s=U("filterTd",{columnIndex:e},z(o)),l=b.useCallback(h=>{r&&n&&n(Oe(ye({},r),{currentValue:h}))},[r,n]),i=b.useCallback(h=>r&&a?a(Oe(ye({},r),{currentValue:h})):!0,[r,a]),c=b.useCallback(h=>{r&&t&&t(Oe(ye({},r),{currentValue:h}))},[r,t]);function u(){if(r!=null&&r.isRange)return d(ql,{filter:r});if(r&&!(r.asAdditional||!r.column||r.isRange))return d(Ee,{onBlur:l,onChange:i,onPressEnter:c,filter:r});let h;return r&&(r.asAdditional||!r.column||r.isRange)?h=window.LBL_ADDITIONAL_FILTER:h=window.LBL_NO_COLUMN_FILTER,d(cn,{"aria-label":h,disabled:!0})}return d("td",Oe(ye({},s),{children:u()}))};var Ql=Object.defineProperty,Jl=Object.defineProperties,Zl=Object.getOwnPropertyDescriptors,Kr=Object.getOwnPropertySymbols,et=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable,Br=(e,r,o)=>r in e?Ql(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,Hr=(e,r)=>{for(var o in r||(r={}))et.call(r,o)&&Br(e,o,r[o]);if(Kr)for(var o of Kr(r))rt.call(r,o)&&Br(e,o,r[o]);return e},Wr=(e,r)=>Jl(e,Zl(r));const ot=()=>{const{name:e}=L(),{columns:r,hasNonAdditionalFilters:o,focusedColumn:n,focusedRow:a}=F(f=>{var g;const w=f.responsiveTableSlice[e];return window.focusedRow=w?.focusedRow,window.focusedColumn=w?.focusedColumn,window.hasNonAdditionalFilters=w?.hasNonAdditionalFilters||!1,{columns:(g=w?.columns)!=null?g:[],focusedColumn:w?.focusedColumn,focusedRow:w?.focusedRow,hasNonAdditionalFilters:w?.hasNonAdditionalFilters}},Te),t=F(f=>{var g;const w=f.responsiveTableSlice[e];return((g=w?.filters)!=null?g:[]).map(j=>({columnIndex:w.columns.findIndex(m=>m.name===j.column),definition:j})).filter(j=>j.columnIndex>=0)},(f,g)=>f.length===g.length&&f.reduce((w,j,m)=>w&&Te(j.definition,g[m].definition),!0)),s=F(f=>{var g;const w=f.responsiveTableSlice[e];return(g=w?.statesColumns)!=null?g:0},Te),l=b.useMemo(()=>r.reduce((f,g)=>f+(g.showAsAdditional?1:0),0),[r]),i=b.useMemo(()=>Array(s).fill("").map(()=>ie()),[s]),[c,u]=b.useState(!1);b.useEffect(()=>{G.showResponsiveTableFilters=c},[c]);const h=or(b.useMemo(()=>({className:"additionalColumn",onClick:()=>u(f=>!f)}),[])),[v,p]=je(null);return se(()=>{const f=g=>{g.stopPropagation(),u(!0)};return v?.addEventListener(de.focus,f),()=>{v?.removeEventListener(de.focus,f)}},[v]),S("thead",{children:[S("tr",{"data-focusindex":1,children:[(l>0||o)&&d("th",Wr(Hr({"aria-colindex":1,"aria-rowindex":1,"data-focused":n===1&&a===-1-(o?1:0)},h),{tabIndex:n===1&&a===-1-(o?1:0)?0:-1,role:"rowheader",children:o?d(ke,{className:"filterButton",name:"Filter",title:c?window.LBL_HIDE_FILTERS:window.LBL_SHOW_FILTERS,"aria-label":c?window.LBL_HIDE_FILTERS:window.LBL_SHOW_FILTERS}):d(V,{children:"\xA0"})})),i.map((f,g)=>d(Be,{isHeader:!0,index:g,rowIndex:1},f)),r.map((f,g)=>Wr(Hr({},f),{actualTableColumnIndex:g})).filter(f=>!f.showAsAdditional).map((f,g)=>f.hidden?null:d(Rl,{apiaColumnIndex:f.actualTableColumnIndex,columnIndex:f.actualTableColumnIndex,inTableColumnIndex:g},f.name))]}),t.length>0&&S("tr",{ref:p,"data-focusindex":2,className:`responsiveTable__filters__row ${c?"":"hidden"}`,children:[(l>0||o)&&d("td",{className:"noFilter","aria-colindex":1,"aria-rowindex":2,tabIndex:n===1&&a===-1?0:-1,"data-focused":n===1&&a===-1,children:"\xA0"}),i.map((f,g)=>d(Be,{isHeader:!0,index:g,rowIndex:2},f)),r.filter(f=>!f.showAsAdditional).map((f,g)=>{const w=t.find(j=>j.definition.column===f.name);return f.showAsAdditional?null:d(Yl,{columnIndex:g,filter:w?.definition},f.name)})]})]})},nt=b.memo(ot),lt=({column:e,cell:r})=>{var o;return S($,{className:`${(o=r.className)!=null?o:""} responsiveTable__additionalInfoItem`,id:r.id,title:r.title,children:[S($,{as:"strong",children:[e.name,":"]})," ",r.children]})},qr=b.memo(lt);var tt=Object.defineProperty,Ur=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,st=Object.prototype.propertyIsEnumerable,Vr=(e,r,o)=>r in e?tt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,it=(e,r)=>{for(var o in r||(r={}))at.call(r,o)&&Vr(e,o,r[o]);if(Ur)for(var o of Ur(r))st.call(r,o)&&Vr(e,o,r[o]);return e};const ct=({colSpan:e,rowIndex:r})=>{const{name:o}=L(),n=U("separator",{rowIndex:r},z(o));return d("td",it({className:"row__separator__cell",colSpan:e},n))};var dt=Object.defineProperty,ge=Object.getOwnPropertySymbols,zr=Object.prototype.hasOwnProperty,Gr=Object.prototype.propertyIsEnumerable,Xr=(e,r,o)=>r in e?dt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,ut=(e,r)=>{for(var o in r||(r={}))zr.call(r,o)&&Xr(e,o,r[o]);if(ge)for(var o of ge(r))Gr.call(r,o)&&Xr(e,o,r[o]);return e},mt=(e,r)=>{var o={};for(var n in e)zr.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&ge)for(var n of ge(e))r.indexOf(n)<0&&Gr.call(e,n)&&(o[n]=e[n]);return o};const Yr=b.forwardRef((e,r)=>{var o=e,{row:n,rowIndex:a}=o,t=mt(o,["row","rowIndex"]);return d($,ut({as:"tr",sx:Ge(()=>({"&.colored, & > *":{color:n.color,background:n.background}}),[n.background,n.color]),ref:r},t))});Yr.displayName="DefaultRowRenderer";const Qr=Yr;var pt=Object.defineProperty,ft=Object.defineProperties,wt=Object.getOwnPropertyDescriptors,Re=Object.getOwnPropertySymbols,Jr=Object.prototype.hasOwnProperty,Zr=Object.prototype.propertyIsEnumerable,eo=(e,r,o)=>r in e?pt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,ro=(e,r)=>{for(var o in r||(r={}))Jr.call(r,o)&&eo(e,o,r[o]);if(Re)for(var o of Re(r))Zr.call(r,o)&&eo(e,o,r[o]);return e},vt=(e,r)=>ft(e,wt(r)),oo=(e,r)=>{var o={};for(var n in e)Jr.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&Re)for(var n of Re(e))r.indexOf(n)<0&&Zr.call(e,n)&&(o[n]=e[n]);return o};const no=b.forwardRef((e,r)=>{var o=e,{cell:n}=o,a=n,{Renderer:t,rendererProps:s,AccordionRenderer:l,ariaLabel:i}=a,c=oo(a,["Renderer","rendererProps","AccordionRenderer","ariaLabel"]),u=o,h=oo(u,["cell","column","row"]);return d($,vt(ro(ro({as:"td",sx:Ge(()=>({"&.colored":{background:c.background,color:c.color}}),[c.background,c.color]),ref:r},h),c),{"aria-label":i}))});no.displayName="DefaultCellRenderer";const lo=no;var bt=Object.defineProperty,ht=Object.defineProperties,yt=Object.getOwnPropertyDescriptors,to=Object.getOwnPropertySymbols,Ot=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,ao=(e,r,o)=>r in e?bt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,Rt=(e,r)=>{for(var o in r||(r={}))Ot.call(r,o)&&ao(e,o,r[o]);if(to)for(var o of to(r))gt.call(r,o)&&ao(e,o,r[o]);return e},xt=(e,r)=>ht(e,yt(r));const $t=({columnIndex:e,inTableColumnIndex:r,rowIndex:o})=>{const{name:n}=L(),a=U("td",{columnIndex:r,rowIndex:o},z(n)),t=F(c=>{var u;const h=c.responsiveTableSlice[n];return(u=h?.rows[o])==null?void 0:u.cells[e]},E),s=F(c=>{const u=c.responsiveTableSlice[n];return u?.columns[e]},E),l=F(c=>{const u=c.responsiveTableSlice[n];return u?.rows[o]},E),i=b.useMemo(()=>{var c;return(c=t?.Renderer)!=null?c:lo},[t?.Renderer]);return!i||!t?l.separator?d("div",{className:"separator"}):null:d(i,xt(Rt({},a),{cell:t,column:s,row:l}))},It=b.memo($t);var St=Object.defineProperty,Nt=Object.defineProperties,Ct=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,so=Object.prototype.hasOwnProperty,io=Object.prototype.propertyIsEnumerable,co=(e,r,o)=>r in e?St(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,ee=(e,r)=>{for(var o in r||(r={}))so.call(r,o)&&co(e,o,r[o]);if(xe)for(var o of xe(r))io.call(r,o)&&co(e,o,r[o]);return e},re=(e,r)=>Nt(e,Ct(r)),Pt=(e,r)=>{var o={};for(var n in e)so.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&xe)for(var n of xe(e))r.indexOf(n)<0&&io.call(e,n)&&(o[n]=e[n]);return o};const Ft=({rowIndex:e})=>{var r;const{name:o}=L(),{columns:n,hasNonAdditionalFilters:a}=F(m=>{var x;const y=m.responsiveTableSlice[o];return{columns:(x=y?.columns)!=null?x:[],hasNonAdditionalFilters:y?.hasNonAdditionalFilters}},E),t=F(m=>m.responsiveTableSlice[o].rows[e],E),s=F(m=>{const x=m.responsiveTableSlice[o];return x.columns.map((y,A)=>y.showAsAdditional?{index:A,column:y}:null).filter(y=>!!y).map(y=>{var A;return{cell:(A=x.rows[e])==null?void 0:A.cells[y.index],column:y.column,columnIndex:y.index}})},(m,x)=>m.reduce((y,A,K)=>y&&E(A,x[K]),!0)),{isDragging:l,isExpanded:i,shouldForbidSelection:c}=F(m=>{var x;const y=m.responsiveTableSlice[o];return{isExpanded:y.expandedRows.includes(e),isDragging:y.draggingRow===e,shouldForbidSelection:(x=y.rows[e])==null?void 0:x.forbidSelection}},E),u=U("tr",{isThisRowExpanded:i,rowIndex:e},z(o)),h=U("tr",{isTheExpandedRow:!0,rowIndex:e},z(o)),v=b.useCallback(m=>{(typeof m=="boolean"?m:!i)?T.dispatch(M.update({tableName:o,expandedRows:[...T.getState().responsiveTableSlice[o].expandedRows,e]})):T.dispatch(M.update({tableName:o,expandedRows:T.getState().responsiveTableSlice[o].expandedRows.filter(x=>x!==e)}))},[i,o,e]),p=F(m=>{var x;const y=m.responsiveTableSlice[o];return(x=y?.statesColumns)!=null?x:0},E),f=b.useMemo(()=>{var m;return((m=t.states)!=null?m:[]).map(x=>re(ee({},x),{id:ie()}))},[t.states]),g=U("additionalTd",{rowIndex:e},z(o)),w=Pt(g,["ref"]),j=b.useMemo(()=>{var m;return(m=t.renderer)!=null?m:Qr},[t.renderer]);return S(V,{children:[d(j,re(ee({},u),{row:t,rowIndex:e,className:`responsiveTable__row ${t.isHidden?"hidden":""} ${u["aria-selected"]?"selected":""} ${c?"non-selectable":""} ${f.map(m=>m.className).join(" ")} ${(r=t.className)!=null?r:""} ${t.separator?"row__separator":""} ${l?"draggingRow":""}`,onKeyDown:b.useCallback(m=>{m.key.toLowerCase()==="arrowleft"&&m.ctrlKey&&(m.preventDefault(),m.stopPropagation(),v(!1)),m.key.toLowerCase()==="arrowright"&&m.ctrlKey&&(m.preventDefault(),m.stopPropagation(),v(!0))},[v]),children:t.separator?d(ct,{colSpan:(s.length>0||a?1:0)+p+n.filter(m=>!m.showAsAdditional).length,rowIndex:e}):S(V,{children:[(s.length>0||a)&&d("td",re(ee({className:"additionalInfo__cell"},w),{children:s.length>0&&d(_e,re(ee({},X("icon-outline")),{icon:i?Fn:jn,"aria-label":i?window.LBL_COLLAPSE_ROW:window.LBL_EXPAND_ROW,className:"moreInformationButton",onClick:v}))})),Array(p).fill("").map((m,x)=>{var y,A;return d(Be,{index:x,state:f[x],rowIndex:e},(A=(y=f[x])==null?void 0:y.id)!=null?A:x)}),n.map((m,x)=>re(ee({},m),{actualColumnIndex:x})).filter(m=>!m.showAsAdditional).map((m,x)=>m.hidden?null:d(It,{columnIndex:m.actualColumnIndex,rowIndex:e,inTableColumnIndex:x},m.name))]})})),i&&d("tr",re(ee({className:"expandedRow"},h),{children:d("td",{colSpan:n.length-s.length+f.length+1,children:d($,{className:"responsiveTable__additionalInfoContainer",children:s.map(m=>{const{Renderer:x}=m.column;return x?d(x,{cell:m.cell,column:m.column,row:t},m.column.name):d(qr,{cell:m.cell,column:m.column,row:t},m.column.name)})})})}))]})},jt=b.memo(Ft),He=()=>{const{labels:e}=L();return d($,{className:"no__registers",children:e.noRegisters})};var Tt=Object.defineProperty,At=Object.defineProperties,Et=Object.getOwnPropertyDescriptors,uo=Object.getOwnPropertySymbols,_t=Object.prototype.hasOwnProperty,kt=Object.prototype.propertyIsEnumerable,mo=(e,r,o)=>r in e?Tt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,po=(e,r)=>{for(var o in r||(r={}))_t.call(r,o)&&mo(e,o,r[o]);if(uo)for(var o of uo(r))kt.call(r,o)&&mo(e,o,r[o]);return e},fo=(e,r)=>At(e,Et(r));const Dt=()=>{const{name:e,label:r}=L(),o=U("table",{},s=>s.responsiveTableSlice[e]),n=F(s=>{var l;const i=s.responsiveTableSlice[e];return((l=i?.rows)!=null?l:[]).map(c=>c.id)},E),{columnsCount:a,rowsCount:t}=F(s=>{var l,i,c;const u=s.responsiveTableSlice[e];return{rowsCount:(l=u?.rows.length)!=null?l:0,columnsCount:((i=u?.nonAdditionalColumnsCount)!=null?i:0)+(u!=null&&u.hasNonAdditionalFilters?1:0)+((c=u?.statesColumns)!=null?c:0)}},E);return S($,fo(po(fo(po({},o),{as:"table",className:"responsiveTable__table"}),X("layout.common.tables.primary")),{"aria-label":r,children:[d(nt,{}),d("tbody",{children:t>0?n.map((s,l)=>d(jt,{rowIndex:l},s??`${s}-${l}`)):d("tr",{children:d("td",{colSpan:a,children:d(He,{})})})})]}))},wo=b.memo(Dt),Lt=({cell:e,column:r})=>{var o;return S($,{className:"responsiveTable__accordionElement__column",children:[S($,{as:"strong",children:[(o=r.label)!=null?o:r.name,": "]}),d($,{as:"span",children:e?.children})]},r.name)},We=Lt,Mt=({children:e})=>d($,{className:"accordion",children:e}),Kt=({row:e,rowIndex:r})=>{const{name:o}=L(),n=F(s=>{const l=s.responsiveTableSlice[o];return l?.accordionIndexColumns},E),a=F(s=>{const l=s.responsiveTableSlice[o];return l?.columns},E),t=b.useMemo(()=>{var s;return e.title?e.title:Array.isArray(n)?n.map(l=>{var i;return(i=e.cells[l.index].title)!=null?i:e.cells[l.index].children}).join(" | "):(s=e.cells[0].title)!=null?s:e.cells[0].children},[n,e.cells,e.title]);return!Array.isArray(n)||!a?null:S(Mt,{ButtonComponent:Ye,className:"responsiveTable__accordionElement",contentClassName:"responsiveTable__accordionElement__content",id:e.id,title:t,children:[a.map((s,l)=>{var i,c;const u=(c=(i=e.cells[l].AccordionRenderer)!=null?i:s.AccordionRenderer)!=null?c:We;return s.hideFromAccordion||s.showAsAdditional?null:d(u,{cell:e.cells[l],column:s,columnIndex:l,row:e,rowIndex:r},s.name)}),a.filter(s=>!!s.showAsAdditional).map((s,l)=>{var i,c;const u=(c=(i=e.cells[l].AccordionRenderer)!=null?i:s.AccordionRenderer)!=null?c:We;return s.hideFromAccordion?null:d(u,{cell:e.cells[l],column:s,columnIndex:l,row:e,rowIndex:r},s.name)})]})},vo=Kt;var Bt=Object.defineProperty,Ht=Object.defineProperties,Wt=Object.getOwnPropertyDescriptors,bo=Object.getOwnPropertySymbols,qt=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable,ho=(e,r,o)=>r in e?Bt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,Vt=(e,r)=>{for(var o in r||(r={}))qt.call(r,o)&&ho(e,o,r[o]);if(bo)for(var o of bo(r))Ut.call(r,o)&&ho(e,o,r[o]);return e},zt=(e,r)=>Ht(e,Wt(r));const yo=!1,Gt=()=>{const{name:e}=L(),{columns:r,rows:o}=F(t=>{const s=t.responsiveTableSlice[e];return{columns:s?.columns,rows:s?.rows}},E);b.useEffect(()=>{if(r&&o){const t=[];if(r.forEach((s,l)=>{s.showInAccordionTitle&&t.push({column:s,index:l})}),t.length>0)T.dispatch(M.update({tableName:e,accordionIndexColumns:t}));else{const s=r.length;let l=null,i=0;for(;!l&&!yo&&i<r.length||yo;){let c=!1;for(const u of o)if(!u.cells[i].children){c=!0;break}if(!c&&r[i])l=r[i];else if(i+=1,i===s)break}l||([l]=r,i=0),T.dispatch(M.update({tableName:e,accordionIndexColumns:[{column:l,index:i}]}))}}},[r,e,o]);const[n,a]=b.useState(null);return b.useEffect(()=>{const t=new MutationObserver(([s])=>{s.addedNodes&&s.addedNodes.forEach(l=>{var i,c;(i=l.classList)!=null&&i.contains("responsiveTable__accordionElement")&&((c=l.scrollIntoView)==null||c.call(l))})});return n&&t.observe(n,{childList:!0,subtree:!0}),()=>{t.disconnect()}},[n]),S($,zt(Vt({className:"responsiveTable__accordion"},X("layout.common.tables.accordion")),{ref:a,children:[!o||o.length===0&&d(He,{}),o?.slice(0,void 0).map((t,s)=>d(vo,{row:t,rowIndex:s},t.id))]}))},Oo=b.memo(Gt);var Xt=Object.defineProperty,Yt=Object.defineProperties,Qt=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,go=Object.prototype.hasOwnProperty,Ro=Object.prototype.propertyIsEnumerable,xo=(e,r,o)=>r in e?Xt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,$o=(e,r)=>{for(var o in r||(r={}))go.call(r,o)&&xo(e,o,r[o]);if($e)for(var o of $e(r))Ro.call(r,o)&&xo(e,o,r[o]);return e},Jt=(e,r)=>Yt(e,Qt(r)),Zt=(e,r)=>{var o={};for(var n in e)go.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&$e)for(var n of $e(e))r.indexOf(n)<0&&Ro.call(e,n)&&(o[n]=e[n]);return o};const z=e=>r=>r.responsiveTableSlice[e],Io=b.forwardRef((e,r)=>{var o=e,{className:n}=o,a=Zt(o,["className"]);const t=dn({defaultIndex:3}),{currentBreakPoint:s}=L(),l=s??t;return d(wl,{children:d($,Jt($o($o({},a),X("layout.common.tables.responsive")),{className:`responsiveTable__wrapper ${n??""}`,ref:r,children:l>=3?d(wo,{}):d(Oo,{})}))})});Io.displayName="ResponsiveTable";const So=b.memo(Io);var ea=Object.defineProperty,ra=Object.defineProperties,oa=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,No=Object.prototype.hasOwnProperty,Co=Object.prototype.propertyIsEnumerable,Po=(e,r,o)=>r in e?ea(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,Fo=(e,r)=>{for(var o in r||(r={}))No.call(r,o)&&Po(e,o,r[o]);if(Ie)for(var o of Ie(r))Co.call(r,o)&&Po(e,o,r[o]);return e},na=(e,r)=>ra(e,oa(r)),jo=(e,r)=>{var o={};for(var n in e)No.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&Ie)for(var n of Ie(e))r.indexOf(n)<0&&Co.call(e,n)&&(o[n]=e[n]);return o};const To=b.forwardRef((e,r)=>{var o=e,{cell:n}=o,a=n,{children:t,Renderer:s,rendererProps:l,AccordionRenderer:i}=a,c=jo(a,["children","Renderer","rendererProps","AccordionRenderer"]),u=o,h=jo(u,["cell","column","row"]);return d("td",na(Fo(Fo({ref:r},h),c),{children:S(Qe,{className:"cell__download__document",title:l?.docName,href:l?.docUrl,onClick:v=>{v.preventDefault(),l!=null&&l.docUrl&&er(l?.docUrl)},children:[d(ke,{title:"",name:"Download"}),l?.docName]})}))});To.displayName="DocNameCellRenderer";const la=To;var ta=Object.defineProperty,aa=Object.defineProperties,sa=Object.getOwnPropertyDescriptors,Se=Object.getOwnPropertySymbols,Ao=Object.prototype.hasOwnProperty,Eo=Object.prototype.propertyIsEnumerable,_o=(e,r,o)=>r in e?ta(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,ia=(e,r)=>{for(var o in r||(r={}))Ao.call(r,o)&&_o(e,o,r[o]);if(Se)for(var o of Se(r))Eo.call(r,o)&&_o(e,o,r[o]);return e},ca=(e,r)=>aa(e,sa(r)),da=(e,r)=>{var o={};for(var n in e)Ao.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&Se)for(var n of Se(e))r.indexOf(n)<0&&Eo.call(e,n)&&(o[n]=e[n]);return o};const ko=b.forwardRef((e,r)=>{var o=e,{cell:n}=o,a=n,{children:t,Renderer:s,rendererProps:l,AccordionRenderer:i}=a,c=da(a,["children","Renderer","rendererProps","AccordionRenderer"]),{column:u}=o,h;return S($,ca(ia({ref:r},c),{children:[S($,{as:"strong",children:[(h=u.label)!=null?h:u.name,": "]}),S(Qe,{className:"cell__download__document",title:l?.docName,href:l?.docUrl,onClick:v=>{v.preventDefault(),l!=null&&l.docUrl&&er(l?.docUrl)},children:[d(ke,{title:"",name:"Download"}),l?.docName]})]}))});ko.displayName="AccordionDocNameCellRenderer";const ua=ko;var ma=Object.defineProperty,pa=Object.defineProperties,fa=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,Do=Object.prototype.hasOwnProperty,Lo=Object.prototype.propertyIsEnumerable,Mo=(e,r,o)=>r in e?ma(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,qe=(e,r)=>{for(var o in r||(r={}))Do.call(r,o)&&Mo(e,o,r[o]);if(Ne)for(var o of Ne(r))Lo.call(r,o)&&Mo(e,o,r[o]);return e},wa=(e,r)=>pa(e,fa(r)),Ko=(e,r)=>{var o={};for(var n in e)Do.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&Ne)for(var n of Ne(e))r.indexOf(n)<0&&Lo.call(e,n)&&(o[n]=e[n]);return o};const Bo=b.forwardRef((e,r)=>{var o=e,{cell:n}=o,a=n,{children:t,Renderer:s,rendererProps:l,AccordionRenderer:i}=a,c=Ko(a,["children","Renderer","rendererProps","AccordionRenderer"]),u=o,h=Ko(u,["cell","column","row"]);return d($,wa(qe(qe(qe({ref:r},h),c),l!=null&&l.html?{dangerouslySetInnerHTML:{__html:l.html.replaceAll(/<TOK(\d+)/g,"&lt;TOK$1")}}:{children:t}),{as:"span"}))});Bo.displayName="AccordionHTMLCellRenderer";const va=Bo;var ba=Object.defineProperty,Ce=Object.getOwnPropertySymbols,Ho=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable,qo=(e,r,o)=>r in e?ba(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,Ue=(e,r)=>{for(var o in r||(r={}))Ho.call(r,o)&&qo(e,o,r[o]);if(Ce)for(var o of Ce(r))Wo.call(r,o)&&qo(e,o,r[o]);return e},Uo=(e,r)=>{var o={};for(var n in e)Ho.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&Ce)for(var n of Ce(e))r.indexOf(n)<0&&Wo.call(e,n)&&(o[n]=e[n]);return o};const Vo=b.forwardRef((e,r)=>{var o=e,{cell:n}=o,a=n,{children:t,Renderer:s,rendererProps:l,AccordionRenderer:i}=a,c=Uo(a,["children","Renderer","rendererProps","AccordionRenderer"]),u=o,h=Uo(u,["cell","column","row"]);return d("td",Ue(Ue(Ue({ref:r},h),c),l!=null&&l.html?{dangerouslySetInnerHTML:{__html:l.html.replaceAll(/<TOK(\d+)/g,"&lt;TOK$1")}}:{children:t}))});Vo.displayName="HTMLCellRenderer";const ha=Vo,ya=()=>d($,{className:"responsiveTable__isLoading",children:d(Je,{})});var Oa=(e,r,o)=>new Promise((n,a)=>{var t=i=>{try{l(o.next(i))}catch(c){a(c)}},s=i=>{try{l(o.throw(i))}catch(c){a(c)}},l=i=>i.done?n(i.value):Promise.resolve(i.value).then(t,s);l((o=o.apply(e,r)).next())});function ga(e){const r=Xe(({row:o},n)=>{const[a,t]=je(null),s=sn(()=>Oa(this,null,function*(){const l=yield e(o);t(l)}),[o]);return d(V,{children:a?S(V,{children:[d(_e,{icon:"Minus",onClick:()=>t(null)}),rr(a).map(l=>S($,{ref:n,as:"div",children:[S($,{as:"strong",children:[l.name,":"]})," ",l.label]},l.name))]}):d(_e,{icon:"Plus",onClick:()=>void s()})})});return r.displayName="MakeAccordionAsyncRenderer",r}var Ra=(e,r,o)=>new Promise((n,a)=>{var t=i=>{try{l(o.next(i))}catch(c){a(c)}},s=i=>{try{l(o.throw(i))}catch(c){a(c)}},l=i=>i.done?n(i.value):Promise.resolve(i.value).then(t,s);l((o=o.apply(e,r)).next())});function xa(e){const r=Xe(({row:o},n)=>{const[a,t]=je(null);return In(()=>{Ra(this,null,function*(){const s=yield e(o);t(s)})}),d(V,{children:a?rr(a).map(s=>d($,{ref:n,className:`responsiveTable__additionalInfoItem ${s.newline?"separator":""}`,children:s.newline?S(V,{children:[S($,{sx:{height:"20px"},as:"strong",children:[s.name,":"]})," ",s.label]}):S(V,{children:[S($,{as:"strong",children:[s.name,":"]})," ",s.label]})},`${s.name}-${ie()}`)):d(Je,{size:15})})});return r.displayName="MakeAsyncRenderer",r}var $a=Object.defineProperty,Ia=Object.defineProperties,Sa=Object.getOwnPropertyDescriptors,Pe=Object.getOwnPropertySymbols,zo=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,Xo=(e,r,o)=>r in e?$a(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,Yo=(e,r)=>{for(var o in r||(r={}))zo.call(r,o)&&Xo(e,o,r[o]);if(Pe)for(var o of Pe(r))Go.call(r,o)&&Xo(e,o,r[o]);return e},Na=(e,r)=>Ia(e,Sa(r)),Qo=(e,r)=>{var o={};for(var n in e)zo.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&Pe)for(var n of Pe(e))r.indexOf(n)<0&&Go.call(e,n)&&(o[n]=e[n]);return o};function Ve(e){let r;return e!=null&&e.includes("priority0")&&(r="priorityNone"),e!=null&&e.includes("priority1")&&(r="priorityLow"),e!=null&&e.includes("priority2")&&(r="priorityNormal"),e!=null&&e.includes("priority3")&&(r="priorityHigh"),e!=null&&e.includes("priority4")&&(r="priorityUrgent"),r}const Jo=b.forwardRef((e,r)=>{var o=e,{cell:n}=o,a=n,{children:t,Renderer:s,rendererProps:l,AccordionRenderer:i}=a,c=Qo(a,["children","Renderer","rendererProps","AccordionRenderer"]),u=o,h=Qo(u,["cell","column","row"]);const v=Ve(l?.src);return d("td",Na(Yo(Yo({},h),c),{ref:r,className:"priority",sx:{color:v},children:d(nr,{})}))});Jo.displayName="PriorityRenderer";const Ca=Jo,Zo=b.forwardRef(({cell:e,column:r},o)=>{var n,a,t;const s=Ve((n=e.rendererProps)==null?void 0:n.src),l=(a=r.label)!=null?a:r.name;return S($,{ref:o,className:"priority_container",children:[l&&S($,{as:"strong",children:[(t=r.label)!=null?t:r.name,": "]}),d($,{as:"span",className:"priority",sx:{color:s},children:d(nr,{})})]})});Zo.displayName="PriorityAccordionRenderer";const Pa=Zo;var Fa=Object.defineProperty,ja=Object.defineProperties,Ta=Object.getOwnPropertyDescriptors,Fe=Object.getOwnPropertySymbols,en=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable,on=(e,r,o)=>r in e?Fa(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,nn=(e,r)=>{for(var o in r||(r={}))en.call(r,o)&&on(e,o,r[o]);if(Fe)for(var o of Fe(r))rn.call(r,o)&&on(e,o,r[o]);return e},Aa=(e,r)=>ja(e,Ta(r)),ln=(e,r)=>{var o={};for(var n in e)en.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&Fe)for(var n of Fe(e))r.indexOf(n)<0&&rn.call(e,n)&&(o[n]=e[n]);return o};function ze(e,r){var o;if(e===void 0)return"";const n=e.split(" ")[0],a=(o=e.split(" ")[1])!=null?o:"00:00:00",t=Sn(),s=ue(),l=Number(ue().format("HHmm")),i=ue(n,t),c=Number(ue(a,t));let u="";return s>=i&&(u=r),c&&s<=i&&l<c&&(u=r),u}const tn=b.forwardRef((e,r)=>{var o=e,{cell:n}=o,a=n,{children:t,Renderer:s,rendererProps:l,AccordionRenderer:i}=a,c=ln(a,["children","Renderer","rendererProps","AccordionRenderer"]),u=o,{column:h,row:v}=u,p=ln(u,["cell","column","row"]);const f=ze(t,h.name);return d("td",Aa(nn(nn({},p),c),{ref:r,className:f,children:t}))});tn.displayName="StatusRenderer";const Ea=tn,an=b.forwardRef(({cell:e,column:r},o)=>{var n;const a=ze(e.children,r.name);return S($,{ref:o,children:[S($,{as:"strong",children:[(n=r.label)!=null?n:r.name,": "]}),d($,{as:"span",className:a,children:e.children})]})});an.displayName="StatusAccordionRenderer";const _a=an;export{We as AccordionCell,ua as AccordionDocNameCellRenderer,vo as AccordionElement,va as AccordionHTMLCellRenderer,Oo as AccordionRenderer,qr as AdditionalColumnDefaultRenderer,lo as DefaultCellRenderer,Qr as DefaultRowRenderer,la as DocNameCellRenderer,ha as HTMLCellRenderer,ya as IsLoadingRenderer,He as NoRegistersRenderer,Pa as PriorityAccordionRenderer,Ca as PriorityRenderer,So as ResponsiveTable,cl as ResponsiveTableContext,Ar as RowStatesRenderer,_a as StatusAccordionRenderer,Ea as StatusRenderer,wo as TableRenderer,lr as defaultLabels,Ve as getPriorityHandler,ze as getStatusRendererClassName,ga as makeAccordionAsyncRenderer,xa as makeAsyncRenderer,M as responsiveTableActions,T as responsiveTableStore,F as useResponsiveTable};
2
- //# sourceMappingURL=index.js.map
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import React, { useState, useMemo, memo, forwardRef, useCallback } from 'react';
3
+ import { Box, getVariant, Button, Input, useBreakpointIndex, Link, Spinner } from '@apia/theme';
4
+ import { useThrottleFn, useMount, useUpdateEffect as useUpdateEffect$1, useUnmount } from 'ahooks';
5
+ import { uniqueId } from 'lodash-es';
6
+ import { createSlice, injectReducers, shallowEqual as shallowEqual$1 } from '@apia/store';
7
+ import { addBoundary, useLatest, useUpdateEffect, getSpecificParent, isChild, autoDisconnectMutationObserver, getFocusSelector, cantFocusSelector, globalFocus, scrollParentIntoElement, customEvents, debugDispatcher, persistentStorage, EventEmitter, downloadUrl, arrayOrArray, useMount as useMount$1, getDateFormat } from '@apia/util';
8
+ import { shallowEqual } from 'react-redux';
9
+ import { useOtherTagButton, ApiaFilter, IconButton, AccordionItem, Accordion } from '@apia/components';
10
+ import { Icon } from '@apia/icons';
11
+ import { FaSortUp, FaSortDown, FaSort, FaMinusSquare, FaPlusSquare, FaSquare } from '@meronex/icons/fa';
12
+ import dayjs from 'dayjs';
13
+
14
+ const defaultLabels = {
15
+ noRegisters: window.FINDER_NO_DATA
16
+ };
17
+
18
+ function getInitialState$1() {
19
+ return {
20
+ allowEdition: false,
21
+ allowSelection: true,
22
+ columns: [],
23
+ expandedRows: [],
24
+ isEditionMode: false,
25
+ isFocused: false,
26
+ filters: [],
27
+ focusedColumn: 0,
28
+ focusedRow: 0,
29
+ hasNonAdditionalFilters: false,
30
+ isMultiple: true,
31
+ nonAdditionalColumnsCount: 0,
32
+ rows: [],
33
+ selectedRows: [],
34
+ statesColumns: 0
35
+ };
36
+ }
37
+
38
+ function addRowBoundary(newRow, state) {
39
+ const hasFiltersRow = !!state.filters.find(
40
+ (current) => !!state.columns.find((search) => search.name === current.column)
41
+ );
42
+ return addBoundary({
43
+ number: newRow,
44
+ min: hasFiltersRow ? -2 : -1,
45
+ max: Math.max(0, state.rows.length - 1)
46
+ });
47
+ }
48
+ function addColumnBoundary(newColumn, state) {
49
+ return addBoundary({
50
+ number: newColumn,
51
+ min: 0,
52
+ max: state.nonAdditionalColumnsCount + state.statesColumns + (state.hasNonAdditionalFilters ? 1 : 0)
53
+ });
54
+ }
55
+ function isBasicRow(row) {
56
+ return typeof row === "object" && !!row && "forbidSelection" in row;
57
+ }
58
+ function filterNonSellectableRows(state, newSelection) {
59
+ let expandedRowsBefore = 0;
60
+ return newSelection.filter((selectedRowIndex) => {
61
+ const row = state.rows[selectedRowIndex + expandedRowsBefore];
62
+ if (state.expandedRows.includes(selectedRowIndex))
63
+ expandedRowsBefore += 1;
64
+ return !(isBasicRow(row) && row.forbidSelection);
65
+ });
66
+ }
67
+ function setNewFocused(state, {
68
+ /**
69
+ * Propiedad proveniente del evento click o keydown.
70
+ */
71
+ ctrlKey,
72
+ /**
73
+ * Propiedad proveniente del evento click o keydown.
74
+ */
75
+ shiftKey,
76
+ newFocusedColumn,
77
+ newFocusedRow,
78
+ /**
79
+ * Con este método se puede seleccionar cuál celda
80
+ * va a recibir el foco y la selección, o solamente
81
+ * el foco si esta propiedad es pasada en false.
82
+ */
83
+ shouldSelectNewFocused
84
+ }) {
85
+ var _a;
86
+ let actualNewFocusedRow = Math.round(
87
+ addRowBoundary((_a = newFocusedRow != null ? newFocusedRow : state.focusedRow) != null ? _a : 0, state) * 2
88
+ ) / 2;
89
+ const actualNewFocusedColumn = addColumnBoundary(
90
+ newFocusedColumn != null ? newFocusedColumn : state.focusedColumn,
91
+ state
92
+ );
93
+ state.focusedColumn = actualNewFocusedColumn;
94
+ state.focusedRow = actualNewFocusedRow;
95
+ state.isFocused = shouldSelectNewFocused != null ? shouldSelectNewFocused : false;
96
+ if (shouldSelectNewFocused === false || actualNewFocusedRow < 0)
97
+ return;
98
+ if (Math.round(actualNewFocusedRow) - actualNewFocusedRow !== 0)
99
+ actualNewFocusedRow = Math.floor(actualNewFocusedRow);
100
+ const isDeselectingWithCtrl = ctrlKey && state.selectedRows.includes(actualNewFocusedRow);
101
+ if (state.allowSelection !== false) {
102
+ if (!ctrlKey && !shiftKey || state.isMultiple === false && !isDeselectingWithCtrl)
103
+ state.selectedRows = filterNonSellectableRows(state, [
104
+ actualNewFocusedRow
105
+ ]);
106
+ else if (ctrlKey && state.isMultiple || isDeselectingWithCtrl) {
107
+ state.selectedRows = filterNonSellectableRows(
108
+ state,
109
+ state.selectedRows.includes(actualNewFocusedRow) ? state.selectedRows.filter(
110
+ (current) => current !== actualNewFocusedRow
111
+ ) : [...state.selectedRows, actualNewFocusedRow]
112
+ );
113
+ } else if (shiftKey && state.isMultiple) {
114
+ const sortedSelectedRows = [...state.selectedRows].sort((a, b) => a - b);
115
+ let minSelectedRow = sortedSelectedRows[0];
116
+ let maxSelectedRow = sortedSelectedRows[sortedSelectedRows.length - 1];
117
+ if (minSelectedRow === void 0) {
118
+ state.selectedRows = filterNonSellectableRows(state, [
119
+ actualNewFocusedRow
120
+ ]);
121
+ return;
122
+ }
123
+ if (actualNewFocusedRow < minSelectedRow)
124
+ minSelectedRow = actualNewFocusedRow;
125
+ if (actualNewFocusedRow > maxSelectedRow)
126
+ maxSelectedRow = actualNewFocusedRow;
127
+ const newSelectedRows = filterNonSellectableRows(
128
+ state,
129
+ new Array(maxSelectedRow - minSelectedRow + 1).fill("").map((_, i) => i + (minSelectedRow != null ? minSelectedRow : 0))
130
+ );
131
+ state.selectedRows = filterNonSellectableRows(state, newSelectedRows);
132
+ }
133
+ }
134
+ }
135
+
136
+ var __defProp$o = Object.defineProperty;
137
+ var __getOwnPropSymbols$o = Object.getOwnPropertySymbols;
138
+ var __hasOwnProp$o = Object.prototype.hasOwnProperty;
139
+ var __propIsEnum$o = Object.prototype.propertyIsEnumerable;
140
+ var __defNormalProp$o = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
141
+ var __spreadValues$o = (a, b) => {
142
+ for (var prop in b || (b = {}))
143
+ if (__hasOwnProp$o.call(b, prop))
144
+ __defNormalProp$o(a, prop, b[prop]);
145
+ if (__getOwnPropSymbols$o)
146
+ for (var prop of __getOwnPropSymbols$o(b)) {
147
+ if (__propIsEnum$o.call(b, prop))
148
+ __defNormalProp$o(a, prop, b[prop]);
149
+ }
150
+ return a;
151
+ };
152
+ var __objRest$d = (source, exclude) => {
153
+ var target = {};
154
+ for (var prop in source)
155
+ if (__hasOwnProp$o.call(source, prop) && exclude.indexOf(prop) < 0)
156
+ target[prop] = source[prop];
157
+ if (source != null && __getOwnPropSymbols$o)
158
+ for (var prop of __getOwnPropSymbols$o(source)) {
159
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$o.call(source, prop))
160
+ target[prop] = source[prop];
161
+ }
162
+ return target;
163
+ };
164
+ function willHandleKey(ev, state) {
165
+ const actualKey = ev.key.toLowerCase();
166
+ if (state.isEditionMode)
167
+ return false;
168
+ if (actualKey === " " && ev.ctrlKey)
169
+ return true;
170
+ if (actualKey === "a" && ev.ctrlKey)
171
+ return true;
172
+ if (actualKey === "m" && ev.ctrlKey)
173
+ return true;
174
+ if (state.draggingRow !== void 0) {
175
+ return ["Escape", "Enter"].includes(ev.key);
176
+ }
177
+ return [
178
+ "arrowup",
179
+ "arrowdown",
180
+ "arrowleft",
181
+ "arrowright",
182
+ "end",
183
+ "enter",
184
+ "home",
185
+ "pageup",
186
+ "pagedown"
187
+ ].includes(ev.key.toLowerCase());
188
+ }
189
+ function handleKey(state, { ev }) {
190
+ const {
191
+ altKey: isAltPressed,
192
+ ctrlKey: isCtrlPressed,
193
+ key,
194
+ shiftKey: isShiftPressed
195
+ } = ev;
196
+ if (willHandleKey(ev, state))
197
+ ev.preventDefault();
198
+ const actualKey = key.toLowerCase();
199
+ const setFocus = (_a) => {
200
+ var _b = _a, {
201
+ newFocusedColumn,
202
+ newFocusedRow
203
+ } = _b, rest = __objRest$d(_b, [
204
+ "newFocusedColumn",
205
+ "newFocusedRow"
206
+ ]);
207
+ return setNewFocused(state, __spreadValues$o({
208
+ altKey: isAltPressed,
209
+ ctrlKey: isCtrlPressed,
210
+ shiftKey: isShiftPressed,
211
+ newFocusedColumn,
212
+ newFocusedRow
213
+ }, rest));
214
+ };
215
+ if (!state.isEditionMode) {
216
+ if (actualKey === "enter" && (state.allowEdition === true || state.focusedRow < 0))
217
+ state.isEditionMode = true;
218
+ else
219
+ switch (actualKey) {
220
+ case "arrowup": {
221
+ let sumRate = state.expandedRows.includes(state.focusedRow - 1) ? 0.6 : 1;
222
+ if (Math.round(state.focusedRow) - state.focusedRow !== 0)
223
+ sumRate = 0.5;
224
+ setFocus({
225
+ newFocusedRow: state.focusedRow - sumRate,
226
+ shouldSelectNewFocused: !isCtrlPressed
227
+ });
228
+ break;
229
+ }
230
+ case "arrowdown": {
231
+ let sumRate = state.expandedRows.includes(state.focusedRow) ? 0.6 : 1;
232
+ if (Math.round(state.focusedRow) - state.focusedRow !== 0)
233
+ sumRate = 0.5;
234
+ setFocus({
235
+ newFocusedRow: state.focusedRow + sumRate,
236
+ shouldSelectNewFocused: !isCtrlPressed
237
+ });
238
+ break;
239
+ }
240
+ case "arrowleft":
241
+ case "arrowright": {
242
+ setFocus({
243
+ newFocusedColumn: state.focusedColumn + (actualKey === "arrowleft" ? -1 : 1),
244
+ shouldSelectNewFocused: !isCtrlPressed
245
+ });
246
+ break;
247
+ }
248
+ case "home": {
249
+ if (isCtrlPressed)
250
+ setFocus({ newFocusedColumn: 0, newFocusedRow: 0, ctrlKey: false });
251
+ else
252
+ setFocus({ newFocusedColumn: 0 });
253
+ break;
254
+ }
255
+ case "end": {
256
+ if (isCtrlPressed)
257
+ setFocus({
258
+ newFocusedRow: Number.POSITIVE_INFINITY,
259
+ newFocusedColumn: Number.POSITIVE_INFINITY,
260
+ ctrlKey: false
261
+ });
262
+ else
263
+ setFocus({
264
+ newFocusedColumn: Number.POSITIVE_INFINITY
265
+ });
266
+ break;
267
+ }
268
+ case "pageup": {
269
+ setFocus({
270
+ newFocusedRow: state.focusedRow - 5,
271
+ shouldSelectNewFocused: !isCtrlPressed
272
+ });
273
+ break;
274
+ }
275
+ case "pagedown": {
276
+ setFocus({
277
+ newFocusedRow: state.focusedRow + 5,
278
+ shouldSelectNewFocused: !isCtrlPressed
279
+ });
280
+ break;
281
+ }
282
+ case " ": {
283
+ if (isCtrlPressed)
284
+ setFocus({
285
+ newFocusedRow: state.focusedRow
286
+ });
287
+ break;
288
+ }
289
+ case "a": {
290
+ if (isCtrlPressed && state.allowSelection)
291
+ state.selectedRows = state.rows.map((_, i) => i);
292
+ break;
293
+ }
294
+ }
295
+ } else
296
+ switch (actualKey) {
297
+ case "escape":
298
+ case "enter": {
299
+ if (state.isEditionMode)
300
+ state.isEditionMode = false;
301
+ ev.stopPropagation();
302
+ break;
303
+ }
304
+ }
305
+ }
306
+
307
+ var __defProp$n = Object.defineProperty;
308
+ var __defProps$j = Object.defineProperties;
309
+ var __getOwnPropDescs$j = Object.getOwnPropertyDescriptors;
310
+ var __getOwnPropSymbols$n = Object.getOwnPropertySymbols;
311
+ var __hasOwnProp$n = Object.prototype.hasOwnProperty;
312
+ var __propIsEnum$n = Object.prototype.propertyIsEnumerable;
313
+ var __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
314
+ var __spreadValues$n = (a, b) => {
315
+ for (var prop in b || (b = {}))
316
+ if (__hasOwnProp$n.call(b, prop))
317
+ __defNormalProp$n(a, prop, b[prop]);
318
+ if (__getOwnPropSymbols$n)
319
+ for (var prop of __getOwnPropSymbols$n(b)) {
320
+ if (__propIsEnum$n.call(b, prop))
321
+ __defNormalProp$n(a, prop, b[prop]);
322
+ }
323
+ return a;
324
+ };
325
+ var __spreadProps$j = (a, b) => __defProps$j(a, __getOwnPropDescs$j(b));
326
+ var __objRest$c = (source, exclude) => {
327
+ var target = {};
328
+ for (var prop in source)
329
+ if (__hasOwnProp$n.call(source, prop) && exclude.indexOf(prop) < 0)
330
+ target[prop] = source[prop];
331
+ if (source != null && __getOwnPropSymbols$n)
332
+ for (var prop of __getOwnPropSymbols$n(source)) {
333
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$n.call(source, prop))
334
+ target[prop] = source[prop];
335
+ }
336
+ return target;
337
+ };
338
+ function shoutKeyhandlerLive(liveType, additionalData) {
339
+ console.warn("Not implemented arialiveemitter", additionalData);
340
+ }
341
+ let scrollTimeout;
342
+ function makeKeyHandler(actions, id, config) {
343
+ return function KeyHandler(_a) {
344
+ var _b = _a, {
345
+ children,
346
+ onChangeSelection,
347
+ onSelectRows
348
+ } = _b, props = __objRest$c(_b, [
349
+ "children",
350
+ "onChangeSelection",
351
+ "onSelectRows"
352
+ ]);
353
+ var _a2, _b2;
354
+ const { run: keyHandler } = useThrottleFn((ev) => {
355
+ if (!["shift", "alt", "control"].includes(ev.key.toLowerCase())) {
356
+ responsiveTableStore.dispatch(actions.handleKey({ id, ev }));
357
+ }
358
+ }, (_a2 = config == null ? void 0 : config.throttleOptions) != null ? _a2 : { wait: 100 });
359
+ const [ref, setRef] = React.useState(null);
360
+ const selectedRows = useResponsiveTable(
361
+ (global) => {
362
+ var _a3;
363
+ const state = config.stateSelector(global);
364
+ return ((_a3 = state == null ? void 0 : state.selectedRows) != null ? _a3 : []).map((current) => ({
365
+ index: current,
366
+ row: state.rows[current]
367
+ }));
368
+ },
369
+ (a, b) => shallowEqual(
370
+ a.map((current) => current.index),
371
+ b.map((current) => current.index)
372
+ )
373
+ );
374
+ const selectedRowsRef = useLatest(selectedRows);
375
+ const focusedRow = useResponsiveTable((global) => {
376
+ var _a3;
377
+ const state = config.stateSelector(global);
378
+ return (_a3 = state == null ? void 0 : state.focusedRow) != null ? _a3 : -1;
379
+ });
380
+ const { allowKeyboardSorting, focusedCell, isEditionMode, isFocused } = useResponsiveTable((global) => {
381
+ const state = config.stateSelector(global);
382
+ return {
383
+ focusedCell: (state == null ? void 0 : state.focusedRow) !== void 0 ? `${state == null ? void 0 : state.focusedRow}_${state == null ? void 0 : state.focusedColumn}` : void 0,
384
+ isEditionMode: state == null ? void 0 : state.isEditionMode,
385
+ rows: state == null ? void 0 : state.rows,
386
+ isFocused: state == null ? void 0 : state.isFocused,
387
+ allowKeyboardSorting: state == null ? void 0 : state.allowRowsKeyboardSorting
388
+ };
389
+ }, shallowEqual);
390
+ useUpdateEffect(() => {
391
+ if (onChangeSelection)
392
+ onChangeSelection(selectedRows);
393
+ }, [onChangeSelection, selectedRows]);
394
+ const handleClick = React.useCallback(
395
+ (ev) => {
396
+ var _a3;
397
+ if (ev.target.closest(".moreInformationButton"))
398
+ return;
399
+ if (ev.shiftKey) {
400
+ (_a3 = document.getSelection()) == null ? void 0 : _a3.removeAllRanges();
401
+ }
402
+ const parentRow = getSpecificParent(
403
+ ev.target,
404
+ (current) => {
405
+ if (current.tagName.toLowerCase() === "table")
406
+ return null;
407
+ if (current.matches("tr")) {
408
+ return true;
409
+ }
410
+ return false;
411
+ }
412
+ );
413
+ const parentCell = getSpecificParent(
414
+ ev.target,
415
+ (current) => {
416
+ if (current.tagName.toLowerCase() === "table")
417
+ return null;
418
+ if (current.matches("td,th")) {
419
+ return true;
420
+ }
421
+ return false;
422
+ }
423
+ );
424
+ if (parentCell && parentRow) {
425
+ responsiveTableStore.dispatch(
426
+ actions.updateByClick({
427
+ altKey: ev.altKey,
428
+ id,
429
+ ctrlKey: ev.ctrlKey,
430
+ ariaColIndex: Number(parentCell.getAttribute("aria-colindex")),
431
+ rowIndex: Number(parentRow.getAttribute("data-focusindex")),
432
+ shiftKey: ev.shiftKey
433
+ })
434
+ );
435
+ }
436
+ },
437
+ []
438
+ );
439
+ const handleDoubleClick = React.useCallback(
440
+ (ev) => {
441
+ if (isChild(
442
+ ev.target,
443
+ (current) => current.tagName === "THEAD"
444
+ ))
445
+ return;
446
+ ev.preventDefault();
447
+ if (onSelectRows)
448
+ onSelectRows(selectedRowsRef.current, focusedRow);
449
+ },
450
+ [focusedRow, onSelectRows, selectedRowsRef]
451
+ );
452
+ const initialized = React.useRef(true);
453
+ const running = React.useRef(false);
454
+ const doFocusThings = React.useCallback(() => {
455
+ if (!running.current) {
456
+ running.current = true;
457
+ if (focusedCell === void 0) {
458
+ running.current = false;
459
+ return () => {
460
+ };
461
+ }
462
+ if (ref) {
463
+ const disconnectObserver = autoDisconnectMutationObserver(
464
+ ref,
465
+ () => {
466
+ scrollTimeout = setTimeout(() => {
467
+ var _a3;
468
+ const focusedElement = ref.querySelector(
469
+ '[data-focused="true"]'
470
+ );
471
+ let tableCellElement = null;
472
+ let tableCellWidget = null;
473
+ if (["td", "th"].includes(
474
+ (_a3 = focusedElement == null ? void 0 : focusedElement.tagName.toLowerCase()) != null ? _a3 : ""
475
+ )) {
476
+ tableCellElement = focusedElement;
477
+ tableCellWidget = focusedElement == null ? void 0 : focusedElement.querySelector(
478
+ getFocusSelector(":not(.debug_info__button)")
479
+ );
480
+ }
481
+ if ((focusedElement == null ? void 0 : focusedElement.tagName.toLowerCase()) === "tr") {
482
+ tableCellElement = focusedElement.querySelector("td,th");
483
+ tableCellWidget = focusedElement.querySelector(
484
+ getFocusSelector(":not(.debug_info__button)")
485
+ ) || tableCellElement;
486
+ }
487
+ if (tableCellWidget) {
488
+ tableCellElement == null ? void 0 : tableCellElement.setAttribute("tabIndex", "-1");
489
+ tableCellWidget.setAttribute("tabIndex", "0");
490
+ } else
491
+ tableCellElement == null ? void 0 : tableCellElement.setAttribute("tabIndex", "0");
492
+ if (!isEditionMode) {
493
+ const allFocusableElements = ref == null ? void 0 : ref.querySelectorAll(
494
+ getFocusSelector(
495
+ `${cantFocusSelector}:not([data-focused="true"])`
496
+ )
497
+ );
498
+ allFocusableElements == null ? void 0 : allFocusableElements.forEach((current) => {
499
+ if (current !== tableCellWidget) {
500
+ current.setAttribute("tabIndex", "-1");
501
+ }
502
+ if ((tableCellWidget == null ? void 0 : tableCellWidget.tagName) === "BUTTON")
503
+ tableCellWidget.setAttribute("role", "gridcell");
504
+ });
505
+ } else {
506
+ const focusableElements = tableCellElement == null ? void 0 : tableCellElement.querySelectorAll('[tabindex="-1"]');
507
+ focusableElements == null ? void 0 : focusableElements.forEach(
508
+ (current) => current.setAttribute("tabIndex", "0")
509
+ );
510
+ }
511
+ const focusElement = tableCellWidget != null ? tableCellWidget : tableCellElement;
512
+ const row = getSpecificParent(
513
+ focusElement,
514
+ (current) => current.tagName === "TR"
515
+ );
516
+ if (focusElement && initialized.current && config.stateSelector(responsiveTableStore.getState()).isFocused) {
517
+ globalFocus.focus = focusElement;
518
+ focusElement.focus();
519
+ }
520
+ if (row) {
521
+ scrollParentIntoElement(row, 55, 2, 100, "makeKeyHandler");
522
+ }
523
+ if (!initialized.current) {
524
+ initialized.current = true;
525
+ }
526
+ }, 0);
527
+ },
528
+ { timeout: 5e3 }
529
+ );
530
+ running.current = false;
531
+ return () => {
532
+ disconnectObserver();
533
+ clearTimeout(scrollTimeout);
534
+ };
535
+ }
536
+ running.current = false;
537
+ }
538
+ return () => {
539
+ };
540
+ }, [focusedCell, ref, isEditionMode]);
541
+ React.useLayoutEffect(doFocusThings, [
542
+ focusedCell,
543
+ isFocused,
544
+ isEditionMode
545
+ ]);
546
+ React.useEffect(() => {
547
+ function handleFocus(ev) {
548
+ const targetTable = getSpecificParent(
549
+ ev.target,
550
+ (current) => current.tagName.toLowerCase() === "table"
551
+ );
552
+ const relatedTargetTable = getSpecificParent(
553
+ ev.relatedTarget,
554
+ (current) => current.tagName.toLowerCase() === "table"
555
+ );
556
+ if (!relatedTargetTable || relatedTargetTable !== targetTable)
557
+ handleClick(ev);
558
+ }
559
+ ref == null ? void 0 : ref.addEventListener("dblclick", handleDoubleClick);
560
+ ref == null ? void 0 : ref.addEventListener("mousedown", handleClick);
561
+ ref == null ? void 0 : ref.addEventListener("focusin", handleFocus);
562
+ ref == null ? void 0 : ref.addEventListener(customEvents.focus, handleClick);
563
+ return () => {
564
+ ref == null ? void 0 : ref.removeEventListener("mousedown", handleClick);
565
+ ref == null ? void 0 : ref.removeEventListener("dblclick", handleDoubleClick);
566
+ ref == null ? void 0 : ref.removeEventListener("focusin", handleFocus);
567
+ ref == null ? void 0 : ref.removeEventListener(customEvents.focus, handleClick);
568
+ };
569
+ }, [ref]);
570
+ const isDragging = React.useRef(false);
571
+ const isFocusedRef = React.useRef(false);
572
+ return /* @__PURE__ */ jsx(
573
+ Box,
574
+ __spreadProps$j(__spreadValues$n({
575
+ ref: setRef
576
+ }, props), {
577
+ className: `selection__keyHandler ${(_b2 = props.className) != null ? _b2 : ""}`,
578
+ onBlur: React.useCallback(
579
+ (ev) => {
580
+ if (!ev.relatedTarget || !getSpecificParent(
581
+ ev.relatedTarget,
582
+ (current) => current === ref
583
+ )) {
584
+ responsiveTableStore.dispatch(
585
+ actions.selectionStateUpdate({ id, isFocused: false })
586
+ );
587
+ shoutKeyhandlerLive();
588
+ isFocusedRef.current = false;
589
+ }
590
+ },
591
+ [ref]
592
+ ),
593
+ onFocus: React.useCallback(() => {
594
+ if (!isFocusedRef.current)
595
+ shoutKeyhandlerLive();
596
+ isFocusedRef.current = true;
597
+ }, []),
598
+ sx: React.useMemo(
599
+ () => ({ overflow: "auto", position: "relative" }),
600
+ []
601
+ ),
602
+ onKeyDown: React.useCallback(
603
+ (ev) => {
604
+ var _a3;
605
+ const state = config.stateSelector(responsiveTableStore.getState());
606
+ if (willHandleKey(
607
+ ev,
608
+ config.stateSelector(responsiveTableStore.getState())
609
+ )) {
610
+ ev.preventDefault();
611
+ ev.stopPropagation();
612
+ }
613
+ if (actions.swapFocusedRow && isDragging.current && allowKeyboardSorting) {
614
+ if ((ev.key === "Enter" || ev.key === "Escape") && isDragging.current) {
615
+ shoutKeyhandlerLive();
616
+ isDragging.current = false;
617
+ responsiveTableStore.dispatch(
618
+ actions.swapFocusedRow({
619
+ tableName: id,
620
+ newIndex: state.focusedRow
621
+ })
622
+ );
623
+ } else if (["ArrowDown", "ArrowUp"].includes(ev.key)) {
624
+ if (ev.key === "ArrowDown") {
625
+ responsiveTableStore.dispatch(
626
+ actions.swapFocusedRow({
627
+ tableName: id,
628
+ newIndex: state.focusedRow + 1
629
+ })
630
+ );
631
+ } else {
632
+ responsiveTableStore.dispatch(
633
+ actions.swapFocusedRow({
634
+ tableName: id,
635
+ newIndex: state.focusedRow - 1
636
+ })
637
+ );
638
+ }
639
+ }
640
+ } else if (ev.key === "m" && ev.ctrlKey && !isDragging.current && state.focusedRow >= 0 && actions.swapFocusedRow) {
641
+ isDragging.current = true;
642
+ shoutKeyhandlerLive();
643
+ responsiveTableStore.dispatch(
644
+ actions.swapFocusedRow({
645
+ tableName: id,
646
+ newIndex: state.focusedRow
647
+ })
648
+ );
649
+ } else {
650
+ const currentSelectedRows = ((_a3 = state == null ? void 0 : state.selectedRows) != null ? _a3 : []).map((current) => ({
651
+ index: current,
652
+ row: state.rows[current]
653
+ }));
654
+ if (props.onKeyDown)
655
+ props.onKeyDown(ev);
656
+ if (ev.key === "Enter" && onSelectRows && state.focusedRow >= 0) {
657
+ onSelectRows(currentSelectedRows, focusedRow);
658
+ }
659
+ keyHandler(ev);
660
+ }
661
+ },
662
+ [allowKeyboardSorting, focusedRow, keyHandler, onSelectRows, props]
663
+ ),
664
+ children
665
+ })
666
+ );
667
+ };
668
+ }
669
+
670
+ var __defProp$m = Object.defineProperty;
671
+ var __defProps$i = Object.defineProperties;
672
+ var __getOwnPropDescs$i = Object.getOwnPropertyDescriptors;
673
+ var __getOwnPropSymbols$m = Object.getOwnPropertySymbols;
674
+ var __hasOwnProp$m = Object.prototype.hasOwnProperty;
675
+ var __propIsEnum$m = Object.prototype.propertyIsEnumerable;
676
+ var __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
677
+ var __spreadValues$m = (a, b) => {
678
+ for (var prop in b || (b = {}))
679
+ if (__hasOwnProp$m.call(b, prop))
680
+ __defNormalProp$m(a, prop, b[prop]);
681
+ if (__getOwnPropSymbols$m)
682
+ for (var prop of __getOwnPropSymbols$m(b)) {
683
+ if (__propIsEnum$m.call(b, prop))
684
+ __defNormalProp$m(a, prop, b[prop]);
685
+ }
686
+ return a;
687
+ };
688
+ var __spreadProps$i = (a, b) => __defProps$i(a, __getOwnPropDescs$i(b));
689
+ var __objRest$b = (source, exclude) => {
690
+ var target = {};
691
+ for (var prop in source)
692
+ if (__hasOwnProp$m.call(source, prop) && exclude.indexOf(prop) < 0)
693
+ target[prop] = source[prop];
694
+ if (source != null && __getOwnPropSymbols$m)
695
+ for (var prop of __getOwnPropSymbols$m(source)) {
696
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$m.call(source, prop))
697
+ target[prop] = source[prop];
698
+ }
699
+ return target;
700
+ };
701
+ function getReduxActions() {
702
+ return {
703
+ handleKey(state, { payload }) {
704
+ handleKey(state[payload.id], payload);
705
+ },
706
+ selectionStateUpdate(state, _a) {
707
+ var { payload: _b } = _a, _c = _b, { id } = _c, payload = __objRest$b(_c, ["id"]);
708
+ state[id] = __spreadValues$m(__spreadValues$m({}, state[id]), payload);
709
+ },
710
+ setNewFocused(state, _d) {
711
+ var { payload: _e } = _d, _f = _e, { id } = _f, payload = __objRest$b(_f, ["id"]);
712
+ setNewFocused(state[id], payload);
713
+ },
714
+ updateByClick(state, _g) {
715
+ var {
716
+ payload: _h
717
+ } = _g, _i = _h, {
718
+ id,
719
+ colIndex,
720
+ rowIndex,
721
+ ariaColIndex,
722
+ ariaRowIndex,
723
+ isFocused
724
+ } = _i, payload = __objRest$b(_i, [
725
+ "id",
726
+ "colIndex",
727
+ "rowIndex",
728
+ "ariaColIndex",
729
+ "ariaRowIndex",
730
+ "isFocused"
731
+ ]);
732
+ var _a;
733
+ const hasFiltersRow = state[id].hasNonAdditionalFilters;
734
+ state[id].isEditionMode = false;
735
+ const newFocusedColumn = (_a = colIndex != null ? colIndex : ariaColIndex) != null ? _a : 1;
736
+ const newFocusedRow = ariaRowIndex !== void 0 ? ariaRowIndex : (rowIndex != null ? rowIndex : 0) - (1 + (hasFiltersRow ? 2 : 1));
737
+ setNewFocused(state[id], __spreadProps$i(__spreadValues$m({}, payload), {
738
+ newFocusedColumn,
739
+ newFocusedRow
740
+ }));
741
+ if (isFocused !== void 0)
742
+ state[id].isFocused = isFocused;
743
+ }
744
+ };
745
+ }
746
+
747
+ var __defProp$l = Object.defineProperty;
748
+ var __defProps$h = Object.defineProperties;
749
+ var __getOwnPropDescs$h = Object.getOwnPropertyDescriptors;
750
+ var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
751
+ var __hasOwnProp$l = Object.prototype.hasOwnProperty;
752
+ var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
753
+ var __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
754
+ var __spreadValues$l = (a, b) => {
755
+ for (var prop in b || (b = {}))
756
+ if (__hasOwnProp$l.call(b, prop))
757
+ __defNormalProp$l(a, prop, b[prop]);
758
+ if (__getOwnPropSymbols$l)
759
+ for (var prop of __getOwnPropSymbols$l(b)) {
760
+ if (__propIsEnum$l.call(b, prop))
761
+ __defNormalProp$l(a, prop, b[prop]);
762
+ }
763
+ return a;
764
+ };
765
+ var __spreadProps$h = (a, b) => __defProps$h(a, __getOwnPropDescs$h(b));
766
+ var __objRest$a = (source, exclude) => {
767
+ var target = {};
768
+ for (var prop in source)
769
+ if (__hasOwnProp$l.call(source, prop) && exclude.indexOf(prop) < 0)
770
+ target[prop] = source[prop];
771
+ if (source != null && __getOwnPropSymbols$l)
772
+ for (var prop of __getOwnPropSymbols$l(source)) {
773
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$l.call(source, prop))
774
+ target[prop] = source[prop];
775
+ }
776
+ return target;
777
+ };
778
+ function getInitialState() {
779
+ const newState = __spreadProps$h(__spreadValues$l({}, getInitialState$1()), {
780
+ allowSelection: true,
781
+ allowSorting: true,
782
+ filters: [],
783
+ isLoading: false,
784
+ isMultiple: true,
785
+ accordionIndexColumns: {},
786
+ expandedRows: []
787
+ });
788
+ return newState;
789
+ }
790
+ const responsiveTableSlice = createSlice({
791
+ name: "responsiveTableSlice",
792
+ initialState: {},
793
+ reducers: __spreadValues$l({
794
+ update(state, _a) {
795
+ var {
796
+ payload: _b
797
+ } = _a, _c = _b, { tableName } = _c, rest = __objRest$a(_c, ["tableName"]);
798
+ var _a2, _b2, _c2, _d, _e, _f;
799
+ if (!state[tableName])
800
+ state[tableName] = getInitialState();
801
+ state[tableName] = __spreadValues$l(__spreadValues$l({}, state[tableName]), rest);
802
+ setNewFocused(state[tableName], {
803
+ altKey: false,
804
+ ctrlKey: false,
805
+ shiftKey: false,
806
+ shouldSelectNewFocused: (_a2 = rest.isFocused) != null ? _a2 : state[tableName].isFocused
807
+ });
808
+ if (rest.columns) {
809
+ state[tableName].nonAdditionalColumnsCount = rest.columns.filter(
810
+ (current) => !current.showAsAdditional
811
+ ).length;
812
+ }
813
+ if (rest.rows) {
814
+ state[tableName].statesColumns = Math.max(
815
+ (_c2 = (_b2 = state[tableName]) == null ? void 0 : _b2.reserveColumnsForStates) != null ? _c2 : 0,
816
+ ...(_f = (_e = (_d = state[tableName]) == null ? void 0 : _d.rows) == null ? void 0 : _e.map(
817
+ (current) => {
818
+ var _a3, _b3;
819
+ return (_b3 = (_a3 = current.states) == null ? void 0 : _a3.length) != null ? _b3 : 0;
820
+ }
821
+ )) != null ? _f : [0]
822
+ );
823
+ }
824
+ if (rest.filters) {
825
+ state[tableName].hasNonAdditionalFilters = rest.filters.filter(
826
+ (current) => {
827
+ var _a3, _b3;
828
+ return !current.asAdditional && ((_b3 = (_a3 = rest.columns) != null ? _a3 : state[tableName].columns) == null ? void 0 : _b3.find(
829
+ (search) => search.name === current.column
830
+ ));
831
+ }
832
+ ).length > 0;
833
+ }
834
+ },
835
+ addRows(state, { payload }) {
836
+ if (!state[payload.tableName])
837
+ state[payload.tableName] = getInitialState();
838
+ state[payload.tableName].rows = state[payload.tableName].rows.concat(
839
+ ...payload.newRows
840
+ );
841
+ setNewFocused(state[payload.tableName], {
842
+ altKey: false,
843
+ ctrlKey: false,
844
+ shiftKey: false,
845
+ shouldSelectNewFocused: true,
846
+ newFocusedRow: state[payload.tableName].rows.length
847
+ });
848
+ },
849
+ deleteRows(state, { payload }) {
850
+ const table = state[payload.tableName];
851
+ const minIndex = payload.rowIndices.reduce((min, current) => {
852
+ return current < min ? current : min;
853
+ }, Infinity);
854
+ table.rows = table.rows.filter(
855
+ (_, index) => !payload.rowIndices.includes(index)
856
+ );
857
+ setNewFocused(state[payload.tableName], {
858
+ altKey: false,
859
+ ctrlKey: false,
860
+ shiftKey: false,
861
+ shouldSelectNewFocused: true,
862
+ newFocusedRow: minIndex
863
+ });
864
+ state[payload.tableName].isFocused = false;
865
+ },
866
+ destroy(state, { payload: { tableName } }) {
867
+ delete state[tableName];
868
+ },
869
+ swapFocusedRow(state, {
870
+ payload: { newIndex, tableName }
871
+ }) {
872
+ const tableState = state[tableName];
873
+ const focusedIndex = tableState.focusedRow;
874
+ if (focusedIndex === void 0 || newIndex < 0 || newIndex >= tableState.rows.length)
875
+ return;
876
+ if (focusedIndex === newIndex) {
877
+ if (tableState.draggingRow === newIndex)
878
+ tableState.draggingRow = void 0;
879
+ else
880
+ tableState.draggingRow = newIndex;
881
+ return;
882
+ }
883
+ shoutKeyhandlerLive("whichIsTheNewIndex", { newIndex });
884
+ const isSelected = tableState.selectedRows.includes(focusedIndex);
885
+ if (isSelected) {
886
+ tableState.selectedRows = [
887
+ ...tableState.selectedRows.filter(
888
+ (current) => current !== focusedIndex
889
+ ),
890
+ newIndex
891
+ ];
892
+ }
893
+ const aux = tableState.rows[newIndex];
894
+ tableState.rows[newIndex] = tableState.rows[focusedIndex];
895
+ tableState.rows[focusedIndex] = aux;
896
+ tableState.focusedRow = newIndex;
897
+ tableState.draggingRow = newIndex;
898
+ }
899
+ }, getReduxActions())
900
+ });
901
+ const { store: responsiveTableStore, useSelector: useResponsiveTable } = injectReducers({
902
+ responsiveTableSlice: responsiveTableSlice.reducer
903
+ });
904
+ const responsiveTableActions = responsiveTableSlice.actions;
905
+
906
+ var __defProp$k = Object.defineProperty;
907
+ var __defProps$g = Object.defineProperties;
908
+ var __getOwnPropDescs$g = Object.getOwnPropertyDescriptors;
909
+ var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
910
+ var __hasOwnProp$k = Object.prototype.hasOwnProperty;
911
+ var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
912
+ var __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
913
+ var __spreadValues$k = (a, b) => {
914
+ for (var prop in b || (b = {}))
915
+ if (__hasOwnProp$k.call(b, prop))
916
+ __defNormalProp$k(a, prop, b[prop]);
917
+ if (__getOwnPropSymbols$k)
918
+ for (var prop of __getOwnPropSymbols$k(b)) {
919
+ if (__propIsEnum$k.call(b, prop))
920
+ __defNormalProp$k(a, prop, b[prop]);
921
+ }
922
+ return a;
923
+ };
924
+ var __spreadProps$g = (a, b) => __defProps$g(a, __getOwnPropDescs$g(b));
925
+ const ResponsiveTableReactContext = React.createContext({});
926
+ function useResponsiveTableContext() {
927
+ const context = React.useContext(ResponsiveTableReactContext);
928
+ if (!context)
929
+ throw new Error("There is no ResponsiveTableContext");
930
+ return context;
931
+ }
932
+ const NoMemoResponsiveTableContext = ({
933
+ allowEdition,
934
+ allowRowsKeyboardSorting,
935
+ allowSelection,
936
+ allowSorting,
937
+ avoidReparseSelectionOnRowChange,
938
+ children = /* @__PURE__ */ jsx(ResponsiveTable, {}),
939
+ className,
940
+ currentBreakPoint,
941
+ customLabels,
942
+ columns,
943
+ filters,
944
+ rows,
945
+ label,
946
+ isMultiple,
947
+ name,
948
+ onChangeSelection,
949
+ onFilterBlur,
950
+ onFilterChange,
951
+ onFilterPressEnter,
952
+ onSelectRows,
953
+ onSortChange,
954
+ reserveColumnsForStates,
955
+ variant
956
+ }) => {
957
+ const actualName = React.useMemo(
958
+ () => name != null ? name : uniqueId("responsiveTable"),
959
+ [name]
960
+ );
961
+ const labels = React.useMemo(
962
+ () => __spreadValues$k(__spreadValues$k({}, defaultLabels), customLabels),
963
+ [customLabels]
964
+ );
965
+ const contextValue = React.useMemo(
966
+ () => ({
967
+ currentBreakPoint,
968
+ label,
969
+ labels,
970
+ name: actualName,
971
+ onChangeSelection,
972
+ onFilterBlur,
973
+ onFilterChange,
974
+ onFilterPressEnter,
975
+ onSelectRows,
976
+ onSortChange
977
+ }),
978
+ [
979
+ actualName,
980
+ currentBreakPoint,
981
+ label,
982
+ labels,
983
+ onChangeSelection,
984
+ onFilterBlur,
985
+ onFilterChange,
986
+ onFilterPressEnter,
987
+ onSelectRows,
988
+ onSortChange
989
+ ]
990
+ );
991
+ useMount(() => {
992
+ responsiveTableStore.dispatch(
993
+ responsiveTableActions.update({
994
+ allowEdition,
995
+ allowRowsKeyboardSorting,
996
+ allowSelection,
997
+ allowSorting,
998
+ columns,
999
+ filters: filters != null ? filters : [],
1000
+ rows,
1001
+ isMultiple,
1002
+ tableName: actualName,
1003
+ reserveColumnsForStates
1004
+ })
1005
+ );
1006
+ });
1007
+ useUpdateEffect$1(() => {
1008
+ responsiveTableStore.dispatch(
1009
+ responsiveTableActions.update({
1010
+ tableName: actualName,
1011
+ columns
1012
+ })
1013
+ );
1014
+ }, [columns]);
1015
+ useUpdateEffect$1(() => {
1016
+ responsiveTableStore.dispatch(
1017
+ responsiveTableActions.update({
1018
+ tableName: actualName,
1019
+ rows
1020
+ })
1021
+ );
1022
+ if (avoidReparseSelectionOnRowChange !== true) {
1023
+ const selected = rows.map((current, i) => __spreadProps$g(__spreadValues$k({}, current), { i })).filter((current) => current.initiallySelected);
1024
+ responsiveTableStore.dispatch(
1025
+ responsiveTableActions.update({
1026
+ tableName: actualName,
1027
+ selectedRows: selected.map((current) => current.i)
1028
+ })
1029
+ );
1030
+ }
1031
+ }, [rows]);
1032
+ useUpdateEffect$1(() => {
1033
+ responsiveTableStore.dispatch(
1034
+ responsiveTableActions.update({
1035
+ tableName: actualName,
1036
+ filters
1037
+ })
1038
+ );
1039
+ }, [filters]);
1040
+ useUnmount(() => {
1041
+ });
1042
+ return /* @__PURE__ */ jsx(ResponsiveTableReactContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
1043
+ Box,
1044
+ __spreadProps$g(__spreadValues$k({
1045
+ id: name,
1046
+ className: `responsiveTableContext__wrapper ${className != null ? className : ""}`
1047
+ }, variant ? getVariant(variant) : null), {
1048
+ children
1049
+ })
1050
+ ) });
1051
+ };
1052
+ const ResponsiveTableContext = React.memo(NoMemoResponsiveTableContext);
1053
+
1054
+ var __defProp$j = Object.defineProperty;
1055
+ var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
1056
+ var __hasOwnProp$j = Object.prototype.hasOwnProperty;
1057
+ var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
1058
+ var __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1059
+ var __spreadValues$j = (a, b) => {
1060
+ for (var prop in b || (b = {}))
1061
+ if (__hasOwnProp$j.call(b, prop))
1062
+ __defNormalProp$j(a, prop, b[prop]);
1063
+ if (__getOwnPropSymbols$j)
1064
+ for (var prop of __getOwnPropSymbols$j(b)) {
1065
+ if (__propIsEnum$j.call(b, prop))
1066
+ __defNormalProp$j(a, prop, b[prop]);
1067
+ }
1068
+ return a;
1069
+ };
1070
+ const NoMemoKeyHandler = (props) => {
1071
+ const { name, onChangeSelection, onSelectRows } = useResponsiveTableContext();
1072
+ const Handler = React.useMemo(
1073
+ () => makeKeyHandler(responsiveTableActions, name, {
1074
+ throttleOptions: { wait: 50 },
1075
+ stateSelector: (global) => global.responsiveTableSlice[name]
1076
+ }),
1077
+ [name]
1078
+ );
1079
+ return /* @__PURE__ */ jsx(
1080
+ Handler,
1081
+ __spreadValues$j({
1082
+ onChangeSelection,
1083
+ onSelectRows
1084
+ }, props)
1085
+ );
1086
+ };
1087
+ const KeyHandler = React.memo(NoMemoKeyHandler);
1088
+
1089
+ function useDomProps(element, elementProps, stateSelector) {
1090
+ const state = useResponsiveTable((globalState) => {
1091
+ var _a, _b, _c, _d, _e, _f, _g;
1092
+ const tableState = stateSelector(globalState);
1093
+ const hasNonAdditionalFilters = tableState == null ? void 0 : tableState.hasNonAdditionalFilters;
1094
+ const startDataRowIndex = hasNonAdditionalFilters ? 2 : 1;
1095
+ const statesColumns = (_a = tableState == null ? void 0 : tableState.statesColumns) != null ? _a : 0;
1096
+ let expandedBeforeThisRow = 0;
1097
+ if (element === "tr")
1098
+ expandedBeforeThisRow = tableState == null ? void 0 : tableState.expandedRows.filter(
1099
+ (current) => current < elementProps.rowIndex
1100
+ ).length;
1101
+ let isFocused = false;
1102
+ let isSelected = false;
1103
+ switch (element) {
1104
+ case "filterTd": {
1105
+ const castedProps = elementProps;
1106
+ isFocused = (tableState == null ? void 0 : tableState.focusedRow) === 1 - startDataRowIndex && addBoundary((_b = tableState == null ? void 0 : tableState.focusedColumn) != null ? _b : 0, 0) - statesColumns === castedProps.columnIndex + 1 + (hasNonAdditionalFilters ? 1 : 0);
1107
+ break;
1108
+ }
1109
+ case "tr": {
1110
+ const castedProps = elementProps;
1111
+ isFocused = !tableState ? false : tableState.focusedRow === castedProps.rowIndex && (tableState == null ? void 0 : tableState.focusedColumn) === 0 || Math.floor(tableState == null ? void 0 : tableState.focusedRow) === castedProps.rowIndex && Math.round(tableState == null ? void 0 : tableState.focusedRow) - tableState.focusedRow !== 0 && !!castedProps.isTheExpandedRow;
1112
+ isSelected = !castedProps.isTheExpandedRow && (tableState == null ? void 0 : tableState.selectedRows.includes(castedProps.rowIndex));
1113
+ break;
1114
+ }
1115
+ case "stateCell": {
1116
+ const castedProps = elementProps;
1117
+ isFocused = (tableState == null ? void 0 : tableState.focusedRow) === castedProps.rowIndex && ((_c = tableState == null ? void 0 : tableState.focusedColumn) != null ? _c : 0) === castedProps.columnIndex + 1 + (hasNonAdditionalFilters ? 1 : 0);
1118
+ break;
1119
+ }
1120
+ case "additionalTd": {
1121
+ const castedProps = elementProps;
1122
+ isFocused = (tableState == null ? void 0 : tableState.focusedRow) === castedProps.rowIndex && ((_d = tableState == null ? void 0 : tableState.focusedColumn) != null ? _d : 0) === 1;
1123
+ break;
1124
+ }
1125
+ case "td": {
1126
+ const castedProps = elementProps;
1127
+ isFocused = (tableState == null ? void 0 : tableState.focusedRow) === castedProps.rowIndex && ((_e = tableState == null ? void 0 : tableState.focusedColumn) != null ? _e : 0) - statesColumns === castedProps.columnIndex + 1 + (hasNonAdditionalFilters ? 1 : 0);
1128
+ break;
1129
+ }
1130
+ case "headerStateCell": {
1131
+ const castedProps = elementProps;
1132
+ isFocused = (tableState == null ? void 0 : tableState.focusedRow) === castedProps.rowIndex - 1 - startDataRowIndex && addBoundary(tableState == null ? void 0 : tableState.focusedColumn, 0) === castedProps.columnIndex + 1 + (hasNonAdditionalFilters ? 1 : 0);
1133
+ break;
1134
+ }
1135
+ case "th": {
1136
+ const castedProps = elementProps;
1137
+ isFocused = (tableState == null ? void 0 : tableState.focusedRow) === 0 - startDataRowIndex && addBoundary(((_f = tableState == null ? void 0 : tableState.focusedColumn) != null ? _f : 0) - statesColumns, 0) === castedProps.columnIndex + 1 + (hasNonAdditionalFilters ? 1 : 0);
1138
+ break;
1139
+ }
1140
+ case "separator": {
1141
+ const castedProps = elementProps;
1142
+ isFocused = !tableState ? false : tableState.focusedRow === castedProps.rowIndex;
1143
+ break;
1144
+ }
1145
+ }
1146
+ return {
1147
+ columns: (_g = tableState == null ? void 0 : tableState.columns) != null ? _g : [],
1148
+ expandedBeforeThisRow,
1149
+ isEditionMode: tableState == null ? void 0 : tableState.isEditionMode,
1150
+ hasNonAdditionalFilters,
1151
+ rowsLength: element === "table" ? tableState == null ? void 0 : tableState.rows.length : "",
1152
+ isSelected,
1153
+ isFocused,
1154
+ startDataRowIndex,
1155
+ statesColumns: tableState == null ? void 0 : tableState.statesColumns
1156
+ };
1157
+ }, shallowEqual);
1158
+ let returnObject = React.useMemo(() => ({}), []);
1159
+ switch (element) {
1160
+ case "filterTd": {
1161
+ const castedProps = elementProps;
1162
+ returnObject = {
1163
+ "aria-colindex": castedProps.columnIndex + 1 + state.statesColumns + (state.hasNonAdditionalFilters ? 1 : 0),
1164
+ "data-editionmode": state.isEditionMode && state.isFocused,
1165
+ "data-focused": state.isFocused,
1166
+ tabIndex: state.isFocused ? 0 : -1,
1167
+ "data-rowindex": 2
1168
+ };
1169
+ break;
1170
+ }
1171
+ case "separator": {
1172
+ const castedProps = elementProps;
1173
+ returnObject = {
1174
+ "aria-rowindex": castedProps.rowIndex + state.startDataRowIndex + 1 + state.expandedBeforeThisRow,
1175
+ "data-focusindex": castedProps.rowIndex + state.startDataRowIndex + 1,
1176
+ "aria-selected": state.isSelected,
1177
+ "data-focused": state.isFocused,
1178
+ "aria-expanded": false
1179
+ };
1180
+ break;
1181
+ }
1182
+ case "table": {
1183
+ returnObject = {
1184
+ role: "treegrid",
1185
+ "aria-colcount": state.columns.length,
1186
+ "aria-rowcount": state.rowsLength
1187
+ };
1188
+ break;
1189
+ }
1190
+ case "tr": {
1191
+ const castedProps = elementProps;
1192
+ returnObject = {
1193
+ "aria-rowindex": castedProps.rowIndex + state.startDataRowIndex + 1 + state.expandedBeforeThisRow + (castedProps.isTheExpandedRow ? 1 : 0),
1194
+ "data-focusindex": castedProps.rowIndex + state.startDataRowIndex + 1 + (castedProps.isTheExpandedRow ? 0.5 : 0),
1195
+ "aria-selected": state.isSelected,
1196
+ "data-focused": state.isFocused,
1197
+ "aria-expanded": castedProps.isThisRowExpanded,
1198
+ tabIndex: state.isFocused ? 0 : -1
1199
+ };
1200
+ break;
1201
+ }
1202
+ case "td": {
1203
+ const castedProps = elementProps;
1204
+ returnObject = {
1205
+ "aria-colindex": castedProps.columnIndex + 1 + state.statesColumns + (state.hasNonAdditionalFilters ? 1 : 0),
1206
+ "data-editionmode": state.isEditionMode && state.isFocused,
1207
+ "data-focused": state.isFocused,
1208
+ tabIndex: state.isFocused ? 0 : -1,
1209
+ "data-rowindex": castedProps.rowIndex + state.startDataRowIndex + 1
1210
+ };
1211
+ break;
1212
+ }
1213
+ case "additionalTd": {
1214
+ const castedProps = elementProps;
1215
+ returnObject = {
1216
+ "aria-colindex": 1,
1217
+ "data-editionmode": state.isEditionMode && state.isFocused,
1218
+ "data-focused": state.isFocused,
1219
+ tabIndex: state.isFocused ? 0 : -1,
1220
+ "data-rowindex": castedProps.rowIndex + state.startDataRowIndex + 1
1221
+ };
1222
+ break;
1223
+ }
1224
+ case "stateCell": {
1225
+ const castedProps = elementProps;
1226
+ returnObject = {
1227
+ "aria-colindex": castedProps.columnIndex + 1 + (state.hasNonAdditionalFilters ? 1 : 0),
1228
+ "data-editionmode": state.isEditionMode && state.isFocused,
1229
+ "data-focused": state.isFocused,
1230
+ tabIndex: state.isFocused ? 0 : -1,
1231
+ "data-rowindex": castedProps.rowIndex + state.startDataRowIndex + 1
1232
+ };
1233
+ break;
1234
+ }
1235
+ case "headerStateCell": {
1236
+ const castedProps = elementProps;
1237
+ returnObject = {
1238
+ "aria-colindex": castedProps.columnIndex + 1 + (state.hasNonAdditionalFilters ? 1 : 0),
1239
+ "aria-sort": "none",
1240
+ "data-editionmode": state.isEditionMode && state.isFocused,
1241
+ "data-focused": state.isFocused,
1242
+ tabIndex: state.isFocused ? 0 : -1,
1243
+ "data-rowindex": castedProps.rowIndex
1244
+ };
1245
+ break;
1246
+ }
1247
+ case "th": {
1248
+ const castedProps = elementProps;
1249
+ returnObject = {
1250
+ "aria-colindex": castedProps.columnIndex + 1 + state.statesColumns + (state.hasNonAdditionalFilters ? 1 : 0),
1251
+ "aria-sort": ["ascending", "descending", "none"][["Asc", "Desc", null].findIndex(
1252
+ (current) => current === state.columns[castedProps.columnIndex].currentSorting
1253
+ )],
1254
+ "data-editionmode": state.isEditionMode && state.isFocused,
1255
+ "data-focused": state.isFocused,
1256
+ tabIndex: state.isFocused ? 0 : -1,
1257
+ "data-rowindex": 1
1258
+ };
1259
+ break;
1260
+ }
1261
+ }
1262
+ return React.useMemo(() => returnObject, Object.values(returnObject));
1263
+ }
1264
+
1265
+ var __defProp$i = Object.defineProperty;
1266
+ var __defProps$f = Object.defineProperties;
1267
+ var __getOwnPropDescs$f = Object.getOwnPropertyDescriptors;
1268
+ var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
1269
+ var __hasOwnProp$i = Object.prototype.hasOwnProperty;
1270
+ var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
1271
+ var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1272
+ var __spreadValues$i = (a, b) => {
1273
+ for (var prop in b || (b = {}))
1274
+ if (__hasOwnProp$i.call(b, prop))
1275
+ __defNormalProp$i(a, prop, b[prop]);
1276
+ if (__getOwnPropSymbols$i)
1277
+ for (var prop of __getOwnPropSymbols$i(b)) {
1278
+ if (__propIsEnum$i.call(b, prop))
1279
+ __defNormalProp$i(a, prop, b[prop]);
1280
+ }
1281
+ return a;
1282
+ };
1283
+ var __spreadProps$f = (a, b) => __defProps$f(a, __getOwnPropDescs$f(b));
1284
+ const widthStorageName = "tablesWidths";
1285
+ function getColumnWidth(width) {
1286
+ if (typeof width === "string") {
1287
+ if (width.match(/(%|px|vw|vh|vmin|vmax|cm|mm|in|pt|pc)/))
1288
+ return width;
1289
+ if (width === "")
1290
+ return "auto";
1291
+ const numberValue = Number.parseInt(width, 10);
1292
+ if (isNaN(numberValue))
1293
+ return "auto";
1294
+ return numberValue;
1295
+ }
1296
+ if (typeof width === "number")
1297
+ return width;
1298
+ return width;
1299
+ }
1300
+ debugDispatcher.on(
1301
+ "cleanTableSizes",
1302
+ ([tableName]) => {
1303
+ const currentWidths = persistentStorage[widthStorageName];
1304
+ delete currentWidths[tableName];
1305
+ persistentStorage[widthStorageName] = currentWidths;
1306
+ },
1307
+ 'Se usa para borrar el estado de una tabla. Uso: dd.cleanTableSizes("TableName")'
1308
+ );
1309
+ function makeColumnName(tableName, columnName) {
1310
+ return `${tableName}${columnName}`;
1311
+ }
1312
+ const thWidthEmitter = new class ThWidthEmitter extends EventEmitter {
1313
+ }();
1314
+ const NoMemoHeaderCell = ({
1315
+ apiaColumnIndex,
1316
+ columnIndex,
1317
+ inTableColumnIndex
1318
+ }) => {
1319
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1320
+ const { name, onSortChange } = useResponsiveTableContext();
1321
+ const uniqueId = (_d = (_c = (_a = window.location.href.match(/busEntId=(\d+)/)) == null ? void 0 : _a[1]) != null ? _c : (_b = window.location.href.match(/query=(\d+)/)) == null ? void 0 : _b[1]) != null ? _d : "";
1322
+ const isGlobal = window.isGlobal ? "isGlobal" : "notGlobal";
1323
+ const actualName = name + uniqueId + String(isGlobal);
1324
+ const column = useResponsiveTable((global) => {
1325
+ const tableState = global.responsiveTableSlice[name];
1326
+ return tableState == null ? void 0 : tableState.columns[columnIndex];
1327
+ }, shallowEqual);
1328
+ const storedWidth = (_f = (_e = persistentStorage[widthStorageName]) == null ? void 0 : _e[actualName]) == null ? void 0 : _f[column.name];
1329
+ const [width, setWidth] = React.useState(storedWidth != null ? storedWidth : 200);
1330
+ const [isResize, setIsResize] = React.useState(storedWidth !== void 0);
1331
+ React.useEffect(() => {
1332
+ return void thWidthEmitter.on("resize", (ev) => {
1333
+ if (ev.name === makeColumnName(actualName, column.name)) {
1334
+ setIsResize(true);
1335
+ setWidth(ev.width);
1336
+ }
1337
+ });
1338
+ }, [column.name, actualName]);
1339
+ const isFilterRequired = useResponsiveTable((global) => {
1340
+ const tableState = global.responsiveTableSlice[name];
1341
+ const columnFilter = tableState == null ? void 0 : tableState.filters.find(
1342
+ (current) => current.column === column.title
1343
+ );
1344
+ return columnFilter == null ? void 0 : columnFilter.required;
1345
+ }, shallowEqual);
1346
+ const isSortingAllowed = useResponsiveTable((global) => {
1347
+ const tableState = global.responsiveTableSlice[name];
1348
+ return tableState == null ? void 0 : tableState.allowSorting;
1349
+ });
1350
+ const domProps = useDomProps(
1351
+ "th",
1352
+ {
1353
+ columnIndex: inTableColumnIndex
1354
+ },
1355
+ domPropsSelector(name)
1356
+ );
1357
+ const sx = React.useMemo(
1358
+ () => {
1359
+ var _a2;
1360
+ return !isResize ? {
1361
+ minWidth: getColumnWidth((_a2 = column.minWidth) != null ? _a2 : column.width),
1362
+ maxWidth: column.maxWidth !== void 0 ? getColumnWidth(column.maxWidth) : void 0,
1363
+ width: getColumnWidth(column.width),
1364
+ position: "relative"
1365
+ } : {
1366
+ width: `${width}px`,
1367
+ minWidth: `${width}px`,
1368
+ position: "relative"
1369
+ };
1370
+ },
1371
+ [column.maxWidth, column.minWidth, column.width, isResize, width]
1372
+ );
1373
+ const buttonProps = useOtherTagButton(
1374
+ React.useMemo(
1375
+ () => ({
1376
+ className: "headButton",
1377
+ onClick: (ev) => {
1378
+ if (isChild(
1379
+ ev.target,
1380
+ (current) => current.classList.contains("headButton__resizer")
1381
+ ))
1382
+ return;
1383
+ console.warn("Buttons slice is not defined");
1384
+ if (onSortChange && column.allowSorting !== false && isSortingAllowed !== false)
1385
+ onSortChange({
1386
+ column,
1387
+ columnIndex: apiaColumnIndex,
1388
+ name: column.name,
1389
+ sortValue: ["Asc", "Desc"][column.currentSorting !== "A" ? 0 : 1]
1390
+ });
1391
+ }
1392
+ }),
1393
+ [apiaColumnIndex, column, isSortingAllowed, onSortChange]
1394
+ )
1395
+ );
1396
+ return /* @__PURE__ */ jsx(
1397
+ Box,
1398
+ __spreadProps$f(__spreadValues$i(__spreadValues$i({
1399
+ as: "th",
1400
+ style: sx,
1401
+ "data-columnname": column.name,
1402
+ title: (_h = (_g = column.title) != null ? _g : column.label) != null ? _h : column.name
1403
+ }, buttonProps), domProps), {
1404
+ role: "rowheader",
1405
+ className: `${isFilterRequired && window.SHOW_REQUIRED_POSITION ? "requiredFilterColumn" : ""}`,
1406
+ children: /* @__PURE__ */ jsxs(Box, { as: "span", className: "headButton__container", children: [
1407
+ /* @__PURE__ */ jsx(Box, { as: "span", className: "headButton__label", children: /* @__PURE__ */ jsx(
1408
+ Box,
1409
+ {
1410
+ as: "span",
1411
+ className: `${isFilterRequired ? "requiredFilter__Column" : ""}`,
1412
+ children: column.label
1413
+ }
1414
+ ) }),
1415
+ /* @__PURE__ */ jsxs(Box, { as: "span", className: "headButton__sortIcon", children: [
1416
+ column.allowSorting !== false && column.currentSorting === "A" && /* @__PURE__ */ jsx(FaSortUp, {}),
1417
+ column.allowSorting !== false && column.currentSorting === "D" && /* @__PURE__ */ jsx(FaSortDown, {}),
1418
+ column.allowSorting !== false && !column.currentSorting && /* @__PURE__ */ jsx(FaSort, {})
1419
+ ] }),
1420
+ /* @__PURE__ */ jsx(
1421
+ Box,
1422
+ {
1423
+ className: "headButton__resizer",
1424
+ onMouseDown: (ev) => {
1425
+ if (!isResize) {
1426
+ const trElement = getSpecificParent(
1427
+ ev.target,
1428
+ (current) => current.tagName === "TR"
1429
+ );
1430
+ trElement == null ? void 0 : trElement.querySelectorAll("th").forEach((current) => {
1431
+ thWidthEmitter.emit("resize", {
1432
+ name: makeColumnName(
1433
+ actualName,
1434
+ current.dataset.columnname
1435
+ ),
1436
+ width: current.clientWidth
1437
+ });
1438
+ });
1439
+ setIsResize(true);
1440
+ }
1441
+ const th = getSpecificParent(
1442
+ ev.target,
1443
+ (current) => current.tagName === "TH"
1444
+ );
1445
+ if (!th)
1446
+ throw new Error("There is no th");
1447
+ const initialX = ev.clientX;
1448
+ const initialWidth = th.clientWidth;
1449
+ const resize = (mousemoveEv) => {
1450
+ const dif = mousemoveEv.clientX - initialX;
1451
+ setWidth(initialWidth + dif);
1452
+ };
1453
+ const unsuscribe = () => {
1454
+ const trElement = getSpecificParent(
1455
+ ev.target,
1456
+ (current) => current.tagName === "TR"
1457
+ );
1458
+ trElement == null ? void 0 : trElement.querySelectorAll("th").forEach((current) => {
1459
+ var _a2;
1460
+ persistentStorage[widthStorageName] = __spreadProps$f(__spreadValues$i({}, persistentStorage[widthStorageName]), {
1461
+ [actualName]: __spreadProps$f(__spreadValues$i({}, (_a2 = persistentStorage[widthStorageName]) == null ? void 0 : _a2[actualName]), {
1462
+ [current.dataset.columnname]: current.clientWidth
1463
+ })
1464
+ });
1465
+ });
1466
+ document.removeEventListener("mousemove", resize);
1467
+ document.removeEventListener("mouseup", unsuscribe);
1468
+ };
1469
+ document.addEventListener("mousemove", resize);
1470
+ document.addEventListener("mouseup", unsuscribe);
1471
+ return false;
1472
+ }
1473
+ }
1474
+ )
1475
+ ] })
1476
+ })
1477
+ );
1478
+ };
1479
+ const HeaderCell = React.memo(NoMemoHeaderCell);
1480
+
1481
+ var __defProp$h = Object.defineProperty;
1482
+ var __defProps$e = Object.defineProperties;
1483
+ var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
1484
+ var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
1485
+ var __hasOwnProp$h = Object.prototype.hasOwnProperty;
1486
+ var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
1487
+ var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1488
+ var __spreadValues$h = (a, b) => {
1489
+ for (var prop in b || (b = {}))
1490
+ if (__hasOwnProp$h.call(b, prop))
1491
+ __defNormalProp$h(a, prop, b[prop]);
1492
+ if (__getOwnPropSymbols$h)
1493
+ for (var prop of __getOwnPropSymbols$h(b)) {
1494
+ if (__propIsEnum$h.call(b, prop))
1495
+ __defNormalProp$h(a, prop, b[prop]);
1496
+ }
1497
+ return a;
1498
+ };
1499
+ var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
1500
+ const NoMemoRowStatesRenderer = ({
1501
+ state
1502
+ }) => {
1503
+ var _a;
1504
+ const { Icon } = state;
1505
+ return /* @__PURE__ */ jsx(
1506
+ Button,
1507
+ __spreadProps$e(__spreadValues$h({}, getVariant("inherit")), {
1508
+ title: state.tooltip,
1509
+ className: `${(_a = state.className) != null ? _a : "state"}_icon state_icon`,
1510
+ sx: React.useMemo(
1511
+ () => {
1512
+ var _a2;
1513
+ return {
1514
+ "svg, path": {
1515
+ color: (_a2 = state.color) != null ? _a2 : ""
1516
+ }
1517
+ };
1518
+ },
1519
+ [state.color]
1520
+ ),
1521
+ children: /* @__PURE__ */ jsx(Icon, {})
1522
+ })
1523
+ );
1524
+ };
1525
+ const RowStatesRenderer = React.memo(NoMemoRowStatesRenderer);
1526
+
1527
+ var __defProp$g = Object.defineProperty;
1528
+ var __defProps$d = Object.defineProperties;
1529
+ var __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;
1530
+ var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
1531
+ var __hasOwnProp$g = Object.prototype.hasOwnProperty;
1532
+ var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
1533
+ var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1534
+ var __spreadValues$g = (a, b) => {
1535
+ for (var prop in b || (b = {}))
1536
+ if (__hasOwnProp$g.call(b, prop))
1537
+ __defNormalProp$g(a, prop, b[prop]);
1538
+ if (__getOwnPropSymbols$g)
1539
+ for (var prop of __getOwnPropSymbols$g(b)) {
1540
+ if (__propIsEnum$g.call(b, prop))
1541
+ __defNormalProp$g(a, prop, b[prop]);
1542
+ }
1543
+ return a;
1544
+ };
1545
+ var __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));
1546
+ const StateCell = ({ index, rowIndex, state, isHeader }) => {
1547
+ const { name } = useResponsiveTableContext();
1548
+ const domProps = useDomProps(
1549
+ isHeader ? "headerStateCell" : "stateCell",
1550
+ { columnIndex: index, rowIndex },
1551
+ domPropsSelector(name)
1552
+ );
1553
+ return /* @__PURE__ */ jsx(Box, __spreadProps$d(__spreadValues$g({ as: "td", className: "stateCell" }, domProps), { children: state ? /* @__PURE__ */ jsx(RowStatesRenderer, { state }) : "" }));
1554
+ };
1555
+
1556
+ var __defProp$f = Object.defineProperty;
1557
+ var __defProps$c = Object.defineProperties;
1558
+ var __getOwnPropDescs$c = Object.getOwnPropertyDescriptors;
1559
+ var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
1560
+ var __hasOwnProp$f = Object.prototype.hasOwnProperty;
1561
+ var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
1562
+ var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1563
+ var __spreadValues$f = (a, b) => {
1564
+ for (var prop in b || (b = {}))
1565
+ if (__hasOwnProp$f.call(b, prop))
1566
+ __defNormalProp$f(a, prop, b[prop]);
1567
+ if (__getOwnPropSymbols$f)
1568
+ for (var prop of __getOwnPropSymbols$f(b)) {
1569
+ if (__propIsEnum$f.call(b, prop))
1570
+ __defNormalProp$f(a, prop, b[prop]);
1571
+ }
1572
+ return a;
1573
+ };
1574
+ var __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));
1575
+ const NoMemoRangeFilter = ({ filter }) => {
1576
+ var _a, _b;
1577
+ const { onFilterBlur, onFilterChange, onFilterPressEnter } = useResponsiveTableContext();
1578
+ const filterLow = {
1579
+ id: filter.id,
1580
+ currentValue: filter.currentValue,
1581
+ type: "number"
1582
+ };
1583
+ const filterHigh = {
1584
+ id: (_a = filter.filterToId) != null ? _a : "",
1585
+ currentValue: (_b = filter.filterToValue) != null ? _b : "",
1586
+ type: "number"
1587
+ };
1588
+ return /* @__PURE__ */ jsxs(Box, { className: "ApiaFilter__Range", children: [
1589
+ /* @__PURE__ */ jsx(Box, { className: "ApiaFilter__Range__Low", children: /* @__PURE__ */ jsx(
1590
+ ApiaFilter,
1591
+ {
1592
+ filter: filterLow,
1593
+ onChange: (currentValue) => {
1594
+ if (onFilterChange)
1595
+ void onFilterChange(__spreadProps$c(__spreadValues$f({}, filterLow), { currentValue }));
1596
+ },
1597
+ onBlur: (currentValue) => {
1598
+ if (onFilterBlur)
1599
+ void onFilterBlur(__spreadProps$c(__spreadValues$f({}, filterLow), { currentValue }));
1600
+ },
1601
+ onPressEnter: (currentValue) => {
1602
+ if (onFilterPressEnter)
1603
+ void onFilterPressEnter(__spreadProps$c(__spreadValues$f({}, filterLow), { currentValue }));
1604
+ }
1605
+ }
1606
+ ) }),
1607
+ " - ",
1608
+ /* @__PURE__ */ jsx(Box, { className: "ApiaFilter__Range__High", children: /* @__PURE__ */ jsx(
1609
+ ApiaFilter,
1610
+ {
1611
+ filter: filterHigh,
1612
+ onChange: (currentValue) => {
1613
+ if (onFilterChange)
1614
+ void onFilterChange(__spreadProps$c(__spreadValues$f({}, filterHigh), { currentValue }));
1615
+ },
1616
+ onBlur: (currentValue) => {
1617
+ if (onFilterBlur)
1618
+ void onFilterBlur(__spreadProps$c(__spreadValues$f({}, filterHigh), { currentValue }));
1619
+ },
1620
+ onPressEnter: (currentValue) => {
1621
+ if (onFilterPressEnter)
1622
+ void onFilterPressEnter(__spreadProps$c(__spreadValues$f({}, filterHigh), { currentValue }));
1623
+ }
1624
+ }
1625
+ ) })
1626
+ ] });
1627
+ };
1628
+ const RangeFilter = NoMemoRangeFilter;
1629
+
1630
+ var __defProp$e = Object.defineProperty;
1631
+ var __defProps$b = Object.defineProperties;
1632
+ var __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;
1633
+ var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
1634
+ var __hasOwnProp$e = Object.prototype.hasOwnProperty;
1635
+ var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
1636
+ var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1637
+ var __spreadValues$e = (a, b) => {
1638
+ for (var prop in b || (b = {}))
1639
+ if (__hasOwnProp$e.call(b, prop))
1640
+ __defNormalProp$e(a, prop, b[prop]);
1641
+ if (__getOwnPropSymbols$e)
1642
+ for (var prop of __getOwnPropSymbols$e(b)) {
1643
+ if (__propIsEnum$e.call(b, prop))
1644
+ __defNormalProp$e(a, prop, b[prop]);
1645
+ }
1646
+ return a;
1647
+ };
1648
+ var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
1649
+ const FilterCell = ({ columnIndex, filter }) => {
1650
+ const { name, onFilterBlur, onFilterChange, onFilterPressEnter } = useResponsiveTableContext();
1651
+ const domProps = useDomProps(
1652
+ "filterTd",
1653
+ {
1654
+ columnIndex
1655
+ },
1656
+ domPropsSelector(name)
1657
+ );
1658
+ const handleOnBlur = React.useCallback(
1659
+ (currentValue) => {
1660
+ if (filter && onFilterBlur)
1661
+ onFilterBlur(__spreadProps$b(__spreadValues$e({}, filter), { currentValue }));
1662
+ },
1663
+ [filter, onFilterBlur]
1664
+ );
1665
+ const handleOnChange = React.useCallback(
1666
+ (currentValue) => {
1667
+ if (filter && onFilterChange)
1668
+ return onFilterChange(__spreadProps$b(__spreadValues$e({}, filter), { currentValue }));
1669
+ return true;
1670
+ },
1671
+ [filter, onFilterChange]
1672
+ );
1673
+ const handleOnPressEnter = React.useCallback(
1674
+ (currentValue) => {
1675
+ if (filter && onFilterPressEnter)
1676
+ onFilterPressEnter(__spreadProps$b(__spreadValues$e({}, filter), { currentValue }));
1677
+ },
1678
+ [filter, onFilterPressEnter]
1679
+ );
1680
+ function findFilter() {
1681
+ if (filter == null ? void 0 : filter.isRange) {
1682
+ return /* @__PURE__ */ jsx(RangeFilter, { filter });
1683
+ }
1684
+ if (filter && !(filter.asAdditional || !filter.column || filter.isRange)) {
1685
+ return /* @__PURE__ */ jsx(
1686
+ ApiaFilter,
1687
+ {
1688
+ onBlur: handleOnBlur,
1689
+ onChange: handleOnChange,
1690
+ onPressEnter: handleOnPressEnter,
1691
+ filter
1692
+ }
1693
+ );
1694
+ }
1695
+ let label;
1696
+ if (filter && (filter.asAdditional || !filter.column || filter.isRange)) {
1697
+ label = window.LBL_ADDITIONAL_FILTER;
1698
+ } else {
1699
+ label = window.LBL_NO_COLUMN_FILTER;
1700
+ }
1701
+ return /* @__PURE__ */ jsx(Input, { "aria-label": label, disabled: true });
1702
+ }
1703
+ return /* @__PURE__ */ jsx("td", __spreadProps$b(__spreadValues$e({}, domProps), { children: findFilter() }));
1704
+ };
1705
+
1706
+ var __defProp$d = Object.defineProperty;
1707
+ var __defProps$a = Object.defineProperties;
1708
+ var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
1709
+ var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
1710
+ var __hasOwnProp$d = Object.prototype.hasOwnProperty;
1711
+ var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
1712
+ var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1713
+ var __spreadValues$d = (a, b) => {
1714
+ for (var prop in b || (b = {}))
1715
+ if (__hasOwnProp$d.call(b, prop))
1716
+ __defNormalProp$d(a, prop, b[prop]);
1717
+ if (__getOwnPropSymbols$d)
1718
+ for (var prop of __getOwnPropSymbols$d(b)) {
1719
+ if (__propIsEnum$d.call(b, prop))
1720
+ __defNormalProp$d(a, prop, b[prop]);
1721
+ }
1722
+ return a;
1723
+ };
1724
+ var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
1725
+ const NoMemoHeader = () => {
1726
+ const { name } = useResponsiveTableContext();
1727
+ const { columns, hasNonAdditionalFilters, focusedColumn, focusedRow } = useResponsiveTable((global) => {
1728
+ var _a;
1729
+ const tableState = global.responsiveTableSlice[name];
1730
+ window.focusedRow = tableState == null ? void 0 : tableState.focusedRow;
1731
+ window.focusedColumn = tableState == null ? void 0 : tableState.focusedColumn;
1732
+ window.hasNonAdditionalFilters = (tableState == null ? void 0 : tableState.hasNonAdditionalFilters) || false;
1733
+ return {
1734
+ columns: (_a = tableState == null ? void 0 : tableState.columns) != null ? _a : [],
1735
+ focusedColumn: tableState == null ? void 0 : tableState.focusedColumn,
1736
+ focusedRow: tableState == null ? void 0 : tableState.focusedRow,
1737
+ hasNonAdditionalFilters: tableState == null ? void 0 : tableState.hasNonAdditionalFilters
1738
+ };
1739
+ }, shallowEqual$1);
1740
+ const filters = useResponsiveTable(
1741
+ (global) => {
1742
+ var _a;
1743
+ const tableState = global.responsiveTableSlice[name];
1744
+ const returnObject = ((_a = tableState == null ? void 0 : tableState.filters) != null ? _a : []).map((current) => ({
1745
+ columnIndex: tableState.columns.findIndex(
1746
+ (search) => search.name === current.column
1747
+ ),
1748
+ definition: current
1749
+ })).filter((current) => current.columnIndex >= 0);
1750
+ return returnObject;
1751
+ },
1752
+ (a, b) => {
1753
+ return a.length === b.length && a.reduce((result, current, index) => {
1754
+ return result && shallowEqual$1(current.definition, b[index].definition);
1755
+ }, true);
1756
+ }
1757
+ );
1758
+ const statesCount = useResponsiveTable((globalState) => {
1759
+ var _a;
1760
+ const state = globalState.responsiveTableSlice[name];
1761
+ return (_a = state == null ? void 0 : state.statesColumns) != null ? _a : 0;
1762
+ }, shallowEqual$1);
1763
+ const additionalColumns = React.useMemo(
1764
+ () => columns.reduce(
1765
+ (count, column) => count + (column.showAsAdditional ? 1 : 0),
1766
+ 0
1767
+ ),
1768
+ [columns]
1769
+ );
1770
+ const statesIds = React.useMemo(() => {
1771
+ return Array(statesCount).fill("").map(() => uniqueId());
1772
+ }, [statesCount]);
1773
+ const [isFiltersRowVisible, setIsFiltersRowVisible] = React.useState(
1774
+ /* (persistentStorage.showResponsiveTableFilters as boolean) ?? */
1775
+ false
1776
+ );
1777
+ React.useEffect(() => {
1778
+ persistentStorage.showResponsiveTableFilters = isFiltersRowVisible;
1779
+ }, [isFiltersRowVisible]);
1780
+ const buttonProps = useOtherTagButton(
1781
+ React.useMemo(
1782
+ () => ({
1783
+ className: "additionalColumn",
1784
+ onClick: () => setIsFiltersRowVisible((current) => !current)
1785
+ }),
1786
+ []
1787
+ )
1788
+ );
1789
+ const [ref, setRef] = useState(null);
1790
+ useUpdateEffect$1(() => {
1791
+ const handleFocus = (ev) => {
1792
+ ev.stopPropagation();
1793
+ setIsFiltersRowVisible(true);
1794
+ };
1795
+ ref == null ? void 0 : ref.addEventListener(customEvents.focus, handleFocus);
1796
+ return () => {
1797
+ ref == null ? void 0 : ref.removeEventListener(customEvents.focus, handleFocus);
1798
+ };
1799
+ }, [ref]);
1800
+ return /* @__PURE__ */ jsxs("thead", { children: [
1801
+ /* @__PURE__ */ jsxs("tr", { "data-focusindex": 1, children: [
1802
+ (additionalColumns > 0 || hasNonAdditionalFilters) && /* @__PURE__ */ jsx(
1803
+ "th",
1804
+ __spreadProps$a(__spreadValues$d({
1805
+ "aria-colindex": 1,
1806
+ "aria-rowindex": 1,
1807
+ "data-focused": focusedColumn === 1 && focusedRow === -1 - (hasNonAdditionalFilters ? 1 : 0)
1808
+ }, buttonProps), {
1809
+ tabIndex: focusedColumn === 1 && focusedRow === -1 - (hasNonAdditionalFilters ? 1 : 0) ? 0 : -1,
1810
+ role: "rowheader",
1811
+ children: hasNonAdditionalFilters ? /* @__PURE__ */ jsx(
1812
+ Icon,
1813
+ {
1814
+ className: "filterButton",
1815
+ name: "Filter",
1816
+ title: isFiltersRowVisible ? window.LBL_HIDE_FILTERS : window.LBL_SHOW_FILTERS,
1817
+ "aria-label": isFiltersRowVisible ? window.LBL_HIDE_FILTERS : window.LBL_SHOW_FILTERS
1818
+ }
1819
+ ) : /* @__PURE__ */ jsx(Fragment, { children: "\xA0" })
1820
+ })
1821
+ ),
1822
+ statesIds.map((id, i) => /* @__PURE__ */ jsx(StateCell, { isHeader: true, index: i, rowIndex: 1 }, id)),
1823
+ columns.map((current, actualColumnIndex) => __spreadProps$a(__spreadValues$d({}, current), {
1824
+ actualTableColumnIndex: actualColumnIndex
1825
+ })).filter((current) => !current.showAsAdditional).map((current, columnIndex) => {
1826
+ if (current.hidden)
1827
+ return null;
1828
+ return /* @__PURE__ */ jsx(
1829
+ HeaderCell,
1830
+ {
1831
+ apiaColumnIndex: current.actualTableColumnIndex,
1832
+ columnIndex: current.actualTableColumnIndex,
1833
+ inTableColumnIndex: columnIndex
1834
+ },
1835
+ current.name
1836
+ );
1837
+ })
1838
+ ] }),
1839
+ filters.length > 0 && /* @__PURE__ */ jsxs(
1840
+ "tr",
1841
+ {
1842
+ ref: setRef,
1843
+ "data-focusindex": 2,
1844
+ className: `responsiveTable__filters__row ${isFiltersRowVisible ? "" : "hidden"}`,
1845
+ children: [
1846
+ (additionalColumns > 0 || hasNonAdditionalFilters) && /* @__PURE__ */ jsx(
1847
+ "td",
1848
+ {
1849
+ className: "noFilter",
1850
+ "aria-colindex": 1,
1851
+ "aria-rowindex": 2,
1852
+ tabIndex: focusedColumn === 1 && focusedRow === -1 ? 0 : -1,
1853
+ "data-focused": focusedColumn === 1 && focusedRow === -1,
1854
+ children: "\xA0"
1855
+ }
1856
+ ),
1857
+ statesIds.map((id, i) => /* @__PURE__ */ jsx(StateCell, { isHeader: true, index: i, rowIndex: 2 }, id)),
1858
+ columns.filter((current) => !current.showAsAdditional).map((current, columnIndex) => {
1859
+ const filter = filters.find(
1860
+ (search) => search.definition.column === current.name
1861
+ );
1862
+ return current.showAsAdditional ? null : /* @__PURE__ */ jsx(
1863
+ FilterCell,
1864
+ {
1865
+ columnIndex,
1866
+ filter: filter == null ? void 0 : filter.definition
1867
+ },
1868
+ current.name
1869
+ );
1870
+ })
1871
+ ]
1872
+ }
1873
+ )
1874
+ ] });
1875
+ };
1876
+ const Header = React.memo(NoMemoHeader);
1877
+
1878
+ const NoMemoAdditionalColumnDefaultRenderer = ({
1879
+ column,
1880
+ cell
1881
+ }) => {
1882
+ var _a;
1883
+ return /* @__PURE__ */ jsxs(
1884
+ Box,
1885
+ {
1886
+ className: `${(_a = cell.className) != null ? _a : ""} responsiveTable__additionalInfoItem`,
1887
+ id: cell.id,
1888
+ title: cell.title,
1889
+ children: [
1890
+ /* @__PURE__ */ jsxs(Box, { as: "strong", children: [
1891
+ column.name,
1892
+ ":"
1893
+ ] }),
1894
+ " ",
1895
+ cell.children
1896
+ ]
1897
+ }
1898
+ );
1899
+ };
1900
+ const AdditionalColumnDefaultRenderer = React.memo(
1901
+ NoMemoAdditionalColumnDefaultRenderer
1902
+ );
1903
+
1904
+ var __defProp$c = Object.defineProperty;
1905
+ var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
1906
+ var __hasOwnProp$c = Object.prototype.hasOwnProperty;
1907
+ var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
1908
+ var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1909
+ var __spreadValues$c = (a, b) => {
1910
+ for (var prop in b || (b = {}))
1911
+ if (__hasOwnProp$c.call(b, prop))
1912
+ __defNormalProp$c(a, prop, b[prop]);
1913
+ if (__getOwnPropSymbols$c)
1914
+ for (var prop of __getOwnPropSymbols$c(b)) {
1915
+ if (__propIsEnum$c.call(b, prop))
1916
+ __defNormalProp$c(a, prop, b[prop]);
1917
+ }
1918
+ return a;
1919
+ };
1920
+ const SeparatorCell = ({
1921
+ colSpan,
1922
+ rowIndex
1923
+ }) => {
1924
+ const { name } = useResponsiveTableContext();
1925
+ const domProps = useDomProps(
1926
+ "separator",
1927
+ { rowIndex },
1928
+ domPropsSelector(name)
1929
+ );
1930
+ return /* @__PURE__ */ jsx("td", __spreadValues$c({ className: "row__separator__cell", colSpan }, domProps));
1931
+ };
1932
+
1933
+ var __defProp$b = Object.defineProperty;
1934
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
1935
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
1936
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
1937
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1938
+ var __spreadValues$b = (a, b) => {
1939
+ for (var prop in b || (b = {}))
1940
+ if (__hasOwnProp$b.call(b, prop))
1941
+ __defNormalProp$b(a, prop, b[prop]);
1942
+ if (__getOwnPropSymbols$b)
1943
+ for (var prop of __getOwnPropSymbols$b(b)) {
1944
+ if (__propIsEnum$b.call(b, prop))
1945
+ __defNormalProp$b(a, prop, b[prop]);
1946
+ }
1947
+ return a;
1948
+ };
1949
+ var __objRest$9 = (source, exclude) => {
1950
+ var target = {};
1951
+ for (var prop in source)
1952
+ if (__hasOwnProp$b.call(source, prop) && exclude.indexOf(prop) < 0)
1953
+ target[prop] = source[prop];
1954
+ if (source != null && __getOwnPropSymbols$b)
1955
+ for (var prop of __getOwnPropSymbols$b(source)) {
1956
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$b.call(source, prop))
1957
+ target[prop] = source[prop];
1958
+ }
1959
+ return target;
1960
+ };
1961
+ const NoMemoDefaultRowRenderer = React.forwardRef((_a, currentRef) => {
1962
+ var _b = _a, { row, rowIndex } = _b, props = __objRest$9(_b, ["row", "rowIndex"]);
1963
+ return /* @__PURE__ */ jsx(
1964
+ Box,
1965
+ __spreadValues$b({
1966
+ as: "tr",
1967
+ sx: useMemo(
1968
+ () => ({
1969
+ "&.colored, & > *": {
1970
+ color: row.color,
1971
+ background: row.background
1972
+ }
1973
+ }),
1974
+ [row.background, row.color]
1975
+ ),
1976
+ ref: currentRef
1977
+ }, props)
1978
+ );
1979
+ });
1980
+ NoMemoDefaultRowRenderer.displayName = "DefaultRowRenderer";
1981
+ const DefaultRowRenderer = NoMemoDefaultRowRenderer;
1982
+
1983
+ var __defProp$a = Object.defineProperty;
1984
+ var __defProps$9 = Object.defineProperties;
1985
+ var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
1986
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
1987
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
1988
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
1989
+ var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1990
+ var __spreadValues$a = (a, b) => {
1991
+ for (var prop in b || (b = {}))
1992
+ if (__hasOwnProp$a.call(b, prop))
1993
+ __defNormalProp$a(a, prop, b[prop]);
1994
+ if (__getOwnPropSymbols$a)
1995
+ for (var prop of __getOwnPropSymbols$a(b)) {
1996
+ if (__propIsEnum$a.call(b, prop))
1997
+ __defNormalProp$a(a, prop, b[prop]);
1998
+ }
1999
+ return a;
2000
+ };
2001
+ var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
2002
+ var __objRest$8 = (source, exclude) => {
2003
+ var target = {};
2004
+ for (var prop in source)
2005
+ if (__hasOwnProp$a.call(source, prop) && exclude.indexOf(prop) < 0)
2006
+ target[prop] = source[prop];
2007
+ if (source != null && __getOwnPropSymbols$a)
2008
+ for (var prop of __getOwnPropSymbols$a(source)) {
2009
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$a.call(source, prop))
2010
+ target[prop] = source[prop];
2011
+ }
2012
+ return target;
2013
+ };
2014
+ const NoMemoDefaultCellRenderer = React.forwardRef(
2015
+ (_a, currentRef) => {
2016
+ var _b = _a, {
2017
+ cell: _c
2018
+ } = _b, _d = _c, { Renderer, rendererProps, AccordionRenderer, ariaLabel } = _d, cell = __objRest$8(_d, ["Renderer", "rendererProps", "AccordionRenderer", "ariaLabel"]), _e = _b, props = __objRest$8(_e, [
2019
+ "cell",
2020
+ "column",
2021
+ "row"
2022
+ ]);
2023
+ var _a2;
2024
+ return /* @__PURE__ */ jsx(
2025
+ Box,
2026
+ __spreadProps$9(__spreadValues$a(__spreadValues$a({
2027
+ as: "td",
2028
+ sx: useMemo(
2029
+ () => ({
2030
+ "&.colored": {
2031
+ background: cell.background,
2032
+ color: cell.color
2033
+ }
2034
+ }),
2035
+ [cell.background, cell.color]
2036
+ ),
2037
+ ref: currentRef
2038
+ }, props), cell), {
2039
+ "aria-label": ariaLabel,
2040
+ children: (_a2 = props.children) != null ? _a2 : cell.children
2041
+ })
2042
+ );
2043
+ }
2044
+ );
2045
+ NoMemoDefaultCellRenderer.displayName = "DefaultCellRenderer";
2046
+ const DefaultCellRenderer = NoMemoDefaultCellRenderer;
2047
+
2048
+ var __defProp$9 = Object.defineProperty;
2049
+ var __defProps$8 = Object.defineProperties;
2050
+ var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
2051
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
2052
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
2053
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
2054
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2055
+ var __spreadValues$9 = (a, b) => {
2056
+ for (var prop in b || (b = {}))
2057
+ if (__hasOwnProp$9.call(b, prop))
2058
+ __defNormalProp$9(a, prop, b[prop]);
2059
+ if (__getOwnPropSymbols$9)
2060
+ for (var prop of __getOwnPropSymbols$9(b)) {
2061
+ if (__propIsEnum$9.call(b, prop))
2062
+ __defNormalProp$9(a, prop, b[prop]);
2063
+ }
2064
+ return a;
2065
+ };
2066
+ var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
2067
+ const NoMemoCell = ({
2068
+ columnIndex,
2069
+ inTableColumnIndex,
2070
+ rowIndex
2071
+ }) => {
2072
+ const { name } = useResponsiveTableContext();
2073
+ const domProps = useDomProps(
2074
+ "td",
2075
+ { columnIndex: inTableColumnIndex, rowIndex },
2076
+ domPropsSelector(name)
2077
+ );
2078
+ const cell = useResponsiveTable((global) => {
2079
+ var _a;
2080
+ const tableState = global.responsiveTableSlice[name];
2081
+ return (_a = tableState == null ? void 0 : tableState.rows[rowIndex]) == null ? void 0 : _a.cells[columnIndex];
2082
+ }, shallowEqual);
2083
+ const column = useResponsiveTable((global) => {
2084
+ const tableState = global.responsiveTableSlice[name];
2085
+ return tableState == null ? void 0 : tableState.columns[columnIndex];
2086
+ }, shallowEqual);
2087
+ const row = useResponsiveTable((global) => {
2088
+ const tableState = global.responsiveTableSlice[name];
2089
+ return tableState == null ? void 0 : tableState.rows[rowIndex];
2090
+ }, shallowEqual);
2091
+ const Renderer = React.useMemo(
2092
+ () => {
2093
+ var _a, _b;
2094
+ return (_b = (_a = cell == null ? void 0 : cell.Renderer) != null ? _a : column.Renderer) != null ? _b : DefaultCellRenderer;
2095
+ },
2096
+ [cell == null ? void 0 : cell.Renderer, column.Renderer]
2097
+ );
2098
+ if (!Renderer || !cell)
2099
+ return row.separator ? /* @__PURE__ */ jsx("div", { className: "separator" }) : null;
2100
+ return /* @__PURE__ */ jsx(
2101
+ Renderer,
2102
+ __spreadProps$8(__spreadValues$9({}, domProps), {
2103
+ cell,
2104
+ column,
2105
+ row
2106
+ })
2107
+ );
2108
+ };
2109
+ const Cell = React.memo(NoMemoCell);
2110
+
2111
+ var __defProp$8 = Object.defineProperty;
2112
+ var __defProps$7 = Object.defineProperties;
2113
+ var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
2114
+ var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
2115
+ var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
2116
+ var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
2117
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2118
+ var __spreadValues$8 = (a, b) => {
2119
+ for (var prop in b || (b = {}))
2120
+ if (__hasOwnProp$8.call(b, prop))
2121
+ __defNormalProp$8(a, prop, b[prop]);
2122
+ if (__getOwnPropSymbols$8)
2123
+ for (var prop of __getOwnPropSymbols$8(b)) {
2124
+ if (__propIsEnum$8.call(b, prop))
2125
+ __defNormalProp$8(a, prop, b[prop]);
2126
+ }
2127
+ return a;
2128
+ };
2129
+ var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
2130
+ var __objRest$7 = (source, exclude) => {
2131
+ var target = {};
2132
+ for (var prop in source)
2133
+ if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)
2134
+ target[prop] = source[prop];
2135
+ if (source != null && __getOwnPropSymbols$8)
2136
+ for (var prop of __getOwnPropSymbols$8(source)) {
2137
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$8.call(source, prop))
2138
+ target[prop] = source[prop];
2139
+ }
2140
+ return target;
2141
+ };
2142
+ const NoMemoRow = ({ rowIndex }) => {
2143
+ var _b;
2144
+ const { name } = useResponsiveTableContext();
2145
+ const { columns, hasNonAdditionalFilters } = useResponsiveTable((global) => {
2146
+ var _a2;
2147
+ const tableState = global.responsiveTableSlice[name];
2148
+ return {
2149
+ columns: (_a2 = tableState == null ? void 0 : tableState.columns) != null ? _a2 : [],
2150
+ hasNonAdditionalFilters: tableState == null ? void 0 : tableState.hasNonAdditionalFilters
2151
+ };
2152
+ }, shallowEqual);
2153
+ const row = useResponsiveTable(
2154
+ (global) => global.responsiveTableSlice[name].rows[rowIndex],
2155
+ shallowEqual
2156
+ );
2157
+ const additionalCells = useResponsiveTable(
2158
+ (global) => {
2159
+ const tableState = global.responsiveTableSlice[name];
2160
+ return tableState.columns.map(
2161
+ (current, index) => current.showAsAdditional ? {
2162
+ index,
2163
+ column: current
2164
+ } : null
2165
+ ).filter(
2166
+ (current) => !!current
2167
+ ).map((current) => {
2168
+ var _a2;
2169
+ return {
2170
+ cell: (_a2 = tableState.rows[rowIndex]) == null ? void 0 : _a2.cells[current.index],
2171
+ column: current.column,
2172
+ columnIndex: current.index
2173
+ };
2174
+ });
2175
+ },
2176
+ (currentValue, newValue) => {
2177
+ return currentValue.reduce(
2178
+ (accumulatedBoolean, currentCell, cellIndex) => {
2179
+ return accumulatedBoolean && shallowEqual(currentCell, newValue[cellIndex]);
2180
+ },
2181
+ true
2182
+ );
2183
+ }
2184
+ );
2185
+ const { isDragging, isExpanded, shouldForbidSelection } = useResponsiveTable(
2186
+ (global) => {
2187
+ var _a2;
2188
+ const tableState = global.responsiveTableSlice[name];
2189
+ return {
2190
+ isExpanded: tableState.expandedRows.includes(rowIndex),
2191
+ isDragging: tableState.draggingRow === rowIndex,
2192
+ shouldForbidSelection: (_a2 = tableState.rows[rowIndex]) == null ? void 0 : _a2.forbidSelection
2193
+ };
2194
+ },
2195
+ shallowEqual
2196
+ );
2197
+ const domProps = useDomProps(
2198
+ "tr",
2199
+ {
2200
+ isThisRowExpanded: isExpanded,
2201
+ rowIndex
2202
+ },
2203
+ domPropsSelector(name)
2204
+ );
2205
+ const expandedRowDomProps = useDomProps(
2206
+ "tr",
2207
+ {
2208
+ isTheExpandedRow: true,
2209
+ rowIndex
2210
+ },
2211
+ domPropsSelector(name)
2212
+ );
2213
+ const handleExpandedState = React.useCallback(
2214
+ (ev) => {
2215
+ const willBeExpanded = typeof ev === "boolean" ? ev : !isExpanded;
2216
+ if (!willBeExpanded)
2217
+ responsiveTableStore.dispatch(
2218
+ responsiveTableActions.update({
2219
+ tableName: name,
2220
+ expandedRows: responsiveTableStore.getState().responsiveTableSlice[name].expandedRows.filter(
2221
+ (current) => current !== rowIndex
2222
+ )
2223
+ })
2224
+ );
2225
+ else
2226
+ responsiveTableStore.dispatch(
2227
+ responsiveTableActions.update({
2228
+ tableName: name,
2229
+ expandedRows: [
2230
+ ...responsiveTableStore.getState().responsiveTableSlice[name].expandedRows,
2231
+ rowIndex
2232
+ ]
2233
+ })
2234
+ );
2235
+ },
2236
+ [isExpanded, name, rowIndex]
2237
+ );
2238
+ const statesCount = useResponsiveTable((globalState) => {
2239
+ var _a2;
2240
+ const state = globalState.responsiveTableSlice[name];
2241
+ return (_a2 = state == null ? void 0 : state.statesColumns) != null ? _a2 : 0;
2242
+ }, shallowEqual);
2243
+ const states = React.useMemo(
2244
+ () => {
2245
+ var _a2;
2246
+ return ((_a2 = row.states) != null ? _a2 : []).map((current) => __spreadProps$7(__spreadValues$8({}, current), { id: uniqueId() }));
2247
+ },
2248
+ [row.states]
2249
+ );
2250
+ const _a = useDomProps(
2251
+ "additionalTd",
2252
+ { rowIndex },
2253
+ domPropsSelector(name)
2254
+ ), additionalCellDomProps = __objRest$7(_a, ["ref"]);
2255
+ const Renderer = React.useMemo(
2256
+ () => {
2257
+ var _a2;
2258
+ return (_a2 = row.renderer) != null ? _a2 : DefaultRowRenderer;
2259
+ },
2260
+ [row.renderer]
2261
+ );
2262
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
2263
+ /* @__PURE__ */ jsx(
2264
+ Renderer,
2265
+ __spreadProps$7(__spreadValues$8({}, domProps), {
2266
+ row,
2267
+ rowIndex,
2268
+ className: `responsiveTable__row ${row.isHidden ? "hidden" : ""} ${domProps["aria-selected"] ? "selected" : ""} ${shouldForbidSelection ? "non-selectable" : ""} ${states.map((current) => current.className).join(" ")} ${(_b = row.className) != null ? _b : ""} ${row.separator ? "row__separator" : ""} ${isDragging ? "draggingRow" : ""}`,
2269
+ onKeyDown: React.useCallback(
2270
+ (ev) => {
2271
+ if (ev.key.toLowerCase() === "arrowleft" && ev.ctrlKey) {
2272
+ ev.preventDefault();
2273
+ ev.stopPropagation();
2274
+ handleExpandedState(false);
2275
+ }
2276
+ if (ev.key.toLowerCase() === "arrowright" && ev.ctrlKey) {
2277
+ ev.preventDefault();
2278
+ ev.stopPropagation();
2279
+ handleExpandedState(true);
2280
+ }
2281
+ },
2282
+ [handleExpandedState]
2283
+ ),
2284
+ children: row.separator ? /* @__PURE__ */ jsx(
2285
+ SeparatorCell,
2286
+ {
2287
+ colSpan: (additionalCells.length > 0 || hasNonAdditionalFilters ? 1 : 0) + statesCount + columns.filter((current) => !current.showAsAdditional).length,
2288
+ rowIndex
2289
+ }
2290
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
2291
+ (additionalCells.length > 0 || hasNonAdditionalFilters) && /* @__PURE__ */ jsx("td", __spreadProps$7(__spreadValues$8({ className: "additionalInfo__cell" }, additionalCellDomProps), { children: additionalCells.length > 0 && /* @__PURE__ */ jsx(
2292
+ IconButton,
2293
+ __spreadProps$7(__spreadValues$8({}, getVariant("icon-outline")), {
2294
+ icon: isExpanded ? FaMinusSquare : FaPlusSquare,
2295
+ "aria-label": isExpanded ? window.LBL_COLLAPSE_ROW : window.LBL_EXPAND_ROW,
2296
+ className: "moreInformationButton",
2297
+ onClick: handleExpandedState
2298
+ })
2299
+ ) })),
2300
+ Array(statesCount).fill("").map((_, i) => {
2301
+ var _a2, _b2;
2302
+ return /* @__PURE__ */ jsx(
2303
+ StateCell,
2304
+ {
2305
+ index: i,
2306
+ state: states[i],
2307
+ rowIndex
2308
+ },
2309
+ (_b2 = (_a2 = states[i]) == null ? void 0 : _a2.id) != null ? _b2 : i
2310
+ );
2311
+ }),
2312
+ columns.map((current, actualColumnIndex) => __spreadProps$7(__spreadValues$8({}, current), {
2313
+ actualColumnIndex
2314
+ })).filter((current) => !current.showAsAdditional).map((current, inTableColumnIndex) => {
2315
+ if (current.hidden)
2316
+ return null;
2317
+ return /* @__PURE__ */ jsx(
2318
+ Cell,
2319
+ {
2320
+ columnIndex: current.actualColumnIndex,
2321
+ rowIndex,
2322
+ inTableColumnIndex
2323
+ },
2324
+ current.name
2325
+ );
2326
+ })
2327
+ ] })
2328
+ })
2329
+ ),
2330
+ isExpanded && /* @__PURE__ */ jsx("tr", __spreadProps$7(__spreadValues$8({ className: "expandedRow" }, expandedRowDomProps), { children: /* @__PURE__ */ jsx(
2331
+ "td",
2332
+ {
2333
+ colSpan: columns.length - additionalCells.length + states.length + 1,
2334
+ children: /* @__PURE__ */ jsx(Box, { className: "responsiveTable__additionalInfoContainer", children: additionalCells.map((current) => {
2335
+ const { Renderer: ColumnRenderer } = current.column;
2336
+ if (ColumnRenderer)
2337
+ return /* @__PURE__ */ jsx(
2338
+ ColumnRenderer,
2339
+ {
2340
+ cell: current.cell,
2341
+ column: current.column,
2342
+ row
2343
+ },
2344
+ current.column.name
2345
+ );
2346
+ return /* @__PURE__ */ jsx(
2347
+ AdditionalColumnDefaultRenderer,
2348
+ {
2349
+ cell: current.cell,
2350
+ column: current.column,
2351
+ row
2352
+ },
2353
+ current.column.name
2354
+ );
2355
+ }) })
2356
+ }
2357
+ ) }))
2358
+ ] });
2359
+ };
2360
+ const Row = React.memo(NoMemoRow);
2361
+
2362
+ const NoRegistersRenderer = () => {
2363
+ const { labels } = useResponsiveTableContext();
2364
+ return /* @__PURE__ */ jsx(Box, { className: "no__registers", children: labels.noRegisters });
2365
+ };
2366
+
2367
+ var __defProp$7 = Object.defineProperty;
2368
+ var __defProps$6 = Object.defineProperties;
2369
+ var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
2370
+ var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
2371
+ var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
2372
+ var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
2373
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2374
+ var __spreadValues$7 = (a, b) => {
2375
+ for (var prop in b || (b = {}))
2376
+ if (__hasOwnProp$7.call(b, prop))
2377
+ __defNormalProp$7(a, prop, b[prop]);
2378
+ if (__getOwnPropSymbols$7)
2379
+ for (var prop of __getOwnPropSymbols$7(b)) {
2380
+ if (__propIsEnum$7.call(b, prop))
2381
+ __defNormalProp$7(a, prop, b[prop]);
2382
+ }
2383
+ return a;
2384
+ };
2385
+ var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
2386
+ const NoMemoTableRenderer = () => {
2387
+ const { name, label } = useResponsiveTableContext();
2388
+ const domProps = useDomProps(
2389
+ "table",
2390
+ {},
2391
+ (global) => global.responsiveTableSlice[name]
2392
+ );
2393
+ const rows = useResponsiveTable((global) => {
2394
+ var _a;
2395
+ const tableState = global.responsiveTableSlice[name];
2396
+ return ((_a = tableState == null ? void 0 : tableState.rows) != null ? _a : []).map((current) => current.id);
2397
+ }, shallowEqual);
2398
+ const { columnsCount, rowsCount } = useResponsiveTable((global) => {
2399
+ var _a, _b, _c;
2400
+ const tableState = global.responsiveTableSlice[name];
2401
+ return {
2402
+ rowsCount: (_a = tableState == null ? void 0 : tableState.rows.length) != null ? _a : 0,
2403
+ columnsCount: ((_b = tableState == null ? void 0 : tableState.nonAdditionalColumnsCount) != null ? _b : 0) + ((tableState == null ? void 0 : tableState.hasNonAdditionalFilters) ? 1 : 0) + ((_c = tableState == null ? void 0 : tableState.statesColumns) != null ? _c : 0) + ((tableState == null ? void 0 : tableState.columns.find((current) => current.showAsAdditional)) ? 1 : 0)
2404
+ };
2405
+ }, shallowEqual);
2406
+ return /* @__PURE__ */ jsxs(
2407
+ Box,
2408
+ __spreadProps$6(__spreadValues$7(__spreadProps$6(__spreadValues$7({}, domProps), {
2409
+ as: "table",
2410
+ className: "responsiveTable__table"
2411
+ }), getVariant("layout.common.tables.primary")), {
2412
+ "aria-label": label,
2413
+ children: [
2414
+ /* @__PURE__ */ jsx(Header, {}),
2415
+ /* @__PURE__ */ jsx("tbody", { children: rowsCount > 0 ? rows.map((row, index) => {
2416
+ return /* @__PURE__ */ jsx(Row, { rowIndex: index }, row != null ? row : `${row}-${index}`);
2417
+ }) : /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: columnsCount, children: /* @__PURE__ */ jsx(NoRegistersRenderer, {}) }) }) })
2418
+ ]
2419
+ })
2420
+ );
2421
+ };
2422
+ const TableRenderer = React.memo(NoMemoTableRenderer);
2423
+
2424
+ const NoMemoAccordionCell = ({ cell, column }) => {
2425
+ var _a;
2426
+ return /* @__PURE__ */ jsxs(
2427
+ Box,
2428
+ {
2429
+ className: "responsiveTable__accordionElement__column",
2430
+ children: [
2431
+ /* @__PURE__ */ jsxs(Box, { as: "strong", children: [
2432
+ (_a = column.label) != null ? _a : column.name,
2433
+ ": "
2434
+ ] }),
2435
+ /* @__PURE__ */ jsx(Box, { as: "span", children: cell == null ? void 0 : cell.children })
2436
+ ]
2437
+ },
2438
+ column.name
2439
+ );
2440
+ };
2441
+ const AccordionCell = NoMemoAccordionCell;
2442
+
2443
+ const NoMemoAccordionElement = ({ row, rowIndex }) => {
2444
+ const { name } = useResponsiveTableContext();
2445
+ const indexColumns = useResponsiveTable((global) => {
2446
+ const tableState = global.responsiveTableSlice[name];
2447
+ return tableState == null ? void 0 : tableState.accordionIndexColumns;
2448
+ }, shallowEqual);
2449
+ const columns = useResponsiveTable((global) => {
2450
+ const tableState = global.responsiveTableSlice[name];
2451
+ return tableState == null ? void 0 : tableState.columns;
2452
+ }, shallowEqual);
2453
+ const title = React.useMemo(() => {
2454
+ var _a;
2455
+ if (row.title)
2456
+ return row.title;
2457
+ if (Array.isArray(indexColumns))
2458
+ return indexColumns.map(
2459
+ (current) => (
2460
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
2461
+ row.cells[current.index].title || row.cells[current.index].children
2462
+ )
2463
+ ).join(" | ");
2464
+ return (_a = row.cells[0].title) != null ? _a : row.cells[0].children;
2465
+ }, [indexColumns, row.cells, row.title]);
2466
+ const isSelected = useResponsiveTable(
2467
+ (global) => global.responsiveTableSlice[name].allowSelection !== false ? global.responsiveTableSlice[name].selectedRows.includes(rowIndex) : void 0
2468
+ );
2469
+ const buttonProps = useMemo(
2470
+ () => ({
2471
+ title,
2472
+ ariaLabel: title,
2473
+ label: title,
2474
+ checked: isSelected,
2475
+ onChange: (isChecked) => {
2476
+ responsiveTableStore.dispatch(
2477
+ responsiveTableActions.update({
2478
+ tableName: name,
2479
+ selectedRows: isChecked ? [
2480
+ ...responsiveTableStore.getState().responsiveTableSlice[name].selectedRows,
2481
+ rowIndex
2482
+ ] : responsiveTableStore.getState().responsiveTableSlice[name].selectedRows.filter(
2483
+ (current) => current !== rowIndex
2484
+ )
2485
+ })
2486
+ );
2487
+ }
2488
+ }),
2489
+ [isSelected, name, rowIndex, title]
2490
+ );
2491
+ if (!Array.isArray(indexColumns) || !columns)
2492
+ return null;
2493
+ return /* @__PURE__ */ jsxs(AccordionItem, { id: row.id, buttonProps, children: [
2494
+ columns.map((currentColumn, columnIndex) => {
2495
+ var _a, _b;
2496
+ const Renderer = (_b = (_a = row.cells[columnIndex].AccordionRenderer) != null ? _a : currentColumn.AccordionRenderer) != null ? _b : AccordionCell;
2497
+ return currentColumn.hideFromAccordion || currentColumn.showAsAdditional ? null : /* @__PURE__ */ jsx(
2498
+ Renderer,
2499
+ {
2500
+ cell: row.cells[columnIndex],
2501
+ column: currentColumn,
2502
+ columnIndex,
2503
+ row,
2504
+ rowIndex
2505
+ },
2506
+ currentColumn.name
2507
+ );
2508
+ }),
2509
+ columns.filter((current) => !!current.showAsAdditional).map((currentColumn, columnIndex) => {
2510
+ var _a, _b;
2511
+ const Renderer = (_b = (_a = row.cells[columnIndex].AccordionRenderer) != null ? _a : currentColumn.AccordionRenderer) != null ? _b : AccordionCell;
2512
+ return currentColumn.hideFromAccordion ? null : /* @__PURE__ */ jsx(
2513
+ Renderer,
2514
+ {
2515
+ cell: row.cells[columnIndex],
2516
+ column: currentColumn,
2517
+ columnIndex,
2518
+ row,
2519
+ rowIndex
2520
+ },
2521
+ currentColumn.name
2522
+ );
2523
+ })
2524
+ ] });
2525
+ };
2526
+ const AccordionElement = memo(NoMemoAccordionElement);
2527
+
2528
+ const isDebugging = false;
2529
+ const NoMemoAccordionRenderer = () => {
2530
+ const { name } = useResponsiveTableContext();
2531
+ const { columns, rows } = useResponsiveTable((global) => {
2532
+ const tableState = global.responsiveTableSlice[name];
2533
+ return {
2534
+ columns: tableState == null ? void 0 : tableState.columns,
2535
+ rows: tableState == null ? void 0 : tableState.rows
2536
+ };
2537
+ }, shallowEqual);
2538
+ React.useEffect(() => {
2539
+ if (columns && rows) {
2540
+ const markedAsTitleColumns = [];
2541
+ columns.forEach((column, index) => {
2542
+ if (column.showInAccordionTitle)
2543
+ markedAsTitleColumns.push({ column, index });
2544
+ });
2545
+ if (markedAsTitleColumns.length > 0) {
2546
+ responsiveTableStore.dispatch(
2547
+ responsiveTableActions.update({
2548
+ tableName: name,
2549
+ accordionIndexColumns: markedAsTitleColumns
2550
+ })
2551
+ );
2552
+ } else {
2553
+ const columnsLength = columns.length;
2554
+ let indexColumn = null;
2555
+ let currentIndex = 0;
2556
+ while (!indexColumn && !isDebugging && currentIndex < columns.length || isDebugging ) {
2557
+ let isAnyEmptyRow = false;
2558
+ for (const row of rows) {
2559
+ if (!row.cells[currentIndex].children) {
2560
+ isAnyEmptyRow = true;
2561
+ break;
2562
+ }
2563
+ }
2564
+ if (!isAnyEmptyRow && columns[currentIndex]) {
2565
+ indexColumn = columns[currentIndex];
2566
+ } else {
2567
+ currentIndex += 1;
2568
+ if (currentIndex === columnsLength)
2569
+ break;
2570
+ }
2571
+ }
2572
+ if (!indexColumn) {
2573
+ [indexColumn] = columns;
2574
+ currentIndex = 0;
2575
+ }
2576
+ responsiveTableStore.dispatch(
2577
+ responsiveTableActions.update({
2578
+ tableName: name,
2579
+ accordionIndexColumns: [
2580
+ { column: indexColumn, index: currentIndex }
2581
+ ]
2582
+ })
2583
+ );
2584
+ }
2585
+ }
2586
+ }, [columns, name, rows]);
2587
+ return /* @__PURE__ */ jsxs(Accordion, { children: [
2588
+ !rows || rows.length === 0 && /* @__PURE__ */ jsx(NoRegistersRenderer, {}),
2589
+ rows == null ? void 0 : rows.slice(0, void 0).map((current, rowIndex) => /* @__PURE__ */ jsx(
2590
+ AccordionElement,
2591
+ {
2592
+ row: current,
2593
+ rowIndex
2594
+ },
2595
+ current.id
2596
+ ))
2597
+ ] });
2598
+ };
2599
+ const AccordionRenderer = React.memo(NoMemoAccordionRenderer);
2600
+
2601
+ var __defProp$6 = Object.defineProperty;
2602
+ var __defProps$5 = Object.defineProperties;
2603
+ var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
2604
+ var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
2605
+ var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
2606
+ var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
2607
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2608
+ var __spreadValues$6 = (a, b) => {
2609
+ for (var prop in b || (b = {}))
2610
+ if (__hasOwnProp$6.call(b, prop))
2611
+ __defNormalProp$6(a, prop, b[prop]);
2612
+ if (__getOwnPropSymbols$6)
2613
+ for (var prop of __getOwnPropSymbols$6(b)) {
2614
+ if (__propIsEnum$6.call(b, prop))
2615
+ __defNormalProp$6(a, prop, b[prop]);
2616
+ }
2617
+ return a;
2618
+ };
2619
+ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
2620
+ var __objRest$6 = (source, exclude) => {
2621
+ var target = {};
2622
+ for (var prop in source)
2623
+ if (__hasOwnProp$6.call(source, prop) && exclude.indexOf(prop) < 0)
2624
+ target[prop] = source[prop];
2625
+ if (source != null && __getOwnPropSymbols$6)
2626
+ for (var prop of __getOwnPropSymbols$6(source)) {
2627
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$6.call(source, prop))
2628
+ target[prop] = source[prop];
2629
+ }
2630
+ return target;
2631
+ };
2632
+ const domPropsSelector = (name) => (global) => global.responsiveTableSlice[name];
2633
+ const NoMemoResponsiveTable = React.forwardRef((_a, ref) => {
2634
+ var _b = _a, { className } = _b, props = __objRest$6(_b, ["className"]);
2635
+ const breakpoint = useBreakpointIndex({ defaultIndex: 3 });
2636
+ const { currentBreakPoint } = useResponsiveTableContext();
2637
+ const actualBreakpoint = currentBreakPoint != null ? currentBreakPoint : breakpoint;
2638
+ return /* @__PURE__ */ jsx(
2639
+ Box,
2640
+ __spreadProps$5(__spreadValues$6(__spreadValues$6({}, props), getVariant("layout.common.tables.responsive")), {
2641
+ className: `responsiveTable__wrapper ${className != null ? className : ""}`,
2642
+ ref,
2643
+ children: actualBreakpoint >= 3 ? /* @__PURE__ */ jsx(KeyHandler, { children: /* @__PURE__ */ jsx(TableRenderer, {}) }) : /* @__PURE__ */ jsx(AccordionRenderer, {})
2644
+ })
2645
+ );
2646
+ });
2647
+ NoMemoResponsiveTable.displayName = "ResponsiveTable";
2648
+ const ResponsiveTable = React.memo(NoMemoResponsiveTable);
2649
+
2650
+ var __defProp$5 = Object.defineProperty;
2651
+ var __defProps$4 = Object.defineProperties;
2652
+ var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
2653
+ var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
2654
+ var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
2655
+ var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
2656
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2657
+ var __spreadValues$5 = (a, b) => {
2658
+ for (var prop in b || (b = {}))
2659
+ if (__hasOwnProp$5.call(b, prop))
2660
+ __defNormalProp$5(a, prop, b[prop]);
2661
+ if (__getOwnPropSymbols$5)
2662
+ for (var prop of __getOwnPropSymbols$5(b)) {
2663
+ if (__propIsEnum$5.call(b, prop))
2664
+ __defNormalProp$5(a, prop, b[prop]);
2665
+ }
2666
+ return a;
2667
+ };
2668
+ var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
2669
+ var __objRest$5 = (source, exclude) => {
2670
+ var target = {};
2671
+ for (var prop in source)
2672
+ if (__hasOwnProp$5.call(source, prop) && exclude.indexOf(prop) < 0)
2673
+ target[prop] = source[prop];
2674
+ if (source != null && __getOwnPropSymbols$5)
2675
+ for (var prop of __getOwnPropSymbols$5(source)) {
2676
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$5.call(source, prop))
2677
+ target[prop] = source[prop];
2678
+ }
2679
+ return target;
2680
+ };
2681
+ const NoMemoDocNameCellRenderer = React.forwardRef(
2682
+ (_a, currentRef) => {
2683
+ var _b = _a, {
2684
+ cell: _c
2685
+ } = _b, _d = _c, { children, Renderer, rendererProps, AccordionRenderer } = _d, cell = __objRest$5(_d, ["children", "Renderer", "rendererProps", "AccordionRenderer"]), _e = _b, props = __objRest$5(_e, [
2686
+ "cell",
2687
+ "column",
2688
+ "row"
2689
+ ]);
2690
+ return /* @__PURE__ */ jsx(
2691
+ "td",
2692
+ __spreadProps$4(__spreadValues$5(__spreadValues$5({
2693
+ ref: currentRef
2694
+ }, props), cell), {
2695
+ children: /* @__PURE__ */ jsxs(
2696
+ Link,
2697
+ {
2698
+ className: "cell__download__document",
2699
+ title: rendererProps == null ? void 0 : rendererProps.docName,
2700
+ href: rendererProps == null ? void 0 : rendererProps.docUrl,
2701
+ onClick: (ev) => {
2702
+ ev.preventDefault();
2703
+ if (rendererProps == null ? void 0 : rendererProps.docUrl)
2704
+ void downloadUrl(rendererProps == null ? void 0 : rendererProps.docUrl);
2705
+ },
2706
+ children: [
2707
+ /* @__PURE__ */ jsx(Icon, { title: "", name: "Download" }),
2708
+ rendererProps == null ? void 0 : rendererProps.docName
2709
+ ]
2710
+ }
2711
+ )
2712
+ })
2713
+ );
2714
+ }
2715
+ );
2716
+ NoMemoDocNameCellRenderer.displayName = "DocNameCellRenderer";
2717
+ const DocNameCellRenderer = NoMemoDocNameCellRenderer;
2718
+
2719
+ var __defProp$4 = Object.defineProperty;
2720
+ var __defProps$3 = Object.defineProperties;
2721
+ var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
2722
+ var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
2723
+ var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
2724
+ var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
2725
+ var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2726
+ var __spreadValues$4 = (a, b) => {
2727
+ for (var prop in b || (b = {}))
2728
+ if (__hasOwnProp$4.call(b, prop))
2729
+ __defNormalProp$4(a, prop, b[prop]);
2730
+ if (__getOwnPropSymbols$4)
2731
+ for (var prop of __getOwnPropSymbols$4(b)) {
2732
+ if (__propIsEnum$4.call(b, prop))
2733
+ __defNormalProp$4(a, prop, b[prop]);
2734
+ }
2735
+ return a;
2736
+ };
2737
+ var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
2738
+ var __objRest$4 = (source, exclude) => {
2739
+ var target = {};
2740
+ for (var prop in source)
2741
+ if (__hasOwnProp$4.call(source, prop) && exclude.indexOf(prop) < 0)
2742
+ target[prop] = source[prop];
2743
+ if (source != null && __getOwnPropSymbols$4)
2744
+ for (var prop of __getOwnPropSymbols$4(source)) {
2745
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$4.call(source, prop))
2746
+ target[prop] = source[prop];
2747
+ }
2748
+ return target;
2749
+ };
2750
+ const NoMemoAccordionDocNameCellRenderer = React.forwardRef(
2751
+ (_a, currentRef) => {
2752
+ var _b = _a, {
2753
+ cell: _c
2754
+ } = _b, _d = _c, { children, Renderer, rendererProps, AccordionRenderer } = _d, cell = __objRest$4(_d, ["children", "Renderer", "rendererProps", "AccordionRenderer"]), {
2755
+ column
2756
+ } = _b;
2757
+ var _a2;
2758
+ return /* @__PURE__ */ jsxs(Box, __spreadProps$3(__spreadValues$4({ ref: currentRef }, cell), { children: [
2759
+ /* @__PURE__ */ jsxs(Box, { as: "strong", children: [
2760
+ (_a2 = column.label) != null ? _a2 : column.name,
2761
+ ": "
2762
+ ] }),
2763
+ /* @__PURE__ */ jsxs(
2764
+ Link,
2765
+ {
2766
+ className: "cell__download__document",
2767
+ title: rendererProps == null ? void 0 : rendererProps.docName,
2768
+ href: rendererProps == null ? void 0 : rendererProps.docUrl,
2769
+ onClick: (ev) => {
2770
+ ev.preventDefault();
2771
+ if (rendererProps == null ? void 0 : rendererProps.docUrl)
2772
+ void downloadUrl(rendererProps == null ? void 0 : rendererProps.docUrl);
2773
+ },
2774
+ children: [
2775
+ /* @__PURE__ */ jsx(Icon, { title: "", name: "Download" }),
2776
+ rendererProps == null ? void 0 : rendererProps.docName
2777
+ ]
2778
+ }
2779
+ )
2780
+ ] }));
2781
+ }
2782
+ );
2783
+ NoMemoAccordionDocNameCellRenderer.displayName = "AccordionDocNameCellRenderer";
2784
+ const AccordionDocNameCellRenderer = NoMemoAccordionDocNameCellRenderer;
2785
+
2786
+ var __defProp$3 = Object.defineProperty;
2787
+ var __defProps$2 = Object.defineProperties;
2788
+ var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
2789
+ var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
2790
+ var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
2791
+ var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
2792
+ var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2793
+ var __spreadValues$3 = (a, b) => {
2794
+ for (var prop in b || (b = {}))
2795
+ if (__hasOwnProp$3.call(b, prop))
2796
+ __defNormalProp$3(a, prop, b[prop]);
2797
+ if (__getOwnPropSymbols$3)
2798
+ for (var prop of __getOwnPropSymbols$3(b)) {
2799
+ if (__propIsEnum$3.call(b, prop))
2800
+ __defNormalProp$3(a, prop, b[prop]);
2801
+ }
2802
+ return a;
2803
+ };
2804
+ var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
2805
+ var __objRest$3 = (source, exclude) => {
2806
+ var target = {};
2807
+ for (var prop in source)
2808
+ if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0)
2809
+ target[prop] = source[prop];
2810
+ if (source != null && __getOwnPropSymbols$3)
2811
+ for (var prop of __getOwnPropSymbols$3(source)) {
2812
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop))
2813
+ target[prop] = source[prop];
2814
+ }
2815
+ return target;
2816
+ };
2817
+ const NoMemoAccordionHTMLCellRenderer = React.forwardRef(
2818
+ (_a, currentRef) => {
2819
+ var _b = _a, {
2820
+ cell: _c
2821
+ } = _b, _d = _c, { children, Renderer, rendererProps, AccordionRenderer } = _d, cell = __objRest$3(_d, ["children", "Renderer", "rendererProps", "AccordionRenderer"]), _e = _b, props = __objRest$3(_e, [
2822
+ "cell",
2823
+ "column",
2824
+ "row"
2825
+ ]);
2826
+ return (
2827
+ /**
2828
+ * Aca falta el title de la columna
2829
+ */
2830
+ /* @__PURE__ */ jsx(
2831
+ Box,
2832
+ __spreadProps$2(__spreadValues$3(__spreadValues$3(__spreadValues$3({
2833
+ ref: currentRef
2834
+ }, props), cell), (rendererProps == null ? void 0 : rendererProps.html) ? {
2835
+ dangerouslySetInnerHTML: {
2836
+ __html: rendererProps.html.replaceAll(/<TOK(\d+)/g, "&lt;TOK$1")
2837
+ }
2838
+ } : { children }), {
2839
+ as: "span"
2840
+ })
2841
+ )
2842
+ );
2843
+ }
2844
+ );
2845
+ NoMemoAccordionHTMLCellRenderer.displayName = "AccordionHTMLCellRenderer";
2846
+ const AccordionHTMLCellRenderer = NoMemoAccordionHTMLCellRenderer;
2847
+
2848
+ var __defProp$2 = Object.defineProperty;
2849
+ var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
2850
+ var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
2851
+ var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
2852
+ var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2853
+ var __spreadValues$2 = (a, b) => {
2854
+ for (var prop in b || (b = {}))
2855
+ if (__hasOwnProp$2.call(b, prop))
2856
+ __defNormalProp$2(a, prop, b[prop]);
2857
+ if (__getOwnPropSymbols$2)
2858
+ for (var prop of __getOwnPropSymbols$2(b)) {
2859
+ if (__propIsEnum$2.call(b, prop))
2860
+ __defNormalProp$2(a, prop, b[prop]);
2861
+ }
2862
+ return a;
2863
+ };
2864
+ var __objRest$2 = (source, exclude) => {
2865
+ var target = {};
2866
+ for (var prop in source)
2867
+ if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)
2868
+ target[prop] = source[prop];
2869
+ if (source != null && __getOwnPropSymbols$2)
2870
+ for (var prop of __getOwnPropSymbols$2(source)) {
2871
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))
2872
+ target[prop] = source[prop];
2873
+ }
2874
+ return target;
2875
+ };
2876
+ const NoMemoHTMLCellRenderer = React.forwardRef(
2877
+ (_a, currentRef) => {
2878
+ var _b = _a, {
2879
+ cell: _c
2880
+ } = _b, _d = _c, { children, Renderer, rendererProps, AccordionRenderer } = _d, cell = __objRest$2(_d, ["children", "Renderer", "rendererProps", "AccordionRenderer"]), _e = _b, props = __objRest$2(_e, [
2881
+ "cell",
2882
+ "column",
2883
+ "row"
2884
+ ]);
2885
+ return /* @__PURE__ */ jsx(
2886
+ "td",
2887
+ __spreadValues$2(__spreadValues$2(__spreadValues$2({
2888
+ ref: currentRef
2889
+ }, props), cell), (rendererProps == null ? void 0 : rendererProps.html) ? {
2890
+ dangerouslySetInnerHTML: {
2891
+ __html: rendererProps.html.replaceAll(
2892
+ /<TOK(\d+)/g,
2893
+ "&lt;TOK$1"
2894
+ )
2895
+ }
2896
+ } : { children })
2897
+ );
2898
+ }
2899
+ );
2900
+ NoMemoHTMLCellRenderer.displayName = "HTMLCellRenderer";
2901
+ const HTMLCellRenderer = NoMemoHTMLCellRenderer;
2902
+
2903
+ const IsLoadingRenderer = () => {
2904
+ return /* @__PURE__ */ jsx(Box, { className: "responsiveTable__isLoading", children: /* @__PURE__ */ jsx(Spinner, {}) });
2905
+ };
2906
+
2907
+ var __async$1 = (__this, __arguments, generator) => {
2908
+ return new Promise((resolve, reject) => {
2909
+ var fulfilled = (value) => {
2910
+ try {
2911
+ step(generator.next(value));
2912
+ } catch (e) {
2913
+ reject(e);
2914
+ }
2915
+ };
2916
+ var rejected = (value) => {
2917
+ try {
2918
+ step(generator.throw(value));
2919
+ } catch (e) {
2920
+ reject(e);
2921
+ }
2922
+ };
2923
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
2924
+ step((generator = generator.apply(__this, __arguments)).next());
2925
+ });
2926
+ };
2927
+ function makeAccordionAsyncRenderer(additionalInfoGetter) {
2928
+ const InnerRender = forwardRef(({ row }, ref) => {
2929
+ const [moreInfo, setMoreInfo] = useState(null);
2930
+ const loadMore = useCallback(() => __async$1(this, null, function* () {
2931
+ const result = yield additionalInfoGetter(row);
2932
+ setMoreInfo(result);
2933
+ }), [row]);
2934
+ return /* @__PURE__ */ jsx(Fragment, { children: moreInfo ? /* @__PURE__ */ jsxs(Fragment, { children: [
2935
+ /* @__PURE__ */ jsx(IconButton, { icon: "Minus", onClick: () => setMoreInfo(null) }),
2936
+ arrayOrArray(moreInfo).map(
2937
+ (dataCell) => {
2938
+ return /* @__PURE__ */ jsxs(Box, { ref, as: "div", children: [
2939
+ /* @__PURE__ */ jsxs(Box, { as: "strong", children: [
2940
+ dataCell.name,
2941
+ ":"
2942
+ ] }),
2943
+ " ",
2944
+ dataCell.label
2945
+ ] }, dataCell.name);
2946
+ }
2947
+ )
2948
+ ] }) : /* @__PURE__ */ jsx(IconButton, { icon: "Plus", onClick: () => void loadMore() }) });
2949
+ });
2950
+ InnerRender.displayName = "MakeAccordionAsyncRenderer";
2951
+ return InnerRender;
2952
+ }
2953
+
2954
+ var __async = (__this, __arguments, generator) => {
2955
+ return new Promise((resolve, reject) => {
2956
+ var fulfilled = (value) => {
2957
+ try {
2958
+ step(generator.next(value));
2959
+ } catch (e) {
2960
+ reject(e);
2961
+ }
2962
+ };
2963
+ var rejected = (value) => {
2964
+ try {
2965
+ step(generator.throw(value));
2966
+ } catch (e) {
2967
+ reject(e);
2968
+ }
2969
+ };
2970
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
2971
+ step((generator = generator.apply(__this, __arguments)).next());
2972
+ });
2973
+ };
2974
+ function makeAsyncRenderer(additionalInfoGetter) {
2975
+ const InnerRender = forwardRef(({ row }, ref) => {
2976
+ const [moreInfo, setMoreInfo] = useState(null);
2977
+ useMount$1(() => {
2978
+ void (() => __async(this, null, function* () {
2979
+ const result = yield additionalInfoGetter(row);
2980
+ setMoreInfo(result);
2981
+ }))();
2982
+ });
2983
+ return /* @__PURE__ */ jsx(Fragment, { children: moreInfo ? arrayOrArray(moreInfo).map((dataCell) => {
2984
+ return /* @__PURE__ */ jsx(
2985
+ Box,
2986
+ {
2987
+ ref,
2988
+ className: `responsiveTable__additionalInfoItem ${dataCell.newline ? "separator" : ""}`,
2989
+ children: dataCell.newline ? /* @__PURE__ */ jsxs(Fragment, { children: [
2990
+ /* @__PURE__ */ jsxs(Box, { sx: { height: "20px" }, as: "strong", children: [
2991
+ dataCell.name,
2992
+ ":"
2993
+ ] }),
2994
+ " ",
2995
+ dataCell.label
2996
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
2997
+ /* @__PURE__ */ jsxs(Box, { as: "strong", children: [
2998
+ dataCell.name,
2999
+ ":"
3000
+ ] }),
3001
+ " ",
3002
+ dataCell.label
3003
+ ] })
3004
+ },
3005
+ `${dataCell.name}-${uniqueId()}`
3006
+ );
3007
+ }) : /* @__PURE__ */ jsx(Spinner, { size: 15 }) });
3008
+ });
3009
+ InnerRender.displayName = "MakeAsyncRenderer";
3010
+ return InnerRender;
3011
+ }
3012
+
3013
+ var __defProp$1 = Object.defineProperty;
3014
+ var __defProps$1 = Object.defineProperties;
3015
+ var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
3016
+ var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
3017
+ var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
3018
+ var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
3019
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3020
+ var __spreadValues$1 = (a, b) => {
3021
+ for (var prop in b || (b = {}))
3022
+ if (__hasOwnProp$1.call(b, prop))
3023
+ __defNormalProp$1(a, prop, b[prop]);
3024
+ if (__getOwnPropSymbols$1)
3025
+ for (var prop of __getOwnPropSymbols$1(b)) {
3026
+ if (__propIsEnum$1.call(b, prop))
3027
+ __defNormalProp$1(a, prop, b[prop]);
3028
+ }
3029
+ return a;
3030
+ };
3031
+ var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
3032
+ var __objRest$1 = (source, exclude) => {
3033
+ var target = {};
3034
+ for (var prop in source)
3035
+ if (__hasOwnProp$1.call(source, prop) && exclude.indexOf(prop) < 0)
3036
+ target[prop] = source[prop];
3037
+ if (source != null && __getOwnPropSymbols$1)
3038
+ for (var prop of __getOwnPropSymbols$1(source)) {
3039
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$1.call(source, prop))
3040
+ target[prop] = source[prop];
3041
+ }
3042
+ return target;
3043
+ };
3044
+ function getPriorityHandler(priority) {
3045
+ let prio;
3046
+ if (priority == null ? void 0 : priority.includes("priority0"))
3047
+ prio = "priorityNone";
3048
+ if (priority == null ? void 0 : priority.includes("priority1"))
3049
+ prio = "priorityLow";
3050
+ if (priority == null ? void 0 : priority.includes("priority2"))
3051
+ prio = "priorityNormal";
3052
+ if (priority == null ? void 0 : priority.includes("priority3"))
3053
+ prio = "priorityHigh";
3054
+ if (priority == null ? void 0 : priority.includes("priority4"))
3055
+ prio = "priorityUrgent";
3056
+ return prio;
3057
+ }
3058
+ const NoMemoPriorityRenderer = React.forwardRef(
3059
+ (_a, currentRef) => {
3060
+ var _b = _a, {
3061
+ cell: _c
3062
+ } = _b, _d = _c, { children, Renderer, rendererProps, AccordionRenderer } = _d, cell = __objRest$1(_d, ["children", "Renderer", "rendererProps", "AccordionRenderer"]), _e = _b, props = __objRest$1(_e, [
3063
+ "cell",
3064
+ "column",
3065
+ "row"
3066
+ ]);
3067
+ const taskPriorityColor = getPriorityHandler(rendererProps == null ? void 0 : rendererProps.src);
3068
+ return /* @__PURE__ */ jsx(
3069
+ "td",
3070
+ __spreadProps$1(__spreadValues$1(__spreadValues$1({}, props), cell), {
3071
+ ref: currentRef,
3072
+ className: "priority",
3073
+ sx: {
3074
+ color: taskPriorityColor
3075
+ },
3076
+ children: /* @__PURE__ */ jsx(FaSquare, {})
3077
+ })
3078
+ );
3079
+ }
3080
+ );
3081
+ NoMemoPriorityRenderer.displayName = "PriorityRenderer";
3082
+ const PriorityRenderer = NoMemoPriorityRenderer;
3083
+
3084
+ const NoMemoPriorityAccordionRenderer = React.forwardRef(
3085
+ ({ cell, column }, currentRef) => {
3086
+ var _a, _b, _c;
3087
+ const taskPriorityColor = getPriorityHandler(
3088
+ (_a = cell.rendererProps) == null ? void 0 : _a.src
3089
+ );
3090
+ const title = (_b = column.label) != null ? _b : column.name;
3091
+ return /* @__PURE__ */ jsxs(Box, { ref: currentRef, className: "priority_container", children: [
3092
+ title && /* @__PURE__ */ jsxs(Box, { as: "strong", children: [
3093
+ (_c = column.label) != null ? _c : column.name,
3094
+ ": "
3095
+ ] }),
3096
+ /* @__PURE__ */ jsx(
3097
+ Box,
3098
+ {
3099
+ as: "span",
3100
+ className: "priority",
3101
+ sx: {
3102
+ color: taskPriorityColor
3103
+ },
3104
+ children: /* @__PURE__ */ jsx(FaSquare, {})
3105
+ }
3106
+ )
3107
+ ] });
3108
+ }
3109
+ );
3110
+ NoMemoPriorityAccordionRenderer.displayName = "PriorityAccordionRenderer";
3111
+ const PriorityAccordionRenderer = NoMemoPriorityAccordionRenderer;
3112
+
3113
+ var __defProp = Object.defineProperty;
3114
+ var __defProps = Object.defineProperties;
3115
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
3116
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3117
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3118
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
3119
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3120
+ var __spreadValues = (a, b) => {
3121
+ for (var prop in b || (b = {}))
3122
+ if (__hasOwnProp.call(b, prop))
3123
+ __defNormalProp(a, prop, b[prop]);
3124
+ if (__getOwnPropSymbols)
3125
+ for (var prop of __getOwnPropSymbols(b)) {
3126
+ if (__propIsEnum.call(b, prop))
3127
+ __defNormalProp(a, prop, b[prop]);
3128
+ }
3129
+ return a;
3130
+ };
3131
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3132
+ var __objRest = (source, exclude) => {
3133
+ var target = {};
3134
+ for (var prop in source)
3135
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
3136
+ target[prop] = source[prop];
3137
+ if (source != null && __getOwnPropSymbols)
3138
+ for (var prop of __getOwnPropSymbols(source)) {
3139
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
3140
+ target[prop] = source[prop];
3141
+ }
3142
+ return target;
3143
+ };
3144
+ function getStatusRendererClassName(cellValue, columnName) {
3145
+ var _a;
3146
+ if (cellValue === void 0)
3147
+ return "";
3148
+ const cellValueDate = cellValue.split(" ")[0];
3149
+ const cellValueHour = (_a = cellValue.split(" ")[1]) != null ? _a : "00:00:00";
3150
+ const dateFormat = getDateFormat();
3151
+ const currentDate = dayjs();
3152
+ const currentHour = Number(dayjs().format("HHmm"));
3153
+ const queriedDate = dayjs(cellValueDate, dateFormat);
3154
+ const queriedHour = Number(dayjs(cellValueHour, dateFormat));
3155
+ let statusClassName = "";
3156
+ if (currentDate >= queriedDate) {
3157
+ statusClassName = columnName;
3158
+ }
3159
+ if (!queriedHour)
3160
+ return statusClassName;
3161
+ if (currentDate <= queriedDate && currentHour < queriedHour) {
3162
+ statusClassName = columnName;
3163
+ }
3164
+ return statusClassName;
3165
+ }
3166
+ const NoMemoStatusRenderer = React.forwardRef(
3167
+ (_a, currentRef) => {
3168
+ var _b = _a, {
3169
+ cell: _c
3170
+ } = _b, _d = _c, { children, Renderer, rendererProps, AccordionRenderer } = _d, cell = __objRest(_d, ["children", "Renderer", "rendererProps", "AccordionRenderer"]), _e = _b, {
3171
+ column,
3172
+ row
3173
+ } = _e, props = __objRest(_e, [
3174
+ "cell",
3175
+ "column",
3176
+ "row"
3177
+ ]);
3178
+ const taskStatusClassName = getStatusRendererClassName(
3179
+ children,
3180
+ column.name
3181
+ );
3182
+ return /* @__PURE__ */ jsx(
3183
+ "td",
3184
+ __spreadProps(__spreadValues(__spreadValues({}, props), cell), {
3185
+ ref: currentRef,
3186
+ className: taskStatusClassName,
3187
+ children
3188
+ })
3189
+ );
3190
+ }
3191
+ );
3192
+ NoMemoStatusRenderer.displayName = "StatusRenderer";
3193
+ const StatusRenderer = NoMemoStatusRenderer;
3194
+
3195
+ const NoMemoStatusAccordionRenderer = React.forwardRef(({ cell, column }, currentRef) => {
3196
+ var _a;
3197
+ const taskStatusClassName = getStatusRendererClassName(
3198
+ cell.children,
3199
+ column.name
3200
+ );
3201
+ return /* @__PURE__ */ jsxs(Box, { ref: currentRef, children: [
3202
+ /* @__PURE__ */ jsxs(Box, { as: "strong", children: [
3203
+ (_a = column.label) != null ? _a : column.name,
3204
+ ": "
3205
+ ] }),
3206
+ /* @__PURE__ */ jsx(Box, { as: "span", className: taskStatusClassName, children: cell.children })
3207
+ ] });
3208
+ });
3209
+ NoMemoStatusAccordionRenderer.displayName = "StatusAccordionRenderer";
3210
+ const StatusAccordionRenderer = NoMemoStatusAccordionRenderer;
3211
+
3212
+ export { AccordionCell, AccordionDocNameCellRenderer, AccordionElement, AccordionHTMLCellRenderer, AccordionRenderer, AdditionalColumnDefaultRenderer, DefaultCellRenderer, DefaultRowRenderer, DocNameCellRenderer, HTMLCellRenderer, IsLoadingRenderer, NoRegistersRenderer, PriorityAccordionRenderer, PriorityRenderer, ResponsiveTable, ResponsiveTableContext, RowStatesRenderer, StatusAccordionRenderer, StatusRenderer, TableRenderer, defaultLabels, getPriorityHandler, getStatusRendererClassName, makeAccordionAsyncRenderer, makeAsyncRenderer, responsiveTableActions, responsiveTableStore, useResponsiveTable };