@famalabs/web-ui 1.0.0-beta.3 → 1.0.0-beta.30

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.
Files changed (78) hide show
  1. package/dist/components/auth/AuthSuccess.d.ts +2 -2
  2. package/dist/components/auth/AuthSuccess.js +1 -1
  3. package/dist/components/auth/PasswordField.js +1 -1
  4. package/dist/components/common/MainDiv.d.ts +2 -1
  5. package/dist/components/common/MainDiv.js +1 -1
  6. package/dist/components/common/MenuItems.d.ts +7 -6
  7. package/dist/components/common/MenuItems.js +1 -1
  8. package/dist/components/forms/AiEditingContext.d.ts +31 -7
  9. package/dist/components/forms/AiEditingContext.js +1 -1
  10. package/dist/components/forms/AiUtils.js +1 -1
  11. package/dist/components/forms/AutocompleteField.js +1 -1
  12. package/dist/components/forms/DateField.d.ts +1 -0
  13. package/dist/components/forms/DateField.js +1 -1
  14. package/dist/components/forms/InputField.js +1 -1
  15. package/dist/components/forms/RichTextEditor/AiMenuItems.js +1 -0
  16. package/dist/components/forms/RichTextEditor/FormattingToolbar.d.ts +3 -1
  17. package/dist/components/forms/RichTextEditor/FormattingToolbar.js +1 -1
  18. package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +21 -11
  19. package/dist/components/forms/RichTextEditor/RichTextEditor.js +1 -1
  20. package/dist/components/forms/RichTextField.d.ts +1 -0
  21. package/dist/components/forms/RichTextField.js +1 -1
  22. package/dist/components/forms/SelectField.js +1 -1
  23. package/dist/components/forms/TimeField.d.ts +1 -0
  24. package/dist/components/forms/TimeField.js +1 -1
  25. package/dist/components/sidebar/SidebarFooter.d.ts +7 -3
  26. package/dist/components/sidebar/SidebarFooter.js +1 -1
  27. package/dist/components/sidebar/SidebarLayout.d.ts +10 -6
  28. package/dist/components/sidebar/SidebarLayout.js +1 -1
  29. package/dist/components/snackbar/Notifier/Notifier.d.ts +1 -2
  30. package/dist/components/snackbar/Notifier/Notifier.js +1 -1
  31. package/dist/components/tables/CardsTable/CardsTable.d.ts +6 -0
  32. package/dist/components/tables/CardsTable/CardsTable.js +1 -0
  33. package/dist/components/tables/CardsTable/CardsTableBody.js +1 -0
  34. package/dist/components/tables/CardsTable/CardsTableFooter.js +1 -0
  35. package/dist/components/tables/{CardsGrid/DynamicCardsTypes.d.ts → CardsTable/CardsTableTypes.d.ts} +11 -20
  36. package/dist/components/tables/RealtimeTable/RealTimeTableBody.js +1 -1
  37. package/dist/components/tables/RealtimeTable/RealTimeTableFooter.js +1 -1
  38. package/dist/components/tables/RealtimeTable/RealtimeTable.d.ts +1 -1
  39. package/dist/components/tables/RealtimeTable/RealtimeTable.js +1 -1
  40. package/dist/components/tables/RealtimeTable/RealtimeTableTypes.d.ts +31 -13
  41. package/dist/components/tables/StaticTable/StaticFiltersUlts.js +1 -0
  42. package/dist/components/tables/StaticTable/StaticTable.d.ts +6 -0
  43. package/dist/components/tables/StaticTable/StaticTable.js +1 -0
  44. package/dist/components/tables/StaticTable/StaticTableBody.js +1 -0
  45. package/dist/components/tables/StaticTable/StaticTableFooter.js +1 -0
  46. package/dist/components/tables/StaticTable/StaticTableTypes.d.ts +15 -0
  47. package/dist/components/tables/TableCells/ActionCell.d.ts +2 -2
  48. package/dist/components/tables/TableCells/ActionCell.js +1 -1
  49. package/dist/components/tables/TableCells/AvatarCell.d.ts +2 -2
  50. package/dist/components/tables/TableCells/AvatarCell.js +1 -1
  51. package/dist/components/tables/TableCells/SelectCell.d.ts +1 -0
  52. package/dist/components/tables/TableCells/SelectCell.js +1 -1
  53. package/dist/components/tables/TableComponents/TableActionHeader.js +1 -1
  54. package/dist/components/tables/TableComponents/TableCommonBody.js +1 -1
  55. package/dist/components/tables/TableComponents/TableFilterComponents.js +1 -1
  56. package/dist/components/tables/TableComponents/TableFilterHeader.js +1 -1
  57. package/dist/components/tables/TableComponents/TableFunctions.d.ts +7 -0
  58. package/dist/components/tables/TableComponents/TableFunctions.js +1 -0
  59. package/dist/components/tables/TableComponents/TableLocales.js +1 -1
  60. package/dist/components/tables/TableComponents/TableTypes.d.ts +71 -79
  61. package/dist/components/theme/ThemeLoader/Loader.d.ts +4 -4
  62. package/dist/components/theme/ThemeLoader/Loader.js +1 -1
  63. package/dist/index.d.ts +10 -11
  64. package/dist/index.js +1 -1
  65. package/package.json +18 -12
  66. package/dist/components/tables/CardsGrid/CardsBodyCreator.js +0 -1
  67. package/dist/components/tables/CardsGrid/DynamcCardsFooter.js +0 -1
  68. package/dist/components/tables/CardsGrid/DynamicCardsTable.d.ts +0 -6
  69. package/dist/components/tables/CardsGrid/DynamicCardsTable.js +0 -1
  70. package/dist/components/tables/LegacyTable/LegacyTable.d.ts +0 -6
  71. package/dist/components/tables/LegacyTable/LegacyTable.js +0 -1
  72. package/dist/components/tables/LegacyTable/LegacyTableFooter.js +0 -1
  73. package/dist/components/tables/TableCells/ImageCell.d.ts +0 -7
  74. package/dist/components/tables/TableCells/ImageCell.js +0 -1
  75. package/dist/components/tables/TableCells/LinkCell.d.ts +0 -8
  76. package/dist/components/tables/TableCells/LinkCell.js +0 -1
  77. package/dist/components/tables/TableCells/StatusCell.d.ts +0 -11
  78. package/dist/components/tables/TableCells/StatusCell.js +0 -1
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import r from"@mui/material/FormControl";import o from"@mui/material/FormLabel";import t from"@mui/material/InputAdornment";import{useTheme as i}from"@mui/material/styles";import{TimePicker as l}from"@mui/x-date-pickers";import s from"dayjs";import{ClockIcon as n,SparklesIcon as a}from"lucide-react";import m from"react";import{useWatch as d,Controller as u}from"react-hook-form";import{useIsAiEditing as c,useIsAiDirty as p,useTypewriterSpeed as f}from"./AiEditingContext.js";import{aiEffectStyle as x,aiLabelStyle as b}from"./AiUtils.js";import{jsx as h,jsxs as g}from"react/jsx-runtime";function y(y){const v=e(17),{name:A,control:P,defaultValue:F,rules:H,shouldUnregister:V,legend:k,fullWidth:z,stringOnEmpty:B,...j}=y,C=void 0===k||k,I=void 0===z||z,S=void 0!==B&&B,U=i(),D=S?"":null,E=c(A),O=p(A),W=f(),L=j.slotProps?.textField?.sx,M=[x({animate:E,dirty:O,duration:W}),...Array.isArray(L)?L:L?[L]:[]],T=E?"none":void 0;let q;v[0]!==T?(q={display:T},v[0]=T,v[1]=q):q=v[1];const w=[...Array.isArray(L)?L:L?[L]:[],q];let G;v[2]!==P||v[3]!==A?(G={control:P,name:A},v[2]=P,v[3]=A,v[4]=G):G=v[4];const J=d(G);let K;v[5]!==J?(K=()=>{if(J){const e=s(J,"HH:mm");return e.isValid()?e:null}return null},v[5]=J,v[6]=K):K=v[6];const[N,Q]=m.useState(K);if(J&&!N){const e=s(J,"HH:mm");e.isValid()&&Q(e)}let R;v[7]!==D?(R=(e,r,o)=>{if(!e||!e.isValid())return r(D),o(),void Q(null);r(s(e).format("HH:mm")),o(),Q(e)},v[7]=D,v[8]=R):R=v[8];const X=R,Y=e=>{const{field:i,fieldState:s}=e,{error:m}=s;return g(r,{fullWidth:I,sx:{margin:"auto",position:"relative"},children:[C&&h(o,{sx:{color:O?b.color:void 0},children:j.label}),h(l,{format:"HH:mm",ampm:!1,...j,...i,ref:i.ref,formatDensity:"dense",value:N,onChange:e=>{e&&e.isValid()?Q(e):Q(null)},enableAccessibleFieldDOMStructure:!1,onAccept:e=>X(e,i.onChange,i.onBlur),slots:{...j.slots,openPickerIcon:n},slotProps:{openPickerIcon:{color:U.palette.action.active,size:"small"===j.slotProps?.textField?.size?20:24},openPickerButton:{size:j.slotProps?.textField?.size,sx:w},...j.slotProps,textField:{label:C?"":j.label,error:Boolean(m),helperText:m?.message,onBlur:i.onBlur,...j.slotProps?.textField,sx:M}}}),O&&!E&&h(t,{position:"end",sx:{position:"absolute",right:48,top:C?"57%":"38%"},children:h(a,{size:20,color:"rgba(0,122,255,0.8)"})})]})};let Z;return v[9]!==P||v[10]!==j.disabled||v[11]!==F||v[12]!==A||v[13]!==H||v[14]!==V||v[15]!==Y?(Z=h(u,{name:A,control:P,defaultValue:F,disabled:j.disabled,rules:H,shouldUnregister:V,render:Y}),v[9]=P,v[10]=j.disabled,v[11]=F,v[12]=A,v[13]=H,v[14]=V,v[15]=Y,v[16]=Z):Z=v[16],Z}export{y as TimeField};
1
+ import{c as e}from"react/compiler-runtime";import r from"@mui/material/FormLabel";import{TimePicker as o}from"@mui/x-date-pickers";import t from"dayjs";import{ClockIcon as i}from"lucide-react";import l from"react";import{useWatch as s,Controller as n}from"react-hook-form";import{useIsAiEditing as a,useIsAiDirty as d,useTypewriterSpeed as m}from"./AiEditingContext.js";import{aiEffectStyle as u,AI_COLOR as c,AiLabelWrapper as p}from"./AiUtils.js";import{jsx as f,jsxs as b,Fragment as x}from"react/jsx-runtime";function v(v){const y=e(20),{name:g,control:h,defaultValue:P,rules:F,shouldUnregister:A,legend:H,required:k,fullWidth:q,stringOnEmpty:V,...B}=v,j=void 0===H||H,z=void 0!==k&&k,L=void 0===q||q,S=void 0!==V&&V?"":null,C="string"==typeof B.format?B.format:"HH:mm",M=a(g),U=d(g),D=m(),E=e=>{if("string"!=typeof e||""===e.trim())return null;const r=t(e,C,!0);if(r.isValid())return r;const o=t(e,["HH","HH:mm","HH:mm:ss"],!0);return o.isValid()?o:null},I=B.slotProps?.textField?.sx,O=[u({animate:M,dirty:U,duration:D}),...Array.isArray(I)?I:I?[I]:[]],W=M?"none":void 0,T=U?c:void 0;let w;y[0]!==W||y[1]!==T?(w={display:W,color:T},y[0]=W,y[1]=T,y[2]=w):w=y[2];const G=[...Array.isArray(I)?I:I?[I]:[],w];let J;y[3]!==h||y[4]!==g?(J={control:h,name:g},y[3]=h,y[4]=g,y[5]=J):J=y[5];const K=s(J),[N,Q]=l.useState(K);let R;y[6]!==K||y[7]!==E?(R=()=>E(K),y[6]=K,y[7]=E,y[8]=R):R=y[8];const[X,Y]=l.useState(R);let Z;K!==N&&(Q(K),Y(E(K))),y[9]!==S||y[10]!==C?(Z=(e,r,o)=>{if(!e||!e.isValid())return r(S),o(),void Y(null);r(t(e).format(C)),o(),Y(e)},y[9]=S,y[10]=C,y[11]=Z):Z=y[11];const $=Z,_=e=>{const{field:t,fieldState:l}=e,{error:s}=l;return b(x,{children:[j&&B.label&&f(r,{required:!U&&z,sx:{display:"flex",color:U||M?c:void 0,"& .MuiFormLabel-asterisk":{color:M||U?c:"error.main"}},children:f(p,{name:g,label:B.label,required:z})}),f(o,{format:C,ampm:!1,...B,...t,ref:t.ref,formatDensity:"dense",value:X,onChange:e=>{e&&e.isValid()?Y(e):Y(null)},enableAccessibleFieldDOMStructure:!1,onAccept:e=>$(e,t.onChange,t.onBlur),slots:{...B.slots,openPickerIcon:i},slotProps:{openPickerIcon:{color:U?c:void 0,size:"small"===B.slotProps?.textField?.size?18:22},openPickerButton:{size:B.slotProps?.textField?.size,sx:G},...B.slotProps,textField:{required:z,fullWidth:L,label:j?"":f(p,{name:g,label:B.label,required:z}),error:Boolean(s),helperText:s?.message,onBlur:t.onBlur,slotProps:{inputLabel:{required:!U&&void 0,sx:{color:U||M?c:void 0,"& .MuiFormLabel-asterisk":{color:U||M?c:void 0}}}},...B.slotProps?.textField,sx:O}}})]})};let ee;return y[12]!==h||y[13]!==B.disabled||y[14]!==P||y[15]!==g||y[16]!==F||y[17]!==A||y[18]!==_?(ee=f(n,{name:g,control:h,defaultValue:P,disabled:B.disabled,rules:F,shouldUnregister:A,render:_}),y[12]=h,y[13]=B.disabled,y[14]=P,y[15]=g,y[16]=F,y[17]=A,y[18]=_,y[19]=ee):ee=y[19],ee}export{v as TimeField};
@@ -1,8 +1,13 @@
1
1
  import { ListProps } from '@mui/material/List';
2
+ import React from 'react';
2
3
  import { SidebarItem } from './SidebarLayout.js';
3
4
 
