dts-universal-report-module 1.3.10 → 1.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -188,7 +188,7 @@ To suppress this warning, you need to explicitly provide the \`palette.${r}Chann
188
188
  "Region": "Europe",
189
189
  "Subscription Type": "Basic"
190
190
  }
191
- ]`})})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"subtitle2",gutterBottom:!0,children:"Supported Column Types"}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",sx:{mb:1.5},children:"The system automatically detects column types from your data:"}),t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1},children:[t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:i=>i.typography.body2.fontWeight||500,fontSize:i=>i.typography.body2.fontSize||"0.875rem",minWidth:80},children:"Number:"}),t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["Numeric values (e.g.,"," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:"33"}),","," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:"42.5"}),")"]})]}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:i=>i.typography.body2.fontWeight||500,fontSize:i=>i.typography.body2.fontSize||"0.875rem",minWidth:80},children:"Boolean:"}),t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["True/false values (e.g.,"," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:"true"}),","," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:"false"}),")"]})]}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:i=>i.typography.body2.fontWeight||500,fontSize:i=>i.typography.body2.fontSize||"0.875rem",minWidth:80},children:"String:"}),t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["Text values (e.g.,"," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:'"Europe"'}),","," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:'"Analytics Pro"'}),")"]})]}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:i=>i.typography.body2.fontWeight||500,fontSize:i=>i.typography.body2.fontSize||"0.875rem",minWidth:80},children:"Date:"}),t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["ISO date strings (e.g.,"," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:'"2024-08-22"'}),")"]})]})]})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"subtitle2",gutterBottom:!0,children:"Notes"}),t.jsxs(o.Box,{component:"ul",sx:{m:0,pl:2.5,"& li":{fontSize:"body2.fontSize",color:"text.secondary",mb:.5}},children:[t.jsx("li",{children:"Each object in the array represents one row in the report."}),t.jsx("li",{children:"The keys of the JSON objects become report columns."}),t.jsx("li",{children:"All objects should have consistent keys for proper column detection."}),t.jsx("li",{children:"Column names are case-sensitive and preserve spacing."})]})]})]})}),t.jsx(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end"},children:t.jsx(o.Button,{onClick:r,variant:"contained",sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"primary.contrastText",px:3,py:.875,minHeight:36,borderRadius:i=>`${i.shape.borderRadius}px`,boxShadow:i=>ve(i,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:i=>ve(i,"hoverButton")},"&:active":{boxShadow:i=>ve(i,"pressedButton"),transform:"translateY(1px)"}},children:"Got it"})})]}):null}function au({onFileUpload:e,onError:r,isUploading:n,jsonGuideContent:i}){const[s,a]=p.useState(!1),[c,l]=p.useState(""),[u,y]=p.useState(!1),g=p.useRef(null),m=async h=>{if(!h.name.endsWith(".json")){r("Only .json files are allowed");return}const k=10*1024*1024;if(h.size>k){r("File size exceeds 10MB limit");return}l(h.name);try{const T=await h.text();let b;try{b=JSON.parse(T)}catch{r("Invalid JSON syntax — please check your file and try again");return}if(!Array.isArray(b)){r("JSON must be an array of objects");return}if(b.length===0){r("No data rows found in JSON file");return}e(b)}catch{r("Network error — please try again")}finally{l("")}},S=h=>{h.preventDefault(),a(!0)},C=h=>{h.preventDefault(),a(!1)},D=h=>{h.preventDefault(),a(!1);const k=h.dataTransfer.files[0];k&&m(k)},v=()=>{var h;(h=g.current)==null||h.click()},x=h=>{var T;const k=(T=h.target.files)==null?void 0:T[0];k&&m(k)},B=h=>{h.stopPropagation(),y(!0)};return t.jsxs(t.Fragment,{children:[t.jsxs(o.Box,{onDragOver:S,onDragLeave:C,onDrop:D,onPaste:h=>h.preventDefault(),onClick:v,sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:400,border:2,borderStyle:"dashed",borderColor:s?"primary.main":"divider",bgcolor:s?h=>$(h.palette.primary.main,.12):"transparent",borderRadius:1,px:2,py:6,cursor:"pointer",transition:"all 0.2s",opacity:n?.5:1,pointerEvents:n?"none":"auto","&:hover":{borderColor:s?"primary.main":"text.secondary"}},children:[t.jsx(o.Box,{component:"input",ref:g,type:"file",accept:".json",onChange:x,sx:{display:"none"}}),n?t.jsxs(t.Fragment,{children:[t.jsx(o.CircularProgress,{size:32,sx:{mb:2}}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:h=>h.typography.body2.fontWeight||500,fontSize:h=>h.typography.body2.fontSize||"0.875rem",mb:.5},children:"Uploading..."}),c&&t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:c})]}):t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{sx:{width:64,height:64,borderRadius:"50%",bgcolor:h=>$(h.palette.primary.main,.12),display:"flex",alignItems:"center",justifyContent:"center",mb:2},children:t.jsx(O.UploadFile,{sx:{fontSize:32,color:"primary.main"}})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,mb:1.5},children:[t.jsx(o.Button,{variant:"contained",sx:{fontWeight:500},children:"Upload Data (JSON)"}),t.jsx(o.IconButton,{onClick:B,size:"small",sx:{border:1,borderColor:"divider","&:hover":{borderColor:"text.secondary",bgcolor:"action.hover"}},title:"View JSON format guide",children:t.jsx(O.InfoOutlined,{sx:{fontSize:16}})})]}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",sx:{textAlign:"center",maxWidth:500},children:"Upload structured JSON data to generate your report."}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",sx:{mt:1},children:"Click to browse or drag and drop a JSON file here"})]})]}),t.jsx(ta,{isOpen:u,onClose:()=>y(!1),content:i})]})}function lu({schema:e,onConfirm:r,hasConflicts:n}){return t.jsxs(o.Paper,{sx:{border:2,borderColor:"divider",p:3},children:[t.jsxs(o.Box,{sx:{mb:2},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontWeight:i=>i.typography.h6.fontWeight||600,fontSize:i=>i.typography.h6.fontSize||"1.25rem",mb:.5},children:"Schema Preview"}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"Review the detected schema before generating your table"})]}),n&&t.jsxs(o.Alert,{severity:"warning",sx:{mb:2},children:[t.jsx(o.AlertTitle,{sx:{fontWeight:i=>i.typography.h6.fontWeight||600,fontSize:i=>i.typography.subtitle2.fontSize||"0.875rem"},children:"Schema Conflict Detected"}),"Some columns have inconsistent data types across rows. Please resolve these conflicts before proceeding."]}),t.jsx(o.TableContainer,{sx:{mb:3},children:t.jsxs(o.Table,{children:[t.jsx(o.TableHead,{children:t.jsxs(o.TableRow,{sx:{bgcolor:"action.hover"},children:[t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"caption.fontSize"},children:"Column Name"}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"caption.fontSize"},children:"Detected Type"}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"caption.fontSize"},children:"Status"})]})}),t.jsx(o.TableBody,{children:e.map(i=>t.jsxs(o.TableRow,{sx:{bgcolor:i.hasConflict?s=>$(s.palette.warning.main,.12):"transparent"},children:[t.jsxs(o.TableCell,{sx:{fontWeight:500},children:[i.name,i.hasConflict&&t.jsx(o.Box,{component:"span",sx:{ml:1,color:"warning.main"},children:"⚠"})]}),t.jsx(o.TableCell,{children:t.jsx(o.Chip,{label:i.type,size:"small",sx:{bgcolor:"action.hover"}})}),t.jsx(o.TableCell,{children:t.jsx(o.Chip,{label:i.required?"Required":"Optional",size:"small",color:i.required?"success":"default"})})]},i.name))})]})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",pt:2,borderTop:1,borderColor:"divider"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(O.Lock,{sx:{fontSize:16}}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"Schema will be locked for this report"})]}),t.jsx(o.Button,{variant:"contained",onClick:r,disabled:n,sx:{fontWeight:500},children:"Generate Table"})]})]})}function cu({error:e,onRetry:r}){return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:400,border:2,borderColor:"error.light",bgcolor:n=>$(n.palette.error.main,.12),borderRadius:1,px:2,py:6},children:[t.jsx(o.Box,{sx:{width:64,height:64,borderRadius:"50%",bgcolor:n=>$(n.palette.error.main,.3),display:"flex",alignItems:"center",justifyContent:"center",mb:2},children:t.jsx(O.ErrorOutline,{color:"error",sx:{fontSize:32}})}),t.jsx(o.Typography,{variant:"h6",color:"error.main",sx:{fontWeight:n=>n.typography.h6.fontWeight||600,fontSize:n=>n.typography.h6.fontSize||"1.25rem",mb:1},children:"Upload Failed"}),t.jsx(o.Typography,{variant:"body2",color:"error.main",sx:{textAlign:"center",maxWidth:500,mb:3},children:e}),t.jsx(o.Button,{variant:"contained",color:"error",startIcon:t.jsx(O.Upload,{sx:{fontSize:16}}),onClick:r,sx:{fontWeight:500},children:"Try Again"})]})}function ra({title:e,description:r,showIcon:n=!0}){return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"60vh",px:3,py:8},children:[n&&t.jsx(o.Box,{sx:{width:80,height:80,borderRadius:"50%",bgcolor:i=>$(i.palette.primary.main,.1),display:"flex",alignItems:"center",justifyContent:"center",mb:3},children:t.jsx(O.Description,{sx:{fontSize:36,color:"primary.main"}})}),t.jsx(o.Typography,{variant:"h5",sx:{fontWeight:i=>i.typography.h5.fontWeight||500,mb:1,color:i=>i.typography.h5.color||"text.primary",fontSize:i=>i.typography.h5.fontSize||"1.125rem"},children:e}),t.jsx(o.Typography,{variant:"body1",sx:{textAlign:"center",maxWidth:520,color:"text.secondary",fontSize:i=>i.typography.body2.fontSize||"0.875rem",lineHeight:1.5},children:r})]})}function du({value:e,onChange:r,searchHistory:n,onAddToHistory:i,onToggleFavourite:s,onDeleteHistory:a,disabled:c}){const[l,u]=p.useState(!1),[y,g]=p.useState(!1),[m,S]=p.useState(-1),C=p.useRef(null),D=p.useRef(null);p.useEffect(()=>{function E(Y){C.current&&!C.current.contains(Y.target)&&(u(!1),g(!1))}return document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[]);const v=p.useCallback(()=>{g(!0),S(-1),n.length>0&&u(!0)},[n.length]),x=p.useCallback(E=>{r(E),S(-1)},[r]),B=p.useCallback(E=>{var Y;r(E),i(E),u(!1),(Y=D.current)==null||Y.blur()},[r,i]),h=p.useCallback(E=>{S(-1),B(E)},[B]),k=p.useCallback(E=>{var Y;E.key==="Enter"?m>=0&&m<n.length?(E.preventDefault(),h(n[m].query)):e.trim()&&B(e.trim()):E.key==="Escape"?(u(!1),S(-1),(Y=D.current)==null||Y.blur()):E.key==="ArrowDown"?(E.preventDefault(),n.length>0&&(l||u(!0),S(Z=>Z<n.length-1?Z+1:Z))):E.key==="ArrowUp"&&(E.preventDefault(),S(Z=>Z>0?Z-1:-1))},[m,n,e,l,h,B]),T=p.useCallback(()=>{var E;r(""),(E=D.current)==null||E.focus()},[r]),b=p.useMemo(()=>n.filter(E=>E.isFavourite),[n]),R=p.useMemo(()=>n.filter(E=>!E.isFavourite),[n]),H=l&&n.length>0;return t.jsxs(o.Box,{sx:{position:"relative",width:240},ref:C,children:[t.jsx(o.TextField,{inputRef:D,size:"small",fullWidth:!0,value:e,onChange:E=>x(E.target.value),onFocus:v,onKeyDown:k,placeholder:"Search data...",disabled:c,sx:{"& .MuiOutlinedInput-root":{borderRadius:"20px",fontSize:"0.875rem",bgcolor:"background.paper",height:"36px","& fieldset":{borderColor:E=>$(E.palette.text.primary,.3),transition:"all 0.15s ease"},"&:hover":{bgcolor:"action.hover"},"&:hover fieldset":{borderColor:E=>$(E.palette.text.primary,.5)},"&.Mui-focused":{bgcolor:"background.paper"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:2}},"& .MuiOutlinedInput-input":{py:"6px",px:"8px",color:"text.primary"}},InputProps:{startAdornment:t.jsx(o.InputAdornment,{position:"start",sx:{ml:.5},children:t.jsx(O.Search,{sx:{fontSize:18,color:"text.secondary"}})}),endAdornment:e?t.jsx(o.InputAdornment,{position:"end",children:t.jsx(o.IconButton,{size:"small",onClick:T,edge:"end",sx:{mr:-.5},children:t.jsx(O.Close,{sx:{fontSize:16}})})}):null}}),H&&t.jsxs(o.Paper,{sx:{position:"absolute",zIndex:50,mt:.5,width:"100%",maxHeight:384,overflowY:"auto"},elevation:3,children:[b.length>0&&t.jsxs(o.Box,{sx:{py:1},children:[t.jsx(o.Typography,{variant:"caption",sx:{px:1.5,py:.75,display:"block",fontWeight:E=>E.typography.caption.fontWeight||600,fontSize:E=>E.typography.caption.fontSize||"0.75rem",textTransform:"uppercase",color:"text.secondary",letterSpacing:"0.05em"},children:"Favourite Searches"}),b.map((E,Y)=>t.jsx(xs,{entry:E,isSelected:m===Y,onClick:()=>h(E.query),onToggleFavourite:()=>s(E.query),onDelete:()=>a(E.query)},`fav-${E.query}`))]}),R.length>0&&t.jsxs(o.Box,{sx:{py:1},children:[b.length>0&&t.jsx(o.Divider,{}),t.jsx(o.Typography,{variant:"caption",sx:{px:1.5,py:.75,display:"block",fontWeight:E=>E.typography.caption.fontWeight||600,fontSize:E=>E.typography.caption.fontSize||"0.75rem",textTransform:"uppercase",color:"text.secondary",letterSpacing:"0.05em"},children:"Recent Searches"}),R.map((E,Y)=>{const Z=b.length+Y;return t.jsx(xs,{entry:E,isSelected:m===Z,onClick:()=>h(E.query),onToggleFavourite:()=>s(E.query),onDelete:()=>a(E.query)},`recent-${E.query}`)})]})]})]})}const xs=p.memo(function({entry:r,isSelected:n,onClick:i,onToggleFavourite:s,onDelete:a}){const c=p.useCallback(u=>{u.stopPropagation(),s()},[s]),l=p.useCallback(u=>{u.stopPropagation(),a()},[a]);return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:1.5,py:1,cursor:"pointer",bgcolor:n?u=>$(u.palette.primary.main,.12):"transparent","&:hover":{bgcolor:n?u=>$(u.palette.primary.main,.12):"action.hover"}},children:[t.jsx(o.Box,{sx:{flex:1,minWidth:0},onClick:i,children:t.jsx(o.Typography,{variant:"body2",noWrap:!0,children:r.query})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,ml:1},children:[t.jsx(o.IconButton,{size:"small",onClick:c,title:r.isFavourite?"Remove from favourites":"Add to favourites",sx:{p:.5},children:r.isFavourite?t.jsx(O.Star,{sx:{fontSize:14,color:"warning.light"}}):t.jsx(O.StarBorder,{sx:{fontSize:14,color:"action.disabled"}})}),t.jsx(o.IconButton,{size:"small",onClick:l,title:"Delete from history",sx:{p:.5,"&:hover":{color:"error.main"}},children:t.jsx(O.Delete,{sx:{fontSize:14,opacity:.5}})})]})]})});function uu({views:e,activeViewId:r,isDirty:n,onSelectView:i,onCreateView:s,onToggleDefault:a,onToggleFavorite:c,onRestoreView:l,onPermanentDelete:u,onEditView:y,onCloneView:g,onCopyLink:m,onDeleteView:S,onPromoteToGlobal:C,onSetDefaultForAllUsers:D,isReadOnly:v,isAdmin:x=!1,hideViewMenuActions:B}){const h=ht(),[k,T]=p.useState(!1),[b,R]=p.useState(!1),[H,E]=p.useState({top:0,left:0}),[Y,Z]=p.useState(null),[I,f]=p.useState(null),w=p.useRef(null),P=p.useRef(null),te=e.find(U=>U.id===r),d=te==null?void 0:te.isDefault,J=(U,ne)=>U.name.localeCompare(ne.name),re=e.filter(U=>U.scope==="global"&&!U.isDeleted).sort(J),we=e.filter(U=>U.scope!=="global"&&!U.isDeleted).sort(J),F=e.filter(U=>U.isFavorite&&!U.isDeleted).sort(J),X=e.filter(U=>U.isDeleted);p.useEffect(()=>{if(k&&P.current){const U=P.current.getBoundingClientRect();E({top:U.bottom+window.scrollY+8,left:U.right+window.scrollX-320})}},[k]),p.useEffect(()=>{const U=ne=>{w.current&&!w.current.contains(ne.target)&&P.current&&!P.current.contains(ne.target)&&T(!1)};return k&&document.addEventListener("mousedown",U),()=>{document.removeEventListener("mousedown",U)}},[k]);const ue=U=>{if(n&&U!==r){Z(U),T(!1);return}i(U),T(!1)},pe=()=>{Y&&(i(Y),Z(null))},K=()=>{Z(null)},he=(U,ne=!1)=>{const Be=U.scope==="global",Q=!v&&(!Be||x),$e=x&&!Be;return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:2,py:1,fontSize:"body2.fontSize",backgroundColor:r===U.id?$(h.palette.primary.main,.12):"transparent",transition:"background-color 0.2s","&:hover":{backgroundColor:r===U.id?$(h.palette.primary.main,.12):h.palette.action.hover}},children:[t.jsxs(o.Button,{onClick:()=>ue(U.id),sx:{display:"flex",alignItems:"center",gap:1,flex:1,textAlign:"left",minWidth:0,justifyContent:"flex-start",color:"inherit",p:0,"&:hover":{backgroundColor:"transparent"}},children:[r===U.id&&t.jsx(O.Check,{sx:{fontSize:16,flexShrink:0}}),r!==U.id&&t.jsx(o.Box,{sx:{width:"16px",flexShrink:0}}),t.jsx(o.Typography,{sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:r===U.id?h.palette.primary.dark:h.palette.text.primary,fontWeight:r===U.id?Pe=>Pe.typography.body2.fontWeight||500:400,fontSize:Pe=>Pe.typography.body2.fontSize||"0.875rem"},children:U.name}),ne&&t.jsx(o.Typography,{component:"span",sx:{fontSize:"caption.fontSize",color:h.palette.text.secondary,backgroundColor:h.palette.action.selected,px:1,py:.25,borderRadius:1,flexShrink:0},children:"Default"})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,flexShrink:0},children:[Q&&c&&t.jsx(o.IconButton,{onClick:Pe=>{Pe.stopPropagation(),c(U.id)},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:U.isFavorite?"Remove from favorites":"Add to favorites",children:t.jsx(O.Star,{sx:{fontSize:16}})}),Q&&a&&!U.isDefault&&t.jsx(o.IconButton,{onClick:Pe=>{Pe.stopPropagation(),a(U.id)},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:"Set as default",children:t.jsx(O.RadioButtonUnchecked,{sx:{fontSize:16}})}),(Q||$e)&&(y||g||m||S||$e&&C)&&t.jsx(o.IconButton,{onClick:Pe=>{Pe.stopPropagation(),f({el:Pe.currentTarget,view:U})},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:"More actions",children:t.jsx(O.MoreVert,{sx:{fontSize:16}})})]})]},U.id)},le=U=>t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:2,py:1,fontSize:"body2.fontSize",backgroundColor:h.palette.action.hover},children:[t.jsx(o.Typography,{sx:{color:h.palette.text.secondary,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:U.name}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,flexShrink:0},children:[l&&t.jsx(o.IconButton,{onClick:ne=>{ne.stopPropagation(),l(U.id)},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:"Restore view",children:t.jsx(O.Undo,{sx:{fontSize:16,color:"success.main"}})}),u&&t.jsx(o.IconButton,{onClick:ne=>{ne.stopPropagation(),u(U.id)},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:"Delete permanently",children:t.jsx(O.Delete,{sx:{fontSize:16,color:"error.main"}})})]})]},U.id),W=n||!d,ie=n;return t.jsxs(o.Box,{sx:{position:"relative"},children:[t.jsxs(o.Button,{ref:P,onClick:()=>T(!k),variant:"outlined",size:"small",endIcon:t.jsx(O.KeyboardArrowDown,{sx:{fontSize:18}}),sx:{position:"relative",minWidth:140,maxWidth:220,justifyContent:"space-between",fontSize:"0.8125rem",textTransform:"none",color:W?"warning.main":"text.primary",borderColor:W?"warning.main":"divider",bgcolor:W?$(h.palette.warning.main,.12):"transparent",borderRadius:1,py:.5,px:1.25,transition:"all 0.15s ease","&:hover":{borderColor:W?"warning.dark":"primary.main",bgcolor:W?$(h.palette.warning.main,.2):$(h.palette.text.primary,.06),color:W?"warning.dark":"text.primary"}},title:`View: ${(te==null?void 0:te.name)||"Default View"}`,children:[t.jsx(o.Box,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis"},children:(te==null?void 0:te.name)||"Default View"}),ie&&t.jsx(o.Box,{component:"span",sx:{position:"absolute",top:-2,right:-2,width:8,height:8,borderRadius:"50%",bgcolor:"warning.main",border:"2px solid",borderColor:"background.paper"}})]}),k&&Bs.createPortal(t.jsxs(o.Box,{ref:w,sx:{position:"fixed",width:"320px",backgroundColor:h.palette.background.paper,border:`1px solid ${h.palette.divider}`,borderRadius:1,boxShadow:h.shadows[8],zIndex:50,maxHeight:"500px",overflowY:"auto",top:H.top,left:H.left},children:[re.length>0&&t.jsxs(o.Box,{sx:{py:.5},children:[t.jsx(o.Typography,{sx:{px:2,py:1,fontSize:U=>U.typography.caption.fontSize||"caption.fontSize",fontWeight:U=>U.typography.caption.fontWeight||600,color:h.palette.text.secondary,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Global Views"}),re.map(U=>he(U,U.isDefault))]}),F.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{sx:{borderTop:`1px solid ${h.palette.divider}`}}),t.jsxs(o.Box,{sx:{py:.5},children:[t.jsxs(o.Box,{sx:{px:2,py:1,fontSize:"caption.fontSize",fontWeight:600,color:h.palette.text.secondary,textTransform:"uppercase",letterSpacing:"0.05em",display:"flex",alignItems:"center",gap:.5},children:[t.jsx(O.Star,{sx:{fontSize:12,color:"warning.light"}}),t.jsx(o.Typography,{component:"span",sx:{fontSize:"inherit",fontWeight:"inherit"},children:"Favorite Views"})]}),F.map(U=>he(U))]})]}),we.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{sx:{borderTop:`1px solid ${h.palette.divider}`}}),t.jsxs(o.Box,{sx:{py:.5},children:[t.jsx(o.Typography,{sx:{px:2,py:1,fontSize:U=>U.typography.caption.fontSize||"caption.fontSize",fontWeight:U=>U.typography.caption.fontWeight||600,color:h.palette.text.secondary,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Personal Views"}),we.map(U=>he(U))]})]}),X.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{sx:{borderTop:`1px solid ${h.palette.divider}`}}),t.jsxs(o.Box,{sx:{py:.5},children:[t.jsxs(o.Button,{onClick:()=>R(!b),sx:{width:"100%",px:2,py:1,fontSize:"caption.fontSize",fontWeight:600,color:h.palette.text.secondary,textTransform:"uppercase",letterSpacing:"0.05em",display:"flex",alignItems:"center",justifyContent:"space-between",transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},children:[t.jsxs(o.Typography,{component:"span",sx:{fontSize:"inherit",fontWeight:"inherit"},children:["Recently Deleted (",X.length,")"]}),t.jsx(O.ChevronRight,{sx:{fontSize:16}})]}),b&&t.jsx(o.Box,{sx:{backgroundColor:h.palette.action.hover},children:X.map(U=>le(U))})]})]}),t.jsx(o.Box,{sx:{borderTop:`1px solid ${h.palette.divider}`}}),t.jsxs(o.Button,{onClick:()=>{s(),T(!1)},sx:{width:"100%",display:"flex",alignItems:"center",gap:1,px:2,py:1,fontSize:"body2.fontSize",color:h.palette.text.primary,justifyContent:"flex-start",transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},children:[t.jsx(O.Add,{sx:{fontSize:16}}),t.jsx(o.Typography,{component:"span",sx:{fontSize:"inherit"},children:"Create New Report View"})]}),t.jsxs(o.Popover,{open:!!I,anchorEl:(I==null?void 0:I.el)||null,onClose:()=>f(null),disablePortal:!0,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[y&&t.jsxs(o.MenuItem,{onClick:()=>{I&&y(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.Edit,{sx:{fontSize:18}}),"Edit"]}),m&&t.jsxs(o.MenuItem,{onClick:()=>{I&&m(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.Link,{sx:{fontSize:18}}),"Copy Link"]}),g&&t.jsxs(o.MenuItem,{onClick:()=>{I&&g(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.ContentCopy,{sx:{fontSize:18}}),"Clone"]}),C&&x&&(I==null?void 0:I.view.scope)!=="global"&&t.jsxs(o.MenuItem,{onClick:()=>{I&&C(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.Language,{sx:{fontSize:18}}),"Promote to Global"]}),D&&I&&!(B!=null&&B.includes("setDefaultForAllUsers"))?t.jsxs(o.MenuItem,{onClick:()=>{I&&D(I.view.id,!I.view.isDefaultForAllUsers),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.Star,{sx:{fontSize:18,color:I.view.isDefaultForAllUsers?"warning.main":"inherit"}}),I.view.isDefaultForAllUsers?"Remove from":"Set as"," Default for All Users"]}):null,S&&[t.jsx(o.Divider,{},"delete-divider"),t.jsxs(o.MenuItem,{onClick:()=>{I&&S(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize",color:"error.main"},children:[t.jsx(O.Delete,{sx:{fontSize:18}}),"Delete"]},"delete-item")]]})]}),document.body),t.jsxs(o.Dialog,{open:Y!==null,onClose:K,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{borderRadius:Mo(h)}},children:[t.jsxs(o.DialogTitle,{sx:{display:"flex",alignItems:"center",gap:1,pb:1},children:[t.jsx(O.Warning,{sx:{fontSize:20,color:"warning.main"}}),"Unsaved changes"]}),t.jsx(o.DialogContent,{children:t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"You have unsaved changes to the current view. Switching views will discard them."})}),t.jsxs(o.DialogActions,{sx:{px:3,pb:2,gap:1},children:[t.jsx(o.Button,{onClick:K,variant:"text",children:"Stay here"}),t.jsx(o.Button,{onClick:pe,variant:"contained",color:"warning",children:"Discard & switch"})]})]})]})}function pu({columnName:e,columnType:r="string",currentSort:n,hasFilters:i,isInSortStack:s,isReadOnly:a=!1,hasModifications:c=!1,position:l,onSortAscending:u,onSortDescending:y,onRemoveSort:g,onFilter:m,onClearFilter:S,onGroupByColumn:C,onHideColumn:D,onManageColumns:v,onResetLayout:x,onClose:B}){const h=ht(),k=h.palette,T=p.useRef(null);p.useEffect(()=>{if(!T.current)return;const Z=T.current,I=Z.getBoundingClientRect(),f=window.innerWidth,w=window.innerHeight;I.right>f-8&&(Z.style.left=`${f-I.width-8}px`),I.bottom>w-8&&(Z.style.top=`${w-I.height-8}px`)},[l]),p.useEffect(()=>{const Z=f=>{T.current&&!T.current.contains(f.target)&&B()},I=f=>{f.key==="Escape"&&B()};return document.addEventListener("mousedown",Z),document.addEventListener("keydown",I),()=>{document.removeEventListener("mousedown",Z),document.removeEventListener("keydown",I)}},[B]);const b=p.useCallback(Z=>()=>{Z(),B()},[B]),R=(n==null?void 0:n.direction)==="asc",H=(n==null?void 0:n.direction)==="desc",E=r==="number"?"0→9":r==="boolean"?"F→T":"A→Z",Y=r==="number"?"9→0":r==="boolean"?"T→F":"Z→A";return Bs.createPortal(t.jsxs(o.Paper,{ref:T,elevation:0,sx:{position:"fixed",left:`${l.x}px`,top:`${l.y}px`,zIndex:h.zIndex.tooltip,minWidth:210,maxWidth:264,border:"1px solid",borderColor:"divider",borderRadius:Mo(h),overflow:"hidden",boxShadow:`0 4px 20px ${$(k.common.black,.12)}, 0 1px 4px ${$(k.common.black,.06)}`},children:[!a&&t.jsxs(o.Box,{sx:{px:2,py:.75,display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid",borderColor:"divider"},children:[t.jsx(o.Typography,{sx:{fontSize:Z=>Z.typography.body2.fontSize||"0.8125rem",fontWeight:Z=>Z.typography.body2.fontWeight||500,color:"text.primary"},children:"Sorting"}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.25},children:[t.jsx(o.Tooltip,{title:`Sort Ascending (${E})`,placement:"top",arrow:!0,children:t.jsx(o.IconButton,{size:"small",onClick:b(()=>u(e)),sx:{p:.625,borderRadius:"6px",color:R?"primary.main":"text.secondary",bgcolor:R?$(k.primary.main,.1):"transparent","&:hover":{bgcolor:$(k.primary.main,.08),color:"primary.main"}},children:t.jsx(O.ArrowUpward,{sx:{fontSize:16}})})}),t.jsx(o.Tooltip,{title:`Sort Descending (${Y})`,placement:"top",arrow:!0,children:t.jsx(o.IconButton,{size:"small",onClick:b(()=>y(e)),sx:{p:.625,borderRadius:"6px",color:H?"primary.main":"text.secondary",bgcolor:H?$(k.primary.main,.1):"transparent","&:hover":{bgcolor:$(k.primary.main,.08),color:"primary.main"}},children:t.jsx(O.ArrowDownward,{sx:{fontSize:16}})})}),t.jsx(o.Tooltip,{title:"Clear Sort",placement:"top",arrow:!0,children:t.jsx("span",{children:t.jsx(o.IconButton,{size:"small",disabled:!s,onClick:b(()=>g(e)),sx:{p:.625,borderRadius:"6px",color:"text.secondary","&:hover":{bgcolor:$(k.error.main,.08),color:"error.main"},"&.Mui-disabled":{opacity:.3}},children:t.jsx(O.Close,{sx:{fontSize:16}})})})})]})]}),t.jsxs(o.MenuList,{dense:!0,sx:{py:.5},children:[t.jsxs(o.MenuItem,{onClick:b(()=>m(e)),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.FilterList,{sx:{fontSize:16,color:i?"primary.main":"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Filter by Column",primaryTypographyProps:{fontSize:"0.8125rem",fontWeight:i?600:400,color:i?"primary.main":"text.primary"}})]}),i&&!a&&t.jsxs(o.MenuItem,{onClick:b(()=>S(e)),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34,"&:hover":{bgcolor:$(k.warning.main,.06),"& .MuiListItemText-primary":{color:"warning.main"},"& .MuiListItemIcon-root svg":{color:"warning.main"}}},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.FilterListOff,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Clear Filter",primaryTypographyProps:{fontSize:"0.8125rem"}})]})]}),!a&&C&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{sx:{my:.25}}),t.jsx(o.MenuList,{dense:!0,sx:{py:.5},children:t.jsxs(o.MenuItem,{onClick:b(()=>C(e)),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.GroupWorkOutlined,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Group By Column",primaryTypographyProps:{fontSize:"0.8125rem"}})]})})]}),t.jsx(o.Divider,{sx:{my:.25}}),t.jsxs(o.MenuList,{dense:!0,sx:{py:.5},children:[!a&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",mx:.5,borderRadius:"6px",overflow:"hidden","&:hover":{bgcolor:"action.hover"}},children:[t.jsxs(o.MenuItem,{onClick:b(()=>D(e)),sx:{flex:1,py:.75,px:1.5,minHeight:34,borderRadius:"6px 0 0 6px","&:hover":{bgcolor:"transparent"}},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.VisibilityOff,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Hide Column",primaryTypographyProps:{fontSize:"0.8125rem"}})]}),t.jsx(o.Tooltip,{title:"Manage Columns",placement:"top",arrow:!0,children:t.jsx(o.IconButton,{size:"small",onClick:b(v),sx:{mr:.75,p:.625,borderRadius:"6px",color:"text.secondary","&:hover":{bgcolor:$(k.primary.main,.08),color:"primary.main"}},children:t.jsx(O.Settings,{sx:{fontSize:16}})})})]}),a&&t.jsxs(o.MenuItem,{onClick:b(v),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.Settings,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Manage Columns",primaryTypographyProps:{fontSize:"0.8125rem"}})]}),!a&&c&&x&&t.jsxs(o.MenuItem,{onClick:b(x),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34,"&:hover":{bgcolor:$(k.error.main,.05),"& .MuiListItemText-primary":{color:"error.main"},"& .MuiListItemIcon-root svg":{color:"error.main"}}},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.RestartAlt,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Reset to Default Layout",primaryTypographyProps:{fontSize:"0.8125rem"}})]})]})]}),document.body)}const hu=176,gs="COLUMN_HEADER",mu=p.memo(function({column:r,index:n,sortRule:i,hasFilters:s,isInSortStack:a,isReadOnly:c=!1,hasModifications:l=!1,width:u,onColumnClick:y,onMoveColumn:g,onColumnDragEnd:m,onResizeStart:S,onSortAscending:C,onSortDescending:D,onRemoveSort:v,onOpenFilterForColumn:x,onClearFiltersForColumn:B,onGroupByColumn:h,onHideColumn:k,onManageColumns:T,onResetLayout:b}){const H=ht().urmTable,E=p.useRef(null),[Y,Z]=p.useState(!1),[I,f]=p.useState({x:0,y:0}),[{handlerId:w,isOver:P},te]=ir.useDrop({accept:gs,collect(K){return{handlerId:K.getHandlerId(),isOver:K.isOver()}},hover(K,he){var Q;if(!E.current)return;const le=K.index,W=n;if(le===W)return;const ie=(Q=E.current)==null?void 0:Q.getBoundingClientRect(),U=(ie.right-ie.left)/2,ne=he.getClientOffset(),Be=((ne==null?void 0:ne.x)??0)-ie.left;le<W&&Be<U||le>W&&Be>U||(g(le,W),K.index=W)}}),[{isDragging:d},J]=ir.useDrag({type:gs,item:()=>({index:n,columnName:r.name}),collect:K=>({isDragging:K.isDragging()}),end:()=>{m==null||m()}});J(te(E));const re=p.useCallback(K=>{K.preventDefault(),K.stopPropagation(),f({x:K.clientX,y:K.clientY}),Z(!0)},[]),we=p.useCallback(()=>Z(!1),[]),F=p.useCallback(()=>{y(r.name)},[y,r.name]),X=p.useCallback(K=>{K.stopPropagation(),x(r.name)},[x,r.name]),ue=p.useCallback(()=>i?t.jsxs(o.Box,{sx:{display:"inline-flex",alignItems:"center",ml:.5,gap:.25},children:[i.direction==="asc"?t.jsx(O.ArrowUpward,{sx:{fontSize:13,color:"primary.main"}}):t.jsx(O.ArrowDownward,{sx:{fontSize:13,color:"primary.main"}}),t.jsx(o.Box,{sx:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,bgcolor:"primary.main",color:"primary.contrastText",fontSize:"0.6rem",fontWeight:700,borderRadius:"50%",lineHeight:1},children:i.priority})]}):null,[i]),pe=p.useCallback(()=>s?t.jsx(O.FilterList,{onClick:X,titleAccess:"Active filter on this column — click to edit",sx:{ml:.5,fontSize:13,color:"primary.main",cursor:"pointer",flexShrink:0,"&:hover":{transform:"scale(1.15)"},transition:"transform 0.12s ease"}}):null,[s,X]);return t.jsxs(t.Fragment,{children:[t.jsxs(o.TableCell,{ref:E,"data-handler-id":w,"data-column-index":n,onClick:F,onContextMenu:re,sx:{position:"sticky",top:0,zIndex:5,textAlign:(H==null?void 0:H.cellAlignH)??"left",verticalAlign:(H==null?void 0:H.cellAlignV)??"middle",fontSize:"0.8125rem",fontWeight:700,textTransform:"none",letterSpacing:0,whiteSpace:"nowrap",overflow:"visible",cursor:"pointer",userSelect:"none",color:(H==null?void 0:H.headerColor)??"text.secondary",opacity:d?.25:1,transition:"background-color 0.12s ease, opacity 0.15s ease",bgcolor:P?K=>$(K.palette.primary.main,.08):(H==null?void 0:H.headerBg)??"action.hover",boxShadow:K=>`0 1px 0 ${$(K.palette.common.black,.08)}`,backgroundImage:"none",borderBottom:(H==null?void 0:H.rowDivider)??"1px solid",borderRight:H==null?void 0:H.colDivider,borderColor:"divider",py:0,px:(H==null?void 0:H.cellPaddingX)??2,"&:hover":{bgcolor:K=>$(K.palette.primary.main,.1),color:"text.primary"},width:u?`${u}px`:`${hu}px`},children:[t.jsxs(o.Box,{sx:{display:"inline-flex",alignItems:"center",overflow:"hidden",maxWidth:"100%",pr:"12px"},children:[dt(r.name),ue(),pe()]}),t.jsx(o.Box,{draggable:!1,onDragStart:K=>K.preventDefault(),sx:{position:"absolute",right:0,top:0,height:"100%",width:8,cursor:"col-resize",zIndex:20,display:"flex",alignItems:"center",justifyContent:"center","&:hover > div":{opacity:1}},onMouseDown:K=>{K.preventDefault(),K.stopPropagation(),S(K,r.name)},onClick:K=>K.stopPropagation(),children:t.jsx(o.Box,{draggable:!1,sx:{width:2,height:"50%",borderRadius:1,opacity:0,bgcolor:"primary.main",transition:"opacity 0.15s ease",pointerEvents:"none"}})}),P&&t.jsx(o.Box,{sx:{position:"absolute",left:0,top:0,bottom:0,width:4,bgcolor:"primary.main"}})]}),Y&&t.jsx(pu,{columnName:r.name,columnType:r.type,currentSort:i,hasFilters:s,isInSortStack:a,isReadOnly:c,hasModifications:l,position:I,onSortAscending:C,onSortDescending:D,onRemoveSort:v,onFilter:x,onClearFilter:B,onGroupByColumn:h,onHideColumn:k,onManageColumns:T,onResetLayout:b,onClose:we})]})}),fu={active:"success",completed:"success",approved:"success",success:"success",done:"success",contract:"info","in progress":"info","in review":"info",review:"info",pending:"info","on leave":"error","on hold":"warning",probation:"warning",cancelled:"error",rejected:"error",blocked:"error",inactive:"neutral","not started":"neutral",paused:"neutral"};function cn(e,r){const n=fu[r.toLowerCase().trim()];if(!n||n==="neutral")return{bg:e.palette.action.selected,color:e.palette.text.secondary};const i=e.palette[n];return{bg:$(i.main,e.palette.mode==="dark"?.24:.12),color:e.palette.mode==="dark"?i.light:i.dark}}function xu(e,r){switch(r.toLowerCase().trim()){case"low":return e.palette.text.secondary;case"medium":return e.palette.warning.main;case"high":return e.palette.mode==="dark"?e.palette.warning.light:e.palette.warning.dark;case"critical":case"urgent":return e.palette.error.main;default:return}}const gu={filters:{hue:"primary",shade:"main"},sorting:{hue:"secondary",shade:"main"},grouping:{hue:"success",shade:"main"},columns:{hue:"warning",shade:"main"},views:{hue:"error",shade:"main"},theme:{hue:"info",shade:"main"},export:{hue:"primary",shade:"dark"},presets:{hue:"secondary",shade:"dark"},system:{hue:"error",shade:"dark"},rows:{hue:"primary",shade:"main"}};function ys(e,r){const n=gu[r];return n?e.palette[n.hue][n.shade]:e.palette.text.secondary}function It(e){return $(e.palette.primary.main,e.palette.mode==="dark"?.24:.12)}function yu(e){const r=e.toLowerCase().trim();return t.jsx(o.Box,{component:"span",sx:{display:"inline-flex",alignItems:"center",px:1,py:.25,borderRadius:"10px",fontSize:"0.75rem",fontWeight:n=>{var i;return(i=n.tokens)!=null&&i.statusBold?700:500},bgcolor:n=>cn(n,r).bg,color:n=>cn(n,r).color,whiteSpace:"nowrap",lineHeight:1.5},children:e})}function bu(e,r){if(r==null||r==="")return t.jsx(o.Box,{component:"span",sx:{color:"text.disabled",fontSize:"0.875rem"},children:"—"});const n=String(r),i=e.name.toLowerCase();if(/\b(status|state|stage)\b/.test(i))return yu(n);if(/\b(priority|severity|urgency)\b/.test(i)){const s=n.toLowerCase().trim();return t.jsx(o.Box,{component:"span",sx:a=>{const c=xu(a,s);return c?{color:c,fontWeight:600,fontSize:"0.875rem"}:{fontSize:"0.875rem"}},children:n})}return typeof r=="boolean"?t.jsx(o.Box,{component:"span",sx:{fontSize:"0.875rem"},children:r?"Yes":"No"}):typeof r=="object"?t.jsx(o.Box,{component:"span",sx:{fontSize:"0.875rem"},children:JSON.stringify(r)}):t.jsx(o.Box,{component:"span",sx:{fontSize:"0.875rem"},children:n})}function vu(e){const r=e.find(s=>{const a=s.name.toLowerCase();return/\b(name|title|label|subject|task_?name|taskname)\b/.test(a)})||e[0]||null,n=e.find(s=>{const a=s.name.toLowerCase().replace(/[\s_-]/g,"");return/(^id$|id$|_id$|taskid|code$|ref$)/.test(a)&&s!==r})||null,i=e.filter(s=>s!==r&&s!==n).slice(0,4);return{primaryCol:r,idCol:n,bodyColumns:i}}function Su({row:e,rowIndex:r,visibleColumns:n,isSelected:i,onCardClick:s,onCardDoubleClick:a,onCardContextMenu:c,onOpenRowMenu:l,onToggleSelection:u,hideCheckbox:y}){const[g,m]=p.useState(!1),{primaryCol:S,idCol:C,bodyColumns:D}=p.useMemo(()=>vu(n),[n]),v=S?e[S.name]:null,x=C?e[C.name]:null,B=g||i;return t.jsxs(o.Box,{onMouseEnter:()=>m(!0),onMouseLeave:()=>m(!1),onClick:h=>s(r,h),onDoubleClick:h=>a(e,r,h),onContextMenu:h=>{h.preventDefault(),h.stopPropagation(),c(e,r,h)},sx:{position:"relative",display:"flex",flexDirection:"column",bgcolor:"background.paper",border:h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.border;return i?"2px solid":k&&k!=="none"?k:"1px solid"},borderColor:i?h=>ct(h).main:h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.border;return k&&k!=="none"?"inherit":$(h.palette.divider,.8)},borderWidth:i?2:void 0,borderRadius:h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.borderRadius;return k!==void 0?typeof k=="number"?`${k}px`:k:`${h.shape.borderRadius}px`},cursor:"pointer",transition:"box-shadow 0.2s ease, border-color 0.2s ease, transform 0.15s ease",overflow:"hidden",minHeight:180,boxShadow:i?h=>`0 0 0 3px ${$(ct(h).main,.15)}, 0 2px 8px ${$(h.palette.common.black,.08)}`:g?h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.boxShadow;return k&&k!=="none"?k:ve(h,"cardHover")}:h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.boxShadow;return k&&k!=="none"?k:ve(h,"cardRest")},transform:g&&!i?"translateY(-2px)":"none","&:active":{transform:"translateY(0)"},...i&&{bgcolor:h=>$(ct(h).main,.03)}},children:[t.jsxs(o.Box,{sx:h=>{var H,E,Y,Z;const k=((Y=(E=(H=h.components)==null?void 0:H.MuiCardHeader)==null?void 0:E.styleOverrides)==null?void 0:Y.root)||{},T=(k.backgroundColor&&k.backgroundColor!=="transparent"?k.backgroundColor:void 0)??((Z=h.tokens)==null?void 0:Z.cardHdrHex)??"transparent",b=k.borderBottom&&k.borderBottom!=="none"?k.borderBottom:void 0,R=k.boxShadow&&k.boxShadow!=="none"?k.boxShadow:void 0;return{px:2,pt:1.75,pb:1.5,bgcolor:T,borderBottom:b,boxShadow:R,display:"flex",alignItems:"center",gap:.5}},children:[!y&&B&&t.jsx(o.Checkbox,{size:"small",checked:i,onClick:h=>h.stopPropagation(),onChange:()=>u(e),sx:{p:.25}}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:h=>h.typography.body2.fontWeight||600,fontSize:h=>h.typography.body1.fontSize||"0.9375rem",color:"text.primary",lineHeight:1.35,wordBreak:"break-word",letterSpacing:"-0.01em"},children:v!=null&&v!==""?String(v):t.jsx(o.Box,{component:"span",sx:{color:"text.disabled",fontStyle:"italic",fontWeight:400},children:"Untitled"})})]}),t.jsx(o.Box,{sx:h=>{var b,R,H;const k=((H=(R=(b=h.components)==null?void 0:b.MuiCardHeader)==null?void 0:R.styleOverrides)==null?void 0:H.root)||{};return k.borderBottom&&k.borderBottom!=="none"?{display:"none"}:{mx:2,height:"1px",bgcolor:"divider",flexShrink:0}}}),t.jsxs(o.Box,{sx:{px:2,py:1.5,flex:1,display:"grid",gridTemplateColumns:"repeat(2, 1fr)",columnGap:1.5,rowGap:1,alignContent:"start"},children:[D.map(h=>t.jsxs(o.Box,{sx:{minWidth:0},children:[t.jsx(o.Typography,{sx:{color:"text.secondary",fontWeight:k=>k.typography.body2.fontWeight||500,fontSize:k=>k.typography.caption.fontSize||"0.6875rem",textTransform:"uppercase",letterSpacing:"0.06em",lineHeight:1.2,mb:.25},children:dt(h.name)}),t.jsx(o.Box,{sx:{lineHeight:1.3,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},title:String(e[h.name]??""),children:bu(h,e[h.name])})]},h.name)),D.length===0&&t.jsx(o.Typography,{variant:"caption",color:"text.disabled",sx:{fontStyle:"italic",gridColumn:"1 / -1"},children:"No additional fields visible"})]}),t.jsxs(o.Box,{sx:{px:2,py:1,display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid",borderColor:"divider",bgcolor:h=>$(h.palette.action.hover,.1),minHeight:40},children:[t.jsx(o.Typography,{sx:{color:"primary.main",fontFamily:'"Roboto Mono", "Courier New", monospace',fontSize:"0.75rem",fontWeight:400,letterSpacing:"0.04em",opacity:x?.85:0,userSelect:"none"},children:x?String(x):" "}),t.jsx(o.Box,{sx:{display:"flex",alignItems:"center",gap:.25,opacity:B?1:0,transition:"opacity 0.15s ease"},onClick:h=>h.stopPropagation(),children:t.jsx(o.Tooltip,{title:"More actions",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:h=>{h.stopPropagation(),l(e,r,h.currentTarget)},sx:{width:28,height:28,color:"action.active","&:hover":{bgcolor:h=>$(h.palette.text.primary,.08)}},children:t.jsx(O.MoreVert,{sx:{fontSize:17}})})})})]})]})}function Cu({row:e,grouping:r,onToggleCollapse:n}){var i;return t.jsxs(o.Box,{onClick:()=>n(e.groupKey),sx:{gridColumn:"1 / -1",display:"flex",alignItems:"center",gap:1,px:2,py:1,mt:1,mb:.5,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",borderRadius:"8px",cursor:"pointer",boxShadow:s=>ve(s,"flatHover"),"&:hover":{bgcolor:s=>$(s.palette.primary.main,.04),borderColor:"primary.light"},transition:"all 0.15s ease"},children:[e.isCollapsed?t.jsx(O.ChevronRight,{sx:{fontSize:16,color:"text.secondary"}}):t.jsx(O.KeyboardArrowDown,{sx:{fontSize:16,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"h5",sx:{fontWeight:s=>s.typography.h5.fontWeight||600,color:s=>s.typography.h5.color||"text.primary"},children:Ja(e.groupLevel,((i=r==null?void 0:r.levels[e.groupLevel])==null?void 0:i.column)||"",e.groupValue)}),t.jsxs(o.Box,{sx:{px:1,py:.125,fontSize:"0.6875rem",fontWeight:600,bgcolor:s=>$(s.palette.primary.main,.1),color:"primary.main",borderRadius:"10px"},children:[e.rowCount," ",e.rowCount===1?"row":"rows"]}),Object.keys(e.aggregates).length>0&&t.jsx(o.Typography,{variant:"caption",sx:{ml:.5,color:"text.secondary"},children:Object.entries(e.aggregates).map(([s,a])=>$s(a)).filter(Boolean).join(" • ")})]})}function wu({data:e,visibleColumns:r,grouping:n,selectedRowIds:i,isGrouped:s,onToggleGroupCollapse:a,onCardClick:c,onCardDoubleClick:l,onCardContextMenu:u,onOpenRowMenu:y,onToggleSelection:g,hideSelectionCheckboxes:m}){const S=p.useMemo(()=>{const C=new Set;return i.forEach(D=>{const v=D==null?void 0:D.__urm_row_id__;v!==void 0&&C.add(v)}),C},[i]);return e.length===0?t.jsx(o.Box,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",py:10},children:t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"No data matches the current filters"})}):t.jsx(o.Box,{sx:{fontFamily:C=>C.typography.fontFamily},children:t.jsx(o.Box,{sx:{p:C=>fs(C).containerPad,display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))",gap:C=>fs(C).cardGap,alignContent:"start"},children:e.map((C,D)=>s&&C.isGroupHeader?t.jsx(Cu,{row:C,grouping:n,onToggleCollapse:a||(()=>{})},`group-${C.groupKey}`):t.jsx(Su,{row:C,rowIndex:D,visibleColumns:r,isSelected:S.has(C==null?void 0:C.__urm_row_id__),onCardClick:c,onCardDoubleClick:l,onCardContextMenu:u,onOpenRowMenu:y,onToggleSelection:g,hideCheckbox:m},`card-${D}`))})})}const bs=[10,15,25,50,100];function ju(e,r){const n=e.trim();if(n==="")return"Page number is required";if(!/^-?\d+$/.test(n))return"Must be a number";const i=parseInt(n,10);return i<1?"Page number must be at least 1":i>r?"Entered page number is out of range":null}function ku({currentPage:e,pageSize:r,totalRows:n,totalFields:i,onPageChange:s,onPageSizeChange:a}){const l=ht().palette,u=Math.ceil(n/r),[y,g]=p.useState(String(e)),[m,S]=p.useState(null),[C,D]=p.useState(!1),v=p.useRef(null);p.useEffect(()=>{C||(g(String(e)),S(null))},[e,C]);const x=p.useCallback(()=>{const w=ju(y,u);if(w){S(w);return}const P=parseInt(y.trim(),10);S(null),D(!1),P!==e&&s(P)},[y,u,e,s]),B=p.useCallback(w=>{var P;w.key==="Enter"?(w.preventDefault(),x()):w.key==="Escape"&&(g(String(e)),S(null),D(!1),(P=v.current)==null||P.blur())},[x,e]),h=p.useCallback(()=>{g(String(e)),S(null),D(!1)},[e]),k=p.useCallback(()=>{D(!0),S(null),setTimeout(()=>{var w;return(w=v.current)==null?void 0:w.select()},0)},[]);if(n<=Math.min(...bs))return null;const T=()=>{g(String(e)),S(null),D(!1)},b=()=>{T(),s(1)},R=()=>{T(),e>1&&s(e-1)},H=()=>{T(),e<u&&s(e+1)},E=()=>{T(),s(u)},Y=(e-1)*r+1,Z=Math.min(e*r,n),I=`${Math.max(2,String(u).length+.5)}ch`,f={p:.75,color:"text.secondary","&:hover":{bgcolor:"action.hover"},"&.Mui-disabled":{color:"action.disabled"}};return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:3,px:2,py:1,borderTop:"1px solid",borderColor:"divider",bgcolor:"background.paper",minHeight:48},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:2},children:[t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",fontWeight:400},children:["Total data:"," ",t.jsx(o.Box,{component:"span",sx:{fontWeight:600,color:"text.primary"},children:n})]}),i!==void 0&&t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",fontWeight:400},children:["Total fields:"," ",t.jsx(o.Box,{component:"span",sx:{fontWeight:600,color:"text.primary"},children:i})]})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:3},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",fontWeight:400},children:"Rows per page:"}),t.jsx(o.Select,{value:r,onChange:w=>a(Number(w.target.value)),size:"small",MenuProps:{PaperProps:{sx:{maxHeight:300}},anchorOrigin:{vertical:"top",horizontal:"left"},transformOrigin:{vertical:"bottom",horizontal:"left"}},sx:{minWidth:70,fontSize:"0.8125rem",color:"text.primary","& .MuiSelect-select":{py:.5,px:1.5},"& .MuiOutlinedInput-notchedOutline":{borderColor:"divider"}},children:bs.map(w=>t.jsx(o.MenuItem,{value:w,sx:{fontSize:"0.8125rem"},children:w},w))})]}),t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",fontWeight:400,userSelect:"none"},children:[Y,"–",Z," of ",n]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,position:"relative"},children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",userSelect:"none"},children:"Page"}),t.jsxs(o.Box,{sx:{position:"relative"},children:[m&&t.jsx(o.Box,{sx:{position:"absolute",bottom:"calc(100% + 6px)",left:"50%",transform:"translateX(-50%)",bgcolor:"background.paper",border:"1px solid",borderColor:$(l.error.main,.4),borderRadius:"6px",px:1,py:.5,boxShadow:`0 2px 8px ${$(l.common.black,.12)}`,zIndex:20,whiteSpace:"nowrap","&::after":{content:'""',position:"absolute",top:"100%",left:"50%",transform:"translateX(-50%)",border:"5px solid transparent",borderTopColor:$(l.error.main,.4)}},children:t.jsx(o.Typography,{sx:{fontSize:w=>w.typography.caption.fontSize||"0.6875rem",fontWeight:w=>w.typography.caption.fontWeight||500,color:"error.main",lineHeight:1.3},children:m})}),t.jsx(o.InputBase,{inputRef:v,value:y,onChange:w=>{g(w.target.value),m&&S(null)},onKeyDown:B,onFocus:k,onBlur:h,inputProps:{"aria-label":`Page number, 1 to ${u}`,style:{textAlign:"center",padding:"2px 0",width:I,fontSize:"0.8125rem",fontWeight:600}},sx:{fontSize:"0.8125rem",fontWeight:600,color:m?"error.main":"text.primary",border:"1px solid",borderColor:m?"error.main":C?"primary.main":"divider",borderRadius:"4px",bgcolor:m?$(l.error.main,.04):C?$(l.primary.main,.04):"background.paper",px:.75,transition:"border-color 0.15s ease, background-color 0.15s ease","&:hover":{borderColor:m?"error.main":"text.secondary"},"&:focus-within":{boxShadow:m?`0 0 0 2px ${$(l.error.main,.2)}`:`0 0 0 2px ${$(l.primary.main,.2)}`}}})]}),t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",userSelect:"none"},children:["of ",u]})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:[t.jsx(o.IconButton,{onClick:b,disabled:e===1,size:"small",title:"First page",sx:f,children:t.jsx(O.FirstPage,{sx:{fontSize:20}})}),t.jsx(o.IconButton,{onClick:R,disabled:e===1,size:"small",title:"Previous page",sx:f,children:t.jsx(O.ChevronLeft,{sx:{fontSize:20}})}),t.jsx(o.IconButton,{onClick:H,disabled:e===u,size:"small",title:"Next page",sx:f,children:t.jsx(O.ChevronRight,{sx:{fontSize:20}})}),t.jsx(o.IconButton,{onClick:E,disabled:e===u,size:"small",title:"Last page",sx:f,children:t.jsx(O.LastPage,{sx:{fontSize:20}})})]})]})]})}function zu(){return t.jsx(o.Chip,{icon:t.jsx(O.Visibility,{sx:{fontSize:14}}),label:"View Only",size:"small",variant:"outlined",sx:{bgcolor:"action.hover",borderColor:"divider",fontSize:e=>e.typography.caption.fontSize||"caption.fontSize",fontWeight:e=>e.typography.caption.fontWeight||500}})}const oa="urm_hint_seen_";function Bu(e){try{return localStorage.getItem(oa+e)==="true"}catch{return!1}}function Tu(e){try{localStorage.setItem(oa+e,"true")}catch{}}const na={"& .MuiInputBase-root":{fontSize:"0.875rem",borderRadius:"8px"},"& .MuiInputLabel-root":{fontSize:"0.875rem"},"& .MuiFormHelperText-root":{fontSize:"0.75rem",mx:.5},"& .MuiOutlinedInput-root":{"& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"text.secondary"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:2}}};function di(e,r){if(e==null||e==="")return"";if(r==="boolean")return e?"True":"False";if(r==="object"||r==="array")try{return JSON.stringify(e,null,2)}catch{return String(e)}return String(e)}function ia({row:e,schema:r}){const i=ht().palette,s=r.filter(l=>l.name in e),a=s.filter(l=>l.type!=="object"&&l.type!=="array"),c=s.filter(l=>l.type==="object"||l.type==="array");return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2},children:[a.map(l=>t.jsx(o.TextField,{label:dt(l.name),value:di(e[l.name],l.type)||"No value",size:"small",fullWidth:!0,InputProps:{readOnly:!0},sx:na},l.name)),c.map(l=>{const u=di(e[l.name],l.type);return t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontWeight:y=>y.typography.caption.fontWeight||500,fontSize:y=>y.typography.caption.fontSize||"0.75rem",color:"text.secondary",display:"block",mb:.75},children:dt(l.name)}),t.jsx(o.Box,{component:"pre",sx:{m:0,px:1.5,py:1.25,borderRadius:"8px",border:"1px solid",borderColor:"divider",bgcolor:$(i.text.primary,.02),fontSize:"0.75rem",fontFamily:'"Roboto Mono", "Fira Code", monospace',color:u?"text.primary":"text.disabled",fontStyle:u?"normal":"italic",overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",lineHeight:1.6,maxHeight:160,overflowY:"auto"},children:u||"No value"})]},l.name)}),s.length===0&&t.jsx(o.Typography,{variant:"body2",sx:{color:"text.disabled",textAlign:"center",py:3,fontSize:l=>l.typography.body2.fontSize||"0.875rem"},children:"No fields to display"})]})}function Iu({open:e,onClose:r,row:n,schema:i,reportName:s}){const a=ht(),c=a.palette;if(!n)return null;const l=i.filter(y=>y.name in n).length,u=de(a);return t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:ot(a),maxHeight:"min(720px, calc(100vh - 80px))",display:"flex",flexDirection:"column",overflow:"hidden",...u.paper}},children:[t.jsxs(o.Box,{sx:{px:3,pt:2.5,pb:2,display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:2,flexShrink:0,...u.header},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5,minWidth:0},children:[t.jsx(o.Box,{sx:{width:36,height:36,borderRadius:"10px",bgcolor:$(c.primary.main,.1),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(O.VisibilityOutlined,{sx:{fontSize:18,color:"primary.main"}})}),t.jsxs(o.Box,{sx:{minWidth:0},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:y=>y.typography.h6.fontSize||"1rem",fontWeight:y=>y.typography.h6.fontWeight||600,color:y=>y.typography.h6.color||"text.primary",lineHeight:1.3},children:"View Record"}),s&&t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:y=>y.typography.caption.fontSize||"0.75rem",color:"text.secondary",display:"block",mt:.25,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[s," · ",l," ",l===1?"field":"fields"]})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{mt:.25,color:"text.secondary",borderRadius:"8px","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:18}})})]}),t.jsx(o.Divider,{}),t.jsx(o.DialogContent,{sx:{overflowY:"auto",flex:1,bgcolor:$(c.text.primary,.015)},children:t.jsx(ia,{row:n,schema:i})}),t.jsx(o.Divider,{}),t.jsx(o.DialogActions,{sx:{px:3,py:1.75,bgcolor:"background.paper",justifyContent:"flex-end"},children:t.jsx(o.Button,{onClick:r,variant:"contained",sx:{fontSize:"0.8125rem",px:3,py:.75,borderRadius:y=>`${y.shape.borderRadius}px`,minWidth:80},children:"Close"})})]})}function Eu({open:e,onClose:r,onConfirm:n,row:i,schema:s}){const a=ht(),c=de(a);return t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:ot(a),maxHeight:"min(720px, calc(100vh - 80px))",my:"auto",display:"flex",flexDirection:"column",...c.paper}},children:[t.jsxs(o.Box,{sx:{px:3,pt:2.5,pb:1.5,display:"flex",alignItems:"flex-start",justifyContent:"space-between",...c.header},children:[t.jsxs(o.Stack,{direction:"row",spacing:1.5,alignItems:"flex-start",children:[t.jsx(o.Box,{sx:{width:40,height:40,borderRadius:"50%",bgcolor:l=>$(l.palette.error.main,.1),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(O.WarningAmberRounded,{sx:{fontSize:22,color:"error.main"}})}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:l=>l.typography.h6.fontSize||"1.125rem",fontWeight:l=>l.typography.h6.fontWeight||500,color:l=>l.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5,mb:.5},children:"Delete record?"}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:l=>l.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:"This record will be permanently removed."})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsxs(o.DialogContent,{sx:{px:3,pb:2,overflowY:"auto",flex:1,display:"flex",flexDirection:"column",gap:2},children:[i&&s&&t.jsx(ia,{row:i,schema:s}),t.jsx(o.Box,{sx:{p:2,borderRadius:"8px",bgcolor:l=>$(l.palette.error.main,.1),border:l=>`1px solid ${$(l.palette.error.main,.5)}`},children:t.jsx(o.Typography,{variant:"body2",sx:{fontSize:l=>l.typography.body2.fontSize||"0.8125rem",color:"error.main",fontWeight:l=>l.typography.body2.fontWeight||500},children:"This action cannot be undone. The record will be deleted from this report immediately."})})]}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end"},children:[t.jsx(o.Button,{onClick:r,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:.875,minHeight:36,borderRadius:l=>`${l.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:()=>{n(),r()},variant:"contained",startIcon:t.jsx(O.DeleteForever,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",bgcolor:"error.main",color:"error.contrastText",px:3,py:.875,minHeight:36,borderRadius:l=>`${l.shape.borderRadius}px`,boxShadow:l=>ve(l,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"error.dark",boxShadow:l=>ve(l,"hoverButton")},"&:active":{boxShadow:l=>ve(l,"pressedButton"),transform:"translateY(1px)"}},children:"Delete record"})]})]})}function Du({open:e,onClose:r,onSave:n,row:i,schema:s,reportName:a}){var B;const c=ht(),l=c.palette,[u,y]=p.useState({});if(p.useEffect(()=>{e&&i&&y({...i})},[e,i]),!i)return null;const g=s.filter(h=>h.name in i),m=g.filter(h=>h.type!=="object"&&h.type!=="array"),S=g.filter(h=>h.type==="object"||h.type==="array"),C=(h,k)=>{y(T=>({...T,[h]:k}))},D=()=>{const h={...u};g.forEach(k=>{const T=u[k.name];if(k.type==="number"){const b=Number(T);h[k.name]=isNaN(b)?i[k.name]:b}else k.type==="boolean"&&(h[k.name]=!!T)}),n(h),r()},v=g.length,x=de(c);return t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:ot(c),maxHeight:"min(760px, calc(100vh - 80px))",display:"flex",flexDirection:"column",overflow:"hidden",...x.paper}},children:[t.jsxs(o.Box,{sx:{px:3,pt:2.5,pb:2,display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:2,flexShrink:0,...x.header},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5,minWidth:0},children:[t.jsx(o.Box,{sx:{width:36,height:36,borderRadius:"10px",bgcolor:$(((B=l.warning)==null?void 0:B.main)??"#ed6c02",.1),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(O.EditOutlined,{sx:{fontSize:18,color:"warning.main"}})}),t.jsxs(o.Box,{sx:{minWidth:0},children:[t.jsx(o.Typography,{sx:{fontSize:h=>h.typography.h6.fontSize||"1rem",fontWeight:h=>h.typography.h6.fontWeight||600,color:"text.primary",lineHeight:1.3},children:"Edit Record"}),a&&t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:h=>h.typography.caption.fontSize||"0.75rem",color:"text.secondary",display:"block",mt:.25,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[a," · ",v," ",v===1?"field":"fields"]})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{mt:.25,color:"text.secondary",borderRadius:"8px","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:18}})})]}),t.jsx(o.Divider,{}),t.jsxs(o.DialogContent,{sx:{p:2.5,overflowY:"auto",flex:1,bgcolor:$(l.text.primary,.015),display:"flex",flexDirection:"column",gap:2},children:[m.map(h=>{const k=u[h.name];return h.type==="boolean"?t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontWeight:T=>T.typography.caption.fontWeight||500,fontSize:T=>T.typography.caption.fontSize||"0.75rem",color:"text.secondary",display:"block",mb:.75},children:dt(h.name)}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.Switch,{checked:!!k,onChange:T=>C(h.name,T.target.checked),size:"small"}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:T=>T.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:k?"Enabled":"Disabled"})]})]},h.name):t.jsx(o.TextField,{label:dt(h.name),value:k??"",onChange:T=>C(h.name,T.target.value),type:h.type==="number"?"number":"text",size:"small",fullWidth:!0,sx:na},h.name)}),S.length>0&&t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2},children:S.map(h=>{const k=di(i[h.name],h.type);return t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,mb:.75},children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:T=>T.typography.caption.fontSize||"0.75rem",fontWeight:T=>T.typography.caption.fontWeight||500,color:"text.secondary"},children:dt(h.name)}),t.jsx(o.Chip,{label:"read only",size:"small",sx:{height:16,fontSize:"0.5625rem",fontWeight:600,letterSpacing:"0.04em",bgcolor:$(l.text.secondary,.07),color:"text.secondary",border:"none"}}),t.jsx(o.Tooltip,{title:"Object and array fields cannot be edited directly",arrow:!0,children:t.jsx(O.InfoOutlined,{sx:{fontSize:13,color:"text.disabled",cursor:"help"}})})]}),t.jsx(o.Box,{component:"pre",sx:{m:0,px:1.5,py:1.25,borderRadius:"8px",border:"1px solid",borderColor:"divider",bgcolor:$(l.text.primary,.02),fontSize:"0.75rem",fontFamily:'"Roboto Mono", "Fira Code", monospace',color:k?"text.primary":"text.disabled",fontStyle:k?"normal":"italic",overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",lineHeight:1.6,maxHeight:160,overflowY:"auto"},children:k||"No value"})]},h.name)})}),g.length===0&&t.jsxs(o.Box,{sx:{py:6,display:"flex",flexDirection:"column",alignItems:"center",gap:1,color:"text.disabled"},children:[t.jsx(O.EditOutlined,{sx:{fontSize:40,opacity:.4}}),t.jsx(o.Typography,{variant:"body2",children:"No editable fields"})]})]}),t.jsx(o.Divider,{}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,bgcolor:"background.paper",gap:1,justifyContent:"flex-end"},children:[t.jsx(o.Button,{onClick:r,variant:"text",sx:{fontSize:"0.8125rem",color:"text.secondary",px:2,borderRadius:h=>`${h.shape.borderRadius}px`,"&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:D,variant:"contained",startIcon:t.jsx(O.SaveOutlined,{sx:{fontSize:15}}),sx:{fontSize:"0.8125rem",px:2.5,borderRadius:h=>`${h.shape.borderRadius}px`,minWidth:90},children:"Save"})]})]})}const _u=176,$u=170,Ou=40;function sa(e){return e.type==="date"?180:_u}function Mu(e,r){return r!=null&&r!==$u&&r!==sa(e)}function Au(e,r,n){return p.useMemo(()=>{const i=e.map(m=>({name:m.name,width:r[m.name]??sa(m),explicit:Mu(m,r[m.name])})),s={};i.forEach(m=>{s[m.name]=m.width});const a=i.reduce((m,S)=>m+S.width,0),l=Math.max(0,n-Ou)-a;if(l<=0)return{widths:s,fillerWidth:0};const u=i.filter(m=>!m.explicit);if(u.length===0)return{widths:s,fillerWidth:l};const y=u.reduce((m,S)=>m+S.width,0)||1;let g=0;return u.forEach((m,S)=>{const D=S===u.length-1?m.width+l-g:Math.round(m.width+l*m.width/y);s[m.name]=D,g+=D-m.width}),{widths:s,fillerWidth:0}},[e,r,n])}const vs=176,Wu=At(),Ru={low:"text.secondary",medium:"warning.dark",high:"warning.main",critical:"error.main",urgent:"error.main"};function Pu(e){const r=e.toLowerCase().trim();return t.jsx(o.Box,{component:"span",sx:{display:"inline-flex",alignItems:"center",px:1.25,py:.375,borderRadius:"12px",fontSize:"0.75rem",fontWeight:n=>{var i;return(i=n.tokens)!=null&&i.statusBold?700:500},bgcolor:n=>cn(n,r).bg,color:n=>cn(n,r).color,whiteSpace:"nowrap",lineHeight:1.6,letterSpacing:"0.01em"},children:e})}function Nu(e){const r=e.toLowerCase().trim(),n=Ru[r];return n?t.jsx(o.Box,{component:"span",sx:{color:n,fontWeight:500,fontSize:"inherit"},children:e}):e}function Lu(e,r){const n=r.trim();if(!n)return e;const i=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=e.split(new RegExp(`(${i})`,"gi"));return s.length===1?e:s.map((a,c)=>a.toLowerCase()===n.toLowerCase()?t.jsx(o.Box,{component:"mark",sx:{bgcolor:"warning.light",color:"inherit",px:"1px",borderRadius:"2px"},children:a},c):a)}function Fu(e,r,n,i=""){if(r==null||r==="")return t.jsx(o.Box,{component:"span",sx:{color:"text.disabled"},children:"—"});const s=String(r);if(/\b(status|state|stage|employmenttype|contracttype|availability)\b/.test(e.name.toLowerCase()))return Pu(s);if(/\b(priority|severity|urgency|importance|criticality)\b/.test(e.name.toLowerCase()))return Nu(s);if(e.type==="date"){const l=e.dateFormat??"iso",u=Ra(r,l,n??null);return t.jsx(o.Box,{component:"span",sx:{color:"text.primary",whiteSpace:"nowrap"},children:u})}if(e.type==="number"&&typeof r=="number")return r.toLocaleString();if(typeof r=="boolean")return r?"Yes":"No";if(Array.isArray(r)){if(r.length===0)return t.jsx(o.Box,{component:"span",sx:{color:"text.disabled"},children:"[ ]"});const l=r.slice(0,3).map(u=>typeof u=="object"?JSON.stringify(u):String(u)).join(", ");return t.jsxs(o.Box,{component:"span",sx:{color:"text.secondary",fontSize:"0.8125rem"},children:[l,r.length>3?` +${r.length-3} more`:""]})}if(typeof r=="object"){const l=JSON.stringify(r);return t.jsx(o.Box,{component:"span",title:l,sx:{color:"text.secondary",fontSize:"0.8125rem",fontFamily:"monospace",cursor:"help"},children:l.length>40?l.slice(0,40)+"…":l})}return Lu(s,i)}function Vu({schema:e,data:r,sortStack:n=[],filters:i=Wu,views:s=[],activeViewId:a="",isDirty:c=!1,isExporting:l=!1,columnVisibility:u={},columnOrder:y=[],columnWidths:g={},grouping:m=null,classTokens:S={},onSort:C,onSortAscending:D,onSortDescending:v,onOpenFilters:x,onOpenSort:B,onOpenFilterForColumn:h,onSelectView:k,onCreateView:T,onUpdateCurrentView:b,onSaveAsNewView:R,onDiscardChanges:H,onToggleDefault:E,onToggleFavorite:Y,onRestoreView:Z,onPermanentDelete:I,onEditView:f,onCloneView:w,onCopyLink:P,onDeleteView:te,onPromoteToGlobal:d,onSetDefaultForAllUsers:J,isAdmin:re=!1,hideViewMenuActions:we,onExport:F,onOpenColumns:X,onUpdateColumnWidth:ue,onUpdateColumnOrder:pe,onUpdateColumnVisibility:K,onClearFiltersForColumn:he,onResetLayout:le,onOpenGroup:W,onGroupByColumn:ie,onToggleGroupCollapse:U,onExpandAllGroups:ne,onCollapseAllGroups:Be,onOpenAuditHistory:Q,onOpenScheduledReports:$e,searchQuery:Pe,highlightQuery:Wt="",searchHistory:Kt=[],onAddToSearchHistory:Ar,onToggleSearchFavourite:Rt,onDeleteSearchHistory:mt,selectedRowIds:St=new Set,onSearchChange:Wr,onToggleRowSelection:Qe,onToggleAllRows:Dt,onRangeSelection:Xt,onClearSelection:Pt,onExportSelected:ar,currentPage:lr=1,pageSize:Rr=15,totalRowsBeforePagination:Qt=r.length,onPageChange:br,onPageSizeChange:Ct,isReadOnly:Je=!1,userRole:vr,reportName:ft,onEditRow:rt,onDuplicateRow:Nt,onDeleteRow:cr,showDevPanel:uo=!1,onOpenDevConfig:Pr,rowActions:dr,hideDefaultRowActions:Ke,hideToolbarActions:je,customSettingsActions:_t,jsonGuideContent:Sr,viewOptions:Nr,defaultViewMode:ur,bulkActions:Cr,hideSelectionCheckboxes:Lr,rowClickBehavior:pr="select",openModalOn:Ze,onRowClick:Lt,onRowRightClick:Ce}){var Ho;const fe=ht().urmTable,[wt,V]=p.useState(null),[xt,se]=p.useState(0),[st,wr]=p.useState(0),[jt,Fr]=p.useState(null),hr=gr(),jr=((Ho=hr.dates)==null?void 0:Ho.displayFormat)??null,[Ft,kr]=p.useState(null),[Vr,ke]=p.useState(null),[ut,ee]=p.useState(null),[ce,ye]=p.useState(!1),[po,zr]=p.useState(!1),[Br,Hr]=p.useState(null),[ho,Vt]=p.useState(!1),[mo,Ur]=p.useState(null),[$t,Tr]=p.useState(null),[ze,Ge]=p.useState(null),[Ir,at]=p.useState(null),Zt=p.useRef(null),me=p.useCallback(()=>{Zt.current&&(clearTimeout(Zt.current),Zt.current=null)},[]),xe=p.useCallback(()=>{me(),Zt.current=setTimeout(()=>at(null),200)},[me]);p.useEffect(()=>me,[me]);const[Ye,Ae]=p.useState(null),nt=p.useMemo(()=>Nr??["list","grid"],[Nr]),[it,Ot]=p.useState(()=>ur??nt[0]??"list"),[In,Wo]=p.useState(!1),[Gr,En]=p.useState(()=>!Bu("toolbar_search")),Yr=p.useRef(null),fo=p.useRef(null),[Dn,Ro]=p.useState(0);p.useLayoutEffect(()=>{const j=Yr.current;if(!j)return;Ro(j.clientWidth);const N=new ResizeObserver(oe=>{Ro(oe[0].contentRect.width)});return N.observe(j),()=>N.disconnect()},[]);const qr=p.useCallback(()=>{Tu("toolbar_search"),En(!1)},[]);p.useEffect(()=>{if(!Gr)return;const j=setTimeout(qr,2e3);return()=>clearTimeout(j)},[Gr,qr]);const Po=p.useMemo(()=>{const j=jt??y;return j.length>0?j.map(N=>e.find(oe=>oe.name===N)).filter(N=>N!==void 0):e},[jt,y,e]),Jr=p.useMemo(()=>Po.filter(j=>u[j.name]!==!1),[Po,u]),xo=p.useMemo(()=>new Set(((m==null?void 0:m.levels)??[]).map(j=>j.column)),[m]),No=!!(m!=null&&m.enabled&&(m!=null&&m.levels)&&m.levels.length>0),Kr=p.useMemo(()=>{if(!No)return Jr;const j=((m==null?void 0:m.levels)??[]).map(oe=>e.find(Te=>Te.name===oe.column)).filter(oe=>oe!==void 0),N=Jr.filter(oe=>!xo.has(oe.name));return[...j,...N]},[Jr,No,xo,m,e]),{widths:Xr}=Au(Kr,g,Dn),er=p.useMemo(()=>e.filter(j=>u[j.name]===!1).length,[e,u]),Lo=p.useMemo(()=>e.map(j=>j.name),[e]),Qr=p.useMemo(()=>y.length===0?!1:JSON.stringify(y)!==JSON.stringify(Lo),[y,Lo]),_n=p.useCallback((j,N)=>{j.preventDefault(),j.stopPropagation(),V(N),se(j.clientX),wr(g[N]||150)},[g]);p.useEffect(()=>{if(!wt)return;const j=oe=>{const Te=oe.clientX-xt,Ne=Math.max(100,Math.min(600,st+Te));ue==null||ue(wt,Ne)},N=()=>{V(null)};return document.addEventListener("mousemove",j),document.addEventListener("mouseup",N),()=>{document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",N)}},[wt,xt,st,ue]);const $n=p.useCallback(j=>j==null?"-":typeof j=="object"?JSON.stringify(j):typeof j=="boolean"?j?"true":"false":String(j),[]);p.useCallback(j=>{const N=n.find(oe=>oe.column===j);return N?t.jsxs(o.Box,{sx:{display:"inline-flex",alignItems:"center",ml:.5,gap:.25},children:[N.direction==="asc"?t.jsx(O.ArrowUpward,{sx:{fontSize:14}}):t.jsx(O.ArrowDownward,{sx:{fontSize:14}}),t.jsx(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:16,height:16,bgcolor:"primary.main",color:"primary.contrastText",fontSize:"caption.fontSize",fontWeight:"bold",borderRadius:"50%"},children:N.priority})]}):null},[n]),p.useCallback(j=>ni(i,j)?t.jsx(o.IconButton,{size:"small",onClick:oe=>{oe.stopPropagation(),h==null||h(j)},sx:{ml:.5,p:.25,color:"primary.main","&:hover":{color:"primary.main"}},title:"Active filters on this column",children:t.jsx(O.FilterList,{sx:{fontSize:14}})}):null,[i,h]);const On=p.useCallback(j=>{C&&C(j)},[C]),Mn=p.useCallback((j,N)=>{Fr(oe=>{const Ne=[...oe??(y.length>0?y:e.map(tt=>tt.name))],[et]=Ne.splice(j,1);return Ne.splice(N,0,et),Ne})},[y,e]),An=p.useCallback(()=>{jt&&pe&&pe(jt),Fr(null)},[jt,pe]),Wn=p.useCallback(j=>{if(!C)return;const N=n.find(oe=>oe.column===j);(!N||N.direction!=="asc")&&C(j)},[C,n]),Rn=p.useCallback(j=>{if(!C)return;const N=n.find(oe=>oe.column===j);N?N.direction==="asc"&&C(j):(C(j),setTimeout(()=>C(j),0))},[C,n]),Pn=p.useCallback(j=>{if(!C)return;const N=n.find(oe=>oe.column===j);N&&(N.direction==="asc"?(C(j),setTimeout(()=>C(j),0)):N.direction==="desc"&&C(j))},[C,n]),Nn=p.useCallback(j=>{K&&K(j,!1)},[K]),Zr=!!(m!=null&&m.enabled&&(m!=null&&m.levels)&&m.levels.length>0),tr=p.useMemo(()=>Tt(i),[i]),Ln=n.length>0||tr>0||((m==null?void 0:m.enabled)??!1)||Object.values(u).some(j=>j===!1),Fn=(lr-1)*Rr,Ve=r,lt=p.useMemo(()=>{const j=new Set;return St.forEach(N=>{const oe=N==null?void 0:N.__urm_row_id__;oe!==void 0&&j.add(oe)}),j},[St]);p.useEffect(()=>{const j=N=>{!Dt||!Pt||N.target instanceof HTMLInputElement||N.target instanceof HTMLTextAreaElement||((N.ctrlKey||N.metaKey)&&N.key==="a"&&(N.preventDefault(),Dt(!0,Ve)),N.key==="Escape"&&(N.preventDefault(),Pt()))};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[Dt,Pt,Ve]);const go=p.useCallback((j,N)=>{Lt==null||Lt(Ve[j],j,N),(pr==="activate"||pr==="both")&&(ee(Ve[j]),ye(!0)),pr!=="activate"&&Qe&&(N.shiftKey&&Ft!==null?(N.preventDefault(),Xt&&Xt(Ft,j,Ve)):(Qe(Ve[j]),kr(j)))},[Qe,Ft,Xt,Ve,Lt,pr,ee,ye]),eo=p.useMemo(()=>Ve.filter(j=>!j.isGroupHeader),[Ve]),Fo=p.useMemo(()=>eo.length>0&&lt.size>0&&eo.every(j=>lt.has(j==null?void 0:j.__urm_row_id__)),[eo,lt]),Vn=!Fo&&eo.some(j=>lt.has(j==null?void 0:j.__urm_row_id__)),gt=!!(Qe&&Dt&&!Lr),rr=p.useMemo(()=>Kr,[Kr]),Er=p.useMemo(()=>{const j=new Map;if(!(m!=null&&m.enabled)||!Ve)return j;let N=[];for(const oe of Ve)if(oe.__isGroupHeader||oe.isGroupHeader){const Te=oe.groupLevel??0;N[Te]=oe.groupKey,N=N.slice(0,Te+1),j.has(oe.groupKey)||j.set(oe.groupKey,[])}else if(oe.__urm_is_grouped_data_row__)for(const Te of N)Te&&j.has(Te)&&j.get(Te).push(oe);return j},[m,Ve]),Hn=p.useCallback(j=>{const N=j.groupLevel,oe=N===0?S.groupRowLevel0||"urm-group-level-0":N===1?S.groupRowLevel1||"urm-group-level-1":S.groupRowLevel2||"urm-group-level-2",Te=N===0?We=>We.palette.mode==="dark"?$(We.palette.action.hover,.12):"#f1f5f9":We=>We.palette.mode==="dark"?$(We.palette.action.hover,.06):"#f8fafc",Ne=String(j.groupValue??"(empty)"),et=`${j.rowCount} ${j.rowCount===1?"item":"items"}`,tt=Er.get(j.groupKey)||[],ge=tt.filter(We=>lt.has(We==null?void 0:We.__urm_row_id__)).length,Ht=tt.length>0&&ge===tt.length,Ut=ge>0&&ge<tt.length;return t.jsxs(o.TableRow,{onClick:()=>U==null?void 0:U(j.groupKey),className:`urm-group-header-row urm-group-level-${N} ${oe} ${S.groupRow||""}`,sx:{bgcolor:Te,"&:hover":{bgcolor:We=>$(We.palette.text.primary,.07)},cursor:"pointer",borderTop:"1px solid",borderBottom:"1px solid",borderColor:"divider",position:"relative"},children:[gt&&t.jsx(o.TableCell,{padding:"checkbox",onClick:We=>We.stopPropagation(),sx:{borderBottom:"1px solid",borderColor:"divider",verticalAlign:"middle",bgcolor:"inherit"},children:t.jsx(o.Checkbox,{size:"small",checked:Ht,indeterminate:Ut,onChange:()=>{if(!Qe)return;const We=!Ht;tt.forEach(or=>{const Uo=lt.has(or==null?void 0:or.__urm_row_id__);We!==Uo&&Qe(or)})}})}),t.jsxs(o.TableCell,{colSpan:rr.length,className:`urm-group-cell ${S.groupCellFirst||""} ${S.groupCell||""}`,sx:{pl:`${N*24+16}px`,position:"relative",py:1.25,borderBottom:"1px solid",borderColor:"divider"},children:[N>0&&t.jsx(o.Box,{sx:{position:"absolute",left:`${N*24+4}px`,top:0,bottom:0,width:"1px",bgcolor:"divider"}}),t.jsxs(o.Box,{className:`urm-group-content ${S.groupContent||""}`,sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.Box,{className:`urm-group-caret ${S.groupCaret||""}`,sx:{color:"text.secondary",display:"inline-flex",alignItems:"center"},children:j.isCollapsed?t.jsx(O.ChevronRight,{sx:{fontSize:18}}):t.jsx(O.KeyboardArrowDown,{sx:{fontSize:18}})}),t.jsx(o.Typography,{variant:"h5",className:`urm-group-title ${S.groupTitle||""}`,sx:{fontWeight:N===0?600:500,fontSize:N===0?"0.9375rem":"0.875rem",color:"text.primary",whiteSpace:"nowrap"},children:Ne}),!j.isCollapsed&&t.jsx(o.Box,{className:"urm-group-column-heading-badge",sx:{px:1,py:.25,fontSize:"0.7rem",fontWeight:500,lineHeight:1,whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",bgcolor:We=>$(We.palette.primary.main,.1),color:"primary.main",borderRadius:"10px",border:"1px solid",borderColor:We=>$(We.palette.primary.main,.2),ml:.5},children:dt(j.groupColumn||"")}),!!j.__urm_is_continuation_header__&&t.jsx(o.Box,{className:"urm-group-continuation-badge",sx:{px:1,py:.25,fontSize:"0.7rem",fontWeight:500,lineHeight:1,whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",bgcolor:We=>$(We.palette.text.secondary,.05),color:"text.secondary",borderRadius:"10px",border:"1px dashed",borderColor:"divider",ml:.5},children:"Continued"}),t.jsx(o.Box,{className:`urm-group-count ${S.groupBadge||""} ${S.groupCount||""}`,sx:{px:1.25,py:.25,fontSize:"0.75rem",fontWeight:500,lineHeight:1,whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",bgcolor:We=>$(We.palette.text.secondary,.08),color:"text.secondary",borderRadius:"12px",ml:.5},children:et}),Object.keys(j.aggregates||{}).length>0&&t.jsxs(o.Typography,{variant:"caption",className:`urm-group-aggregates ${S.groupAggregates||""}`,sx:{ml:1.5,color:"text.secondary",fontWeight:500},children:["(",Object.entries(j.aggregates).map(([We,or])=>$s(or)).filter(Boolean).join(" • "),")"]})]})]})]},j.groupKey)},[rr,gt,m,e,U,S,fe,Er,lt,Qe]),Vo=p.useCallback((j,N)=>{const oe=lt.has(j==null?void 0:j.__urm_row_id__),Te=Vr===N,Ne=ce&&(j==null?void 0:j.__urm_row_id__)===(ut==null?void 0:ut.__urm_row_id__),et=!!(j!=null&&j.__urm_is_grouped_data_row__),tt=et?j.__urm_group_level__??(m==null?void 0:m.levels.length)??1:0;return t.jsxs(o.TableRow,{"data-row-index":N,className:et?`urm-data-row-grouped ${S.dataRowGrouped||""}`:"",onMouseEnter:()=>ke(N),onMouseLeave:()=>ke(null),onClick:ge=>{ge.target.closest("[data-row-action-btn]")||go(N,ge)},onDoubleClick:()=>{Ze!=null&&Ze.includes("doubleClick")&&(ee(j),ye(!0))},onContextMenu:ge=>{ge.preventDefault(),ge.stopPropagation(),Ce==null||Ce(j,N,ge),at(null),Ge({mouseX:ge.clientX,mouseY:ge.clientY,row:j,rowIndex:N}),Ze!=null&&Ze.includes("rightClick")&&(ee(j),ye(!0))},sx:{cursor:"pointer",bgcolor:oe?ge=>ct(ge).bg:Ne?ge=>$(ge.palette.info.main,.12):fe!=null&&fe.striped&&N%2===1?fe.stripeBg:"background.paper",transition:"background-color 0.12s ease","&:hover":{bgcolor:oe?ge=>ct(ge).hoverBg:Ne?ge=>$(ge.palette.info.main,.2):ge=>`var(--highlight-hover-row, ${$(ct(ge).main,.04)})`},borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderColor:"divider"},children:[gt&&t.jsx(o.TableCell,{padding:"checkbox",onClick:ge=>ge.stopPropagation(),sx:{borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderColor:"divider",verticalAlign:(fe==null?void 0:fe.cellAlignV)??"middle"},children:t.jsx(o.Checkbox,{size:"small",checked:oe,onChange:()=>Qe==null?void 0:Qe(j)})}),rr.map((ge,Ht)=>{const Ut=Ht===0;return t.jsxs(o.TableCell,{className:et&&Ut?`urm-data-cell-grouped ${S.dataCellGrouped||""}`:"",sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",py:(fe==null?void 0:fe.rowPaddingY)??"6px",px:(fe==null?void 0:fe.cellPaddingX)??2,pl:et&&Ut?`${tt*24}px`:void 0,position:"relative",textAlign:(fe==null?void 0:fe.cellAlignH)??"left",verticalAlign:(fe==null?void 0:fe.cellAlignV)??"middle",fontSize:"0.8125rem",fontWeight:400,color:"text.primary",borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderRight:fe==null?void 0:fe.colDivider,borderColor:"divider",minWidth:g[ge.name]?`${g[ge.name]}px`:`${ge.type==="date"?Math.max(vs,180):vs}px`},children:[et&&Ut&&tt>0&&t.jsx(o.Box,{sx:{position:"absolute",left:4,top:0,bottom:0,width:"1px",bgcolor:"divider"}}),t.jsx(o.Box,{sx:{display:"flex",alignItems:"center"},children:t.jsx("span",{className:`urm-item-title ${S.itemTitle||""}`,children:Fu(ge,j[ge.name],jr,Wt)})})]},ge.name)}),t.jsx(o.TableCell,{"data-row-action":"true",sx:{position:"sticky",right:0,width:0,minWidth:0,maxWidth:0,p:0,border:"none",background:"transparent",opacity:Te?1:0,transition:"opacity 0.12s ease",zIndex:10},children:t.jsx(o.Box,{sx:{position:"absolute",right:8,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"flex-end",zIndex:10},children:t.jsx(o.IconButton,{"data-row-action-btn":"true",size:"small",onClick:ge=>{ge.stopPropagation(),ge.preventDefault(),at(null),Ge({anchorEl:ge.currentTarget,row:j,rowIndex:N})},sx:{color:"text.secondary",opacity:Te?1:0,transition:"opacity 0.12s ease",pointerEvents:Te?"auto":"none","&:hover":{bgcolor:ge=>$(ge.palette.text.primary,.08),color:"text.primary"}},children:t.jsx(O.MoreVert,{sx:{fontSize:18}})})})})]},N)},[St,Fn,Vr,go,Kr,g,Wt,$n,rt,Nt,cr,Qe,gt,ee,ye,ut,ce,Ge,Zr,xo,Ce,Ze,lt]);return t.jsxs(ir.DndProvider,{backend:ui.HTML5Backend,children:[t.jsxs(o.Box,{sx:j=>{var et,tt,ge;const N=((ge=(tt=(et=j.components)==null?void 0:et.MuiCard)==null?void 0:tt.styleOverrides)==null?void 0:ge.root)||{},oe=N.border&&N.border!=="none"?N.border:"1px solid",Te=N.borderRadius!==void 0?typeof N.borderRadius=="number"?`${N.borderRadius}px`:N.borderRadius:`${j.shape.borderRadius}px`,Ne=N.boxShadow&&N.boxShadow!=="none"?N.boxShadow:ve(j,"cardRest");return{display:"flex",flexDirection:"column",height:"100%",bgcolor:"background.paper",border:oe,borderColor:oe!=="none"?"divider":void 0,borderRadius:Te,boxShadow:Ne,overflow:"hidden"}},children:[t.jsxs(o.Box,{sx:j=>{var et,tt,ge,Ht,Ut;const N=((ge=(tt=(et=j.components)==null?void 0:et.MuiCardHeader)==null?void 0:tt.styleOverrides)==null?void 0:ge.root)||{},oe=(N.backgroundColor&&N.backgroundColor!=="transparent"?N.backgroundColor:void 0)??((Ht=j.tokens)==null?void 0:Ht.cardHdrHex)??((Ut=j.urmTable)==null?void 0:Ut.headerBg)??j.palette.background.paper,Te=N.borderBottom&&N.borderBottom!=="none"?N.borderBottom:"1px solid",Ne=N.boxShadow&&N.boxShadow!=="none"?N.boxShadow:void 0;return{position:"sticky",top:0,zIndex:10,bgcolor:oe,borderBottom:Te,borderColor:Te!=="none"?"divider":void 0,boxShadow:Ne,px:2,py:0,minHeight:56,display:"flex",alignItems:"center",gap:1}},children:[Je&&t.jsx(zu,{}),Wr&&Ar&&Rt&&mt&&!(je!=null&&je.includes("search"))&&t.jsx(o.Tooltip,{open:Gr,title:t.jsxs(o.Box,{sx:{p:.5},children:[t.jsx(o.Typography,{variant:"caption",sx:{display:"block",fontWeight:j=>j.typography.caption.fontWeight||500,mb:.25},children:"💡 Search tip"}),t.jsx(o.Typography,{variant:"caption",children:"Type to search across all columns instantly"})]}),placement:"bottom-start",arrow:!0,PopperProps:{onClick:qr},componentsProps:{tooltip:{sx:{bgcolor:"primary.main","& .MuiTooltip-arrow":{color:"primary.main"},maxWidth:220,cursor:"pointer",userSelect:"none"}}},children:t.jsx(o.Box,{component:"span",children:t.jsx(du,{value:Pe||"",onChange:j=>{Gr&&qr(),Wr(j)},searchHistory:Kt,onAddToHistory:Ar,onToggleFavourite:Rt,onDeleteHistory:mt,disabled:Je})})}),!(je!=null&&je.includes("jsonGuide"))&&t.jsx(o.Tooltip,{title:"JSON format guide",children:t.jsx(o.IconButton,{size:"small",onClick:()=>Wo(!0),sx:{color:"text.secondary",borderRadius:1,"&:hover":{bgcolor:j=>$(j.palette.text.primary,.06),color:"text.primary"}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:20}})})}),k&&T&&b&&s.length>0&&t.jsx(uu,{views:s||[],activeViewId:a||"",isDirty:c,onSelectView:k,onCreateView:T,onToggleDefault:E,onToggleFavorite:Y,onRestoreView:Z,onPermanentDelete:I,onEditView:f,onCloneView:w,onCopyLink:P,onDeleteView:te,onPromoteToGlobal:d,onSetDefaultForAllUsers:J,isAdmin:re,hideViewMenuActions:we,isReadOnly:Je}),c&&!Je&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25,ml:1},children:[b&&t.jsx(o.Button,{onClick:b,size:"small",variant:"contained",sx:{fontSize:"0.8125rem",fontWeight:500,px:2.25,py:.75,borderRadius:"10px",bgcolor:j=>`var(--urm-btn-save-current-bg, ${j.palette.primary.main})`,color:j=>`var(--urm-btn-save-current-color, ${j.palette.primary.contrastText})`,textTransform:"none",boxShadow:j=>ve(j,"restButton"),"&:hover":{bgcolor:j=>`var(--urm-btn-save-current-hover-bg, ${j.palette.primary.dark})`,boxShadow:j=>ve(j,"hoverButton")}},children:"Save current view"}),R&&t.jsx(o.Button,{onClick:R,size:"small",variant:"outlined",sx:{fontSize:"0.8125rem",fontWeight:500,px:2.25,py:.75,borderRadius:"10px",borderColor:j=>`var(--urm-btn-save-new-border, ${j.palette.primary.main})`,color:j=>`var(--urm-btn-save-new-color, ${j.palette.primary.main})`,bgcolor:j=>`var(--urm-btn-save-new-bg, ${j.palette.background.paper})`,borderWidth:"1.5px",textTransform:"none","&:hover":{borderWidth:"1.5px",borderColor:j=>`var(--urm-btn-save-new-hover-border, ${j.palette.primary.dark})`,bgcolor:j=>`var(--urm-btn-save-new-hover-bg, ${$(j.palette.primary.main,.08)})`}},children:"Save new view"}),H&&t.jsx(o.Button,{onClick:H,size:"small",variant:"contained",sx:{fontSize:"0.8125rem",fontWeight:500,px:2.25,py:.75,borderRadius:"10px",bgcolor:j=>`var(--urm-btn-discard-bg, ${$(j.palette.text.primary,.12)})`,color:j=>`var(--urm-btn-discard-color, ${j.palette.text.primary})`,textTransform:"none",boxShadow:"none","&:hover":{bgcolor:j=>`var(--urm-btn-discard-hover-bg, ${$(j.palette.text.primary,.18)})`,boxShadow:"none"}},children:"Discard"})]}),uo&&Pr&&t.jsx(o.Tooltip,{title:"Developer configuration",children:t.jsx(o.IconButton,{size:"small",onClick:Pr,sx:{color:"text.secondary",borderRadius:1,border:"1px dashed",borderColor:j=>$(j.palette.text.secondary,.3),"&:hover":{bgcolor:j=>$(j.palette.warning.main,.08),borderColor:"warning.main",color:"warning.dark"}},children:t.jsx(O.DisplaySettings,{sx:{fontSize:20}})})}),t.jsx(o.Box,{sx:{flexGrow:1}}),!Je&&B&&!(je!=null&&je.includes("sort"))&&t.jsx(o.Tooltip,{title:"Sort",children:t.jsxs(o.IconButton,{onClick:B,size:"small",sx:{position:"relative",color:n.length>0?"primary.main":"text.secondary",bgcolor:n.length>0?j=>It(j):"transparent",borderRadius:1,transition:"all 0.15s ease","&:hover":{bgcolor:n.length>0?j=>$(j.palette.primary.main,.2):j=>$(j.palette.text.primary,.06),color:n.length>0?"primary.main":"text.primary"}},children:[t.jsx(O.SwapVert,{sx:{fontSize:20}}),n.length>0&&t.jsx(o.Box,{component:"span",sx:{position:"absolute",top:-2,right:-2,width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"primary.main",color:"primary.contrastText",borderRadius:"50%",fontSize:"0.625rem",fontWeight:700,border:"2px solid",borderColor:"background.paper"},children:n.length})]})}),!Je&&x&&!(je!=null&&je.includes("filter"))&&t.jsx(o.Tooltip,{title:"Filter",children:t.jsxs(o.IconButton,{onClick:x,size:"small",sx:{position:"relative",color:tr>0?"primary.main":"text.secondary",bgcolor:tr>0?j=>It(j):"transparent",borderRadius:1,transition:"all 0.15s ease","&:hover":{bgcolor:tr>0?j=>$(j.palette.primary.main,.2):j=>$(j.palette.text.primary,.06),color:tr>0?"primary.main":"text.primary"}},children:[t.jsx(O.FilterList,{sx:{fontSize:20}}),tr>0&&t.jsx(o.Box,{component:"span",sx:{position:"absolute",top:-2,right:-2,width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"primary.main",color:"primary.contrastText",borderRadius:"50%",fontSize:"0.625rem",fontWeight:700,border:"2px solid",borderColor:"background.paper"},children:tr})]})}),!Je&&X&&!(je!=null&&je.includes("columns"))&&t.jsx(o.Tooltip,{title:"Show/Hide Columns",children:t.jsxs(o.IconButton,{onClick:X,size:"small",sx:{position:"relative",color:er>0||Qr?"primary.main":"text.secondary",bgcolor:er>0||Qr?j=>It(j):"transparent",borderRadius:1,transition:"all 0.15s ease","&:hover":{bgcolor:er>0||Qr?j=>$(j.palette.primary.main,.2):j=>$(j.palette.text.primary,.06),color:er>0||Qr?"primary.main":"text.primary"}},children:[t.jsx(O.ViewColumn,{sx:{fontSize:20}}),er>0&&t.jsx(o.Box,{component:"span",sx:{position:"absolute",top:-2,right:-2,width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"primary.main",color:"primary.contrastText",borderRadius:"50%",fontSize:"0.625rem",fontWeight:700,border:"2px solid",borderColor:"background.paper"},children:er})]})}),Zr&&(ne||Be)&&(()=>{var oe;const j=(((oe=m==null?void 0:m.collapsedGroups)==null?void 0:oe.length)??0)>0,N=j?ne:Be;return N?t.jsx(o.Tooltip,{title:j?"Expand all groups":"Collapse all groups",children:t.jsx(o.IconButton,{onClick:N,size:"small",sx:{color:"text.secondary",borderRadius:1,"&:hover":{bgcolor:Te=>$(Te.palette.text.primary,.06),color:"text.primary"}},children:j?t.jsx(O.UnfoldMore,{sx:{fontSize:20}}):t.jsx(O.UnfoldLess,{sx:{fontSize:20}})})}):null})(),nt.length>1&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{orientation:"vertical",flexItem:!0,sx:{mx:.5,my:1.5}}),nt.map(j=>{const N=it===j,oe=j==="list"?t.jsx(O.TableRows,{sx:{fontSize:20}}):t.jsx(O.GridView,{sx:{fontSize:20}}),Te=j==="list"?"List view":"Grid view";return t.jsx(o.Tooltip,{title:Te,children:t.jsx(o.IconButton,{size:"small",onClick:()=>Ot(j),sx:{borderRadius:1,color:N?"primary.main":"text.secondary",bgcolor:N?Ne=>It(Ne):"transparent",transition:"all 0.15s ease","&:hover":{bgcolor:N?Ne=>$(Ne.palette.primary.main,.2):Ne=>$(Ne.palette.text.primary,.06),color:N?"primary.main":"text.primary"}},children:oe})},j)})]}),!(je!=null&&je.includes("settings"))&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{orientation:"vertical",flexItem:!0,sx:{mx:.5,my:1.5}}),t.jsx(o.Tooltip,{title:"Settings",children:t.jsx(o.IconButton,{onClick:j=>Ae(j.currentTarget),size:"small",sx:{color:"text.secondary",borderRadius:1,transition:"all 0.15s ease","&:hover":{bgcolor:j=>$(j.palette.text.primary,.06),color:"text.primary"}},children:t.jsx(O.Settings,{sx:{fontSize:20}})})})]})]}),t.jsxs(o.Popover,{open:!!Ye,anchorEl:Ye,onClose:()=>Ae(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},PaperProps:{sx:{mt:.5,minWidth:200,py:.5,borderRadius:1.5,boxShadow:3}},children:[F&&!(je!=null&&je.includes("export"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{F(),Ae(null)},disabled:l,sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Download,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Export"})]}),!Je&&W&&!(je!=null&&je.includes("grouping"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{W(),Ae(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Layers,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Grouping"})]}),Q&&!(je!=null&&je.includes("auditHistory"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{Q(),Ae(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.History,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Audit History"})]}),$e&&!(je!=null&&je.includes("scheduledReports"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{$e(),Ae(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Schedule,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Scheduled Reports"})]}),_t==null?void 0:_t.map(j=>t.jsxs(o.MenuItem,{dense:!0,disabled:j.disabled,onClick:()=>{j.onClick(),Ae(null)},sx:{py:1,px:2,gap:1.5},children:[j.icon,t.jsx(o.Typography,{variant:"body2",children:j.label})]},j.key))]}),t.jsxs(o.Box,{sx:{position:"relative",flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[Cr&&Cr.length>0&&lt.size>0&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1,bgcolor:j=>ct(j).bg,borderBottom:"1px solid",borderColor:"divider"},children:[t.jsxs(o.Typography,{variant:"body2",sx:{fontWeight:j=>j.typography.body2.fontWeight||600,mr:1},children:[lt.size," selected"]}),t.jsx(o.Button,{size:"small",onClick:()=>Pt==null?void 0:Pt(),children:"Clear"}),Cr.map(j=>{var oe,Te;const N=Array.from(St);return(oe=j.hidden)!=null&&oe.call(j,N)?null:t.jsx(o.Button,{size:"small",variant:"outlined",startIcon:j.icon,disabled:(Te=j.disabled)==null?void 0:Te.call(j,N),onClick:()=>j.onClick(N),children:j.label},j.key)})]}),it!=="list"&&t.jsx(o.Box,{sx:{flex:1,overflowY:"auto",overflowX:"hidden",bgcolor:"action.hover"},children:t.jsx(wu,{data:Ve,visibleColumns:Jr,grouping:m,selectedRowIds:St,isGrouped:!!Zr,onToggleGroupCollapse:U,onCardClick:(j,N)=>go(j,N),onCardDoubleClick:j=>{Ze!=null&&Ze.includes("doubleClick")&&(ee(j),ye(!0))},onCardContextMenu:(j,N,oe)=>{Ce==null||Ce(j,N,oe),at(null),Ge({mouseX:oe.clientX,mouseY:oe.clientY,row:j,rowIndex:N}),Ze!=null&&Ze.includes("rightClick")&&(ee(j),ye(!0))},onOpenRowMenu:(j,N,oe)=>Ge({anchorEl:oe,row:j,rowIndex:N}),onToggleSelection:j=>Qe==null?void 0:Qe(j),hideSelectionCheckboxes:Lr})}),it==="list"&&t.jsxs(o.Box,{sx:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[t.jsx(o.Box,{ref:Yr,onScroll:j=>{fo.current&&(fo.current.scrollLeft=j.target.scrollLeft)},sx:{overflowX:"auto",overflowY:"hidden",flexShrink:0,scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},children:t.jsxs(o.Table,{sx:{tableLayout:"fixed",borderCollapse:"collapse",borderSpacing:0,width:"100%",minWidth:`${Object.values(Xr).reduce((j,N)=>j+N,0)}px`},children:[t.jsxs("colgroup",{children:[gt&&t.jsx("col",{style:{width:"40px"}}),rr.map(j=>t.jsx("col",{style:{width:`${Xr[j.name]}px`}},j.name))]}),t.jsx(o.TableHead,{children:t.jsxs(o.TableRow,{sx:{bgcolor:(fe==null?void 0:fe.headerBg)??"action.hover",borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderColor:"divider"},children:[gt&&t.jsx(o.TableCell,{padding:"checkbox",sx:{borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderColor:"divider",verticalAlign:(fe==null?void 0:fe.cellAlignV)??"middle"},children:t.jsx(o.Checkbox,{size:"small",checked:Fo,indeterminate:Vn,onChange:j=>Dt==null?void 0:Dt(j.target.checked,Ve)})}),rr.map((j,N)=>t.jsx(mu,{column:j,index:N,sortRule:n.find(oe=>oe.column===j.name),hasFilters:ni(i,j.name),isInSortStack:n.some(oe=>oe.column===j.name),isReadOnly:Je,hasModifications:Ln,width:g[j.name],onColumnClick:On,onMoveColumn:Mn,onColumnDragEnd:An,onResizeStart:_n,onSortAscending:D||Wn,onSortDescending:v||Rn,onRemoveSort:Pn,onOpenFilterForColumn:h||(()=>{}),onClearFiltersForColumn:he||(()=>{}),onGroupByColumn:ie,onHideColumn:Nn,onManageColumns:X||(()=>{}),onResetLayout:le},j.name))]})})]})}),t.jsx(o.Box,{ref:fo,onScroll:j=>{Yr.current&&(Yr.current.scrollLeft=j.target.scrollLeft)},sx:{flex:1,overflowY:"auto",overflowX:"auto",minHeight:0,bgcolor:"background.paper","&::-webkit-scrollbar":{width:8,height:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:j=>$(j.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:j=>$(j.palette.text.primary,.3)}}},children:t.jsxs(o.Table,{sx:{tableLayout:"fixed",borderCollapse:"collapse",borderSpacing:0,width:"100%",minWidth:`${Object.values(Xr).reduce((j,N)=>j+N,0)}px`},children:[t.jsxs("colgroup",{children:[gt&&t.jsx("col",{style:{width:"40px"}}),rr.map(j=>t.jsx("col",{style:{width:`${Xr[j.name]}px`}},j.name))]}),t.jsx(o.TableBody,{children:Ve.length===0?t.jsx(o.TableRow,{children:t.jsx(o.TableCell,{colSpan:rr.length,align:"center",sx:{py:4},children:t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"No data matches the current filters"})})}):Zr?Ve.map((j,N)=>j.isGroupHeader?Hn(j):Vo(j,N)):Ve.map((j,N)=>Vo(j,N))})]})})]}),br&&Ct&&t.jsx(ku,{currentPage:lr,pageSize:Rr,totalRows:Qt,totalFields:e.length,onPageChange:br,onPageSizeChange:Ct}),!(br&&Ct)&&t.jsx(o.Box,{sx:{px:3,py:1.5,bgcolor:"action.hover",borderTop:1,borderColor:"divider"},children:t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["Showing ",Ve.length," ",Ve.length===1?"row":"rows"]})})]})]}),t.jsxs(o.Popover,{open:!!ze,onClose:()=>{Ge(null),at(null)},anchorEl:(ze==null?void 0:ze.anchorEl)||null,anchorReference:ze!=null&&ze.anchorEl?"anchorEl":"anchorPosition",anchorPosition:ze&&!ze.anchorEl?{top:ze.mouseY,left:ze.mouseX}:void 0,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:ze!=null&&ze.anchorEl?{vertical:"top",horizontal:"right"}:{vertical:"top",horizontal:"left"},PaperProps:{sx:{minWidth:176,py:.5,borderRadius:1.5,boxShadow:3}},children:[!(Ke!=null&&Ke.includes("view"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ze&&(ee(ze.row),ye(!0)),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Visibility,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"View"})]}),!(Ke!=null&&Ke.includes("edit"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ze&&(Ur(ze.row),Tr(ze.rowIndex),Vt(!0)),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Edit,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Edit"})]}),!(Ke!=null&&Ke.includes("duplicate"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ze&&(Nt==null||Nt(ze.rowIndex,ze.row)),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.ContentCopy,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Duplicate"})]}),ze&&(dr==null?void 0:dr.map(j=>{var N,oe;return(N=j.hidden)!=null&&N.call(j,ze.row)?null:t.jsxs(o.MenuItem,{dense:!0,disabled:(oe=j.disabled)==null?void 0:oe.call(j,ze.row),onClick:()=>{j.onClick(ze.row,ze.rowIndex),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[j.icon,t.jsx(o.Typography,{variant:"body2",children:j.label})]},j.key)})),lt.size>0&&ar&&!(Ke!=null&&Ke.includes("export"))&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{sx:{my:.5}}),t.jsxs(o.MenuItem,{dense:!0,onMouseEnter:j=>{me(),at(j.currentTarget)},onMouseLeave:xe,sx:{py:1,px:2,gap:1.5,justifyContent:"space-between"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5},children:[t.jsx(O.Download,{sx:{fontSize:18,color:"text.secondary"}}),t.jsxs(o.Typography,{variant:"body2",children:["Export Selected (",lt.size,")"]})]}),t.jsx(O.ChevronRight,{sx:{fontSize:18,color:"text.secondary"}})]}),t.jsx(o.Popper,{open:!!Ir,anchorEl:Ir,placement:"right-start",transition:!0,sx:{zIndex:j=>j.zIndex.modal+1},modifiers:[{name:"offset",options:{offset:[0,0]}}],children:({TransitionProps:j})=>t.jsx(o.Grow,{...j,timeout:150,children:t.jsx(o.Paper,{onMouseEnter:me,onMouseLeave:xe,sx:{minWidth:176,py:.5,borderRadius:1.5,boxShadow:3},children:t.jsxs(o.MenuList,{dense:!0,autoFocusItem:!1,children:[t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ar("csv"),at(null),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.TableChart,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"CSV"})]}),t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ar("excel"),at(null),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.TableChart,{sx:{fontSize:18,color:"success.main"}}),t.jsx(o.Typography,{variant:"body2",children:"Excel"})]}),t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ar("json"),at(null),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.DataObject,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"JSON"})]}),hr.export.allowedFormats.includes("pdf")&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ar("pdf"),at(null),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.PictureAsPdf,{sx:{fontSize:18,color:"error.main"}}),t.jsx(o.Typography,{variant:"body2",children:"PDF"})]})]})})})})]}),!(Ke!=null&&Ke.includes("delete"))&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{sx:{my:.5}}),t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ze&&(Hr(ze.row),zr(!0)),Ge(null)},sx:{py:1,px:2,gap:1.5,color:"error.main"},children:[t.jsx(O.Delete,{sx:{fontSize:18,color:"error.main"}}),t.jsx(o.Typography,{variant:"body2",color:"error.main",children:"Delete"})]})]})]}),t.jsx(Iu,{open:ce,onClose:()=>{ye(!1),ee(null)},row:ut,schema:e,reportName:ft}),t.jsx(Du,{open:ho,onClose:()=>{Vt(!1),Ur(null),Tr(null)},onSave:j=>{$t!==null&&(rt==null||rt($t,j))},row:mo,schema:e,reportName:ft}),t.jsx(Eu,{open:po,onClose:()=>{zr(!1),Hr(null)},onConfirm:()=>{Br!==null&&(cr==null||cr(Br))},row:Br,schema:e}),t.jsx(ta,{isOpen:In,onClose:()=>Wo(!1),content:Sr})]})}function pt({content:e,isDev:r=!1}){const[n,i]=p.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(o.IconButton,{size:"small",onClick:s=>i(s.currentTarget),"aria-label":`Help: ${e.title}`,sx:{p:.375,color:"text.disabled","&:hover":{color:"primary.main",bgcolor:s=>$(s.palette.primary.main,.08)}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:15}})}),t.jsxs(o.Popover,{open:!!n,anchorEl:n,onClose:()=>i(null),anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},PaperProps:{sx:{width:280,borderRadius:"10px",boxShadow:4,p:0,overflow:"hidden"}},children:[t.jsx(o.Box,{sx:{px:2,py:1.5,bgcolor:s=>$(s.palette.primary.main,.06)},children:t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:s=>s.typography.body2.fontWeight||600,color:"primary.main",fontSize:s=>s.typography.body2.fontSize||"0.875rem"},children:e.title})}),t.jsx(o.Divider,{}),t.jsxs(o.Box,{sx:{px:2,py:1.5,display:"flex",flexDirection:"column",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{color:"text.secondary",fontSize:s=>s.typography.body2.fontSize||"0.8125rem",lineHeight:1.6},children:e.description}),e.tips&&e.tips.length>0&&t.jsx(o.Box,{component:"ul",sx:{m:0,pl:2,display:"flex",flexDirection:"column",gap:.5},children:e.tips.map((s,a)=>t.jsx(o.Box,{component:"li",sx:{fontSize:"0.8125rem",color:"text.secondary",lineHeight:1.5},children:s},a))}),r&&e.devNote&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{sx:{my:.5}}),t.jsxs(o.Box,{sx:{px:1.25,py:.75,borderRadius:"6px",bgcolor:s=>$(s.palette.warning.main,.08),border:"1px solid",borderColor:s=>$(s.palette.warning.main,.2)},children:[t.jsx(o.Typography,{variant:"caption",sx:{color:"warning.dark",fontWeight:s=>s.typography.caption.fontWeight||500,fontSize:s=>s.typography.caption.fontSize||"0.75rem",display:"block",mb:.25},children:"Dev note"}),t.jsx(o.Typography,{variant:"caption",sx:{color:"warning.dark",fontSize:s=>s.typography.caption.fontSize||"0.75rem",lineHeight:1.5},children:e.devNote})]})]})]})]})]})}const Mr={filter:{title:"Filter columns",description:"Narrow down rows by setting conditions on any column. Only rows matching all active filters are shown.",tips:["Add multiple conditions to combine filters (AND logic)",'Use "Contains" for partial text matches','Use "Is empty" to find missing values',"Clear all filters to return to the full dataset"],devNote:"Max filter conditions controlled by DevConfig → Filter → maxConditions. Allowed operators also configurable."},sort:{title:"Sort columns",description:"Order rows by one or more columns. Drag levels to set sort priority — the first level is applied first.",tips:["Add multiple sort levels for multi-column sorting","Drag the ⋮⋮ handle to reorder sort priority","Each level can be ascending (A→Z, 0→9) or descending"],devNote:"Max sort levels controlled by DevConfig → Sort → maxLevels."},grouping:{title:"Group data",description:"Organize rows into collapsible groups by one or more column values. Each unique value becomes a group header.",tips:["Add up to 3 nesting levels for hierarchical grouping","Click a group header to collapse or expand it","Aggregates (count) are shown on each group header","Combine grouping with filters and sort for focused views"],devNote:"Max group levels controlled by DevConfig → Grouping → maxLevels. allowNested and allowCollapse also configurable."},columns:{title:"Manage columns",description:"Control which columns are visible, their display order, and their widths.",tips:["Drag rows to reorder columns","Toggle the eye icon to show or hide a column","Drag the resize handle in the table header to resize","Reset to restore default visibility and order"],devNote:"Max visible columns and width range controlled by DevConfig → Columns."},export:{title:"Export data",description:"Download the report data as a file. Choose between CSV, Excel, or JSON format.",tips:["CSV: universal format, opens in any spreadsheet app","Excel: formatted .xlsx file with native Excel support","JSON: structured data including metadata","Export visible rows only (after filters) or all rows"],devNote:"Allowed export formats controlled by DevConfig → Export → allowedFormats."},schedule:{title:"Scheduled reports",description:"Set up automatic exports that run at a specified time — daily, weekly, or monthly.",tips:["The browser tab must remain open for the schedule to fire","Each schedule triggers a file download automatically","Add an email address to open a notification in your mail app","Pause a schedule without deleting it","24-hour format · Tab must be open for the schedule to fire","Opens your device's email app when the schedule fires. If you added email."],devNote:"Schedules are stored in localStorage per-report. Key: urm_schedules_{reportId}."},auditHistory:{title:"Audit history",description:"A full log of all changes made to this report — filters applied, sorts changed, views saved, exports triggered, and more.",tips:["Each entry shows the action, timestamp, and who performed it","Use audit history to trace back unexpected changes"],devNote:"Audit entries are stored per-report in IndexedDB via the persistence layer."}},oi=40;function Hu({operator:e,onSelect:r}){return t.jsxs(o.Select,{value:e,onChange:n=>r(n.target.value),size:"small",variant:"outlined",sx:{position:"relative",zIndex:1,mt:1,width:58,height:24,fontSize:"0.6875rem",fontWeight:700,color:"primary.main",bgcolor:"background.paper",borderRadius:"6px","& .MuiSelect-select":{py:0,px:1,display:"flex",alignItems:"center"},"& .MuiOutlinedInput-notchedOutline":{borderColor:"divider"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"}},children:[t.jsx(o.MenuItem,{value:"and",sx:{fontSize:"0.75rem",fontWeight:600},children:"AND"}),t.jsx(o.MenuItem,{value:"or",sx:{fontSize:"0.75rem",fontWeight:600},children:"OR"})]})}function Uu({condition:e,schema:r,availableColumns:n,devConfig:i,onUpdate:s}){const a=r.find(u=>u.name===e.column),c=p.useMemo(()=>{const u=a?an(a.type):[],y=i.filter.allowedOperators;return y.length>0?u.filter(g=>y.includes(g.value)):u},[a,i]),l=Ml(e.operator);return t.jsxs(o.Box,{sx:{display:"flex",gap:1,alignItems:"center",flexWrap:"wrap"},children:[t.jsx(o.FormControl,{size:"small",sx:{minWidth:150,flex:"1 1 150px"},children:t.jsx(o.Select,{value:e.column,onChange:u=>{var m;const y=r.find(S=>S.name===u.target.value),g=y?an(y.type):[];s({column:u.target.value,operator:((m=g[0])==null?void 0:m.value)??e.operator,value:void 0})},displayEmpty:!0,sx:{fontSize:"0.875rem",height:36,borderRadius:"4px",bgcolor:"background.paper"},children:n.map(u=>t.jsx(o.MenuItem,{value:u.name,sx:{fontSize:"0.875rem"},children:dt(u.name)},u.name))})}),t.jsx(o.FormControl,{size:"small",sx:{minWidth:130,flex:"1 1 130px"},children:t.jsx(o.Select,{value:e.operator,onChange:u=>s({operator:u.target.value,value:void 0}),sx:{fontSize:"0.875rem",height:36,borderRadius:"4px",bgcolor:"background.paper"},children:c.map(u=>t.jsx(o.MenuItem,{value:u.value,sx:{fontSize:"0.875rem"},children:u.label},u.value))})}),l&&(a==null?void 0:a.type)==="date"&&t.jsx(o.TextField,{size:"small",type:"date",value:e.value??"",onChange:u=>s({value:u.target.value}),sx:{minWidth:160,flex:"1 1 160px","& .MuiInputBase-root":{height:36,fontSize:"0.875rem"}}}),l&&(a==null?void 0:a.type)!=="date"&&t.jsx(o.TextField,{size:"small",type:(a==null?void 0:a.type)==="number"?"number":"text",value:e.value??"",onChange:u=>s({value:(a==null?void 0:a.type)==="number"?Number(u.target.value):u.target.value}),placeholder:"Value…",sx:{minWidth:160,flex:"1 1 160px","& .MuiInputBase-root":{height:36,fontSize:"0.875rem"}}})]})}function aa({group:e,depth:r,schema:n,availableColumns:i,devConfig:s,maxConditions:a,totalConditions:c,onChange:l}){const u=c>=a;return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.25},children:[e.children.map((y,g)=>t.jsxs(o.Box,{sx:{display:"flex",alignItems:"stretch",gap:1},children:[t.jsxs(o.Box,{sx:{width:oi,flexShrink:0,position:"relative",display:"flex",justifyContent:"center"},children:[g<e.children.length-1&&t.jsx(o.Box,{sx:{position:"absolute",top:0,bottom:0,left:"50%",width:"1px",bgcolor:"divider"}}),g>0&&t.jsx(Hu,{operator:e.operator,onSelect:m=>l(S=>mi(S,e.id,m))}),g>0&&t.jsx(o.Box,{sx:{position:"absolute",top:13,left:"50%",width:oi/2,height:"1px",bgcolor:"divider"}})]}),t.jsx(o.Box,{sx:{flex:1,minWidth:0,pt:g>0?1:0},children:Xe(y)?t.jsx(Gu,{group:y,depth:r+1,schema:n,availableColumns:i,devConfig:s,maxConditions:a,totalConditions:c,onChange:l}):t.jsx(Uu,{condition:y,schema:n,availableColumns:i,devConfig:s,onUpdate:m=>l(S=>hi(S,y.id,m))})}),t.jsx(o.IconButton,{size:"small",onClick:()=>l(m=>fi(m,y.id)),sx:{mt:g>0?1:.25,color:"text.secondary",flexShrink:0},children:t.jsx(O.Close,{sx:{fontSize:16}})})]},y.id)),t.jsxs(o.Box,{sx:{display:"flex",gap:2,pl:`${oi}px`},children:[t.jsx(o.Button,{size:"small",disabled:u||i.length===0,onClick:()=>l(y=>{var g,m,S;return co(y,e.id,{id:lo(),column:((g=i[0])==null?void 0:g.name)??"",operator:((S=an(((m=i[0])==null?void 0:m.type)??"string")[0])==null?void 0:S.value)??"equals"})}),sx:{fontSize:"0.8125rem",color:"primary.main",p:0,minWidth:"auto","&:hover":{bgcolor:"transparent",textDecoration:"underline"}},children:"+ Add condition"}),t.jsx(o.Button,{size:"small",disabled:u,onClick:()=>l(y=>co(y,e.id,At())),sx:{fontSize:"0.8125rem",color:"text.secondary",p:0,minWidth:"auto","&:hover":{bgcolor:"transparent",textDecoration:"underline"}},children:"+ Add group"})]})]})}function Gu(e){return t.jsx(o.Box,{sx:{position:"relative",border:"1px solid",borderColor:r=>$(r.palette.primary.main,.2),borderLeft:"3px solid",borderLeftColor:"primary.main",bgcolor:r=>$(r.palette.primary.main,r.palette.mode==="dark"?.06:.03),borderRadius:"8px",p:1.25},children:t.jsx(aa,{...e})})}function Yu({schema:e,filters:r,onReplaceFilters:n,onClose:i,focusColumn:s,onOpenDevConfig:a}){const[c,l]=p.useState(r??At()),u=gr(),y=p.useMemo(()=>e.filter(B=>B.type!=="mixed"&&B.type!=="null"&&B.type!=="array"&&B.type!=="object"),[e]);p.useEffect(()=>{var h;const B=r??At();if(s&&B.children.length===0){const k=e.find(T=>T.name===s);if(k){l(co(B,B.id,{id:lo(),column:s,operator:((h=an(k.type)[0])==null?void 0:h.value)??"equals"}));return}}l(B)},[r,s,e]);const g=Tt(c),m=u.filter.maxConditions,S=p.useCallback(B=>{l(h=>B(h))},[]),C=p.useMemo(()=>JSON.stringify(c)!==JSON.stringify(r??At()),[c,r]),D=p.useCallback(()=>{n(c),i()},[c,n,i]),v=p.useCallback(()=>{l(r??At()),i()},[r,i]),x=p.useCallback(()=>{n(At()),i()},[n,i]);return t.jsx(o.Box,{onClick:v,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:B=>$(B.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:B=>B.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:B=>B.stopPropagation(),elevation:0,sx:{position:"relative",width:640,maxWidth:"calc(100vw - 120px)",maxHeight:"min(620px, calc(100vh - 200px))",display:"flex",flexDirection:"column",borderRadius:B=>ot(B),bgcolor:"background.paper",outline:"none",boxShadow:B=>de(B).paper.boxShadow,border:B=>de(B).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:B=>de(B).header.backgroundColor,borderBottom:B=>de(B).header.borderBottom,boxShadow:B=>de(B).header.boxShadow,flexShrink:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:B=>B.typography.h6.fontSize||"1.125rem",fontWeight:B=>B.typography.h6.fontWeight||500,color:B=>B.typography.h6.color||"text.primary",lineHeight:1.5},children:"Filter columns"}),t.jsx(pt,{content:Mr.filter,isDev:process.env.NODE_ENV==="development"}),a&&t.jsx(o.IconButton,{onClick:a,size:"small",title:"Dev config",sx:{p:.5,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Settings,{sx:{fontSize:18}})})]}),t.jsx(o.IconButton,{onClick:v,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsxs(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:2.5,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:B=>$(B.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:B=>$(B.palette.text.primary,.3)}}},children:[g===0&&t.jsxs(o.Typography,{variant:"body2",sx:{color:"text.disabled",fontSize:B=>B.typography.body2.fontSize||"0.875rem",mb:2},children:["No conditions yet — add one below to start filtering",s?` on "${dt(s)}"`:"","."]}),t.jsx(aa,{group:c,depth:0,schema:e,availableColumns:y,devConfig:u,maxConditions:m,totalConditions:g,onChange:S}),g>=m&&t.jsxs(o.Typography,{variant:"caption",sx:{display:"block",mt:1.5,color:"warning.dark",fontSize:B=>B.typography.caption.fontSize||"0.75rem",fontWeight:B=>B.typography.caption.fontWeight||500},children:["Filter limit reached — maximum ",m," conditions allowed. Remove one to add another."]})]}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",alignItems:"center",gap:1.5,justifyContent:"space-between",flexShrink:0,bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:x,disabled:g===0,sx:{fontSize:"0.875rem",color:"error.main",p:0,minWidth:"auto","&:hover":{bgcolor:"transparent",color:"error.dark",textDecoration:"underline"},"&.Mui-disabled":{color:"text.disabled"}},children:"Clear all"}),t.jsxs(o.Box,{sx:{display:"flex",gap:1.5},children:[t.jsx(o.Button,{onClick:v,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,minHeight:36,borderRadius:B=>`${B.shape.borderRadius}px`,"&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:D,disabled:!C,variant:"contained",sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:1,minHeight:36,borderRadius:B=>`${B.shape.borderRadius}px`,boxShadow:B=>ve(B,"restButton"),"&:hover":{bgcolor:"primary.dark"},"&.Mui-disabled":{bgcolor:"action.disabledBackground",color:"action.disabled"}},children:"Apply filter"})]})]})]})})}const Ss="SORT_RULE";function qu({rule:e,index:r,onToggleDirection:n,onRemove:i,onMove:s}){const a=p.useRef(null),[{handlerId:c},l]=ir.useDrop({accept:Ss,collect(g){return{handlerId:g.getHandlerId()}},hover(g,m){var h;if(!a.current)return;const S=g.index,C=r;if(S===C)return;const D=(h=a.current)==null?void 0:h.getBoundingClientRect(),v=(D.bottom-D.top)/2,x=m.getClientOffset(),B=((x==null?void 0:x.y)??0)-D.top;S<C&&B<v||S>C&&B>v||(s(S,C),g.index=C)}}),[{isDragging:u},y]=ir.useDrag({type:Ss,item:()=>({index:r}),collect:g=>({isDragging:g.isDragging()})});return y(l(a)),t.jsxs(o.Box,{ref:a,"data-handler-id":c,sx:{display:"flex",alignItems:"center",gap:1.25,px:2,py:1.25,borderRadius:"8px",bgcolor:"background.paper",border:"1px solid divider",opacity:u?.4:1,cursor:"move",transition:"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)","&:hover":{bgcolor:"action.hover",borderColor:"divider",boxShadow:g=>ve(g,"restButtonLight"),transform:"translateY(-1px)"}},children:[t.jsx(o.Chip,{label:e.priority,size:"small",sx:{width:26,height:26,fontSize:"0.75rem",fontWeight:600,bgcolor:"primary.main",color:"background.paper",boxShadow:g=>`0 1px 2px 0 ${$(g.palette.primary.main,.3)}`,"& .MuiChip-label":{px:0}}}),t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:"3px",cursor:"grab",px:.5,opacity:.6,transition:"opacity 0.2s ease","&:hover":{opacity:1},"&:active":{cursor:"grabbing"}},children:[t.jsx(o.Box,{sx:{width:"4px",height:"4px",borderRadius:"50%",bgcolor:"text.secondary"}}),t.jsx(o.Box,{sx:{width:"4px",height:"4px",borderRadius:"50%",bgcolor:"text.secondary"}}),t.jsx(o.Box,{sx:{width:"4px",height:"4px",borderRadius:"50%",bgcolor:"text.secondary"}})]}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:g=>g.typography.body2.fontSize||"0.875rem",fontWeight:g=>g.typography.body2.fontWeight||400,color:"text.primary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:"0 0 100px",lineHeight:1.5},children:e.column}),t.jsx(o.FormControl,{size:"small",sx:{flex:1,minWidth:100},children:t.jsxs(o.Select,{value:e.direction,onChange:g=>n(r,g.target.value),sx:{fontSize:"0.875rem",height:36,borderRadius:"4px",bgcolor:"background.paper","& .MuiOutlinedInput-notchedOutline":{borderColor:"divider",transition:"border-color 0.2s ease"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:"2px"},"& .MuiSelect-select":{py:.875,color:"text.primary",fontWeight:400}},children:[t.jsx(o.MenuItem,{value:"asc",sx:{fontSize:"0.875rem",color:"text.primary","&:hover":{bgcolor:"action.hover"},"&.Mui-selected":{bgcolor:g=>It(g),"&:hover":{bgcolor:g=>$(g.palette.primary.main,.2)}}},children:"Ascending"}),t.jsx(o.MenuItem,{value:"desc",sx:{fontSize:"0.875rem",color:"text.primary","&:hover":{bgcolor:"action.hover"},"&.Mui-selected":{bgcolor:g=>It(g),"&:hover":{bgcolor:g=>$(g.palette.primary.main,.2)}}},children:"Descending"})]})}),t.jsx(o.IconButton,{onClick:()=>i(r),size:"small",sx:{p:.5,color:"text.secondary",transition:"all 0.2s ease","&:hover":{color:"error.main",bgcolor:g=>$(g.palette.error.main,.08),transform:"scale(1.1)"}},children:t.jsx(O.Close,{sx:{fontSize:18}})})]})}function Ju({schema:e,sortStack:r,onUpdateSortStack:n,onClose:i,onOpenDevConfig:s}){const[a,c]=p.useState(""),[l,u]=p.useState([]);p.useEffect(()=>{u([...r])},[r]);const y=p.useMemo(()=>JSON.stringify(l)!==JSON.stringify(r),[l,r]),g=gr(),m=p.useCallback(k=>{if(!k||l.length>=g.sort.maxLevels)return;const T={column:k,direction:"asc",priority:l.length+1};u([...l,T]),c(""),setTimeout(()=>{var b;return(b=document.activeElement)==null?void 0:b.blur()},0)},[l,g.sort.maxLevels]),S=p.useCallback(k=>{const b=l.filter((R,H)=>H!==k).map((R,H)=>({...R,priority:H+1}));u(b)},[l]),C=p.useCallback((k,T)=>{const b=[...l];b[k]={...b[k],direction:T},u(b)},[l]),D=p.useCallback((k,T)=>{const b=[...l],[R]=b.splice(k,1);b.splice(T,0,R);const H=b.map((E,Y)=>({...E,priority:Y+1}));u(H)},[l]),v=p.useCallback(()=>{n([]),i()},[n,i]),x=p.useCallback(()=>{n(l),i()},[l,n,i]),B=p.useCallback(()=>{u([...r]),c(""),i()},[r,i]),h=e.filter(k=>!l.some(T=>T.column===k.name));return t.jsx(ir.DndProvider,{backend:ui.HTML5Backend,children:t.jsx(o.Box,{onClick:B,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:k=>$(k.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:k=>k.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:k=>k.stopPropagation(),elevation:0,sx:{position:"relative",width:480,maxWidth:"calc(100vw - 120px)",maxHeight:"min(440px, calc(100vh - 280px))",display:"flex",flexDirection:"column",borderRadius:k=>ot(k),bgcolor:"background.paper",outline:"none",boxShadow:k=>de(k).paper.boxShadow,border:k=>de(k).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:k=>de(k).header.backgroundColor,borderBottom:k=>de(k).header.borderBottom,boxShadow:k=>de(k).header.boxShadow,flexShrink:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:k=>k.typography.h6.fontSize||"1.125rem",fontWeight:k=>k.typography.h6.fontWeight||500,color:k=>k.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:"Sort columns"}),t.jsx(pt,{content:Mr.sort,isDev:process.env.NODE_ENV==="development"}),s&&t.jsx(o.IconButton,{onClick:s,size:"small",title:"Dev config",sx:{p:.5,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Settings,{sx:{fontSize:18}})})]}),t.jsx(o.IconButton,{onClick:B,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsxs(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:2.5,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:k=>$(k.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:k=>$(k.palette.text.primary,.3)}}},children:[t.jsxs(o.Box,{sx:{mb:2.5},children:[t.jsx(o.Typography,{variant:"overline",sx:{fontSize:k=>k.typography.caption.fontSize||"0.6875rem",fontWeight:k=>k.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1.5,display:"block",textTransform:"uppercase"},children:"Add sort level"}),t.jsxs(o.FormControl,{size:"small",fullWidth:!0,disabled:l.length>=g.sort.maxLevels,children:[t.jsx(o.InputLabel,{sx:{fontSize:"0.875rem",color:"text.secondary","&.Mui-focused":{color:"primary.main"}},children:"Select column..."}),t.jsx(o.Select,{value:a,onChange:k=>m(k.target.value),label:"Select column...",sx:{fontSize:"0.875rem",height:40,borderRadius:"4px",bgcolor:"background.paper","& .MuiOutlinedInput-notchedOutline":{borderColor:"divider",transition:"border-color 0.2s ease"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:"2px"},"&.Mui-disabled":{bgcolor:"action.hover"}},children:h.map(k=>t.jsx(o.MenuItem,{value:k.name,sx:{fontSize:"0.875rem",color:"text.primary",py:1,"&:hover":{bgcolor:"action.hover"},"&.Mui-selected":{bgcolor:T=>It(T),"&:hover":{bgcolor:T=>$(T.palette.primary.main,.2)}}},children:dt(k.name)},k.name))})]}),l.length>=g.sort.maxLevels&&t.jsxs(o.Typography,{variant:"caption",sx:{mt:.75,display:"block",color:"warning.dark",fontSize:k=>k.typography.caption.fontSize||"0.75rem",fontWeight:k=>k.typography.caption.fontWeight||500},children:["Maximum ",g.sort.maxLevels," sort levels allowed"]})]}),l.length>0&&t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1.5},children:[t.jsxs(o.Typography,{variant:"overline",sx:{fontSize:k=>k.typography.caption.fontSize||"0.6875rem",fontWeight:k=>k.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",textTransform:"uppercase"},children:["Sorted sequence (",l.length,"/",g.sort.maxLevels,")"]}),t.jsx(o.Button,{onClick:v,sx:{fontSize:"0.875rem",color:"error.main",p:0,minWidth:"auto",minHeight:"auto",transition:"color 0.2s ease","&:hover":{bgcolor:"transparent",color:"error.dark",textDecoration:"underline"}},children:"Clear all"})]}),t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.25},children:l.map((k,T)=>t.jsx(qu,{rule:k,index:T,onToggleDirection:C,onRemove:S,onMove:D},`${k.column}-${T}`))})]})]}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",gap:1.5,justifyContent:"flex-end",flexShrink:0,bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:B,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,minHeight:36,borderRadius:k=>`${k.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:x,variant:"contained",disabled:!y||l.length===0,sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:1,minHeight:36,borderRadius:k=>`${k.shape.borderRadius}px`,boxShadow:k=>ve(k,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:k=>ve(k,"hoverButton")},"&:active":{boxShadow:k=>ve(k,"pressedButton"),transform:"translateY(1px)"}},children:"Apply sort"})]})]})})})}const Qo=50;function Cs({currentSnapshot:e,onSave:r,onClose:n,isEditMode:i=!1,initialName:s="",initialDescription:a="",initialIsDefault:c=!1,atViewLimit:l=!1,maxViews:u=10}){const[y,g]=p.useState(s),[m,S]=p.useState(!1),[C,D]=p.useState(a),[v,x]=p.useState(c),B=()=>{if(!y.trim()){S(!0);return}if(y.trim().length>Qo){S(!0);return}r(y.trim(),C.trim(),v),n()},h=T=>{T.key==="Enter"&&!T.shiftKey?B():T.key==="Escape"&&n()},k=()=>i&&s?`Update ${s} view`:"Create New Report View";return t.jsxs(o.Dialog,{open:!0,onClose:n,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:T=>({mt:8,borderRadius:ot(T),...de(T).paper})},children:[t.jsxs(o.DialogTitle,{sx:T=>({display:"flex",alignItems:"center",justifyContent:"space-between",pb:1,...de(T).header}),children:[k(),t.jsx(o.IconButton,{onClick:n,size:"small",sx:{color:"text.secondary"},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.DialogContent,{children:t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2,pt:1},children:[l&&!i&&t.jsxs(o.Alert,{severity:"warning",sx:{borderRadius:"8px"},children:["You have reached the maximum of ",u," saved views. Delete an existing view before creating a new one."]}),t.jsx(o.TextField,{label:"View Name",required:!0,value:y,onChange:T=>{T.target.value.length<=Qo&&g(T.target.value),m&&T.target.value.trim()&&S(!1)},onKeyDown:h,placeholder:"e.g., Active Users",autoFocus:!0,fullWidth:!0,size:"small",disabled:l&&!i,inputProps:{maxLength:Qo},error:m&&!y.trim(),helperText:m&&!y.trim()?"View name is required":`${y.length} / ${Qo}`}),t.jsx(o.TextField,{label:"Description (optional)",value:C,onChange:T=>D(T.target.value),placeholder:"Brief description of this view",multiline:!0,rows:2,fullWidth:!0,size:"small"}),t.jsxs(o.Paper,{sx:{p:2,bgcolor:"action.hover"},variant:"outlined",children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:T=>T.typography.body2.fontWeight||500,mb:1},children:"This view will capture:"}),t.jsxs(o.Box,{component:"ul",sx:{m:0,pl:2,"& li":{fontSize:"body2.fontSize",color:"text.secondary"}},children:[t.jsxs("li",{children:[Tt(e.filters)," filter",Tt(e.filters)!==1?"s":""]}),t.jsxs("li",{children:["Sorting: ",Qa(e.sortStack)]}),t.jsx("li",{children:"Column order & visibility"})]})]}),!i&&t.jsx(o.FormControlLabel,{control:t.jsx(o.Checkbox,{checked:v,onChange:T=>x(T.target.checked),size:"small"}),label:t.jsx(o.Typography,{variant:"body2",children:"Set as default view"})})]})}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end"},children:[t.jsx(o.Button,{onClick:n,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:.875,minHeight:36,borderRadius:T=>`${T.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:B,variant:"contained",disabled:l&&!i,startIcon:t.jsx(O.Save,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:.875,minHeight:36,borderRadius:T=>`${T.shape.borderRadius}px`,boxShadow:T=>ve(T,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:T=>ve(T,"hoverButton")},"&:active":{boxShadow:T=>ve(T,"pressedButton"),transform:"translateY(1px)"},"&.Mui-disabled":{bgcolor:"divider",color:"text.disabled"}},children:i?"Save Changes":"Create Report View"})]})]})}function Ku({viewName:e,onConfirm:r,onCancel:n}){return t.jsxs(o.Dialog,{open:!0,onClose:n,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:i=>({borderRadius:ot(i),maxHeight:"min(480px, calc(100vh - 180px))",my:"auto",...de(i).paper})},children:[t.jsxs(o.DialogTitle,{sx:i=>({display:"flex",alignItems:"center",justifyContent:"space-between",pb:1,...de(i).header}),children:["Delete View",t.jsx(o.IconButton,{onClick:n,size:"small",sx:{color:"text.secondary"},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.DialogContent,{children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"flex-start",gap:1.5,mt:1},children:[t.jsx(O.Warning,{color:"error",sx:{fontSize:20,flexShrink:0}}),t.jsxs(o.Box,{children:[t.jsxs(o.Typography,{variant:"body2",sx:{mb:1},children:["Are you sure you want to delete the view ",t.jsxs("strong",{children:['"',e,'"']}),"?"]}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"This action cannot be undone."})]})]})}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid",borderColor:"divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end"},children:[t.jsx(o.Button,{onClick:n,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:.875,minHeight:36,borderRadius:i=>`${i.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"action.selected",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:r,variant:"contained",color:"error",sx:{fontSize:"0.875rem",px:3,py:.875,minHeight:36,borderRadius:i=>`${i.shape.borderRadius}px`,boxShadow:i=>ve(i,"restButton"),transition:"all 0.2s ease","&:hover":{boxShadow:i=>ve(i,"hoverButton")},"&:active":{boxShadow:i=>ve(i,"pressedButton"),transform:"translateY(1px)"}},children:"Delete View"})]})]})}const ws="COLUMN";function Xu({column:e,index:r,isVisible:n,width:i,minColumnWidth:s,maxColumnWidth:a,canToggleOn:c,onToggleVisibility:l,onWidthChange:u,moveColumn:y}){const g=p.useRef(null),[m,S]=p.useState(i.toString());p.useEffect(()=>{S(i.toString())},[i]);const[{handlerId:C},D]=ir.useDrop({accept:ws,collect(b){return{handlerId:b.getHandlerId()}},hover(b,R){var w;if(!g.current)return;const H=b.index,E=r;if(H===E)return;const Y=(w=g.current)==null?void 0:w.getBoundingClientRect(),Z=(Y.bottom-Y.top)/2,I=R.getClientOffset(),f=((I==null?void 0:I.y)??0)-Y.top;H<E&&f<Z||H>E&&f>Z||(y(H,E),b.index=E)}}),[{isDragging:v},x]=ir.useDrag({type:ws,item:()=>({index:r}),collect:b=>({isDragging:b.isDragging()})});x(D(g));const B=()=>{const b=parseInt(m);if(isNaN(b)){S(i.toString()),u(e.name,i);return}const R=Math.max(s,Math.min(a,b));S(R.toString()),u(e.name,R)},h=b=>{if(b===""||/^\d+$/.test(b)){S(b);const R=parseInt(b);if(!isNaN(R)&&R>=s){const H=Math.min(a,R);u(e.name,H)}}},k=b=>{b.key==="Enter"&&(b.preventDefault(),B(),b.target.blur())},T=b=>({string:"primary.main",number:"success.main",boolean:"secondary.main",array:"info.main",object:"error.main",null:"text.secondary",mixed:"text.secondary"})[b]||"text.secondary";return t.jsxs(o.TableRow,{ref:g,"data-handler-id":C,sx:{opacity:v?.4:1,bgcolor:n?"background.paper":"action.hover",transition:"opacity 0.15s ease","&:hover":{bgcolor:n?"action.hover":"action.selected"},cursor:"move",height:56,borderBottom:"1px solid divider"},children:[t.jsx(o.TableCell,{sx:{py:1.5,px:2.5,borderBottom:"none"},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25},children:[t.jsx(o.Box,{sx:{color:"text.secondary",cursor:"grab",opacity:.6,transition:"opacity 0.2s ease","&:hover":{opacity:1},"&:active":{cursor:"grabbing"}},children:t.jsx(O.DragIndicator,{sx:{fontSize:20}})}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:b=>b.typography.body2.fontWeight||400,fontSize:b=>b.typography.body2.fontSize||"0.875rem",color:n?"text.primary":"text.secondary"},children:dt(e.name)})]})}),t.jsx(o.TableCell,{sx:{py:1.5,px:2.5,borderBottom:"none"},children:t.jsx(o.Chip,{label:e.type.toUpperCase(),size:"small",sx:{height:22,fontSize:"0.6875rem",fontWeight:600,bgcolor:`${T(e.type)}15`,color:T(e.type),border:`1px solid ${T(e.type)}30`,"& .MuiChip-label":{px:1}}})}),t.jsx(o.TableCell,{sx:{py:1.5,px:2.5,borderBottom:"none"},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.TextField,{type:"number",value:m,onChange:b=>h(b.target.value),onBlur:B,onKeyDown:k,placeholder:"150",size:"small",inputProps:{min:s,max:a,step:10},sx:{width:90,"& .MuiOutlinedInput-root":{height:32,fontSize:"0.8125rem",borderRadius:"4px",bgcolor:"background.paper","& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"primary.main"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:"2px"}},"& .MuiInputBase-input":{py:.5,px:1.25,color:"text.primary"},"& input[type=number]::-webkit-inner-spin-button":{opacity:1},"& input[type=number]::-webkit-outer-spin-button":{opacity:1}}}),t.jsx(o.Typography,{variant:"caption",sx:{fontSize:b=>b.typography.caption.fontSize||"0.75rem",color:"text.secondary"},children:"px"})]})}),t.jsx(o.TableCell,{sx:{py:1.5,px:2.5,borderBottom:"none"},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25},children:[t.jsx(o.IconButton,{onClick:()=>l(e.name,!n),disabled:!n&&!c,title:n?"Hide column":c?"Show column":"Max visible columns reached",size:"small",sx:{p:.75,color:n?"primary.main":"text.secondary",transition:"all 0.2s ease","&:hover:not(:disabled)":{bgcolor:"action.hover",color:n?"primary.dark":"primary.main"},"&:disabled":{opacity:.5,cursor:"not-allowed"}},children:n?t.jsx(O.Visibility,{sx:{fontSize:20}}):t.jsx(O.VisibilityOff,{sx:{fontSize:20}})}),t.jsx(o.Chip,{label:n?"Visible":"Hidden",size:"small",sx:{height:22,fontSize:"0.6875rem",fontWeight:500,bgcolor:n?b=>$(b.palette.success.main,.12):"action.selected",color:n?"success.main":"text.secondary","& .MuiChip-label":{px:1}}})]})})]})}function Qu({schema:e,columnVisibility:r,columnOrder:n,columnWidths:i={},views:s=[],activeViewId:a="",onUpdateColumnVisibility:c,onUpdateColumnOrder:l,onUpdateColumnWidth:u,onResetLayout:y,onClose:g}){const m=gr(),[S,C]=p.useState(!1),[D,v]=p.useState(n),[x,B]=p.useState(i),[h,k]=p.useState("all");p.useEffect(()=>{v(n)},[n]),p.useEffect(()=>{B(i)},[i]);const T=(w,P)=>{B(te=>({...te,[w]:P})),u==null||u(w,P)},b=(w,P)=>{const te=[...D],[d]=te.splice(w,1);te.splice(P,0,d),v(te),l(te)},R=()=>{y(),C(!1)},E=D.map(w=>e.find(P=>P.name===w)).filter(w=>w!==void 0).filter(w=>{const P=r[w.name]??!0;return h==="active"?P:h==="hidden"?!P:!0}),Y=Object.values(r).filter(w=>w).length,Z=e.length,I=s.find(w=>w.id===a),f=p.useMemo(()=>{if(!I)return!1;const w=I.snapshot,P=w.columnVisibility??{},te=JSON.stringify(r)!==JSON.stringify(P),d=w.columnOrder??[],J=n??[],re=JSON.stringify(J)!==JSON.stringify(d)&&!(J.length===0&&d.length===0),we=w.columnWidths??{},F=JSON.stringify(x)!==JSON.stringify(we);return te||re||F},[I,r,n,x]);return t.jsx(ir.DndProvider,{backend:ui.HTML5Backend,children:t.jsx(o.Box,{onClick:g,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:w=>$(w.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:w=>w.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:w=>w.stopPropagation(),elevation:0,sx:{position:"relative",width:720,maxWidth:"calc(100vw - 120px)",maxHeight:"min(760px, calc(100vh - 200px))",display:"flex",flexDirection:"column",borderRadius:w=>ot(w),bgcolor:"background.paper",outline:"none",boxShadow:w=>de(w).paper.boxShadow,border:w=>de(w).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{px:3,pt:2,pb:1.5,flexShrink:0,bgcolor:w=>de(w).header.backgroundColor,borderBottom:w=>de(w).header.borderBottom,boxShadow:w=>de(w).header.boxShadow},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between"},children:[t.jsx(o.Box,{sx:{flex:1},children:t.jsxs(o.Typography,{variant:"h6",sx:{fontSize:w=>w.typography.h6.fontSize||"1.125rem",fontWeight:w=>w.typography.h6.fontWeight||500,color:w=>w.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:["Manage columns",t.jsx(pt,{content:Mr.columns,isDev:process.env.NODE_ENV==="development"})]})}),t.jsx(o.IconButton,{onClick:g,size:"small",sx:{ml:2,p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsxs(o.Tabs,{value:h,onChange:(w,P)=>k(P),sx:{minHeight:36,mt:.5,"& .MuiTabs-indicator":{bgcolor:w=>ct(w).main,height:3}},children:[t.jsx(o.Tab,{label:"All",value:"all",sx:{minHeight:36,py:.75,px:2,fontSize:"0.875rem",fontWeight:500,textTransform:"none",color:"text.secondary",borderRadius:"8px 8px 0 0","&.Mui-selected":{borderBottomColor:"text.primary",fontWeight:600,bgcolor:w=>ct(w).hoverBg},"&:hover":{color:"text.primary",bgcolor:w=>ct(w).bg}}}),t.jsx(o.Tab,{label:"Visible",value:"active",sx:{minHeight:36,py:.75,px:2,fontSize:"0.875rem",fontWeight:500,textTransform:"none",color:"text.secondary",borderRadius:"8px 8px 0 0","&.Mui-selected":{color:"text.primary",fontWeight:600,bgcolor:w=>ct(w).hoverBg},"&:hover":{color:"text.primary",bgcolor:w=>ct(w).bg}}}),t.jsx(o.Tab,{label:"Hidden",value:"hidden",sx:{minHeight:36,py:.75,px:2,fontSize:"0.875rem",fontWeight:500,textTransform:"none",color:"text.secondary",borderRadius:"8px 8px 0 0","&.Mui-selected":{color:"text.primary",fontWeight:600,bgcolor:w=>ct(w).hoverBg},"&:hover":{color:"text.primary",bgcolor:w=>ct(w).bg}}})]})]}),t.jsx(o.Box,{sx:{flex:1,overflow:"auto","&::-webkit-scrollbar":{width:8,height:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:w=>$(w.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:w=>$(w.palette.text.primary,.3)}}},children:t.jsxs(o.Table,{stickyHeader:!0,sx:{minWidth:650},children:[t.jsx(o.TableHead,{children:t.jsxs(o.TableRow,{children:[t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"0.6875rem",color:"text.secondary",bgcolor:"background.paper",letterSpacing:"0.1em",py:1.5,px:2.5,borderBottom:"1px solid divider"},children:"Column name"}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"0.6875rem",color:"text.secondary",bgcolor:"background.paper",letterSpacing:"0.1em",py:1.5,px:2.5,borderBottom:"1px solid divider"},children:"Type"}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"0.6875rem",color:"text.secondary",bgcolor:"background.paper",letterSpacing:"0.1em",py:1.5,px:2.5,borderBottom:"1px solid divider"},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:["Width",t.jsx(o.Tooltip,{title:`Column width in pixels (min: ${m.columns.minColumnWidth}px, max: ${m.columns.maxColumnWidth}px)`,arrow:!0,placement:"top",children:t.jsx(O.InfoOutlined,{sx:{fontSize:14,color:"text.secondary",cursor:"help"}})})]})}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"0.6875rem",color:"text.secondary",bgcolor:"background.paper",letterSpacing:"0.1em",py:1.5,px:2.5,borderBottom:"1px solid divider"},children:"Visibility"})]})}),t.jsx(o.TableBody,{children:E.length===0?t.jsx(o.TableRow,{children:t.jsx(o.TableCell,{colSpan:4,align:"center",sx:{py:6,borderBottom:"none"},children:t.jsx(o.Typography,{variant:"body2",sx:{fontSize:w=>w.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:"No columns in this category"})})}):E.map((w,P)=>{const te=r[w.name]??!0,d=te||Y<m.columns.maxVisible;return t.jsx(Xu,{column:w,index:P,isVisible:te,width:x[w.name]||170,minColumnWidth:m.columns.minColumnWidth,maxColumnWidth:m.columns.maxColumnWidth,canToggleOn:d,onToggleVisibility:c,onWidthChange:T,moveColumn:b},w.name)})})]})}),t.jsx(o.Box,{sx:{px:3,py:1,borderTop:"1px solid divider",bgcolor:"background.default",flexShrink:0},children:t.jsxs(o.Typography,{variant:"body2",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary"},children:[Y," of ",Z," columns visible • Drag to reorder"]})}),t.jsx(o.Box,{sx:{px:3,py:1.75,borderTop:"1px solid divider",display:"flex",justifyContent:"space-between",alignItems:"center",flexShrink:0,bgcolor:"action.hover"},children:t.jsx(o.Button,{onClick:()=>C(!0),disabled:!f,variant:"outlined",startIcon:t.jsx(O.Undo,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",color:"text.secondary",borderColor:"divider",px:2.5,py:.875,minHeight:36,borderRadius:w=>`${w.shape.borderRadius}px`,"&:hover":{borderColor:"primary.main",bgcolor:"background.paper",color:"primary.main"},"&.Mui-disabled":{color:"text.disabled",borderColor:"divider"}},children:"Reset"})}),S&&t.jsx(o.Box,{onClick:()=>C(!1),sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:w=>$(w.palette.common.black,.5),display:"flex",alignItems:"center",justifyContent:"center",zIndex:w=>w.zIndex.tooltip},children:t.jsxs(o.Paper,{onClick:w=>w.stopPropagation(),elevation:0,sx:{width:400,maxWidth:"90vw",borderRadius:w=>Mo(w),bgcolor:"background.paper",boxShadow:w=>de(w).paper.boxShadow,border:w=>de(w).paper.border},children:[t.jsxs(o.Box,{sx:{px:3,py:2.5},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:"1rem",fontWeight:500,color:"text.primary",mb:1.5},children:"Reset column layout?"}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:"0.875rem",color:"text.secondary",lineHeight:1.5},children:"This will restore default visibility, order, and widths for all columns."})]}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",gap:1.5,justifyContent:"flex-end",bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:()=>C(!1),variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,borderRadius:w=>`${w.shape.borderRadius}px`,"&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:R,variant:"contained",sx:{fontSize:"0.875rem",bgcolor:"error.main",color:"background.paper",px:3,py:1,borderRadius:w=>`${w.shape.borderRadius}px`,boxShadow:w=>ve(w,"pressedButton"),"&:hover":{bgcolor:"error.dark",boxShadow:w=>ve(w,"hoverButton")},"&:active":{boxShadow:w=>ve(w,"pressedButton"),transform:"translateY(1px)"}},children:"Reset layout"})]})]})})]})})})}function Zu({schema:e,grouping:r,onApply:n,onClose:i,onOpenDevConfig:s}){var H;const[a,c]=p.useState(r||{enabled:!1,levels:[],collapsedGroups:[]}),[l,u]=p.useState(""),[y,g]=p.useState(null),m=p.useMemo(()=>Ua(e),[e]),S=p.useMemo(()=>m.filter(E=>!a.levels.some((Y,Z)=>Y.column===E.name&&Z!==y)),[m,a.levels,y]),C=gr(),D=a.levels.length<C.grouping.maxLevels&&S.length>0&&(C.grouping.allowNested||a.levels.length===0),v=p.useCallback(E=>{!D||!E||(c({...a,levels:[...a.levels,{column:E}],enabled:!0}),u(""),setTimeout(()=>{var Y;return(Y=document.activeElement)==null?void 0:Y.blur()},0))},[D,a]),x=p.useCallback(E=>{const Y=a.levels.filter((Z,I)=>I!==E);if(Y.length===0){n(null),i();return}c({...a,levels:Y,enabled:Y.length>0})},[a,n,i]),B=p.useCallback(E=>{g(E),u(a.levels[E].column)},[a.levels]),h=p.useCallback(()=>{if(y===null||!l)return;const E=[...a.levels];E[y]={column:l},c({...a,levels:E}),g(null),u("")},[y,l,a]),k=p.useCallback(()=>{g(null),u("")},[]),T=p.useCallback((E,Y)=>{const Z=Y==="up"?E-1:E+1;if(Z<0||Z>=a.levels.length)return;const I=[...a.levels],[f]=I.splice(E,1);I.splice(Z,0,f),c({...a,levels:I})},[a]),b=p.useCallback(()=>{n(null),i()},[n,i]),R=p.useCallback(()=>{a.levels.length===0?n(null):n({...a,enabled:!0,collapsedGroups:(r==null?void 0:r.collapsedGroups)||[]}),i()},[a,r,n,i]);return t.jsx(o.Box,{onClick:i,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:E=>$(E.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:E=>E.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:E=>E.stopPropagation(),elevation:0,sx:{position:"relative",width:540,maxWidth:"calc(100vw - 120px)",maxHeight:"min(560px, calc(100vh - 280px))",display:"flex",flexDirection:"column",borderRadius:E=>ot(E),bgcolor:"background.paper",outline:"none",boxShadow:E=>de(E).paper.boxShadow,border:E=>de(E).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:E=>de(E).header.backgroundColor,borderBottom:E=>de(E).header.borderBottom,boxShadow:E=>de(E).header.boxShadow,flexShrink:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:E=>E.typography.h6.fontSize||"1.125rem",fontWeight:E=>E.typography.h6.fontWeight||500,color:E=>E.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:"Group configuration"}),t.jsx(pt,{content:Mr.grouping,isDev:process.env.NODE_ENV==="development"}),s&&t.jsx(o.IconButton,{onClick:s,size:"small",title:"Dev config",sx:{p:.5,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Settings,{sx:{fontSize:18}})})]}),t.jsx(o.IconButton,{onClick:i,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:1,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:E=>$(E.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:E=>$(E.palette.text.primary,.3)}}},children:t.jsxs(o.Stack,{spacing:2.5,children:[y===null&&t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"overline",sx:{fontSize:E=>E.typography.caption.fontSize||"0.6875rem",fontWeight:E=>E.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1.5,display:"block",textTransform:"uppercase"},children:"Add group level"}),t.jsx(o.FormControl,{fullWidth:!0,size:"small",sx:{mb:1.5},children:t.jsxs(o.Select,{value:l,onChange:E=>v(E.target.value),disabled:!D,displayEmpty:!0,sx:{fontSize:"0.875rem",height:40,borderRadius:"4px",bgcolor:"background.paper","& .MuiOutlinedInput-notchedOutline":{borderColor:"divider",transition:"border-color 0.2s ease"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:"2px"},"&.Mui-disabled":{bgcolor:"action.hover"}},children:[t.jsx(o.MenuItem,{value:"",sx:{fontSize:"0.875rem",color:"text.secondary"},children:"Select a column..."}),S.map(E=>t.jsxs(o.MenuItem,{value:E.name,sx:{fontSize:"0.875rem",color:"text.primary",py:1,"&:hover":{bgcolor:"action.hover"},"&.Mui-selected":{bgcolor:Y=>It(Y),"&:hover":{bgcolor:Y=>$(Y.palette.primary.main,.2)}}},children:[dt(E.name)," (",E.type.toUpperCase(),")"]},E.name))]})}),a.levels.length>=C.grouping.maxLevels&&t.jsx(o.Typography,{variant:"caption",color:"text.secondary",sx:{display:"block",textAlign:"center",mt:1.5,fontSize:E=>E.typography.caption.fontSize||"0.75rem",color:"text.secondary"},children:"Maximum group levels (3) reached"}),m.length===0&&t.jsx(o.Typography,{variant:"body2",color:"text.secondary",sx:{textAlign:"center",py:2,fontSize:E=>E.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:"No groupable columns available. Only STRING and BOOLEAN columns can be grouped."})]}),y!==null&&t.jsxs(o.Alert,{severity:"warning",sx:{borderRadius:"8px",border:E=>`1px solid ${$(E.palette.warning.main,.5)}`,bgcolor:E=>$(E.palette.warning.main,.12),"& .MuiAlert-icon":{color:"warning.main"}},children:[t.jsxs(o.Typography,{variant:"body2",sx:{fontWeight:E=>E.typography.body2.fontWeight||500,mb:1.5,fontSize:E=>E.typography.body2.fontSize||"0.875rem",color:"text.primary"},children:["Edit Group Level ",y+1]}),t.jsx(o.FormControl,{fullWidth:!0,size:"small",sx:{mb:1.5},children:t.jsxs(o.Select,{value:l,onChange:E=>u(E.target.value),sx:{fontSize:"0.875rem",height:40,borderRadius:"4px",bgcolor:"background.paper","& .MuiOutlinedInput-notchedOutline":{borderColor:"divider"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:"2px"}},children:[t.jsx(o.MenuItem,{value:"",sx:{fontSize:"0.875rem"},children:"Select a column..."}),t.jsxs(o.MenuItem,{value:a.levels[y].column,sx:{fontSize:"0.875rem","&.Mui-selected":{bgcolor:E=>It(E)}},children:[a.levels[y].column," (",(H=e.find(E=>E.name===a.levels[y].column))==null?void 0:H.type.toUpperCase(),")"]}),S.filter(E=>E.name!==a.levels[y].column).map(E=>t.jsxs(o.MenuItem,{value:E.name,sx:{fontSize:"0.875rem","&.Mui-selected":{bgcolor:Y=>It(Y)}},children:[dt(E.name)," (",E.type.toUpperCase(),")"]},E.name))]})}),t.jsxs(o.Stack,{direction:"row",spacing:1.5,children:[t.jsx(o.Button,{onClick:h,disabled:!l,variant:"contained",fullWidth:!0,size:"small",sx:{fontSize:"0.875rem",bgcolor:"warning.main",color:"background.paper",py:.875,boxShadow:"none","&:hover":{bgcolor:"warning.dark",boxShadow:E=>ve(E,"pressedButton")}},children:"Save"}),t.jsx(o.Button,{onClick:k,variant:"outlined",fullWidth:!0,size:"small",sx:{fontSize:"0.875rem",color:"text.secondary",borderColor:"divider",py:.875,"&:hover":{borderColor:"text.secondary",bgcolor:"action.hover"}},children:"Cancel"})]})]}),a.levels.length>0&&y===null&&t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:1.5},children:[t.jsx(o.Typography,{variant:"overline",sx:{fontSize:E=>E.typography.caption.fontSize||"0.6875rem",fontWeight:E=>E.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",textTransform:"uppercase"},children:"Active group levels"}),t.jsx(o.Button,{onClick:b,size:"small",sx:{fontSize:"0.875rem",color:"error.main",p:0,minWidth:"auto","&:hover":{bgcolor:"transparent",color:"error.dark",textDecoration:"underline"}},children:"Clear all"})]}),t.jsx(o.Stack,{spacing:1.5,children:a.levels.map((E,Y)=>{const Z=e.find(I=>I.name===E.column);return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5,p:2,borderRadius:"8px",bgcolor:"background.paper",border:"1px solid divider",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",borderColor:"divider",boxShadow:I=>ve(I,"pressedButtonLight")}},children:[t.jsx(o.Chip,{label:`L${Y+1}`,size:"small",sx:{width:40,height:28,fontWeight:600,fontSize:"0.75rem",bgcolor:"primary.main",color:"background.paper",boxShadow:I=>`0 1px 2px 0 ${$(I.palette.primary.main,.3)}`}}),t.jsxs(o.Box,{sx:{flex:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:I=>I.typography.body2.fontWeight||500,fontSize:I=>I.typography.body2.fontSize||"0.875rem",color:"text.primary"},children:E.column}),t.jsx(o.Typography,{variant:"caption",sx:{fontSize:I=>I.typography.caption.fontSize||"0.75rem",color:"text.secondary"},children:Z==null?void 0:Z.type.toUpperCase()})]}),t.jsxs(o.Stack,{direction:"row",spacing:.5,children:[t.jsx(o.IconButton,{size:"small",onClick:()=>T(Y,"up"),disabled:Y===0,sx:{color:"text.secondary","&:hover":{bgcolor:"action.hover"},"&.Mui-disabled":{color:"divider"}},children:t.jsx(O.KeyboardArrowUp,{sx:{fontSize:18}})}),t.jsx(o.IconButton,{size:"small",onClick:()=>T(Y,"down"),disabled:Y===a.levels.length-1,sx:{color:"text.secondary","&:hover":{bgcolor:"action.hover"},"&.Mui-disabled":{color:"divider"}},children:t.jsx(O.KeyboardArrowDown,{sx:{fontSize:18}})}),t.jsx(o.IconButton,{size:"small",onClick:()=>B(Y),sx:{color:"text.secondary","&:hover":{bgcolor:"action.hover",color:"primary.main"}},children:t.jsx(O.Edit,{sx:{fontSize:18}})}),t.jsx(o.IconButton,{size:"small",onClick:()=>x(Y),sx:{color:"text.secondary","&:hover":{bgcolor:I=>$(I.palette.error.main,.08),color:"error.main"}},children:t.jsx(O.Delete,{sx:{fontSize:18}})})]})]},Y)})})]})]})}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",gap:1.5,justifyContent:"flex-end",flexShrink:0,bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:i,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,minHeight:36,borderRadius:E=>`${E.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:R,variant:"contained",disabled:a.levels.length===0,sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:1,minHeight:36,borderRadius:E=>`${E.shape.borderRadius}px`,boxShadow:E=>ve(E,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:E=>ve(E,"hoverButton")},"&:active":{boxShadow:E=>ve(E,"pressedButton"),transform:"translateY(1px)"}},children:"Apply grouping"})]})]})})}function ep({onExportAnyway:e,onSaveAndExport:r,onCancel:n}){return t.jsx(o.Box,{sx:{mb:2,mx:3,mt:2},children:t.jsxs(o.Alert,{severity:"warning",icon:t.jsx(O.Warning,{sx:{fontSize:20}}),action:t.jsx(o.IconButton,{size:"small",onClick:n,sx:{color:"warning.main"},children:t.jsx(O.Close,{sx:{fontSize:20}})}),sx:{alignItems:"flex-start"},children:[t.jsx(o.Typography,{variant:"subtitle2",sx:{fontWeight:i=>i.typography.h6.fontWeight||600,fontSize:i=>i.typography.h6.fontSize||"1rem",mb:.5},children:"You are exporting with unsaved view changes"}),t.jsx(o.Typography,{variant:"body2",sx:{mb:1.5},children:"Your current view has unsaved changes. Choose how to proceed:"}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Button,{onClick:r,variant:"contained",color:"primary",startIcon:t.jsx(O.Save,{sx:{fontSize:14}}),size:"small",children:"Save View & Export"}),t.jsx(o.Button,{onClick:e,variant:"contained",color:"warning",startIcon:t.jsx(O.Download,{sx:{fontSize:14}}),size:"small",children:"Export Anyway"})]})]})})}const js=[{key:"1h",label:"Last 1 Hour",ms:3600*1e3},{key:"24h",label:"Last 24 Hours",ms:1440*60*1e3},{key:"7d",label:"Last 7 Days",ms:10080*60*1e3},{key:"30d",label:"Last 30 Days",ms:720*60*60*1e3},{key:"all",label:"All Time",ms:null}];function tp(e,r){if(r===null)return e.length;const n=Date.now()-r;return e.filter(i=>new Date(i.timestamp).getTime()>=n).length}function rp(e,r){if(r===null)return[];const n=Date.now()-r;return e.filter(i=>new Date(i.timestamp).getTime()<n)}function op({auditHistory:e,onClose:r,onClearAuditHistory:n}){const i=ht(),s=i.palette,[a,c]=p.useState("1h"),[l,u]=p.useState(!1),[y,g]=p.useState("all"),[m,S]=p.useState(!0),[C,D]=p.useState(!1),[v,x]=p.useState(!1),B=[...e].sort((I,f)=>{const w=new Date(I.timestamp).getTime()-new Date(f.timestamp).getTime();return C?w:-w}),h=B.reduce((I,f)=>(I[f.feature]=(I[f.feature]??0)+1,I),{}),k=Object.keys(h).sort((I,f)=>(h[f]??0)-(h[I]??0)),T=y==="all"?B:B.filter(I=>I.feature===y),b=js.find(I=>I.key===a),R=tp(e,b.ms),H=()=>u(!0),E=()=>{n&&(n(rp(e,b.ms)),u(!1))},Y=I=>{const f=ys(i,I.feature),{summary:w,detail:P}=pl(I);return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"flex-start",gap:1.25,px:1.5,py:1.25,borderRadius:"10px",bgcolor:"background.paper",border:"1px solid",borderColor:"divider",transition:"border-color 0.15s","&:hover":{borderColor:$(s.text.primary,.18)}},children:[t.jsx(o.Chip,{label:qn(I.feature),size:"small",sx:{height:20,fontSize:"0.5625rem",fontWeight:700,letterSpacing:"0.04em",textTransform:"uppercase",bgcolor:$(f,.1),color:f,border:`1px solid ${$(f,.22)}`,flexShrink:0,mt:.125,"& .MuiChip-label":{px:.75}}}),t.jsxs(o.Box,{sx:{flex:1,minWidth:0},children:[t.jsx(o.Typography,{sx:{fontSize:"0.8125rem",fontWeight:500,color:"text.primary",lineHeight:1.45,wordBreak:"break-word"},children:w}),P&&t.jsx(o.Typography,{sx:{fontSize:"0.75rem",color:"text.secondary",mt:.25,lineHeight:1.4},children:P}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5,flexWrap:"wrap"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.375},children:[t.jsx(O.AccessTime,{sx:{fontSize:11,color:"text.disabled"}}),t.jsx(o.Typography,{sx:{fontSize:"0.6875rem",color:"text.disabled"},children:fl(I.timestamp)})]}),I.user&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.375},children:[t.jsx(O.Person,{sx:{fontSize:11,color:"text.disabled"}}),t.jsx(o.Typography,{sx:{fontSize:"0.6875rem",color:"text.disabled"},children:I.user})]})]})]})]},I.id)},Z=v?k.map(I=>({feature:I,events:T.filter(f=>f.feature===I)})).filter(I=>I.events.length>0):[];return t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{onClick:r,sx:{position:"fixed",inset:0,bgcolor:$(s.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:i.zIndex.modal,animation:"fadeIn 0.2s ease","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:I=>I.stopPropagation(),elevation:0,sx:{width:520,maxWidth:"calc(100vw - 48px)",maxHeight:"min(700px, calc(100vh - 80px))",display:"flex",flexDirection:"column",borderRadius:ot(i),bgcolor:"background.paper",overflow:"hidden",...de(i).paper,animation:"slideIn 0.2s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.96) translateY(-8px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{px:2.5,py:1.75,display:"flex",alignItems:"center",justifyContent:"space-between",gap:1.5,flexShrink:0,...de(i).header},children:[t.jsxs(o.Box,{sx:{minWidth:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:[t.jsx(o.Typography,{sx:{fontSize:I=>I.typography.body1.fontSize||"0.9375rem",fontWeight:I=>I.typography.h6.fontWeight||600,color:"text.primary"},children:"Audit History"}),t.jsx(pt,{content:Mr.auditHistory,isDev:process.env.NODE_ENV==="development"})]}),t.jsxs(o.Typography,{sx:{fontSize:I=>I.typography.caption.fontSize||"0.75rem",color:"text.secondary",mt:.125},children:[T.length," event",T.length!==1?"s":""," recorded"]})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0},children:[n&&e.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(o.Select,{value:a,onChange:I=>c(I.target.value),size:"small",variant:"outlined",sx:{fontSize:"0.75rem",height:30,minWidth:120,"& .MuiSelect-select":{py:.375,px:1,fontSize:"0.75rem"},"& .MuiOutlinedInput-notchedOutline":{borderColor:"divider"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:$(s.text.primary,.3)}},children:js.map(I=>t.jsx(o.MenuItem,{value:I.key,sx:{fontSize:"0.8125rem"},children:I.label},I.key))}),t.jsx(o.Button,{size:"small",variant:"outlined",color:"error",startIcon:t.jsx(O.DeleteSweepOutlined,{sx:{fontSize:14}}),onClick:H,sx:{fontSize:"0.75rem",borderRadius:"7px",px:1.25,height:30,whiteSpace:"nowrap",borderColor:$(s.error.main,.5),"&:hover":{bgcolor:$(s.error.main,.06),borderColor:"error.main"}},children:"Clear Logs"})]}),k.length>1&&t.jsx(o.IconButton,{onClick:()=>S(I=>!I),size:"small",title:m?"Hide category filter":"Show category filter",sx:{color:m?"primary.main":"text.secondary",bgcolor:m?$(s.primary.main,.1):"transparent",borderRadius:"7px","&:hover":{bgcolor:m?$(s.primary.main,.16):"action.hover"}},children:t.jsx(O.FilterAltOutlined,{sx:{fontSize:17}})}),t.jsx(o.IconButton,{onClick:()=>D(I=>!I),size:"small",title:C?"Sorted oldest first":"Sorted newest first",sx:{color:C?"primary.main":"text.secondary",bgcolor:C?$(s.primary.main,.1):"transparent",borderRadius:"7px","&:hover":{bgcolor:C?$(s.primary.main,.16):"action.hover"}},children:t.jsx(O.SortOutlined,{sx:{fontSize:17,transform:C?"scaleY(-1)":"none"}})}),t.jsx(o.IconButton,{onClick:()=>x(I=>!I),size:"small",title:v?"Ungroup events":"Group by category",sx:{color:v?"primary.main":"text.secondary",bgcolor:v?$(s.primary.main,.1):"transparent",borderRadius:"7px","&:hover":{bgcolor:v?$(s.primary.main,.16):"action.hover"}},children:t.jsx(O.WorkspacesOutlined,{sx:{fontSize:17}})}),t.jsx(o.IconButton,{onClick:r,size:"small",sx:{color:"text.secondary",borderRadius:"7px","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:17}})})]})]}),k.length>1&&m&&t.jsxs(o.Tabs,{value:y,onChange:(I,f)=>g(f),variant:"scrollable",scrollButtons:"auto",sx:{minHeight:36,flexShrink:0,borderBottom:"1px solid",borderColor:"divider",px:1.5,"& .MuiTabs-indicator":{height:2}},children:[t.jsx(o.Tab,{value:"all",label:`All (${B.length})`,sx:{minHeight:36,py:.5,fontSize:"0.75rem",textTransform:"none",minWidth:"auto",px:1.25}}),k.map(I=>t.jsx(o.Tab,{value:I,label:`${qn(I)} (${h[I]})`,sx:{minHeight:36,py:.5,fontSize:"0.75rem",textTransform:"none",minWidth:"auto",px:1.25}},I))]}),t.jsx(o.Box,{sx:{flex:1,overflowY:"auto",px:2,py:1.5,bgcolor:$(s.text.primary,.012),"&::-webkit-scrollbar":{width:5},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:$(s.text.primary,.14),borderRadius:3}},children:T.length===0?t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",py:8,gap:1,textAlign:"center"},children:[t.jsx(O.AccessTime,{sx:{fontSize:44,color:"text.disabled",opacity:.5}}),t.jsx(o.Typography,{sx:{fontSize:I=>I.typography.body1.fontSize||"0.9375rem",color:"text.secondary",fontWeight:I=>I.typography.body2.fontWeight||500},children:B.length===0?"No audit events yet":"No events in this category"}),t.jsx(o.Typography,{sx:{fontSize:I=>I.typography.body2.fontSize||"0.8125rem",color:"text.disabled"},children:B.length===0?"Changes to this report will appear here":"Try a different category tab"})]}):v?t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5},children:Z.map(({feature:I,events:f})=>t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,mb:.75,px:.25},children:[t.jsx(o.Box,{sx:{width:6,height:6,borderRadius:"50%",bgcolor:ys(i,I)}}),t.jsxs(o.Typography,{sx:{fontSize:"0.6875rem",fontWeight:700,letterSpacing:"0.04em",textTransform:"uppercase",color:"text.secondary"},children:[qn(I)," (",f.length,")"]})]}),t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:.75},children:f.map(Y)})]},I))}):t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:.75},children:T.map(Y)})})]})}),t.jsxs(o.Dialog,{open:l,onClose:()=>u(!1),maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{borderRadius:Mo(i),...de(i).paper}},children:[t.jsxs(o.DialogContent,{sx:{pt:3,pb:2,px:3},children:[t.jsx(o.Box,{sx:{width:44,height:44,borderRadius:"12px",bgcolor:$(s.error.main,.1),display:"flex",alignItems:"center",justifyContent:"center",mb:2},children:t.jsx(O.WarningAmberOutlined,{sx:{fontSize:22,color:"error.main"}})}),t.jsx(o.Typography,{sx:{fontSize:I=>I.typography.body1.fontSize||"0.9375rem",fontWeight:I=>I.typography.h6.fontWeight||600,color:"text.primary",mb:1},children:"Clear Audit Logs"}),t.jsxs(o.Typography,{sx:{fontSize:I=>I.typography.body2.fontSize||"0.8125rem",color:"text.secondary",lineHeight:1.65},children:["You are about to permanently remove"," ",t.jsxs(o.Box,{component:"span",sx:{fontWeight:600,color:"text.primary"},children:[R," audit record",R!==1?"s":""]})," ",b.key==="all"?"from all time":`from the ${b.label.toLowerCase()}`,". This action cannot be undone."]})]}),t.jsx(o.Divider,{}),t.jsxs(o.DialogActions,{sx:{px:2.5,py:1.5,gap:1},children:[t.jsx(o.Button,{onClick:()=>u(!1),variant:"text",sx:{fontSize:"0.8125rem",color:"text.secondary",borderRadius:"7px","&:hover":{bgcolor:"action.hover"}},children:"Cancel"}),t.jsxs(o.Button,{onClick:E,variant:"contained",color:"error",startIcon:t.jsx(O.DeleteSweepOutlined,{sx:{fontSize:14}}),sx:{fontSize:"0.8125rem",borderRadius:"7px",px:2},children:["Clear ",R," Record",R!==1?"s":""]})]})]})]})}function np({onSave:e,onClose:r}){const[n,i]=p.useState(""),[s,a]=p.useState(""),[c,l]=p.useState(""),[u,y]=p.useState([]),[g,m]=p.useState(""),[S,C]=p.useState(""),D=b=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(b),v=()=>{const b=c.trim();if(b){if(!D(b)){C("Please enter a valid email address");return}if(u.includes(b)){C("This email is already added");return}y([...u,b]),l(""),C("")}},x=b=>{y(u.filter(R=>R!==b))},B=b=>{b.key==="Enter"&&(b.preventDefault(),v())},h=()=>{if(!n.trim()){m("Preset name is required");return}e(n.trim(),s.trim(),u.length>0?u:void 0)},k=b=>{i(b),g&&m("")},T=b=>{l(b),S&&C("")};return t.jsx(o.Box,{onClick:r,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:b=>$(b.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:b=>b.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:b=>b.stopPropagation(),elevation:0,sx:{position:"relative",width:540,maxWidth:"calc(100vw - 120px)",maxHeight:"min(480px, calc(100vh - 280px))",display:"flex",flexDirection:"column",borderRadius:b=>ot(b),bgcolor:"background.paper",outline:"none",boxShadow:b=>de(b).paper.boxShadow,border:b=>de(b).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:b=>de(b).header.backgroundColor,borderBottom:b=>de(b).header.borderBottom,boxShadow:b=>de(b).header.boxShadow,flexShrink:0},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:b=>b.typography.h6.fontSize||"1.125rem",fontWeight:b=>b.typography.h6.fontWeight||500,color:b=>b.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:"Create shareable preset"}),t.jsx(o.IconButton,{onClick:r,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:2.5,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:b=>$(b.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:b=>$(b.palette.text.primary,.3)}}},children:t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2.5},children:[t.jsx(o.Alert,{severity:"info",icon:t.jsx(O.Info,{sx:{fontSize:20}}),sx:{borderRadius:"8px",border:b=>`1px solid ${$(b.palette.primary.main,.3)}`,bgcolor:b=>It(b),"& .MuiAlert-icon":{color:"primary.main"},"& .MuiAlert-message":{fontSize:"0.8125rem",color:"text.primary",lineHeight:1.5}},children:"This preset will capture filters, sorting, grouping, column configuration, and the active view. The actual data is not saved or shared."}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:b=>b.typography.body2.fontSize||"0.875rem",color:"text.secondary",lineHeight:1.6},children:"Save the current report configuration and generate a shareable link that others can use to view the same filters, sorting, and column layout."}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:b=>b.typography.caption.fontSize||"0.6875rem",fontWeight:b=>b.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1,display:"block",textTransform:"uppercase"},children:"Preset name *"}),t.jsx(o.TextField,{required:!0,value:n,onChange:b=>k(b.target.value),placeholder:"e.g., Q4 Active Users Report",error:!!g,helperText:g,autoFocus:!0,fullWidth:!0,size:"small",sx:{"& .MuiOutlinedInput-root":{fontSize:"0.875rem",borderRadius:"4px",bgcolor:"background.paper","& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"primary.main"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:"2px"},"&.Mui-error fieldset":{borderColor:"error.main"}},"& .MuiInputBase-input":{py:1.25,color:"text.primary"},"& .MuiFormHelperText-root":{fontSize:"0.75rem",color:"error.main",mt:.75}}})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:b=>b.typography.caption.fontSize||"0.6875rem",fontWeight:b=>b.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1,display:"block",textTransform:"uppercase"},children:"Description (optional)"}),t.jsx(o.TextField,{value:s,onChange:b=>a(b.target.value),placeholder:"Briefly describe what this preset shows...",multiline:!0,rows:3,fullWidth:!0,size:"small",sx:{"& .MuiOutlinedInput-root":{fontSize:"0.875rem",borderRadius:"4px",bgcolor:"background.paper","& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"primary.main"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:"2px"}},"& .MuiInputBase-input":{py:1.25,color:"text.primary",lineHeight:1.6}}})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:b=>b.typography.caption.fontSize||"0.6875rem",fontWeight:b=>b.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1,display:"block",textTransform:"uppercase"},children:"Share with (optional)"}),t.jsxs(o.Box,{sx:{display:"flex",gap:1,alignItems:"flex-start"},children:[t.jsx(o.TextField,{value:c,onChange:b=>T(b.target.value),onKeyPress:B,placeholder:"Enter email address",error:!!S,helperText:S,fullWidth:!0,size:"small",InputProps:{startAdornment:t.jsx(O.Email,{sx:{fontSize:18,color:"text.secondary",mr:1}})},sx:{"& .MuiOutlinedInput-root":{fontSize:"0.875rem",borderRadius:"4px",bgcolor:"background.paper","& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"primary.main"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:"2px"},"&.Mui-error fieldset":{borderColor:"error.main"}},"& .MuiInputBase-input":{py:1.25,color:"text.primary"},"& .MuiFormHelperText-root":{fontSize:"0.75rem",color:"error.main",mt:.75}}}),t.jsx(o.Button,{onClick:v,variant:"outlined",startIcon:t.jsx(O.Add,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",color:"primary.main",borderColor:"divider",px:2,py:1.25,minHeight:40,borderRadius:b=>`${b.shape.borderRadius}px`,flexShrink:0,"&:hover":{borderColor:"primary.main",bgcolor:"action.hover"}},children:"Add"})]}),u.length>0&&t.jsx(o.Box,{sx:{display:"flex",flexWrap:"wrap",gap:1,mt:1.5},children:u.map(b=>t.jsx(o.Chip,{label:b,onDelete:()=>x(b),deleteIcon:t.jsx(O.Delete,{sx:{fontSize:16}}),sx:{bgcolor:R=>It(R),color:"primary.main",fontSize:"0.8125rem",height:28,"& .MuiChip-deleteIcon":{color:"primary.main","&:hover":{color:"primary.dark"}}}},b))}),t.jsx(o.Typography,{variant:"caption",sx:{fontSize:"0.75rem",color:"text.secondary",mt:1,display:"block",lineHeight:1.5},children:u.length>0?`An email with the shareable link will be sent to ${u.length} recipient${u.length>1?"s":""}`:"Add email addresses to send the shareable link automatically"})]})]})}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",gap:1.5,justifyContent:"flex-end",flexShrink:0,bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:r,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,minHeight:36,borderRadius:b=>`${b.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:h,variant:"contained",startIcon:t.jsx(O.Share,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:1,minHeight:36,borderRadius:b=>`${b.shape.borderRadius}px`,boxShadow:b=>ve(b,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:b=>ve(b,"hoverButton")},"&:active":{boxShadow:b=>ve(b,"pressedButton"),transform:"translateY(1px)"}},children:"Create & share"})]})]})})}function ip({presetName:e,onClear:r}){return t.jsx(o.Chip,{icon:t.jsx(O.Link,{sx:{fontSize:14}}),label:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:["Preset:"," ",t.jsx(o.Box,{component:"span",sx:{fontWeight:600},children:e})]}),onDelete:r,deleteIcon:t.jsx(o.IconButton,{size:"small",title:"Exit preset view",sx:{p:0},children:t.jsx(O.Close,{sx:{fontSize:14}})}),sx:{bgcolor:n=>$(n.palette.primary.main,.12),borderColor:"primary.light",border:1,fontSize:"body2.fontSize",fontWeight:500,"& .MuiChip-deleteIcon":{color:"primary.main","&:hover":{color:"primary.main"}}}})}function sp({presets:e,reportId:r,onOpenPreset:n,onDeletePreset:i,onClose:s}){const a=c=>new Date(c).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});return t.jsx(o.Box,{onClick:s,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:c=>$(c.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:c=>c.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:c=>c.stopPropagation(),elevation:0,sx:{position:"relative",width:680,maxWidth:"calc(100vw - 120px)",maxHeight:"min(720px, calc(100vh - 200px))",display:"flex",flexDirection:"column",borderRadius:c=>ot(c),bgcolor:"background.paper",outline:"none",boxShadow:c=>de(c).paper.boxShadow,border:c=>de(c).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:c=>de(c).header.backgroundColor,borderBottom:c=>de(c).header.borderBottom,boxShadow:c=>de(c).header.boxShadow,flexShrink:0},children:[t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:c=>c.typography.h6.fontSize||"1.125rem",fontWeight:c=>c.typography.h6.fontWeight||500,color:c=>c.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:"Manage Presets"}),t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:c=>c.typography.caption.fontSize||"0.8125rem",color:"text.secondary",mt:.5,display:"block"},children:[e.length," saved ",e.length===1?"preset":"presets"]})]}),t.jsx(o.IconButton,{onClick:s,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:2,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:"divider",borderRadius:4,"&:hover":{bgcolor:c=>$(c.palette.text.primary,.2)}}},children:e.length===0?t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",py:8},children:[t.jsx(O.Share,{sx:{fontSize:48,color:"divider",mb:2}}),t.jsx(o.Typography,{variant:"body1",sx:{fontSize:c=>c.typography.body2.fontSize||"0.875rem",color:"text.secondary",textAlign:"center"},children:"No presets created yet"}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:c=>c.typography.body2.fontSize||"0.8125rem",color:"text.disabled",textAlign:"center",mt:.5},children:"Create a preset to share report configurations"})]}):t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2},children:e.map(c=>t.jsxs(o.Paper,{elevation:0,sx:{p:2.5,border:"1px solid divider",borderRadius:"8px",bgcolor:"background.paper",transition:"all 0.2s ease","&:hover":{borderColor:"divider",boxShadow:l=>ve(l,"restButtonLight")}},children:[t.jsx(o.Box,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",mb:1.5},children:t.jsxs(o.Box,{sx:{flex:1,minWidth:0},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:l=>l.typography.body1.fontSize||"0.9375rem",fontWeight:l=>l.typography.h6.fontWeight||500,color:"text.primary",mb:.5},children:c.name}),c.description&&t.jsx(o.Typography,{variant:"body2",sx:{fontSize:l=>l.typography.body2.fontSize||"0.8125rem",color:"text.secondary",lineHeight:1.5},children:c.description})]})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5,mb:2},children:[t.jsx(o.Chip,{label:`Created ${a(c.createdAt)}`,size:"small",sx:{height:22,fontSize:"0.75rem",bgcolor:"action.hover",color:"text.secondary","& .MuiChip-label":{px:1}}}),t.jsx(o.Chip,{label:`By ${c.createdBy}`,size:"small",sx:{height:22,fontSize:"0.75rem",bgcolor:"action.hover",color:"text.secondary","& .MuiChip-label":{px:1}}})]}),t.jsx(o.Divider,{sx:{my:1.5,borderColor:"divider"}}),t.jsx(o.Box,{sx:{display:"flex",gap:1},children:t.jsx(o.Button,{onClick:()=>i(c.id,c.name),variant:"outlined",size:"small",startIcon:t.jsx(O.Delete,{sx:{fontSize:16}}),sx:{fontSize:"0.8125rem",color:"error.main",borderColor:"divider",px:1.5,py:.75,borderRadius:l=>`${l.shape.borderRadius}px`,"&:hover":{borderColor:"error.main",bgcolor:l=>$(l.palette.error.main,.04)}},children:"Delete"})})]},c.id))})}),t.jsx(o.Box,{sx:{px:3,py:1.75,borderTop:"1px solid divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end",display:"flex"},children:t.jsx(o.Button,{onClick:s,variant:"contained",sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"primary.contrastText",px:3,py:.875,minHeight:36,borderRadius:c=>`${c.shape.borderRadius}px`,boxShadow:c=>ve(c,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:c=>ve(c,"hoverButton")},"&:active":{boxShadow:c=>ve(c,"pressedButton"),transform:"translateY(1px)"}},children:"Close"})})]})})}const la={maxFileSizeBytes:2*1024*1024,maxFileSizeHardBytes:3*1024*1024,maxRows:1e4,maxRowsHard:5e4,maxImageColumns:5},ap=[/^https?:\/\/.*\.(jpg|jpeg|png|gif|webp|svg|avif|bmp)/i,/^data:image\//i,/^\/.*\.(jpg|jpeg|png|gif|webp|svg)/i],lp=[/image/i,/photo/i,/avatar/i,/thumbnail/i,/picture/i,/logo/i,/icon/i,/banner/i];function cp(e,r){const n=[];for(const i of e){if(i.type!=="string")continue;const s=lp.some(l=>l.test(i.name));let a=!1;const c=r.slice(0,10).map(l=>l[i.name]).filter(l=>typeof l=="string"&&l.length>0);c.length>0&&(a=c.filter(u=>ap.some(y=>y.test(u))).length/c.length>.6),(s||a)&&n.push(i.name)}return n}function Tn(e,r){if(e.length===0||r.length===0)return 0;const n=e.slice(0,Math.min(50,e.length)),s=r.map(c=>{const l=n.map(y=>String(y[c]??"")).filter(y=>y.length>0);if(l.length===0)return 5;const u=l.reduce((y,g)=>y+g.length,0);return Math.ceil(u/l.length)+1}).reduce((c,l)=>c+l,0)+1;return r.reduce((c,l)=>c+l.length+1,0)+s*e.length}function dp(e,r){const n=Tn(e,r);return Math.ceil(n*3.5)}function up(e,r){const n=Tn(e,r);return Math.ceil(n*.7)}function pp(e,r){const n=Tn(e,r);return Math.ceil(n*2)}function hp(e,r,n){switch(e){case"csv":return Tn(r,n);case"excel":return up(r,n);case"json":return dp(r,n);case"pdf":return pp(r,n)}}function ks(e,r){return Math.ceil(e/r)}function mp(e,r,n,i,s=la){const a=[],c=hp(e,r,n),l=r.length;if(l>s.maxRowsHard){const g=ks(l,s.maxRows);a.push({type:"row_count",severity:"error",message:`Export blocked: ${l.toLocaleString()} rows exceeds the maximum of ${s.maxRowsHard.toLocaleString()}`,detail:`Consider using filters to reduce the dataset before exporting, or split into ${g} smaller exports of ~${s.maxRows.toLocaleString()} rows each.`,suggestedBatches:g,value:l,limit:s.maxRowsHard})}else if(l>s.maxRows){const g=ks(l,s.maxRows);a.push({type:"row_count",severity:"warning",message:`Large export: ${l.toLocaleString()} rows`,detail:`This is a large export that may take a moment to complete. For faster results, consider splitting into ${g} smaller export${g>1?"s":""} of ~${s.maxRows.toLocaleString()} rows each.`,suggestedBatches:g,value:l,limit:s.maxRows})}if(c>s.maxFileSizeHardBytes?a.push({type:"file_size",severity:"error",message:`File size blocked: estimated ${zo(c)} exceeds the ${zo(s.maxFileSizeHardBytes)} limit`,detail:"Reduce the number of rows or columns and try again. Applying filters before exporting is the most effective way to reduce file size.",value:c,limit:s.maxFileSizeHardBytes}):c>s.maxFileSizeBytes&&a.push({type:"file_size",severity:"warning",message:`Large file: estimated ${zo(c)}`,detail:`This exceeds the recommended ${zo(s.maxFileSizeBytes)} size. The download will still proceed but may be slow on some connections.`,value:c,limit:s.maxFileSizeBytes}),e!=="excel"){const g=cp(i.filter(m=>n.includes(m.name)),r);if(g.length>0){const m=g.length>s.maxImageColumns;a.push({type:"image_columns",severity:m?"error":"warning",message:`Image column${g.length>1?"s":""} detected: ${g.map(S=>`"${S.replace(/_/g," ")}"`).join(", ")}`,detail:m?`Exporting ${g.length} image columns may produce a very large file. Consider hiding these columns before exporting.`:"Image URL columns are included in the export as plain text links — not embedded images.",value:g.length,limit:s.maxImageColumns})}}const u=a.some(g=>g.severity==="error"),y=a.some(g=>g.severity==="warning");return{violations:a,hasBlockingViolation:u,hasWarning:y,estimatedBytes:c}}function zo(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function fp({violation:e}){const n=ht().palette,i=e.severity==="error",s=i?n.error.main:n.warning.main,a=$(i?n.error.main:n.warning.main,.06),c=i?$(n.error.main,.25):$(n.warning.main,.3),l=i?O.ErrorOutline:O.WarningAmberOutlined;return t.jsxs(o.Box,{sx:{display:"flex",gap:1.25,p:1.5,borderRadius:"10px",bgcolor:a,border:"1px solid",borderColor:c},children:[t.jsx(l,{sx:{fontSize:17,color:s,flexShrink:0,mt:.125}}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{sx:{fontSize:u=>u.typography.body2.fontSize||"0.8125rem",fontWeight:u=>u.typography.body2.fontWeight||600,color:i?"error.main":"warning.dark",lineHeight:1.4},children:e.message}),e.detail&&t.jsx(o.Typography,{sx:{fontSize:u=>u.typography.caption.fontSize||"0.75rem",color:"text.secondary",mt:.375,lineHeight:1.5},children:e.detail}),e.suggestedBatches&&e.suggestedBatches>1&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,mt:.75},children:[t.jsx(O.SplitscreenOutlined,{sx:{fontSize:14,color:"text.secondary"}}),t.jsxs(o.Typography,{sx:{fontSize:u=>u.typography.caption.fontSize||"0.75rem",color:"text.secondary",fontWeight:u=>u.typography.body2.fontWeight||500},children:["Suggestion: split into ",e.suggestedBatches," exports"]})]})]})]})}function xp({format:e}){const r=ht(),n={csv:{color:r.palette.primary.main,bg:r.palette.primary.main,label:"CSV"},excel:{color:r.palette.success.main,bg:r.palette.success.main,label:"XLSX"},json:{color:r.palette.text.secondary,bg:r.palette.text.secondary,label:"JSON"},pdf:{color:r.palette.error.main,bg:r.palette.error.main,label:"PDF"}}[e];return t.jsxs(o.Box,{sx:{width:44,height:52,position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",mb:1},children:[t.jsxs("svg",{width:"38",height:"46",viewBox:"0 0 38 46",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M5 2C3.34315 2 2 3.34315 2 5V41C2 42.6569 3.34315 44 5 44H33C34.6569 44 36 42.6569 36 41V13L25 2H5Z",fill:r.palette.background.paper,stroke:n.color,strokeWidth:"2.5",strokeLinejoin:"round"}),t.jsx("path",{d:"M24 2V13H36",fill:$(r.palette.text.primary,.05),stroke:n.color,strokeWidth:"2.5",strokeLinejoin:"round"})]}),t.jsx(o.Box,{sx:{position:"absolute",bottom:8,left:3,right:3,bgcolor:n.bg,color:r.palette.primary.contrastText,fontSize:"0.625rem",fontWeight:800,py:.25,borderRadius:"3px",textAlign:"center",letterSpacing:"0.05em"},children:n.label})]})}function zs({checked:e}){const r=ht();return t.jsx(o.Box,{sx:{width:20,height:20,borderRadius:"50%",border:e?`2px solid var(--urm-export-card-selected-border, ${r.palette.primary.main})`:`2px solid var(--urm-export-radio-border, ${r.palette.divider})`,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:r.palette.background.paper,transition:"all 0.15s ease",flexShrink:0},children:e&&t.jsx(o.Box,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:`var(--urm-export-card-selected-border, ${r.palette.primary.main})`}})})}function gp({totalRows:e,visibleRows:r,hasGrouping:n,visibleColumnsCount:i,totalColumnsCount:s,schema:a,sampleRows:c=[],allRows:l=[],processedRows:u=[],initialFormat:y,initialScope:g="visible",initialColumnScope:m="visible",classTokens:S={},onExport:C,onClose:D}){const v=ht(),x=v.palette,B=gr(),h=p.useMemo(()=>{var ue,pe,K,he,le;const J=((K=(pe=(ue=v.components)==null?void 0:ue.MuiCard)==null?void 0:pe.styleOverrides)==null?void 0:K.root)||{},re=J.border&&J.border!=="none"?J.border:(he=v.tokens)!=null&&he.cardBodyBorder&&v.tokens.cardBodyBorder!=="none"?v.tokens.cardBodyBorder:x.divider,we=J.borderRadius!==void 0?typeof J.borderRadius=="number"?`${J.borderRadius}px`:J.borderRadius:`${v.shape.borderRadius}px`,F=J.boxShadow&&J.boxShadow!=="none"?J.boxShadow:((le=v.tokens)==null?void 0:le.cardBodyShadow)||ve(v,"menu"),X=ct(v);return{sectionBorder:`var(--urm-export-section-border, ${re})`,sectionTitleColor:`var(--urm-export-section-title-color, ${x.text.primary})`,sectionTitleBg:`var(--urm-export-section-title-bg, ${x.background.paper})`,cardBg:`var(--urm-export-card-bg, ${x.background.paper})`,cardBorder:`var(--urm-export-card-border, ${re})`,cardRadius:we,cardShadow:F,cardHoverBg:`var(--urm-export-card-hover-bg, ${x.mode==="dark"?$(x.common.white,.08):$(x.common.black,.04)})`,cardSelectedBg:`var(--urm-export-card-selected-bg, ${$(X.main,x.mode==="dark"?.16:.08)})`,cardSelectedBorder:`var(--urm-export-card-selected-border, ${X.main})`,cardSelectedColor:`var(--urm-export-card-selected-color, ${x.mode==="dark"?x.primary.light:x.primary.main})`,primaryBtnBg:`var(--urm-export-primary-btn-bg, ${x.primary.main})`,primaryBtnHoverBg:`var(--urm-export-primary-btn-hover-bg, ${x.primary.dark})`,primaryBtnColor:`var(--urm-export-primary-btn-color, ${x.primary.contrastText})`,sectionPadding:`var(--urm-export-section-padding, ${v.spacing(2)})`,optionGap:`var(--urm-export-option-gap, ${v.spacing(1.5)})`}},[x,v]),k=y||(B.export.allowedFormats.includes("pdf")?"pdf":B.export.allowedFormats[0]||"csv"),[T,b]=p.useState(k),[R,H]=p.useState(g),[E,Y]=p.useState(m),Z=R==="visible"?r:e,I=E==="visible"?i:s,f=p.useMemo(()=>R==="visible"?u.length>0?u:new Array(r):l.length>0?l:new Array(e),[R,r,e,u,l]),w=p.useMemo(()=>E==="all"?a.map(J=>J.name):a.map(J=>J.name).slice(0,i),[E,a,i]),P=p.useMemo(()=>mp(T,f,w,a,la),[T,f,w,a]),te=()=>{P.hasBlockingViolation||(C({format:T,scope:R,columnScope:E}),D())},d={csv:"CSV",excel:"Excel (.xlsx)",json:"JSON",pdf:"PDF"};return t.jsx(o.Box,{onClick:D,className:`urm-export-backdrop ${S.modalBackdrop||""}`,sx:{position:"fixed",inset:0,bgcolor:$(x.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:v.zIndex.modal,animation:"fadeIn 0.2s ease","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:J=>J.stopPropagation(),elevation:0,className:`urm-export-paper ${S.modalPaper||""}`,sx:{width:540,maxWidth:"calc(100vw - 32px)",maxHeight:"min(760px, calc(100vh - 48px))",display:"flex",flexDirection:"column",borderRadius:ot(v),bgcolor:h.sectionTitleBg,overflow:"hidden",border:`1px solid ${h.cardBorder}`,boxShadow:h.cardShadow,animation:"slideIn 0.2s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.96) translateY(-8px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{className:`urm-export-header ${S.modalHeader||""}`,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,pt:2.5,pb:1.5,flexShrink:0,bgcolor:J=>de(J).header.backgroundColor,borderBottom:J=>de(J).header.borderBottom,boxShadow:J=>de(J).header.boxShadow},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.Typography,{className:`urm-export-title ${S.modalTitle||""}`,sx:{fontSize:"1.125rem",fontWeight:700,color:x.text.primary},children:"Export Report"}),t.jsx(pt,{content:Mr.export,isDev:process.env.NODE_ENV==="development"})]}),t.jsx(o.IconButton,{onClick:D,size:"small",className:`urm-export-close ${S.modalCloseButton||""}`,sx:{color:x.text.secondary,borderRadius:"50%","&:hover":{bgcolor:x.action.hover,color:x.text.primary}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsxs(o.Box,{className:`urm-export-content ${S.modalContent||""}`,sx:{flex:1,overflowY:"auto",px:3,pb:2.5,pt:.5,display:"flex",flexDirection:"column",gap:h.optionGap,"&::-webkit-scrollbar":{width:6},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:$(x.text.primary,.15),borderRadius:3}},children:[P.violations.length>0&&t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1},children:P.violations.map((J,re)=>t.jsx(fp,{violation:J},re))}),t.jsxs(o.Box,{className:`urm-export-section ${S.sectionContainer||""}`,sx:{position:"relative",border:`1.5px solid ${h.sectionBorder}`,borderRadius:"12px",p:h.sectionPadding,pt:2.25,bgcolor:h.sectionTitleBg,mt:1.5},children:[t.jsx(o.Typography,{className:`urm-export-section-title ${S.sectionTitle||""}`,sx:{position:"absolute",top:-11,left:14,bgcolor:h.sectionTitleBg,px:.75,fontSize:"0.8125rem",fontWeight:600,color:h.sectionTitleColor,lineHeight:1,zIndex:1},children:"Choose File Format"}),t.jsx(o.Box,{sx:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:h.optionGap},children:[{id:"csv",title:"CSV",info:"Comma-separated values, compatible with Excel",allowed:B.export.allowedFormats.includes("csv")},{id:"excel",title:"Excel (.xlsx)",info:"Native Excel format with formatting support",allowed:B.export.allowedFormats.includes("excel")},{id:"json",title:"JSON",info:"Structured data with metadata and filters",allowed:B.export.allowedFormats.includes("json")},{id:"pdf",title:"PDF",info:"Print-ready PDF document",allowed:B.export.allowedFormats.includes("pdf")}].filter(J=>J.allowed).map(J=>{const re=T===J.id;return t.jsxs(o.Box,{onClick:()=>b(J.id),className:`urm-export-format-card ${re?S.formatCardSelected||"":S.formatCard||""}`,sx:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",p:1.75,borderRadius:h.cardRadius,border:re?`2px solid ${h.cardSelectedBorder}`:`1px solid ${h.cardBorder}`,boxShadow:re?void 0:h.cardShadow,bgcolor:re?h.cardSelectedBg:h.cardBg,cursor:"pointer",transition:"all 0.15s ease","&:hover":{borderColor:re?h.cardSelectedBorder:$(x.text.primary,.25),bgcolor:re?h.cardSelectedBg:h.cardHoverBg}},children:[re&&t.jsx(o.Box,{sx:{position:"absolute",top:8,right:8,width:20,height:20,borderRadius:"50%",bgcolor:h.cardSelectedBorder,color:x.primary.contrastText,display:"flex",alignItems:"center",justifyContent:"center",boxShadow:`0 2px 4px ${$(x.primary.main,.3)}`},children:t.jsx(O.Check,{sx:{fontSize:13,strokeWidth:2}})}),t.jsx(xp,{format:J.id}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:[t.jsx(o.Typography,{sx:{fontSize:"0.875rem",fontWeight:700,color:re?h.cardSelectedColor:x.text.primary},children:J.title}),t.jsx(o.Tooltip,{title:J.info,arrow:!0,placement:"top",children:t.jsx(o.Box,{component:"span",onClick:we=>we.stopPropagation(),sx:{display:"inline-flex",cursor:"help",color:x.text.secondary,"&:hover":{color:x.text.primary}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:13}})})})]})]},J.id)})})]}),t.jsxs(o.Box,{className:`urm-export-section ${S.sectionContainer||""}`,sx:{position:"relative",border:`1.5px solid ${h.sectionBorder}`,borderRadius:"12px",p:h.sectionPadding,pt:2.25,bgcolor:h.sectionTitleBg,mt:1.5},children:[t.jsx(o.Typography,{className:`urm-export-section-title ${S.sectionTitle||""}`,sx:{position:"absolute",top:-11,left:14,bgcolor:h.sectionTitleBg,px:.75,fontSize:"0.8125rem",fontWeight:600,color:h.sectionTitleColor,lineHeight:1,zIndex:1},children:"Select Rows Range"}),t.jsx(o.Box,{sx:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:h.optionGap},children:[{value:"visible",label:"Visible rows",icon:t.jsx(O.VisibilityOutlined,{sx:{fontSize:20}}),info:`Export ${r.toLocaleString()} rows (filtered and searched)`},{value:"all",label:"All rows",icon:t.jsx(O.TableChartOutlined,{sx:{fontSize:20}}),info:`Export ${e.toLocaleString()} rows (complete original dataset)`}].map(J=>{const re=R===J.value;return t.jsxs(o.Box,{onClick:()=>H(J.value),className:`urm-export-row-card ${re?S.rowCardSelected||"":S.rowCard||""}`,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",p:1.5,borderRadius:h.cardRadius,border:re?`2px solid ${h.cardSelectedBorder}`:`1px solid ${h.cardBorder}`,boxShadow:re?void 0:h.cardShadow,bgcolor:re?h.cardSelectedBg:h.cardBg,cursor:"pointer",transition:"all 0.15s ease","&:hover":{borderColor:re?h.cardSelectedBorder:$(x.text.primary,.25),bgcolor:re?h.cardSelectedBg:h.cardHoverBg}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5},children:[t.jsx(zs,{checked:re}),t.jsx(o.Box,{sx:{color:re?h.cardSelectedColor:x.text.secondary,display:"flex"},children:J.icon}),t.jsx(o.Typography,{sx:{fontSize:"0.875rem",fontWeight:600,color:re?h.cardSelectedColor:x.text.primary},children:J.label})]}),t.jsx(o.Tooltip,{title:J.info,arrow:!0,placement:"top",children:t.jsx(o.Box,{component:"span",onClick:we=>we.stopPropagation(),sx:{display:"inline-flex",cursor:"help",color:x.text.secondary,"&:hover":{color:x.text.primary}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:16}})})})]},J.value)})})]}),t.jsxs(o.Box,{className:`urm-export-section ${S.sectionContainer||""}`,sx:{position:"relative",border:`1.5px solid ${h.sectionBorder}`,borderRadius:"12px",p:h.sectionPadding,pt:2.25,bgcolor:h.sectionTitleBg,mt:1.5},children:[t.jsx(o.Typography,{className:`urm-export-section-title ${S.sectionTitle||""}`,sx:{position:"absolute",top:-11,left:14,bgcolor:h.sectionTitleBg,px:.75,fontSize:"0.8125rem",fontWeight:600,color:h.sectionTitleColor,lineHeight:1,zIndex:1},children:"Select Columns Range"}),t.jsx(o.Box,{sx:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:h.optionGap},children:[{value:"visible",label:"Visible columns",icon:t.jsx(O.SwapVertOutlined,{sx:{fontSize:20}}),info:`Export ${i} visible column${i!==1?"s":""}`},{value:"all",label:"All columns",icon:t.jsx(O.TableChartOutlined,{sx:{fontSize:20}}),info:`Export all ${s} columns (including hidden)`}].map(J=>{const re=E===J.value;return t.jsxs(o.Box,{onClick:()=>Y(J.value),className:`urm-export-column-card ${re?S.columnCardSelected||"":S.columnCard||""}`,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",p:1.5,borderRadius:h.cardRadius,border:re?`2px solid ${h.cardSelectedBorder}`:`1px solid ${h.cardBorder}`,boxShadow:re?void 0:h.cardShadow,bgcolor:re?h.cardSelectedBg:h.cardBg,cursor:"pointer",transition:"all 0.15s ease","&:hover":{borderColor:re?h.cardSelectedBorder:$(x.text.primary,.25),bgcolor:re?h.cardSelectedBg:h.cardHoverBg}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5},children:[t.jsx(zs,{checked:re}),t.jsx(o.Box,{sx:{color:re?h.cardSelectedColor:x.text.secondary,display:"flex"},children:J.icon}),t.jsx(o.Typography,{sx:{fontSize:"0.875rem",fontWeight:600,color:re?h.cardSelectedColor:x.text.primary},children:J.label})]}),t.jsx(o.Tooltip,{title:J.info,arrow:!0,placement:"top",children:t.jsx(o.Box,{component:"span",onClick:we=>we.stopPropagation(),sx:{display:"inline-flex",cursor:"help",color:x.text.secondary,"&:hover":{color:x.text.primary}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:16}})})})]},J.value)})})]}),t.jsxs(o.Box,{className:`urm-export-summary ${S.summaryContainer||""}`,sx:{position:"relative",border:`1.5px solid ${h.sectionBorder}`,borderRadius:"12px",p:h.sectionPadding,pt:2.25,bgcolor:h.sectionTitleBg,mt:1.5},children:[t.jsx(o.Typography,{className:`urm-export-section-title ${S.sectionTitle||""}`,sx:{position:"absolute",top:-11,left:14,bgcolor:h.sectionTitleBg,px:.75,fontSize:"0.8125rem",fontWeight:600,color:h.sectionTitleColor,lineHeight:1,zIndex:1},children:"Export Summary"}),t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.25},children:[{icon:t.jsx(O.InsertDriveFileOutlined,{sx:{fontSize:18,color:x.text.secondary}}),label:"Format",value:d[T]},{icon:t.jsx(O.FormatListNumberedOutlined,{sx:{fontSize:18,color:x.text.secondary}}),label:"Rows to Export",value:Z.toLocaleString()},{icon:t.jsx(O.SwapVertOutlined,{sx:{fontSize:18,color:x.text.secondary}}),label:"Columns to Export",value:String(I)},{icon:t.jsx(O.InsertDriveFileOutlined,{sx:{fontSize:18,color:x.text.secondary}}),label:"Estimated File Size",value:`~${zo(P.estimatedBytes)}`,highlight:P.hasBlockingViolation?"error.main":P.hasWarning?"warning.main":void 0}].map(({icon:J,label:re,value:we,highlight:F})=>t.jsxs(o.Box,{className:`urm-export-summary-row ${S.summaryRow||""}`,sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25},children:[J,t.jsx(o.Typography,{className:`urm-export-summary-label ${S.summaryLabel||""}`,sx:{fontSize:"0.8125rem",color:x.text.secondary,fontWeight:500},children:re})]}),t.jsx(o.Typography,{className:`urm-export-summary-value ${S.summaryValue||""}`,sx:{fontWeight:700,fontSize:"0.8125rem",color:F??x.text.primary},children:we})]},re))})]})]}),t.jsxs(o.Box,{className:`urm-export-footer ${S.footer||""}`,sx:{px:3,py:2,display:"flex",alignItems:"center",justifyContent:"flex-end",gap:1.5,flexShrink:0},children:[P.hasBlockingViolation&&t.jsxs(o.Box,{sx:{flex:1,display:"flex",alignItems:"center",gap:.75},children:[t.jsx(O.ErrorOutline,{sx:{fontSize:15,color:"error.main"}}),t.jsx(o.Typography,{sx:{fontSize:J=>J.typography.caption.fontSize||"0.75rem",color:"error.main",fontWeight:J=>J.typography.body2.fontWeight||500},children:"Reduce rows or columns to enable download"})]}),t.jsx(o.Button,{onClick:D,variant:"outlined",className:`urm-export-cancel-btn ${S.cancelButton||""}`,sx:{fontSize:"0.875rem",fontWeight:600,color:x.text.primary,borderColor:h.cardBorder,px:3,py:1,borderRadius:"8px",textTransform:"none","&:hover":{bgcolor:h.cardHoverBg,borderColor:$(x.text.primary,.3)}},children:"Cancel"}),t.jsxs(o.Button,{onClick:te,disabled:P.hasBlockingViolation,variant:"contained",className:`urm-export-download-btn ${S.downloadButton||""}`,startIcon:t.jsx(O.Download,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",fontWeight:600,bgcolor:h.primaryBtnBg,color:h.primaryBtnColor,px:3,py:1,borderRadius:"8px",textTransform:"none",boxShadow:`0 2px 6px ${$(x.primary.main,.25)}`,"&:hover":{bgcolor:h.primaryBtnHoverBg},"&.Mui-disabled":{bgcolor:$(x.primary.main,.4),color:h.primaryBtnColor}},children:["Download ",d[T]]})]})]})})}function yp({warning:e,onDismiss:r}){return t.jsx(o.Box,{sx:{position:"fixed",bottom:16,right:16,zIndex:50,maxWidth:448},children:t.jsxs(o.Alert,{severity:"warning",icon:t.jsx(O.Warning,{sx:{fontSize:20}}),action:t.jsx(o.IconButton,{size:"small",onClick:r,sx:{color:"warning.main"},children:t.jsx(O.Close,{sx:{fontSize:16}})}),sx:{borderLeft:4,borderColor:"warning.main",boxShadow:3},children:[t.jsx(o.AlertTitle,{sx:{fontWeight:600},children:"Feature Limit Reached"}),t.jsx(o.Box,{sx:{fontSize:"body2.fontSize",mb:1},children:e.message}),t.jsxs(o.Box,{sx:{fontSize:"caption.fontSize",opacity:.9},children:["Please remove some"," ",e.type==="filter"?"filters":e.type==="sort"?"sort levels":"grouping levels"," ","before adding more."]})]})})}function bp({error:e,onDismiss:r,autoDismiss:n=!0,autoDismissDelay:i=3e4}){p.useEffect(()=>{if(n){const l=setTimeout(()=>{r()},i);return()=>clearTimeout(l)}},[n,i,r]);const a=(()=>{switch(e.type){case"system":return{severity:"error",icon:t.jsx(O.Cancel,{sx:{fontSize:20}})};case"processing":return{severity:"warning",icon:t.jsx(O.Warning,{sx:{fontSize:20}})};case"ui":default:return{severity:"info",icon:t.jsx(O.InfoOutlined,{sx:{fontSize:20}})}}})(),c=zl(e);return t.jsx(o.Box,{sx:{position:"fixed",bottom:16,right:16,zIndex:50,maxWidth:448},children:t.jsxs(o.Alert,{severity:a.severity,icon:a.icon,action:t.jsx(o.IconButton,{size:"small",onClick:r,sx:{color:`${a.severity}.main`},children:t.jsx(O.Close,{sx:{fontSize:16}})}),sx:{borderLeft:4,borderColor:`${a.severity}.main`,boxShadow:3},children:[t.jsxs(o.AlertTitle,{sx:{fontWeight:l=>l.typography.h6.fontWeight||600,fontSize:l=>l.typography.subtitle2.fontSize||"0.875rem"},children:[e.context.charAt(0).toUpperCase()+e.context.slice(1)," Error"]}),t.jsx(o.Box,{sx:{fontSize:"body2.fontSize"},children:c}),e.details&&process.env.NODE_ENV==="development"&&t.jsx(o.Box,{component:"pre",sx:{fontSize:"caption.fontSize",mt:1,fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:JSON.stringify(e.details,null,2)})]})})}class vp extends p.Component{constructor(n){super(n);Ii(this,"handleReset",()=>{this.setState({hasError:!1,error:null})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,i){Jt.error("urm:error-boundary","Caught unhandled component error",n,i),this.props.onError&&this.props.onError(n,i)}render(){var n,i;return this.state.hasError?this.props.fallback?this.props.fallback:t.jsx(o.Paper,{sx:{bgcolor:s=>$(s.palette.error.main,.12),border:1,borderColor:"error.light",borderRadius:2,p:3,m:2},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"flex-start",gap:1.5},children:[t.jsx(O.Warning,{color:"error",sx:{fontSize:24,flexShrink:0}}),t.jsxs(o.Box,{sx:{flex:1},children:[t.jsx(o.Typography,{variant:"h6",sx:{color:"error.main",fontWeight:s=>s.typography.h6.fontWeight||600,fontSize:s=>s.typography.h6.fontSize||"1.25rem"},children:this.props.context?`${this.props.context} Error`:"Something went wrong"}),t.jsx(o.Typography,{variant:"body2",sx:{color:"error.main",mt:1},children:((n=this.state.error)==null?void 0:n.message)||"An unexpected error occurred"}),process.env.NODE_ENV==="development"&&t.jsx(o.Box,{component:"pre",sx:{mt:1.5,fontSize:"caption.fontSize",color:"error.main",bgcolor:s=>$(s.palette.error.main,.12),p:1.5,borderRadius:1,overflow:"auto",maxHeight:170},children:(i=this.state.error)==null?void 0:i.stack}),t.jsx(o.Button,{onClick:this.handleReset,variant:"contained",color:"error",startIcon:t.jsx(O.Refresh,{sx:{fontSize:16}}),sx:{mt:2},children:"Try Again"})]})]})}):this.props.children}}function Sp({feature:e}){const[r,n]=p.useState(!0);return p.useEffect(()=>{const i=setTimeout(()=>n(!1),5e3);return()=>clearTimeout(i)},[]),t.jsx(o.Collapse,{in:r,unmountOnExit:!0,children:t.jsxs(o.Alert,{severity:"warning",sx:{m:1},icon:t.jsx(O.Warning,{sx:{fontSize:20}}),action:t.jsx(o.IconButton,{size:"small",onClick:()=>n(!1),"aria-label":"dismiss",sx:{color:"warning.dark"},children:t.jsx(O.Close,{sx:{fontSize:16}})}),children:[t.jsxs(o.AlertTitle,{children:[e," temporarily unavailable"]}),"Other features continue to work normally"]})})}function Zo({children:e,feature:r,onError:n}){return t.jsx(vp,{context:r,onError:i=>{n&&n(i)},fallback:t.jsx(Sp,{feature:r}),children:e})}const Cp=[{value:"equals",label:"Equals",group:"Text"},{value:"contains",label:"Contains",group:"Text"},{value:"startsWith",label:"Starts with",group:"Text"},{value:"endsWith",label:"Ends with",group:"Text"},{value:"gt",label:"Greater than (>)",group:"Numeric"},{value:"lt",label:"Less than (<)",group:"Numeric"},{value:"gte",label:"At least (≥)",group:"Numeric"},{value:"lte",label:"At most (≤)",group:"Numeric"},{value:"isTrue",label:"Is true",group:"Boolean"},{value:"isFalse",label:"Is false",group:"Boolean"},{value:"NULL",label:"Is empty (NULL)",group:"Null checks"},{value:"NOT_NULL",label:"Is not empty",group:"Null checks"}],wp=[{value:"csv",label:"CSV",desc:"Comma-separated values"},{value:"excel",label:"Excel (.xlsx)",desc:"Native Excel format"},{value:"json",label:"JSON",desc:"Structured data with metadata"},{value:"pdf",label:"PDF",desc:"Print-ready PDF document"}],_r={sortMaxLevels:{title:"Maximum Sort Levels",description:"Limits the number of columns users can sort by simultaneously. Restricts multi-level sort depth.",tips:['"Add sort column" button is disabled at this limit',"Prevents adding more sort levels to the active sort stack","Default: 5 levels (range: 1–10)"]},filterMaxConditions:{title:"Maximum Filter Conditions",description:"Limits the total number of active filter conditions users can apply at once.",tips:['"Add condition" button is disabled at this limit',"Prevents performance degradation on large datasets","Default: 3 conditions (range: 1–20)"]},filterAllowedOperators:{title:"Allowed Filter Operators",description:"Controls which comparison operators appear in the filter UI. Unchecked operators are hidden from all dropdowns.",tips:["Simplifies the UI by hiding advanced operators your users don't need","At least one operator per data type must remain checked","Operators grouped by type: Text, Numeric, Boolean, Null checks"]},columnsMaxVisible:{title:"Maximum Visible Columns",description:"Limits the number of columns users can display at once in the data table.",tips:["Column visibility toggle is disabled when this limit is reached","Forces users to be selective about which columns to show","Default: 20 columns (range: 1–50)"]},columnsWidthRange:{title:"Column Width Constraints",description:"Sets minimum and maximum pixel widths for column resizing. Prevents columns from becoming too narrow or too wide.",tips:["Users cannot drag column borders outside this range","Min default: 60px, Max default: 800px","Ensures readable content and consistent layout"]},exportAllowedFormats:{title:"Allowed Export Formats",description:"Determines which export formats appear in the Export dialog and row-level export menus. At least one must be enabled.",tips:["Disabled formats don't appear in any export UI","PDF is now available as a print-ready export option","Unchecked formats are completely hidden from end users"]},groupingMaxLevels:{title:"Maximum Group Levels",description:"Limits how deeply users can nest grouped data. Enforced when adding new group levels.",tips:['"Add group level" button is hidden at this limit',"Range: 1 (single group only) to 3 (triple nested groups)","Prevents overly complex grouping hierarchies"]}};function Co({children:e,active:r}){return t.jsx(o.Box,{hidden:!r,sx:{pt:2.5,pb:1,display:r?"flex":"none",flexDirection:"column",gap:2.5,height:"200px",width:"100%"},children:e})}function jp({open:e,onClose:r,config:n,onApply:i}){const[s,a]=p.useState(0),[c,l]=p.useState(n),u=()=>l(n),y=()=>l(yt),g=()=>{i(c),r()},m={sort:x=>l(B=>({...B,sort:{...B.sort,...x}})),filter:x=>l(B=>({...B,filter:{...B.filter,...x}})),columns:x=>l(B=>({...B,columns:{...B.columns,...x}})),grouping:x=>l(B=>({...B,grouping:{...B.grouping,...x}})),export:x=>l(B=>({...B,export:{...B.export,...x}}))},S=x=>{const B=c.filter.allowedOperators,h=B.includes(x)?B.filter(k=>k!==x):[...B,x];h.length!==0&&m.filter({allowedOperators:h})},C=x=>{const B=c.export.allowedFormats,h=B.includes(x)?B.filter(k=>k!==x):[...B,x];h.length!==0&&m.export({allowedFormats:h})},D=[{label:"Sort",icon:t.jsx(O.SwapVert,{sx:{fontSize:x=>x.typography.body1.fontSize}})},{label:"Filter",icon:t.jsx(O.FilterList,{sx:{fontSize:x=>x.typography.body1.fontSize}})},{label:"Columns",icon:t.jsx(O.ViewColumn,{sx:{fontSize:x=>x.typography.body1.fontSize}})},{label:"Grouping",icon:t.jsx(O.Layers,{sx:{fontSize:x=>x.typography.body1.fontSize}})},{label:"Export",icon:t.jsx(O.Download,{sx:{fontSize:x=>x.typography.body1.fontSize}})}],v=x=>JSON.stringify(c[x])===JSON.stringify(yt[x]);return t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,TransitionProps:{onEnter:u},PaperProps:{sx:{borderRadius:x=>ot(x),maxHeight:"min(680px, calc(100vh - 180px))",my:"auto",display:"flex",flexDirection:"column",boxShadow:x=>x.shadows[8]}},children:[t.jsxs(o.DialogTitle,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",pb:1,borderBottom:"1px solid",borderColor:"divider",flexShrink:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5},children:[t.jsx(o.Box,{sx:{width:32,height:32,borderRadius:x=>x.shape.borderRadius,bgcolor:x=>$(x.palette.primary.main,.1),display:"flex",alignItems:"center",justifyContent:"center",fontSize:x=>x.typography.h5.fontSize},children:"⚙️"}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"subtitle1",sx:{fontWeight:600,lineHeight:1.2},children:"Developer Configuration"}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"Set runtime constraints · Ctrl+Shift+D"})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{color:"text.secondary"},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.Box,{sx:{borderBottom:"1px solid",borderColor:"divider",flexShrink:0},children:t.jsx(o.Tabs,{value:s,onChange:(x,B)=>a(B),variant:"fullWidth",sx:{minHeight:44,"& .MuiTab-root":{minHeight:44,fontSize:x=>x.typography.caption.fontSize,textTransform:"none",fontWeight:x=>x.typography.button.fontWeight,gap:.5}},children:D.map((x,B)=>t.jsx(o.Tab,{label:x.label,icon:x.icon,iconPosition:"start"},B))})}),t.jsxs(o.DialogContent,{sx:{overflowY:"auto",flex:1,px:3,py:0,minHeight:300},children:[t.jsx(Co,{active:s===0,children:t.jsxs(o.Box,{children:[t.jsx(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Maximum sort levels"}),t.jsx(pt,{content:_r.sortMaxLevels,isDev:process.env.NODE_ENV==="development"})]})}),t.jsx(o.Slider,{value:c.sort.maxLevels,onChange:(x,B)=>m.sort({maxLevels:B}),min:1,max:10,step:1,marks:!0,valueLabelDisplay:"on"}),t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between"},children:[t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"1 level (single)"}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"10 levels (maximum)"})]})]})}),t.jsxs(Co,{active:s===1,children:[t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Maximum filter conditions"}),t.jsx(pt,{content:_r.filterMaxConditions,isDev:process.env.NODE_ENV==="development"})]}),!v("filter")&&t.jsx(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:600},children:"Modified"})]}),t.jsx(o.Slider,{value:c.filter.maxConditions,onChange:(x,B)=>m.filter({maxConditions:B}),min:1,max:20,step:1,marks:!0,valueLabelDisplay:"on"}),t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between"},children:[t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"1 condition"}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"20 conditions"})]})]}),t.jsx(o.Divider,{}),t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,mb:1.5},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Allowed filter operators"}),t.jsx(pt,{content:_r.filterAllowedOperators,isDev:process.env.NODE_ENV==="development"})]}),["Text","Numeric","Boolean","Null checks"].map(x=>t.jsxs(o.Box,{sx:{mb:1.5},children:[t.jsx(o.Typography,{sx:{fontWeight:600,textTransform:"uppercase",letterSpacing:"0.06em",color:"text.secondary",fontSize:B=>B.typography.overline.fontSize,display:"block",mb:.5},children:x}),t.jsx(o.FormGroup,{row:!0,sx:{gap:.5},children:Cp.filter(B=>B.group===x).map(B=>t.jsx(o.FormControlLabel,{control:t.jsx(o.Checkbox,{size:"small",checked:c.filter.allowedOperators.includes(B.value),onChange:()=>S(B.value)}),label:t.jsx(o.Typography,{variant:"body2",sx:{fontSize:"0.8125rem"},children:B.label}),sx:{mr:1.5}},B.value))})]},x))]})]}),t.jsxs(Co,{active:s===2,children:[t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Maximum visible columns"}),t.jsx(pt,{content:_r.columnsMaxVisible,isDev:process.env.NODE_ENV==="development"})]}),!v("columns")&&t.jsx(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:600},children:"Modified"})]}),t.jsx(o.Slider,{value:c.columns.maxVisible,onChange:(x,B)=>m.columns({maxVisible:B}),min:1,max:50,step:1,valueLabelDisplay:"on"})]}),t.jsx(o.Divider,{}),t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,mb:2},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Column width range (px)"}),t.jsx(pt,{content:_r.columnsWidthRange,isDev:process.env.NODE_ENV==="development"})]}),t.jsxs(o.Box,{sx:{display:"flex",gap:2},children:[t.jsxs(o.Box,{sx:{flex:1},children:[t.jsx(o.Typography,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:"Minimum width"}),t.jsx(o.Slider,{value:c.columns.minColumnWidth,onChange:(x,B)=>m.columns({minColumnWidth:B}),min:40,max:400,step:10,valueLabelDisplay:"on",valueLabelFormat:x=>`${x}px`})]}),t.jsxs(o.Box,{sx:{flex:1},children:[t.jsx(o.Typography,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:"Maximum width"}),t.jsx(o.Slider,{value:c.columns.maxColumnWidth,onChange:(x,B)=>m.columns({maxColumnWidth:B}),min:100,max:2e3,step:50,valueLabelDisplay:"on",valueLabelFormat:x=>`${x}px`})]})]})]})]}),t.jsx(Co,{active:s===3,children:t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Maximum group levels"}),t.jsx(pt,{content:_r.groupingMaxLevels,isDev:process.env.NODE_ENV==="development"})]}),!v("grouping")&&t.jsx(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:600},children:"Modified"})]}),t.jsx(o.Box,{sx:{display:"flex",gap:1.5,mb:2},children:[1,2,3].map(x=>t.jsxs(o.Box,{onClick:()=>m.grouping({maxLevels:x}),sx:{flex:1,py:2.5,borderRadius:B=>Number(B.shape.borderRadius||0)*1.25,border:"2px solid",cursor:"pointer",textAlign:"center",transition:"all 0.15s ease",borderColor:c.grouping.maxLevels===x?"primary.main":"divider",bgcolor:c.grouping.maxLevels===x?B=>$(B.palette.primary.main,.06):"transparent","&:hover":{borderColor:"primary.light",bgcolor:B=>$(B.palette.primary.main,.04)}},children:[t.jsx(o.Typography,{variant:"h5",sx:{fontWeight:700,color:c.grouping.maxLevels===x?"primary.main":"text.secondary"},children:x}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:["Single","Double","Triple"][x-1]})]},x))}),t.jsxs(o.FormGroup,{row:!0,sx:{gap:2},children:[t.jsx(o.FormControlLabel,{control:t.jsx(o.Checkbox,{checked:c.grouping.allowNested,onChange:x=>m.grouping({allowNested:x.target.checked})}),label:t.jsx(o.Typography,{variant:"body2",children:"Allow nested groups"})}),t.jsx(o.FormControlLabel,{control:t.jsx(o.Checkbox,{checked:c.grouping.allowCollapse,onChange:x=>m.grouping({allowCollapse:x.target.checked})}),label:t.jsx(o.Typography,{variant:"body2",children:"Allow collapse / expand"})})]})]})}),t.jsx(Co,{active:s===4,children:t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1.5},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Allowed export formats"}),t.jsx(pt,{content:_r.exportAllowedFormats,isDev:process.env.NODE_ENV==="development"})]}),!v("export")&&t.jsx(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:600},children:"Modified"})]}),t.jsx(o.FormGroup,{sx:{gap:1},children:wp.map(x=>t.jsxs(o.Box,{onClick:()=>C(x.value),sx:{display:"flex",alignItems:"center",gap:1.5,p:1.5,borderRadius:B=>B.shape.borderRadius,border:"1px solid",cursor:"pointer",transition:"all 0.15s ease",borderColor:c.export.allowedFormats.includes(x.value)?"primary.main":"divider",bgcolor:c.export.allowedFormats.includes(x.value)?B=>$(B.palette.primary.main,.04):"transparent","&:hover":{borderColor:"primary.light"}},children:[t.jsx(o.Checkbox,{size:"small",checked:c.export.allowedFormats.includes(x.value),onChange:()=>C(x.value),onClick:B=>B.stopPropagation()}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:500},children:x.label}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:x.desc})]})]},x.value))})]})})]}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid",borderColor:"divider",bgcolor:x=>$(x.palette.action.hover,.4),justifyContent:"space-between",flexShrink:0},children:[t.jsx(o.Button,{startIcon:t.jsx(O.RestartAlt,{sx:{fontSize:18}}),onClick:y,size:"small",sx:{fontSize:x=>x.typography.body2.fontSize,color:"text.secondary","&:hover":{color:"text.primary",bgcolor:x=>$(x.palette.text.primary,.06)}},children:"Reset to defaults"}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Button,{onClick:r,size:"small",sx:{fontSize:x=>x.typography.body2.fontSize,color:"text.secondary",px:2,borderRadius:x=>Number(x.shape.borderRadius)*2.25},children:"Cancel"}),t.jsx(o.Button,{onClick:g,size:"small",variant:"contained",sx:{fontSize:x=>x.typography.body2.fontSize,px:2.5,borderRadius:x=>Number(x.shape.borderRadius)*2.25},children:"Apply"})]})]})]})}const kp=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],zp={1:"1st",2:"2nd",3:"3rd",4:"4th",5:"5th",6:"6th",7:"7th",8:"8th",9:"9th",10:"10th",11:"11th",12:"12th",13:"13th",14:"14th",15:"15th",16:"16th",17:"17th",18:"18th",19:"19th",20:"20th",21:"21st",22:"22nd",23:"23rd",24:"24th",25:"25th",26:"26th",27:"27th",28:"28th"};function tn(e,r,n,i,s=new Date){const[a,c]=r.split(":").map(Number),l=new Date(s);if(l.setSeconds(0,0),l.setHours(a,c,0,0),e==="daily")return l<=s&&l.setDate(l.getDate()+1),l.toISOString();if(e==="weekly"){const u=n??1,y=l.getDay();let g=u-y;return g<0&&(g+=7),g===0&&l<=s&&(g=7),l.setDate(l.getDate()+g),l.toISOString()}if(e==="monthly"){const u=Math.min(i??1,28);return l.setDate(u),l<=s&&(l.setMonth(l.getMonth()+1),l.setDate(u)),l.toISOString()}return l.toISOString()}function Bp(e){const r=ca(e.time);return e.frequency==="daily"?`Daily at ${r}`:e.frequency==="weekly"?`Every ${kp[e.dayOfWeek??1]} at ${r}`:e.frequency==="monthly"?`Monthly on the ${zp[e.dayOfMonth??1]??`${e.dayOfMonth}th`} at ${r}`:r}function ca(e){const[r,n]=e.split(":").map(Number),i=r>=12?"PM":"AM";return`${r%12||12}:${String(n).padStart(2,"0")} ${i}`}function Tp(e){const r=new Date(e).getTime()-Date.now();if(r<=0)return"now";const n=Math.floor(r/1e3),i=Math.floor(n/86400),s=Math.floor(n%86400/3600),a=Math.floor(n%3600/60);return i>0?`in ${i}d ${s}h`:s>0?`in ${s}h ${a}m`:a>0?`in ${a}m`:"in less than a minute"}function Ip(e){const r=new Date(e),n=new Date,i=r.toDateString()===n.toDateString(),s=ca(`${String(r.getHours()).padStart(2,"0")}:${String(r.getMinutes()).padStart(2,"0")}`);return i?`Today at ${s}`:`${r.toLocaleDateString("en-US",{month:"short",day:"numeric"})} at ${s}`}function da(e){return`urm_schedules_${e}`}function ua(e){try{const r=localStorage.getItem(da(e));return r?JSON.parse(r).map(i=>({...i,runCount:typeof i.runCount=="number"?i.runCount:0,isActive:typeof i.isActive=="boolean"?i.isActive:!0,createdAt:i.createdAt||new Date().toISOString()})):[]}catch{return[]}}function pa(e,r){try{localStorage.setItem(da(e),JSON.stringify(r))}catch{}}const Ep=[{value:0,label:"Sunday"},{value:1,label:"Monday"},{value:2,label:"Tuesday"},{value:3,label:"Wednesday"},{value:4,label:"Thursday"},{value:5,label:"Friday"},{value:6,label:"Saturday"}],Dp=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,ha={name:"",frequency:"daily",dayOfWeek:1,dayOfMonth:1,time:"09:00",format:"pdf",scope:"all",email:""},$r={"& .MuiInputBase-root":{fontSize:"0.875rem",borderRadius:"8px"},"& .MuiInputLabel-root":{fontSize:"0.875rem"},"& .MuiFormHelperText-root":{fontSize:"0.75rem",mx:.5},"& .MuiOutlinedInput-root":{"& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"text.secondary"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:2}}};function _p({initial:e=ha,isEditing:r=!1,onSave:n,onBack:i}){const[s,a]=p.useState(e),[c,l]=p.useState(!1),[u,y]=p.useState(!1),g=(C,D)=>a(v=>({...v,[C]:D})),m=s.email.trim().length>0&&!Dp.test(s.email.trim()),S=s.name.trim().length>0&&/^\d{2}:\d{2}$/.test(s.time)&&(s.frequency!=="monthly"||s.dayOfMonth>=1&&s.dayOfMonth<=28)&&!m;return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,mb:.5},children:[t.jsx(o.IconButton,{size:"small",onClick:i,sx:{color:"text.secondary",ml:-.75,"&:hover":{bgcolor:C=>$(C.palette.text.primary,.06)}},children:t.jsx(O.ArrowBack,{sx:{fontSize:18}})}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:C=>C.typography.body2.fontWeight||600,fontSize:C=>C.typography.body2.fontSize||"0.875rem"},children:r?"Edit schedule":"New schedule"})]}),t.jsx(o.TextField,{label:"Schedule name *",size:"small",fullWidth:!0,value:s.name,onChange:C=>{g("name",C.target.value),c&&C.target.value.trim()&&l(!1)},onBlur:()=>l(!0),placeholder:"e.g. Weekly Sales Report",autoFocus:!0,inputProps:{maxLength:50},error:c&&!s.name.trim(),helperText:c&&!s.name.trim()?"Schedule name is required":`${s.name.length}/50`,sx:$r}),t.jsxs(o.FormControl,{size:"small",fullWidth:!0,sx:$r,children:[t.jsx(o.InputLabel,{children:"Frequency"}),t.jsxs(o.Select,{value:s.frequency,label:"Frequency",onChange:C=>g("frequency",C.target.value),children:[t.jsx(o.MenuItem,{value:"daily",children:"Daily"}),t.jsx(o.MenuItem,{value:"weekly",children:"Weekly"}),t.jsx(o.MenuItem,{value:"monthly",children:"Monthly"})]})]}),s.frequency==="weekly"&&t.jsxs(o.FormControl,{size:"small",fullWidth:!0,sx:$r,children:[t.jsx(o.InputLabel,{children:"Day of week"}),t.jsx(o.Select,{value:s.dayOfWeek,label:"Day of week",onChange:C=>g("dayOfWeek",Number(C.target.value)),children:Ep.map(C=>t.jsx(o.MenuItem,{value:C.value,children:C.label},C.value))})]}),s.frequency==="monthly"&&t.jsx(o.TextField,{label:"Day of month (1–28)",size:"small",type:"number",fullWidth:!0,value:s.dayOfMonth,onChange:C=>g("dayOfMonth",Number(C.target.value)),inputProps:{min:1,max:28},error:s.dayOfMonth<1||s.dayOfMonth>28,helperText:s.dayOfMonth<1||s.dayOfMonth>28?"Day must be between 1 and 28":"Max 28 — works safely across all months including February",sx:$r}),t.jsx(o.TextField,{label:"Time",size:"small",type:"time",fullWidth:!0,value:s.time,onChange:C=>g("time",C.target.value),InputLabelProps:{shrink:!0},sx:$r}),t.jsxs(o.FormControl,{size:"small",fullWidth:!0,sx:$r,children:[t.jsx(o.InputLabel,{children:"Export format"}),t.jsxs(o.Select,{value:s.format,label:"Export format",onChange:C=>g("format",C.target.value),children:[t.jsx(o.MenuItem,{value:"pdf",children:"PDF — Print-ready document"}),t.jsx(o.MenuItem,{value:"csv",children:"CSV — Comma-separated values"}),t.jsx(o.MenuItem,{value:"excel",children:"Excel (.xlsx) — Native format"}),t.jsx(o.MenuItem,{value:"json",children:"JSON — Structured data"})]})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontWeight:500,color:"text.secondary",display:"block",mb:.75},children:"Data scope"}),t.jsxs(o.RadioGroup,{row:!0,value:s.scope,onChange:C=>g("scope",C.target.value),sx:{gap:2},children:[t.jsx(o.FormControlLabel,{value:"all",control:t.jsx(o.Radio,{size:"small"}),label:t.jsx(o.Typography,{variant:"body2",children:"All rows"})}),t.jsx(o.FormControlLabel,{value:"visible",control:t.jsx(o.Radio,{size:"small"}),label:t.jsx(o.Typography,{variant:"body2",children:"Filtered rows only"})})]})]}),t.jsx(o.Box,{children:t.jsx(o.TextField,{label:"Email reminder",size:"small",fullWidth:!0,type:"email",value:s.email,onChange:C=>g("email",C.target.value),onBlur:()=>y(!0),placeholder:"user@company.com",error:u&&m,helperText:u&&m?"Enter a valid email address":void 0,InputProps:{startAdornment:t.jsx(O.Email,{sx:{fontSize:15,color:"text.disabled",mr:1}})},sx:$r})}),t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"flex-end",gap:1,pt:.5},children:[t.jsx(o.Button,{onClick:i,size:"small",sx:{fontSize:"0.875rem",color:"text.secondary",px:2,borderRadius:"18px","&:hover":{bgcolor:C=>$(C.palette.text.primary,.06)}},children:"Cancel"}),t.jsx(o.Button,{onClick:()=>S&&n(s),disabled:!S,size:"small",variant:"contained",sx:{fontSize:"0.875rem",px:2.5,borderRadius:"18px"},children:r?"Save changes":"Create schedule"})]})]})}function $p({scheduleName:e,onConfirm:r,onCancel:n}){return t.jsxs(o.Dialog,{open:!0,onClose:n,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:i=>({borderRadius:Mo(i),...de(i).paper})},children:[t.jsxs(o.DialogContent,{sx:{pt:3,pb:2,px:3},children:[t.jsx(o.Box,{sx:{width:44,height:44,borderRadius:"12px",bgcolor:i=>$(i.palette.error.main,.1),display:"flex",alignItems:"center",justifyContent:"center",mb:2},children:t.jsx(O.WarningAmberOutlined,{sx:{fontSize:22,color:"error.main"}})}),t.jsx(o.Typography,{sx:{fontSize:i=>i.typography.body1.fontSize||"0.9375rem",fontWeight:i=>i.typography.h6.fontWeight||600,color:"text.primary",mb:1},children:"Delete Schedule"}),t.jsxs(o.Typography,{sx:{fontSize:i=>i.typography.body2.fontSize||"0.8125rem",color:"text.secondary",lineHeight:1.65},children:["Are you sure you want to delete"," ",t.jsxs(o.Box,{component:"span",sx:{fontWeight:600,color:"text.primary"},children:['"',e,'"']}),"? This action cannot be undone."]})]}),t.jsx(o.Divider,{}),t.jsxs(o.DialogActions,{sx:{px:2.5,py:1.5,gap:1},children:[t.jsx(o.Button,{onClick:n,variant:"text",sx:{fontSize:"0.8125rem",color:"text.secondary",borderRadius:i=>`${i.shape.borderRadius}px`,"&:hover":{bgcolor:"action.hover"}},children:"Cancel"}),t.jsx(o.Button,{onClick:r,variant:"contained",color:"error",sx:{fontSize:"0.8125rem",borderRadius:i=>`${i.shape.borderRadius}px`,px:2},children:"Delete"})]})]})}function Op({schedule:e,tick:r,onToggle:n,onRunNow:i,onEdit:s,onDelete:a}){const c=e.isActive;return t.jsxs(o.Box,{sx:{border:"1px solid",borderColor:c?"primary.main":"divider",borderRadius:"10px",p:1.75,bgcolor:c?l=>$(l.palette.primary.main,.025):"background.paper",transition:"border-color 0.15s ease, background-color 0.15s ease"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600,flex:1,minWidth:0,color:c?"text.primary":"text.secondary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),t.jsx(o.Chip,{label:c?"Active":"Paused",size:"small",sx:{height:18,fontSize:"0.6875rem",fontWeight:600,flexShrink:0,bgcolor:c?l=>$(l.palette.success.main,.1):l=>$(l.palette.text.primary,.06),color:c?"success.dark":"text.secondary"}})]}),t.jsx(o.Typography,{variant:"caption",sx:{color:"text.secondary",display:"block",mb:1},children:Bp(e)}),t.jsxs(o.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,mb:1},children:[t.jsx(o.Chip,{label:e.format.toUpperCase(),size:"small",sx:{height:20,fontSize:"0.6875rem",fontWeight:500,bgcolor:l=>$(l.palette.primary.main,.08),color:"primary.main"}}),t.jsx(o.Chip,{label:e.scope==="all"?"All rows":"Filtered rows",size:"small",sx:{height:20,fontSize:"0.6875rem",bgcolor:l=>$(l.palette.text.primary,.06),color:"text.secondary"}}),e.email&&t.jsx(o.Chip,{icon:t.jsx(O.Email,{sx:{fontSize:11}}),label:e.email,size:"small",sx:{height:20,fontSize:"0.6875rem",maxWidth:220,bgcolor:l=>$(l.palette.text.primary,.06),color:"text.secondary","& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1},children:[t.jsxs(o.Box,{sx:{display:"flex",flexWrap:"wrap",gap:1.5,alignItems:"center"},children:[c&&t.jsxs(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:500},children:["Next: ",Tp(e.nextRunAt)]}),e.lastRunAt?t.jsxs(o.Typography,{variant:"caption",color:"text.secondary",children:["Last: ",Ip(e.lastRunAt)," · ",e.runCount," run",e.runCount!==1?"s":""]}):t.jsx(o.Typography,{variant:"caption",color:"text.disabled",children:"Never run"})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.25,flexShrink:0},children:[t.jsx(o.Tooltip,{title:"Edit",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:()=>s(e),sx:{color:"text.secondary","&:hover":{color:"primary.main",bgcolor:l=>$(l.palette.primary.main,.08)}},children:t.jsx(O.Edit,{sx:{fontSize:15}})})}),t.jsx(o.Tooltip,{title:c?"Pause":"Resume",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:()=>n(e.id),sx:{color:c?"warning.main":"success.main","&:hover":{bgcolor:c?l=>$(l.palette.warning.main,.08):l=>$(l.palette.success.main,.08)}},children:c?t.jsx(O.Pause,{sx:{fontSize:15}}):t.jsx(O.PlayArrow,{sx:{fontSize:15}})})}),t.jsx(o.Tooltip,{title:"Export now",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:()=>i(e),sx:{color:"primary.main","&:hover":{bgcolor:l=>$(l.palette.primary.main,.08)}},children:t.jsx(O.Download,{sx:{fontSize:15}})})}),t.jsx(o.Tooltip,{title:"Delete",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:()=>a(e.id),sx:{color:"error.main","&:hover":{bgcolor:l=>$(l.palette.error.main,.08)}},children:t.jsx(O.Delete,{sx:{fontSize:15}})})})]})]})]})}function Mp({open:e,onClose:r,reportId:n,reportName:i,onRunNow:s,schedulerConfig:a}){const l=((a==null?void 0:a.mode)??"local")==="api",[u,y]=p.useState([]),g=l?(a==null?void 0:a.schedules)??[]:u,[m,S]=p.useState({type:"list"}),[C,D]=p.useState(0),[v,x]=p.useState(null);p.useEffect(()=>{e&&(l||y(ua(n)),S({type:"list"}))},[e,n,l]),p.useEffect(()=>{if(!e)return;const I=setInterval(()=>D(f=>f+1),3e4);return()=>clearInterval(I)},[e]);const B=p.useCallback(I=>{y(I),pa(n,I)},[n]),h=I=>{var P;const f=tn(I.frequency,I.time,I.dayOfWeek,I.dayOfMonth),w={id:`sched-${Date.now()}`,reportId:n,name:I.name.trim(),frequency:I.frequency,dayOfWeek:I.frequency==="weekly"?I.dayOfWeek:void 0,dayOfMonth:I.frequency==="monthly"?I.dayOfMonth:void 0,time:I.time,format:I.format,scope:I.scope,email:I.email.trim()||void 0,isActive:!0,createdAt:new Date().toISOString(),nextRunAt:f,runCount:0};l?(P=a==null?void 0:a.onScheduleCreate)==null||P.call(a,w):B([...g,w]),S({type:"list"})},k=I=>{var te;if(m.type!=="edit")return;const f=m.schedule,w=tn(I.frequency,I.time,I.dayOfWeek,I.dayOfMonth),P={...f,name:I.name.trim(),frequency:I.frequency,dayOfWeek:I.frequency==="weekly"?I.dayOfWeek:void 0,dayOfMonth:I.frequency==="monthly"?I.dayOfMonth:void 0,time:I.time,format:I.format,scope:I.scope,email:I.email.trim()||void 0,nextRunAt:w};l?(te=a==null?void 0:a.onScheduleUpdate)==null||te.call(a,P):B(g.map(d=>d.id===f.id?P:d)),S({type:"list"})},T=I=>{var d;const f=g.find(J=>J.id===I);if(!f)return;const w=!f.isActive,P=w?tn(f.frequency,f.time,f.dayOfWeek,f.dayOfMonth):f.nextRunAt,te={...f,isActive:w,nextRunAt:P};l?(d=a==null?void 0:a.onScheduleToggle)==null||d.call(a,I,w):B(g.map(J=>J.id===I?te:J))},b=I=>{if(s(I),!l){const f=new Date().toISOString();B(g.map(w=>w.id===I.id?{...w,lastRunAt:f,runCount:w.runCount+1}:w))}},R=I=>{const f=g.find(w=>w.id===I)??null;x(f)},H=()=>{var I;v&&(l?(I=a==null?void 0:a.onScheduleDelete)==null||I.call(a,v.id):B(g.filter(f=>f.id!==v.id)),x(null))},E=I=>({name:I.name,frequency:I.frequency,dayOfWeek:I.dayOfWeek??1,dayOfMonth:I.dayOfMonth??1,time:I.time,format:I.format,scope:I.scope,email:I.email??""}),Y=m.type!=="list",Z=g.filter(I=>I.isActive).length;return t.jsxs(t.Fragment,{children:[t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,disableEscapeKeyDown:Y,PaperProps:{sx:I=>({borderRadius:ot(I),maxHeight:"min(680px, calc(100vh - 180px))",my:"auto",display:"flex",flexDirection:"column",...de(I).paper})},children:[t.jsxs(o.DialogTitle,{sx:I=>({display:"flex",alignItems:"center",justifyContent:"space-between",py:1.5,px:2.5,flexShrink:0,minHeight:0,...de(I).header}),children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25},children:[t.jsx(o.Box,{sx:{width:30,height:30,borderRadius:"7px",bgcolor:I=>$(I.palette.primary.main,.1),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(O.Schedule,{sx:{fontSize:17,color:"primary.main"}})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"baseline",gap:.75},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"subtitle2",sx:{fontWeight:I=>I.typography.h6.fontWeight||600,fontSize:I=>I.typography.subtitle2.fontSize||"0.875rem",lineHeight:1},children:"Scheduled Reports"}),t.jsx(pt,{content:Mr.schedule,isDev:process.env.NODE_ENV==="development"})]}),t.jsxs(o.Typography,{variant:"caption",color:"text.secondary",sx:{lineHeight:1},children:["· ",i]})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{color:"text.secondary","&:hover":{bgcolor:I=>$(I.palette.text.primary,.06)}},children:t.jsx(O.Close,{sx:{fontSize:18}})})]}),t.jsxs(o.DialogContent,{sx:{overflowY:"auto",flex:1,px:2.5,py:2},children:[Y&&t.jsx(_p,{initial:m.type==="edit"?E(m.schedule):ha,isEditing:m.type==="edit",onSave:m.type==="edit"?k:h,onBack:()=>S({type:"list"})}),m.type==="list"&&t.jsxs(t.Fragment,{children:[t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:1.75,pt:1.5},children:[t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:g.length===0?"No schedules yet":`${Z} of ${g.length} active`}),t.jsx(o.Button,{startIcon:t.jsx(O.Add,{sx:{fontSize:15}}),size:"small",variant:"contained",onClick:()=>S({type:"create"}),sx:{fontSize:"0.8125rem",borderRadius:"18px",px:1.75,py:.625},children:"New schedule"})]}),g.length===0?t.jsxs(o.Box,{sx:{border:"1.5px dashed",borderColor:"divider",borderRadius:"10px",py:5,px:2,textAlign:"center"},children:[t.jsx(O.NotificationsActive,{sx:{fontSize:30,color:"text.disabled",mb:1.25,display:"block",mx:"auto"}}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:I=>I.typography.body2.fontWeight||500,fontSize:I=>I.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:"No scheduled reports yet"}),t.jsx(o.Typography,{variant:"caption",color:"text.disabled",sx:{display:"block",mt:.5},children:'Use "New schedule" above to set up automatic exports'})]}):t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.25},children:g.map(I=>t.jsx(Op,{schedule:I,tick:C,onToggle:T,onRunNow:b,onEdit:f=>S({type:"edit",schedule:f}),onDelete:R},I.id))})]})]}),m.type==="list"&&t.jsx(o.DialogActions,{sx:{px:2.5,py:1.25,borderTop:"1px solid",borderColor:"divider",flexShrink:0,display:"flex",alignItems:"center",gap:1},children:t.jsx(o.Button,{onClick:r,size:"small",sx:{fontSize:"0.875rem",color:"text.secondary",px:2,borderRadius:"18px",flexShrink:0,"&:hover":{bgcolor:I=>$(I.palette.text.primary,.06)}},children:"Close"})})]}),v&&t.jsx($p,{scheduleName:v.name,onConfirm:H,onCancel:()=>x(null)})]})}const Ap=6e4;function Wp({reportId:e,reportName:r,uploadedData:n,processedData:i,schema:s,activeView:a,columnVisibility:c,columnOrder:l,filters:u,sortStack:y,onFired:g,schedulerConfig:m}){const S=(m==null?void 0:m.mode)??"local",C=p.useRef({reportId:e,reportName:r,uploadedData:n,processedData:i,schema:s,activeView:a,columnVisibility:c,columnOrder:l,filters:u,sortStack:y,onFired:g,schedulerConfig:m,schedulerMode:S});p.useEffect(()=>{C.current={reportId:e,reportName:r,uploadedData:n,processedData:i,schema:s,activeView:a,columnVisibility:c,columnOrder:l,filters:u,sortStack:y,onFired:g,schedulerConfig:m,schedulerMode:S}});const D=p.useCallback(v=>{var I,f,w,P,te;const{reportName:x,uploadedData:B,processedData:h,schema:k,activeView:T,columnVisibility:b,columnOrder:R,filters:H,sortStack:E,schedulerConfig:Y,schedulerMode:Z}=C.current;try{const d=v.scope==="all"?B:h;if(Z==="api"){const we=(R.length>0?R:k.map(X=>X.name)).filter(X=>b[X]!==!1),F={schedule:v,triggeredAt:new Date().toISOString(),rows:d,columns:we,format:v.format,reportName:x};(I=Y==null?void 0:Y.onScheduleFire)==null||I.call(Y,F),(w=(f=C.current).onFired)==null||w.call(f,v);return}const J=rn(d,k,H,E,T,b,R),re=`${v.name}_scheduled`;switch(v.format){case"csv":on(J,re,{scope:v.scope});break;case"excel":nn(J,re,{scope:v.scope});break;case"json":sn(J,re,{scope:v.scope});break;case"pdf":yi(J,re,{scope:v.scope});break}if(Y!=null&&Y.onScheduleFire){const we=(R.length>0?R:k.map(F=>F.name)).filter(F=>b[F]!==!1);Y.onScheduleFire({schedule:v,triggeredAt:new Date().toISOString(),rows:d,columns:we,format:v.format,reportName:x})}if(v.email){const we=encodeURIComponent(`Scheduled Report: ${v.name}`),F=encodeURIComponent(`Your scheduled report "${v.name}" has been generated.
191
+ ]`})})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"subtitle2",gutterBottom:!0,children:"Supported Column Types"}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",sx:{mb:1.5},children:"The system automatically detects column types from your data:"}),t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1},children:[t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:i=>i.typography.body2.fontWeight||500,fontSize:i=>i.typography.body2.fontSize||"0.875rem",minWidth:80},children:"Number:"}),t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["Numeric values (e.g.,"," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:"33"}),","," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:"42.5"}),")"]})]}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:i=>i.typography.body2.fontWeight||500,fontSize:i=>i.typography.body2.fontSize||"0.875rem",minWidth:80},children:"Boolean:"}),t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["True/false values (e.g.,"," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:"true"}),","," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:"false"}),")"]})]}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:i=>i.typography.body2.fontWeight||500,fontSize:i=>i.typography.body2.fontSize||"0.875rem",minWidth:80},children:"String:"}),t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["Text values (e.g.,"," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:'"Europe"'}),","," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:'"Analytics Pro"'}),")"]})]}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:i=>i.typography.body2.fontWeight||500,fontSize:i=>i.typography.body2.fontSize||"0.875rem",minWidth:80},children:"Date:"}),t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["ISO date strings (e.g.,"," ",t.jsx(o.Box,{component:"code",sx:{bgcolor:"action.hover",px:.5,borderRadius:.5,fontFamily:"monospace",fontSize:"caption.fontSize"},children:'"2024-08-22"'}),")"]})]})]})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"subtitle2",gutterBottom:!0,children:"Notes"}),t.jsxs(o.Box,{component:"ul",sx:{m:0,pl:2.5,"& li":{fontSize:"body2.fontSize",color:"text.secondary",mb:.5}},children:[t.jsx("li",{children:"Each object in the array represents one row in the report."}),t.jsx("li",{children:"The keys of the JSON objects become report columns."}),t.jsx("li",{children:"All objects should have consistent keys for proper column detection."}),t.jsx("li",{children:"Column names are case-sensitive and preserve spacing."})]})]})]})}),t.jsx(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end"},children:t.jsx(o.Button,{onClick:r,variant:"contained",sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"primary.contrastText",px:3,py:.875,minHeight:36,borderRadius:i=>`${i.shape.borderRadius}px`,boxShadow:i=>ve(i,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:i=>ve(i,"hoverButton")},"&:active":{boxShadow:i=>ve(i,"pressedButton"),transform:"translateY(1px)"}},children:"Got it"})})]}):null}function au({onFileUpload:e,onError:r,isUploading:n,jsonGuideContent:i}){const[s,a]=p.useState(!1),[c,l]=p.useState(""),[u,y]=p.useState(!1),g=p.useRef(null),m=async h=>{if(!h.name.endsWith(".json")){r("Only .json files are allowed");return}const k=10*1024*1024;if(h.size>k){r("File size exceeds 10MB limit");return}l(h.name);try{const T=await h.text();let b;try{b=JSON.parse(T)}catch{r("Invalid JSON syntax — please check your file and try again");return}if(!Array.isArray(b)){r("JSON must be an array of objects");return}if(b.length===0){r("No data rows found in JSON file");return}e(b)}catch{r("Network error — please try again")}finally{l("")}},S=h=>{h.preventDefault(),a(!0)},C=h=>{h.preventDefault(),a(!1)},D=h=>{h.preventDefault(),a(!1);const k=h.dataTransfer.files[0];k&&m(k)},v=()=>{var h;(h=g.current)==null||h.click()},x=h=>{var T;const k=(T=h.target.files)==null?void 0:T[0];k&&m(k)},B=h=>{h.stopPropagation(),y(!0)};return t.jsxs(t.Fragment,{children:[t.jsxs(o.Box,{onDragOver:S,onDragLeave:C,onDrop:D,onPaste:h=>h.preventDefault(),onClick:v,sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:400,border:2,borderStyle:"dashed",borderColor:s?"primary.main":"divider",bgcolor:s?h=>$(h.palette.primary.main,.12):"transparent",borderRadius:1,px:2,py:6,cursor:"pointer",transition:"all 0.2s",opacity:n?.5:1,pointerEvents:n?"none":"auto","&:hover":{borderColor:s?"primary.main":"text.secondary"}},children:[t.jsx(o.Box,{component:"input",ref:g,type:"file",accept:".json",onChange:x,sx:{display:"none"}}),n?t.jsxs(t.Fragment,{children:[t.jsx(o.CircularProgress,{size:32,sx:{mb:2}}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:h=>h.typography.body2.fontWeight||500,fontSize:h=>h.typography.body2.fontSize||"0.875rem",mb:.5},children:"Uploading..."}),c&&t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:c})]}):t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{sx:{width:64,height:64,borderRadius:"50%",bgcolor:h=>$(h.palette.primary.main,.12),display:"flex",alignItems:"center",justifyContent:"center",mb:2},children:t.jsx(O.UploadFile,{sx:{fontSize:32,color:"primary.main"}})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,mb:1.5},children:[t.jsx(o.Button,{variant:"contained",sx:{fontWeight:500},children:"Upload Data (JSON)"}),t.jsx(o.IconButton,{onClick:B,size:"small",sx:{border:1,borderColor:"divider","&:hover":{borderColor:"text.secondary",bgcolor:"action.hover"}},title:"View JSON format guide",children:t.jsx(O.InfoOutlined,{sx:{fontSize:16}})})]}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",sx:{textAlign:"center",maxWidth:500},children:"Upload structured JSON data to generate your report."}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",sx:{mt:1},children:"Click to browse or drag and drop a JSON file here"})]})]}),t.jsx(ta,{isOpen:u,onClose:()=>y(!1),content:i})]})}function lu({schema:e,onConfirm:r,hasConflicts:n}){return t.jsxs(o.Paper,{sx:{border:2,borderColor:"divider",p:3},children:[t.jsxs(o.Box,{sx:{mb:2},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontWeight:i=>i.typography.h6.fontWeight||600,fontSize:i=>i.typography.h6.fontSize||"1.25rem",mb:.5},children:"Schema Preview"}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"Review the detected schema before generating your table"})]}),n&&t.jsxs(o.Alert,{severity:"warning",sx:{mb:2},children:[t.jsx(o.AlertTitle,{sx:{fontWeight:i=>i.typography.h6.fontWeight||600,fontSize:i=>i.typography.subtitle2.fontSize||"0.875rem"},children:"Schema Conflict Detected"}),"Some columns have inconsistent data types across rows. Please resolve these conflicts before proceeding."]}),t.jsx(o.TableContainer,{sx:{mb:3},children:t.jsxs(o.Table,{children:[t.jsx(o.TableHead,{children:t.jsxs(o.TableRow,{sx:{bgcolor:"action.hover"},children:[t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"caption.fontSize"},children:"Column Name"}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"caption.fontSize"},children:"Detected Type"}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"caption.fontSize"},children:"Status"})]})}),t.jsx(o.TableBody,{children:e.map(i=>t.jsxs(o.TableRow,{sx:{bgcolor:i.hasConflict?s=>$(s.palette.warning.main,.12):"transparent"},children:[t.jsxs(o.TableCell,{sx:{fontWeight:500},children:[i.name,i.hasConflict&&t.jsx(o.Box,{component:"span",sx:{ml:1,color:"warning.main"},children:"⚠"})]}),t.jsx(o.TableCell,{children:t.jsx(o.Chip,{label:i.type,size:"small",sx:{bgcolor:"action.hover"}})}),t.jsx(o.TableCell,{children:t.jsx(o.Chip,{label:i.required?"Required":"Optional",size:"small",color:i.required?"success":"default"})})]},i.name))})]})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",pt:2,borderTop:1,borderColor:"divider"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(O.Lock,{sx:{fontSize:16}}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"Schema will be locked for this report"})]}),t.jsx(o.Button,{variant:"contained",onClick:r,disabled:n,sx:{fontWeight:500},children:"Generate Table"})]})]})}function cu({error:e,onRetry:r}){return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:400,border:2,borderColor:"error.light",bgcolor:n=>$(n.palette.error.main,.12),borderRadius:1,px:2,py:6},children:[t.jsx(o.Box,{sx:{width:64,height:64,borderRadius:"50%",bgcolor:n=>$(n.palette.error.main,.3),display:"flex",alignItems:"center",justifyContent:"center",mb:2},children:t.jsx(O.ErrorOutline,{color:"error",sx:{fontSize:32}})}),t.jsx(o.Typography,{variant:"h6",color:"error.main",sx:{fontWeight:n=>n.typography.h6.fontWeight||600,fontSize:n=>n.typography.h6.fontSize||"1.25rem",mb:1},children:"Upload Failed"}),t.jsx(o.Typography,{variant:"body2",color:"error.main",sx:{textAlign:"center",maxWidth:500,mb:3},children:e}),t.jsx(o.Button,{variant:"contained",color:"error",startIcon:t.jsx(O.Upload,{sx:{fontSize:16}}),onClick:r,sx:{fontWeight:500},children:"Try Again"})]})}function ra({title:e,description:r,showIcon:n=!0}){return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"60vh",px:3,py:8},children:[n&&t.jsx(o.Box,{sx:{width:80,height:80,borderRadius:"50%",bgcolor:i=>$(i.palette.primary.main,.1),display:"flex",alignItems:"center",justifyContent:"center",mb:3},children:t.jsx(O.Description,{sx:{fontSize:36,color:"primary.main"}})}),t.jsx(o.Typography,{variant:"h5",sx:{fontWeight:i=>i.typography.h5.fontWeight||500,mb:1,color:i=>i.typography.h5.color||"text.primary",fontSize:i=>i.typography.h5.fontSize||"1.125rem"},children:e}),t.jsx(o.Typography,{variant:"body1",sx:{textAlign:"center",maxWidth:520,color:"text.secondary",fontSize:i=>i.typography.body2.fontSize||"0.875rem",lineHeight:1.5},children:r})]})}function du({value:e,onChange:r,searchHistory:n,onAddToHistory:i,onToggleFavourite:s,onDeleteHistory:a,disabled:c}){const[l,u]=p.useState(!1),[y,g]=p.useState(!1),[m,S]=p.useState(-1),C=p.useRef(null),D=p.useRef(null);p.useEffect(()=>{function E(Y){C.current&&!C.current.contains(Y.target)&&(u(!1),g(!1))}return document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[]);const v=p.useCallback(()=>{g(!0),S(-1),n.length>0&&u(!0)},[n.length]),x=p.useCallback(E=>{r(E),S(-1)},[r]),B=p.useCallback(E=>{var Y;r(E),i(E),u(!1),(Y=D.current)==null||Y.blur()},[r,i]),h=p.useCallback(E=>{S(-1),B(E)},[B]),k=p.useCallback(E=>{var Y;E.key==="Enter"?m>=0&&m<n.length?(E.preventDefault(),h(n[m].query)):e.trim()&&B(e.trim()):E.key==="Escape"?(u(!1),S(-1),(Y=D.current)==null||Y.blur()):E.key==="ArrowDown"?(E.preventDefault(),n.length>0&&(l||u(!0),S(Z=>Z<n.length-1?Z+1:Z))):E.key==="ArrowUp"&&(E.preventDefault(),S(Z=>Z>0?Z-1:-1))},[m,n,e,l,h,B]),T=p.useCallback(()=>{var E;r(""),(E=D.current)==null||E.focus()},[r]),b=p.useMemo(()=>n.filter(E=>E.isFavourite),[n]),R=p.useMemo(()=>n.filter(E=>!E.isFavourite),[n]),H=l&&n.length>0;return t.jsxs(o.Box,{sx:{position:"relative",width:240},ref:C,children:[t.jsx(o.TextField,{inputRef:D,size:"small",fullWidth:!0,value:e,onChange:E=>x(E.target.value),onFocus:v,onKeyDown:k,placeholder:"Search data...",disabled:c,sx:{"& .MuiOutlinedInput-root":{borderRadius:"20px",fontSize:"0.875rem",bgcolor:"background.paper",height:"36px","& fieldset":{borderColor:E=>$(E.palette.text.primary,.3),transition:"all 0.15s ease"},"&:hover":{bgcolor:"action.hover"},"&:hover fieldset":{borderColor:E=>$(E.palette.text.primary,.5)},"&.Mui-focused":{bgcolor:"background.paper"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:2}},"& .MuiOutlinedInput-input":{py:"6px",px:"8px",color:"text.primary"}},InputProps:{startAdornment:t.jsx(o.InputAdornment,{position:"start",sx:{ml:.5},children:t.jsx(O.Search,{sx:{fontSize:18,color:"text.secondary"}})}),endAdornment:e?t.jsx(o.InputAdornment,{position:"end",children:t.jsx(o.IconButton,{size:"small",onClick:T,edge:"end",sx:{mr:-.5},children:t.jsx(O.Close,{sx:{fontSize:16}})})}):null}}),H&&t.jsxs(o.Paper,{sx:{position:"absolute",zIndex:50,mt:.5,width:"100%",maxHeight:384,overflowY:"auto"},elevation:3,children:[b.length>0&&t.jsxs(o.Box,{sx:{py:1},children:[t.jsx(o.Typography,{variant:"caption",sx:{px:1.5,py:.75,display:"block",fontWeight:E=>E.typography.caption.fontWeight||600,fontSize:E=>E.typography.caption.fontSize||"0.75rem",textTransform:"uppercase",color:"text.secondary",letterSpacing:"0.05em"},children:"Favourite Searches"}),b.map((E,Y)=>t.jsx(xs,{entry:E,isSelected:m===Y,onClick:()=>h(E.query),onToggleFavourite:()=>s(E.query),onDelete:()=>a(E.query)},`fav-${E.query}`))]}),R.length>0&&t.jsxs(o.Box,{sx:{py:1},children:[b.length>0&&t.jsx(o.Divider,{}),t.jsx(o.Typography,{variant:"caption",sx:{px:1.5,py:.75,display:"block",fontWeight:E=>E.typography.caption.fontWeight||600,fontSize:E=>E.typography.caption.fontSize||"0.75rem",textTransform:"uppercase",color:"text.secondary",letterSpacing:"0.05em"},children:"Recent Searches"}),R.map((E,Y)=>{const Z=b.length+Y;return t.jsx(xs,{entry:E,isSelected:m===Z,onClick:()=>h(E.query),onToggleFavourite:()=>s(E.query),onDelete:()=>a(E.query)},`recent-${E.query}`)})]})]})]})}const xs=p.memo(function({entry:r,isSelected:n,onClick:i,onToggleFavourite:s,onDelete:a}){const c=p.useCallback(u=>{u.stopPropagation(),s()},[s]),l=p.useCallback(u=>{u.stopPropagation(),a()},[a]);return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:1.5,py:1,cursor:"pointer",bgcolor:n?u=>$(u.palette.primary.main,.12):"transparent","&:hover":{bgcolor:n?u=>$(u.palette.primary.main,.12):"action.hover"}},children:[t.jsx(o.Box,{sx:{flex:1,minWidth:0},onClick:i,children:t.jsx(o.Typography,{variant:"body2",noWrap:!0,children:r.query})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,ml:1},children:[t.jsx(o.IconButton,{size:"small",onClick:c,title:r.isFavourite?"Remove from favourites":"Add to favourites",sx:{p:.5},children:r.isFavourite?t.jsx(O.Star,{sx:{fontSize:14,color:"warning.light"}}):t.jsx(O.StarBorder,{sx:{fontSize:14,color:"action.disabled"}})}),t.jsx(o.IconButton,{size:"small",onClick:l,title:"Delete from history",sx:{p:.5,"&:hover":{color:"error.main"}},children:t.jsx(O.Delete,{sx:{fontSize:14,opacity:.5}})})]})]})});function uu({views:e,activeViewId:r,isDirty:n,onSelectView:i,onCreateView:s,onToggleDefault:a,onToggleFavorite:c,onRestoreView:l,onPermanentDelete:u,onEditView:y,onCloneView:g,onCopyLink:m,onDeleteView:S,onPromoteToGlobal:C,onSetDefaultForAllUsers:D,isReadOnly:v,isAdmin:x=!1,hideViewMenuActions:B}){const h=ht(),[k,T]=p.useState(!1),[b,R]=p.useState(!1),[H,E]=p.useState({top:0,left:0}),[Y,Z]=p.useState(null),[I,f]=p.useState(null),w=p.useRef(null),P=p.useRef(null),te=e.find(U=>U.id===r),d=te==null?void 0:te.isDefault,J=(U,ne)=>U.name.localeCompare(ne.name),re=e.filter(U=>U.scope==="global"&&!U.isDeleted).sort(J),we=e.filter(U=>U.scope!=="global"&&!U.isDeleted).sort(J),F=e.filter(U=>U.isFavorite&&!U.isDeleted).sort(J),X=e.filter(U=>U.isDeleted);p.useEffect(()=>{if(k&&P.current){const U=P.current.getBoundingClientRect();E({top:U.bottom+window.scrollY+8,left:U.right+window.scrollX-320})}},[k]),p.useEffect(()=>{const U=ne=>{w.current&&!w.current.contains(ne.target)&&P.current&&!P.current.contains(ne.target)&&T(!1)};return k&&document.addEventListener("mousedown",U),()=>{document.removeEventListener("mousedown",U)}},[k]);const ue=U=>{if(n&&U!==r){Z(U),T(!1);return}i(U),T(!1)},pe=()=>{Y&&(i(Y),Z(null))},K=()=>{Z(null)},he=(U,ne=!1)=>{const Be=U.scope==="global",Q=!v&&(!Be||x),$e=x&&!Be;return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:2,py:1,fontSize:"body2.fontSize",backgroundColor:r===U.id?$(h.palette.primary.main,.12):"transparent",transition:"background-color 0.2s","&:hover":{backgroundColor:r===U.id?$(h.palette.primary.main,.12):h.palette.action.hover}},children:[t.jsxs(o.Button,{onClick:()=>ue(U.id),sx:{display:"flex",alignItems:"center",gap:1,flex:1,textAlign:"left",minWidth:0,justifyContent:"flex-start",color:"inherit",p:0,"&:hover":{backgroundColor:"transparent"}},children:[r===U.id&&t.jsx(O.Check,{sx:{fontSize:16,flexShrink:0}}),r!==U.id&&t.jsx(o.Box,{sx:{width:"16px",flexShrink:0}}),t.jsx(o.Typography,{sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:r===U.id?h.palette.primary.dark:h.palette.text.primary,fontWeight:r===U.id?Pe=>Pe.typography.body2.fontWeight||500:400,fontSize:Pe=>Pe.typography.body2.fontSize||"0.875rem"},children:U.name}),ne&&t.jsx(o.Typography,{component:"span",sx:{fontSize:"caption.fontSize",color:h.palette.text.secondary,backgroundColor:h.palette.action.selected,px:1,py:.25,borderRadius:1,flexShrink:0},children:"Default"})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,flexShrink:0},children:[Q&&c&&t.jsx(o.IconButton,{onClick:Pe=>{Pe.stopPropagation(),c(U.id)},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:U.isFavorite?"Remove from favorites":"Add to favorites",children:t.jsx(O.Star,{sx:{fontSize:16}})}),Q&&a&&!U.isDefault&&t.jsx(o.IconButton,{onClick:Pe=>{Pe.stopPropagation(),a(U.id)},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:"Set as default",children:t.jsx(O.RadioButtonUnchecked,{sx:{fontSize:16}})}),(Q||$e)&&(y||g||m||S||$e&&C)&&t.jsx(o.IconButton,{onClick:Pe=>{Pe.stopPropagation(),f({el:Pe.currentTarget,view:U})},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:"More actions",children:t.jsx(O.MoreVert,{sx:{fontSize:16}})})]})]},U.id)},le=U=>t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:2,py:1,fontSize:"body2.fontSize",backgroundColor:h.palette.action.hover},children:[t.jsx(o.Typography,{sx:{color:h.palette.text.secondary,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:U.name}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,flexShrink:0},children:[l&&t.jsx(o.IconButton,{onClick:ne=>{ne.stopPropagation(),l(U.id)},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:"Restore view",children:t.jsx(O.Undo,{sx:{fontSize:16,color:"success.main"}})}),u&&t.jsx(o.IconButton,{onClick:ne=>{ne.stopPropagation(),u(U.id)},size:"small",sx:{p:.5,transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},title:"Delete permanently",children:t.jsx(O.Delete,{sx:{fontSize:16,color:"error.main"}})})]})]},U.id),W=n||!d,ie=n;return t.jsxs(o.Box,{sx:{position:"relative"},children:[t.jsxs(o.Button,{ref:P,onClick:()=>T(!k),variant:"outlined",size:"small",endIcon:t.jsx(O.KeyboardArrowDown,{sx:{fontSize:18}}),sx:{position:"relative",minWidth:140,maxWidth:220,justifyContent:"space-between",fontSize:"0.8125rem",textTransform:"none",color:W?"warning.main":"text.primary",borderColor:W?"warning.main":"divider",bgcolor:W?$(h.palette.warning.main,.12):"transparent",borderRadius:1,py:.5,px:1.25,transition:"all 0.15s ease","&:hover":{borderColor:W?"warning.dark":"primary.main",bgcolor:W?$(h.palette.warning.main,.2):$(h.palette.text.primary,.06),color:W?"warning.dark":"text.primary"}},title:`View: ${(te==null?void 0:te.name)||"Default View"}`,children:[t.jsx(o.Box,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis"},children:(te==null?void 0:te.name)||"Default View"}),ie&&t.jsx(o.Box,{component:"span",sx:{position:"absolute",top:-2,right:-2,width:8,height:8,borderRadius:"50%",bgcolor:"warning.main",border:"2px solid",borderColor:"background.paper"}})]}),k&&Bs.createPortal(t.jsxs(o.Box,{ref:w,sx:{position:"fixed",width:"320px",backgroundColor:h.palette.background.paper,border:`1px solid ${h.palette.divider}`,borderRadius:1,boxShadow:h.shadows[8],zIndex:50,maxHeight:"500px",overflowY:"auto",top:H.top,left:H.left},children:[re.length>0&&t.jsxs(o.Box,{sx:{py:.5},children:[t.jsx(o.Typography,{sx:{px:2,py:1,fontSize:U=>U.typography.caption.fontSize||"caption.fontSize",fontWeight:U=>U.typography.caption.fontWeight||600,color:h.palette.text.secondary,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Global Views"}),re.map(U=>he(U,U.isDefault))]}),F.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{sx:{borderTop:`1px solid ${h.palette.divider}`}}),t.jsxs(o.Box,{sx:{py:.5},children:[t.jsxs(o.Box,{sx:{px:2,py:1,fontSize:"caption.fontSize",fontWeight:600,color:h.palette.text.secondary,textTransform:"uppercase",letterSpacing:"0.05em",display:"flex",alignItems:"center",gap:.5},children:[t.jsx(O.Star,{sx:{fontSize:12,color:"warning.light"}}),t.jsx(o.Typography,{component:"span",sx:{fontSize:"inherit",fontWeight:"inherit"},children:"Favorite Views"})]}),F.map(U=>he(U))]})]}),we.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{sx:{borderTop:`1px solid ${h.palette.divider}`}}),t.jsxs(o.Box,{sx:{py:.5},children:[t.jsx(o.Typography,{sx:{px:2,py:1,fontSize:U=>U.typography.caption.fontSize||"caption.fontSize",fontWeight:U=>U.typography.caption.fontWeight||600,color:h.palette.text.secondary,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Personal Views"}),we.map(U=>he(U))]})]}),X.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{sx:{borderTop:`1px solid ${h.palette.divider}`}}),t.jsxs(o.Box,{sx:{py:.5},children:[t.jsxs(o.Button,{onClick:()=>R(!b),sx:{width:"100%",px:2,py:1,fontSize:"caption.fontSize",fontWeight:600,color:h.palette.text.secondary,textTransform:"uppercase",letterSpacing:"0.05em",display:"flex",alignItems:"center",justifyContent:"space-between",transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},children:[t.jsxs(o.Typography,{component:"span",sx:{fontSize:"inherit",fontWeight:"inherit"},children:["Recently Deleted (",X.length,")"]}),t.jsx(O.ChevronRight,{sx:{fontSize:16}})]}),b&&t.jsx(o.Box,{sx:{backgroundColor:h.palette.action.hover},children:X.map(U=>le(U))})]})]}),t.jsx(o.Box,{sx:{borderTop:`1px solid ${h.palette.divider}`}}),t.jsxs(o.Button,{onClick:()=>{s(),T(!1)},sx:{width:"100%",display:"flex",alignItems:"center",gap:1,px:2,py:1,fontSize:"body2.fontSize",color:h.palette.text.primary,justifyContent:"flex-start",transition:"background-color 0.2s","&:hover":{backgroundColor:h.palette.action.hover}},children:[t.jsx(O.Add,{sx:{fontSize:16}}),t.jsx(o.Typography,{component:"span",sx:{fontSize:"inherit"},children:"Create New Report View"})]}),t.jsxs(o.Popover,{open:!!I,anchorEl:(I==null?void 0:I.el)||null,onClose:()=>f(null),disablePortal:!0,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[y&&t.jsxs(o.MenuItem,{onClick:()=>{I&&y(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.Edit,{sx:{fontSize:18}}),"Edit"]}),m&&t.jsxs(o.MenuItem,{onClick:()=>{I&&m(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.Link,{sx:{fontSize:18}}),"Copy Link"]}),g&&t.jsxs(o.MenuItem,{onClick:()=>{I&&g(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.ContentCopy,{sx:{fontSize:18}}),"Clone"]}),C&&x&&(I==null?void 0:I.view.scope)!=="global"&&t.jsxs(o.MenuItem,{onClick:()=>{I&&C(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.Language,{sx:{fontSize:18}}),"Promote to Global"]}),D&&I&&!(B!=null&&B.includes("setDefaultForAllUsers"))?t.jsxs(o.MenuItem,{onClick:()=>{I&&D(I.view.id,!I.view.isDefaultForAllUsers),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize"},children:[t.jsx(O.Star,{sx:{fontSize:18,color:I.view.isDefaultForAllUsers?"warning.main":"inherit"}}),I.view.isDefaultForAllUsers?"Remove from":"Set as"," Default for All Users"]}):null,S&&[t.jsx(o.Divider,{},"delete-divider"),t.jsxs(o.MenuItem,{onClick:()=>{I&&S(I.view.id),f(null)},sx:{gap:1.5,fontSize:"body2.fontSize",color:"error.main"},children:[t.jsx(O.Delete,{sx:{fontSize:18}}),"Delete"]},"delete-item")]]})]}),document.body),t.jsxs(o.Dialog,{open:Y!==null,onClose:K,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{borderRadius:Mo(h)}},children:[t.jsxs(o.DialogTitle,{sx:{display:"flex",alignItems:"center",gap:1,pb:1},children:[t.jsx(O.Warning,{sx:{fontSize:20,color:"warning.main"}}),"Unsaved changes"]}),t.jsx(o.DialogContent,{children:t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"You have unsaved changes to the current view. Switching views will discard them."})}),t.jsxs(o.DialogActions,{sx:{px:3,pb:2,gap:1},children:[t.jsx(o.Button,{onClick:K,variant:"text",children:"Stay here"}),t.jsx(o.Button,{onClick:pe,variant:"contained",color:"warning",children:"Discard & switch"})]})]})]})}function pu({columnName:e,columnType:r="string",currentSort:n,hasFilters:i,isInSortStack:s,isReadOnly:a=!1,hasModifications:c=!1,position:l,onSortAscending:u,onSortDescending:y,onRemoveSort:g,onFilter:m,onClearFilter:S,onGroupByColumn:C,onHideColumn:D,onManageColumns:v,onResetLayout:x,onClose:B}){const h=ht(),k=h.palette,T=p.useRef(null);p.useEffect(()=>{if(!T.current)return;const Z=T.current,I=Z.getBoundingClientRect(),f=window.innerWidth,w=window.innerHeight;I.right>f-8&&(Z.style.left=`${f-I.width-8}px`),I.bottom>w-8&&(Z.style.top=`${w-I.height-8}px`)},[l]),p.useEffect(()=>{const Z=f=>{T.current&&!T.current.contains(f.target)&&B()},I=f=>{f.key==="Escape"&&B()};return document.addEventListener("mousedown",Z),document.addEventListener("keydown",I),()=>{document.removeEventListener("mousedown",Z),document.removeEventListener("keydown",I)}},[B]);const b=p.useCallback(Z=>()=>{Z(),B()},[B]),R=(n==null?void 0:n.direction)==="asc",H=(n==null?void 0:n.direction)==="desc",E=r==="number"?"0→9":r==="boolean"?"F→T":"A→Z",Y=r==="number"?"9→0":r==="boolean"?"T→F":"Z→A";return Bs.createPortal(t.jsxs(o.Paper,{ref:T,elevation:0,sx:{position:"fixed",left:`${l.x}px`,top:`${l.y}px`,zIndex:h.zIndex.tooltip,minWidth:210,maxWidth:264,border:"1px solid",borderColor:"divider",borderRadius:Mo(h),overflow:"hidden",boxShadow:`0 4px 20px ${$(k.common.black,.12)}, 0 1px 4px ${$(k.common.black,.06)}`},children:[!a&&t.jsxs(o.Box,{sx:{px:2,py:.75,display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid",borderColor:"divider"},children:[t.jsx(o.Typography,{sx:{fontSize:Z=>Z.typography.body2.fontSize||"0.8125rem",fontWeight:Z=>Z.typography.body2.fontWeight||500,color:"text.primary"},children:"Sorting"}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.25},children:[t.jsx(o.Tooltip,{title:`Sort Ascending (${E})`,placement:"top",arrow:!0,children:t.jsx(o.IconButton,{size:"small",onClick:b(()=>u(e)),sx:{p:.625,borderRadius:"6px",color:R?"primary.main":"text.secondary",bgcolor:R?$(k.primary.main,.1):"transparent","&:hover":{bgcolor:$(k.primary.main,.08),color:"primary.main"}},children:t.jsx(O.ArrowUpward,{sx:{fontSize:16}})})}),t.jsx(o.Tooltip,{title:`Sort Descending (${Y})`,placement:"top",arrow:!0,children:t.jsx(o.IconButton,{size:"small",onClick:b(()=>y(e)),sx:{p:.625,borderRadius:"6px",color:H?"primary.main":"text.secondary",bgcolor:H?$(k.primary.main,.1):"transparent","&:hover":{bgcolor:$(k.primary.main,.08),color:"primary.main"}},children:t.jsx(O.ArrowDownward,{sx:{fontSize:16}})})}),t.jsx(o.Tooltip,{title:"Clear Sort",placement:"top",arrow:!0,children:t.jsx("span",{children:t.jsx(o.IconButton,{size:"small",disabled:!s,onClick:b(()=>g(e)),sx:{p:.625,borderRadius:"6px",color:"text.secondary","&:hover":{bgcolor:$(k.error.main,.08),color:"error.main"},"&.Mui-disabled":{opacity:.3}},children:t.jsx(O.Close,{sx:{fontSize:16}})})})})]})]}),t.jsxs(o.MenuList,{dense:!0,sx:{py:.5},children:[t.jsxs(o.MenuItem,{onClick:b(()=>m(e)),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.FilterList,{sx:{fontSize:16,color:i?"primary.main":"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Filter by Column",primaryTypographyProps:{fontSize:"0.8125rem",fontWeight:i?600:400,color:i?"primary.main":"text.primary"}})]}),i&&!a&&t.jsxs(o.MenuItem,{onClick:b(()=>S(e)),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34,"&:hover":{bgcolor:$(k.warning.main,.06),"& .MuiListItemText-primary":{color:"warning.main"},"& .MuiListItemIcon-root svg":{color:"warning.main"}}},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.FilterListOff,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Clear Filter",primaryTypographyProps:{fontSize:"0.8125rem"}})]})]}),!a&&C&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{sx:{my:.25}}),t.jsx(o.MenuList,{dense:!0,sx:{py:.5},children:t.jsxs(o.MenuItem,{onClick:b(()=>C(e)),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.GroupWorkOutlined,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Group By Column",primaryTypographyProps:{fontSize:"0.8125rem"}})]})})]}),t.jsx(o.Divider,{sx:{my:.25}}),t.jsxs(o.MenuList,{dense:!0,sx:{py:.5},children:[!a&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",mx:.5,borderRadius:"6px",overflow:"hidden","&:hover":{bgcolor:"action.hover"}},children:[t.jsxs(o.MenuItem,{onClick:b(()=>D(e)),sx:{flex:1,py:.75,px:1.5,minHeight:34,borderRadius:"6px 0 0 6px","&:hover":{bgcolor:"transparent"}},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.VisibilityOff,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Hide Column",primaryTypographyProps:{fontSize:"0.8125rem"}})]}),t.jsx(o.Tooltip,{title:"Manage Columns",placement:"top",arrow:!0,children:t.jsx(o.IconButton,{size:"small",onClick:b(v),sx:{mr:.75,p:.625,borderRadius:"6px",color:"text.secondary","&:hover":{bgcolor:$(k.primary.main,.08),color:"primary.main"}},children:t.jsx(O.Settings,{sx:{fontSize:16}})})})]}),a&&t.jsxs(o.MenuItem,{onClick:b(v),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.Settings,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Manage Columns",primaryTypographyProps:{fontSize:"0.8125rem"}})]}),!a&&c&&x&&t.jsxs(o.MenuItem,{onClick:b(x),sx:{py:.75,px:1.5,borderRadius:"6px",mx:.5,minHeight:34,"&:hover":{bgcolor:$(k.error.main,.05),"& .MuiListItemText-primary":{color:"error.main"},"& .MuiListItemIcon-root svg":{color:"error.main"}}},children:[t.jsx(o.ListItemIcon,{sx:{minWidth:28},children:t.jsx(O.RestartAlt,{sx:{fontSize:16,color:"text.secondary"}})}),t.jsx(o.ListItemText,{primary:"Reset to Default Layout",primaryTypographyProps:{fontSize:"0.8125rem"}})]})]})]}),document.body)}const hu=176,gs="COLUMN_HEADER",mu=p.memo(function({column:r,index:n,sortRule:i,hasFilters:s,isInSortStack:a,isReadOnly:c=!1,hasModifications:l=!1,width:u,onColumnClick:y,onMoveColumn:g,onColumnDragEnd:m,onResizeStart:S,onSortAscending:C,onSortDescending:D,onRemoveSort:v,onOpenFilterForColumn:x,onClearFiltersForColumn:B,onGroupByColumn:h,onHideColumn:k,onManageColumns:T,onResetLayout:b}){const H=ht().urmTable,E=p.useRef(null),[Y,Z]=p.useState(!1),[I,f]=p.useState({x:0,y:0}),[{handlerId:w,isOver:P},te]=ir.useDrop({accept:gs,collect(K){return{handlerId:K.getHandlerId(),isOver:K.isOver()}},hover(K,he){var Q;if(!E.current)return;const le=K.index,W=n;if(le===W)return;const ie=(Q=E.current)==null?void 0:Q.getBoundingClientRect(),U=(ie.right-ie.left)/2,ne=he.getClientOffset(),Be=((ne==null?void 0:ne.x)??0)-ie.left;le<W&&Be<U||le>W&&Be>U||(g(le,W),K.index=W)}}),[{isDragging:d},J]=ir.useDrag({type:gs,item:()=>({index:n,columnName:r.name}),collect:K=>({isDragging:K.isDragging()}),end:()=>{m==null||m()}});J(te(E));const re=p.useCallback(K=>{K.preventDefault(),K.stopPropagation(),f({x:K.clientX,y:K.clientY}),Z(!0)},[]),we=p.useCallback(()=>Z(!1),[]),F=p.useCallback(()=>{y(r.name)},[y,r.name]),X=p.useCallback(K=>{K.stopPropagation(),x(r.name)},[x,r.name]),ue=p.useCallback(()=>i?t.jsxs(o.Box,{sx:{display:"inline-flex",alignItems:"center",ml:.5,gap:.25},children:[i.direction==="asc"?t.jsx(O.ArrowUpward,{sx:{fontSize:13,color:"primary.main"}}):t.jsx(O.ArrowDownward,{sx:{fontSize:13,color:"primary.main"}}),t.jsx(o.Box,{sx:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,bgcolor:"primary.main",color:"primary.contrastText",fontSize:"0.6rem",fontWeight:700,borderRadius:"50%",lineHeight:1},children:i.priority})]}):null,[i]),pe=p.useCallback(()=>s?t.jsx(O.FilterList,{onClick:X,titleAccess:"Active filter on this column — click to edit",sx:{ml:.5,fontSize:13,color:"primary.main",cursor:"pointer",flexShrink:0,"&:hover":{transform:"scale(1.15)"},transition:"transform 0.12s ease"}}):null,[s,X]);return t.jsxs(t.Fragment,{children:[t.jsxs(o.TableCell,{ref:E,"data-handler-id":w,"data-column-index":n,onClick:F,onContextMenu:re,sx:{position:"sticky",top:0,zIndex:5,textAlign:(H==null?void 0:H.cellAlignH)??"left",verticalAlign:(H==null?void 0:H.cellAlignV)??"middle",fontSize:"0.8125rem",fontWeight:700,textTransform:"none",letterSpacing:0,whiteSpace:"nowrap",overflow:"visible",cursor:"pointer",userSelect:"none",color:(H==null?void 0:H.headerColor)??"text.secondary",opacity:d?.25:1,transition:"background-color 0.12s ease, opacity 0.15s ease",bgcolor:P?K=>$(K.palette.primary.main,.08):(H==null?void 0:H.headerBg)??"action.hover",boxShadow:K=>`0 1px 0 ${$(K.palette.common.black,.08)}`,backgroundImage:"none",borderBottom:(H==null?void 0:H.rowDivider)??"1px solid",borderRight:H==null?void 0:H.colDivider,borderColor:"divider",py:0,px:(H==null?void 0:H.cellPaddingX)??2,"&:hover":{bgcolor:K=>$(K.palette.primary.main,.1),color:"text.primary"},width:u?`${u}px`:`${hu}px`},children:[t.jsxs(o.Box,{sx:{display:"inline-flex",alignItems:"center",overflow:"hidden",maxWidth:"100%",pr:"12px"},children:[dt(r.name),ue(),pe()]}),t.jsx(o.Box,{draggable:!1,onDragStart:K=>K.preventDefault(),sx:{position:"absolute",right:0,top:0,height:"100%",width:8,cursor:"col-resize",zIndex:20,display:"flex",alignItems:"center",justifyContent:"center","&:hover > div":{opacity:1}},onMouseDown:K=>{K.preventDefault(),K.stopPropagation(),S(K,r.name)},onClick:K=>K.stopPropagation(),children:t.jsx(o.Box,{draggable:!1,sx:{width:2,height:"50%",borderRadius:1,opacity:0,bgcolor:"primary.main",transition:"opacity 0.15s ease",pointerEvents:"none"}})}),P&&t.jsx(o.Box,{sx:{position:"absolute",left:0,top:0,bottom:0,width:4,bgcolor:"primary.main"}})]}),Y&&t.jsx(pu,{columnName:r.name,columnType:r.type,currentSort:i,hasFilters:s,isInSortStack:a,isReadOnly:c,hasModifications:l,position:I,onSortAscending:C,onSortDescending:D,onRemoveSort:v,onFilter:x,onClearFilter:B,onGroupByColumn:h,onHideColumn:k,onManageColumns:T,onResetLayout:b,onClose:we})]})}),fu={active:"success",completed:"success",approved:"success",success:"success",done:"success",contract:"info","in progress":"info","in review":"info",review:"info",pending:"info","on leave":"error","on hold":"warning",probation:"warning",cancelled:"error",rejected:"error",blocked:"error",inactive:"neutral","not started":"neutral",paused:"neutral"};function cn(e,r){const n=fu[r.toLowerCase().trim()];if(!n||n==="neutral")return{bg:e.palette.action.selected,color:e.palette.text.secondary};const i=e.palette[n];return{bg:$(i.main,e.palette.mode==="dark"?.24:.12),color:e.palette.mode==="dark"?i.light:i.dark}}function xu(e,r){switch(r.toLowerCase().trim()){case"low":return e.palette.text.secondary;case"medium":return e.palette.warning.main;case"high":return e.palette.mode==="dark"?e.palette.warning.light:e.palette.warning.dark;case"critical":case"urgent":return e.palette.error.main;default:return}}const gu={filters:{hue:"primary",shade:"main"},sorting:{hue:"secondary",shade:"main"},grouping:{hue:"success",shade:"main"},columns:{hue:"warning",shade:"main"},views:{hue:"error",shade:"main"},theme:{hue:"info",shade:"main"},export:{hue:"primary",shade:"dark"},presets:{hue:"secondary",shade:"dark"},system:{hue:"error",shade:"dark"},rows:{hue:"primary",shade:"main"}};function ys(e,r){const n=gu[r];return n?e.palette[n.hue][n.shade]:e.palette.text.secondary}function It(e){return $(e.palette.primary.main,e.palette.mode==="dark"?.24:.12)}function yu(e){const r=e.toLowerCase().trim();return t.jsx(o.Box,{component:"span",sx:{display:"inline-flex",alignItems:"center",px:1,py:.25,borderRadius:"10px",fontSize:"0.75rem",fontWeight:n=>{var i;return(i=n.tokens)!=null&&i.statusBold?700:500},bgcolor:n=>cn(n,r).bg,color:n=>cn(n,r).color,whiteSpace:"nowrap",lineHeight:1.5},children:e})}function bu(e,r){if(r==null||r==="")return t.jsx(o.Box,{component:"span",sx:{color:"text.disabled",fontSize:"0.875rem"},children:"—"});const n=String(r),i=e.name.toLowerCase();if(/\b(status|state|stage)\b/.test(i))return yu(n);if(/\b(priority|severity|urgency)\b/.test(i)){const s=n.toLowerCase().trim();return t.jsx(o.Box,{component:"span",sx:a=>{const c=xu(a,s);return c?{color:c,fontWeight:600,fontSize:"0.875rem"}:{fontSize:"0.875rem"}},children:n})}return typeof r=="boolean"?t.jsx(o.Box,{component:"span",sx:{fontSize:"0.875rem"},children:r?"Yes":"No"}):typeof r=="object"?t.jsx(o.Box,{component:"span",sx:{fontSize:"0.875rem"},children:JSON.stringify(r)}):t.jsx(o.Box,{component:"span",sx:{fontSize:"0.875rem"},children:n})}function vu(e){const r=e.find(s=>{const a=s.name.toLowerCase();return/\b(name|title|label|subject|task_?name|taskname)\b/.test(a)})||e[0]||null,n=e.find(s=>{const a=s.name.toLowerCase().replace(/[\s_-]/g,"");return/(^id$|id$|_id$|taskid|code$|ref$)/.test(a)&&s!==r})||null,i=e.filter(s=>s!==r&&s!==n).slice(0,4);return{primaryCol:r,idCol:n,bodyColumns:i}}function Su({row:e,rowIndex:r,visibleColumns:n,isSelected:i,onCardClick:s,onCardDoubleClick:a,onCardContextMenu:c,onOpenRowMenu:l,onToggleSelection:u,hideCheckbox:y}){const[g,m]=p.useState(!1),{primaryCol:S,idCol:C,bodyColumns:D}=p.useMemo(()=>vu(n),[n]),v=S?e[S.name]:null,x=C?e[C.name]:null,B=g||i;return t.jsxs(o.Box,{onMouseEnter:()=>m(!0),onMouseLeave:()=>m(!1),onClick:h=>s(r,h),onDoubleClick:h=>a(e,r,h),onContextMenu:h=>{h.preventDefault(),h.stopPropagation(),c(e,r,h)},sx:{position:"relative",display:"flex",flexDirection:"column",bgcolor:"background.paper",border:h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.border;return i?"2px solid":k&&k!=="none"?k:"1px solid"},borderColor:i?h=>ct(h).main:h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.border;return k&&k!=="none"?"inherit":$(h.palette.divider,.8)},borderWidth:i?2:void 0,borderRadius:h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.borderRadius;return k!==void 0?typeof k=="number"?`${k}px`:k:`${h.shape.borderRadius}px`},cursor:"pointer",transition:"box-shadow 0.2s ease, border-color 0.2s ease, transform 0.15s ease",overflow:"hidden",minHeight:180,boxShadow:i?h=>`0 0 0 3px ${$(ct(h).main,.15)}, 0 2px 8px ${$(h.palette.common.black,.08)}`:g?h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.boxShadow;return k&&k!=="none"?k:ve(h,"cardHover")}:h=>{var T,b,R,H;const k=(H=(R=(b=(T=h.components)==null?void 0:T.MuiCard)==null?void 0:b.styleOverrides)==null?void 0:R.root)==null?void 0:H.boxShadow;return k&&k!=="none"?k:ve(h,"cardRest")},transform:g&&!i?"translateY(-2px)":"none","&:active":{transform:"translateY(0)"},...i&&{bgcolor:h=>$(ct(h).main,.03)}},children:[t.jsxs(o.Box,{sx:h=>{var H,E,Y,Z;const k=((Y=(E=(H=h.components)==null?void 0:H.MuiCardHeader)==null?void 0:E.styleOverrides)==null?void 0:Y.root)||{},T=(k.backgroundColor&&k.backgroundColor!=="transparent"?k.backgroundColor:void 0)??((Z=h.tokens)==null?void 0:Z.cardHdrHex)??"transparent",b=k.borderBottom&&k.borderBottom!=="none"?k.borderBottom:void 0,R=k.boxShadow&&k.boxShadow!=="none"?k.boxShadow:void 0;return{px:2,pt:1.75,pb:1.5,bgcolor:T,borderBottom:b,boxShadow:R,display:"flex",alignItems:"center",gap:.5}},children:[!y&&B&&t.jsx(o.Checkbox,{size:"small",checked:i,onClick:h=>h.stopPropagation(),onChange:()=>u(e),sx:{p:.25}}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:h=>h.typography.body2.fontWeight||600,fontSize:h=>h.typography.body1.fontSize||"0.9375rem",color:"text.primary",lineHeight:1.35,wordBreak:"break-word",letterSpacing:"-0.01em"},children:v!=null&&v!==""?String(v):t.jsx(o.Box,{component:"span",sx:{color:"text.disabled",fontStyle:"italic",fontWeight:400},children:"Untitled"})})]}),t.jsx(o.Box,{sx:h=>{var b,R,H;const k=((H=(R=(b=h.components)==null?void 0:b.MuiCardHeader)==null?void 0:R.styleOverrides)==null?void 0:H.root)||{};return k.borderBottom&&k.borderBottom!=="none"?{display:"none"}:{mx:2,height:"1px",bgcolor:"divider",flexShrink:0}}}),t.jsxs(o.Box,{sx:{px:2,py:1.5,flex:1,display:"grid",gridTemplateColumns:"repeat(2, 1fr)",columnGap:1.5,rowGap:1,alignContent:"start"},children:[D.map(h=>t.jsxs(o.Box,{sx:{minWidth:0},children:[t.jsx(o.Typography,{sx:{color:"text.secondary",fontWeight:k=>k.typography.body2.fontWeight||500,fontSize:k=>k.typography.caption.fontSize||"0.6875rem",textTransform:"uppercase",letterSpacing:"0.06em",lineHeight:1.2,mb:.25},children:dt(h.name)}),t.jsx(o.Box,{sx:{lineHeight:1.3,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},title:String(e[h.name]??""),children:bu(h,e[h.name])})]},h.name)),D.length===0&&t.jsx(o.Typography,{variant:"caption",color:"text.disabled",sx:{fontStyle:"italic",gridColumn:"1 / -1"},children:"No additional fields visible"})]}),t.jsxs(o.Box,{sx:{px:2,py:1,display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid",borderColor:"divider",bgcolor:h=>$(h.palette.action.hover,.1),minHeight:40},children:[t.jsx(o.Typography,{sx:{color:"primary.main",fontFamily:'"Roboto Mono", "Courier New", monospace',fontSize:"0.75rem",fontWeight:400,letterSpacing:"0.04em",opacity:x?.85:0,userSelect:"none"},children:x?String(x):" "}),t.jsx(o.Box,{sx:{display:"flex",alignItems:"center",gap:.25,opacity:B?1:0,transition:"opacity 0.15s ease"},onClick:h=>h.stopPropagation(),children:t.jsx(o.Tooltip,{title:"More actions",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:h=>{h.stopPropagation(),l(e,r,h.currentTarget)},sx:{width:28,height:28,color:"action.active","&:hover":{bgcolor:h=>$(h.palette.text.primary,.08)}},children:t.jsx(O.MoreVert,{sx:{fontSize:17}})})})})]})]})}function Cu({row:e,grouping:r,onToggleCollapse:n}){var i;return t.jsxs(o.Box,{onClick:()=>n(e.groupKey),sx:{gridColumn:"1 / -1",display:"flex",alignItems:"center",gap:1,px:2,py:1,mt:1,mb:.5,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",borderRadius:"8px",cursor:"pointer",boxShadow:s=>ve(s,"flatHover"),"&:hover":{bgcolor:s=>$(s.palette.primary.main,.04),borderColor:"primary.light"},transition:"all 0.15s ease"},children:[e.isCollapsed?t.jsx(O.ChevronRight,{sx:{fontSize:16,color:"text.secondary"}}):t.jsx(O.KeyboardArrowDown,{sx:{fontSize:16,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"h5",sx:{fontWeight:s=>s.typography.h5.fontWeight||600,color:s=>s.typography.h5.color||"text.primary"},children:Ja(e.groupLevel,((i=r==null?void 0:r.levels[e.groupLevel])==null?void 0:i.column)||"",e.groupValue)}),t.jsxs(o.Box,{sx:{px:1,py:.125,fontSize:"0.6875rem",fontWeight:600,bgcolor:s=>$(s.palette.primary.main,.1),color:"primary.main",borderRadius:"10px"},children:[e.rowCount," ",e.rowCount===1?"row":"rows"]}),Object.keys(e.aggregates).length>0&&t.jsx(o.Typography,{variant:"caption",sx:{ml:.5,color:"text.secondary"},children:Object.entries(e.aggregates).map(([s,a])=>$s(a)).filter(Boolean).join(" • ")})]})}function wu({data:e,visibleColumns:r,grouping:n,selectedRowIds:i,isGrouped:s,onToggleGroupCollapse:a,onCardClick:c,onCardDoubleClick:l,onCardContextMenu:u,onOpenRowMenu:y,onToggleSelection:g,hideSelectionCheckboxes:m}){const S=p.useMemo(()=>{const C=new Set;return i.forEach(D=>{const v=D==null?void 0:D.__urm_row_id__;v!==void 0&&C.add(v)}),C},[i]);return e.length===0?t.jsx(o.Box,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",py:10},children:t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"No data matches the current filters"})}):t.jsx(o.Box,{sx:{fontFamily:C=>C.typography.fontFamily},children:t.jsx(o.Box,{sx:{p:C=>fs(C).containerPad,display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))",gap:C=>fs(C).cardGap,alignContent:"start"},children:e.map((C,D)=>s&&C.isGroupHeader?t.jsx(Cu,{row:C,grouping:n,onToggleCollapse:a||(()=>{})},`group-${C.groupKey}`):t.jsx(Su,{row:C,rowIndex:D,visibleColumns:r,isSelected:S.has(C==null?void 0:C.__urm_row_id__),onCardClick:c,onCardDoubleClick:l,onCardContextMenu:u,onOpenRowMenu:y,onToggleSelection:g,hideCheckbox:m},`card-${D}`))})})}const bs=[10,15,25,50,100];function ju(e,r){const n=e.trim();if(n==="")return"Page number is required";if(!/^-?\d+$/.test(n))return"Must be a number";const i=parseInt(n,10);return i<1?"Page number must be at least 1":i>r?"Entered page number is out of range":null}function ku({currentPage:e,pageSize:r,totalRows:n,totalFields:i,onPageChange:s,onPageSizeChange:a}){const l=ht().palette,u=Math.ceil(n/r),[y,g]=p.useState(String(e)),[m,S]=p.useState(null),[C,D]=p.useState(!1),v=p.useRef(null);p.useEffect(()=>{C||(g(String(e)),S(null))},[e,C]);const x=p.useCallback(()=>{const w=ju(y,u);if(w){S(w);return}const P=parseInt(y.trim(),10);S(null),D(!1),P!==e&&s(P)},[y,u,e,s]),B=p.useCallback(w=>{var P;w.key==="Enter"?(w.preventDefault(),x()):w.key==="Escape"&&(g(String(e)),S(null),D(!1),(P=v.current)==null||P.blur())},[x,e]),h=p.useCallback(()=>{g(String(e)),S(null),D(!1)},[e]),k=p.useCallback(()=>{D(!0),S(null),setTimeout(()=>{var w;return(w=v.current)==null?void 0:w.select()},0)},[]);if(n<=Math.min(...bs))return null;const T=()=>{g(String(e)),S(null),D(!1)},b=()=>{T(),s(1)},R=()=>{T(),e>1&&s(e-1)},H=()=>{T(),e<u&&s(e+1)},E=()=>{T(),s(u)},Y=(e-1)*r+1,Z=Math.min(e*r,n),I=`${Math.max(2,String(u).length+.5)}ch`,f={p:.75,color:"text.secondary","&:hover":{bgcolor:"action.hover"},"&.Mui-disabled":{color:"action.disabled"}};return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:3,px:2,py:1,borderTop:"1px solid",borderColor:"divider",bgcolor:"background.paper",minHeight:48},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:2},children:[t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",fontWeight:400},children:["Total data:"," ",t.jsx(o.Box,{component:"span",sx:{fontWeight:600,color:"text.primary"},children:n})]}),i!==void 0&&t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",fontWeight:400},children:["Total fields:"," ",t.jsx(o.Box,{component:"span",sx:{fontWeight:600,color:"text.primary"},children:i})]})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:3},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",fontWeight:400},children:"Rows per page:"}),t.jsx(o.Select,{value:r,onChange:w=>a(Number(w.target.value)),size:"small",MenuProps:{PaperProps:{sx:{maxHeight:300}},anchorOrigin:{vertical:"top",horizontal:"left"},transformOrigin:{vertical:"bottom",horizontal:"left"}},sx:{minWidth:70,fontSize:"0.8125rem",color:"text.primary","& .MuiSelect-select":{py:.5,px:1.5},"& .MuiOutlinedInput-notchedOutline":{borderColor:"divider"}},children:bs.map(w=>t.jsx(o.MenuItem,{value:w,sx:{fontSize:"0.8125rem"},children:w},w))})]}),t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",fontWeight:400,userSelect:"none"},children:[Y,"–",Z," of ",n]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,position:"relative"},children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",userSelect:"none"},children:"Page"}),t.jsxs(o.Box,{sx:{position:"relative"},children:[m&&t.jsx(o.Box,{sx:{position:"absolute",bottom:"calc(100% + 6px)",left:"50%",transform:"translateX(-50%)",bgcolor:"background.paper",border:"1px solid",borderColor:$(l.error.main,.4),borderRadius:"6px",px:1,py:.5,boxShadow:`0 2px 8px ${$(l.common.black,.12)}`,zIndex:20,whiteSpace:"nowrap","&::after":{content:'""',position:"absolute",top:"100%",left:"50%",transform:"translateX(-50%)",border:"5px solid transparent",borderTopColor:$(l.error.main,.4)}},children:t.jsx(o.Typography,{sx:{fontSize:w=>w.typography.caption.fontSize||"0.6875rem",fontWeight:w=>w.typography.caption.fontWeight||500,color:"error.main",lineHeight:1.3},children:m})}),t.jsx(o.InputBase,{inputRef:v,value:y,onChange:w=>{g(w.target.value),m&&S(null)},onKeyDown:B,onFocus:k,onBlur:h,inputProps:{"aria-label":`Page number, 1 to ${u}`,style:{textAlign:"center",padding:"2px 0",width:I,fontSize:"0.8125rem",fontWeight:600}},sx:{fontSize:"0.8125rem",fontWeight:600,color:m?"error.main":"text.primary",border:"1px solid",borderColor:m?"error.main":C?"primary.main":"divider",borderRadius:"4px",bgcolor:m?$(l.error.main,.04):C?$(l.primary.main,.04):"background.paper",px:.75,transition:"border-color 0.15s ease, background-color 0.15s ease","&:hover":{borderColor:m?"error.main":"text.secondary"},"&:focus-within":{boxShadow:m?`0 0 0 2px ${$(l.error.main,.2)}`:`0 0 0 2px ${$(l.primary.main,.2)}`}}})]}),t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary",userSelect:"none"},children:["of ",u]})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:[t.jsx(o.IconButton,{onClick:b,disabled:e===1,size:"small",title:"First page",sx:f,children:t.jsx(O.FirstPage,{sx:{fontSize:20}})}),t.jsx(o.IconButton,{onClick:R,disabled:e===1,size:"small",title:"Previous page",sx:f,children:t.jsx(O.ChevronLeft,{sx:{fontSize:20}})}),t.jsx(o.IconButton,{onClick:H,disabled:e===u,size:"small",title:"Next page",sx:f,children:t.jsx(O.ChevronRight,{sx:{fontSize:20}})}),t.jsx(o.IconButton,{onClick:E,disabled:e===u,size:"small",title:"Last page",sx:f,children:t.jsx(O.LastPage,{sx:{fontSize:20}})})]})]})]})}function zu(){return t.jsx(o.Chip,{icon:t.jsx(O.Visibility,{sx:{fontSize:14}}),label:"View Only",size:"small",variant:"outlined",sx:{bgcolor:"action.hover",borderColor:"divider",fontSize:e=>e.typography.caption.fontSize||"caption.fontSize",fontWeight:e=>e.typography.caption.fontWeight||500}})}const oa="urm_hint_seen_";function Bu(e){try{return localStorage.getItem(oa+e)==="true"}catch{return!1}}function Tu(e){try{localStorage.setItem(oa+e,"true")}catch{}}const na={"& .MuiInputBase-root":{fontSize:"0.875rem",borderRadius:"8px"},"& .MuiInputLabel-root":{fontSize:"0.875rem"},"& .MuiFormHelperText-root":{fontSize:"0.75rem",mx:.5},"& .MuiOutlinedInput-root":{"& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"text.secondary"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:2}}};function di(e,r){if(e==null||e==="")return"";if(r==="boolean")return e?"True":"False";if(r==="object"||r==="array")try{return JSON.stringify(e,null,2)}catch{return String(e)}return String(e)}function ia({row:e,schema:r}){const i=ht().palette,s=r.filter(l=>l.name in e),a=s.filter(l=>l.type!=="object"&&l.type!=="array"),c=s.filter(l=>l.type==="object"||l.type==="array");return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2},children:[a.map(l=>t.jsx(o.TextField,{label:dt(l.name),value:di(e[l.name],l.type)||"No value",size:"small",fullWidth:!0,InputProps:{readOnly:!0},sx:na},l.name)),c.map(l=>{const u=di(e[l.name],l.type);return t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontWeight:y=>y.typography.caption.fontWeight||500,fontSize:y=>y.typography.caption.fontSize||"0.75rem",color:"text.secondary",display:"block",mb:.75},children:dt(l.name)}),t.jsx(o.Box,{component:"pre",sx:{m:0,px:1.5,py:1.25,borderRadius:"8px",border:"1px solid",borderColor:"divider",bgcolor:$(i.text.primary,.02),fontSize:"0.75rem",fontFamily:'"Roboto Mono", "Fira Code", monospace',color:u?"text.primary":"text.disabled",fontStyle:u?"normal":"italic",overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",lineHeight:1.6,maxHeight:160,overflowY:"auto"},children:u||"No value"})]},l.name)}),s.length===0&&t.jsx(o.Typography,{variant:"body2",sx:{color:"text.disabled",textAlign:"center",py:3,fontSize:l=>l.typography.body2.fontSize||"0.875rem"},children:"No fields to display"})]})}function Iu({open:e,onClose:r,row:n,schema:i,reportName:s}){const a=ht(),c=a.palette;if(!n)return null;const l=i.filter(y=>y.name in n).length,u=de(a);return t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:ot(a),maxHeight:"min(720px, calc(100vh - 80px))",display:"flex",flexDirection:"column",overflow:"hidden",...u.paper}},children:[t.jsxs(o.Box,{sx:{px:3,pt:2.5,pb:2,display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:2,flexShrink:0,...u.header},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5,minWidth:0},children:[t.jsx(o.Box,{sx:{width:36,height:36,borderRadius:"10px",bgcolor:$(c.primary.main,.1),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(O.VisibilityOutlined,{sx:{fontSize:18,color:"primary.main"}})}),t.jsxs(o.Box,{sx:{minWidth:0},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:y=>y.typography.h6.fontSize||"1rem",fontWeight:y=>y.typography.h6.fontWeight||600,color:y=>y.typography.h6.color||"text.primary",lineHeight:1.3},children:"View Record"}),s&&t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:y=>y.typography.caption.fontSize||"0.75rem",color:"text.secondary",display:"block",mt:.25,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[s," · ",l," ",l===1?"field":"fields"]})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{mt:.25,color:"text.secondary",borderRadius:"8px","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:18}})})]}),t.jsx(o.Divider,{}),t.jsx(o.DialogContent,{sx:{overflowY:"auto",flex:1,bgcolor:$(c.text.primary,.015)},children:t.jsx(ia,{row:n,schema:i})}),t.jsx(o.Divider,{}),t.jsx(o.DialogActions,{sx:{px:3,py:1.75,bgcolor:"background.paper",justifyContent:"flex-end"},children:t.jsx(o.Button,{onClick:r,variant:"contained",sx:{fontSize:"0.8125rem",px:3,py:.75,borderRadius:y=>`${y.shape.borderRadius}px`,minWidth:80},children:"Close"})})]})}function Eu({open:e,onClose:r,onConfirm:n,row:i,schema:s}){const a=ht(),c=de(a);return t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:ot(a),maxHeight:"min(720px, calc(100vh - 80px))",my:"auto",display:"flex",flexDirection:"column",...c.paper}},children:[t.jsxs(o.Box,{sx:{px:3,pt:2.5,pb:1.5,display:"flex",alignItems:"flex-start",justifyContent:"space-between",...c.header},children:[t.jsxs(o.Stack,{direction:"row",spacing:1.5,alignItems:"flex-start",children:[t.jsx(o.Box,{sx:{width:40,height:40,borderRadius:"50%",bgcolor:l=>$(l.palette.error.main,.1),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(O.WarningAmberRounded,{sx:{fontSize:22,color:"error.main"}})}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:l=>l.typography.h6.fontSize||"1.125rem",fontWeight:l=>l.typography.h6.fontWeight||500,color:l=>l.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5,mb:.5},children:"Delete record?"}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:l=>l.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:"This record will be permanently removed."})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsxs(o.DialogContent,{sx:{px:3,pb:2,overflowY:"auto",flex:1,display:"flex",flexDirection:"column",gap:2},children:[i&&s&&t.jsx(ia,{row:i,schema:s}),t.jsx(o.Box,{sx:{p:2,borderRadius:"8px",bgcolor:l=>$(l.palette.error.main,.1),border:l=>`1px solid ${$(l.palette.error.main,.5)}`},children:t.jsx(o.Typography,{variant:"body2",sx:{fontSize:l=>l.typography.body2.fontSize||"0.8125rem",color:"error.main",fontWeight:l=>l.typography.body2.fontWeight||500},children:"This action cannot be undone. The record will be deleted from this report immediately."})})]}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end"},children:[t.jsx(o.Button,{onClick:r,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:.875,minHeight:36,borderRadius:l=>`${l.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:()=>{n(),r()},variant:"contained",startIcon:t.jsx(O.DeleteForever,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",bgcolor:"error.main",color:"error.contrastText",px:3,py:.875,minHeight:36,borderRadius:l=>`${l.shape.borderRadius}px`,boxShadow:l=>ve(l,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"error.dark",boxShadow:l=>ve(l,"hoverButton")},"&:active":{boxShadow:l=>ve(l,"pressedButton"),transform:"translateY(1px)"}},children:"Delete record"})]})]})}function Du({open:e,onClose:r,onSave:n,row:i,schema:s,reportName:a}){var B;const c=ht(),l=c.palette,[u,y]=p.useState({});if(p.useEffect(()=>{e&&i&&y({...i})},[e,i]),!i)return null;const g=s.filter(h=>h.name in i),m=g.filter(h=>h.type!=="object"&&h.type!=="array"),S=g.filter(h=>h.type==="object"||h.type==="array"),C=(h,k)=>{y(T=>({...T,[h]:k}))},D=()=>{const h={...u};g.forEach(k=>{const T=u[k.name];if(k.type==="number"){const b=Number(T);h[k.name]=isNaN(b)?i[k.name]:b}else k.type==="boolean"&&(h[k.name]=!!T)}),n(h),r()},v=g.length,x=de(c);return t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:ot(c),maxHeight:"min(760px, calc(100vh - 80px))",display:"flex",flexDirection:"column",overflow:"hidden",...x.paper}},children:[t.jsxs(o.Box,{sx:{px:3,pt:2.5,pb:2,display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:2,flexShrink:0,...x.header},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5,minWidth:0},children:[t.jsx(o.Box,{sx:{width:36,height:36,borderRadius:"10px",bgcolor:$(((B=l.warning)==null?void 0:B.main)??"#ed6c02",.1),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(O.EditOutlined,{sx:{fontSize:18,color:"warning.main"}})}),t.jsxs(o.Box,{sx:{minWidth:0},children:[t.jsx(o.Typography,{sx:{fontSize:h=>h.typography.h6.fontSize||"1rem",fontWeight:h=>h.typography.h6.fontWeight||600,color:"text.primary",lineHeight:1.3},children:"Edit Record"}),a&&t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:h=>h.typography.caption.fontSize||"0.75rem",color:"text.secondary",display:"block",mt:.25,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[a," · ",v," ",v===1?"field":"fields"]})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{mt:.25,color:"text.secondary",borderRadius:"8px","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:18}})})]}),t.jsx(o.Divider,{}),t.jsxs(o.DialogContent,{sx:{p:2.5,overflowY:"auto",flex:1,bgcolor:$(l.text.primary,.015),display:"flex",flexDirection:"column",gap:2},children:[m.map(h=>{const k=u[h.name];return h.type==="boolean"?t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontWeight:T=>T.typography.caption.fontWeight||500,fontSize:T=>T.typography.caption.fontSize||"0.75rem",color:"text.secondary",display:"block",mb:.75},children:dt(h.name)}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.Switch,{checked:!!k,onChange:T=>C(h.name,T.target.checked),size:"small"}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:T=>T.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:k?"Enabled":"Disabled"})]})]},h.name):t.jsx(o.TextField,{label:dt(h.name),value:k??"",onChange:T=>C(h.name,T.target.value),type:h.type==="number"?"number":"text",size:"small",fullWidth:!0,sx:na},h.name)}),S.length>0&&t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2},children:S.map(h=>{const k=di(i[h.name],h.type);return t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,mb:.75},children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:T=>T.typography.caption.fontSize||"0.75rem",fontWeight:T=>T.typography.caption.fontWeight||500,color:"text.secondary"},children:dt(h.name)}),t.jsx(o.Chip,{label:"read only",size:"small",sx:{height:16,fontSize:"0.5625rem",fontWeight:600,letterSpacing:"0.04em",bgcolor:$(l.text.secondary,.07),color:"text.secondary",border:"none"}}),t.jsx(o.Tooltip,{title:"Object and array fields cannot be edited directly",arrow:!0,children:t.jsx(O.InfoOutlined,{sx:{fontSize:13,color:"text.disabled",cursor:"help"}})})]}),t.jsx(o.Box,{component:"pre",sx:{m:0,px:1.5,py:1.25,borderRadius:"8px",border:"1px solid",borderColor:"divider",bgcolor:$(l.text.primary,.02),fontSize:"0.75rem",fontFamily:'"Roboto Mono", "Fira Code", monospace',color:k?"text.primary":"text.disabled",fontStyle:k?"normal":"italic",overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",lineHeight:1.6,maxHeight:160,overflowY:"auto"},children:k||"No value"})]},h.name)})}),g.length===0&&t.jsxs(o.Box,{sx:{py:6,display:"flex",flexDirection:"column",alignItems:"center",gap:1,color:"text.disabled"},children:[t.jsx(O.EditOutlined,{sx:{fontSize:40,opacity:.4}}),t.jsx(o.Typography,{variant:"body2",children:"No editable fields"})]})]}),t.jsx(o.Divider,{}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,bgcolor:"background.paper",gap:1,justifyContent:"flex-end"},children:[t.jsx(o.Button,{onClick:r,variant:"text",sx:{fontSize:"0.8125rem",color:"text.secondary",px:2,borderRadius:h=>`${h.shape.borderRadius}px`,"&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:D,variant:"contained",startIcon:t.jsx(O.SaveOutlined,{sx:{fontSize:15}}),sx:{fontSize:"0.8125rem",px:2.5,borderRadius:h=>`${h.shape.borderRadius}px`,minWidth:90},children:"Save"})]})]})}const _u=176,$u=170,Ou=40;function sa(e){return e.type==="date"?180:_u}function Mu(e,r){return r!=null&&r!==$u&&r!==sa(e)}function Au(e,r,n){return p.useMemo(()=>{const i=e.map(m=>({name:m.name,width:r[m.name]??sa(m),explicit:Mu(m,r[m.name])})),s={};i.forEach(m=>{s[m.name]=m.width});const a=i.reduce((m,S)=>m+S.width,0),l=Math.max(0,n-Ou)-a;if(l<=0)return{widths:s,fillerWidth:0};const u=i.filter(m=>!m.explicit);if(u.length===0)return{widths:s,fillerWidth:l};const y=u.reduce((m,S)=>m+S.width,0)||1;let g=0;return u.forEach((m,S)=>{const D=S===u.length-1?m.width+l-g:Math.round(m.width+l*m.width/y);s[m.name]=D,g+=D-m.width}),{widths:s,fillerWidth:0}},[e,r,n])}const vs=176,Wu=At(),Ru={low:"text.secondary",medium:"warning.dark",high:"warning.main",critical:"error.main",urgent:"error.main"};function Pu(e){const r=e.toLowerCase().trim();return t.jsx(o.Box,{component:"span",sx:{display:"inline-flex",alignItems:"center",px:1.25,py:.375,borderRadius:"12px",fontSize:"0.75rem",fontWeight:n=>{var i;return(i=n.tokens)!=null&&i.statusBold?700:500},bgcolor:n=>cn(n,r).bg,color:n=>cn(n,r).color,whiteSpace:"nowrap",lineHeight:1.6,letterSpacing:"0.01em"},children:e})}function Nu(e){const r=e.toLowerCase().trim(),n=Ru[r];return n?t.jsx(o.Box,{component:"span",sx:{color:n,fontWeight:500,fontSize:"inherit"},children:e}):e}function Lu(e,r){const n=r.trim();if(!n)return e;const i=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=e.split(new RegExp(`(${i})`,"gi"));return s.length===1?e:s.map((a,c)=>a.toLowerCase()===n.toLowerCase()?t.jsx(o.Box,{component:"mark",sx:{bgcolor:"warning.light",color:"inherit",px:"1px",borderRadius:"2px"},children:a},c):a)}function Fu(e,r,n,i=""){if(r==null||r==="")return t.jsx(o.Box,{component:"span",sx:{color:"text.disabled"},children:"—"});const s=String(r);if(/\b(status|state|stage|employmenttype|contracttype|availability)\b/.test(e.name.toLowerCase()))return Pu(s);if(/\b(priority|severity|urgency|importance|criticality)\b/.test(e.name.toLowerCase()))return Nu(s);if(e.type==="date"){const l=e.dateFormat??"iso",u=Ra(r,l,n??null);return t.jsx(o.Box,{component:"span",sx:{color:"text.primary",whiteSpace:"nowrap"},children:u})}if(e.type==="number"&&typeof r=="number")return r.toLocaleString();if(typeof r=="boolean")return r?"Yes":"No";if(Array.isArray(r)){if(r.length===0)return t.jsx(o.Box,{component:"span",sx:{color:"text.disabled"},children:"[ ]"});const l=r.slice(0,3).map(u=>typeof u=="object"?JSON.stringify(u):String(u)).join(", ");return t.jsxs(o.Box,{component:"span",sx:{color:"text.secondary",fontSize:"0.8125rem"},children:[l,r.length>3?` +${r.length-3} more`:""]})}if(typeof r=="object"){const l=JSON.stringify(r);return t.jsx(o.Box,{component:"span",title:l,sx:{color:"text.secondary",fontSize:"0.8125rem",fontFamily:"monospace",cursor:"help"},children:l.length>40?l.slice(0,40)+"…":l})}return Lu(s,i)}function Vu({schema:e,data:r,sortStack:n=[],filters:i=Wu,views:s=[],activeViewId:a="",isDirty:c=!1,isExporting:l=!1,columnVisibility:u={},columnOrder:y=[],columnWidths:g={},grouping:m=null,classTokens:S={},onSort:C,onSortAscending:D,onSortDescending:v,onOpenFilters:x,onOpenSort:B,onOpenFilterForColumn:h,onSelectView:k,onCreateView:T,onUpdateCurrentView:b,onSaveAsNewView:R,onDiscardChanges:H,onToggleDefault:E,onToggleFavorite:Y,onRestoreView:Z,onPermanentDelete:I,onEditView:f,onCloneView:w,onCopyLink:P,onDeleteView:te,onPromoteToGlobal:d,onSetDefaultForAllUsers:J,isAdmin:re=!1,hideViewMenuActions:we,onExport:F,onOpenColumns:X,onUpdateColumnWidth:ue,onUpdateColumnOrder:pe,onUpdateColumnVisibility:K,onClearFiltersForColumn:he,onResetLayout:le,onOpenGroup:W,onGroupByColumn:ie,onToggleGroupCollapse:U,onExpandAllGroups:ne,onCollapseAllGroups:Be,onOpenAuditHistory:Q,onOpenScheduledReports:$e,searchQuery:Pe,highlightQuery:Wt="",searchHistory:Kt=[],onAddToSearchHistory:Ar,onToggleSearchFavourite:Rt,onDeleteSearchHistory:mt,selectedRowIds:St=new Set,onSearchChange:Wr,onToggleRowSelection:Qe,onToggleAllRows:Dt,onRangeSelection:Xt,onClearSelection:Pt,onExportSelected:ar,currentPage:lr=1,pageSize:Rr=15,totalRowsBeforePagination:Qt=r.length,onPageChange:br,onPageSizeChange:Ct,isReadOnly:Je=!1,userRole:vr,reportName:ft,onEditRow:rt,onDuplicateRow:Nt,onDeleteRow:cr,showDevPanel:uo=!1,onOpenDevConfig:Pr,rowActions:dr,hideDefaultRowActions:Ke,hideToolbarActions:je,customSettingsActions:_t,jsonGuideContent:Sr,viewOptions:Nr,defaultViewMode:ur,bulkActions:Cr,hideSelectionCheckboxes:Lr,rowClickBehavior:pr="select",openModalOn:Ze,onRowClick:Lt,onRowRightClick:Ce}){var Ho;const fe=ht().urmTable,[wt,V]=p.useState(null),[xt,se]=p.useState(0),[st,wr]=p.useState(0),[jt,Fr]=p.useState(null),hr=gr(),jr=((Ho=hr.dates)==null?void 0:Ho.displayFormat)??null,[Ft,kr]=p.useState(null),[Vr,ke]=p.useState(null),[ut,ee]=p.useState(null),[ce,ye]=p.useState(!1),[po,zr]=p.useState(!1),[Br,Hr]=p.useState(null),[ho,Vt]=p.useState(!1),[mo,Ur]=p.useState(null),[$t,Tr]=p.useState(null),[ze,Ge]=p.useState(null),[Ir,at]=p.useState(null),Zt=p.useRef(null),me=p.useCallback(()=>{Zt.current&&(clearTimeout(Zt.current),Zt.current=null)},[]),xe=p.useCallback(()=>{me(),Zt.current=setTimeout(()=>at(null),200)},[me]);p.useEffect(()=>me,[me]);const[Ye,Ae]=p.useState(null),nt=p.useMemo(()=>Nr??["list","grid"],[Nr]),[it,Ot]=p.useState(()=>ur??nt[0]??"list"),[In,Wo]=p.useState(!1),[Gr,En]=p.useState(()=>!Bu("toolbar_search")),Yr=p.useRef(null),fo=p.useRef(null),[Dn,Ro]=p.useState(0);p.useLayoutEffect(()=>{const j=Yr.current;if(!j)return;Ro(j.clientWidth);const N=new ResizeObserver(oe=>{Ro(oe[0].contentRect.width)});return N.observe(j),()=>N.disconnect()},[]);const qr=p.useCallback(()=>{Tu("toolbar_search"),En(!1)},[]);p.useEffect(()=>{if(!Gr)return;const j=setTimeout(qr,2e3);return()=>clearTimeout(j)},[Gr,qr]);const Po=p.useMemo(()=>{const j=jt??y;return j.length>0?j.map(N=>e.find(oe=>oe.name===N)).filter(N=>N!==void 0):e},[jt,y,e]),Jr=p.useMemo(()=>Po.filter(j=>u[j.name]!==!1),[Po,u]),xo=p.useMemo(()=>new Set(((m==null?void 0:m.levels)??[]).map(j=>j.column)),[m]),No=!!(m!=null&&m.enabled&&(m!=null&&m.levels)&&m.levels.length>0),Kr=p.useMemo(()=>{if(!No)return Jr;const j=((m==null?void 0:m.levels)??[]).map(oe=>e.find(Te=>Te.name===oe.column)).filter(oe=>oe!==void 0),N=Jr.filter(oe=>!xo.has(oe.name));return[...j,...N]},[Jr,No,xo,m,e]),{widths:Xr}=Au(Kr,g,Dn),er=p.useMemo(()=>e.filter(j=>u[j.name]===!1).length,[e,u]),Lo=p.useMemo(()=>e.map(j=>j.name),[e]),Qr=p.useMemo(()=>y.length===0?!1:JSON.stringify(y)!==JSON.stringify(Lo),[y,Lo]),_n=p.useCallback((j,N)=>{j.preventDefault(),j.stopPropagation(),V(N),se(j.clientX),wr(g[N]||150)},[g]);p.useEffect(()=>{if(!wt)return;const j=oe=>{const Te=oe.clientX-xt,Ne=Math.max(100,Math.min(600,st+Te));ue==null||ue(wt,Ne)},N=()=>{V(null)};return document.addEventListener("mousemove",j),document.addEventListener("mouseup",N),()=>{document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",N)}},[wt,xt,st,ue]);const $n=p.useCallback(j=>j==null?"-":typeof j=="object"?JSON.stringify(j):typeof j=="boolean"?j?"true":"false":String(j),[]);p.useCallback(j=>{const N=n.find(oe=>oe.column===j);return N?t.jsxs(o.Box,{sx:{display:"inline-flex",alignItems:"center",ml:.5,gap:.25},children:[N.direction==="asc"?t.jsx(O.ArrowUpward,{sx:{fontSize:14}}):t.jsx(O.ArrowDownward,{sx:{fontSize:14}}),t.jsx(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:16,height:16,bgcolor:"primary.main",color:"primary.contrastText",fontSize:"caption.fontSize",fontWeight:"bold",borderRadius:"50%"},children:N.priority})]}):null},[n]),p.useCallback(j=>ni(i,j)?t.jsx(o.IconButton,{size:"small",onClick:oe=>{oe.stopPropagation(),h==null||h(j)},sx:{ml:.5,p:.25,color:"primary.main","&:hover":{color:"primary.main"}},title:"Active filters on this column",children:t.jsx(O.FilterList,{sx:{fontSize:14}})}):null,[i,h]);const On=p.useCallback(j=>{C&&C(j)},[C]),Mn=p.useCallback((j,N)=>{Fr(oe=>{const Ne=[...oe??(y.length>0?y:e.map(tt=>tt.name))],[et]=Ne.splice(j,1);return Ne.splice(N,0,et),Ne})},[y,e]),An=p.useCallback(()=>{jt&&pe&&pe(jt),Fr(null)},[jt,pe]),Wn=p.useCallback(j=>{if(!C)return;const N=n.find(oe=>oe.column===j);(!N||N.direction!=="asc")&&C(j)},[C,n]),Rn=p.useCallback(j=>{if(!C)return;const N=n.find(oe=>oe.column===j);N?N.direction==="asc"&&C(j):(C(j),setTimeout(()=>C(j),0))},[C,n]),Pn=p.useCallback(j=>{if(!C)return;const N=n.find(oe=>oe.column===j);N&&(N.direction==="asc"?(C(j),setTimeout(()=>C(j),0)):N.direction==="desc"&&C(j))},[C,n]),Nn=p.useCallback(j=>{K&&K(j,!1)},[K]),Zr=!!(m!=null&&m.enabled&&(m!=null&&m.levels)&&m.levels.length>0),tr=p.useMemo(()=>Tt(i),[i]),Ln=n.length>0||tr>0||((m==null?void 0:m.enabled)??!1)||Object.values(u).some(j=>j===!1),Fn=(lr-1)*Rr,Ve=r,lt=p.useMemo(()=>{const j=new Set;return St.forEach(N=>{const oe=N==null?void 0:N.__urm_row_id__;oe!==void 0&&j.add(oe)}),j},[St]);p.useEffect(()=>{const j=N=>{!Dt||!Pt||N.target instanceof HTMLInputElement||N.target instanceof HTMLTextAreaElement||((N.ctrlKey||N.metaKey)&&N.key==="a"&&(N.preventDefault(),Dt(!0,Ve)),N.key==="Escape"&&(N.preventDefault(),Pt()))};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[Dt,Pt,Ve]);const go=p.useCallback((j,N)=>{Lt==null||Lt(Ve[j],j,N),(pr==="activate"||pr==="both")&&(ee(Ve[j]),ye(!0)),pr!=="activate"&&Qe&&(N.shiftKey&&Ft!==null?(N.preventDefault(),Xt&&Xt(Ft,j,Ve)):(Qe(Ve[j]),kr(j)))},[Qe,Ft,Xt,Ve,Lt,pr,ee,ye]),eo=p.useMemo(()=>Ve.filter(j=>!j.isGroupHeader),[Ve]),Fo=p.useMemo(()=>eo.length>0&&lt.size>0&&eo.every(j=>lt.has(j==null?void 0:j.__urm_row_id__)),[eo,lt]),Vn=!Fo&&eo.some(j=>lt.has(j==null?void 0:j.__urm_row_id__)),gt=!!(Qe&&Dt&&!Lr),rr=p.useMemo(()=>Kr,[Kr]),Er=p.useMemo(()=>{const j=new Map;if(!(m!=null&&m.enabled)||!Ve)return j;let N=[];for(const oe of Ve)if(oe.__isGroupHeader||oe.isGroupHeader){const Te=oe.groupLevel??0;N[Te]=oe.groupKey,N=N.slice(0,Te+1),j.has(oe.groupKey)||j.set(oe.groupKey,[])}else if(oe.__urm_is_grouped_data_row__)for(const Te of N)Te&&j.has(Te)&&j.get(Te).push(oe);return j},[m,Ve]),Hn=p.useCallback(j=>{const N=j.groupLevel,oe=N===0?S.groupRowLevel0||"urm-group-level-0":N===1?S.groupRowLevel1||"urm-group-level-1":S.groupRowLevel2||"urm-group-level-2",Te=N===0?We=>We.palette.mode==="dark"?$(We.palette.action.hover,.12):"#f1f5f9":We=>We.palette.mode==="dark"?$(We.palette.action.hover,.06):"#f8fafc",Ne=String(j.groupValue??"(empty)"),et=`${j.rowCount} ${j.rowCount===1?"item":"items"}`,tt=Er.get(j.groupKey)||[],ge=tt.filter(We=>lt.has(We==null?void 0:We.__urm_row_id__)).length,Ht=tt.length>0&&ge===tt.length,Ut=ge>0&&ge<tt.length;return t.jsxs(o.TableRow,{onClick:()=>U==null?void 0:U(j.groupKey),className:`urm-group-header-row urm-group-level-${N} ${oe} ${S.groupRow||""}`,sx:{bgcolor:Te,"&:hover":{bgcolor:We=>$(We.palette.text.primary,.07)},cursor:"pointer",borderTop:"1px solid",borderBottom:"1px solid",borderColor:"divider",position:"relative"},children:[gt&&t.jsx(o.TableCell,{padding:"checkbox",onClick:We=>We.stopPropagation(),sx:{borderBottom:"1px solid",borderColor:"divider",verticalAlign:"middle",bgcolor:"inherit"},children:t.jsx(o.Checkbox,{size:"small",checked:Ht,indeterminate:Ut,onChange:()=>{if(!Qe)return;const We=!Ht;tt.forEach(or=>{const Uo=lt.has(or==null?void 0:or.__urm_row_id__);We!==Uo&&Qe(or)})}})}),t.jsxs(o.TableCell,{colSpan:rr.length,className:`urm-group-cell ${S.groupCellFirst||""} ${S.groupCell||""}`,sx:{pl:`${N*24+16}px`,position:"relative",py:1.25,borderBottom:"1px solid",borderColor:"divider"},children:[N>0&&t.jsx(o.Box,{sx:{position:"absolute",left:`${N*24+4}px`,top:0,bottom:0,width:"1px",bgcolor:"divider"}}),t.jsxs(o.Box,{className:`urm-group-content ${S.groupContent||""}`,sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.Box,{className:`urm-group-caret ${S.groupCaret||""}`,sx:{color:"text.secondary",display:"inline-flex",alignItems:"center"},children:j.isCollapsed?t.jsx(O.ChevronRight,{sx:{fontSize:18}}):t.jsx(O.KeyboardArrowDown,{sx:{fontSize:18}})}),t.jsx(o.Typography,{variant:"h5",className:`urm-group-title ${S.groupTitle||""}`,sx:{fontWeight:N===0?600:500,fontSize:N===0?"0.9375rem":"0.875rem",color:"text.primary",whiteSpace:"nowrap"},children:Ne}),!j.isCollapsed&&t.jsx(o.Box,{className:"urm-group-column-heading-badge",sx:{px:1,py:.25,fontSize:"0.7rem",fontWeight:500,lineHeight:1,whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",bgcolor:We=>$(We.palette.primary.main,.1),color:"primary.main",borderRadius:"10px",border:"1px solid",borderColor:We=>$(We.palette.primary.main,.2),ml:.5},children:dt(j.groupColumn||"")}),!!j.__urm_is_continuation_header__&&t.jsx(o.Box,{className:"urm-group-continuation-badge",sx:{px:1,py:.25,fontSize:"0.7rem",fontWeight:500,lineHeight:1,whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",bgcolor:We=>$(We.palette.text.secondary,.05),color:"text.secondary",borderRadius:"10px",border:"1px dashed",borderColor:"divider",ml:.5},children:"Continued"}),t.jsx(o.Box,{className:`urm-group-count ${S.groupBadge||""} ${S.groupCount||""}`,sx:{px:1.25,py:.25,fontSize:"0.75rem",fontWeight:500,lineHeight:1,whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",bgcolor:We=>$(We.palette.text.secondary,.08),color:"text.secondary",borderRadius:"12px",ml:.5},children:et}),Object.keys(j.aggregates||{}).length>0&&t.jsxs(o.Typography,{variant:"caption",className:`urm-group-aggregates ${S.groupAggregates||""}`,sx:{ml:1.5,color:"text.secondary",fontWeight:500},children:["(",Object.entries(j.aggregates).map(([We,or])=>$s(or)).filter(Boolean).join(" • "),")"]})]})]})]},j.groupKey)},[rr,gt,m,e,U,S,fe,Er,lt,Qe]),Vo=p.useCallback((j,N)=>{const oe=lt.has(j==null?void 0:j.__urm_row_id__),Te=Vr===N,Ne=ce&&(j==null?void 0:j.__urm_row_id__)===(ut==null?void 0:ut.__urm_row_id__),et=!!(j!=null&&j.__urm_is_grouped_data_row__),tt=et?j.__urm_group_level__??(m==null?void 0:m.levels.length)??1:0;return t.jsxs(o.TableRow,{"data-row-index":N,className:et?`urm-data-row-grouped ${S.dataRowGrouped||""}`:"",onMouseEnter:()=>ke(N),onMouseLeave:()=>ke(null),onClick:ge=>{ge.target.closest("[data-row-action-btn]")||go(N,ge)},onDoubleClick:()=>{Ze!=null&&Ze.includes("doubleClick")&&(ee(j),ye(!0))},onContextMenu:ge=>{ge.preventDefault(),ge.stopPropagation(),Ce==null||Ce(j,N,ge),at(null),Ge({mouseX:ge.clientX,mouseY:ge.clientY,row:j,rowIndex:N}),Ze!=null&&Ze.includes("rightClick")&&(ee(j),ye(!0))},sx:{cursor:"pointer",bgcolor:oe?ge=>ct(ge).bg:Ne?ge=>$(ge.palette.info.main,.12):fe!=null&&fe.striped&&N%2===1?fe.stripeBg:"background.paper",transition:"background-color 0.12s ease","&:hover":{bgcolor:oe?ge=>ct(ge).hoverBg:Ne?ge=>$(ge.palette.info.main,.2):ge=>`var(--highlight-hover-row, ${$(ct(ge).main,.04)})`},borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderColor:"divider"},children:[gt&&t.jsx(o.TableCell,{padding:"checkbox",onClick:ge=>ge.stopPropagation(),sx:{borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderColor:"divider",verticalAlign:(fe==null?void 0:fe.cellAlignV)??"middle"},children:t.jsx(o.Checkbox,{size:"small",checked:oe,onChange:()=>Qe==null?void 0:Qe(j)})}),rr.map((ge,Ht)=>{const Ut=Ht===0;return t.jsxs(o.TableCell,{className:et&&Ut?`urm-data-cell-grouped ${S.dataCellGrouped||""}`:"",sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",py:(fe==null?void 0:fe.rowPaddingY)??"6px",px:(fe==null?void 0:fe.cellPaddingX)??2,pl:et&&Ut?`${tt*24}px`:void 0,position:"relative",textAlign:(fe==null?void 0:fe.cellAlignH)??"left",verticalAlign:(fe==null?void 0:fe.cellAlignV)??"middle",fontSize:"0.8125rem",fontWeight:400,color:"text.primary",borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderRight:fe==null?void 0:fe.colDivider,borderColor:"divider",minWidth:g[ge.name]?`${g[ge.name]}px`:`${ge.type==="date"?Math.max(vs,180):vs}px`},children:[et&&Ut&&tt>0&&t.jsx(o.Box,{sx:{position:"absolute",left:4,top:0,bottom:0,width:"1px",bgcolor:"divider"}}),t.jsx(o.Box,{sx:{display:"flex",alignItems:"center"},children:t.jsx("span",{className:`urm-item-title ${S.itemTitle||""}`,children:Fu(ge,j[ge.name],jr,Wt)})})]},ge.name)}),t.jsx(o.TableCell,{"data-row-action":"true",sx:{position:"sticky",right:0,width:0,minWidth:0,maxWidth:0,p:0,border:"none",background:"transparent",opacity:Te?1:0,transition:"opacity 0.12s ease",zIndex:10},children:t.jsx(o.Box,{sx:{position:"absolute",right:8,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"flex-end",zIndex:10},children:t.jsx(o.IconButton,{"data-row-action-btn":"true",size:"small",onClick:ge=>{ge.stopPropagation(),ge.preventDefault(),at(null),Ge({anchorEl:ge.currentTarget,row:j,rowIndex:N})},sx:{color:"text.secondary",opacity:Te?1:0,transition:"opacity 0.12s ease",pointerEvents:Te?"auto":"none","&:hover":{bgcolor:ge=>$(ge.palette.text.primary,.08),color:"text.primary"}},children:t.jsx(O.MoreVert,{sx:{fontSize:18}})})})})]},N)},[St,Fn,Vr,go,Kr,g,Wt,$n,rt,Nt,cr,Qe,gt,ee,ye,ut,ce,Ge,Zr,xo,Ce,Ze,lt]);return t.jsxs(ir.DndProvider,{backend:ui.HTML5Backend,children:[t.jsxs(o.Box,{sx:j=>{var et,tt,ge;const N=((ge=(tt=(et=j.components)==null?void 0:et.MuiCard)==null?void 0:tt.styleOverrides)==null?void 0:ge.root)||{},oe=N.border&&N.border!=="none"?N.border:"1px solid",Te=N.borderRadius!==void 0?typeof N.borderRadius=="number"?`${N.borderRadius}px`:N.borderRadius:`${j.shape.borderRadius}px`,Ne=N.boxShadow&&N.boxShadow!=="none"?N.boxShadow:ve(j,"cardRest");return{display:"flex",flexDirection:"column",height:"100%",bgcolor:"background.paper",border:oe,borderColor:oe!=="none"?"divider":void 0,borderRadius:Te,boxShadow:Ne,overflow:"hidden"}},children:[t.jsxs(o.Box,{sx:j=>{var et,tt,ge,Ht,Ut;const N=((ge=(tt=(et=j.components)==null?void 0:et.MuiCardHeader)==null?void 0:tt.styleOverrides)==null?void 0:ge.root)||{},oe=(N.backgroundColor&&N.backgroundColor!=="transparent"?N.backgroundColor:void 0)??((Ht=j.tokens)==null?void 0:Ht.cardHdrHex)??((Ut=j.urmTable)==null?void 0:Ut.headerBg)??j.palette.background.paper,Te=N.borderBottom&&N.borderBottom!=="none"?N.borderBottom:"1px solid",Ne=N.boxShadow&&N.boxShadow!=="none"?N.boxShadow:void 0;return{position:"sticky",top:0,zIndex:10,bgcolor:oe,borderBottom:Te,borderColor:Te!=="none"?"divider":void 0,boxShadow:Ne,px:2,py:0,minHeight:56,display:"flex",alignItems:"center",gap:1}},children:[Je&&t.jsx(zu,{}),Wr&&Ar&&Rt&&mt&&!(je!=null&&je.includes("search"))&&t.jsx(o.Tooltip,{open:Gr,title:t.jsxs(o.Box,{sx:{p:.5},children:[t.jsx(o.Typography,{variant:"caption",sx:{display:"block",fontWeight:j=>j.typography.caption.fontWeight||500,mb:.25},children:"💡 Search tip"}),t.jsx(o.Typography,{variant:"caption",children:"Type to search across all columns instantly"})]}),placement:"bottom-start",arrow:!0,PopperProps:{onClick:qr},componentsProps:{tooltip:{sx:{bgcolor:"primary.main","& .MuiTooltip-arrow":{color:"primary.main"},maxWidth:220,cursor:"pointer",userSelect:"none"}}},children:t.jsx(o.Box,{component:"span",children:t.jsx(du,{value:Pe||"",onChange:j=>{Gr&&qr(),Wr(j)},searchHistory:Kt,onAddToHistory:Ar,onToggleFavourite:Rt,onDeleteHistory:mt,disabled:Je})})}),!(je!=null&&je.includes("jsonGuide"))&&t.jsx(o.Tooltip,{title:"JSON format guide",children:t.jsx(o.IconButton,{size:"small",onClick:()=>Wo(!0),sx:{color:"text.secondary",borderRadius:1,"&:hover":{bgcolor:j=>$(j.palette.text.primary,.06),color:"text.primary"}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:20}})})}),k&&T&&b&&s.length>0&&t.jsx(uu,{views:s||[],activeViewId:a||"",isDirty:c,onSelectView:k,onCreateView:T,onToggleDefault:E,onToggleFavorite:Y,onRestoreView:Z,onPermanentDelete:I,onEditView:f,onCloneView:w,onCopyLink:P,onDeleteView:te,onPromoteToGlobal:d,onSetDefaultForAllUsers:J,isAdmin:re,hideViewMenuActions:we,isReadOnly:Je}),c&&!Je&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25,ml:1},children:[b&&t.jsx(o.Button,{onClick:b,size:"small",variant:"contained",sx:{fontSize:"0.8125rem",fontWeight:500,px:2.25,py:.75,borderRadius:"10px",bgcolor:j=>`var(--urm-btn-save-current-bg, ${j.palette.primary.main})`,color:j=>`var(--urm-btn-save-current-color, ${j.palette.primary.contrastText})`,textTransform:"none",boxShadow:j=>ve(j,"restButton"),"&:hover":{bgcolor:j=>`var(--urm-btn-save-current-hover-bg, ${j.palette.primary.dark})`,boxShadow:j=>ve(j,"hoverButton")}},children:"Save current view"}),R&&t.jsx(o.Button,{onClick:R,size:"small",variant:"outlined",sx:{fontSize:"0.8125rem",fontWeight:500,px:2.25,py:.75,borderRadius:"10px",borderColor:j=>`var(--urm-btn-save-new-border, ${j.palette.primary.main})`,color:j=>`var(--urm-btn-save-new-color, ${j.palette.primary.main})`,bgcolor:j=>`var(--urm-btn-save-new-bg, ${j.palette.background.paper})`,borderWidth:"1.5px",textTransform:"none","&:hover":{borderWidth:"1.5px",borderColor:j=>`var(--urm-btn-save-new-hover-border, ${j.palette.primary.dark})`,bgcolor:j=>`var(--urm-btn-save-new-hover-bg, ${$(j.palette.primary.main,.08)})`}},children:"Save new view"}),H&&t.jsx(o.Button,{onClick:H,size:"small",variant:"contained",sx:{fontSize:"0.8125rem",fontWeight:500,px:2.25,py:.75,borderRadius:"10px",bgcolor:j=>`var(--urm-btn-discard-bg, ${$(j.palette.text.primary,.12)})`,color:j=>`var(--urm-btn-discard-color, ${j.palette.text.primary})`,textTransform:"none",boxShadow:"none","&:hover":{bgcolor:j=>`var(--urm-btn-discard-hover-bg, ${$(j.palette.text.primary,.18)})`,boxShadow:"none"}},children:"Discard"})]}),uo&&Pr&&t.jsx(o.Tooltip,{title:"Developer configuration",children:t.jsx(o.IconButton,{size:"small",onClick:Pr,sx:{color:"text.secondary",borderRadius:1,border:"1px dashed",borderColor:j=>$(j.palette.text.secondary,.3),"&:hover":{bgcolor:j=>$(j.palette.warning.main,.08),borderColor:"warning.main",color:"warning.dark"}},children:t.jsx(O.DisplaySettings,{sx:{fontSize:20}})})}),t.jsx(o.Box,{sx:{flexGrow:1}}),!Je&&B&&!(je!=null&&je.includes("sort"))&&t.jsx(o.Tooltip,{title:"Sort",children:t.jsxs(o.IconButton,{onClick:B,size:"small",sx:{position:"relative",color:n.length>0?"primary.main":"text.secondary",bgcolor:n.length>0?j=>It(j):"transparent",borderRadius:1,transition:"all 0.15s ease","&:hover":{bgcolor:n.length>0?j=>$(j.palette.primary.main,.2):j=>$(j.palette.text.primary,.06),color:n.length>0?"primary.main":"text.primary"}},children:[t.jsx(O.SwapVert,{sx:{fontSize:20}}),n.length>0&&t.jsx(o.Box,{component:"span",sx:{position:"absolute",top:-2,right:-2,width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"primary.main",color:"primary.contrastText",borderRadius:"50%",fontSize:"0.625rem",fontWeight:700,border:"2px solid",borderColor:"background.paper"},children:n.length})]})}),!Je&&x&&!(je!=null&&je.includes("filter"))&&t.jsx(o.Tooltip,{title:"Filter",children:t.jsxs(o.IconButton,{onClick:x,size:"small",sx:{position:"relative",color:tr>0?"primary.main":"text.secondary",bgcolor:tr>0?j=>It(j):"transparent",borderRadius:1,transition:"all 0.15s ease","&:hover":{bgcolor:tr>0?j=>$(j.palette.primary.main,.2):j=>$(j.palette.text.primary,.06),color:tr>0?"primary.main":"text.primary"}},children:[t.jsx(O.FilterList,{sx:{fontSize:20}}),tr>0&&t.jsx(o.Box,{component:"span",sx:{position:"absolute",top:-2,right:-2,width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"primary.main",color:"primary.contrastText",borderRadius:"50%",fontSize:"0.625rem",fontWeight:700,border:"2px solid",borderColor:"background.paper"},children:tr})]})}),!Je&&X&&!(je!=null&&je.includes("columns"))&&t.jsx(o.Tooltip,{title:"Show/Hide Columns",children:t.jsxs(o.IconButton,{onClick:X,size:"small",sx:{position:"relative",color:er>0||Qr?"primary.main":"text.secondary",bgcolor:er>0||Qr?j=>It(j):"transparent",borderRadius:1,transition:"all 0.15s ease","&:hover":{bgcolor:er>0||Qr?j=>$(j.palette.primary.main,.2):j=>$(j.palette.text.primary,.06),color:er>0||Qr?"primary.main":"text.primary"}},children:[t.jsx(O.ViewColumn,{sx:{fontSize:20}}),er>0&&t.jsx(o.Box,{component:"span",sx:{position:"absolute",top:-2,right:-2,width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"primary.main",color:"primary.contrastText",borderRadius:"50%",fontSize:"0.625rem",fontWeight:700,border:"2px solid",borderColor:"background.paper"},children:er})]})}),Zr&&(ne||Be)&&(()=>{var oe;const j=(((oe=m==null?void 0:m.collapsedGroups)==null?void 0:oe.length)??0)>0,N=j?ne:Be;return N?t.jsx(o.Tooltip,{title:j?"Expand all groups":"Collapse all groups",children:t.jsx(o.IconButton,{onClick:N,size:"small",sx:{color:"text.secondary",borderRadius:1,"&:hover":{bgcolor:Te=>$(Te.palette.text.primary,.06),color:"text.primary"}},children:j?t.jsx(O.UnfoldMore,{sx:{fontSize:20}}):t.jsx(O.UnfoldLess,{sx:{fontSize:20}})})}):null})(),nt.length>1&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{orientation:"vertical",flexItem:!0,sx:{mx:.5,my:1.5}}),nt.map(j=>{const N=it===j,oe=j==="list"?t.jsx(O.TableRows,{sx:{fontSize:20}}):t.jsx(O.GridView,{sx:{fontSize:20}}),Te=j==="list"?"List view":"Grid view";return t.jsx(o.Tooltip,{title:Te,children:t.jsx(o.IconButton,{size:"small",onClick:()=>Ot(j),sx:{borderRadius:1,color:N?"primary.main":"text.secondary",bgcolor:N?Ne=>It(Ne):"transparent",transition:"all 0.15s ease","&:hover":{bgcolor:N?Ne=>$(Ne.palette.primary.main,.2):Ne=>$(Ne.palette.text.primary,.06),color:N?"primary.main":"text.primary"}},children:oe})},j)})]}),!(je!=null&&je.includes("settings"))&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{orientation:"vertical",flexItem:!0,sx:{mx:.5,my:1.5}}),t.jsx(o.Tooltip,{title:"Settings",children:t.jsx(o.IconButton,{onClick:j=>Ae(j.currentTarget),size:"small",sx:{color:"text.secondary",borderRadius:1,transition:"all 0.15s ease","&:hover":{bgcolor:j=>$(j.palette.text.primary,.06),color:"text.primary"}},children:t.jsx(O.Settings,{sx:{fontSize:20}})})})]})]}),t.jsxs(o.Popover,{open:!!Ye,anchorEl:Ye,onClose:()=>Ae(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},PaperProps:{sx:{mt:.5,minWidth:200,py:.5,borderRadius:1.5,boxShadow:3}},children:[F&&!(je!=null&&je.includes("export"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{F(),Ae(null)},disabled:l,sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Download,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Export"})]}),!Je&&W&&!(je!=null&&je.includes("grouping"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{W(),Ae(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Layers,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Grouping"})]}),Q&&!(je!=null&&je.includes("auditHistory"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{Q(),Ae(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.History,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Audit History"})]}),$e&&!(je!=null&&je.includes("scheduledReports"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{$e(),Ae(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Schedule,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Scheduled Reports"})]}),_t==null?void 0:_t.map(j=>t.jsxs(o.MenuItem,{dense:!0,disabled:j.disabled,onClick:()=>{j.onClick(),Ae(null)},sx:{py:1,px:2,gap:1.5},children:[j.icon,t.jsx(o.Typography,{variant:"body2",children:j.label})]},j.key))]}),t.jsxs(o.Box,{sx:{position:"relative",flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[Cr&&Cr.length>0&&lt.size>0&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1,bgcolor:j=>ct(j).bg,borderBottom:"1px solid",borderColor:"divider"},children:[t.jsxs(o.Typography,{variant:"body2",sx:{fontWeight:j=>j.typography.body2.fontWeight||600,mr:1},children:[lt.size," selected"]}),t.jsx(o.Button,{size:"small",onClick:()=>Pt==null?void 0:Pt(),children:"Clear"}),Cr.map(j=>{var oe,Te;const N=Array.from(St);return(oe=j.hidden)!=null&&oe.call(j,N)?null:t.jsx(o.Button,{size:"small",variant:"outlined",startIcon:j.icon,disabled:(Te=j.disabled)==null?void 0:Te.call(j,N),onClick:()=>j.onClick(N),children:j.label},j.key)})]}),it!=="list"&&t.jsx(o.Box,{sx:{flex:1,overflowY:"auto",overflowX:"hidden",bgcolor:"action.hover"},children:t.jsx(wu,{data:Ve,visibleColumns:Jr,grouping:m,selectedRowIds:St,isGrouped:!!Zr,onToggleGroupCollapse:U,onCardClick:(j,N)=>go(j,N),onCardDoubleClick:j=>{Ze!=null&&Ze.includes("doubleClick")&&(ee(j),ye(!0))},onCardContextMenu:(j,N,oe)=>{Ce==null||Ce(j,N,oe),at(null),Ge({mouseX:oe.clientX,mouseY:oe.clientY,row:j,rowIndex:N}),Ze!=null&&Ze.includes("rightClick")&&(ee(j),ye(!0))},onOpenRowMenu:(j,N,oe)=>Ge({anchorEl:oe,row:j,rowIndex:N}),onToggleSelection:j=>Qe==null?void 0:Qe(j),hideSelectionCheckboxes:Lr})}),it==="list"&&t.jsxs(o.Box,{sx:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[t.jsx(o.Box,{ref:Yr,onScroll:j=>{fo.current&&(fo.current.scrollLeft=j.target.scrollLeft)},sx:{overflowX:"auto",overflowY:"hidden",flexShrink:0,scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},children:t.jsxs(o.Table,{sx:{tableLayout:"fixed",borderCollapse:"collapse",borderSpacing:0,width:"100%",minWidth:`${Object.values(Xr).reduce((j,N)=>j+N,0)}px`},children:[t.jsxs("colgroup",{children:[gt&&t.jsx("col",{style:{width:"40px"}}),rr.map(j=>t.jsx("col",{style:{width:`${Xr[j.name]}px`}},j.name))]}),t.jsx(o.TableHead,{children:t.jsxs(o.TableRow,{sx:{bgcolor:(fe==null?void 0:fe.headerBg)??"action.hover",borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderColor:"divider"},children:[gt&&t.jsx(o.TableCell,{padding:"checkbox",sx:{borderBottom:(fe==null?void 0:fe.rowDivider)??"1px solid",borderColor:"divider",verticalAlign:(fe==null?void 0:fe.cellAlignV)??"middle"},children:t.jsx(o.Checkbox,{size:"small",checked:Fo,indeterminate:Vn,onChange:j=>Dt==null?void 0:Dt(j.target.checked,Ve)})}),rr.map((j,N)=>t.jsx(mu,{column:j,index:N,sortRule:n.find(oe=>oe.column===j.name),hasFilters:ni(i,j.name),isInSortStack:n.some(oe=>oe.column===j.name),isReadOnly:Je,hasModifications:Ln,width:g[j.name],onColumnClick:On,onMoveColumn:Mn,onColumnDragEnd:An,onResizeStart:_n,onSortAscending:D||Wn,onSortDescending:v||Rn,onRemoveSort:Pn,onOpenFilterForColumn:h||(()=>{}),onClearFiltersForColumn:he||(()=>{}),onGroupByColumn:ie,onHideColumn:Nn,onManageColumns:X||(()=>{}),onResetLayout:le},j.name))]})})]})}),t.jsx(o.Box,{ref:fo,onScroll:j=>{Yr.current&&(Yr.current.scrollLeft=j.target.scrollLeft)},sx:{flex:1,overflowY:"auto",overflowX:"auto",minHeight:0,bgcolor:"background.paper","&::-webkit-scrollbar":{width:8,height:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:j=>$(j.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:j=>$(j.palette.text.primary,.3)}}},children:t.jsxs(o.Table,{sx:{tableLayout:"fixed",borderCollapse:"collapse",borderSpacing:0,width:"100%",minWidth:`${Object.values(Xr).reduce((j,N)=>j+N,0)}px`},children:[t.jsxs("colgroup",{children:[gt&&t.jsx("col",{style:{width:"40px"}}),rr.map(j=>t.jsx("col",{style:{width:`${Xr[j.name]}px`}},j.name))]}),t.jsx(o.TableBody,{children:Ve.length===0?t.jsx(o.TableRow,{children:t.jsx(o.TableCell,{colSpan:rr.length,align:"center",sx:{py:4},children:t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"No data matches the current filters"})})}):Zr?Ve.map((j,N)=>j.isGroupHeader?Hn(j):Vo(j,N)):Ve.map((j,N)=>Vo(j,N))})]})})]}),br&&Ct&&t.jsx(ku,{currentPage:lr,pageSize:Rr,totalRows:Qt,totalFields:e.length,onPageChange:br,onPageSizeChange:Ct}),!(br&&Ct)&&t.jsx(o.Box,{sx:{px:3,py:1.5,bgcolor:"action.hover",borderTop:1,borderColor:"divider"},children:t.jsxs(o.Typography,{variant:"body2",color:"text.secondary",children:["Showing ",Ve.length," ",Ve.length===1?"row":"rows"]})})]})]}),t.jsxs(o.Popover,{open:!!ze,onClose:()=>{Ge(null),at(null)},anchorEl:(ze==null?void 0:ze.anchorEl)||null,anchorReference:ze!=null&&ze.anchorEl?"anchorEl":"anchorPosition",anchorPosition:ze&&!ze.anchorEl?{top:ze.mouseY,left:ze.mouseX}:void 0,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:ze!=null&&ze.anchorEl?{vertical:"top",horizontal:"right"}:{vertical:"top",horizontal:"left"},PaperProps:{sx:{minWidth:176,py:.5,borderRadius:1.5,boxShadow:3}},children:[!(Ke!=null&&Ke.includes("view"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ze&&(ee(ze.row),ye(!0)),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Visibility,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"View"})]}),!(Ke!=null&&Ke.includes("edit"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ze&&(Ur(ze.row),Tr(ze.rowIndex),Vt(!0)),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.Edit,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Edit"})]}),!(Ke!=null&&Ke.includes("duplicate"))&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ze&&(Nt==null||Nt(ze.rowIndex,ze.row)),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.ContentCopy,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"Duplicate"})]}),ze&&(dr==null?void 0:dr.map(j=>{var N,oe;return(N=j.hidden)!=null&&N.call(j,ze.row)?null:t.jsxs(o.MenuItem,{dense:!0,disabled:(oe=j.disabled)==null?void 0:oe.call(j,ze.row),onClick:()=>{j.onClick(ze.row,ze.rowIndex),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[j.icon,t.jsx(o.Typography,{variant:"body2",children:j.label})]},j.key)})),lt.size>0&&ar&&!(Ke!=null&&Ke.includes("export"))&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{sx:{my:.5}}),t.jsxs(o.MenuItem,{dense:!0,onMouseEnter:j=>{me(),at(j.currentTarget)},onMouseLeave:xe,sx:{py:1,px:2,gap:1.5,justifyContent:"space-between"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5},children:[t.jsx(O.Download,{sx:{fontSize:18,color:"text.secondary"}}),t.jsxs(o.Typography,{variant:"body2",children:["Export Selected (",lt.size,")"]})]}),t.jsx(O.ChevronRight,{sx:{fontSize:18,color:"text.secondary"}})]}),t.jsx(o.Popper,{open:!!Ir,anchorEl:Ir,placement:"right-start",transition:!0,sx:{zIndex:j=>j.zIndex.modal+1},modifiers:[{name:"offset",options:{offset:[0,0]}}],children:({TransitionProps:j})=>t.jsx(o.Grow,{...j,timeout:150,children:t.jsx(o.Paper,{onMouseEnter:me,onMouseLeave:xe,sx:{minWidth:176,py:.5,borderRadius:1.5,boxShadow:3},children:t.jsxs(o.MenuList,{dense:!0,autoFocusItem:!1,children:[t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ar("csv"),at(null),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.TableChart,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"CSV"})]}),t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ar("excel"),at(null),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.TableChart,{sx:{fontSize:18,color:"success.main"}}),t.jsx(o.Typography,{variant:"body2",children:"Excel"})]}),t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ar("json"),at(null),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.DataObject,{sx:{fontSize:18,color:"text.secondary"}}),t.jsx(o.Typography,{variant:"body2",children:"JSON"})]}),hr.export.allowedFormats.includes("pdf")&&t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ar("pdf"),at(null),Ge(null)},sx:{py:1,px:2,gap:1.5},children:[t.jsx(O.PictureAsPdf,{sx:{fontSize:18,color:"error.main"}}),t.jsx(o.Typography,{variant:"body2",children:"PDF"})]})]})})})})]}),!(Ke!=null&&Ke.includes("delete"))&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{sx:{my:.5}}),t.jsxs(o.MenuItem,{dense:!0,onClick:()=>{ze&&(Hr(ze.row),zr(!0)),Ge(null)},sx:{py:1,px:2,gap:1.5,color:"error.main"},children:[t.jsx(O.Delete,{sx:{fontSize:18,color:"error.main"}}),t.jsx(o.Typography,{variant:"body2",color:"error.main",children:"Delete"})]})]})]}),t.jsx(Iu,{open:ce,onClose:()=>{ye(!1),ee(null)},row:ut,schema:e,reportName:ft}),t.jsx(Du,{open:ho,onClose:()=>{Vt(!1),Ur(null),Tr(null)},onSave:j=>{$t!==null&&(rt==null||rt($t,j))},row:mo,schema:e,reportName:ft}),t.jsx(Eu,{open:po,onClose:()=>{zr(!1),Hr(null)},onConfirm:()=>{Br!==null&&(cr==null||cr(Br))},row:Br,schema:e}),t.jsx(ta,{isOpen:In,onClose:()=>Wo(!1),content:Sr})]})}function pt({content:e,isDev:r=!1}){const[n,i]=p.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(o.IconButton,{size:"small",onClick:s=>i(s.currentTarget),"aria-label":`Help: ${e.title}`,sx:{p:.375,color:"text.disabled","&:hover":{color:"primary.main",bgcolor:s=>$(s.palette.primary.main,.08)}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:15}})}),t.jsxs(o.Popover,{open:!!n,anchorEl:n,onClose:()=>i(null),anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},PaperProps:{sx:{width:280,borderRadius:"10px",boxShadow:4,p:0,overflow:"hidden"}},children:[t.jsx(o.Box,{sx:{px:2,py:1.5,bgcolor:s=>$(s.palette.primary.main,.06)},children:t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:s=>s.typography.body2.fontWeight||600,color:"primary.main",fontSize:s=>s.typography.body2.fontSize||"0.875rem"},children:e.title})}),t.jsx(o.Divider,{}),t.jsxs(o.Box,{sx:{px:2,py:1.5,display:"flex",flexDirection:"column",gap:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{color:"text.secondary",fontSize:s=>s.typography.body2.fontSize||"0.8125rem",lineHeight:1.6},children:e.description}),e.tips&&e.tips.length>0&&t.jsx(o.Box,{component:"ul",sx:{m:0,pl:2,display:"flex",flexDirection:"column",gap:.5},children:e.tips.map((s,a)=>t.jsx(o.Box,{component:"li",sx:{fontSize:"0.8125rem",color:"text.secondary",lineHeight:1.5},children:s},a))}),r&&e.devNote&&t.jsxs(t.Fragment,{children:[t.jsx(o.Divider,{sx:{my:.5}}),t.jsxs(o.Box,{sx:{px:1.25,py:.75,borderRadius:"6px",bgcolor:s=>$(s.palette.warning.main,.08),border:"1px solid",borderColor:s=>$(s.palette.warning.main,.2)},children:[t.jsx(o.Typography,{variant:"caption",sx:{color:"warning.dark",fontWeight:s=>s.typography.caption.fontWeight||500,fontSize:s=>s.typography.caption.fontSize||"0.75rem",display:"block",mb:.25},children:"Dev note"}),t.jsx(o.Typography,{variant:"caption",sx:{color:"warning.dark",fontSize:s=>s.typography.caption.fontSize||"0.75rem",lineHeight:1.5},children:e.devNote})]})]})]})]})]})}const Mr={filter:{title:"Filter columns",description:"Narrow down rows by setting conditions on any column. Only rows matching all active filters are shown.",tips:["Add multiple conditions to combine filters (AND logic)",'Use "Contains" for partial text matches','Use "Is empty" to find missing values',"Clear all filters to return to the full dataset"],devNote:"Max filter conditions controlled by DevConfig → Filter → maxConditions. Allowed operators also configurable."},sort:{title:"Sort columns",description:"Order rows by one or more columns. Drag levels to set sort priority — the first level is applied first.",tips:["Add multiple sort levels for multi-column sorting","Drag the ⋮⋮ handle to reorder sort priority","Each level can be ascending (A→Z, 0→9) or descending"],devNote:"Max sort levels controlled by DevConfig → Sort → maxLevels."},grouping:{title:"Group data",description:"Organize rows into collapsible groups by one or more column values. Each unique value becomes a group header.",tips:["Add up to 3 nesting levels for hierarchical grouping","Click a group header to collapse or expand it","Aggregates (count) are shown on each group header","Combine grouping with filters and sort for focused views"],devNote:"Max group levels controlled by DevConfig → Grouping → maxLevels. allowNested and allowCollapse also configurable."},columns:{title:"Manage columns",description:"Control which columns are visible, their display order, and their widths.",tips:["Drag rows to reorder columns","Toggle the eye icon to show or hide a column","Drag the resize handle in the table header to resize","Reset to restore default visibility and order"],devNote:"Max visible columns and width range controlled by DevConfig → Columns."},export:{title:"Export data",description:"Download the report data as a file. Choose between CSV, Excel, or JSON format.",tips:["CSV: universal format, opens in any spreadsheet app","Excel: formatted .xlsx file with native Excel support","JSON: structured data including metadata","Export visible rows only (after filters) or all rows"],devNote:"Allowed export formats controlled by DevConfig → Export → allowedFormats."},schedule:{title:"Scheduled reports",description:"Set up automatic exports that run at a specified time — daily, weekly, or monthly.",tips:["The browser tab must remain open for the schedule to fire","Each schedule triggers a file download automatically","Add an email address to open a notification in your mail app","Pause a schedule without deleting it","24-hour format · Tab must be open for the schedule to fire","Opens your device's email app when the schedule fires. If you added email."],devNote:"Schedules are stored in localStorage per-report. Key: urm_schedules_{reportId}."},auditHistory:{title:"Audit history",description:"A full log of all changes made to this report — filters applied, sorts changed, views saved, exports triggered, and more.",tips:["Each entry shows the action, timestamp, and who performed it","Use audit history to trace back unexpected changes"],devNote:"Audit entries are stored per-report in IndexedDB via the persistence layer."}},oi=40;function Hu({operator:e,onSelect:r}){return t.jsxs(o.Select,{value:e,onChange:n=>r(n.target.value),size:"small",variant:"outlined",sx:{position:"relative",zIndex:1,mt:1,width:58,height:24,fontSize:"0.6875rem",fontWeight:700,color:"primary.main",bgcolor:"background.paper",borderRadius:"6px","& .MuiSelect-select":{py:0,px:1,display:"flex",alignItems:"center"},"& .MuiOutlinedInput-notchedOutline":{borderColor:"divider"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"}},children:[t.jsx(o.MenuItem,{value:"and",sx:{fontSize:"0.75rem",fontWeight:600},children:"AND"}),t.jsx(o.MenuItem,{value:"or",sx:{fontSize:"0.75rem",fontWeight:600},children:"OR"})]})}function Uu({condition:e,schema:r,availableColumns:n,devConfig:i,onUpdate:s}){const a=r.find(u=>u.name===e.column),c=p.useMemo(()=>{const u=a?an(a.type):[],y=i.filter.allowedOperators;return y.length>0?u.filter(g=>y.includes(g.value)):u},[a,i]),l=Ml(e.operator);return t.jsxs(o.Box,{sx:{display:"flex",gap:1,alignItems:"center",flexWrap:"wrap"},children:[t.jsx(o.FormControl,{size:"small",sx:{minWidth:150,flex:"1 1 150px"},children:t.jsx(o.Select,{value:e.column,onChange:u=>{var m;const y=r.find(S=>S.name===u.target.value),g=y?an(y.type):[];s({column:u.target.value,operator:((m=g[0])==null?void 0:m.value)??e.operator,value:void 0})},displayEmpty:!0,sx:{fontSize:"0.875rem",height:36,borderRadius:"4px",bgcolor:"background.paper"},children:n.map(u=>t.jsx(o.MenuItem,{value:u.name,sx:{fontSize:"0.875rem"},children:dt(u.name)},u.name))})}),t.jsx(o.FormControl,{size:"small",sx:{minWidth:130,flex:"1 1 130px"},children:t.jsx(o.Select,{value:e.operator,onChange:u=>s({operator:u.target.value,value:void 0}),sx:{fontSize:"0.875rem",height:36,borderRadius:"4px",bgcolor:"background.paper"},children:c.map(u=>t.jsx(o.MenuItem,{value:u.value,sx:{fontSize:"0.875rem"},children:u.label},u.value))})}),l&&(a==null?void 0:a.type)==="date"&&t.jsx(o.TextField,{size:"small",type:"date",value:e.value??"",onChange:u=>s({value:u.target.value}),sx:{minWidth:160,flex:"1 1 160px","& .MuiInputBase-root":{height:36,fontSize:"0.875rem"}}}),l&&(a==null?void 0:a.type)!=="date"&&t.jsx(o.TextField,{size:"small",type:(a==null?void 0:a.type)==="number"?"number":"text",value:e.value??"",onChange:u=>s({value:(a==null?void 0:a.type)==="number"?Number(u.target.value):u.target.value}),placeholder:"Value…",sx:{minWidth:160,flex:"1 1 160px","& .MuiInputBase-root":{height:36,fontSize:"0.875rem"}}})]})}function aa({group:e,depth:r,schema:n,availableColumns:i,devConfig:s,maxConditions:a,totalConditions:c,onChange:l}){const u=c>=a;return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.25},children:[e.children.map((y,g)=>t.jsxs(o.Box,{sx:{display:"flex",alignItems:"stretch",gap:1},children:[t.jsxs(o.Box,{sx:{width:oi,flexShrink:0,position:"relative",display:"flex",justifyContent:"center"},children:[g<e.children.length-1&&t.jsx(o.Box,{sx:{position:"absolute",top:0,bottom:0,left:"50%",width:"1px",bgcolor:"divider"}}),g>0&&t.jsx(Hu,{operator:e.operator,onSelect:m=>l(S=>mi(S,e.id,m))}),g>0&&t.jsx(o.Box,{sx:{position:"absolute",top:13,left:"50%",width:oi/2,height:"1px",bgcolor:"divider"}})]}),t.jsx(o.Box,{sx:{flex:1,minWidth:0,pt:g>0?1:0},children:Xe(y)?t.jsx(Gu,{group:y,depth:r+1,schema:n,availableColumns:i,devConfig:s,maxConditions:a,totalConditions:c,onChange:l}):t.jsx(Uu,{condition:y,schema:n,availableColumns:i,devConfig:s,onUpdate:m=>l(S=>hi(S,y.id,m))})}),t.jsx(o.IconButton,{size:"small",onClick:()=>l(m=>fi(m,y.id)),sx:{mt:g>0?1:.25,color:"text.secondary",flexShrink:0},children:t.jsx(O.Close,{sx:{fontSize:16}})})]},y.id)),t.jsxs(o.Box,{sx:{display:"flex",gap:2,pl:`${oi}px`},children:[t.jsx(o.Button,{size:"small",disabled:u||i.length===0,onClick:()=>l(y=>{var g,m,S;return co(y,e.id,{id:lo(),column:((g=i[0])==null?void 0:g.name)??"",operator:((S=an(((m=i[0])==null?void 0:m.type)??"string")[0])==null?void 0:S.value)??"equals"})}),sx:{fontSize:"0.8125rem",color:"primary.main",p:0,minWidth:"auto","&:hover":{bgcolor:"transparent",textDecoration:"underline"}},children:"+ Add condition"}),t.jsx(o.Button,{size:"small",disabled:u,onClick:()=>l(y=>co(y,e.id,At())),sx:{fontSize:"0.8125rem",color:"text.secondary",p:0,minWidth:"auto","&:hover":{bgcolor:"transparent",textDecoration:"underline"}},children:"+ Add group"})]})]})}function Gu(e){return t.jsx(o.Box,{sx:{position:"relative",border:"1px solid",borderColor:r=>$(r.palette.primary.main,.2),borderLeft:"3px solid",borderLeftColor:"primary.main",bgcolor:r=>$(r.palette.primary.main,r.palette.mode==="dark"?.06:.03),borderRadius:"8px",p:1.25},children:t.jsx(aa,{...e})})}function Yu({schema:e,filters:r,onReplaceFilters:n,onClose:i,focusColumn:s,onOpenDevConfig:a}){const[c,l]=p.useState(r??At()),u=gr(),y=p.useMemo(()=>e.filter(B=>B.type!=="mixed"&&B.type!=="null"&&B.type!=="array"&&B.type!=="object"),[e]);p.useEffect(()=>{var h;const B=r??At();if(s&&B.children.length===0){const k=e.find(T=>T.name===s);if(k){l(co(B,B.id,{id:lo(),column:s,operator:((h=an(k.type)[0])==null?void 0:h.value)??"equals"}));return}}l(B)},[r,s,e]);const g=Tt(c),m=u.filter.maxConditions,S=p.useCallback(B=>{l(h=>B(h))},[]),C=p.useMemo(()=>JSON.stringify(c)!==JSON.stringify(r??At()),[c,r]),D=p.useCallback(()=>{n(c),i()},[c,n,i]),v=p.useCallback(()=>{l(r??At()),i()},[r,i]),x=p.useCallback(()=>{n(At()),i()},[n,i]);return t.jsx(o.Box,{onClick:v,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:B=>$(B.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:B=>B.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:B=>B.stopPropagation(),elevation:0,sx:{position:"relative",width:640,maxWidth:"calc(100vw - 120px)",maxHeight:"min(620px, calc(100vh - 200px))",display:"flex",flexDirection:"column",borderRadius:B=>ot(B),bgcolor:"background.paper",outline:"none",boxShadow:B=>de(B).paper.boxShadow,border:B=>de(B).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:B=>de(B).header.backgroundColor,borderBottom:B=>de(B).header.borderBottom,boxShadow:B=>de(B).header.boxShadow,flexShrink:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:B=>B.typography.h6.fontSize||"1.125rem",fontWeight:B=>B.typography.h6.fontWeight||500,color:B=>B.typography.h6.color||"text.primary",lineHeight:1.5},children:"Filter columns"}),t.jsx(pt,{content:Mr.filter,isDev:process.env.NODE_ENV==="development"})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[a&&t.jsx(o.IconButton,{onClick:a,size:"small",title:"Dev config",sx:{p:.5,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Settings,{sx:{fontSize:18}})}),t.jsx(o.IconButton,{onClick:v,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]})]}),t.jsxs(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:2.5,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:B=>$(B.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:B=>$(B.palette.text.primary,.3)}}},children:[g===0&&t.jsxs(o.Typography,{variant:"body2",sx:{color:"text.disabled",fontSize:B=>B.typography.body2.fontSize||"0.875rem",mb:2},children:["No conditions yet — add one below to start filtering",s?` on "${dt(s)}"`:"","."]}),t.jsx(aa,{group:c,depth:0,schema:e,availableColumns:y,devConfig:u,maxConditions:m,totalConditions:g,onChange:S}),g>=m&&t.jsxs(o.Typography,{variant:"caption",sx:{display:"block",mt:1.5,color:"warning.dark",fontSize:B=>B.typography.caption.fontSize||"0.75rem",fontWeight:B=>B.typography.caption.fontWeight||500},children:["Filter limit reached — maximum ",m," conditions allowed. Remove one to add another."]})]}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",alignItems:"center",gap:1.5,justifyContent:"space-between",flexShrink:0,bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:x,disabled:g===0,sx:{fontSize:"0.875rem",color:"error.main",p:0,minWidth:"auto","&:hover":{bgcolor:"transparent",color:"error.dark",textDecoration:"underline"},"&.Mui-disabled":{color:"text.disabled"}},children:"Clear all"}),t.jsxs(o.Box,{sx:{display:"flex",gap:1.5},children:[t.jsx(o.Button,{onClick:v,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,minHeight:36,borderRadius:B=>`${B.shape.borderRadius}px`,"&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:D,disabled:!C,variant:"contained",sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:1,minHeight:36,borderRadius:B=>`${B.shape.borderRadius}px`,boxShadow:B=>ve(B,"restButton"),"&:hover":{bgcolor:"primary.dark"},"&.Mui-disabled":{bgcolor:"action.disabledBackground",color:"action.disabled"}},children:"Apply filter"})]})]})]})})}const Ss="SORT_RULE";function qu({rule:e,index:r,onToggleDirection:n,onRemove:i,onMove:s}){const a=p.useRef(null),[{handlerId:c},l]=ir.useDrop({accept:Ss,collect(g){return{handlerId:g.getHandlerId()}},hover(g,m){var h;if(!a.current)return;const S=g.index,C=r;if(S===C)return;const D=(h=a.current)==null?void 0:h.getBoundingClientRect(),v=(D.bottom-D.top)/2,x=m.getClientOffset(),B=((x==null?void 0:x.y)??0)-D.top;S<C&&B<v||S>C&&B>v||(s(S,C),g.index=C)}}),[{isDragging:u},y]=ir.useDrag({type:Ss,item:()=>({index:r}),collect:g=>({isDragging:g.isDragging()})});return y(l(a)),t.jsxs(o.Box,{ref:a,"data-handler-id":c,sx:{display:"flex",alignItems:"center",gap:1.25,px:2,py:1.25,borderRadius:"8px",bgcolor:"background.paper",border:"1px solid divider",opacity:u?.4:1,cursor:"move",transition:"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)","&:hover":{bgcolor:"action.hover",borderColor:"divider",boxShadow:g=>ve(g,"restButtonLight"),transform:"translateY(-1px)"}},children:[t.jsx(o.Chip,{label:e.priority,size:"small",sx:{width:26,height:26,fontSize:"0.75rem",fontWeight:600,bgcolor:"primary.main",color:"background.paper",boxShadow:g=>`0 1px 2px 0 ${$(g.palette.primary.main,.3)}`,"& .MuiChip-label":{px:0}}}),t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:"3px",cursor:"grab",px:.5,opacity:.6,transition:"opacity 0.2s ease","&:hover":{opacity:1},"&:active":{cursor:"grabbing"}},children:[t.jsx(o.Box,{sx:{width:"4px",height:"4px",borderRadius:"50%",bgcolor:"text.secondary"}}),t.jsx(o.Box,{sx:{width:"4px",height:"4px",borderRadius:"50%",bgcolor:"text.secondary"}}),t.jsx(o.Box,{sx:{width:"4px",height:"4px",borderRadius:"50%",bgcolor:"text.secondary"}})]}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:g=>g.typography.body2.fontSize||"0.875rem",fontWeight:g=>g.typography.body2.fontWeight||400,color:"text.primary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:"0 0 100px",lineHeight:1.5},children:e.column}),t.jsx(o.FormControl,{size:"small",sx:{flex:1,minWidth:100},children:t.jsxs(o.Select,{value:e.direction,onChange:g=>n(r,g.target.value),sx:{fontSize:"0.875rem",height:36,borderRadius:"4px",bgcolor:"background.paper","& .MuiOutlinedInput-notchedOutline":{borderColor:"divider",transition:"border-color 0.2s ease"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:"2px"},"& .MuiSelect-select":{py:.875,color:"text.primary",fontWeight:400}},children:[t.jsx(o.MenuItem,{value:"asc",sx:{fontSize:"0.875rem",color:"text.primary","&:hover":{bgcolor:"action.hover"},"&.Mui-selected":{bgcolor:g=>It(g),"&:hover":{bgcolor:g=>$(g.palette.primary.main,.2)}}},children:"Ascending"}),t.jsx(o.MenuItem,{value:"desc",sx:{fontSize:"0.875rem",color:"text.primary","&:hover":{bgcolor:"action.hover"},"&.Mui-selected":{bgcolor:g=>It(g),"&:hover":{bgcolor:g=>$(g.palette.primary.main,.2)}}},children:"Descending"})]})}),t.jsx(o.IconButton,{onClick:()=>i(r),size:"small",sx:{p:.5,color:"text.secondary",transition:"all 0.2s ease","&:hover":{color:"error.main",bgcolor:g=>$(g.palette.error.main,.08),transform:"scale(1.1)"}},children:t.jsx(O.Close,{sx:{fontSize:18}})})]})}function Ju({schema:e,sortStack:r,onUpdateSortStack:n,onClose:i,onOpenDevConfig:s}){const[a,c]=p.useState(""),[l,u]=p.useState([]);p.useEffect(()=>{u([...r])},[r]);const y=p.useMemo(()=>JSON.stringify(l)!==JSON.stringify(r),[l,r]),g=gr(),m=p.useCallback(k=>{if(!k||l.length>=g.sort.maxLevels)return;const T={column:k,direction:"asc",priority:l.length+1};u([...l,T]),c(""),setTimeout(()=>{var b;return(b=document.activeElement)==null?void 0:b.blur()},0)},[l,g.sort.maxLevels]),S=p.useCallback(k=>{const b=l.filter((R,H)=>H!==k).map((R,H)=>({...R,priority:H+1}));u(b)},[l]),C=p.useCallback((k,T)=>{const b=[...l];b[k]={...b[k],direction:T},u(b)},[l]),D=p.useCallback((k,T)=>{const b=[...l],[R]=b.splice(k,1);b.splice(T,0,R);const H=b.map((E,Y)=>({...E,priority:Y+1}));u(H)},[l]),v=p.useCallback(()=>{n([]),i()},[n,i]),x=p.useCallback(()=>{n(l),i()},[l,n,i]),B=p.useCallback(()=>{u([...r]),c(""),i()},[r,i]),h=e.filter(k=>!l.some(T=>T.column===k.name));return t.jsx(ir.DndProvider,{backend:ui.HTML5Backend,children:t.jsx(o.Box,{onClick:B,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:k=>$(k.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:k=>k.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:k=>k.stopPropagation(),elevation:0,sx:{position:"relative",width:480,maxWidth:"calc(100vw - 120px)",maxHeight:"min(440px, calc(100vh - 280px))",display:"flex",flexDirection:"column",borderRadius:k=>ot(k),bgcolor:"background.paper",outline:"none",boxShadow:k=>de(k).paper.boxShadow,border:k=>de(k).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:k=>de(k).header.backgroundColor,borderBottom:k=>de(k).header.borderBottom,boxShadow:k=>de(k).header.boxShadow,flexShrink:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:k=>k.typography.h6.fontSize||"1.125rem",fontWeight:k=>k.typography.h6.fontWeight||500,color:k=>k.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:"Sort columns"}),t.jsx(pt,{content:Mr.sort,isDev:process.env.NODE_ENV==="development"})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[s&&t.jsx(o.IconButton,{onClick:s,size:"small",title:"Dev config",sx:{p:.5,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Settings,{sx:{fontSize:18}})}),t.jsx(o.IconButton,{onClick:B,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]})]}),t.jsxs(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:2.5,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:k=>$(k.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:k=>$(k.palette.text.primary,.3)}}},children:[t.jsxs(o.Box,{sx:{mb:2.5},children:[t.jsx(o.Typography,{variant:"overline",sx:{fontSize:k=>k.typography.caption.fontSize||"0.6875rem",fontWeight:k=>k.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1.5,display:"block",textTransform:"uppercase"},children:"Add sort level"}),t.jsxs(o.FormControl,{size:"small",fullWidth:!0,disabled:l.length>=g.sort.maxLevels,children:[t.jsx(o.InputLabel,{sx:{fontSize:"0.875rem",color:"text.secondary","&.Mui-focused":{color:"primary.main"}},children:"Select column..."}),t.jsx(o.Select,{value:a,onChange:k=>m(k.target.value),label:"Select column...",sx:{fontSize:"0.875rem",height:40,borderRadius:"4px",bgcolor:"background.paper","& .MuiOutlinedInput-notchedOutline":{borderColor:"divider",transition:"border-color 0.2s ease"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:"2px"},"&.Mui-disabled":{bgcolor:"action.hover"}},children:h.map(k=>t.jsx(o.MenuItem,{value:k.name,sx:{fontSize:"0.875rem",color:"text.primary",py:1,"&:hover":{bgcolor:"action.hover"},"&.Mui-selected":{bgcolor:T=>It(T),"&:hover":{bgcolor:T=>$(T.palette.primary.main,.2)}}},children:dt(k.name)},k.name))})]}),l.length>=g.sort.maxLevels&&t.jsxs(o.Typography,{variant:"caption",sx:{mt:.75,display:"block",color:"warning.dark",fontSize:k=>k.typography.caption.fontSize||"0.75rem",fontWeight:k=>k.typography.caption.fontWeight||500},children:["Maximum ",g.sort.maxLevels," sort levels allowed"]})]}),l.length>0&&t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1.5},children:[t.jsxs(o.Typography,{variant:"overline",sx:{fontSize:k=>k.typography.caption.fontSize||"0.6875rem",fontWeight:k=>k.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",textTransform:"uppercase"},children:["Sorted sequence (",l.length,"/",g.sort.maxLevels,")"]}),t.jsx(o.Button,{onClick:v,sx:{fontSize:"0.875rem",color:"error.main",p:0,minWidth:"auto",minHeight:"auto",transition:"color 0.2s ease","&:hover":{bgcolor:"transparent",color:"error.dark",textDecoration:"underline"}},children:"Clear all"})]}),t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.25},children:l.map((k,T)=>t.jsx(qu,{rule:k,index:T,onToggleDirection:C,onRemove:S,onMove:D},`${k.column}-${T}`))})]})]}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",gap:1.5,justifyContent:"flex-end",flexShrink:0,bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:B,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,minHeight:36,borderRadius:k=>`${k.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:x,variant:"contained",disabled:!y||l.length===0,sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:1,minHeight:36,borderRadius:k=>`${k.shape.borderRadius}px`,boxShadow:k=>ve(k,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:k=>ve(k,"hoverButton")},"&:active":{boxShadow:k=>ve(k,"pressedButton"),transform:"translateY(1px)"}},children:"Apply sort"})]})]})})})}const Qo=50;function Cs({currentSnapshot:e,onSave:r,onClose:n,isEditMode:i=!1,initialName:s="",initialDescription:a="",initialIsDefault:c=!1,atViewLimit:l=!1,maxViews:u=10}){const[y,g]=p.useState(s),[m,S]=p.useState(!1),[C,D]=p.useState(a),[v,x]=p.useState(c),B=()=>{if(!y.trim()){S(!0);return}if(y.trim().length>Qo){S(!0);return}r(y.trim(),C.trim(),v),n()},h=T=>{T.key==="Enter"&&!T.shiftKey?B():T.key==="Escape"&&n()},k=()=>i&&s?`Update ${s} view`:"Create New Report View";return t.jsxs(o.Dialog,{open:!0,onClose:n,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:T=>({mt:8,borderRadius:ot(T),...de(T).paper})},children:[t.jsxs(o.DialogTitle,{sx:T=>({display:"flex",alignItems:"center",justifyContent:"space-between",pb:1,...de(T).header}),children:[k(),t.jsx(o.IconButton,{onClick:n,size:"small",sx:{color:"text.secondary"},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.DialogContent,{children:t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2,pt:1},children:[l&&!i&&t.jsxs(o.Alert,{severity:"warning",sx:{borderRadius:"8px"},children:["You have reached the maximum of ",u," saved views. Delete an existing view before creating a new one."]}),t.jsx(o.TextField,{label:"View Name",required:!0,value:y,onChange:T=>{T.target.value.length<=Qo&&g(T.target.value),m&&T.target.value.trim()&&S(!1)},onKeyDown:h,placeholder:"e.g., Active Users",autoFocus:!0,fullWidth:!0,size:"small",disabled:l&&!i,inputProps:{maxLength:Qo},error:m&&!y.trim(),helperText:m&&!y.trim()?"View name is required":`${y.length} / ${Qo}`}),t.jsx(o.TextField,{label:"Description (optional)",value:C,onChange:T=>D(T.target.value),placeholder:"Brief description of this view",multiline:!0,rows:2,fullWidth:!0,size:"small"}),t.jsxs(o.Paper,{sx:{p:2,bgcolor:"action.hover"},variant:"outlined",children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:T=>T.typography.body2.fontWeight||500,mb:1},children:"This view will capture:"}),t.jsxs(o.Box,{component:"ul",sx:{m:0,pl:2,"& li":{fontSize:"body2.fontSize",color:"text.secondary"}},children:[t.jsxs("li",{children:[Tt(e.filters)," filter",Tt(e.filters)!==1?"s":""]}),t.jsxs("li",{children:["Sorting: ",Qa(e.sortStack)]}),t.jsx("li",{children:"Column order & visibility"})]})]}),!i&&t.jsx(o.FormControlLabel,{control:t.jsx(o.Checkbox,{checked:v,onChange:T=>x(T.target.checked),size:"small"}),label:t.jsx(o.Typography,{variant:"body2",children:"Set as default view"})})]})}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end"},children:[t.jsx(o.Button,{onClick:n,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:.875,minHeight:36,borderRadius:T=>`${T.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:B,variant:"contained",disabled:l&&!i,startIcon:t.jsx(O.Save,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:.875,minHeight:36,borderRadius:T=>`${T.shape.borderRadius}px`,boxShadow:T=>ve(T,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:T=>ve(T,"hoverButton")},"&:active":{boxShadow:T=>ve(T,"pressedButton"),transform:"translateY(1px)"},"&.Mui-disabled":{bgcolor:"divider",color:"text.disabled"}},children:i?"Save Changes":"Create Report View"})]})]})}function Ku({viewName:e,onConfirm:r,onCancel:n}){return t.jsxs(o.Dialog,{open:!0,onClose:n,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:i=>({borderRadius:ot(i),maxHeight:"min(480px, calc(100vh - 180px))",my:"auto",...de(i).paper})},children:[t.jsxs(o.DialogTitle,{sx:i=>({display:"flex",alignItems:"center",justifyContent:"space-between",pb:1,...de(i).header}),children:["Delete View",t.jsx(o.IconButton,{onClick:n,size:"small",sx:{color:"text.secondary"},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.DialogContent,{children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"flex-start",gap:1.5,mt:1},children:[t.jsx(O.Warning,{color:"error",sx:{fontSize:20,flexShrink:0}}),t.jsxs(o.Box,{children:[t.jsxs(o.Typography,{variant:"body2",sx:{mb:1},children:["Are you sure you want to delete the view ",t.jsxs("strong",{children:['"',e,'"']}),"?"]}),t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:"This action cannot be undone."})]})]})}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid",borderColor:"divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end"},children:[t.jsx(o.Button,{onClick:n,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:.875,minHeight:36,borderRadius:i=>`${i.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"action.selected",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:r,variant:"contained",color:"error",sx:{fontSize:"0.875rem",px:3,py:.875,minHeight:36,borderRadius:i=>`${i.shape.borderRadius}px`,boxShadow:i=>ve(i,"restButton"),transition:"all 0.2s ease","&:hover":{boxShadow:i=>ve(i,"hoverButton")},"&:active":{boxShadow:i=>ve(i,"pressedButton"),transform:"translateY(1px)"}},children:"Delete View"})]})]})}const ws="COLUMN";function Xu({column:e,index:r,isVisible:n,width:i,minColumnWidth:s,maxColumnWidth:a,canToggleOn:c,onToggleVisibility:l,onWidthChange:u,moveColumn:y}){const g=p.useRef(null),[m,S]=p.useState(i.toString());p.useEffect(()=>{S(i.toString())},[i]);const[{handlerId:C},D]=ir.useDrop({accept:ws,collect(b){return{handlerId:b.getHandlerId()}},hover(b,R){var w;if(!g.current)return;const H=b.index,E=r;if(H===E)return;const Y=(w=g.current)==null?void 0:w.getBoundingClientRect(),Z=(Y.bottom-Y.top)/2,I=R.getClientOffset(),f=((I==null?void 0:I.y)??0)-Y.top;H<E&&f<Z||H>E&&f>Z||(y(H,E),b.index=E)}}),[{isDragging:v},x]=ir.useDrag({type:ws,item:()=>({index:r}),collect:b=>({isDragging:b.isDragging()})});x(D(g));const B=()=>{const b=parseInt(m);if(isNaN(b)){S(i.toString()),u(e.name,i);return}const R=Math.max(s,Math.min(a,b));S(R.toString()),u(e.name,R)},h=b=>{if(b===""||/^\d+$/.test(b)){S(b);const R=parseInt(b);if(!isNaN(R)&&R>=s){const H=Math.min(a,R);u(e.name,H)}}},k=b=>{b.key==="Enter"&&(b.preventDefault(),B(),b.target.blur())},T=b=>({string:"primary.main",number:"success.main",boolean:"secondary.main",array:"info.main",object:"error.main",null:"text.secondary",mixed:"text.secondary"})[b]||"text.secondary";return t.jsxs(o.TableRow,{ref:g,"data-handler-id":C,sx:{opacity:v?.4:1,bgcolor:n?"background.paper":"action.hover",transition:"opacity 0.15s ease","&:hover":{bgcolor:n?"action.hover":"action.selected"},cursor:"move",height:56,borderBottom:"1px solid divider"},children:[t.jsx(o.TableCell,{sx:{py:1.5,px:2.5,borderBottom:"none"},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25},children:[t.jsx(o.Box,{sx:{color:"text.secondary",cursor:"grab",opacity:.6,transition:"opacity 0.2s ease","&:hover":{opacity:1},"&:active":{cursor:"grabbing"}},children:t.jsx(O.DragIndicator,{sx:{fontSize:20}})}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:b=>b.typography.body2.fontWeight||400,fontSize:b=>b.typography.body2.fontSize||"0.875rem",color:n?"text.primary":"text.secondary"},children:dt(e.name)})]})}),t.jsx(o.TableCell,{sx:{py:1.5,px:2.5,borderBottom:"none"},children:t.jsx(o.Chip,{label:e.type.toUpperCase(),size:"small",sx:{height:22,fontSize:"0.6875rem",fontWeight:600,bgcolor:`${T(e.type)}15`,color:T(e.type),border:`1px solid ${T(e.type)}30`,"& .MuiChip-label":{px:1}}})}),t.jsx(o.TableCell,{sx:{py:1.5,px:2.5,borderBottom:"none"},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.TextField,{type:"number",value:m,onChange:b=>h(b.target.value),onBlur:B,onKeyDown:k,placeholder:"150",size:"small",inputProps:{min:s,max:a,step:10},sx:{width:90,"& .MuiOutlinedInput-root":{height:32,fontSize:"0.8125rem",borderRadius:"4px",bgcolor:"background.paper","& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"primary.main"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:"2px"}},"& .MuiInputBase-input":{py:.5,px:1.25,color:"text.primary"},"& input[type=number]::-webkit-inner-spin-button":{opacity:1},"& input[type=number]::-webkit-outer-spin-button":{opacity:1}}}),t.jsx(o.Typography,{variant:"caption",sx:{fontSize:b=>b.typography.caption.fontSize||"0.75rem",color:"text.secondary"},children:"px"})]})}),t.jsx(o.TableCell,{sx:{py:1.5,px:2.5,borderBottom:"none"},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25},children:[t.jsx(o.IconButton,{onClick:()=>l(e.name,!n),disabled:!n&&!c,title:n?"Hide column":c?"Show column":"Max visible columns reached",size:"small",sx:{p:.75,color:n?"primary.main":"text.secondary",transition:"all 0.2s ease","&:hover:not(:disabled)":{bgcolor:"action.hover",color:n?"primary.dark":"primary.main"},"&:disabled":{opacity:.5,cursor:"not-allowed"}},children:n?t.jsx(O.Visibility,{sx:{fontSize:20}}):t.jsx(O.VisibilityOff,{sx:{fontSize:20}})}),t.jsx(o.Chip,{label:n?"Visible":"Hidden",size:"small",sx:{height:22,fontSize:"0.6875rem",fontWeight:500,bgcolor:n?b=>$(b.palette.success.main,.12):"action.selected",color:n?"success.main":"text.secondary","& .MuiChip-label":{px:1}}})]})})]})}function Qu({schema:e,columnVisibility:r,columnOrder:n,columnWidths:i={},views:s=[],activeViewId:a="",onUpdateColumnVisibility:c,onUpdateColumnOrder:l,onUpdateColumnWidth:u,onResetLayout:y,onClose:g}){const m=gr(),[S,C]=p.useState(!1),[D,v]=p.useState(n),[x,B]=p.useState(i),[h,k]=p.useState("all");p.useEffect(()=>{v(n)},[n]),p.useEffect(()=>{B(i)},[i]);const T=(w,P)=>{B(te=>({...te,[w]:P})),u==null||u(w,P)},b=(w,P)=>{const te=[...D],[d]=te.splice(w,1);te.splice(P,0,d),v(te),l(te)},R=()=>{y(),C(!1)},E=D.map(w=>e.find(P=>P.name===w)).filter(w=>w!==void 0).filter(w=>{const P=r[w.name]??!0;return h==="active"?P:h==="hidden"?!P:!0}),Y=Object.values(r).filter(w=>w).length,Z=e.length,I=s.find(w=>w.id===a),f=p.useMemo(()=>{if(!I)return!1;const w=I.snapshot,P=w.columnVisibility??{},te=JSON.stringify(r)!==JSON.stringify(P),d=w.columnOrder??[],J=n??[],re=JSON.stringify(J)!==JSON.stringify(d)&&!(J.length===0&&d.length===0),we=w.columnWidths??{},F=JSON.stringify(x)!==JSON.stringify(we);return te||re||F},[I,r,n,x]);return t.jsx(ir.DndProvider,{backend:ui.HTML5Backend,children:t.jsx(o.Box,{onClick:g,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:w=>$(w.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:w=>w.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:w=>w.stopPropagation(),elevation:0,sx:{position:"relative",width:720,maxWidth:"calc(100vw - 120px)",maxHeight:"min(760px, calc(100vh - 200px))",display:"flex",flexDirection:"column",borderRadius:w=>ot(w),bgcolor:"background.paper",outline:"none",boxShadow:w=>de(w).paper.boxShadow,border:w=>de(w).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{px:3,pt:2,pb:1.5,flexShrink:0,bgcolor:w=>de(w).header.backgroundColor,borderBottom:w=>de(w).header.borderBottom,boxShadow:w=>de(w).header.boxShadow},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between"},children:[t.jsx(o.Box,{sx:{flex:1},children:t.jsxs(o.Typography,{variant:"h6",sx:{fontSize:w=>w.typography.h6.fontSize||"1.125rem",fontWeight:w=>w.typography.h6.fontWeight||500,color:w=>w.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:["Manage columns",t.jsx(pt,{content:Mr.columns,isDev:process.env.NODE_ENV==="development"})]})}),t.jsx(o.IconButton,{onClick:g,size:"small",sx:{ml:2,p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsxs(o.Tabs,{value:h,onChange:(w,P)=>k(P),sx:{minHeight:36,mt:.5,"& .MuiTabs-indicator":{bgcolor:w=>ct(w).main,height:3}},children:[t.jsx(o.Tab,{label:"All",value:"all",sx:{minHeight:36,py:.75,px:2,fontSize:"0.875rem",fontWeight:500,textTransform:"none",color:"text.secondary",borderRadius:"8px 8px 0 0","&.Mui-selected":{borderBottomColor:"text.primary",fontWeight:600,bgcolor:w=>ct(w).hoverBg},"&:hover":{color:"text.primary",bgcolor:w=>ct(w).bg}}}),t.jsx(o.Tab,{label:"Visible",value:"active",sx:{minHeight:36,py:.75,px:2,fontSize:"0.875rem",fontWeight:500,textTransform:"none",color:"text.secondary",borderRadius:"8px 8px 0 0","&.Mui-selected":{color:"text.primary",fontWeight:600,bgcolor:w=>ct(w).hoverBg},"&:hover":{color:"text.primary",bgcolor:w=>ct(w).bg}}}),t.jsx(o.Tab,{label:"Hidden",value:"hidden",sx:{minHeight:36,py:.75,px:2,fontSize:"0.875rem",fontWeight:500,textTransform:"none",color:"text.secondary",borderRadius:"8px 8px 0 0","&.Mui-selected":{color:"text.primary",fontWeight:600,bgcolor:w=>ct(w).hoverBg},"&:hover":{color:"text.primary",bgcolor:w=>ct(w).bg}}})]})]}),t.jsx(o.Box,{sx:{flex:1,overflow:"auto","&::-webkit-scrollbar":{width:8,height:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:w=>$(w.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:w=>$(w.palette.text.primary,.3)}}},children:t.jsxs(o.Table,{stickyHeader:!0,sx:{minWidth:650},children:[t.jsx(o.TableHead,{children:t.jsxs(o.TableRow,{children:[t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"0.6875rem",color:"text.secondary",bgcolor:"background.paper",letterSpacing:"0.1em",py:1.5,px:2.5,borderBottom:"1px solid divider"},children:"Column name"}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"0.6875rem",color:"text.secondary",bgcolor:"background.paper",letterSpacing:"0.1em",py:1.5,px:2.5,borderBottom:"1px solid divider"},children:"Type"}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"0.6875rem",color:"text.secondary",bgcolor:"background.paper",letterSpacing:"0.1em",py:1.5,px:2.5,borderBottom:"1px solid divider"},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:["Width",t.jsx(o.Tooltip,{title:`Column width in pixels (min: ${m.columns.minColumnWidth}px, max: ${m.columns.maxColumnWidth}px)`,arrow:!0,placement:"top",children:t.jsx(O.InfoOutlined,{sx:{fontSize:14,color:"text.secondary",cursor:"help"}})})]})}),t.jsx(o.TableCell,{sx:{fontWeight:600,textTransform:"uppercase",fontSize:"0.6875rem",color:"text.secondary",bgcolor:"background.paper",letterSpacing:"0.1em",py:1.5,px:2.5,borderBottom:"1px solid divider"},children:"Visibility"})]})}),t.jsx(o.TableBody,{children:E.length===0?t.jsx(o.TableRow,{children:t.jsx(o.TableCell,{colSpan:4,align:"center",sx:{py:6,borderBottom:"none"},children:t.jsx(o.Typography,{variant:"body2",sx:{fontSize:w=>w.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:"No columns in this category"})})}):E.map((w,P)=>{const te=r[w.name]??!0,d=te||Y<m.columns.maxVisible;return t.jsx(Xu,{column:w,index:P,isVisible:te,width:x[w.name]||170,minColumnWidth:m.columns.minColumnWidth,maxColumnWidth:m.columns.maxColumnWidth,canToggleOn:d,onToggleVisibility:c,onWidthChange:T,moveColumn:b},w.name)})})]})}),t.jsx(o.Box,{sx:{px:3,py:1,borderTop:"1px solid divider",bgcolor:"background.default",flexShrink:0},children:t.jsxs(o.Typography,{variant:"body2",sx:{fontSize:w=>w.typography.body2.fontSize||"0.8125rem",color:"text.secondary"},children:[Y," of ",Z," columns visible • Drag to reorder"]})}),t.jsx(o.Box,{sx:{px:3,py:1.75,borderTop:"1px solid divider",display:"flex",justifyContent:"space-between",alignItems:"center",flexShrink:0,bgcolor:"action.hover"},children:t.jsx(o.Button,{onClick:()=>C(!0),disabled:!f,variant:"outlined",startIcon:t.jsx(O.Undo,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",color:"text.secondary",borderColor:"divider",px:2.5,py:.875,minHeight:36,borderRadius:w=>`${w.shape.borderRadius}px`,"&:hover":{borderColor:"primary.main",bgcolor:"background.paper",color:"primary.main"},"&.Mui-disabled":{color:"text.disabled",borderColor:"divider"}},children:"Reset"})}),S&&t.jsx(o.Box,{onClick:()=>C(!1),sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:w=>$(w.palette.common.black,.5),display:"flex",alignItems:"center",justifyContent:"center",zIndex:w=>w.zIndex.tooltip},children:t.jsxs(o.Paper,{onClick:w=>w.stopPropagation(),elevation:0,sx:{width:400,maxWidth:"90vw",borderRadius:w=>Mo(w),bgcolor:"background.paper",boxShadow:w=>de(w).paper.boxShadow,border:w=>de(w).paper.border},children:[t.jsxs(o.Box,{sx:{px:3,py:2.5},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:"1rem",fontWeight:500,color:"text.primary",mb:1.5},children:"Reset column layout?"}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:"0.875rem",color:"text.secondary",lineHeight:1.5},children:"This will restore default visibility, order, and widths for all columns."})]}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",gap:1.5,justifyContent:"flex-end",bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:()=>C(!1),variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,borderRadius:w=>`${w.shape.borderRadius}px`,"&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:R,variant:"contained",sx:{fontSize:"0.875rem",bgcolor:"error.main",color:"background.paper",px:3,py:1,borderRadius:w=>`${w.shape.borderRadius}px`,boxShadow:w=>ve(w,"pressedButton"),"&:hover":{bgcolor:"error.dark",boxShadow:w=>ve(w,"hoverButton")},"&:active":{boxShadow:w=>ve(w,"pressedButton"),transform:"translateY(1px)"}},children:"Reset layout"})]})]})})]})})})}function Zu({schema:e,grouping:r,onApply:n,onClose:i,onOpenDevConfig:s}){var H;const[a,c]=p.useState(r||{enabled:!1,levels:[],collapsedGroups:[]}),[l,u]=p.useState(""),[y,g]=p.useState(null),m=p.useMemo(()=>Ua(e),[e]),S=p.useMemo(()=>m.filter(E=>!a.levels.some((Y,Z)=>Y.column===E.name&&Z!==y)),[m,a.levels,y]),C=gr(),D=a.levels.length<C.grouping.maxLevels&&S.length>0&&(C.grouping.allowNested||a.levels.length===0),v=p.useCallback(E=>{!D||!E||(c({...a,levels:[...a.levels,{column:E}],enabled:!0}),u(""),setTimeout(()=>{var Y;return(Y=document.activeElement)==null?void 0:Y.blur()},0))},[D,a]),x=p.useCallback(E=>{const Y=a.levels.filter((Z,I)=>I!==E);if(Y.length===0){n(null),i();return}c({...a,levels:Y,enabled:Y.length>0})},[a,n,i]),B=p.useCallback(E=>{g(E),u(a.levels[E].column)},[a.levels]),h=p.useCallback(()=>{if(y===null||!l)return;const E=[...a.levels];E[y]={column:l},c({...a,levels:E}),g(null),u("")},[y,l,a]),k=p.useCallback(()=>{g(null),u("")},[]),T=p.useCallback((E,Y)=>{const Z=Y==="up"?E-1:E+1;if(Z<0||Z>=a.levels.length)return;const I=[...a.levels],[f]=I.splice(E,1);I.splice(Z,0,f),c({...a,levels:I})},[a]),b=p.useCallback(()=>{n(null),i()},[n,i]),R=p.useCallback(()=>{a.levels.length===0?n(null):n({...a,enabled:!0,collapsedGroups:(r==null?void 0:r.collapsedGroups)||[]}),i()},[a,r,n,i]);return t.jsx(o.Box,{onClick:i,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:E=>$(E.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:E=>E.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:E=>E.stopPropagation(),elevation:0,sx:{position:"relative",width:540,maxWidth:"calc(100vw - 120px)",maxHeight:"min(560px, calc(100vh - 280px))",display:"flex",flexDirection:"column",borderRadius:E=>ot(E),bgcolor:"background.paper",outline:"none",boxShadow:E=>de(E).paper.boxShadow,border:E=>de(E).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:E=>de(E).header.backgroundColor,borderBottom:E=>de(E).header.borderBottom,boxShadow:E=>de(E).header.boxShadow,flexShrink:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:E=>E.typography.h6.fontSize||"1.125rem",fontWeight:E=>E.typography.h6.fontWeight||500,color:E=>E.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:"Group configuration"}),t.jsx(pt,{content:Mr.grouping,isDev:process.env.NODE_ENV==="development"})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[s&&t.jsx(o.IconButton,{onClick:s,size:"small",title:"Dev config",sx:{p:.5,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Settings,{sx:{fontSize:18}})}),t.jsx(o.IconButton,{onClick:i,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]})]}),t.jsx(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:1,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:E=>$(E.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:E=>$(E.palette.text.primary,.3)}}},children:t.jsxs(o.Stack,{spacing:2.5,children:[y===null&&t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"overline",sx:{fontSize:E=>E.typography.caption.fontSize||"0.6875rem",fontWeight:E=>E.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1.5,display:"block",textTransform:"uppercase"},children:"Add group level"}),t.jsx(o.FormControl,{fullWidth:!0,size:"small",sx:{mb:1.5},children:t.jsxs(o.Select,{value:l,onChange:E=>v(E.target.value),disabled:!D,displayEmpty:!0,sx:{fontSize:"0.875rem",height:40,borderRadius:"4px",bgcolor:"background.paper","& .MuiOutlinedInput-notchedOutline":{borderColor:"divider",transition:"border-color 0.2s ease"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:"2px"},"&.Mui-disabled":{bgcolor:"action.hover"}},children:[t.jsx(o.MenuItem,{value:"",sx:{fontSize:"0.875rem",color:"text.secondary"},children:"Select a column..."}),S.map(E=>t.jsxs(o.MenuItem,{value:E.name,sx:{fontSize:"0.875rem",color:"text.primary",py:1,"&:hover":{bgcolor:"action.hover"},"&.Mui-selected":{bgcolor:Y=>It(Y),"&:hover":{bgcolor:Y=>$(Y.palette.primary.main,.2)}}},children:[dt(E.name)," (",E.type.toUpperCase(),")"]},E.name))]})}),a.levels.length>=C.grouping.maxLevels&&t.jsx(o.Typography,{variant:"caption",color:"text.secondary",sx:{display:"block",textAlign:"center",mt:1.5,fontSize:E=>E.typography.caption.fontSize||"0.75rem",color:"text.secondary"},children:"Maximum group levels (3) reached"}),m.length===0&&t.jsx(o.Typography,{variant:"body2",color:"text.secondary",sx:{textAlign:"center",py:2,fontSize:E=>E.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:"No groupable columns available. Only STRING and BOOLEAN columns can be grouped."})]}),y!==null&&t.jsxs(o.Alert,{severity:"warning",sx:{borderRadius:"8px",border:E=>`1px solid ${$(E.palette.warning.main,.5)}`,bgcolor:E=>$(E.palette.warning.main,.12),"& .MuiAlert-icon":{color:"warning.main"}},children:[t.jsxs(o.Typography,{variant:"body2",sx:{fontWeight:E=>E.typography.body2.fontWeight||500,mb:1.5,fontSize:E=>E.typography.body2.fontSize||"0.875rem",color:"text.primary"},children:["Edit Group Level ",y+1]}),t.jsx(o.FormControl,{fullWidth:!0,size:"small",sx:{mb:1.5},children:t.jsxs(o.Select,{value:l,onChange:E=>u(E.target.value),sx:{fontSize:"0.875rem",height:40,borderRadius:"4px",bgcolor:"background.paper","& .MuiOutlinedInput-notchedOutline":{borderColor:"divider"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:"2px"}},children:[t.jsx(o.MenuItem,{value:"",sx:{fontSize:"0.875rem"},children:"Select a column..."}),t.jsxs(o.MenuItem,{value:a.levels[y].column,sx:{fontSize:"0.875rem","&.Mui-selected":{bgcolor:E=>It(E)}},children:[a.levels[y].column," (",(H=e.find(E=>E.name===a.levels[y].column))==null?void 0:H.type.toUpperCase(),")"]}),S.filter(E=>E.name!==a.levels[y].column).map(E=>t.jsxs(o.MenuItem,{value:E.name,sx:{fontSize:"0.875rem","&.Mui-selected":{bgcolor:Y=>It(Y)}},children:[dt(E.name)," (",E.type.toUpperCase(),")"]},E.name))]})}),t.jsxs(o.Stack,{direction:"row",spacing:1.5,children:[t.jsx(o.Button,{onClick:h,disabled:!l,variant:"contained",fullWidth:!0,size:"small",sx:{fontSize:"0.875rem",bgcolor:"warning.main",color:"background.paper",py:.875,boxShadow:"none","&:hover":{bgcolor:"warning.dark",boxShadow:E=>ve(E,"pressedButton")}},children:"Save"}),t.jsx(o.Button,{onClick:k,variant:"outlined",fullWidth:!0,size:"small",sx:{fontSize:"0.875rem",color:"text.secondary",borderColor:"divider",py:.875,"&:hover":{borderColor:"text.secondary",bgcolor:"action.hover"}},children:"Cancel"})]})]}),a.levels.length>0&&y===null&&t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:1.5},children:[t.jsx(o.Typography,{variant:"overline",sx:{fontSize:E=>E.typography.caption.fontSize||"0.6875rem",fontWeight:E=>E.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",textTransform:"uppercase"},children:"Active group levels"}),t.jsx(o.Button,{onClick:b,size:"small",sx:{fontSize:"0.875rem",color:"error.main",p:0,minWidth:"auto","&:hover":{bgcolor:"transparent",color:"error.dark",textDecoration:"underline"}},children:"Clear all"})]}),t.jsx(o.Stack,{spacing:1.5,children:a.levels.map((E,Y)=>{const Z=e.find(I=>I.name===E.column);return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5,p:2,borderRadius:"8px",bgcolor:"background.paper",border:"1px solid divider",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",borderColor:"divider",boxShadow:I=>ve(I,"pressedButtonLight")}},children:[t.jsx(o.Chip,{label:`L${Y+1}`,size:"small",sx:{width:40,height:28,fontWeight:600,fontSize:"0.75rem",bgcolor:"primary.main",color:"background.paper",boxShadow:I=>`0 1px 2px 0 ${$(I.palette.primary.main,.3)}`}}),t.jsxs(o.Box,{sx:{flex:1},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:I=>I.typography.body2.fontWeight||500,fontSize:I=>I.typography.body2.fontSize||"0.875rem",color:"text.primary"},children:E.column}),t.jsx(o.Typography,{variant:"caption",sx:{fontSize:I=>I.typography.caption.fontSize||"0.75rem",color:"text.secondary"},children:Z==null?void 0:Z.type.toUpperCase()})]}),t.jsxs(o.Stack,{direction:"row",spacing:.5,children:[t.jsx(o.IconButton,{size:"small",onClick:()=>T(Y,"up"),disabled:Y===0,sx:{color:"text.secondary","&:hover":{bgcolor:"action.hover"},"&.Mui-disabled":{color:"divider"}},children:t.jsx(O.KeyboardArrowUp,{sx:{fontSize:18}})}),t.jsx(o.IconButton,{size:"small",onClick:()=>T(Y,"down"),disabled:Y===a.levels.length-1,sx:{color:"text.secondary","&:hover":{bgcolor:"action.hover"},"&.Mui-disabled":{color:"divider"}},children:t.jsx(O.KeyboardArrowDown,{sx:{fontSize:18}})}),t.jsx(o.IconButton,{size:"small",onClick:()=>B(Y),sx:{color:"text.secondary","&:hover":{bgcolor:"action.hover",color:"primary.main"}},children:t.jsx(O.Edit,{sx:{fontSize:18}})}),t.jsx(o.IconButton,{size:"small",onClick:()=>x(Y),sx:{color:"text.secondary","&:hover":{bgcolor:I=>$(I.palette.error.main,.08),color:"error.main"}},children:t.jsx(O.Delete,{sx:{fontSize:18}})})]})]},Y)})})]})]})}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",gap:1.5,justifyContent:"flex-end",flexShrink:0,bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:i,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,minHeight:36,borderRadius:E=>`${E.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:R,variant:"contained",disabled:a.levels.length===0,sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:1,minHeight:36,borderRadius:E=>`${E.shape.borderRadius}px`,boxShadow:E=>ve(E,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:E=>ve(E,"hoverButton")},"&:active":{boxShadow:E=>ve(E,"pressedButton"),transform:"translateY(1px)"}},children:"Apply grouping"})]})]})})}function ep({onExportAnyway:e,onSaveAndExport:r,onCancel:n}){return t.jsx(o.Box,{sx:{mb:2,mx:3,mt:2},children:t.jsxs(o.Alert,{severity:"warning",icon:t.jsx(O.Warning,{sx:{fontSize:20}}),action:t.jsx(o.IconButton,{size:"small",onClick:n,sx:{color:"warning.main"},children:t.jsx(O.Close,{sx:{fontSize:20}})}),sx:{alignItems:"flex-start"},children:[t.jsx(o.Typography,{variant:"subtitle2",sx:{fontWeight:i=>i.typography.h6.fontWeight||600,fontSize:i=>i.typography.h6.fontSize||"1rem",mb:.5},children:"You are exporting with unsaved view changes"}),t.jsx(o.Typography,{variant:"body2",sx:{mb:1.5},children:"Your current view has unsaved changes. Choose how to proceed:"}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Button,{onClick:r,variant:"contained",color:"primary",startIcon:t.jsx(O.Save,{sx:{fontSize:14}}),size:"small",children:"Save View & Export"}),t.jsx(o.Button,{onClick:e,variant:"contained",color:"warning",startIcon:t.jsx(O.Download,{sx:{fontSize:14}}),size:"small",children:"Export Anyway"})]})]})})}const js=[{key:"1h",label:"Last 1 Hour",ms:3600*1e3},{key:"24h",label:"Last 24 Hours",ms:1440*60*1e3},{key:"7d",label:"Last 7 Days",ms:10080*60*1e3},{key:"30d",label:"Last 30 Days",ms:720*60*60*1e3},{key:"all",label:"All Time",ms:null}];function tp(e,r){if(r===null)return e.length;const n=Date.now()-r;return e.filter(i=>new Date(i.timestamp).getTime()>=n).length}function rp(e,r){if(r===null)return[];const n=Date.now()-r;return e.filter(i=>new Date(i.timestamp).getTime()<n)}function op({auditHistory:e,onClose:r,onClearAuditHistory:n}){const i=ht(),s=i.palette,[a,c]=p.useState("1h"),[l,u]=p.useState(!1),[y,g]=p.useState("all"),[m,S]=p.useState(!0),[C,D]=p.useState(!1),[v,x]=p.useState(!1),B=[...e].sort((I,f)=>{const w=new Date(I.timestamp).getTime()-new Date(f.timestamp).getTime();return C?w:-w}),h=B.reduce((I,f)=>(I[f.feature]=(I[f.feature]??0)+1,I),{}),k=Object.keys(h).sort((I,f)=>(h[f]??0)-(h[I]??0)),T=y==="all"?B:B.filter(I=>I.feature===y),b=js.find(I=>I.key===a),R=tp(e,b.ms),H=()=>u(!0),E=()=>{n&&(n(rp(e,b.ms)),u(!1))},Y=I=>{const f=ys(i,I.feature),{summary:w,detail:P}=pl(I);return t.jsxs(o.Box,{sx:{display:"flex",alignItems:"flex-start",gap:1.25,px:1.5,py:1.25,borderRadius:"10px",bgcolor:"background.paper",border:"1px solid",borderColor:"divider",transition:"border-color 0.15s","&:hover":{borderColor:$(s.text.primary,.18)}},children:[t.jsx(o.Chip,{label:qn(I.feature),size:"small",sx:{height:20,fontSize:"0.5625rem",fontWeight:700,letterSpacing:"0.04em",textTransform:"uppercase",bgcolor:$(f,.1),color:f,border:`1px solid ${$(f,.22)}`,flexShrink:0,mt:.125,"& .MuiChip-label":{px:.75}}}),t.jsxs(o.Box,{sx:{flex:1,minWidth:0},children:[t.jsx(o.Typography,{sx:{fontSize:"0.8125rem",fontWeight:500,color:"text.primary",lineHeight:1.45,wordBreak:"break-word"},children:w}),P&&t.jsx(o.Typography,{sx:{fontSize:"0.75rem",color:"text.secondary",mt:.25,lineHeight:1.4},children:P}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5,flexWrap:"wrap"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.375},children:[t.jsx(O.AccessTime,{sx:{fontSize:11,color:"text.disabled"}}),t.jsx(o.Typography,{sx:{fontSize:"0.6875rem",color:"text.disabled"},children:fl(I.timestamp)})]}),I.user&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.375},children:[t.jsx(O.Person,{sx:{fontSize:11,color:"text.disabled"}}),t.jsx(o.Typography,{sx:{fontSize:"0.6875rem",color:"text.disabled"},children:I.user})]})]})]})]},I.id)},Z=v?k.map(I=>({feature:I,events:T.filter(f=>f.feature===I)})).filter(I=>I.events.length>0):[];return t.jsxs(t.Fragment,{children:[t.jsx(o.Box,{onClick:r,sx:{position:"fixed",inset:0,bgcolor:$(s.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:i.zIndex.modal,animation:"fadeIn 0.2s ease","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:I=>I.stopPropagation(),elevation:0,sx:{width:520,maxWidth:"calc(100vw - 48px)",maxHeight:"min(700px, calc(100vh - 80px))",display:"flex",flexDirection:"column",borderRadius:ot(i),bgcolor:"background.paper",overflow:"hidden",...de(i).paper,animation:"slideIn 0.2s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.96) translateY(-8px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{px:2.5,py:1.75,display:"flex",alignItems:"center",justifyContent:"space-between",gap:1.5,flexShrink:0,...de(i).header},children:[t.jsxs(o.Box,{sx:{minWidth:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:[t.jsx(o.Typography,{sx:{fontSize:I=>I.typography.body1.fontSize||"0.9375rem",fontWeight:I=>I.typography.h6.fontWeight||600,color:"text.primary"},children:"Audit History"}),t.jsx(pt,{content:Mr.auditHistory,isDev:process.env.NODE_ENV==="development"})]}),t.jsxs(o.Typography,{sx:{fontSize:I=>I.typography.caption.fontSize||"0.75rem",color:"text.secondary",mt:.125},children:[T.length," event",T.length!==1?"s":""," recorded"]})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0},children:[n&&e.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(o.Select,{value:a,onChange:I=>c(I.target.value),size:"small",variant:"outlined",sx:{fontSize:"0.75rem",height:30,minWidth:120,"& .MuiSelect-select":{py:.375,px:1,fontSize:"0.75rem"},"& .MuiOutlinedInput-notchedOutline":{borderColor:"divider"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:$(s.text.primary,.3)}},children:js.map(I=>t.jsx(o.MenuItem,{value:I.key,sx:{fontSize:"0.8125rem"},children:I.label},I.key))}),t.jsx(o.Button,{size:"small",variant:"outlined",color:"error",startIcon:t.jsx(O.DeleteSweepOutlined,{sx:{fontSize:14}}),onClick:H,sx:{fontSize:"0.75rem",borderRadius:"7px",px:1.25,height:30,whiteSpace:"nowrap",borderColor:$(s.error.main,.5),"&:hover":{bgcolor:$(s.error.main,.06),borderColor:"error.main"}},children:"Clear Logs"})]}),k.length>1&&t.jsx(o.IconButton,{onClick:()=>S(I=>!I),size:"small",title:m?"Hide category filter":"Show category filter",sx:{color:m?"primary.main":"text.secondary",bgcolor:m?$(s.primary.main,.1):"transparent",borderRadius:"7px","&:hover":{bgcolor:m?$(s.primary.main,.16):"action.hover"}},children:t.jsx(O.FilterAltOutlined,{sx:{fontSize:17}})}),t.jsx(o.IconButton,{onClick:()=>D(I=>!I),size:"small",title:C?"Sorted oldest first":"Sorted newest first",sx:{color:C?"primary.main":"text.secondary",bgcolor:C?$(s.primary.main,.1):"transparent",borderRadius:"7px","&:hover":{bgcolor:C?$(s.primary.main,.16):"action.hover"}},children:t.jsx(O.SortOutlined,{sx:{fontSize:17,transform:C?"scaleY(-1)":"none"}})}),t.jsx(o.IconButton,{onClick:()=>x(I=>!I),size:"small",title:v?"Ungroup events":"Group by category",sx:{color:v?"primary.main":"text.secondary",bgcolor:v?$(s.primary.main,.1):"transparent",borderRadius:"7px","&:hover":{bgcolor:v?$(s.primary.main,.16):"action.hover"}},children:t.jsx(O.WorkspacesOutlined,{sx:{fontSize:17}})}),t.jsx(o.IconButton,{onClick:r,size:"small",sx:{color:"text.secondary",borderRadius:"7px","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:17}})})]})]}),k.length>1&&m&&t.jsxs(o.Tabs,{value:y,onChange:(I,f)=>g(f),variant:"scrollable",scrollButtons:"auto",sx:{minHeight:36,flexShrink:0,borderBottom:"1px solid",borderColor:"divider",px:1.5,"& .MuiTabs-indicator":{height:2}},children:[t.jsx(o.Tab,{value:"all",label:`All (${B.length})`,sx:{minHeight:36,py:.5,fontSize:"0.75rem",textTransform:"none",minWidth:"auto",px:1.25}}),k.map(I=>t.jsx(o.Tab,{value:I,label:`${qn(I)} (${h[I]})`,sx:{minHeight:36,py:.5,fontSize:"0.75rem",textTransform:"none",minWidth:"auto",px:1.25}},I))]}),t.jsx(o.Box,{sx:{flex:1,overflowY:"auto",px:2,py:1.5,bgcolor:$(s.text.primary,.012),"&::-webkit-scrollbar":{width:5},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:$(s.text.primary,.14),borderRadius:3}},children:T.length===0?t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",py:8,gap:1,textAlign:"center"},children:[t.jsx(O.AccessTime,{sx:{fontSize:44,color:"text.disabled",opacity:.5}}),t.jsx(o.Typography,{sx:{fontSize:I=>I.typography.body1.fontSize||"0.9375rem",color:"text.secondary",fontWeight:I=>I.typography.body2.fontWeight||500},children:B.length===0?"No audit events yet":"No events in this category"}),t.jsx(o.Typography,{sx:{fontSize:I=>I.typography.body2.fontSize||"0.8125rem",color:"text.disabled"},children:B.length===0?"Changes to this report will appear here":"Try a different category tab"})]}):v?t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5},children:Z.map(({feature:I,events:f})=>t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,mb:.75,px:.25},children:[t.jsx(o.Box,{sx:{width:6,height:6,borderRadius:"50%",bgcolor:ys(i,I)}}),t.jsxs(o.Typography,{sx:{fontSize:"0.6875rem",fontWeight:700,letterSpacing:"0.04em",textTransform:"uppercase",color:"text.secondary"},children:[qn(I)," (",f.length,")"]})]}),t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:.75},children:f.map(Y)})]},I))}):t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:.75},children:T.map(Y)})})]})}),t.jsxs(o.Dialog,{open:l,onClose:()=>u(!1),maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{borderRadius:Mo(i),...de(i).paper}},children:[t.jsxs(o.DialogContent,{sx:{pt:3,pb:2,px:3},children:[t.jsx(o.Box,{sx:{width:44,height:44,borderRadius:"12px",bgcolor:$(s.error.main,.1),display:"flex",alignItems:"center",justifyContent:"center",mb:2},children:t.jsx(O.WarningAmberOutlined,{sx:{fontSize:22,color:"error.main"}})}),t.jsx(o.Typography,{sx:{fontSize:I=>I.typography.body1.fontSize||"0.9375rem",fontWeight:I=>I.typography.h6.fontWeight||600,color:"text.primary",mb:1},children:"Clear Audit Logs"}),t.jsxs(o.Typography,{sx:{fontSize:I=>I.typography.body2.fontSize||"0.8125rem",color:"text.secondary",lineHeight:1.65},children:["You are about to permanently remove"," ",t.jsxs(o.Box,{component:"span",sx:{fontWeight:600,color:"text.primary"},children:[R," audit record",R!==1?"s":""]})," ",b.key==="all"?"from all time":`from the ${b.label.toLowerCase()}`,". This action cannot be undone."]})]}),t.jsx(o.Divider,{}),t.jsxs(o.DialogActions,{sx:{px:2.5,py:1.5,gap:1},children:[t.jsx(o.Button,{onClick:()=>u(!1),variant:"text",sx:{fontSize:"0.8125rem",color:"text.secondary",borderRadius:"7px","&:hover":{bgcolor:"action.hover"}},children:"Cancel"}),t.jsxs(o.Button,{onClick:E,variant:"contained",color:"error",startIcon:t.jsx(O.DeleteSweepOutlined,{sx:{fontSize:14}}),sx:{fontSize:"0.8125rem",borderRadius:"7px",px:2},children:["Clear ",R," Record",R!==1?"s":""]})]})]})]})}function np({onSave:e,onClose:r}){const[n,i]=p.useState(""),[s,a]=p.useState(""),[c,l]=p.useState(""),[u,y]=p.useState([]),[g,m]=p.useState(""),[S,C]=p.useState(""),D=b=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(b),v=()=>{const b=c.trim();if(b){if(!D(b)){C("Please enter a valid email address");return}if(u.includes(b)){C("This email is already added");return}y([...u,b]),l(""),C("")}},x=b=>{y(u.filter(R=>R!==b))},B=b=>{b.key==="Enter"&&(b.preventDefault(),v())},h=()=>{if(!n.trim()){m("Preset name is required");return}e(n.trim(),s.trim(),u.length>0?u:void 0)},k=b=>{i(b),g&&m("")},T=b=>{l(b),S&&C("")};return t.jsx(o.Box,{onClick:r,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:b=>$(b.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:b=>b.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:b=>b.stopPropagation(),elevation:0,sx:{position:"relative",width:540,maxWidth:"calc(100vw - 120px)",maxHeight:"min(480px, calc(100vh - 280px))",display:"flex",flexDirection:"column",borderRadius:b=>ot(b),bgcolor:"background.paper",outline:"none",boxShadow:b=>de(b).paper.boxShadow,border:b=>de(b).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:b=>de(b).header.backgroundColor,borderBottom:b=>de(b).header.borderBottom,boxShadow:b=>de(b).header.boxShadow,flexShrink:0},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:b=>b.typography.h6.fontSize||"1.125rem",fontWeight:b=>b.typography.h6.fontWeight||500,color:b=>b.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:"Create shareable preset"}),t.jsx(o.IconButton,{onClick:r,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:2.5,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:b=>$(b.palette.text.primary,.2),borderRadius:4,"&:hover":{bgcolor:b=>$(b.palette.text.primary,.3)}}},children:t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2.5},children:[t.jsx(o.Alert,{severity:"info",icon:t.jsx(O.Info,{sx:{fontSize:20}}),sx:{borderRadius:"8px",border:b=>`1px solid ${$(b.palette.primary.main,.3)}`,bgcolor:b=>It(b),"& .MuiAlert-icon":{color:"primary.main"},"& .MuiAlert-message":{fontSize:"0.8125rem",color:"text.primary",lineHeight:1.5}},children:"This preset will capture filters, sorting, grouping, column configuration, and the active view. The actual data is not saved or shared."}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:b=>b.typography.body2.fontSize||"0.875rem",color:"text.secondary",lineHeight:1.6},children:"Save the current report configuration and generate a shareable link that others can use to view the same filters, sorting, and column layout."}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:b=>b.typography.caption.fontSize||"0.6875rem",fontWeight:b=>b.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1,display:"block",textTransform:"uppercase"},children:"Preset name *"}),t.jsx(o.TextField,{required:!0,value:n,onChange:b=>k(b.target.value),placeholder:"e.g., Q4 Active Users Report",error:!!g,helperText:g,autoFocus:!0,fullWidth:!0,size:"small",sx:{"& .MuiOutlinedInput-root":{fontSize:"0.875rem",borderRadius:"4px",bgcolor:"background.paper","& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"primary.main"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:"2px"},"&.Mui-error fieldset":{borderColor:"error.main"}},"& .MuiInputBase-input":{py:1.25,color:"text.primary"},"& .MuiFormHelperText-root":{fontSize:"0.75rem",color:"error.main",mt:.75}}})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:b=>b.typography.caption.fontSize||"0.6875rem",fontWeight:b=>b.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1,display:"block",textTransform:"uppercase"},children:"Description (optional)"}),t.jsx(o.TextField,{value:s,onChange:b=>a(b.target.value),placeholder:"Briefly describe what this preset shows...",multiline:!0,rows:3,fullWidth:!0,size:"small",sx:{"& .MuiOutlinedInput-root":{fontSize:"0.875rem",borderRadius:"4px",bgcolor:"background.paper","& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"primary.main"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:"2px"}},"& .MuiInputBase-input":{py:1.25,color:"text.primary",lineHeight:1.6}}})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontSize:b=>b.typography.caption.fontSize||"0.6875rem",fontWeight:b=>b.typography.caption.fontWeight||600,color:"text.secondary",letterSpacing:"0.1em",mb:1,display:"block",textTransform:"uppercase"},children:"Share with (optional)"}),t.jsxs(o.Box,{sx:{display:"flex",gap:1,alignItems:"flex-start"},children:[t.jsx(o.TextField,{value:c,onChange:b=>T(b.target.value),onKeyPress:B,placeholder:"Enter email address",error:!!S,helperText:S,fullWidth:!0,size:"small",InputProps:{startAdornment:t.jsx(O.Email,{sx:{fontSize:18,color:"text.secondary",mr:1}})},sx:{"& .MuiOutlinedInput-root":{fontSize:"0.875rem",borderRadius:"4px",bgcolor:"background.paper","& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"primary.main"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:"2px"},"&.Mui-error fieldset":{borderColor:"error.main"}},"& .MuiInputBase-input":{py:1.25,color:"text.primary"},"& .MuiFormHelperText-root":{fontSize:"0.75rem",color:"error.main",mt:.75}}}),t.jsx(o.Button,{onClick:v,variant:"outlined",startIcon:t.jsx(O.Add,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",color:"primary.main",borderColor:"divider",px:2,py:1.25,minHeight:40,borderRadius:b=>`${b.shape.borderRadius}px`,flexShrink:0,"&:hover":{borderColor:"primary.main",bgcolor:"action.hover"}},children:"Add"})]}),u.length>0&&t.jsx(o.Box,{sx:{display:"flex",flexWrap:"wrap",gap:1,mt:1.5},children:u.map(b=>t.jsx(o.Chip,{label:b,onDelete:()=>x(b),deleteIcon:t.jsx(O.Delete,{sx:{fontSize:16}}),sx:{bgcolor:R=>It(R),color:"primary.main",fontSize:"0.8125rem",height:28,"& .MuiChip-deleteIcon":{color:"primary.main","&:hover":{color:"primary.dark"}}}},b))}),t.jsx(o.Typography,{variant:"caption",sx:{fontSize:"0.75rem",color:"text.secondary",mt:1,display:"block",lineHeight:1.5},children:u.length>0?`An email with the shareable link will be sent to ${u.length} recipient${u.length>1?"s":""}`:"Add email addresses to send the shareable link automatically"})]})]})}),t.jsxs(o.Box,{sx:{px:3,py:2,borderTop:"1px solid divider",display:"flex",gap:1.5,justifyContent:"flex-end",flexShrink:0,bgcolor:"action.hover"},children:[t.jsx(o.Button,{onClick:r,variant:"text",sx:{fontSize:"0.875rem",color:"text.secondary",px:3,py:1,minHeight:36,borderRadius:b=>`${b.shape.borderRadius}px`,transition:"all 0.2s ease","&:hover":{bgcolor:"divider",color:"text.primary"}},children:"Cancel"}),t.jsx(o.Button,{onClick:h,variant:"contained",startIcon:t.jsx(O.Share,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"background.paper",px:3,py:1,minHeight:36,borderRadius:b=>`${b.shape.borderRadius}px`,boxShadow:b=>ve(b,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:b=>ve(b,"hoverButton")},"&:active":{boxShadow:b=>ve(b,"pressedButton"),transform:"translateY(1px)"}},children:"Create & share"})]})]})})}function ip({presetName:e,onClear:r}){return t.jsx(o.Chip,{icon:t.jsx(O.Link,{sx:{fontSize:14}}),label:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:["Preset:"," ",t.jsx(o.Box,{component:"span",sx:{fontWeight:600},children:e})]}),onDelete:r,deleteIcon:t.jsx(o.IconButton,{size:"small",title:"Exit preset view",sx:{p:0},children:t.jsx(O.Close,{sx:{fontSize:14}})}),sx:{bgcolor:n=>$(n.palette.primary.main,.12),borderColor:"primary.light",border:1,fontSize:"body2.fontSize",fontWeight:500,"& .MuiChip-deleteIcon":{color:"primary.main","&:hover":{color:"primary.main"}}}})}function sp({presets:e,reportId:r,onOpenPreset:n,onDeletePreset:i,onClose:s}){const a=c=>new Date(c).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});return t.jsx(o.Box,{onClick:s,sx:{position:"fixed",top:0,left:0,right:0,bottom:0,bgcolor:c=>$(c.palette.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:c=>c.zIndex.modal,animation:"fadeIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:c=>c.stopPropagation(),elevation:0,sx:{position:"relative",width:680,maxWidth:"calc(100vw - 120px)",maxHeight:"min(720px, calc(100vh - 200px))",display:"flex",flexDirection:"column",borderRadius:c=>ot(c),bgcolor:"background.paper",outline:"none",boxShadow:c=>de(c).paper.boxShadow,border:c=>de(c).paper.border,overflow:"hidden",animation:"slideIn 0.225s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.95) translateY(-12px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,py:2,bgcolor:c=>de(c).header.backgroundColor,borderBottom:c=>de(c).header.borderBottom,boxShadow:c=>de(c).header.boxShadow,flexShrink:0},children:[t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:c=>c.typography.h6.fontSize||"1.125rem",fontWeight:c=>c.typography.h6.fontWeight||500,color:c=>c.typography.h6.color||"text.primary",letterSpacing:"0",lineHeight:1.5},children:"Manage Presets"}),t.jsxs(o.Typography,{variant:"caption",sx:{fontSize:c=>c.typography.caption.fontSize||"0.8125rem",color:"text.secondary",mt:.5,display:"block"},children:[e.length," saved ",e.length===1?"preset":"presets"]})]}),t.jsx(o.IconButton,{onClick:s,size:"small",sx:{p:.75,color:"text.secondary",transition:"all 0.2s ease","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.Box,{sx:{flex:1,overflow:"auto",px:3,py:2,"&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:"divider",borderRadius:4,"&:hover":{bgcolor:c=>$(c.palette.text.primary,.2)}}},children:e.length===0?t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",py:8},children:[t.jsx(O.Share,{sx:{fontSize:48,color:"divider",mb:2}}),t.jsx(o.Typography,{variant:"body1",sx:{fontSize:c=>c.typography.body2.fontSize||"0.875rem",color:"text.secondary",textAlign:"center"},children:"No presets created yet"}),t.jsx(o.Typography,{variant:"body2",sx:{fontSize:c=>c.typography.body2.fontSize||"0.8125rem",color:"text.disabled",textAlign:"center",mt:.5},children:"Create a preset to share report configurations"})]}):t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2},children:e.map(c=>t.jsxs(o.Paper,{elevation:0,sx:{p:2.5,border:"1px solid divider",borderRadius:"8px",bgcolor:"background.paper",transition:"all 0.2s ease","&:hover":{borderColor:"divider",boxShadow:l=>ve(l,"restButtonLight")}},children:[t.jsx(o.Box,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",mb:1.5},children:t.jsxs(o.Box,{sx:{flex:1,minWidth:0},children:[t.jsx(o.Typography,{variant:"h6",sx:{fontSize:l=>l.typography.body1.fontSize||"0.9375rem",fontWeight:l=>l.typography.h6.fontWeight||500,color:"text.primary",mb:.5},children:c.name}),c.description&&t.jsx(o.Typography,{variant:"body2",sx:{fontSize:l=>l.typography.body2.fontSize||"0.8125rem",color:"text.secondary",lineHeight:1.5},children:c.description})]})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5,mb:2},children:[t.jsx(o.Chip,{label:`Created ${a(c.createdAt)}`,size:"small",sx:{height:22,fontSize:"0.75rem",bgcolor:"action.hover",color:"text.secondary","& .MuiChip-label":{px:1}}}),t.jsx(o.Chip,{label:`By ${c.createdBy}`,size:"small",sx:{height:22,fontSize:"0.75rem",bgcolor:"action.hover",color:"text.secondary","& .MuiChip-label":{px:1}}})]}),t.jsx(o.Divider,{sx:{my:1.5,borderColor:"divider"}}),t.jsx(o.Box,{sx:{display:"flex",gap:1},children:t.jsx(o.Button,{onClick:()=>i(c.id,c.name),variant:"outlined",size:"small",startIcon:t.jsx(O.Delete,{sx:{fontSize:16}}),sx:{fontSize:"0.8125rem",color:"error.main",borderColor:"divider",px:1.5,py:.75,borderRadius:l=>`${l.shape.borderRadius}px`,"&:hover":{borderColor:"error.main",bgcolor:l=>$(l.palette.error.main,.04)}},children:"Delete"})})]},c.id))})}),t.jsx(o.Box,{sx:{px:3,py:1.75,borderTop:"1px solid divider",bgcolor:"action.hover",gap:1.25,justifyContent:"flex-end",display:"flex"},children:t.jsx(o.Button,{onClick:s,variant:"contained",sx:{fontSize:"0.875rem",bgcolor:"primary.main",color:"primary.contrastText",px:3,py:.875,minHeight:36,borderRadius:c=>`${c.shape.borderRadius}px`,boxShadow:c=>ve(c,"restButton"),transition:"all 0.2s ease","&:hover":{bgcolor:"primary.dark",boxShadow:c=>ve(c,"hoverButton")},"&:active":{boxShadow:c=>ve(c,"pressedButton"),transform:"translateY(1px)"}},children:"Close"})})]})})}const la={maxFileSizeBytes:2*1024*1024,maxFileSizeHardBytes:3*1024*1024,maxRows:1e4,maxRowsHard:5e4,maxImageColumns:5},ap=[/^https?:\/\/.*\.(jpg|jpeg|png|gif|webp|svg|avif|bmp)/i,/^data:image\//i,/^\/.*\.(jpg|jpeg|png|gif|webp|svg)/i],lp=[/image/i,/photo/i,/avatar/i,/thumbnail/i,/picture/i,/logo/i,/icon/i,/banner/i];function cp(e,r){const n=[];for(const i of e){if(i.type!=="string")continue;const s=lp.some(l=>l.test(i.name));let a=!1;const c=r.slice(0,10).map(l=>l[i.name]).filter(l=>typeof l=="string"&&l.length>0);c.length>0&&(a=c.filter(u=>ap.some(y=>y.test(u))).length/c.length>.6),(s||a)&&n.push(i.name)}return n}function Tn(e,r){if(e.length===0||r.length===0)return 0;const n=e.slice(0,Math.min(50,e.length)),s=r.map(c=>{const l=n.map(y=>String(y[c]??"")).filter(y=>y.length>0);if(l.length===0)return 5;const u=l.reduce((y,g)=>y+g.length,0);return Math.ceil(u/l.length)+1}).reduce((c,l)=>c+l,0)+1;return r.reduce((c,l)=>c+l.length+1,0)+s*e.length}function dp(e,r){const n=Tn(e,r);return Math.ceil(n*3.5)}function up(e,r){const n=Tn(e,r);return Math.ceil(n*.7)}function pp(e,r){const n=Tn(e,r);return Math.ceil(n*2)}function hp(e,r,n){switch(e){case"csv":return Tn(r,n);case"excel":return up(r,n);case"json":return dp(r,n);case"pdf":return pp(r,n)}}function ks(e,r){return Math.ceil(e/r)}function mp(e,r,n,i,s=la){const a=[],c=hp(e,r,n),l=r.length;if(l>s.maxRowsHard){const g=ks(l,s.maxRows);a.push({type:"row_count",severity:"error",message:`Export blocked: ${l.toLocaleString()} rows exceeds the maximum of ${s.maxRowsHard.toLocaleString()}`,detail:`Consider using filters to reduce the dataset before exporting, or split into ${g} smaller exports of ~${s.maxRows.toLocaleString()} rows each.`,suggestedBatches:g,value:l,limit:s.maxRowsHard})}else if(l>s.maxRows){const g=ks(l,s.maxRows);a.push({type:"row_count",severity:"warning",message:`Large export: ${l.toLocaleString()} rows`,detail:`This is a large export that may take a moment to complete. For faster results, consider splitting into ${g} smaller export${g>1?"s":""} of ~${s.maxRows.toLocaleString()} rows each.`,suggestedBatches:g,value:l,limit:s.maxRows})}if(c>s.maxFileSizeHardBytes?a.push({type:"file_size",severity:"error",message:`File size blocked: estimated ${zo(c)} exceeds the ${zo(s.maxFileSizeHardBytes)} limit`,detail:"Reduce the number of rows or columns and try again. Applying filters before exporting is the most effective way to reduce file size.",value:c,limit:s.maxFileSizeHardBytes}):c>s.maxFileSizeBytes&&a.push({type:"file_size",severity:"warning",message:`Large file: estimated ${zo(c)}`,detail:`This exceeds the recommended ${zo(s.maxFileSizeBytes)} size. The download will still proceed but may be slow on some connections.`,value:c,limit:s.maxFileSizeBytes}),e!=="excel"){const g=cp(i.filter(m=>n.includes(m.name)),r);if(g.length>0){const m=g.length>s.maxImageColumns;a.push({type:"image_columns",severity:m?"error":"warning",message:`Image column${g.length>1?"s":""} detected: ${g.map(S=>`"${S.replace(/_/g," ")}"`).join(", ")}`,detail:m?`Exporting ${g.length} image columns may produce a very large file. Consider hiding these columns before exporting.`:"Image URL columns are included in the export as plain text links — not embedded images.",value:g.length,limit:s.maxImageColumns})}}const u=a.some(g=>g.severity==="error"),y=a.some(g=>g.severity==="warning");return{violations:a,hasBlockingViolation:u,hasWarning:y,estimatedBytes:c}}function zo(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function fp({violation:e}){const n=ht().palette,i=e.severity==="error",s=i?n.error.main:n.warning.main,a=$(i?n.error.main:n.warning.main,.06),c=i?$(n.error.main,.25):$(n.warning.main,.3),l=i?O.ErrorOutline:O.WarningAmberOutlined;return t.jsxs(o.Box,{sx:{display:"flex",gap:1.25,p:1.5,borderRadius:"10px",bgcolor:a,border:"1px solid",borderColor:c},children:[t.jsx(l,{sx:{fontSize:17,color:s,flexShrink:0,mt:.125}}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{sx:{fontSize:u=>u.typography.body2.fontSize||"0.8125rem",fontWeight:u=>u.typography.body2.fontWeight||600,color:i?"error.main":"warning.dark",lineHeight:1.4},children:e.message}),e.detail&&t.jsx(o.Typography,{sx:{fontSize:u=>u.typography.caption.fontSize||"0.75rem",color:"text.secondary",mt:.375,lineHeight:1.5},children:e.detail}),e.suggestedBatches&&e.suggestedBatches>1&&t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,mt:.75},children:[t.jsx(O.SplitscreenOutlined,{sx:{fontSize:14,color:"text.secondary"}}),t.jsxs(o.Typography,{sx:{fontSize:u=>u.typography.caption.fontSize||"0.75rem",color:"text.secondary",fontWeight:u=>u.typography.body2.fontWeight||500},children:["Suggestion: split into ",e.suggestedBatches," exports"]})]})]})]})}function xp({format:e}){const r=ht(),n={csv:{color:r.palette.primary.main,bg:r.palette.primary.main,label:"CSV"},excel:{color:r.palette.success.main,bg:r.palette.success.main,label:"XLSX"},json:{color:r.palette.text.secondary,bg:r.palette.text.secondary,label:"JSON"},pdf:{color:r.palette.error.main,bg:r.palette.error.main,label:"PDF"}}[e];return t.jsxs(o.Box,{sx:{width:44,height:52,position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",mb:1},children:[t.jsxs("svg",{width:"38",height:"46",viewBox:"0 0 38 46",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M5 2C3.34315 2 2 3.34315 2 5V41C2 42.6569 3.34315 44 5 44H33C34.6569 44 36 42.6569 36 41V13L25 2H5Z",fill:r.palette.background.paper,stroke:n.color,strokeWidth:"2.5",strokeLinejoin:"round"}),t.jsx("path",{d:"M24 2V13H36",fill:$(r.palette.text.primary,.05),stroke:n.color,strokeWidth:"2.5",strokeLinejoin:"round"})]}),t.jsx(o.Box,{sx:{position:"absolute",bottom:8,left:3,right:3,bgcolor:n.bg,color:r.palette.primary.contrastText,fontSize:"0.625rem",fontWeight:800,py:.25,borderRadius:"3px",textAlign:"center",letterSpacing:"0.05em"},children:n.label})]})}function zs({checked:e}){const r=ht();return t.jsx(o.Box,{sx:{width:20,height:20,borderRadius:"50%",border:e?`2px solid var(--urm-export-card-selected-border, ${r.palette.primary.main})`:`2px solid var(--urm-export-radio-border, ${r.palette.divider})`,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:r.palette.background.paper,transition:"all 0.15s ease",flexShrink:0},children:e&&t.jsx(o.Box,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:`var(--urm-export-card-selected-border, ${r.palette.primary.main})`}})})}function gp({totalRows:e,visibleRows:r,hasGrouping:n,visibleColumnsCount:i,totalColumnsCount:s,schema:a,sampleRows:c=[],allRows:l=[],processedRows:u=[],initialFormat:y,initialScope:g="visible",initialColumnScope:m="visible",classTokens:S={},onExport:C,onClose:D}){const v=ht(),x=v.palette,B=gr(),h=p.useMemo(()=>{var ue,pe,K,he,le;const J=((K=(pe=(ue=v.components)==null?void 0:ue.MuiCard)==null?void 0:pe.styleOverrides)==null?void 0:K.root)||{},re=J.border&&J.border!=="none"?J.border:(he=v.tokens)!=null&&he.cardBodyBorder&&v.tokens.cardBodyBorder!=="none"?v.tokens.cardBodyBorder:x.divider,we=J.borderRadius!==void 0?typeof J.borderRadius=="number"?`${J.borderRadius}px`:J.borderRadius:`${v.shape.borderRadius}px`,F=J.boxShadow&&J.boxShadow!=="none"?J.boxShadow:((le=v.tokens)==null?void 0:le.cardBodyShadow)||ve(v,"menu"),X=ct(v);return{sectionBorder:`var(--urm-export-section-border, ${re})`,sectionTitleColor:`var(--urm-export-section-title-color, ${x.text.primary})`,sectionTitleBg:`var(--urm-export-section-title-bg, ${x.background.paper})`,cardBg:`var(--urm-export-card-bg, ${x.background.paper})`,cardBorder:`var(--urm-export-card-border, ${re})`,cardRadius:we,cardShadow:F,cardHoverBg:`var(--urm-export-card-hover-bg, ${x.mode==="dark"?$(x.common.white,.08):$(x.common.black,.04)})`,cardSelectedBg:`var(--urm-export-card-selected-bg, ${$(X.main,x.mode==="dark"?.16:.08)})`,cardSelectedBorder:`var(--urm-export-card-selected-border, ${X.main})`,cardSelectedColor:`var(--urm-export-card-selected-color, ${x.mode==="dark"?x.primary.light:x.primary.main})`,primaryBtnBg:`var(--urm-export-primary-btn-bg, ${x.primary.main})`,primaryBtnHoverBg:`var(--urm-export-primary-btn-hover-bg, ${x.primary.dark})`,primaryBtnColor:`var(--urm-export-primary-btn-color, ${x.primary.contrastText})`,sectionPadding:`var(--urm-export-section-padding, ${v.spacing(2)})`,optionGap:`var(--urm-export-option-gap, ${v.spacing(1.5)})`}},[x,v]),k=y||(B.export.allowedFormats.includes("pdf")?"pdf":B.export.allowedFormats[0]||"csv"),[T,b]=p.useState(k),[R,H]=p.useState(g),[E,Y]=p.useState(m),Z=R==="visible"?r:e,I=E==="visible"?i:s,f=p.useMemo(()=>R==="visible"?u.length>0?u:new Array(r):l.length>0?l:new Array(e),[R,r,e,u,l]),w=p.useMemo(()=>E==="all"?a.map(J=>J.name):a.map(J=>J.name).slice(0,i),[E,a,i]),P=p.useMemo(()=>mp(T,f,w,a,la),[T,f,w,a]),te=()=>{P.hasBlockingViolation||(C({format:T,scope:R,columnScope:E}),D())},d={csv:"CSV",excel:"Excel (.xlsx)",json:"JSON",pdf:"PDF"};return t.jsx(o.Box,{onClick:D,className:`urm-export-backdrop ${S.modalBackdrop||""}`,sx:{position:"fixed",inset:0,bgcolor:$(x.common.black,.4),display:"flex",alignItems:"center",justifyContent:"center",zIndex:v.zIndex.modal,animation:"fadeIn 0.2s ease","@keyframes fadeIn":{from:{opacity:0},to:{opacity:1}}},children:t.jsxs(o.Paper,{onClick:J=>J.stopPropagation(),elevation:0,className:`urm-export-paper ${S.modalPaper||""}`,sx:{width:540,maxWidth:"calc(100vw - 32px)",maxHeight:"min(760px, calc(100vh - 48px))",display:"flex",flexDirection:"column",borderRadius:ot(v),bgcolor:h.sectionTitleBg,overflow:"hidden",border:`1px solid ${h.cardBorder}`,boxShadow:h.cardShadow,animation:"slideIn 0.2s cubic-bezier(0.4, 0, 0.2, 1)","@keyframes slideIn":{from:{opacity:0,transform:"scale(0.96) translateY(-8px)"},to:{opacity:1,transform:"scale(1) translateY(0)"}}},children:[t.jsxs(o.Box,{className:`urm-export-header ${S.modalHeader||""}`,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:3,pt:2.5,pb:1.5,flexShrink:0,bgcolor:J=>de(J).header.backgroundColor,borderBottom:J=>de(J).header.borderBottom,boxShadow:J=>de(J).header.boxShadow},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(o.Typography,{className:`urm-export-title ${S.modalTitle||""}`,sx:{fontSize:"1.125rem",fontWeight:700,color:x.text.primary},children:"Export Report"}),t.jsx(pt,{content:Mr.export,isDev:process.env.NODE_ENV==="development"})]}),t.jsx(o.IconButton,{onClick:D,size:"small",className:`urm-export-close ${S.modalCloseButton||""}`,sx:{color:x.text.secondary,borderRadius:"50%","&:hover":{bgcolor:x.action.hover,color:x.text.primary}},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsxs(o.Box,{className:`urm-export-content ${S.modalContent||""}`,sx:{flex:1,overflowY:"auto",px:3,pb:2.5,pt:.5,display:"flex",flexDirection:"column",gap:h.optionGap,"&::-webkit-scrollbar":{width:6},"&::-webkit-scrollbar-track":{bgcolor:"transparent"},"&::-webkit-scrollbar-thumb":{bgcolor:$(x.text.primary,.15),borderRadius:3}},children:[P.violations.length>0&&t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1},children:P.violations.map((J,re)=>t.jsx(fp,{violation:J},re))}),t.jsxs(o.Box,{className:`urm-export-section ${S.sectionContainer||""}`,sx:{position:"relative",border:`1.5px solid ${h.sectionBorder}`,borderRadius:"12px",p:h.sectionPadding,pt:2.25,bgcolor:h.sectionTitleBg,mt:1.5},children:[t.jsx(o.Typography,{className:`urm-export-section-title ${S.sectionTitle||""}`,sx:{position:"absolute",top:-11,left:14,bgcolor:h.sectionTitleBg,px:.75,fontSize:"0.8125rem",fontWeight:600,color:h.sectionTitleColor,lineHeight:1,zIndex:1},children:"Choose File Format"}),t.jsx(o.Box,{sx:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:h.optionGap},children:[{id:"csv",title:"CSV",info:"Comma-separated values, compatible with Excel",allowed:B.export.allowedFormats.includes("csv")},{id:"excel",title:"Excel (.xlsx)",info:"Native Excel format with formatting support",allowed:B.export.allowedFormats.includes("excel")},{id:"json",title:"JSON",info:"Structured data with metadata and filters",allowed:B.export.allowedFormats.includes("json")},{id:"pdf",title:"PDF",info:"Print-ready PDF document",allowed:B.export.allowedFormats.includes("pdf")}].filter(J=>J.allowed).map(J=>{const re=T===J.id;return t.jsxs(o.Box,{onClick:()=>b(J.id),className:`urm-export-format-card ${re?S.formatCardSelected||"":S.formatCard||""}`,sx:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",p:1.75,borderRadius:h.cardRadius,border:re?`2px solid ${h.cardSelectedBorder}`:`1px solid ${h.cardBorder}`,boxShadow:re?void 0:h.cardShadow,bgcolor:re?h.cardSelectedBg:h.cardBg,cursor:"pointer",transition:"all 0.15s ease","&:hover":{borderColor:re?h.cardSelectedBorder:$(x.text.primary,.25),bgcolor:re?h.cardSelectedBg:h.cardHoverBg}},children:[re&&t.jsx(o.Box,{sx:{position:"absolute",top:8,right:8,width:20,height:20,borderRadius:"50%",bgcolor:h.cardSelectedBorder,color:x.primary.contrastText,display:"flex",alignItems:"center",justifyContent:"center",boxShadow:`0 2px 4px ${$(x.primary.main,.3)}`},children:t.jsx(O.Check,{sx:{fontSize:13,strokeWidth:2}})}),t.jsx(xp,{format:J.id}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:[t.jsx(o.Typography,{sx:{fontSize:"0.875rem",fontWeight:700,color:re?h.cardSelectedColor:x.text.primary},children:J.title}),t.jsx(o.Tooltip,{title:J.info,arrow:!0,placement:"top",children:t.jsx(o.Box,{component:"span",onClick:we=>we.stopPropagation(),sx:{display:"inline-flex",cursor:"help",color:x.text.secondary,"&:hover":{color:x.text.primary}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:13}})})})]})]},J.id)})})]}),t.jsxs(o.Box,{className:`urm-export-section ${S.sectionContainer||""}`,sx:{position:"relative",border:`1.5px solid ${h.sectionBorder}`,borderRadius:"12px",p:h.sectionPadding,pt:2.25,bgcolor:h.sectionTitleBg,mt:1.5},children:[t.jsx(o.Typography,{className:`urm-export-section-title ${S.sectionTitle||""}`,sx:{position:"absolute",top:-11,left:14,bgcolor:h.sectionTitleBg,px:.75,fontSize:"0.8125rem",fontWeight:600,color:h.sectionTitleColor,lineHeight:1,zIndex:1},children:"Select Rows Range"}),t.jsx(o.Box,{sx:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:h.optionGap},children:[{value:"visible",label:"Visible rows",icon:t.jsx(O.VisibilityOutlined,{sx:{fontSize:20}}),info:`Export ${r.toLocaleString()} rows (filtered and searched)`},{value:"all",label:"All rows",icon:t.jsx(O.TableChartOutlined,{sx:{fontSize:20}}),info:`Export ${e.toLocaleString()} rows (complete original dataset)`}].map(J=>{const re=R===J.value;return t.jsxs(o.Box,{onClick:()=>H(J.value),className:`urm-export-row-card ${re?S.rowCardSelected||"":S.rowCard||""}`,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",p:1.5,borderRadius:h.cardRadius,border:re?`2px solid ${h.cardSelectedBorder}`:`1px solid ${h.cardBorder}`,boxShadow:re?void 0:h.cardShadow,bgcolor:re?h.cardSelectedBg:h.cardBg,cursor:"pointer",transition:"all 0.15s ease","&:hover":{borderColor:re?h.cardSelectedBorder:$(x.text.primary,.25),bgcolor:re?h.cardSelectedBg:h.cardHoverBg}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5},children:[t.jsx(zs,{checked:re}),t.jsx(o.Box,{sx:{color:re?h.cardSelectedColor:x.text.secondary,display:"flex"},children:J.icon}),t.jsx(o.Typography,{sx:{fontSize:"0.875rem",fontWeight:600,color:re?h.cardSelectedColor:x.text.primary},children:J.label})]}),t.jsx(o.Tooltip,{title:J.info,arrow:!0,placement:"top",children:t.jsx(o.Box,{component:"span",onClick:we=>we.stopPropagation(),sx:{display:"inline-flex",cursor:"help",color:x.text.secondary,"&:hover":{color:x.text.primary}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:16}})})})]},J.value)})})]}),t.jsxs(o.Box,{className:`urm-export-section ${S.sectionContainer||""}`,sx:{position:"relative",border:`1.5px solid ${h.sectionBorder}`,borderRadius:"12px",p:h.sectionPadding,pt:2.25,bgcolor:h.sectionTitleBg,mt:1.5},children:[t.jsx(o.Typography,{className:`urm-export-section-title ${S.sectionTitle||""}`,sx:{position:"absolute",top:-11,left:14,bgcolor:h.sectionTitleBg,px:.75,fontSize:"0.8125rem",fontWeight:600,color:h.sectionTitleColor,lineHeight:1,zIndex:1},children:"Select Columns Range"}),t.jsx(o.Box,{sx:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:h.optionGap},children:[{value:"visible",label:"Visible columns",icon:t.jsx(O.SwapVertOutlined,{sx:{fontSize:20}}),info:`Export ${i} visible column${i!==1?"s":""}`},{value:"all",label:"All columns",icon:t.jsx(O.TableChartOutlined,{sx:{fontSize:20}}),info:`Export all ${s} columns (including hidden)`}].map(J=>{const re=E===J.value;return t.jsxs(o.Box,{onClick:()=>Y(J.value),className:`urm-export-column-card ${re?S.columnCardSelected||"":S.columnCard||""}`,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",p:1.5,borderRadius:h.cardRadius,border:re?`2px solid ${h.cardSelectedBorder}`:`1px solid ${h.cardBorder}`,boxShadow:re?void 0:h.cardShadow,bgcolor:re?h.cardSelectedBg:h.cardBg,cursor:"pointer",transition:"all 0.15s ease","&:hover":{borderColor:re?h.cardSelectedBorder:$(x.text.primary,.25),bgcolor:re?h.cardSelectedBg:h.cardHoverBg}},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5},children:[t.jsx(zs,{checked:re}),t.jsx(o.Box,{sx:{color:re?h.cardSelectedColor:x.text.secondary,display:"flex"},children:J.icon}),t.jsx(o.Typography,{sx:{fontSize:"0.875rem",fontWeight:600,color:re?h.cardSelectedColor:x.text.primary},children:J.label})]}),t.jsx(o.Tooltip,{title:J.info,arrow:!0,placement:"top",children:t.jsx(o.Box,{component:"span",onClick:we=>we.stopPropagation(),sx:{display:"inline-flex",cursor:"help",color:x.text.secondary,"&:hover":{color:x.text.primary}},children:t.jsx(O.InfoOutlined,{sx:{fontSize:16}})})})]},J.value)})})]}),t.jsxs(o.Box,{className:`urm-export-summary ${S.summaryContainer||""}`,sx:{position:"relative",border:`1.5px solid ${h.sectionBorder}`,borderRadius:"12px",p:h.sectionPadding,pt:2.25,bgcolor:h.sectionTitleBg,mt:1.5},children:[t.jsx(o.Typography,{className:`urm-export-section-title ${S.sectionTitle||""}`,sx:{position:"absolute",top:-11,left:14,bgcolor:h.sectionTitleBg,px:.75,fontSize:"0.8125rem",fontWeight:600,color:h.sectionTitleColor,lineHeight:1,zIndex:1},children:"Export Summary"}),t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.25},children:[{icon:t.jsx(O.InsertDriveFileOutlined,{sx:{fontSize:18,color:x.text.secondary}}),label:"Format",value:d[T]},{icon:t.jsx(O.FormatListNumberedOutlined,{sx:{fontSize:18,color:x.text.secondary}}),label:"Rows to Export",value:Z.toLocaleString()},{icon:t.jsx(O.SwapVertOutlined,{sx:{fontSize:18,color:x.text.secondary}}),label:"Columns to Export",value:String(I)},{icon:t.jsx(O.InsertDriveFileOutlined,{sx:{fontSize:18,color:x.text.secondary}}),label:"Estimated File Size",value:`~${zo(P.estimatedBytes)}`,highlight:P.hasBlockingViolation?"error.main":P.hasWarning?"warning.main":void 0}].map(({icon:J,label:re,value:we,highlight:F})=>t.jsxs(o.Box,{className:`urm-export-summary-row ${S.summaryRow||""}`,sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25},children:[J,t.jsx(o.Typography,{className:`urm-export-summary-label ${S.summaryLabel||""}`,sx:{fontSize:"0.8125rem",color:x.text.secondary,fontWeight:500},children:re})]}),t.jsx(o.Typography,{className:`urm-export-summary-value ${S.summaryValue||""}`,sx:{fontWeight:700,fontSize:"0.8125rem",color:F??x.text.primary},children:we})]},re))})]})]}),t.jsxs(o.Box,{className:`urm-export-footer ${S.footer||""}`,sx:{px:3,py:2,display:"flex",alignItems:"center",justifyContent:"flex-end",gap:1.5,flexShrink:0},children:[P.hasBlockingViolation&&t.jsxs(o.Box,{sx:{flex:1,display:"flex",alignItems:"center",gap:.75},children:[t.jsx(O.ErrorOutline,{sx:{fontSize:15,color:"error.main"}}),t.jsx(o.Typography,{sx:{fontSize:J=>J.typography.caption.fontSize||"0.75rem",color:"error.main",fontWeight:J=>J.typography.body2.fontWeight||500},children:"Reduce rows or columns to enable download"})]}),t.jsx(o.Button,{onClick:D,variant:"outlined",className:`urm-export-cancel-btn ${S.cancelButton||""}`,sx:{fontSize:"0.875rem",fontWeight:600,color:x.text.primary,borderColor:h.cardBorder,px:3,py:1,borderRadius:"8px",textTransform:"none","&:hover":{bgcolor:h.cardHoverBg,borderColor:$(x.text.primary,.3)}},children:"Cancel"}),t.jsxs(o.Button,{onClick:te,disabled:P.hasBlockingViolation,variant:"contained",className:`urm-export-download-btn ${S.downloadButton||""}`,startIcon:t.jsx(O.Download,{sx:{fontSize:18}}),sx:{fontSize:"0.875rem",fontWeight:600,bgcolor:h.primaryBtnBg,color:h.primaryBtnColor,px:3,py:1,borderRadius:"8px",textTransform:"none",boxShadow:`0 2px 6px ${$(x.primary.main,.25)}`,"&:hover":{bgcolor:h.primaryBtnHoverBg},"&.Mui-disabled":{bgcolor:$(x.primary.main,.4),color:h.primaryBtnColor}},children:["Download ",d[T]]})]})]})})}function yp({warning:e,onDismiss:r}){return t.jsx(o.Box,{sx:{position:"fixed",bottom:16,right:16,zIndex:50,maxWidth:448},children:t.jsxs(o.Alert,{severity:"warning",icon:t.jsx(O.Warning,{sx:{fontSize:20}}),action:t.jsx(o.IconButton,{size:"small",onClick:r,sx:{color:"warning.main"},children:t.jsx(O.Close,{sx:{fontSize:16}})}),sx:{borderLeft:4,borderColor:"warning.main",boxShadow:3},children:[t.jsx(o.AlertTitle,{sx:{fontWeight:600},children:"Feature Limit Reached"}),t.jsx(o.Box,{sx:{fontSize:"body2.fontSize",mb:1},children:e.message}),t.jsxs(o.Box,{sx:{fontSize:"caption.fontSize",opacity:.9},children:["Please remove some"," ",e.type==="filter"?"filters":e.type==="sort"?"sort levels":"grouping levels"," ","before adding more."]})]})})}function bp({error:e,onDismiss:r,autoDismiss:n=!0,autoDismissDelay:i=3e4}){p.useEffect(()=>{if(n){const l=setTimeout(()=>{r()},i);return()=>clearTimeout(l)}},[n,i,r]);const a=(()=>{switch(e.type){case"system":return{severity:"error",icon:t.jsx(O.Cancel,{sx:{fontSize:20}})};case"processing":return{severity:"warning",icon:t.jsx(O.Warning,{sx:{fontSize:20}})};case"ui":default:return{severity:"info",icon:t.jsx(O.InfoOutlined,{sx:{fontSize:20}})}}})(),c=zl(e);return t.jsx(o.Box,{sx:{position:"fixed",bottom:16,right:16,zIndex:50,maxWidth:448},children:t.jsxs(o.Alert,{severity:a.severity,icon:a.icon,action:t.jsx(o.IconButton,{size:"small",onClick:r,sx:{color:`${a.severity}.main`},children:t.jsx(O.Close,{sx:{fontSize:16}})}),sx:{borderLeft:4,borderColor:`${a.severity}.main`,boxShadow:3},children:[t.jsxs(o.AlertTitle,{sx:{fontWeight:l=>l.typography.h6.fontWeight||600,fontSize:l=>l.typography.subtitle2.fontSize||"0.875rem"},children:[e.context.charAt(0).toUpperCase()+e.context.slice(1)," Error"]}),t.jsx(o.Box,{sx:{fontSize:"body2.fontSize"},children:c}),e.details&&process.env.NODE_ENV==="development"&&t.jsx(o.Box,{component:"pre",sx:{fontSize:"caption.fontSize",mt:1,fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:JSON.stringify(e.details,null,2)})]})})}class vp extends p.Component{constructor(n){super(n);Ii(this,"handleReset",()=>{this.setState({hasError:!1,error:null})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,i){Jt.error("urm:error-boundary","Caught unhandled component error",n,i),this.props.onError&&this.props.onError(n,i)}render(){var n,i;return this.state.hasError?this.props.fallback?this.props.fallback:t.jsx(o.Paper,{sx:{bgcolor:s=>$(s.palette.error.main,.12),border:1,borderColor:"error.light",borderRadius:2,p:3,m:2},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"flex-start",gap:1.5},children:[t.jsx(O.Warning,{color:"error",sx:{fontSize:24,flexShrink:0}}),t.jsxs(o.Box,{sx:{flex:1},children:[t.jsx(o.Typography,{variant:"h6",sx:{color:"error.main",fontWeight:s=>s.typography.h6.fontWeight||600,fontSize:s=>s.typography.h6.fontSize||"1.25rem"},children:this.props.context?`${this.props.context} Error`:"Something went wrong"}),t.jsx(o.Typography,{variant:"body2",sx:{color:"error.main",mt:1},children:((n=this.state.error)==null?void 0:n.message)||"An unexpected error occurred"}),process.env.NODE_ENV==="development"&&t.jsx(o.Box,{component:"pre",sx:{mt:1.5,fontSize:"caption.fontSize",color:"error.main",bgcolor:s=>$(s.palette.error.main,.12),p:1.5,borderRadius:1,overflow:"auto",maxHeight:170},children:(i=this.state.error)==null?void 0:i.stack}),t.jsx(o.Button,{onClick:this.handleReset,variant:"contained",color:"error",startIcon:t.jsx(O.Refresh,{sx:{fontSize:16}}),sx:{mt:2},children:"Try Again"})]})]})}):this.props.children}}function Sp({feature:e}){const[r,n]=p.useState(!0);return p.useEffect(()=>{const i=setTimeout(()=>n(!1),5e3);return()=>clearTimeout(i)},[]),t.jsx(o.Collapse,{in:r,unmountOnExit:!0,children:t.jsxs(o.Alert,{severity:"warning",sx:{m:1},icon:t.jsx(O.Warning,{sx:{fontSize:20}}),action:t.jsx(o.IconButton,{size:"small",onClick:()=>n(!1),"aria-label":"dismiss",sx:{color:"warning.dark"},children:t.jsx(O.Close,{sx:{fontSize:16}})}),children:[t.jsxs(o.AlertTitle,{children:[e," temporarily unavailable"]}),"Other features continue to work normally"]})})}function Zo({children:e,feature:r,onError:n}){return t.jsx(vp,{context:r,onError:i=>{n&&n(i)},fallback:t.jsx(Sp,{feature:r}),children:e})}const Cp=[{value:"equals",label:"Equals",group:"Text"},{value:"contains",label:"Contains",group:"Text"},{value:"startsWith",label:"Starts with",group:"Text"},{value:"endsWith",label:"Ends with",group:"Text"},{value:"gt",label:"Greater than (>)",group:"Numeric"},{value:"lt",label:"Less than (<)",group:"Numeric"},{value:"gte",label:"At least (≥)",group:"Numeric"},{value:"lte",label:"At most (≤)",group:"Numeric"},{value:"isTrue",label:"Is true",group:"Boolean"},{value:"isFalse",label:"Is false",group:"Boolean"},{value:"NULL",label:"Is empty (NULL)",group:"Null checks"},{value:"NOT_NULL",label:"Is not empty",group:"Null checks"}],wp=[{value:"csv",label:"CSV",desc:"Comma-separated values"},{value:"excel",label:"Excel (.xlsx)",desc:"Native Excel format"},{value:"json",label:"JSON",desc:"Structured data with metadata"},{value:"pdf",label:"PDF",desc:"Print-ready PDF document"}],_r={sortMaxLevels:{title:"Maximum Sort Levels",description:"Limits the number of columns users can sort by simultaneously. Restricts multi-level sort depth.",tips:['"Add sort column" button is disabled at this limit',"Prevents adding more sort levels to the active sort stack","Default: 5 levels (range: 1–10)"]},filterMaxConditions:{title:"Maximum Filter Conditions",description:"Limits the total number of active filter conditions users can apply at once.",tips:['"Add condition" button is disabled at this limit',"Prevents performance degradation on large datasets","Default: 3 conditions (range: 1–20)"]},filterAllowedOperators:{title:"Allowed Filter Operators",description:"Controls which comparison operators appear in the filter UI. Unchecked operators are hidden from all dropdowns.",tips:["Simplifies the UI by hiding advanced operators your users don't need","At least one operator per data type must remain checked","Operators grouped by type: Text, Numeric, Boolean, Null checks"]},columnsMaxVisible:{title:"Maximum Visible Columns",description:"Limits the number of columns users can display at once in the data table.",tips:["Column visibility toggle is disabled when this limit is reached","Forces users to be selective about which columns to show","Default: 20 columns (range: 1–50)"]},columnsWidthRange:{title:"Column Width Constraints",description:"Sets minimum and maximum pixel widths for column resizing. Prevents columns from becoming too narrow or too wide.",tips:["Users cannot drag column borders outside this range","Min default: 60px, Max default: 800px","Ensures readable content and consistent layout"]},exportAllowedFormats:{title:"Allowed Export Formats",description:"Determines which export formats appear in the Export dialog and row-level export menus. At least one must be enabled.",tips:["Disabled formats don't appear in any export UI","PDF is now available as a print-ready export option","Unchecked formats are completely hidden from end users"]},groupingMaxLevels:{title:"Maximum Group Levels",description:"Limits how deeply users can nest grouped data. Enforced when adding new group levels.",tips:['"Add group level" button is hidden at this limit',"Range: 1 (single group only) to 3 (triple nested groups)","Prevents overly complex grouping hierarchies"]}};function Co({children:e,active:r}){return t.jsx(o.Box,{hidden:!r,sx:{pt:2.5,pb:1,display:r?"flex":"none",flexDirection:"column",gap:2.5,height:"200px",width:"100%"},children:e})}function jp({open:e,onClose:r,config:n,onApply:i}){const[s,a]=p.useState(0),[c,l]=p.useState(n),u=()=>l(n),y=()=>l(yt),g=()=>{i(c),r()},m={sort:x=>l(B=>({...B,sort:{...B.sort,...x}})),filter:x=>l(B=>({...B,filter:{...B.filter,...x}})),columns:x=>l(B=>({...B,columns:{...B.columns,...x}})),grouping:x=>l(B=>({...B,grouping:{...B.grouping,...x}})),export:x=>l(B=>({...B,export:{...B.export,...x}}))},S=x=>{const B=c.filter.allowedOperators,h=B.includes(x)?B.filter(k=>k!==x):[...B,x];h.length!==0&&m.filter({allowedOperators:h})},C=x=>{const B=c.export.allowedFormats,h=B.includes(x)?B.filter(k=>k!==x):[...B,x];h.length!==0&&m.export({allowedFormats:h})},D=[{label:"Sort",icon:t.jsx(O.SwapVert,{sx:{fontSize:x=>x.typography.body1.fontSize}})},{label:"Filter",icon:t.jsx(O.FilterList,{sx:{fontSize:x=>x.typography.body1.fontSize}})},{label:"Columns",icon:t.jsx(O.ViewColumn,{sx:{fontSize:x=>x.typography.body1.fontSize}})},{label:"Grouping",icon:t.jsx(O.Layers,{sx:{fontSize:x=>x.typography.body1.fontSize}})},{label:"Export",icon:t.jsx(O.Download,{sx:{fontSize:x=>x.typography.body1.fontSize}})}],v=x=>JSON.stringify(c[x])===JSON.stringify(yt[x]);return t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,TransitionProps:{onEnter:u},PaperProps:{sx:{borderRadius:x=>ot(x),maxHeight:"min(680px, calc(100vh - 180px))",my:"auto",display:"flex",flexDirection:"column",boxShadow:x=>x.shadows[8]}},children:[t.jsxs(o.DialogTitle,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",pb:1,borderBottom:"1px solid",borderColor:"divider",flexShrink:0},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.5},children:[t.jsx(o.Box,{sx:{width:32,height:32,borderRadius:x=>x.shape.borderRadius,bgcolor:x=>$(x.palette.primary.main,.1),display:"flex",alignItems:"center",justifyContent:"center",fontSize:x=>x.typography.h5.fontSize},children:"⚙️"}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"subtitle1",sx:{fontWeight:600,lineHeight:1.2},children:"Developer Configuration"}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"Set runtime constraints · Ctrl+Shift+D"})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{color:"text.secondary"},children:t.jsx(O.Close,{sx:{fontSize:20}})})]}),t.jsx(o.Box,{sx:{borderBottom:"1px solid",borderColor:"divider",flexShrink:0},children:t.jsx(o.Tabs,{value:s,onChange:(x,B)=>a(B),variant:"fullWidth",sx:{minHeight:44,"& .MuiTab-root":{minHeight:44,fontSize:x=>x.typography.caption.fontSize,textTransform:"none",fontWeight:x=>x.typography.button.fontWeight,gap:.5}},children:D.map((x,B)=>t.jsx(o.Tab,{label:x.label,icon:x.icon,iconPosition:"start"},B))})}),t.jsxs(o.DialogContent,{sx:{overflowY:"auto",flex:1,px:3,py:0,minHeight:300},children:[t.jsx(Co,{active:s===0,children:t.jsxs(o.Box,{children:[t.jsx(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Maximum sort levels"}),t.jsx(pt,{content:_r.sortMaxLevels,isDev:process.env.NODE_ENV==="development"})]})}),t.jsx(o.Slider,{value:c.sort.maxLevels,onChange:(x,B)=>m.sort({maxLevels:B}),min:1,max:10,step:1,marks:!0,valueLabelDisplay:"on"}),t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between"},children:[t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"1 level (single)"}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"10 levels (maximum)"})]})]})}),t.jsxs(Co,{active:s===1,children:[t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Maximum filter conditions"}),t.jsx(pt,{content:_r.filterMaxConditions,isDev:process.env.NODE_ENV==="development"})]}),!v("filter")&&t.jsx(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:600},children:"Modified"})]}),t.jsx(o.Slider,{value:c.filter.maxConditions,onChange:(x,B)=>m.filter({maxConditions:B}),min:1,max:20,step:1,marks:!0,valueLabelDisplay:"on"}),t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between"},children:[t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"1 condition"}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:"20 conditions"})]})]}),t.jsx(o.Divider,{}),t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,mb:1.5},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Allowed filter operators"}),t.jsx(pt,{content:_r.filterAllowedOperators,isDev:process.env.NODE_ENV==="development"})]}),["Text","Numeric","Boolean","Null checks"].map(x=>t.jsxs(o.Box,{sx:{mb:1.5},children:[t.jsx(o.Typography,{sx:{fontWeight:600,textTransform:"uppercase",letterSpacing:"0.06em",color:"text.secondary",fontSize:B=>B.typography.overline.fontSize,display:"block",mb:.5},children:x}),t.jsx(o.FormGroup,{row:!0,sx:{gap:.5},children:Cp.filter(B=>B.group===x).map(B=>t.jsx(o.FormControlLabel,{control:t.jsx(o.Checkbox,{size:"small",checked:c.filter.allowedOperators.includes(B.value),onChange:()=>S(B.value)}),label:t.jsx(o.Typography,{variant:"body2",sx:{fontSize:"0.8125rem"},children:B.label}),sx:{mr:1.5}},B.value))})]},x))]})]}),t.jsxs(Co,{active:s===2,children:[t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Maximum visible columns"}),t.jsx(pt,{content:_r.columnsMaxVisible,isDev:process.env.NODE_ENV==="development"})]}),!v("columns")&&t.jsx(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:600},children:"Modified"})]}),t.jsx(o.Slider,{value:c.columns.maxVisible,onChange:(x,B)=>m.columns({maxVisible:B}),min:1,max:50,step:1,valueLabelDisplay:"on"})]}),t.jsx(o.Divider,{}),t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75,mb:2},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Column width range (px)"}),t.jsx(pt,{content:_r.columnsWidthRange,isDev:process.env.NODE_ENV==="development"})]}),t.jsxs(o.Box,{sx:{display:"flex",gap:2},children:[t.jsxs(o.Box,{sx:{flex:1},children:[t.jsx(o.Typography,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:"Minimum width"}),t.jsx(o.Slider,{value:c.columns.minColumnWidth,onChange:(x,B)=>m.columns({minColumnWidth:B}),min:40,max:400,step:10,valueLabelDisplay:"on",valueLabelFormat:x=>`${x}px`})]}),t.jsxs(o.Box,{sx:{flex:1},children:[t.jsx(o.Typography,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:"Maximum width"}),t.jsx(o.Slider,{value:c.columns.maxColumnWidth,onChange:(x,B)=>m.columns({maxColumnWidth:B}),min:100,max:2e3,step:50,valueLabelDisplay:"on",valueLabelFormat:x=>`${x}px`})]})]})]})]}),t.jsx(Co,{active:s===3,children:t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Maximum group levels"}),t.jsx(pt,{content:_r.groupingMaxLevels,isDev:process.env.NODE_ENV==="development"})]}),!v("grouping")&&t.jsx(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:600},children:"Modified"})]}),t.jsx(o.Box,{sx:{display:"flex",gap:1.5,mb:2},children:[1,2,3].map(x=>t.jsxs(o.Box,{onClick:()=>m.grouping({maxLevels:x}),sx:{flex:1,py:2.5,borderRadius:B=>Number(B.shape.borderRadius||0)*1.25,border:"2px solid",cursor:"pointer",textAlign:"center",transition:"all 0.15s ease",borderColor:c.grouping.maxLevels===x?"primary.main":"divider",bgcolor:c.grouping.maxLevels===x?B=>$(B.palette.primary.main,.06):"transparent","&:hover":{borderColor:"primary.light",bgcolor:B=>$(B.palette.primary.main,.04)}},children:[t.jsx(o.Typography,{variant:"h5",sx:{fontWeight:700,color:c.grouping.maxLevels===x?"primary.main":"text.secondary"},children:x}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:["Single","Double","Triple"][x-1]})]},x))}),t.jsxs(o.FormGroup,{row:!0,sx:{gap:2},children:[t.jsx(o.FormControlLabel,{control:t.jsx(o.Checkbox,{checked:c.grouping.allowNested,onChange:x=>m.grouping({allowNested:x.target.checked})}),label:t.jsx(o.Typography,{variant:"body2",children:"Allow nested groups"})}),t.jsx(o.FormControlLabel,{control:t.jsx(o.Checkbox,{checked:c.grouping.allowCollapse,onChange:x=>m.grouping({allowCollapse:x.target.checked})}),label:t.jsx(o.Typography,{variant:"body2",children:"Allow collapse / expand"})})]})]})}),t.jsx(Co,{active:s===4,children:t.jsxs(o.Box,{children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1.5},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600},children:"Allowed export formats"}),t.jsx(pt,{content:_r.exportAllowedFormats,isDev:process.env.NODE_ENV==="development"})]}),!v("export")&&t.jsx(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:600},children:"Modified"})]}),t.jsx(o.FormGroup,{sx:{gap:1},children:wp.map(x=>t.jsxs(o.Box,{onClick:()=>C(x.value),sx:{display:"flex",alignItems:"center",gap:1.5,p:1.5,borderRadius:B=>B.shape.borderRadius,border:"1px solid",cursor:"pointer",transition:"all 0.15s ease",borderColor:c.export.allowedFormats.includes(x.value)?"primary.main":"divider",bgcolor:c.export.allowedFormats.includes(x.value)?B=>$(B.palette.primary.main,.04):"transparent","&:hover":{borderColor:"primary.light"}},children:[t.jsx(o.Checkbox,{size:"small",checked:c.export.allowedFormats.includes(x.value),onChange:()=>C(x.value),onClick:B=>B.stopPropagation()}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:500},children:x.label}),t.jsx(o.Typography,{variant:"caption",color:"text.secondary",children:x.desc})]})]},x.value))})]})})]}),t.jsxs(o.DialogActions,{sx:{px:3,py:1.75,borderTop:"1px solid",borderColor:"divider",bgcolor:x=>$(x.palette.action.hover,.4),justifyContent:"space-between",flexShrink:0},children:[t.jsx(o.Button,{startIcon:t.jsx(O.RestartAlt,{sx:{fontSize:18}}),onClick:y,size:"small",sx:{fontSize:x=>x.typography.body2.fontSize,color:"text.secondary","&:hover":{color:"text.primary",bgcolor:x=>$(x.palette.text.primary,.06)}},children:"Reset to defaults"}),t.jsxs(o.Box,{sx:{display:"flex",gap:1},children:[t.jsx(o.Button,{onClick:r,size:"small",sx:{fontSize:x=>x.typography.body2.fontSize,color:"text.secondary",px:2,borderRadius:x=>Number(x.shape.borderRadius)*2.25},children:"Cancel"}),t.jsx(o.Button,{onClick:g,size:"small",variant:"contained",sx:{fontSize:x=>x.typography.body2.fontSize,px:2.5,borderRadius:x=>Number(x.shape.borderRadius)*2.25},children:"Apply"})]})]})]})}const kp=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],zp={1:"1st",2:"2nd",3:"3rd",4:"4th",5:"5th",6:"6th",7:"7th",8:"8th",9:"9th",10:"10th",11:"11th",12:"12th",13:"13th",14:"14th",15:"15th",16:"16th",17:"17th",18:"18th",19:"19th",20:"20th",21:"21st",22:"22nd",23:"23rd",24:"24th",25:"25th",26:"26th",27:"27th",28:"28th"};function tn(e,r,n,i,s=new Date){const[a,c]=r.split(":").map(Number),l=new Date(s);if(l.setSeconds(0,0),l.setHours(a,c,0,0),e==="daily")return l<=s&&l.setDate(l.getDate()+1),l.toISOString();if(e==="weekly"){const u=n??1,y=l.getDay();let g=u-y;return g<0&&(g+=7),g===0&&l<=s&&(g=7),l.setDate(l.getDate()+g),l.toISOString()}if(e==="monthly"){const u=Math.min(i??1,28);return l.setDate(u),l<=s&&(l.setMonth(l.getMonth()+1),l.setDate(u)),l.toISOString()}return l.toISOString()}function Bp(e){const r=ca(e.time);return e.frequency==="daily"?`Daily at ${r}`:e.frequency==="weekly"?`Every ${kp[e.dayOfWeek??1]} at ${r}`:e.frequency==="monthly"?`Monthly on the ${zp[e.dayOfMonth??1]??`${e.dayOfMonth}th`} at ${r}`:r}function ca(e){const[r,n]=e.split(":").map(Number),i=r>=12?"PM":"AM";return`${r%12||12}:${String(n).padStart(2,"0")} ${i}`}function Tp(e){const r=new Date(e).getTime()-Date.now();if(r<=0)return"now";const n=Math.floor(r/1e3),i=Math.floor(n/86400),s=Math.floor(n%86400/3600),a=Math.floor(n%3600/60);return i>0?`in ${i}d ${s}h`:s>0?`in ${s}h ${a}m`:a>0?`in ${a}m`:"in less than a minute"}function Ip(e){const r=new Date(e),n=new Date,i=r.toDateString()===n.toDateString(),s=ca(`${String(r.getHours()).padStart(2,"0")}:${String(r.getMinutes()).padStart(2,"0")}`);return i?`Today at ${s}`:`${r.toLocaleDateString("en-US",{month:"short",day:"numeric"})} at ${s}`}function da(e){return`urm_schedules_${e}`}function ua(e){try{const r=localStorage.getItem(da(e));return r?JSON.parse(r).map(i=>({...i,runCount:typeof i.runCount=="number"?i.runCount:0,isActive:typeof i.isActive=="boolean"?i.isActive:!0,createdAt:i.createdAt||new Date().toISOString()})):[]}catch{return[]}}function pa(e,r){try{localStorage.setItem(da(e),JSON.stringify(r))}catch{}}const Ep=[{value:0,label:"Sunday"},{value:1,label:"Monday"},{value:2,label:"Tuesday"},{value:3,label:"Wednesday"},{value:4,label:"Thursday"},{value:5,label:"Friday"},{value:6,label:"Saturday"}],Dp=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,ha={name:"",frequency:"daily",dayOfWeek:1,dayOfMonth:1,time:"09:00",format:"pdf",scope:"all",email:""},$r={"& .MuiInputBase-root":{fontSize:"0.875rem",borderRadius:"8px"},"& .MuiInputLabel-root":{fontSize:"0.875rem"},"& .MuiFormHelperText-root":{fontSize:"0.75rem",mx:.5},"& .MuiOutlinedInput-root":{"& fieldset":{borderColor:"divider"},"&:hover fieldset":{borderColor:"text.secondary"},"&.Mui-focused fieldset":{borderColor:"primary.main",borderWidth:2}}};function _p({initial:e=ha,isEditing:r=!1,onSave:n,onBack:i}){const[s,a]=p.useState(e),[c,l]=p.useState(!1),[u,y]=p.useState(!1),g=(C,D)=>a(v=>({...v,[C]:D})),m=s.email.trim().length>0&&!Dp.test(s.email.trim()),S=s.name.trim().length>0&&/^\d{2}:\d{2}$/.test(s.time)&&(s.frequency!=="monthly"||s.dayOfMonth>=1&&s.dayOfMonth<=28)&&!m;return t.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",gap:2},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.5,mb:.5},children:[t.jsx(o.IconButton,{size:"small",onClick:i,sx:{color:"text.secondary",ml:-.75,"&:hover":{bgcolor:C=>$(C.palette.text.primary,.06)}},children:t.jsx(O.ArrowBack,{sx:{fontSize:18}})}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:C=>C.typography.body2.fontWeight||600,fontSize:C=>C.typography.body2.fontSize||"0.875rem"},children:r?"Edit schedule":"New schedule"})]}),t.jsx(o.TextField,{label:"Schedule name *",size:"small",fullWidth:!0,value:s.name,onChange:C=>{g("name",C.target.value),c&&C.target.value.trim()&&l(!1)},onBlur:()=>l(!0),placeholder:"e.g. Weekly Sales Report",autoFocus:!0,inputProps:{maxLength:50},error:c&&!s.name.trim(),helperText:c&&!s.name.trim()?"Schedule name is required":`${s.name.length}/50`,sx:$r}),t.jsxs(o.FormControl,{size:"small",fullWidth:!0,sx:$r,children:[t.jsx(o.InputLabel,{children:"Frequency"}),t.jsxs(o.Select,{value:s.frequency,label:"Frequency",onChange:C=>g("frequency",C.target.value),children:[t.jsx(o.MenuItem,{value:"daily",children:"Daily"}),t.jsx(o.MenuItem,{value:"weekly",children:"Weekly"}),t.jsx(o.MenuItem,{value:"monthly",children:"Monthly"})]})]}),s.frequency==="weekly"&&t.jsxs(o.FormControl,{size:"small",fullWidth:!0,sx:$r,children:[t.jsx(o.InputLabel,{children:"Day of week"}),t.jsx(o.Select,{value:s.dayOfWeek,label:"Day of week",onChange:C=>g("dayOfWeek",Number(C.target.value)),children:Ep.map(C=>t.jsx(o.MenuItem,{value:C.value,children:C.label},C.value))})]}),s.frequency==="monthly"&&t.jsx(o.TextField,{label:"Day of month (1–28)",size:"small",type:"number",fullWidth:!0,value:s.dayOfMonth,onChange:C=>g("dayOfMonth",Number(C.target.value)),inputProps:{min:1,max:28},error:s.dayOfMonth<1||s.dayOfMonth>28,helperText:s.dayOfMonth<1||s.dayOfMonth>28?"Day must be between 1 and 28":"Max 28 — works safely across all months including February",sx:$r}),t.jsx(o.TextField,{label:"Time",size:"small",type:"time",fullWidth:!0,value:s.time,onChange:C=>g("time",C.target.value),InputLabelProps:{shrink:!0},sx:$r}),t.jsxs(o.FormControl,{size:"small",fullWidth:!0,sx:$r,children:[t.jsx(o.InputLabel,{children:"Export format"}),t.jsxs(o.Select,{value:s.format,label:"Export format",onChange:C=>g("format",C.target.value),children:[t.jsx(o.MenuItem,{value:"pdf",children:"PDF — Print-ready document"}),t.jsx(o.MenuItem,{value:"csv",children:"CSV — Comma-separated values"}),t.jsx(o.MenuItem,{value:"excel",children:"Excel (.xlsx) — Native format"}),t.jsx(o.MenuItem,{value:"json",children:"JSON — Structured data"})]})]}),t.jsxs(o.Box,{children:[t.jsx(o.Typography,{variant:"caption",sx:{fontWeight:500,color:"text.secondary",display:"block",mb:.75},children:"Data scope"}),t.jsxs(o.RadioGroup,{row:!0,value:s.scope,onChange:C=>g("scope",C.target.value),sx:{gap:2},children:[t.jsx(o.FormControlLabel,{value:"all",control:t.jsx(o.Radio,{size:"small"}),label:t.jsx(o.Typography,{variant:"body2",children:"All rows"})}),t.jsx(o.FormControlLabel,{value:"visible",control:t.jsx(o.Radio,{size:"small"}),label:t.jsx(o.Typography,{variant:"body2",children:"Filtered rows only"})})]})]}),t.jsx(o.Box,{children:t.jsx(o.TextField,{label:"Email reminder",size:"small",fullWidth:!0,type:"email",value:s.email,onChange:C=>g("email",C.target.value),onBlur:()=>y(!0),placeholder:"user@company.com",error:u&&m,helperText:u&&m?"Enter a valid email address":void 0,InputProps:{startAdornment:t.jsx(O.Email,{sx:{fontSize:15,color:"text.disabled",mr:1}})},sx:$r})}),t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"flex-end",gap:1,pt:.5},children:[t.jsx(o.Button,{onClick:i,size:"small",sx:{fontSize:"0.875rem",color:"text.secondary",px:2,borderRadius:"18px","&:hover":{bgcolor:C=>$(C.palette.text.primary,.06)}},children:"Cancel"}),t.jsx(o.Button,{onClick:()=>S&&n(s),disabled:!S,size:"small",variant:"contained",sx:{fontSize:"0.875rem",px:2.5,borderRadius:"18px"},children:r?"Save changes":"Create schedule"})]})]})}function $p({scheduleName:e,onConfirm:r,onCancel:n}){return t.jsxs(o.Dialog,{open:!0,onClose:n,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:i=>({borderRadius:Mo(i),...de(i).paper})},children:[t.jsxs(o.DialogContent,{sx:{pt:3,pb:2,px:3},children:[t.jsx(o.Box,{sx:{width:44,height:44,borderRadius:"12px",bgcolor:i=>$(i.palette.error.main,.1),display:"flex",alignItems:"center",justifyContent:"center",mb:2},children:t.jsx(O.WarningAmberOutlined,{sx:{fontSize:22,color:"error.main"}})}),t.jsx(o.Typography,{sx:{fontSize:i=>i.typography.body1.fontSize||"0.9375rem",fontWeight:i=>i.typography.h6.fontWeight||600,color:"text.primary",mb:1},children:"Delete Schedule"}),t.jsxs(o.Typography,{sx:{fontSize:i=>i.typography.body2.fontSize||"0.8125rem",color:"text.secondary",lineHeight:1.65},children:["Are you sure you want to delete"," ",t.jsxs(o.Box,{component:"span",sx:{fontWeight:600,color:"text.primary"},children:['"',e,'"']}),"? This action cannot be undone."]})]}),t.jsx(o.Divider,{}),t.jsxs(o.DialogActions,{sx:{px:2.5,py:1.5,gap:1},children:[t.jsx(o.Button,{onClick:n,variant:"text",sx:{fontSize:"0.8125rem",color:"text.secondary",borderRadius:i=>`${i.shape.borderRadius}px`,"&:hover":{bgcolor:"action.hover"}},children:"Cancel"}),t.jsx(o.Button,{onClick:r,variant:"contained",color:"error",sx:{fontSize:"0.8125rem",borderRadius:i=>`${i.shape.borderRadius}px`,px:2},children:"Delete"})]})]})}function Op({schedule:e,tick:r,onToggle:n,onRunNow:i,onEdit:s,onDelete:a}){const c=e.isActive;return t.jsxs(o.Box,{sx:{border:"1px solid",borderColor:c?"primary.main":"divider",borderRadius:"10px",p:1.75,bgcolor:c?l=>$(l.palette.primary.main,.025):"background.paper",transition:"border-color 0.15s ease, background-color 0.15s ease"},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5},children:[t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:600,flex:1,minWidth:0,color:c?"text.primary":"text.secondary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),t.jsx(o.Chip,{label:c?"Active":"Paused",size:"small",sx:{height:18,fontSize:"0.6875rem",fontWeight:600,flexShrink:0,bgcolor:c?l=>$(l.palette.success.main,.1):l=>$(l.palette.text.primary,.06),color:c?"success.dark":"text.secondary"}})]}),t.jsx(o.Typography,{variant:"caption",sx:{color:"text.secondary",display:"block",mb:1},children:Bp(e)}),t.jsxs(o.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,mb:1},children:[t.jsx(o.Chip,{label:e.format.toUpperCase(),size:"small",sx:{height:20,fontSize:"0.6875rem",fontWeight:500,bgcolor:l=>$(l.palette.primary.main,.08),color:"primary.main"}}),t.jsx(o.Chip,{label:e.scope==="all"?"All rows":"Filtered rows",size:"small",sx:{height:20,fontSize:"0.6875rem",bgcolor:l=>$(l.palette.text.primary,.06),color:"text.secondary"}}),e.email&&t.jsx(o.Chip,{icon:t.jsx(O.Email,{sx:{fontSize:11}}),label:e.email,size:"small",sx:{height:20,fontSize:"0.6875rem",maxWidth:220,bgcolor:l=>$(l.palette.text.primary,.06),color:"text.secondary","& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1},children:[t.jsxs(o.Box,{sx:{display:"flex",flexWrap:"wrap",gap:1.5,alignItems:"center"},children:[c&&t.jsxs(o.Typography,{variant:"caption",sx:{color:"primary.main",fontWeight:500},children:["Next: ",Tp(e.nextRunAt)]}),e.lastRunAt?t.jsxs(o.Typography,{variant:"caption",color:"text.secondary",children:["Last: ",Ip(e.lastRunAt)," · ",e.runCount," run",e.runCount!==1?"s":""]}):t.jsx(o.Typography,{variant:"caption",color:"text.disabled",children:"Never run"})]}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.25,flexShrink:0},children:[t.jsx(o.Tooltip,{title:"Edit",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:()=>s(e),sx:{color:"text.secondary","&:hover":{color:"primary.main",bgcolor:l=>$(l.palette.primary.main,.08)}},children:t.jsx(O.Edit,{sx:{fontSize:15}})})}),t.jsx(o.Tooltip,{title:c?"Pause":"Resume",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:()=>n(e.id),sx:{color:c?"warning.main":"success.main","&:hover":{bgcolor:c?l=>$(l.palette.warning.main,.08):l=>$(l.palette.success.main,.08)}},children:c?t.jsx(O.Pause,{sx:{fontSize:15}}):t.jsx(O.PlayArrow,{sx:{fontSize:15}})})}),t.jsx(o.Tooltip,{title:"Export now",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:()=>i(e),sx:{color:"primary.main","&:hover":{bgcolor:l=>$(l.palette.primary.main,.08)}},children:t.jsx(O.Download,{sx:{fontSize:15}})})}),t.jsx(o.Tooltip,{title:"Delete",placement:"top",children:t.jsx(o.IconButton,{size:"small",onClick:()=>a(e.id),sx:{color:"error.main","&:hover":{bgcolor:l=>$(l.palette.error.main,.08)}},children:t.jsx(O.Delete,{sx:{fontSize:15}})})})]})]})]})}function Mp({open:e,onClose:r,reportId:n,reportName:i,onRunNow:s,schedulerConfig:a}){const l=((a==null?void 0:a.mode)??"local")==="api",[u,y]=p.useState([]),g=l?(a==null?void 0:a.schedules)??[]:u,[m,S]=p.useState({type:"list"}),[C,D]=p.useState(0),[v,x]=p.useState(null);p.useEffect(()=>{e&&(l||y(ua(n)),S({type:"list"}))},[e,n,l]),p.useEffect(()=>{if(!e)return;const I=setInterval(()=>D(f=>f+1),3e4);return()=>clearInterval(I)},[e]);const B=p.useCallback(I=>{y(I),pa(n,I)},[n]),h=I=>{var P;const f=tn(I.frequency,I.time,I.dayOfWeek,I.dayOfMonth),w={id:`sched-${Date.now()}`,reportId:n,name:I.name.trim(),frequency:I.frequency,dayOfWeek:I.frequency==="weekly"?I.dayOfWeek:void 0,dayOfMonth:I.frequency==="monthly"?I.dayOfMonth:void 0,time:I.time,format:I.format,scope:I.scope,email:I.email.trim()||void 0,isActive:!0,createdAt:new Date().toISOString(),nextRunAt:f,runCount:0};l?(P=a==null?void 0:a.onScheduleCreate)==null||P.call(a,w):B([...g,w]),S({type:"list"})},k=I=>{var te;if(m.type!=="edit")return;const f=m.schedule,w=tn(I.frequency,I.time,I.dayOfWeek,I.dayOfMonth),P={...f,name:I.name.trim(),frequency:I.frequency,dayOfWeek:I.frequency==="weekly"?I.dayOfWeek:void 0,dayOfMonth:I.frequency==="monthly"?I.dayOfMonth:void 0,time:I.time,format:I.format,scope:I.scope,email:I.email.trim()||void 0,nextRunAt:w};l?(te=a==null?void 0:a.onScheduleUpdate)==null||te.call(a,P):B(g.map(d=>d.id===f.id?P:d)),S({type:"list"})},T=I=>{var d;const f=g.find(J=>J.id===I);if(!f)return;const w=!f.isActive,P=w?tn(f.frequency,f.time,f.dayOfWeek,f.dayOfMonth):f.nextRunAt,te={...f,isActive:w,nextRunAt:P};l?(d=a==null?void 0:a.onScheduleToggle)==null||d.call(a,I,w):B(g.map(J=>J.id===I?te:J))},b=I=>{if(s(I),!l){const f=new Date().toISOString();B(g.map(w=>w.id===I.id?{...w,lastRunAt:f,runCount:w.runCount+1}:w))}},R=I=>{const f=g.find(w=>w.id===I)??null;x(f)},H=()=>{var I;v&&(l?(I=a==null?void 0:a.onScheduleDelete)==null||I.call(a,v.id):B(g.filter(f=>f.id!==v.id)),x(null))},E=I=>({name:I.name,frequency:I.frequency,dayOfWeek:I.dayOfWeek??1,dayOfMonth:I.dayOfMonth??1,time:I.time,format:I.format,scope:I.scope,email:I.email??""}),Y=m.type!=="list",Z=g.filter(I=>I.isActive).length;return t.jsxs(t.Fragment,{children:[t.jsxs(o.Dialog,{open:e,onClose:r,maxWidth:"sm",fullWidth:!0,disableEscapeKeyDown:Y,PaperProps:{sx:I=>({borderRadius:ot(I),maxHeight:"min(680px, calc(100vh - 180px))",my:"auto",display:"flex",flexDirection:"column",...de(I).paper})},children:[t.jsxs(o.DialogTitle,{sx:I=>({display:"flex",alignItems:"center",justifyContent:"space-between",py:1.5,px:2.5,flexShrink:0,minHeight:0,...de(I).header}),children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:1.25},children:[t.jsx(o.Box,{sx:{width:30,height:30,borderRadius:"7px",bgcolor:I=>$(I.palette.primary.main,.1),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(O.Schedule,{sx:{fontSize:17,color:"primary.main"}})}),t.jsxs(o.Box,{sx:{display:"flex",alignItems:"baseline",gap:.75},children:[t.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",gap:.75},children:[t.jsx(o.Typography,{variant:"subtitle2",sx:{fontWeight:I=>I.typography.h6.fontWeight||600,fontSize:I=>I.typography.subtitle2.fontSize||"0.875rem",lineHeight:1},children:"Scheduled Reports"}),t.jsx(pt,{content:Mr.schedule,isDev:process.env.NODE_ENV==="development"})]}),t.jsxs(o.Typography,{variant:"caption",color:"text.secondary",sx:{lineHeight:1},children:["· ",i]})]})]}),t.jsx(o.IconButton,{size:"small",onClick:r,sx:{color:"text.secondary","&:hover":{bgcolor:I=>$(I.palette.text.primary,.06)}},children:t.jsx(O.Close,{sx:{fontSize:18}})})]}),t.jsxs(o.DialogContent,{sx:{overflowY:"auto",flex:1,px:2.5,py:2},children:[Y&&t.jsx(_p,{initial:m.type==="edit"?E(m.schedule):ha,isEditing:m.type==="edit",onSave:m.type==="edit"?k:h,onBack:()=>S({type:"list"})}),m.type==="list"&&t.jsxs(t.Fragment,{children:[t.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:1.75,pt:1.5},children:[t.jsx(o.Typography,{variant:"body2",color:"text.secondary",children:g.length===0?"No schedules yet":`${Z} of ${g.length} active`}),t.jsx(o.Button,{startIcon:t.jsx(O.Add,{sx:{fontSize:15}}),size:"small",variant:"contained",onClick:()=>S({type:"create"}),sx:{fontSize:"0.8125rem",borderRadius:"18px",px:1.75,py:.625},children:"New schedule"})]}),g.length===0?t.jsxs(o.Box,{sx:{border:"1.5px dashed",borderColor:"divider",borderRadius:"10px",py:5,px:2,textAlign:"center"},children:[t.jsx(O.NotificationsActive,{sx:{fontSize:30,color:"text.disabled",mb:1.25,display:"block",mx:"auto"}}),t.jsx(o.Typography,{variant:"body2",sx:{fontWeight:I=>I.typography.body2.fontWeight||500,fontSize:I=>I.typography.body2.fontSize||"0.875rem",color:"text.secondary"},children:"No scheduled reports yet"}),t.jsx(o.Typography,{variant:"caption",color:"text.disabled",sx:{display:"block",mt:.5},children:'Use "New schedule" above to set up automatic exports'})]}):t.jsx(o.Box,{sx:{display:"flex",flexDirection:"column",gap:1.25},children:g.map(I=>t.jsx(Op,{schedule:I,tick:C,onToggle:T,onRunNow:b,onEdit:f=>S({type:"edit",schedule:f}),onDelete:R},I.id))})]})]}),m.type==="list"&&t.jsx(o.DialogActions,{sx:{px:2.5,py:1.25,borderTop:"1px solid",borderColor:"divider",flexShrink:0,display:"flex",alignItems:"center",gap:1},children:t.jsx(o.Button,{onClick:r,size:"small",sx:{fontSize:"0.875rem",color:"text.secondary",px:2,borderRadius:"18px",flexShrink:0,"&:hover":{bgcolor:I=>$(I.palette.text.primary,.06)}},children:"Close"})})]}),v&&t.jsx($p,{scheduleName:v.name,onConfirm:H,onCancel:()=>x(null)})]})}const Ap=6e4;function Wp({reportId:e,reportName:r,uploadedData:n,processedData:i,schema:s,activeView:a,columnVisibility:c,columnOrder:l,filters:u,sortStack:y,onFired:g,schedulerConfig:m}){const S=(m==null?void 0:m.mode)??"local",C=p.useRef({reportId:e,reportName:r,uploadedData:n,processedData:i,schema:s,activeView:a,columnVisibility:c,columnOrder:l,filters:u,sortStack:y,onFired:g,schedulerConfig:m,schedulerMode:S});p.useEffect(()=>{C.current={reportId:e,reportName:r,uploadedData:n,processedData:i,schema:s,activeView:a,columnVisibility:c,columnOrder:l,filters:u,sortStack:y,onFired:g,schedulerConfig:m,schedulerMode:S}});const D=p.useCallback(v=>{var I,f,w,P,te;const{reportName:x,uploadedData:B,processedData:h,schema:k,activeView:T,columnVisibility:b,columnOrder:R,filters:H,sortStack:E,schedulerConfig:Y,schedulerMode:Z}=C.current;try{const d=v.scope==="all"?B:h;if(Z==="api"){const we=(R.length>0?R:k.map(X=>X.name)).filter(X=>b[X]!==!1),F={schedule:v,triggeredAt:new Date().toISOString(),rows:d,columns:we,format:v.format,reportName:x};(I=Y==null?void 0:Y.onScheduleFire)==null||I.call(Y,F),(w=(f=C.current).onFired)==null||w.call(f,v);return}const J=rn(d,k,H,E,T,b,R),re=`${v.name}_scheduled`;switch(v.format){case"csv":on(J,re,{scope:v.scope});break;case"excel":nn(J,re,{scope:v.scope});break;case"json":sn(J,re,{scope:v.scope});break;case"pdf":yi(J,re,{scope:v.scope});break}if(Y!=null&&Y.onScheduleFire){const we=(R.length>0?R:k.map(F=>F.name)).filter(F=>b[F]!==!1);Y.onScheduleFire({schedule:v,triggeredAt:new Date().toISOString(),rows:d,columns:we,format:v.format,reportName:x})}if(v.email){const we=encodeURIComponent(`Scheduled Report: ${v.name}`),F=encodeURIComponent(`Your scheduled report "${v.name}" has been generated.
192
192
 
193
193
  Report: ${x}
194
194
  Format: ${v.format.toUpperCase()}