@starasia/admin 8.7.0 → 8.8.0

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.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const mr=require("@starasia/alert"),_e=require("@starasia/badges"),h=require("@starasia/box"),rt=require("@starasia/breadcrumb"),z=require("@starasia/button"),gr=require("@starasia/card"),Xe=require("@starasia/date"),We=require("@starasia/dialog"),kt=require("@starasia/drawer"),ot=require("@starasia/dropdown"),pe=require("@starasia/hooks"),st=require("@starasia/http"),qe=require("@starasia/input"),I=require("@starasia/menu"),ut=require("@starasia/pagination"),dt=require("@starasia/storage"),G=require("@starasia/table"),yr=require("@starasia/tabs"),Xt=require("@starasia/textarea"),nt=require("@starasia/theme"),pr=require("@starasia/toast"),it=require("@starasia/toggle"),Ce=require("@starasia/tooltip"),lt=require("@starasia/checkbox"),Kt=require("@starasia/radio"),v=require("@starasia/text"),B=require("@starasia/icon"),se=require("@starasia/flex"),jr=require("@starasia/grid"),br=require("@starasia/progress"),Cr=require("@starasia/stepper"),vr=require("@starasia/accordion"),wr=require("@starasia/story-record"),He=require("@starasia/skeleton"),Dr=require("@starasia/progress-stepper"),e=require("react/jsx-runtime"),u=require("react"),ye=require("react-router"),tr=require("react-dom"),qn=require("react-easy-crop"),Zn={menus:[],menuBottom:void 0,logo:"",appName:"Workspace",userData:null,setUserData:()=>{}},rr=u.createContext(Zn),nr=()=>u.useContext(rr),Gr=t=>{const[r,n]=u.useState((t==null?void 0:t.initialUserData)||null);return{userData:r,setUserData:n}},Qr=u.createContext({badges:{},setBadge:()=>{},setBadges:()=>{},clearBadge:()=>{}}),Ur=({children:t})=>{const[r,n]=u.useState({}),s=u.useCallback(l=>{n(d=>typeof l=="function"?l(d):l)},[]),o=u.useCallback((l,d)=>{n(a=>{const f=typeof d=="function"?d(a[l]):d;return{...a,[l]:f}})},[]),i=u.useCallback(l=>{n(d=>{if(!(l in d))return d;const a={...d};return delete a[l],a})},[]),c=u.useMemo(()=>({badges:r,setBadge:o,setBadges:s,clearBadge:i}),[r,o,s,i]);return e.jsx(Qr.Provider,{value:c,children:t})},Jr=()=>u.useContext(Qr),wt=(t,r)=>{const n=r!==void 0?r:t;return n==null?null:typeof n=="string"||typeof n=="number"?{value:n}:n},Yr=({router:t,menus:r=[],menuBottom:n,logo:s,appName:o="Workspace",initialUserData:i,theme:c})=>{const l=Gr({initialUserData:i}),{theme:d}=nt.useTheme();return e.jsx(rr.Provider,{value:{logo:s,appName:o,menus:r,userData:l.userData,setUserData:l.setUserData,menuBottom:n},children:e.jsx(Ur,{children:c?e.jsx(nt.ThemeProvider,{value:c,children:t}):d?e.jsx(nt.ThemeProvider,{value:d,children:t}):t})})},Gn=u.memo(Yr);function Xr({collapsed:t=!1,children:r}){if(!r)return null;const n=typeof r=="function",s=n?r({collapsed:t}):r;return s==null||s===!1?null:e.jsx("div",{style:{position:"sticky",top:"4rem",zIndex:1,borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",paddingLeft:"0.5rem",paddingRight:"0.5rem",paddingTop:"0.5rem",paddingBottom:"0.5rem",boxSizing:"border-box"},children:n?s:e.jsx("div",{style:{opacity:t?0:1,transition:"opacity 0.3s",visibility:t?"hidden":"visible"},children:s})})}const or=u.createContext(null);function Kr({children:t}){const[r,n]=u.useState(null),[s,o]=u.useState(null),[i,c]=u.useState(null),[l,d]=u.useState(0),a=u.useCallback(()=>(d(f=>f+1),()=>d(f=>f-1)),[]);return e.jsx(or.Provider,{value:{prependNode:r,appendNode:s,replaceNode:i,setPrependNode:n,setAppendNode:o,setReplaceNode:c,replaceCount:l,registerReplace:a},children:t})}function $r({children:t}){const r=u.useContext(or);return r?e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:r.setPrependNode,style:{display:"contents"}}),r.replaceCount>0?e.jsx("div",{ref:r.setReplaceNode,style:{display:"contents"}}):t,e.jsx("div",{ref:r.setAppendNode,style:{display:"contents"}})]}):e.jsx(e.Fragment,{children:t})}function Qn({children:t,mode:r="append"}){const n=u.useContext(or);if(u.useEffect(()=>{if(!(r!=="replace"||!n))return n.registerReplace()},[r,n]),!n)return process.env.NODE_ENV!=="production"&&console.warn("[HeaderLeftSlot] used outside AppLayout — content not rendered"),null;const s=r==="prepend"?n.prependNode:r==="replace"?n.replaceNode:n.appendNode;return s?tr.createPortal(t,s):null}const sr=u.createContext(null);function en({children:t}){const[r,n]=u.useState({}),[s,o]=u.useState({}),i=u.useCallback((d,a)=>{n(f=>f[d]===a?f:{...f,[d]:a})},[]),c=u.useCallback(d=>(o(a=>({...a,[d]:(a[d]??0)+1})),()=>o(a=>({...a,[d]:Math.max(0,(a[d]??0)-1)}))),[]),l=u.useMemo(()=>({outletNodes:r,setOutletNode:i,slotCounts:s,registerSlot:c}),[r,i,s,c]);return e.jsx(sr.Provider,{value:l,children:t})}function tn({slotKey:t,fallback:r}){const n=u.useContext(sr),s=n?(n.slotCounts[t]??0)>0:!1,o=u.useRef(n==null?void 0:n.setOutletNode);o.current=n==null?void 0:n.setOutletNode;const i=u.useCallback(c=>{var l;return(l=o.current)==null?void 0:l.call(o,t,c)},[t]);return e.jsx(e.Fragment,{children:s?e.jsx("div",{ref:i,style:{display:"contents"}}):r})}function Un({slotKey:t,children:r}){const n=u.useContext(sr),s=u.useRef(n==null?void 0:n.registerSlot);if(s.current=n==null?void 0:n.registerSlot,u.useEffect(()=>{var i;return(i=s.current)==null?void 0:i.call(s,t)},[t]),!n)return process.env.NODE_ENV!=="production"&&console.warn("[SidebarGroupSlot] used outside AppLayout — content not rendered"),null;const o=n.outletNodes[t];return o?tr.createPortal(r,o):null}const Bt="moduleSwitcherGroupId",$t="sa-module-switcher-change";function Sr(){if(typeof window>"u")return null;const t=window.localStorage.getItem(Bt);if(t===null)return null;const r=Number(t);return Number.isFinite(r)?r:null}function rn(t){typeof window>"u"||(t===null?window.localStorage.removeItem(Bt):window.localStorage.setItem(Bt,String(t)),window.dispatchEvent(new CustomEvent($t,{detail:t})))}function Jn(){rn(null)}function ir(){const[t,r]=u.useState(()=>Sr());return u.useEffect(()=>{const s=()=>{r(Sr())},o=i=>{i.key===Bt&&s()};return window.addEventListener($t,s),window.addEventListener("storage",o),()=>{window.removeEventListener($t,s),window.removeEventListener("storage",o)}},[]),{selectedGroupId:t,setSelectedGroupId:s=>{rn(s),r(s)}}}let gt=0,Ye=!1,kr=new Set;const Br=()=>e.jsxs("svg",{width:"100%",height:"100%",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[e.jsx("rect",{x:"1.667",y:"1.667",width:"12.667",height:"12.667",rx:"2"}),e.jsx("line",{x1:"6",y1:"1.667",x2:"6",y2:"14.333"})]}),Fr={width:"100%",display:"flex",alignItems:"center",gap:"0.75rem",paddingLeft:"0.75rem",paddingRight:"0.75rem",paddingTop:"0.5rem",paddingBottom:"0.5rem",fontSize:"0.875rem",color:"var(--sa-text-subtle, #8c8f97)",background:"transparent",border:"none",borderRadius:"0.375rem",cursor:"pointer",textAlign:"left"};function Yn({children:t,headerLeftSlot:r,profile:n,isLoadingProfile:s,onLogout:o,isLoggingOut:i,loadingComponent:c,sidebarHeaderContent:l,headerActions:d,profileRole:a,profileMenuButtons:f,profileMenuItems:g,logoutButton:m}){var Fe,Ze;const[j]=ye.useSearchParams(),L=j.get("embed")==="true",y=nr(),{badges:D}=Jr(),F=ye.useNavigate(),T=ye.useLocation(),C=!pe.useMediaQuery("md"),[R,W]=u.useState(!1),[b,E]=u.useState(!1),[P,H]=u.useState(!1),[q,Q]=u.useState(!1),[ne,xe]=u.useState(()=>new Set(kr)),[re,ae]=u.useState(null),{selectedGroupId:X,setSelectedGroupId:K}=ir();u.useEffect(()=>{kr=ne},[ne]);const ue=u.useRef(null),ee=u.useRef(null);u.useEffect(()=>{const S=ue.current;if(!S)return;const Z=()=>{Ye||(gt=S.scrollTop)};return S.addEventListener("scroll",Z),()=>S.removeEventListener("scroll",Z)},[]);const le=()=>{const S=ue.current;S&&gt>0&&(Ye=!0,S.scrollTop=gt,requestAnimationFrame(()=>{Ye=!1}))};u.useLayoutEffect(()=>{Ye=!0,le();const S=setTimeout(()=>{Ye=!1},300);return()=>clearTimeout(S)},[]),u.useLayoutEffect(()=>{y.menus.length>0&&(gt>0?le():requestAnimationFrame(()=>{var Z;const S=(Z=ue.current)==null?void 0:Z.querySelector("[data-menu-active='true']");S&&S.scrollIntoView({block:"center",behavior:"instant"})}))},[y.menus]),u.useEffect(()=>{Ye=!0,le();const S=setTimeout(le,0),Z=setTimeout(le,50),N=setTimeout(le,100),M=setTimeout(le,200),A=setTimeout(()=>{Ye=!1},300),V=setTimeout(()=>{const _=ue.current,Y=_==null?void 0:_.querySelector("[data-menu-active='true']");if(_&&Y){const je=_.getBoundingClientRect(),Se=Y.getBoundingClientRect();Se.top>=je.top&&Se.bottom<=je.bottom||Y.scrollIntoView({block:"center",behavior:"smooth"})}},250);return()=>{clearTimeout(S),clearTimeout(Z),clearTimeout(N),clearTimeout(M),clearTimeout(A),clearTimeout(V)}},[T.pathname]),u.useEffect(()=>{ee.current&&(ee.current.scrollTop=0)},[T.pathname]),u.useEffect(()=>{C&&H(!1)},[T.pathname,C]),u.useEffect(()=>{C&&E(!0)},[C]);const we=()=>{W(!0)},Ae=()=>{W(!1)},he=()=>{W(!1),o()},De=S=>{const Z=[S.to];return S.children&&Z.push(...S.children.map(N=>N.to)),Z},Ee=[...y.menus.flatMap(S=>S.items.flatMap(De)),...((Fe=y.menuBottom)==null?void 0:Fe.flatMap(De))??[]],fe=S=>{if(!T.pathname.startsWith(S))return!1;const Z=Ee.filter(N=>T.pathname.startsWith(N)).sort((N,M)=>M.length-N.length)[0];return S===Z};u.useEffect(()=>{var Z;const S=N=>{var M;(M=N.children)!=null&&M.some(A=>T.pathname.startsWith(A.to))&&xe(A=>{const V=new Set(A);return V.add(N.id),V})};y.menus.forEach(N=>{N.items.forEach(S)}),(Z=y.menuBottom)==null||Z.forEach(S)},[T.pathname,y.menus,y.menuBottom]);const Le=S=>{xe(Z=>{const N=new Set(Z);return N.has(S)?N.delete(S):N.add(S),N})};u.useEffect(()=>{y.menus.length!==0&&X!==null&&!y.menus.some(S=>S.id===X)&&K(null)},[y.menus,X,K]);const Pe=u.useMemo(()=>{if(X!==null)return y.menus.filter(N=>N.id===X||N.parentGroupId===X);const S=y.menus.filter(N=>N.parentGroupId===void 0),Z=y.menus.filter(N=>N.parentGroupId!==void 0).flatMap(N=>N.items);return Z.length===0?S:[...S,{id:18,name:"Pengaturan",items:Z,parentGroupId:void 0}]},[y.menus,X]);if(L)return e.jsx("main",{style:{height:"100vh",overflowY:"auto",backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)"},children:t||e.jsx(ye.Outlet,{})});const me=S=>{const Z=S.children&&S.children.length>0,N=ne.has(S.id),M=Z?S.children.some(_=>fe(_.to)):fe(S.to),A=wt(S.badge,D[S.id]),V=!!A&&b&&!C;return e.jsxs("div",{"data-menu-active":M||void 0,children:[e.jsxs("button",{onClick:_=>{if(Z)if(b&&!C){const Y=_.currentTarget.getBoundingClientRect();ae({item:S,top:Y.top,left:Y.right+8})}else Le(S.id);else F(S.to)},style:{width:"100%",display:"flex",alignItems:"center",justifyContent:b&&!C?"center":void 0,gap:"0.5rem",paddingLeft:b&&!C?"0":"0.5rem",paddingRight:b&&!C?"0":"0.5rem",paddingTop:"0.25rem",paddingBottom:"0.25rem",height:"2rem",borderRadius:M?"var(--sa-radii-sm, 0.375rem)":"var(--sa-radii-md, 0.5rem)",textAlign:"left",border:M?"1px solid var(--sa-border-subtle, #0b120e24)":"1px solid transparent",backgroundColor:M?"var(--sa-background-primary, #ffffff)":"transparent",color:"var(--sa-text-primary, #292a2e)",cursor:"pointer"},title:b&&!C?S.title:void 0,onMouseEnter:_=>{M||(_.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)")},onMouseLeave:_=>{M||(_.currentTarget.style.backgroundColor="transparent")},children:[e.jsxs("span",{style:{position:"relative",display:"inline-flex",flexShrink:0},children:[e.jsx(B.Icon,{name:S.icon,size:"sm",style:{flexShrink:0}}),V&&e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",top:"-2px",right:"-2px",width:"0.5rem",height:"0.5rem",borderRadius:"9999px",backgroundColor:"var(--sa-color-error-500, #ff4d6d)",border:"1px solid var(--sa-background-primary, #ffffff)"}})]}),(!b||C)&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{fontSize:"0.875rem",fontWeight:"500",whiteSpace:"nowrap",transition:"opacity 0.3s",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:S.title}),A&&e.jsx(_e.Badges,{text:String(A.value),variant:A.variant??"info",size:"xs",border:!0}),Z&&e.jsx("svg",{style:{width:"1rem",height:"1rem",flexShrink:0,transition:"transform 0.2s",transform:N?"rotate(180deg)":"rotate(0deg)"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),Z&&(!b||C)&&(()=>{const _=S.children.findIndex(Y=>fe(Y.to));return e.jsxs("div",{style:{position:"relative",marginLeft:"0.9375rem",paddingLeft:"1.125rem",overflow:"hidden",transition:"all 0.3s ease-in-out",maxHeight:N?`${S.children.length*36}px`:"0px",opacity:N?1:0,marginTop:N?"0.25rem":"0px"},children:[e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:0,width:"1.5px",height:"100%",backgroundColor:"var(--sa-border-subtle, #0b120e24)",pointerEvents:"none"}}),_>=0&&e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:`${_*32}px`,width:"1.5px",height:"32px",backgroundColor:"var(--sa-text-primary, #292a2e)",transition:"top 0.2s ease-in-out",pointerEvents:"none",zIndex:1}}),S.children.map(Y=>{const je=wt(Y.badge,D[Y.id]);return e.jsxs("button",{onClick:()=>F(Y.to),style:{width:"100%",display:"flex",alignItems:"center",gap:"0.5rem",paddingLeft:"0.75rem",paddingRight:"0.5rem",paddingTop:"0.25rem",paddingBottom:"0.25rem",height:"2rem",borderRadius:fe(Y.to)?"var(--sa-radii-sm, 0.375rem)":"var(--sa-radii-md, 0.5rem)",textAlign:"left",backgroundColor:fe(Y.to)?"var(--sa-background-primary, #ffffff)":"transparent",color:fe(Y.to)?"var(--sa-text-primary, #292a2e)":"var(--sa-text-subtle, #505258)",cursor:"pointer",border:fe(Y.to)?"1px solid var(--sa-border-subtle, #0b120e24)":"1px solid transparent"},onMouseEnter:Se=>{fe(Y.to)||(Se.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)")},onMouseLeave:Se=>{fe(Y.to)||(Se.currentTarget.style.backgroundColor="transparent")},children:[e.jsx(B.Icon,{name:Y.icon,size:"sm",style:{flexShrink:0}}),e.jsx("span",{style:{fontSize:"0.875rem",fontWeight:"500",whiteSpace:"nowrap",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:Y.title}),je&&e.jsx(_e.Badges,{text:String(je.value),variant:je.variant??"info",size:"xs",border:!0})]},Y.id)})]})})()]},S.id)};return e.jsx(en,{children:e.jsxs(Kr,{children:[e.jsxs("div",{style:{display:"flex",height:"100vh",position:"relative","--app-sidebar-width":C?"0px":b?"4.375rem":"16.375rem","--app-footer-zindex":C&&P?"40":"999"},children:[C&&e.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"var(--sa-color-black-alpha-a50, #181a198f)",zIndex:40,opacity:P?.5:0,pointerEvents:P?"auto":"none",transition:"opacity 0.3s"},onClick:()=>H(!1)}),e.jsxs("aside",{style:{width:C?"16.375rem":b?"4.375rem":"16.375rem",position:C?"fixed":"relative",...C&&{inset:0,zIndex:50,transform:P?"translateX(0)":"translateX(-100%)"},backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",borderRight:"1px solid var(--sa-border-subtle, #0b120e24)",display:"flex",flexDirection:"column",transition:"all 0.3s ease-in-out",flexShrink:C?void 0:0},children:[e.jsx("div",{onMouseEnter:()=>Q(!0),onMouseLeave:()=>Q(!1),style:{height:"4rem",display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"1rem",paddingRight:"1rem",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",position:"relative"},children:(()=>{const S=!C&&b&&!P,Z=S&&q;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",flex:S?1:void 0,justifyContent:S?"center":void 0,transition:"opacity 0.2s",opacity:Z?0:1,pointerEvents:Z?"none":"auto"},children:[e.jsx("img",{src:y.logo,alt:"Logo",style:{width:"2rem",height:"2rem",flexShrink:0}}),(!b||P)&&e.jsx("span",{style:{fontWeight:"600",color:"var(--sa-text-primary, #292a2e)",whiteSpace:"nowrap",transition:"opacity 0.3s"},children:y.appName})]}),!C&&!b&&e.jsx("button",{type:"button",onClick:()=>E(!0),"aria-label":"Collapse sidebar",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"1rem",height:"1rem",padding:0,background:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer",flexShrink:0},children:e.jsx(Br,{})}),S&&e.jsx("button",{type:"button",onClick:()=>E(!1),"aria-label":"Expand sidebar",style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"2rem",height:"2rem",padding:0,background:"var(--sa-background-primary, #ffffff)",border:"1px solid var(--sa-border-subtle, #0b120e24)",borderRadius:"var(--sa-radii-sm, 0.375rem)",color:"var(--sa-text-primary, #292a2e)",cursor:"pointer",opacity:Z?1:0,pointerEvents:Z?"auto":"none",transition:"opacity 0.2s"},children:e.jsx("span",{style:{width:"1rem",height:"1rem",display:"inline-flex"},children:e.jsx(Br,{})})}),C&&e.jsx("button",{onClick:()=>H(!1),"aria-label":"Close menu",style:{padding:"0.375rem",borderRadius:"0.5rem",backgroundColor:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer"},children:e.jsx("svg",{style:{width:"1.25rem",height:"1.25rem"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})})()}),l&&e.jsx(Xr,{collapsed:C?!1:b,children:l}),e.jsx("div",{ref:ue,style:{flex:1,overflowY:"auto",paddingTop:"1rem",paddingBottom:"1rem"},children:Pe.map(S=>e.jsxs("div",{style:{marginBottom:"1rem"},children:[!b||C?S.name&&e.jsx("div",{style:{paddingLeft:"1.5rem",paddingRight:"1rem",paddingTop:"0rem",paddingBottom:"0.25rem",fontSize:"0.875rem",fontWeight:"400",color:"var(--sa-text-subtlest, #6b6e76)",transition:"opacity 0.3s",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:S.name}):S.name&&e.jsx("div",{"aria-label":S.name,style:{display:"flex",alignItems:"center",justifyContent:"center",paddingTop:"0.75rem",paddingBottom:"0.75rem"},children:e.jsx("span",{style:{display:"block",width:"1rem",height:"2px",borderRadius:"1px",backgroundColor:S.color??"var(--sa-background-brand, #04254f)"}})}),e.jsx("div",{style:{paddingLeft:"1rem",paddingRight:"1rem",display:"flex",flexDirection:"column",gap:"var(--sa-spacing-xs, 0.25rem)"},children:S.slotKey?e.jsx(tn,{slotKey:S.slotKey,fallback:S.items.map(Z=>me(Z))}):S.items.map(Z=>me(Z))})]},S.id))}),y.menuBottom&&y.menuBottom.length>0&&e.jsx("div",{style:{borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",paddingTop:"0.75rem",paddingBottom:"0.75rem",paddingLeft:"1rem",paddingRight:"1rem",backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",display:"flex",flexDirection:"column",gap:"var(--sa-spacing-xs, 0.25rem)",flexShrink:0},children:y.menuBottom.map(S=>me(S))})]}),e.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[e.jsxs("header",{style:{height:"4rem",backgroundColor:"var(--sa-background-primary, #ffffff)",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"1rem",paddingRight:"1rem",flexShrink:0},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1rem"},children:[C&&e.jsx("button",{onClick:()=>H(!0),style:{padding:"0.375rem",borderRadius:"0.5rem",backgroundColor:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer"},children:e.jsx("svg",{style:{width:"1.5rem",height:"1.5rem"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),e.jsx($r,{children:r})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[d,e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",cursor:"pointer"},children:[e.jsxs("div",{style:{textAlign:"right",maxWidth:"12.5rem"},children:[e.jsx("p",{style:{margin:0,fontSize:"0.875rem",fontWeight:500,color:"var(--sa-text-subtle, #8c8f97)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:s?"Loading...":(n==null?void 0:n.name)||"unknown"}),e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:s?"":(n==null?void 0:n.email)||"unknown"})]}),e.jsx("div",{style:{width:"2.5rem",height:"2.5rem",borderRadius:"9999px",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--sa-background-primary, #ffffff)",fontWeight:600,fontSize:"0.875rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)",flexShrink:0,backgroundColor:"var(--sa-background-brand, #04254f)"},children:((n==null?void 0:n.name)||"U")[0].toUpperCase()}),e.jsx(B.Icon,{name:"ChevronDown",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})]})}),e.jsxs(I.MenuLists,{style:{width:"280px",paddingBlock:"12px",paddingInline:"12px",gap:"8px",marginTop:"16px"},children:[e.jsx(I.MenuHeading,{children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",paddingBlock:"0.5rem"},children:[e.jsx("div",{style:{width:"4rem",height:"4rem",borderRadius:"9999px",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--sa-background-primary, #ffffff)",fontWeight:600,fontSize:"1.25rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)",marginBottom:"0.75rem",backgroundColor:"var(--sa-background-brand, #04254f)"},children:((n==null?void 0:n.name)||"U")[0].toUpperCase()}),e.jsx("p",{style:{margin:0,fontSize:"0.875rem",fontWeight:600,color:"var(--sa-text-primary, #292a2e)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:(n==null?void 0:n.name)||"unknown"}),e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:(n==null?void 0:n.email)||"unknown"}),a&&e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:a})]})}),(f&&f.length>0||g)&&e.jsxs(I.MenuBody,{children:[f==null?void 0:f.map((S,Z)=>e.jsx(I.MenuButton,{children:e.jsxs("button",{type:"button",onClick:S.onClick,style:Fr,onMouseEnter:N=>{N.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)"},onMouseLeave:N=>{N.currentTarget.style.backgroundColor="transparent"},children:[e.jsx(B.Icon,{name:S.icon,size:"md"}),e.jsx("span",{children:S.label})]})},`${S.label}-${Z}`)),g]}),m??e.jsx(I.MenuFooter,{children:e.jsx(I.MenuButton,{children:e.jsxs("button",{type:"button",onClick:we,style:{...Fr,color:"var(--sa-background-error, #c9184a)",fontWeight:500},onMouseEnter:S=>{S.currentTarget.style.backgroundColor="var(--sa-color-error-50, #fff0f3)"},onMouseLeave:S=>{S.currentTarget.style.backgroundColor="transparent"},children:[e.jsx(B.Icon,{name:"Logout",size:"md",style:{color:"var(--sa-background-error, #c9184a)"}}),e.jsx("span",{children:"Logout"})]})})})]})]})]})]}),e.jsx("main",{ref:ee,style:{flex:1,overflowY:"auto"},children:t||e.jsx(ye.Outlet,{})})]})]}),i&&c&&e.jsx("div",{style:{position:"fixed",inset:0,background:"var(--sa-color-black-alpha-a70, #181a19b8)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999},children:c}),e.jsxs(We.Dialog,{isShow:R,onHide:Ae,children:[e.jsx(We.DialogTitle,{children:"Confirmation Logout"}),e.jsx(We.DialogBody,{children:"Are you sure you want to end the session and exit the page?"}),e.jsx(We.DialogFooter,{children:e.jsx(h.Box,{direction:"column",display:"flex",align:"flex-end",justify:"center",children:e.jsxs(se.Flex,{direction:"row",gap:"sm",align:"center",children:[e.jsx(h.Box,{direction:"column",children:e.jsx(z.Button,{secondary:!0,onClick:Ae,children:"Cancel"})}),e.jsx(h.Box,{direction:"column",children:e.jsx(z.Button,{primary:!0,onClick:he,children:"Yes, Sure"})})]})})})]}),re&&e.jsxs(e.Fragment,{children:[e.jsx("div",{onClick:()=>ae(null),style:{position:"fixed",inset:0,zIndex:60,backgroundColor:"transparent"}}),e.jsxs("div",{role:"dialog","aria-label":re.item.title,style:{position:"fixed",top:re.top,left:re.left,zIndex:61,minWidth:"13rem",maxWidth:"16rem",backgroundColor:"var(--sa-background-primary, #ffffff)",border:"1px solid var(--sa-border-subtle, #0b120e24)",borderRadius:"var(--sa-radii-md, 0.5rem)",boxShadow:"var(--sa-shadow-lg, 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a)",padding:"0.5rem",display:"flex",flexDirection:"column",gap:"0.125rem"},children:[e.jsx("div",{style:{fontSize:"0.75rem",fontWeight:600,color:"var(--sa-color-gray-500, #8c8f97)",padding:"0.25rem 0.5rem 0.5rem",textTransform:"uppercase",letterSpacing:"0.05em"},children:re.item.title}),(Ze=re.item.children)==null?void 0:Ze.map(S=>{const Z=fe(S.to),N=wt(S.badge,D[S.id]);return e.jsxs("button",{onClick:()=>{F(S.to),ae(null)},style:{width:"100%",display:"flex",alignItems:"center",gap:"0.75rem",padding:"0.5rem 0.75rem",borderRadius:"var(--sa-radii-md, 0.5rem)",textAlign:"left",backgroundColor:Z?"var(--sa-color-gray-100, #f8f8f8)":"transparent",color:Z?"var(--sa-text-primary, #292a2e)":"var(--sa-color-gray-800, #505258)",border:"1px solid transparent",cursor:"pointer",fontSize:"0.875rem",fontWeight:500},onMouseEnter:M=>{Z||(M.currentTarget.style.backgroundColor="var(--sa-color-gray-100, #f8f8f8)")},onMouseLeave:M=>{Z||(M.currentTarget.style.backgroundColor="transparent")},children:[S.icon&&e.jsx(B.Icon,{name:S.icon,size:"sm",style:{flexShrink:0}}),e.jsx("span",{style:{flex:1,whiteSpace:"nowrap"},children:S.title}),N&&e.jsx(_e.Badges,{text:String(N.value),variant:N.variant??"info",size:"xs",border:!0})]},S.id)})]})]})]})})}const Et=u.forwardRef(({children:t,...r},n)=>e.jsx(h.Box,{ref:n,role:"button",cursor:"pointer","aria-pressed":"true",display:"inline-block",tabIndex:0,...r,children:t})),Er=({title:t,iconName:r,textColor:n,iconColor:s,hoverTextColor:o,hoverIconColor:i})=>{const[c,l]=u.useState(!1),d=s??"var(--sa-text-subtle, #8c8f97)",a=n??"var(--sa-text-subtle, #8c8f97)",f=i??"var(--sa-text-subtle, #8c8f97)",g=o??"var(--sa-text-primary, #292a2e)";return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),style:{cursor:"pointer"},children:[e.jsx(B.Icon,{name:r||"ChevronLeft",size:"xs",style:{color:c?f:d,transition:"color 0.15s ease"}}),e.jsx(v.Text,{variant:"sub-h3",style:{color:c?g:a,transition:"color 0.15s ease"},children:t||"Back"})]})},Xn=({items:t,separator:r="/",iconName:n,iconColor:s,hoverIconColor:o})=>{const[i,c]=u.useState(!1),l=s??"var(--sa-text-subtle, #8c8f97)",d=o??"var(--sa-text-subtle, #8c8f97)",a=t.length>1?t[0]:void 0,f=!!(a!=null&&a.to||a!=null&&a.onClick),g=e.jsx(B.Icon,{name:n||"ChevronLeft",size:"xs",onMouseEnter:f?()=>c(!0):void 0,onMouseLeave:f?()=>c(!1):void 0,style:{color:f&&i?d:l,transition:"color 0.15s ease",cursor:f?"pointer":void 0}}),m=a!=null&&a.to?e.jsx(ye.Link,{to:a.to,replace:!0,style:{textDecoration:"none"},children:g}):a!=null&&a.onClick?e.jsx(Et,{onClick:a.onClick,children:g}):g;return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",children:[m,e.jsx(rt.Breadcrumb,{separator:r,size:"md",children:t.map((j,L)=>{const y=L===t.length-1;return j.to&&!y?e.jsx(rt.BreadcrumbItem,{children:e.jsx(ye.Link,{to:j.to,children:j.label})},L):e.jsx(rt.BreadcrumbItem,{currentPage:y,children:e.jsx(rt.BreadcrumbLink,{onClick:y?void 0:j.onClick,children:j.label})},L)})})]})},Kn=t=>{const{items:r,separator:n,onClick:s,navigateTo:o,...i}=t;return r&&r.length>0?e.jsx(Xn,{items:r,separator:n,iconName:i.iconName,iconColor:i.iconColor,hoverIconColor:i.hoverIconColor}):o?e.jsx(h.Box,{direction:"row",children:e.jsx(ye.Link,{to:o,replace:!0,style:{textDecoration:"none"},children:e.jsx(Er,{...i})})}):e.jsx(h.Box,{direction:"row",children:e.jsx(Et,{onClick:s,children:e.jsx(Er,{...i})})})},_t=[{icon:"var(--sa-color-brand-400, #3366b7)",activeBg:"var(--sa-color-brand-50, #e6edf6)",activeBorder:"var(--sa-color-brand-300, #668cc9)",activeShadow:"rgba(51, 102, 183, 0.25)"},{icon:"var(--sa-color-warning-400, #ed9f30)",activeBg:"var(--sa-color-warning-50, #fef2e6)",activeBorder:"var(--sa-color-warning-300, #f1b259)",activeShadow:"rgba(237, 159, 48, 0.25)"},{icon:"var(--sa-color-secondary-300, #5468e1)",activeBg:"var(--sa-color-secondary-50, #e6e9fb)",activeBorder:"var(--sa-color-secondary-200, #8a98ea)",activeShadow:"rgba(84, 104, 225, 0.25)"},{icon:"var(--sa-color-info-500, #00abeb)",activeBg:"var(--sa-color-info-50, #effaff)",activeBorder:"var(--sa-color-info-300, #75dbff)",activeShadow:"rgba(0, 171, 235, 0.25)"},{icon:"var(--sa-color-success-500, #30ce84)",activeBg:"var(--sa-color-success-50, #ecfff6)",activeBorder:"var(--sa-color-success-300, #75dead)",activeShadow:"rgba(48, 206, 132, 0.25)"},{icon:"var(--sa-color-error-400, #ff758f)",activeBg:"var(--sa-color-error-50, #fff0f3)",activeBorder:"var(--sa-color-error-300, #ff8fa3)",activeShadow:"rgba(255, 117, 143, 0.25)"}];function Mr(t,r,n){return{display:"flex",alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"var(--sa-radii-sm, 6px)",border:t?`2px solid ${n.activeBorder}`:"2px solid var(--sa-color-gray-200, #f0f1f2)",backgroundColor:t?n.activeBg:"var(--sa-color-gray-50, #ffffff)",boxShadow:t?r?`0 8px 20px ${n.activeShadow.replace("0.25","0.35")}`:`0 2px 8px ${n.activeShadow}`:r?"0 8px 20px rgba(0, 0, 0, 0.14)":"0 1px 4px rgba(0, 0, 0, 0.08)",transform:r?"translateY(-3px) scale(1.05)":"translateY(0) scale(1)",transition:"box-shadow 0.2s ease, transform 0.2s ease, background-color 0.15s ease, border-color 0.15s ease"}}const Lr={fontSize:"11px",fontWeight:500,textAlign:"center",overflowWrap:"normal",wordBreak:"normal",color:"var(--sa-background-primary, #ffffff)",lineHeight:"1.3",maxWidth:"80px"},Ir={display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",background:"none",border:"none",cursor:"pointer",padding:0};function nn({isShow:t,onHide:r,menus:n,selectedGroupId:s,onSelect:o}){const[i,c]=u.useState(void 0),l=a=>{o(a),r()},d=_t[0];return e.jsx(We.Dialog,{isShow:t,onHide:r,style:{width:560,background:"transparent",boxShadow:"none",border:"none"},children:e.jsx(We.DialogBody,{children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"16px"},children:[e.jsxs("button",{onClick:()=>l(null),onMouseEnter:()=>c("all"),onMouseLeave:()=>c(void 0),style:Ir,children:[e.jsx("div",{style:Mr(s===null,i==="all",d),children:e.jsx("div",{style:{color:d.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(B.Icon,{name:"Grid",size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:Lr,children:"Semua"})]}),n.map((a,f)=>{var y;const g=s===a.id,m=i===a.id,j=((y=a.items[0])==null?void 0:y.icon)??"Grid",L=_t[(f+1)%_t.length];return e.jsxs("button",{onClick:()=>l(a.id),onMouseEnter:()=>c(a.id),onMouseLeave:()=>c(void 0),style:Ir,children:[e.jsx("div",{style:Mr(g,m,L),children:e.jsx("div",{style:{color:L.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(B.Icon,{name:j,size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:Lr,children:a.name})]},a.id)})]})})})}function $n({onSelect:t,"aria-label":r="Pilih module"}={}){const n=nr(),s=ye.useNavigate(),{selectedGroupId:o,setSelectedGroupId:i}=ir(),[c,l]=u.useState(!1),d=a=>{var f;if(i(a),a!==null){const g=n.menus.find(j=>j.id===a),m=(f=g==null?void 0:g.items[0])==null?void 0:f.to;m&&s(m)}t==null||t(a)};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{position:"relative"},children:[e.jsx("button",{onClick:()=>l(!0),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"2.25rem",height:"2.25rem",borderRadius:"var(--sa-radii-sm, 0.25rem)",border:"1px solid var(--sa-border-subtle, #0b120e24)",color:"var(--sa-text-subtle, #8c8f97)",backgroundColor:"transparent",cursor:"pointer"},"aria-label":r,onMouseEnter:a=>{a.currentTarget.style.backgroundColor="var(--sa-background-primary-inverse, #f8f8f8)"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:e.jsx(B.Icon,{name:"GridApplication",size:"sm"})}),o!==null&&e.jsx("span",{style:{position:"absolute",top:"0.25rem",right:"0.25rem",width:"0.5rem",height:"0.5rem",borderRadius:"9999px",backgroundColor:"var(--sa-color-brand-500, #1a4fa0)"},"aria-hidden":"true"})]}),e.jsx(nn,{isShow:c,onHide:()=>l(!1),menus:n.menus.filter(a=>a.parentGroupId===void 0),selectedGroupId:o,onSelect:d})]})}const eo=(t,r)=>{const n=[];if(r===0)return n.push(t),n;for(let s=0;s<t.length;s+=r){const o=t.slice(s,s+r);n.push(o)}return n},to=u.memo(({value:t,label:r,separator:n,labelWidth:s,lastIndex:o,labelAlign:i="top"})=>{const c=u.useMemo(()=>({padding:0,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),l=u.useMemo(()=>({padding:0,paddingRight:12,paddingLeft:12,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),d=()=>typeof r=="string"?e.jsx(v.Text,{fontWeight:"medium",color:"subtlest",children:r}):r,a=()=>typeof t=="string"||typeof t=="number"?e.jsx(v.Text,{color:"primary",fontWeight:"medium",children:t}):t,f=()=>typeof n=="string"||typeof n=="number"?e.jsx(v.Text,{fontWeight:"medium",color:"subtlest",children:n}):n;return e.jsxs(G.Tr,{children:[e.jsx(G.Td,{style:c,width:s,children:d()}),n?e.jsx(G.Td,{style:l,width:24,children:f()}):null,e.jsx(G.Td,{style:c,children:a()})]})}),ro=u.memo(({fields:t,separator:r,labelWidth:n})=>e.jsx(G.Table,{children:t.map((s,o)=>e.jsx(to,{separator:r,labelWidth:n,lastIndex:o===t.length-1,...s},`field-group-field-${o}`))})),no=u.memo(({maxRow:t=0,maxColumn:r=2,separator:n=":",fields:s=[],labelWidth:o=150,bordered:i=!1})=>{const c=u.useMemo(()=>eo(s,t),[s,t]),l=c.length>2,d=()=>{switch(r){case 1:return"width-full";case 2:return"width-1-2";case 3:return"width-1-3";case 4:return"width-1-4";default:return"width-1-2"}};return e.jsx(h.Box,{gap:l?void 0:"lg",direction:"row",flexWrap:"wrap",borderRadius:"rounded-sm",padding:"lg",paddingBottom:l?"xs":"lg",bg:"accent-dark-tertiary",borderWidth:i?"border":void 0,borderStyle:i?"border-solid":void 0,borderColor:i?"border-subtle":void 0,children:c.map((a,f)=>e.jsx(h.Box,{direction:"column",flex:l?void 0:"1",width:l?d():void 0,marginBottom:l?"lg":void 0,children:e.jsx(ro,{labelWidth:o,fields:a,separator:n})},f))})}),oo=({backButton:t})=>{const[r,n]=u.useState(!1),s=(t==null?void 0:t.iconColor)??"var(--sa-text-subtle, #8c8f97)",o=(t==null?void 0:t.textColor)??"var(--sa-text-subtle, #8c8f97)",i=(t==null?void 0:t.hoverIconColor)??"var(--sa-text-subtle, #8c8f97)",c=(t==null?void 0:t.hoverTextColor)??"var(--sa-text-primary, #292a2e)";return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{cursor:"pointer"},children:[e.jsx(B.Icon,{name:(t==null?void 0:t.iconName)||"ChevronLeft",size:"xs",style:{color:r?i:s,transition:"color 0.15s ease"}}),e.jsx(v.Text,{variant:"sub-h3",style:{color:r?c:o,textDecoration:r?"underline":"none",transition:"color 0.15s ease"},children:(t==null?void 0:t.title)||"Back"})]})},so=({backButton:t,title:r,titleIcon:n,titleTag:s,children:o,header:i=!0,headerBorder:c=!1,subHeaders:l,action:d,titleTagProps:a,containerProps:f,headerProps:g})=>{const m=pe.useMediaQuery("md"),j=ye.useNavigate(),L=ye.useLocation(),y=t==null?void 0:t.show,D=()=>{if(typeof(t==null?void 0:t.onClick)=="function"){t.onClick();return}j(-1,{replace:!0})},F=()=>{if(!d)return null;if(u.isValidElement(d))return d;const b=d.filter(E=>E&&(E.title||E.icon));return b.length===0?null:m?e.jsx(h.Box,{direction:"row",gap:"md",children:b.map(({title:E,icon:P,buttonProps:H,onClick:q},Q)=>e.jsx(z.Button,{iconLeft:P?e.jsx(B.Icon,{name:P,size:"md"}):void 0,onClick:q,...H,children:E},`action-${Q}`))}):e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"tertiary",size:"sm",iconLeft:e.jsx(B.Icon,{name:"MenuBurger"}),"aria-label":"Actions"})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{minWidth:200},children:b.map(({title:E,icon:P,buttonProps:H,onClick:q},Q)=>{const ne=(H==null?void 0:H.tone)==="error"||(H==null?void 0:H.danger)===!0;return e.jsx(I.MenuItem,{intent:ne?"danger":void 0,disabled:H==null?void 0:H.disabled,startIcon:P?e.jsx(B.Icon,{name:P}):void 0,onClick:q,children:E},`action-${Q}`)})})})]})},T=()=>{const b=e.jsx(oo,{backButton:t});return t!=null&&t.navigateTo?e.jsx(h.Box,{direction:"row",children:e.jsx(ye.Link,{to:t.navigateTo,replace:!0,style:{textDecoration:"none"},children:b})}):e.jsx(h.Box,{direction:"row",children:e.jsx(Et,{onClick:D,children:b})})},w=()=>{const b=!!r,E=Array.isArray(d)&&d.length>0,P=u.isValidElement(d)?!0:E;if(!b&&!P&&!y)return null;const q=m||!m&&E;return e.jsxs(h.Box,{direction:"column",gap:"xs",paddingBlock:(g==null?void 0:g.paddingBlock)??"sm",paddingInline:(g==null?void 0:g.paddingInline)??"md",...g,style:{...c?{borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"}:{},...g==null?void 0:g.style},children:[y&&T(),(b||P)&&e.jsxs(h.Box,{direction:q?"row":"column",gap:"sm",justify:"space-between",align:q?"center":"flex-start",children:[b?typeof r=="string"?e.jsxs(h.Box,{direction:"row",gap:"lg",align:"center",children:[e.jsxs(h.Box,{direction:"row",gap:"sm",align:"center",children:[n&&e.jsx(B.Icon,{name:n,size:"md",color:"primary"}),e.jsx(v.Text,{variant:"h3",fontWeight:"semibold",fontFamily:"Poppins",children:r})]}),s&&e.jsx(_e.Badge,{border:!0,size:"lg",text:s,...a})]}):r:null,F()]})]})},C=()=>{if(!l||l.length===0)return null;const b=l.filter(H=>H.show!==!1);if(b.length===0)return null;let E=0,P=-1/0;return b.forEach((H,q)=>{const Q=H.order??0;Q>=P&&(P=Q,E=q)}),b.map(({content:H,order:q,borderBottom:Q=!0},ne)=>e.jsx(h.Box,{direction:"column",paddingTop:"sm",paddingBottom:Q||ne===E?"sm":"spacing-0",paddingInline:"md",style:{...Q?{borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"}:{},...q!==void 0?{order:q}:{}},children:H},`sub-header-${ne}`))},R=()=>{const b=i?w():null,E=C();return!b&&!E?null:e.jsxs(h.Box,{direction:"column",style:{marginBottom:E?"var(--sa-spacing-0)":"var(--sa-spacing-md)"},children:[b,E]})},W=()=>o;return e.jsxs(h.Box,{direction:"column",as:"main",...f,style:{...(f==null?void 0:f.style)??{},animation:"pageLayoutEnter 320ms cubic-bezier(0.16, 1, 0.3, 1) backwards"},children:[R(),W()]},L.pathname)},io=u.memo(so),lo={icon:"Cross",title:""},co="calc(100vw - 16px)",Tr=t=>t==null?void 0:`min(${typeof t=="number"?`${t}px`:t}, ${co})`,on=u.forwardRef(({onHide:t,show:r,withBlur:n=!1,style:s,children:o,closeButton:i=lo,width:c,minWidth:l="357px",maxWidth:d="357px"},a)=>{const f=Tr(c??l),g=Tr(c??d);return e.jsx(kt.Drawer,{blur:n,isShow:r,position:"right",onHide:t,ref:a,style:{minWidth:f,maxWidth:g,...s},children:e.jsxs(h.Box,{direction:"column",padding:"lg",children:[i?e.jsxs(h.Box,{direction:"row",align:"center",gap:"sm",onClick:t,marginBottom:"lg",cursor:"pointer",children:[e.jsx(B.Icon,{name:i.icon,size:"md",color:"subtle",cursor:"pointer"}),i.title?e.jsx(v.Text,{fontFamily:"Poppins",fontSize:"md",color:"subtlest",children:i.title}):null]}):null,o]})})}),lr=u.memo(({children:t,borderBottom:r=!0,padding:n=!0})=>{const s=pe.useMediaQuery("lg");return e.jsx(h.Box,{direction:"column",padding:n?"md":"spacing-0",paddingLeft:n?"md":"spacing-0",paddingRight:n?"md":"spacing-0",style:r?{borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"}:void 0,children:t})}),cr=u.memo(({children:t,borderTop:r=!0,padding:n=!0})=>{const s=pe.useMediaQuery("lg");return e.jsx(h.Box,{direction:"column",padding:n?"md":"spacing-0",paddingLeft:n?"md":"spacing-0",paddingRight:n?"md":"spacing-0",style:r?{borderTop:"1px solid var(--sa-border-subtle, #0b120e24)"}:void 0,children:t})}),ao=u.memo(({children:t,...r})=>e.jsx(h.Box,{direction:"column",padding:"md",paddingLeft:"md",paddingRight:"md",gap:"md",...r,children:t})),uo=u.memo(({children:t,title:r,titleTag:n,action:s,header:o,footer:i,actionContainer:c,containerProps:l,bodyProps:d,headerProps:a={borderBottom:!0},footerProps:f={borderTop:!0},variantTag:g="info"})=>{const m=pe.useMediaQuery("lg"),j=()=>n?e.jsxs(h.Box,{direction:"row",gap:"sm",align:"center",children:[e.jsx(v.Text,{fontWeight:"medium",children:r}),e.jsx(_e.Badges,{border:!0,text:n,variant:g})]}):e.jsx(v.Text,{fontWeight:"medium",children:r}),L=()=>o||e.jsxs(h.Box,{direction:"row",justify:"space-between",align:"flex-start",gap:"md",children:[e.jsx(h.Box,{direction:"column",children:r?j():null}),e.jsx(h.Box,{direction:"column",style:m?{width:"100%",maxWidth:"19.313rem"}:{flex:1},...c,children:s??null})]}),y=!!(o||r||s);return e.jsxs(h.Box,{direction:"column",bg:"white",borderRadius:"rounded-xs",as:"section",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",...l,style:{backgroundColor:"var(--sa-background-primary, #ffffff)",...(l==null?void 0:l.style)??{}},children:[o!==null&&y?e.jsx(lr,{...a,children:L()}):null,e.jsx(ao,{...d,children:t}),i?e.jsx(cr,{...f,children:i}):null]})}),xo=t=>e.jsx(v.Text,{variant:"h1",children:t.children,...t.props}),ho=t=>e.jsx(v.Text,{variant:"h2",children:t.children,...t.props}),fo=t=>e.jsx(v.Text,{variant:"h3",children:t.children,...t.props}),mo=t=>e.jsx(v.Text,{variant:"h4",children:t.children,...t.props}),go=t=>e.jsx(v.Text,{variant:"h5",children:t.children,...t.props}),yo=t=>e.jsx(v.Text,{variant:"h6",children:t.children,...t.props}),po=t=>e.jsx(v.Text,{variant:"sub-h1",children:t.children,...t.props}),jo=t=>e.jsx(v.Text,{variant:"sub-h2",children:t.children,...t.props}),bo=t=>e.jsx(v.Text,{variant:"sub-h3",children:t.children,...t.props}),Co=t=>e.jsx(v.Text,{variant:"body-1",children:t.children,...t.props}),vo=t=>e.jsx(v.Text,{variant:"body-2",children:t.children,...t.props}),wo=t=>e.jsx(v.Text,{variant:"body-3",children:t.children,...t.props}),Re={H1:xo,H2:ho,H3:fo,H4:mo,H5:go,H6:yo,SubH1:po,SubH2:jo,SubH3:bo,Body1:Co,Body2:vo,Body3:wo},Be=()=>{const[t,r]=ye.useSearchParams(),n=st.searchParamsToObject(t.toString()),s=ye.useParams(),o=ye.useLocation(),i=s.id;return{setSearchParams:r,searchParams:t,searchQueries:n,isHasQuery:(f,g)=>t.has(f)&&t.get(f)===g,getQueryParam:f=>t.get(f),getRouteParam:f=>s[f],params:s,location:o,id:i,hasId:!!i}},sn=t=>JSON.stringify(t),ln=t=>JSON.stringify(t),cn=t=>JSON.stringify(t),an=t=>JSON.stringify(t),Do=t=>t,So=t=>JSON.stringify(t),xt=({value:t,name:r,type:n,withSearchParam:s=!0,setSearchParams:o,searchQueries:i,dropdownSearchKey:c,filterKey:l="filter",pageKey:d="page"})=>{if(s){let a;switch(n){case"search":a=Do(t);break;case"dropdown":case"dropdown-multiple":a=sn(t);break;case"radio":a=ln(t);break;case"date-range":a=cn(t);break;case"advanced-date-range":a=So(t);break;case"date":a=an(t);break;default:a=t;break}if(typeof a<"u"){const g={...i[l]&&typeof i[l]=="string"?JSON.parse(i[l]):void 0,[r]:a},m={...i};c&&typeof c=="string"&&delete m[c],delete m[d];const j={...m,[l]:JSON.stringify(g)},L=new URLSearchParams(i).toString(),y=new URLSearchParams(j).toString();if(L===y)return;o(j)}}},Dt=({name:t,filterKey:r="filter",searchParams:n,get:s})=>{const o=n.get(r)||void 0,i=o&&typeof o=="string"?JSON.parse(o):void 0,c=i?i[t]:void 0;return s==="label"&&c?JSON.parse(c)[0].label:s==="value"&&c?JSON.parse(c)[0].value:c},dn=({name:t,filterKey:r="filter",searchParams:n,get:s})=>{const o=n.get(r)||void 0,i=o&&typeof o=="string"?JSON.parse(o):void 0,c=i?i[t]:void 0;return s==="label"&&c?JSON.parse(c).map(l=>l.label):s==="value"&&c?JSON.parse(c).map(l=>l.value):s==="array"&&c?JSON.parse(c):c},ko=({name:t,filterKey:r="filter",searchParams:n,get:s})=>{const o=n.get(r)||void 0,i=o&&typeof o=="string"?JSON.parse(o):void 0,c=i?i[t]:void 0;return s==="id"&&c?JSON.parse(c).id:s==="label"&&c?JSON.parse(c).label:s==="value"&&c?JSON.parse(c).value:c},Mt=(t,r,n)=>{const s=r.get(n||"filter")||void 0,o=s&&typeof s=="string"?JSON.parse(s):void 0;return o?o[t]:void 0},Bo=({name:t,filterKey:r="filter",searchParams:n})=>{const s=n.get(r||"filter")||void 0,o=s&&typeof s=="string"?JSON.parse(s):void 0,i=o?o[t]:void 0;return{start:i?JSON.parse(i).from:void 0,end:i?JSON.parse(i).to:void 0}},un=({name:t,filterKey:r="filter",searchParams:n})=>{const s=n.get(r||"filter")||void 0,o=s&&typeof s=="string"?JSON.parse(s):void 0,i=o?o[t]:void 0;return i?JSON.parse(i):void 0},Fo=(t,{filterKey:r="filter",perPageKey:n="perPage",pageKey:s="page"})=>{const o=t.get(r)||void 0,i=t.get(n)||void 0,c=t.get(s)||void 0;return!!o||!!i||!!c},xn=({isOpen:t,onClose:r,filterKey:n,pageKey:s,filters:o})=>{const{searchParams:i,setSearchParams:c,searchQueries:l}=Be(),[d,a]=u.useState({}),f=()=>{i.delete(n||"filter"),c(i)},g=(m,j)=>{switch(m.type){case"radio":{const{show:L=!0}=m;return L&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j)}case"dropdown":{const{show:L=!0}=m;return L&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j)}case"date-range":return e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j);case"date":return e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j);case"dropdown-multiple":{const{show:L=!0}=m;return L&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j)}default:return null}};return e.jsx(on,{onHide:r,show:t||!1,children:e.jsxs(h.Box,{direction:"column",gap:"md",children:[e.jsxs(se.Flex,{direction:"row",justify:"space-between",align:"center",children:[e.jsx(h.Box,{direction:"column",children:"Filter"}),e.jsx(h.Box,{direction:"column",style:{cursor:"pointer"},onClick:f,children:"Reset"})]}),o==null?void 0:o.map((m,j)=>g(m,j))]})})},hn=({searchKey:t="q",statusKey:r="status",searchPlaceholder:n="Search",searchHighlightPlaceholder:s,extendedFilter:o,showSearchFilter:i=!0,showStatusFilter:c=!0,filterKey:l="filter",pageKey:d="page",customWidthSearch:a,handleOnReset:f,filterConfigs:g,buttonToggleProps:m,position:j="right",titleSearchLabel:L="Work Order",withTitleLabels:y=!1})=>{const F=(m==null?void 0:m.isShowLabel)??!0,[T,w]=u.useState(!1),[C,R]=u.useState(0),W=()=>{R(K=>K+1)},{searchParams:b,setSearchParams:E,getQueryParam:P}=Be(),H=st.searchParamsToObject(b.toString()),q=Mt(t,b,l)||"",[Q,ne]=u.useState(q),xe=P(l),ae=!!(xe&&!(()=>{if(xe)try{const K=JSON.parse(xe);return Object.keys(K).length===1&&K[t]===""}catch(K){console.error("Filter parameter is not a valid JSON:",K)}return!1})()),X=pe.useMediaQuery("md");return u.useEffect(()=>{ne(q)},[q]),u.useEffect(()=>{if(Q===q)return;const K=window.setTimeout(()=>{xt({value:Q,name:t,type:"search",searchQueries:H,setSearchParams:E,filterKey:l,pageKey:d})},350);return()=>{window.clearTimeout(K)}},[Q,q,t,H,E,l,d]),e.jsxs(se.Flex,{gap:"md",style:{flexDirection:X&&j==="left"?"row":X&&j==="right"?"row-reverse":"column"},align:"flex-end",children:[ae&&e.jsx(h.Box,{direction:"column",justify:"flex-end",children:e.jsx(z.Button,{onClick:()=>{const K=new URLSearchParams(b);K.delete(l),E(K),ne(""),W(),f&&f()},variant:"outline",tone:"neutral",children:e.jsx(v.Text,{color:"error",fontWeight:"semibold",children:"Reset"})})}),o==null?void 0:o.map(({minWidth:K,content:ue,title:ee,onClickContainer:le},we)=>e.jsxs(h.Box,{direction:"column",gap:"sm",onClick:le,style:{minWidth:K},children:[ee&&e.jsx(Re.SubH3,{children:ee}),ue]},`extended-filter-${we}-${C}`)),!!(g!=null&&g.length)&&e.jsx(z.Button,{primary:ae,secondary:!ae,iconLeft:e.jsx(B.Icon,{size:"sm",name:(m==null?void 0:m.icon)||"FilterHorizontal",style:{color:xe?"var(--sa-background-brand, #04254f)":"var(--sa-text-primary, #292a2e)"}}),fullWidth:!X,onClick:()=>w(!0),children:F?"Filter":void 0}),c&&e.jsxs(h.Box,{direction:"column",gap:"sm",style:{minWidth:"126px"},children:[y&&e.jsx(Re.SubH3,{children:"Status"}),e.jsx(ot.Dropdown,{dropdownLists:[{label:"Active",value:"active"},{label:"InActive",value:"inactive"}],defaultValue:Dt({get:"value",name:r,searchParams:b,filterKey:l})?[{label:Dt({get:"value",name:r,searchParams:b,filterKey:l})==="active"?"Active":"InActive",value:Dt({get:"value",name:r,searchParams:b,filterKey:l})}]:[],onChange:K=>xt({value:K,name:r,type:"dropdown",searchQueries:H,setSearchParams:E,filterKey:l}),placeholder:y?"All":"All Status"},C)]}),i&&e.jsxs(h.Box,{direction:"column",gap:"sm",style:{width:a&&X?a:X?"310px":""},children:[y&&e.jsxs(Re.SubH3,{children:["Search for ",L]}),e.jsx(qe.Input,{placeholder:n,leftIcon:e.jsx(B.Icon,{name:"Search",width:20,height:20}),onChange:K=>ne(K.target.value),value:Q,fullWidth:!0},C+1+l)]}),e.jsx(xn,{isOpen:T,onClose:()=>w(!1),filterKey:l,filters:g,pageKey:d})]})},Eo=t=>t==="checkbox-multiple"?"dropdown-multiple":t==="radio"?"dropdown":t==="date-compact"?"date":t;function ar({configs:t,filterKey:r="filter",activeFilterKey:n="filters",pageKey:s="page",searchKey:o="q"}){const{searchParams:i,setSearchParams:c,searchQueries:l}=Be(),d=u.useMemo(()=>Object.fromEntries(t.map(C=>[C.key,C])),[t]),a=u.useMemo(()=>{const C=(i.get(n)||"").split(",").map(W=>W.trim()).filter(Boolean);let R=[];try{const W=i.get(r);W&&(R=Object.keys(JSON.parse(W)).filter(b=>b!==o))}catch{}return t.map(W=>W.key).filter(W=>{const b=d[W];return(b==null?void 0:b.locked)||C.includes(W)||R.includes(W)})},[i,n,r,o,t,d]),f=u.useCallback(C=>{try{return C[r]?JSON.parse(C[r]):{}}catch{return{}}},[r]),g=u.useCallback(C=>{const R={...l};C.length?R[n]=C.join(","):delete R[n],c(R)},[l,n,c]),m=u.useCallback(C=>{a.includes(C)||g([...a,C])},[a,g]),j=u.useCallback(C=>{var E;if((E=d[C])!=null&&E.locked)return;const R={...l},W=a.filter(P=>P!==C);W.length?R[n]=W.join(","):delete R[n];const b=f(R);C in b&&(delete b[C],Object.keys(b).length?R[r]=JSON.stringify(b):delete R[r]),delete R[s],c(R)},[l,a,n,r,s,f,c,d]),L=u.useCallback(C=>a.includes(C)?j(C):m(C),[a,m,j]),y=u.useCallback(C=>{switch(C.type){case"dropdown":case"dropdown-multiple":case"checkbox-multiple":case"radio":return dn({name:C.key,get:"array",searchParams:i,filterKey:r})||[];case"date":{const R=un({name:C.key,searchParams:i,filterKey:r});return R?new Date(R):void 0}case"date-compact":{const W=f(Object.fromEntries(i.entries()))[C.key];return W&&typeof W=="object"?W:void 0}default:return}},[i,r,f]),D=u.useCallback((C,R)=>{if(C.type==="date-compact"){const W={...l},b=f(W);R==null?delete b[C.key]:b[C.key]=R,Object.keys(b).length?W[r]=JSON.stringify(b):delete W[r],delete W[s],c(W);return}xt({value:R,name:C.key,type:Eo(C.type),searchQueries:l,setSearchParams:c,filterKey:r,pageKey:s})},[l,c,r,s,f]),F=u.useCallback(C=>{const R={...l},W=f(R);C in W&&(delete W[C],Object.keys(W).length?R[r]=JSON.stringify(W):delete R[r]),delete R[s],c(R)},[l,r,s,f,c]),T=u.useCallback(()=>{const C={...l};delete C[r],delete C[n],delete C[s],c(C)},[l,r,n,s,c]),w=a.length>0;return{activeKeys:a,configByKey:d,hasActiveFilter:w,addFilter:m,removeFilter:j,toggleFilter:L,getValue:y,setValue:D,clearValue:F,clearAll:T}}const dr={get(t){return dt.storage.get(t)??null},set(t,r){dt.storage.save(t,r)},remove(t){dt.storage.delete(t)}},ct={columns:t=>`filterbar:colprefs:${t}`,savedViews:t=>`filterbar:views:${t}`,lastState:t=>`filterbar:last:${t}`,perPage:t=>`filterbar:perpage:${t}`,tableSort:t=>`tablelayout:sort:${t}`},yt=(t,r)=>{const n=new Set(r.map(i=>i.key)),s=t.order.filter(i=>n.has(i));for(const i of r)s.includes(i.key)||s.push(i.key);const o=t.hidden.filter(i=>n.has(i));return{order:s,hidden:o}};function Mo({columns:t,scopeId:r,storage:n,onColumnsChange:s,value:o}){const i=u.useMemo(()=>({order:t.map(b=>b.key),hidden:[]}),[t]),c=r?ct.columns(r):void 0,l=(b,E)=>yt({order:b.order??E,hidden:b.hidden??[]},t),[d,a]=u.useState(()=>{if(o&&(o.order||o.hidden))return l(o,t.map(b=>b.key));if(c){const b=n.get(c);if(b&&Array.isArray(b.order))return yt(b,t)}return i}),f=t.map(b=>b.key).join("|");u.useEffect(()=>a(b=>yt(b,t)),[f]);const g=u.useRef(d);g.current=d;const m=o?`${(o.order??[]).join("|")}~${(o.hidden??[]).join("|")}`:null,j=u.useRef(m);u.useEffect(()=>{if(m==null||j.current===m)return;j.current=m;const b=g.current,E=l(o,b.order);E.order.join("|")===b.order.join("|")&&E.hidden.join("|")===b.hidden.join("|")||(a(E),c&&n.set(c,E))},[m,f]);const L=u.useRef(!1);u.useEffect(()=>{L.current||(L.current=!0,s==null||s(d))},[]);const y=u.useCallback(b=>{a(b),c&&n.set(c,b),s==null||s(b)},[c,n,s]),D=u.useMemo(()=>{const b=new Map(t.map(E=>[E.key,E]));return d.order.filter(E=>b.has(E)).map(E=>({...b.get(E),visible:!d.hidden.includes(E)}))},[d,t]),F=u.useCallback(b=>{const E=d.hidden.includes(b)?d.hidden.filter(P=>P!==b):[...d.hidden,b];y({...d,hidden:E})},[d,y]),T=u.useCallback((b,E)=>{if(b===E)return;const P=[...d.order],[H]=P.splice(b,1);P.splice(E,0,H),y({...d,order:P})},[d,y]),w=u.useCallback(b=>{y({...d,hidden:b?t.filter(E=>!E.locked).map(E=>E.key):[]})},[d,t,y]),C=u.useCallback(()=>y(i),[y,i]),R=u.useCallback(b=>y(yt(b,t)),[y,t]),W=d.hidden.length===0;return{state:d,orderedColumns:D,allVisible:W,toggleVisibility:F,reorder:T,setAllHidden:w,reset:C,applyState:R}}function Lo({scopeId:t,storage:r,snapshotKeys:n,pageKey:s="page",getColumns:o,applyColumns:i}){const{searchParams:c,setSearchParams:l}=Be(),d=t?ct.savedViews(t):void 0,[a,f]=u.useState(()=>d?r.get(d)||[]:[]),g=u.useCallback(y=>{f(y),d&&r.set(d,y)},[d]),m=u.useCallback(y=>{const D=y.trim();if(!D)return;const F={};n.forEach(w=>{const C=c.get(w);C!=null&&(F[w]=C)});const T={id:`${Date.now()}`,name:D,query:F,columns:o==null?void 0:o(),createdAt:Date.now()};g([...a,T])},[n,c,o,g,a]),j=u.useCallback(y=>g(a.filter(D=>D.id!==y)),[g,a]),L=u.useCallback(y=>{const D=Object.fromEntries(c.entries());n.forEach(F=>delete D[F]),Object.assign(D,y.query),delete D[s],l(D),y.columns&&(i==null||i(y.columns))},[c,n,s,l,i]);return{enabled:!!d,views:a,saveView:m,deleteView:j,applyView:L}}function Io({scopeId:t,storage:r,snapshotKeys:n,enabled:s=!0}){const{searchParams:o}=Be(),i=t&&s?ct.lastState(t):void 0,c=u.useRef(i);u.useEffect(()=>{if(!i){c.current=i;return}if(c.current!==i){c.current=i;return}const a={};n.forEach(f=>{const g=o.get(f);g!=null&&(a[f]=g)}),Object.keys(a).length!==0&&r.set(i,a)},[o,i,n,r]);const l=u.useCallback(()=>{if(!i)return null;const a=r.get(i);return a&&Object.keys(a).length>0?a:null},[i,r]),d=u.useCallback(()=>{i&&r.remove(i)},[i,r]);return{enabled:!!i,read:l,clear:d}}function To({scopeId:t,storage:r,perPageKey:n,pageSizeOptions:s,enabled:o=!0}){const{searchParams:i}=Be(),c=t&&o?ct.perPage(t):void 0,l=i.toString(),d=u.useRef(c);u.useEffect(()=>{if(!c){d.current=c;return}if(d.current!==c){d.current=c;return}const g=i.get(n);if(!g)return;const m=Number(g);!Number.isFinite(m)||m<=0||r.set(c,m)},[l,c,n,r]);const a=u.useCallback(()=>{if(!c)return null;const g=r.get(c);if(g==null)return null;const m=Number(g);return!Number.isFinite(m)||m<=0||s&&!s.includes(m)?null:String(m)},[c,r,s]),f=u.useCallback(()=>{c&&r.remove(c)},[c,r]);return{enabled:!!c,read:a,clear:f}}let qt={},Zt=!1,Gt=null;const Oo=(t,r)=>{Object.assign(qt,t),Gt=r,!Zt&&(Zt=!0,queueMicrotask(()=>{const n=qt,s=Gt;qt={},Zt=!1,Gt=null,!(!s||Object.keys(n).length===0)&&s(o=>{const i=new URLSearchParams(o);return Object.entries(n).forEach(([c,l])=>i.set(c,l)),i})}))};function Wo({enabled:t,snapshotKeys:r,perPageKey:n,readSnapshot:s,readPerPage:o}){const{searchParams:i,setSearchParams:c,location:l}=Be(),d=u.useRef(null);u.useEffect(()=>{if(!t||d.current===l.pathname)return;d.current=l.pathname;const a={};if(!i.has(n)){const f=o();f&&(a[n]=f)}if(!r.some(f=>i.has(f))){const f=s();f&&Object.assign(a,f)}Object.keys(a).length!==0&&Oo(a,c)},[l.pathname,t])}const Ro=({configs:t,activeKeys:r,onToggle:n,hasActiveFilter:s,onReset:o})=>t.length?e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:s?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"FilterHorizontal"}),"aria-label":"Add filter"})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{minWidth:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:"Add Filter"}),s&&o&&e.jsx(z.Button,{variant:"link",tone:"brand",size:"xs",onClick:o,children:"Reset"})]}),children:t.map(i=>e.jsx(I.MenuItem,{selected:i.locked||r.includes(i.key),disabled:i.locked,closeOnSelect:!1,startIcon:i.icon??void 0,onClick:()=>{i.locked||n(i.key)},children:i.label},i.key))})})]}):null,Lt=({onClear:t,onRemove:r})=>e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"link",tone:"neutral",size:"xs",iconLeft:e.jsx(B.Icon,{name:"MenuHorizontal"}),"aria-label":"Filter actions"})}),e.jsx(I.MenuLists,{children:e.jsxs(I.MenuBody,{style:{width:180},children:[e.jsx(I.MenuItem,{startIcon:e.jsx(B.Icon,{name:"CrossCircle"}),onClick:t,children:"Clear value"}),r&&e.jsx(I.MenuItem,{intent:"danger",startIcon:e.jsx(B.Icon,{name:"Trash1"}),onClick:r,children:"Remove filter"})]})})]}),Ao=t=>{const r=new Date(t);return r.setHours(0,0,0,0),r},Or=(t,r,n)=>{const s=new Date(t);return n==="day"?s.setDate(s.getDate()+r):n==="week"?s.setDate(s.getDate()+r*7):n==="month"?s.setMonth(s.getMonth()+r):s.setFullYear(s.getFullYear()+r),s},fn=t=>{const r=Ao(new Date);if(t.direction==="this"){const s=new Date(r),o=new Date(r);return t.period==="week"?(s.setDate(r.getDate()-r.getDay()),o.setDate(s.getDate()+6)):t.period==="month"?(s.setDate(1),o.setMonth(o.getMonth()+1,0)):t.period==="year"&&(s.setMonth(0,1),o.setMonth(11,31)),{from:s,to:o}}const n=t.count??1;return t.direction==="past"?{from:Or(r,-n,t.period),to:r}:{from:r,to:Or(r,n,t.period)}},Wr=24,mn=t=>t.length>Wr?`${t.slice(0,Wr)}...`:t,St=t=>t.toLocaleDateString(void 0,{day:"2-digit",month:"short",year:"numeric"}),Ft={is:"Is","is-before":"Is before","is-after":"Is after","is-on-or-before":"Is on or before","is-on-or-after":"Is on or after","is-between":"Is between","is-relative-to-today":"Is relative to today","is-empty":"Is empty","is-not-empty":"Is not empty"},zo=["is","is-before","is-after","is-on-or-before","is-on-or-after","is-between","is-relative-to-today","is-empty","is-not-empty"],er={past:"Past",next:"Next",this:"This"},Vo=["day","week","month","year"],Ho=["past","next","this"],Po=t=>t.field.type==="date-compact"?e.jsx(qo,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}):e.jsx(No,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}),No=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=r?St(new Date(r)):null,c=!!i,l=c?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:mn(i)})]}):t.label;return e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:c?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:c?e.jsx(B.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:l})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Lt,{onClear:s,onRemove:o})]}),children:e.jsx(Xe.StarasiaDate,{size:"sm",input:!1,clearable:!0,filter:t.mode,value:r,onChange:d=>d==null?s():n(d),withPadding:!1})})})]})},_o=t=>{switch(t.op){case"is":case"is-before":case"is-after":case"is-on-or-before":case"is-on-or-after":return t.date?`${Ft[t.op]} ${St(new Date(t.date))}`:null;case"is-between":return t.from&&t.to?`${St(new Date(t.from))} - ${St(new Date(t.to))}`:null;case"is-relative-to-today":{const r=t.relative;if(!r)return null;if(r.direction==="this")return`This ${r.period}`;const n=r.count??1,s=n===1?r.period:`${r.period}s`;return`${er[r.direction]} ${n} ${s}`}case"is-empty":case"is-not-empty":return Ft[t.op];default:return null}},qo=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=(r==null?void 0:r.op)??"is",c=r?_o(r):null,l=!!c,d=l?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:mn(c)})]}):t.label,a=f=>{if(f!==i){if(f==="is-empty"||f==="is-not-empty"){n({op:f});return}if(f==="is-relative-to-today"){n({op:f,relative:(r==null?void 0:r.relative)??{direction:"past",count:1,period:"week"}});return}if(f==="is-between"){n({op:f,from:r==null?void 0:r.from,to:r==null?void 0:r.to});return}n({op:f,date:r==null?void 0:r.date})}};return e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:l?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l?e.jsx(B.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:d})}),e.jsxs(I.MenuLists,{children:[e.jsx(I.MenuBody,{style:{width:320},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",gap:"xs",fullWidth:!0,children:[e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"xs",style:{minWidth:0},children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Zo,{op:i,onChange:a})]}),e.jsx(Lt,{onClear:s,onRemove:o})]}),children:e.jsx(Go,{value:r,op:i,onChange:n})}),i==="is-relative-to-today"&&e.jsx(I.MenuFooter,{children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"Filter will update with the current date"})})]})]})},Zo=({op:t,onChange:r})=>e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"link",tone:"neutral",size:"xs",iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:Ft[t]})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:200},children:zo.map(n=>e.jsx(I.MenuItem,{selected:t===n,onClick:()=>r(n),endIcon:t===n?e.jsx(B.Icon,{name:"Check"}):void 0,children:Ft[n]},n))})})]}),Go=({value:t,op:r,onChange:n})=>{if(r==="is-empty"||r==="is-not-empty")return e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"No further input required."})});if(r==="is-between"){const s=t!=null&&t.from||t!=null&&t.to?{from:t!=null&&t.from?new Date(t.from):null,to:t!=null&&t.to?new Date(t.to):null}:void 0;return e.jsx(Xe.StarasiaDate,{size:"sm",input:!1,clearable:!0,rangedDate:!0,value:s,onChange:o=>{if(o==null){n({op:r});return}if(typeof o=="object"&&o!==null&&"from"in o&&"to"in o){let{from:i,to:c}=o;if(!i&&c&&(i=c,c=null),!i&&!c){n({op:r});return}n({op:r,from:i?i.toISOString():void 0,to:c?c.toISOString():void 0})}},withPadding:!1},"range")}return r==="is-relative-to-today"?e.jsx(Qo,{value:t==null?void 0:t.relative,onChange:s=>n({op:r,relative:s})}):e.jsx(Xe.StarasiaDate,{size:"sm",input:!1,clearable:!0,value:t!=null&&t.date?new Date(t.date):void 0,onChange:s=>{if(s==null){n({op:r});return}s instanceof Date&&n({op:r,date:s.toISOString()})},withPadding:!1},"single")},Qo=({value:t,onChange:r})=>{const n=(t==null?void 0:t.direction)??"past",s=(t==null?void 0:t.count)??1,o=(t==null?void 0:t.period)??"week",i=n!=="this",c=fn({direction:n,count:s,period:o});return e.jsxs(h.Box,{direction:"column",display:"flex",gap:"sm",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:er[n]})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:140},children:Ho.map(l=>e.jsx(I.MenuItem,{selected:n===l,endIcon:n===l?e.jsx(B.Icon,{name:"Check"}):void 0,onClick:()=>r(l==="this"?{direction:l,period:o}:{direction:l,count:s,period:o}),children:er[l]},l))})})]}),i&&e.jsx(qe.Input,{type:"number",size:"sm",min:1,clearable:!1,value:s,onChange:l=>{const d=Number(l.target.value);r({direction:n,count:Number.isFinite(d)&&d>0?d:1,period:o})},style:{width:72}}),e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:o})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:140},children:Vo.map(l=>e.jsx(I.MenuItem,{selected:o===l,endIcon:o===l?e.jsx(B.Icon,{name:"Check"}):void 0,onClick:()=>r(n==="this"?{direction:n,period:l}:{direction:n,count:s,period:l}),children:l},l))})})]})]}),e.jsx(Xe.StarasiaDate,{size:"sm",input:!1,disabled:!0,rangedDate:!0,value:c,onChange:()=>{},withPadding:!1},"relative-preview")]})},Rr=18,Uo=t=>t.length>Rr?`${t.slice(0,Rr)}...`:t,Jo=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.type==="dropdown-multiple",c=r.length,[l,d]=u.useState(""),a=t.options,f=typeof t.onSearch=="function",g=(()=>{if(f)return a;const D=l.trim().toLowerCase();return D?a.filter(F=>F.label.toLowerCase().includes(D)):a})(),m=D=>r.some(F=>F.value===D.value),j=D=>{if(!i){n([{label:D.label,value:D.value}]),d("");return}n(m(D)?r.filter(F=>F.value!==D.value):[...r,{label:D.label,value:D.value}])},L=D=>{var F;d(D),(F=t.onSearch)==null||F.call(t,D)},y=c===0?t.label:e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:c===1?Uo(r[0].label):`${c} Selected`})]});return e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:c>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:c>0?e.jsx(B.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:y})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Lt,{onClear:s,onRemove:o})]}),children:e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(ot.Dropdown,{size:"sm",triggerInput:!0,fullWidth:!0,hideChevronIcon:!0,clearable:!0,multiSelect:i,searchAble:!0,searchValue:l,onSearch:L,value:r,onChange:n,placeholder:`Search ${t.label.toLowerCase()}…`}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",customMaxHeight:"240px",children:t.isLoading?e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"Loading…"})}):g.length===0?e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"No results"})}):g.map(D=>e.jsx(I.MenuItem,{closeOnSelect:!i,selected:m(D),startIcon:D.avatar,endIcon:m(D)?e.jsx(B.Icon,{name:"Check"}):void 0,description:D.description,onClick:()=>j(D),children:D.label},D.value))})]})})})]})},Ar=18,Yo=t=>t.length>Ar?`${t.slice(0,Ar)}...`:t,zr=({checked:t,indeterminate:r})=>e.jsx("span",{style:{pointerEvents:"none",display:"inline-flex"},children:e.jsx(lt.Checkbox,{size:"sm",checked:t,readOnly:!0,onChange:()=>{},variant:r?"indeterminate":"select"})}),Xo=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=new Set(r.map(m=>m.value)),c=r.length,l=t.options.length>0&&t.options.every(m=>i.has(m.value)),d=c>0&&!l,a=m=>{n(i.has(m.value)?r.filter(j=>j.value!==m.value):[...r,{label:m.label,value:m.value}])},f=()=>{n(l?[]:t.options.map(m=>({label:m.label,value:m.value})))},g=c===0?t.label:e.jsxs(e.Fragment,{children:[e.jsxs(v.Text,{as:"span",fontWeight:"semibold",children:[t.label,":"]})," ",e.jsx(v.Text,{as:"span",children:c===1?Yo(r[0].label):`${c} Selected`})]});return e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:c>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:c>0?e.jsx(B.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:g})}),e.jsx(I.MenuLists,{children:e.jsxs(I.MenuBody,{style:{width:240},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Lt,{onClear:s,onRemove:o})]}),children:[e.jsx(I.MenuItem,{closeOnSelect:!1,selected:l,onClick:f,startIcon:e.jsx(zr,{checked:l||d,indeterminate:d}),children:"Select All"}),t.options.map(m=>e.jsx(I.MenuItem,{closeOnSelect:!1,selected:i.has(m.value),onClick:()=>a(m),startIcon:e.jsx(zr,{checked:i.has(m.value)}),children:m.label},m.value))]})})]})},gn=({activeKeys:t,configByKey:r,getValue:n,setValue:s,clearValue:o,removeFilter:i})=>e.jsx(e.Fragment,{children:t.map(c=>{const l=r[c];if(!l)return null;const d=n(l),a=l.locked?void 0:()=>i(c);return l.type==="date"||l.type==="date-compact"?e.jsx(Po,{field:l,value:d,onChange:f=>s(l,f),onClear:()=>o(c),onRemove:a},c):l.type==="checkbox-multiple"?e.jsx(Xo,{field:l,value:d||[],onChange:f=>s(l,f),onClear:()=>o(c),onRemove:a},c):e.jsx(Jo,{field:l,value:d||[],onChange:f=>s(l,f),onClear:()=>o(c),onRemove:a},c)})}),Vr=t=>`${t} Rows`,Ko=({pagination:t,pageKey:r="page",perPageKey:n="perPage",pageSizeOptions:s=[10,25,50,100],defaultPerPage:o=10,showResultCount:i=!0,showPageSize:c=!0,showPagination:l=!0})=>{var F;const{searchQueries:d,setSearchParams:a,searchParams:f}=Be(),g=f.get(n),m=g?Number(g):o,j=T=>{a({...d,[r]:String(T)})},L=T=>{a({...d,[n]:T,[r]:"1"})},y=(t==null?void 0:t.rangeStart)??(((t==null?void 0:t.currentPage)||0)>1?(((t==null?void 0:t.currentPage)||0)-1)*((t==null?void 0:t.perPage)||0)+1:0),D=(t==null?void 0:t.rangeEnd)??((t==null?void 0:t.totalCurrentPage)!==(t==null?void 0:t.perPage)?t==null?void 0:t.totalData:((t==null?void 0:t.currentPage)||1)*((t==null?void 0:t.totalCurrentPage)||0));return e.jsxs(e.Fragment,{children:[i&&e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${y}-${D} of ${((F=t==null?void 0:t.totalData)==null?void 0:F.toLocaleString())||0}`}),c&&e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),"aria-label":"Rows per page",children:Vr(m)})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{children:s.map(T=>e.jsx(I.MenuItem,{selected:T===m,onClick:()=>L(String(T)),children:Vr(T)},T))})})]}),l&&((t==null?void 0:t.totalPage)??0)>1&&e.jsx(h.Box,{direction:"column",display:"flex",align:"center",gap:"sm",paddingRight:"sm",style:{borderRight:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:e.jsx(ut.Pagination,{size:"sm",variant:"neutral",siblingCount:0,currentPage:t!=null&&t.currentPage?Number(t.currentPage):1,totalPages:Number(t==null?void 0:t.totalPage),onPageChange:j})})]})};function $o(t,r,n=!0){u.useEffect(()=>{if(!n)return;const s=o=>{var l;if(o.metaKey||o.ctrlKey||o.altKey||o.key!==t)return;const i=o.target,c=(l=i==null?void 0:i.tagName)==null?void 0:l.toLowerCase();c==="input"||c==="textarea"||i!=null&&i.isContentEditable||(o.preventDefault(),r())};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[t,r,n])}const es=240,yn=({searchKey:t="q",filterKey:r="filter",pageKey:n="page",placeholder:s="Search",shortcut:o="/",collapsible:i=!0})=>{const{searchParams:c,setSearchParams:l,searchQueries:d}=Be(),a=Mt(t,c,r)||"",[f,g]=u.useState(!i||!!a),[m,j]=u.useState(i&&!a),[L,y]=u.useState(a),D=pe.useDebounce(L,350),F=u.useRef(null);u.useEffect(()=>{y(a),a&&g(!0)},[a]),u.useEffect(()=>{f&&j(!1)},[f]),u.useEffect(()=>{D!==a&&xt({value:D,name:t,type:"search",searchQueries:d,setSearchParams:l,filterKey:r,pageKey:n})},[D]);const T=u.useCallback(()=>{g(!0),requestAnimationFrame(()=>{var W;return(W=F.current)==null?void 0:W.focus()})},[]);$o(o,T);const w=()=>{i&&!L&&g(!1)},C=W=>{var b;i&&W.key==="Escape"&&!L&&(g(!1),(b=F.current)==null||b.blur())},R=()=>{f||j(!0)};return e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"spacing-0",children:[m&&e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"Search",size:"sm"}),"aria-label":"Search","aria-expanded":!1,onClick:T}),e.jsxs(h.Box,{onTransitionEnd:R,style:{position:"relative",width:f?es:0,overflow:"hidden",transition:"width 220ms ease"},children:[e.jsx(qe.Input,{ref:F,size:"sm",fullWidth:!0,value:L,placeholder:s,leftIcon:e.jsx(B.Icon,{name:"Search",width:16,height:16}),onChange:W=>y(W.target.value),onKeyDown:C,onBlur:w,tabIndex:f?0:-1}),f&&!L&&e.jsx(h.Box,{align:"center",justify:"center",borderColor:"border-subtle",borderWidth:"border",borderStyle:"border-solid",borderRadius:"rounded-xs",paddingInline:"spacing-1",customBackgroundColor:"var(--sa-background-surface-hover, #f1f2f4)",style:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",minWidth:18,height:18,display:"inline-flex"},children:e.jsx(v.Text,{fontSize:"xs",color:"subtle",children:o})})]})]})},pn=({columns:t,allVisible:r,onToggle:n,onReorder:s,onSetAllHidden:o})=>{const[i,c]=u.useState(null),[l,d]=u.useState(null),a=()=>{i!==null&&l!==null&&i!==l&&s(i,l),c(null),d(null)},f=(g,m)=>{const j=g+m;j<0||j>=t.length||s(g,j)};return e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:r?"outline":"secondary",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"Grid",size:"sm"}),"aria-label":"Customize columns"})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{children:e.jsxs(h.Box,{padding:"sm",direction:"column",customWidth:"296px",customMaxHeight:"60vh",overflow:"overflow-hidden",children:[e.jsx(v.Text,{fontWeight:"semibold",color:"primary",children:"Customize Column Table"}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",paddingBlock:"md",children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtle",children:"Show in table"}),e.jsx(z.Button,{variant:"link",tone:"info",size:"xs",onClick:()=>o(r),children:r?"Hide All":"Show All"})]}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",children:t.map((g,m)=>{const j=!g.locked,L=l===m&&i!==null&&i!==m;return e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",paddingBlock:"xs",draggable:j,onDragStart:()=>j&&c(m),onDragOver:y=>{y.preventDefault(),d(m)},onDrop:a,onDragEnd:a,style:{minHeight:32,boxShadow:L?"inset 0 2px 0 0 var(--sa-background-brand, #04254f)":void 0},children:[e.jsx(h.Box,{direction:"column",as:"div",align:"center",justify:"center",role:"button",tabIndex:j?0:-1,"aria-label":`Reorder ${g.title}`,"aria-disabled":!j||void 0,color:"icon-subtlest",onKeyDown:y=>{j&&(y.key==="ArrowUp"?(y.preventDefault(),f(m,-1)):y.key==="ArrowDown"&&(y.preventDefault(),f(m,1)))},style:{display:"inline-flex",cursor:j?"grab":"default",opacity:j?1:.4},children:e.jsx(B.Icon,{name:"DragVertical",width:16,height:16})}),g.icon&&e.jsx(h.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:g.icon}),e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:g.title}),e.jsx(h.Box,{direction:"column",style:{marginLeft:"auto"},children:e.jsx(it.Toggle,{size:"sm",checked:g.visible,disabled:g.locked,onChange:()=>n(g.key),"aria-label":`Toggle ${g.title} column`})})]},g.key)})})]})})})]})},jn=({views:t,onApply:r,onDelete:n,onSave:s})=>{const[o,i]=u.useState(""),c=()=>{const l=o.trim();l&&(s(l),i(""))};return e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:t.length>0?"secondary":"outline",tone:(t.length>0,"neutral"),size:"sm",iconLeft:e.jsx(B.Icon,{name:"Bookmark",size:"sm"}),"aria-label":"Saved views"})}),e.jsxs(I.MenuLists,{style:{width:"260px"},children:[e.jsx(I.MenuBody,{children:e.jsxs(h.Box,{direction:"column",padding:"xs",gap:"sm",children:[e.jsx(v.Text,{fontWeight:"semibold",color:"primary",children:"Saved Views"}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",children:t.length===0?e.jsx(h.Box,{direction:"column",paddingBlock:"sm",children:e.jsx(v.Text,{fontSize:"sm",color:"subtlest",children:"No saved views yet"})}):t.map(l=>e.jsx(I.MenuItem,{startIcon:e.jsx(B.Icon,{name:"Bookmark"}),onClick:()=>r(l),endIcon:e.jsx(z.Button,{variant:"link",tone:"error",size:"sm",iconLeft:e.jsx(B.Icon,{name:"Trash2"}),"aria-label":`Delete ${l.name}`,onClick:d=>{d.stopPropagation(),n(l.id)}}),children:l.name},l.id))})]})}),e.jsx(I.MenuFooter,{children:e.jsxs(h.Box,{direction:"row",gap:"xs",children:[e.jsx(h.Box,{direction:"column",style:{flex:"1 0 0",minWidth:0},children:e.jsx(qe.Input,{size:"sm",fullWidth:!0,placeholder:"Save current view as…",value:o,onChange:l=>i(l.target.value),onKeyDown:l=>{l.key==="Enter"&&c()}})}),e.jsx(z.Button,{variant:"primary",tone:"brand",size:"sm",disabled:!o.trim(),onClick:c,children:"Save"})]})})]})]})},ts=({isOpen:t,onClose:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:c,onReset:l,getValue:d,setValue:a,clearValue:f,removeFilter:g})=>{const m=s.length;return e.jsx(kt.Drawer,{position:"bottom",isShow:t,onHide:r,children:e.jsxs(h.Box,{direction:"column",customMaxHeight:"85vh",style:{minHeight:280},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",paddingInline:"md",paddingBlock:"sm",style:{borderBottom:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsx(v.Text,{fontWeight:"semibold",color:"primary",children:"Filter"}),m>0&&e.jsxs(v.Text,{fontSize:"sm",color:"subtle",children:["(",m,")"]})]}),e.jsx(z.Button,{variant:"link",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"Cross"}),"aria-label":"Close filter",onClick:r})]}),e.jsxs(h.Box,{direction:"column",gap:"lg",padding:"md",overflow:"overflow-y-auto",style:{flex:"1 1 auto",minHeight:0},children:[m>0&&e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Filter aktif"}),e.jsx(h.Box,{direction:"row",display:"flex",wrap:"wrap",gap:"sm",align:"center",children:e.jsx(gn,{activeKeys:s,configByKey:o,getValue:d,setValue:a,clearValue:f,removeFilter:g})})]}),n.length>0&&e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Tambah filter"}),e.jsx(h.Box,{direction:"column",children:n.map(j=>{const L=s.includes(j.key),y=!!j.locked;return e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",paddingBlock:"sm",style:{opacity:y?.5:1,borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.08))"},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{minWidth:0},children:[j.icon&&e.jsx(h.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:j.icon}),e.jsx(v.Text,{fontSize:"sm",color:"primary",truncate:!0,children:j.label})]}),e.jsx(it.Toggle,{size:"sm",checked:L||y,disabled:y,onChange:()=>c(j.key),"aria-label":`Toggle ${j.label}`})]},j.key)})})]})]}),e.jsxs(h.Box,{direction:"row",display:"flex",gap:"sm",paddingInline:"md",paddingBlock:"sm",style:{borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:[e.jsx(h.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"md",fullWidth:!0,disabled:!i,onClick:l,children:"Reset"})}),e.jsx(h.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(z.Button,{variant:"primary",tone:"brand",size:"md",fullWidth:!0,onClick:r,children:"Selesai"})})]})]})})},rs=t=>`${t} Rows`,ns=({perPageKey:t,pageKey:r,pageSizeOptions:n,defaultPerPage:s=10,showPageSize:o})=>{const{searchQueries:i,setSearchParams:c,searchParams:l}=Be(),d=l.get(t),a=d?Number(d):s,f=g=>{c({...i,[t]:g,[r]:"1"})};return o?e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"MenuVertical",size:"sm"}),"aria-label":"More options"})}),e.jsx(I.MenuLists,{children:e.jsxs(I.MenuBody,{style:{minWidth:200},children:[e.jsx(h.Box,{paddingInline:"sm",paddingBlock:"xs",children:e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Rows per page"})}),n.map(g=>e.jsx(I.MenuItem,{selected:g===a,endIcon:g===a?e.jsx(B.Icon,{name:"Check"}):void 0,onClick:()=>f(String(g)),children:rs(g)},g))]})})]}):null},os=t=>{var me;const{withPadding:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,toggleFilter:c,removeFilter:l,getValue:d,setValue:a,clearValue:f,onReset:g,searchable:m,searchKey:j,filterKey:L,pageKey:y,searchPlaceholder:D,searchShortcut:F,searchCollapsible:T,pagination:w,perPageKey:C,pageSizeOptions:R,defaultPerPage:W,showPagination:b,showResultCount:E,showPageSize:P,hasColumns:H,orderedColumns:q,allVisible:Q,onToggleVisibility:ne,onReorder:xe,onSetAllHidden:re,showSavedViews:ae,savedViews:X,onApplyView:K,onDeleteView:ue,onSaveView:ee}=t,[le,we]=u.useState(!1),{searchQueries:Ae,setSearchParams:he}=Be(),De=(w==null?void 0:w.rangeStart)??(((w==null?void 0:w.currentPage)||0)>1?(((w==null?void 0:w.currentPage)||0)-1)*((w==null?void 0:w.perPage)||0)+1:1),Ee=(w==null?void 0:w.rangeEnd)??((w==null?void 0:w.totalCurrentPage)!==(w==null?void 0:w.perPage)?w==null?void 0:w.totalData:((w==null?void 0:w.currentPage)||1)*((w==null?void 0:w.totalCurrentPage)||0)),fe=Fe=>{he({...Ae,[y]:String(Fe)})},Le=E||b&&!!(w!=null&&w.totalPage),Pe=()=>{g(),we(!1)};return e.jsxs(h.Box,{direction:"column",gap:"sm",fullWidth:!0,paddingTop:r?"sm":void 0,paddingBottom:r?"sm":void 0,paddingLeft:r?"md":void 0,paddingRight:r?"md":void 0,role:"toolbar","aria-label":"Filter bar",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",wrap:"wrap",gap:"sm",fullWidth:!0,overflow:"overflow-auto",children:[m&&e.jsx(yn,{searchKey:j,filterKey:L,pageKey:y,placeholder:D,shortcut:F,collapsible:T}),e.jsx(z.Button,{variant:i?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"FilterHorizontal"}),onClick:()=>we(!0),"aria-label":"Open filters",children:i?`Filter: ${s.length}`:null}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{marginLeft:"auto"},children:[ae&&e.jsx(jn,{views:X,onApply:K,onDelete:ue,onSave:ee}),H&&e.jsx(pn,{columns:q,allVisible:Q,onToggle:ne,onReorder:xe,onSetAllHidden:re}),e.jsx(ns,{perPageKey:C,pageKey:y,pageSizeOptions:R,defaultPerPage:W,showPageSize:P})]})]}),Le&&e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",fullWidth:!0,children:[E?e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${De}-${Ee} of ${((me=w==null?void 0:w.totalData)==null?void 0:me.toLocaleString())||0}`}):e.jsx(h.Box,{direction:"column"}),b&&!!(w!=null&&w.totalPage)&&e.jsx(ut.Pagination,{size:"xs",variant:"neutral",siblingCount:0,currentPage:w!=null&&w.currentPage?Number(w.currentPage):1,totalPages:Number(w.totalPage),onPageChange:fe})]}),e.jsx(ts,{isOpen:le,onClose:()=>we(!1),configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:c,onReset:Pe,getValue:d,setValue:a,clearValue:f,removeFilter:l})]})},ss=({withPadding:t=!1,filterConfigs:r=[],filterKey:n="filter",activeFilterKey:s="filters",pageKey:o="page",perPageKey:i="perPage",pageSizeOptions:c=[25,50,100],defaultPerPage:l,showPagination:d=!0,showResultCount:a=!0,showPageSize:f=!0,searchable:g=!1,searchKey:m="q",searchPlaceholder:j="Search",searchShortcut:L="/",searchPosition:y="right",searchCollapsible:D=!0,pagination:F,columns:T=[],onColumnsChange:w,columnsState:C,scopeId:R,savedViews:W,persistLastState:b=!0,storage:E=dr,onReset:P})=>{const H=R??(W==null?void 0:W.scopeId),{activeKeys:q,configByKey:Q,hasActiveFilter:ne,toggleFilter:xe,removeFilter:re,getValue:ae,setValue:X,clearValue:K,clearAll:ue}=ar({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:m}),ee=Mo({columns:T,scopeId:H,storage:E,onColumnsChange:w,value:C}),le=Lo({scopeId:H,storage:E,snapshotKeys:[s,n,i],pageKey:o,getColumns:()=>ee.state,applyColumns:ee.applyState}),we=Io({scopeId:H,storage:E,snapshotKeys:[s,n,o],enabled:b}),Ae=To({scopeId:H,storage:E,perPageKey:i,pageSizeOptions:c,enabled:b});Wo({enabled:b&&!!H,snapshotKeys:[s,n,o],perPageKey:i,readSnapshot:we.read,readPerPage:Ae.read});const he=l??c[0]??25,De=!!(W!=null&&W.enabled)&&le.enabled,Ee=()=>{ue(),we.clear(),P==null||P()},fe=pe.useMediaQuery("md"),Le=g?e.jsx(yn,{searchKey:m,filterKey:n,pageKey:o,placeholder:j,shortcut:L,collapsible:D}):null;return fe?e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"sm",wrap:"wrap",fullWidth:!0,paddingTop:t?"sm":void 0,paddingBottom:t?"sm":void 0,paddingLeft:t?"md":void 0,paddingRight:t?"md":void 0,role:"toolbar","aria-label":"Filter bar",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(Ro,{configs:r,activeKeys:q,onToggle:xe,hasActiveFilter:ne,onReset:Ee}),y==="left"&&Le,e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",overflow:"overflow-x-auto",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(gn,{activeKeys:q,configByKey:Q,getValue:ae,setValue:X,clearValue:K,removeFilter:re}),ne&&e.jsx(z.Button,{variant:"link",tone:"brand",size:"sm",onClick:Ee,children:"Reset"})]})]}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",children:[e.jsx(Ko,{pagination:F,pageKey:o,perPageKey:i,pageSizeOptions:c,defaultPerPage:he,showPagination:d,showResultCount:a,showPageSize:f}),y==="right"&&Le,De&&e.jsx(jn,{views:le.views,onApply:le.applyView,onDelete:le.deleteView,onSave:le.saveView}),T.length>0&&e.jsx(pn,{columns:ee.orderedColumns,allVisible:ee.allVisible,onToggle:ee.toggleVisibility,onReorder:ee.reorder,onSetAllHidden:ee.setAllHidden})]})]}):e.jsx(os,{withPadding:t,configs:r,activeKeys:q,configByKey:Q,hasActiveFilter:ne,toggleFilter:xe,removeFilter:re,getValue:ae,setValue:X,clearValue:K,onReset:Ee,searchable:g,searchKey:m,filterKey:n,pageKey:o,searchPlaceholder:j,searchShortcut:L,searchCollapsible:D,pagination:F,perPageKey:i,pageSizeOptions:c,defaultPerPage:he,showPagination:d,showResultCount:a,showPageSize:f,hasColumns:T.length>0,orderedColumns:ee.orderedColumns,allVisible:ee.allVisible,onToggleVisibility:ee.toggleVisibility,onReorder:ee.reorder,onSetAllHidden:ee.setAllHidden,showSavedViews:De,savedViews:le.views,onApplyView:le.applyView,onDeleteView:le.deleteView,onSaveView:le.saveView})},is=t=>{if(!Array.isArray(t)||t.length===0)return;const r=t[0];return(r==null?void 0:r.value)!=null?String(r.value):void 0},ls=t=>{if(!Array.isArray(t)||t.length===0)return;const r=t.map(n=>(n==null?void 0:n.value)!=null?String(n.value):null).filter(n=>n!=null);return r.length?r:void 0},cs=(t,r)=>{switch(t.type){case"dropdown":case"radio":return is(r);case"dropdown-multiple":case"checkbox-multiple":return ls(r);case"date":return r instanceof Date?r.toISOString():void 0;case"date-compact":return r;default:return}},Hr=(t,r)=>{if(t==null||t==="")return r;const n=Number(t);return Number.isFinite(n)&&n>0?n:r},as=t=>{const{filterConfigs:r,filterKey:n="filter",activeFilterKey:s="filters",pageKey:o="page",perPageKey:i="perPage",searchKey:c="q",defaultPage:l=1,defaultPerPage:d=10,paramKeys:a,serialize:f}=t,{activeKeys:g,configByKey:m,hasActiveFilter:j,getValue:L}=ar({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:c}),{searchParams:y}=Be(),D=y.toString();return u.useMemo(()=>{const T={},w={},C=Hr(y.get(o),l),R=Hr(y.get(i),d);T[(a==null?void 0:a.page)??"page"]=C,T[(a==null?void 0:a.perPage)??"perPage"]=R;const W=Mt(c,y,n)||"";W&&(T[(a==null?void 0:a.search)??"search"]=W);let b=!1;for(const E of g){const P=m[E];if(!P)continue;const H=L(P);w[E]=H;const q=f==null?void 0:f[E],Q=q?q(H):cs(P,H);if(Q==null||Array.isArray(Q)&&Q.length===0)continue;const ne=(a==null?void 0:a[E])??E;T[ne]=Q,b=!0}return{params:T,raw:w,hasActiveFilter:j||!!W||b}},[D,g.join("|"),n,s,o,i,c,l,d,a,f,m])},ds=["dropdown","dropdown-multiple","checkbox-multiple","radio"],us=({filterConfigs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o})=>{const{configByKey:i,getValue:c,setValue:l,removeFilter:d,clearAll:a,hasActiveFilter:f}=ar({configs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o}),g=(F,T)=>{var C;const w=F.options;return((C=w==null?void 0:w.find(R=>R.value===T))==null?void 0:C.label)??T},m=u.useCallback(F=>{const T=i[F];if(!T)return[];const w=c(T);return Array.isArray(w)?w.map(C=>String(C.value)):[]},[i,c]),j=u.useCallback((F,T)=>{const w=i[F];if(!w||!ds.includes(w.type))return;const C=Array.isArray(T)?T:[T];if(C.length===0){d(F);return}l(w,C.map(R=>({label:g(w,R),value:R})))},[i,l,d]),L=u.useCallback((F,T)=>{const w=m(F);j(F,w.includes(T)?w.filter(C=>C!==T):[...w,T])},[m,j]),y=u.useCallback((F,T)=>m(F).includes(T),[m]),D=u.useCallback(F=>d(F),[d]);return{set:j,toggle:L,clear:D,clearAll:a,isActive:y,values:m,hasActiveFilter:f}},xs=(t,r)=>{if(!t)return{};const{fromKey:n,toKey:s,opKey:o}=r,i={};switch(t.op){case"is":case"is-before":case"is-after":case"is-on-or-before":case"is-on-or-after":return t.date&&(i[n]=new Date(t.date).toISOString()),o&&(i[o]=t.op),i;case"is-between":return t.from&&(i[n]=new Date(t.from).toISOString()),t.to&&(i[s]=new Date(t.to).toISOString()),i;case"is-relative-to-today":{if(!t.relative)return i;const{from:c,to:l}=fn(t.relative);return i[n]=c.toISOString(),i[s]=l.toISOString(),i}case"is-empty":case"is-not-empty":return o&&(i[o]=t.op==="is-empty"?"empty":"not-empty"),i;default:return i}},bn=({children:t,borderRadius:r,height:n})=>{const s=u.useRef(null),[o,i]=u.useState("100vh");return u.useEffect(()=>{if(n)return;const c=()=>{if(s.current){const l=s.current.getBoundingClientRect().top;i(`calc(100vh - ${l}px)`)}};return c(),window.addEventListener("resize",c),()=>window.removeEventListener("resize",c)},[n]),e.jsx(h.Box,{ref:s,fullWidth:!0,borderStyle:"border-solid",borderWidth:"border",borderColor:"border-base",borderRadius:r||"rounded-xs",style:{height:n??o,display:"flex",flexDirection:"column"},children:t})},Cn=({action:t,rightContent:r,leftContent:n,headerSlot:s,advanceFilter:o,showFilter:i=!0})=>{const c=pe.useMediaQuery("md"),l=i?e.jsx(hn,{...o}):null,d=()=>t?u.isValidElement(t)?t:e.jsx(h.Box,{style:{display:"flex",flexDirection:c?"row":"column",gap:"8px",width:c?"auto":"100%",textWrap:"nowrap"},children:t.map(({title:a,icon:f,buttonProps:g,onClick:m},j)=>!a&&!f?null:e.jsx(z.Button,{fullWidth:!c,iconLeft:f?e.jsx(B.Icon,{name:f}):void 0,onClick:m,...g,children:a},`action-${j}`))}):null;return e.jsx(h.Box,{style:{display:"flex",width:"100%",justifyContent:"space-between",alignItems:"center",paddingLeft:"8px",paddingRight:"8px",paddingTop:"8px",paddingBottom:"8px",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",flexShrink:0,position:"relative",zIndex:10,flexDirection:c?"row":"column-reverse",gap:"16px"},children:s?s({filter:l}):e.jsxs(e.Fragment,{children:[e.jsxs(h.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flex:1,minWidth:0},children:[l,n]}),e.jsxs(h.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flexShrink:0},children:[r,d()]})]})})},hs=({totalData:t,withMarginBottom:r=!0,withMarginTop:n=!0})=>e.jsxs(h.Box,{style:{display:"flex",gap:"4px",flexDirection:"row",alignItems:"center",marginBottom:r?"16px":void 0,marginTop:n?"16px":void 0},children:[e.jsxs(Re.Body1,{props:{color:"gray-500"},children:["Total data:"," "]}),e.jsx(Re.Body1,{children:t||0})]}),vn=({pagination:t,pageKey:r="page",perPageKey:n="perPage",defaultPerPage:s=10,showPagination:o=!0,totalData:i})=>{const{searchQueries:c,setSearchParams:l,searchParams:d}=Be(),a=d.get(n),f=L=>{l({...c,[r]:String(L)})},g=L=>{l({...c,[n]:L,[r]:"1"})},m=(t==null?void 0:t.rangeStart)??(((t==null?void 0:t.currentPage)||0)>1?(((t==null?void 0:t.currentPage)||0)-1)*((t==null?void 0:t.perPage)||0)+1:1),j=(t==null?void 0:t.rangeEnd)??((t==null?void 0:t.totalCurrentPage)!==(t==null?void 0:t.perPage)?t==null?void 0:t.totalData:((t==null?void 0:t.currentPage)||1)*((t==null?void 0:t.totalCurrentPage)||0));return e.jsx(h.Box,{style:{display:"flex",width:"100%",flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px",borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",flexShrink:0},children:o?e.jsxs(e.Fragment,{children:[e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",gap:"8px",alignItems:"center",textWrap:"nowrap"},children:[e.jsx(v.Text,{children:"Rows Per Page: "}),e.jsx(ot.Dropdown,{dropdownLists:[{label:"5",value:"5"},{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"},{label:"100",value:"100"}],onChange:L=>{g(L[0].value)},value:a?[{label:`${a} per row`,value:a}]:[{label:`${s} per row`,value:`${s}`}],defaultValue:a?[{label:`${a} per row`,value:a}]:[{label:`${s} per row`,value:`${s}`}]}),e.jsx(v.Text,{children:`${m}-${j} of ${(t==null?void 0:t.totalData)||0}`})]}),e.jsx(ut.Pagination,{currentPage:t!=null&&t.currentPage?Number(t==null?void 0:t.currentPage):1,totalPages:t!=null&&t.totalPage?Number(t==null?void 0:t.totalPage):1,onPageChange:f})]}):e.jsx(hs,{totalData:i,withMarginBottom:!1,withMarginTop:!1})})},wn=({filter:t,columnTitle:r})=>{const[n,s]=u.useState(!1),o=u.useRef(null),i=u.useRef(null),c=u.useRef(null),[l,d]=u.useState(""),[a,f]=u.useState({top:0,left:0}),g=t.selectedValues,m=u.useMemo(()=>l?t.options.filter(y=>y.label.toLowerCase().includes(l.toLowerCase())):t.options,[t.options,l]);u.useEffect(()=>{if(n&&i.current){const y=i.current.getBoundingClientRect(),D=280,F={top:y.bottom+8};t.position==="left"||y.left+D>window.innerWidth?F.right=window.innerWidth-y.right:F.left=y.left,f(F)}},[n,t.position]),u.useEffect(()=>{n&&c.current?setTimeout(()=>{var y;return(y=c.current)==null?void 0:y.focus()},50):d("")},[n]),u.useEffect(()=>{const y=D=>{o.current&&!o.current.contains(D.target)&&i.current&&!i.current.contains(D.target)&&s(!1)};return n&&document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[n]);const j=y=>{const D=g.includes(y)?g.filter(F=>F!==y):[...g,y];t.onFilterChange(D)},L=()=>t.onFilterChange([]);return e.jsxs(h.Box,{direction:"column",style:{position:"relative"},children:[e.jsx(h.Box,{ref:i,style:{display:"flex",flexDirection:"row",alignItems:"center",cursor:"pointer"},onClick:y=>{var D;y.stopPropagation(),n||(D=t.onOpen)==null||D.call(t),s(F=>!F)},children:e.jsx(B.Icon,{name:n?"ChevronUp":"ChevronDown",size:"sm",style:{color:g.length>0?"var(--sa-color-brand-500, #1a4fa0)":"var(--sa-text-subtle, #8c8f97)"}})}),n&&e.jsxs(h.Box,{ref:o,style:{position:"fixed",top:`${a.top}px`,...a.left!==void 0?{left:`${a.left}px`}:{right:`${a.right}px`},backgroundColor:"white",borderRadius:"4px",minWidth:"280px",maxHeight:"400px",display:"flex",flexDirection:"column",zIndex:9999,animation:"fadeInDropdown 0.15s ease-out",border:"1px solid var(--sa-border-subtle, #0b120e24)"},children:[e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingTop:"12px",paddingBottom:"12px",paddingLeft:"16px",paddingRight:"16px",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"},children:[e.jsxs(v.Text,{fontSize:"sm",fontWeight:"semibold",color:"gray-700",children:["Filter ",r]}),g.length>0&&e.jsx(h.Box,{direction:"column",style:{cursor:"pointer"},children:e.jsx(v.Text,{fontSize:"xs",color:"primary",fontWeight:"semibold",onClick:y=>{y.stopPropagation(),L()},children:"CLEAR"})})]}),!t.hideSearch&&e.jsx(h.Box,{direction:"column",style:{paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px"},children:e.jsx(qe.Input,{ref:c,placeholder:`Search ${r.toLowerCase()}...`,leftIcon:e.jsx(B.Icon,{name:"Search",size:"sm"}),value:l,onChange:y=>d(y.target.value),style:{fontSize:"14px"}})}),e.jsx(h.Box,{direction:"column",className:"ts-filter-dropdown-options",style:{overflowY:"auto",maxHeight:"250px",paddingLeft:"8px",paddingRight:"8px"},children:t.isLoadingOptions?e.jsxs(h.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(B.Icon,{name:"Loading",size:"lg",style:{color:"var(--sa-background-brand, #04254f)",animation:"spin 1s linear infinite"}}),e.jsx(v.Text,{fontSize:"sm",color:"gray-500",style:{textAlign:"center",marginTop:"8px"},children:"Loading options..."})]}):m.length>0?e.jsx(h.Box,{direction:"column",style:{gap:"2px",paddingTop:"4px",paddingBottom:"4px"},children:m.map(y=>e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"8px",paddingTop:"8px",paddingBottom:"8px",paddingLeft:"8px",paddingRight:"8px",cursor:"pointer",borderRadius:"8px",transition:"all 0.2s ease",backgroundColor:g.includes(y.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent"},onClick:D=>{D.stopPropagation(),j(y.value)},onMouseEnter:D=>{g.includes(y.value)||(D.currentTarget.style.backgroundColor="var(--sa-background-primary, #ffffff)"),D.currentTarget.style.transform="translateX(2px)"},onMouseLeave:D=>{D.currentTarget.style.backgroundColor=g.includes(y.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent",D.currentTarget.style.transform="translateX(0)"},children:[e.jsx(lt.Checkbox,{checked:g.includes(y.value),onChange:()=>{}}),e.jsx(v.Text,{fontSize:"sm",fontWeight:g.includes(y.value)?"medium":"normal",color:g.includes(y.value)?"primary":"gray-700",children:y.label})]},y.value))}):e.jsxs(h.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(B.Icon,{name:"Search",size:"lg",style:{color:"var(--sa-text-subtle, #8c8f97)"}}),e.jsx(v.Text,{fontSize:"sm",color:"gray-500",style:{textAlign:"center",marginTop:"8px"},children:"No results found"})]})}),g.length>0&&e.jsx(h.Box,{direction:"column",style:{paddingTop:"8px",paddingBottom:"8px",paddingLeft:"16px",paddingRight:"16px",borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",backgroundColor:"var(--sa-color-brand-50, #e6edf6)",marginTop:"auto"},children:e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"4px"},children:[e.jsx(h.Box,{direction:"column",style:{backgroundColor:"var(--sa-background-brand, #04254f)",borderRadius:"12px",padding:"2px 8px",fontSize:"11px",fontWeight:600,color:"white"},children:g.length}),e.jsxs(v.Text,{fontSize:"xs",color:"primary",fontWeight:"medium",children:["item",g.length>1?"s":""," selected"]})]})})]})]})},fs=({direction:t})=>{const r="var(--sa-text-primary, #292a2e)",n="var(--sa-text-subtle, #8c8f97)",s=t==="asc"?r:n,o=t==="desc"?r:n,i=t==="asc"?1:.45,c=t==="desc"?1:.45;return e.jsxs("span",{style:{display:"inline-flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flexShrink:0,lineHeight:0},"aria-hidden":!0,children:[e.jsx("svg",{width:"8",height:"5",viewBox:"0 0 8 5",style:{color:s,opacity:i,marginBottom:1},children:e.jsx("path",{d:"M4 0 L8 5 L0 5 Z",fill:"currentColor"})}),e.jsx("svg",{width:"8",height:"5",viewBox:"0 0 8 5",style:{color:o,opacity:c},children:e.jsx("path",{d:"M0 0 L8 0 L4 5 Z",fill:"currentColor"})})]})},ms=({frozen:t})=>e.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:t?"currentColor":"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),e.jsx("path",{d:t?"M7 11V7a5 5 0 0 1 10 0v4":"M7 11V7a5 5 0 0 1 9.9-1"})]}),Qt="var(--sa-background-primary, #ffffff)",Pr="var(--sa-background-primary-inverse, #f8f8f8)",Dn=({columns:t,records:r,handleDetail:n,handleUpdate:s,handleDelete:o,isLoading:i,visibleHandleDelete:c,visibleHandleUpdate:l,visibleHandleDetail:d,showHeadBorder:a=!1,scrollParentRef:f,frozenCount:g=0,onFrozenCountChange:m,customActions:j,actionsOrder:L=["detail","update","delete","custom"],customEmptyState:y,enableColumnResize:D=!1,defaultColumnWidths:F,onColumnWidthsChange:T,defaultMinColumnWidth:w=60,sort:C,defaultSort:R,onSortChange:W,showActionDivider:b=!1})=>{const E=C!==void 0,[P,H]=u.useState(R??null),q=E?C??null:P,Q=M=>{if(M.sortKey)return M.sortKey;if(typeof M.accessor=="string")return M.accessor},ne=M=>{const A=Q(M);if(!A)return;let V;!q||q.key!==A?V={key:A,direction:"asc"}:q.direction==="asc"?V={key:A,direction:"desc"}:V=null,E||H(V),W==null||W(V)},re=[n,s,o].filter(M=>M!==void 0).length,ae=!!j,X=!!n||!!s||!!o||ae,K="var(--sa-border-subtle, #0b120e24)",ue=`1px solid ${K}`,ee=`inset 1px 0 0 ${K}`,le=`inset -1px 0 0 ${K}`,we=re===3?ae?"178px":"140px":re===2?ae?"140px":"102px":re===1?ae?"112px":"74px":ae?"74px":"",Ae=(M,A)=>{if(!A)return M;if(typeof A=="function")return A(M);if(typeof A=="string")return M[A]},[he,De]=u.useState(!1);u.useEffect(()=>{if(!(f!=null&&f.current))return;const M=f.current;De(M.scrollHeight>M.clientHeight)},[r,f]);const Ee=u.useRef(null),[fe,Le]=u.useState([]),[Pe,me]=u.useState(()=>F??{}),Fe=u.useRef(null);u.useLayoutEffect(()=>{if(!g||!Ee.current){Le([]);return}const M=Array.from(Ee.current.querySelectorAll("thead tr th")),A=[];let V=0;M.forEach((_,Y)=>{A[Y]=V,Y<g&&(V+=_.offsetWidth)}),Le(A)},[g,t,r,Pe]);const Ze=M=>{m&&m(M<g?M:M+1)},S=(M,A)=>{const V=Pe[M];if(V!==void 0){const _=`${V}px`;return{width:_,minWidth:_,maxWidth:_}}return A?{width:A}:{}},Z=M=>D&&(M.resizable??!0),N=(M,A)=>{M.preventDefault(),M.stopPropagation();const V=M.currentTarget.closest("th");if(!V)return;const _=Math.round(V.getBoundingClientRect().width);Fe.current={colIndex:A,startX:M.clientX,startWidth:_};const Y=document.body.style.userSelect,je=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";const Se=Te=>{var Ue;const Me=Fe.current;if(!Me)return;const Ge=((Ue=t[Me.colIndex])==null?void 0:Ue.minWidth)??w,Qe=Math.max(Ge,Me.startWidth+(Te.clientX-Me.startX));me(Oe=>Oe[Me.colIndex]===Qe?Oe:{...Oe,[Me.colIndex]:Qe})},Ie=()=>{document.removeEventListener("mousemove",Se),document.removeEventListener("mouseup",Ie),document.body.style.userSelect=Y,document.body.style.cursor=je,Fe.current=null,T&&me(Te=>(T(Te),Te))};document.addEventListener("mousemove",Se),document.addEventListener("mouseup",Ie)};return e.jsx("div",{ref:Ee,children:e.jsxs(G.Table,{fullWidth:!0,children:[e.jsx(G.Thead,{style:{height:"40px",whiteSpace:"nowrap"},children:e.jsxs(G.Tr,{children:[t.map((M,A)=>{var Ke,$e;const V=g>0&&A<g,_=fe[A]??0,Y=Z(M),Se=A===t.length-1&&X&&b,Ie=Q(M),Te=!!M.sortable&&!!Ie,Me=Te&&(q==null?void 0:q.key)===Ie?q.direction:null,Ge=M.title||((Ke=M.accessor)==null?void 0:Ke.toString())||"",Qe=($e=M.headerTooltip)!=null&&$e.showIcon?e.jsx(B.Icon,{name:"InfoCircle",size:"xs",style:{flexShrink:0,color:"var(--sa-icon-subtle, #8c8f97)",opacity:.75}}):null,Ue=e.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Ge}),Oe=Te?e.jsxs("button",{type:"button",onClick:()=>ne(M),title:Me==="asc"?"Sorted ascending — click to sort descending":Me==="desc"?"Sorted descending — click to clear":"Click to sort ascending",style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:4,background:"none",border:"none",padding:0,margin:0,font:"inherit",color:"inherit",cursor:"pointer",textAlign:M.textAlign==="text-right"?"right":M.textAlign==="text-center"?"center":"left"},children:[Ue,Qe,e.jsx(fs,{direction:Me})]}):e.jsxs("span",{style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:4},children:[Ue,Qe]});return e.jsxs(G.Th,{style:{position:"sticky",top:0,left:V?_:void 0,zIndex:V?4:2,paddingLeft:A===0?"12px":"",borderRight:a&&!Se&&!V?ue:void 0,borderBottom:a?ue:void 0,boxShadow:a&&V?le:void 0,backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",textAlign:M.textAlign==="text-right"?"right":M.textAlign==="text-center"?"center":"left",...S(A,M.width)},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px",justifyContent:"space-between",minWidth:0},children:[M.headerTooltip?e.jsx(Ce.Tooltip,{label:M.headerTooltip.content,position:"bottom",children:Oe}):Oe,M.filter&&e.jsx(wn,{filter:M.filter,columnTitle:M.title}),m&&e.jsx("button",{onClick:()=>Ze(A),title:V?"Unfreeze column":"Freeze column",style:{background:"none",border:"none",cursor:"pointer",padding:"2px",display:"flex",alignItems:"center",flexShrink:0,color:V?"var(--sa-background-brand, #04254f)":"var(--sa-text-subtle, #8c8f97)",opacity:V?1:.45,transition:"opacity 0.15s"},children:e.jsx(ms,{frozen:V})})]}),Y&&e.jsx("div",{onMouseDown:et=>N(et,A),onClick:et=>et.stopPropagation(),role:"separator","aria-orientation":"vertical",title:"Drag to resize",style:{position:"absolute",top:0,right:-3,width:6,height:"100%",cursor:"col-resize",userSelect:"none",zIndex:5,touchAction:"none"}})]},`table-head-${A}`)}),X?e.jsx(G.Th,{style:{backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",position:"sticky",top:0,right:0,zIndex:3,borderBottom:a?ue:void 0,boxShadow:a&&b?ee:void 0}}):null]})}),e.jsx(G.Tbody,{children:i?e.jsx(G.Tr,{children:e.jsx(G.Td,{colSpan:t.length+1,children:e.jsxs(h.Box,{direction:"column",style:{gap:"16px"},children:[e.jsx(He.Skeleton,{variant:"list"}),e.jsx(He.Skeleton,{variant:"list"}),e.jsx(He.Skeleton,{variant:"list"}),e.jsx(He.Skeleton,{variant:"list"}),e.jsx(He.Skeleton,{variant:"list"})]})})}):!(r!=null&&r.length)&&y?e.jsx(G.Tr,{children:e.jsx(G.Td,{colSpan:t.length+1,children:y})}):r==null?void 0:r.map((M,A)=>e.jsxs(G.Tr,{style:{transition:"background-color 0.3s ease",padding:0,borderBottom:A===r.length-1&&he?void 0:"1px solid var(--sa-border-subtle, #0b120e24)"},onMouseEnter:V=>{const _=V.currentTarget;_.style.backgroundColor=Pr,Array.from(_.querySelectorAll("td")).forEach(Y=>{Y.style.position==="sticky"&&(Y.style.backgroundColor=Pr)})},onMouseLeave:V=>{const _=V.currentTarget;_.style.backgroundColor="",Array.from(_.querySelectorAll("td")).forEach(Y=>{Y.style.position==="sticky"&&(Y.style.backgroundColor=Qt)})},children:[t.map((V,_)=>{const Y=V.render?V.render(M,A,r):Ae(M,V.accessor),je=g>0&&_<g,Se=fe[_]??0,Ie=Pe[_]!==void 0,Te=je&&_===g-1;return e.jsx(G.Td,{style:{position:je?"sticky":void 0,left:je?Se:void 0,zIndex:je?1:void 0,backgroundColor:je?Qt:void 0,transition:je?"background-color 0.3s ease":void 0,paddingLeft:_===0?"12px":"",whiteSpace:"nowrap",overflow:Ie?"hidden":void 0,borderLeft:V.showBorderLeft?ue:void 0,borderRight:V.showBorderRight?ue:void 0,boxShadow:Te?le:void 0,textAlign:V.textAlign==="text-right"?"right":V.textAlign==="text-center"?"center":"left",...S(_,V.width)},children:typeof Y=="string"?e.jsx(v.Text,{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textAlign:V.textAlign==="text-right"?"right":V.textAlign==="text-center"?"center":"left"},children:Y}):Y},`row-${A}-col-${_}`)}),X?e.jsx(G.Td,{style:{width:we,position:"sticky",right:0,zIndex:1,backgroundColor:Qt,boxShadow:b?ee:void 0,transition:"background-color 0.3s ease"},children:e.jsx(se.Flex,{direction:"row",align:"center",justify:"center",gap:"sm",children:L.map(V=>{const _=A===r.length-1?"top":"bottom";return V==="detail"&&n&&(d==null?void 0:d(M))!==!1?e.jsx(Ce.Tooltip,{label:"Detail",position:_,children:e.jsx(z.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>n(M.id,M),iconLeft:e.jsx(B.Icon,{name:"DocumentClean",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"detail"):V==="update"&&s&&(l==null?void 0:l(M))!==!1?e.jsx(Ce.Tooltip,{label:"Update",position:_,children:e.jsx(z.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>s(M),iconLeft:e.jsx(B.Icon,{name:"Edit1",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"update"):V==="delete"&&o&&(c==null?void 0:c(M))!==!1?e.jsx(Ce.Tooltip,{label:"Delete",position:_,children:e.jsx(z.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>o(M.id,M),iconLeft:e.jsx(B.Icon,{name:"Trash1",size:"sm",style:{color:"var(--sa-color-error-600, #c9184a)"}})})},"delete"):V==="custom"?e.jsx(u.Fragment,{children:j==null?void 0:j(M)},"custom"):null})})}):null]},`${M}${A}`))})]})})},gs=({wrapperProps:t,dataTableProps:r,headerProps:n,footerProps:s})=>{var g;const o=u.useRef(null),[i,c]=u.useState((r==null?void 0:r.defaultFrozenCount)??0),l=(n==null?void 0:n.show)??!0,d=u.useRef(null),a=(g=r==null?void 0:r.pagination)==null?void 0:g.totalData;typeof a=="number"&&(d.current=a);const f=(s==null?void 0:s.showFooter)??(a===void 0?d.current!==0:a!==0);return e.jsxs(bn,{...t,children:[l&&e.jsx(Cn,{...n}),e.jsx(h.Box,{direction:"column",ref:o,style:{flex:1,overflowY:"auto",overflowX:"auto"},children:r?e.jsx(Dn,{...r,scrollParentRef:o,frozenCount:r!=null&&r.enableFreezeColumns?i:0,onFrozenCountChange:r!=null&&r.enableFreezeColumns?c:void 0}):null}),f&&e.jsx(vn,{pagination:r==null?void 0:r.pagination,pageKey:r==null?void 0:r.pageKey,perPageKey:r==null?void 0:r.perPageKey,defaultPerPage:r==null?void 0:r.defaultPerPage,showPagination:r==null?void 0:r.showPagination,totalData:s==null?void 0:s.totalData})]})};function ys(t){return u.memo(t)}const ps=ys(gs),Nr=200,Ut="1px solid var(--sa-border-subtle, #0b120e24)",js=({sortDir:t,frozen:r})=>t==="asc"?e.jsx(B.Icon,{name:"ChevronSmallUp"}):t==="desc"?e.jsx(B.Icon,{name:"ChevronSmallDown"}):r?e.jsx(B.Icon,{name:"LockOn",size:"xs"}):e.jsx(B.Icon,{name:"Filter",size:"xs"}),pt=({icon:t,label:r,active:n,danger:s,onClick:o})=>{const i=s?"var(--sa-color-error-600, #c9184a)":"var(--sa-text-primary, #292a2e)";return e.jsxs("button",{type:"button",onClick:o,style:{display:"flex",alignItems:"center",gap:12,width:"100%",padding:"8px 12px",background:n?"var(--sa-background-brand-subtlest, #e6edf6)":"none",border:"none",cursor:"pointer",font:"inherit",color:i,textAlign:"left"},onMouseEnter:c=>{n||(c.currentTarget.style.background="var(--sa-background-primary-inverse, #f8f8f8)")},onMouseLeave:c=>{c.currentTarget.style.background=n?"var(--sa-background-brand-subtlest, #e6edf6)":"none"},children:[e.jsx(B.Icon,{name:t,size:"sm",style:{color:i,flexShrink:0}}),e.jsx(v.Text,{as:"span",style:{color:i},children:r})]})},Sn=({active:t,canSort:r,canHide:n,sortDir:s,frozen:o,onSort:i,onClearSort:c,onToggleFreeze:l,onHide:d})=>{const[a,f]=u.useState(!1),g=u.useRef(null),m=u.useRef(null),[j,L]=u.useState({top:0,left:0});u.useEffect(()=>{if(a&&g.current){const D=g.current.getBoundingClientRect(),F=D.left+Nr>window.innerWidth;L({top:D.bottom+6,...F?{right:window.innerWidth-D.right}:{left:D.left}})}},[a]),u.useEffect(()=>{if(!a)return;const D=F=>{m.current&&!m.current.contains(F.target)&&g.current&&!g.current.contains(F.target)&&f(!1)};return document.addEventListener("mousedown",D),()=>document.removeEventListener("mousedown",D)},[a]);const y=D=>{D(),f(!1)};return e.jsxs(e.Fragment,{children:[e.jsx("button",{ref:g,type:"button",className:"sa-tl-menu-trigger","data-active":t||a?"true":"false",onClick:D=>{D.stopPropagation(),f(F=>!F)},title:"Column options",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:"var(--sa-radii-sm, 6px)",border:Ut,background:"var(--sa-background-primary, #ffffff)",cursor:"pointer",color:"var(--sa-text-subtle, #8c8f97)",flexShrink:0},children:e.jsx(js,{sortDir:s,frozen:o})}),a&&e.jsxs(h.Box,{ref:m,onClick:D=>D.stopPropagation(),style:{position:"fixed",top:`${j.top}px`,...j.left!==void 0?{left:`${j.left}px`}:{right:`${j.right}px`},minWidth:Nr,backgroundColor:"var(--sa-background-primary, #ffffff)",border:Ut,borderRadius:"var(--sa-radii-sm, 6px)",boxShadow:"0 6px 24px rgba(0,0,0,0.12)",zIndex:9999,padding:"4px",display:"flex",flexDirection:"column"},children:[r&&e.jsxs(e.Fragment,{children:[e.jsx(pt,{icon:"ChevronUp",label:"Ascending",active:s==="asc",onClick:()=>y(()=>s==="asc"?c():i("asc"))}),e.jsx(pt,{icon:"ChevronDown",label:"Descending",active:s==="desc",onClick:()=>y(()=>s==="desc"?c():i("desc"))}),e.jsx("div",{style:{borderTop:Ut,margin:"4px 0"}})]}),e.jsx(pt,{icon:"Pin1",label:o?"Unfreeze":"Freeze",active:o,onClick:()=>y(l)}),n&&e.jsx(pt,{icon:"EyeClosed",label:"Hide column",danger:!0,onClick:()=>y(d)})]})]})},jt="1px solid var(--sa-border-subtle, #0b120e24)",bs="var(--sa-text-subtle, #8c8f97)",at="var(--sa-background-neutral, #f0f1f2)",_r="2px 0 4px -2px rgba(0,0,0,0.15)",bt={display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},qr="sa-table-layout-styles",Cs=()=>{if(typeof document>"u"||document.getElementById(qr))return;const t=document.createElement("style");t.id=qr,t.textContent=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const mr=require("@starasia/alert"),_e=require("@starasia/badges"),h=require("@starasia/box"),rt=require("@starasia/breadcrumb"),z=require("@starasia/button"),gr=require("@starasia/card"),Xe=require("@starasia/date"),We=require("@starasia/dialog"),kt=require("@starasia/drawer"),ot=require("@starasia/dropdown"),pe=require("@starasia/hooks"),st=require("@starasia/http"),qe=require("@starasia/input"),I=require("@starasia/menu"),ut=require("@starasia/pagination"),dt=require("@starasia/storage"),G=require("@starasia/table"),yr=require("@starasia/tabs"),Xt=require("@starasia/textarea"),nt=require("@starasia/theme"),pr=require("@starasia/toast"),it=require("@starasia/toggle"),Ce=require("@starasia/tooltip"),lt=require("@starasia/checkbox"),Kt=require("@starasia/radio"),v=require("@starasia/text"),B=require("@starasia/icon"),se=require("@starasia/flex"),jr=require("@starasia/grid"),br=require("@starasia/progress"),Cr=require("@starasia/stepper"),vr=require("@starasia/accordion"),wr=require("@starasia/story-record"),He=require("@starasia/skeleton"),Dr=require("@starasia/progress-stepper"),e=require("react/jsx-runtime"),u=require("react"),ye=require("react-router"),tr=require("react-dom"),qn=require("react-easy-crop"),Zn={menus:[],menuBottom:void 0,logo:"",appName:"Workspace",userData:null,setUserData:()=>{}},rr=u.createContext(Zn),nr=()=>u.useContext(rr),Gr=t=>{const[r,n]=u.useState((t==null?void 0:t.initialUserData)||null);return{userData:r,setUserData:n}},Qr=u.createContext({badges:{},setBadge:()=>{},setBadges:()=>{},clearBadge:()=>{}}),Ur=({children:t})=>{const[r,n]=u.useState({}),s=u.useCallback(l=>{n(d=>typeof l=="function"?l(d):l)},[]),o=u.useCallback((l,d)=>{n(a=>{const f=typeof d=="function"?d(a[l]):d;return{...a,[l]:f}})},[]),i=u.useCallback(l=>{n(d=>{if(!(l in d))return d;const a={...d};return delete a[l],a})},[]),c=u.useMemo(()=>({badges:r,setBadge:o,setBadges:s,clearBadge:i}),[r,o,s,i]);return e.jsx(Qr.Provider,{value:c,children:t})},Jr=()=>u.useContext(Qr),wt=(t,r)=>{const n=r!==void 0?r:t;return n==null?null:typeof n=="string"||typeof n=="number"?{value:n}:n},Yr=({router:t,menus:r=[],menuBottom:n,logo:s,appName:o="Workspace",initialUserData:i,theme:c})=>{const l=Gr({initialUserData:i}),{theme:d}=nt.useTheme();return e.jsx(rr.Provider,{value:{logo:s,appName:o,menus:r,userData:l.userData,setUserData:l.setUserData,menuBottom:n},children:e.jsx(Ur,{children:c?e.jsx(nt.ThemeProvider,{value:c,children:t}):d?e.jsx(nt.ThemeProvider,{value:d,children:t}):t})})},Gn=u.memo(Yr);function Xr({collapsed:t=!1,children:r}){if(!r)return null;const n=typeof r=="function",s=n?r({collapsed:t}):r;return s==null||s===!1?null:e.jsx("div",{style:{position:"sticky",top:"4rem",zIndex:1,borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",paddingLeft:"0.5rem",paddingRight:"0.5rem",paddingTop:"0.5rem",paddingBottom:"0.5rem",boxSizing:"border-box"},children:n?s:e.jsx("div",{style:{opacity:t?0:1,transition:"opacity 0.3s",visibility:t?"hidden":"visible"},children:s})})}const or=u.createContext(null);function Kr({children:t}){const[r,n]=u.useState(null),[s,o]=u.useState(null),[i,c]=u.useState(null),[l,d]=u.useState(0),a=u.useCallback(()=>(d(f=>f+1),()=>d(f=>f-1)),[]);return e.jsx(or.Provider,{value:{prependNode:r,appendNode:s,replaceNode:i,setPrependNode:n,setAppendNode:o,setReplaceNode:c,replaceCount:l,registerReplace:a},children:t})}function $r({children:t}){const r=u.useContext(or);return r?e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:r.setPrependNode,style:{display:"contents"}}),r.replaceCount>0?e.jsx("div",{ref:r.setReplaceNode,style:{display:"contents"}}):t,e.jsx("div",{ref:r.setAppendNode,style:{display:"contents"}})]}):e.jsx(e.Fragment,{children:t})}function Qn({children:t,mode:r="append"}){const n=u.useContext(or);if(u.useEffect(()=>{if(!(r!=="replace"||!n))return n.registerReplace()},[r,n]),!n)return process.env.NODE_ENV!=="production"&&console.warn("[HeaderLeftSlot] used outside AppLayout — content not rendered"),null;const s=r==="prepend"?n.prependNode:r==="replace"?n.replaceNode:n.appendNode;return s?tr.createPortal(t,s):null}const sr=u.createContext(null);function en({children:t}){const[r,n]=u.useState({}),[s,o]=u.useState({}),i=u.useCallback((d,a)=>{n(f=>f[d]===a?f:{...f,[d]:a})},[]),c=u.useCallback(d=>(o(a=>({...a,[d]:(a[d]??0)+1})),()=>o(a=>({...a,[d]:Math.max(0,(a[d]??0)-1)}))),[]),l=u.useMemo(()=>({outletNodes:r,setOutletNode:i,slotCounts:s,registerSlot:c}),[r,i,s,c]);return e.jsx(sr.Provider,{value:l,children:t})}function tn({slotKey:t,fallback:r}){const n=u.useContext(sr),s=n?(n.slotCounts[t]??0)>0:!1,o=u.useRef(n==null?void 0:n.setOutletNode);o.current=n==null?void 0:n.setOutletNode;const i=u.useCallback(c=>{var l;return(l=o.current)==null?void 0:l.call(o,t,c)},[t]);return e.jsx(e.Fragment,{children:s?e.jsx("div",{ref:i,style:{display:"contents"}}):r})}function Un({slotKey:t,children:r}){const n=u.useContext(sr),s=u.useRef(n==null?void 0:n.registerSlot);if(s.current=n==null?void 0:n.registerSlot,u.useEffect(()=>{var i;return(i=s.current)==null?void 0:i.call(s,t)},[t]),!n)return process.env.NODE_ENV!=="production"&&console.warn("[SidebarGroupSlot] used outside AppLayout — content not rendered"),null;const o=n.outletNodes[t];return o?tr.createPortal(r,o):null}const Bt="moduleSwitcherGroupId",$t="sa-module-switcher-change";function Sr(){if(typeof window>"u")return null;const t=window.localStorage.getItem(Bt);if(t===null)return null;const r=Number(t);return Number.isFinite(r)?r:null}function rn(t){typeof window>"u"||(t===null?window.localStorage.removeItem(Bt):window.localStorage.setItem(Bt,String(t)),window.dispatchEvent(new CustomEvent($t,{detail:t})))}function Jn(){rn(null)}function ir(){const[t,r]=u.useState(()=>Sr());return u.useEffect(()=>{const s=()=>{r(Sr())},o=i=>{i.key===Bt&&s()};return window.addEventListener($t,s),window.addEventListener("storage",o),()=>{window.removeEventListener($t,s),window.removeEventListener("storage",o)}},[]),{selectedGroupId:t,setSelectedGroupId:s=>{rn(s),r(s)}}}let gt=0,Ye=!1,kr=new Set;const Br=()=>e.jsxs("svg",{width:"100%",height:"100%",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[e.jsx("rect",{x:"1.667",y:"1.667",width:"12.667",height:"12.667",rx:"2"}),e.jsx("line",{x1:"6",y1:"1.667",x2:"6",y2:"14.333"})]}),Fr={width:"100%",display:"flex",alignItems:"center",gap:"0.75rem",paddingLeft:"0.75rem",paddingRight:"0.75rem",paddingTop:"0.5rem",paddingBottom:"0.5rem",fontSize:"0.875rem",color:"var(--sa-text-subtle, #8c8f97)",background:"transparent",border:"none",borderRadius:"0.375rem",cursor:"pointer",textAlign:"left"};function Yn({children:t,headerLeftSlot:r,profile:n,isLoadingProfile:s,onLogout:o,isLoggingOut:i,loadingComponent:c,sidebarHeaderContent:l,headerActions:d,profileRole:a,profileMenuButtons:f,profileMenuItems:g,logoutButton:m}){var Fe,Ze;const[j]=ye.useSearchParams(),L=j.get("embed")==="true",y=nr(),{badges:D}=Jr(),F=ye.useNavigate(),T=ye.useLocation(),C=!pe.useMediaQuery("md"),[R,W]=u.useState(!1),[b,E]=u.useState(!1),[P,H]=u.useState(!1),[q,Q]=u.useState(!1),[ne,xe]=u.useState(()=>new Set(kr)),[re,ae]=u.useState(null),{selectedGroupId:X,setSelectedGroupId:K}=ir();u.useEffect(()=>{kr=ne},[ne]);const ue=u.useRef(null),ee=u.useRef(null);u.useEffect(()=>{const S=ue.current;if(!S)return;const Z=()=>{Ye||(gt=S.scrollTop)};return S.addEventListener("scroll",Z),()=>S.removeEventListener("scroll",Z)},[]);const le=()=>{const S=ue.current;S&&gt>0&&(Ye=!0,S.scrollTop=gt,requestAnimationFrame(()=>{Ye=!1}))};u.useLayoutEffect(()=>{Ye=!0,le();const S=setTimeout(()=>{Ye=!1},300);return()=>clearTimeout(S)},[]),u.useLayoutEffect(()=>{y.menus.length>0&&(gt>0?le():requestAnimationFrame(()=>{var Z;const S=(Z=ue.current)==null?void 0:Z.querySelector("[data-menu-active='true']");S&&S.scrollIntoView({block:"center",behavior:"instant"})}))},[y.menus]),u.useEffect(()=>{Ye=!0,le();const S=setTimeout(le,0),Z=setTimeout(le,50),N=setTimeout(le,100),M=setTimeout(le,200),A=setTimeout(()=>{Ye=!1},300),V=setTimeout(()=>{const _=ue.current,Y=_==null?void 0:_.querySelector("[data-menu-active='true']");if(_&&Y){const je=_.getBoundingClientRect(),Se=Y.getBoundingClientRect();Se.top>=je.top&&Se.bottom<=je.bottom||Y.scrollIntoView({block:"center",behavior:"smooth"})}},250);return()=>{clearTimeout(S),clearTimeout(Z),clearTimeout(N),clearTimeout(M),clearTimeout(A),clearTimeout(V)}},[T.pathname]),u.useEffect(()=>{ee.current&&(ee.current.scrollTop=0)},[T.pathname]),u.useEffect(()=>{C&&H(!1)},[T.pathname,C]),u.useEffect(()=>{C&&E(!0)},[C]);const we=()=>{W(!0)},Ae=()=>{W(!1)},he=()=>{W(!1),o()},De=S=>{const Z=[S.to];return S.children&&Z.push(...S.children.map(N=>N.to)),Z},Ee=[...y.menus.flatMap(S=>S.items.flatMap(De)),...((Fe=y.menuBottom)==null?void 0:Fe.flatMap(De))??[]],fe=S=>{if(!T.pathname.startsWith(S))return!1;const Z=Ee.filter(N=>T.pathname.startsWith(N)).sort((N,M)=>M.length-N.length)[0];return S===Z};u.useEffect(()=>{var Z;const S=N=>{var M;(M=N.children)!=null&&M.some(A=>T.pathname.startsWith(A.to))&&xe(A=>{const V=new Set(A);return V.add(N.id),V})};y.menus.forEach(N=>{N.items.forEach(S)}),(Z=y.menuBottom)==null||Z.forEach(S)},[T.pathname,y.menus,y.menuBottom]);const Le=S=>{xe(Z=>{const N=new Set(Z);return N.has(S)?N.delete(S):N.add(S),N})};u.useEffect(()=>{y.menus.length!==0&&X!==null&&!y.menus.some(S=>S.id===X)&&K(null)},[y.menus,X,K]);const Pe=u.useMemo(()=>{if(X!==null)return y.menus.filter(N=>N.id===X||N.parentGroupId===X);const S=y.menus.filter(N=>N.parentGroupId===void 0),Z=y.menus.filter(N=>N.parentGroupId!==void 0).flatMap(N=>N.items);return Z.length===0?S:[...S,{id:18,name:"Pengaturan",items:Z,parentGroupId:void 0}]},[y.menus,X]);if(L)return e.jsx("main",{style:{height:"100vh",overflowY:"auto",backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)"},children:t||e.jsx(ye.Outlet,{})});const me=S=>{const Z=S.children&&S.children.length>0,N=ne.has(S.id),M=Z?S.children.some(_=>fe(_.to)):fe(S.to),A=wt(S.badge,D[S.id]),V=!!A&&b&&!C;return e.jsxs("div",{"data-menu-active":M||void 0,children:[e.jsxs("button",{onClick:_=>{if(Z)if(b&&!C){const Y=_.currentTarget.getBoundingClientRect();ae({item:S,top:Y.top,left:Y.right+8})}else Le(S.id);else F(S.to)},style:{width:"100%",display:"flex",alignItems:"center",justifyContent:b&&!C?"center":void 0,gap:"0.5rem",paddingLeft:b&&!C?"0":"0.5rem",paddingRight:b&&!C?"0":"0.5rem",paddingTop:"0.25rem",paddingBottom:"0.25rem",height:"2rem",borderRadius:M?"var(--sa-radii-sm, 0.375rem)":"var(--sa-radii-md, 0.5rem)",textAlign:"left",border:M?"1px solid var(--sa-border-subtle, #0b120e24)":"1px solid transparent",backgroundColor:M?"var(--sa-background-primary, #ffffff)":"transparent",color:"var(--sa-text-primary, #292a2e)",cursor:"pointer"},title:b&&!C?S.title:void 0,onMouseEnter:_=>{M||(_.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)")},onMouseLeave:_=>{M||(_.currentTarget.style.backgroundColor="transparent")},children:[e.jsxs("span",{style:{position:"relative",display:"inline-flex",flexShrink:0},children:[e.jsx(B.Icon,{name:S.icon,size:"sm",style:{flexShrink:0}}),V&&e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",top:"-2px",right:"-2px",width:"0.5rem",height:"0.5rem",borderRadius:"9999px",backgroundColor:"var(--sa-color-error-500, #ff4d6d)",border:"1px solid var(--sa-background-primary, #ffffff)"}})]}),(!b||C)&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{fontSize:"0.875rem",fontWeight:"500",whiteSpace:"nowrap",transition:"opacity 0.3s",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:S.title}),A&&e.jsx(_e.Badges,{text:String(A.value),variant:A.variant??"info",size:"xs",border:!0}),Z&&e.jsx("svg",{style:{width:"1rem",height:"1rem",flexShrink:0,transition:"transform 0.2s",transform:N?"rotate(180deg)":"rotate(0deg)"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),Z&&(!b||C)&&(()=>{const _=S.children.findIndex(Y=>fe(Y.to));return e.jsxs("div",{style:{position:"relative",marginLeft:"0.9375rem",paddingLeft:"1.125rem",overflow:"hidden",transition:"all 0.3s ease-in-out",maxHeight:N?`${S.children.length*36}px`:"0px",opacity:N?1:0,marginTop:N?"0.25rem":"0px"},children:[e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:0,width:"1.5px",height:"100%",backgroundColor:"var(--sa-border-subtle, #0b120e24)",pointerEvents:"none"}}),_>=0&&e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:`${_*32}px`,width:"1.5px",height:"32px",backgroundColor:"var(--sa-text-primary, #292a2e)",transition:"top 0.2s ease-in-out",pointerEvents:"none",zIndex:1}}),S.children.map(Y=>{const je=wt(Y.badge,D[Y.id]);return e.jsxs("button",{onClick:()=>F(Y.to),style:{width:"100%",display:"flex",alignItems:"center",gap:"0.5rem",paddingLeft:"0.75rem",paddingRight:"0.5rem",paddingTop:"0.25rem",paddingBottom:"0.25rem",height:"2rem",borderRadius:fe(Y.to)?"var(--sa-radii-sm, 0.375rem)":"var(--sa-radii-md, 0.5rem)",textAlign:"left",backgroundColor:fe(Y.to)?"var(--sa-background-primary, #ffffff)":"transparent",color:fe(Y.to)?"var(--sa-text-primary, #292a2e)":"var(--sa-text-subtle, #505258)",cursor:"pointer",border:fe(Y.to)?"1px solid var(--sa-border-subtle, #0b120e24)":"1px solid transparent"},onMouseEnter:Se=>{fe(Y.to)||(Se.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)")},onMouseLeave:Se=>{fe(Y.to)||(Se.currentTarget.style.backgroundColor="transparent")},children:[e.jsx(B.Icon,{name:Y.icon,size:"sm",style:{flexShrink:0}}),e.jsx("span",{style:{fontSize:"0.875rem",fontWeight:"500",whiteSpace:"nowrap",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:Y.title}),je&&e.jsx(_e.Badges,{text:String(je.value),variant:je.variant??"info",size:"xs",border:!0})]},Y.id)})]})})()]},S.id)};return e.jsx(en,{children:e.jsxs(Kr,{children:[e.jsxs("div",{style:{display:"flex",height:"100vh",position:"relative","--app-sidebar-width":C?"0px":b?"4.375rem":"16.375rem","--app-footer-zindex":C&&P?"40":"999"},children:[C&&e.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"var(--sa-color-black-alpha-a50, #181a198f)",zIndex:40,opacity:P?.5:0,pointerEvents:P?"auto":"none",transition:"opacity 0.3s"},onClick:()=>H(!1)}),e.jsxs("aside",{style:{width:C?"16.375rem":b?"4.375rem":"16.375rem",position:C?"fixed":"relative",...C&&{inset:0,zIndex:50,transform:P?"translateX(0)":"translateX(-100%)"},backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",borderRight:"1px solid var(--sa-border-subtle, #0b120e24)",display:"flex",flexDirection:"column",transition:"all 0.3s ease-in-out",flexShrink:C?void 0:0},children:[e.jsx("div",{onMouseEnter:()=>Q(!0),onMouseLeave:()=>Q(!1),style:{height:"4rem",display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"1rem",paddingRight:"1rem",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",position:"relative"},children:(()=>{const S=!C&&b&&!P,Z=S&&q;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",flex:S?1:void 0,justifyContent:S?"center":void 0,transition:"opacity 0.2s",opacity:Z?0:1,pointerEvents:Z?"none":"auto"},children:[e.jsx("img",{src:y.logo,alt:"Logo",style:{width:"2rem",height:"2rem",flexShrink:0}}),(!b||P)&&e.jsx("span",{style:{fontWeight:"600",color:"var(--sa-text-primary, #292a2e)",whiteSpace:"nowrap",transition:"opacity 0.3s"},children:y.appName})]}),!C&&!b&&e.jsx("button",{type:"button",onClick:()=>E(!0),"aria-label":"Collapse sidebar",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"1rem",height:"1rem",padding:0,background:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer",flexShrink:0},children:e.jsx(Br,{})}),S&&e.jsx("button",{type:"button",onClick:()=>E(!1),"aria-label":"Expand sidebar",style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"2rem",height:"2rem",padding:0,background:"var(--sa-background-primary, #ffffff)",border:"1px solid var(--sa-border-subtle, #0b120e24)",borderRadius:"var(--sa-radii-sm, 0.375rem)",color:"var(--sa-text-primary, #292a2e)",cursor:"pointer",opacity:Z?1:0,pointerEvents:Z?"auto":"none",transition:"opacity 0.2s"},children:e.jsx("span",{style:{width:"1rem",height:"1rem",display:"inline-flex"},children:e.jsx(Br,{})})}),C&&e.jsx("button",{onClick:()=>H(!1),"aria-label":"Close menu",style:{padding:"0.375rem",borderRadius:"0.5rem",backgroundColor:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer"},children:e.jsx("svg",{style:{width:"1.25rem",height:"1.25rem"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})})()}),l&&e.jsx(Xr,{collapsed:C?!1:b,children:l}),e.jsx("div",{ref:ue,style:{flex:1,overflowY:"auto",paddingTop:"1rem",paddingBottom:"1rem"},children:Pe.map(S=>e.jsxs("div",{style:{marginBottom:"1rem"},children:[!b||C?S.name&&e.jsx("div",{style:{paddingLeft:"1.5rem",paddingRight:"1rem",paddingTop:"0rem",paddingBottom:"0.25rem",fontSize:"0.875rem",fontWeight:"400",color:"var(--sa-text-subtlest, #6b6e76)",transition:"opacity 0.3s",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:S.name}):S.name&&e.jsx("div",{"aria-label":S.name,style:{display:"flex",alignItems:"center",justifyContent:"center",paddingTop:"0.75rem",paddingBottom:"0.75rem"},children:e.jsx("span",{style:{display:"block",width:"1rem",height:"2px",borderRadius:"1px",backgroundColor:S.color??"var(--sa-background-brand, #04254f)"}})}),e.jsx("div",{style:{paddingLeft:"1rem",paddingRight:"1rem",display:"flex",flexDirection:"column",gap:"var(--sa-spacing-xs, 0.25rem)"},children:S.slotKey?e.jsx(tn,{slotKey:S.slotKey,fallback:S.items.map(Z=>me(Z))}):S.items.map(Z=>me(Z))})]},S.id))}),y.menuBottom&&y.menuBottom.length>0&&e.jsx("div",{style:{borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",paddingTop:"0.75rem",paddingBottom:"0.75rem",paddingLeft:"1rem",paddingRight:"1rem",backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",display:"flex",flexDirection:"column",gap:"var(--sa-spacing-xs, 0.25rem)",flexShrink:0},children:y.menuBottom.map(S=>me(S))})]}),e.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[e.jsxs("header",{style:{height:"4rem",backgroundColor:"var(--sa-background-primary, #ffffff)",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"1rem",paddingRight:"1rem",flexShrink:0},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1rem"},children:[C&&e.jsx("button",{onClick:()=>H(!0),style:{padding:"0.375rem",borderRadius:"0.5rem",backgroundColor:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer"},children:e.jsx("svg",{style:{width:"1.5rem",height:"1.5rem"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),e.jsx($r,{children:r})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[d,e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",cursor:"pointer"},children:[e.jsxs("div",{style:{textAlign:"right",maxWidth:"12.5rem"},children:[e.jsx("p",{style:{margin:0,fontSize:"0.875rem",fontWeight:500,color:"var(--sa-text-subtle, #8c8f97)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:s?"Loading...":(n==null?void 0:n.name)||"unknown"}),e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:s?"":(n==null?void 0:n.email)||"unknown"})]}),e.jsx("div",{style:{width:"2.5rem",height:"2.5rem",borderRadius:"9999px",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--sa-background-primary, #ffffff)",fontWeight:600,fontSize:"0.875rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)",flexShrink:0,backgroundColor:"var(--sa-background-brand, #04254f)"},children:((n==null?void 0:n.name)||"U")[0].toUpperCase()}),e.jsx(B.Icon,{name:"ChevronDown",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})]})}),e.jsxs(I.MenuLists,{style:{width:"280px",paddingBlock:"12px",paddingInline:"12px",gap:"8px",marginTop:"16px"},children:[e.jsx(I.MenuHeading,{children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",paddingBlock:"0.5rem"},children:[e.jsx("div",{style:{width:"4rem",height:"4rem",borderRadius:"9999px",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--sa-background-primary, #ffffff)",fontWeight:600,fontSize:"1.25rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)",marginBottom:"0.75rem",backgroundColor:"var(--sa-background-brand, #04254f)"},children:((n==null?void 0:n.name)||"U")[0].toUpperCase()}),e.jsx("p",{style:{margin:0,fontSize:"0.875rem",fontWeight:600,color:"var(--sa-text-primary, #292a2e)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:(n==null?void 0:n.name)||"unknown"}),e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:(n==null?void 0:n.email)||"unknown"}),a&&e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:a})]})}),(f&&f.length>0||g)&&e.jsxs(I.MenuBody,{children:[f==null?void 0:f.map((S,Z)=>e.jsx(I.MenuButton,{children:e.jsxs("button",{type:"button",onClick:S.onClick,style:Fr,onMouseEnter:N=>{N.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)"},onMouseLeave:N=>{N.currentTarget.style.backgroundColor="transparent"},children:[e.jsx(B.Icon,{name:S.icon,size:"md"}),e.jsx("span",{children:S.label})]})},`${S.label}-${Z}`)),g]}),m??e.jsx(I.MenuFooter,{children:e.jsx(I.MenuButton,{children:e.jsxs("button",{type:"button",onClick:we,style:{...Fr,color:"var(--sa-background-error, #c9184a)",fontWeight:500},onMouseEnter:S=>{S.currentTarget.style.backgroundColor="var(--sa-color-error-50, #fff0f3)"},onMouseLeave:S=>{S.currentTarget.style.backgroundColor="transparent"},children:[e.jsx(B.Icon,{name:"Logout",size:"md",style:{color:"var(--sa-background-error, #c9184a)"}}),e.jsx("span",{children:"Logout"})]})})})]})]})]})]}),e.jsx("main",{ref:ee,style:{flex:1,overflowY:"auto"},children:t||e.jsx(ye.Outlet,{})})]})]}),i&&c&&e.jsx("div",{style:{position:"fixed",inset:0,background:"var(--sa-color-black-alpha-a70, #181a19b8)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999},children:c}),e.jsxs(We.Dialog,{isShow:R,onHide:Ae,children:[e.jsx(We.DialogTitle,{children:"Confirmation Logout"}),e.jsx(We.DialogBody,{children:"Are you sure you want to end the session and exit the page?"}),e.jsx(We.DialogFooter,{children:e.jsx(h.Box,{direction:"column",display:"flex",align:"flex-end",justify:"center",children:e.jsxs(se.Flex,{direction:"row",gap:"sm",align:"center",children:[e.jsx(h.Box,{direction:"column",children:e.jsx(z.Button,{secondary:!0,onClick:Ae,children:"Cancel"})}),e.jsx(h.Box,{direction:"column",children:e.jsx(z.Button,{primary:!0,onClick:he,children:"Yes, Sure"})})]})})})]}),re&&e.jsxs(e.Fragment,{children:[e.jsx("div",{onClick:()=>ae(null),style:{position:"fixed",inset:0,zIndex:60,backgroundColor:"transparent"}}),e.jsxs("div",{role:"dialog","aria-label":re.item.title,style:{position:"fixed",top:re.top,left:re.left,zIndex:61,minWidth:"13rem",maxWidth:"16rem",backgroundColor:"var(--sa-background-primary, #ffffff)",border:"1px solid var(--sa-border-subtle, #0b120e24)",borderRadius:"var(--sa-radii-md, 0.5rem)",boxShadow:"var(--sa-shadow-lg, 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a)",padding:"0.5rem",display:"flex",flexDirection:"column",gap:"0.125rem"},children:[e.jsx("div",{style:{fontSize:"0.75rem",fontWeight:600,color:"var(--sa-color-gray-500, #8c8f97)",padding:"0.25rem 0.5rem 0.5rem",textTransform:"uppercase",letterSpacing:"0.05em"},children:re.item.title}),(Ze=re.item.children)==null?void 0:Ze.map(S=>{const Z=fe(S.to),N=wt(S.badge,D[S.id]);return e.jsxs("button",{onClick:()=>{F(S.to),ae(null)},style:{width:"100%",display:"flex",alignItems:"center",gap:"0.75rem",padding:"0.5rem 0.75rem",borderRadius:"var(--sa-radii-md, 0.5rem)",textAlign:"left",backgroundColor:Z?"var(--sa-color-gray-100, #f8f8f8)":"transparent",color:Z?"var(--sa-text-primary, #292a2e)":"var(--sa-color-gray-800, #505258)",border:"1px solid transparent",cursor:"pointer",fontSize:"0.875rem",fontWeight:500},onMouseEnter:M=>{Z||(M.currentTarget.style.backgroundColor="var(--sa-color-gray-100, #f8f8f8)")},onMouseLeave:M=>{Z||(M.currentTarget.style.backgroundColor="transparent")},children:[S.icon&&e.jsx(B.Icon,{name:S.icon,size:"sm",style:{flexShrink:0}}),e.jsx("span",{style:{flex:1,whiteSpace:"nowrap"},children:S.title}),N&&e.jsx(_e.Badges,{text:String(N.value),variant:N.variant??"info",size:"xs",border:!0})]},S.id)})]})]})]})})}const Et=u.forwardRef(({children:t,...r},n)=>e.jsx(h.Box,{ref:n,role:"button",cursor:"pointer","aria-pressed":"true",display:"inline-block",tabIndex:0,...r,children:t})),Er=({title:t,iconName:r,textColor:n,iconColor:s,hoverTextColor:o,hoverIconColor:i})=>{const[c,l]=u.useState(!1),d=s??"var(--sa-text-subtle, #8c8f97)",a=n??"var(--sa-text-subtle, #8c8f97)",f=i??"var(--sa-text-subtle, #8c8f97)",g=o??"var(--sa-text-primary, #292a2e)";return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),style:{cursor:"pointer"},children:[e.jsx(B.Icon,{name:r||"ChevronLeft",size:"xs",style:{color:c?f:d,transition:"color 0.15s ease"}}),e.jsx(v.Text,{variant:"sub-h3",style:{color:c?g:a,transition:"color 0.15s ease"},children:t||"Back"})]})},Xn=({items:t,separator:r="/",iconName:n,iconColor:s,hoverIconColor:o})=>{const[i,c]=u.useState(!1),l=s??"var(--sa-text-subtle, #8c8f97)",d=o??"var(--sa-text-subtle, #8c8f97)",a=t.length>1?t[0]:void 0,f=!!(a!=null&&a.to||a!=null&&a.onClick),g=e.jsx(B.Icon,{name:n||"ChevronLeft",size:"xs",onMouseEnter:f?()=>c(!0):void 0,onMouseLeave:f?()=>c(!1):void 0,style:{color:f&&i?d:l,transition:"color 0.15s ease",cursor:f?"pointer":void 0}}),m=a!=null&&a.to?e.jsx(ye.Link,{to:a.to,replace:!0,style:{textDecoration:"none"},children:g}):a!=null&&a.onClick?e.jsx(Et,{onClick:a.onClick,children:g}):g;return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",children:[m,e.jsx(rt.Breadcrumb,{separator:r,size:"md",children:t.map((j,L)=>{const y=L===t.length-1;return j.to&&!y?e.jsx(rt.BreadcrumbItem,{children:e.jsx(ye.Link,{to:j.to,children:j.label})},L):e.jsx(rt.BreadcrumbItem,{currentPage:y,children:e.jsx(rt.BreadcrumbLink,{onClick:y?void 0:j.onClick,children:j.label})},L)})})]})},Kn=t=>{const{items:r,separator:n,onClick:s,navigateTo:o,...i}=t;return r&&r.length>0?e.jsx(Xn,{items:r,separator:n,iconName:i.iconName,iconColor:i.iconColor,hoverIconColor:i.hoverIconColor}):o?e.jsx(h.Box,{direction:"row",children:e.jsx(ye.Link,{to:o,replace:!0,style:{textDecoration:"none"},children:e.jsx(Er,{...i})})}):e.jsx(h.Box,{direction:"row",children:e.jsx(Et,{onClick:s,children:e.jsx(Er,{...i})})})},_t=[{icon:"var(--sa-color-brand-400, #3366b7)",activeBg:"var(--sa-color-brand-50, #e6edf6)",activeBorder:"var(--sa-color-brand-300, #668cc9)",activeShadow:"rgba(51, 102, 183, 0.25)"},{icon:"var(--sa-color-warning-400, #ed9f30)",activeBg:"var(--sa-color-warning-50, #fef2e6)",activeBorder:"var(--sa-color-warning-300, #f1b259)",activeShadow:"rgba(237, 159, 48, 0.25)"},{icon:"var(--sa-color-secondary-300, #5468e1)",activeBg:"var(--sa-color-secondary-50, #e6e9fb)",activeBorder:"var(--sa-color-secondary-200, #8a98ea)",activeShadow:"rgba(84, 104, 225, 0.25)"},{icon:"var(--sa-color-info-500, #00abeb)",activeBg:"var(--sa-color-info-50, #effaff)",activeBorder:"var(--sa-color-info-300, #75dbff)",activeShadow:"rgba(0, 171, 235, 0.25)"},{icon:"var(--sa-color-success-500, #30ce84)",activeBg:"var(--sa-color-success-50, #ecfff6)",activeBorder:"var(--sa-color-success-300, #75dead)",activeShadow:"rgba(48, 206, 132, 0.25)"},{icon:"var(--sa-color-error-400, #ff758f)",activeBg:"var(--sa-color-error-50, #fff0f3)",activeBorder:"var(--sa-color-error-300, #ff8fa3)",activeShadow:"rgba(255, 117, 143, 0.25)"}];function Mr(t,r,n){return{display:"flex",alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"var(--sa-radii-sm, 6px)",border:t?`2px solid ${n.activeBorder}`:"2px solid var(--sa-color-gray-200, #f0f1f2)",backgroundColor:t?n.activeBg:"var(--sa-color-gray-50, #ffffff)",boxShadow:t?r?`0 8px 20px ${n.activeShadow.replace("0.25","0.35")}`:`0 2px 8px ${n.activeShadow}`:r?"0 8px 20px rgba(0, 0, 0, 0.14)":"0 1px 4px rgba(0, 0, 0, 0.08)",transform:r?"translateY(-3px) scale(1.05)":"translateY(0) scale(1)",transition:"box-shadow 0.2s ease, transform 0.2s ease, background-color 0.15s ease, border-color 0.15s ease"}}const Lr={fontSize:"11px",fontWeight:500,textAlign:"center",overflowWrap:"normal",wordBreak:"normal",color:"var(--sa-background-primary, #ffffff)",lineHeight:"1.3",maxWidth:"80px"},Ir={display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",background:"none",border:"none",cursor:"pointer",padding:0};function nn({isShow:t,onHide:r,menus:n,selectedGroupId:s,onSelect:o}){const[i,c]=u.useState(void 0),l=a=>{o(a),r()},d=_t[0];return e.jsx(We.Dialog,{isShow:t,onHide:r,style:{width:560,background:"transparent",boxShadow:"none",border:"none"},children:e.jsx(We.DialogBody,{children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"16px"},children:[e.jsxs("button",{onClick:()=>l(null),onMouseEnter:()=>c("all"),onMouseLeave:()=>c(void 0),style:Ir,children:[e.jsx("div",{style:Mr(s===null,i==="all",d),children:e.jsx("div",{style:{color:d.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(B.Icon,{name:"Grid",size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:Lr,children:"Semua"})]}),n.map((a,f)=>{var y;const g=s===a.id,m=i===a.id,j=((y=a.items[0])==null?void 0:y.icon)??"Grid",L=_t[(f+1)%_t.length];return e.jsxs("button",{onClick:()=>l(a.id),onMouseEnter:()=>c(a.id),onMouseLeave:()=>c(void 0),style:Ir,children:[e.jsx("div",{style:Mr(g,m,L),children:e.jsx("div",{style:{color:L.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(B.Icon,{name:j,size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:Lr,children:a.name})]},a.id)})]})})})}function $n({onSelect:t,"aria-label":r="Pilih module"}={}){const n=nr(),s=ye.useNavigate(),{selectedGroupId:o,setSelectedGroupId:i}=ir(),[c,l]=u.useState(!1),d=a=>{var f;if(i(a),a!==null){const g=n.menus.find(j=>j.id===a),m=(f=g==null?void 0:g.items[0])==null?void 0:f.to;m&&s(m)}t==null||t(a)};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{position:"relative"},children:[e.jsx("button",{onClick:()=>l(!0),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"2.25rem",height:"2.25rem",borderRadius:"var(--sa-radii-sm, 0.25rem)",border:"1px solid var(--sa-border-subtle, #0b120e24)",color:"var(--sa-text-subtle, #8c8f97)",backgroundColor:"transparent",cursor:"pointer"},"aria-label":r,onMouseEnter:a=>{a.currentTarget.style.backgroundColor="var(--sa-background-primary-inverse, #f8f8f8)"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:e.jsx(B.Icon,{name:"GridApplication",size:"sm"})}),o!==null&&e.jsx("span",{style:{position:"absolute",top:"0.25rem",right:"0.25rem",width:"0.5rem",height:"0.5rem",borderRadius:"9999px",backgroundColor:"var(--sa-color-brand-500, #1a4fa0)"},"aria-hidden":"true"})]}),e.jsx(nn,{isShow:c,onHide:()=>l(!1),menus:n.menus.filter(a=>a.parentGroupId===void 0),selectedGroupId:o,onSelect:d})]})}const eo=(t,r)=>{const n=[];if(r===0)return n.push(t),n;for(let s=0;s<t.length;s+=r){const o=t.slice(s,s+r);n.push(o)}return n},to=u.memo(({value:t,label:r,separator:n,labelWidth:s,lastIndex:o,labelAlign:i="top"})=>{const c=u.useMemo(()=>({padding:0,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),l=u.useMemo(()=>({padding:0,paddingRight:12,paddingLeft:12,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),d=()=>typeof r=="string"?e.jsx(v.Text,{fontWeight:"medium",color:"subtlest",children:r}):r,a=()=>typeof t=="string"||typeof t=="number"?e.jsx(v.Text,{color:"primary",fontWeight:"medium",children:t}):t,f=()=>typeof n=="string"||typeof n=="number"?e.jsx(v.Text,{fontWeight:"medium",color:"subtlest",children:n}):n;return e.jsxs(G.Tr,{children:[e.jsx(G.Td,{style:c,width:s,children:d()}),n?e.jsx(G.Td,{style:l,width:24,children:f()}):null,e.jsx(G.Td,{style:c,children:a()})]})}),ro=u.memo(({fields:t,separator:r,labelWidth:n})=>e.jsx(G.Table,{children:t.map((s,o)=>e.jsx(to,{separator:r,labelWidth:n,lastIndex:o===t.length-1,...s},`field-group-field-${o}`))})),no=u.memo(({maxRow:t=0,maxColumn:r=2,separator:n=":",fields:s=[],labelWidth:o=150,bordered:i=!1})=>{const c=u.useMemo(()=>eo(s,t),[s,t]),l=c.length>2,d=()=>{switch(r){case 1:return"width-full";case 2:return"width-1-2";case 3:return"width-1-3";case 4:return"width-1-4";default:return"width-1-2"}};return e.jsx(h.Box,{gap:l?void 0:"lg",direction:"row",flexWrap:"wrap",borderRadius:"rounded-sm",padding:"lg",paddingBottom:l?"xs":"lg",bg:"accent-dark-tertiary",borderWidth:i?"border":void 0,borderStyle:i?"border-solid":void 0,borderColor:i?"border-subtle":void 0,children:c.map((a,f)=>e.jsx(h.Box,{direction:"column",flex:l?void 0:"1",width:l?d():void 0,marginBottom:l?"lg":void 0,children:e.jsx(ro,{labelWidth:o,fields:a,separator:n})},f))})}),oo=({backButton:t})=>{const[r,n]=u.useState(!1),s=(t==null?void 0:t.iconColor)??"var(--sa-text-subtle, #8c8f97)",o=(t==null?void 0:t.textColor)??"var(--sa-text-subtle, #8c8f97)",i=(t==null?void 0:t.hoverIconColor)??"var(--sa-text-subtle, #8c8f97)",c=(t==null?void 0:t.hoverTextColor)??"var(--sa-text-primary, #292a2e)";return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{cursor:"pointer"},children:[e.jsx(B.Icon,{name:(t==null?void 0:t.iconName)||"ChevronLeft",size:"xs",style:{color:r?i:s,transition:"color 0.15s ease"}}),e.jsx(v.Text,{variant:"sub-h3",style:{color:r?c:o,textDecoration:r?"underline":"none",transition:"color 0.15s ease"},children:(t==null?void 0:t.title)||"Back"})]})},so=({backButton:t,title:r,titleIcon:n,titleTag:s,children:o,header:i=!0,headerBorder:c=!1,subHeaders:l,action:d,titleTagProps:a,containerProps:f,headerProps:g})=>{const m=pe.useMediaQuery("md"),j=ye.useNavigate(),L=ye.useLocation(),y=t==null?void 0:t.show,D=()=>{if(typeof(t==null?void 0:t.onClick)=="function"){t.onClick();return}j(-1,{replace:!0})},F=()=>{if(!d)return null;if(u.isValidElement(d))return d;const b=d.filter(E=>E&&(E.title||E.icon));return b.length===0?null:m?e.jsx(h.Box,{direction:"row",gap:"md",children:b.map(({title:E,icon:P,buttonProps:H,onClick:q},Q)=>e.jsx(z.Button,{iconLeft:P?e.jsx(B.Icon,{name:P,size:"md"}):void 0,onClick:q,...H,children:E},`action-${Q}`))}):e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"tertiary",size:"sm",iconLeft:e.jsx(B.Icon,{name:"MenuBurger"}),"aria-label":"Actions"})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{minWidth:200},children:b.map(({title:E,icon:P,buttonProps:H,onClick:q},Q)=>{const ne=(H==null?void 0:H.tone)==="error"||(H==null?void 0:H.danger)===!0;return e.jsx(I.MenuItem,{intent:ne?"danger":void 0,disabled:H==null?void 0:H.disabled,startIcon:P?e.jsx(B.Icon,{name:P}):void 0,onClick:q,children:E},`action-${Q}`)})})})]})},T=()=>{const b=e.jsx(oo,{backButton:t});return t!=null&&t.navigateTo?e.jsx(h.Box,{direction:"row",children:e.jsx(ye.Link,{to:t.navigateTo,replace:!0,style:{textDecoration:"none"},children:b})}):e.jsx(h.Box,{direction:"row",children:e.jsx(Et,{onClick:D,children:b})})},w=()=>{const b=!!r,E=Array.isArray(d)&&d.length>0,P=u.isValidElement(d)?!0:E;if(!b&&!P&&!y)return null;const q=m||!m&&E;return e.jsxs(h.Box,{direction:"column",gap:"xs",paddingBlock:(g==null?void 0:g.paddingBlock)??"sm",paddingInline:(g==null?void 0:g.paddingInline)??"md",...g,style:{...c?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...g==null?void 0:g.style},children:[y&&T(),(b||P)&&e.jsxs(h.Box,{direction:q?"row":"column",gap:"sm",justify:"space-between",align:q?"center":"flex-start",children:[b?typeof r=="string"?e.jsxs(h.Box,{direction:"row",gap:"lg",align:"center",children:[e.jsxs(h.Box,{direction:"row",gap:"sm",align:"center",children:[n&&e.jsx(B.Icon,{name:n,size:"md",color:"primary"}),e.jsx(v.Text,{variant:"h3",fontWeight:"semibold",fontFamily:"Poppins",children:r})]}),s&&e.jsx(_e.Badge,{border:!0,size:"lg",text:s,...a})]}):r:null,F()]})]})},C=()=>{if(!l||l.length===0)return null;const b=l.filter(H=>H.show!==!1);if(b.length===0)return null;let E=0,P=-1/0;return b.forEach((H,q)=>{const Q=H.order??0;Q>=P&&(P=Q,E=q)}),b.map(({content:H,order:q,borderBottom:Q=!0},ne)=>e.jsx(h.Box,{direction:"column",paddingTop:"sm",paddingBottom:Q||ne===E?"sm":"spacing-0",paddingInline:"md",style:{...Q?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...q!==void 0?{order:q}:{}},children:H},`sub-header-${ne}`))},R=()=>{const b=i?w():null,E=C();return!b&&!E?null:e.jsxs(h.Box,{direction:"column",style:{marginBottom:E?"var(--sa-spacing-0)":"var(--sa-spacing-md)"},children:[b,E]})},W=()=>o;return e.jsxs(h.Box,{direction:"column",as:"main",...f,style:{...(f==null?void 0:f.style)??{},animation:"pageLayoutEnter 320ms cubic-bezier(0.16, 1, 0.3, 1) backwards"},children:[R(),W()]},L.pathname)},io=u.memo(so),lo={icon:"Cross",title:""},co="calc(100vw - 16px)",Tr=t=>t==null?void 0:`min(${typeof t=="number"?`${t}px`:t}, ${co})`,on=u.forwardRef(({onHide:t,show:r,withBlur:n=!1,style:s,children:o,closeButton:i=lo,width:c,minWidth:l="357px",maxWidth:d="357px"},a)=>{const f=Tr(c??l),g=Tr(c??d);return e.jsx(kt.Drawer,{blur:n,isShow:r,position:"right",onHide:t,ref:a,style:{minWidth:f,maxWidth:g,...s},children:e.jsxs(h.Box,{direction:"column",padding:"lg",children:[i?e.jsxs(h.Box,{direction:"row",align:"center",gap:"sm",onClick:t,marginBottom:"lg",cursor:"pointer",children:[e.jsx(B.Icon,{name:i.icon,size:"md",color:"subtle",cursor:"pointer"}),i.title?e.jsx(v.Text,{fontFamily:"Poppins",fontSize:"md",color:"subtlest",children:i.title}):null]}):null,o]})})}),lr=u.memo(({children:t,borderBottom:r=!0,padding:n=!0})=>{const s=pe.useMediaQuery("lg");return e.jsx(h.Box,{direction:"column",padding:n?"md":"spacing-0",paddingLeft:n?"md":"spacing-0",paddingRight:n?"md":"spacing-0",style:r?{borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"}:void 0,children:t})}),cr=u.memo(({children:t,borderTop:r=!0,padding:n=!0})=>{const s=pe.useMediaQuery("lg");return e.jsx(h.Box,{direction:"column",padding:n?"md":"spacing-0",paddingLeft:n?"md":"spacing-0",paddingRight:n?"md":"spacing-0",style:r?{borderTop:"1px solid var(--sa-border-subtle, #0b120e24)"}:void 0,children:t})}),ao=u.memo(({children:t,...r})=>e.jsx(h.Box,{direction:"column",padding:"md",paddingLeft:"md",paddingRight:"md",gap:"md",...r,children:t})),uo=u.memo(({children:t,title:r,titleTag:n,action:s,header:o,footer:i,actionContainer:c,containerProps:l,bodyProps:d,headerProps:a={borderBottom:!0},footerProps:f={borderTop:!0},variantTag:g="info"})=>{const m=pe.useMediaQuery("lg"),j=()=>n?e.jsxs(h.Box,{direction:"row",gap:"sm",align:"center",children:[e.jsx(v.Text,{fontWeight:"medium",children:r}),e.jsx(_e.Badges,{border:!0,text:n,variant:g})]}):e.jsx(v.Text,{fontWeight:"medium",children:r}),L=()=>o||e.jsxs(h.Box,{direction:"row",justify:"space-between",align:"flex-start",gap:"md",children:[e.jsx(h.Box,{direction:"column",children:r?j():null}),e.jsx(h.Box,{direction:"column",style:m?{width:"100%",maxWidth:"19.313rem"}:{flex:1},...c,children:s??null})]}),y=!!(o||r||s);return e.jsxs(h.Box,{direction:"column",bg:"white",borderRadius:"rounded-xs",as:"section",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",...l,style:{backgroundColor:"var(--sa-background-primary, #ffffff)",...(l==null?void 0:l.style)??{}},children:[o!==null&&y?e.jsx(lr,{...a,children:L()}):null,e.jsx(ao,{...d,children:t}),i?e.jsx(cr,{...f,children:i}):null]})}),xo=t=>e.jsx(v.Text,{variant:"h1",children:t.children,...t.props}),ho=t=>e.jsx(v.Text,{variant:"h2",children:t.children,...t.props}),fo=t=>e.jsx(v.Text,{variant:"h3",children:t.children,...t.props}),mo=t=>e.jsx(v.Text,{variant:"h4",children:t.children,...t.props}),go=t=>e.jsx(v.Text,{variant:"h5",children:t.children,...t.props}),yo=t=>e.jsx(v.Text,{variant:"h6",children:t.children,...t.props}),po=t=>e.jsx(v.Text,{variant:"sub-h1",children:t.children,...t.props}),jo=t=>e.jsx(v.Text,{variant:"sub-h2",children:t.children,...t.props}),bo=t=>e.jsx(v.Text,{variant:"sub-h3",children:t.children,...t.props}),Co=t=>e.jsx(v.Text,{variant:"body-1",children:t.children,...t.props}),vo=t=>e.jsx(v.Text,{variant:"body-2",children:t.children,...t.props}),wo=t=>e.jsx(v.Text,{variant:"body-3",children:t.children,...t.props}),Re={H1:xo,H2:ho,H3:fo,H4:mo,H5:go,H6:yo,SubH1:po,SubH2:jo,SubH3:bo,Body1:Co,Body2:vo,Body3:wo},Be=()=>{const[t,r]=ye.useSearchParams(),n=st.searchParamsToObject(t.toString()),s=ye.useParams(),o=ye.useLocation(),i=s.id;return{setSearchParams:r,searchParams:t,searchQueries:n,isHasQuery:(f,g)=>t.has(f)&&t.get(f)===g,getQueryParam:f=>t.get(f),getRouteParam:f=>s[f],params:s,location:o,id:i,hasId:!!i}},sn=t=>JSON.stringify(t),ln=t=>JSON.stringify(t),cn=t=>JSON.stringify(t),an=t=>JSON.stringify(t),Do=t=>t,So=t=>JSON.stringify(t),xt=({value:t,name:r,type:n,withSearchParam:s=!0,setSearchParams:o,searchQueries:i,dropdownSearchKey:c,filterKey:l="filter",pageKey:d="page"})=>{if(s){let a;switch(n){case"search":a=Do(t);break;case"dropdown":case"dropdown-multiple":a=sn(t);break;case"radio":a=ln(t);break;case"date-range":a=cn(t);break;case"advanced-date-range":a=So(t);break;case"date":a=an(t);break;default:a=t;break}if(typeof a<"u"){const g={...i[l]&&typeof i[l]=="string"?JSON.parse(i[l]):void 0,[r]:a},m={...i};c&&typeof c=="string"&&delete m[c],delete m[d];const j={...m,[l]:JSON.stringify(g)},L=new URLSearchParams(i).toString(),y=new URLSearchParams(j).toString();if(L===y)return;o(j)}}},Dt=({name:t,filterKey:r="filter",searchParams:n,get:s})=>{const o=n.get(r)||void 0,i=o&&typeof o=="string"?JSON.parse(o):void 0,c=i?i[t]:void 0;return s==="label"&&c?JSON.parse(c)[0].label:s==="value"&&c?JSON.parse(c)[0].value:c},dn=({name:t,filterKey:r="filter",searchParams:n,get:s})=>{const o=n.get(r)||void 0,i=o&&typeof o=="string"?JSON.parse(o):void 0,c=i?i[t]:void 0;return s==="label"&&c?JSON.parse(c).map(l=>l.label):s==="value"&&c?JSON.parse(c).map(l=>l.value):s==="array"&&c?JSON.parse(c):c},ko=({name:t,filterKey:r="filter",searchParams:n,get:s})=>{const o=n.get(r)||void 0,i=o&&typeof o=="string"?JSON.parse(o):void 0,c=i?i[t]:void 0;return s==="id"&&c?JSON.parse(c).id:s==="label"&&c?JSON.parse(c).label:s==="value"&&c?JSON.parse(c).value:c},Mt=(t,r,n)=>{const s=r.get(n||"filter")||void 0,o=s&&typeof s=="string"?JSON.parse(s):void 0;return o?o[t]:void 0},Bo=({name:t,filterKey:r="filter",searchParams:n})=>{const s=n.get(r||"filter")||void 0,o=s&&typeof s=="string"?JSON.parse(s):void 0,i=o?o[t]:void 0;return{start:i?JSON.parse(i).from:void 0,end:i?JSON.parse(i).to:void 0}},un=({name:t,filterKey:r="filter",searchParams:n})=>{const s=n.get(r||"filter")||void 0,o=s&&typeof s=="string"?JSON.parse(s):void 0,i=o?o[t]:void 0;return i?JSON.parse(i):void 0},Fo=(t,{filterKey:r="filter",perPageKey:n="perPage",pageKey:s="page"})=>{const o=t.get(r)||void 0,i=t.get(n)||void 0,c=t.get(s)||void 0;return!!o||!!i||!!c},xn=({isOpen:t,onClose:r,filterKey:n,pageKey:s,filters:o})=>{const{searchParams:i,setSearchParams:c,searchQueries:l}=Be(),[d,a]=u.useState({}),f=()=>{i.delete(n||"filter"),c(i)},g=(m,j)=>{switch(m.type){case"radio":{const{show:L=!0}=m;return L&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j)}case"dropdown":{const{show:L=!0}=m;return L&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j)}case"date-range":return e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j);case"date":return e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j);case"dropdown-multiple":{const{show:L=!0}=m;return L&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},j)}default:return null}};return e.jsx(on,{onHide:r,show:t||!1,children:e.jsxs(h.Box,{direction:"column",gap:"md",children:[e.jsxs(se.Flex,{direction:"row",justify:"space-between",align:"center",children:[e.jsx(h.Box,{direction:"column",children:"Filter"}),e.jsx(h.Box,{direction:"column",style:{cursor:"pointer"},onClick:f,children:"Reset"})]}),o==null?void 0:o.map((m,j)=>g(m,j))]})})},hn=({searchKey:t="q",statusKey:r="status",searchPlaceholder:n="Search",searchHighlightPlaceholder:s,extendedFilter:o,showSearchFilter:i=!0,showStatusFilter:c=!0,filterKey:l="filter",pageKey:d="page",customWidthSearch:a,handleOnReset:f,filterConfigs:g,buttonToggleProps:m,position:j="right",titleSearchLabel:L="Work Order",withTitleLabels:y=!1})=>{const F=(m==null?void 0:m.isShowLabel)??!0,[T,w]=u.useState(!1),[C,R]=u.useState(0),W=()=>{R(K=>K+1)},{searchParams:b,setSearchParams:E,getQueryParam:P}=Be(),H=st.searchParamsToObject(b.toString()),q=Mt(t,b,l)||"",[Q,ne]=u.useState(q),xe=P(l),ae=!!(xe&&!(()=>{if(xe)try{const K=JSON.parse(xe);return Object.keys(K).length===1&&K[t]===""}catch(K){console.error("Filter parameter is not a valid JSON:",K)}return!1})()),X=pe.useMediaQuery("md");return u.useEffect(()=>{ne(q)},[q]),u.useEffect(()=>{if(Q===q)return;const K=window.setTimeout(()=>{xt({value:Q,name:t,type:"search",searchQueries:H,setSearchParams:E,filterKey:l,pageKey:d})},350);return()=>{window.clearTimeout(K)}},[Q,q,t,H,E,l,d]),e.jsxs(se.Flex,{gap:"md",style:{flexDirection:X&&j==="left"?"row":X&&j==="right"?"row-reverse":"column"},align:"flex-end",children:[ae&&e.jsx(h.Box,{direction:"column",justify:"flex-end",children:e.jsx(z.Button,{onClick:()=>{const K=new URLSearchParams(b);K.delete(l),E(K),ne(""),W(),f&&f()},variant:"outline",tone:"neutral",children:e.jsx(v.Text,{color:"error",fontWeight:"semibold",children:"Reset"})})}),o==null?void 0:o.map(({minWidth:K,content:ue,title:ee,onClickContainer:le},we)=>e.jsxs(h.Box,{direction:"column",gap:"sm",onClick:le,style:{minWidth:K},children:[ee&&e.jsx(Re.SubH3,{children:ee}),ue]},`extended-filter-${we}-${C}`)),!!(g!=null&&g.length)&&e.jsx(z.Button,{primary:ae,secondary:!ae,iconLeft:e.jsx(B.Icon,{size:"sm",name:(m==null?void 0:m.icon)||"FilterHorizontal",style:{color:xe?"var(--sa-background-brand, #04254f)":"var(--sa-text-primary, #292a2e)"}}),fullWidth:!X,onClick:()=>w(!0),children:F?"Filter":void 0}),c&&e.jsxs(h.Box,{direction:"column",gap:"sm",style:{minWidth:"126px"},children:[y&&e.jsx(Re.SubH3,{children:"Status"}),e.jsx(ot.Dropdown,{dropdownLists:[{label:"Active",value:"active"},{label:"InActive",value:"inactive"}],defaultValue:Dt({get:"value",name:r,searchParams:b,filterKey:l})?[{label:Dt({get:"value",name:r,searchParams:b,filterKey:l})==="active"?"Active":"InActive",value:Dt({get:"value",name:r,searchParams:b,filterKey:l})}]:[],onChange:K=>xt({value:K,name:r,type:"dropdown",searchQueries:H,setSearchParams:E,filterKey:l}),placeholder:y?"All":"All Status"},C)]}),i&&e.jsxs(h.Box,{direction:"column",gap:"sm",style:{width:a&&X?a:X?"310px":""},children:[y&&e.jsxs(Re.SubH3,{children:["Search for ",L]}),e.jsx(qe.Input,{placeholder:n,leftIcon:e.jsx(B.Icon,{name:"Search",width:20,height:20}),onChange:K=>ne(K.target.value),value:Q,fullWidth:!0},C+1+l)]}),e.jsx(xn,{isOpen:T,onClose:()=>w(!1),filterKey:l,filters:g,pageKey:d})]})},Eo=t=>t==="checkbox-multiple"?"dropdown-multiple":t==="radio"?"dropdown":t==="date-compact"?"date":t;function ar({configs:t,filterKey:r="filter",activeFilterKey:n="filters",pageKey:s="page",searchKey:o="q"}){const{searchParams:i,setSearchParams:c,searchQueries:l}=Be(),d=u.useMemo(()=>Object.fromEntries(t.map(C=>[C.key,C])),[t]),a=u.useMemo(()=>{const C=(i.get(n)||"").split(",").map(W=>W.trim()).filter(Boolean);let R=[];try{const W=i.get(r);W&&(R=Object.keys(JSON.parse(W)).filter(b=>b!==o))}catch{}return t.map(W=>W.key).filter(W=>{const b=d[W];return(b==null?void 0:b.locked)||C.includes(W)||R.includes(W)})},[i,n,r,o,t,d]),f=u.useCallback(C=>{try{return C[r]?JSON.parse(C[r]):{}}catch{return{}}},[r]),g=u.useCallback(C=>{const R={...l};C.length?R[n]=C.join(","):delete R[n],c(R)},[l,n,c]),m=u.useCallback(C=>{a.includes(C)||g([...a,C])},[a,g]),j=u.useCallback(C=>{var E;if((E=d[C])!=null&&E.locked)return;const R={...l},W=a.filter(P=>P!==C);W.length?R[n]=W.join(","):delete R[n];const b=f(R);C in b&&(delete b[C],Object.keys(b).length?R[r]=JSON.stringify(b):delete R[r]),delete R[s],c(R)},[l,a,n,r,s,f,c,d]),L=u.useCallback(C=>a.includes(C)?j(C):m(C),[a,m,j]),y=u.useCallback(C=>{switch(C.type){case"dropdown":case"dropdown-multiple":case"checkbox-multiple":case"radio":return dn({name:C.key,get:"array",searchParams:i,filterKey:r})||[];case"date":{const R=un({name:C.key,searchParams:i,filterKey:r});return R?new Date(R):void 0}case"date-compact":{const W=f(Object.fromEntries(i.entries()))[C.key];return W&&typeof W=="object"?W:void 0}default:return}},[i,r,f]),D=u.useCallback((C,R)=>{if(C.type==="date-compact"){const W={...l},b=f(W);R==null?delete b[C.key]:b[C.key]=R,Object.keys(b).length?W[r]=JSON.stringify(b):delete W[r],delete W[s],c(W);return}xt({value:R,name:C.key,type:Eo(C.type),searchQueries:l,setSearchParams:c,filterKey:r,pageKey:s})},[l,c,r,s,f]),F=u.useCallback(C=>{const R={...l},W=f(R);C in W&&(delete W[C],Object.keys(W).length?R[r]=JSON.stringify(W):delete R[r]),delete R[s],c(R)},[l,r,s,f,c]),T=u.useCallback(()=>{const C={...l};delete C[r],delete C[n],delete C[s],c(C)},[l,r,n,s,c]),w=a.length>0;return{activeKeys:a,configByKey:d,hasActiveFilter:w,addFilter:m,removeFilter:j,toggleFilter:L,getValue:y,setValue:D,clearValue:F,clearAll:T}}const dr={get(t){return dt.storage.get(t)??null},set(t,r){dt.storage.save(t,r)},remove(t){dt.storage.delete(t)}},ct={columns:t=>`filterbar:colprefs:${t}`,savedViews:t=>`filterbar:views:${t}`,lastState:t=>`filterbar:last:${t}`,perPage:t=>`filterbar:perpage:${t}`,tableSort:t=>`tablelayout:sort:${t}`},yt=(t,r)=>{const n=new Set(r.map(i=>i.key)),s=t.order.filter(i=>n.has(i));for(const i of r)s.includes(i.key)||s.push(i.key);const o=t.hidden.filter(i=>n.has(i));return{order:s,hidden:o}};function Mo({columns:t,scopeId:r,storage:n,onColumnsChange:s,value:o}){const i=u.useMemo(()=>({order:t.map(b=>b.key),hidden:[]}),[t]),c=r?ct.columns(r):void 0,l=(b,E)=>yt({order:b.order??E,hidden:b.hidden??[]},t),[d,a]=u.useState(()=>{if(o&&(o.order||o.hidden))return l(o,t.map(b=>b.key));if(c){const b=n.get(c);if(b&&Array.isArray(b.order))return yt(b,t)}return i}),f=t.map(b=>b.key).join("|");u.useEffect(()=>a(b=>yt(b,t)),[f]);const g=u.useRef(d);g.current=d;const m=o?`${(o.order??[]).join("|")}~${(o.hidden??[]).join("|")}`:null,j=u.useRef(m);u.useEffect(()=>{if(m==null||j.current===m)return;j.current=m;const b=g.current,E=l(o,b.order);E.order.join("|")===b.order.join("|")&&E.hidden.join("|")===b.hidden.join("|")||(a(E),c&&n.set(c,E))},[m,f]);const L=u.useRef(!1);u.useEffect(()=>{L.current||(L.current=!0,s==null||s(d))},[]);const y=u.useCallback(b=>{a(b),c&&n.set(c,b),s==null||s(b)},[c,n,s]),D=u.useMemo(()=>{const b=new Map(t.map(E=>[E.key,E]));return d.order.filter(E=>b.has(E)).map(E=>({...b.get(E),visible:!d.hidden.includes(E)}))},[d,t]),F=u.useCallback(b=>{const E=d.hidden.includes(b)?d.hidden.filter(P=>P!==b):[...d.hidden,b];y({...d,hidden:E})},[d,y]),T=u.useCallback((b,E)=>{if(b===E)return;const P=[...d.order],[H]=P.splice(b,1);P.splice(E,0,H),y({...d,order:P})},[d,y]),w=u.useCallback(b=>{y({...d,hidden:b?t.filter(E=>!E.locked).map(E=>E.key):[]})},[d,t,y]),C=u.useCallback(()=>y(i),[y,i]),R=u.useCallback(b=>y(yt(b,t)),[y,t]),W=d.hidden.length===0;return{state:d,orderedColumns:D,allVisible:W,toggleVisibility:F,reorder:T,setAllHidden:w,reset:C,applyState:R}}function Lo({scopeId:t,storage:r,snapshotKeys:n,pageKey:s="page",getColumns:o,applyColumns:i}){const{searchParams:c,setSearchParams:l}=Be(),d=t?ct.savedViews(t):void 0,[a,f]=u.useState(()=>d?r.get(d)||[]:[]),g=u.useCallback(y=>{f(y),d&&r.set(d,y)},[d]),m=u.useCallback(y=>{const D=y.trim();if(!D)return;const F={};n.forEach(w=>{const C=c.get(w);C!=null&&(F[w]=C)});const T={id:`${Date.now()}`,name:D,query:F,columns:o==null?void 0:o(),createdAt:Date.now()};g([...a,T])},[n,c,o,g,a]),j=u.useCallback(y=>g(a.filter(D=>D.id!==y)),[g,a]),L=u.useCallback(y=>{const D=Object.fromEntries(c.entries());n.forEach(F=>delete D[F]),Object.assign(D,y.query),delete D[s],l(D),y.columns&&(i==null||i(y.columns))},[c,n,s,l,i]);return{enabled:!!d,views:a,saveView:m,deleteView:j,applyView:L}}function Io({scopeId:t,storage:r,snapshotKeys:n,enabled:s=!0}){const{searchParams:o}=Be(),i=t&&s?ct.lastState(t):void 0,c=u.useRef(i);u.useEffect(()=>{if(!i){c.current=i;return}if(c.current!==i){c.current=i;return}const a={};n.forEach(f=>{const g=o.get(f);g!=null&&(a[f]=g)}),Object.keys(a).length!==0&&r.set(i,a)},[o,i,n,r]);const l=u.useCallback(()=>{if(!i)return null;const a=r.get(i);return a&&Object.keys(a).length>0?a:null},[i,r]),d=u.useCallback(()=>{i&&r.remove(i)},[i,r]);return{enabled:!!i,read:l,clear:d}}function To({scopeId:t,storage:r,perPageKey:n,pageSizeOptions:s,enabled:o=!0}){const{searchParams:i}=Be(),c=t&&o?ct.perPage(t):void 0,l=i.toString(),d=u.useRef(c);u.useEffect(()=>{if(!c){d.current=c;return}if(d.current!==c){d.current=c;return}const g=i.get(n);if(!g)return;const m=Number(g);!Number.isFinite(m)||m<=0||r.set(c,m)},[l,c,n,r]);const a=u.useCallback(()=>{if(!c)return null;const g=r.get(c);if(g==null)return null;const m=Number(g);return!Number.isFinite(m)||m<=0||s&&!s.includes(m)?null:String(m)},[c,r,s]),f=u.useCallback(()=>{c&&r.remove(c)},[c,r]);return{enabled:!!c,read:a,clear:f}}let qt={},Zt=!1,Gt=null;const Oo=(t,r)=>{Object.assign(qt,t),Gt=r,!Zt&&(Zt=!0,queueMicrotask(()=>{const n=qt,s=Gt;qt={},Zt=!1,Gt=null,!(!s||Object.keys(n).length===0)&&s(o=>{const i=new URLSearchParams(o);return Object.entries(n).forEach(([c,l])=>i.set(c,l)),i})}))};function Wo({enabled:t,snapshotKeys:r,perPageKey:n,readSnapshot:s,readPerPage:o}){const{searchParams:i,setSearchParams:c,location:l}=Be(),d=u.useRef(null);u.useEffect(()=>{if(!t||d.current===l.pathname)return;d.current=l.pathname;const a={};if(!i.has(n)){const f=o();f&&(a[n]=f)}if(!r.some(f=>i.has(f))){const f=s();f&&Object.assign(a,f)}Object.keys(a).length!==0&&Oo(a,c)},[l.pathname,t])}const Ro=({configs:t,activeKeys:r,onToggle:n,hasActiveFilter:s,onReset:o})=>t.length?e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:s?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"FilterHorizontal"}),"aria-label":"Add filter"})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{minWidth:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:"Add Filter"}),s&&o&&e.jsx(z.Button,{variant:"link",tone:"brand",size:"xs",onClick:o,children:"Reset"})]}),children:t.map(i=>e.jsx(I.MenuItem,{selected:i.locked||r.includes(i.key),disabled:i.locked,closeOnSelect:!1,startIcon:i.icon??void 0,onClick:()=>{i.locked||n(i.key)},children:i.label},i.key))})})]}):null,Lt=({onClear:t,onRemove:r})=>e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"link",tone:"neutral",size:"xs",iconLeft:e.jsx(B.Icon,{name:"MenuHorizontal"}),"aria-label":"Filter actions"})}),e.jsx(I.MenuLists,{children:e.jsxs(I.MenuBody,{style:{width:180},children:[e.jsx(I.MenuItem,{startIcon:e.jsx(B.Icon,{name:"CrossCircle"}),onClick:t,children:"Clear value"}),r&&e.jsx(I.MenuItem,{intent:"danger",startIcon:e.jsx(B.Icon,{name:"Trash1"}),onClick:r,children:"Remove filter"})]})})]}),Ao=t=>{const r=new Date(t);return r.setHours(0,0,0,0),r},Or=(t,r,n)=>{const s=new Date(t);return n==="day"?s.setDate(s.getDate()+r):n==="week"?s.setDate(s.getDate()+r*7):n==="month"?s.setMonth(s.getMonth()+r):s.setFullYear(s.getFullYear()+r),s},fn=t=>{const r=Ao(new Date);if(t.direction==="this"){const s=new Date(r),o=new Date(r);return t.period==="week"?(s.setDate(r.getDate()-r.getDay()),o.setDate(s.getDate()+6)):t.period==="month"?(s.setDate(1),o.setMonth(o.getMonth()+1,0)):t.period==="year"&&(s.setMonth(0,1),o.setMonth(11,31)),{from:s,to:o}}const n=t.count??1;return t.direction==="past"?{from:Or(r,-n,t.period),to:r}:{from:r,to:Or(r,n,t.period)}},Wr=24,mn=t=>t.length>Wr?`${t.slice(0,Wr)}...`:t,St=t=>t.toLocaleDateString(void 0,{day:"2-digit",month:"short",year:"numeric"}),Ft={is:"Is","is-before":"Is before","is-after":"Is after","is-on-or-before":"Is on or before","is-on-or-after":"Is on or after","is-between":"Is between","is-relative-to-today":"Is relative to today","is-empty":"Is empty","is-not-empty":"Is not empty"},zo=["is","is-before","is-after","is-on-or-before","is-on-or-after","is-between","is-relative-to-today","is-empty","is-not-empty"],er={past:"Past",next:"Next",this:"This"},Vo=["day","week","month","year"],Ho=["past","next","this"],Po=t=>t.field.type==="date-compact"?e.jsx(qo,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}):e.jsx(No,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}),No=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=r?St(new Date(r)):null,c=!!i,l=c?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:mn(i)})]}):t.label;return e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:c?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:c?e.jsx(B.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:l})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Lt,{onClear:s,onRemove:o})]}),children:e.jsx(Xe.StarasiaDate,{size:"sm",input:!1,clearable:!0,filter:t.mode,value:r,onChange:d=>d==null?s():n(d),withPadding:!1})})})]})},_o=t=>{switch(t.op){case"is":case"is-before":case"is-after":case"is-on-or-before":case"is-on-or-after":return t.date?`${Ft[t.op]} ${St(new Date(t.date))}`:null;case"is-between":return t.from&&t.to?`${St(new Date(t.from))} - ${St(new Date(t.to))}`:null;case"is-relative-to-today":{const r=t.relative;if(!r)return null;if(r.direction==="this")return`This ${r.period}`;const n=r.count??1,s=n===1?r.period:`${r.period}s`;return`${er[r.direction]} ${n} ${s}`}case"is-empty":case"is-not-empty":return Ft[t.op];default:return null}},qo=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=(r==null?void 0:r.op)??"is",c=r?_o(r):null,l=!!c,d=l?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:mn(c)})]}):t.label,a=f=>{if(f!==i){if(f==="is-empty"||f==="is-not-empty"){n({op:f});return}if(f==="is-relative-to-today"){n({op:f,relative:(r==null?void 0:r.relative)??{direction:"past",count:1,period:"week"}});return}if(f==="is-between"){n({op:f,from:r==null?void 0:r.from,to:r==null?void 0:r.to});return}n({op:f,date:r==null?void 0:r.date})}};return e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:l?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l?e.jsx(B.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:d})}),e.jsxs(I.MenuLists,{children:[e.jsx(I.MenuBody,{style:{width:320},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",gap:"xs",fullWidth:!0,children:[e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"xs",style:{minWidth:0},children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Zo,{op:i,onChange:a})]}),e.jsx(Lt,{onClear:s,onRemove:o})]}),children:e.jsx(Go,{value:r,op:i,onChange:n})}),i==="is-relative-to-today"&&e.jsx(I.MenuFooter,{children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"Filter will update with the current date"})})]})]})},Zo=({op:t,onChange:r})=>e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"link",tone:"neutral",size:"xs",iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:Ft[t]})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:200},children:zo.map(n=>e.jsx(I.MenuItem,{selected:t===n,onClick:()=>r(n),endIcon:t===n?e.jsx(B.Icon,{name:"Check"}):void 0,children:Ft[n]},n))})})]}),Go=({value:t,op:r,onChange:n})=>{if(r==="is-empty"||r==="is-not-empty")return e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"No further input required."})});if(r==="is-between"){const s=t!=null&&t.from||t!=null&&t.to?{from:t!=null&&t.from?new Date(t.from):null,to:t!=null&&t.to?new Date(t.to):null}:void 0;return e.jsx(Xe.StarasiaDate,{size:"sm",input:!1,clearable:!0,rangedDate:!0,value:s,onChange:o=>{if(o==null){n({op:r});return}if(typeof o=="object"&&o!==null&&"from"in o&&"to"in o){let{from:i,to:c}=o;if(!i&&c&&(i=c,c=null),!i&&!c){n({op:r});return}n({op:r,from:i?i.toISOString():void 0,to:c?c.toISOString():void 0})}},withPadding:!1},"range")}return r==="is-relative-to-today"?e.jsx(Qo,{value:t==null?void 0:t.relative,onChange:s=>n({op:r,relative:s})}):e.jsx(Xe.StarasiaDate,{size:"sm",input:!1,clearable:!0,value:t!=null&&t.date?new Date(t.date):void 0,onChange:s=>{if(s==null){n({op:r});return}s instanceof Date&&n({op:r,date:s.toISOString()})},withPadding:!1},"single")},Qo=({value:t,onChange:r})=>{const n=(t==null?void 0:t.direction)??"past",s=(t==null?void 0:t.count)??1,o=(t==null?void 0:t.period)??"week",i=n!=="this",c=fn({direction:n,count:s,period:o});return e.jsxs(h.Box,{direction:"column",display:"flex",gap:"sm",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:er[n]})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:140},children:Ho.map(l=>e.jsx(I.MenuItem,{selected:n===l,endIcon:n===l?e.jsx(B.Icon,{name:"Check"}):void 0,onClick:()=>r(l==="this"?{direction:l,period:o}:{direction:l,count:s,period:o}),children:er[l]},l))})})]}),i&&e.jsx(qe.Input,{type:"number",size:"sm",min:1,clearable:!1,value:s,onChange:l=>{const d=Number(l.target.value);r({direction:n,count:Number.isFinite(d)&&d>0?d:1,period:o})},style:{width:72}}),e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:o})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:140},children:Vo.map(l=>e.jsx(I.MenuItem,{selected:o===l,endIcon:o===l?e.jsx(B.Icon,{name:"Check"}):void 0,onClick:()=>r(n==="this"?{direction:n,period:l}:{direction:n,count:s,period:l}),children:l},l))})})]})]}),e.jsx(Xe.StarasiaDate,{size:"sm",input:!1,disabled:!0,rangedDate:!0,value:c,onChange:()=>{},withPadding:!1},"relative-preview")]})},Rr=18,Uo=t=>t.length>Rr?`${t.slice(0,Rr)}...`:t,Jo=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.type==="dropdown-multiple",c=r.length,[l,d]=u.useState(""),a=t.options,f=typeof t.onSearch=="function",g=(()=>{if(f)return a;const D=l.trim().toLowerCase();return D?a.filter(F=>F.label.toLowerCase().includes(D)):a})(),m=D=>r.some(F=>F.value===D.value),j=D=>{if(!i){n([{label:D.label,value:D.value}]),d("");return}n(m(D)?r.filter(F=>F.value!==D.value):[...r,{label:D.label,value:D.value}])},L=D=>{var F;d(D),(F=t.onSearch)==null||F.call(t,D)},y=c===0?t.label:e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:c===1?Uo(r[0].label):`${c} Selected`})]});return e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:c>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:c>0?e.jsx(B.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:y})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{style:{width:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Lt,{onClear:s,onRemove:o})]}),children:e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(ot.Dropdown,{size:"sm",triggerInput:!0,fullWidth:!0,hideChevronIcon:!0,clearable:!0,multiSelect:i,searchAble:!0,searchValue:l,onSearch:L,value:r,onChange:n,placeholder:`Search ${t.label.toLowerCase()}…`}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",customMaxHeight:"240px",children:t.isLoading?e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"Loading…"})}):g.length===0?e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"No results"})}):g.map(D=>e.jsx(I.MenuItem,{closeOnSelect:!i,selected:m(D),startIcon:D.avatar,endIcon:m(D)?e.jsx(B.Icon,{name:"Check"}):void 0,description:D.description,onClick:()=>j(D),children:D.label},D.value))})]})})})]})},Ar=18,Yo=t=>t.length>Ar?`${t.slice(0,Ar)}...`:t,zr=({checked:t,indeterminate:r})=>e.jsx("span",{style:{pointerEvents:"none",display:"inline-flex"},children:e.jsx(lt.Checkbox,{size:"sm",checked:t,readOnly:!0,onChange:()=>{},variant:r?"indeterminate":"select"})}),Xo=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=new Set(r.map(m=>m.value)),c=r.length,l=t.options.length>0&&t.options.every(m=>i.has(m.value)),d=c>0&&!l,a=m=>{n(i.has(m.value)?r.filter(j=>j.value!==m.value):[...r,{label:m.label,value:m.value}])},f=()=>{n(l?[]:t.options.map(m=>({label:m.label,value:m.value})))},g=c===0?t.label:e.jsxs(e.Fragment,{children:[e.jsxs(v.Text,{as:"span",fontWeight:"semibold",children:[t.label,":"]})," ",e.jsx(v.Text,{as:"span",children:c===1?Yo(r[0].label):`${c} Selected`})]});return e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:c>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:c>0?e.jsx(B.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),children:g})}),e.jsx(I.MenuLists,{children:e.jsxs(I.MenuBody,{style:{width:240},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Lt,{onClear:s,onRemove:o})]}),children:[e.jsx(I.MenuItem,{closeOnSelect:!1,selected:l,onClick:f,startIcon:e.jsx(zr,{checked:l||d,indeterminate:d}),children:"Select All"}),t.options.map(m=>e.jsx(I.MenuItem,{closeOnSelect:!1,selected:i.has(m.value),onClick:()=>a(m),startIcon:e.jsx(zr,{checked:i.has(m.value)}),children:m.label},m.value))]})})]})},gn=({activeKeys:t,configByKey:r,getValue:n,setValue:s,clearValue:o,removeFilter:i})=>e.jsx(e.Fragment,{children:t.map(c=>{const l=r[c];if(!l)return null;const d=n(l),a=l.locked?void 0:()=>i(c);return l.type==="date"||l.type==="date-compact"?e.jsx(Po,{field:l,value:d,onChange:f=>s(l,f),onClear:()=>o(c),onRemove:a},c):l.type==="checkbox-multiple"?e.jsx(Xo,{field:l,value:d||[],onChange:f=>s(l,f),onClear:()=>o(c),onRemove:a},c):e.jsx(Jo,{field:l,value:d||[],onChange:f=>s(l,f),onClear:()=>o(c),onRemove:a},c)})}),Vr=t=>`${t} Rows`,Ko=({pagination:t,pageKey:r="page",perPageKey:n="perPage",pageSizeOptions:s=[10,25,50,100],defaultPerPage:o=10,showResultCount:i=!0,showPageSize:c=!0,showPagination:l=!0})=>{var F;const{searchQueries:d,setSearchParams:a,searchParams:f}=Be(),g=f.get(n),m=g?Number(g):o,j=T=>{a({...d,[r]:String(T)})},L=T=>{a({...d,[n]:T,[r]:"1"})},y=(t==null?void 0:t.rangeStart)??(((t==null?void 0:t.currentPage)||0)>1?(((t==null?void 0:t.currentPage)||0)-1)*((t==null?void 0:t.perPage)||0)+1:0),D=(t==null?void 0:t.rangeEnd)??((t==null?void 0:t.totalCurrentPage)!==(t==null?void 0:t.perPage)?t==null?void 0:t.totalData:((t==null?void 0:t.currentPage)||1)*((t==null?void 0:t.totalCurrentPage)||0));return e.jsxs(e.Fragment,{children:[i&&e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${y}-${D} of ${((F=t==null?void 0:t.totalData)==null?void 0:F.toLocaleString())||0}`}),c&&e.jsxs(I.Menu,{position:"bottom-left",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(B.Icon,{name:"ChevronSmallDown"}),"aria-label":"Rows per page",children:Vr(m)})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{children:s.map(T=>e.jsx(I.MenuItem,{selected:T===m,onClick:()=>L(String(T)),children:Vr(T)},T))})})]}),l&&((t==null?void 0:t.totalPage)??0)>1&&e.jsx(h.Box,{direction:"column",display:"flex",align:"center",gap:"sm",paddingRight:"sm",style:{borderRight:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:e.jsx(ut.Pagination,{size:"sm",variant:"neutral",siblingCount:0,currentPage:t!=null&&t.currentPage?Number(t.currentPage):1,totalPages:Number(t==null?void 0:t.totalPage),onPageChange:j})})]})};function $o(t,r,n=!0){u.useEffect(()=>{if(!n)return;const s=o=>{var l;if(o.metaKey||o.ctrlKey||o.altKey||o.key!==t)return;const i=o.target,c=(l=i==null?void 0:i.tagName)==null?void 0:l.toLowerCase();c==="input"||c==="textarea"||i!=null&&i.isContentEditable||(o.preventDefault(),r())};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[t,r,n])}const es=240,yn=({searchKey:t="q",filterKey:r="filter",pageKey:n="page",placeholder:s="Search",shortcut:o="/",collapsible:i=!0})=>{const{searchParams:c,setSearchParams:l,searchQueries:d}=Be(),a=Mt(t,c,r)||"",[f,g]=u.useState(!i||!!a),[m,j]=u.useState(i&&!a),[L,y]=u.useState(a),D=pe.useDebounce(L,350),F=u.useRef(null);u.useEffect(()=>{y(a),a&&g(!0)},[a]),u.useEffect(()=>{f&&j(!1)},[f]),u.useEffect(()=>{D!==a&&xt({value:D,name:t,type:"search",searchQueries:d,setSearchParams:l,filterKey:r,pageKey:n})},[D]);const T=u.useCallback(()=>{g(!0),requestAnimationFrame(()=>{var W;return(W=F.current)==null?void 0:W.focus()})},[]);$o(o,T);const w=()=>{i&&!L&&g(!1)},C=W=>{var b;i&&W.key==="Escape"&&!L&&(g(!1),(b=F.current)==null||b.blur())},R=()=>{f||j(!0)};return e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"spacing-0",children:[m&&e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"Search",size:"sm"}),"aria-label":"Search","aria-expanded":!1,onClick:T}),e.jsxs(h.Box,{onTransitionEnd:R,style:{position:"relative",width:f?es:0,overflow:"hidden",transition:"width 220ms ease"},children:[e.jsx(qe.Input,{ref:F,size:"sm",fullWidth:!0,value:L,placeholder:s,leftIcon:e.jsx(B.Icon,{name:"Search",width:16,height:16}),onChange:W=>y(W.target.value),onKeyDown:C,onBlur:w,tabIndex:f?0:-1}),f&&!L&&e.jsx(h.Box,{align:"center",justify:"center",borderColor:"border-subtle",borderWidth:"border",borderStyle:"border-solid",borderRadius:"rounded-xs",paddingInline:"spacing-1",customBackgroundColor:"var(--sa-background-surface-hover, #f1f2f4)",style:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",minWidth:18,height:18,display:"inline-flex"},children:e.jsx(v.Text,{fontSize:"xs",color:"subtle",children:o})})]})]})},pn=({columns:t,allVisible:r,onToggle:n,onReorder:s,onSetAllHidden:o})=>{const[i,c]=u.useState(null),[l,d]=u.useState(null),a=()=>{i!==null&&l!==null&&i!==l&&s(i,l),c(null),d(null)},f=(g,m)=>{const j=g+m;j<0||j>=t.length||s(g,j)};return e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:r?"outline":"secondary",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"Grid",size:"sm"}),"aria-label":"Customize columns"})}),e.jsx(I.MenuLists,{children:e.jsx(I.MenuBody,{children:e.jsxs(h.Box,{padding:"sm",direction:"column",customWidth:"296px",customMaxHeight:"60vh",overflow:"overflow-hidden",children:[e.jsx(v.Text,{fontWeight:"semibold",color:"primary",children:"Customize Column Table"}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",paddingBlock:"md",children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtle",children:"Show in table"}),e.jsx(z.Button,{variant:"link",tone:"info",size:"xs",onClick:()=>o(r),children:r?"Hide All":"Show All"})]}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",children:t.map((g,m)=>{const j=!g.locked,L=l===m&&i!==null&&i!==m;return e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",paddingBlock:"xs",draggable:j,onDragStart:()=>j&&c(m),onDragOver:y=>{y.preventDefault(),d(m)},onDrop:a,onDragEnd:a,style:{minHeight:32,boxShadow:L?"inset 0 2px 0 0 var(--sa-background-brand, #04254f)":void 0},children:[e.jsx(h.Box,{direction:"column",as:"div",align:"center",justify:"center",role:"button",tabIndex:j?0:-1,"aria-label":`Reorder ${g.title}`,"aria-disabled":!j||void 0,color:"icon-subtlest",onKeyDown:y=>{j&&(y.key==="ArrowUp"?(y.preventDefault(),f(m,-1)):y.key==="ArrowDown"&&(y.preventDefault(),f(m,1)))},style:{display:"inline-flex",cursor:j?"grab":"default",opacity:j?1:.4},children:e.jsx(B.Icon,{name:"DragVertical",width:16,height:16})}),g.icon&&e.jsx(h.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:g.icon}),e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:g.title}),e.jsx(h.Box,{direction:"column",style:{marginLeft:"auto"},children:e.jsx(it.Toggle,{size:"sm",checked:g.visible,disabled:g.locked,onChange:()=>n(g.key),"aria-label":`Toggle ${g.title} column`})})]},g.key)})})]})})})]})},jn=({views:t,onApply:r,onDelete:n,onSave:s})=>{const[o,i]=u.useState(""),c=()=>{const l=o.trim();l&&(s(l),i(""))};return e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:t.length>0?"secondary":"outline",tone:(t.length>0,"neutral"),size:"sm",iconLeft:e.jsx(B.Icon,{name:"Bookmark",size:"sm"}),"aria-label":"Saved views"})}),e.jsxs(I.MenuLists,{style:{width:"260px"},children:[e.jsx(I.MenuBody,{children:e.jsxs(h.Box,{direction:"column",padding:"xs",gap:"sm",children:[e.jsx(v.Text,{fontWeight:"semibold",color:"primary",children:"Saved Views"}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",children:t.length===0?e.jsx(h.Box,{direction:"column",paddingBlock:"sm",children:e.jsx(v.Text,{fontSize:"sm",color:"subtlest",children:"No saved views yet"})}):t.map(l=>e.jsx(I.MenuItem,{startIcon:e.jsx(B.Icon,{name:"Bookmark"}),onClick:()=>r(l),endIcon:e.jsx(z.Button,{variant:"link",tone:"error",size:"sm",iconLeft:e.jsx(B.Icon,{name:"Trash2"}),"aria-label":`Delete ${l.name}`,onClick:d=>{d.stopPropagation(),n(l.id)}}),children:l.name},l.id))})]})}),e.jsx(I.MenuFooter,{children:e.jsxs(h.Box,{direction:"row",gap:"xs",children:[e.jsx(h.Box,{direction:"column",style:{flex:"1 0 0",minWidth:0},children:e.jsx(qe.Input,{size:"sm",fullWidth:!0,placeholder:"Save current view as…",value:o,onChange:l=>i(l.target.value),onKeyDown:l=>{l.key==="Enter"&&c()}})}),e.jsx(z.Button,{variant:"primary",tone:"brand",size:"sm",disabled:!o.trim(),onClick:c,children:"Save"})]})})]})]})},ts=({isOpen:t,onClose:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:c,onReset:l,getValue:d,setValue:a,clearValue:f,removeFilter:g})=>{const m=s.length;return e.jsx(kt.Drawer,{position:"bottom",isShow:t,onHide:r,children:e.jsxs(h.Box,{direction:"column",customMaxHeight:"85vh",style:{minHeight:280},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",paddingInline:"md",paddingBlock:"sm",style:{borderBottom:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsx(v.Text,{fontWeight:"semibold",color:"primary",children:"Filter"}),m>0&&e.jsxs(v.Text,{fontSize:"sm",color:"subtle",children:["(",m,")"]})]}),e.jsx(z.Button,{variant:"link",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"Cross"}),"aria-label":"Close filter",onClick:r})]}),e.jsxs(h.Box,{direction:"column",gap:"lg",padding:"md",overflow:"overflow-y-auto",style:{flex:"1 1 auto",minHeight:0},children:[m>0&&e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Filter aktif"}),e.jsx(h.Box,{direction:"row",display:"flex",wrap:"wrap",gap:"sm",align:"center",children:e.jsx(gn,{activeKeys:s,configByKey:o,getValue:d,setValue:a,clearValue:f,removeFilter:g})})]}),n.length>0&&e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Tambah filter"}),e.jsx(h.Box,{direction:"column",children:n.map(j=>{const L=s.includes(j.key),y=!!j.locked;return e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",paddingBlock:"sm",style:{opacity:y?.5:1,borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.08))"},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{minWidth:0},children:[j.icon&&e.jsx(h.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:j.icon}),e.jsx(v.Text,{fontSize:"sm",color:"primary",truncate:!0,children:j.label})]}),e.jsx(it.Toggle,{size:"sm",checked:L||y,disabled:y,onChange:()=>c(j.key),"aria-label":`Toggle ${j.label}`})]},j.key)})})]})]}),e.jsxs(h.Box,{direction:"row",display:"flex",gap:"sm",paddingInline:"md",paddingBlock:"sm",style:{borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:[e.jsx(h.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"md",fullWidth:!0,disabled:!i,onClick:l,children:"Reset"})}),e.jsx(h.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(z.Button,{variant:"primary",tone:"brand",size:"md",fullWidth:!0,onClick:r,children:"Selesai"})})]})]})})},rs=t=>`${t} Rows`,ns=({perPageKey:t,pageKey:r,pageSizeOptions:n,defaultPerPage:s=10,showPageSize:o})=>{const{searchQueries:i,setSearchParams:c,searchParams:l}=Be(),d=l.get(t),a=d?Number(d):s,f=g=>{c({...i,[t]:g,[r]:"1"})};return o?e.jsxs(I.Menu,{position:"bottom-right",children:[e.jsx(I.MenuButton,{children:e.jsx(z.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"MenuVertical",size:"sm"}),"aria-label":"More options"})}),e.jsx(I.MenuLists,{children:e.jsxs(I.MenuBody,{style:{minWidth:200},children:[e.jsx(h.Box,{paddingInline:"sm",paddingBlock:"xs",children:e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Rows per page"})}),n.map(g=>e.jsx(I.MenuItem,{selected:g===a,endIcon:g===a?e.jsx(B.Icon,{name:"Check"}):void 0,onClick:()=>f(String(g)),children:rs(g)},g))]})})]}):null},os=t=>{var me;const{withPadding:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,toggleFilter:c,removeFilter:l,getValue:d,setValue:a,clearValue:f,onReset:g,searchable:m,searchKey:j,filterKey:L,pageKey:y,searchPlaceholder:D,searchShortcut:F,searchCollapsible:T,pagination:w,perPageKey:C,pageSizeOptions:R,defaultPerPage:W,showPagination:b,showResultCount:E,showPageSize:P,hasColumns:H,orderedColumns:q,allVisible:Q,onToggleVisibility:ne,onReorder:xe,onSetAllHidden:re,showSavedViews:ae,savedViews:X,onApplyView:K,onDeleteView:ue,onSaveView:ee}=t,[le,we]=u.useState(!1),{searchQueries:Ae,setSearchParams:he}=Be(),De=(w==null?void 0:w.rangeStart)??(((w==null?void 0:w.currentPage)||0)>1?(((w==null?void 0:w.currentPage)||0)-1)*((w==null?void 0:w.perPage)||0)+1:1),Ee=(w==null?void 0:w.rangeEnd)??((w==null?void 0:w.totalCurrentPage)!==(w==null?void 0:w.perPage)?w==null?void 0:w.totalData:((w==null?void 0:w.currentPage)||1)*((w==null?void 0:w.totalCurrentPage)||0)),fe=Fe=>{he({...Ae,[y]:String(Fe)})},Le=E||b&&!!(w!=null&&w.totalPage),Pe=()=>{g(),we(!1)};return e.jsxs(h.Box,{direction:"column",gap:"sm",fullWidth:!0,paddingTop:r?"sm":void 0,paddingBottom:r?"sm":void 0,paddingLeft:r?"md":void 0,paddingRight:r?"md":void 0,role:"toolbar","aria-label":"Filter bar",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",wrap:"wrap",gap:"sm",fullWidth:!0,overflow:"overflow-auto",children:[m&&e.jsx(yn,{searchKey:j,filterKey:L,pageKey:y,placeholder:D,shortcut:F,collapsible:T}),e.jsx(z.Button,{variant:i?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(B.Icon,{name:"FilterHorizontal"}),onClick:()=>we(!0),"aria-label":"Open filters",children:i?`Filter: ${s.length}`:null}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{marginLeft:"auto"},children:[ae&&e.jsx(jn,{views:X,onApply:K,onDelete:ue,onSave:ee}),H&&e.jsx(pn,{columns:q,allVisible:Q,onToggle:ne,onReorder:xe,onSetAllHidden:re}),e.jsx(ns,{perPageKey:C,pageKey:y,pageSizeOptions:R,defaultPerPage:W,showPageSize:P})]})]}),Le&&e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",fullWidth:!0,children:[E?e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${De}-${Ee} of ${((me=w==null?void 0:w.totalData)==null?void 0:me.toLocaleString())||0}`}):e.jsx(h.Box,{direction:"column"}),b&&!!(w!=null&&w.totalPage)&&e.jsx(ut.Pagination,{size:"xs",variant:"neutral",siblingCount:0,currentPage:w!=null&&w.currentPage?Number(w.currentPage):1,totalPages:Number(w.totalPage),onPageChange:fe})]}),e.jsx(ts,{isOpen:le,onClose:()=>we(!1),configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:c,onReset:Pe,getValue:d,setValue:a,clearValue:f,removeFilter:l})]})},ss=({withPadding:t=!1,filterConfigs:r=[],filterKey:n="filter",activeFilterKey:s="filters",pageKey:o="page",perPageKey:i="perPage",pageSizeOptions:c=[25,50,100],defaultPerPage:l,showPagination:d=!0,showResultCount:a=!0,showPageSize:f=!0,searchable:g=!1,searchKey:m="q",searchPlaceholder:j="Search",searchShortcut:L="/",searchPosition:y="right",searchCollapsible:D=!0,pagination:F,columns:T=[],onColumnsChange:w,columnsState:C,scopeId:R,savedViews:W,persistLastState:b=!0,storage:E=dr,onReset:P})=>{const H=R??(W==null?void 0:W.scopeId),{activeKeys:q,configByKey:Q,hasActiveFilter:ne,toggleFilter:xe,removeFilter:re,getValue:ae,setValue:X,clearValue:K,clearAll:ue}=ar({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:m}),ee=Mo({columns:T,scopeId:H,storage:E,onColumnsChange:w,value:C}),le=Lo({scopeId:H,storage:E,snapshotKeys:[s,n,i],pageKey:o,getColumns:()=>ee.state,applyColumns:ee.applyState}),we=Io({scopeId:H,storage:E,snapshotKeys:[s,n,o],enabled:b}),Ae=To({scopeId:H,storage:E,perPageKey:i,pageSizeOptions:c,enabled:b});Wo({enabled:b&&!!H,snapshotKeys:[s,n,o],perPageKey:i,readSnapshot:we.read,readPerPage:Ae.read});const he=l??c[0]??25,De=!!(W!=null&&W.enabled)&&le.enabled,Ee=()=>{ue(),we.clear(),P==null||P()},fe=pe.useMediaQuery("md"),Le=g?e.jsx(yn,{searchKey:m,filterKey:n,pageKey:o,placeholder:j,shortcut:L,collapsible:D}):null;return fe?e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"sm",wrap:"wrap",fullWidth:!0,paddingTop:t?"sm":void 0,paddingBottom:t?"sm":void 0,paddingLeft:t?"md":void 0,paddingRight:t?"md":void 0,role:"toolbar","aria-label":"Filter bar",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(Ro,{configs:r,activeKeys:q,onToggle:xe,hasActiveFilter:ne,onReset:Ee}),y==="left"&&Le,e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",overflow:"overflow-x-auto",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(gn,{activeKeys:q,configByKey:Q,getValue:ae,setValue:X,clearValue:K,removeFilter:re}),ne&&e.jsx(z.Button,{variant:"link",tone:"brand",size:"sm",onClick:Ee,children:"Reset"})]})]}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",children:[e.jsx(Ko,{pagination:F,pageKey:o,perPageKey:i,pageSizeOptions:c,defaultPerPage:he,showPagination:d,showResultCount:a,showPageSize:f}),y==="right"&&Le,De&&e.jsx(jn,{views:le.views,onApply:le.applyView,onDelete:le.deleteView,onSave:le.saveView}),T.length>0&&e.jsx(pn,{columns:ee.orderedColumns,allVisible:ee.allVisible,onToggle:ee.toggleVisibility,onReorder:ee.reorder,onSetAllHidden:ee.setAllHidden})]})]}):e.jsx(os,{withPadding:t,configs:r,activeKeys:q,configByKey:Q,hasActiveFilter:ne,toggleFilter:xe,removeFilter:re,getValue:ae,setValue:X,clearValue:K,onReset:Ee,searchable:g,searchKey:m,filterKey:n,pageKey:o,searchPlaceholder:j,searchShortcut:L,searchCollapsible:D,pagination:F,perPageKey:i,pageSizeOptions:c,defaultPerPage:he,showPagination:d,showResultCount:a,showPageSize:f,hasColumns:T.length>0,orderedColumns:ee.orderedColumns,allVisible:ee.allVisible,onToggleVisibility:ee.toggleVisibility,onReorder:ee.reorder,onSetAllHidden:ee.setAllHidden,showSavedViews:De,savedViews:le.views,onApplyView:le.applyView,onDeleteView:le.deleteView,onSaveView:le.saveView})},is=t=>{if(!Array.isArray(t)||t.length===0)return;const r=t[0];return(r==null?void 0:r.value)!=null?String(r.value):void 0},ls=t=>{if(!Array.isArray(t)||t.length===0)return;const r=t.map(n=>(n==null?void 0:n.value)!=null?String(n.value):null).filter(n=>n!=null);return r.length?r:void 0},cs=(t,r)=>{switch(t.type){case"dropdown":case"radio":return is(r);case"dropdown-multiple":case"checkbox-multiple":return ls(r);case"date":return r instanceof Date?r.toISOString():void 0;case"date-compact":return r;default:return}},Hr=(t,r)=>{if(t==null||t==="")return r;const n=Number(t);return Number.isFinite(n)&&n>0?n:r},as=t=>{const{filterConfigs:r,filterKey:n="filter",activeFilterKey:s="filters",pageKey:o="page",perPageKey:i="perPage",searchKey:c="q",defaultPage:l=1,defaultPerPage:d=10,paramKeys:a,serialize:f}=t,{activeKeys:g,configByKey:m,hasActiveFilter:j,getValue:L}=ar({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:c}),{searchParams:y}=Be(),D=y.toString();return u.useMemo(()=>{const T={},w={},C=Hr(y.get(o),l),R=Hr(y.get(i),d);T[(a==null?void 0:a.page)??"page"]=C,T[(a==null?void 0:a.perPage)??"perPage"]=R;const W=Mt(c,y,n)||"";W&&(T[(a==null?void 0:a.search)??"search"]=W);let b=!1;for(const E of g){const P=m[E];if(!P)continue;const H=L(P);w[E]=H;const q=f==null?void 0:f[E],Q=q?q(H):cs(P,H);if(Q==null||Array.isArray(Q)&&Q.length===0)continue;const ne=(a==null?void 0:a[E])??E;T[ne]=Q,b=!0}return{params:T,raw:w,hasActiveFilter:j||!!W||b}},[D,g.join("|"),n,s,o,i,c,l,d,a,f,m])},ds=["dropdown","dropdown-multiple","checkbox-multiple","radio"],us=({filterConfigs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o})=>{const{configByKey:i,getValue:c,setValue:l,removeFilter:d,clearAll:a,hasActiveFilter:f}=ar({configs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o}),g=(F,T)=>{var C;const w=F.options;return((C=w==null?void 0:w.find(R=>R.value===T))==null?void 0:C.label)??T},m=u.useCallback(F=>{const T=i[F];if(!T)return[];const w=c(T);return Array.isArray(w)?w.map(C=>String(C.value)):[]},[i,c]),j=u.useCallback((F,T)=>{const w=i[F];if(!w||!ds.includes(w.type))return;const C=Array.isArray(T)?T:[T];if(C.length===0){d(F);return}l(w,C.map(R=>({label:g(w,R),value:R})))},[i,l,d]),L=u.useCallback((F,T)=>{const w=m(F);j(F,w.includes(T)?w.filter(C=>C!==T):[...w,T])},[m,j]),y=u.useCallback((F,T)=>m(F).includes(T),[m]),D=u.useCallback(F=>d(F),[d]);return{set:j,toggle:L,clear:D,clearAll:a,isActive:y,values:m,hasActiveFilter:f}},xs=(t,r)=>{if(!t)return{};const{fromKey:n,toKey:s,opKey:o}=r,i={};switch(t.op){case"is":case"is-before":case"is-after":case"is-on-or-before":case"is-on-or-after":return t.date&&(i[n]=new Date(t.date).toISOString()),o&&(i[o]=t.op),i;case"is-between":return t.from&&(i[n]=new Date(t.from).toISOString()),t.to&&(i[s]=new Date(t.to).toISOString()),i;case"is-relative-to-today":{if(!t.relative)return i;const{from:c,to:l}=fn(t.relative);return i[n]=c.toISOString(),i[s]=l.toISOString(),i}case"is-empty":case"is-not-empty":return o&&(i[o]=t.op==="is-empty"?"empty":"not-empty"),i;default:return i}},bn=({children:t,borderRadius:r,height:n})=>{const s=u.useRef(null),[o,i]=u.useState("100vh");return u.useEffect(()=>{if(n)return;const c=()=>{if(s.current){const l=s.current.getBoundingClientRect().top;i(`calc(100vh - ${l}px)`)}};return c(),window.addEventListener("resize",c),()=>window.removeEventListener("resize",c)},[n]),e.jsx(h.Box,{ref:s,fullWidth:!0,borderStyle:"border-solid",borderWidth:"border",borderColor:"border-base",borderRadius:r||"rounded-xs",style:{height:n??o,display:"flex",flexDirection:"column"},children:t})},Cn=({action:t,rightContent:r,leftContent:n,headerSlot:s,advanceFilter:o,showFilter:i=!0})=>{const c=pe.useMediaQuery("md"),l=i?e.jsx(hn,{...o}):null,d=()=>t?u.isValidElement(t)?t:e.jsx(h.Box,{style:{display:"flex",flexDirection:c?"row":"column",gap:"8px",width:c?"auto":"100%",textWrap:"nowrap"},children:t.map(({title:a,icon:f,buttonProps:g,onClick:m},j)=>!a&&!f?null:e.jsx(z.Button,{fullWidth:!c,iconLeft:f?e.jsx(B.Icon,{name:f}):void 0,onClick:m,...g,children:a},`action-${j}`))}):null;return e.jsx(h.Box,{style:{display:"flex",width:"100%",justifyContent:"space-between",alignItems:"center",paddingLeft:"8px",paddingRight:"8px",paddingTop:"8px",paddingBottom:"8px",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",flexShrink:0,position:"relative",zIndex:10,flexDirection:c?"row":"column-reverse",gap:"16px"},children:s?s({filter:l}):e.jsxs(e.Fragment,{children:[e.jsxs(h.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flex:1,minWidth:0},children:[l,n]}),e.jsxs(h.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flexShrink:0},children:[r,d()]})]})})},hs=({totalData:t,withMarginBottom:r=!0,withMarginTop:n=!0})=>e.jsxs(h.Box,{style:{display:"flex",gap:"4px",flexDirection:"row",alignItems:"center",marginBottom:r?"16px":void 0,marginTop:n?"16px":void 0},children:[e.jsxs(Re.Body1,{props:{color:"gray-500"},children:["Total data:"," "]}),e.jsx(Re.Body1,{children:t||0})]}),vn=({pagination:t,pageKey:r="page",perPageKey:n="perPage",defaultPerPage:s=10,showPagination:o=!0,totalData:i})=>{const{searchQueries:c,setSearchParams:l,searchParams:d}=Be(),a=d.get(n),f=L=>{l({...c,[r]:String(L)})},g=L=>{l({...c,[n]:L,[r]:"1"})},m=(t==null?void 0:t.rangeStart)??(((t==null?void 0:t.currentPage)||0)>1?(((t==null?void 0:t.currentPage)||0)-1)*((t==null?void 0:t.perPage)||0)+1:1),j=(t==null?void 0:t.rangeEnd)??((t==null?void 0:t.totalCurrentPage)!==(t==null?void 0:t.perPage)?t==null?void 0:t.totalData:((t==null?void 0:t.currentPage)||1)*((t==null?void 0:t.totalCurrentPage)||0));return e.jsx(h.Box,{style:{display:"flex",width:"100%",flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px",borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",flexShrink:0},children:o?e.jsxs(e.Fragment,{children:[e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",gap:"8px",alignItems:"center",textWrap:"nowrap"},children:[e.jsx(v.Text,{children:"Rows Per Page: "}),e.jsx(ot.Dropdown,{dropdownLists:[{label:"5",value:"5"},{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"},{label:"100",value:"100"}],onChange:L=>{g(L[0].value)},value:a?[{label:`${a} per row`,value:a}]:[{label:`${s} per row`,value:`${s}`}],defaultValue:a?[{label:`${a} per row`,value:a}]:[{label:`${s} per row`,value:`${s}`}]}),e.jsx(v.Text,{children:`${m}-${j} of ${(t==null?void 0:t.totalData)||0}`})]}),e.jsx(ut.Pagination,{currentPage:t!=null&&t.currentPage?Number(t==null?void 0:t.currentPage):1,totalPages:t!=null&&t.totalPage?Number(t==null?void 0:t.totalPage):1,onPageChange:f})]}):e.jsx(hs,{totalData:i,withMarginBottom:!1,withMarginTop:!1})})},wn=({filter:t,columnTitle:r})=>{const[n,s]=u.useState(!1),o=u.useRef(null),i=u.useRef(null),c=u.useRef(null),[l,d]=u.useState(""),[a,f]=u.useState({top:0,left:0}),g=t.selectedValues,m=u.useMemo(()=>l?t.options.filter(y=>y.label.toLowerCase().includes(l.toLowerCase())):t.options,[t.options,l]);u.useEffect(()=>{if(n&&i.current){const y=i.current.getBoundingClientRect(),D=280,F={top:y.bottom+8};t.position==="left"||y.left+D>window.innerWidth?F.right=window.innerWidth-y.right:F.left=y.left,f(F)}},[n,t.position]),u.useEffect(()=>{n&&c.current?setTimeout(()=>{var y;return(y=c.current)==null?void 0:y.focus()},50):d("")},[n]),u.useEffect(()=>{const y=D=>{o.current&&!o.current.contains(D.target)&&i.current&&!i.current.contains(D.target)&&s(!1)};return n&&document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[n]);const j=y=>{const D=g.includes(y)?g.filter(F=>F!==y):[...g,y];t.onFilterChange(D)},L=()=>t.onFilterChange([]);return e.jsxs(h.Box,{direction:"column",style:{position:"relative"},children:[e.jsx(h.Box,{ref:i,style:{display:"flex",flexDirection:"row",alignItems:"center",cursor:"pointer"},onClick:y=>{var D;y.stopPropagation(),n||(D=t.onOpen)==null||D.call(t),s(F=>!F)},children:e.jsx(B.Icon,{name:n?"ChevronUp":"ChevronDown",size:"sm",style:{color:g.length>0?"var(--sa-color-brand-500, #1a4fa0)":"var(--sa-text-subtle, #8c8f97)"}})}),n&&e.jsxs(h.Box,{ref:o,style:{position:"fixed",top:`${a.top}px`,...a.left!==void 0?{left:`${a.left}px`}:{right:`${a.right}px`},backgroundColor:"white",borderRadius:"4px",minWidth:"280px",maxHeight:"400px",display:"flex",flexDirection:"column",zIndex:9999,animation:"fadeInDropdown 0.15s ease-out",border:"1px solid var(--sa-border-subtle, #0b120e24)"},children:[e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingTop:"12px",paddingBottom:"12px",paddingLeft:"16px",paddingRight:"16px",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"},children:[e.jsxs(v.Text,{fontSize:"sm",fontWeight:"semibold",color:"gray-700",children:["Filter ",r]}),g.length>0&&e.jsx(h.Box,{direction:"column",style:{cursor:"pointer"},children:e.jsx(v.Text,{fontSize:"xs",color:"primary",fontWeight:"semibold",onClick:y=>{y.stopPropagation(),L()},children:"CLEAR"})})]}),!t.hideSearch&&e.jsx(h.Box,{direction:"column",style:{paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px"},children:e.jsx(qe.Input,{ref:c,placeholder:`Search ${r.toLowerCase()}...`,leftIcon:e.jsx(B.Icon,{name:"Search",size:"sm"}),value:l,onChange:y=>d(y.target.value),style:{fontSize:"14px"}})}),e.jsx(h.Box,{direction:"column",className:"ts-filter-dropdown-options",style:{overflowY:"auto",maxHeight:"250px",paddingLeft:"8px",paddingRight:"8px"},children:t.isLoadingOptions?e.jsxs(h.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(B.Icon,{name:"Loading",size:"lg",style:{color:"var(--sa-background-brand, #04254f)",animation:"spin 1s linear infinite"}}),e.jsx(v.Text,{fontSize:"sm",color:"gray-500",style:{textAlign:"center",marginTop:"8px"},children:"Loading options..."})]}):m.length>0?e.jsx(h.Box,{direction:"column",style:{gap:"2px",paddingTop:"4px",paddingBottom:"4px"},children:m.map(y=>e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"8px",paddingTop:"8px",paddingBottom:"8px",paddingLeft:"8px",paddingRight:"8px",cursor:"pointer",borderRadius:"8px",transition:"all 0.2s ease",backgroundColor:g.includes(y.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent"},onClick:D=>{D.stopPropagation(),j(y.value)},onMouseEnter:D=>{g.includes(y.value)||(D.currentTarget.style.backgroundColor="var(--sa-background-primary, #ffffff)"),D.currentTarget.style.transform="translateX(2px)"},onMouseLeave:D=>{D.currentTarget.style.backgroundColor=g.includes(y.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent",D.currentTarget.style.transform="translateX(0)"},children:[e.jsx(lt.Checkbox,{checked:g.includes(y.value),onChange:()=>{}}),e.jsx(v.Text,{fontSize:"sm",fontWeight:g.includes(y.value)?"medium":"normal",color:g.includes(y.value)?"primary":"gray-700",children:y.label})]},y.value))}):e.jsxs(h.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(B.Icon,{name:"Search",size:"lg",style:{color:"var(--sa-text-subtle, #8c8f97)"}}),e.jsx(v.Text,{fontSize:"sm",color:"gray-500",style:{textAlign:"center",marginTop:"8px"},children:"No results found"})]})}),g.length>0&&e.jsx(h.Box,{direction:"column",style:{paddingTop:"8px",paddingBottom:"8px",paddingLeft:"16px",paddingRight:"16px",borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",backgroundColor:"var(--sa-color-brand-50, #e6edf6)",marginTop:"auto"},children:e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"4px"},children:[e.jsx(h.Box,{direction:"column",style:{backgroundColor:"var(--sa-background-brand, #04254f)",borderRadius:"12px",padding:"2px 8px",fontSize:"11px",fontWeight:600,color:"white"},children:g.length}),e.jsxs(v.Text,{fontSize:"xs",color:"primary",fontWeight:"medium",children:["item",g.length>1?"s":""," selected"]})]})})]})]})},fs=({direction:t})=>{const r="var(--sa-text-primary, #292a2e)",n="var(--sa-text-subtle, #8c8f97)",s=t==="asc"?r:n,o=t==="desc"?r:n,i=t==="asc"?1:.45,c=t==="desc"?1:.45;return e.jsxs("span",{style:{display:"inline-flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flexShrink:0,lineHeight:0},"aria-hidden":!0,children:[e.jsx("svg",{width:"8",height:"5",viewBox:"0 0 8 5",style:{color:s,opacity:i,marginBottom:1},children:e.jsx("path",{d:"M4 0 L8 5 L0 5 Z",fill:"currentColor"})}),e.jsx("svg",{width:"8",height:"5",viewBox:"0 0 8 5",style:{color:o,opacity:c},children:e.jsx("path",{d:"M0 0 L8 0 L4 5 Z",fill:"currentColor"})})]})},ms=({frozen:t})=>e.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:t?"currentColor":"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),e.jsx("path",{d:t?"M7 11V7a5 5 0 0 1 10 0v4":"M7 11V7a5 5 0 0 1 9.9-1"})]}),Qt="var(--sa-background-primary, #ffffff)",Pr="var(--sa-background-primary-inverse, #f8f8f8)",Dn=({columns:t,records:r,handleDetail:n,handleUpdate:s,handleDelete:o,isLoading:i,visibleHandleDelete:c,visibleHandleUpdate:l,visibleHandleDetail:d,showHeadBorder:a=!1,scrollParentRef:f,frozenCount:g=0,onFrozenCountChange:m,customActions:j,actionsOrder:L=["detail","update","delete","custom"],customEmptyState:y,enableColumnResize:D=!1,defaultColumnWidths:F,onColumnWidthsChange:T,defaultMinColumnWidth:w=60,sort:C,defaultSort:R,onSortChange:W,showActionDivider:b=!1})=>{const E=C!==void 0,[P,H]=u.useState(R??null),q=E?C??null:P,Q=M=>{if(M.sortKey)return M.sortKey;if(typeof M.accessor=="string")return M.accessor},ne=M=>{const A=Q(M);if(!A)return;let V;!q||q.key!==A?V={key:A,direction:"asc"}:q.direction==="asc"?V={key:A,direction:"desc"}:V=null,E||H(V),W==null||W(V)},re=[n,s,o].filter(M=>M!==void 0).length,ae=!!j,X=!!n||!!s||!!o||ae,K="var(--sa-border-subtle, #0b120e24)",ue=`1px solid ${K}`,ee=`inset 1px 0 0 ${K}`,le=`inset -1px 0 0 ${K}`,we=re===3?ae?"178px":"140px":re===2?ae?"140px":"102px":re===1?ae?"112px":"74px":ae?"74px":"",Ae=(M,A)=>{if(!A)return M;if(typeof A=="function")return A(M);if(typeof A=="string")return M[A]},[he,De]=u.useState(!1);u.useEffect(()=>{if(!(f!=null&&f.current))return;const M=f.current;De(M.scrollHeight>M.clientHeight)},[r,f]);const Ee=u.useRef(null),[fe,Le]=u.useState([]),[Pe,me]=u.useState(()=>F??{}),Fe=u.useRef(null);u.useLayoutEffect(()=>{if(!g||!Ee.current){Le([]);return}const M=Array.from(Ee.current.querySelectorAll("thead tr th")),A=[];let V=0;M.forEach((_,Y)=>{A[Y]=V,Y<g&&(V+=_.offsetWidth)}),Le(A)},[g,t,r,Pe]);const Ze=M=>{m&&m(M<g?M:M+1)},S=(M,A)=>{const V=Pe[M];if(V!==void 0){const _=`${V}px`;return{width:_,minWidth:_,maxWidth:_}}return A?{width:A}:{}},Z=M=>D&&(M.resizable??!0),N=(M,A)=>{M.preventDefault(),M.stopPropagation();const V=M.currentTarget.closest("th");if(!V)return;const _=Math.round(V.getBoundingClientRect().width);Fe.current={colIndex:A,startX:M.clientX,startWidth:_};const Y=document.body.style.userSelect,je=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";const Se=Te=>{var Ue;const Me=Fe.current;if(!Me)return;const Ge=((Ue=t[Me.colIndex])==null?void 0:Ue.minWidth)??w,Qe=Math.max(Ge,Me.startWidth+(Te.clientX-Me.startX));me(Oe=>Oe[Me.colIndex]===Qe?Oe:{...Oe,[Me.colIndex]:Qe})},Ie=()=>{document.removeEventListener("mousemove",Se),document.removeEventListener("mouseup",Ie),document.body.style.userSelect=Y,document.body.style.cursor=je,Fe.current=null,T&&me(Te=>(T(Te),Te))};document.addEventListener("mousemove",Se),document.addEventListener("mouseup",Ie)};return e.jsx("div",{ref:Ee,children:e.jsxs(G.Table,{fullWidth:!0,children:[e.jsx(G.Thead,{style:{height:"40px",whiteSpace:"nowrap"},children:e.jsxs(G.Tr,{children:[t.map((M,A)=>{var Ke,$e;const V=g>0&&A<g,_=fe[A]??0,Y=Z(M),Se=A===t.length-1&&X&&b,Ie=Q(M),Te=!!M.sortable&&!!Ie,Me=Te&&(q==null?void 0:q.key)===Ie?q.direction:null,Ge=M.title||((Ke=M.accessor)==null?void 0:Ke.toString())||"",Qe=($e=M.headerTooltip)!=null&&$e.showIcon?e.jsx(B.Icon,{name:"InfoCircle",size:"xs",style:{flexShrink:0,color:"var(--sa-icon-subtle, #8c8f97)",opacity:.75}}):null,Ue=e.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Ge}),Oe=Te?e.jsxs("button",{type:"button",onClick:()=>ne(M),title:Me==="asc"?"Sorted ascending — click to sort descending":Me==="desc"?"Sorted descending — click to clear":"Click to sort ascending",style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:4,background:"none",border:"none",padding:0,margin:0,font:"inherit",color:"inherit",cursor:"pointer",textAlign:M.textAlign==="text-right"?"right":M.textAlign==="text-center"?"center":"left"},children:[Ue,Qe,e.jsx(fs,{direction:Me})]}):e.jsxs("span",{style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:4},children:[Ue,Qe]});return e.jsxs(G.Th,{style:{position:"sticky",top:0,left:V?_:void 0,zIndex:V?4:2,paddingLeft:A===0?"12px":"",borderRight:a&&!Se&&!V?ue:void 0,borderBottom:a?ue:void 0,boxShadow:a&&V?le:void 0,backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",textAlign:M.textAlign==="text-right"?"right":M.textAlign==="text-center"?"center":"left",...S(A,M.width)},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px",justifyContent:"space-between",minWidth:0},children:[M.headerTooltip?e.jsx(Ce.Tooltip,{label:M.headerTooltip.content,position:"bottom",children:Oe}):Oe,M.filter&&e.jsx(wn,{filter:M.filter,columnTitle:M.title}),m&&e.jsx("button",{onClick:()=>Ze(A),title:V?"Unfreeze column":"Freeze column",style:{background:"none",border:"none",cursor:"pointer",padding:"2px",display:"flex",alignItems:"center",flexShrink:0,color:V?"var(--sa-background-brand, #04254f)":"var(--sa-text-subtle, #8c8f97)",opacity:V?1:.45,transition:"opacity 0.15s"},children:e.jsx(ms,{frozen:V})})]}),Y&&e.jsx("div",{onMouseDown:et=>N(et,A),onClick:et=>et.stopPropagation(),role:"separator","aria-orientation":"vertical",title:"Drag to resize",style:{position:"absolute",top:0,right:-3,width:6,height:"100%",cursor:"col-resize",userSelect:"none",zIndex:5,touchAction:"none"}})]},`table-head-${A}`)}),X?e.jsx(G.Th,{style:{backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",position:"sticky",top:0,right:0,zIndex:3,borderBottom:a?ue:void 0,boxShadow:a&&b?ee:void 0}}):null]})}),e.jsx(G.Tbody,{children:i?e.jsx(G.Tr,{children:e.jsx(G.Td,{colSpan:t.length+1,children:e.jsxs(h.Box,{direction:"column",style:{gap:"16px"},children:[e.jsx(He.Skeleton,{variant:"list"}),e.jsx(He.Skeleton,{variant:"list"}),e.jsx(He.Skeleton,{variant:"list"}),e.jsx(He.Skeleton,{variant:"list"}),e.jsx(He.Skeleton,{variant:"list"})]})})}):!(r!=null&&r.length)&&y?e.jsx(G.Tr,{children:e.jsx(G.Td,{colSpan:t.length+1,children:y})}):r==null?void 0:r.map((M,A)=>e.jsxs(G.Tr,{style:{transition:"background-color 0.3s ease",padding:0,borderBottom:A===r.length-1&&he?void 0:"1px solid var(--sa-border-subtle, #0b120e24)"},onMouseEnter:V=>{const _=V.currentTarget;_.style.backgroundColor=Pr,Array.from(_.querySelectorAll("td")).forEach(Y=>{Y.style.position==="sticky"&&(Y.style.backgroundColor=Pr)})},onMouseLeave:V=>{const _=V.currentTarget;_.style.backgroundColor="",Array.from(_.querySelectorAll("td")).forEach(Y=>{Y.style.position==="sticky"&&(Y.style.backgroundColor=Qt)})},children:[t.map((V,_)=>{const Y=V.render?V.render(M,A,r):Ae(M,V.accessor),je=g>0&&_<g,Se=fe[_]??0,Ie=Pe[_]!==void 0,Te=je&&_===g-1;return e.jsx(G.Td,{style:{position:je?"sticky":void 0,left:je?Se:void 0,zIndex:je?1:void 0,backgroundColor:je?Qt:void 0,transition:je?"background-color 0.3s ease":void 0,paddingLeft:_===0?"12px":"",whiteSpace:"nowrap",overflow:Ie?"hidden":void 0,borderLeft:V.showBorderLeft?ue:void 0,borderRight:V.showBorderRight?ue:void 0,boxShadow:Te?le:void 0,textAlign:V.textAlign==="text-right"?"right":V.textAlign==="text-center"?"center":"left",...S(_,V.width)},children:typeof Y=="string"?e.jsx(v.Text,{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textAlign:V.textAlign==="text-right"?"right":V.textAlign==="text-center"?"center":"left"},children:Y}):Y},`row-${A}-col-${_}`)}),X?e.jsx(G.Td,{style:{width:we,position:"sticky",right:0,zIndex:1,backgroundColor:Qt,boxShadow:b?ee:void 0,transition:"background-color 0.3s ease"},children:e.jsx(se.Flex,{direction:"row",align:"center",justify:"center",gap:"sm",children:L.map(V=>{const _=A===r.length-1?"top":"bottom";return V==="detail"&&n&&(d==null?void 0:d(M))!==!1?e.jsx(Ce.Tooltip,{label:"Detail",position:_,children:e.jsx(z.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>n(M.id,M),iconLeft:e.jsx(B.Icon,{name:"DocumentClean",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"detail"):V==="update"&&s&&(l==null?void 0:l(M))!==!1?e.jsx(Ce.Tooltip,{label:"Update",position:_,children:e.jsx(z.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>s(M),iconLeft:e.jsx(B.Icon,{name:"Edit1",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"update"):V==="delete"&&o&&(c==null?void 0:c(M))!==!1?e.jsx(Ce.Tooltip,{label:"Delete",position:_,children:e.jsx(z.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>o(M.id,M),iconLeft:e.jsx(B.Icon,{name:"Trash1",size:"sm",style:{color:"var(--sa-color-error-600, #c9184a)"}})})},"delete"):V==="custom"?e.jsx(u.Fragment,{children:j==null?void 0:j(M)},"custom"):null})})}):null]},`${M}${A}`))})]})})},gs=({wrapperProps:t,dataTableProps:r,headerProps:n,footerProps:s})=>{var g;const o=u.useRef(null),[i,c]=u.useState((r==null?void 0:r.defaultFrozenCount)??0),l=(n==null?void 0:n.show)??!0,d=u.useRef(null),a=(g=r==null?void 0:r.pagination)==null?void 0:g.totalData;typeof a=="number"&&(d.current=a);const f=(s==null?void 0:s.showFooter)??(a===void 0?d.current!==0:a!==0);return e.jsxs(bn,{...t,children:[l&&e.jsx(Cn,{...n}),e.jsx(h.Box,{direction:"column",ref:o,style:{flex:1,overflowY:"auto",overflowX:"auto"},children:r?e.jsx(Dn,{...r,scrollParentRef:o,frozenCount:r!=null&&r.enableFreezeColumns?i:0,onFrozenCountChange:r!=null&&r.enableFreezeColumns?c:void 0}):null}),f&&e.jsx(vn,{pagination:r==null?void 0:r.pagination,pageKey:r==null?void 0:r.pageKey,perPageKey:r==null?void 0:r.perPageKey,defaultPerPage:r==null?void 0:r.defaultPerPage,showPagination:r==null?void 0:r.showPagination,totalData:s==null?void 0:s.totalData})]})};function ys(t){return u.memo(t)}const ps=ys(gs),Nr=200,Ut="1px solid var(--sa-border-subtle, #0b120e24)",js=({sortDir:t,frozen:r})=>t==="asc"?e.jsx(B.Icon,{name:"ChevronSmallUp"}):t==="desc"?e.jsx(B.Icon,{name:"ChevronSmallDown"}):r?e.jsx(B.Icon,{name:"LockOn",size:"xs"}):e.jsx(B.Icon,{name:"Filter",size:"xs"}),pt=({icon:t,label:r,active:n,danger:s,onClick:o})=>{const i=s?"var(--sa-color-error-600, #c9184a)":"var(--sa-text-primary, #292a2e)";return e.jsxs("button",{type:"button",onClick:o,style:{display:"flex",alignItems:"center",gap:12,width:"100%",padding:"8px 12px",background:n?"var(--sa-background-brand-subtlest, #e6edf6)":"none",border:"none",cursor:"pointer",font:"inherit",color:i,textAlign:"left"},onMouseEnter:c=>{n||(c.currentTarget.style.background="var(--sa-background-primary-inverse, #f8f8f8)")},onMouseLeave:c=>{c.currentTarget.style.background=n?"var(--sa-background-brand-subtlest, #e6edf6)":"none"},children:[e.jsx(B.Icon,{name:t,size:"sm",style:{color:i,flexShrink:0}}),e.jsx(v.Text,{as:"span",style:{color:i},children:r})]})},Sn=({active:t,canSort:r,canHide:n,sortDir:s,frozen:o,onSort:i,onClearSort:c,onToggleFreeze:l,onHide:d})=>{const[a,f]=u.useState(!1),g=u.useRef(null),m=u.useRef(null),[j,L]=u.useState({top:0,left:0});u.useEffect(()=>{if(a&&g.current){const D=g.current.getBoundingClientRect(),F=D.left+Nr>window.innerWidth;L({top:D.bottom+6,...F?{right:window.innerWidth-D.right}:{left:D.left}})}},[a]),u.useEffect(()=>{if(!a)return;const D=F=>{m.current&&!m.current.contains(F.target)&&g.current&&!g.current.contains(F.target)&&f(!1)};return document.addEventListener("mousedown",D),()=>document.removeEventListener("mousedown",D)},[a]);const y=D=>{D(),f(!1)};return e.jsxs(e.Fragment,{children:[e.jsx("button",{ref:g,type:"button",className:"sa-tl-menu-trigger","data-active":t||a?"true":"false",onClick:D=>{D.stopPropagation(),f(F=>!F)},title:"Column options",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:"var(--sa-radii-sm, 6px)",border:Ut,background:"var(--sa-background-primary, #ffffff)",cursor:"pointer",color:"var(--sa-text-subtle, #8c8f97)",flexShrink:0},children:e.jsx(js,{sortDir:s,frozen:o})}),a&&e.jsxs(h.Box,{ref:m,onClick:D=>D.stopPropagation(),style:{position:"fixed",top:`${j.top}px`,...j.left!==void 0?{left:`${j.left}px`}:{right:`${j.right}px`},minWidth:Nr,backgroundColor:"var(--sa-background-primary, #ffffff)",border:Ut,borderRadius:"var(--sa-radii-sm, 6px)",boxShadow:"0 6px 24px rgba(0,0,0,0.12)",zIndex:9999,padding:"4px",display:"flex",flexDirection:"column"},children:[r&&e.jsxs(e.Fragment,{children:[e.jsx(pt,{icon:"ChevronUp",label:"Ascending",active:s==="asc",onClick:()=>y(()=>s==="asc"?c():i("asc"))}),e.jsx(pt,{icon:"ChevronDown",label:"Descending",active:s==="desc",onClick:()=>y(()=>s==="desc"?c():i("desc"))}),e.jsx("div",{style:{borderTop:Ut,margin:"4px 0"}})]}),e.jsx(pt,{icon:"Pin1",label:o?"Unfreeze":"Freeze",active:o,onClick:()=>y(l)}),n&&e.jsx(pt,{icon:"EyeClosed",label:"Hide column",danger:!0,onClick:()=>y(d)})]})]})},jt="1px solid var(--sa-border-subtle, #0b120e24)",bs="var(--sa-text-subtle, #8c8f97)",at="var(--sa-background-neutral, #f0f1f2)",_r="2px 0 4px -2px rgba(0,0,0,0.15)",bt={display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},qr="sa-table-layout-styles",Cs=()=>{if(typeof document>"u"||document.getElementById(qr))return;const t=document.createElement("style");t.id=qr,t.textContent=`
2
2
  .sa-table-layout tbody td { transition: background-color 0.15s ease; }
3
3
  .sa-table-layout tbody tr:hover td {
4
4
  background-color: var(--sa-background-primary-inverse, #f8f8f8);