4
5
  interface FooterData {
5
- itemsList: SidebarItem[];
6
+ items: SidebarItem[];
7
+ linkComponent?: React.ElementType;
8
+ linkComponentProps?: React.ComponentProps<React.ElementType>;
9
+ onItemSelect?: (item: SidebarItem) => void;
10
+ onItemHover?: (item: SidebarItem) => Promise<void> | void;
6
11
  avatar: {
7
12
  username: string;
8
13
  imageSrc: string;
@@ -13,8 +18,7 @@ interface SidebarFooterProps {
13
18
  footerData: FooterData;
14
19
  sidebarOpen: boolean;
15
20
  setSidebarOpen: (open: boolean) => void;
16
- onSelectItem: (itemID: string, title: string, link: string) => void;
17
- onHoverItem?: (itemID: string, title: string, link: string) => Promise<void> | void;
21
+ collapsible?: boolean;
18
22
  mobile?: boolean;
19
23
  }
20
24
 
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{useTheme as r}from"@mui/material/styles";import o from"@mui/material/Avatar";import t from"@mui/material/Box";import i from"@mui/material/Grid";import m from"@mui/material/IconButton";import a from"@mui/material/List";import n from"@mui/material/ListItem";import l from"@mui/material/ListItemAvatar";import c from"@mui/material/ListItemButton";import s from"@mui/material/ListItemText";import p from"@mui/material/Popover";import d from"@mui/material/Typography";import{ChevronLeftIcon as u,ChevronRightIcon as f}from"lucide-react";import h from"react";import{MenuItems as b}from"../common/MenuItems.js";import{jsx as g,jsxs as v,Fragment as x}from"react/jsx-runtime";function y(y){const I=e(35),{footerData:S,sidebarOpen:_,setSidebarOpen:w,onSelectItem:L,onHoverItem:z,mobile:O}=y,{itemsList:k,avatar:B,listProps:C}=S;let P;I[0]!==C?(P=void 0===C?{}:C,I[0]=C,I[1]=P):P=I[1];const R=P,T=void 0!==O&&O,A=r(),[j,H]=h.useState(null);let D;I[2]===Symbol.for("react.memo_cache_sentinel")?(D=e=>{H(e.currentTarget)},I[2]=D):D=I[2];const E=D;let G;I[3]===Symbol.for("react.memo_cache_sentinel")?(G=()=>{H(null)},I[3]=G):G=I[3];const M=G,U=Boolean(j),q=U?"popover":void 0,F=k.length>0?c:"div";let J,K,N;I[4]===Symbol.for("react.memo_cache_sentinel")?(J=e=>E(e),I[4]=J):J=I[4],I[5]!==T||I[6]!==w||I[7]!==_||I[8]!==A?(K=T?void 0:g(m,{edge:"end",color:"inherit",disableRipple:!0,onClick:e=>{e.stopPropagation(),w(!_)},sx:{position:"absolute",backgroundColor:A.palette.background.paper,border:"1px solid rgba(0, 0, 0, 0.12)",borderRadius:"8px",padding:0,right:_?"5px":"-15px",bottom:"-10px"},children:g(_?u:f,{size:"1rem"})}),I[5]=T,I[6]=w,I[7]=_,I[8]=A,I[9]=K):K=I[9],I[10]===Symbol.for("react.memo_cache_sentinel")?(N={paddingInline:"12px",paddingRight:"32px"},I[10]=N):N=I[10];const Q=B.username||"",V=B.imageSrc||"";let W,X;I[11]!==Q||I[12]!==V?(W=g(l,{children:g(o,{alt:Q,src:V})}),I[11]=Q,I[12]=V,I[13]=W):W=I[13],I[14]===Symbol.for("react.memo_cache_sentinel")?(X={textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},I[14]=X):X=I[14];const Y=B.username||"User";let Z,$,ee,re;return I[15]!==Y?(Z=g(s,{primary:g(d,{sx:X,children:Y})}),I[15]=Y,I[16]=Z):Z=I[16],I[17]!==q||I[18]!==W||I[19]!==Z||I[20]!==F||I[21]!==K?($=g(a,{children:v(n,{component:F,"aria-describedby":q,onClick:J,disableRipple:!0,secondaryAction:K,sx:N,children:[W,Z]})}),I[17]=q,I[18]=W,I[19]=Z,I[20]=F,I[21]=K,I[22]=$):$=I[22],I[23]!==j||I[24]!==q||I[25]!==U||I[26]!==k||I[27]!==R||I[28]!==T||I[29]!==z||I[30]!==L?(ee=k.length>0&&g(p,{id:q,open:U,anchorEl:j,onClose:M,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"bottom",horizontal:"left"},elevation:6,children:g(t,{sx:{width:T?"100dvw":260},children:g(i,{container:!0,size:12,children:g(i,{size:12,children:g(b,{displayItems:k,listType:"footer",onSelectItem:(...e)=>{L(...e),M()},onHoverItem:z,listProps:{...R,sx:{margin:"auto 0",...R.sx||{}}},mobile:T})})})})}),I[23]=j,I[24]=q,I[25]=U,I[26]=k,I[27]=R,I[28]=T,I[29]=z,I[30]=L,I[31]=ee):ee=I[31],I[32]!==$||I[33]!==ee?(re=v(x,{children:[$,ee]}),I[32]=$,I[33]=ee,I[34]=re):re=I[34],re}export{y as SidebarFooter};
1
+ import{c as e}from"react/compiler-runtime";import o from"@mui/material/Avatar";import r from"@mui/material/Box";import t from"@mui/material/Grid";import i from"@mui/material/IconButton";import m from"@mui/material/List";import n from"@mui/material/ListItem";import a from"@mui/material/ListItemAvatar";import l from"@mui/material/ListItemButton";import c from"@mui/material/ListItemText";import p from"@mui/material/Popover";import{useTheme as s}from"@mui/material/styles";import d from"@mui/material/Typography";import{ChevronLeftIcon as u,ChevronRightIcon as h}from"lucide-react";import f from"react";import{MenuItems as b}from"../common/MenuItems.js";import{jsx as v,jsxs as g,Fragment as x}from"react/jsx-runtime";function y(y){const I=e(40),{footerData:S,sidebarOpen:_,setSidebarOpen:k,collapsible:C,mobile:w}=y,P=void 0===C||C,z=void 0!==w&&w,{items:L,linkComponent:O,linkComponentProps:B,onItemSelect:R,onItemHover:A,avatar:T,listProps:j}=S;let H;I[0]!==L?(H=void 0===L?[]:L,I[0]=L,I[1]=H):H=I[1];const D=H;let E;I[2]!==j?(E=void 0===j?{}:j,I[2]=j,I[3]=E):E=I[3];const G=E,M=s(),[U,q]=f.useState(null);let F;I[4]===Symbol.for("react.memo_cache_sentinel")?(F=e=>{q(e.currentTarget)},I[4]=F):F=I[4];const J=F;let K;I[5]===Symbol.for("react.memo_cache_sentinel")?(K=()=>{q(null)},I[5]=K):K=I[5];const N=K,Q=Boolean(U),V=Q?"popover":void 0,W=D.length>0?l:"div";let X,Y,Z;I[6]===Symbol.for("react.memo_cache_sentinel")?(X=e=>J(e),I[6]=X):X=I[6],I[7]!==P||I[8]!==z||I[9]!==k||I[10]!==_||I[11]!==M?(Y=!z&&P?v(i,{edge:"end",color:"inherit",disableRipple:!0,onClick:e=>{e.stopPropagation(),k(!_)},sx:{position:"absolute",backgroundColor:M.palette.background.paper,border:"1px solid rgba(0, 0, 0, 0.12)",borderRadius:"8px",padding:0,right:_?"5px":"-15px",bottom:"-10px"},children:v(_?u:h,{size:"1rem"})}):void 0,I[7]=P,I[8]=z,I[9]=k,I[10]=_,I[11]=M,I[12]=Y):Y=I[12],I[13]===Symbol.for("react.memo_cache_sentinel")?(Z={paddingInline:"12px",paddingRight:"32px"},I[13]=Z):Z=I[13];const $=T.username||"",ee=T.imageSrc||"";let oe,re;I[14]!==$||I[15]!==ee?(oe=v(a,{children:v(o,{alt:$,src:ee})}),I[14]=$,I[15]=ee,I[16]=oe):oe=I[16],I[17]===Symbol.for("react.memo_cache_sentinel")?(re={textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},I[17]=re):re=I[17];const te=T.username||"User";let ie,me,ne,ae;return I[18]!==te?(ie=v(c,{primary:v(d,{sx:re,children:te})}),I[18]=te,I[19]=ie):ie=I[19],I[20]!==V||I[21]!==Y||I[22]!==oe||I[23]!==ie||I[24]!==W?(me=v(m,{children:g(n,{component:W,"aria-describedby":V,onClick:X,disableRipple:!0,secondaryAction:Y,sx:Z,children:[oe,ie]})}),I[20]=V,I[21]=Y,I[22]=oe,I[23]=ie,I[24]=W,I[25]=me):me=I[25],I[26]!==U||I[27]!==V||I[28]!==Q||I[29]!==D||I[30]!==O||I[31]!==B||I[32]!==G||I[33]!==z||I[34]!==A||I[35]!==R?(ne=D.length>0&&v(p,{id:V,open:Q,anchorEl:U,onClose:N,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"bottom",horizontal:"left"},elevation:6,children:v(r,{sx:{width:z?"100dvw":260},children:v(t,{container:!0,size:12,children:v(t,{size:12,children:v(b,{items:D,linkComponent:O,linkComponentProps:B,onItemSelect:e=>{R?.(e),N()},onItemHover:A,listProps:{...G,sx:{margin:"auto 0",...G.sx||{}}},mobile:z})})})})}),I[26]=U,I[27]=V,I[28]=Q,I[29]=D,I[30]=O,I[31]=B,I[32]=G,I[33]=z,I[34]=A,I[35]=R,I[36]=ne):ne=I[36],I[37]!==me||I[38]!==ne?(ae=g(x,{children:[me,ne]}),I[37]=me,I[38]=ne,I[39]=ae):ae=I[39],ae}export{y as SidebarFooter};
@@ -13,9 +13,10 @@ interface SidebarProps {
13
13
  interface SidebarItem {
14
14
  title: string;
15
15
  link: string;
16
- items?: Omit<SidebarItem, 'items'>[];
17
16
  disabled?: boolean;
17
+ items?: Omit<SidebarItem, 'items'>[];
18
18
  icon?: React.ReactNode;
19
+ linkProps?: React.ComponentProps<React.ElementType>;
19
20
  }
20
21
  interface SidebarLogo {
21
22
  fullLogo: string;
@@ -26,19 +27,22 @@ interface SidebarLogo {
26
27
  interface SidebarLayoutProps {
27
28
  open?: boolean;
28
29
  onClose?: () => void;
29
- itemsList: SidebarItem[];
30
+ items: SidebarItem[];
31
+ linkComponent?: React.ElementType;
32
+ linkComponentProps?: React.ComponentProps<React.ElementType>;
30
33
  customHeader?: React.ReactNode;
31
34
  customHeaderCompact?: React.ReactNode;
32
35
  mainLogo?: SidebarLogo;
33
36
  brandLogo?: SidebarLogo;
34
- onSelectMenuItem: (itemID: string, title: string, link: string) => void;
35
- onHoverMenuItem?: (itemID: string, title: string, link: string) => Promise<void> | void;
37
+ onItemSelect?: (item: SidebarItem) => void;
38
+ onItemHover?: (item: SidebarItem) => Promise<void> | void;
36
39
  selectedLink?: string;
37
40
  isLoading?: boolean;
38
- footerData?: FooterData;
41
+ collapsible?: boolean;
42
+ footer?: FooterData;
39
43
  listProps?: ListProps;
40
44
  drawerProps?: DrawerProps;
41
- children: React.ReactNode;
45
+ children?: React.ReactNode;
42
46
  }
43
47
  declare function SidebarLayout(props: SidebarLayoutProps): react_jsx_runtime.JSX.Element;
44
48
 
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import i from"@mui/material/Avatar";import t from"@mui/material/Box";import o from"@mui/material/Divider";import r from"@mui/material/Drawer";import n from"@mui/material/Fab";import a from"@mui/material/IconButton";import m from"@mui/material/List";import l from"@mui/material/ListItem";import s from"@mui/material/ListItemIcon";import d from"@mui/material/ListItemText";import p from"@mui/material/Skeleton";import{styled as c,alpha as u,useTheme as h}from"@mui/material/styles";import f from"@mui/material/useMediaQuery";import{ArrowRightIcon as g,ChevronLeftIcon as b}from"lucide-react";import x,{useEffect as v}from"react";import{MenuItems as w}from"../common/MenuItems.js";import{SidebarFooter as y}from"./SidebarFooter.js";import{jsx as S,jsxs as I,Fragment as k}from"react/jsx-runtime";const L=e=>({width:240,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.enteringScreen}),overflowX:"hidden"}),C=e=>({transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),overflowX:"hidden",width:`calc(${e.spacing(8)})`}),M=c(r,{shouldForwardProp:e=>"open"!==e})(({theme:e,open:i})=>({width:240,flexShrink:0,whiteSpace:"nowrap",boxSizing:"border-box",overflow:"hidden",zIndex:1e3,"& .MuiDrawer-paper":{overflow:"visible"},...i&&{...L(e),"& .MuiDrawer-paper":{...L(e),overflow:"visible"}},...!i&&{...C(e),"& .MuiDrawer-paper":{...C(e),overflow:"visible"}}})),z=c(e=>S(r,{...e}))(()=>({flexShrink:0,whiteSpace:"nowrap",boxSizing:"border-box",overflow:"hidden",zIndex:999,"& .MuiDrawer-paper":{width:"100%"}})),D=c(n)(({theme:e})=>({position:"fixed",bottom:e.spacing(2),left:e.spacing(2),zIndex:e.zIndex.drawer+100,backgroundColor:u(e.palette.grey[800],.3),boxShadow:"none","&:hover":{backgroundColor:u(e.palette.grey[900],.5)}})),O=i=>{const o=e(31);let r,n,a,m,l;o[0]!==i?(({children:r,sidebarOpen:l,setSidebarOpen:m,mainContent:n,...a}=i),o[0]=i,o[1]=r,o[2]=n,o[3]=a,o[4]=m,o[5]=l):(r=o[1],n=o[2],a=o[3],m=o[4],l=o[5]);const s=h();let d;o[6]!==s.breakpoints?(d=s.breakpoints.down("sm"),o[6]=s.breakpoints,o[7]=d):d=o[7];const p=f(d);let c,u,b,v,w;if(o[8]!==p||o[9]!==m?(c=()=>{p&&m(!1)},u=[p,m],o[8]=p,o[9]=m,o[10]=c,o[11]=u):(c=o[10],u=o[11]),x.useEffect(c,u),p){let e,i,t;return o[12]!==m||o[13]!==l?(e=!l&&S(D,{color:"inherit","aria-label":"swipe-sidebar-button",onClick:()=>m(!0),size:"medium",children:S(g,{size:20})}),o[12]=m,o[13]=l,o[14]=e):e=o[14],o[15]!==r||o[16]!==m||o[17]!==l?(i=l&&S(z,{anchor:"left",open:l,onClose:()=>m(!l),onOpen:()=>m(!l),children:r}),o[15]=r,o[16]=m,o[17]=l,o[18]=i):i=o[18],o[19]!==n||o[20]!==e||o[21]!==i?(t=I(k,{children:[e,i,n]}),o[19]=n,o[20]=e,o[21]=i,o[22]=t):t=o[22],t}return o[23]===Symbol.for("react.memo_cache_sentinel")?(b={overflow:"visible"},o[23]=b):b=o[23],o[24]!==r||o[25]!==a||o[26]!==l?(v=S(M,{open:l,elevation:10,variant:"permanent",sx:b,...a,children:r}),o[24]=r,o[25]=a,o[26]=l,o[27]=v):v=o[27],o[28]!==n||o[29]!==v?(w=I(t,{display:"flex",children:[v,n]}),o[28]=n,o[29]=v,o[30]=w):w=o[30],w};function j(r){const n=e(56),{open:c,onClose:u,itemsList:g,customHeader:k,customHeaderCompact:L,mainLogo:C,brandLogo:M,onSelectMenuItem:z,onHoverMenuItem:D,selectedLink:j,isLoading:_,footerData:F,listProps:H,drawerProps:B,children:P}=r,T=void 0!==_&&_;let q;n[0]!==H?(q=void 0===H?{}:H,n[0]=H,n[1]=q):q=n[1];const A=q;let X;n[2]!==B?(X=void 0===B?{}:B,n[2]=B,n[3]=X):X=n[3];const $=X,E=h();let G;n[4]!==E.breakpoints?(G=E.breakpoints.down("sm"),n[4]=E.breakpoints,n[5]=G):G=n[5];const Q=f(G),[W,Y]=x.useState(!0),J=!W&&!Q;let K,N,R,U,V,Z,ee,ie,te;n[6]!==c?(K=()=>{"boolean"==typeof c&&Y(c)},N=[c],n[6]=c,n[7]=K,n[8]=N):(K=n[7],N=n[8]),v(K,N),n[9]!==u||n[10]!==W?(R=()=>{u&&!W&&u()},U=[W,u],n[9]=u,n[10]=W,n[11]=R,n[12]=U):(R=n[11],U=n[12]),v(R,U),n[13]===Symbol.for("react.memo_cache_sentinel")?(V={padding:"1rem 0 0.5rem 0",position:"relative"},n[13]=V):V=n[13],n[14]!==Q||n[15]!==W?(Z=Q&&S(t,{component:"div",sx:{position:"absolute",top:10,right:0,pr:2},children:S(a,{size:"small",onClick:()=>Y(!W),children:S(b,{})})}),n[14]=Q,n[15]=W,n[16]=Z):Z=n[16],n[17]!==C||n[18]!==W?(ee=C&&S(s,{sx:{display:"flex",justifyContent:"center"},children:S(t,{component:"div",children:W?S("img",{src:C.fullLogo||"",alt:"FullLogo",style:{width:"10rem",height:"auto"}}):S(i,{variant:C.variant||"square",alt:"Minilogo",src:C.miniLogo,sx:{padding:"4px"}})})}),n[17]=C,n[18]=W,n[19]=ee):ee=n[19],n[20]!==Z||n[21]!==ee?(ie=I(m,{sx:V,children:[Z,ee]}),n[20]=Z,n[21]=ee,n[22]=ie):ie=n[22],n[23]!==C?(te=C&&S(o,{}),n[23]=C,n[24]=te):te=n[24];const oe=W&&k,re=!W&&L;let ne,ae,me,le,se;return n[25]!==J||n[26]!==T||n[27]!==Q||n[28]!==g||n[29]!==A||n[30]!==D||n[31]!==z||n[32]!==j||n[33]!==W?(ne=T?S(m,{...A,dense:!Q,sx:{margin:"0",marginTop:Q?"auto":1,marginBottom:"auto",...A.sx||{}},children:Array.from({length:Math.min(g?.length||6,8)}).map((e,i)=>I(l,{disableGutters:!0,sx:{px:W?2:1},children:[S(s,{sx:{minWidth:40,display:"flex",justifyContent:"center",paddingY:Q?2:J?.8:.5},children:S(p,{variant:W?"circular":"rounded",width:22,height:22,animation:"wave"})}),W&&S(d,{primary:S(p,{variant:"text",width:150,animation:"wave"}),sx:{my:0}})]},`skeleton-item-${i}`))}):S(w,{displayItems:g??[],listType:"body",iconOnly:J,onSelectItem:(...e)=>{z(...e),Q&&Y(!1)},onHoverItem:D,selectedLink:j,listProps:{dense:!Q,sx:{margin:"0",marginTop:Q?"auto":1,marginBottom:"auto",...A.sx||{}},...A},mobile:Q}),n[25]=J,n[26]=T,n[27]=Q,n[28]=g,n[29]=A,n[30]=D,n[31]=z,n[32]=j,n[33]=W,n[34]=ne):ne=n[34],n[35]!==M||n[36]!==W?(ae=M&&S(m,{children:S(s,{sx:{display:"flex",justifyContent:"center",padding:"10px 0"},children:S(t,{component:"div",children:W?S("img",{src:M.fullLogo||"",alt:"FullLogo",style:{width:"10rem",height:"auto"}}):S(i,{variant:M.variant||"square",alt:"Minilogo",src:M.miniLogo})})})}),n[35]=M,n[36]=W,n[37]=ae):ae=n[37],n[38]===Symbol.for("react.memo_cache_sentinel")?(me=S(o,{}),n[38]=me):me=n[38],n[39]!==F||n[40]!==Q||n[41]!==D||n[42]!==z||n[43]!==W?(le=F&&S(y,{footerData:F,sidebarOpen:W,setSidebarOpen:Y,onHoverItem:D,onSelectItem:(...e)=>{z(...e),Q&&Y(!1)},mobile:Q}),n[39]=F,n[40]=Q,n[41]=D,n[42]=z,n[43]=W,n[44]=le):le=n[44],n[45]!==P||n[46]!==$||n[47]!==W||n[48]!==ie||n[49]!==te||n[50]!==oe||n[51]!==re||n[52]!==ne||n[53]!==ae||n[54]!==le?(se=I(O,{sidebarOpen:W,setSidebarOpen:Y,mainContent:P,...$,children:[ie,te,oe,re,ne,ae,me,le]}),n[45]=P,n[46]=$,n[47]=W,n[48]=ie,n[49]=te,n[50]=oe,n[51]=re,n[52]=ne,n[53]=ae,n[54]=le,n[55]=se):se=n[55],se}export{j as SidebarLayout};
1
+ import{c as e}from"react/compiler-runtime";import i from"@mui/material/Avatar";import o from"@mui/material/Box";import t from"@mui/material/Divider";import r from"@mui/material/Drawer";import n from"@mui/material/Fab";import a from"@mui/material/IconButton";import m from"@mui/material/List";import l from"@mui/material/ListItem";import s from"@mui/material/ListItemIcon";import d from"@mui/material/ListItemText";import p from"@mui/material/Skeleton";import{styled as c,alpha as h,useTheme as u}from"@mui/material/styles";import f from"@mui/material/useMediaQuery";import{ArrowRightIcon as g,ChevronLeftIcon as b}from"lucide-react";import x,{useEffect as v}from"react";import{MenuItems as w}from"../common/MenuItems.js";import{SidebarFooter as y}from"./SidebarFooter.js";import{jsx as k,jsxs as S,Fragment as C}from"react/jsx-runtime";const L=e=>({width:240,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.enteringScreen}),overflowX:"hidden"}),I=e=>({transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),overflowX:"hidden",width:`calc(${e.spacing(8)})`}),z=c(r,{shouldForwardProp:e=>"open"!==e})(({theme:e,open:i})=>({width:240,flexShrink:0,whiteSpace:"nowrap",boxSizing:"border-box",overflow:"hidden",zIndex:1e3,"& .MuiDrawer-paper":{overflow:"visible"},...i&&{...L(e),"& .MuiDrawer-paper":{...L(e),overflow:"visible"}},...!i&&{...I(e),"& .MuiDrawer-paper":{...I(e),overflow:"visible"}}})),M=c(e=>k(r,{...e}))(()=>({flexShrink:0,whiteSpace:"nowrap",boxSizing:"border-box",overflow:"hidden",zIndex:999,"& .MuiDrawer-paper":{width:"100%"}})),O=c(n)(({theme:e})=>({position:"fixed",bottom:e.spacing(2),left:e.spacing(2),zIndex:e.zIndex.drawer+100,backgroundColor:h(e.palette.grey[800],.3),boxShadow:"none","&:hover":{backgroundColor:h(e.palette.grey[900],.5)}})),D=i=>{const t=e(31);let r,n,a,m,l;t[0]!==i?(({children:r,sidebarOpen:l,setSidebarOpen:m,mainContent:n,...a}=i),t[0]=i,t[1]=r,t[2]=n,t[3]=a,t[4]=m,t[5]=l):(r=t[1],n=t[2],a=t[3],m=t[4],l=t[5]);const s=u();let d;t[6]!==s.breakpoints?(d=s.breakpoints.down("sm"),t[6]=s.breakpoints,t[7]=d):d=t[7];const p=f(d);let c,h,b,v,w;if(t[8]!==p||t[9]!==m?(c=()=>{p&&m(!1)},h=[p,m],t[8]=p,t[9]=m,t[10]=c,t[11]=h):(c=t[10],h=t[11]),x.useEffect(c,h),p){let e,i,o;return t[12]!==m||t[13]!==l?(e=!l&&k(O,{color:"inherit","aria-label":"swipe-sidebar-button",onClick:()=>m(!0),size:"medium",children:k(g,{size:20})}),t[12]=m,t[13]=l,t[14]=e):e=t[14],t[15]!==r||t[16]!==m||t[17]!==l?(i=l&&k(M,{anchor:"left",open:l,onClose:()=>m(!l),onOpen:()=>m(!l),children:r}),t[15]=r,t[16]=m,t[17]=l,t[18]=i):i=t[18],t[19]!==n||t[20]!==e||t[21]!==i?(o=S(C,{children:[e,i,n]}),t[19]=n,t[20]=e,t[21]=i,t[22]=o):o=t[22],o}return t[23]===Symbol.for("react.memo_cache_sentinel")?(b={overflow:"visible"},t[23]=b):b=t[23],t[24]!==r||t[25]!==a||t[26]!==l?(v=k(z,{open:l,elevation:10,variant:"permanent",sx:b,...a,children:r}),t[24]=r,t[25]=a,t[26]=l,t[27]=v):v=t[27],t[28]!==n||t[29]!==v?(w=S(o,{display:"flex",children:[v,n]}),t[28]=n,t[29]=v,t[30]=w):w=t[30],w};function j(r){const n=e(57),{open:c,onClose:h,items:g,linkComponent:C,linkComponentProps:L,customHeader:I,customHeaderCompact:z,mainLogo:M,brandLogo:O,onItemSelect:j,onItemHover:P,selectedLink:_,isLoading:F,collapsible:B,footer:H,listProps:T,drawerProps:q,children:A}=r,X=void 0!==F&&F,$=void 0===B||B;let E;n[0]!==T?(E=void 0===T?{}:T,n[0]=T,n[1]=E):E=n[1];const G=E;let Q;n[2]!==q?(Q=void 0===q?{}:q,n[2]=q,n[3]=Q):Q=n[3];const W=Q,Y=u();let J;n[4]!==Y.breakpoints?(J=Y.breakpoints.down("sm"),n[4]=Y.breakpoints,n[5]=J):J=n[5];const K=f(J),[N,R]=x.useState(!0),U=!N&&!K;let V,Z,ee,ie,oe,te,re,ne,ae;n[6]!==c?(V=()=>{"boolean"==typeof c&&R(c)},Z=[c],n[6]=c,n[7]=V,n[8]=Z):(V=n[7],Z=n[8]),v(V,Z),n[9]!==h||n[10]!==N?(ie=()=>{h&&!N&&h()},ee=[N,h],n[9]=h,n[10]=N,n[11]=ee,n[12]=ie):(ee=n[11],ie=n[12]),v(ie,ee),n[13]===Symbol.for("react.memo_cache_sentinel")?(oe={padding:"1rem 0 0.5rem 0",position:"relative"},n[13]=oe):oe=n[13],n[14]!==K||n[15]!==N?(te=K&&k(o,{component:"div",sx:{position:"absolute",top:10,right:0,pr:2},children:k(a,{size:"small",onClick:()=>R(!N),children:k(b,{})})}),n[14]=K,n[15]=N,n[16]=te):te=n[16],n[17]!==M||n[18]!==N?(re=M&&k(s,{sx:{display:"flex",justifyContent:"center"},children:k(o,{component:"div",children:N?k("img",{src:M.fullLogo||"",alt:"FullLogo",style:{width:"10rem",height:"auto"}}):k(i,{variant:M.variant||"square",alt:"Minilogo",src:M.miniLogo,sx:{padding:"4px"}})})}),n[17]=M,n[18]=N,n[19]=re):re=n[19],n[20]!==te||n[21]!==re?(ne=S(m,{sx:oe,children:[te,re]}),n[20]=te,n[21]=re,n[22]=ne):ne=n[22],n[23]!==M?(ae=M&&k(t,{}),n[23]=M,n[24]=ae):ae=n[24];const me=N&&I,le=!N&&z;let se,de,pe,ce,he;return n[25]!==U||n[26]!==X||n[27]!==K||n[28]!==g||n[29]!==C||n[30]!==L||n[31]!==G||n[32]!==P||n[33]!==j||n[34]!==_||n[35]!==N?(se=X?k(m,{...G,dense:!K,sx:{margin:"0",marginTop:K?"auto":1,marginBottom:"auto",...G.sx||{}},children:Array.from({length:Math.min(g?.length||6,8)}).map((e,i)=>S(l,{disableGutters:!0,sx:{px:N?2:1},children:[k(s,{sx:{minWidth:40,display:"flex",justifyContent:"center",paddingY:K?2:U?.8:.5},children:k(p,{variant:N?"circular":"rounded",width:22,height:22,animation:"wave"})}),N&&k(d,{primary:k(p,{variant:"text",width:150,animation:"wave"}),sx:{my:0}})]},`skeleton-item-${i}`))}):k(w,{items:g??[],linkComponent:C,linkComponentProps:L,iconOnly:U,onItemSelect:e=>{j?.(e),K&&R(!1)},onItemHover:P,selectedLink:_,listProps:{dense:!K,sx:{margin:"0",marginTop:K?"auto":1,marginBottom:"auto",...G.sx||{}},...G},mobile:K}),n[25]=U,n[26]=X,n[27]=K,n[28]=g,n[29]=C,n[30]=L,n[31]=G,n[32]=P,n[33]=j,n[34]=_,n[35]=N,n[36]=se):se=n[36],n[37]!==O||n[38]!==N?(de=O&&k(m,{children:k(s,{sx:{display:"flex",justifyContent:"center",padding:"10px 0"},children:k(o,{component:"div",children:N?k("img",{src:O.fullLogo||"",alt:"FullLogo",style:{width:"10rem",height:"auto"}}):k(i,{variant:O.variant||"square",alt:"Minilogo",src:O.miniLogo})})})}),n[37]=O,n[38]=N,n[39]=de):de=n[39],n[40]===Symbol.for("react.memo_cache_sentinel")?(pe=k(t,{}),n[40]=pe):pe=n[40],n[41]!==$||n[42]!==H||n[43]!==K||n[44]!==N?(ce=H&&k(y,{footerData:H,sidebarOpen:N,setSidebarOpen:R,collapsible:$,mobile:K}),n[41]=$,n[42]=H,n[43]=K,n[44]=N,n[45]=ce):ce=n[45],n[46]!==A||n[47]!==W||n[48]!==N||n[49]!==ne||n[50]!==ae||n[51]!==me||n[52]!==le||n[53]!==se||n[54]!==de||n[55]!==ce?(he=S(D,{sidebarOpen:N,setSidebarOpen:R,mainContent:A,...W,children:[ne,ae,me,le,se,de,pe,ce]}),n[46]=A,n[47]=W,n[48]=N,n[49]=ne,n[50]=ae,n[51]=me,n[52]=le,n[53]=se,n[54]=de,n[55]=ce,n[56]=he):he=n[56],he}export{j as SidebarLayout};
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { SnackbarMessage, OptionsObject, SnackbarKey } from 'notistack';
3
2
 
