@starasia/admin 14.0.4 → 15.0.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 cn=require("@starasia/alert"),Gt=require("@starasia/avatar"),it=require("@starasia/badges"),x=require("@starasia/box"),yt=require("@starasia/breadcrumb"),H=require("@starasia/button"),Fr=require("@starasia/card"),ht=require("@starasia/date"),Pe=require("@starasia/dialog"),Qt=require("@starasia/drawer"),jt=require("@starasia/dropdown"),ve=require("@starasia/hooks"),bt=require("@starasia/http"),dt=require("@starasia/input"),T=require("@starasia/menu"),Mt=require("@starasia/pagination"),Ft=require("@starasia/storage"),G=require("@starasia/table"),an=require("@starasia/tabs"),Mr=require("@starasia/textarea"),pt=require("@starasia/theme"),dn=require("@starasia/toast"),vt=require("@starasia/toggle"),Fe=require("@starasia/tooltip"),nt=require("@starasia/checkbox"),Ir=require("@starasia/radio"),v=require("@starasia/text"),E=require("@starasia/icon"),ce=require("@starasia/flex"),un=require("@starasia/grid"),xn=require("@starasia/progress"),hn=require("@starasia/stepper"),fn=require("@starasia/accordion"),mn=require("@starasia/story-record"),Ye=require("@starasia/skeleton"),gn=require("@starasia/progress-stepper"),e=require("react/jsx-runtime"),d=require("react"),Xt=require("react-dom"),ls=require("react-easy-crop"),cs={menus:[],menuBottom:void 0,logo:"",appName:"Workspace",userData:null,setUserData:()=>{}},zr=d.createContext(cs),Hr=()=>d.useContext(zr),Gn=t=>{const[r,n]=d.useState((t==null?void 0:t.initialUserData)||null);return{userData:r,setUserData:n}},Qn=d.createContext({badges:{},setBadge:()=>{},setBadges:()=>{},clearBadge:()=>{}}),Un=({children:t})=>{const[r,n]=d.useState({}),s=d.useCallback(c=>{n(a=>typeof c=="function"?c(a):c)},[]),o=d.useCallback((c,a)=>{n(u=>{const f=typeof a=="function"?a(u[c]):a;return{...u,[c]:f}})},[]),i=d.useCallback(c=>{n(a=>{if(!(c in a))return a;const u={...a};return delete u[c],u})},[]),l=d.useMemo(()=>({badges:r,setBadge:o,setBadges:s,clearBadge:i}),[r,o,s,i]);return e.jsx(Qn.Provider,{value:l,children:t})},Jn=()=>d.useContext(Qn),qt=(t,r)=>{const n=r!==void 0?r:t;return n==null?null:typeof n=="string"||typeof n=="number"?{value:n}:n},Pr=240,Vr=200,Nr=480,as="sa-sidebar-width",Lr=(t,r,n)=>Math.min(Math.max(t,r),n),ds=(t,r,n,s)=>{if(typeof window>"u")return r;try{const o=window.localStorage.getItem(t);if(!o)return r;const i=parseInt(o,10);return Number.isFinite(i)?Lr(i,n,s):r}catch{return r}},yn=(t,r)=>{if(!(typeof window>"u"))try{window.localStorage.setItem(t,String(r))}catch{}},Yn=d.createContext({collapsed:!1,setCollapsed:()=>{},toggle:()=>{},collapse:()=>{},expand:()=>{},width:Pr,setWidth:()=>{},resetWidth:()=>{},minWidth:Vr,maxWidth:Nr,mobileOpen:!1,setMobileOpen:()=>{},openMobile:()=>{},closeMobile:()=>{},toggleMobile:()=>{}}),Xn=({children:t,defaultCollapsed:r=!1,defaultWidth:n=Pr,minWidth:s=Vr,maxWidth:o=Nr,widthStorageKey:i=as})=>{const[l,c]=d.useState(r),[a,u]=d.useState(!1),[f,g]=d.useState(()=>ds(i,n,s,o)),m=d.useCallback(w=>{c(O=>typeof w=="function"?w(O):w)},[]),p=d.useCallback(()=>c(w=>!w),[]),S=d.useCallback(()=>c(!0),[]),b=d.useCallback(()=>c(!1),[]),I=d.useCallback(w=>{g(O=>{const L=typeof w=="function"?w(O):w,U=Lr(Math.round(L),s,o);return yn(i,U),U})},[s,o,i]),B=d.useCallback(()=>{const w=Lr(n,s,o);yn(i,w),g(w)},[n,s,o,i]),F=d.useCallback(w=>{u(O=>typeof w=="function"?w(O):w)},[]),C=d.useCallback(()=>u(!0),[]),D=d.useCallback(()=>u(!1),[]),A=d.useCallback(()=>u(w=>!w),[]),R=d.useMemo(()=>({collapsed:l,setCollapsed:m,toggle:p,collapse:S,expand:b,width:f,setWidth:I,resetWidth:B,minWidth:s,maxWidth:o,mobileOpen:a,setMobileOpen:F,openMobile:C,closeMobile:D,toggleMobile:A}),[l,m,p,S,b,f,I,B,s,o,a,F,C,D,A]);return e.jsx(Yn.Provider,{value:R,children:t})},$n=()=>d.useContext(Yn),Kn=d.createContext(null),eo=({adapter:t,children:r})=>e.jsx(Kn.Provider,{value:t,children:r}),ot=()=>{const t=d.useContext(Kn);if(!t)throw new Error("[@starasia/admin] Router adapter belum dipasang. Bungkus aplikasi dengan <App routerAdapter={...} /> atau <StarasiaRouterProvider adapter={...}>. Import adapter dari '@starasia/admin/adapters/react-router' atau '@starasia/admin/adapters/tanstack'.");return t},to=({router:t,routerAdapter:r,menus:n=[],menuBottom:s,logo:o,appName:i="Workspace",initialUserData:l,theme:c})=>{const a=Gn({initialUserData:l}),{theme:u}=pt.useTheme();return e.jsx(eo,{adapter:r,children:e.jsx(zr.Provider,{value:{logo:o,appName:i,menus:n,userData:a.userData,setUserData:a.setUserData,menuBottom:s},children:e.jsx(Un,{children:e.jsx(Xn,{children:c?e.jsx(pt.ThemeProvider,{value:c,children:t}):u?e.jsx(pt.ThemeProvider,{value:u,children:t}):t})})})})},us=d.memo(to);function ro({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:"var(--app-header-height, 4rem)",zIndex:1,borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",paddingLeft:t?"calc((var(--app-header-height, 4rem) - 2rem) / 2)":"0.5rem",paddingRight:t?"calc((var(--app-header-height, 4rem) - 2rem) / 2)":"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 _r=d.createContext(null);function no({children:t}){const[r,n]=d.useState(null),[s,o]=d.useState(null),[i,l]=d.useState(null),[c,a]=d.useState(0),u=d.useCallback(()=>(a(f=>f+1),()=>a(f=>f-1)),[]);return e.jsx(_r.Provider,{value:{prependNode:r,appendNode:s,replaceNode:i,setPrependNode:n,setAppendNode:o,setReplaceNode:l,replaceCount:c,registerReplace:u},children:t})}function oo({children:t}){const r=d.useContext(_r);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 xs({children:t,mode:r="append"}){const n=d.useContext(_r);if(d.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?Xt.createPortal(t,s):null}const qr=d.createContext(null);function so({children:t}){const[r,n]=d.useState({}),[s,o]=d.useState({}),i=d.useCallback((a,u)=>{n(f=>f[a]===u?f:{...f,[a]:u})},[]),l=d.useCallback(a=>(o(u=>({...u,[a]:(u[a]??0)+1})),()=>o(u=>({...u,[a]:Math.max(0,(u[a]??0)-1)}))),[]),c=d.useMemo(()=>({outletNodes:r,setOutletNode:i,slotCounts:s,registerSlot:l}),[r,i,s,l]);return e.jsx(qr.Provider,{value:c,children:t})}function io({slotKey:t,fallback:r}){const n=d.useContext(qr),s=n?(n.slotCounts[t]??0)>0:!1,o=d.useRef(n==null?void 0:n.setOutletNode);o.current=n==null?void 0:n.setOutletNode;const i=d.useCallback(l=>{var c;return(c=o.current)==null?void 0:c.call(o,t,l)},[t]);return e.jsx(e.Fragment,{children:s?e.jsx("div",{ref:i,style:{display:"contents"}}):r})}function hs({slotKey:t,children:r}){const n=d.useContext(qr),s=d.useRef(n==null?void 0:n.registerSlot);if(s.current=n==null?void 0:n.registerSlot,d.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?Xt.createPortal(r,o):null}const Ut="moduleSwitcherGroupId",Tr="sa-module-switcher-change";function pn(){if(typeof window>"u")return null;const t=window.localStorage.getItem(Ut);if(t===null)return null;const r=Number(t);return Number.isFinite(r)?r:null}function lo(t){typeof window>"u"||(t===null?window.localStorage.removeItem(Ut):window.localStorage.setItem(Ut,String(t)),window.dispatchEvent(new CustomEvent(Tr,{detail:t})))}function fs(){lo(null)}function Zr(){const[t,r]=d.useState(()=>pn());return d.useEffect(()=>{const s=()=>{r(pn())},o=i=>{i.key===Ut&&s()};return window.addEventListener(Tr,s),window.addEventListener("storage",o),()=>{window.removeEventListener(Tr,s),window.removeEventListener("storage",o)}},[]),{selectedGroupId:t,setSelectedGroupId:s=>{lo(s),r(s)}}}let zt=0,xt=!1,jn=new Set;function ms(t){const[r,n]=d.useState(!1),s=d.useRef(null),o=d.useRef(null);return d.useLayoutEffect(()=>{const i=s.current;if(!i)return;let l=0;const c=()=>{l=0;const u=o.current;if(!u)return;const f=u.scrollWidth>i.clientWidth;n(g=>g===f?g:f)},a=new ResizeObserver(()=>{l||(l=requestAnimationFrame(c))});return a.observe(i),c(),()=>{l&&cancelAnimationFrame(l),a.disconnect()}},[t]),{containerRef:s,textRef:o,truncated:r}}function bn({text:t,textStyle:r}){const{containerRef:n,textRef:s,truncated:o}=ms(t),i=e.jsx(v.Text,{ref:s,as:"span",fontSize:"md",fontWeight:"medium",truncate:!0,style:{display:"block",...r},children:t});return e.jsx(x.Box,{ref:n,display:"block",style:{flex:1,minWidth:0},children:o?e.jsx(Fe.Tooltip,{fluid:!0,label:t,position:"top",children:i}):i})}const gs=200,Or="var(--app-header-height, 4rem)",vn="44px",yr=`calc((${Or} - 2rem) / 2)`,Cn=16;function ys({children:t,headerLeftSlot:r,profile:n,isLoadingProfile:s,onLogout:o,isLoggingOut:i,loadingComponent:l,sidebarHeaderContent:c,headerActions:a,profileRole:u,profileMenuButtons:f,profileMenuItems:g,logoutButton:m,resizableSidebar:p=!0}){var at,ft;const{useSearchParams:S,useNavigate:b,useLocation:I,Outlet:B}=ot(),[F]=S(),C=F.get("embed")==="true",D=Hr(),{badges:A}=Jn(),R=b(),w=I(),L=!ve.useMediaQuery("md"),[U,J]=d.useState(!1),{collapsed:N,setCollapsed:_,width:X,setWidth:te,resetWidth:V,minWidth:z,maxWidth:P,mobileOpen:se,setMobileOpen:ye}=$n(),[Se,xe]=d.useState(!1),[pe,je]=d.useState(()=>new Set(jn)),[be,Te]=d.useState(null),{selectedGroupId:ke,setSelectedGroupId:ze}=Zr(),Y=N&&!L;d.useEffect(()=>{jn=pe},[pe]);const he=d.useRef(null),Oe=d.useRef(null),Ne=d.useRef(null),[ae,_e]=d.useState(!1),[tt,W]=d.useState(null),$=p&&!L&&!N,Q=k=>Math.min(Math.max(k,z),P),de=tt??X,ie=k=>{var De,Ee,He;if(!$)return;k.preventDefault();const q=k.clientX,K=((De=Ne.current)==null?void 0:De.getBoundingClientRect().width)??X;(He=(Ee=k.currentTarget).setPointerCapture)==null||He.call(Ee,k.pointerId),_e(!0),document.body.style.userSelect="none",document.body.style.cursor="col-resize";let we=0,Ie=K;const Ue=wt=>{Ie=K+(wt.clientX-q),we||(we=requestAnimationFrame(()=>{we=0,W(Q(Ie))}))},Ae=()=>{we&&cancelAnimationFrame(we),window.removeEventListener("pointermove",Ue),window.removeEventListener("pointerup",Ae),document.body.style.userSelect="",document.body.style.cursor="",W(null),_e(!1),Ie<gs?_(!0):te(Q(Ie))};window.addEventListener("pointermove",Ue),window.addEventListener("pointerup",Ae)},Be=k=>{$&&(k.key==="ArrowLeft"?(k.preventDefault(),te(q=>q-Cn)):k.key==="ArrowRight"?(k.preventDefault(),te(q=>q+Cn)):k.key==="Home"?(k.preventDefault(),te(z)):k.key==="End"&&(k.preventDefault(),te(P)))};d.useEffect(()=>{const k=he.current;if(!k)return;const q=()=>{xt||(zt=k.scrollTop)};return k.addEventListener("scroll",q),()=>k.removeEventListener("scroll",q)},[]);const Re=()=>{const k=he.current;k&&zt>0&&(xt=!0,k.scrollTop=zt,requestAnimationFrame(()=>{xt=!1}))};d.useLayoutEffect(()=>{xt=!0,Re();const k=setTimeout(()=>{xt=!1},300);return()=>clearTimeout(k)},[]),d.useLayoutEffect(()=>{D.menus.length>0&&(zt>0?Re():requestAnimationFrame(()=>{var q;const k=(q=he.current)==null?void 0:q.querySelector("[data-menu-active='true']");k&&k.scrollIntoView({block:"center",behavior:"instant"})}))},[D.menus]),d.useEffect(()=>{xt=!0,Re();const k=setTimeout(Re,0),q=setTimeout(Re,50),K=setTimeout(Re,100),we=setTimeout(Re,200),Ie=setTimeout(()=>{xt=!1},300),Ue=setTimeout(()=>{const Ae=he.current,De=Ae==null?void 0:Ae.querySelector("[data-menu-active='true']");if(Ae&&De){const Ee=Ae.getBoundingClientRect(),He=De.getBoundingClientRect();He.top>=Ee.top&&He.bottom<=Ee.bottom||De.scrollIntoView({block:"center",behavior:"smooth"})}},250);return()=>{clearTimeout(k),clearTimeout(q),clearTimeout(K),clearTimeout(we),clearTimeout(Ie),clearTimeout(Ue)}},[w.pathname]),d.useEffect(()=>{Oe.current&&(Oe.current.scrollTop=0)},[w.pathname]),d.useEffect(()=>{L&&ye(!1)},[w.pathname,L]),d.useEffect(()=>{L&&_(!0)},[L]),d.useEffect(()=>{const k=document.documentElement;return k.style.setProperty("--app-header-height",vn),()=>{k.style.removeProperty("--app-header-height")}},[]);const $e=()=>{J(!0)},qe=()=>{J(!1)},Me=()=>{J(!1),o()},Qe=k=>{const q=[k.to];return k.children&&q.push(...k.children.map(K=>K.to)),q},Ce=[...D.menus.flatMap(k=>k.items.flatMap(Qe)),...((at=D.menuBottom)==null?void 0:at.flatMap(Qe))??[]],Ze=k=>{if(!w.pathname.startsWith(k))return!1;const q=Ce.filter(K=>w.pathname.startsWith(K)).sort((K,we)=>we.length-K.length)[0];return k===q};d.useEffect(()=>{var q;const k=K=>{var we;(we=K.children)!=null&&we.some(Ie=>w.pathname.startsWith(Ie.to))&&je(Ie=>{const Ue=new Set(Ie);return Ue.add(K.id),Ue})};D.menus.forEach(K=>{K.items.forEach(k)}),(q=D.menuBottom)==null||q.forEach(k)},[w.pathname,D.menus,D.menuBottom]);const rt=k=>{je(q=>{const K=new Set(q);return K.has(k)?K.delete(k):K.add(k),K})};d.useEffect(()=>{D.menus.length!==0&&ke!==null&&!D.menus.some(k=>k.id===ke)&&ze(null)},[D.menus,ke,ze]);const ut=d.useMemo(()=>{if(ke!==null)return D.menus.filter(K=>K.id===ke||K.parentGroupId===ke);const k=D.menus.filter(K=>K.parentGroupId===void 0),q=D.menus.filter(K=>K.parentGroupId!==void 0).flatMap(K=>K.items);return q.length===0?k:[...k,{id:18,name:"Pengaturan",items:q,parentGroupId:void 0}]},[D.menus,ke]);if(C)return e.jsx(x.Box,{as:"main",overflow:"overflow-y-auto",bg:"surface-inverse",style:{height:"100vh"},children:t||e.jsx(B,{})});const ct=k=>{const q=k.children&&k.children.length>0,K=pe.has(k.id),we=q?k.children.some(Ae=>Ze(Ae.to)):Ze(k.to),Ie=qt(k.badge,A[k.id]),Ue=!!Ie&&N&&!L;return e.jsxs(x.Box,{display:"block","data-menu-active":we||void 0,children:[e.jsxs(x.Box,{as:"button",onClick:Ae=>{if(q)if(N&&!L){const De=Ae.currentTarget.getBoundingClientRect();Te({item:k,top:De.top,left:De.right+8})}else rt(k.id);else R(k.to)},fullWidth:!0,direction:"row",align:"center",justify:N&&!L?"center":void 0,gap:"sm",paddingInline:N&&!L?void 0:"sm",paddingBlock:"xs",height:"height-32",borderRadius:we?"rounded-sm":"rounded-md",borderWidth:"border",borderStyle:"border-solid",bg:we?"white":void 0,hover:we?void 0:{bg:"neutral"},title:N&&!L?k.title:void 0,style:{textAlign:"left",color:"var(--sa-text-primary, #292a2e)",borderColor:we?"var(--sa-border-subtle, #0b120e24)":"transparent"},children:[e.jsxs(x.Box,{position:"relative",display:"inline-flex",flexShrink:"0",style:{alignItems:"center"},children:[e.jsx(E.Icon,{name:k.icon,size:"sm",style:{flexShrink:0}}),Ue&&e.jsx(x.Box,{"aria-hidden":"true",position:"absolute",top:"top-n2",right:"right-n2",display:"inline-flex",borderRadius:"rounded-full",style:{boxShadow:"0 0 0 1px var(--sa-background-primary, #ffffff)"},children:e.jsx(it.BadgeDot,{tone:"error",variant:"solid",size:"xs"})})]}),(!N||L)&&e.jsxs(e.Fragment,{children:[e.jsx(bn,{text:k.title,textStyle:{transition:"opacity 0.3s"}}),Ie&&e.jsx(it.Badge,{text:String(Ie.value),variant:Ie.variant??"info",size:"xs",border:!0}),q&&e.jsx(E.Icon,{name:"ChevronDown",size:"sm",style:{flexShrink:0,transition:"transform 0.2s",transform:K?"rotate(180deg)":"rotate(0deg)"}})]})]}),q&&(!N||L)&&(()=>{const Ae=k.children.findIndex(De=>Ze(De.to));return e.jsxs(x.Box,{position:"relative",overflow:"overflow-hidden",style:{marginLeft:"1rem",paddingLeft:"0.75rem",transition:"all 0.3s ease-in-out",maxHeight:K?`${k.children.length*36}px`:"0px",opacity:K?1:0,marginTop:K?"0.25rem":"0px"},children:[e.jsx(x.Box,{"aria-hidden":"true",position:"absolute",left:"left-0",top:"top-0",fullHeight:!0,style:{width:"1.5px",backgroundColor:"var(--sa-border-subtle, #0b120e24)",pointerEvents:"none"}}),Ae>=0&&e.jsx(x.Box,{"aria-hidden":"true",position:"absolute",left:"left-0",height:"height-32",zIndex:"10",style:{top:`${Ae*32}px`,width:"1.5px",backgroundColor:"var(--sa-text-primary, #292a2e)",transition:"top 0.2s ease-in-out",pointerEvents:"none"}}),k.children.map(De=>{const Ee=qt(De.badge,A[De.id]),He=Ze(De.to);return e.jsxs(x.Box,{as:"button",onClick:()=>R(De.to),fullWidth:!0,direction:"row",align:"center",gap:"sm",paddingLeft:"sm",paddingRight:"sm",paddingBlock:"xs",height:"height-32",borderRadius:He?"rounded-sm":"rounded-md",borderWidth:"border",borderStyle:"border-solid",bg:He?"white":void 0,hover:He?void 0:{bg:"neutral"},style:{textAlign:"left",color:He?"var(--sa-text-primary, #292a2e)":"var(--sa-text-subtle, #505258)",borderColor:He?"var(--sa-border-subtle, #0b120e24)":"transparent"},children:[e.jsx(E.Icon,{name:De.icon,size:"sm",style:{flexShrink:0}}),e.jsx(bn,{text:De.title}),Ee&&e.jsx(it.Badge,{text:String(Ee.value),variant:Ee.variant??"info",size:"xs",border:!0})]},De.id)})]})})()]},k.id)};return e.jsx(so,{children:e.jsxs(no,{children:[e.jsxs(x.Box,{direction:"row",position:"relative",style:{height:"100vh","--app-header-height":vn,"--app-sidebar-width":L?"0px":N?Or:`${de}px`,"--app-footer-zindex":L&&se?"40":"998"},children:[L&&e.jsx(x.Box,{position:"fixed",zIndex:"40",bg:"black-alpha-a50",style:{inset:0,opacity:se?.5:0,pointerEvents:se?"auto":"none",transition:"opacity 0.3s"},onClick:()=>ye(!1)}),e.jsxs(x.Box,{as:"aside",ref:Ne,bg:"surface-inverse",borderWidth:"border-r",borderStyle:"border-solid-r",borderColor:"border-base",flexShrink:L?void 0:"0",style:{width:L?"16.375rem":N?Or:`${de}px`,position:L?"fixed":"relative",...L&&{inset:0,zIndex:50,transform:se?"translateX(0)":"translateX(-100%)"},transition:ae?"none":"all 0.3s ease-in-out",minWidth:0},children:[e.jsx(x.Box,{onMouseEnter:()=>xe(!0),onMouseLeave:()=>xe(!1),direction:"row",align:"center",justify:"space-between",paddingInline:Y?void 0:"lg",borderWidth:"border-b",borderStyle:"border-solid-b",borderColor:"border-base",position:"relative",style:{height:"var(--app-header-height, 4rem)",...Y?{paddingInline:yr}:null},children:(()=>{const k=!L&&N&&!se,q=k&&Se;return e.jsxs(e.Fragment,{children:[e.jsxs(x.Box,{direction:"row",align:"center",gap:"sm",flex:k?"1":void 0,justify:k?"center":void 0,style:{transition:"opacity 0.2s",opacity:q?0:1,pointerEvents:q?"none":"auto"},children:[e.jsx("img",{src:D.logo,alt:"Logo",style:{width:"1.5rem",height:"1.5rem",flexShrink:0}}),(!N||se)&&e.jsx(v.Text,{as:"span",fontSize:"md",fontWeight:"semibold",color:"primary",truncate:!0,style:{transition:"opacity 0.3s"},children:D.appName})]}),!L&&!N&&e.jsx(x.Box,{as:"button",onClick:()=>_(!0),"aria-label":"Collapse sidebar",display:"inline-flex",align:"center",justify:"center",flexShrink:"0",style:{color:"var(--sa-text-subtle, #8c8f97)"},children:e.jsx(E.Icon,{name:"LayoutLeft",size:"sm"})}),k&&e.jsx(x.Box,{as:"button",onClick:()=>_(!1),"aria-label":"Expand sidebar",position:"absolute",display:"inline-flex",align:"center",justify:"center",width:"width-32",height:"height-32",bg:"white",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",borderRadius:"rounded-sm",style:{top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:"var(--sa-text-primary, #292a2e)",opacity:q?1:0,pointerEvents:q?"auto":"none",transition:"opacity 0.2s"},children:e.jsx(E.Icon,{name:"LayoutLeft",size:"sm"})}),L&&e.jsx(x.Box,{as:"button",onClick:()=>ye(!1),"aria-label":"Close menu",align:"center",justify:"center",borderRadius:"rounded-md",style:{padding:"0.375rem",color:"var(--sa-text-subtle, #8c8f97)"},children:e.jsx(E.Icon,{name:"Cross",size:"md"})})]})})()}),c&&e.jsx(ro,{collapsed:L?!1:N,children:c}),e.jsx(x.Box,{ref:he,flex:"1",overflow:"overflow-y-auto",paddingBlock:"lg",children:ut.map(k=>e.jsxs(x.Box,{marginBottom:"lg",children:[!N||L?k.name&&e.jsx(v.Text,{fontSize:"md",fontWeight:"normal",color:"subtlest",truncate:!0,style:{paddingLeft:"1.25rem",paddingRight:"0.75rem",paddingBottom:"0.25rem",transition:"opacity 0.3s"},children:k.name}):k.name&&e.jsx(x.Box,{"aria-label":k.name,direction:"row",align:"center",justify:"center",paddingBlock:"md",children:e.jsx(x.Box,{width:"width-16",style:{height:"2px",borderRadius:"1px",backgroundColor:k.color??"var(--sa-background-brand, #04254f)"}})}),e.jsx(x.Box,{paddingInline:Y?void 0:"md",gap:"xs",style:Y?{paddingInline:yr}:void 0,children:k.slotKey?e.jsx(io,{slotKey:k.slotKey,fallback:k.items.map(q=>ct(q))}):k.items.map(q=>ct(q))})]},k.id))}),D.menuBottom&&D.menuBottom.length>0&&e.jsx(x.Box,{borderWidth:"border-t",borderStyle:"border-solid-t",borderColor:"border-base",paddingBlock:"md",paddingInline:Y?void 0:"md",bg:"surface-inverse",gap:"xs",flexShrink:"0",style:Y?{paddingInline:yr}:void 0,children:D.menuBottom.map(k=>ct(k))}),$&&e.jsx(x.Box,{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar","aria-valuenow":X,"aria-valuemin":z,"aria-valuemax":P,tabIndex:0,onPointerDown:ie,onKeyDown:Be,onDoubleClick:V,title:"Drag to resize · double-click to reset",position:"absolute",top:"top-0",right:"right-0",fullHeight:!0,style:{width:"6px",transform:"translateX(50%)",cursor:"col-resize",zIndex:5,touchAction:"none",background:ae?"var(--sa-background-brand, #04254f)":"transparent",transition:"background 0.15s"},onMouseEnter:k=>{ae||(k.currentTarget.style.background="var(--sa-border-bold, #0b120e40)")},onMouseLeave:k=>{ae||(k.currentTarget.style.background="transparent")}})]}),e.jsxs(x.Box,{flex:"1",overflow:"overflow-hidden",children:[e.jsxs(x.Box,{as:"header",bg:"white",borderWidth:"border-b",borderStyle:"border-solid-b",borderColor:"border-base",direction:"row",align:"center",justify:"space-between",paddingInline:"lg",flexShrink:"0",style:{height:"var(--app-header-height, 4rem)"},children:[e.jsxs(x.Box,{direction:"row",align:"center",gap:L?"lg":void 0,children:[L&&e.jsx(x.Box,{as:"button",onClick:()=>ye(!0),align:"center",justify:"center",borderRadius:"rounded-md",style:{padding:"0.375rem",color:"var(--sa-text-subtle, #8c8f97)"},children:e.jsx(E.Icon,{name:"MenuBurger",size:"lg"})}),e.jsx(oo,{children:r})]}),e.jsxs(x.Box,{direction:"row",align:"center",gap:"md",children:[a,e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsxs(x.Box,{direction:"row",align:"center",gap:"sm",cursor:"pointer",children:[e.jsxs(x.Box,{display:"block",textAlign:"right",customMaxWidth:"12.5rem",children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtle",textAlign:"right",truncate:!0,lineHeight:"leading-none",children:s?"Loading...":(n==null?void 0:n.name)||"unknown"}),e.jsx(v.Text,{fontSize:"sm",color:"subtle",textAlign:"right",truncate:!0,children:s?"":(n==null?void 0:n.email)||"unknown"})]}),e.jsx(Gt.Avatar,{size:"sm",initials:((n==null?void 0:n.name)||"U")[0].toUpperCase(),bg:"var(--sa-background-brand, #04254f)",color:"var(--sa-background-primary, #ffffff)"}),e.jsx(E.Icon,{name:"ChevronDown",size:"xs",color:"subtle"})]})}),e.jsxs(T.MenuLists,{width:280,style:{paddingBlock:"12px",paddingInline:"12px",gap:"8px",marginTop:"16px"},children:[e.jsx(T.MenuHeading,{children:e.jsxs(x.Box,{align:"center",textAlign:"center",paddingBlock:"sm",fullWidth:!0,children:[e.jsx(Gt.Avatar,{customSize:64,initials:((n==null?void 0:n.name)||"U")[0].toUpperCase(),bg:"var(--sa-background-brand, #04254f)",color:"var(--sa-background-primary, #ffffff)",style:{fontSize:"1.25rem",marginBottom:"0.75rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)"}}),e.jsx(v.Text,{fontSize:"md",fontWeight:"semibold",color:"primary",textAlign:"center",truncate:!0,style:{maxWidth:"100%"},children:(n==null?void 0:n.name)||"unknown"}),e.jsx(v.Text,{fontSize:"sm",color:"subtle",textAlign:"center",truncate:!0,style:{maxWidth:"100%"},children:(n==null?void 0:n.email)||"unknown"}),u&&e.jsx(v.Text,{fontSize:"sm",color:"subtle",textAlign:"center",truncate:!0,style:{maxWidth:"100%"},children:u})]})}),(f&&f.length>0||g)&&e.jsxs(T.MenuBody,{children:[f==null?void 0:f.map((k,q)=>e.jsx(T.MenuItem,{onClick:k.onClick,startIcon:e.jsx(E.Icon,{name:k.icon,size:"md"}),children:k.label},`${k.label}-${q}`)),g]}),m??e.jsx(T.MenuFooter,{children:e.jsx(T.MenuItem,{intent:"danger",onClick:$e,startIcon:e.jsx(E.Icon,{name:"Logout",size:"md"}),children:"Logout"})})]})]})]})]}),e.jsx(x.Box,{as:"main",ref:Oe,flex:"1",overflow:"overflow-y-auto",children:t||e.jsx(B,{})})]})]}),i&&l&&e.jsx(x.Box,{position:"fixed",align:"center",justify:"center",bg:"black-alpha-a70",style:{inset:0,zIndex:9999},children:l}),e.jsxs(Pe.Dialog,{isShow:U,onHide:qe,children:[e.jsx(Pe.DialogTitle,{children:"Confirmation Logout"}),e.jsx(Pe.DialogBody,{children:"Are you sure you want to end the session and exit the page?"}),e.jsx(Pe.DialogFooter,{children:e.jsx(x.Box,{direction:"column",display:"flex",align:"flex-end",justify:"center",children:e.jsxs(ce.Flex,{direction:"row",gap:"sm",align:"center",children:[e.jsx(x.Box,{direction:"column",children:e.jsx(H.Button,{secondary:!0,onClick:qe,children:"Cancel"})}),e.jsx(x.Box,{direction:"column",children:e.jsx(H.Button,{primary:!0,onClick:Me,children:"Yes, Sure"})})]})})})]}),be&&e.jsxs(e.Fragment,{children:[e.jsx(x.Box,{onClick:()=>Te(null),position:"fixed",style:{inset:0,zIndex:60}}),e.jsxs(x.Box,{role:"dialog","aria-label":be.item.title,position:"fixed",bg:"white",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",borderRadius:"rounded-md",shadow:"shadow-lg",padding:"sm",gap:"spacing-2",style:{top:be.top,left:be.left,zIndex:61,minWidth:"13rem",maxWidth:"16rem"},children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"semibold",color:"gray-500",textTransform:"uppercase",style:{padding:"0.25rem 0.5rem 0.5rem",letterSpacing:"0.05em"},children:be.item.title}),(ft=be.item.children)==null?void 0:ft.map(k=>{const q=Ze(k.to),K=qt(k.badge,A[k.id]);return e.jsxs(x.Box,{as:"button",onClick:()=>{R(k.to),Te(null)},fullWidth:!0,direction:"row",align:"center",gap:"md",paddingBlock:"sm",paddingInline:"md",borderRadius:"rounded-md",borderWidth:"border",borderStyle:"border-solid",bg:q?"primary-inverse":void 0,hover:q?void 0:{bg:"primary-inverse"},style:{textAlign:"left",borderColor:"transparent",color:q?"var(--sa-text-primary, #292a2e)":"var(--sa-color-gray-800, #505258)"},children:[k.icon&&e.jsx(E.Icon,{name:k.icon,size:"sm",style:{flexShrink:0}}),e.jsx(v.Text,{as:"span",fontSize:"md",fontWeight:"medium",whiteSpace:"nowrap",style:{flex:1},children:k.title}),K&&e.jsx(it.Badge,{text:String(K.value),variant:K.variant??"info",size:"xs",border:!0})]},k.id)})]})]})]})})}const Tt=d.forwardRef(({children:t,...r},n)=>e.jsx(x.Box,{ref:n,role:"button",cursor:"pointer","aria-pressed":"true",display:"inline-block",tabIndex:0,...r,children:t})),wn=({title:t,iconName:r,textColor:n,iconColor:s,hoverTextColor:o,hoverIconColor:i})=>{const[l,c]=d.useState(!1),a=s??"var(--sa-text-subtle, #8c8f97)",u=n??"var(--sa-text-subtle, #8c8f97)",f=i??"var(--sa-text-subtle, #8c8f97)",g=o??"var(--sa-text-primary, #292a2e)";return e.jsxs(x.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),style:{cursor:"pointer"},children:[e.jsx(E.Icon,{name:r||"ChevronLeft",size:"xs",style:{color:l?f:a,transition:"color 0.15s ease"}}),e.jsx(v.Text,{variant:"sub-h3",style:{color:l?g:u,transition:"color 0.15s ease"},children:t||"Back"})]})},ps=({items:t,separator:r="/",iconName:n,iconColor:s,hoverIconColor:o})=>{const{Link:i}=ot(),[l,c]=d.useState(!1),a=s??"var(--sa-text-subtle, #8c8f97)",u=o??"var(--sa-text-subtle, #8c8f97)",f=t.length>1?t[0]:void 0,g=!!(f!=null&&f.to||f!=null&&f.onClick),m=e.jsx(E.Icon,{name:n||"ChevronLeft",size:"xs",onMouseEnter:g?()=>c(!0):void 0,onMouseLeave:g?()=>c(!1):void 0,style:{color:g&&l?u:a,transition:"color 0.15s ease",cursor:g?"pointer":void 0}}),p=f!=null&&f.to?e.jsx(i,{to:f.to,replace:!0,style:{textDecoration:"none"},children:m}):f!=null&&f.onClick?e.jsx(Tt,{onClick:f.onClick,children:m}):m;return e.jsxs(x.Box,{direction:"row",gap:"xs",align:"center",children:[p,e.jsx(yt.Breadcrumb,{separator:r,size:"md",children:t.map((S,b)=>{const I=b===t.length-1;return S.to&&!I?e.jsx(yt.BreadcrumbItem,{children:e.jsx(i,{to:S.to,children:S.label})},b):e.jsx(yt.BreadcrumbItem,{currentPage:I,children:e.jsx(yt.BreadcrumbLink,{onClick:I?void 0:S.onClick,children:S.label})},b)})})]})},js=t=>{const{Link:r}=ot(),{items:n,separator:s,onClick:o,navigateTo:i,...l}=t;return n&&n.length>0?e.jsx(ps,{items:n,separator:s,iconName:l.iconName,iconColor:l.iconColor,hoverIconColor:l.hoverIconColor}):i?e.jsx(x.Box,{direction:"row",children:e.jsx(r,{to:i,replace:!0,style:{textDecoration:"none"},children:e.jsx(wn,{...l})})}):e.jsx(x.Box,{direction:"row",children:e.jsx(Tt,{onClick:o,children:e.jsx(wn,{...l})})})},pr=[{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 Dn(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 Sn={fontSize:"11px",fontWeight:500,textAlign:"center",overflowWrap:"normal",wordBreak:"normal",color:"var(--sa-background-primary, #ffffff)",lineHeight:"1.3",maxWidth:"80px"},kn={display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",background:"none",border:"none",cursor:"pointer",padding:0};function co({isShow:t,onHide:r,menus:n,selectedGroupId:s,onSelect:o}){const[i,l]=d.useState(void 0),c=u=>{o(u),r()},a=pr[0];return e.jsx(Pe.Dialog,{isShow:t,onHide:r,style:{width:560,background:"transparent",boxShadow:"none",border:"none"},children:e.jsx(Pe.DialogBody,{children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"16px"},children:[e.jsxs("button",{onClick:()=>c(null),onMouseEnter:()=>l("all"),onMouseLeave:()=>l(void 0),style:kn,children:[e.jsx("div",{style:Dn(s===null,i==="all",a),children:e.jsx("div",{style:{color:a.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(E.Icon,{name:"Grid",size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:Sn,children:"Semua"})]}),n.map((u,f)=>{var b;const g=s===u.id,m=i===u.id,p=((b=u.items[0])==null?void 0:b.icon)??"Grid",S=pr[(f+1)%pr.length];return e.jsxs("button",{onClick:()=>c(u.id),onMouseEnter:()=>l(u.id),onMouseLeave:()=>l(void 0),style:kn,children:[e.jsx("div",{style:Dn(g,m,S),children:e.jsx("div",{style:{color:S.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(E.Icon,{name:p,size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:Sn,children:u.name})]},u.id)})]})})})}function bs({onSelect:t,"aria-label":r="Pilih module"}={}){const n=Hr(),{useNavigate:s}=ot(),o=s(),{selectedGroupId:i,setSelectedGroupId:l}=Zr(),[c,a]=d.useState(!1),u=f=>{var g;if(l(f),f!==null){const m=n.menus.find(S=>S.id===f),p=(g=m==null?void 0:m.items[0])==null?void 0:g.to;p&&o(p)}t==null||t(f)};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{position:"relative"},children:[e.jsx("button",{onClick:()=>a(!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:f=>{f.currentTarget.style.backgroundColor="var(--sa-background-primary-inverse, #f8f8f8)"},onMouseLeave:f=>{f.currentTarget.style.backgroundColor="transparent"},children:e.jsx(E.Icon,{name:"GridApplication",size:"sm"})}),i!==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(co,{isShow:c,onHide:()=>a(!1),menus:n.menus.filter(f=>f.parentGroupId===void 0),selectedGroupId:i,onSelect:u})]})}const vs=(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},Cs=d.memo(({value:t,label:r,separator:n,labelWidth:s,lastIndex:o,labelAlign:i="top"})=>{const l=d.useMemo(()=>({padding:0,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),c=d.useMemo(()=>({padding:0,paddingRight:12,paddingLeft:12,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),a=()=>typeof r=="string"?e.jsx(v.Text,{fontWeight:"medium",color:"subtlest",children:r}):r,u=()=>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:l,width:s,children:a()}),n?e.jsx(G.Td,{style:c,width:24,children:f()}):null,e.jsx(G.Td,{style:l,children:u()})]})}),ws=d.memo(({fields:t,separator:r,labelWidth:n})=>e.jsx(G.Table,{withColumnBorder:!1,withRowBorder:!1,children:t.map((s,o)=>e.jsx(Cs,{separator:r,labelWidth:n,lastIndex:o===t.length-1,...s},`field-group-field-${o}`))})),Ds=d.memo(({maxRow:t=0,maxColumn:r=2,separator:n=":",fields:s=[],labelWidth:o=150,bordered:i=!1})=>{const l=d.useMemo(()=>vs(s,t),[s,t]),c=l.length>2,a=()=>{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(x.Box,{gap:c?void 0:"lg",direction:"row",flexWrap:"wrap",borderRadius:"rounded-sm",padding:"lg",paddingBottom:c?"xs":"lg",bg:"accent-dark-tertiary",borderWidth:i?"border":void 0,borderStyle:i?"border-solid":void 0,borderColor:i?"border-subtle":void 0,children:l.map((u,f)=>e.jsx(x.Box,{direction:"column",flex:c?void 0:"1",width:c?a():void 0,marginBottom:c?"lg":void 0,children:e.jsx(ws,{labelWidth:o,fields:u,separator:n})},f))})}),Ss=({backButton:t})=>{const[r,n]=d.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)",l=(t==null?void 0:t.hoverTextColor)??"var(--sa-text-primary, #292a2e)";return e.jsxs(x.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{cursor:"pointer"},children:[e.jsx(E.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?l:o,textDecoration:r?"underline":"none",transition:"color 0.15s ease"},children:(t==null?void 0:t.title)||"Back"})]})},ks=({backButton:t,title:r,titleIcon:n,titleTag:s,children:o,header:i=!0,headerBorder:l=!1,disableAnimation:c=!1,scrollable:a=!1,stickyHeader:u=!1,subHeaders:f,action:g,titleTagProps:m,containerProps:p,headerProps:S})=>{const b=ve.useMediaQuery("md"),{Link:I,useNavigate:B,useLocation:F}=ot(),C=B(),D=F(),A=t==null?void 0:t.show,R=()=>{if(typeof(t==null?void 0:t.onClick)=="function"){t.onClick();return}C(-1,{replace:!0})},w=()=>{if(!g)return null;if(d.isValidElement(g))return g;const _=g.filter(X=>X&&(X.title||X.icon));return _.length===0?null:b?e.jsx(x.Box,{direction:"row",gap:"md",children:_.map(({title:X,icon:te,buttonProps:V,onClick:z},P)=>e.jsx(H.Button,{iconLeft:te?e.jsx(E.Icon,{name:te,size:"md"}):void 0,onClick:z,...V,children:X},`action-${P}`))}):e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"tertiary",size:"sm",iconLeft:e.jsx(E.Icon,{name:"MenuBurger"}),"aria-label":"Actions"})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{minWidth:200},children:_.map(({title:X,icon:te,buttonProps:V,onClick:z},P)=>{const se=(V==null?void 0:V.tone)==="error"||(V==null?void 0:V.danger)===!0;return e.jsx(T.MenuItem,{intent:se?"danger":void 0,disabled:V==null?void 0:V.disabled,startIcon:te?e.jsx(E.Icon,{name:te}):void 0,onClick:z,children:X},`action-${P}`)})})})]})},O=()=>{const _=e.jsx(Ss,{backButton:t});return t!=null&&t.navigateTo?e.jsx(x.Box,{direction:"row",children:e.jsx(I,{to:t.navigateTo,replace:!0,style:{textDecoration:"none"},children:_})}):e.jsx(x.Box,{direction:"row",children:e.jsx(Tt,{onClick:R,children:_})})},L=()=>{const _=!!r,X=Array.isArray(g)&&g.length>0,te=d.isValidElement(g)?!0:X;if(!_&&!te&&!A)return null;const z=b||!b&&X;return e.jsxs(x.Box,{direction:"column",gap:"xs",paddingBlock:(S==null?void 0:S.paddingBlock)??"sm",paddingInline:(S==null?void 0:S.paddingInline)??"md",...S,style:{...l?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...S==null?void 0:S.style},children:[A&&O(),(_||te)&&e.jsxs(x.Box,{direction:z?"row":"column",gap:"sm",justify:"space-between",align:z?"center":"flex-start",children:[_?typeof r=="string"?e.jsxs(x.Box,{direction:"row",gap:"lg",align:"center",children:[e.jsxs(x.Box,{direction:"row",gap:"sm",align:"center",children:[n&&e.jsx(E.Icon,{name:n,size:"md",color:"primary"}),e.jsx(v.Text,{variant:"h3",fontWeight:"semibold",children:r})]}),s&&e.jsx(it.Badge,{border:!0,size:"lg",text:s,...m})]}):r:null,w()]})]})},U=()=>{if(!f||f.length===0)return null;const _=f.filter(V=>V.show!==!1);if(_.length===0)return null;let X=0,te=-1/0;return _.forEach((V,z)=>{const P=V.order??0;P>=te&&(te=P,X=z)}),_.map(({content:V,order:z,borderBottom:P=!0,keepBottomPadding:se=!1,paddingInline:ye=!0,paddingBlock:Se=!0},xe)=>e.jsx(x.Box,{direction:"column",paddingTop:Se?"sm":"spacing-0",paddingBottom:Se&&(P||se||xe===X)?"sm":"spacing-0",paddingInline:ye?"md":"spacing-0",style:{...P?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...z!==void 0?{order:z}:{}},children:V},`sub-header-${xe}`))},J=()=>{const _=i?L():null,X=U();return!_&&!X?null:e.jsxs(x.Box,{direction:"column",style:{...a?{position:"sticky",left:0,...u?{top:0}:{},zIndex:2,background:"var(--sa-background-primary, #ffffff)"}:{},marginBottom:X?"var(--sa-spacing-0)":"var(--sa-spacing-md)"},children:[_,X]})},N=()=>o;return e.jsxs(x.Box,{direction:"column",as:"main",...p,style:{...a?{height:"100%",minHeight:0,overflow:"auto"}:{},...(p==null?void 0:p.style)??{},...c?{}:{animation:"pageLayoutEnter 320ms cubic-bezier(0.16, 1, 0.3, 1) backwards"}},children:[J(),N()]},D.pathname)},Bs=d.memo(ks),Es={icon:"Cross",title:""},Fs=320,Bn=16,En=4,Ms=8,ao=d.forwardRef(({onHide:t,show:r,withBlur:n=!1,style:s,children:o,closeButton:i=Es,paddingHorizontal:l=!0,width:c,minWidth:a,maxWidth:u,hideBackdrop:f=!1,title:g,headerAction:m,header:p=!0,widthPresets:S,resizable:b=!0,resizeMin:I=Fs,resizeMax:B,onWidthChange:F},C)=>{const A=!ve.useMediaQuery("md"),R=c??u??a??"357px",w=S??[],O=w.length>1,[L,U]=d.useState(()=>{const Y=w.indexOf(R);return Y>=0?Y:0}),[J,N]=d.useState(null),[_,X]=d.useState(!1),[te,V]=d.useState(!1),z=d.useRef(null),P=Y=>{z.current=Y,typeof C=="function"?C(Y):C&&(C.current=Y)},se=O?w[L]:R,ye=J!=null?`${J}px`:se,Se=b&&!A,xe=L===w.length-1,pe=()=>{const Y=(L+1)%w.length;N(null),U(Y),F==null||F(w[Y])},je=d.useCallback(Y=>{const he=B??window.innerWidth;return Math.min(Math.max(Y,I),he)},[I,B]),be=d.useRef(null),Te=Y=>{if(!Se)return;Y.preventDefault();const he=Y.currentTarget;he.setPointerCapture(Y.pointerId),X(!0);const Oe=document.body.style.cursor,Ne=document.body.style.userSelect;document.body.style.cursor="col-resize",document.body.style.userSelect="none";let ae=null;const _e=W=>{const $=je(window.innerWidth-W.clientX);be.current=$,ae==null&&(ae=window.requestAnimationFrame(()=>{ae=null,be.current!=null&&N(be.current)}))},tt=W=>{ae!=null&&window.cancelAnimationFrame(ae),be.current!=null&&N(be.current),he.releasePointerCapture(W.pointerId),he.removeEventListener("pointermove",_e),he.removeEventListener("pointerup",tt),he.removeEventListener("pointercancel",tt),document.body.style.cursor=Oe,document.body.style.userSelect=Ne,X(!1),be.current!=null&&(F==null||F(`${be.current}px`))};he.addEventListener("pointermove",_e),he.addEventListener("pointerup",tt),he.addEventListener("pointercancel",tt)},ke=Y=>{var ae;if(!Se||Y.key!=="ArrowLeft"&&Y.key!=="ArrowRight")return;Y.preventDefault();const he=Y.key==="ArrowLeft"?Bn:-Bn,Oe=J??((ae=z.current)==null?void 0:ae.offsetWidth)??I,Ne=je(Oe+he);N(Ne),F==null||F(`${Ne}px`)},ze=()=>{Se&&(N(null),F==null||F(se))};return e.jsx(Qt.Drawer,{blur:n,isShow:r,position:"right",onHide:t,ref:P,size:ye,style:s,flush:!0,radius:"none",hideBackdrop:f,children:e.jsxs(x.Box,{direction:"column",height:"height-full",children:[Se?e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Ubah lebar panel",tabIndex:0,onPointerDown:Te,onKeyDown:ke,onDoubleClick:ze,title:"Tarik untuk mengubah lebar — klik dua kali untuk reset",onPointerEnter:()=>V(!0),onPointerLeave:()=>V(!1),style:{position:"absolute",left:0,top:0,bottom:0,width:Ms,cursor:"col-resize",zIndex:1,background:_||te?`linear-gradient(to right, var(--sa-border-brand, var(--sa-border-subtle)) 0 ${En}px, transparent ${En}px)`:"transparent",transition:"background 0.15s",touchAction:"none"}}):null,p?e.jsxs(x.Box,{direction:"row",align:"center",justify:"space-between",gap:"sm",paddingInline:"md",borderWidth:"border-b",borderStyle:"border-solid-b",borderColor:"border-base",customHeight:"var(--app-header-height, 44px)",flexShrink:"0",children:[e.jsx(x.Box,{direction:"row",align:"center",gap:"sm",overflow:"overflow-hidden",children:typeof g=="string"?e.jsx(v.Text,{fontSize:"md",fontWeight:"bold",children:g}):g}),e.jsxs(x.Box,{direction:"row",align:"center",gap:"sm",flexShrink:"0",children:[m,O?e.jsx(H.Button,{variant:"tertiary",tone:"neutral",size:"xs",onClick:pe,"aria-label":xe?"Kecilkan panel":"Lebarkan panel",iconRight:e.jsx(E.Icon,{name:xe?"ChevronRight":"ChevronLeft"})}):null,i?e.jsx(H.Button,{variant:"tertiary",tone:"neutral",size:"xs",onClick:t,"aria-label":i.title||"Tutup",iconRight:e.jsx(E.Icon,{name:i.icon}),children:i.title||void 0}):null]})]}):null,e.jsx(x.Box,{direction:"column",paddingBlock:"md",paddingInline:l?"md":"spacing-0",overflow:"overflow-y-auto",style:{flex:1,minHeight:0},children:o})]})})}),Gr=d.memo(({children:t,borderBottom:r=!0,padding:n=!0})=>{const s=ve.useMediaQuery("lg");return e.jsx(x.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})}),Qr=d.memo(({children:t,borderTop:r=!0,padding:n=!0})=>{const s=ve.useMediaQuery("lg");return e.jsx(x.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})}),Is=d.memo(({children:t,...r})=>e.jsx(x.Box,{direction:"column",padding:"md",paddingLeft:"md",paddingRight:"md",gap:"md",...r,children:t})),Ls=d.memo(({children:t,title:r,titleTag:n,action:s,header:o,footer:i,actionContainer:l,containerProps:c,bodyProps:a,headerProps:u={borderBottom:!0},footerProps:f={borderTop:!0},variantTag:g="info"})=>{const m=ve.useMediaQuery("lg"),p=()=>n?e.jsxs(x.Box,{direction:"row",gap:"sm",align:"center",children:[e.jsx(v.Text,{fontWeight:"medium",children:r}),e.jsx(it.Badges,{border:!0,text:n,variant:g})]}):e.jsx(v.Text,{fontWeight:"medium",children:r}),S=()=>o||e.jsxs(x.Box,{direction:"row",justify:"space-between",align:"flex-start",gap:"md",children:[e.jsx(x.Box,{direction:"column",children:r?p():null}),e.jsx(x.Box,{direction:"column",style:m?{width:"100%",maxWidth:"19.313rem"}:{flex:1},...l,children:s??null})]}),b=!!(o||r||s);return e.jsxs(x.Box,{direction:"column",bg:"white",borderRadius:"rounded-xs",as:"section",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",...c,style:{backgroundColor:"var(--sa-background-primary, #ffffff)",...(c==null?void 0:c.style)??{}},children:[o!==null&&b?e.jsx(Gr,{...u,children:S()}):null,e.jsx(Is,{...a,children:t}),i?e.jsx(Qr,{...f,children:i}):null]})}),Ts=t=>e.jsx(v.Text,{variant:"h1",children:t.children,...t.props}),Os=t=>e.jsx(v.Text,{variant:"h2",children:t.children,...t.props}),Rs=t=>e.jsx(v.Text,{variant:"h3",children:t.children,...t.props}),As=t=>e.jsx(v.Text,{variant:"h4",children:t.children,...t.props}),Ws=t=>e.jsx(v.Text,{variant:"h5",children:t.children,...t.props}),zs=t=>e.jsx(v.Text,{variant:"h6",children:t.children,...t.props}),Hs=t=>e.jsx(v.Text,{variant:"sub-h1",children:t.children,...t.props}),Ps=t=>e.jsx(v.Text,{variant:"sub-h2",children:t.children,...t.props}),Vs=t=>e.jsx(v.Text,{variant:"sub-h3",children:t.children,...t.props}),Ns=t=>e.jsx(v.Text,{variant:"body-1",children:t.children,...t.props}),_s=t=>e.jsx(v.Text,{variant:"body-2",children:t.children,...t.props}),qs=t=>e.jsx(v.Text,{variant:"body-3",children:t.children,...t.props}),Xe={H1:Ts,H2:Os,H3:Rs,H4:As,H5:Ws,H6:zs,SubH1:Hs,SubH2:Ps,SubH3:Vs,Body1:Ns,Body2:_s,Body3:qs},Ve=()=>{const{useSearchParams:t,useParams:r,useLocation:n}=ot(),[s,o]=t(),i=bt.searchParamsToObject(s.toString()),l=r(),c=n(),a=l.id;return{setSearchParams:o,searchParams:s,searchQueries:i,isHasQuery:(p,S)=>s.has(p)&&s.get(p)===S,getQueryParam:p=>s.get(p),getRouteParam:p=>l[p],params:l,location:c,id:a,hasId:!!a}},uo=t=>JSON.stringify(t),xo=t=>JSON.stringify(t),ho=t=>JSON.stringify(t),fo=t=>JSON.stringify(t),Zs=t=>t,Gs=t=>JSON.stringify(t),It=t=>{if(typeof t!="string"||t==="")return{};try{const r=JSON.parse(t);return!r||typeof r!="object"||Array.isArray(r)?{}:r}catch{return{}}},Lt=({value:t,name:r,type:n,withSearchParam:s=!0,setSearchParams:o,searchQueries:i,dropdownSearchKey:l,filterKey:c="filter",pageKey:a="page"})=>{if(s){let u;switch(n){case"search":u=Zs(t);break;case"dropdown":case"dropdown-multiple":u=uo(t);break;case"radio":u=xo(t);break;case"date-range":u=ho(t);break;case"advanced-date-range":u=Gs(t);break;case"date":u=fo(t);break;default:u=t;break}if(typeof u<"u"){const f={...It(i[c]),[r]:u},g={...i};l&&typeof l=="string"&&delete g[l],delete g[a];const m={...g,[c]:JSON.stringify(f)},p=new URLSearchParams(i).toString(),S=new URLSearchParams(m).toString();if(p===S)return;o(m)}}},Zt=({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,l=i?i[t]:void 0;return s==="label"&&l?JSON.parse(l)[0].label:s==="value"&&l?JSON.parse(l)[0].value:l},mo=({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,l=i?i[t]:void 0;return s==="label"&&l?JSON.parse(l).map(c=>c.label):s==="value"&&l?JSON.parse(l).map(c=>c.value):s==="array"&&l?JSON.parse(l):l},Qs=({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,l=i?i[t]:void 0;return s==="id"&&l?JSON.parse(l).id:s==="label"&&l?JSON.parse(l).label:s==="value"&&l?JSON.parse(l).value:l},$t=(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},Us=({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}},go=({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},Js=(t,{filterKey:r="filter",perPageKey:n="perPage",pageKey:s="page"})=>{const o=t.get(r)||void 0,i=t.get(n)||void 0,l=t.get(s)||void 0;return!!o||!!i||!!l},yo=({isOpen:t,onClose:r,filterKey:n,pageKey:s,filters:o})=>{const{searchParams:i,setSearchParams:l,searchQueries:c}=Ve(),[a,u]=d.useState({}),f=()=>{i.delete(n||"filter"),l(i)},g=(m,p)=>{switch(m.type){case"radio":{const{show:S=!0}=m;return S&&e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p)}case"dropdown":{const{show:S=!0}=m;return S&&e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p)}case"date-range":return e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p);case"date":return e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p);case"dropdown-multiple":{const{show:S=!0}=m;return S&&e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p)}default:return null}};return e.jsx(ao,{onHide:r,show:t||!1,children:e.jsxs(x.Box,{direction:"column",gap:"md",children:[e.jsxs(ce.Flex,{direction:"row",justify:"space-between",align:"center",children:[e.jsx(x.Box,{direction:"column",children:"Filter"}),e.jsx(x.Box,{direction:"column",style:{cursor:"pointer"},onClick:f,children:"Reset"})]}),o==null?void 0:o.map((m,p)=>g(m,p))]})})},po=({searchKey:t="q",statusKey:r="status",searchPlaceholder:n="Search",searchHighlightPlaceholder:s,extendedFilter:o,showSearchFilter:i=!0,showStatusFilter:l=!0,filterKey:c="filter",pageKey:a="page",customWidthSearch:u,handleOnReset:f,filterConfigs:g,buttonToggleProps:m,position:p="right",titleSearchLabel:S="Work Order",withTitleLabels:b=!1})=>{const B=(m==null?void 0:m.isShowLabel)??!0,[F,C]=d.useState(!1),[D,A]=d.useState(0),R=()=>{A(P=>P+1)},{searchParams:w,setSearchParams:O,getQueryParam:L}=Ve(),U=bt.searchParamsToObject(w.toString()),J=$t(t,w,c)||"",[N,_]=d.useState(J),X=L(c),V=!!(X&&!(()=>{if(X)try{const P=JSON.parse(X);return Object.keys(P).length===1&&P[t]===""}catch(P){console.error("Filter parameter is not a valid JSON:",P)}return!1})()),z=ve.useMediaQuery("md");return d.useEffect(()=>{_(J)},[J]),d.useEffect(()=>{if(N===J)return;const P=window.setTimeout(()=>{Lt({value:N,name:t,type:"search",searchQueries:U,setSearchParams:O,filterKey:c,pageKey:a})},350);return()=>{window.clearTimeout(P)}},[N,J,t,U,O,c,a]),e.jsxs(ce.Flex,{gap:"md",style:{flexDirection:z&&p==="left"?"row":z&&p==="right"?"row-reverse":"column"},align:"flex-end",children:[V&&e.jsx(x.Box,{direction:"column",justify:"flex-end",children:e.jsx(H.Button,{onClick:()=>{const P=new URLSearchParams(w);P.delete(c),O(P),_(""),R(),f&&f()},variant:"outline",tone:"neutral",children:e.jsx(v.Text,{color:"error",fontWeight:"semibold",children:"Reset"})})}),o==null?void 0:o.map(({minWidth:P,content:se,title:ye,onClickContainer:Se},xe)=>e.jsxs(x.Box,{direction:"column",gap:"sm",onClick:Se,style:{minWidth:P},children:[ye&&e.jsx(Xe.SubH3,{children:ye}),se]},`extended-filter-${xe}-${D}`)),!!(g!=null&&g.length)&&e.jsx(H.Button,{primary:V,secondary:!V,iconLeft:e.jsx(E.Icon,{size:"sm",name:(m==null?void 0:m.icon)||"FilterHorizontal",style:{color:X?"var(--sa-background-brand, #04254f)":"var(--sa-text-primary, #292a2e)"}}),fullWidth:!z,onClick:()=>C(!0),children:B?"Filter":void 0}),l&&e.jsxs(x.Box,{direction:"column",gap:"sm",style:{minWidth:"126px"},children:[b&&e.jsx(Xe.SubH3,{children:"Status"}),e.jsx(jt.Dropdown,{dropdownLists:[{label:"Active",value:"active"},{label:"InActive",value:"inactive"}],defaultValue:Zt({get:"value",name:r,searchParams:w,filterKey:c})?[{label:Zt({get:"value",name:r,searchParams:w,filterKey:c})==="active"?"Active":"InActive",value:Zt({get:"value",name:r,searchParams:w,filterKey:c})}]:[],onChange:P=>Lt({value:P,name:r,type:"dropdown",searchQueries:U,setSearchParams:O,filterKey:c}),placeholder:b?"All":"All Status"},D)]}),i&&e.jsxs(x.Box,{direction:"column",gap:"sm",style:{width:u&&z?u:z?"310px":""},children:[b&&e.jsxs(Xe.SubH3,{children:["Search for ",S]}),e.jsx(dt.Input,{placeholder:n,leftIcon:e.jsx(E.Icon,{name:"Search",width:20,height:20}),onChange:P=>_(P.target.value),value:N,fullWidth:!0},D+1+c)]}),e.jsx(yo,{isOpen:F,onClose:()=>C(!1),filterKey:c,filters:g,pageKey:a})]})},Ys=t=>t==="checkbox-multiple"?"dropdown-multiple":t==="radio"?"dropdown":t==="date-compact"?"date":t;function Ur({configs:t,filterKey:r="filter",activeFilterKey:n="filters",pageKey:s="page",searchKey:o="q"}){const{searchParams:i,setSearchParams:l,searchQueries:c}=Ve(),a=d.useMemo(()=>Object.fromEntries(t.map(D=>[D.key,D])),[t]),u=d.useMemo(()=>{const D=(i.get(n)||"").split(",").map(R=>R.trim()).filter(Boolean),A=Object.keys(It(i.get(r))).filter(R=>R!==o);return t.map(R=>R.key).filter(R=>{const w=a[R];return(w==null?void 0:w.locked)||D.includes(R)||A.includes(R)})},[i,n,r,o,t,a]),f=d.useCallback(D=>It(D[r]),[r]),g=d.useCallback(D=>{const A={...c};D.length?A[n]=D.join(","):delete A[n],l(A)},[c,n,l]),m=d.useCallback(D=>{u.includes(D)||g([...u,D])},[u,g]),p=d.useCallback(D=>{var O;if((O=a[D])!=null&&O.locked)return;const A={...c},R=u.filter(L=>L!==D);R.length?A[n]=R.join(","):delete A[n];const w=f(A);D in w&&(delete w[D],Object.keys(w).length?A[r]=JSON.stringify(w):delete A[r]),delete A[s],l(A)},[c,u,n,r,s,f,l,a]),S=d.useCallback(D=>u.includes(D)?p(D):m(D),[u,m,p]),b=d.useCallback(D=>{switch(D.type){case"dropdown":case"dropdown-multiple":case"checkbox-multiple":case"radio":return mo({name:D.key,get:"array",searchParams:i,filterKey:r})||[];case"date":{const A=go({name:D.key,searchParams:i,filterKey:r});return A?new Date(A):void 0}case"date-compact":{const R=f(Object.fromEntries(i.entries()))[D.key];return R&&typeof R=="object"?R:void 0}default:return}},[i,r,f]),I=d.useCallback((D,A)=>{if(D.type==="date-compact"){const R={...c},w=f(R);A==null?delete w[D.key]:w[D.key]=A,Object.keys(w).length?R[r]=JSON.stringify(w):delete R[r],delete R[s],l(R);return}Lt({value:A,name:D.key,type:Ys(D.type),searchQueries:c,setSearchParams:l,filterKey:r,pageKey:s})},[c,l,r,s,f]),B=d.useCallback(D=>{const A={...c},R=f(A);D in R&&(delete R[D],Object.keys(R).length?A[r]=JSON.stringify(R):delete A[r]),delete A[s],l(A)},[c,r,s,f,l]),F=d.useCallback(()=>{const D={...c};delete D[r],delete D[n],delete D[s],l(D)},[c,r,n,s,l]),C=u.length>0;return{activeKeys:u,configByKey:a,hasActiveFilter:C,addFilter:m,removeFilter:p,toggleFilter:S,getValue:b,setValue:I,clearValue:B,clearAll:F}}const Jr={get(t){return Ft.storage.get(t)??null},set(t,r){Ft.storage.save(t,r)},remove(t){Ft.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}`},Ht=(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 Xs({columns:t,scopeId:r,storage:n,onColumnsChange:s,value:o}){const i=d.useMemo(()=>({order:t.map(w=>w.key),hidden:[]}),[t]),l=r?Ct.columns(r):void 0,c=(w,O)=>Ht({order:w.order??O,hidden:w.hidden??[]},t),[a,u]=d.useState(()=>{if(o&&(o.order||o.hidden))return c(o,t.map(w=>w.key));if(l){const w=n.get(l);if(w&&Array.isArray(w.order))return Ht(w,t)}return i}),f=t.map(w=>w.key).join("|");d.useEffect(()=>u(w=>Ht(w,t)),[f]);const g=d.useRef(a);g.current=a;const m=o?`${(o.order??[]).join("|")}~${(o.hidden??[]).join("|")}`:null,p=d.useRef(m);d.useEffect(()=>{if(m==null||p.current===m)return;p.current=m;const w=g.current,O=c(o,w.order);O.order.join("|")===w.order.join("|")&&O.hidden.join("|")===w.hidden.join("|")||(u(O),l&&n.set(l,O))},[m,f]);const S=d.useRef(!1);d.useEffect(()=>{S.current||(S.current=!0,s==null||s(a))},[]);const b=d.useCallback(w=>{u(w),l&&n.set(l,w),s==null||s(w)},[l,n,s]),I=d.useMemo(()=>{const w=new Map(t.map(O=>[O.key,O]));return a.order.filter(O=>w.has(O)).map(O=>({...w.get(O),visible:!a.hidden.includes(O)}))},[a,t]),B=d.useCallback(w=>{const O=a.hidden.includes(w)?a.hidden.filter(L=>L!==w):[...a.hidden,w];b({...a,hidden:O})},[a,b]),F=d.useCallback((w,O)=>{if(w===O)return;const L=[...a.order],[U]=L.splice(w,1);L.splice(O,0,U),b({...a,order:L})},[a,b]),C=d.useCallback(w=>{b({...a,hidden:w?t.filter(O=>!O.locked).map(O=>O.key):[]})},[a,t,b]),D=d.useCallback(()=>b(i),[b,i]),A=d.useCallback(w=>b(Ht(w,t)),[b,t]),R=a.hidden.length===0;return{state:a,orderedColumns:I,allVisible:R,toggleVisibility:B,reorder:F,setAllHidden:C,reset:D,applyState:A}}function $s({scopeId:t,storage:r,snapshotKeys:n,pageKey:s="page",getColumns:o,applyColumns:i}){const{searchParams:l,setSearchParams:c}=Ve(),a=t?Ct.savedViews(t):void 0,[u,f]=d.useState(()=>a?r.get(a)||[]:[]),g=d.useCallback(b=>{f(b),a&&r.set(a,b)},[a]),m=d.useCallback(b=>{const I=b.trim();if(!I)return;const B={};n.forEach(C=>{const D=l.get(C);D!=null&&(B[C]=D)});const F={id:`${Date.now()}`,name:I,query:B,columns:o==null?void 0:o(),createdAt:Date.now()};g([...u,F])},[n,l,o,g,u]),p=d.useCallback(b=>g(u.filter(I=>I.id!==b)),[g,u]),S=d.useCallback(b=>{const I=Object.fromEntries(l.entries());n.forEach(B=>delete I[B]),Object.assign(I,b.query),delete I[s],c(I),b.columns&&(i==null||i(b.columns))},[l,n,s,c,i]);return{enabled:!!a,views:u,saveView:m,deleteView:p,applyView:S}}function Ks(t,r){const n=It(t);return delete n[r],Object.keys(n).length>0?JSON.stringify(n):void 0}function Fn(t,r,n){const s=t[r];if(s==null)return;const o=Ks(s,n);o===void 0?delete t[r]:t[r]=o}function ei({scopeId:t,storage:r,snapshotKeys:n,enabled:s=!0,filterKey:o="filter",searchKey:i="q",persistSearch:l=!0}){const{searchParams:c}=Ve(),a=t&&s?Ct.lastState(t):void 0,u=d.useRef(a),f=d.useRef(!1);d.useEffect(()=>{if(!a){u.current=a;return}if(u.current!==a){u.current=a,f.current=!1;return}const p={};if(n.forEach(S=>{const b=c.get(S);b!=null&&(p[S]=b)}),l||Fn(p,o,i),Object.keys(p).length===0){f.current&&r.remove(a);return}f.current=!0,r.set(a,p)},[c,a,n,r,l,o,i]);const g=d.useCallback(()=>{if(!a)return null;const p=r.get(a);if(!p||typeof p!="object"||Array.isArray(p)||Object.keys(p).length===0)return null;const S=p[o];return S!=null&&Object.keys(It(S)).length===0&&delete p[o],l||Fn(p,o,i),Object.keys(p).length>0?p:null},[a,r,l,o,i]),m=d.useCallback(()=>{a&&r.remove(a)},[a,r]);return{enabled:!!a,read:g,clear:m}}function ti({scopeId:t,storage:r,perPageKey:n,pageSizeOptions:s,enabled:o=!0}){const{searchParams:i}=Ve(),l=t&&o?Ct.perPage(t):void 0,c=i.toString(),a=d.useRef(l);d.useEffect(()=>{if(!l){a.current=l;return}if(a.current!==l){a.current=l;return}const g=i.get(n);if(!g)return;const m=Number(g);!Number.isFinite(m)||m<=0||r.set(l,m)},[c,l,n,r]);const u=d.useCallback(()=>{if(!l)return null;const g=r.get(l);if(g==null)return null;const m=Number(g);return!Number.isFinite(m)||m<=0||s&&!s.includes(m)?null:String(m)},[l,r,s]),f=d.useCallback(()=>{l&&r.remove(l)},[l,r]);return{enabled:!!l,read:u,clear:f}}let jr={},br=!1,vr=null;const ri=(t,r)=>{Object.assign(jr,t),vr=r,!br&&(br=!0,queueMicrotask(()=>{const n=jr,s=vr;jr={},br=!1,vr=null,!(!s||Object.keys(n).length===0)&&s(o=>{const i=new URLSearchParams(o);return Object.entries(n).forEach(([l,c])=>i.set(l,c)),i},{replace:!0})}))};function ni({enabled:t,snapshotKeys:r,perPageKey:n,readSnapshot:s,readPerPage:o}){const{searchParams:i,setSearchParams:l,location:c}=Ve(),a=d.useRef(null);d.useEffect(()=>{if(!t||a.current===c.pathname)return;a.current=c.pathname;const u={};if(!i.has(n)){const f=o();f&&(u[n]=f)}if(!r.some(f=>i.has(f))){const f=s();f&&Object.assign(u,f)}Object.keys(u).length!==0&&ri(u,l)},[c.pathname,t])}const oi=({configs:t,activeKeys:r,onToggle:n,hasActiveFilter:s,onReset:o})=>t.length?e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:s?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"FilterHorizontal"}),"aria-label":"Add filter"})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{minWidth:260},title:e.jsxs(x.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(H.Button,{variant:"link",tone:"brand",size:"xs",onClick:o,children:"Reset"})]}),children:t.map(i=>e.jsx(T.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,Kt=({onClear:t,onRemove:r})=>e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"link",tone:"neutral",size:"xs",iconLeft:e.jsx(E.Icon,{name:"MenuHorizontal"}),"aria-label":"Filter actions"})}),e.jsx(T.MenuLists,{children:e.jsxs(T.MenuBody,{style:{width:180},children:[e.jsx(T.MenuItem,{startIcon:e.jsx(E.Icon,{name:"CrossCircle"}),onClick:t,children:"Clear value"}),r&&e.jsx(T.MenuItem,{intent:"danger",startIcon:e.jsx(E.Icon,{name:"Trash1"}),onClick:r,children:"Remove filter"})]})})]}),si=t=>{const r=new Date(t);return r.setHours(0,0,0,0),r},Mn=(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},jo=t=>{const r=si(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:Mn(r,-n,t.period),to:r}:{from:r,to:Mn(r,n,t.period)}},In=24,bo=t=>t.length>In?`${t.slice(0,In)}...`:t,vo=t=>t.toLocaleDateString(void 0,{day:"2-digit",month:"short",year:"numeric"}),Cr=(t,r="days")=>r==="months"?t.toLocaleDateString(void 0,{month:"short",year:"numeric"}):r==="years"?String(t.getFullYear()):vo(t),Jt={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"},ii=["is","is-before","is-after","is-on-or-before","is-on-or-after","is-between","is-relative-to-today","is-empty","is-not-empty"],Rr={past:"Past",next:"Next",this:"This"},li=["day","week","month","year"],ci=["past","next","this"],ai=t=>t.field.type==="date-compact"?e.jsx(xi,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}):e.jsx(di,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}),di=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=r?vo(new Date(r)):null,l=!!i,c=l?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:bo(i)})]}):t.label;return e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:l?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l?e.jsx(E.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:c})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:260},title:e.jsxs(x.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(Kt,{onClear:s,onRemove:o})]}),children:e.jsx(ht.StarasiaDate,{size:"sm",input:!1,clearable:!0,filter:t.mode,value:r,onChange:a=>a==null?s():n(a),withPadding:!1})})})]})},ui=(t,r="days")=>{switch(t.op){case"is":case"is-before":case"is-after":case"is-on-or-before":case"is-on-or-after":return t.date?`${Jt[t.op]} ${Cr(new Date(t.date),r)}`:null;case"is-between":return t.from&&t.to?`${Cr(new Date(t.from),r)} - ${Cr(new Date(t.to),r)}`:null;case"is-relative-to-today":{const n=t.relative;if(!n)return null;if(n.direction==="this")return`This ${n.period}`;const s=n.count??1,o=s===1?n.period:`${n.period}s`;return`${Rr[n.direction]} ${s} ${o}`}case"is-empty":case"is-not-empty":return Jt[t.op];default:return null}},xi=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.ops&&t.ops.length>0?t.ops:ii,l=t.defaultOp&&i.includes(t.defaultOp)?t.defaultOp:i[0],c=t.mode??"days",a=(r==null?void 0:r.op)??l,u=r?ui(r,c):null,f=!!u,g=f?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:bo(u)})]}):t.label,m=p=>{if(p!==a){if(p==="is-empty"||p==="is-not-empty"){n({op:p});return}if(p==="is-relative-to-today"){n({op:p,relative:(r==null?void 0:r.relative)??{direction:"past",count:1,period:"week"}});return}if(p==="is-between"){n({op:p,from:r==null?void 0:r.from,to:r==null?void 0:r.to});return}n({op:p,date:r==null?void 0:r.date})}};return e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:f?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:f?e.jsx(E.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:g})}),e.jsxs(T.MenuLists,{children:[e.jsx(T.MenuBody,{style:{width:320},title:e.jsxs(x.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",gap:"xs",fullWidth:!0,children:[e.jsxs(x.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(hi,{op:a,ops:i,onChange:m})]}),e.jsx(Kt,{onClear:s,onRemove:o})]}),children:e.jsx(fi,{value:r,op:a,mode:c,onChange:n})}),a==="is-relative-to-today"&&e.jsx(T.MenuFooter,{children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"Filter will update with the current date"})})]})]})},hi=({op:t,ops:r,onChange:n})=>e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"link",tone:"neutral",size:"xs",iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:Jt[t]})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:200},children:r.map(s=>e.jsx(T.MenuItem,{selected:t===s,onClick:()=>n(s),endIcon:t===s?e.jsx(E.Icon,{name:"Check"}):void 0,children:Jt[s]},s))})})]}),fi=({value:t,op:r,mode:n="days",onChange:s})=>{if(r==="is-empty"||r==="is-not-empty")return e.jsx(x.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"No further input required."})});if(r==="is-between"){const o=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(ht.StarasiaDate,{size:"sm",input:!1,clearable:!0,rangedDate:!0,filter:n,value:o,onChange:i=>{if(i==null){s({op:r});return}if(typeof i=="object"&&i!==null&&"from"in i&&"to"in i){let{from:l,to:c}=i;if(!l&&c&&(l=c,c=null),!l&&!c){s({op:r});return}s({op:r,from:l?l.toISOString():void 0,to:c?c.toISOString():void 0})}},withPadding:!1},`range-${n}`)}return r==="is-relative-to-today"?e.jsx(mi,{value:t==null?void 0:t.relative,onChange:o=>s({op:r,relative:o})}):e.jsx(ht.StarasiaDate,{size:"sm",input:!1,clearable:!0,filter:n,value:t!=null&&t.date?new Date(t.date):void 0,onChange:o=>{if(o==null){s({op:r});return}o instanceof Date&&s({op:r,date:o.toISOString()})},withPadding:!1},`single-${n}`)},mi=({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",l=jo({direction:n,count:s,period:o});return e.jsxs(x.Box,{direction:"column",display:"flex",gap:"sm",children:[e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:Rr[n]})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:140},children:ci.map(c=>e.jsx(T.MenuItem,{selected:n===c,endIcon:n===c?e.jsx(E.Icon,{name:"Check"}):void 0,onClick:()=>r(c==="this"?{direction:c,period:o}:{direction:c,count:s,period:o}),children:Rr[c]},c))})})]}),i&&e.jsx(dt.Input,{type:"number",size:"sm",min:1,clearable:!1,value:s,onChange:c=>{const a=Number(c.target.value);r({direction:n,count:Number.isFinite(a)&&a>0?a:1,period:o})},style:{width:72}}),e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:o})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:140},children:li.map(c=>e.jsx(T.MenuItem,{selected:o===c,endIcon:o===c?e.jsx(E.Icon,{name:"Check"}):void 0,onClick:()=>r(n==="this"?{direction:n,period:c}:{direction:n,count:s,period:c}),children:c},c))})})]})]}),e.jsx(ht.StarasiaDate,{size:"sm",input:!1,disabled:!0,rangedDate:!0,value:l,onChange:()=>{},withPadding:!1},"relative-preview")]})},Ln=18,gi=t=>t.length>Ln?`${t.slice(0,Ln)}...`:t,yi=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.type==="dropdown-multiple",l=r.length,c=t.searchable!==!1,[a,u]=d.useState(""),f=t.options,g=typeof t.onSearch=="function",m=(()=>{if(g)return f;const B=a.trim().toLowerCase();return B?f.filter(F=>F.label.toLowerCase().includes(B)):f})(),p=B=>r.some(F=>F.value===B.value),S=B=>{if(!i){n([{label:B.label,value:B.value}]),u("");return}n(p(B)?r.filter(F=>F.value!==B.value):[...r,{label:B.label,value:B.value}])},b=B=>{var F;u(B),(F=t.onSearch)==null||F.call(t,B)},I=l===0?t.label:e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:l===1?gi(r[0].label):`${l} Selected`})]});return e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:l>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l>0?e.jsx(E.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:I})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:260},title:e.jsxs(x.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(Kt,{onClear:s,onRemove:o})]}),children:e.jsxs(x.Box,{direction:"column",gap:"sm",children:[c&&e.jsx(jt.Dropdown,{size:"sm",triggerInput:!0,fullWidth:!0,hideChevronIcon:!0,clearable:!0,multiSelect:i,searchAble:!0,searchValue:a,onSearch:b,value:r,onChange:n,placeholder:`Search ${t.label.toLowerCase()}…`}),e.jsx(x.Box,{direction:"column",overflow:"overflow-y-auto",customMaxHeight:"240px",children:t.isLoading?e.jsx(x.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"Loading…"})}):m.length===0?e.jsx(x.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"No results"})}):m.map(B=>e.jsx(T.MenuItem,{closeOnSelect:!i,selected:p(B),startIcon:B.avatar,endIcon:p(B)?e.jsx(E.Icon,{name:"Check"}):void 0,description:B.description,onClick:()=>S(B),children:B.label},B.value))})]})})})]})},Tn=18,pi=t=>t.length>Tn?`${t.slice(0,Tn)}...`:t,On=({checked:t,indeterminate:r})=>e.jsx("span",{style:{pointerEvents:"none",display:"inline-flex"},children:e.jsx(nt.Checkbox,{size:"sm",checked:t,readOnly:!0,onChange:()=>{},variant:r?"indeterminate":"select"})}),ji=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=new Set(r.map(m=>m.value)),l=r.length,c=t.options.length>0&&t.options.every(m=>i.has(m.value)),a=l>0&&!c,u=m=>{n(i.has(m.value)?r.filter(p=>p.value!==m.value):[...r,{label:m.label,value:m.value}])},f=()=>{n(c?[]:t.options.map(m=>({label:m.label,value:m.value})))},g=l===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:l===1?pi(r[0].label):`${l} Selected`})]});return e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:l>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l>0?e.jsx(E.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:g})}),e.jsx(T.MenuLists,{children:e.jsxs(T.MenuBody,{style:{width:240},title:e.jsxs(x.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(Kt,{onClear:s,onRemove:o})]}),children:[e.jsx(T.MenuItem,{closeOnSelect:!1,selected:c,onClick:f,startIcon:e.jsx(On,{checked:c||a,indeterminate:a}),children:"Select All"}),t.options.map(m=>e.jsx(T.MenuItem,{closeOnSelect:!1,selected:i.has(m.value),onClick:()=>u(m),startIcon:e.jsx(On,{checked:i.has(m.value)}),children:m.label},m.value))]})})]})},Co=({activeKeys:t,configByKey:r,getValue:n,setValue:s,clearValue:o,removeFilter:i})=>e.jsx(e.Fragment,{children:t.map(l=>{const c=r[l];if(!c)return null;const a=n(c),u=c.locked?void 0:()=>i(l);return c.type==="date"||c.type==="date-compact"?e.jsx(ai,{field:c,value:a,onChange:f=>s(c,f),onClear:()=>o(l),onRemove:u},l):c.type==="checkbox-multiple"?e.jsx(ji,{field:c,value:a||[],onChange:f=>s(c,f),onClear:()=>o(l),onRemove:u},l):e.jsx(yi,{field:c,value:a||[],onChange:f=>s(c,f),onClear:()=>o(l),onRemove:u},l)})}),Rn=t=>`${t} Rows`,bi=({pagination:t,pageKey:r="page",perPageKey:n="perPage",pageSizeOptions:s=[10,25,50,100],defaultPerPage:o=10,showResultCount:i=!0,showPageSize:l=!0,showPagination:c=!0})=>{var B;const{searchQueries:a,setSearchParams:u,searchParams:f}=Ve(),g=f.get(n),m=g?Number(g):o,p=F=>{u({...a,[r]:String(F)})},S=F=>{u({...a,[n]:F,[r]:"1"})},b=(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),I=(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:`${b}-${I} of ${((B=t==null?void 0:t.totalData)==null?void 0:B.toLocaleString())||0}`}),l&&e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),"aria-label":"Rows per page",children:Rn(m)})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{children:s.map(F=>e.jsx(T.MenuItem,{selected:F===m,onClick:()=>S(String(F)),children:Rn(F)},F))})})]}),c&&((t==null?void 0:t.totalPage)??0)>1&&e.jsx(x.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(Mt.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:p})})]})};function vi(t,r,n=!0){d.useEffect(()=>{if(!n)return;const s=o=>{var c;if(o.metaKey||o.ctrlKey||o.altKey||o.key!==t||Pe.isOverlayOpen())return;const i=o.target,l=(c=i==null?void 0:i.tagName)==null?void 0:c.toLowerCase();l==="input"||l==="textarea"||i!=null&&i.isContentEditable||(o.preventDefault(),r())};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[t,r,n])}const Ci=240,wo=({searchKey:t="q",filterKey:r="filter",pageKey:n="page",placeholder:s="Search",shortcut:o="/",collapsible:i=!0})=>{const{searchParams:l,setSearchParams:c,searchQueries:a}=Ve(),u=$t(t,l,r)||"",[f,g]=d.useState(!i||!!u),[m,p]=d.useState(i&&!u),[S,b]=d.useState(u),I=ve.useDebounce(S,350),B=d.useRef(null);d.useEffect(()=>{b(u),u&&g(!0)},[u]),d.useEffect(()=>{f&&p(!1)},[f]),d.useEffect(()=>{I!==u&&Lt({value:I,name:t,type:"search",searchQueries:a,setSearchParams:c,filterKey:r,pageKey:n})},[I]);const F=d.useCallback(()=>{g(!0),requestAnimationFrame(()=>{var R;return(R=B.current)==null?void 0:R.focus()})},[]);vi(o,F);const C=()=>{i&&!S&&g(!1)},D=R=>{var w;i&&R.key==="Escape"&&!S&&(g(!1),(w=B.current)==null||w.blur())},A=()=>{f||p(!0)};return e.jsxs(x.Box,{display:"flex",direction:"row",align:"center",gap:"spacing-0",children:[m&&e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"Search",size:"sm"}),"aria-label":"Search","aria-expanded":!1,onClick:F}),e.jsxs(x.Box,{onTransitionEnd:A,style:{position:"relative",width:f?Ci:0,overflow:"hidden",transition:"width 220ms ease"},children:[e.jsx(dt.Input,{ref:B,size:"sm",fullWidth:!0,value:S,placeholder:s,leftIcon:e.jsx(E.Icon,{name:"Search",width:16,height:16}),onChange:R=>b(R.target.value),onKeyDown:D,onBlur:C,tabIndex:f?0:-1}),f&&!S&&e.jsx(x.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})})]})]})},Do=({columns:t,allVisible:r,onToggle:n,onReorder:s,onSetAllHidden:o})=>{const[i,l]=d.useState(null),[c,a]=d.useState(null),u=()=>{i!==null&&c!==null&&i!==c&&s(i,c),l(null),a(null)},f=(g,m)=>{const p=g+m;p<0||p>=t.length||s(g,p)};return e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:r?"outline":"secondary",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"Grid",size:"sm"}),"aria-label":"Customize columns"})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{children:e.jsxs(x.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(x.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(H.Button,{variant:"link",tone:"info",size:"xs",onClick:()=>o(r),children:r?"Hide All":"Show All"})]}),e.jsx(x.Box,{direction:"column",overflow:"overflow-y-auto",children:t.map((g,m)=>{const p=!g.locked,S=c===m&&i!==null&&i!==m;return e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",paddingBlock:"xs",draggable:p,onDragStart:()=>p&&l(m),onDragOver:b=>{b.preventDefault(),a(m)},onDrop:u,onDragEnd:u,style:{minHeight:32,boxShadow:S?"inset 0 2px 0 0 var(--sa-background-brand, #04254f)":void 0},children:[e.jsx(x.Box,{direction:"column",as:"div",align:"center",justify:"center",role:"button",tabIndex:p?0:-1,"aria-label":`Reorder ${g.title}`,"aria-disabled":!p||void 0,color:"icon-subtlest",onKeyDown:b=>{p&&(b.key==="ArrowUp"?(b.preventDefault(),f(m,-1)):b.key==="ArrowDown"&&(b.preventDefault(),f(m,1)))},style:{display:"inline-flex",cursor:p?"grab":"default",opacity:p?1:.4},children:e.jsx(E.Icon,{name:"DragVertical",width:16,height:16})}),g.icon&&e.jsx(x.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(x.Box,{direction:"column",style:{marginLeft:"auto"},children:e.jsx(vt.Toggle,{size:"sm",checked:g.visible,disabled:g.locked,onChange:()=>n(g.key),"aria-label":`Toggle ${g.title} column`})})]},g.key)})})]})})})]})},So=({views:t,onApply:r,onDelete:n,onSave:s})=>{const[o,i]=d.useState(""),l=()=>{const c=o.trim();c&&(s(c),i(""))};return e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:t.length>0?"secondary":"outline",tone:(t.length>0,"neutral"),size:"sm",iconLeft:e.jsx(E.Icon,{name:"Bookmark",size:"sm"}),"aria-label":"Saved views"})}),e.jsxs(T.MenuLists,{style:{width:"260px"},children:[e.jsx(T.MenuBody,{children:e.jsxs(x.Box,{direction:"column",padding:"xs",gap:"sm",children:[e.jsx(v.Text,{fontWeight:"semibold",color:"primary",children:"Saved Views"}),e.jsx(x.Box,{direction:"column",overflow:"overflow-y-auto",children:t.length===0?e.jsx(x.Box,{direction:"column",paddingBlock:"sm",children:e.jsx(v.Text,{fontSize:"sm",color:"subtlest",children:"No saved views yet"})}):t.map(c=>e.jsx(T.MenuItem,{startIcon:e.jsx(E.Icon,{name:"Bookmark"}),onClick:()=>r(c),endIcon:e.jsx(H.Button,{variant:"link",tone:"error",size:"sm",iconLeft:e.jsx(E.Icon,{name:"Trash2"}),"aria-label":`Delete ${c.name}`,onClick:a=>{a.stopPropagation(),n(c.id)}}),children:c.name},c.id))})]})}),e.jsx(T.MenuFooter,{children:e.jsxs(x.Box,{direction:"row",gap:"xs",children:[e.jsx(x.Box,{direction:"column",style:{flex:"1 0 0",minWidth:0},children:e.jsx(dt.Input,{size:"sm",fullWidth:!0,placeholder:"Save current view as…",value:o,onChange:c=>i(c.target.value),onKeyDown:c=>{c.key==="Enter"&&l()}})}),e.jsx(H.Button,{variant:"primary",tone:"brand",size:"sm",disabled:!o.trim(),onClick:l,children:"Save"})]})})]})]})},wi=({isOpen:t,onClose:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:l,onReset:c,getValue:a,setValue:u,clearValue:f,removeFilter:g})=>{const m=s.length;return e.jsx(Qt.Drawer,{position:"bottom",isShow:t,onHide:r,children:e.jsxs(x.Box,{direction:"column",customMaxHeight:"85vh",style:{minHeight:280},children:[e.jsxs(x.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(x.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(H.Button,{variant:"link",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"Cross"}),"aria-label":"Close filter",onClick:r})]}),e.jsxs(x.Box,{direction:"column",gap:"lg",padding:"md",overflow:"overflow-y-auto",style:{flex:"1 1 auto",minHeight:0},children:[m>0&&e.jsxs(x.Box,{direction:"column",gap:"sm",children:[e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Filter aktif"}),e.jsx(x.Box,{direction:"row",display:"flex",wrap:"wrap",gap:"sm",align:"center",children:e.jsx(Co,{activeKeys:s,configByKey:o,getValue:a,setValue:u,clearValue:f,removeFilter:g})})]}),n.length>0&&e.jsxs(x.Box,{direction:"column",gap:"sm",children:[e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Tambah filter"}),e.jsx(x.Box,{direction:"column",children:n.map(p=>{const S=s.includes(p.key),b=!!p.locked;return e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",paddingBlock:"sm",style:{opacity:b?.5:1,borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.08))"},children:[e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{minWidth:0},children:[p.icon&&e.jsx(x.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:p.icon}),e.jsx(v.Text,{fontSize:"sm",color:"primary",truncate:!0,children:p.label})]}),e.jsx(vt.Toggle,{size:"sm",checked:S||b,disabled:b,onChange:()=>l(p.key),"aria-label":`Toggle ${p.label}`})]},p.key)})})]})]}),e.jsxs(x.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(x.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"md",fullWidth:!0,disabled:!i,onClick:c,children:"Reset"})}),e.jsx(x.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(H.Button,{variant:"primary",tone:"brand",size:"md",fullWidth:!0,onClick:r,children:"Selesai"})})]})]})})},Di=t=>`${t} Rows`,Si=({perPageKey:t,pageKey:r,pageSizeOptions:n,defaultPerPage:s=10,showPageSize:o})=>{const{searchQueries:i,setSearchParams:l,searchParams:c}=Ve(),a=c.get(t),u=a?Number(a):s,f=g=>{l({...i,[t]:g,[r]:"1"})};return o?e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"MenuVertical",size:"sm"}),"aria-label":"More options"})}),e.jsx(T.MenuLists,{children:e.jsxs(T.MenuBody,{style:{minWidth:200},children:[e.jsx(x.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(T.MenuItem,{selected:g===u,endIcon:g===u?e.jsx(E.Icon,{name:"Check"}):void 0,onClick:()=>f(String(g)),children:Di(g)},g))]})})]}):null},ki=t=>{var Oe;const{withPadding:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,toggleFilter:l,removeFilter:c,getValue:a,setValue:u,clearValue:f,onReset:g,searchable:m,searchKey:p,filterKey:S,pageKey:b,searchPlaceholder:I,searchShortcut:B,searchCollapsible:F,pagination:C,perPageKey:D,pageSizeOptions:A,defaultPerPage:R,showPagination:w,showResultCount:O,showPageSize:L,hasColumns:U,orderedColumns:J,allVisible:N,onToggleVisibility:_,onReorder:X,onSetAllHidden:te,showSavedViews:V,savedViews:z,onApplyView:P,onDeleteView:se,onSaveView:ye,leadingActions:Se}=t,[xe,pe]=d.useState(!1),{searchQueries:je,setSearchParams:be}=Ve(),Te=(C==null?void 0:C.rangeStart)??(((C==null?void 0:C.currentPage)||0)>1?(((C==null?void 0:C.currentPage)||0)-1)*((C==null?void 0:C.perPage)||0)+1:1),ke=(C==null?void 0:C.rangeEnd)??((C==null?void 0:C.totalCurrentPage)!==(C==null?void 0:C.perPage)?C==null?void 0:C.totalData:((C==null?void 0:C.currentPage)||1)*((C==null?void 0:C.totalCurrentPage)||0)),ze=Ne=>{be({...je,[b]:String(Ne)})},Y=O||w&&!!(C!=null&&C.totalPage),he=()=>{g(),pe(!1)};return e.jsxs(x.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(x.Box,{direction:"row",display:"flex",align:"center",wrap:"wrap",gap:"sm",fullWidth:!0,overflow:"overflow-auto",children:[m&&e.jsx(wo,{searchKey:p,filterKey:S,pageKey:b,placeholder:I,shortcut:B,collapsible:F}),e.jsx(H.Button,{variant:i?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"FilterHorizontal"}),onClick:()=>pe(!0),"aria-label":"Open filters",children:i?`Filter: ${s.length}`:null}),e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{marginLeft:"auto"},children:[Se,V&&e.jsx(So,{views:z,onApply:P,onDelete:se,onSave:ye}),U&&e.jsx(Do,{columns:J,allVisible:N,onToggle:_,onReorder:X,onSetAllHidden:te}),e.jsx(Si,{perPageKey:D,pageKey:b,pageSizeOptions:A,defaultPerPage:R,showPageSize:L})]})]}),Y&&e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",fullWidth:!0,children:[O?e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${Te}-${ke} of ${((Oe=C==null?void 0:C.totalData)==null?void 0:Oe.toLocaleString())||0}`}):e.jsx(x.Box,{direction:"column"}),w&&!!(C!=null&&C.totalPage)&&e.jsx(Mt.Pagination,{size:"xs",variant:"neutral",siblingCount:0,currentPage:C!=null&&C.currentPage?Number(C.currentPage):1,totalPages:Number(C.totalPage),onPageChange:ze})]}),e.jsx(wi,{isOpen:xe,onClose:()=>pe(!1),configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:l,onReset:he,getValue:a,setValue:u,clearValue:f,removeFilter:c})]})},Bi=({withPadding:t=!1,filterConfigs:r=[],filterKey:n="filter",activeFilterKey:s="filters",pageKey:o="page",perPageKey:i="perPage",pageSizeOptions:l=[25,50,100],defaultPerPage:c,showPagination:a=!0,showResultCount:u=!0,showPageSize:f=!0,searchable:g=!1,searchKey:m="q",searchPlaceholder:p="Search",searchShortcut:S="/",searchPosition:b="right",searchCollapsible:I=!0,pagination:B,columns:F=[],onColumnsChange:C,columnsState:D,scopeId:A,savedViews:R,persistLastState:w=!0,persistSearch:O=!0,storage:L=Jr,onReset:U,leadingActions:J})=>{const N=A??(R==null?void 0:R.scopeId),{activeKeys:_,configByKey:X,hasActiveFilter:te,toggleFilter:V,removeFilter:z,getValue:P,setValue:se,clearValue:ye,clearAll:Se}=Ur({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:m}),xe=Xs({columns:F,scopeId:N,storage:L,onColumnsChange:C,value:D}),pe=$s({scopeId:N,storage:L,snapshotKeys:[s,n,i],pageKey:o,getColumns:()=>xe.state,applyColumns:xe.applyState}),je=ei({scopeId:N,storage:L,snapshotKeys:[s,n,o],enabled:w,filterKey:n,searchKey:m,persistSearch:O}),be=ti({scopeId:N,storage:L,perPageKey:i,pageSizeOptions:l,enabled:w});ni({enabled:w&&!!N,snapshotKeys:[s,n,o],perPageKey:i,readSnapshot:je.read,readPerPage:be.read});const Te=c??l[0]??25,ke=!!(R!=null&&R.enabled)&&pe.enabled,ze=()=>{Se(),je.clear(),U==null||U()},Y=ve.useMediaQuery("md"),he=g?e.jsx(wo,{searchKey:m,filterKey:n,pageKey:o,placeholder:p,shortcut:S,collapsible:I}):null;return Y?e.jsxs(x.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(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(oi,{configs:r,activeKeys:_,onToggle:V,hasActiveFilter:te,onReset:ze}),b==="left"&&he,e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",overflow:"overflow-x-auto",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(Co,{activeKeys:_,configByKey:X,getValue:P,setValue:se,clearValue:ye,removeFilter:z}),te&&e.jsx(H.Button,{variant:"link",tone:"brand",size:"sm",onClick:ze,children:"Reset"})]})]}),e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",children:[J,e.jsx(bi,{pagination:B,pageKey:o,perPageKey:i,pageSizeOptions:l,defaultPerPage:Te,showPagination:a,showResultCount:u,showPageSize:f}),b==="right"&&he,ke&&e.jsx(So,{views:pe.views,onApply:pe.applyView,onDelete:pe.deleteView,onSave:pe.saveView}),F.length>0&&e.jsx(Do,{columns:xe.orderedColumns,allVisible:xe.allVisible,onToggle:xe.toggleVisibility,onReorder:xe.reorder,onSetAllHidden:xe.setAllHidden})]})]}):e.jsx(ki,{withPadding:t,configs:r,activeKeys:_,configByKey:X,hasActiveFilter:te,toggleFilter:V,removeFilter:z,getValue:P,setValue:se,clearValue:ye,onReset:ze,searchable:g,searchKey:m,filterKey:n,pageKey:o,searchPlaceholder:p,searchShortcut:S,searchCollapsible:I,pagination:B,perPageKey:i,pageSizeOptions:l,defaultPerPage:Te,showPagination:a,showResultCount:u,showPageSize:f,hasColumns:F.length>0,orderedColumns:xe.orderedColumns,allVisible:xe.allVisible,onToggleVisibility:xe.toggleVisibility,onReorder:xe.reorder,onSetAllHidden:xe.setAllHidden,showSavedViews:ke,savedViews:pe.views,onApplyView:pe.applyView,onDeleteView:pe.deleteView,onSaveView:pe.saveView,leadingActions:J})},Ei=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},Fi=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},Mi=(t,r)=>{switch(t.type){case"dropdown":case"radio":return Ei(r);case"dropdown-multiple":case"checkbox-multiple":return Fi(r);case"date":return r instanceof Date?r.toISOString():void 0;case"date-compact":return r;default:return}},An=(t,r)=>{if(t==null||t==="")return r;const n=Number(t);return Number.isFinite(n)&&n>0?n:r},Ii=t=>{const{filterConfigs:r,filterKey:n="filter",activeFilterKey:s="filters",pageKey:o="page",perPageKey:i="perPage",searchKey:l="q",defaultPage:c=1,defaultPerPage:a=10,paramKeys:u,serialize:f}=t,{activeKeys:g,configByKey:m,hasActiveFilter:p,getValue:S}=Ur({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:l}),{searchParams:b}=Ve(),I=b.toString();return d.useMemo(()=>{const F={},C={},D=An(b.get(o),c),A=An(b.get(i),a);F[(u==null?void 0:u.page)??"page"]=D,F[(u==null?void 0:u.perPage)??"perPage"]=A;const R=$t(l,b,n)||"";R&&(F[(u==null?void 0:u.search)??"search"]=R);let w=!1;for(const O of g){const L=m[O];if(!L)continue;const U=S(L);C[O]=U;const J=f==null?void 0:f[O],N=J?J(U):Mi(L,U);if(N==null||Array.isArray(N)&&N.length===0)continue;const _=(u==null?void 0:u[O])??O;F[_]=N,w=!0}return{params:F,raw:C,hasActiveFilter:p||!!R||w}},[I,g.join("|"),n,s,o,i,l,c,a,u,f,m])},Li=["dropdown","dropdown-multiple","checkbox-multiple","radio"],Ti=({filterConfigs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o})=>{const{configByKey:i,getValue:l,setValue:c,removeFilter:a,clearAll:u,hasActiveFilter:f}=Ur({configs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o}),g=(B,F)=>{var D;const C=B.options;return((D=C==null?void 0:C.find(A=>A.value===F))==null?void 0:D.label)??F},m=d.useCallback(B=>{const F=i[B];if(!F)return[];const C=l(F);return Array.isArray(C)?C.map(D=>String(D.value)):[]},[i,l]),p=d.useCallback((B,F)=>{const C=i[B];if(!C||!Li.includes(C.type))return;const D=Array.isArray(F)?F:[F];if(D.length===0){a(B);return}c(C,D.map(A=>({label:g(C,A),value:A})))},[i,c,a]),S=d.useCallback((B,F)=>{const C=m(B);p(B,C.includes(F)?C.filter(D=>D!==F):[...C,F])},[m,p]),b=d.useCallback((B,F)=>m(B).includes(F),[m]),I=d.useCallback(B=>a(B),[a]);return{set:p,toggle:S,clear:I,clearAll:u,isActive:b,values:m,hasActiveFilter:f}},Oi=(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:l,to:c}=jo(t.relative);return i[n]=l.toISOString(),i[s]=c.toISOString(),i}case"is-empty":case"is-not-empty":return o&&(i[o]=t.op==="is-empty"?"empty":"not-empty"),i;default:return i}},ko=({children:t,borderRadius:r,height:n})=>{const s=d.useRef(null),[o,i]=d.useState("100vh");return d.useEffect(()=>{if(n)return;const l=()=>{if(s.current){const c=s.current.getBoundingClientRect().top;i(`calc(100vh - ${c}px)`)}};return l(),window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[n]),e.jsx(x.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})},Bo=({action:t,rightContent:r,leftContent:n,headerSlot:s,advanceFilter:o,showFilter:i=!0})=>{const l=ve.useMediaQuery("md"),c=i?e.jsx(po,{...o}):null,a=()=>t?d.isValidElement(t)?t:e.jsx(x.Box,{style:{display:"flex",flexDirection:l?"row":"column",gap:"8px",width:l?"auto":"100%",textWrap:"nowrap"},children:t.map(({title:u,icon:f,buttonProps:g,onClick:m},p)=>!u&&!f?null:e.jsx(H.Button,{fullWidth:!l,iconLeft:f?e.jsx(E.Icon,{name:f}):void 0,onClick:m,...g,children:u},`action-${p}`))}):null;return e.jsx(x.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:l?"row":"column-reverse",gap:"16px"},children:s?s({filter:c}):e.jsxs(e.Fragment,{children:[e.jsxs(x.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flex:1,minWidth:0},children:[c,n]}),e.jsxs(x.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flexShrink:0},children:[r,a()]})]})})},Ri=({totalData:t,withMarginBottom:r=!0,withMarginTop:n=!0})=>e.jsxs(x.Box,{style:{display:"flex",gap:"4px",flexDirection:"row",alignItems:"center",marginBottom:r?"16px":void 0,marginTop:n?"16px":void 0},children:[e.jsxs(Xe.Body1,{props:{color:"gray-500"},children:["Total data:"," "]}),e.jsx(Xe.Body1,{children:t||0})]}),Eo=({pagination:t,pageKey:r="page",perPageKey:n="perPage",defaultPerPage:s=10,showPagination:o=!0,totalData:i})=>{const{searchQueries:l,setSearchParams:c,searchParams:a}=Ve(),u=a.get(n),f=S=>{c({...l,[r]:String(S)})},g=S=>{c({...l,[n]:S,[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),p=(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(x.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(x.Box,{style:{display:"flex",flexDirection:"row",gap:"8px",alignItems:"center",textWrap:"nowrap"},children:[e.jsx(v.Text,{children:"Rows Per Page: "}),e.jsx(jt.Dropdown,{dropdownLists:[{label:"5",value:"5"},{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"},{label:"100",value:"100"}],onChange:S=>{g(S[0].value)},value:u?[{label:`${u} per row`,value:u}]:[{label:`${s} per row`,value:`${s}`}],defaultValue:u?[{label:`${u} per row`,value:u}]:[{label:`${s} per row`,value:`${s}`}]}),e.jsx(v.Text,{children:`${m}-${p} of ${(t==null?void 0:t.totalData)||0}`})]}),e.jsx(Mt.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(Ri,{totalData:i,withMarginBottom:!1,withMarginTop:!1})})},Fo=({filter:t,columnTitle:r})=>{const[n,s]=d.useState(!1),o=d.useRef(null),i=d.useRef(null),l=d.useRef(null),[c,a]=d.useState(""),[u,f]=d.useState({top:0,left:0}),g=t.selectedValues,m=d.useMemo(()=>c?t.options.filter(b=>b.label.toLowerCase().includes(c.toLowerCase())):t.options,[t.options,c]);d.useEffect(()=>{if(n&&i.current){const b=i.current.getBoundingClientRect(),I=280,B={top:b.bottom+8};t.position==="left"||b.left+I>window.innerWidth?B.right=window.innerWidth-b.right:B.left=b.left,f(B)}},[n,t.position]),d.useEffect(()=>{n&&l.current?setTimeout(()=>{var b;return(b=l.current)==null?void 0:b.focus()},50):a("")},[n]),d.useEffect(()=>{const b=I=>{o.current&&!o.current.contains(I.target)&&i.current&&!i.current.contains(I.target)&&s(!1)};return n&&document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[n]);const p=b=>{const I=g.includes(b)?g.filter(B=>B!==b):[...g,b];t.onFilterChange(I)},S=()=>t.onFilterChange([]);return e.jsxs(x.Box,{direction:"column",style:{position:"relative"},children:[e.jsx(x.Box,{ref:i,style:{display:"flex",flexDirection:"row",alignItems:"center",cursor:"pointer"},onClick:b=>{var I;b.stopPropagation(),n||(I=t.onOpen)==null||I.call(t),s(B=>!B)},children:e.jsx(E.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(x.Box,{ref:o,style:{position:"fixed",top:`${u.top}px`,...u.left!==void 0?{left:`${u.left}px`}:{right:`${u.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(x.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(x.Box,{direction:"column",style:{cursor:"pointer"},children:e.jsx(v.Text,{fontSize:"xs",color:"primary",fontWeight:"semibold",onClick:b=>{b.stopPropagation(),S()},children:"CLEAR"})})]}),!t.hideSearch&&e.jsx(x.Box,{direction:"column",style:{paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px"},children:e.jsx(dt.Input,{ref:l,placeholder:`Search ${r.toLowerCase()}...`,leftIcon:e.jsx(E.Icon,{name:"Search",size:"sm"}),value:c,onChange:b=>a(b.target.value),style:{fontSize:"14px"}})}),e.jsx(x.Box,{direction:"column",className:"ts-filter-dropdown-options",style:{overflowY:"auto",maxHeight:"250px",paddingLeft:"8px",paddingRight:"8px"},children:t.isLoadingOptions?e.jsxs(x.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(E.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(x.Box,{direction:"column",style:{gap:"2px",paddingTop:"4px",paddingBottom:"4px"},children:m.map(b=>e.jsxs(x.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(b.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent"},onClick:I=>{I.stopPropagation(),p(b.value)},onMouseEnter:I=>{g.includes(b.value)||(I.currentTarget.style.backgroundColor="var(--sa-background-primary, #ffffff)"),I.currentTarget.style.transform="translateX(2px)"},onMouseLeave:I=>{I.currentTarget.style.backgroundColor=g.includes(b.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent",I.currentTarget.style.transform="translateX(0)"},children:[e.jsx(nt.Checkbox,{checked:g.includes(b.value),onChange:()=>{}}),e.jsx(v.Text,{fontSize:"sm",fontWeight:g.includes(b.value)?"medium":"normal",color:g.includes(b.value)?"primary":"gray-700",children:b.label})]},b.value))}):e.jsxs(x.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(E.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(x.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(x.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"4px"},children:[e.jsx(x.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"]})]})})]})]})},Ai=({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,l=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:l},children:e.jsx("path",{d:"M0 0 L8 0 L4 5 Z",fill:"currentColor"})})]})},Wi=({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"})]}),wr="var(--sa-background-primary, #ffffff)",Wn="var(--sa-background-primary-inverse, #f8f8f8)",Mo=({columns:t,records:r,handleDetail:n,handleUpdate:s,handleDelete:o,isLoading:i,visibleHandleDelete:l,visibleHandleUpdate:c,visibleHandleDetail:a,showHeadBorder:u=!1,scrollParentRef:f,frozenCount:g=0,onFrozenCountChange:m,customActions:p,actionsOrder:S=["detail","update","delete","custom"],customEmptyState:b,enableColumnResize:I=!1,defaultColumnWidths:B,onColumnWidthsChange:F,defaultMinColumnWidth:C=60,sort:D,defaultSort:A,onSortChange:R,showActionDivider:w=!1})=>{const O=D!==void 0,[L,U]=d.useState(A??null),J=O?D??null:L,N=W=>{if(W.sortKey)return W.sortKey;if(typeof W.accessor=="string")return W.accessor},_=W=>{const $=N(W);if(!$)return;let Q;!J||J.key!==$?Q={key:$,direction:"asc"}:J.direction==="asc"?Q={key:$,direction:"desc"}:Q=null,O||U(Q),R==null||R(Q)},te=[n,s,o].filter(W=>W!==void 0).length,V=!!p,z=!!n||!!s||!!o||V,P="var(--sa-border-subtle, #0b120e24)",se=`1px solid ${P}`,ye=`inset 1px 0 0 ${P}`,Se=`inset -1px 0 0 ${P}`,xe=te===3?V?"178px":"140px":te===2?V?"140px":"102px":te===1?V?"112px":"74px":V?"74px":"",pe=(W,$)=>{if(!$)return W;if(typeof $=="function")return $(W);if(typeof $=="string")return W[$]},[je,be]=d.useState(!1);d.useEffect(()=>{if(!(f!=null&&f.current))return;const W=f.current;be(W.scrollHeight>W.clientHeight)},[r,f]);const Te=d.useRef(null),[ke,ze]=d.useState([]),[Y,he]=d.useState(()=>B??{}),Oe=d.useRef(null);d.useLayoutEffect(()=>{if(!g||!Te.current){ze([]);return}const W=Array.from(Te.current.querySelectorAll("thead tr th")),$=[];let Q=0;W.forEach((de,ie)=>{$[ie]=Q,ie<g&&(Q+=de.offsetWidth)}),ze($)},[g,t,r,Y]);const Ne=W=>{m&&m(W<g?W:W+1)},ae=(W,$)=>{const Q=Y[W];if(Q!==void 0){const de=`${Q}px`;return{width:de,minWidth:de,maxWidth:de}}return $?{width:$}:{}},_e=W=>I&&(W.resizable??!0),tt=(W,$)=>{W.preventDefault(),W.stopPropagation();const Q=W.currentTarget.closest("th");if(!Q)return;const de=Math.round(Q.getBoundingClientRect().width);Oe.current={colIndex:$,startX:W.clientX,startWidth:de};const ie=document.body.style.userSelect,Be=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";const Re=qe=>{var Ze;const Me=Oe.current;if(!Me)return;const Qe=((Ze=t[Me.colIndex])==null?void 0:Ze.minWidth)??C,Ce=Math.max(Qe,Me.startWidth+(qe.clientX-Me.startX));he(rt=>rt[Me.colIndex]===Ce?rt:{...rt,[Me.colIndex]:Ce})},$e=()=>{document.removeEventListener("mousemove",Re),document.removeEventListener("mouseup",$e),document.body.style.userSelect=ie,document.body.style.cursor=Be,Oe.current=null,F&&he(qe=>(F(qe),qe))};document.addEventListener("mousemove",Re),document.addEventListener("mouseup",$e)};return e.jsx("div",{ref:Te,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((W,$)=>{var ut,ct;const Q=g>0&&$<g,de=ke[$]??0,ie=_e(W),Re=$===t.length-1&&z&&w,$e=N(W),qe=!!W.sortable&&!!$e,Me=qe&&(J==null?void 0:J.key)===$e?J.direction:null,Qe=W.title||((ut=W.accessor)==null?void 0:ut.toString())||"",Ce=(ct=W.headerTooltip)!=null&&ct.showIcon?e.jsx(E.Icon,{name:"InfoCircle",size:"xs",style:{flexShrink:0,color:"var(--sa-icon-subtle, #8c8f97)",opacity:.75}}):null,Ze=e.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Qe}),rt=qe?e.jsxs("button",{type:"button",onClick:()=>_(W),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:W.textAlign==="text-right"?"right":W.textAlign==="text-center"?"center":"left"},children:[Ze,Ce,e.jsx(Ai,{direction:Me})]}):e.jsxs("span",{style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:4},children:[Ze,Ce]});return e.jsxs(G.Th,{style:{position:"sticky",top:0,left:Q?de:void 0,zIndex:Q?4:2,paddingLeft:$===0?"12px":"",borderRight:u&&!Re&&!Q?se:void 0,borderBottom:u?se:void 0,boxShadow:u&&Q?Se:void 0,backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",textAlign:W.textAlign==="text-right"?"right":W.textAlign==="text-center"?"center":"left",...ae($,W.width)},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px",justifyContent:"space-between",minWidth:0},children:[W.headerTooltip?e.jsx(Fe.Tooltip,{label:W.headerTooltip.content,position:"bottom",children:rt}):rt,W.filter&&e.jsx(Fo,{filter:W.filter,columnTitle:W.title}),m&&e.jsx("button",{onClick:()=>Ne($),title:Q?"Unfreeze column":"Freeze column",style:{background:"none",border:"none",cursor:"pointer",padding:"2px",display:"flex",alignItems:"center",flexShrink:0,color:Q?"var(--sa-background-brand, #04254f)":"var(--sa-text-subtle, #8c8f97)",opacity:Q?1:.45,transition:"opacity 0.15s"},children:e.jsx(Wi,{frozen:Q})})]}),ie&&e.jsx("div",{onMouseDown:at=>tt(at,$),onClick:at=>at.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-${$}`)}),z?e.jsx(G.Th,{style:{backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",position:"sticky",top:0,right:0,zIndex:3,borderBottom:u?se:void 0,boxShadow:u&&w?ye: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(x.Box,{direction:"column",style:{gap:"16px"},children:[e.jsx(Ye.Skeleton,{variant:"list"}),e.jsx(Ye.Skeleton,{variant:"list"}),e.jsx(Ye.Skeleton,{variant:"list"}),e.jsx(Ye.Skeleton,{variant:"list"}),e.jsx(Ye.Skeleton,{variant:"list"})]})})}):!(r!=null&&r.length)&&b?e.jsx(G.Tr,{children:e.jsx(G.Td,{colSpan:t.length+1,children:b})}):r==null?void 0:r.map((W,$)=>e.jsxs(G.Tr,{style:{transition:"background-color 0.3s ease",padding:0,borderBottom:$===r.length-1&&je?void 0:"1px solid var(--sa-border-subtle, #0b120e24)"},onMouseEnter:Q=>{const de=Q.currentTarget;de.style.backgroundColor=Wn,Array.from(de.querySelectorAll("td")).forEach(ie=>{ie.style.position==="sticky"&&(ie.style.backgroundColor=Wn)})},onMouseLeave:Q=>{const de=Q.currentTarget;de.style.backgroundColor="",Array.from(de.querySelectorAll("td")).forEach(ie=>{ie.style.position==="sticky"&&(ie.style.backgroundColor=wr)})},children:[t.map((Q,de)=>{const ie=Q.render?Q.render(W,$,r):pe(W,Q.accessor),Be=g>0&&de<g,Re=ke[de]??0,$e=Y[de]!==void 0,qe=Be&&de===g-1;return e.jsx(G.Td,{style:{position:Be?"sticky":void 0,left:Be?Re:void 0,zIndex:Be?1:void 0,backgroundColor:Be?wr:void 0,transition:Be?"background-color 0.3s ease":void 0,paddingLeft:de===0?"12px":"",whiteSpace:"nowrap",overflow:$e?"hidden":void 0,borderLeft:Q.showBorderLeft?se:void 0,borderRight:Q.showBorderRight?se:void 0,boxShadow:qe?Se:void 0,textAlign:Q.textAlign==="text-right"?"right":Q.textAlign==="text-center"?"center":"left",...ae(de,Q.width)},children:typeof ie=="string"?e.jsx(v.Text,{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textAlign:Q.textAlign==="text-right"?"right":Q.textAlign==="text-center"?"center":"left"},children:ie}):ie},`row-${$}-col-${de}`)}),z?e.jsx(G.Td,{style:{width:xe,position:"sticky",right:0,zIndex:1,backgroundColor:wr,boxShadow:w?ye:void 0,transition:"background-color 0.3s ease"},children:e.jsx(ce.Flex,{direction:"row",align:"center",justify:"center",gap:"sm",children:S.map(Q=>{const de=$===r.length-1?"top":"bottom";return Q==="detail"&&n&&(a==null?void 0:a(W))!==!1?e.jsx(Fe.Tooltip,{label:"Detail",position:de,children:e.jsx(H.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>n(W.id,W),iconLeft:e.jsx(E.Icon,{name:"DocumentClean",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"detail"):Q==="update"&&s&&(c==null?void 0:c(W))!==!1?e.jsx(Fe.Tooltip,{label:"Update",position:de,children:e.jsx(H.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>s(W),iconLeft:e.jsx(E.Icon,{name:"Edit1",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"update"):Q==="delete"&&o&&(l==null?void 0:l(W))!==!1?e.jsx(Fe.Tooltip,{label:"Delete",position:de,children:e.jsx(H.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>o(W.id,W),iconLeft:e.jsx(E.Icon,{name:"Trash1",size:"sm",style:{color:"var(--sa-color-error-600, #c9184a)"}})})},"delete"):Q==="custom"?e.jsx(d.Fragment,{children:p==null?void 0:p(W)},"custom"):null})})}):null]},`${W}${$}`))})]})})};let zn=!1;const zi=({wrapperProps:t,dataTableProps:r,headerProps:n,footerProps:s})=>{var g;process.env.NODE_ENV!=="production"&&!zn&&(zn=!0,console.warn("[@starasia/admin] `TableSection` deprecated — pakai `<FilterBar>` + `<TableLayout>`. Lihat skill `starasia-list-page-pattern`. Akan dihapus di salah satu major berikutnya."));const o=d.useRef(null),[i,l]=d.useState((r==null?void 0:r.defaultFrozenCount)??0),c=(n==null?void 0:n.show)??!0,a=d.useRef(null),u=(g=r==null?void 0:r.pagination)==null?void 0:g.totalData;typeof u=="number"&&(a.current=u);const f=(s==null?void 0:s.showFooter)??(u===void 0?a.current!==0:u!==0);return e.jsxs(ko,{...t,children:[c&&e.jsx(Bo,{...n}),e.jsx(x.Box,{direction:"column",ref:o,style:{flex:1,overflowY:"auto",overflowX:"auto"},children:r?e.jsx(Mo,{...r,scrollParentRef:o,frozenCount:r!=null&&r.enableFreezeColumns?i:0,onFrozenCountChange:r!=null&&r.enableFreezeColumns?l:void 0}):null}),f&&e.jsx(Eo,{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 Hi(t){return d.memo(t)}const Pi=Hi(zi),Hn=200,Dr="1px solid var(--sa-border-subtle, #0b120e24)",Vi=({sortDir:t,frozen:r})=>t==="asc"?e.jsx(E.Icon,{name:"ChevronSmallUp"}):t==="desc"?e.jsx(E.Icon,{name:"ChevronSmallDown"}):r?e.jsx(E.Icon,{name:"LockOn",size:"xs"}):e.jsx(E.Icon,{name:"Filter",size:"xs"}),Pt=({icon:t,label:r,active:n,danger:s,onClick:o})=>{const i=s?"var(--sa-text-error, #a4133c)":"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:l=>{n||(l.currentTarget.style.background="var(--sa-background-primary-inverse, #f8f8f8)")},onMouseLeave:l=>{l.currentTarget.style.background=n?"var(--sa-background-brand-subtlest, #e6edf6)":"none"},children:[e.jsx(E.Icon,{name:t,size:"sm",style:{color:i,flexShrink:0}}),e.jsx(v.Text,{as:"span",style:{color:i},children:r})]})},Io=({active:t,canSort:r,canHide:n,sortDir:s,frozen:o,onSort:i,onClearSort:l,onToggleFreeze:c,onHide:a})=>{const[u,f]=d.useState(!1),g=d.useRef(null),m=d.useRef(null),[p,S]=d.useState({top:0,left:0});d.useEffect(()=>{if(u&&g.current){const I=g.current.getBoundingClientRect(),B=I.left+Hn>window.innerWidth;S({top:I.bottom+6,...B?{right:window.innerWidth-I.right}:{left:I.left}})}},[u]),d.useEffect(()=>{if(!u)return;const I=B=>{m.current&&!m.current.contains(B.target)&&g.current&&!g.current.contains(B.target)&&f(!1)};return document.addEventListener("mousedown",I),()=>document.removeEventListener("mousedown",I)},[u]);const b=I=>{I(),f(!1)};return e.jsxs(e.Fragment,{children:[e.jsx("button",{ref:g,type:"button",className:"sa-tl-menu-trigger","data-active":t||u?"true":"false",onClick:I=>{I.stopPropagation(),f(B=>!B)},title:"Column options",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:"var(--sa-radii-sm, 6px)",border:Dr,background:"var(--sa-background-primary, #ffffff)",cursor:"pointer",color:"var(--sa-text-subtle, #8c8f97)",flexShrink:0},children:e.jsx(Vi,{sortDir:s,frozen:o})}),u&&e.jsxs(x.Box,{ref:m,onClick:I=>I.stopPropagation(),style:{position:"fixed",top:`${p.top}px`,...p.left!==void 0?{left:`${p.left}px`}:{right:`${p.right}px`},minWidth:Hn,backgroundColor:"var(--sa-background-primary, #ffffff)",border:Dr,borderRadius:"var(--sa-radii-sm, 6px)",boxShadow:"var(--sa-shadow-xl, 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a)",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:()=>b(()=>s==="asc"?l():i("asc"))}),e.jsx(Pt,{icon:"ChevronDown",label:"Descending",active:s==="desc",onClick:()=>b(()=>s==="desc"?l():i("desc"))}),e.jsx("div",{style:{borderTop:Dr,margin:"4px 0"}})]}),e.jsx(Pt,{icon:"Pin1",label:o?"Unfreeze":"Freeze",active:o,onClick:()=>b(c)}),n&&e.jsx(Pt,{icon:"EyeClosed",label:"Hide column",danger:!0,onClick:()=>b(a)})]})]})},kt="1px solid var(--sa-border-subtle, #0b120e24)",Ni="var(--sa-text-subtle, #8c8f97)",gt="var(--sa-background-neutral, #f0f1f2)",Pn="2px 0 4px -2px var(--sa-border-subtle, #0b120e24)",Bt=40,Sr="var(--sa-background-brand-subtlest)",Vt={display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},Vn="sa-table-layout-styles",_i=()=>{if(typeof document>"u"||document.getElementById(Vn))return;const t=document.createElement("style");t.id=Vn,t.textContent=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const cn=require("@starasia/alert"),Gt=require("@starasia/avatar"),it=require("@starasia/badges"),x=require("@starasia/box"),yt=require("@starasia/breadcrumb"),H=require("@starasia/button"),Fr=require("@starasia/card"),ht=require("@starasia/date"),Pe=require("@starasia/dialog"),Qt=require("@starasia/drawer"),jt=require("@starasia/dropdown"),ve=require("@starasia/hooks"),bt=require("@starasia/http"),dt=require("@starasia/input"),T=require("@starasia/menu"),Mt=require("@starasia/pagination"),Ft=require("@starasia/storage"),G=require("@starasia/table"),an=require("@starasia/tabs"),Mr=require("@starasia/textarea"),pt=require("@starasia/theme"),dn=require("@starasia/toast"),vt=require("@starasia/toggle"),Fe=require("@starasia/tooltip"),nt=require("@starasia/checkbox"),Ir=require("@starasia/radio"),v=require("@starasia/text"),E=require("@starasia/icon"),ce=require("@starasia/flex"),un=require("@starasia/grid"),xn=require("@starasia/progress"),hn=require("@starasia/stepper"),fn=require("@starasia/accordion"),mn=require("@starasia/story-record"),Ye=require("@starasia/skeleton"),gn=require("@starasia/progress-stepper"),e=require("react/jsx-runtime"),d=require("react"),Xt=require("react-dom"),ls=require("react-easy-crop"),cs={menus:[],menuBottom:void 0,logo:"",appName:"Workspace",userData:null,setUserData:()=>{}},zr=d.createContext(cs),Hr=()=>d.useContext(zr),Gn=t=>{const[r,n]=d.useState((t==null?void 0:t.initialUserData)||null);return{userData:r,setUserData:n}},Qn=d.createContext({badges:{},setBadge:()=>{},setBadges:()=>{},clearBadge:()=>{}}),Un=({children:t})=>{const[r,n]=d.useState({}),s=d.useCallback(c=>{n(a=>typeof c=="function"?c(a):c)},[]),o=d.useCallback((c,a)=>{n(u=>{const f=typeof a=="function"?a(u[c]):a;return{...u,[c]:f}})},[]),i=d.useCallback(c=>{n(a=>{if(!(c in a))return a;const u={...a};return delete u[c],u})},[]),l=d.useMemo(()=>({badges:r,setBadge:o,setBadges:s,clearBadge:i}),[r,o,s,i]);return e.jsx(Qn.Provider,{value:l,children:t})},Jn=()=>d.useContext(Qn),qt=(t,r)=>{const n=r!==void 0?r:t;return n==null?null:typeof n=="string"||typeof n=="number"?{value:n}:n},Pr=240,Vr=200,Nr=480,as="sa-sidebar-width",Lr=(t,r,n)=>Math.min(Math.max(t,r),n),ds=(t,r,n,s)=>{if(typeof window>"u")return r;try{const o=window.localStorage.getItem(t);if(!o)return r;const i=parseInt(o,10);return Number.isFinite(i)?Lr(i,n,s):r}catch{return r}},yn=(t,r)=>{if(!(typeof window>"u"))try{window.localStorage.setItem(t,String(r))}catch{}},Yn=d.createContext({collapsed:!1,setCollapsed:()=>{},toggle:()=>{},collapse:()=>{},expand:()=>{},width:Pr,setWidth:()=>{},resetWidth:()=>{},minWidth:Vr,maxWidth:Nr,mobileOpen:!1,setMobileOpen:()=>{},openMobile:()=>{},closeMobile:()=>{},toggleMobile:()=>{}}),Xn=({children:t,defaultCollapsed:r=!1,defaultWidth:n=Pr,minWidth:s=Vr,maxWidth:o=Nr,widthStorageKey:i=as})=>{const[l,c]=d.useState(r),[a,u]=d.useState(!1),[f,g]=d.useState(()=>ds(i,n,s,o)),m=d.useCallback(w=>{c(O=>typeof w=="function"?w(O):w)},[]),p=d.useCallback(()=>c(w=>!w),[]),S=d.useCallback(()=>c(!0),[]),b=d.useCallback(()=>c(!1),[]),I=d.useCallback(w=>{g(O=>{const L=typeof w=="function"?w(O):w,U=Lr(Math.round(L),s,o);return yn(i,U),U})},[s,o,i]),B=d.useCallback(()=>{const w=Lr(n,s,o);yn(i,w),g(w)},[n,s,o,i]),F=d.useCallback(w=>{u(O=>typeof w=="function"?w(O):w)},[]),C=d.useCallback(()=>u(!0),[]),D=d.useCallback(()=>u(!1),[]),A=d.useCallback(()=>u(w=>!w),[]),R=d.useMemo(()=>({collapsed:l,setCollapsed:m,toggle:p,collapse:S,expand:b,width:f,setWidth:I,resetWidth:B,minWidth:s,maxWidth:o,mobileOpen:a,setMobileOpen:F,openMobile:C,closeMobile:D,toggleMobile:A}),[l,m,p,S,b,f,I,B,s,o,a,F,C,D,A]);return e.jsx(Yn.Provider,{value:R,children:t})},$n=()=>d.useContext(Yn),Kn=d.createContext(null),eo=({adapter:t,children:r})=>e.jsx(Kn.Provider,{value:t,children:r}),ot=()=>{const t=d.useContext(Kn);if(!t)throw new Error("[@starasia/admin] Router adapter belum dipasang. Bungkus aplikasi dengan <App routerAdapter={...} /> atau <StarasiaRouterProvider adapter={...}>. Import adapter dari '@starasia/admin/adapters/react-router' atau '@starasia/admin/adapters/tanstack'.");return t},to=({router:t,routerAdapter:r,menus:n=[],menuBottom:s,logo:o,appName:i="Workspace",initialUserData:l,theme:c})=>{const a=Gn({initialUserData:l}),{theme:u}=pt.useTheme();return e.jsx(eo,{adapter:r,children:e.jsx(zr.Provider,{value:{logo:o,appName:i,menus:n,userData:a.userData,setUserData:a.setUserData,menuBottom:s},children:e.jsx(Un,{children:e.jsx(Xn,{children:c?e.jsx(pt.ThemeProvider,{value:c,children:t}):u?e.jsx(pt.ThemeProvider,{value:u,children:t}):t})})})})},us=d.memo(to);function ro({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:"var(--app-header-height, 4rem)",zIndex:1,borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",paddingLeft:t?"calc((var(--app-header-height, 4rem) - 2rem) / 2)":"0.5rem",paddingRight:t?"calc((var(--app-header-height, 4rem) - 2rem) / 2)":"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 _r=d.createContext(null);function no({children:t}){const[r,n]=d.useState(null),[s,o]=d.useState(null),[i,l]=d.useState(null),[c,a]=d.useState(0),u=d.useCallback(()=>(a(f=>f+1),()=>a(f=>f-1)),[]);return e.jsx(_r.Provider,{value:{prependNode:r,appendNode:s,replaceNode:i,setPrependNode:n,setAppendNode:o,setReplaceNode:l,replaceCount:c,registerReplace:u},children:t})}function oo({children:t}){const r=d.useContext(_r);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 xs({children:t,mode:r="append"}){const n=d.useContext(_r);if(d.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?Xt.createPortal(t,s):null}const qr=d.createContext(null);function so({children:t}){const[r,n]=d.useState({}),[s,o]=d.useState({}),i=d.useCallback((a,u)=>{n(f=>f[a]===u?f:{...f,[a]:u})},[]),l=d.useCallback(a=>(o(u=>({...u,[a]:(u[a]??0)+1})),()=>o(u=>({...u,[a]:Math.max(0,(u[a]??0)-1)}))),[]),c=d.useMemo(()=>({outletNodes:r,setOutletNode:i,slotCounts:s,registerSlot:l}),[r,i,s,l]);return e.jsx(qr.Provider,{value:c,children:t})}function io({slotKey:t,fallback:r}){const n=d.useContext(qr),s=n?(n.slotCounts[t]??0)>0:!1,o=d.useRef(n==null?void 0:n.setOutletNode);o.current=n==null?void 0:n.setOutletNode;const i=d.useCallback(l=>{var c;return(c=o.current)==null?void 0:c.call(o,t,l)},[t]);return e.jsx(e.Fragment,{children:s?e.jsx("div",{ref:i,style:{display:"contents"}}):r})}function hs({slotKey:t,children:r}){const n=d.useContext(qr),s=d.useRef(n==null?void 0:n.registerSlot);if(s.current=n==null?void 0:n.registerSlot,d.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?Xt.createPortal(r,o):null}const Ut="moduleSwitcherGroupId",Tr="sa-module-switcher-change";function pn(){if(typeof window>"u")return null;const t=window.localStorage.getItem(Ut);if(t===null)return null;const r=Number(t);return Number.isFinite(r)?r:null}function lo(t){typeof window>"u"||(t===null?window.localStorage.removeItem(Ut):window.localStorage.setItem(Ut,String(t)),window.dispatchEvent(new CustomEvent(Tr,{detail:t})))}function fs(){lo(null)}function Zr(){const[t,r]=d.useState(()=>pn());return d.useEffect(()=>{const s=()=>{r(pn())},o=i=>{i.key===Ut&&s()};return window.addEventListener(Tr,s),window.addEventListener("storage",o),()=>{window.removeEventListener(Tr,s),window.removeEventListener("storage",o)}},[]),{selectedGroupId:t,setSelectedGroupId:s=>{lo(s),r(s)}}}let zt=0,xt=!1,jn=new Set;function ms(t){const[r,n]=d.useState(!1),s=d.useRef(null),o=d.useRef(null);return d.useLayoutEffect(()=>{const i=s.current;if(!i)return;let l=0;const c=()=>{l=0;const u=o.current;if(!u)return;const f=u.scrollWidth>i.clientWidth;n(g=>g===f?g:f)},a=new ResizeObserver(()=>{l||(l=requestAnimationFrame(c))});return a.observe(i),c(),()=>{l&&cancelAnimationFrame(l),a.disconnect()}},[t]),{containerRef:s,textRef:o,truncated:r}}function bn({text:t,textStyle:r}){const{containerRef:n,textRef:s,truncated:o}=ms(t),i=e.jsx(v.Text,{ref:s,as:"span",fontSize:"md",fontWeight:"medium",truncate:!0,style:{display:"block",...r},children:t});return e.jsx(x.Box,{ref:n,display:"block",style:{flex:1,minWidth:0},children:o?e.jsx(Fe.Tooltip,{fluid:!0,label:t,position:"top",children:i}):i})}const gs=200,Or="var(--app-header-height, 4rem)",vn="44px",yr=`calc((${Or} - 2rem) / 2)`,Cn=16;function ys({children:t,headerLeftSlot:r,profile:n,isLoadingProfile:s,onLogout:o,isLoggingOut:i,loadingComponent:l,sidebarHeaderContent:c,headerActions:a,profileRole:u,profileMenuButtons:f,profileMenuItems:g,logoutButton:m,resizableSidebar:p=!0}){var at,ft;const{useSearchParams:S,useNavigate:b,useLocation:I,Outlet:B}=ot(),[F]=S(),C=F.get("embed")==="true",D=Hr(),{badges:A}=Jn(),R=b(),w=I(),L=!ve.useMediaQuery("md"),[U,J]=d.useState(!1),{collapsed:N,setCollapsed:_,width:X,setWidth:te,resetWidth:V,minWidth:z,maxWidth:P,mobileOpen:se,setMobileOpen:ye}=$n(),[Se,xe]=d.useState(!1),[pe,je]=d.useState(()=>new Set(jn)),[be,Te]=d.useState(null),{selectedGroupId:ke,setSelectedGroupId:ze}=Zr(),Y=N&&!L;d.useEffect(()=>{jn=pe},[pe]);const he=d.useRef(null),Oe=d.useRef(null),Ne=d.useRef(null),[ae,_e]=d.useState(!1),[tt,W]=d.useState(null),$=p&&!L&&!N,Q=k=>Math.min(Math.max(k,z),P),de=tt??X,ie=k=>{var De,Ee,He;if(!$)return;k.preventDefault();const q=k.clientX,K=((De=Ne.current)==null?void 0:De.getBoundingClientRect().width)??X;(He=(Ee=k.currentTarget).setPointerCapture)==null||He.call(Ee,k.pointerId),_e(!0),document.body.style.userSelect="none",document.body.style.cursor="col-resize";let we=0,Ie=K;const Ue=wt=>{Ie=K+(wt.clientX-q),we||(we=requestAnimationFrame(()=>{we=0,W(Q(Ie))}))},Ae=()=>{we&&cancelAnimationFrame(we),window.removeEventListener("pointermove",Ue),window.removeEventListener("pointerup",Ae),document.body.style.userSelect="",document.body.style.cursor="",W(null),_e(!1),Ie<gs?_(!0):te(Q(Ie))};window.addEventListener("pointermove",Ue),window.addEventListener("pointerup",Ae)},Be=k=>{$&&(k.key==="ArrowLeft"?(k.preventDefault(),te(q=>q-Cn)):k.key==="ArrowRight"?(k.preventDefault(),te(q=>q+Cn)):k.key==="Home"?(k.preventDefault(),te(z)):k.key==="End"&&(k.preventDefault(),te(P)))};d.useEffect(()=>{const k=he.current;if(!k)return;const q=()=>{xt||(zt=k.scrollTop)};return k.addEventListener("scroll",q),()=>k.removeEventListener("scroll",q)},[]);const Re=()=>{const k=he.current;k&&zt>0&&(xt=!0,k.scrollTop=zt,requestAnimationFrame(()=>{xt=!1}))};d.useLayoutEffect(()=>{xt=!0,Re();const k=setTimeout(()=>{xt=!1},300);return()=>clearTimeout(k)},[]),d.useLayoutEffect(()=>{D.menus.length>0&&(zt>0?Re():requestAnimationFrame(()=>{var q;const k=(q=he.current)==null?void 0:q.querySelector("[data-menu-active='true']");k&&k.scrollIntoView({block:"center",behavior:"instant"})}))},[D.menus]),d.useEffect(()=>{xt=!0,Re();const k=setTimeout(Re,0),q=setTimeout(Re,50),K=setTimeout(Re,100),we=setTimeout(Re,200),Ie=setTimeout(()=>{xt=!1},300),Ue=setTimeout(()=>{const Ae=he.current,De=Ae==null?void 0:Ae.querySelector("[data-menu-active='true']");if(Ae&&De){const Ee=Ae.getBoundingClientRect(),He=De.getBoundingClientRect();He.top>=Ee.top&&He.bottom<=Ee.bottom||De.scrollIntoView({block:"center",behavior:"smooth"})}},250);return()=>{clearTimeout(k),clearTimeout(q),clearTimeout(K),clearTimeout(we),clearTimeout(Ie),clearTimeout(Ue)}},[w.pathname]),d.useEffect(()=>{Oe.current&&(Oe.current.scrollTop=0)},[w.pathname]),d.useEffect(()=>{L&&ye(!1)},[w.pathname,L]),d.useEffect(()=>{L&&_(!0)},[L]),d.useEffect(()=>{const k=document.documentElement;return k.style.setProperty("--app-header-height",vn),()=>{k.style.removeProperty("--app-header-height")}},[]);const $e=()=>{J(!0)},qe=()=>{J(!1)},Me=()=>{J(!1),o()},Qe=k=>{const q=[k.to];return k.children&&q.push(...k.children.map(K=>K.to)),q},Ce=[...D.menus.flatMap(k=>k.items.flatMap(Qe)),...((at=D.menuBottom)==null?void 0:at.flatMap(Qe))??[]],Ze=k=>{if(!w.pathname.startsWith(k))return!1;const q=Ce.filter(K=>w.pathname.startsWith(K)).sort((K,we)=>we.length-K.length)[0];return k===q};d.useEffect(()=>{var q;const k=K=>{var we;(we=K.children)!=null&&we.some(Ie=>w.pathname.startsWith(Ie.to))&&je(Ie=>{const Ue=new Set(Ie);return Ue.add(K.id),Ue})};D.menus.forEach(K=>{K.items.forEach(k)}),(q=D.menuBottom)==null||q.forEach(k)},[w.pathname,D.menus,D.menuBottom]);const rt=k=>{je(q=>{const K=new Set(q);return K.has(k)?K.delete(k):K.add(k),K})};d.useEffect(()=>{D.menus.length!==0&&ke!==null&&!D.menus.some(k=>k.id===ke)&&ze(null)},[D.menus,ke,ze]);const ut=d.useMemo(()=>{if(ke!==null)return D.menus.filter(K=>K.id===ke||K.parentGroupId===ke);const k=D.menus.filter(K=>K.parentGroupId===void 0),q=D.menus.filter(K=>K.parentGroupId!==void 0).flatMap(K=>K.items);return q.length===0?k:[...k,{id:18,name:"Pengaturan",items:q,parentGroupId:void 0}]},[D.menus,ke]);if(C)return e.jsx(x.Box,{as:"main",overflow:"overflow-y-auto",bg:"surface-inverse",style:{height:"100vh"},children:t||e.jsx(B,{})});const ct=k=>{const q=k.children&&k.children.length>0,K=pe.has(k.id),we=q?k.children.some(Ae=>Ze(Ae.to)):Ze(k.to),Ie=qt(k.badge,A[k.id]),Ue=!!Ie&&N&&!L;return e.jsxs(x.Box,{display:"block","data-menu-active":we||void 0,children:[e.jsxs(x.Box,{as:"button",onClick:Ae=>{if(q)if(N&&!L){const De=Ae.currentTarget.getBoundingClientRect();Te({item:k,top:De.top,left:De.right+8})}else rt(k.id);else R(k.to)},fullWidth:!0,direction:"row",align:"center",justify:N&&!L?"center":void 0,gap:"sm",paddingInline:N&&!L?void 0:"sm",paddingBlock:"xs",height:"height-32",borderRadius:we?"rounded-sm":"rounded-md",borderWidth:"border",borderStyle:"border-solid",bg:we?"white":void 0,hover:we?void 0:{bg:"neutral"},title:N&&!L?k.title:void 0,style:{textAlign:"left",color:"var(--sa-text-primary, #292a2e)",borderColor:we?"var(--sa-border-subtle, #0b120e24)":"transparent"},children:[e.jsxs(x.Box,{position:"relative",display:"inline-flex",flexShrink:"0",style:{alignItems:"center"},children:[e.jsx(E.Icon,{name:k.icon,size:"sm",style:{flexShrink:0}}),Ue&&e.jsx(x.Box,{"aria-hidden":"true",position:"absolute",top:"top-n2",right:"right-n2",display:"inline-flex",borderRadius:"rounded-full",style:{boxShadow:"0 0 0 1px var(--sa-background-primary, #ffffff)"},children:e.jsx(it.BadgeDot,{tone:"error",variant:"solid",size:"xs"})})]}),(!N||L)&&e.jsxs(e.Fragment,{children:[e.jsx(bn,{text:k.title,textStyle:{transition:"opacity 0.3s"}}),Ie&&e.jsx(it.Badge,{text:String(Ie.value),variant:Ie.variant??"info",size:"xs",border:!0}),q&&e.jsx(E.Icon,{name:"ChevronDown",size:"sm",style:{flexShrink:0,transition:"transform 0.2s",transform:K?"rotate(180deg)":"rotate(0deg)"}})]})]}),q&&(!N||L)&&(()=>{const Ae=k.children.findIndex(De=>Ze(De.to));return e.jsxs(x.Box,{position:"relative",overflow:"overflow-hidden",style:{marginLeft:"1rem",paddingLeft:"0.75rem",transition:"all 0.3s ease-in-out",maxHeight:K?`${k.children.length*36}px`:"0px",opacity:K?1:0,marginTop:K?"0.25rem":"0px"},children:[e.jsx(x.Box,{"aria-hidden":"true",position:"absolute",left:"left-0",top:"top-0",fullHeight:!0,style:{width:"1.5px",backgroundColor:"var(--sa-border-subtle, #0b120e24)",pointerEvents:"none"}}),Ae>=0&&e.jsx(x.Box,{"aria-hidden":"true",position:"absolute",left:"left-0",height:"height-32",zIndex:"10",style:{top:`${Ae*32}px`,width:"1.5px",backgroundColor:"var(--sa-text-primary, #292a2e)",transition:"top 0.2s ease-in-out",pointerEvents:"none"}}),k.children.map(De=>{const Ee=qt(De.badge,A[De.id]),He=Ze(De.to);return e.jsxs(x.Box,{as:"button",onClick:()=>R(De.to),fullWidth:!0,direction:"row",align:"center",gap:"sm",paddingLeft:"sm",paddingRight:"sm",paddingBlock:"xs",height:"height-32",borderRadius:He?"rounded-sm":"rounded-md",borderWidth:"border",borderStyle:"border-solid",bg:He?"white":void 0,hover:He?void 0:{bg:"neutral"},style:{textAlign:"left",color:He?"var(--sa-text-primary, #292a2e)":"var(--sa-text-subtle, #505258)",borderColor:He?"var(--sa-border-subtle, #0b120e24)":"transparent"},children:[e.jsx(E.Icon,{name:De.icon,size:"sm",style:{flexShrink:0}}),e.jsx(bn,{text:De.title}),Ee&&e.jsx(it.Badge,{text:String(Ee.value),variant:Ee.variant??"info",size:"xs",border:!0})]},De.id)})]})})()]},k.id)};return e.jsx(so,{children:e.jsxs(no,{children:[e.jsxs(x.Box,{direction:"row",position:"relative",style:{height:"100vh","--app-header-height":vn,"--app-sidebar-width":L?"0px":N?Or:`${de}px`,"--app-footer-zindex":L&&se?"40":"998"},children:[L&&e.jsx(x.Box,{position:"fixed",zIndex:"40",bg:"black-alpha-a50",style:{inset:0,opacity:se?.5:0,pointerEvents:se?"auto":"none",transition:"opacity 0.3s"},onClick:()=>ye(!1)}),e.jsxs(x.Box,{as:"aside",ref:Ne,bg:"surface-inverse",borderWidth:"border-r",borderStyle:"border-solid-r",borderColor:"border-base",flexShrink:L?void 0:"0",style:{width:L?"16.375rem":N?Or:`${de}px`,position:L?"fixed":"relative",...L&&{inset:0,zIndex:50,transform:se?"translateX(0)":"translateX(-100%)"},transition:ae?"none":"all 0.3s ease-in-out",minWidth:0},children:[e.jsx(x.Box,{onMouseEnter:()=>xe(!0),onMouseLeave:()=>xe(!1),direction:"row",align:"center",justify:"space-between",paddingInline:Y?void 0:"lg",borderWidth:"border-b",borderStyle:"border-solid-b",borderColor:"border-base",position:"relative",style:{height:"var(--app-header-height, 4rem)",...Y?{paddingInline:yr}:null},children:(()=>{const k=!L&&N&&!se,q=k&&Se;return e.jsxs(e.Fragment,{children:[e.jsxs(x.Box,{direction:"row",align:"center",gap:"sm",flex:k?"1":void 0,justify:k?"center":void 0,style:{transition:"opacity 0.2s",opacity:q?0:1,pointerEvents:q?"none":"auto"},children:[e.jsx("img",{src:D.logo,alt:"Logo",style:{width:"1.5rem",height:"1.5rem",flexShrink:0}}),(!N||se)&&e.jsx(v.Text,{as:"span",fontSize:"md",fontWeight:"semibold",color:"primary",truncate:!0,style:{transition:"opacity 0.3s"},children:D.appName})]}),!L&&!N&&e.jsx(x.Box,{as:"button",onClick:()=>_(!0),"aria-label":"Collapse sidebar",display:"inline-flex",align:"center",justify:"center",flexShrink:"0",style:{color:"var(--sa-text-subtle, #8c8f97)"},children:e.jsx(E.Icon,{name:"LayoutLeft",size:"sm"})}),k&&e.jsx(x.Box,{as:"button",onClick:()=>_(!1),"aria-label":"Expand sidebar",position:"absolute",display:"inline-flex",align:"center",justify:"center",width:"width-32",height:"height-32",bg:"white",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",borderRadius:"rounded-sm",style:{top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:"var(--sa-text-primary, #292a2e)",opacity:q?1:0,pointerEvents:q?"auto":"none",transition:"opacity 0.2s"},children:e.jsx(E.Icon,{name:"LayoutLeft",size:"sm"})}),L&&e.jsx(x.Box,{as:"button",onClick:()=>ye(!1),"aria-label":"Close menu",align:"center",justify:"center",borderRadius:"rounded-md",style:{padding:"0.375rem",color:"var(--sa-text-subtle, #8c8f97)"},children:e.jsx(E.Icon,{name:"Cross",size:"md"})})]})})()}),c&&e.jsx(ro,{collapsed:L?!1:N,children:c}),e.jsx(x.Box,{ref:he,flex:"1",overflow:"overflow-y-auto",paddingBlock:"lg",children:ut.map(k=>e.jsxs(x.Box,{marginBottom:"lg",children:[!N||L?k.name&&e.jsx(v.Text,{fontSize:"sm",fontWeight:"semibold",color:"subtlest",textTransform:"uppercase",truncate:!0,style:{letterSpacing:"0.06em",paddingLeft:"1.25rem",paddingRight:"0.75rem",paddingBottom:"0.25rem",transition:"opacity 0.3s"},children:k.name}):k.name&&e.jsx(x.Box,{"aria-label":k.name,direction:"row",align:"center",justify:"center",paddingBlock:"md",children:e.jsx(x.Box,{width:"width-16",style:{height:"2px",borderRadius:"1px",backgroundColor:k.color??"var(--sa-background-brand, #04254f)"}})}),e.jsx(x.Box,{paddingInline:Y?void 0:"md",gap:"xs",style:Y?{paddingInline:yr}:void 0,children:k.slotKey?e.jsx(io,{slotKey:k.slotKey,fallback:k.items.map(q=>ct(q))}):k.items.map(q=>ct(q))})]},k.id))}),D.menuBottom&&D.menuBottom.length>0&&e.jsx(x.Box,{borderWidth:"border-t",borderStyle:"border-solid-t",borderColor:"border-base",paddingBlock:"md",paddingInline:Y?void 0:"md",bg:"surface-inverse",gap:"xs",flexShrink:"0",style:Y?{paddingInline:yr}:void 0,children:D.menuBottom.map(k=>ct(k))}),$&&e.jsx(x.Box,{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar","aria-valuenow":X,"aria-valuemin":z,"aria-valuemax":P,tabIndex:0,onPointerDown:ie,onKeyDown:Be,onDoubleClick:V,title:"Drag to resize · double-click to reset",position:"absolute",top:"top-0",right:"right-0",fullHeight:!0,style:{width:"6px",transform:"translateX(50%)",cursor:"col-resize",zIndex:5,touchAction:"none",background:ae?"var(--sa-background-brand, #04254f)":"transparent",transition:"background 0.15s"},onMouseEnter:k=>{ae||(k.currentTarget.style.background="var(--sa-border-bold, #0b120e40)")},onMouseLeave:k=>{ae||(k.currentTarget.style.background="transparent")}})]}),e.jsxs(x.Box,{flex:"1",overflow:"overflow-hidden",children:[e.jsxs(x.Box,{as:"header",bg:"white",borderWidth:"border-b",borderStyle:"border-solid-b",borderColor:"border-base",direction:"row",align:"center",justify:"space-between",paddingInline:"lg",flexShrink:"0",style:{height:"var(--app-header-height, 4rem)"},children:[e.jsxs(x.Box,{direction:"row",align:"center",gap:L?"lg":void 0,children:[L&&e.jsx(x.Box,{as:"button",onClick:()=>ye(!0),align:"center",justify:"center",borderRadius:"rounded-md",style:{padding:"0.375rem",color:"var(--sa-text-subtle, #8c8f97)"},children:e.jsx(E.Icon,{name:"MenuBurger",size:"lg"})}),e.jsx(oo,{children:r})]}),e.jsxs(x.Box,{direction:"row",align:"center",gap:"md",children:[a,e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsxs(x.Box,{direction:"row",align:"center",gap:"sm",cursor:"pointer",children:[e.jsxs(x.Box,{display:"block",textAlign:"right",customMaxWidth:"12.5rem",children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"subtle",textAlign:"right",truncate:!0,lineHeight:"leading-none",children:s?"Loading...":(n==null?void 0:n.name)||"unknown"}),e.jsx(v.Text,{fontSize:"sm",color:"subtle",textAlign:"right",truncate:!0,children:s?"":(n==null?void 0:n.email)||"unknown"})]}),e.jsx(Gt.Avatar,{size:"sm",initials:((n==null?void 0:n.name)||"U")[0].toUpperCase(),bg:"var(--sa-background-brand, #04254f)",color:"var(--sa-background-primary, #ffffff)"}),e.jsx(E.Icon,{name:"ChevronDown",size:"xs",color:"subtle"})]})}),e.jsxs(T.MenuLists,{width:280,style:{paddingBlock:"12px",paddingInline:"12px",gap:"8px",marginTop:"16px"},children:[e.jsx(T.MenuHeading,{children:e.jsxs(x.Box,{align:"center",textAlign:"center",paddingBlock:"sm",fullWidth:!0,children:[e.jsx(Gt.Avatar,{customSize:64,initials:((n==null?void 0:n.name)||"U")[0].toUpperCase(),bg:"var(--sa-background-brand, #04254f)",color:"var(--sa-background-primary, #ffffff)",style:{fontSize:"1.25rem",marginBottom:"0.75rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)"}}),e.jsx(v.Text,{fontSize:"md",fontWeight:"semibold",color:"primary",textAlign:"center",truncate:!0,style:{maxWidth:"100%"},children:(n==null?void 0:n.name)||"unknown"}),e.jsx(v.Text,{fontSize:"sm",color:"subtle",textAlign:"center",truncate:!0,style:{maxWidth:"100%"},children:(n==null?void 0:n.email)||"unknown"}),u&&e.jsx(v.Text,{fontSize:"sm",color:"subtle",textAlign:"center",truncate:!0,style:{maxWidth:"100%"},children:u})]})}),(f&&f.length>0||g)&&e.jsxs(T.MenuBody,{children:[f==null?void 0:f.map((k,q)=>e.jsx(T.MenuItem,{onClick:k.onClick,startIcon:e.jsx(E.Icon,{name:k.icon,size:"md"}),children:k.label},`${k.label}-${q}`)),g]}),m??e.jsx(T.MenuFooter,{children:e.jsx(T.MenuItem,{intent:"danger",onClick:$e,startIcon:e.jsx(E.Icon,{name:"Logout",size:"md"}),children:"Logout"})})]})]})]})]}),e.jsx(x.Box,{as:"main",ref:Oe,flex:"1",overflow:"overflow-y-auto",children:t||e.jsx(B,{})})]})]}),i&&l&&e.jsx(x.Box,{position:"fixed",align:"center",justify:"center",bg:"black-alpha-a70",style:{inset:0,zIndex:9999},children:l}),e.jsxs(Pe.Dialog,{isShow:U,onHide:qe,children:[e.jsx(Pe.DialogTitle,{children:"Confirmation Logout"}),e.jsx(Pe.DialogBody,{children:"Are you sure you want to end the session and exit the page?"}),e.jsx(Pe.DialogFooter,{children:e.jsx(x.Box,{direction:"column",display:"flex",align:"flex-end",justify:"center",children:e.jsxs(ce.Flex,{direction:"row",gap:"sm",align:"center",children:[e.jsx(x.Box,{direction:"column",children:e.jsx(H.Button,{secondary:!0,onClick:qe,children:"Cancel"})}),e.jsx(x.Box,{direction:"column",children:e.jsx(H.Button,{primary:!0,onClick:Me,children:"Yes, Sure"})})]})})})]}),be&&e.jsxs(e.Fragment,{children:[e.jsx(x.Box,{onClick:()=>Te(null),position:"fixed",style:{inset:0,zIndex:60}}),e.jsxs(x.Box,{role:"dialog","aria-label":be.item.title,position:"fixed",bg:"white",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",borderRadius:"rounded-md",shadow:"shadow-lg",padding:"sm",gap:"spacing-2",style:{top:be.top,left:be.left,zIndex:61,minWidth:"13rem",maxWidth:"16rem"},children:[e.jsx(v.Text,{fontSize:"sm",fontWeight:"semibold",color:"gray-500",textTransform:"uppercase",style:{padding:"0.25rem 0.5rem 0.5rem",letterSpacing:"0.05em"},children:be.item.title}),(ft=be.item.children)==null?void 0:ft.map(k=>{const q=Ze(k.to),K=qt(k.badge,A[k.id]);return e.jsxs(x.Box,{as:"button",onClick:()=>{R(k.to),Te(null)},fullWidth:!0,direction:"row",align:"center",gap:"md",paddingBlock:"sm",paddingInline:"md",borderRadius:"rounded-md",borderWidth:"border",borderStyle:"border-solid",bg:q?"primary-inverse":void 0,hover:q?void 0:{bg:"primary-inverse"},style:{textAlign:"left",borderColor:"transparent",color:q?"var(--sa-text-primary, #292a2e)":"var(--sa-color-gray-800, #505258)"},children:[k.icon&&e.jsx(E.Icon,{name:k.icon,size:"sm",style:{flexShrink:0}}),e.jsx(v.Text,{as:"span",fontSize:"md",fontWeight:"medium",whiteSpace:"nowrap",style:{flex:1},children:k.title}),K&&e.jsx(it.Badge,{text:String(K.value),variant:K.variant??"info",size:"xs",border:!0})]},k.id)})]})]})]})})}const Tt=d.forwardRef(({children:t,...r},n)=>e.jsx(x.Box,{ref:n,role:"button",cursor:"pointer","aria-pressed":"true",display:"inline-block",tabIndex:0,...r,children:t})),wn=({title:t,iconName:r,textColor:n,iconColor:s,hoverTextColor:o,hoverIconColor:i})=>{const[l,c]=d.useState(!1),a=s??"var(--sa-text-subtle, #8c8f97)",u=n??"var(--sa-text-subtle, #8c8f97)",f=i??"var(--sa-text-subtle, #8c8f97)",g=o??"var(--sa-text-primary, #292a2e)";return e.jsxs(x.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),style:{cursor:"pointer"},children:[e.jsx(E.Icon,{name:r||"ChevronLeft",size:"xs",style:{color:l?f:a,transition:"color 0.15s ease"}}),e.jsx(v.Text,{variant:"sub-h3",style:{color:l?g:u,transition:"color 0.15s ease"},children:t||"Back"})]})},ps=({items:t,separator:r="/",iconName:n,iconColor:s,hoverIconColor:o})=>{const{Link:i}=ot(),[l,c]=d.useState(!1),a=s??"var(--sa-text-subtle, #8c8f97)",u=o??"var(--sa-text-subtle, #8c8f97)",f=t.length>1?t[0]:void 0,g=!!(f!=null&&f.to||f!=null&&f.onClick),m=e.jsx(E.Icon,{name:n||"ChevronLeft",size:"xs",onMouseEnter:g?()=>c(!0):void 0,onMouseLeave:g?()=>c(!1):void 0,style:{color:g&&l?u:a,transition:"color 0.15s ease",cursor:g?"pointer":void 0}}),p=f!=null&&f.to?e.jsx(i,{to:f.to,replace:!0,style:{textDecoration:"none"},children:m}):f!=null&&f.onClick?e.jsx(Tt,{onClick:f.onClick,children:m}):m;return e.jsxs(x.Box,{direction:"row",gap:"xs",align:"center",children:[p,e.jsx(yt.Breadcrumb,{separator:r,size:"md",children:t.map((S,b)=>{const I=b===t.length-1;return S.to&&!I?e.jsx(yt.BreadcrumbItem,{children:e.jsx(i,{to:S.to,children:S.label})},b):e.jsx(yt.BreadcrumbItem,{currentPage:I,children:e.jsx(yt.BreadcrumbLink,{onClick:I?void 0:S.onClick,children:S.label})},b)})})]})},js=t=>{const{Link:r}=ot(),{items:n,separator:s,onClick:o,navigateTo:i,...l}=t;return n&&n.length>0?e.jsx(ps,{items:n,separator:s,iconName:l.iconName,iconColor:l.iconColor,hoverIconColor:l.hoverIconColor}):i?e.jsx(x.Box,{direction:"row",children:e.jsx(r,{to:i,replace:!0,style:{textDecoration:"none"},children:e.jsx(wn,{...l})})}):e.jsx(x.Box,{direction:"row",children:e.jsx(Tt,{onClick:o,children:e.jsx(wn,{...l})})})},pr=[{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 Dn(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 Sn={fontSize:"11px",fontWeight:500,textAlign:"center",overflowWrap:"normal",wordBreak:"normal",color:"var(--sa-background-primary, #ffffff)",lineHeight:"1.3",maxWidth:"80px"},kn={display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",background:"none",border:"none",cursor:"pointer",padding:0};function co({isShow:t,onHide:r,menus:n,selectedGroupId:s,onSelect:o}){const[i,l]=d.useState(void 0),c=u=>{o(u),r()},a=pr[0];return e.jsx(Pe.Dialog,{isShow:t,onHide:r,style:{width:560,background:"transparent",boxShadow:"none",border:"none"},children:e.jsx(Pe.DialogBody,{children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"16px"},children:[e.jsxs("button",{onClick:()=>c(null),onMouseEnter:()=>l("all"),onMouseLeave:()=>l(void 0),style:kn,children:[e.jsx("div",{style:Dn(s===null,i==="all",a),children:e.jsx("div",{style:{color:a.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(E.Icon,{name:"Grid",size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:Sn,children:"Semua"})]}),n.map((u,f)=>{var b;const g=s===u.id,m=i===u.id,p=((b=u.items[0])==null?void 0:b.icon)??"Grid",S=pr[(f+1)%pr.length];return e.jsxs("button",{onClick:()=>c(u.id),onMouseEnter:()=>l(u.id),onMouseLeave:()=>l(void 0),style:kn,children:[e.jsx("div",{style:Dn(g,m,S),children:e.jsx("div",{style:{color:S.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(E.Icon,{name:p,size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:Sn,children:u.name})]},u.id)})]})})})}function bs({onSelect:t,"aria-label":r="Pilih module"}={}){const n=Hr(),{useNavigate:s}=ot(),o=s(),{selectedGroupId:i,setSelectedGroupId:l}=Zr(),[c,a]=d.useState(!1),u=f=>{var g;if(l(f),f!==null){const m=n.menus.find(S=>S.id===f),p=(g=m==null?void 0:m.items[0])==null?void 0:g.to;p&&o(p)}t==null||t(f)};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{position:"relative"},children:[e.jsx("button",{onClick:()=>a(!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:f=>{f.currentTarget.style.backgroundColor="var(--sa-background-primary-inverse, #f8f8f8)"},onMouseLeave:f=>{f.currentTarget.style.backgroundColor="transparent"},children:e.jsx(E.Icon,{name:"GridApplication",size:"sm"})}),i!==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(co,{isShow:c,onHide:()=>a(!1),menus:n.menus.filter(f=>f.parentGroupId===void 0),selectedGroupId:i,onSelect:u})]})}const vs=(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},Cs=d.memo(({value:t,label:r,separator:n,labelWidth:s,lastIndex:o,labelAlign:i="top"})=>{const l=d.useMemo(()=>({padding:0,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),c=d.useMemo(()=>({padding:0,paddingRight:12,paddingLeft:12,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),a=()=>typeof r=="string"?e.jsx(v.Text,{fontWeight:"medium",color:"subtlest",children:r}):r,u=()=>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:l,width:s,children:a()}),n?e.jsx(G.Td,{style:c,width:24,children:f()}):null,e.jsx(G.Td,{style:l,children:u()})]})}),ws=d.memo(({fields:t,separator:r,labelWidth:n})=>e.jsx(G.Table,{withColumnBorder:!1,withRowBorder:!1,children:t.map((s,o)=>e.jsx(Cs,{separator:r,labelWidth:n,lastIndex:o===t.length-1,...s},`field-group-field-${o}`))})),Ds=d.memo(({maxRow:t=0,maxColumn:r=2,separator:n=":",fields:s=[],labelWidth:o=150,bordered:i=!1})=>{const l=d.useMemo(()=>vs(s,t),[s,t]),c=l.length>2,a=()=>{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(x.Box,{gap:c?void 0:"lg",direction:"row",flexWrap:"wrap",borderRadius:"rounded-sm",padding:"lg",paddingBottom:c?"xs":"lg",bg:"accent-dark-tertiary",borderWidth:i?"border":void 0,borderStyle:i?"border-solid":void 0,borderColor:i?"border-subtle":void 0,children:l.map((u,f)=>e.jsx(x.Box,{direction:"column",flex:c?void 0:"1",width:c?a():void 0,marginBottom:c?"lg":void 0,children:e.jsx(ws,{labelWidth:o,fields:u,separator:n})},f))})}),Ss=({backButton:t})=>{const[r,n]=d.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)",l=(t==null?void 0:t.hoverTextColor)??"var(--sa-text-primary, #292a2e)";return e.jsxs(x.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{cursor:"pointer"},children:[e.jsx(E.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?l:o,textDecoration:r?"underline":"none",transition:"color 0.15s ease"},children:(t==null?void 0:t.title)||"Back"})]})},ks=({backButton:t,title:r,titleIcon:n,titleTag:s,children:o,header:i=!0,headerBorder:l=!1,disableAnimation:c=!1,scrollable:a=!1,stickyHeader:u=!1,subHeaders:f,action:g,titleTagProps:m,containerProps:p,headerProps:S})=>{const b=ve.useMediaQuery("md"),{Link:I,useNavigate:B,useLocation:F}=ot(),C=B(),D=F(),A=t==null?void 0:t.show,R=()=>{if(typeof(t==null?void 0:t.onClick)=="function"){t.onClick();return}C(-1,{replace:!0})},w=()=>{if(!g)return null;if(d.isValidElement(g))return g;const _=g.filter(X=>X&&(X.title||X.icon));return _.length===0?null:b?e.jsx(x.Box,{direction:"row",gap:"md",children:_.map(({title:X,icon:te,buttonProps:V,onClick:z},P)=>e.jsx(H.Button,{iconLeft:te?e.jsx(E.Icon,{name:te,size:"md"}):void 0,onClick:z,...V,children:X},`action-${P}`))}):e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"tertiary",size:"sm",iconLeft:e.jsx(E.Icon,{name:"MenuBurger"}),"aria-label":"Actions"})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{minWidth:200},children:_.map(({title:X,icon:te,buttonProps:V,onClick:z},P)=>{const se=(V==null?void 0:V.tone)==="error"||(V==null?void 0:V.danger)===!0;return e.jsx(T.MenuItem,{intent:se?"danger":void 0,disabled:V==null?void 0:V.disabled,startIcon:te?e.jsx(E.Icon,{name:te}):void 0,onClick:z,children:X},`action-${P}`)})})})]})},O=()=>{const _=e.jsx(Ss,{backButton:t});return t!=null&&t.navigateTo?e.jsx(x.Box,{direction:"row",children:e.jsx(I,{to:t.navigateTo,replace:!0,style:{textDecoration:"none"},children:_})}):e.jsx(x.Box,{direction:"row",children:e.jsx(Tt,{onClick:R,children:_})})},L=()=>{const _=!!r,X=Array.isArray(g)&&g.length>0,te=d.isValidElement(g)?!0:X;if(!_&&!te&&!A)return null;const z=b||!b&&X;return e.jsxs(x.Box,{direction:"column",gap:"xs",paddingBlock:(S==null?void 0:S.paddingBlock)??"sm",paddingInline:(S==null?void 0:S.paddingInline)??"md",...S,style:{...l?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...S==null?void 0:S.style},children:[A&&O(),(_||te)&&e.jsxs(x.Box,{direction:z?"row":"column",gap:"sm",justify:"space-between",align:z?"center":"flex-start",children:[_?typeof r=="string"?e.jsxs(x.Box,{direction:"row",gap:"lg",align:"center",children:[e.jsxs(x.Box,{direction:"row",gap:"sm",align:"center",children:[n&&e.jsx(E.Icon,{name:n,size:"md",color:"primary"}),e.jsx(v.Text,{variant:"h3",fontWeight:"semibold",children:r})]}),s&&e.jsx(it.Badge,{border:!0,size:"lg",text:s,...m})]}):r:null,w()]})]})},U=()=>{if(!f||f.length===0)return null;const _=f.filter(V=>V.show!==!1);if(_.length===0)return null;let X=0,te=-1/0;return _.forEach((V,z)=>{const P=V.order??0;P>=te&&(te=P,X=z)}),_.map(({content:V,order:z,borderBottom:P=!0,keepBottomPadding:se=!1,paddingInline:ye=!0,paddingBlock:Se=!0},xe)=>e.jsx(x.Box,{direction:"column",paddingTop:Se?"sm":"spacing-0",paddingBottom:Se&&(P||se||xe===X)?"sm":"spacing-0",paddingInline:ye?"md":"spacing-0",style:{...P?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...z!==void 0?{order:z}:{}},children:V},`sub-header-${xe}`))},J=()=>{const _=i?L():null,X=U();return!_&&!X?null:e.jsxs(x.Box,{direction:"column",style:{...a?{position:"sticky",left:0,...u?{top:0}:{},zIndex:2,background:"var(--sa-background-primary, #ffffff)"}:{},marginBottom:X?"var(--sa-spacing-0)":"var(--sa-spacing-md)"},children:[_,X]})},N=()=>o;return e.jsxs(x.Box,{direction:"column",as:"main",...p,style:{...a?{height:"100%",minHeight:0,overflow:"auto"}:{},...(p==null?void 0:p.style)??{},...c?{}:{animation:"pageLayoutEnter 320ms cubic-bezier(0.16, 1, 0.3, 1) backwards"}},children:[J(),N()]},D.pathname)},Bs=d.memo(ks),Es={icon:"Cross",title:""},Fs=320,Bn=16,En=4,Ms=8,ao=d.forwardRef(({onHide:t,show:r,withBlur:n=!1,style:s,children:o,closeButton:i=Es,paddingHorizontal:l=!0,width:c,minWidth:a,maxWidth:u,hideBackdrop:f=!1,title:g,headerAction:m,header:p=!0,widthPresets:S,resizable:b=!0,resizeMin:I=Fs,resizeMax:B,onWidthChange:F},C)=>{const A=!ve.useMediaQuery("md"),R=c??u??a??"357px",w=S??[],O=w.length>1,[L,U]=d.useState(()=>{const Y=w.indexOf(R);return Y>=0?Y:0}),[J,N]=d.useState(null),[_,X]=d.useState(!1),[te,V]=d.useState(!1),z=d.useRef(null),P=Y=>{z.current=Y,typeof C=="function"?C(Y):C&&(C.current=Y)},se=O?w[L]:R,ye=J!=null?`${J}px`:se,Se=b&&!A,xe=L===w.length-1,pe=()=>{const Y=(L+1)%w.length;N(null),U(Y),F==null||F(w[Y])},je=d.useCallback(Y=>{const he=B??window.innerWidth;return Math.min(Math.max(Y,I),he)},[I,B]),be=d.useRef(null),Te=Y=>{if(!Se)return;Y.preventDefault();const he=Y.currentTarget;he.setPointerCapture(Y.pointerId),X(!0);const Oe=document.body.style.cursor,Ne=document.body.style.userSelect;document.body.style.cursor="col-resize",document.body.style.userSelect="none";let ae=null;const _e=W=>{const $=je(window.innerWidth-W.clientX);be.current=$,ae==null&&(ae=window.requestAnimationFrame(()=>{ae=null,be.current!=null&&N(be.current)}))},tt=W=>{ae!=null&&window.cancelAnimationFrame(ae),be.current!=null&&N(be.current),he.releasePointerCapture(W.pointerId),he.removeEventListener("pointermove",_e),he.removeEventListener("pointerup",tt),he.removeEventListener("pointercancel",tt),document.body.style.cursor=Oe,document.body.style.userSelect=Ne,X(!1),be.current!=null&&(F==null||F(`${be.current}px`))};he.addEventListener("pointermove",_e),he.addEventListener("pointerup",tt),he.addEventListener("pointercancel",tt)},ke=Y=>{var ae;if(!Se||Y.key!=="ArrowLeft"&&Y.key!=="ArrowRight")return;Y.preventDefault();const he=Y.key==="ArrowLeft"?Bn:-Bn,Oe=J??((ae=z.current)==null?void 0:ae.offsetWidth)??I,Ne=je(Oe+he);N(Ne),F==null||F(`${Ne}px`)},ze=()=>{Se&&(N(null),F==null||F(se))};return e.jsx(Qt.Drawer,{blur:n,isShow:r,position:"right",onHide:t,ref:P,size:ye,style:s,flush:!0,radius:"none",hideBackdrop:f,children:e.jsxs(x.Box,{direction:"column",height:"height-full",children:[Se?e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Ubah lebar panel",tabIndex:0,onPointerDown:Te,onKeyDown:ke,onDoubleClick:ze,title:"Tarik untuk mengubah lebar — klik dua kali untuk reset",onPointerEnter:()=>V(!0),onPointerLeave:()=>V(!1),style:{position:"absolute",left:0,top:0,bottom:0,width:Ms,cursor:"col-resize",zIndex:1,background:_||te?`linear-gradient(to right, var(--sa-border-brand, var(--sa-border-subtle)) 0 ${En}px, transparent ${En}px)`:"transparent",transition:"background 0.15s",touchAction:"none"}}):null,p?e.jsxs(x.Box,{direction:"row",align:"center",justify:"space-between",gap:"sm",paddingInline:"md",borderWidth:"border-b",borderStyle:"border-solid-b",borderColor:"border-base",customHeight:"var(--app-header-height, 44px)",flexShrink:"0",children:[e.jsx(x.Box,{direction:"row",align:"center",gap:"sm",overflow:"overflow-hidden",children:typeof g=="string"?e.jsx(v.Text,{fontSize:"md",fontWeight:"bold",children:g}):g}),e.jsxs(x.Box,{direction:"row",align:"center",gap:"sm",flexShrink:"0",children:[m,O?e.jsx(H.Button,{variant:"tertiary",tone:"neutral",size:"xs",onClick:pe,"aria-label":xe?"Kecilkan panel":"Lebarkan panel",iconRight:e.jsx(E.Icon,{name:xe?"ChevronRight":"ChevronLeft"})}):null,i?e.jsx(H.Button,{variant:"tertiary",tone:"neutral",size:"xs",onClick:t,"aria-label":i.title||"Tutup",iconRight:e.jsx(E.Icon,{name:i.icon}),children:i.title||void 0}):null]})]}):null,e.jsx(x.Box,{direction:"column",paddingBlock:"md",paddingInline:l?"md":"spacing-0",overflow:"overflow-y-auto",style:{flex:1,minHeight:0},children:o})]})})}),Gr=d.memo(({children:t,borderBottom:r=!0,padding:n=!0})=>{const s=ve.useMediaQuery("lg");return e.jsx(x.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})}),Qr=d.memo(({children:t,borderTop:r=!0,padding:n=!0})=>{const s=ve.useMediaQuery("lg");return e.jsx(x.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})}),Is=d.memo(({children:t,...r})=>e.jsx(x.Box,{direction:"column",padding:"md",paddingLeft:"md",paddingRight:"md",gap:"md",...r,children:t})),Ls=d.memo(({children:t,title:r,titleTag:n,action:s,header:o,footer:i,actionContainer:l,containerProps:c,bodyProps:a,headerProps:u={borderBottom:!0},footerProps:f={borderTop:!0},variantTag:g="info"})=>{const m=ve.useMediaQuery("lg"),p=()=>n?e.jsxs(x.Box,{direction:"row",gap:"sm",align:"center",children:[e.jsx(v.Text,{fontWeight:"medium",children:r}),e.jsx(it.Badges,{border:!0,text:n,variant:g})]}):e.jsx(v.Text,{fontWeight:"medium",children:r}),S=()=>o||e.jsxs(x.Box,{direction:"row",justify:"space-between",align:"flex-start",gap:"md",children:[e.jsx(x.Box,{direction:"column",children:r?p():null}),e.jsx(x.Box,{direction:"column",style:m?{width:"100%",maxWidth:"19.313rem"}:{flex:1},...l,children:s??null})]}),b=!!(o||r||s);return e.jsxs(x.Box,{direction:"column",bg:"white",borderRadius:"rounded-xs",as:"section",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",...c,style:{backgroundColor:"var(--sa-background-primary, #ffffff)",...(c==null?void 0:c.style)??{}},children:[o!==null&&b?e.jsx(Gr,{...u,children:S()}):null,e.jsx(Is,{...a,children:t}),i?e.jsx(Qr,{...f,children:i}):null]})}),Ts=t=>e.jsx(v.Text,{variant:"h1",children:t.children,...t.props}),Os=t=>e.jsx(v.Text,{variant:"h2",children:t.children,...t.props}),Rs=t=>e.jsx(v.Text,{variant:"h3",children:t.children,...t.props}),As=t=>e.jsx(v.Text,{variant:"h4",children:t.children,...t.props}),Ws=t=>e.jsx(v.Text,{variant:"h5",children:t.children,...t.props}),zs=t=>e.jsx(v.Text,{variant:"h6",children:t.children,...t.props}),Hs=t=>e.jsx(v.Text,{variant:"sub-h1",children:t.children,...t.props}),Ps=t=>e.jsx(v.Text,{variant:"sub-h2",children:t.children,...t.props}),Vs=t=>e.jsx(v.Text,{variant:"sub-h3",children:t.children,...t.props}),Ns=t=>e.jsx(v.Text,{variant:"body-1",children:t.children,...t.props}),_s=t=>e.jsx(v.Text,{variant:"body-2",children:t.children,...t.props}),qs=t=>e.jsx(v.Text,{variant:"body-3",children:t.children,...t.props}),Xe={H1:Ts,H2:Os,H3:Rs,H4:As,H5:Ws,H6:zs,SubH1:Hs,SubH2:Ps,SubH3:Vs,Body1:Ns,Body2:_s,Body3:qs},Ve=()=>{const{useSearchParams:t,useParams:r,useLocation:n}=ot(),[s,o]=t(),i=bt.searchParamsToObject(s.toString()),l=r(),c=n(),a=l.id;return{setSearchParams:o,searchParams:s,searchQueries:i,isHasQuery:(p,S)=>s.has(p)&&s.get(p)===S,getQueryParam:p=>s.get(p),getRouteParam:p=>l[p],params:l,location:c,id:a,hasId:!!a}},uo=t=>JSON.stringify(t),xo=t=>JSON.stringify(t),ho=t=>JSON.stringify(t),fo=t=>JSON.stringify(t),Zs=t=>t,Gs=t=>JSON.stringify(t),It=t=>{if(typeof t!="string"||t==="")return{};try{const r=JSON.parse(t);return!r||typeof r!="object"||Array.isArray(r)?{}:r}catch{return{}}},Lt=({value:t,name:r,type:n,withSearchParam:s=!0,setSearchParams:o,searchQueries:i,dropdownSearchKey:l,filterKey:c="filter",pageKey:a="page"})=>{if(s){let u;switch(n){case"search":u=Zs(t);break;case"dropdown":case"dropdown-multiple":u=uo(t);break;case"radio":u=xo(t);break;case"date-range":u=ho(t);break;case"advanced-date-range":u=Gs(t);break;case"date":u=fo(t);break;default:u=t;break}if(typeof u<"u"){const f={...It(i[c]),[r]:u},g={...i};l&&typeof l=="string"&&delete g[l],delete g[a];const m={...g,[c]:JSON.stringify(f)},p=new URLSearchParams(i).toString(),S=new URLSearchParams(m).toString();if(p===S)return;o(m)}}},Zt=({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,l=i?i[t]:void 0;return s==="label"&&l?JSON.parse(l)[0].label:s==="value"&&l?JSON.parse(l)[0].value:l},mo=({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,l=i?i[t]:void 0;return s==="label"&&l?JSON.parse(l).map(c=>c.label):s==="value"&&l?JSON.parse(l).map(c=>c.value):s==="array"&&l?JSON.parse(l):l},Qs=({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,l=i?i[t]:void 0;return s==="id"&&l?JSON.parse(l).id:s==="label"&&l?JSON.parse(l).label:s==="value"&&l?JSON.parse(l).value:l},$t=(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},Us=({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}},go=({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},Js=(t,{filterKey:r="filter",perPageKey:n="perPage",pageKey:s="page"})=>{const o=t.get(r)||void 0,i=t.get(n)||void 0,l=t.get(s)||void 0;return!!o||!!i||!!l},yo=({isOpen:t,onClose:r,filterKey:n,pageKey:s,filters:o})=>{const{searchParams:i,setSearchParams:l,searchQueries:c}=Ve(),[a,u]=d.useState({}),f=()=>{i.delete(n||"filter"),l(i)},g=(m,p)=>{switch(m.type){case"radio":{const{show:S=!0}=m;return S&&e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p)}case"dropdown":{const{show:S=!0}=m;return S&&e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p)}case"date-range":return e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p);case"date":return e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p);case"dropdown-multiple":{const{show:S=!0}=m;return S&&e.jsx(x.Box,{direction:"column",children:e.jsx(x.Box,{direction:"column",children:m.title})},p)}default:return null}};return e.jsx(ao,{onHide:r,show:t||!1,children:e.jsxs(x.Box,{direction:"column",gap:"md",children:[e.jsxs(ce.Flex,{direction:"row",justify:"space-between",align:"center",children:[e.jsx(x.Box,{direction:"column",children:"Filter"}),e.jsx(x.Box,{direction:"column",style:{cursor:"pointer"},onClick:f,children:"Reset"})]}),o==null?void 0:o.map((m,p)=>g(m,p))]})})},po=({searchKey:t="q",statusKey:r="status",searchPlaceholder:n="Search",searchHighlightPlaceholder:s,extendedFilter:o,showSearchFilter:i=!0,showStatusFilter:l=!0,filterKey:c="filter",pageKey:a="page",customWidthSearch:u,handleOnReset:f,filterConfigs:g,buttonToggleProps:m,position:p="right",titleSearchLabel:S="Work Order",withTitleLabels:b=!1})=>{const B=(m==null?void 0:m.isShowLabel)??!0,[F,C]=d.useState(!1),[D,A]=d.useState(0),R=()=>{A(P=>P+1)},{searchParams:w,setSearchParams:O,getQueryParam:L}=Ve(),U=bt.searchParamsToObject(w.toString()),J=$t(t,w,c)||"",[N,_]=d.useState(J),X=L(c),V=!!(X&&!(()=>{if(X)try{const P=JSON.parse(X);return Object.keys(P).length===1&&P[t]===""}catch(P){console.error("Filter parameter is not a valid JSON:",P)}return!1})()),z=ve.useMediaQuery("md");return d.useEffect(()=>{_(J)},[J]),d.useEffect(()=>{if(N===J)return;const P=window.setTimeout(()=>{Lt({value:N,name:t,type:"search",searchQueries:U,setSearchParams:O,filterKey:c,pageKey:a})},350);return()=>{window.clearTimeout(P)}},[N,J,t,U,O,c,a]),e.jsxs(ce.Flex,{gap:"md",style:{flexDirection:z&&p==="left"?"row":z&&p==="right"?"row-reverse":"column"},align:"flex-end",children:[V&&e.jsx(x.Box,{direction:"column",justify:"flex-end",children:e.jsx(H.Button,{onClick:()=>{const P=new URLSearchParams(w);P.delete(c),O(P),_(""),R(),f&&f()},variant:"outline",tone:"neutral",children:e.jsx(v.Text,{color:"error",fontWeight:"semibold",children:"Reset"})})}),o==null?void 0:o.map(({minWidth:P,content:se,title:ye,onClickContainer:Se},xe)=>e.jsxs(x.Box,{direction:"column",gap:"sm",onClick:Se,style:{minWidth:P},children:[ye&&e.jsx(Xe.SubH3,{children:ye}),se]},`extended-filter-${xe}-${D}`)),!!(g!=null&&g.length)&&e.jsx(H.Button,{primary:V,secondary:!V,iconLeft:e.jsx(E.Icon,{size:"sm",name:(m==null?void 0:m.icon)||"FilterHorizontal",style:{color:X?"var(--sa-background-brand, #04254f)":"var(--sa-text-primary, #292a2e)"}}),fullWidth:!z,onClick:()=>C(!0),children:B?"Filter":void 0}),l&&e.jsxs(x.Box,{direction:"column",gap:"sm",style:{minWidth:"126px"},children:[b&&e.jsx(Xe.SubH3,{children:"Status"}),e.jsx(jt.Dropdown,{dropdownLists:[{label:"Active",value:"active"},{label:"InActive",value:"inactive"}],defaultValue:Zt({get:"value",name:r,searchParams:w,filterKey:c})?[{label:Zt({get:"value",name:r,searchParams:w,filterKey:c})==="active"?"Active":"InActive",value:Zt({get:"value",name:r,searchParams:w,filterKey:c})}]:[],onChange:P=>Lt({value:P,name:r,type:"dropdown",searchQueries:U,setSearchParams:O,filterKey:c}),placeholder:b?"All":"All Status"},D)]}),i&&e.jsxs(x.Box,{direction:"column",gap:"sm",style:{width:u&&z?u:z?"310px":""},children:[b&&e.jsxs(Xe.SubH3,{children:["Search for ",S]}),e.jsx(dt.Input,{placeholder:n,leftIcon:e.jsx(E.Icon,{name:"Search",width:20,height:20}),onChange:P=>_(P.target.value),value:N,fullWidth:!0},D+1+c)]}),e.jsx(yo,{isOpen:F,onClose:()=>C(!1),filterKey:c,filters:g,pageKey:a})]})},Ys=t=>t==="checkbox-multiple"?"dropdown-multiple":t==="radio"?"dropdown":t==="date-compact"?"date":t;function Ur({configs:t,filterKey:r="filter",activeFilterKey:n="filters",pageKey:s="page",searchKey:o="q"}){const{searchParams:i,setSearchParams:l,searchQueries:c}=Ve(),a=d.useMemo(()=>Object.fromEntries(t.map(D=>[D.key,D])),[t]),u=d.useMemo(()=>{const D=(i.get(n)||"").split(",").map(R=>R.trim()).filter(Boolean),A=Object.keys(It(i.get(r))).filter(R=>R!==o);return t.map(R=>R.key).filter(R=>{const w=a[R];return(w==null?void 0:w.locked)||D.includes(R)||A.includes(R)})},[i,n,r,o,t,a]),f=d.useCallback(D=>It(D[r]),[r]),g=d.useCallback(D=>{const A={...c};D.length?A[n]=D.join(","):delete A[n],l(A)},[c,n,l]),m=d.useCallback(D=>{u.includes(D)||g([...u,D])},[u,g]),p=d.useCallback(D=>{var O;if((O=a[D])!=null&&O.locked)return;const A={...c},R=u.filter(L=>L!==D);R.length?A[n]=R.join(","):delete A[n];const w=f(A);D in w&&(delete w[D],Object.keys(w).length?A[r]=JSON.stringify(w):delete A[r]),delete A[s],l(A)},[c,u,n,r,s,f,l,a]),S=d.useCallback(D=>u.includes(D)?p(D):m(D),[u,m,p]),b=d.useCallback(D=>{switch(D.type){case"dropdown":case"dropdown-multiple":case"checkbox-multiple":case"radio":return mo({name:D.key,get:"array",searchParams:i,filterKey:r})||[];case"date":{const A=go({name:D.key,searchParams:i,filterKey:r});return A?new Date(A):void 0}case"date-compact":{const R=f(Object.fromEntries(i.entries()))[D.key];return R&&typeof R=="object"?R:void 0}default:return}},[i,r,f]),I=d.useCallback((D,A)=>{if(D.type==="date-compact"){const R={...c},w=f(R);A==null?delete w[D.key]:w[D.key]=A,Object.keys(w).length?R[r]=JSON.stringify(w):delete R[r],delete R[s],l(R);return}Lt({value:A,name:D.key,type:Ys(D.type),searchQueries:c,setSearchParams:l,filterKey:r,pageKey:s})},[c,l,r,s,f]),B=d.useCallback(D=>{const A={...c},R=f(A);D in R&&(delete R[D],Object.keys(R).length?A[r]=JSON.stringify(R):delete A[r]),delete A[s],l(A)},[c,r,s,f,l]),F=d.useCallback(()=>{const D={...c};delete D[r],delete D[n],delete D[s],l(D)},[c,r,n,s,l]),C=u.length>0;return{activeKeys:u,configByKey:a,hasActiveFilter:C,addFilter:m,removeFilter:p,toggleFilter:S,getValue:b,setValue:I,clearValue:B,clearAll:F}}const Jr={get(t){return Ft.storage.get(t)??null},set(t,r){Ft.storage.save(t,r)},remove(t){Ft.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}`},Ht=(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 Xs({columns:t,scopeId:r,storage:n,onColumnsChange:s,value:o}){const i=d.useMemo(()=>({order:t.map(w=>w.key),hidden:[]}),[t]),l=r?Ct.columns(r):void 0,c=(w,O)=>Ht({order:w.order??O,hidden:w.hidden??[]},t),[a,u]=d.useState(()=>{if(o&&(o.order||o.hidden))return c(o,t.map(w=>w.key));if(l){const w=n.get(l);if(w&&Array.isArray(w.order))return Ht(w,t)}return i}),f=t.map(w=>w.key).join("|");d.useEffect(()=>u(w=>Ht(w,t)),[f]);const g=d.useRef(a);g.current=a;const m=o?`${(o.order??[]).join("|")}~${(o.hidden??[]).join("|")}`:null,p=d.useRef(m);d.useEffect(()=>{if(m==null||p.current===m)return;p.current=m;const w=g.current,O=c(o,w.order);O.order.join("|")===w.order.join("|")&&O.hidden.join("|")===w.hidden.join("|")||(u(O),l&&n.set(l,O))},[m,f]);const S=d.useRef(!1);d.useEffect(()=>{S.current||(S.current=!0,s==null||s(a))},[]);const b=d.useCallback(w=>{u(w),l&&n.set(l,w),s==null||s(w)},[l,n,s]),I=d.useMemo(()=>{const w=new Map(t.map(O=>[O.key,O]));return a.order.filter(O=>w.has(O)).map(O=>({...w.get(O),visible:!a.hidden.includes(O)}))},[a,t]),B=d.useCallback(w=>{const O=a.hidden.includes(w)?a.hidden.filter(L=>L!==w):[...a.hidden,w];b({...a,hidden:O})},[a,b]),F=d.useCallback((w,O)=>{if(w===O)return;const L=[...a.order],[U]=L.splice(w,1);L.splice(O,0,U),b({...a,order:L})},[a,b]),C=d.useCallback(w=>{b({...a,hidden:w?t.filter(O=>!O.locked).map(O=>O.key):[]})},[a,t,b]),D=d.useCallback(()=>b(i),[b,i]),A=d.useCallback(w=>b(Ht(w,t)),[b,t]),R=a.hidden.length===0;return{state:a,orderedColumns:I,allVisible:R,toggleVisibility:B,reorder:F,setAllHidden:C,reset:D,applyState:A}}function $s({scopeId:t,storage:r,snapshotKeys:n,pageKey:s="page",getColumns:o,applyColumns:i}){const{searchParams:l,setSearchParams:c}=Ve(),a=t?Ct.savedViews(t):void 0,[u,f]=d.useState(()=>a?r.get(a)||[]:[]),g=d.useCallback(b=>{f(b),a&&r.set(a,b)},[a]),m=d.useCallback(b=>{const I=b.trim();if(!I)return;const B={};n.forEach(C=>{const D=l.get(C);D!=null&&(B[C]=D)});const F={id:`${Date.now()}`,name:I,query:B,columns:o==null?void 0:o(),createdAt:Date.now()};g([...u,F])},[n,l,o,g,u]),p=d.useCallback(b=>g(u.filter(I=>I.id!==b)),[g,u]),S=d.useCallback(b=>{const I=Object.fromEntries(l.entries());n.forEach(B=>delete I[B]),Object.assign(I,b.query),delete I[s],c(I),b.columns&&(i==null||i(b.columns))},[l,n,s,c,i]);return{enabled:!!a,views:u,saveView:m,deleteView:p,applyView:S}}function Ks(t,r){const n=It(t);return delete n[r],Object.keys(n).length>0?JSON.stringify(n):void 0}function Fn(t,r,n){const s=t[r];if(s==null)return;const o=Ks(s,n);o===void 0?delete t[r]:t[r]=o}function ei({scopeId:t,storage:r,snapshotKeys:n,enabled:s=!0,filterKey:o="filter",searchKey:i="q",persistSearch:l=!0}){const{searchParams:c}=Ve(),a=t&&s?Ct.lastState(t):void 0,u=d.useRef(a),f=d.useRef(!1);d.useEffect(()=>{if(!a){u.current=a;return}if(u.current!==a){u.current=a,f.current=!1;return}const p={};if(n.forEach(S=>{const b=c.get(S);b!=null&&(p[S]=b)}),l||Fn(p,o,i),Object.keys(p).length===0){f.current&&r.remove(a);return}f.current=!0,r.set(a,p)},[c,a,n,r,l,o,i]);const g=d.useCallback(()=>{if(!a)return null;const p=r.get(a);if(!p||typeof p!="object"||Array.isArray(p)||Object.keys(p).length===0)return null;const S=p[o];return S!=null&&Object.keys(It(S)).length===0&&delete p[o],l||Fn(p,o,i),Object.keys(p).length>0?p:null},[a,r,l,o,i]),m=d.useCallback(()=>{a&&r.remove(a)},[a,r]);return{enabled:!!a,read:g,clear:m}}function ti({scopeId:t,storage:r,perPageKey:n,pageSizeOptions:s,enabled:o=!0}){const{searchParams:i}=Ve(),l=t&&o?Ct.perPage(t):void 0,c=i.toString(),a=d.useRef(l);d.useEffect(()=>{if(!l){a.current=l;return}if(a.current!==l){a.current=l;return}const g=i.get(n);if(!g)return;const m=Number(g);!Number.isFinite(m)||m<=0||r.set(l,m)},[c,l,n,r]);const u=d.useCallback(()=>{if(!l)return null;const g=r.get(l);if(g==null)return null;const m=Number(g);return!Number.isFinite(m)||m<=0||s&&!s.includes(m)?null:String(m)},[l,r,s]),f=d.useCallback(()=>{l&&r.remove(l)},[l,r]);return{enabled:!!l,read:u,clear:f}}let jr={},br=!1,vr=null;const ri=(t,r)=>{Object.assign(jr,t),vr=r,!br&&(br=!0,queueMicrotask(()=>{const n=jr,s=vr;jr={},br=!1,vr=null,!(!s||Object.keys(n).length===0)&&s(o=>{const i=new URLSearchParams(o);return Object.entries(n).forEach(([l,c])=>i.set(l,c)),i},{replace:!0})}))};function ni({enabled:t,snapshotKeys:r,perPageKey:n,readSnapshot:s,readPerPage:o}){const{searchParams:i,setSearchParams:l,location:c}=Ve(),a=d.useRef(null);d.useEffect(()=>{if(!t||a.current===c.pathname)return;a.current=c.pathname;const u={};if(!i.has(n)){const f=o();f&&(u[n]=f)}if(!r.some(f=>i.has(f))){const f=s();f&&Object.assign(u,f)}Object.keys(u).length!==0&&ri(u,l)},[c.pathname,t])}const oi=({configs:t,activeKeys:r,onToggle:n,hasActiveFilter:s,onReset:o})=>t.length?e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:s?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"FilterHorizontal"}),"aria-label":"Add filter"})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{minWidth:260},title:e.jsxs(x.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(H.Button,{variant:"link",tone:"brand",size:"xs",onClick:o,children:"Reset"})]}),children:t.map(i=>e.jsx(T.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,Kt=({onClear:t,onRemove:r})=>e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"link",tone:"neutral",size:"xs",iconLeft:e.jsx(E.Icon,{name:"MenuHorizontal"}),"aria-label":"Filter actions"})}),e.jsx(T.MenuLists,{children:e.jsxs(T.MenuBody,{style:{width:180},children:[e.jsx(T.MenuItem,{startIcon:e.jsx(E.Icon,{name:"CrossCircle"}),onClick:t,children:"Clear value"}),r&&e.jsx(T.MenuItem,{intent:"danger",startIcon:e.jsx(E.Icon,{name:"Trash1"}),onClick:r,children:"Remove filter"})]})})]}),si=t=>{const r=new Date(t);return r.setHours(0,0,0,0),r},Mn=(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},jo=t=>{const r=si(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:Mn(r,-n,t.period),to:r}:{from:r,to:Mn(r,n,t.period)}},In=24,bo=t=>t.length>In?`${t.slice(0,In)}...`:t,vo=t=>t.toLocaleDateString(void 0,{day:"2-digit",month:"short",year:"numeric"}),Cr=(t,r="days")=>r==="months"?t.toLocaleDateString(void 0,{month:"short",year:"numeric"}):r==="years"?String(t.getFullYear()):vo(t),Jt={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"},ii=["is","is-before","is-after","is-on-or-before","is-on-or-after","is-between","is-relative-to-today","is-empty","is-not-empty"],Rr={past:"Past",next:"Next",this:"This"},li=["day","week","month","year"],ci=["past","next","this"],ai=t=>t.field.type==="date-compact"?e.jsx(xi,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}):e.jsx(di,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}),di=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=r?vo(new Date(r)):null,l=!!i,c=l?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:bo(i)})]}):t.label;return e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:l?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l?e.jsx(E.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:c})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:260},title:e.jsxs(x.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(Kt,{onClear:s,onRemove:o})]}),children:e.jsx(ht.StarasiaDate,{size:"sm",input:!1,clearable:!0,filter:t.mode,value:r,onChange:a=>a==null?s():n(a),withPadding:!1})})})]})},ui=(t,r="days")=>{switch(t.op){case"is":case"is-before":case"is-after":case"is-on-or-before":case"is-on-or-after":return t.date?`${Jt[t.op]} ${Cr(new Date(t.date),r)}`:null;case"is-between":return t.from&&t.to?`${Cr(new Date(t.from),r)} - ${Cr(new Date(t.to),r)}`:null;case"is-relative-to-today":{const n=t.relative;if(!n)return null;if(n.direction==="this")return`This ${n.period}`;const s=n.count??1,o=s===1?n.period:`${n.period}s`;return`${Rr[n.direction]} ${s} ${o}`}case"is-empty":case"is-not-empty":return Jt[t.op];default:return null}},xi=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.ops&&t.ops.length>0?t.ops:ii,l=t.defaultOp&&i.includes(t.defaultOp)?t.defaultOp:i[0],c=t.mode??"days",a=(r==null?void 0:r.op)??l,u=r?ui(r,c):null,f=!!u,g=f?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:bo(u)})]}):t.label,m=p=>{if(p!==a){if(p==="is-empty"||p==="is-not-empty"){n({op:p});return}if(p==="is-relative-to-today"){n({op:p,relative:(r==null?void 0:r.relative)??{direction:"past",count:1,period:"week"}});return}if(p==="is-between"){n({op:p,from:r==null?void 0:r.from,to:r==null?void 0:r.to});return}n({op:p,date:r==null?void 0:r.date})}};return e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:f?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:f?e.jsx(E.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:g})}),e.jsxs(T.MenuLists,{children:[e.jsx(T.MenuBody,{style:{width:320},title:e.jsxs(x.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",gap:"xs",fullWidth:!0,children:[e.jsxs(x.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(hi,{op:a,ops:i,onChange:m})]}),e.jsx(Kt,{onClear:s,onRemove:o})]}),children:e.jsx(fi,{value:r,op:a,mode:c,onChange:n})}),a==="is-relative-to-today"&&e.jsx(T.MenuFooter,{children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"Filter will update with the current date"})})]})]})},hi=({op:t,ops:r,onChange:n})=>e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"link",tone:"neutral",size:"xs",iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:Jt[t]})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:200},children:r.map(s=>e.jsx(T.MenuItem,{selected:t===s,onClick:()=>n(s),endIcon:t===s?e.jsx(E.Icon,{name:"Check"}):void 0,children:Jt[s]},s))})})]}),fi=({value:t,op:r,mode:n="days",onChange:s})=>{if(r==="is-empty"||r==="is-not-empty")return e.jsx(x.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"No further input required."})});if(r==="is-between"){const o=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(ht.StarasiaDate,{size:"sm",input:!1,clearable:!0,rangedDate:!0,filter:n,value:o,onChange:i=>{if(i==null){s({op:r});return}if(typeof i=="object"&&i!==null&&"from"in i&&"to"in i){let{from:l,to:c}=i;if(!l&&c&&(l=c,c=null),!l&&!c){s({op:r});return}s({op:r,from:l?l.toISOString():void 0,to:c?c.toISOString():void 0})}},withPadding:!1},`range-${n}`)}return r==="is-relative-to-today"?e.jsx(mi,{value:t==null?void 0:t.relative,onChange:o=>s({op:r,relative:o})}):e.jsx(ht.StarasiaDate,{size:"sm",input:!1,clearable:!0,filter:n,value:t!=null&&t.date?new Date(t.date):void 0,onChange:o=>{if(o==null){s({op:r});return}o instanceof Date&&s({op:r,date:o.toISOString()})},withPadding:!1},`single-${n}`)},mi=({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",l=jo({direction:n,count:s,period:o});return e.jsxs(x.Box,{direction:"column",display:"flex",gap:"sm",children:[e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:Rr[n]})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:140},children:ci.map(c=>e.jsx(T.MenuItem,{selected:n===c,endIcon:n===c?e.jsx(E.Icon,{name:"Check"}):void 0,onClick:()=>r(c==="this"?{direction:c,period:o}:{direction:c,count:s,period:o}),children:Rr[c]},c))})})]}),i&&e.jsx(dt.Input,{type:"number",size:"sm",min:1,clearable:!1,value:s,onChange:c=>{const a=Number(c.target.value);r({direction:n,count:Number.isFinite(a)&&a>0?a:1,period:o})},style:{width:72}}),e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:o})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:140},children:li.map(c=>e.jsx(T.MenuItem,{selected:o===c,endIcon:o===c?e.jsx(E.Icon,{name:"Check"}):void 0,onClick:()=>r(n==="this"?{direction:n,period:c}:{direction:n,count:s,period:c}),children:c},c))})})]})]}),e.jsx(ht.StarasiaDate,{size:"sm",input:!1,disabled:!0,rangedDate:!0,value:l,onChange:()=>{},withPadding:!1},"relative-preview")]})},Ln=18,gi=t=>t.length>Ln?`${t.slice(0,Ln)}...`:t,yi=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.type==="dropdown-multiple",l=r.length,c=t.searchable!==!1,[a,u]=d.useState(""),f=t.options,g=typeof t.onSearch=="function",m=(()=>{if(g)return f;const B=a.trim().toLowerCase();return B?f.filter(F=>F.label.toLowerCase().includes(B)):f})(),p=B=>r.some(F=>F.value===B.value),S=B=>{if(!i){n([{label:B.label,value:B.value}]),u("");return}n(p(B)?r.filter(F=>F.value!==B.value):[...r,{label:B.label,value:B.value}])},b=B=>{var F;u(B),(F=t.onSearch)==null||F.call(t,B)},I=l===0?t.label:e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:l===1?gi(r[0].label):`${l} Selected`})]});return e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:l>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l>0?e.jsx(E.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:I})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{style:{width:260},title:e.jsxs(x.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(Kt,{onClear:s,onRemove:o})]}),children:e.jsxs(x.Box,{direction:"column",gap:"sm",children:[c&&e.jsx(jt.Dropdown,{size:"sm",triggerInput:!0,fullWidth:!0,hideChevronIcon:!0,clearable:!0,multiSelect:i,searchAble:!0,searchValue:a,onSearch:b,value:r,onChange:n,placeholder:`Search ${t.label.toLowerCase()}…`}),e.jsx(x.Box,{direction:"column",overflow:"overflow-y-auto",customMaxHeight:"240px",children:t.isLoading?e.jsx(x.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"Loading…"})}):m.length===0?e.jsx(x.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(v.Text,{fontSize:"xs",color:"subtlest",children:"No results"})}):m.map(B=>e.jsx(T.MenuItem,{closeOnSelect:!i,selected:p(B),startIcon:B.avatar,endIcon:p(B)?e.jsx(E.Icon,{name:"Check"}):void 0,description:B.description,onClick:()=>S(B),children:B.label},B.value))})]})})})]})},Tn=18,pi=t=>t.length>Tn?`${t.slice(0,Tn)}...`:t,On=({checked:t,indeterminate:r})=>e.jsx("span",{style:{pointerEvents:"none",display:"inline-flex"},children:e.jsx(nt.Checkbox,{size:"sm",checked:t,readOnly:!0,onChange:()=>{},variant:r?"indeterminate":"select"})}),ji=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=new Set(r.map(m=>m.value)),l=r.length,c=t.options.length>0&&t.options.every(m=>i.has(m.value)),a=l>0&&!c,u=m=>{n(i.has(m.value)?r.filter(p=>p.value!==m.value):[...r,{label:m.label,value:m.value}])},f=()=>{n(c?[]:t.options.map(m=>({label:m.label,value:m.value})))},g=l===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:l===1?pi(r[0].label):`${l} Selected`})]});return e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:l>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l>0?e.jsx(E.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),children:g})}),e.jsx(T.MenuLists,{children:e.jsxs(T.MenuBody,{style:{width:240},title:e.jsxs(x.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(Kt,{onClear:s,onRemove:o})]}),children:[e.jsx(T.MenuItem,{closeOnSelect:!1,selected:c,onClick:f,startIcon:e.jsx(On,{checked:c||a,indeterminate:a}),children:"Select All"}),t.options.map(m=>e.jsx(T.MenuItem,{closeOnSelect:!1,selected:i.has(m.value),onClick:()=>u(m),startIcon:e.jsx(On,{checked:i.has(m.value)}),children:m.label},m.value))]})})]})},Co=({activeKeys:t,configByKey:r,getValue:n,setValue:s,clearValue:o,removeFilter:i})=>e.jsx(e.Fragment,{children:t.map(l=>{const c=r[l];if(!c)return null;const a=n(c),u=c.locked?void 0:()=>i(l);return c.type==="date"||c.type==="date-compact"?e.jsx(ai,{field:c,value:a,onChange:f=>s(c,f),onClear:()=>o(l),onRemove:u},l):c.type==="checkbox-multiple"?e.jsx(ji,{field:c,value:a||[],onChange:f=>s(c,f),onClear:()=>o(l),onRemove:u},l):e.jsx(yi,{field:c,value:a||[],onChange:f=>s(c,f),onClear:()=>o(l),onRemove:u},l)})}),Rn=t=>`${t} Rows`,bi=({pagination:t,pageKey:r="page",perPageKey:n="perPage",pageSizeOptions:s=[10,25,50,100],defaultPerPage:o=10,showResultCount:i=!0,showPageSize:l=!0,showPagination:c=!0})=>{var B;const{searchQueries:a,setSearchParams:u,searchParams:f}=Ve(),g=f.get(n),m=g?Number(g):o,p=F=>{u({...a,[r]:String(F)})},S=F=>{u({...a,[n]:F,[r]:"1"})},b=(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),I=(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:`${b}-${I} of ${((B=t==null?void 0:t.totalData)==null?void 0:B.toLocaleString())||0}`}),l&&e.jsxs(T.Menu,{position:"bottom-left",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(E.Icon,{name:"ChevronSmallDown"}),"aria-label":"Rows per page",children:Rn(m)})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{children:s.map(F=>e.jsx(T.MenuItem,{selected:F===m,onClick:()=>S(String(F)),children:Rn(F)},F))})})]}),c&&((t==null?void 0:t.totalPage)??0)>1&&e.jsx(x.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(Mt.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:p})})]})};function vi(t,r,n=!0){d.useEffect(()=>{if(!n)return;const s=o=>{var c;if(o.metaKey||o.ctrlKey||o.altKey||o.key!==t||Pe.isOverlayOpen())return;const i=o.target,l=(c=i==null?void 0:i.tagName)==null?void 0:c.toLowerCase();l==="input"||l==="textarea"||i!=null&&i.isContentEditable||(o.preventDefault(),r())};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[t,r,n])}const Ci=240,wo=({searchKey:t="q",filterKey:r="filter",pageKey:n="page",placeholder:s="Search",shortcut:o="/",collapsible:i=!0})=>{const{searchParams:l,setSearchParams:c,searchQueries:a}=Ve(),u=$t(t,l,r)||"",[f,g]=d.useState(!i||!!u),[m,p]=d.useState(i&&!u),[S,b]=d.useState(u),I=ve.useDebounce(S,350),B=d.useRef(null);d.useEffect(()=>{b(u),u&&g(!0)},[u]),d.useEffect(()=>{f&&p(!1)},[f]),d.useEffect(()=>{I!==u&&Lt({value:I,name:t,type:"search",searchQueries:a,setSearchParams:c,filterKey:r,pageKey:n})},[I]);const F=d.useCallback(()=>{g(!0),requestAnimationFrame(()=>{var R;return(R=B.current)==null?void 0:R.focus()})},[]);vi(o,F);const C=()=>{i&&!S&&g(!1)},D=R=>{var w;i&&R.key==="Escape"&&!S&&(g(!1),(w=B.current)==null||w.blur())},A=()=>{f||p(!0)};return e.jsxs(x.Box,{display:"flex",direction:"row",align:"center",gap:"spacing-0",children:[m&&e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"Search",size:"sm"}),"aria-label":"Search","aria-expanded":!1,onClick:F}),e.jsxs(x.Box,{onTransitionEnd:A,style:{position:"relative",width:f?Ci:0,overflow:"hidden",transition:"width 220ms ease"},children:[e.jsx(dt.Input,{ref:B,size:"sm",fullWidth:!0,value:S,placeholder:s,leftIcon:e.jsx(E.Icon,{name:"Search",width:16,height:16}),onChange:R=>b(R.target.value),onKeyDown:D,onBlur:C,tabIndex:f?0:-1}),f&&!S&&e.jsx(x.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})})]})]})},Do=({columns:t,allVisible:r,onToggle:n,onReorder:s,onSetAllHidden:o})=>{const[i,l]=d.useState(null),[c,a]=d.useState(null),u=()=>{i!==null&&c!==null&&i!==c&&s(i,c),l(null),a(null)},f=(g,m)=>{const p=g+m;p<0||p>=t.length||s(g,p)};return e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:r?"outline":"secondary",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"Grid",size:"sm"}),"aria-label":"Customize columns"})}),e.jsx(T.MenuLists,{children:e.jsx(T.MenuBody,{children:e.jsxs(x.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(x.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(H.Button,{variant:"link",tone:"info",size:"xs",onClick:()=>o(r),children:r?"Hide All":"Show All"})]}),e.jsx(x.Box,{direction:"column",overflow:"overflow-y-auto",children:t.map((g,m)=>{const p=!g.locked,S=c===m&&i!==null&&i!==m;return e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",paddingBlock:"xs",draggable:p,onDragStart:()=>p&&l(m),onDragOver:b=>{b.preventDefault(),a(m)},onDrop:u,onDragEnd:u,style:{minHeight:32,boxShadow:S?"inset 0 2px 0 0 var(--sa-background-brand, #04254f)":void 0},children:[e.jsx(x.Box,{direction:"column",as:"div",align:"center",justify:"center",role:"button",tabIndex:p?0:-1,"aria-label":`Reorder ${g.title}`,"aria-disabled":!p||void 0,color:"icon-subtlest",onKeyDown:b=>{p&&(b.key==="ArrowUp"?(b.preventDefault(),f(m,-1)):b.key==="ArrowDown"&&(b.preventDefault(),f(m,1)))},style:{display:"inline-flex",cursor:p?"grab":"default",opacity:p?1:.4},children:e.jsx(E.Icon,{name:"DragVertical",width:16,height:16})}),g.icon&&e.jsx(x.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(x.Box,{direction:"column",style:{marginLeft:"auto"},children:e.jsx(vt.Toggle,{size:"sm",checked:g.visible,disabled:g.locked,onChange:()=>n(g.key),"aria-label":`Toggle ${g.title} column`})})]},g.key)})})]})})})]})},So=({views:t,onApply:r,onDelete:n,onSave:s})=>{const[o,i]=d.useState(""),l=()=>{const c=o.trim();c&&(s(c),i(""))};return e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:t.length>0?"secondary":"outline",tone:(t.length>0,"neutral"),size:"sm",iconLeft:e.jsx(E.Icon,{name:"Bookmark",size:"sm"}),"aria-label":"Saved views"})}),e.jsxs(T.MenuLists,{style:{width:"260px"},children:[e.jsx(T.MenuBody,{children:e.jsxs(x.Box,{direction:"column",padding:"xs",gap:"sm",children:[e.jsx(v.Text,{fontWeight:"semibold",color:"primary",children:"Saved Views"}),e.jsx(x.Box,{direction:"column",overflow:"overflow-y-auto",children:t.length===0?e.jsx(x.Box,{direction:"column",paddingBlock:"sm",children:e.jsx(v.Text,{fontSize:"sm",color:"subtlest",children:"No saved views yet"})}):t.map(c=>e.jsx(T.MenuItem,{startIcon:e.jsx(E.Icon,{name:"Bookmark"}),onClick:()=>r(c),endIcon:e.jsx(H.Button,{variant:"link",tone:"error",size:"sm",iconLeft:e.jsx(E.Icon,{name:"Trash2"}),"aria-label":`Delete ${c.name}`,onClick:a=>{a.stopPropagation(),n(c.id)}}),children:c.name},c.id))})]})}),e.jsx(T.MenuFooter,{children:e.jsxs(x.Box,{direction:"row",gap:"xs",children:[e.jsx(x.Box,{direction:"column",style:{flex:"1 0 0",minWidth:0},children:e.jsx(dt.Input,{size:"sm",fullWidth:!0,placeholder:"Save current view as…",value:o,onChange:c=>i(c.target.value),onKeyDown:c=>{c.key==="Enter"&&l()}})}),e.jsx(H.Button,{variant:"primary",tone:"brand",size:"sm",disabled:!o.trim(),onClick:l,children:"Save"})]})})]})]})},wi=({isOpen:t,onClose:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:l,onReset:c,getValue:a,setValue:u,clearValue:f,removeFilter:g})=>{const m=s.length;return e.jsx(Qt.Drawer,{position:"bottom",isShow:t,onHide:r,children:e.jsxs(x.Box,{direction:"column",customMaxHeight:"85vh",style:{minHeight:280},children:[e.jsxs(x.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(x.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(H.Button,{variant:"link",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"Cross"}),"aria-label":"Close filter",onClick:r})]}),e.jsxs(x.Box,{direction:"column",gap:"lg",padding:"md",overflow:"overflow-y-auto",style:{flex:"1 1 auto",minHeight:0},children:[m>0&&e.jsxs(x.Box,{direction:"column",gap:"sm",children:[e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Filter aktif"}),e.jsx(x.Box,{direction:"row",display:"flex",wrap:"wrap",gap:"sm",align:"center",children:e.jsx(Co,{activeKeys:s,configByKey:o,getValue:a,setValue:u,clearValue:f,removeFilter:g})})]}),n.length>0&&e.jsxs(x.Box,{direction:"column",gap:"sm",children:[e.jsx(v.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Tambah filter"}),e.jsx(x.Box,{direction:"column",children:n.map(p=>{const S=s.includes(p.key),b=!!p.locked;return e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",paddingBlock:"sm",style:{opacity:b?.5:1,borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.08))"},children:[e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{minWidth:0},children:[p.icon&&e.jsx(x.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:p.icon}),e.jsx(v.Text,{fontSize:"sm",color:"primary",truncate:!0,children:p.label})]}),e.jsx(vt.Toggle,{size:"sm",checked:S||b,disabled:b,onChange:()=>l(p.key),"aria-label":`Toggle ${p.label}`})]},p.key)})})]})]}),e.jsxs(x.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(x.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"md",fullWidth:!0,disabled:!i,onClick:c,children:"Reset"})}),e.jsx(x.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(H.Button,{variant:"primary",tone:"brand",size:"md",fullWidth:!0,onClick:r,children:"Selesai"})})]})]})})},Di=t=>`${t} Rows`,Si=({perPageKey:t,pageKey:r,pageSizeOptions:n,defaultPerPage:s=10,showPageSize:o})=>{const{searchQueries:i,setSearchParams:l,searchParams:c}=Ve(),a=c.get(t),u=a?Number(a):s,f=g=>{l({...i,[t]:g,[r]:"1"})};return o?e.jsxs(T.Menu,{position:"bottom-right",children:[e.jsx(T.MenuButton,{children:e.jsx(H.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"MenuVertical",size:"sm"}),"aria-label":"More options"})}),e.jsx(T.MenuLists,{children:e.jsxs(T.MenuBody,{style:{minWidth:200},children:[e.jsx(x.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(T.MenuItem,{selected:g===u,endIcon:g===u?e.jsx(E.Icon,{name:"Check"}):void 0,onClick:()=>f(String(g)),children:Di(g)},g))]})})]}):null},ki=t=>{var Oe;const{withPadding:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,toggleFilter:l,removeFilter:c,getValue:a,setValue:u,clearValue:f,onReset:g,searchable:m,searchKey:p,filterKey:S,pageKey:b,searchPlaceholder:I,searchShortcut:B,searchCollapsible:F,pagination:C,perPageKey:D,pageSizeOptions:A,defaultPerPage:R,showPagination:w,showResultCount:O,showPageSize:L,hasColumns:U,orderedColumns:J,allVisible:N,onToggleVisibility:_,onReorder:X,onSetAllHidden:te,showSavedViews:V,savedViews:z,onApplyView:P,onDeleteView:se,onSaveView:ye,leadingActions:Se}=t,[xe,pe]=d.useState(!1),{searchQueries:je,setSearchParams:be}=Ve(),Te=(C==null?void 0:C.rangeStart)??(((C==null?void 0:C.currentPage)||0)>1?(((C==null?void 0:C.currentPage)||0)-1)*((C==null?void 0:C.perPage)||0)+1:1),ke=(C==null?void 0:C.rangeEnd)??((C==null?void 0:C.totalCurrentPage)!==(C==null?void 0:C.perPage)?C==null?void 0:C.totalData:((C==null?void 0:C.currentPage)||1)*((C==null?void 0:C.totalCurrentPage)||0)),ze=Ne=>{be({...je,[b]:String(Ne)})},Y=O||w&&!!(C!=null&&C.totalPage),he=()=>{g(),pe(!1)};return e.jsxs(x.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(x.Box,{direction:"row",display:"flex",align:"center",wrap:"wrap",gap:"sm",fullWidth:!0,overflow:"overflow-auto",children:[m&&e.jsx(wo,{searchKey:p,filterKey:S,pageKey:b,placeholder:I,shortcut:B,collapsible:F}),e.jsx(H.Button,{variant:i?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(E.Icon,{name:"FilterHorizontal"}),onClick:()=>pe(!0),"aria-label":"Open filters",children:i?`Filter: ${s.length}`:null}),e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{marginLeft:"auto"},children:[Se,V&&e.jsx(So,{views:z,onApply:P,onDelete:se,onSave:ye}),U&&e.jsx(Do,{columns:J,allVisible:N,onToggle:_,onReorder:X,onSetAllHidden:te}),e.jsx(Si,{perPageKey:D,pageKey:b,pageSizeOptions:A,defaultPerPage:R,showPageSize:L})]})]}),Y&&e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",fullWidth:!0,children:[O?e.jsx(v.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${Te}-${ke} of ${((Oe=C==null?void 0:C.totalData)==null?void 0:Oe.toLocaleString())||0}`}):e.jsx(x.Box,{direction:"column"}),w&&!!(C!=null&&C.totalPage)&&e.jsx(Mt.Pagination,{size:"xs",variant:"neutral",siblingCount:0,currentPage:C!=null&&C.currentPage?Number(C.currentPage):1,totalPages:Number(C.totalPage),onPageChange:ze})]}),e.jsx(wi,{isOpen:xe,onClose:()=>pe(!1),configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:l,onReset:he,getValue:a,setValue:u,clearValue:f,removeFilter:c})]})},Bi=({withPadding:t=!1,filterConfigs:r=[],filterKey:n="filter",activeFilterKey:s="filters",pageKey:o="page",perPageKey:i="perPage",pageSizeOptions:l=[25,50,100],defaultPerPage:c,showPagination:a=!0,showResultCount:u=!0,showPageSize:f=!0,searchable:g=!1,searchKey:m="q",searchPlaceholder:p="Search",searchShortcut:S="/",searchPosition:b="right",searchCollapsible:I=!0,pagination:B,columns:F=[],onColumnsChange:C,columnsState:D,scopeId:A,savedViews:R,persistLastState:w=!0,persistSearch:O=!0,storage:L=Jr,onReset:U,leadingActions:J})=>{const N=A??(R==null?void 0:R.scopeId),{activeKeys:_,configByKey:X,hasActiveFilter:te,toggleFilter:V,removeFilter:z,getValue:P,setValue:se,clearValue:ye,clearAll:Se}=Ur({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:m}),xe=Xs({columns:F,scopeId:N,storage:L,onColumnsChange:C,value:D}),pe=$s({scopeId:N,storage:L,snapshotKeys:[s,n,i],pageKey:o,getColumns:()=>xe.state,applyColumns:xe.applyState}),je=ei({scopeId:N,storage:L,snapshotKeys:[s,n,o],enabled:w,filterKey:n,searchKey:m,persistSearch:O}),be=ti({scopeId:N,storage:L,perPageKey:i,pageSizeOptions:l,enabled:w});ni({enabled:w&&!!N,snapshotKeys:[s,n,o],perPageKey:i,readSnapshot:je.read,readPerPage:be.read});const Te=c??l[0]??25,ke=!!(R!=null&&R.enabled)&&pe.enabled,ze=()=>{Se(),je.clear(),U==null||U()},Y=ve.useMediaQuery("md"),he=g?e.jsx(wo,{searchKey:m,filterKey:n,pageKey:o,placeholder:p,shortcut:S,collapsible:I}):null;return Y?e.jsxs(x.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(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(oi,{configs:r,activeKeys:_,onToggle:V,hasActiveFilter:te,onReset:ze}),b==="left"&&he,e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",overflow:"overflow-x-auto",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(Co,{activeKeys:_,configByKey:X,getValue:P,setValue:se,clearValue:ye,removeFilter:z}),te&&e.jsx(H.Button,{variant:"link",tone:"brand",size:"sm",onClick:ze,children:"Reset"})]})]}),e.jsxs(x.Box,{direction:"row",display:"flex",align:"center",gap:"sm",children:[J,e.jsx(bi,{pagination:B,pageKey:o,perPageKey:i,pageSizeOptions:l,defaultPerPage:Te,showPagination:a,showResultCount:u,showPageSize:f}),b==="right"&&he,ke&&e.jsx(So,{views:pe.views,onApply:pe.applyView,onDelete:pe.deleteView,onSave:pe.saveView}),F.length>0&&e.jsx(Do,{columns:xe.orderedColumns,allVisible:xe.allVisible,onToggle:xe.toggleVisibility,onReorder:xe.reorder,onSetAllHidden:xe.setAllHidden})]})]}):e.jsx(ki,{withPadding:t,configs:r,activeKeys:_,configByKey:X,hasActiveFilter:te,toggleFilter:V,removeFilter:z,getValue:P,setValue:se,clearValue:ye,onReset:ze,searchable:g,searchKey:m,filterKey:n,pageKey:o,searchPlaceholder:p,searchShortcut:S,searchCollapsible:I,pagination:B,perPageKey:i,pageSizeOptions:l,defaultPerPage:Te,showPagination:a,showResultCount:u,showPageSize:f,hasColumns:F.length>0,orderedColumns:xe.orderedColumns,allVisible:xe.allVisible,onToggleVisibility:xe.toggleVisibility,onReorder:xe.reorder,onSetAllHidden:xe.setAllHidden,showSavedViews:ke,savedViews:pe.views,onApplyView:pe.applyView,onDeleteView:pe.deleteView,onSaveView:pe.saveView,leadingActions:J})},Ei=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},Fi=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},Mi=(t,r)=>{switch(t.type){case"dropdown":case"radio":return Ei(r);case"dropdown-multiple":case"checkbox-multiple":return Fi(r);case"date":return r instanceof Date?r.toISOString():void 0;case"date-compact":return r;default:return}},An=(t,r)=>{if(t==null||t==="")return r;const n=Number(t);return Number.isFinite(n)&&n>0?n:r},Ii=t=>{const{filterConfigs:r,filterKey:n="filter",activeFilterKey:s="filters",pageKey:o="page",perPageKey:i="perPage",searchKey:l="q",defaultPage:c=1,defaultPerPage:a=10,paramKeys:u,serialize:f}=t,{activeKeys:g,configByKey:m,hasActiveFilter:p,getValue:S}=Ur({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:l}),{searchParams:b}=Ve(),I=b.toString();return d.useMemo(()=>{const F={},C={},D=An(b.get(o),c),A=An(b.get(i),a);F[(u==null?void 0:u.page)??"page"]=D,F[(u==null?void 0:u.perPage)??"perPage"]=A;const R=$t(l,b,n)||"";R&&(F[(u==null?void 0:u.search)??"search"]=R);let w=!1;for(const O of g){const L=m[O];if(!L)continue;const U=S(L);C[O]=U;const J=f==null?void 0:f[O],N=J?J(U):Mi(L,U);if(N==null||Array.isArray(N)&&N.length===0)continue;const _=(u==null?void 0:u[O])??O;F[_]=N,w=!0}return{params:F,raw:C,hasActiveFilter:p||!!R||w}},[I,g.join("|"),n,s,o,i,l,c,a,u,f,m])},Li=["dropdown","dropdown-multiple","checkbox-multiple","radio"],Ti=({filterConfigs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o})=>{const{configByKey:i,getValue:l,setValue:c,removeFilter:a,clearAll:u,hasActiveFilter:f}=Ur({configs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o}),g=(B,F)=>{var D;const C=B.options;return((D=C==null?void 0:C.find(A=>A.value===F))==null?void 0:D.label)??F},m=d.useCallback(B=>{const F=i[B];if(!F)return[];const C=l(F);return Array.isArray(C)?C.map(D=>String(D.value)):[]},[i,l]),p=d.useCallback((B,F)=>{const C=i[B];if(!C||!Li.includes(C.type))return;const D=Array.isArray(F)?F:[F];if(D.length===0){a(B);return}c(C,D.map(A=>({label:g(C,A),value:A})))},[i,c,a]),S=d.useCallback((B,F)=>{const C=m(B);p(B,C.includes(F)?C.filter(D=>D!==F):[...C,F])},[m,p]),b=d.useCallback((B,F)=>m(B).includes(F),[m]),I=d.useCallback(B=>a(B),[a]);return{set:p,toggle:S,clear:I,clearAll:u,isActive:b,values:m,hasActiveFilter:f}},Oi=(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:l,to:c}=jo(t.relative);return i[n]=l.toISOString(),i[s]=c.toISOString(),i}case"is-empty":case"is-not-empty":return o&&(i[o]=t.op==="is-empty"?"empty":"not-empty"),i;default:return i}},ko=({children:t,borderRadius:r,height:n})=>{const s=d.useRef(null),[o,i]=d.useState("100vh");return d.useEffect(()=>{if(n)return;const l=()=>{if(s.current){const c=s.current.getBoundingClientRect().top;i(`calc(100vh - ${c}px)`)}};return l(),window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[n]),e.jsx(x.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})},Bo=({action:t,rightContent:r,leftContent:n,headerSlot:s,advanceFilter:o,showFilter:i=!0})=>{const l=ve.useMediaQuery("md"),c=i?e.jsx(po,{...o}):null,a=()=>t?d.isValidElement(t)?t:e.jsx(x.Box,{style:{display:"flex",flexDirection:l?"row":"column",gap:"8px",width:l?"auto":"100%",textWrap:"nowrap"},children:t.map(({title:u,icon:f,buttonProps:g,onClick:m},p)=>!u&&!f?null:e.jsx(H.Button,{fullWidth:!l,iconLeft:f?e.jsx(E.Icon,{name:f}):void 0,onClick:m,...g,children:u},`action-${p}`))}):null;return e.jsx(x.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:l?"row":"column-reverse",gap:"16px"},children:s?s({filter:c}):e.jsxs(e.Fragment,{children:[e.jsxs(x.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flex:1,minWidth:0},children:[c,n]}),e.jsxs(x.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flexShrink:0},children:[r,a()]})]})})},Ri=({totalData:t,withMarginBottom:r=!0,withMarginTop:n=!0})=>e.jsxs(x.Box,{style:{display:"flex",gap:"4px",flexDirection:"row",alignItems:"center",marginBottom:r?"16px":void 0,marginTop:n?"16px":void 0},children:[e.jsxs(Xe.Body1,{props:{color:"gray-500"},children:["Total data:"," "]}),e.jsx(Xe.Body1,{children:t||0})]}),Eo=({pagination:t,pageKey:r="page",perPageKey:n="perPage",defaultPerPage:s=10,showPagination:o=!0,totalData:i})=>{const{searchQueries:l,setSearchParams:c,searchParams:a}=Ve(),u=a.get(n),f=S=>{c({...l,[r]:String(S)})},g=S=>{c({...l,[n]:S,[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),p=(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(x.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(x.Box,{style:{display:"flex",flexDirection:"row",gap:"8px",alignItems:"center",textWrap:"nowrap"},children:[e.jsx(v.Text,{children:"Rows Per Page: "}),e.jsx(jt.Dropdown,{dropdownLists:[{label:"5",value:"5"},{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"},{label:"100",value:"100"}],onChange:S=>{g(S[0].value)},value:u?[{label:`${u} per row`,value:u}]:[{label:`${s} per row`,value:`${s}`}],defaultValue:u?[{label:`${u} per row`,value:u}]:[{label:`${s} per row`,value:`${s}`}]}),e.jsx(v.Text,{children:`${m}-${p} of ${(t==null?void 0:t.totalData)||0}`})]}),e.jsx(Mt.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(Ri,{totalData:i,withMarginBottom:!1,withMarginTop:!1})})},Fo=({filter:t,columnTitle:r})=>{const[n,s]=d.useState(!1),o=d.useRef(null),i=d.useRef(null),l=d.useRef(null),[c,a]=d.useState(""),[u,f]=d.useState({top:0,left:0}),g=t.selectedValues,m=d.useMemo(()=>c?t.options.filter(b=>b.label.toLowerCase().includes(c.toLowerCase())):t.options,[t.options,c]);d.useEffect(()=>{if(n&&i.current){const b=i.current.getBoundingClientRect(),I=280,B={top:b.bottom+8};t.position==="left"||b.left+I>window.innerWidth?B.right=window.innerWidth-b.right:B.left=b.left,f(B)}},[n,t.position]),d.useEffect(()=>{n&&l.current?setTimeout(()=>{var b;return(b=l.current)==null?void 0:b.focus()},50):a("")},[n]),d.useEffect(()=>{const b=I=>{o.current&&!o.current.contains(I.target)&&i.current&&!i.current.contains(I.target)&&s(!1)};return n&&document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[n]);const p=b=>{const I=g.includes(b)?g.filter(B=>B!==b):[...g,b];t.onFilterChange(I)},S=()=>t.onFilterChange([]);return e.jsxs(x.Box,{direction:"column",style:{position:"relative"},children:[e.jsx(x.Box,{ref:i,style:{display:"flex",flexDirection:"row",alignItems:"center",cursor:"pointer"},onClick:b=>{var I;b.stopPropagation(),n||(I=t.onOpen)==null||I.call(t),s(B=>!B)},children:e.jsx(E.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(x.Box,{ref:o,style:{position:"fixed",top:`${u.top}px`,...u.left!==void 0?{left:`${u.left}px`}:{right:`${u.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(x.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(x.Box,{direction:"column",style:{cursor:"pointer"},children:e.jsx(v.Text,{fontSize:"xs",color:"primary",fontWeight:"semibold",onClick:b=>{b.stopPropagation(),S()},children:"CLEAR"})})]}),!t.hideSearch&&e.jsx(x.Box,{direction:"column",style:{paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px"},children:e.jsx(dt.Input,{ref:l,placeholder:`Search ${r.toLowerCase()}...`,leftIcon:e.jsx(E.Icon,{name:"Search",size:"sm"}),value:c,onChange:b=>a(b.target.value),style:{fontSize:"14px"}})}),e.jsx(x.Box,{direction:"column",className:"ts-filter-dropdown-options",style:{overflowY:"auto",maxHeight:"250px",paddingLeft:"8px",paddingRight:"8px"},children:t.isLoadingOptions?e.jsxs(x.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(E.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(x.Box,{direction:"column",style:{gap:"2px",paddingTop:"4px",paddingBottom:"4px"},children:m.map(b=>e.jsxs(x.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(b.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent"},onClick:I=>{I.stopPropagation(),p(b.value)},onMouseEnter:I=>{g.includes(b.value)||(I.currentTarget.style.backgroundColor="var(--sa-background-primary, #ffffff)"),I.currentTarget.style.transform="translateX(2px)"},onMouseLeave:I=>{I.currentTarget.style.backgroundColor=g.includes(b.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent",I.currentTarget.style.transform="translateX(0)"},children:[e.jsx(nt.Checkbox,{checked:g.includes(b.value),onChange:()=>{}}),e.jsx(v.Text,{fontSize:"sm",fontWeight:g.includes(b.value)?"medium":"normal",color:g.includes(b.value)?"primary":"gray-700",children:b.label})]},b.value))}):e.jsxs(x.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(E.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(x.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(x.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"4px"},children:[e.jsx(x.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"]})]})})]})]})},Ai=({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,l=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:l},children:e.jsx("path",{d:"M0 0 L8 0 L4 5 Z",fill:"currentColor"})})]})},Wi=({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"})]}),wr="var(--sa-background-primary, #ffffff)",Wn="var(--sa-background-primary-inverse, #f8f8f8)",Mo=({columns:t,records:r,handleDetail:n,handleUpdate:s,handleDelete:o,isLoading:i,visibleHandleDelete:l,visibleHandleUpdate:c,visibleHandleDetail:a,showHeadBorder:u=!1,scrollParentRef:f,frozenCount:g=0,onFrozenCountChange:m,customActions:p,actionsOrder:S=["detail","update","delete","custom"],customEmptyState:b,enableColumnResize:I=!1,defaultColumnWidths:B,onColumnWidthsChange:F,defaultMinColumnWidth:C=60,sort:D,defaultSort:A,onSortChange:R,showActionDivider:w=!1})=>{const O=D!==void 0,[L,U]=d.useState(A??null),J=O?D??null:L,N=W=>{if(W.sortKey)return W.sortKey;if(typeof W.accessor=="string")return W.accessor},_=W=>{const $=N(W);if(!$)return;let Q;!J||J.key!==$?Q={key:$,direction:"asc"}:J.direction==="asc"?Q={key:$,direction:"desc"}:Q=null,O||U(Q),R==null||R(Q)},te=[n,s,o].filter(W=>W!==void 0).length,V=!!p,z=!!n||!!s||!!o||V,P="var(--sa-border-subtle, #0b120e24)",se=`1px solid ${P}`,ye=`inset 1px 0 0 ${P}`,Se=`inset -1px 0 0 ${P}`,xe=te===3?V?"178px":"140px":te===2?V?"140px":"102px":te===1?V?"112px":"74px":V?"74px":"",pe=(W,$)=>{if(!$)return W;if(typeof $=="function")return $(W);if(typeof $=="string")return W[$]},[je,be]=d.useState(!1);d.useEffect(()=>{if(!(f!=null&&f.current))return;const W=f.current;be(W.scrollHeight>W.clientHeight)},[r,f]);const Te=d.useRef(null),[ke,ze]=d.useState([]),[Y,he]=d.useState(()=>B??{}),Oe=d.useRef(null);d.useLayoutEffect(()=>{if(!g||!Te.current){ze([]);return}const W=Array.from(Te.current.querySelectorAll("thead tr th")),$=[];let Q=0;W.forEach((de,ie)=>{$[ie]=Q,ie<g&&(Q+=de.offsetWidth)}),ze($)},[g,t,r,Y]);const Ne=W=>{m&&m(W<g?W:W+1)},ae=(W,$)=>{const Q=Y[W];if(Q!==void 0){const de=`${Q}px`;return{width:de,minWidth:de,maxWidth:de}}return $?{width:$}:{}},_e=W=>I&&(W.resizable??!0),tt=(W,$)=>{W.preventDefault(),W.stopPropagation();const Q=W.currentTarget.closest("th");if(!Q)return;const de=Math.round(Q.getBoundingClientRect().width);Oe.current={colIndex:$,startX:W.clientX,startWidth:de};const ie=document.body.style.userSelect,Be=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";const Re=qe=>{var Ze;const Me=Oe.current;if(!Me)return;const Qe=((Ze=t[Me.colIndex])==null?void 0:Ze.minWidth)??C,Ce=Math.max(Qe,Me.startWidth+(qe.clientX-Me.startX));he(rt=>rt[Me.colIndex]===Ce?rt:{...rt,[Me.colIndex]:Ce})},$e=()=>{document.removeEventListener("mousemove",Re),document.removeEventListener("mouseup",$e),document.body.style.userSelect=ie,document.body.style.cursor=Be,Oe.current=null,F&&he(qe=>(F(qe),qe))};document.addEventListener("mousemove",Re),document.addEventListener("mouseup",$e)};return e.jsx("div",{ref:Te,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((W,$)=>{var ut,ct;const Q=g>0&&$<g,de=ke[$]??0,ie=_e(W),Re=$===t.length-1&&z&&w,$e=N(W),qe=!!W.sortable&&!!$e,Me=qe&&(J==null?void 0:J.key)===$e?J.direction:null,Qe=W.title||((ut=W.accessor)==null?void 0:ut.toString())||"",Ce=(ct=W.headerTooltip)!=null&&ct.showIcon?e.jsx(E.Icon,{name:"InfoCircle",size:"xs",style:{flexShrink:0,color:"var(--sa-icon-subtle, #8c8f97)",opacity:.75}}):null,Ze=e.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Qe}),rt=qe?e.jsxs("button",{type:"button",onClick:()=>_(W),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:W.textAlign==="text-right"?"right":W.textAlign==="text-center"?"center":"left"},children:[Ze,Ce,e.jsx(Ai,{direction:Me})]}):e.jsxs("span",{style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:4},children:[Ze,Ce]});return e.jsxs(G.Th,{style:{position:"sticky",top:0,left:Q?de:void 0,zIndex:Q?4:2,paddingLeft:$===0?"12px":"",borderRight:u&&!Re&&!Q?se:void 0,borderBottom:u?se:void 0,boxShadow:u&&Q?Se:void 0,backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",textAlign:W.textAlign==="text-right"?"right":W.textAlign==="text-center"?"center":"left",...ae($,W.width)},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px",justifyContent:"space-between",minWidth:0},children:[W.headerTooltip?e.jsx(Fe.Tooltip,{label:W.headerTooltip.content,position:"bottom",children:rt}):rt,W.filter&&e.jsx(Fo,{filter:W.filter,columnTitle:W.title}),m&&e.jsx("button",{onClick:()=>Ne($),title:Q?"Unfreeze column":"Freeze column",style:{background:"none",border:"none",cursor:"pointer",padding:"2px",display:"flex",alignItems:"center",flexShrink:0,color:Q?"var(--sa-background-brand, #04254f)":"var(--sa-text-subtle, #8c8f97)",opacity:Q?1:.45,transition:"opacity 0.15s"},children:e.jsx(Wi,{frozen:Q})})]}),ie&&e.jsx("div",{onMouseDown:at=>tt(at,$),onClick:at=>at.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-${$}`)}),z?e.jsx(G.Th,{style:{backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",position:"sticky",top:0,right:0,zIndex:3,borderBottom:u?se:void 0,boxShadow:u&&w?ye: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(x.Box,{direction:"column",style:{gap:"16px"},children:[e.jsx(Ye.Skeleton,{variant:"list"}),e.jsx(Ye.Skeleton,{variant:"list"}),e.jsx(Ye.Skeleton,{variant:"list"}),e.jsx(Ye.Skeleton,{variant:"list"}),e.jsx(Ye.Skeleton,{variant:"list"})]})})}):!(r!=null&&r.length)&&b?e.jsx(G.Tr,{children:e.jsx(G.Td,{colSpan:t.length+1,children:b})}):r==null?void 0:r.map((W,$)=>e.jsxs(G.Tr,{style:{transition:"background-color 0.3s ease",padding:0,borderBottom:$===r.length-1&&je?void 0:"1px solid var(--sa-border-subtle, #0b120e24)"},onMouseEnter:Q=>{const de=Q.currentTarget;de.style.backgroundColor=Wn,Array.from(de.querySelectorAll("td")).forEach(ie=>{ie.style.position==="sticky"&&(ie.style.backgroundColor=Wn)})},onMouseLeave:Q=>{const de=Q.currentTarget;de.style.backgroundColor="",Array.from(de.querySelectorAll("td")).forEach(ie=>{ie.style.position==="sticky"&&(ie.style.backgroundColor=wr)})},children:[t.map((Q,de)=>{const ie=Q.render?Q.render(W,$,r):pe(W,Q.accessor),Be=g>0&&de<g,Re=ke[de]??0,$e=Y[de]!==void 0,qe=Be&&de===g-1;return e.jsx(G.Td,{style:{position:Be?"sticky":void 0,left:Be?Re:void 0,zIndex:Be?1:void 0,backgroundColor:Be?wr:void 0,transition:Be?"background-color 0.3s ease":void 0,paddingLeft:de===0?"12px":"",whiteSpace:"nowrap",overflow:$e?"hidden":void 0,borderLeft:Q.showBorderLeft?se:void 0,borderRight:Q.showBorderRight?se:void 0,boxShadow:qe?Se:void 0,textAlign:Q.textAlign==="text-right"?"right":Q.textAlign==="text-center"?"center":"left",...ae(de,Q.width)},children:typeof ie=="string"?e.jsx(v.Text,{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textAlign:Q.textAlign==="text-right"?"right":Q.textAlign==="text-center"?"center":"left"},children:ie}):ie},`row-${$}-col-${de}`)}),z?e.jsx(G.Td,{style:{width:xe,position:"sticky",right:0,zIndex:1,backgroundColor:wr,boxShadow:w?ye:void 0,transition:"background-color 0.3s ease"},children:e.jsx(ce.Flex,{direction:"row",align:"center",justify:"center",gap:"sm",children:S.map(Q=>{const de=$===r.length-1?"top":"bottom";return Q==="detail"&&n&&(a==null?void 0:a(W))!==!1?e.jsx(Fe.Tooltip,{label:"Detail",position:de,children:e.jsx(H.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>n(W.id,W),iconLeft:e.jsx(E.Icon,{name:"DocumentClean",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"detail"):Q==="update"&&s&&(c==null?void 0:c(W))!==!1?e.jsx(Fe.Tooltip,{label:"Update",position:de,children:e.jsx(H.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>s(W),iconLeft:e.jsx(E.Icon,{name:"Edit1",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"update"):Q==="delete"&&o&&(l==null?void 0:l(W))!==!1?e.jsx(Fe.Tooltip,{label:"Delete",position:de,children:e.jsx(H.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>o(W.id,W),iconLeft:e.jsx(E.Icon,{name:"Trash1",size:"sm",style:{color:"var(--sa-color-error-600, #c9184a)"}})})},"delete"):Q==="custom"?e.jsx(d.Fragment,{children:p==null?void 0:p(W)},"custom"):null})})}):null]},`${W}${$}`))})]})})};let zn=!1;const zi=({wrapperProps:t,dataTableProps:r,headerProps:n,footerProps:s})=>{var g;process.env.NODE_ENV!=="production"&&!zn&&(zn=!0,console.warn("[@starasia/admin] `TableSection` deprecated — pakai `<FilterBar>` + `<TableLayout>`. Lihat skill `starasia-list-page-pattern`. Akan dihapus di salah satu major berikutnya."));const o=d.useRef(null),[i,l]=d.useState((r==null?void 0:r.defaultFrozenCount)??0),c=(n==null?void 0:n.show)??!0,a=d.useRef(null),u=(g=r==null?void 0:r.pagination)==null?void 0:g.totalData;typeof u=="number"&&(a.current=u);const f=(s==null?void 0:s.showFooter)??(u===void 0?a.current!==0:u!==0);return e.jsxs(ko,{...t,children:[c&&e.jsx(Bo,{...n}),e.jsx(x.Box,{direction:"column",ref:o,style:{flex:1,overflowY:"auto",overflowX:"auto"},children:r?e.jsx(Mo,{...r,scrollParentRef:o,frozenCount:r!=null&&r.enableFreezeColumns?i:0,onFrozenCountChange:r!=null&&r.enableFreezeColumns?l:void 0}):null}),f&&e.jsx(Eo,{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 Hi(t){return d.memo(t)}const Pi=Hi(zi),Hn=200,Dr="1px solid var(--sa-border-subtle, #0b120e24)",Vi=({sortDir:t,frozen:r})=>t==="asc"?e.jsx(E.Icon,{name:"ChevronSmallUp"}):t==="desc"?e.jsx(E.Icon,{name:"ChevronSmallDown"}):r?e.jsx(E.Icon,{name:"LockOn",size:"xs"}):e.jsx(E.Icon,{name:"Filter",size:"xs"}),Pt=({icon:t,label:r,active:n,danger:s,onClick:o})=>{const i=s?"var(--sa-text-error, #a4133c)":"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:l=>{n||(l.currentTarget.style.background="var(--sa-background-primary-inverse, #f8f8f8)")},onMouseLeave:l=>{l.currentTarget.style.background=n?"var(--sa-background-brand-subtlest, #e6edf6)":"none"},children:[e.jsx(E.Icon,{name:t,size:"sm",style:{color:i,flexShrink:0}}),e.jsx(v.Text,{as:"span",style:{color:i},children:r})]})},Io=({active:t,canSort:r,canHide:n,sortDir:s,frozen:o,onSort:i,onClearSort:l,onToggleFreeze:c,onHide:a})=>{const[u,f]=d.useState(!1),g=d.useRef(null),m=d.useRef(null),[p,S]=d.useState({top:0,left:0});d.useEffect(()=>{if(u&&g.current){const I=g.current.getBoundingClientRect(),B=I.left+Hn>window.innerWidth;S({top:I.bottom+6,...B?{right:window.innerWidth-I.right}:{left:I.left}})}},[u]),d.useEffect(()=>{if(!u)return;const I=B=>{m.current&&!m.current.contains(B.target)&&g.current&&!g.current.contains(B.target)&&f(!1)};return document.addEventListener("mousedown",I),()=>document.removeEventListener("mousedown",I)},[u]);const b=I=>{I(),f(!1)};return e.jsxs(e.Fragment,{children:[e.jsx("button",{ref:g,type:"button",className:"sa-tl-menu-trigger","data-active":t||u?"true":"false",onClick:I=>{I.stopPropagation(),f(B=>!B)},title:"Column options",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:"var(--sa-radii-sm, 6px)",border:Dr,background:"var(--sa-background-primary, #ffffff)",cursor:"pointer",color:"var(--sa-text-subtle, #8c8f97)",flexShrink:0},children:e.jsx(Vi,{sortDir:s,frozen:o})}),u&&e.jsxs(x.Box,{ref:m,onClick:I=>I.stopPropagation(),style:{position:"fixed",top:`${p.top}px`,...p.left!==void 0?{left:`${p.left}px`}:{right:`${p.right}px`},minWidth:Hn,backgroundColor:"var(--sa-background-primary, #ffffff)",border:Dr,borderRadius:"var(--sa-radii-sm, 6px)",boxShadow:"var(--sa-shadow-xl, 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a)",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:()=>b(()=>s==="asc"?l():i("asc"))}),e.jsx(Pt,{icon:"ChevronDown",label:"Descending",active:s==="desc",onClick:()=>b(()=>s==="desc"?l():i("desc"))}),e.jsx("div",{style:{borderTop:Dr,margin:"4px 0"}})]}),e.jsx(Pt,{icon:"Pin1",label:o?"Unfreeze":"Freeze",active:o,onClick:()=>b(c)}),n&&e.jsx(Pt,{icon:"EyeClosed",label:"Hide column",danger:!0,onClick:()=>b(a)})]})]})},kt="1px solid var(--sa-border-subtle, #0b120e24)",Ni="var(--sa-text-subtle, #8c8f97)",gt="var(--sa-background-neutral, #f0f1f2)",Pn="2px 0 4px -2px var(--sa-border-subtle, #0b120e24)",Bt=40,Sr="var(--sa-background-brand-subtlest)",Vt={display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},Vn="sa-table-layout-styles",_i=()=>{if(typeof document>"u"||document.getElementById(Vn))return;const t=document.createElement("style");t.id=Vn,t.textContent=`
2
2
  .sa-table-layout tbody td {
3
3
  transition: background-color 0.15s ease;
4
4
  background-color: var(--sa-tl-bg, transparent);