4
3
  interface ISnackbar {
@@ -11,7 +10,7 @@ interface NotifierProps {
11
10
  snackbars: ISnackbar[];
12
11
  removeSnackbar: (key: SnackbarKey) => void;
13
12
  }
14
- declare const Notifier: React.FC<NotifierProps>;
13
+ declare const Notifier: ({ snackbars, removeSnackbar }: NotifierProps) => null;
15
14
 
16
15
  export { Notifier };
17
16
  export type { ISnackbar, NotifierProps };
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import o from"react";import{useSnackbar as t}from"notistack";import r from"@mui/material/IconButton";import{XIcon as i}from"lucide-react";import{jsx as n}from"react/jsx-runtime";let c=[];const a=a=>{const l=e(6),{snackbars:u,removeSnackbar:f}=a,{enqueueSnackbar:k,closeSnackbar:p}=t(),d=m,b=s;let x,y;return l[0]!==p||l[1]!==k||l[2]!==f||l[3]!==u?(x=()=>{u.forEach(e=>{const{message:o,options:t,dismissed:a,manualClose:m}=e;if(a&&p(t?.key),t?.key&&c.includes(t.key))return;const s=m?e=>n(r,{size:"small","aria-label":"close",color:"inherit",onClick:()=>p(e),children:n(i,{size:20})}):t?.action;k(o,{...t,onExited:(e,o)=>{t?.onExited&&t.onExited(e,o),f(o),b(o)},action:s}),t?.key&&d(t.key)})},y=[k,p,u,f],l[0]=p,l[1]=k,l[2]=f,l[3]=u,l[4]=x,l[5]=y):(x=l[4],y=l[5]),o.useEffect(x,y),null};function m(e){c=[...c,e]}function s(e){c=c.filter(o=>o!==e)}export{a as Notifier};
1
+ import{c as e}from"react/compiler-runtime";import o from"@mui/material/IconButton";import{XIcon as r}from"lucide-react";import{useSnackbar as t}from"notistack";import{useEffect as i}from"react";import{jsx as n}from"react/jsx-runtime";let c=[];const a=a=>{const l=e(6),{snackbars:u,removeSnackbar:f}=a,{enqueueSnackbar:k,closeSnackbar:p}=t(),d=m,b=s;let x,y;return l[0]!==p||l[1]!==k||l[2]!==f||l[3]!==u?(x=()=>{u.forEach(e=>{const{message:t,options:i,dismissed:a,manualClose:m}=e;if(a&&p(i?.key),i?.key&&c.includes(i.key))return;const s=m?e=>n(o,{size:"small","aria-label":"close",color:"inherit",onClick:()=>p(e),children:n(r,{size:20})}):i?.action;k(t,{...i,onExited:(e,o)=>{i?.onExited&&i.onExited(e,o),f(o),b(o)},action:s}),i?.key&&d(i.key)})},y=[k,p,u,f],l[0]=p,l[1]=k,l[2]=f,l[3]=u,l[4]=x,l[5]=y):(x=l[4],y=l[5]),i(x,y),null};function m(e){c=[...c,e]}function s(e){c=c.filter(o=>o!==e)}export{a as Notifier};
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { CardsTableProps } from './CardsTableTypes.js';
3
+
4
+ declare function CardsTable<T extends Record<string, unknown>>(props: CardsTableProps<T>): react_jsx_runtime.JSX.Element;
5
+
6
+ export { CardsTable };
@@ -0,0 +1 @@
1
+ import{c as e}from"react/compiler-runtime";import t from"@mui/material/Grid";import r from"@mui/material/Table";import i from"@mui/material/ToggleButton";import n from"@mui/material/ToggleButtonGroup";import o from"@mui/material/Typography";import{Grid2x2Icon as a,Rows2Icon as l}from"lucide-react";import s,{useState as c,useEffect as m,useEffectEvent as d}from"react";import{TableFilterHeader as u}from"../TableComponents/TableFilterHeader.js";import{parseFiltersQuery as p,buildFiltersQuery as f,buildRequestFilters as g}from"../TableComponents/TableFunctions.js";import{localizedTableStrings as h}from"../TableComponents/TableLocales.js";import{CardsTableBody as v}from"./CardsTableBody.js";import{CardsTableFooter as y}from"./CardsTableFooter.js";import{jsx as b,jsxs as T,Fragment as x}from"react/jsx-runtime";function w(w){const F=e(112),{tableInfo:I,fetchInfo:_,filtersQuery:j,cardInfo:z,tableLocale:D,localeStr:B}=w,{tableTitle:V,tableName:L,tableData:O,filters:R,expectedItemCount:q,tableVariant:E,gridSizings:G,defaultShowFilters:M,standardOptions:H,infiniteOptions:N}=I,Q=void 0===L?"":L,W=void 0===E?"standard":E;let k;F[0]!==G?(k=void 0===G?{xs:1,sm:1,md:2,lg:3,xl:4}:G,F[0]=G,F[1]=k):k=F[1];const A=k;let J;F[2]!==H?(J=void 0===H?{customPageItemCount:6,customSelectPages:[6,12,24]}:H,F[2]=H,F[3]=J):J=F[3];const K=J;let U;F[4]!==N?(U=void 0===N?{loadingType:"loadMore",itemsPerPage:6,viewType:"cards",switcherPosition:"right",onViewTypeChange:S}:N,F[4]=N,F[5]=U):U=F[5];const X=U,{fetchData:Y,isDataLoading:Z,areColumnsLoading:$}=_,ee=void 0===j?"":j,te=void 0===D?"en":D,{customPageItemCount:re,customSelectPages:ie}=K,ne=void 0===re?6:re;let oe;F[6]!==ie?(oe=void 0===ie?[6,12,24]:ie,F[6]=ie,F[7]=oe):oe=F[7];const ae=oe,{loadingType:le,itemsPerPage:se,viewType:ce,onViewTypeChange:me,switcherPosition:de}=X,ue=void 0===se?6:se,pe=h[te];let fe;F[8]!==B||F[9]!==pe?(fe={...pe,...B},F[8]=B,F[9]=pe,F[10]=fe):fe=F[10];const ge=fe,[he,ve]=c("dual"===ce?"cards":ce),[ye,be]=c(0),Te="standard"===W?ne:ue,[xe,we]=c(Te??5),Pe=s.useRef(ee);let Ce;F[11]!==R||F[12]!==ee||F[13]!==Q?(Ce=p(Q,ee,R),F[11]=R,F[12]=ee,F[13]=Q,F[14]=Ce):Ce=F[14];const Se=Ce,[Fe,Ie]=c(!1);let _e;F[15]===Symbol.for("react.memo_cache_sentinel")?(_e={prev:!1,next:!1},F[15]=_e):_e=F[15];const[je,ze]=c(_e),De=s.useRef(!0);let Be,Ve,Le;F[16]===Symbol.for("react.memo_cache_sentinel")?(Be=()=>(De.current=!0,()=>{De.current=!1}),Ve=[],F[16]=Be,F[17]=Ve):(Be=F[16],Ve=F[17]),m(Be,Ve),F[18]!==Se||F[19]!==Y||F[20]!==le||F[21]!==xe||F[22]!==Q||F[23]!==W?(Le=async e=>{Ie(!0);const t=f(Q,Se),r=g(Se),i=xe,{next:n,prev:o}=await Y({filters:{query:t,active:Se,filterDto:r},limit:i,direction:e});De.current&&(Pe.current=t,ze({next:n,prev:o}),Ie(!1),"right"===e?be(C):"left"===e?be(P):"reset"===e&&be(0))},F[18]=Se,F[19]=Y,F[20]=le,F[21]=xe,F[22]=Q,F[23]=W,F[24]=Le):Le=F[24];const Oe=Le;let Re;F[25]!==Oe?(Re=()=>Oe("reset"),F[25]=Oe,F[26]=Re):Re=F[26];const qe=d(Re);let Ee,Ge,Me;F[27]!==qe?(Ee=()=>{qe()},F[27]=qe,F[28]=Ee):Ee=F[28],F[29]===Symbol.for("react.memo_cache_sentinel")?(Ge=[],F[29]=Ge):Ge=F[29],m(Ee,Ge),F[30]!==Y||F[31]!==le||F[32]!==xe||F[33]!==Q||F[34]!==W?(Me=async e=>{Ie(!0);const t=f(Q,e),r=g(e),i=xe,{next:n,prev:o}=await Y({filters:{query:t,active:e,filterDto:r},limit:i,direction:"reset"});Pe.current=t,be(0),ze({next:n,prev:o}),Ie(!1)},F[30]=Y,F[31]=le,F[32]=xe,F[33]=Q,F[34]=W,F[35]=Me):Me=F[35];const He=Me;let Ne;F[36]!==Se||F[37]!==Fe||F[38]!==ee||F[39]!==He||F[40]!==Q?(Ne=()=>{if(Fe||!ee)return;f(Q,Se)!==Pe.current&&He(Se)},F[36]=Se,F[37]=Fe,F[38]=ee,F[39]=He,F[40]=Q,F[41]=Ne):Ne=F[41];const Qe=d(Ne);let We,ke,Ae;F[42]!==Qe?(We=()=>{Qe()},F[42]=Qe,F[43]=We):We=F[43],F[44]!==ee?(ke=[ee],F[44]=ee,F[45]=ke):ke=F[45],m(We,ke),F[46]!==Se||F[47]!==Y||F[48]!==Q?(Ae=e=>{const t=parseInt(e.target.value,10);we(t),be(0);const r=f(Q,Se),i=g(Se);Y({filters:{query:r,active:Se,filterDto:i},limit:t,direction:"reset"}).then(e=>{const{next:t,prev:r}=e;ze({next:t,prev:r})})},F[46]=Se,F[47]=Y,F[48]=Q,F[49]=Ae):Ae=F[49];const Je=Ae;let Ke;F[50]!==me?(Ke=(e,t)=>{t&&(ve(t),me?.(t))},F[50]=me,F[51]=Ke):Ke=F[51];const Ue=Ke,Xe=Boolean(Z||$),Ye=!Xe&&0===O.length;let Ze;F[52]===Symbol.for("react.memo_cache_sentinel")?(Ze={width:"100%",justifyContent:"space-between",alignItems:"center",my:2},F[52]=Ze):Ze=F[52];const $e="left"===de?"row-reverse":"row",et="left"===de?"left":"space-between";let tt,rt,it,nt,ot,at,lt,st;F[53]!==V?(tt=V&&b(t,{children:"string"==typeof V?b(o,{variant:"h6",component:"div",children:V}):V}),F[53]=V,F[54]=tt):tt=F[54],F[55]!==Oe?(rt=()=>Oe("reset"),F[55]=Oe,F[56]=rt):rt=F[56],F[57]!==Se||F[58]!==ge.filters||F[59]!==M||F[60]!==R||F[61]!==He||F[62]!==Xe||F[63]!==rt?(it=b(u,{columns:R,activeFilters:Se,onFiltersChange:He,isFetching:Xe,defaultShowFilters:M,handleFetchData:rt,showRefreshButton:!1,localeStr:ge.filters}),F[57]=Se,F[58]=ge.filters,F[59]=M,F[60]=R,F[61]=He,F[62]=Xe,F[63]=rt,F[64]=it):it=F[64],F[65]!==Ue||F[66]!==he||F[67]!==ce?(nt="dual"===ce&&b(t,{children:T(n,{exclusive:!0,value:he,onChange:Ue,"aria-label":"list view",size:"small",sx:{alignSelf:"center"},children:[b(i,{value:"cards",size:"small",color:"primary",sx:{p:"5px"},children:b(a,{size:18})}),b(i,{value:"list",size:"small",color:"primary",sx:{p:"5px"},children:b(l,{size:18})})]})}),F[65]=Ue,F[66]=he,F[67]=ce,F[68]=nt):nt=F[68],F[69]!==$e||F[70]!==et||F[71]!==tt||F[72]!==it||F[73]!==nt?(ot=b(t,{id:"cards-table-header",container:!0,sx:Ze,children:T(t,{container:!0,size:12,direction:$e,justifyContent:et,alignItems:"center",spacing:2,children:[tt,it,nt]})}),F[69]=$e,F[70]=et,F[71]=tt,F[72]=it,F[73]=nt,F[74]=ot):ot=F[74],F[75]===Symbol.for("react.memo_cache_sentinel")?(at={width:"100%",minWidth:150},F[75]=at):at=F[75],F[76]!==ne||F[77]!==ae?(lt={customPageItemCount:ne,customSelectPages:ae},F[76]=ne,F[77]=ae,F[78]=lt):lt=F[78],F[79]!==A||F[80]!==ue||F[81]!==le||F[82]!==he?(st={loadingType:le,gridSizings:A,itemsPerPage:ue,viewType:he},F[79]=A,F[80]=ue,F[81]=le,F[82]=he,F[83]=st):st=F[83];const ct="standard"===W?0:ye;let mt,dt,ut,pt;return F[84]!==z||F[85]!==Xe||F[86]!==Ye||F[87]!==xe||F[88]!==lt||F[89]!==st||F[90]!==ct||F[91]!==O||F[92]!==W?(mt=b(v,{tableVariant:W,tableData:O,cardInfo:z,standardOptions:lt,infiniteOptions:st,page:ct,rowsPerPage:xe,isFetching:Xe,isTableEmpty:Ye}),F[84]=z,F[85]=Xe,F[86]=Ye,F[87]=xe,F[88]=lt,F[89]=st,F[90]=ct,F[91]=O,F[92]=W,F[93]=mt):mt=F[93],F[94]!==ye||F[95]!==ae||F[96]!==q||F[97]!==Je||F[98]!==Oe||F[99]!==Xe||F[100]!==Ye||F[101]!==le||F[102]!==je||F[103]!==xe||F[104]!==W?(dt=b(y,{tableVariant:W,currentPage:ye,expectedItemCount:q,fetchEvent:Oe,nextFetch:je,handleChangeRowsPerPage:Je,isFetching:Xe,isTableEmpty:Ye,loadingType:le,rowsPerPage:xe,customSelectPages:ae}),F[94]=ye,F[95]=ae,F[96]=q,F[97]=Je,F[98]=Oe,F[99]=Xe,F[100]=Ye,F[101]=le,F[102]=je,F[103]=xe,F[104]=W,F[105]=dt):dt=F[105],F[106]!==mt||F[107]!==dt?(ut=T(r,{component:"div",sx:at,children:[mt,dt]}),F[106]=mt,F[107]=dt,F[108]=ut):ut=F[108],F[109]!==ot||F[110]!==ut?(pt=T(x,{children:[ot,ut]}),F[109]=ot,F[110]=ut,F[111]=pt):pt=F[111],pt}function P(e){return Math.max(e-1,0)}function C(e){return e+1}function S(){return null}export{w as CardsTable};
@@ -0,0 +1 @@
1
+ import{c as e}from"react/compiler-runtime";import t from"@mui/material/Box";import r from"@mui/material/Card";import"@mui/material/CardActionArea";import i from"@mui/material/CardContent";import a from"@mui/material/CardMedia";import n from"@mui/material/Grid";import o from"@mui/material/Skeleton";import m from"@mui/material/Typography";import s,{useRef as l,useEffect as c}from"react";import{jsx as d,jsxs as p,Fragment as f}from"react/jsx-runtime";function u(){const t=e(4);let n,s,l,c;return t[0]===Symbol.for("react.memo_cache_sentinel")?(n={minWidth:150,minHeight:300},s=d(a,{component:o,variant:"rectangular",height:210}),t[0]=n,t[1]=s):(n=t[0],s=t[1]),t[2]===Symbol.for("react.memo_cache_sentinel")?(l=d(m,{gutterBottom:!0,variant:"h5",component:"div",children:d(o,{variant:"text",width:"30%"})}),t[2]=l):l=t[2],t[3]===Symbol.for("react.memo_cache_sentinel")?(c=p(r,{sx:n,children:[s,p(i,{children:[l,d(m,{variant:"body2",color:"text.secondary",children:d(o,{variant:"text",width:"70%"})})]})]}),t[3]=c):c=t[3],c}function h(r){const i=e(59),{tableVariant:a,tableData:o,cardInfo:m,infiniteOptions:h,page:x,rowsPerPage:g,isFetching:y,isTableEmpty:S}=r,b=l(!1),[v,I]=s.useState(y);let w,$;i[0]!==y?(w=()=>{let e;if(y){const t=b.current?200:0;e=setTimeout(()=>I(!0),t)}else e=setTimeout(()=>{b.current=!0,I(!1)},0);return()=>clearTimeout(e)},$=[y],i[0]=y,i[1]=w,i[2]=$):(w=i[1],$=i[2]),c(w,$);const{CardItem:_,ListItem:C,SkeletonItem:T,SkeletonListItem:k}=m;let A,P,z,D,B,L,j;if(i[3]!==_||i[4]!==T||i[5]!==h||i[6]!==S||i[7]!==x||i[8]!==g||i[9]!==v||i[10]!==o||i[11]!==a){const{gridSizings:e,viewType:r,itemsPerPage:m}=h||{};P=m;const s=void 0===e?{xs:1,sm:1,md:2,lg:3,xl:4}:e;let l;L=void 0===r?"cards":r,i[18]!==x||i[19]!==g||i[20]!==o?(l=g>0?o.slice(x*g,x*g+g):o,i[18]=x,i[19]=g,i[20]=o,i[21]=l):l=i[21];const c=l;z=v?"standard"===a?g-c.length:P??0:0;const p=`repeat(${s.xs}, minmax(0, 1fr))`,f=`repeat(${s.sm}, minmax(0, 1fr))`,y=`repeat(${s.md}, minmax(0, 1fr))`,b=`repeat(${s.lg}, minmax(0, 1fr))`,I=`repeat(${s.xl}, minmax(0, 1fr))`;let w,$;i[22]!==y||i[23]!==b||i[24]!==I||i[25]!==p||i[26]!==f?(w={xs:p,sm:f,md:y,lg:b,xl:I},i[22]=y,i[23]=b,i[24]=I,i[25]=p,i[26]=f,i[27]=w):w=i[27],A=w,i[28]!==_||i[29]!==c||i[30]!==S||i[31]!==v?(D=!v&&!S&&_&&c.map((e,r)=>d(t,{sx:{animation:"fadeIn 0.25s ease-in-out forwards",animationDelay:.05*r+"s",opacity:0},children:d(_,{...e})},String(e.id))),i[28]=_,i[29]=c,i[30]=S,i[31]=v,i[32]=D):D=i[32],i[33]!==T?($=(e,t)=>d(n,{size:12,sx:{animation:"fadeIn 0.25s ease-in-out forwards",opacity:0},children:d(T||u,{})},`grid-skeleton-${t}`),i[33]=T,i[34]=$):$=i[34],B=Array.from({length:v?g:z},$),i[3]=_,i[4]=T,i[5]=h,i[6]=S,i[7]=x,i[8]=g,i[9]=v,i[10]=o,i[11]=a,i[12]=A,i[13]=P,i[14]=z,i[15]=D,i[16]=B,i[17]=L}else A=i[12],P=i[13],z=i[14],D=i[15],B=i[16],L=i[17];i[35]!==D||i[36]!==B?(j=p(f,{children:[D,B]}),i[35]=D,i[36]=B,i[37]=j):j=i[37];const E=j;let F;i[38]!==_||i[39]!==C||i[40]!==T||i[41]!==k||i[42]!==S||i[43]!==P||i[44]!==z||i[45]!==o||i[46]!==L?(F=()=>{const e="cards"===L?_:C,r="cards"===L?T:k;return p(f,{children:[!S&&e&&o.map((r,i)=>d(t,{sx:{animation:"fadeIn 0.25s ease-in-out forwards",animationDelay:i%(P||20)*.03+"s",opacity:0},children:d(e,{...r})},String(r.id))),Array.from({length:z},(e,t)=>d(n,{size:12,sx:{animation:"fadeIn 0.25s ease-in-out forwards",opacity:0},children:d(r||u,{})},`grid-skeleton-${t}`))]})},i[38]=_,i[39]=C,i[40]=T,i[41]=k,i[42]=S,i[43]=P,i[44]=z,i[45]=o,i[46]=L,i[47]=F):F=i[47];const G=F,H=`cards-table-body-${a}`,M="cards"===L?A:"1fr";let O,V,W,q;return i[48]===Symbol.for("react.memo_cache_sentinel")?(O={"0%":{opacity:0},"100%":{opacity:1}},i[48]=O):O=i[48],i[49]!==M?(V={display:"grid",gridTemplateColumns:M,gap:"32px 32px","@keyframes fadeIn":O},i[49]=M,i[50]=V):V=i[50],i[51]!==G||i[52]!==E||i[53]!==a?(W="standard"===a?E:G(),i[51]=G,i[52]=E,i[53]=a,i[54]=W):W=i[54],i[55]!==W||i[56]!==H||i[57]!==V?(q=d(t,{id:H,component:"div",sx:V,children:W}),i[55]=W,i[56]=H,i[57]=V,i[58]=q):q=i[58],q}export{h as CardsTableBody,u as DefaultSkeletonCard};
@@ -0,0 +1 @@
1
+ import{c as e}from"react/compiler-runtime";import t from"@mui/material/Box";import n from"@mui/material/Button";import i from"@mui/material/Grid";import r from"@mui/material/IconButton";import{useTheme as a}from"@mui/material/styles";import o from"@mui/material/TableFooter";import c from"@mui/material/TablePagination";import l from"@mui/material/TableRow";import{ChevronRightIcon as m,ChevronLeftIcon as s}from"lucide-react";import{jsx as h,jsxs as u,Fragment as g}from"react/jsx-runtime";function p(n){const i=e(18),{nextFetch:o,handleDataFetch:c,isFetching:l,count:p,page:d,rowsPerPage:f}=n,P=a(),F=p<=f,x=0===d||!1===o.prev;let b;i[0]!==p||i[1]!==f?(b=Number.isFinite(p)&&Number.isFinite(f)&&f>0?Math.ceil(p/f):0,i[0]=p,i[1]=f,i[2]=b):b=i[2];const y=d>=b-1||!1===o.next;let w;i[3]!==c||i[4]!==x?(w=async()=>{x||await c("left")},i[3]=c,i[4]=x,i[5]=w):w=i[5];const C=w;let T;i[6]!==c||i[7]!==y?(T=async()=>{y||await c("right")},i[6]=c,i[7]=y,i[8]=T):T=i[8];const S=T;let v,E;return i[9]===Symbol.for("react.memo_cache_sentinel")?(v={flexShrink:0,ml:2,mr:1},i[9]=v):v=i[9],i[10]!==C||i[11]!==S||i[12]!==l||i[13]!==x||i[14]!==y||i[15]!==F||i[16]!==P?(E=h(t,{component:"div",sx:v,children:F?h("span",{}):u(g,{children:[h(r,{onClick:C,disabled:x||l,"aria-label":"previous-page",children:"rtl"===P.direction?h(m,{size:20}):h(s,{size:20})}),h(r,{onClick:S,disabled:y||l,"aria-label":"next-page",children:"rtl"===P.direction?h(s,{size:20}):h(m,{size:20})})]})}),i[10]=C,i[11]=S,i[12]=l,i[13]=x,i[14]=y,i[15]=F,i[16]=P,i[17]=E):E=i[17],E}const d=t=>{const n=e(14),{expectedItemCount:i,rowsPerPage:r,customSelectPages:a,currentPage:m,isFetching:s,nextFetch:u,handleFetchData:g,handleChangeRowsPerPage:d}=t;let f;n[0]!==g||n[1]!==s||n[2]!==u?(f=e=>h(p,{...e,handleDataFetch:g,nextFetch:u,isFetching:s}),n[0]=g,n[1]=s,n[2]=u,n[3]=f):f=n[3];const P=f;let x,b,y;return n[4]!==a?(x=a??[6,12],n[4]=a,n[5]=x):x=n[5],n[6]===Symbol.for("react.memo_cache_sentinel")?(b={paddingY:"1rem !important",borderBottom:"none"},n[6]=b):b=n[6],n[7]!==P||n[8]!==m||n[9]!==i||n[10]!==d||n[11]!==r||n[12]!==x?(y=h(o,{children:h(l,{children:h(c,{count:i,rowsPerPage:r,rowsPerPageOptions:x,page:m,onPageChange:F,onRowsPerPageChange:d,ActionsComponent:P,sx:b})})}),n[7]=P,n[8]=m,n[9]=i,n[10]=d,n[11]=r,n[12]=x,n[13]=y):y=n[13],y},f=t=>{const r=e(5),{fetchEvent:a,nextFetch:o,isFetching:c,isTableEmpty:l,loadingType:m}=t;if(!o.next||c||l||"infiniteScroll"===m)return null;let s;r[0]!==a?(s=async()=>{await a("right")},r[0]=a,r[1]=s):s=r[1];const u=s;let g,p;return r[2]===Symbol.for("react.memo_cache_sentinel")?(g={justifyContent:"center",alignItems:"center",my:4},r[2]=g):g=r[2],r[3]!==u?(p=h(i,{container:!0,sx:g,children:h(n,{variant:"contained",color:"primary",onClick:u,children:"Carica altri"})}),r[3]=u,r[4]=p):p=r[4],p};function P(t){const n=e(15),{tableVariant:i,fetchEvent:r,nextFetch:a,loadingType:o,expectedItemCount:c,rowsPerPage:l,customSelectPages:m,currentPage:s,isFetching:u,isTableEmpty:g,handleChangeRowsPerPage:p}=t;if(g)return null;if("infinite"===i){let e;return n[0]!==r||n[1]!==u||n[2]!==g||n[3]!==o||n[4]!==a?(e=h(f,{nextFetch:a,isFetching:u,isTableEmpty:g,fetchEvent:r,loadingType:o}),n[0]=r,n[1]=u,n[2]=g,n[3]=o,n[4]=a,n[5]=e):e=n[5],e}{let e;return n[6]!==s||n[7]!==m||n[8]!==c||n[9]!==r||n[10]!==p||n[11]!==u||n[12]!==a||n[13]!==l?(e=h(d,{expectedItemCount:c,rowsPerPage:l,customSelectPages:m,currentPage:s,isFetching:u,nextFetch:a,handleFetchData:r,handleChangeRowsPerPage:p}),n[6]=s,n[7]=m,n[8]=c,n[9]=r,n[10]=p,n[11]=u,n[12]=a,n[13]=l,n[14]=e):e=n[14],e}}function F(){return null}export{P as CardsTableFooter};
@@ -1,14 +1,16 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- import { DynamicColumns, FetchInfoProps, QueryInfoProps, i18nStrings } from '../TableComponents/TableTypes.js';
2
+ import { FetchInfoProps } from '../RealtimeTable/RealtimeTableTypes.js';
3
+ export { FetchDataResponse } from '../RealtimeTable/RealtimeTableTypes.js';
4
+ import { DynamicColumns, i18nStrings } from '../TableComponents/TableTypes.js';
3
5
 
4
6
  type CardFilters<T> = Omit<DynamicColumns<T>, 'Cell' | 'ColumnCell' | 'Tooltip' | 'maxWidth' | 'visible'>;
5
7
  type InfiniteViewType = 'list' | 'cards' | 'dual';
6
- interface DynamicCardInfo<T extends Record<string, any>> {
8
+ interface CardsTableInfo<T extends Record<string, unknown>> {
7
9
  tableTitle?: React.ReactNode | string;
8
10
  tableName?: string;
9
11
  tableData: Array<T>;
10
12
  setTableData?: Dispatch<SetStateAction<T[]>>;
11
- filtersDef: CardFilters<T>[];
13
+ filters: CardFilters<T>[];
12
14
  expectedItemCount: number;
13
15
  tableVariant: 'standard' | 'infinite';
14
16
  gridSizings?: {
@@ -18,7 +20,6 @@ interface DynamicCardInfo<T extends Record<string, any>> {
18
20
  lg: number;
19
21
  xl: number;
20
22
  };
21
- filterMode?: 'single' | 'multiple';
22
23
  defaultShowFilters?: boolean;
23
24
  showEmptyTable?: boolean;
24
25
  standardOptions?: {
@@ -33,29 +34,19 @@ interface DynamicCardInfo<T extends Record<string, any>> {
33
34
  switcherPosition?: 'left' | 'right';
34
35
  };
35
36
  }
36
- interface CardItemInfo<T extends Record<string, any>> {
37
+ interface CardItemInfo<T extends Record<string, unknown>> {
37
38
  CardItem: (item: T) => React.ReactNode;
38
39
  ListItem?: (item: T) => React.ReactNode;
39
40
  SkeletonItem?: () => React.ReactNode;
40
41
  SkeletonListItem?: () => React.ReactNode;
41
42
  }
42
- /**
43
- * Interface for the props accepted by the CardsTable component.
44
- * @param T - The type of the data to be displayed in the table.
45
- * @param tableInfo - The information about the table.
46
- * @param fetchInfo - The information about the fetching of the data.
47
- * @param cardInfo - The information about the cards to be displayed.
48
- * @param queryInfo - The information about the query.
49
- * @param tableLocale - The locale of the table.
50
- * @param localeStr - The localized strings.
51
- */
52
- interface DynamicCardsProps<T extends Record<string, any>> {
53
- tableInfo: DynamicCardInfo<T>;
54
- fetchInfo: FetchInfoProps;
43
+ interface CardsTableProps<T extends Record<string, unknown>> {
44
+ tableInfo: CardsTableInfo<T>;
45
+ fetchInfo: FetchInfoProps<T>;
55
46
  cardInfo: CardItemInfo<T>;
56
- queryInfo?: QueryInfoProps;
47
+ filtersQuery?: string;
57
48
  tableLocale?: 'en' | 'it';
58
49
  localeStr?: i18nStrings;
59
50
  }
60
51
 
61
- export type { CardFilters, CardItemInfo, DynamicCardInfo, DynamicCardsProps, InfiniteViewType };
52
+ export type { CardFilters, CardItemInfo, CardsTableInfo, CardsTableProps, InfiniteViewType };
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import t from"@mui/material/Checkbox";import i from"@mui/material/Divider";import o from"@mui/material/Grid";import n from"@mui/material/IconButton";import l from"@mui/material/ListItemIcon";import r from"@mui/material/ListItemText";import c from"@mui/material/Menu";import a from"@mui/material/MenuItem";import m from"@mui/material/MenuList";import d from"@mui/material/Skeleton";import s from"@mui/material/Table";import h from"@mui/material/TableBody";import u from"@mui/material/TableRow";import p from"@mui/material/Typography";import{SquareCheckIcon as b,SquareIcon as f}from"lucide-react";import g from"react";import{StyledTableCell as v,variantHeightMap as x,getMaxWidth as k,DynamicCellCreator as y,TableCommonHeaderProps as w}from"../TableComponents/TableCommonBody.js";import{jsxs as T,jsx as C}from"react/jsx-runtime";function S(S){const M=e(116),{tableData:$,activeFilters:F,visibleColumns:P,tableActions:W,tableActionsActive:_,quickSelectedRows:L,setQuickSelectedRows:D,rowsPerPage:j,isFetching:q,onRowClick:z,autoSizeHeight:B,emptyTablePlaceholderSrc:X,emptyTablePlaceholderText:H,isTableEmpty:Y,hideFooter:N,variant:Q}=S;let E;M[0]!==W?(E=W||{},M[0]=W,M[1]=E):E=M[1];const{quickActions:G,contextMenuActions:O}=E;let J;M[2]!==G?(J=G||{},M[2]=G,M[3]=J):J=M[3];const{actionList:K,onAction:U}=J;let V;M[4]!==K?(V=void 0===K?[]:K,M[4]=K,M[5]=V):V=M[5];const Z=V;let ee;M[6]!==O?(ee=O||{},M[6]=O,M[7]=ee):ee=M[7];const{actionList:te,onAction:ie}=ee;let oe;M[8]!==te?(oe=void 0===te?[]:te,M[8]=te,M[9]=oe):oe=M[9];const ne=oe,[le,re]=g.useState(void 0),[ce,ae]=g.useState(null);let me;M[10]!==Z||M[11]!==ce||M[12]!==ne.length||M[13]!==_||M[14]!==$?(me=e=>{if(_)return;if(0===Z.length&&0===ne.length)return;e.preventDefault();const t=e.currentTarget.getAttribute("id");if(t){const e=$.find(e=>String(e.id)===t);re(e)}else re(void 0);ae(null===ce?{mouseX:e.clientX+2,mouseY:e.clientY-6}:null);const i=document.getSelection();if(i&&i.rangeCount>0){const e=i.getRangeAt(0);setTimeout(()=>{i.addRange(e)})}},M[10]=Z,M[11]=ce,M[12]=ne.length,M[13]=_,M[14]=$,M[15]=me):me=M[15];const de=me;let se;M[16]===Symbol.for("react.memo_cache_sentinel")?(se=()=>{ae(null),re(void 0)},M[16]=se):se=M[16];const he=se;let ue,pe,be,fe,ge,ve;if(M[17]!==B||M[18]!==X||M[19]!==H||M[20]!==de||M[21]!==N||M[22]!==Y||M[23]!==z||M[24]!==L||M[25]!==j||M[26]!==le?.id||M[27]!==D||M[28]!==_||M[29]!==$||M[30]!==Q||M[31]!==P){let e;ge=j>0?$.slice(0,j):$,fe=B?5-ge.length||0:j-ge.length,M[38]!==L?(e=e=>L.some(t=>t.id===e.id),M[38]=L,M[39]=e):e=M[39];const i=e;let n;M[40]!==le?.id?(n=e=>le?.id===e.id,M[40]=le?.id,M[41]=n):n=M[41];const l=n;let r;M[42]!==D?(r=e=>{D(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},M[42]=D,M[43]=r):r=M[43];const c=r;pe=Y?"div":g.Fragment;const a=56*j+(N?52:0);let m,s,h,w;if(M[44]!==X||M[45]!==H?(m=X?C("img",{src:X,alt:H||"No Data Found",loading:"lazy",style:{width:"auto",height:"300px",objectFit:"cover"}}):C(p,{children:H||"No Data Found"}),M[44]=X,M[45]=H,M[46]=m):m=M[46],M[47]!==a||M[48]!==m?(s=C(o,{component:"div",container:!0,justifyContent:"center",alignItems:"center",minHeight:a,children:m}),M[47]=a,M[48]=m,M[49]=s):s=M[49],ue=s,M[50]!==j||M[51]!==_||M[52]!==Q||M[53]!==P){let e;M[55]!==_||M[56]!==Q||M[57]!==P?(e=(e,t)=>T(u,{component:"div",children:[_&&C(v,{component:"div",padding:"checkbox",sx:{height:x[Q],width:56},children:C(d,{animation:"wave",variant:"rounded",height:"dense"===Q?void 0:20})},`skeleton-checkbox-${t}`),P.length>0?P.map(e=>{const t=k(e);return!1===e.visible?null:C(v,{component:"div",sx:{height:x[Q],maxWidth:t},children:C(d,{animation:"wave",variant:"rounded",height:"dense"===Q?void 0:20})},`skeleton-cell-${e.accessor}`)}):C(v,{component:"div",colSpan:_?1:0,sx:{height:x[Q]}})]},`skeleton-${t}`),M[55]=_,M[56]=Q,M[57]=P,M[58]=e):e=M[58],h=Array.from({length:j},e),M[50]=j,M[51]=_,M[52]=Q,M[53]=P,M[54]=h}else h=M[54];be=h,M[59]!==c||M[60]!==de||M[61]!==l||M[62]!==i||M[63]!==z||M[64]!==_||M[65]!==Q||M[66]!==P?(w=e=>T(u,{id:e.id,component:"div",hover:!0,selected:i(e)||l(e),onClick:_?()=>c(e):()=>z?.(e),onContextMenu:de,"aria-label":`table-row-${e.id}`,sx:{minHeight:56,transition:"background-color 0.1s ease","&:hover":{cursor:"pointer",transition:"background-color 0s ease"}},children:[_&&C(v,{component:"div",padding:"checkbox",onClick:R,sx:{height:x[Q]},children:C(t,{color:"primary",onChange:()=>c(e),checked:i(e),icon:C(f,{size:22}),checkedIcon:C(b,{size:22})})},`checkbox-${e.id}`),P.map((t,i)=>!1===t.visible?null:C(y,{row:e,column:t,variant:Q},`custom-cell-${t.accessor}-${i}`))]},`table-row-${e.id}`),M[59]=c,M[60]=de,M[61]=l,M[62]=i,M[63]=z,M[64]=_,M[65]=Q,M[66]=P,M[67]=w):w=M[67],ve=(ge??[]).filter(I).filter(A).map(w),M[17]=B,M[18]=X,M[19]=H,M[20]=de,M[21]=N,M[22]=Y,M[23]=z,M[24]=L,M[25]=j,M[26]=le?.id,M[27]=D,M[28]=_,M[29]=$,M[30]=Q,M[31]=P,M[32]=ue,M[33]=pe,M[34]=be,M[35]=fe,M[36]=ge,M[37]=ve}else ue=M[32],pe=M[33],be=M[34],fe=M[35],ge=M[36],ve=M[37];const xe=ve,ke=null!==ce&&!_;let ye,we,Te,Ce,Se,Re,Ae,Ie;M[68]===Symbol.for("react.memo_cache_sentinel")?(ye=e=>{e.preventDefault(),he()},M[68]=ye):ye=M[68],M[69]!==ce?(we=null!==ce?{top:ce.mouseY,left:ce.mouseX}:void 0,M[69]=ce,M[70]=we):we=M[70],M[71]===Symbol.for("react.memo_cache_sentinel")?(Te={minWidth:100,maxWidth:240,p:0,outline:"none","& .MuiMenuItem-root":{gap:.5},"& .MuiListItemText-root":{overflow:"hidden",maxWidth:"100%"},"& .MuiListItemText-root .MuiTypography-root":{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",display:"block",maxWidth:"100%"}},M[71]=Te):Te=M[71],M[72]!==F||M[73]!==ne||M[74]!==ie||M[75]!==le?(Ce=ne?.map((e,t)=>T(a,{onClick:()=>{ie&&le&&ie(e.type,[le],F),he()},children:[e.icon&&C(l,{children:C(n,{color:e.color||"inherit",disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,sx:{p:0},children:e.icon})}),C(r,{children:C(p,{variant:"body2",color:e.color||"inherit",noWrap:!0,title:e.label,children:e.label})})]},`context-header-item-${t}`)),M[72]=F,M[73]=ne,M[74]=ie,M[75]=le,M[76]=Ce):Ce=M[76],M[77]!==Z||M[78]!==ne.length?(Se=ne.length>0&&Z.length>0&&C(i,{}),M[77]=Z,M[78]=ne.length,M[79]=Se):Se=M[79],M[80]!==Z||M[81]!==F||M[82]!==U||M[83]!==le?(Re=Z?.map((e,t)=>T(a,{onClick:()=>{U&&le&&U(e.type,[le],F),he()},children:[e.icon&&C(l,{children:C(n,{color:e.color||"inherit",disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,sx:{p:0},children:e.icon})}),C(r,{children:C(p,{variant:"body2",color:e.color||"inherit",noWrap:!0,title:e.label,children:e.label})})]},`context-menu-item-${t}`)),M[80]=Z,M[81]=F,M[82]=U,M[83]=le,M[84]=Re):Re=M[84],M[85]!==Ce||M[86]!==Se||M[87]!==Re?(Ae=T(m,{sx:Te,children:[Ce,Se,Re]}),M[85]=Ce,M[86]=Se,M[87]=Re,M[88]=Ae):Ae=M[88],M[89]!==ke||M[90]!==we||M[91]!==Ae?(Ie=C(c,{open:ke,onClose:he,onContextMenu:ye,anchorReference:"anchorPosition",anchorPosition:we,children:Ae}),M[89]=ke,M[90]=we,M[91]=Ae,M[92]=Ie):Ie=M[92];const Me=Ie,$e=q?be:xe;let Fe,Pe;M[93]!==fe||M[94]!==q?(Fe=!q&&fe>0&&C(u,{component:"div",sx:{height:56*fe,borderBottom:"1px solid",borderColor:"divider"}}),M[93]=fe,M[94]=q,M[95]=Fe):Fe=M[95],M[96]!==Me||M[97]!==$e||M[98]!==Fe?(Pe=T(h,{component:"div",children:[$e,Me,Fe]}),M[96]=Me,M[97]=$e,M[98]=Fe,M[99]=Pe):Pe=M[99];const We=Pe;let _e,Le,De,je;M[100]===Symbol.for("react.memo_cache_sentinel")?(_e={overflowX:"auto",minWidth:150},M[100]=_e):_e=M[100],M[101]!==Y?(Le=Y?{role:"table",style:{display:"table",width:"100%"}}:{},M[101]=Y,M[102]=Le):Le=M[102],M[103]!==ge||M[104]!==L||M[105]!==D||M[106]!==_||M[107]!==P?(De=C(w,{currentPageRows:ge,visibleColumns:P,quickActions:_,quickSelectedRows:L,setQuickSelectedRows:D}),M[103]=ge,M[104]=L,M[105]=D,M[106]=_,M[107]=P,M[108]=De):De=M[108],M[109]!==pe||M[110]!==Le||M[111]!==De?(je=C(pe,{...Le,children:De}),M[109]=pe,M[110]=Le,M[111]=De,M[112]=je):je=M[112];const qe=Y?ue:We;let ze;return M[113]!==je||M[114]!==qe?(ze=T(s,{component:"div",sx:_e,children:[je,qe]}),M[113]=je,M[114]=qe,M[115]=ze):ze=M[115],ze}function R(e){e.stopPropagation()}function A(e,t,i){return i.findIndex(t=>t.id===e.id)===t}function I(e){return null!=e}export{S as RealTimeTableBody};
1
+ import{c as e}from"react/compiler-runtime";import t from"@mui/material/Table";import o from"@mui/material/TableBody";import i from"@mui/material/TableContainer";import n,{useEffect as l}from"react";import{TableCommonHeaderProps as c,EmtpyTableBody as a,SkeletonRows as r,TableDataRows as s,TableContextMenu as d,BlankTableRow as m}from"../TableComponents/TableCommonBody.js";import{jsx as u,jsxs as b}from"react/jsx-runtime";function h(h){const v=e(77),{tableData:g,activeFilters:f,onFiltersChange:p,visibleColumns:C,tableActions:w,tableActionsActive:A,quickSelectedRows:S,setQuickSelectedRows:T,rowsPerPage:x,isFetching:y,onRowClick:k,autoSizeHeight:R,emptyTablePlaceholder:P,isTableEmpty:F,hideFooter:M,showNavigateIcon:L,variant:q,localeStr:B}=h,[_,H]=n.useState(!1);let I,N,Q;v[0]!==y?(I=()=>{let e;if(y)return e=setTimeout(()=>{H(!0)},200),()=>clearTimeout(e);e=setTimeout(()=>{H(!1)},0)},N=[y],v[0]=y,v[1]=I,v[2]=N):(I=v[1],N=v[2]),l(I,N),v[3]!==w?(Q=w||{},v[3]=w,v[4]=Q):Q=v[4];const{quickActions:X,contextMenuActions:Y}=Q;let j;v[5]!==X?(j=X||{},v[5]=X,v[6]=j):j=v[6];const{actionList:D,onAction:W}=j;let z;v[7]!==D?(z=void 0===D?[]:D,v[7]=D,v[8]=z):z=v[8];const E=z;let G;v[9]!==Y?(G=Y||{},v[9]=Y,v[10]=G):G=v[10];const{actionList:J,onAction:K}=G;let O;v[11]!==J?(O=void 0===J?[]:J,v[11]=J,v[12]=O):O=v[12];const U=O,[V,Z]=n.useState(void 0),[$,ee]=n.useState(null);let te;v[13]!==E||v[14]!==$||v[15]!==U||v[16]!==A||v[17]!==g?(te=e=>{if(A)return;if(0===E.length&&0===U.length)return;e.preventDefault();const t=e.currentTarget.getAttribute("id");if(t){const e=g.find(e=>String(e.id)===t);Z(e)}else Z(void 0);ee(null===$?{mouseX:e.clientX+2,mouseY:e.clientY-6}:null);const o=document.getSelection();if(o&&o.rangeCount>0){const e=o.getRangeAt(0);setTimeout(()=>{o.addRange(e)})}},v[13]=E,v[14]=$,v[15]=U,v[16]=A,v[17]=g,v[18]=te):te=v[18];const oe=te;let ie;v[19]===Symbol.for("react.memo_cache_sentinel")?(ie=()=>{ee(null),Z(void 0)},v[19]=ie):ie=v[19];const ne=ie;let le;v[20]!==x||v[21]!==g?(le=x>0?g.slice(0,x):g,v[20]=x,v[21]=g,v[22]=le):le=v[22];const ce=le,ae=R?5-ce.length||0:x-ce.length;let re;v[23]!==S?(re=e=>S.some(t=>t.id===e.id),v[23]=S,v[24]=re):re=v[24];const se=re;let de;v[25]!==V?.id?(de=e=>V?.id===e.id,v[25]=V?.id,v[26]=de):de=v[26];const me=de;let ue;v[27]!==T?(ue=e=>{T(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},v[27]=T,v[28]=ue):ue=v[28];const be=ue,he=F?"div":n.Fragment,ve=F?"visible":"auto";let ge,fe,pe,Ce,we,Ae,Se,Te;return v[29]!==ve?(ge={bgcolor:"background.paper",tableLayout:"fixed",width:"100%",overflowY:ve,scrollbarWidth:"thin",scrollbarColor:"silver transparent"},v[29]=ve,v[30]=ge):ge=v[30],v[31]===Symbol.for("react.memo_cache_sentinel")?(fe={overflowX:"auto",minWidth:150,"@keyframes fadeIn":{"0%":{opacity:0},"100%":{opacity:1}}},v[31]=fe):fe=v[31],v[32]!==F?(pe=F?{role:"table",style:{display:"table",width:"100%"}}:{},v[32]=F,v[33]=pe):pe=v[33],v[34]!==f||v[35]!==ce||v[36]!==B||v[37]!==p||v[38]!==S||v[39]!==T||v[40]!==A||v[41]!==C?(Ce=u(c,{currentPageRows:ce,visibleColumns:C,quickActions:A,quickSelectedRows:S,setQuickSelectedRows:T,activeFilters:f,onFiltersChange:p,localeStr:B}),v[34]=f,v[35]=ce,v[36]=B,v[37]=p,v[38]=S,v[39]=T,v[40]=A,v[41]=C,v[42]=Ce):Ce=v[42],v[43]!==he||v[44]!==pe||v[45]!==Ce?(we=u(he,{...pe,children:Ce}),v[43]=he,v[44]=pe,v[45]=Ce,v[46]=we):we=v[46],v[47]!==E||v[48]!==f||v[49]!==ae||v[50]!==$||v[51]!==U||v[52]!==ce||v[53]!==P||v[54]!==be||v[55]!==oe||v[56]!==M||v[57]!==me||v[58]!==se||v[59]!==F||v[60]!==W||v[61]!==K||v[62]!==k||v[63]!==x||v[64]!==V||v[65]!==L||v[66]!==_||v[67]!==A||v[68]!==q||v[69]!==C?(Ae=F?u(a,{rowsPerPage:x,emptyTablePlaceholder:P,hideFooter:M}):b(o,{component:"div",children:[_?u(r,{rowsPerPage:x,tableActionsActive:A,visibleColumns:C,variant:q}):u(s,{currentPageRows:ce,visibleColumns:C,tableActionsActive:A,variant:q,isQuickSelected:se,isContextSelected:me,onRowClick:k,handleCheckBoxSelect:be,handleContextMenu:oe,showNavigateIcon:L}),u(d,{contextMenu:$,selectedContextRow:V,contextMenuActionList:U,actionHeaderList:E,onContextMenuAction:K,onActionHeader:W,activeFilters:f,tableActionsActive:A,handleCloseContextMenu:ne}),!_&&ae>0&&u(m,{blankRows:ae})]}),v[47]=E,v[48]=f,v[49]=ae,v[50]=$,v[51]=U,v[52]=ce,v[53]=P,v[54]=be,v[55]=oe,v[56]=M,v[57]=me,v[58]=se,v[59]=F,v[60]=W,v[61]=K,v[62]=k,v[63]=x,v[64]=V,v[65]=L,v[66]=_,v[67]=A,v[68]=q,v[69]=C,v[70]=Ae):Ae=v[70],v[71]!==we||v[72]!==Ae?(Se=b(t,{component:"div",sx:fe,children:[we,Ae]}),v[71]=we,v[72]=Ae,v[73]=Se):Se=v[73],v[74]!==ge||v[75]!==Se?(Te=u(i,{className:"RealTimeTable-Body",sx:ge,children:Se}),v[74]=ge,v[75]=Se,v[76]=Te):Te=v[76],Te}export{h as RealTimeTableBody};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import t from"@mui/material/Box";import n from"@mui/material/Grid";import o from"@mui/material/IconButton";import{useTheme as r}from"@mui/material/styles";import a from"@mui/material/TablePagination";import"react";import{ChevronRightIcon as i,ChevronLeftIcon as l}from"lucide-react";import{jsx as c,jsxs as s,Fragment as m}from"react/jsx-runtime";function u(n){const a=e(12),{unfetchedCount:u,handleDataFetch:d,isFetching:p}=n,h=r();let g;a[0]!==d?(g=async()=>{await d("left")},a[0]=d,a[1]=g):g=a[1];const f=g;let C;a[2]!==d?(C=async()=>{await d("right")},a[2]=d,a[3]=C):C=a[3];const x=C;let P,b;return a[4]===Symbol.for("react.memo_cache_sentinel")?(P={flexShrink:0,ml:2,mr:1},a[4]=P):P=a[4],a[5]!==f||a[6]!==x||a[7]!==p||a[8]!==h||a[9]!==u.nextCount||a[10]!==u.prevCount?(b=c(t,{component:"div",sx:P,children:0===u.nextCount&&0===u.prevCount?c("span",{}):s(m,{children:[c(o,{onClick:f,disabled:u.prevCount<=0||p,"aria-label":"previous-page",children:"rtl"===h.direction?c(i,{size:20}):c(l,{size:20})}),c(o,{onClick:x,disabled:u.nextCount<=0||p,"aria-label":"next-page",children:"rtl"===h.direction?c(l,{size:20}):c(i,{size:20})})]})}),a[5]=f,a[6]=x,a[7]=p,a[8]=h,a[9]=u.nextCount,a[10]=u.prevCount,a[11]=b):b=a[11],b}const d=t=>{const o=e(23),{expectedRowCount:r,rowsPerPage:i,handleChangeRowsPerPage:l,customSelectPages:s,localeStr:m,isTableEmpty:d,hideFooter:h,stickyFooter:g,footerVariant:f,handleDataFetch:C,isFetching:x,unfetchedCount:P}=t;if(d&&h)return null;let b;o[0]!==C||o[1]!==x||o[2]!==P?(b=()=>c(u,{handleDataFetch:C,unfetchedCount:P,isFetching:x}),o[0]=C,o[1]=x,o[2]=P,o[3]=b):b=o[3];const y=b;let w;o[4]!==s||o[5]!==f?(w="standard"===f?s??[5,10]:[],o[4]=s,o[5]=f,o[6]=w):w=o[6];const F=w,k="standard"===f?m?.rowsPerPage:"";let v;o[7]!==m?.elements?(v=e=>{const{count:t}=e;return`${t} ${m?.elements}`},o[7]=m?.elements,o[8]=v):v=o[8];const R=v,z=g?"sticky":"static";let S;o[9]!==z?(S={display:"flex",justifyContent:"flex-end",alignItems:"center",borderRadius:"0 0 8px 8px",position:z,bottom:0,backgroundColor:"background.paper",zIndex:1},o[9]=z,o[10]=S):S=o[10];const D=y;let T,_,I;return o[11]===Symbol.for("react.memo_cache_sentinel")?(T={border:"none"},o[11]=T):T=o[11],o[12]!==r||o[13]!==l||o[14]!==R||o[15]!==k||o[16]!==i||o[17]!==F||o[18]!==D?(_=c(a,{component:"div",count:r,rowsPerPage:i,rowsPerPageOptions:F,page:0,onPageChange:p,onRowsPerPageChange:l,labelRowsPerPage:k,labelDisplayedRows:R,ActionsComponent:D,sx:T}),o[12]=r,o[13]=l,o[14]=R,o[15]=k,o[16]=i,o[17]=F,o[18]=D,o[19]=_):_=o[19],o[20]!==S||o[21]!==_?(I=c(n,{className:"RealTimeTable-Footer",component:"div",size:12,container:!0,"data-sticky":!0,sx:S,children:_}),o[20]=S,o[21]=_,o[22]=I):I=o[22],I};function p(){return null}export{d as RealTimeTableFooter,u as TablePaginationActions};
1
+ import{c as e}from"react/compiler-runtime";import t from"@mui/material/Box";import o from"@mui/material/Grid";import n from"@mui/material/IconButton";import{useTheme as r}from"@mui/material/styles";import a from"@mui/material/TablePagination";import{ChevronRightIcon as i,ChevronLeftIcon as c}from"lucide-react";import"react";import{jsx as l,jsxs as s,Fragment as m}from"react/jsx-runtime";function d(o){const a=e(18),{nextFetch:d,handleDataFetch:p,isFetching:u,count:h,page:g,rowsPerPage:f}=o,b=r(),P=h<=f,x=0===g||!1===d.prev;let F;a[0]!==h||a[1]!==f?(F=Number.isFinite(h)&&Number.isFinite(f)&&f>0?Math.ceil(h/f):0,a[0]=h,a[1]=f,a[2]=F):F=a[2];const w=g>=F-1||!1===d.next;let y;a[3]!==p||a[4]!==x?(y=async()=>{x||await p("left")},a[3]=p,a[4]=x,a[5]=y):y=a[5];const T=y;let C;a[6]!==p||a[7]!==w?(C=async()=>{w||await p("right")},a[6]=p,a[7]=w,a[8]=C):C=a[8];const k=C;let $,R;return a[9]===Symbol.for("react.memo_cache_sentinel")?($={flexShrink:0,ml:2,mr:1},a[9]=$):$=a[9],a[10]!==T||a[11]!==k||a[12]!==u||a[13]!==x||a[14]!==w||a[15]!==P||a[16]!==b?(R=l(t,{component:"div",sx:$,children:P?l("span",{}):s(m,{children:[l(n,{onClick:T,disabled:x||u,"aria-label":"previous-page",children:"rtl"===b.direction?l(i,{size:20}):l(c,{size:20})}),l(n,{onClick:k,disabled:w||u,"aria-label":"next-page",children:"rtl"===b.direction?l(c,{size:20}):l(i,{size:20})})]})}),a[10]=T,a[11]=k,a[12]=u,a[13]=x,a[14]=w,a[15]=P,a[16]=b,a[17]=R):R=a[17],R}const p=t=>{const n=e(29),{currentPage:r,nextFetch:i,expectedRowCount:c,rowsPerPage:s,handleChangeRowsPerPage:m,customSelectPages:p,localeStr:h,isTableEmpty:g,hideFooter:f,stickyFooter:b,footerVariant:P,handleFetchData:x,isFetching:F}=t;if(g&&f)return null;const w=Math.max(0,Math.ceil(Number.isFinite(c)&&Number.isFinite(s)&&s>0?c/s:0));let y;n[0]!==x||n[1]!==F||n[2]!==i?(y=e=>l(d,{...e,handleDataFetch:x,nextFetch:i,isFetching:F}),n[0]=x,n[1]=F,n[2]=i,n[3]=y):y=n[3];const T=y;let C;n[4]!==p||n[5]!==w||n[6]!==P?(C="standard"===P&&w>0?p??[5,10]:[],n[4]=p,n[5]=w,n[6]=P,n[7]=C):C=n[7];const k=C,$="standard"===P?h?.rowsPerPage:"";let R;n[8]!==c||n[9]!==P||n[10]!==h?.elements||n[11]!==h?.moreThanTo||n[12]!==h?.of?(R=e=>{const{from:t,to:o,count:n,page:r}=e;if(0!==c)return"standard"===P?`${t}-${o} ${h?.of} ${-1!==n?n:`${h?.moreThanTo} ${o}`}`:`${h?.elements} ${r+1}`},n[8]=c,n[9]=P,n[10]=h?.elements,n[11]=h?.moreThanTo,n[12]=h?.of,n[13]=R):R=n[13];const z=R,v=b?"sticky":"static";let N;n[14]!==v?(N={display:"flex",justifyContent:"flex-end",alignItems:"center",borderRadius:"0 0 8px 8px",position:v,bottom:0,backgroundColor:"background.paper",zIndex:1},n[14]=v,n[15]=N):N=n[15];const S=r||0;let D,_,I;return n[16]===Symbol.for("react.memo_cache_sentinel")?(D={border:"none"},n[16]=D):D=n[16],n[17]!==T||n[18]!==c||n[19]!==m||n[20]!==z||n[21]!==$||n[22]!==s||n[23]!==k||n[24]!==S?(_=l(a,{component:"div",count:c,rowsPerPage:s,rowsPerPageOptions:k,page:S,onPageChange:u,onRowsPerPageChange:m,labelRowsPerPage:$,labelDisplayedRows:z,ActionsComponent:T,sx:D}),n[17]=T,n[18]=c,n[19]=m,n[20]=z,n[21]=$,n[22]=s,n[23]=k,n[24]=S,n[25]=_):_=n[25],n[26]!==N||n[27]!==_?(I=l(o,{className:"RealTimeTable-Footer",component:"div",size:12,container:!0,"data-sticky":!0,sx:N,children:_}),n[26]=N,n[27]=_,n[28]=I):I=n[28],I};function u(){return null}export{p as RealTimeTableFooter,d as TablePaginationActions};
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { RealtimeTableProps } from './RealtimeTableTypes.js';
3
3
 
4
- declare function RealtimeTable<T extends Record<string, any>>(props: RealtimeTableProps<T>): react_jsx_runtime.JSX.Element;
4
+ declare function RealtimeTable<T extends Record<string, unknown>>(props: RealtimeTableProps<T>): react_jsx_runtime.JSX.Element;
5
5
 
6
6
  export { RealtimeTable };
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import t from"@mui/material/Grid";import o from"@mui/material/TableContainer";import a,{useEffect as r}from"react";import{TableActionHeader as l}from"../TableComponents/TableActionHeader.js";import{TableFilterHeader as s}from"../TableComponents/TableFilterHeader.js";import{localizedTableStrings as i}from"../TableComponents/TableLocales.js";import{RealTimeTableBody as n}from"./RealTimeTableBody.js";import{RealTimeTableFooter as c}from"./RealTimeTableFooter.js";import{jsx as u,jsxs as m}from"react/jsx-runtime";function d(d){const b=e(95),{tableInfo:f,fetchInfo:h,queryInfo:p,tableActions:v,tableButtons:C,onRowClick:S,onRowsPerPageChange:g,onColumnsPopoverClose:w,tableLocale:T,localeStr:y}=d,k=void 0===T?"en":T,{tableData:F,columns:R,savedVisibleColumns:P,expectedRowCount:x,variant:A,filterMode:B,defaultShowFilters:j,showRefreshButton:D,emptyTablePlaceholderSrc:H,emptyTablePlaceholderText:_,showVisibleColumnsButton:q,paginationOptions:z}=f,N=void 0===A?"standard":A,Q=void 0===B?"single":B,V=void 0===D||D,I=void 0===q||q;let L;b[0]!==z?(L=void 0===z?{}:z,b[0]=z,b[1]=L):L=b[1];const E=L,{stickyHeader:M,stickyFooter:G,customPageRowCount:O,customSelectPages:W,autoSizeHeight:Y,hideFooter:J,footerVariant:K}=E,U=void 0===M||M,X=void 0===G||G,Z=void 0===Y||Y,$=void 0!==J&&J,ee=void 0===K?"standard":K,{fetchData:te,fetchAllData:oe,isFetching:ae}=h;let re;b[2]!==p?(re=p||{},b[2]=p,b[3]=re):re=b[3];const{filtersQuery:le}=re;let se;b[4]!==v?(se=v||{},b[4]=v,b[5]=se):se=b[5];const{quickActions:ie}=se;let ne;b[6]!==C?(ne=C||{},b[6]=C,b[7]=ne):ne=b[7];const{refreshButton:ce}=ne,ue=i[k];let me;b[8]!==y||b[9]!==ue?(me={...ue,...y},b[8]=y,b[9]=ue,b[10]=me):me=b[10];const de=me,[be,fe]=a.useState(!1);let he;b[11]===Symbol.for("react.memo_cache_sentinel")?(he=[],b[11]=he):he=b[11];const[pe,ve]=a.useState(he),[Ce,Se]=a.useState(R);let ge,we;b[12]!==R||b[13]!==P?(ge=()=>{!function(e,t,o){if(!t||0===t.length)return;const a=t.filter(t=>e.some(e=>e.accessor===t));o(e.map(e=>{const t=a.find(t=>t===e.accessor);return{...e,visible:Boolean(t)||Boolean(e.visible??!0),locked:Boolean(e.locked)}}))}(R,P,Se)},we=[R,P],b[12]=R,b[13]=P,b[14]=ge,b[15]=we):(ge=b[14],we=b[15]),r(ge,we);const[Te,ye]=a.useState(Number(O)||Number(x));let ke;b[16]===Symbol.for("react.memo_cache_sentinel")?(ke={nextCount:0,prevCount:0},b[16]=ke):ke=b[16];const[Fe,Re]=a.useState(ke);let Pe;b[17]!==pe||b[18]!==te||b[19]!==Te?(Pe=async(e,t)=>{const o=t??Te,{nextCount:a,prevCount:r}=await te(o,pe,e);Re({nextCount:a,prevCount:r})},b[17]=pe,b[18]=te,b[19]=Te,b[20]=Pe):Pe=b[20];const xe=Pe;let Ae;b[21]!==be||b[22]!==xe||b[23]!==g?(Ae=e=>{const t=Number(e.target.value);ye(t),g?.(t),be&&xe("reset",t)},b[21]=be,b[22]=xe,b[23]=g,b[24]=Ae):Ae=b[24];const Be=Ae,[je,De]=a.useState(!1);let He;b[25]===Symbol.for("react.memo_cache_sentinel")?(He=[],b[25]=He):He=b[25];const[_e,qe]=a.useState(He);let ze;b[26]!==xe?(ze=async e=>{"first"===e&&await xe()},b[26]=xe,b[27]=ze):ze=b[27];const Ne=ze,Qe=!ae&&(0===x||0===F.length),Ve=U?"sticky":"static";let Ie,Le,Ee,Me;b[28]!==Ve?(Ie={position:Ve,top:0,zIndex:2,backgroundColor:"background.paper",borderRadius:"8px 8px 0 0"},b[28]=Ve,b[29]=Ie):Ie=b[29],b[30]!==pe||b[31]!==R||b[32]!==de.filters||b[33]!==j||b[34]!==Ne||b[35]!==Q||b[36]!==le||b[37]!==ce||b[38]!==V?(Le=u(s,{columns:R,filterMode:Q,defaultShowFilters:j,filtersQuery:le,activeFilters:pe,setActiveFilters:ve,fetchEvent:Ne,setAreFiltersLoaded:fe,refreshButton:ce,showRefreshButton:V,localeStr:de.filters}),b[30]=pe,b[31]=R,b[32]=de.filters,b[33]=j,b[34]=Ne,b[35]=Q,b[36]=le,b[37]=ce,b[38]=V,b[39]=Le):Le=b[39],b[40]!==pe||b[41]!==Ce||b[42]!==de.header||b[43]!==x||b[44]!==oe||b[45]!==ae||b[46]!==w||b[47]!==ie||b[48]!==_e||b[49]!==I||b[50]!==je||b[51]!==C?(Ee=u(l,{fetchAllData:oe,expectedRowCount:x,currentColumns:Ce,setCurrentColumns:Se,isFetching:ae,quickActions:ie,tableActionsActive:je,setQuickActions:De,quickSelectedRows:_e,setQuickSelectedRows:qe,activeFilters:pe,tableButtons:C,onColumnsPopoverClose:w,showVisibleColumnsButton:I,localeStr:de.header}),b[40]=pe,b[41]=Ce,b[42]=de.header,b[43]=x,b[44]=oe,b[45]=ae,b[46]=w,b[47]=ie,b[48]=_e,b[49]=I,b[50]=je,b[51]=C,b[52]=Ee):Ee=b[52],b[53]!==Ie||b[54]!==Le||b[55]!==Ee?(Me=m(t,{className:"RealTimeTable-Header",component:"div",container:!0,size:12,"data-sticky":!0,sx:Ie,children:[Le,Ee]}),b[53]=Ie,b[54]=Le,b[55]=Ee,b[56]=Me):Me=b[56];const Ge=Qe?"visible":"auto";let Oe,We,Ye,Je,Ke;return b[57]!==Ge?(Oe={bgcolor:"background.paper",tableLayout:"fixed",width:"100%",overflowY:Ge,scrollbarWidth:"thin",scrollbarColor:"silver transparent"},b[57]=Ge,b[58]=Oe):Oe=b[58],b[59]!==pe||b[60]!==Z||b[61]!==Ce||b[62]!==H||b[63]!==_||b[64]!==$||b[65]!==ae||b[66]!==Qe||b[67]!==S||b[68]!==_e||b[69]!==Te||b[70]!==v||b[71]!==je||b[72]!==F||b[73]!==N?(We=u(n,{tableData:F,activeFilters:pe,visibleColumns:Ce,rowsPerPage:Te,tableActionsActive:je,quickSelectedRows:_e,setQuickSelectedRows:qe,tableActions:v,isFetching:ae,onRowClick:S,autoSizeHeight:Z,emptyTablePlaceholderSrc:H,emptyTablePlaceholderText:_,isTableEmpty:Qe,hideFooter:$,variant:N}),b[59]=pe,b[60]=Z,b[61]=Ce,b[62]=H,b[63]=_,b[64]=$,b[65]=ae,b[66]=Qe,b[67]=S,b[68]=_e,b[69]=Te,b[70]=v,b[71]=je,b[72]=F,b[73]=N,b[74]=We):We=b[74],b[75]!==Oe||b[76]!==We?(Ye=u(o,{className:"RealTimeTable-Body",sx:Oe,children:We}),b[75]=Oe,b[76]=We,b[77]=Ye):Ye=b[77],b[78]!==de.footer||b[79]!==W||b[80]!==x||b[81]!==ee||b[82]!==Be||b[83]!==xe||b[84]!==$||b[85]!==ae||b[86]!==Qe||b[87]!==Fe||b[88]!==Te||b[89]!==X?(Je=u(c,{unfetchedCount:Fe,handleDataFetch:xe,isFetching:ae,hideFooter:$,stickyFooter:X,isTableEmpty:Qe,expectedRowCount:x,rowsPerPage:Te,handleChangeRowsPerPage:Be,customSelectPages:W,localeStr:de.footer,footerVariant:ee}),b[78]=de.footer,b[79]=W,b[80]=x,b[81]=ee,b[82]=Be,b[83]=xe,b[84]=$,b[85]=ae,b[86]=Qe,b[87]=Fe,b[88]=Te,b[89]=X,b[90]=Je):Je=b[90],b[91]!==Me||b[92]!==Ye||b[93]!==Je?(Ke=m(t,{container:!0,size:12,spacing:0,children:[Me,Ye,Je]}),b[91]=Me,b[92]=Ye,b[93]=Je,b[94]=Ke):Ke=b[94],Ke}export{d as RealtimeTable};
1
+ import{c as e}from"react/compiler-runtime";import t from"@mui/material/Grid";import o,{useEffectEvent as a,useEffect as r}from"react";import{TableActionHeader as s}from"../TableComponents/TableActionHeader.js";import{TableFilterHeader as i}from"../TableComponents/TableFilterHeader.js";import{loadSavedColumns as n,parseFiltersQuery as l,buildFiltersQuery as c,buildRequestFilters as u}from"../TableComponents/TableFunctions.js";import{localizedTableStrings as m}from"../TableComponents/TableLocales.js";import{RealTimeTableBody as d}from"./RealTimeTableBody.js";import{RealTimeTableFooter as h}from"./RealTimeTableFooter.js";import{jsx as f,jsxs as b}from"react/jsx-runtime";function p(p){const v=e(120),{tableInfo:g,fetchInfo:C,filtersQuery:w,tableActions:S,tableButtons:F,onRowClick:R,onRowsPerPageChange:y,onColumnsPopoverClose:T,tableLocale:P,localeStr:k}=p,x=void 0===w?"":w,A=void 0===P?"en":P,{tableName:B,tableData:D,columns:N,savedVisibleColumns:j,expectedRowCount:q,currentPage:H,variant:_,defaultShowFilters:z,showRefreshButton:I,emptyTablePlaceholder:V,showVisibleColumnsButton:L,paginationOptions:Q,showNavigateIcon:E}=g;let G;v[0]!==D?(G=void 0===D?[]:D,v[0]=D,v[1]=G):G=v[1];const O=G,J=void 0===H?0:H,K=void 0===_?"standard":_,M=void 0===I||I,U=void 0===L||L;let W;v[2]!==Q?(W=void 0===Q?{}:Q,v[2]=Q,v[3]=W):W=v[3];const X=W,Y=void 0===E||E,{stickyHeader:Z,stickyFooter:$,customPageRowCount:ee,customSelectPages:te,autoSizeHeight:oe,hideFooter:ae,footerVariant:re}=X,se=void 0===Z||Z,ie=void 0===$||$,ne=void 0===oe||oe,le=void 0!==ae&&ae,ce=void 0===re?"standard":re,{fetchData:ue,fetchAllData:me,isDataLoading:de,areColumnsLoading:he}=C;let fe;v[4]!==S?(fe=S||{},v[4]=S,v[5]=fe):fe=v[5];const{quickActions:be}=fe;let pe;v[6]!==F?(pe=F||{},v[6]=F,v[7]=pe):pe=v[7];const{refreshButton:ve}=pe,ge=m[A];let Ce;v[8]!==k||v[9]!==ge?(Ce={...ge,...k},v[8]=k,v[9]=ge,v[10]=Ce):Ce=v[10];const we=Ce;let Se;v[11]!==N||v[12]!==j?(Se=n(N,j),v[11]=N,v[12]=j,v[13]=Se):Se=v[13];const[Fe,Re]=o.useState(Se);let ye;v[14]!==N||v[15]!==j?(ye=()=>{Re(n(N,j))},v[14]=N,v[15]=j,v[16]=ye):ye=v[16];const Te=a(ye);let Pe,ke;v[17]!==Te?(Pe=()=>{Te()},v[17]=Te,v[18]=Pe):Pe=v[18],v[19]!==N?(ke=[N],v[19]=N,v[20]=ke):ke=v[20],r(Pe,ke);const[xe,Ae]=o.useState(Number(ee)||Number(q)),Be=o.useRef("");let De;v[21]!==N||v[22]!==x||v[23]!==B?(De=l(B,x,N),v[21]=N,v[22]=x,v[23]=B,v[24]=De):De=v[24];const Ne=De,[je,qe]=o.useState(!1);let He;v[25]===Symbol.for("react.memo_cache_sentinel")?(He={prev:!1,next:!1},v[25]=He):He=v[25];const[_e,ze]=o.useState(He),Ie=o.useRef(!0);let Ve,Le,Qe;v[26]===Symbol.for("react.memo_cache_sentinel")?(Ve=()=>(Ie.current=!0,()=>{Ie.current=!1}),Le=[],v[26]=Ve,v[27]=Le):(Ve=v[26],Le=v[27]),r(Ve,Le),v[28]!==Ne||v[29]!==ue||v[30]!==xe||v[31]!==B?(Qe=async(e,t)=>{const o=t?.rows??xe,a=t?.active??Ne,r=t?.query??c(B,a),s=t?.filterDto??u(a);qe(!0);const{next:i,prev:n}=await ue({filters:{query:r,active:a,filterDto:s},limit:o,direction:e});Ie.current&&(Be.current=r,ze({next:i,prev:n}),qe(!1))},v[28]=Ne,v[29]=ue,v[30]=xe,v[31]=B,v[32]=Qe):Qe=v[32];const Ee=Qe,Ge=a(Ee);let Oe,Je,Ke;v[33]!==he||v[34]!==Ge?(Oe=()=>{he||Ge()},v[33]=he,v[34]=Ge,v[35]=Oe):Oe=v[35],v[36]!==he?(Je=[he],v[36]=he,v[37]=Je):Je=v[37],r(Oe,Je),v[38]!==Ee?(Ke=async e=>{Ee("reset",{active:e})},v[38]=Ee,v[39]=Ke):Ke=v[39];const Me=Ke;let Ue;v[40]!==Ne||v[41]!==je||v[42]!==x||v[43]!==Ee||v[44]!==B?(Ue=()=>{if(je||""===x)return;const e=c(B,Ne);e!==Be.current&&Ee("reset",{query:e})},v[40]=Ne,v[41]=je,v[42]=x,v[43]=Ee,v[44]=B,v[45]=Ue):Ue=v[45];const We=a(Ue);let Xe,Ye,Ze;v[46]!==We?(Xe=()=>{We()},v[46]=We,v[47]=Xe):Xe=v[47],v[48]!==x?(Ye=[x],v[48]=x,v[49]=Ye):Ye=v[49],r(Xe,Ye),v[50]!==Ee||v[51]!==y?(Ze=e=>{const t=Number(e.target.value);Ae(t),y?.(t),Ee("reset",{rows:t})},v[50]=Ee,v[51]=y,v[52]=Ze):Ze=v[52];const $e=Ze,[et,tt]=o.useState(!1);let ot;v[53]===Symbol.for("react.memo_cache_sentinel")?(ot=[],v[53]=ot):ot=v[53];const[at,rt]=o.useState(ot),st=Boolean(de||he),it=!st&&(0===q||0===O.length),nt=se?"sticky":"static";let lt,ct,ut,mt,dt,ht,ft;return v[54]!==nt?(lt={position:nt,top:0,zIndex:2,backgroundColor:"background.paper",borderRadius:"8px 8px 0 0"},v[54]=nt,v[55]=lt):lt=v[55],v[56]!==Ne||v[57]!==N||v[58]!==we.filters||v[59]!==z||v[60]!==Ee||v[61]!==st||v[62]!==Me||v[63]!==ve||v[64]!==M?(ct=f(i,{columns:N,activeFilters:Ne,onFiltersChange:Me,handleFetchData:Ee,isFetching:st,defaultShowFilters:z,refreshButton:ve,showRefreshButton:M,localeStr:we.filters}),v[56]=Ne,v[57]=N,v[58]=we.filters,v[59]=z,v[60]=Ee,v[61]=st,v[62]=Me,v[63]=ve,v[64]=M,v[65]=ct):ct=v[65],v[66]!==Ne||v[67]!==Fe||v[68]!==we.header||v[69]!==q||v[70]!==me||v[71]!==st||v[72]!==T||v[73]!==be||v[74]!==at||v[75]!==U||v[76]!==et||v[77]!==F||v[78]!==B?(ut=f(s,{tableName:B,expectedRowCount:q,currentColumns:Fe,setCurrentColumns:Re,fetchAllData:me,isFetching:st,quickActions:be,tableActionsActive:et,setQuickActions:tt,quickSelectedRows:at,setQuickSelectedRows:rt,activeFilters:Ne,tableButtons:F,onColumnsPopoverClose:T,showVisibleColumnsButton:U,localeStr:we.header}),v[66]=Ne,v[67]=Fe,v[68]=we.header,v[69]=q,v[70]=me,v[71]=st,v[72]=T,v[73]=be,v[74]=at,v[75]=U,v[76]=et,v[77]=F,v[78]=B,v[79]=ut):ut=v[79],v[80]!==lt||v[81]!==ct||v[82]!==ut?(mt=b(t,{className:"RealTimeTable-Header",component:"div",container:!0,size:12,"data-sticky":!0,sx:lt,children:[ct,ut]}),v[80]=lt,v[81]=ct,v[82]=ut,v[83]=mt):mt=v[83],v[84]!==Ne||v[85]!==ne||v[86]!==Fe||v[87]!==we.filters||v[88]!==V||v[89]!==le||v[90]!==st||v[91]!==it||v[92]!==Me||v[93]!==R||v[94]!==at||v[95]!==xe||v[96]!==Y||v[97]!==S||v[98]!==et||v[99]!==O||v[100]!==K?(dt=f(d,{tableData:O,activeFilters:Ne,onFiltersChange:Me,visibleColumns:Fe,rowsPerPage:xe,tableActionsActive:et,quickSelectedRows:at,setQuickSelectedRows:rt,tableActions:S,isFetching:st,onRowClick:R,autoSizeHeight:ne,emptyTablePlaceholder:V,isTableEmpty:it,hideFooter:le,variant:K,showNavigateIcon:Y,localeStr:we.filters}),v[84]=Ne,v[85]=ne,v[86]=Fe,v[87]=we.filters,v[88]=V,v[89]=le,v[90]=st,v[91]=it,v[92]=Me,v[93]=R,v[94]=at,v[95]=xe,v[96]=Y,v[97]=S,v[98]=et,v[99]=O,v[100]=K,v[101]=dt):dt=v[101],v[102]!==we.footer||v[103]!==J||v[104]!==te||v[105]!==q||v[106]!==ce||v[107]!==$e||v[108]!==Ee||v[109]!==le||v[110]!==st||v[111]!==it||v[112]!==_e||v[113]!==xe||v[114]!==ie?(ht=f(h,{currentPage:J,handleFetchData:Ee,nextFetch:_e,isFetching:st,hideFooter:le,stickyFooter:ie,isTableEmpty:it,expectedRowCount:q,rowsPerPage:xe,handleChangeRowsPerPage:$e,customSelectPages:te,localeStr:we.footer,footerVariant:ce}),v[102]=we.footer,v[103]=J,v[104]=te,v[105]=q,v[106]=ce,v[107]=$e,v[108]=Ee,v[109]=le,v[110]=st,v[111]=it,v[112]=_e,v[113]=xe,v[114]=ie,v[115]=ht):ht=v[115],v[116]!==mt||v[117]!==dt||v[118]!==ht?(ft=b(t,{container:!0,size:12,spacing:0,children:[mt,dt,ht]}),v[116]=mt,v[117]=dt,v[118]=ht,v[119]=ft):ft=v[119],ft}export{p as RealtimeTable};
@@ -1,20 +1,38 @@
1
- import { DynamicTableProps, TableInfoProps, ActiveFilter } from '../TableComponents/TableTypes.js';
1
+ import { ActiveFilter, CommonTableProps, TableInfoProps } from '../TableComponents/TableTypes.js';
2
2
 
3
3
  interface FetchDataResponse {
4
- nextCount: number;
5
- prevCount: number;
4
+ next: boolean;
5
+ prev: boolean;
6
6
  }
7
- interface RealtimeTableProps<T> extends Omit<DynamicTableProps<T>, 'fetchInfo'> {
8
- tableInfo: Omit<TableInfoProps<T>, 'staticMode'> & {
9
- savedVisibleColumns?: string[];
10
- };
11
- fetchInfo: {
12
- fetchData: (limit: number, filters: ActiveFilter[], direction?: 'left' | 'right' | 'reset') => Promise<FetchDataResponse>;
13
- fetchAllData?: (filters: ActiveFilter[]) => Promise<T[]>;
14
- isFetching: boolean;
15
- };
7
+ type FilterPayload = {
8
+ query: string;
9
+ active: ActiveFilter[];
10
+ filterDto: Record<string, unknown>;
11
+ };
12
+ interface FetchDataPayload {
13
+ filters: FilterPayload;
14
+ limit: number;
15
+ direction?: 'left' | 'right' | 'reset';
16
+ }
17
+ interface FetchAllDataPayload {
18
+ filters: FilterPayload;
19
+ }
20
+ interface FetchInfoProps<T> {
21
+ fetchData: (payload: FetchDataPayload) => Promise<FetchDataResponse>;
22
+ fetchAllData?: (payload: FetchAllDataPayload) => Promise<T[]>;
23
+ isDataLoading?: boolean;
24
+ areColumnsLoading?: boolean;
25
+ }
26
+ interface RealtimeTableInfoProps<T> extends TableInfoProps<T> {
27
+ savedVisibleColumns?: string[];
28
+ showNavigateIcon?: boolean;
29
+ }
30
+ interface RealtimeTableProps<T> extends CommonTableProps<T> {
31
+ tableInfo: RealtimeTableInfoProps<T>;
32
+ fetchInfo: FetchInfoProps<T>;
33
+ filtersQuery?: string;
16
34
  onRowsPerPageChange?: (rowsPerPage: number) => void;
17
35
  onColumnsPopoverClose?: (visibleColumns: string[]) => Promise<void> | void;
18
36
  }
19
37
 
20
- export type { FetchDataResponse, RealtimeTableProps };
38
+ export type { FetchAllDataPayload, FetchDataPayload, FetchDataResponse, FetchInfoProps, FilterPayload, RealtimeTableInfoProps, RealtimeTableProps };
@@ -0,0 +1 @@
1
+ import{getNestedProperty as e}from"../TableComponents/TableCommonBody.js";function t(t,r){return 0===r.length?t:t.filter(t=>r.every(r=>function(t,r){const n=e(t,r.column);if(null==r.value||""===r.value)return!0;switch(r.type){case"string":{if(null==n)return!1;const e=String(n).toLowerCase(),t=String(r.value).toLowerCase();if("$regex"===r.operator)try{return new RegExp(t,"i").test(e)}catch{return e.includes(t)}return e.includes(t)}case"number":{if(null==n)return!1;const e=Number(n),t=Number(r.value);if(isNaN(e)||isNaN(t))return!1;switch(r.operator){case"$eq":default:return e===t;case"$gt":return e>t;case"$gte":return e>=t;case"$lt":return e<t;case"$lte":return e<=t}}case"select":return null!=n&&("$in"===r.operator&&Array.isArray(r.value)?r.value.some(e=>String(e)===String(n)):String(r.value)===String(n));case"date":{if(null==n)return!1;const e=new Date(n),t=new Date(r.value);if(isNaN(e.getTime())||isNaN(t.getTime()))return!1;const u=e.getTime(),a=t.getTime();switch(r.operator){case"$eq":default:return e.toDateString()===t.toDateString();case"$gt":return u>a;case"$gte":return u>=a;case"$lt":return u<a;case"$lte":return u<=a}}default:return!0}}(t,r)))}export{t as applyFiltersToData};
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { StaticTableProps } from './StaticTableTypes.js';
3
+
4
+ declare function StaticTable<T extends Record<string, unknown>>(props: StaticTableProps<T>): react_jsx_runtime.JSX.Element;
5
+
6
+ export { StaticTable };
@@ -0,0 +1 @@
1
+ import{c as e}from"react/compiler-runtime";import t from"@mui/material/Grid";import o,{useEffectEvent as a,useEffect as i}from"react";import{TableActionHeader as s}from"../TableComponents/TableActionHeader.js";import{TableFilterHeader as l}from"../TableComponents/TableFilterHeader.js";import{loadSavedColumns as n}from"../TableComponents/TableFunctions.js";import{localizedTableStrings as r}from"../TableComponents/TableLocales.js";import{applyFiltersToData as c}from"./StaticFiltersUlts.js";import{StaticTableBody as m}from"./StaticTableBody.js";import{StaticTableFooter as u}from"./StaticTableFooter.js";import{jsx as d,jsxs as b}from"react/jsx-runtime";function h(h){const p=e(80),{tableInfo:g,isLoading:f,tableActions:S,tableButtons:C,onRowClick:v,tableLocale:y,localeStr:F}=h,w=void 0!==f&&f,k=void 0===y?"en":y,{tableName:T,tableData:P,columns:_,variant:R,defaultShowFilters:A,emptyTablePlaceholder:j,showVisibleColumnsButton:x}=g,B=void 0===R?"standard":R,H=void 0===x||x;let z;p[0]!==S?(z=S||{},p[0]=S,p[1]=z):z=p[1];const{quickActions:V}=z;let q;p[2]!==g.paginationOptions?(q=g.paginationOptions||{},p[2]=g.paginationOptions,p[3]=q):q=p[3];const{stickyHeader:I,stickyFooter:L,customPageRowCount:N,customSelectPages:O,autoSizeHeight:Q,hideFooter:D,footerVariant:E}=q,G=void 0===I||I,U=void 0===L||L,$=void 0===Q||Q,J=void 0!==D&&D,K=void 0===E?"standard":E,M=r[k];let W;p[4]!==F||p[5]!==M?(W={...M,...F},p[4]=F,p[5]=M,p[6]=W):W=p[6];const X=W;let Y;p[7]===Symbol.for("react.memo_cache_sentinel")?(Y=[],p[7]=Y):Y=p[7];const[Z,ee]=o.useState(Y);let te;p[8]!==Z||p[9]!==P?(te=c(P,Z),p[8]=Z,p[9]=P,p[10]=te):te=p[10];const oe=te,[ae,ie]=o.useState(0);let se;p[11]!==N||p[12]!==T?(se=N?parseInt(localStorage.getItem(`${T}-rowsPerPage`)??"5")||N:5,p[11]=N,p[12]=T,p[13]=se):se=p[13];const[le,ne]=o.useState(se);let re;p[14]===Symbol.for("react.memo_cache_sentinel")?(re=[],p[14]=re):re=p[14];const[ce,me]=o.useState(re);let ue;p[15]===Symbol.for("react.memo_cache_sentinel")?(ue=e=>{me(n(e,[]))},p[15]=ue):ue=p[15];const de=a(ue);let be,he;p[16]!==_||p[17]!==de?(be=()=>{de(_)},p[16]=_,p[17]=de,p[18]=be):be=p[18],p[19]!==_?(he=[_],p[19]=_,p[20]=he):he=p[20],i(be,he);const[pe,ge]=o.useState(!1);let fe;p[21]===Symbol.for("react.memo_cache_sentinel")?(fe=[],p[21]=fe):fe=p[21];const[Se,Ce]=o.useState(fe);let ve;p[22]===Symbol.for("react.memo_cache_sentinel")?(ve=async e=>{ee(e),ie(0)},p[22]=ve):ve=p[22];const ye=ve;let Fe;p[23]===Symbol.for("react.memo_cache_sentinel")?(Fe=(e,t)=>{ie(t)},p[23]=Fe):Fe=p[23];const we=Fe;let ke;p[24]===Symbol.for("react.memo_cache_sentinel")?(ke=e=>{ne(Number(e.target.value||10)),ie(0)},p[24]=ke):ke=p[24];const Te=ke,Pe=!w&&0===oe.length,_e=G?"sticky":"static";let Re,Ae,je,xe,Be,He,ze;return p[25]!==_e?(Re={position:_e,top:0,zIndex:2,backgroundColor:"background.paper",borderRadius:"8px 8px 0 0"},p[25]=_e,p[26]=Re):Re=p[26],p[27]!==Z||p[28]!==_||p[29]!==X.filters||p[30]!==A||p[31]!==w?(Ae=d(l,{columns:_,activeFilters:Z,onFiltersChange:ye,isFetching:w,defaultShowFilters:A,showRefreshButton:!1,localeStr:X.filters}),p[27]=Z,p[28]=_,p[29]=X.filters,p[30]=A,p[31]=w,p[32]=Ae):Ae=p[32],p[33]!==Z||p[34]!==ce||p[35]!==X.header||p[36]!==oe.length||p[37]!==w||p[38]!==V||p[39]!==Se||p[40]!==H||p[41]!==pe||p[42]!==C||p[43]!==T?(je=d(s,{tableName:T,expectedRowCount:oe.length,currentColumns:ce,setCurrentColumns:me,isFetching:w,quickActions:V,tableActionsActive:pe,setQuickActions:ge,quickSelectedRows:Se,setQuickSelectedRows:Ce,activeFilters:Z,tableButtons:C,showVisibleColumnsButton:H,localeStr:X.header}),p[33]=Z,p[34]=ce,p[35]=X.header,p[36]=oe.length,p[37]=w,p[38]=V,p[39]=Se,p[40]=H,p[41]=pe,p[42]=C,p[43]=T,p[44]=je):je=p[44],p[45]!==Re||p[46]!==Ae||p[47]!==je?(xe=b(t,{className:"LegacyTable-Header",component:"div",container:!0,size:12,"data-sticky":!0,sx:Re,children:[Ae,je]}),p[45]=Re,p[46]=Ae,p[47]=je,p[48]=xe):xe=p[48],p[49]!==Z||p[50]!==$||p[51]!==ce||p[52]!==ae||p[53]!==j||p[54]!==oe||p[55]!==J||p[56]!==w||p[57]!==Pe||p[58]!==v||p[59]!==Se||p[60]!==le||p[61]!==S||p[62]!==pe||p[63]!==B?(Be=d(m,{tableData:oe,activeFilters:Z,tableActions:S,visibleColumns:ce,setVisibleColumns:me,page:ae,rowsPerPage:le,tableActionsActive:pe,quickSelectedRows:Se,setQuickSelectedRows:Ce,isFetching:w,onRowClick:v,autoSizeHeight:$,emptyTablePlaceholder:j,isTableEmpty:Pe,hideFooter:J,variant:B}),p[49]=Z,p[50]=$,p[51]=ce,p[52]=ae,p[53]=j,p[54]=oe,p[55]=J,p[56]=w,p[57]=Pe,p[58]=v,p[59]=Se,p[60]=le,p[61]=S,p[62]=pe,p[63]=B,p[64]=Be):Be=p[64],p[65]!==X.footer||p[66]!==ae||p[67]!==O||p[68]!==oe.length||p[69]!==K||p[70]!==J||p[71]!==w||p[72]!==Pe||p[73]!==le||p[74]!==U?(He=d(u,{expectedRowCount:oe.length,rowsPerPage:le,page:ae,handleChangePage:we,handleChangeRowsPerPage:Te,customSelectPages:O,localeStr:X.footer,isTableEmpty:Pe,hideFooter:J,stickyFooter:U,isFetching:w,footerVariant:K}),p[65]=X.footer,p[66]=ae,p[67]=O,p[68]=oe.length,p[69]=K,p[70]=J,p[71]=w,p[72]=Pe,p[73]=le,p[74]=U,p[75]=He):He=p[75],p[76]!==xe||p[77]!==Be||p[78]!==He?(ze=b(t,{container:!0,size:12,spacing:0,children:[xe,Be,He]}),p[76]=xe,p[77]=Be,p[78]=He,p[79]=ze):ze=p[79],ze}export{h as StaticTable};