@starasia/admin 12.14.0 → 12.15.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 +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.umd.js +1 -1
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Zr=require("@starasia/alert"),Xe=require("@starasia/badges"),h=require("@starasia/box"),st=require("@starasia/breadcrumb"),V=require("@starasia/button"),Gr=require("@starasia/card"),et=require("@starasia/date"),He=require("@starasia/dialog"),Rt=require("@starasia/drawer"),lt=require("@starasia/dropdown"),je=require("@starasia/hooks"),ct=require("@starasia/http"),$e=require("@starasia/input"),O=require("@starasia/menu"),yt=require("@starasia/pagination"),pt=require("@starasia/storage"),Z=require("@starasia/table"),Qr=require("@starasia/tabs"),gr=require("@starasia/textarea"),it=require("@starasia/theme"),Ur=require("@starasia/toast"),at=require("@starasia/toggle"),Se=require("@starasia/tooltip"),_e=require("@starasia/checkbox"),pr=require("@starasia/radio"),w=require("@starasia/text"),L=require("@starasia/icon"),oe=require("@starasia/flex"),Jr=require("@starasia/grid"),Yr=require("@starasia/progress"),Xr=require("@starasia/stepper"),$r=require("@starasia/accordion"),Kr=require("@starasia/story-record"),ze=require("@starasia/skeleton"),en=require("@starasia/progress-stepper"),e=require("react/jsx-runtime"),u=require("react"),zt=require("react-dom"),zo=require("react-easy-crop"),Ho={menus:[],menuBottom:void 0,logo:"",appName:"Workspace",userData:null,setUserData:()=>{}},vr=u.createContext(Ho),Cr=()=>u.useContext(vr),Bn=t=>{const[r,n]=u.useState((t==null?void 0:t.initialUserData)||null);return{userData:r,setUserData:n}},Fn=u.createContext({badges:{},setBadge:()=>{},setBadges:()=>{},clearBadge:()=>{}}),En=({children:t})=>{const[r,n]=u.useState({}),s=u.useCallback(c=>{n(a=>typeof c=="function"?c(a):c)},[]),o=u.useCallback((c,a)=>{n(d=>{const f=typeof a=="function"?a(d[c]):a;return{...d,[c]:f}})},[]),i=u.useCallback(c=>{n(a=>{if(!(c in a))return a;const d={...a};return delete d[c],d})},[]),l=u.useMemo(()=>({badges:r,setBadge:o,setBadges:s,clearBadge:i}),[r,o,s,i]);return e.jsx(Fn.Provider,{value:l,children:t})},Mn=()=>u.useContext(Fn),Tt=(t,r)=>{const n=r!==void 0?r:t;return n==null?null:typeof n=="string"||typeof n=="number"?{value:n}:n},Ln=u.createContext({collapsed:!1,setCollapsed:()=>{},toggle:()=>{},collapse:()=>{},expand:()=>{},mobileOpen:!1,setMobileOpen:()=>{},openMobile:()=>{},closeMobile:()=>{},toggleMobile:()=>{}}),Tn=({children:t,defaultCollapsed:r=!1})=>{const[n,s]=u.useState(r),[o,i]=u.useState(!1),l=u.useCallback(j=>{s(E=>typeof j=="function"?j(E):j)},[]),c=u.useCallback(()=>s(j=>!j),[]),a=u.useCallback(()=>s(!0),[]),d=u.useCallback(()=>s(!1),[]),f=u.useCallback(j=>{i(E=>typeof j=="function"?j(E):j)},[]),g=u.useCallback(()=>i(!0),[]),m=u.useCallback(()=>i(!1),[]),y=u.useCallback(()=>i(j=>!j),[]),D=u.useMemo(()=>({collapsed:n,setCollapsed:l,toggle:c,collapse:a,expand:d,mobileOpen:o,setMobileOpen:f,openMobile:g,closeMobile:m,toggleMobile:y}),[n,l,c,a,d,o,f,g,m,y]);return e.jsx(Ln.Provider,{value:D,children:t})},In=()=>u.useContext(Ln),On=u.createContext(null),Rn=({adapter:t,children:r})=>e.jsx(On.Provider,{value:t,children:r}),qe=()=>{const t=u.useContext(On);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},Wn=({router:t,routerAdapter:r,menus:n=[],menuBottom:s,logo:o,appName:i="Workspace",initialUserData:l,theme:c})=>{const a=Bn({initialUserData:l}),{theme:d}=it.useTheme();return e.jsx(Rn,{adapter:r,children:e.jsx(vr.Provider,{value:{logo:o,appName:i,menus:n,userData:a.userData,setUserData:a.setUserData,menuBottom:s},children:e.jsx(En,{children:e.jsx(Tn,{children:c?e.jsx(it.ThemeProvider,{value:c,children:t}):d?e.jsx(it.ThemeProvider,{value:d,children:t}):t})})})})},Vo=u.memo(Wn);function An({collapsed:t=!1,children:r}){if(!r)return null;const n=typeof r=="function",s=n?r({collapsed:t}):r;return s==null||s===!1?null:e.jsx("div",{style:{position:"sticky",top:"4rem",zIndex:1,borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",paddingLeft:"0.5rem",paddingRight:"0.5rem",paddingTop:"0.5rem",paddingBottom:"0.5rem",boxSizing:"border-box"},children:n?s:e.jsx("div",{style:{opacity:t?0:1,transition:"opacity 0.3s",visibility:t?"hidden":"visible"},children:s})})}const wr=u.createContext(null);function zn({children:t}){const[r,n]=u.useState(null),[s,o]=u.useState(null),[i,l]=u.useState(null),[c,a]=u.useState(0),d=u.useCallback(()=>(a(f=>f+1),()=>a(f=>f-1)),[]);return e.jsx(wr.Provider,{value:{prependNode:r,appendNode:s,replaceNode:i,setPrependNode:n,setAppendNode:o,setReplaceNode:l,replaceCount:c,registerReplace:d},children:t})}function Hn({children:t}){const r=u.useContext(wr);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 Po({children:t,mode:r="append"}){const n=u.useContext(wr);if(u.useEffect(()=>{if(!(r!=="replace"||!n))return n.registerReplace()},[r,n]),!n)return process.env.NODE_ENV!=="production"&&console.warn("[HeaderLeftSlot] used outside AppLayout — content not rendered"),null;const s=r==="prepend"?n.prependNode:r==="replace"?n.replaceNode:n.appendNode;return s?zt.createPortal(t,s):null}const Dr=u.createContext(null);function Vn({children:t}){const[r,n]=u.useState({}),[s,o]=u.useState({}),i=u.useCallback((a,d)=>{n(f=>f[a]===d?f:{...f,[a]:d})},[]),l=u.useCallback(a=>(o(d=>({...d,[a]:(d[a]??0)+1})),()=>o(d=>({...d,[a]:Math.max(0,(d[a]??0)-1)}))),[]),c=u.useMemo(()=>({outletNodes:r,setOutletNode:i,slotCounts:s,registerSlot:l}),[r,i,s,l]);return e.jsx(Dr.Provider,{value:c,children:t})}function Pn({slotKey:t,fallback:r}){const n=u.useContext(Dr),s=n?(n.slotCounts[t]??0)>0:!1,o=u.useRef(n==null?void 0:n.setOutletNode);o.current=n==null?void 0:n.setOutletNode;const i=u.useCallback(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 No({slotKey:t,children:r}){const n=u.useContext(Dr),s=u.useRef(n==null?void 0:n.registerSlot);if(s.current=n==null?void 0:n.registerSlot,u.useEffect(()=>{var i;return(i=s.current)==null?void 0:i.call(s,t)},[t]),!n)return process.env.NODE_ENV!=="production"&&console.warn("[SidebarGroupSlot] used outside AppLayout — content not rendered"),null;const o=n.outletNodes[t];return o?zt.createPortal(r,o):null}const Wt="moduleSwitcherGroupId",yr="sa-module-switcher-change";function tn(){if(typeof window>"u")return null;const t=window.localStorage.getItem(Wt);if(t===null)return null;const r=Number(t);return Number.isFinite(r)?r:null}function Nn(t){typeof window>"u"||(t===null?window.localStorage.removeItem(Wt):window.localStorage.setItem(Wt,String(t)),window.dispatchEvent(new CustomEvent(yr,{detail:t})))}function _o(){Nn(null)}function Sr(){const[t,r]=u.useState(()=>tn());return u.useEffect(()=>{const s=()=>{r(tn())},o=i=>{i.key===Wt&&s()};return window.addEventListener(yr,s),window.addEventListener("storage",o),()=>{window.removeEventListener(yr,s),window.removeEventListener("storage",o)}},[]),{selectedGroupId:t,setSelectedGroupId:s=>{Nn(s),r(s)}}}let kt=0,Ke=!1,rn=new Set;const nn=()=>e.jsxs("svg",{width:"100%",height:"100%",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[e.jsx("rect",{x:"1.667",y:"1.667",width:"12.667",height:"12.667",rx:"2"}),e.jsx("line",{x1:"6",y1:"1.667",x2:"6",y2:"14.333"})]});function qo(t){const[r,n]=u.useState(!1),s=u.useRef(null),o=u.useRef(null);return u.useLayoutEffect(()=>{const i=s.current;if(!i)return;let l=0;const c=()=>{l=0;const d=o.current;if(!d)return;const f=d.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 on({text:t,textStyle:r}){const{containerRef:n,textRef:s,truncated:o}=qo(t),i=e.jsx("span",{ref:s,style:{display:"block",fontSize:"0.875rem",fontWeight:"500",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",...r},children:t});return e.jsx("div",{ref:n,style:{flex:1,minWidth:0},children:o?e.jsx(Se.Tooltip,{fluid:!0,label:t,position:"top",children:i}):i})}const sn={width:"100%",display:"flex",alignItems:"center",gap:"0.75rem",paddingLeft:"0.75rem",paddingRight:"0.75rem",paddingTop:"0.5rem",paddingBottom:"0.5rem",fontSize:"0.875rem",color:"var(--sa-text-subtle, #8c8f97)",background:"transparent",border:"none",borderRadius:"0.375rem",cursor:"pointer",textAlign:"left"};function Zo({children:t,headerLeftSlot:r,profile:n,isLoadingProfile:s,onLogout:o,isLoggingOut:i,loadingComponent:l,sidebarHeaderContent:c,headerActions:a,profileRole:d,profileMenuButtons:f,profileMenuItems:g,logoutButton:m}){var tt,z;const{useSearchParams:y,useNavigate:D,useLocation:j,Outlet:E}=qe(),[k]=y(),I=k.get("embed")==="true",v=Cr(),{badges:S}=Mn(),W=D(),R=j(),B=!je.useMediaQuery("md"),[G,J]=u.useState(!1),{collapsed:q,setCollapsed:$,mobileOpen:P,setMobileOpen:Y}=In(),[te,N]=u.useState(!1),[H,_]=u.useState(()=>new Set(rn)),[ne,ge]=u.useState(null),{selectedGroupId:pe,setSelectedGroupId:de}=Sr();u.useEffect(()=>{rn=H},[H]);const xe=u.useRef(null),ye=u.useRef(null);u.useEffect(()=>{const C=xe.current;if(!C)return;const T=()=>{Ke||(kt=C.scrollTop)};return C.addEventListener("scroll",T),()=>C.removeEventListener("scroll",T)},[]);const ke=()=>{const C=xe.current;C&&kt>0&&(Ke=!0,C.scrollTop=kt,requestAnimationFrame(()=>{Ke=!1}))};u.useLayoutEffect(()=>{Ke=!0,ke();const C=setTimeout(()=>{Ke=!1},300);return()=>clearTimeout(C)},[]),u.useLayoutEffect(()=>{v.menus.length>0&&(kt>0?ke():requestAnimationFrame(()=>{var T;const C=(T=xe.current)==null?void 0:T.querySelector("[data-menu-active='true']");C&&C.scrollIntoView({block:"center",behavior:"instant"})}))},[v.menus]),u.useEffect(()=>{Ke=!0,ke();const C=setTimeout(ke,0),T=setTimeout(ke,50),A=setTimeout(ke,100),Q=setTimeout(ke,200),ce=setTimeout(()=>{Ke=!1},300),Be=setTimeout(()=>{const ue=xe.current,re=ue==null?void 0:ue.querySelector("[data-menu-active='true']");if(ue&&re){const me=ue.getBoundingClientRect(),Fe=re.getBoundingClientRect();Fe.top>=me.top&&Fe.bottom<=me.bottom||re.scrollIntoView({block:"center",behavior:"smooth"})}},250);return()=>{clearTimeout(C),clearTimeout(T),clearTimeout(A),clearTimeout(Q),clearTimeout(ce),clearTimeout(Be)}},[R.pathname]),u.useEffect(()=>{ye.current&&(ye.current.scrollTop=0)},[R.pathname]),u.useEffect(()=>{B&&Y(!1)},[R.pathname,B]),u.useEffect(()=>{B&&$(!0)},[B]);const Te=()=>{J(!0)},Oe=()=>{J(!1)},Re=()=>{J(!1),o()},we=C=>{const T=[C.to];return C.children&&T.push(...C.children.map(A=>A.to)),T},We=[...v.menus.flatMap(C=>C.items.flatMap(we)),...((tt=v.menuBottom)==null?void 0:tt.flatMap(we))??[]],be=C=>{if(!R.pathname.startsWith(C))return!1;const T=We.filter(A=>R.pathname.startsWith(A)).sort((A,Q)=>Q.length-A.length)[0];return C===T};u.useEffect(()=>{var T;const C=A=>{var Q;(Q=A.children)!=null&&Q.some(ce=>R.pathname.startsWith(ce.to))&&_(ce=>{const Be=new Set(ce);return Be.add(A.id),Be})};v.menus.forEach(A=>{A.items.forEach(C)}),(T=v.menuBottom)==null||T.forEach(C)},[R.pathname,v.menus,v.menuBottom]);const Ue=C=>{_(T=>{const A=new Set(T);return A.has(C)?A.delete(C):A.add(C),A})};u.useEffect(()=>{v.menus.length!==0&&pe!==null&&!v.menus.some(C=>C.id===pe)&&de(null)},[v.menus,pe,de]);const ve=u.useMemo(()=>{if(pe!==null)return v.menus.filter(A=>A.id===pe||A.parentGroupId===pe);const C=v.menus.filter(A=>A.parentGroupId===void 0),T=v.menus.filter(A=>A.parentGroupId!==void 0).flatMap(A=>A.items);return T.length===0?C:[...C,{id:18,name:"Pengaturan",items:T,parentGroupId:void 0}]},[v.menus,pe]);if(I)return e.jsx("main",{style:{height:"100vh",overflowY:"auto",backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)"},children:t||e.jsx(E,{})});const Ae=C=>{const T=C.children&&C.children.length>0,A=H.has(C.id),Q=T?C.children.some(ue=>be(ue.to)):be(C.to),ce=Tt(C.badge,S[C.id]),Be=!!ce&&q&&!B;return e.jsxs("div",{"data-menu-active":Q||void 0,children:[e.jsxs("button",{onClick:ue=>{if(T)if(q&&!B){const re=ue.currentTarget.getBoundingClientRect();ge({item:C,top:re.top,left:re.right+8})}else Ue(C.id);else W(C.to)},style:{width:"100%",display:"flex",alignItems:"center",justifyContent:q&&!B?"center":void 0,gap:"0.5rem",paddingLeft:q&&!B?"0":"0.5rem",paddingRight:q&&!B?"0":"0.5rem",paddingTop:"0.25rem",paddingBottom:"0.25rem",height:"2rem",borderRadius:Q?"var(--sa-radii-sm, 0.375rem)":"var(--sa-radii-md, 0.5rem)",textAlign:"left",border:Q?"1px solid var(--sa-border-subtle, #0b120e24)":"1px solid transparent",backgroundColor:Q?"var(--sa-background-primary, #ffffff)":"transparent",color:"var(--sa-text-primary, #292a2e)",cursor:"pointer"},title:q&&!B?C.title:void 0,onMouseEnter:ue=>{Q||(ue.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)")},onMouseLeave:ue=>{Q||(ue.currentTarget.style.backgroundColor="transparent")},children:[e.jsxs("span",{style:{position:"relative",display:"inline-flex",flexShrink:0},children:[e.jsx(L.Icon,{name:C.icon,size:"sm",style:{flexShrink:0}}),Be&&e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",top:"-2px",right:"-2px",width:"0.5rem",height:"0.5rem",borderRadius:"9999px",backgroundColor:"var(--sa-color-error-500, #ff4d6d)",border:"1px solid var(--sa-background-primary, #ffffff)"}})]}),(!q||B)&&e.jsxs(e.Fragment,{children:[e.jsx(on,{text:C.title,textStyle:{transition:"opacity 0.3s"}}),ce&&e.jsx(Xe.Badges,{text:String(ce.value),variant:ce.variant??"info",size:"xs",border:!0}),T&&e.jsx("svg",{style:{width:"1rem",height:"1rem",flexShrink:0,transition:"transform 0.2s",transform:A?"rotate(180deg)":"rotate(0deg)"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),T&&(!q||B)&&(()=>{const ue=C.children.findIndex(re=>be(re.to));return e.jsxs("div",{style:{position:"relative",marginLeft:"0.9375rem",paddingLeft:"1.125rem",overflow:"hidden",transition:"all 0.3s ease-in-out",maxHeight:A?`${C.children.length*36}px`:"0px",opacity:A?1:0,marginTop:A?"0.25rem":"0px"},children:[e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:0,width:"1.5px",height:"100%",backgroundColor:"var(--sa-border-subtle, #0b120e24)",pointerEvents:"none"}}),ue>=0&&e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:`${ue*32}px`,width:"1.5px",height:"32px",backgroundColor:"var(--sa-text-primary, #292a2e)",transition:"top 0.2s ease-in-out",pointerEvents:"none",zIndex:1}}),C.children.map(re=>{const me=Tt(re.badge,S[re.id]);return e.jsxs("button",{onClick:()=>W(re.to),style:{width:"100%",display:"flex",alignItems:"center",gap:"0.5rem",paddingLeft:"0.75rem",paddingRight:"0.5rem",paddingTop:"0.25rem",paddingBottom:"0.25rem",height:"2rem",borderRadius:be(re.to)?"var(--sa-radii-sm, 0.375rem)":"var(--sa-radii-md, 0.5rem)",textAlign:"left",backgroundColor:be(re.to)?"var(--sa-background-primary, #ffffff)":"transparent",color:be(re.to)?"var(--sa-text-primary, #292a2e)":"var(--sa-text-subtle, #505258)",cursor:"pointer",border:be(re.to)?"1px solid var(--sa-border-subtle, #0b120e24)":"1px solid transparent"},onMouseEnter:Fe=>{be(re.to)||(Fe.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)")},onMouseLeave:Fe=>{be(re.to)||(Fe.currentTarget.style.backgroundColor="transparent")},children:[e.jsx(L.Icon,{name:re.icon,size:"sm",style:{flexShrink:0}}),e.jsx(on,{text:re.title}),me&&e.jsx(Xe.Badges,{text:String(me.value),variant:me.variant??"info",size:"xs",border:!0})]},re.id)})]})})()]},C.id)};return e.jsx(Vn,{children:e.jsxs(zn,{children:[e.jsxs("div",{style:{display:"flex",height:"100vh",position:"relative","--app-sidebar-width":B?"0px":q?"4.375rem":"16.375rem","--app-footer-zindex":B&&P?"40":"998"},children:[B&&e.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"var(--sa-color-black-alpha-a50, #181a198f)",zIndex:40,opacity:P?.5:0,pointerEvents:P?"auto":"none",transition:"opacity 0.3s"},onClick:()=>Y(!1)}),e.jsxs("aside",{style:{width:B?"16.375rem":q?"4.375rem":"16.375rem",position:B?"fixed":"relative",...B&&{inset:0,zIndex:50,transform:P?"translateX(0)":"translateX(-100%)"},backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",borderRight:"1px solid var(--sa-border-subtle, #0b120e24)",display:"flex",flexDirection:"column",transition:"all 0.3s ease-in-out",flexShrink:B?void 0:0},children:[e.jsx("div",{onMouseEnter:()=>N(!0),onMouseLeave:()=>N(!1),style:{height:"4rem",display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"1rem",paddingRight:"1rem",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",position:"relative"},children:(()=>{const C=!B&&q&&!P,T=C&&te;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",flex:C?1:void 0,justifyContent:C?"center":void 0,transition:"opacity 0.2s",opacity:T?0:1,pointerEvents:T?"none":"auto"},children:[e.jsx("img",{src:v.logo,alt:"Logo",style:{width:"2rem",height:"2rem",flexShrink:0}}),(!q||P)&&e.jsx("span",{style:{fontWeight:"600",color:"var(--sa-text-primary, #292a2e)",whiteSpace:"nowrap",transition:"opacity 0.3s"},children:v.appName})]}),!B&&!q&&e.jsx("button",{type:"button",onClick:()=>$(!0),"aria-label":"Collapse sidebar",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"1rem",height:"1rem",padding:0,background:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer",flexShrink:0},children:e.jsx(nn,{})}),C&&e.jsx("button",{type:"button",onClick:()=>$(!1),"aria-label":"Expand sidebar",style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"2rem",height:"2rem",padding:0,background:"var(--sa-background-primary, #ffffff)",border:"1px solid var(--sa-border-subtle, #0b120e24)",borderRadius:"var(--sa-radii-sm, 0.375rem)",color:"var(--sa-text-primary, #292a2e)",cursor:"pointer",opacity:T?1:0,pointerEvents:T?"auto":"none",transition:"opacity 0.2s"},children:e.jsx("span",{style:{width:"1rem",height:"1rem",display:"inline-flex"},children:e.jsx(nn,{})})}),B&&e.jsx("button",{onClick:()=>Y(!1),"aria-label":"Close menu",style:{padding:"0.375rem",borderRadius:"0.5rem",backgroundColor:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer"},children:e.jsx("svg",{style:{width:"1.25rem",height:"1.25rem"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})})()}),c&&e.jsx(An,{collapsed:B?!1:q,children:c}),e.jsx("div",{ref:xe,style:{flex:1,overflowY:"auto",paddingTop:"1rem",paddingBottom:"1rem"},children:ve.map(C=>e.jsxs("div",{style:{marginBottom:"1rem"},children:[!q||B?C.name&&e.jsx("div",{style:{paddingLeft:"1.5rem",paddingRight:"1rem",paddingTop:"0rem",paddingBottom:"0.25rem",fontSize:"0.875rem",fontWeight:"400",color:"var(--sa-text-subtlest, #6b6e76)",transition:"opacity 0.3s",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:C.name}):C.name&&e.jsx("div",{"aria-label":C.name,style:{display:"flex",alignItems:"center",justifyContent:"center",paddingTop:"0.75rem",paddingBottom:"0.75rem"},children:e.jsx("span",{style:{display:"block",width:"1rem",height:"2px",borderRadius:"1px",backgroundColor:C.color??"var(--sa-background-brand, #04254f)"}})}),e.jsx("div",{style:{paddingLeft:"1rem",paddingRight:"1rem",display:"flex",flexDirection:"column",gap:"var(--sa-spacing-xs, 0.25rem)"},children:C.slotKey?e.jsx(Pn,{slotKey:C.slotKey,fallback:C.items.map(T=>Ae(T))}):C.items.map(T=>Ae(T))})]},C.id))}),v.menuBottom&&v.menuBottom.length>0&&e.jsx("div",{style:{borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",paddingTop:"0.75rem",paddingBottom:"0.75rem",paddingLeft:"1rem",paddingRight:"1rem",backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",display:"flex",flexDirection:"column",gap:"var(--sa-spacing-xs, 0.25rem)",flexShrink:0},children:v.menuBottom.map(C=>Ae(C))})]}),e.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[e.jsxs("header",{style:{height:"4rem",backgroundColor:"var(--sa-background-primary, #ffffff)",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"1rem",paddingRight:"1rem",flexShrink:0},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:B?"1rem":void 0},children:[B&&e.jsx("button",{onClick:()=>Y(!0),style:{padding:"0.375rem",borderRadius:"0.5rem",backgroundColor:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer"},children:e.jsx("svg",{style:{width:"1.5rem",height:"1.5rem"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),e.jsx(Hn,{children:r})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[a,e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",cursor:"pointer"},children:[e.jsxs("div",{style:{textAlign:"right",maxWidth:"12.5rem"},children:[e.jsx("p",{style:{margin:0,fontSize:"0.875rem",fontWeight:500,color:"var(--sa-text-subtle, #8c8f97)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:s?"Loading...":(n==null?void 0:n.name)||"unknown"}),e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:s?"":(n==null?void 0:n.email)||"unknown"})]}),e.jsx("div",{style:{width:"2.5rem",height:"2.5rem",borderRadius:"9999px",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--sa-background-primary, #ffffff)",fontWeight:600,fontSize:"0.875rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)",flexShrink:0,backgroundColor:"var(--sa-background-brand, #04254f)"},children:((n==null?void 0:n.name)||"U")[0].toUpperCase()}),e.jsx(L.Icon,{name:"ChevronDown",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})]})}),e.jsxs(O.MenuLists,{style:{width:"280px",paddingBlock:"12px",paddingInline:"12px",gap:"8px",marginTop:"16px"},children:[e.jsx(O.MenuHeading,{children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",paddingBlock:"0.5rem"},children:[e.jsx("div",{style:{width:"4rem",height:"4rem",borderRadius:"9999px",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--sa-background-primary, #ffffff)",fontWeight:600,fontSize:"1.25rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)",marginBottom:"0.75rem",backgroundColor:"var(--sa-background-brand, #04254f)"},children:((n==null?void 0:n.name)||"U")[0].toUpperCase()}),e.jsx("p",{style:{margin:0,fontSize:"0.875rem",fontWeight:600,color:"var(--sa-text-primary, #292a2e)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:(n==null?void 0:n.name)||"unknown"}),e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:(n==null?void 0:n.email)||"unknown"}),d&&e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:d})]})}),(f&&f.length>0||g)&&e.jsxs(O.MenuBody,{children:[f==null?void 0:f.map((C,T)=>e.jsx(O.MenuButton,{children:e.jsxs("button",{type:"button",onClick:C.onClick,style:sn,onMouseEnter:A=>{A.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)"},onMouseLeave:A=>{A.currentTarget.style.backgroundColor="transparent"},children:[e.jsx(L.Icon,{name:C.icon,size:"md"}),e.jsx("span",{children:C.label})]})},`${C.label}-${T}`)),g]}),m??e.jsx(O.MenuFooter,{children:e.jsx(O.MenuButton,{children:e.jsxs("button",{type:"button",onClick:Te,style:{...sn,color:"var(--sa-background-error, #c9184a)",fontWeight:500},onMouseEnter:C=>{C.currentTarget.style.backgroundColor="var(--sa-color-error-50, #fff0f3)"},onMouseLeave:C=>{C.currentTarget.style.backgroundColor="transparent"},children:[e.jsx(L.Icon,{name:"Logout",size:"md",style:{color:"var(--sa-background-error, #c9184a)"}}),e.jsx("span",{children:"Logout"})]})})})]})]})]})]}),e.jsx("main",{ref:ye,style:{flex:1,overflowY:"auto"},children:t||e.jsx(E,{})})]})]}),i&&l&&e.jsx("div",{style:{position:"fixed",inset:0,background:"var(--sa-color-black-alpha-a70, #181a19b8)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999},children:l}),e.jsxs(He.Dialog,{isShow:G,onHide:Oe,children:[e.jsx(He.DialogTitle,{children:"Confirmation Logout"}),e.jsx(He.DialogBody,{children:"Are you sure you want to end the session and exit the page?"}),e.jsx(He.DialogFooter,{children:e.jsx(h.Box,{direction:"column",display:"flex",align:"flex-end",justify:"center",children:e.jsxs(oe.Flex,{direction:"row",gap:"sm",align:"center",children:[e.jsx(h.Box,{direction:"column",children:e.jsx(V.Button,{secondary:!0,onClick:Oe,children:"Cancel"})}),e.jsx(h.Box,{direction:"column",children:e.jsx(V.Button,{primary:!0,onClick:Re,children:"Yes, Sure"})})]})})})]}),ne&&e.jsxs(e.Fragment,{children:[e.jsx("div",{onClick:()=>ge(null),style:{position:"fixed",inset:0,zIndex:60,backgroundColor:"transparent"}}),e.jsxs("div",{role:"dialog","aria-label":ne.item.title,style:{position:"fixed",top:ne.top,left:ne.left,zIndex:61,minWidth:"13rem",maxWidth:"16rem",backgroundColor:"var(--sa-background-primary, #ffffff)",border:"1px solid var(--sa-border-subtle, #0b120e24)",borderRadius:"var(--sa-radii-md, 0.5rem)",boxShadow:"var(--sa-shadow-lg, 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a)",padding:"0.5rem",display:"flex",flexDirection:"column",gap:"0.125rem"},children:[e.jsx("div",{style:{fontSize:"0.75rem",fontWeight:600,color:"var(--sa-color-gray-500, #8c8f97)",padding:"0.25rem 0.5rem 0.5rem",textTransform:"uppercase",letterSpacing:"0.05em"},children:ne.item.title}),(z=ne.item.children)==null?void 0:z.map(C=>{const T=be(C.to),A=Tt(C.badge,S[C.id]);return e.jsxs("button",{onClick:()=>{W(C.to),ge(null)},style:{width:"100%",display:"flex",alignItems:"center",gap:"0.75rem",padding:"0.5rem 0.75rem",borderRadius:"var(--sa-radii-md, 0.5rem)",textAlign:"left",backgroundColor:T?"var(--sa-color-gray-100, #f8f8f8)":"transparent",color:T?"var(--sa-text-primary, #292a2e)":"var(--sa-color-gray-800, #505258)",border:"1px solid transparent",cursor:"pointer",fontSize:"0.875rem",fontWeight:500},onMouseEnter:Q=>{T||(Q.currentTarget.style.backgroundColor="var(--sa-color-gray-100, #f8f8f8)")},onMouseLeave:Q=>{T||(Q.currentTarget.style.backgroundColor="transparent")},children:[C.icon&&e.jsx(L.Icon,{name:C.icon,size:"sm",style:{flexShrink:0}}),e.jsx("span",{style:{flex:1,whiteSpace:"nowrap"},children:C.title}),A&&e.jsx(Xe.Badges,{text:String(A.value),variant:A.variant??"info",size:"xs",border:!0})]},C.id)})]})]})]})})}const bt=u.forwardRef(({children:t,...r},n)=>e.jsx(h.Box,{ref:n,role:"button",cursor:"pointer","aria-pressed":"true",display:"inline-block",tabIndex:0,...r,children:t})),ln=({title:t,iconName:r,textColor:n,iconColor:s,hoverTextColor:o,hoverIconColor:i})=>{const[l,c]=u.useState(!1),a=s??"var(--sa-text-subtle, #8c8f97)",d=n??"var(--sa-text-subtle, #8c8f97)",f=i??"var(--sa-text-subtle, #8c8f97)",g=o??"var(--sa-text-primary, #292a2e)";return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),style:{cursor:"pointer"},children:[e.jsx(L.Icon,{name:r||"ChevronLeft",size:"xs",style:{color:l?f:a,transition:"color 0.15s ease"}}),e.jsx(w.Text,{variant:"sub-h3",style:{color:l?g:d,transition:"color 0.15s ease"},children:t||"Back"})]})},Go=({items:t,separator:r="/",iconName:n,iconColor:s,hoverIconColor:o})=>{const{Link:i}=qe(),[l,c]=u.useState(!1),a=s??"var(--sa-text-subtle, #8c8f97)",d=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(L.Icon,{name:n||"ChevronLeft",size:"xs",onMouseEnter:g?()=>c(!0):void 0,onMouseLeave:g?()=>c(!1):void 0,style:{color:g&&l?d:a,transition:"color 0.15s ease",cursor:g?"pointer":void 0}}),y=f!=null&&f.to?e.jsx(i,{to:f.to,replace:!0,style:{textDecoration:"none"},children:m}):f!=null&&f.onClick?e.jsx(bt,{onClick:f.onClick,children:m}):m;return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",children:[y,e.jsx(st.Breadcrumb,{separator:r,size:"md",children:t.map((D,j)=>{const E=j===t.length-1;return D.to&&!E?e.jsx(st.BreadcrumbItem,{children:e.jsx(i,{to:D.to,children:D.label})},j):e.jsx(st.BreadcrumbItem,{currentPage:E,children:e.jsx(st.BreadcrumbLink,{onClick:E?void 0:D.onClick,children:D.label})},j)})})]})},Qo=t=>{const{Link:r}=qe(),{items:n,separator:s,onClick:o,navigateTo:i,...l}=t;return n&&n.length>0?e.jsx(Go,{items:n,separator:s,iconName:l.iconName,iconColor:l.iconColor,hoverIconColor:l.hoverIconColor}):i?e.jsx(h.Box,{direction:"row",children:e.jsx(r,{to:i,replace:!0,style:{textDecoration:"none"},children:e.jsx(ln,{...l})})}):e.jsx(h.Box,{direction:"row",children:e.jsx(bt,{onClick:o,children:e.jsx(ln,{...l})})})},ir=[{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 cn(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 an={fontSize:"11px",fontWeight:500,textAlign:"center",overflowWrap:"normal",wordBreak:"normal",color:"var(--sa-background-primary, #ffffff)",lineHeight:"1.3",maxWidth:"80px"},dn={display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",background:"none",border:"none",cursor:"pointer",padding:0};function _n({isShow:t,onHide:r,menus:n,selectedGroupId:s,onSelect:o}){const[i,l]=u.useState(void 0),c=d=>{o(d),r()},a=ir[0];return e.jsx(He.Dialog,{isShow:t,onHide:r,style:{width:560,background:"transparent",boxShadow:"none",border:"none"},children:e.jsx(He.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:dn,children:[e.jsx("div",{style:cn(s===null,i==="all",a),children:e.jsx("div",{style:{color:a.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(L.Icon,{name:"Grid",size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:an,children:"Semua"})]}),n.map((d,f)=>{var j;const g=s===d.id,m=i===d.id,y=((j=d.items[0])==null?void 0:j.icon)??"Grid",D=ir[(f+1)%ir.length];return e.jsxs("button",{onClick:()=>c(d.id),onMouseEnter:()=>l(d.id),onMouseLeave:()=>l(void 0),style:dn,children:[e.jsx("div",{style:cn(g,m,D),children:e.jsx("div",{style:{color:D.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(L.Icon,{name:y,size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:an,children:d.name})]},d.id)})]})})})}function Uo({onSelect:t,"aria-label":r="Pilih module"}={}){const n=Cr(),{useNavigate:s}=qe(),o=s(),{selectedGroupId:i,setSelectedGroupId:l}=Sr(),[c,a]=u.useState(!1),d=f=>{var g;if(l(f),f!==null){const m=n.menus.find(D=>D.id===f),y=(g=m==null?void 0:m.items[0])==null?void 0:g.to;y&&o(y)}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(L.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(_n,{isShow:c,onHide:()=>a(!1),menus:n.menus.filter(f=>f.parentGroupId===void 0),selectedGroupId:i,onSelect:d})]})}const Jo=(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},Yo=u.memo(({value:t,label:r,separator:n,labelWidth:s,lastIndex:o,labelAlign:i="top"})=>{const l=u.useMemo(()=>({padding:0,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),c=u.useMemo(()=>({padding:0,paddingRight:12,paddingLeft:12,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),a=()=>typeof r=="string"?e.jsx(w.Text,{fontWeight:"medium",color:"subtlest",children:r}):r,d=()=>typeof t=="string"||typeof t=="number"?e.jsx(w.Text,{color:"primary",fontWeight:"medium",children:t}):t,f=()=>typeof n=="string"||typeof n=="number"?e.jsx(w.Text,{fontWeight:"medium",color:"subtlest",children:n}):n;return e.jsxs(Z.Tr,{children:[e.jsx(Z.Td,{style:l,width:s,children:a()}),n?e.jsx(Z.Td,{style:c,width:24,children:f()}):null,e.jsx(Z.Td,{style:l,children:d()})]})}),Xo=u.memo(({fields:t,separator:r,labelWidth:n})=>e.jsx(Z.Table,{withColumnBorder:!1,withRowBorder:!1,children:t.map((s,o)=>e.jsx(Yo,{separator:r,labelWidth:n,lastIndex:o===t.length-1,...s},`field-group-field-${o}`))})),$o=u.memo(({maxRow:t=0,maxColumn:r=2,separator:n=":",fields:s=[],labelWidth:o=150,bordered:i=!1})=>{const l=u.useMemo(()=>Jo(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(h.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((d,f)=>e.jsx(h.Box,{direction:"column",flex:c?void 0:"1",width:c?a():void 0,marginBottom:c?"lg":void 0,children:e.jsx(Xo,{labelWidth:o,fields:d,separator:n})},f))})}),Ko=({backButton:t})=>{const[r,n]=u.useState(!1),s=(t==null?void 0:t.iconColor)??"var(--sa-text-subtle, #8c8f97)",o=(t==null?void 0:t.textColor)??"var(--sa-text-subtle, #8c8f97)",i=(t==null?void 0:t.hoverIconColor)??"var(--sa-text-subtle, #8c8f97)",l=(t==null?void 0:t.hoverTextColor)??"var(--sa-text-primary, #292a2e)";return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{cursor:"pointer"},children:[e.jsx(L.Icon,{name:(t==null?void 0:t.iconName)||"ChevronLeft",size:"xs",style:{color:r?i:s,transition:"color 0.15s ease"}}),e.jsx(w.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"})]})},es=({backButton:t,title:r,titleIcon:n,titleTag:s,children:o,header:i=!0,headerBorder:l=!1,disableAnimation:c=!1,scrollable:a=!1,stickyHeader:d=!1,subHeaders:f,action:g,titleTagProps:m,containerProps:y,headerProps:D})=>{const j=je.useMediaQuery("md"),{Link:E,useNavigate:k,useLocation:I}=qe(),v=k(),S=I(),W=t==null?void 0:t.show,R=()=>{if(typeof(t==null?void 0:t.onClick)=="function"){t.onClick();return}v(-1,{replace:!0})},M=()=>{if(!g)return null;if(u.isValidElement(g))return g;const P=g.filter(Y=>Y&&(Y.title||Y.icon));return P.length===0?null:j?e.jsx(h.Box,{direction:"row",gap:"md",children:P.map(({title:Y,icon:te,buttonProps:N,onClick:H},_)=>e.jsx(V.Button,{iconLeft:te?e.jsx(L.Icon,{name:te,size:"md"}):void 0,onClick:H,...N,children:Y},`action-${_}`))}):e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"tertiary",size:"sm",iconLeft:e.jsx(L.Icon,{name:"MenuBurger"}),"aria-label":"Actions"})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{minWidth:200},children:P.map(({title:Y,icon:te,buttonProps:N,onClick:H},_)=>{const ne=(N==null?void 0:N.tone)==="error"||(N==null?void 0:N.danger)===!0;return e.jsx(O.MenuItem,{intent:ne?"danger":void 0,disabled:N==null?void 0:N.disabled,startIcon:te?e.jsx(L.Icon,{name:te}):void 0,onClick:H,children:Y},`action-${_}`)})})})]})},B=()=>{const P=e.jsx(Ko,{backButton:t});return t!=null&&t.navigateTo?e.jsx(h.Box,{direction:"row",children:e.jsx(E,{to:t.navigateTo,replace:!0,style:{textDecoration:"none"},children:P})}):e.jsx(h.Box,{direction:"row",children:e.jsx(bt,{onClick:R,children:P})})},G=()=>{const P=!!r,Y=Array.isArray(g)&&g.length>0,te=u.isValidElement(g)?!0:Y;if(!P&&!te&&!W)return null;const H=j||!j&&Y;return e.jsxs(h.Box,{direction:"column",gap:"xs",paddingBlock:(D==null?void 0:D.paddingBlock)??"sm",paddingInline:(D==null?void 0:D.paddingInline)??"md",...D,style:{...l?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...D==null?void 0:D.style},children:[W&&B(),(P||te)&&e.jsxs(h.Box,{direction:H?"row":"column",gap:"sm",justify:"space-between",align:H?"center":"flex-start",children:[P?typeof r=="string"?e.jsxs(h.Box,{direction:"row",gap:"lg",align:"center",children:[e.jsxs(h.Box,{direction:"row",gap:"sm",align:"center",children:[n&&e.jsx(L.Icon,{name:n,size:"md",color:"primary"}),e.jsx(w.Text,{variant:"h3",fontWeight:"semibold",fontFamily:"Poppins",children:r})]}),s&&e.jsx(Xe.Badge,{border:!0,size:"lg",text:s,...m})]}):r:null,M()]})]})},J=()=>{if(!f||f.length===0)return null;const P=f.filter(N=>N.show!==!1);if(P.length===0)return null;let Y=0,te=-1/0;return P.forEach((N,H)=>{const _=N.order??0;_>=te&&(te=_,Y=H)}),P.map(({content:N,order:H,borderBottom:_=!0,keepBottomPadding:ne=!1,paddingInline:ge=!0,paddingBlock:pe=!0},de)=>e.jsx(h.Box,{direction:"column",paddingTop:pe?"sm":"spacing-0",paddingBottom:pe&&(_||ne||de===Y)?"sm":"spacing-0",paddingInline:ge?"md":"spacing-0",style:{..._?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...H!==void 0?{order:H}:{}},children:N},`sub-header-${de}`))},q=()=>{const P=i?G():null,Y=J();return!P&&!Y?null:e.jsxs(h.Box,{direction:"column",style:{...a?{position:"sticky",left:0,...d?{top:0}:{},zIndex:2,background:"var(--sa-background-primary, #ffffff)"}:{},marginBottom:Y?"var(--sa-spacing-0)":"var(--sa-spacing-md)"},children:[P,Y]})},$=()=>o;return e.jsxs(h.Box,{direction:"column",as:"main",...y,style:{...a?{height:"100%",minHeight:0,overflow:"auto"}:{},...(y==null?void 0:y.style)??{},...c?{}:{animation:"pageLayoutEnter 320ms cubic-bezier(0.16, 1, 0.3, 1) backwards"}},children:[q(),$()]},S.pathname)},ts=u.memo(es),rs={icon:"Cross",title:""},qn=u.forwardRef(({onHide:t,show:r,withBlur:n=!1,style:s,children:o,closeButton:i=rs,width:l,minWidth:c,maxWidth:a},d)=>{const f=l??a??c??"357px";return e.jsx(Rt.Drawer,{blur:n,isShow:r,position:"right",onHide:t,ref:d,size:f,style:s,children:e.jsxs(h.Box,{direction:"column",padding:"lg",children:[i?e.jsxs(h.Box,{direction:"row",align:"center",gap:"sm",onClick:t,marginBottom:"lg",cursor:"pointer",children:[e.jsx(L.Icon,{name:i.icon,size:"md",color:"subtle",cursor:"pointer"}),i.title?e.jsx(w.Text,{fontFamily:"Poppins",fontSize:"md",color:"subtlest",children:i.title}):null]}):null,o]})})}),kr=u.memo(({children:t,borderBottom:r=!0,padding:n=!0})=>{const s=je.useMediaQuery("lg");return e.jsx(h.Box,{direction:"column",padding:n?"md":"spacing-0",paddingLeft:n?"md":"spacing-0",paddingRight:n?"md":"spacing-0",style:r?{borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"}:void 0,children:t})}),Br=u.memo(({children:t,borderTop:r=!0,padding:n=!0})=>{const s=je.useMediaQuery("lg");return e.jsx(h.Box,{direction:"column",padding:n?"md":"spacing-0",paddingLeft:n?"md":"spacing-0",paddingRight:n?"md":"spacing-0",style:r?{borderTop:"1px solid var(--sa-border-subtle, #0b120e24)"}:void 0,children:t})}),ns=u.memo(({children:t,...r})=>e.jsx(h.Box,{direction:"column",padding:"md",paddingLeft:"md",paddingRight:"md",gap:"md",...r,children:t})),os=u.memo(({children:t,title:r,titleTag:n,action:s,header:o,footer:i,actionContainer:l,containerProps:c,bodyProps:a,headerProps:d={borderBottom:!0},footerProps:f={borderTop:!0},variantTag:g="info"})=>{const m=je.useMediaQuery("lg"),y=()=>n?e.jsxs(h.Box,{direction:"row",gap:"sm",align:"center",children:[e.jsx(w.Text,{fontWeight:"medium",children:r}),e.jsx(Xe.Badges,{border:!0,text:n,variant:g})]}):e.jsx(w.Text,{fontWeight:"medium",children:r}),D=()=>o||e.jsxs(h.Box,{direction:"row",justify:"space-between",align:"flex-start",gap:"md",children:[e.jsx(h.Box,{direction:"column",children:r?y():null}),e.jsx(h.Box,{direction:"column",style:m?{width:"100%",maxWidth:"19.313rem"}:{flex:1},...l,children:s??null})]}),j=!!(o||r||s);return e.jsxs(h.Box,{direction:"column",bg:"white",borderRadius:"rounded-xs",as:"section",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",...c,style:{backgroundColor:"var(--sa-background-primary, #ffffff)",...(c==null?void 0:c.style)??{}},children:[o!==null&&j?e.jsx(kr,{...d,children:D()}):null,e.jsx(ns,{...a,children:t}),i?e.jsx(Br,{...f,children:i}):null]})}),ss=t=>e.jsx(w.Text,{variant:"h1",children:t.children,...t.props}),is=t=>e.jsx(w.Text,{variant:"h2",children:t.children,...t.props}),ls=t=>e.jsx(w.Text,{variant:"h3",children:t.children,...t.props}),cs=t=>e.jsx(w.Text,{variant:"h4",children:t.children,...t.props}),as=t=>e.jsx(w.Text,{variant:"h5",children:t.children,...t.props}),ds=t=>e.jsx(w.Text,{variant:"h6",children:t.children,...t.props}),us=t=>e.jsx(w.Text,{variant:"sub-h1",children:t.children,...t.props}),xs=t=>e.jsx(w.Text,{variant:"sub-h2",children:t.children,...t.props}),hs=t=>e.jsx(w.Text,{variant:"sub-h3",children:t.children,...t.props}),fs=t=>e.jsx(w.Text,{variant:"body-1",children:t.children,...t.props}),ms=t=>e.jsx(w.Text,{variant:"body-2",children:t.children,...t.props}),gs=t=>e.jsx(w.Text,{variant:"body-3",children:t.children,...t.props}),Ve={H1:ss,H2:is,H3:ls,H4:cs,H5:as,H6:ds,SubH1:us,SubH2:xs,SubH3:hs,Body1:fs,Body2:ms,Body3:gs},Me=()=>{const{useSearchParams:t,useParams:r,useLocation:n}=qe(),[s,o]=t(),i=ct.searchParamsToObject(s.toString()),l=r(),c=n(),a=l.id;return{setSearchParams:o,searchParams:s,searchQueries:i,isHasQuery:(y,D)=>s.has(y)&&s.get(y)===D,getQueryParam:y=>s.get(y),getRouteParam:y=>l[y],params:l,location:c,id:a,hasId:!!a}},Zn=t=>JSON.stringify(t),Gn=t=>JSON.stringify(t),Qn=t=>JSON.stringify(t),Un=t=>JSON.stringify(t),ps=t=>t,ys=t=>JSON.stringify(t),jt=({value:t,name:r,type:n,withSearchParam:s=!0,setSearchParams:o,searchQueries:i,dropdownSearchKey:l,filterKey:c="filter",pageKey:a="page"})=>{if(s){let d;switch(n){case"search":d=ps(t);break;case"dropdown":case"dropdown-multiple":d=Zn(t);break;case"radio":d=Gn(t);break;case"date-range":d=Qn(t);break;case"advanced-date-range":d=ys(t);break;case"date":d=Un(t);break;default:d=t;break}if(typeof d<"u"){const g={...i[c]&&typeof i[c]=="string"?JSON.parse(i[c]):void 0,[r]:d},m={...i};l&&typeof l=="string"&&delete m[l],delete m[a];const y={...m,[c]:JSON.stringify(g)},D=new URLSearchParams(i).toString(),j=new URLSearchParams(y).toString();if(D===j)return;o(y)}}},It=({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},Jn=({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},js=({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},Ht=(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},bs=({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}},Yn=({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},vs=(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},Xn=({isOpen:t,onClose:r,filterKey:n,pageKey:s,filters:o})=>{const{searchParams:i,setSearchParams:l,searchQueries:c}=Me(),[a,d]=u.useState({}),f=()=>{i.delete(n||"filter"),l(i)},g=(m,y)=>{switch(m.type){case"radio":{const{show:D=!0}=m;return D&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y)}case"dropdown":{const{show:D=!0}=m;return D&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y)}case"date-range":return e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y);case"date":return e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y);case"dropdown-multiple":{const{show:D=!0}=m;return D&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y)}default:return null}};return e.jsx(qn,{onHide:r,show:t||!1,children:e.jsxs(h.Box,{direction:"column",gap:"md",children:[e.jsxs(oe.Flex,{direction:"row",justify:"space-between",align:"center",children:[e.jsx(h.Box,{direction:"column",children:"Filter"}),e.jsx(h.Box,{direction:"column",style:{cursor:"pointer"},onClick:f,children:"Reset"})]}),o==null?void 0:o.map((m,y)=>g(m,y))]})})},$n=({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:d,handleOnReset:f,filterConfigs:g,buttonToggleProps:m,position:y="right",titleSearchLabel:D="Work Order",withTitleLabels:j=!1})=>{const k=(m==null?void 0:m.isShowLabel)??!0,[I,v]=u.useState(!1),[S,W]=u.useState(0),R=()=>{W(_=>_+1)},{searchParams:M,setSearchParams:B,getQueryParam:G}=Me(),J=ct.searchParamsToObject(M.toString()),q=Ht(t,M,c)||"",[$,P]=u.useState(q),Y=G(c),N=!!(Y&&!(()=>{if(Y)try{const _=JSON.parse(Y);return Object.keys(_).length===1&&_[t]===""}catch(_){console.error("Filter parameter is not a valid JSON:",_)}return!1})()),H=je.useMediaQuery("md");return u.useEffect(()=>{P(q)},[q]),u.useEffect(()=>{if($===q)return;const _=window.setTimeout(()=>{jt({value:$,name:t,type:"search",searchQueries:J,setSearchParams:B,filterKey:c,pageKey:a})},350);return()=>{window.clearTimeout(_)}},[$,q,t,J,B,c,a]),e.jsxs(oe.Flex,{gap:"md",style:{flexDirection:H&&y==="left"?"row":H&&y==="right"?"row-reverse":"column"},align:"flex-end",children:[N&&e.jsx(h.Box,{direction:"column",justify:"flex-end",children:e.jsx(V.Button,{onClick:()=>{const _=new URLSearchParams(M);_.delete(c),B(_),P(""),R(),f&&f()},variant:"outline",tone:"neutral",children:e.jsx(w.Text,{color:"error",fontWeight:"semibold",children:"Reset"})})}),o==null?void 0:o.map(({minWidth:_,content:ne,title:ge,onClickContainer:pe},de)=>e.jsxs(h.Box,{direction:"column",gap:"sm",onClick:pe,style:{minWidth:_},children:[ge&&e.jsx(Ve.SubH3,{children:ge}),ne]},`extended-filter-${de}-${S}`)),!!(g!=null&&g.length)&&e.jsx(V.Button,{primary:N,secondary:!N,iconLeft:e.jsx(L.Icon,{size:"sm",name:(m==null?void 0:m.icon)||"FilterHorizontal",style:{color:Y?"var(--sa-background-brand, #04254f)":"var(--sa-text-primary, #292a2e)"}}),fullWidth:!H,onClick:()=>v(!0),children:k?"Filter":void 0}),l&&e.jsxs(h.Box,{direction:"column",gap:"sm",style:{minWidth:"126px"},children:[j&&e.jsx(Ve.SubH3,{children:"Status"}),e.jsx(lt.Dropdown,{dropdownLists:[{label:"Active",value:"active"},{label:"InActive",value:"inactive"}],defaultValue:It({get:"value",name:r,searchParams:M,filterKey:c})?[{label:It({get:"value",name:r,searchParams:M,filterKey:c})==="active"?"Active":"InActive",value:It({get:"value",name:r,searchParams:M,filterKey:c})}]:[],onChange:_=>jt({value:_,name:r,type:"dropdown",searchQueries:J,setSearchParams:B,filterKey:c}),placeholder:j?"All":"All Status"},S)]}),i&&e.jsxs(h.Box,{direction:"column",gap:"sm",style:{width:d&&H?d:H?"310px":""},children:[j&&e.jsxs(Ve.SubH3,{children:["Search for ",D]}),e.jsx($e.Input,{placeholder:n,leftIcon:e.jsx(L.Icon,{name:"Search",width:20,height:20}),onChange:_=>P(_.target.value),value:$,fullWidth:!0},S+1+c)]}),e.jsx(Xn,{isOpen:I,onClose:()=>v(!1),filterKey:c,filters:g,pageKey:a})]})},Cs=t=>t==="checkbox-multiple"?"dropdown-multiple":t==="radio"?"dropdown":t==="date-compact"?"date":t;function Fr({configs:t,filterKey:r="filter",activeFilterKey:n="filters",pageKey:s="page",searchKey:o="q"}){const{searchParams:i,setSearchParams:l,searchQueries:c}=Me(),a=u.useMemo(()=>Object.fromEntries(t.map(S=>[S.key,S])),[t]),d=u.useMemo(()=>{const S=(i.get(n)||"").split(",").map(R=>R.trim()).filter(Boolean);let W=[];try{const R=i.get(r);R&&(W=Object.keys(JSON.parse(R)).filter(M=>M!==o))}catch{}return t.map(R=>R.key).filter(R=>{const M=a[R];return(M==null?void 0:M.locked)||S.includes(R)||W.includes(R)})},[i,n,r,o,t,a]),f=u.useCallback(S=>{try{return S[r]?JSON.parse(S[r]):{}}catch{return{}}},[r]),g=u.useCallback(S=>{const W={...c};S.length?W[n]=S.join(","):delete W[n],l(W)},[c,n,l]),m=u.useCallback(S=>{d.includes(S)||g([...d,S])},[d,g]),y=u.useCallback(S=>{var B;if((B=a[S])!=null&&B.locked)return;const W={...c},R=d.filter(G=>G!==S);R.length?W[n]=R.join(","):delete W[n];const M=f(W);S in M&&(delete M[S],Object.keys(M).length?W[r]=JSON.stringify(M):delete W[r]),delete W[s],l(W)},[c,d,n,r,s,f,l,a]),D=u.useCallback(S=>d.includes(S)?y(S):m(S),[d,m,y]),j=u.useCallback(S=>{switch(S.type){case"dropdown":case"dropdown-multiple":case"checkbox-multiple":case"radio":return Jn({name:S.key,get:"array",searchParams:i,filterKey:r})||[];case"date":{const W=Yn({name:S.key,searchParams:i,filterKey:r});return W?new Date(W):void 0}case"date-compact":{const R=f(Object.fromEntries(i.entries()))[S.key];return R&&typeof R=="object"?R:void 0}default:return}},[i,r,f]),E=u.useCallback((S,W)=>{if(S.type==="date-compact"){const R={...c},M=f(R);W==null?delete M[S.key]:M[S.key]=W,Object.keys(M).length?R[r]=JSON.stringify(M):delete R[r],delete R[s],l(R);return}jt({value:W,name:S.key,type:Cs(S.type),searchQueries:c,setSearchParams:l,filterKey:r,pageKey:s})},[c,l,r,s,f]),k=u.useCallback(S=>{const W={...c},R=f(W);S in R&&(delete R[S],Object.keys(R).length?W[r]=JSON.stringify(R):delete W[r]),delete W[s],l(W)},[c,r,s,f,l]),I=u.useCallback(()=>{const S={...c};delete S[r],delete S[n],delete S[s],l(S)},[c,r,n,s,l]),v=d.length>0;return{activeKeys:d,configByKey:a,hasActiveFilter:v,addFilter:m,removeFilter:y,toggleFilter:D,getValue:j,setValue:E,clearValue:k,clearAll:I}}const Er={get(t){return pt.storage.get(t)??null},set(t,r){pt.storage.save(t,r)},remove(t){pt.storage.delete(t)}},dt={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}`},Bt=(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 ws({columns:t,scopeId:r,storage:n,onColumnsChange:s,value:o}){const i=u.useMemo(()=>({order:t.map(M=>M.key),hidden:[]}),[t]),l=r?dt.columns(r):void 0,c=(M,B)=>Bt({order:M.order??B,hidden:M.hidden??[]},t),[a,d]=u.useState(()=>{if(o&&(o.order||o.hidden))return c(o,t.map(M=>M.key));if(l){const M=n.get(l);if(M&&Array.isArray(M.order))return Bt(M,t)}return i}),f=t.map(M=>M.key).join("|");u.useEffect(()=>d(M=>Bt(M,t)),[f]);const g=u.useRef(a);g.current=a;const m=o?`${(o.order??[]).join("|")}~${(o.hidden??[]).join("|")}`:null,y=u.useRef(m);u.useEffect(()=>{if(m==null||y.current===m)return;y.current=m;const M=g.current,B=c(o,M.order);B.order.join("|")===M.order.join("|")&&B.hidden.join("|")===M.hidden.join("|")||(d(B),l&&n.set(l,B))},[m,f]);const D=u.useRef(!1);u.useEffect(()=>{D.current||(D.current=!0,s==null||s(a))},[]);const j=u.useCallback(M=>{d(M),l&&n.set(l,M),s==null||s(M)},[l,n,s]),E=u.useMemo(()=>{const M=new Map(t.map(B=>[B.key,B]));return a.order.filter(B=>M.has(B)).map(B=>({...M.get(B),visible:!a.hidden.includes(B)}))},[a,t]),k=u.useCallback(M=>{const B=a.hidden.includes(M)?a.hidden.filter(G=>G!==M):[...a.hidden,M];j({...a,hidden:B})},[a,j]),I=u.useCallback((M,B)=>{if(M===B)return;const G=[...a.order],[J]=G.splice(M,1);G.splice(B,0,J),j({...a,order:G})},[a,j]),v=u.useCallback(M=>{j({...a,hidden:M?t.filter(B=>!B.locked).map(B=>B.key):[]})},[a,t,j]),S=u.useCallback(()=>j(i),[j,i]),W=u.useCallback(M=>j(Bt(M,t)),[j,t]),R=a.hidden.length===0;return{state:a,orderedColumns:E,allVisible:R,toggleVisibility:k,reorder:I,setAllHidden:v,reset:S,applyState:W}}function Ds({scopeId:t,storage:r,snapshotKeys:n,pageKey:s="page",getColumns:o,applyColumns:i}){const{searchParams:l,setSearchParams:c}=Me(),a=t?dt.savedViews(t):void 0,[d,f]=u.useState(()=>a?r.get(a)||[]:[]),g=u.useCallback(j=>{f(j),a&&r.set(a,j)},[a]),m=u.useCallback(j=>{const E=j.trim();if(!E)return;const k={};n.forEach(v=>{const S=l.get(v);S!=null&&(k[v]=S)});const I={id:`${Date.now()}`,name:E,query:k,columns:o==null?void 0:o(),createdAt:Date.now()};g([...d,I])},[n,l,o,g,d]),y=u.useCallback(j=>g(d.filter(E=>E.id!==j)),[g,d]),D=u.useCallback(j=>{const E=Object.fromEntries(l.entries());n.forEach(k=>delete E[k]),Object.assign(E,j.query),delete E[s],c(E),j.columns&&(i==null||i(j.columns))},[l,n,s,c,i]);return{enabled:!!a,views:d,saveView:m,deleteView:y,applyView:D}}function Ss(t,r){let n;try{n=JSON.parse(t)}catch{return t}return!n||typeof n!="object"?t:(delete n[r],Object.keys(n).length>0?JSON.stringify(n):void 0)}function un(t,r,n){const s=t[r];if(s==null)return;const o=Ss(s,n);o===void 0?delete t[r]:t[r]=o}function ks({scopeId:t,storage:r,snapshotKeys:n,enabled:s=!0,filterKey:o="filter",searchKey:i="q",persistSearch:l=!0}){const{searchParams:c}=Me(),a=t&&s?dt.lastState(t):void 0,d=u.useRef(a),f=u.useRef(!1);u.useEffect(()=>{if(!a){d.current=a;return}if(d.current!==a){d.current=a,f.current=!1;return}const y={};if(n.forEach(D=>{const j=c.get(D);j!=null&&(y[D]=j)}),l||un(y,o,i),Object.keys(y).length===0){f.current&&r.remove(a);return}f.current=!0,r.set(a,y)},[c,a,n,r,l,o,i]);const g=u.useCallback(()=>{if(!a)return null;const y=r.get(a);return!y||Object.keys(y).length===0||!l&&(un(y,o,i),Object.keys(y).length===0)?null:y},[a,r,l,o,i]),m=u.useCallback(()=>{a&&r.remove(a)},[a,r]);return{enabled:!!a,read:g,clear:m}}function Bs({scopeId:t,storage:r,perPageKey:n,pageSizeOptions:s,enabled:o=!0}){const{searchParams:i}=Me(),l=t&&o?dt.perPage(t):void 0,c=i.toString(),a=u.useRef(l);u.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 d=u.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=u.useCallback(()=>{l&&r.remove(l)},[l,r]);return{enabled:!!l,read:d,clear:f}}let lr={},cr=!1,ar=null;const Fs=(t,r)=>{Object.assign(lr,t),ar=r,!cr&&(cr=!0,queueMicrotask(()=>{const n=lr,s=ar;lr={},cr=!1,ar=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})}))};function Es({enabled:t,snapshotKeys:r,perPageKey:n,readSnapshot:s,readPerPage:o}){const{searchParams:i,setSearchParams:l,location:c}=Me(),a=u.useRef(null);u.useEffect(()=>{if(!t||a.current===c.pathname)return;a.current=c.pathname;const d={};if(!i.has(n)){const f=o();f&&(d[n]=f)}if(!r.some(f=>i.has(f))){const f=s();f&&Object.assign(d,f)}Object.keys(d).length!==0&&Fs(d,l)},[c.pathname,t])}const Ms=({configs:t,activeKeys:r,onToggle:n,hasActiveFilter:s,onReset:o})=>t.length?e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:s?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"FilterHorizontal"}),"aria-label":"Add filter"})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{minWidth:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:"Add Filter"}),s&&o&&e.jsx(V.Button,{variant:"link",tone:"brand",size:"xs",onClick:o,children:"Reset"})]}),children:t.map(i=>e.jsx(O.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,Vt=({onClear:t,onRemove:r})=>e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"link",tone:"neutral",size:"xs",iconLeft:e.jsx(L.Icon,{name:"MenuHorizontal"}),"aria-label":"Filter actions"})}),e.jsx(O.MenuLists,{children:e.jsxs(O.MenuBody,{style:{width:180},children:[e.jsx(O.MenuItem,{startIcon:e.jsx(L.Icon,{name:"CrossCircle"}),onClick:t,children:"Clear value"}),r&&e.jsx(O.MenuItem,{intent:"danger",startIcon:e.jsx(L.Icon,{name:"Trash1"}),onClick:r,children:"Remove filter"})]})})]}),Ls=t=>{const r=new Date(t);return r.setHours(0,0,0,0),r},xn=(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},Kn=t=>{const r=Ls(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:xn(r,-n,t.period),to:r}:{from:r,to:xn(r,n,t.period)}},hn=24,eo=t=>t.length>hn?`${t.slice(0,hn)}...`:t,Ot=t=>t.toLocaleDateString(void 0,{day:"2-digit",month:"short",year:"numeric"}),At={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"},Ts=["is","is-before","is-after","is-on-or-before","is-on-or-after","is-between","is-relative-to-today","is-empty","is-not-empty"],jr={past:"Past",next:"Next",this:"This"},Is=["day","week","month","year"],Os=["past","next","this"],Rs=t=>t.field.type==="date-compact"?e.jsx(zs,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}):e.jsx(Ws,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}),Ws=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=r?Ot(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:eo(i)})]}):t.label;return e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:l?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l?e.jsx(L.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:c})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Vt,{onClear:s,onRemove:o})]}),children:e.jsx(et.StarasiaDate,{size:"sm",input:!1,clearable:!0,filter:t.mode,value:r,onChange:a=>a==null?s():n(a),withPadding:!1})})})]})},As=t=>{switch(t.op){case"is":case"is-before":case"is-after":case"is-on-or-before":case"is-on-or-after":return t.date?`${At[t.op]} ${Ot(new Date(t.date))}`:null;case"is-between":return t.from&&t.to?`${Ot(new Date(t.from))} - ${Ot(new Date(t.to))}`:null;case"is-relative-to-today":{const r=t.relative;if(!r)return null;if(r.direction==="this")return`This ${r.period}`;const n=r.count??1,s=n===1?r.period:`${r.period}s`;return`${jr[r.direction]} ${n} ${s}`}case"is-empty":case"is-not-empty":return At[t.op];default:return null}},zs=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.ops&&t.ops.length>0?t.ops:Ts,l=t.defaultOp&&i.includes(t.defaultOp)?t.defaultOp:i[0],c=(r==null?void 0:r.op)??l,a=r?As(r):null,d=!!a,f=d?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:eo(a)})]}):t.label,g=m=>{if(m!==c){if(m==="is-empty"||m==="is-not-empty"){n({op:m});return}if(m==="is-relative-to-today"){n({op:m,relative:(r==null?void 0:r.relative)??{direction:"past",count:1,period:"week"}});return}if(m==="is-between"){n({op:m,from:r==null?void 0:r.from,to:r==null?void 0:r.to});return}n({op:m,date:r==null?void 0:r.date})}};return e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:d?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:d?e.jsx(L.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:f})}),e.jsxs(O.MenuLists,{children:[e.jsx(O.MenuBody,{style:{width:320},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",gap:"xs",fullWidth:!0,children:[e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"xs",style:{minWidth:0},children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Hs,{op:c,ops:i,onChange:g})]}),e.jsx(Vt,{onClear:s,onRemove:o})]}),children:e.jsx(Vs,{value:r,op:c,onChange:n})}),c==="is-relative-to-today"&&e.jsx(O.MenuFooter,{children:e.jsx(w.Text,{fontSize:"xs",color:"subtlest",children:"Filter will update with the current date"})})]})]})},Hs=({op:t,ops:r,onChange:n})=>e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"link",tone:"neutral",size:"xs",iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:At[t]})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:200},children:r.map(s=>e.jsx(O.MenuItem,{selected:t===s,onClick:()=>n(s),endIcon:t===s?e.jsx(L.Icon,{name:"Check"}):void 0,children:At[s]},s))})})]}),Vs=({value:t,op:r,onChange:n})=>{if(r==="is-empty"||r==="is-not-empty")return e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(w.Text,{fontSize:"xs",color:"subtlest",children:"No further input required."})});if(r==="is-between"){const s=t!=null&&t.from||t!=null&&t.to?{from:t!=null&&t.from?new Date(t.from):null,to:t!=null&&t.to?new Date(t.to):null}:void 0;return e.jsx(et.StarasiaDate,{size:"sm",input:!1,clearable:!0,rangedDate:!0,value:s,onChange:o=>{if(o==null){n({op:r});return}if(typeof o=="object"&&o!==null&&"from"in o&&"to"in o){let{from:i,to:l}=o;if(!i&&l&&(i=l,l=null),!i&&!l){n({op:r});return}n({op:r,from:i?i.toISOString():void 0,to:l?l.toISOString():void 0})}},withPadding:!1},"range")}return r==="is-relative-to-today"?e.jsx(Ps,{value:t==null?void 0:t.relative,onChange:s=>n({op:r,relative:s})}):e.jsx(et.StarasiaDate,{size:"sm",input:!1,clearable:!0,value:t!=null&&t.date?new Date(t.date):void 0,onChange:s=>{if(s==null){n({op:r});return}s instanceof Date&&n({op:r,date:s.toISOString()})},withPadding:!1},"single")},Ps=({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=Kn({direction:n,count:s,period:o});return e.jsxs(h.Box,{direction:"column",display:"flex",gap:"sm",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:jr[n]})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:140},children:Os.map(c=>e.jsx(O.MenuItem,{selected:n===c,endIcon:n===c?e.jsx(L.Icon,{name:"Check"}):void 0,onClick:()=>r(c==="this"?{direction:c,period:o}:{direction:c,count:s,period:o}),children:jr[c]},c))})})]}),i&&e.jsx($e.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(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:o})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:140},children:Is.map(c=>e.jsx(O.MenuItem,{selected:o===c,endIcon:o===c?e.jsx(L.Icon,{name:"Check"}):void 0,onClick:()=>r(n==="this"?{direction:n,period:c}:{direction:n,count:s,period:c}),children:c},c))})})]})]}),e.jsx(et.StarasiaDate,{size:"sm",input:!1,disabled:!0,rangedDate:!0,value:l,onChange:()=>{},withPadding:!1},"relative-preview")]})},fn=18,Ns=t=>t.length>fn?`${t.slice(0,fn)}...`:t,_s=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.type==="dropdown-multiple",l=r.length,c=t.searchable!==!1,[a,d]=u.useState(""),f=t.options,g=typeof t.onSearch=="function",m=(()=>{if(g)return f;const k=a.trim().toLowerCase();return k?f.filter(I=>I.label.toLowerCase().includes(k)):f})(),y=k=>r.some(I=>I.value===k.value),D=k=>{if(!i){n([{label:k.label,value:k.value}]),d("");return}n(y(k)?r.filter(I=>I.value!==k.value):[...r,{label:k.label,value:k.value}])},j=k=>{var I;d(k),(I=t.onSearch)==null||I.call(t,k)},E=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?Ns(r[0].label):`${l} Selected`})]});return e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:l>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l>0?e.jsx(L.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:E})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Vt,{onClear:s,onRemove:o})]}),children:e.jsxs(h.Box,{direction:"column",gap:"sm",children:[c&&e.jsx(lt.Dropdown,{size:"sm",triggerInput:!0,fullWidth:!0,hideChevronIcon:!0,clearable:!0,multiSelect:i,searchAble:!0,searchValue:a,onSearch:j,value:r,onChange:n,placeholder:`Search ${t.label.toLowerCase()}…`}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",customMaxHeight:"240px",children:t.isLoading?e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(w.Text,{fontSize:"xs",color:"subtlest",children:"Loading…"})}):m.length===0?e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(w.Text,{fontSize:"xs",color:"subtlest",children:"No results"})}):m.map(k=>e.jsx(O.MenuItem,{closeOnSelect:!i,selected:y(k),startIcon:k.avatar,endIcon:y(k)?e.jsx(L.Icon,{name:"Check"}):void 0,description:k.description,onClick:()=>D(k),children:k.label},k.value))})]})})})]})},mn=18,qs=t=>t.length>mn?`${t.slice(0,mn)}...`:t,gn=({checked:t,indeterminate:r})=>e.jsx("span",{style:{pointerEvents:"none",display:"inline-flex"},children:e.jsx(_e.Checkbox,{size:"sm",checked:t,readOnly:!0,onChange:()=>{},variant:r?"indeterminate":"select"})}),Zs=({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,d=m=>{n(i.has(m.value)?r.filter(y=>y.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(w.Text,{as:"span",fontWeight:"semibold",children:[t.label,":"]})," ",e.jsx(w.Text,{as:"span",children:l===1?qs(r[0].label):`${l} Selected`})]});return e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:l>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l>0?e.jsx(L.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:g})}),e.jsx(O.MenuLists,{children:e.jsxs(O.MenuBody,{style:{width:240},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Vt,{onClear:s,onRemove:o})]}),children:[e.jsx(O.MenuItem,{closeOnSelect:!1,selected:c,onClick:f,startIcon:e.jsx(gn,{checked:c||a,indeterminate:a}),children:"Select All"}),t.options.map(m=>e.jsx(O.MenuItem,{closeOnSelect:!1,selected:i.has(m.value),onClick:()=>d(m),startIcon:e.jsx(gn,{checked:i.has(m.value)}),children:m.label},m.value))]})})]})},to=({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),d=c.locked?void 0:()=>i(l);return c.type==="date"||c.type==="date-compact"?e.jsx(Rs,{field:c,value:a,onChange:f=>s(c,f),onClear:()=>o(l),onRemove:d},l):c.type==="checkbox-multiple"?e.jsx(Zs,{field:c,value:a||[],onChange:f=>s(c,f),onClear:()=>o(l),onRemove:d},l):e.jsx(_s,{field:c,value:a||[],onChange:f=>s(c,f),onClear:()=>o(l),onRemove:d},l)})}),pn=t=>`${t} Rows`,Gs=({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 k;const{searchQueries:a,setSearchParams:d,searchParams:f}=Me(),g=f.get(n),m=g?Number(g):o,y=I=>{d({...a,[r]:String(I)})},D=I=>{d({...a,[n]:I,[r]:"1"})},j=(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),E=(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(w.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${j}-${E} of ${((k=t==null?void 0:t.totalData)==null?void 0:k.toLocaleString())||0}`}),l&&e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),"aria-label":"Rows per page",children:pn(m)})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{children:s.map(I=>e.jsx(O.MenuItem,{selected:I===m,onClick:()=>D(String(I)),children:pn(I)},I))})})]}),c&&((t==null?void 0:t.totalPage)??0)>1&&e.jsx(h.Box,{direction:"column",display:"flex",align:"center",gap:"sm",paddingRight:"sm",style:{borderRight:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:e.jsx(yt.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:y})})]})};function Qs(t,r,n=!0){u.useEffect(()=>{if(!n)return;const s=o=>{var c;if(o.metaKey||o.ctrlKey||o.altKey||o.key!==t)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 Us=240,ro=({searchKey:t="q",filterKey:r="filter",pageKey:n="page",placeholder:s="Search",shortcut:o="/",collapsible:i=!0})=>{const{searchParams:l,setSearchParams:c,searchQueries:a}=Me(),d=Ht(t,l,r)||"",[f,g]=u.useState(!i||!!d),[m,y]=u.useState(i&&!d),[D,j]=u.useState(d),E=je.useDebounce(D,350),k=u.useRef(null);u.useEffect(()=>{j(d),d&&g(!0)},[d]),u.useEffect(()=>{f&&y(!1)},[f]),u.useEffect(()=>{E!==d&&jt({value:E,name:t,type:"search",searchQueries:a,setSearchParams:c,filterKey:r,pageKey:n})},[E]);const I=u.useCallback(()=>{g(!0),requestAnimationFrame(()=>{var R;return(R=k.current)==null?void 0:R.focus()})},[]);Qs(o,I);const v=()=>{i&&!D&&g(!1)},S=R=>{var M;i&&R.key==="Escape"&&!D&&(g(!1),(M=k.current)==null||M.blur())},W=()=>{f||y(!0)};return e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"spacing-0",children:[m&&e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"Search",size:"sm"}),"aria-label":"Search","aria-expanded":!1,onClick:I}),e.jsxs(h.Box,{onTransitionEnd:W,style:{position:"relative",width:f?Us:0,overflow:"hidden",transition:"width 220ms ease"},children:[e.jsx($e.Input,{ref:k,size:"sm",fullWidth:!0,value:D,placeholder:s,leftIcon:e.jsx(L.Icon,{name:"Search",width:16,height:16}),onChange:R=>j(R.target.value),onKeyDown:S,onBlur:v,tabIndex:f?0:-1}),f&&!D&&e.jsx(h.Box,{align:"center",justify:"center",borderColor:"border-subtle",borderWidth:"border",borderStyle:"border-solid",borderRadius:"rounded-xs",paddingInline:"spacing-1",customBackgroundColor:"var(--sa-background-surface-hover, #f1f2f4)",style:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",minWidth:18,height:18,display:"inline-flex"},children:e.jsx(w.Text,{fontSize:"xs",color:"subtle",children:o})})]})]})},no=({columns:t,allVisible:r,onToggle:n,onReorder:s,onSetAllHidden:o})=>{const[i,l]=u.useState(null),[c,a]=u.useState(null),d=()=>{i!==null&&c!==null&&i!==c&&s(i,c),l(null),a(null)},f=(g,m)=>{const y=g+m;y<0||y>=t.length||s(g,y)};return e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:r?"outline":"secondary",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"Grid",size:"sm"}),"aria-label":"Customize columns"})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{children:e.jsxs(h.Box,{padding:"sm",direction:"column",customWidth:"296px",customMaxHeight:"60vh",overflow:"overflow-hidden",children:[e.jsx(w.Text,{fontWeight:"semibold",color:"primary",children:"Customize Column Table"}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",paddingBlock:"md",children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtle",children:"Show in table"}),e.jsx(V.Button,{variant:"link",tone:"info",size:"xs",onClick:()=>o(r),children:r?"Hide All":"Show All"})]}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",children:t.map((g,m)=>{const y=!g.locked,D=c===m&&i!==null&&i!==m;return e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",paddingBlock:"xs",draggable:y,onDragStart:()=>y&&l(m),onDragOver:j=>{j.preventDefault(),a(m)},onDrop:d,onDragEnd:d,style:{minHeight:32,boxShadow:D?"inset 0 2px 0 0 var(--sa-background-brand, #04254f)":void 0},children:[e.jsx(h.Box,{direction:"column",as:"div",align:"center",justify:"center",role:"button",tabIndex:y?0:-1,"aria-label":`Reorder ${g.title}`,"aria-disabled":!y||void 0,color:"icon-subtlest",onKeyDown:j=>{y&&(j.key==="ArrowUp"?(j.preventDefault(),f(m,-1)):j.key==="ArrowDown"&&(j.preventDefault(),f(m,1)))},style:{display:"inline-flex",cursor:y?"grab":"default",opacity:y?1:.4},children:e.jsx(L.Icon,{name:"DragVertical",width:16,height:16})}),g.icon&&e.jsx(h.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:g.icon}),e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:g.title}),e.jsx(h.Box,{direction:"column",style:{marginLeft:"auto"},children:e.jsx(at.Toggle,{size:"sm",checked:g.visible,disabled:g.locked,onChange:()=>n(g.key),"aria-label":`Toggle ${g.title} column`})})]},g.key)})})]})})})]})},oo=({views:t,onApply:r,onDelete:n,onSave:s})=>{const[o,i]=u.useState(""),l=()=>{const c=o.trim();c&&(s(c),i(""))};return e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:t.length>0?"secondary":"outline",tone:(t.length>0,"neutral"),size:"sm",iconLeft:e.jsx(L.Icon,{name:"Bookmark",size:"sm"}),"aria-label":"Saved views"})}),e.jsxs(O.MenuLists,{style:{width:"260px"},children:[e.jsx(O.MenuBody,{children:e.jsxs(h.Box,{direction:"column",padding:"xs",gap:"sm",children:[e.jsx(w.Text,{fontWeight:"semibold",color:"primary",children:"Saved Views"}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",children:t.length===0?e.jsx(h.Box,{direction:"column",paddingBlock:"sm",children:e.jsx(w.Text,{fontSize:"sm",color:"subtlest",children:"No saved views yet"})}):t.map(c=>e.jsx(O.MenuItem,{startIcon:e.jsx(L.Icon,{name:"Bookmark"}),onClick:()=>r(c),endIcon:e.jsx(V.Button,{variant:"link",tone:"error",size:"sm",iconLeft:e.jsx(L.Icon,{name:"Trash2"}),"aria-label":`Delete ${c.name}`,onClick:a=>{a.stopPropagation(),n(c.id)}}),children:c.name},c.id))})]})}),e.jsx(O.MenuFooter,{children:e.jsxs(h.Box,{direction:"row",gap:"xs",children:[e.jsx(h.Box,{direction:"column",style:{flex:"1 0 0",minWidth:0},children:e.jsx($e.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(V.Button,{variant:"primary",tone:"brand",size:"sm",disabled:!o.trim(),onClick:l,children:"Save"})]})})]})]})},Js=({isOpen:t,onClose:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:l,onReset:c,getValue:a,setValue:d,clearValue:f,removeFilter:g})=>{const m=s.length;return e.jsx(Rt.Drawer,{position:"bottom",isShow:t,onHide:r,children:e.jsxs(h.Box,{direction:"column",customMaxHeight:"85vh",style:{minHeight:280},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",paddingInline:"md",paddingBlock:"sm",style:{borderBottom:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsx(w.Text,{fontWeight:"semibold",color:"primary",children:"Filter"}),m>0&&e.jsxs(w.Text,{fontSize:"sm",color:"subtle",children:["(",m,")"]})]}),e.jsx(V.Button,{variant:"link",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"Cross"}),"aria-label":"Close filter",onClick:r})]}),e.jsxs(h.Box,{direction:"column",gap:"lg",padding:"md",overflow:"overflow-y-auto",style:{flex:"1 1 auto",minHeight:0},children:[m>0&&e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(w.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Filter aktif"}),e.jsx(h.Box,{direction:"row",display:"flex",wrap:"wrap",gap:"sm",align:"center",children:e.jsx(to,{activeKeys:s,configByKey:o,getValue:a,setValue:d,clearValue:f,removeFilter:g})})]}),n.length>0&&e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(w.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Tambah filter"}),e.jsx(h.Box,{direction:"column",children:n.map(y=>{const D=s.includes(y.key),j=!!y.locked;return e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",paddingBlock:"sm",style:{opacity:j?.5:1,borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.08))"},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{minWidth:0},children:[y.icon&&e.jsx(h.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:y.icon}),e.jsx(w.Text,{fontSize:"sm",color:"primary",truncate:!0,children:y.label})]}),e.jsx(at.Toggle,{size:"sm",checked:D||j,disabled:j,onChange:()=>l(y.key),"aria-label":`Toggle ${y.label}`})]},y.key)})})]})]}),e.jsxs(h.Box,{direction:"row",display:"flex",gap:"sm",paddingInline:"md",paddingBlock:"sm",style:{borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:[e.jsx(h.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"md",fullWidth:!0,disabled:!i,onClick:c,children:"Reset"})}),e.jsx(h.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(V.Button,{variant:"primary",tone:"brand",size:"md",fullWidth:!0,onClick:r,children:"Selesai"})})]})]})})},Ys=t=>`${t} Rows`,Xs=({perPageKey:t,pageKey:r,pageSizeOptions:n,defaultPerPage:s=10,showPageSize:o})=>{const{searchQueries:i,setSearchParams:l,searchParams:c}=Me(),a=c.get(t),d=a?Number(a):s,f=g=>{l({...i,[t]:g,[r]:"1"})};return o?e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"MenuVertical",size:"sm"}),"aria-label":"More options"})}),e.jsx(O.MenuLists,{children:e.jsxs(O.MenuBody,{style:{minWidth:200},children:[e.jsx(h.Box,{paddingInline:"sm",paddingBlock:"xs",children:e.jsx(w.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Rows per page"})}),n.map(g=>e.jsx(O.MenuItem,{selected:g===d,endIcon:g===d?e.jsx(L.Icon,{name:"Check"}):void 0,onClick:()=>f(String(g)),children:Ys(g)},g))]})})]}):null},$s=t=>{var be;const{withPadding:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,toggleFilter:l,removeFilter:c,getValue:a,setValue:d,clearValue:f,onReset:g,searchable:m,searchKey:y,filterKey:D,pageKey:j,searchPlaceholder:E,searchShortcut:k,searchCollapsible:I,pagination:v,perPageKey:S,pageSizeOptions:W,defaultPerPage:R,showPagination:M,showResultCount:B,showPageSize:G,hasColumns:J,orderedColumns:q,allVisible:$,onToggleVisibility:P,onReorder:Y,onSetAllHidden:te,showSavedViews:N,savedViews:H,onApplyView:_,onDeleteView:ne,onSaveView:ge,leadingActions:pe}=t,[de,xe]=u.useState(!1),{searchQueries:ye,setSearchParams:ke}=Me(),Te=(v==null?void 0:v.rangeStart)??(((v==null?void 0:v.currentPage)||0)>1?(((v==null?void 0:v.currentPage)||0)-1)*((v==null?void 0:v.perPage)||0)+1:1),Oe=(v==null?void 0:v.rangeEnd)??((v==null?void 0:v.totalCurrentPage)!==(v==null?void 0:v.perPage)?v==null?void 0:v.totalData:((v==null?void 0:v.currentPage)||1)*((v==null?void 0:v.totalCurrentPage)||0)),Re=Ue=>{ke({...ye,[j]:String(Ue)})},we=B||M&&!!(v!=null&&v.totalPage),We=()=>{g(),xe(!1)};return e.jsxs(h.Box,{direction:"column",gap:"sm",fullWidth:!0,paddingTop:r?"sm":void 0,paddingBottom:r?"sm":void 0,paddingLeft:r?"md":void 0,paddingRight:r?"md":void 0,role:"toolbar","aria-label":"Filter bar",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",wrap:"wrap",gap:"sm",fullWidth:!0,overflow:"overflow-auto",children:[m&&e.jsx(ro,{searchKey:y,filterKey:D,pageKey:j,placeholder:E,shortcut:k,collapsible:I}),e.jsx(V.Button,{variant:i?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"FilterHorizontal"}),onClick:()=>xe(!0),"aria-label":"Open filters",children:i?`Filter: ${s.length}`:null}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{marginLeft:"auto"},children:[pe,N&&e.jsx(oo,{views:H,onApply:_,onDelete:ne,onSave:ge}),J&&e.jsx(no,{columns:q,allVisible:$,onToggle:P,onReorder:Y,onSetAllHidden:te}),e.jsx(Xs,{perPageKey:S,pageKey:j,pageSizeOptions:W,defaultPerPage:R,showPageSize:G})]})]}),we&&e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",fullWidth:!0,children:[B?e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${Te}-${Oe} of ${((be=v==null?void 0:v.totalData)==null?void 0:be.toLocaleString())||0}`}):e.jsx(h.Box,{direction:"column"}),M&&!!(v!=null&&v.totalPage)&&e.jsx(yt.Pagination,{size:"xs",variant:"neutral",siblingCount:0,currentPage:v!=null&&v.currentPage?Number(v.currentPage):1,totalPages:Number(v.totalPage),onPageChange:Re})]}),e.jsx(Js,{isOpen:de,onClose:()=>xe(!1),configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:l,onReset:We,getValue:a,setValue:d,clearValue:f,removeFilter:c})]})},Ks=({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:d=!0,showPageSize:f=!0,searchable:g=!1,searchKey:m="q",searchPlaceholder:y="Search",searchShortcut:D="/",searchPosition:j="right",searchCollapsible:E=!0,pagination:k,columns:I=[],onColumnsChange:v,columnsState:S,scopeId:W,savedViews:R,persistLastState:M=!0,persistSearch:B=!0,storage:G=Er,onReset:J,leadingActions:q})=>{const $=W??(R==null?void 0:R.scopeId),{activeKeys:P,configByKey:Y,hasActiveFilter:te,toggleFilter:N,removeFilter:H,getValue:_,setValue:ne,clearValue:ge,clearAll:pe}=Fr({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:m}),de=ws({columns:I,scopeId:$,storage:G,onColumnsChange:v,value:S}),xe=Ds({scopeId:$,storage:G,snapshotKeys:[s,n,i],pageKey:o,getColumns:()=>de.state,applyColumns:de.applyState}),ye=ks({scopeId:$,storage:G,snapshotKeys:[s,n,o],enabled:M,filterKey:n,searchKey:m,persistSearch:B}),ke=Bs({scopeId:$,storage:G,perPageKey:i,pageSizeOptions:l,enabled:M});Es({enabled:M&&!!$,snapshotKeys:[s,n,o],perPageKey:i,readSnapshot:ye.read,readPerPage:ke.read});const Te=c??l[0]??25,Oe=!!(R!=null&&R.enabled)&&xe.enabled,Re=()=>{pe(),ye.clear(),J==null||J()},we=je.useMediaQuery("md"),We=g?e.jsx(ro,{searchKey:m,filterKey:n,pageKey:o,placeholder:y,shortcut:D,collapsible:E}):null;return we?e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"sm",wrap:"wrap",fullWidth:!0,paddingTop:t?"sm":void 0,paddingBottom:t?"sm":void 0,paddingLeft:t?"md":void 0,paddingRight:t?"md":void 0,role:"toolbar","aria-label":"Filter bar",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(Ms,{configs:r,activeKeys:P,onToggle:N,hasActiveFilter:te,onReset:Re}),j==="left"&&We,e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",overflow:"overflow-x-auto",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(to,{activeKeys:P,configByKey:Y,getValue:_,setValue:ne,clearValue:ge,removeFilter:H}),te&&e.jsx(V.Button,{variant:"link",tone:"brand",size:"sm",onClick:Re,children:"Reset"})]})]}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",children:[q,e.jsx(Gs,{pagination:k,pageKey:o,perPageKey:i,pageSizeOptions:l,defaultPerPage:Te,showPagination:a,showResultCount:d,showPageSize:f}),j==="right"&&We,Oe&&e.jsx(oo,{views:xe.views,onApply:xe.applyView,onDelete:xe.deleteView,onSave:xe.saveView}),I.length>0&&e.jsx(no,{columns:de.orderedColumns,allVisible:de.allVisible,onToggle:de.toggleVisibility,onReorder:de.reorder,onSetAllHidden:de.setAllHidden})]})]}):e.jsx($s,{withPadding:t,configs:r,activeKeys:P,configByKey:Y,hasActiveFilter:te,toggleFilter:N,removeFilter:H,getValue:_,setValue:ne,clearValue:ge,onReset:Re,searchable:g,searchKey:m,filterKey:n,pageKey:o,searchPlaceholder:y,searchShortcut:D,searchCollapsible:E,pagination:k,perPageKey:i,pageSizeOptions:l,defaultPerPage:Te,showPagination:a,showResultCount:d,showPageSize:f,hasColumns:I.length>0,orderedColumns:de.orderedColumns,allVisible:de.allVisible,onToggleVisibility:de.toggleVisibility,onReorder:de.reorder,onSetAllHidden:de.setAllHidden,showSavedViews:Oe,savedViews:xe.views,onApplyView:xe.applyView,onDeleteView:xe.deleteView,onSaveView:xe.saveView,leadingActions:q})},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},ti=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},ri=(t,r)=>{switch(t.type){case"dropdown":case"radio":return ei(r);case"dropdown-multiple":case"checkbox-multiple":return ti(r);case"date":return r instanceof Date?r.toISOString():void 0;case"date-compact":return r;default:return}},yn=(t,r)=>{if(t==null||t==="")return r;const n=Number(t);return Number.isFinite(n)&&n>0?n:r},ni=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:d,serialize:f}=t,{activeKeys:g,configByKey:m,hasActiveFilter:y,getValue:D}=Fr({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:l}),{searchParams:j}=Me(),E=j.toString();return u.useMemo(()=>{const I={},v={},S=yn(j.get(o),c),W=yn(j.get(i),a);I[(d==null?void 0:d.page)??"page"]=S,I[(d==null?void 0:d.perPage)??"perPage"]=W;const R=Ht(l,j,n)||"";R&&(I[(d==null?void 0:d.search)??"search"]=R);let M=!1;for(const B of g){const G=m[B];if(!G)continue;const J=D(G);v[B]=J;const q=f==null?void 0:f[B],$=q?q(J):ri(G,J);if($==null||Array.isArray($)&&$.length===0)continue;const P=(d==null?void 0:d[B])??B;I[P]=$,M=!0}return{params:I,raw:v,hasActiveFilter:y||!!R||M}},[E,g.join("|"),n,s,o,i,l,c,a,d,f,m])},oi=["dropdown","dropdown-multiple","checkbox-multiple","radio"],si=({filterConfigs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o})=>{const{configByKey:i,getValue:l,setValue:c,removeFilter:a,clearAll:d,hasActiveFilter:f}=Fr({configs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o}),g=(k,I)=>{var S;const v=k.options;return((S=v==null?void 0:v.find(W=>W.value===I))==null?void 0:S.label)??I},m=u.useCallback(k=>{const I=i[k];if(!I)return[];const v=l(I);return Array.isArray(v)?v.map(S=>String(S.value)):[]},[i,l]),y=u.useCallback((k,I)=>{const v=i[k];if(!v||!oi.includes(v.type))return;const S=Array.isArray(I)?I:[I];if(S.length===0){a(k);return}c(v,S.map(W=>({label:g(v,W),value:W})))},[i,c,a]),D=u.useCallback((k,I)=>{const v=m(k);y(k,v.includes(I)?v.filter(S=>S!==I):[...v,I])},[m,y]),j=u.useCallback((k,I)=>m(k).includes(I),[m]),E=u.useCallback(k=>a(k),[a]);return{set:y,toggle:D,clear:E,clearAll:d,isActive:j,values:m,hasActiveFilter:f}},ii=(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}=Kn(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}},so=({children:t,borderRadius:r,height:n})=>{const s=u.useRef(null),[o,i]=u.useState("100vh");return u.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(h.Box,{ref:s,fullWidth:!0,borderStyle:"border-solid",borderWidth:"border",borderColor:"border-base",borderRadius:r||"rounded-xs",style:{height:n??o,display:"flex",flexDirection:"column"},children:t})},io=({action:t,rightContent:r,leftContent:n,headerSlot:s,advanceFilter:o,showFilter:i=!0})=>{const l=je.useMediaQuery("md"),c=i?e.jsx($n,{...o}):null,a=()=>t?u.isValidElement(t)?t:e.jsx(h.Box,{style:{display:"flex",flexDirection:l?"row":"column",gap:"8px",width:l?"auto":"100%",textWrap:"nowrap"},children:t.map(({title:d,icon:f,buttonProps:g,onClick:m},y)=>!d&&!f?null:e.jsx(V.Button,{fullWidth:!l,iconLeft:f?e.jsx(L.Icon,{name:f}):void 0,onClick:m,...g,children:d},`action-${y}`))}):null;return e.jsx(h.Box,{style:{display:"flex",width:"100%",justifyContent:"space-between",alignItems:"center",paddingLeft:"8px",paddingRight:"8px",paddingTop:"8px",paddingBottom:"8px",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",flexShrink:0,position:"relative",zIndex:10,flexDirection:l?"row":"column-reverse",gap:"16px"},children:s?s({filter:c}):e.jsxs(e.Fragment,{children:[e.jsxs(h.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flex:1,minWidth:0},children:[c,n]}),e.jsxs(h.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flexShrink:0},children:[r,a()]})]})})},li=({totalData:t,withMarginBottom:r=!0,withMarginTop:n=!0})=>e.jsxs(h.Box,{style:{display:"flex",gap:"4px",flexDirection:"row",alignItems:"center",marginBottom:r?"16px":void 0,marginTop:n?"16px":void 0},children:[e.jsxs(Ve.Body1,{props:{color:"gray-500"},children:["Total data:"," "]}),e.jsx(Ve.Body1,{children:t||0})]}),lo=({pagination:t,pageKey:r="page",perPageKey:n="perPage",defaultPerPage:s=10,showPagination:o=!0,totalData:i})=>{const{searchQueries:l,setSearchParams:c,searchParams:a}=Me(),d=a.get(n),f=D=>{c({...l,[r]:String(D)})},g=D=>{c({...l,[n]:D,[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),y=(t==null?void 0:t.rangeEnd)??((t==null?void 0:t.totalCurrentPage)!==(t==null?void 0:t.perPage)?t==null?void 0:t.totalData:((t==null?void 0:t.currentPage)||1)*((t==null?void 0:t.totalCurrentPage)||0));return e.jsx(h.Box,{style:{display:"flex",width:"100%",flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px",borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",flexShrink:0},children:o?e.jsxs(e.Fragment,{children:[e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",gap:"8px",alignItems:"center",textWrap:"nowrap"},children:[e.jsx(w.Text,{children:"Rows Per Page: "}),e.jsx(lt.Dropdown,{dropdownLists:[{label:"5",value:"5"},{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"},{label:"100",value:"100"}],onChange:D=>{g(D[0].value)},value:d?[{label:`${d} per row`,value:d}]:[{label:`${s} per row`,value:`${s}`}],defaultValue:d?[{label:`${d} per row`,value:d}]:[{label:`${s} per row`,value:`${s}`}]}),e.jsx(w.Text,{children:`${m}-${y} of ${(t==null?void 0:t.totalData)||0}`})]}),e.jsx(yt.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(li,{totalData:i,withMarginBottom:!1,withMarginTop:!1})})},co=({filter:t,columnTitle:r})=>{const[n,s]=u.useState(!1),o=u.useRef(null),i=u.useRef(null),l=u.useRef(null),[c,a]=u.useState(""),[d,f]=u.useState({top:0,left:0}),g=t.selectedValues,m=u.useMemo(()=>c?t.options.filter(j=>j.label.toLowerCase().includes(c.toLowerCase())):t.options,[t.options,c]);u.useEffect(()=>{if(n&&i.current){const j=i.current.getBoundingClientRect(),E=280,k={top:j.bottom+8};t.position==="left"||j.left+E>window.innerWidth?k.right=window.innerWidth-j.right:k.left=j.left,f(k)}},[n,t.position]),u.useEffect(()=>{n&&l.current?setTimeout(()=>{var j;return(j=l.current)==null?void 0:j.focus()},50):a("")},[n]),u.useEffect(()=>{const j=E=>{o.current&&!o.current.contains(E.target)&&i.current&&!i.current.contains(E.target)&&s(!1)};return n&&document.addEventListener("mousedown",j),()=>document.removeEventListener("mousedown",j)},[n]);const y=j=>{const E=g.includes(j)?g.filter(k=>k!==j):[...g,j];t.onFilterChange(E)},D=()=>t.onFilterChange([]);return e.jsxs(h.Box,{direction:"column",style:{position:"relative"},children:[e.jsx(h.Box,{ref:i,style:{display:"flex",flexDirection:"row",alignItems:"center",cursor:"pointer"},onClick:j=>{var E;j.stopPropagation(),n||(E=t.onOpen)==null||E.call(t),s(k=>!k)},children:e.jsx(L.Icon,{name:n?"ChevronUp":"ChevronDown",size:"sm",style:{color:g.length>0?"var(--sa-color-brand-500, #1a4fa0)":"var(--sa-text-subtle, #8c8f97)"}})}),n&&e.jsxs(h.Box,{ref:o,style:{position:"fixed",top:`${d.top}px`,...d.left!==void 0?{left:`${d.left}px`}:{right:`${d.right}px`},backgroundColor:"white",borderRadius:"4px",minWidth:"280px",maxHeight:"400px",display:"flex",flexDirection:"column",zIndex:9999,animation:"fadeInDropdown 0.15s ease-out",border:"1px solid var(--sa-border-subtle, #0b120e24)"},children:[e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingTop:"12px",paddingBottom:"12px",paddingLeft:"16px",paddingRight:"16px",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"},children:[e.jsxs(w.Text,{fontSize:"sm",fontWeight:"semibold",color:"gray-700",children:["Filter ",r]}),g.length>0&&e.jsx(h.Box,{direction:"column",style:{cursor:"pointer"},children:e.jsx(w.Text,{fontSize:"xs",color:"primary",fontWeight:"semibold",onClick:j=>{j.stopPropagation(),D()},children:"CLEAR"})})]}),!t.hideSearch&&e.jsx(h.Box,{direction:"column",style:{paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px"},children:e.jsx($e.Input,{ref:l,placeholder:`Search ${r.toLowerCase()}...`,leftIcon:e.jsx(L.Icon,{name:"Search",size:"sm"}),value:c,onChange:j=>a(j.target.value),style:{fontSize:"14px"}})}),e.jsx(h.Box,{direction:"column",className:"ts-filter-dropdown-options",style:{overflowY:"auto",maxHeight:"250px",paddingLeft:"8px",paddingRight:"8px"},children:t.isLoadingOptions?e.jsxs(h.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(L.Icon,{name:"Loading",size:"lg",style:{color:"var(--sa-background-brand, #04254f)",animation:"spin 1s linear infinite"}}),e.jsx(w.Text,{fontSize:"sm",color:"gray-500",style:{textAlign:"center",marginTop:"8px"},children:"Loading options..."})]}):m.length>0?e.jsx(h.Box,{direction:"column",style:{gap:"2px",paddingTop:"4px",paddingBottom:"4px"},children:m.map(j=>e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"8px",paddingTop:"8px",paddingBottom:"8px",paddingLeft:"8px",paddingRight:"8px",cursor:"pointer",borderRadius:"8px",transition:"all 0.2s ease",backgroundColor:g.includes(j.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent"},onClick:E=>{E.stopPropagation(),y(j.value)},onMouseEnter:E=>{g.includes(j.value)||(E.currentTarget.style.backgroundColor="var(--sa-background-primary, #ffffff)"),E.currentTarget.style.transform="translateX(2px)"},onMouseLeave:E=>{E.currentTarget.style.backgroundColor=g.includes(j.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent",E.currentTarget.style.transform="translateX(0)"},children:[e.jsx(_e.Checkbox,{checked:g.includes(j.value),onChange:()=>{}}),e.jsx(w.Text,{fontSize:"sm",fontWeight:g.includes(j.value)?"medium":"normal",color:g.includes(j.value)?"primary":"gray-700",children:j.label})]},j.value))}):e.jsxs(h.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(L.Icon,{name:"Search",size:"lg",style:{color:"var(--sa-text-subtle, #8c8f97)"}}),e.jsx(w.Text,{fontSize:"sm",color:"gray-500",style:{textAlign:"center",marginTop:"8px"},children:"No results found"})]})}),g.length>0&&e.jsx(h.Box,{direction:"column",style:{paddingTop:"8px",paddingBottom:"8px",paddingLeft:"16px",paddingRight:"16px",borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",backgroundColor:"var(--sa-color-brand-50, #e6edf6)",marginTop:"auto"},children:e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"4px"},children:[e.jsx(h.Box,{direction:"column",style:{backgroundColor:"var(--sa-background-brand, #04254f)",borderRadius:"12px",padding:"2px 8px",fontSize:"11px",fontWeight:600,color:"white"},children:g.length}),e.jsxs(w.Text,{fontSize:"xs",color:"primary",fontWeight:"medium",children:["item",g.length>1?"s":""," selected"]})]})})]})]})},ci=({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"})})]})},ai=({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"})]}),dr="var(--sa-background-primary, #ffffff)",jn="var(--sa-background-primary-inverse, #f8f8f8)",ao=({columns:t,records:r,handleDetail:n,handleUpdate:s,handleDelete:o,isLoading:i,visibleHandleDelete:l,visibleHandleUpdate:c,visibleHandleDetail:a,showHeadBorder:d=!1,scrollParentRef:f,frozenCount:g=0,onFrozenCountChange:m,customActions:y,actionsOrder:D=["detail","update","delete","custom"],customEmptyState:j,enableColumnResize:E=!1,defaultColumnWidths:k,onColumnWidthsChange:I,defaultMinColumnWidth:v=60,sort:S,defaultSort:W,onSortChange:R,showActionDivider:M=!1})=>{const B=S!==void 0,[G,J]=u.useState(W??null),q=B?S??null:G,$=z=>{if(z.sortKey)return z.sortKey;if(typeof z.accessor=="string")return z.accessor},P=z=>{const C=$(z);if(!C)return;let T;!q||q.key!==C?T={key:C,direction:"asc"}:q.direction==="asc"?T={key:C,direction:"desc"}:T=null,B||J(T),R==null||R(T)},te=[n,s,o].filter(z=>z!==void 0).length,N=!!y,H=!!n||!!s||!!o||N,_="var(--sa-border-subtle, #0b120e24)",ne=`1px solid ${_}`,ge=`inset 1px 0 0 ${_}`,pe=`inset -1px 0 0 ${_}`,de=te===3?N?"178px":"140px":te===2?N?"140px":"102px":te===1?N?"112px":"74px":N?"74px":"",xe=(z,C)=>{if(!C)return z;if(typeof C=="function")return C(z);if(typeof C=="string")return z[C]},[ye,ke]=u.useState(!1);u.useEffect(()=>{if(!(f!=null&&f.current))return;const z=f.current;ke(z.scrollHeight>z.clientHeight)},[r,f]);const Te=u.useRef(null),[Oe,Re]=u.useState([]),[we,We]=u.useState(()=>k??{}),be=u.useRef(null);u.useLayoutEffect(()=>{if(!g||!Te.current){Re([]);return}const z=Array.from(Te.current.querySelectorAll("thead tr th")),C=[];let T=0;z.forEach((A,Q)=>{C[Q]=T,Q<g&&(T+=A.offsetWidth)}),Re(C)},[g,t,r,we]);const Ue=z=>{m&&m(z<g?z:z+1)},ve=(z,C)=>{const T=we[z];if(T!==void 0){const A=`${T}px`;return{width:A,minWidth:A,maxWidth:A}}return C?{width:C}:{}},Ae=z=>E&&(z.resizable??!0),tt=(z,C)=>{z.preventDefault(),z.stopPropagation();const T=z.currentTarget.closest("th");if(!T)return;const A=Math.round(T.getBoundingClientRect().width);be.current={colIndex:C,startX:z.clientX,startWidth:A};const Q=document.body.style.userSelect,ce=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";const Be=re=>{var Je;const me=be.current;if(!me)return;const Fe=((Je=t[me.colIndex])==null?void 0:Je.minWidth)??v,Ce=Math.max(Fe,me.startWidth+(re.clientX-me.startX));We(Ye=>Ye[me.colIndex]===Ce?Ye:{...Ye,[me.colIndex]:Ce})},ue=()=>{document.removeEventListener("mousemove",Be),document.removeEventListener("mouseup",ue),document.body.style.userSelect=Q,document.body.style.cursor=ce,be.current=null,I&&We(re=>(I(re),re))};document.addEventListener("mousemove",Be),document.addEventListener("mouseup",ue)};return e.jsx("div",{ref:Te,children:e.jsxs(Z.Table,{fullWidth:!0,children:[e.jsx(Z.Thead,{style:{height:"40px",whiteSpace:"nowrap"},children:e.jsxs(Z.Tr,{children:[t.map((z,C)=>{var Ct,rt;const T=g>0&&C<g,A=Oe[C]??0,Q=Ae(z),Be=C===t.length-1&&H&&M,ue=$(z),re=!!z.sortable&&!!ue,me=re&&(q==null?void 0:q.key)===ue?q.direction:null,Fe=z.title||((Ct=z.accessor)==null?void 0:Ct.toString())||"",Ce=(rt=z.headerTooltip)!=null&&rt.showIcon?e.jsx(L.Icon,{name:"InfoCircle",size:"xs",style:{flexShrink:0,color:"var(--sa-icon-subtle, #8c8f97)",opacity:.75}}):null,Je=e.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Fe}),Ye=re?e.jsxs("button",{type:"button",onClick:()=>P(z),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:z.textAlign==="text-right"?"right":z.textAlign==="text-center"?"center":"left"},children:[Je,Ce,e.jsx(ci,{direction:me})]}):e.jsxs("span",{style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:4},children:[Je,Ce]});return e.jsxs(Z.Th,{style:{position:"sticky",top:0,left:T?A:void 0,zIndex:T?4:2,paddingLeft:C===0?"12px":"",borderRight:d&&!Be&&!T?ne:void 0,borderBottom:d?ne:void 0,boxShadow:d&&T?pe:void 0,backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",textAlign:z.textAlign==="text-right"?"right":z.textAlign==="text-center"?"center":"left",...ve(C,z.width)},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px",justifyContent:"space-between",minWidth:0},children:[z.headerTooltip?e.jsx(Se.Tooltip,{label:z.headerTooltip.content,position:"bottom",children:Ye}):Ye,z.filter&&e.jsx(co,{filter:z.filter,columnTitle:z.title}),m&&e.jsx("button",{onClick:()=>Ue(C),title:T?"Unfreeze column":"Freeze column",style:{background:"none",border:"none",cursor:"pointer",padding:"2px",display:"flex",alignItems:"center",flexShrink:0,color:T?"var(--sa-background-brand, #04254f)":"var(--sa-text-subtle, #8c8f97)",opacity:T?1:.45,transition:"opacity 0.15s"},children:e.jsx(ai,{frozen:T})})]}),Q&&e.jsx("div",{onMouseDown:ut=>tt(ut,C),onClick:ut=>ut.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-${C}`)}),H?e.jsx(Z.Th,{style:{backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",position:"sticky",top:0,right:0,zIndex:3,borderBottom:d?ne:void 0,boxShadow:d&&M?ge:void 0}}):null]})}),e.jsx(Z.Tbody,{children:i?e.jsx(Z.Tr,{children:e.jsx(Z.Td,{colSpan:t.length+1,children:e.jsxs(h.Box,{direction:"column",style:{gap:"16px"},children:[e.jsx(ze.Skeleton,{variant:"list"}),e.jsx(ze.Skeleton,{variant:"list"}),e.jsx(ze.Skeleton,{variant:"list"}),e.jsx(ze.Skeleton,{variant:"list"}),e.jsx(ze.Skeleton,{variant:"list"})]})})}):!(r!=null&&r.length)&&j?e.jsx(Z.Tr,{children:e.jsx(Z.Td,{colSpan:t.length+1,children:j})}):r==null?void 0:r.map((z,C)=>e.jsxs(Z.Tr,{style:{transition:"background-color 0.3s ease",padding:0,borderBottom:C===r.length-1&&ye?void 0:"1px solid var(--sa-border-subtle, #0b120e24)"},onMouseEnter:T=>{const A=T.currentTarget;A.style.backgroundColor=jn,Array.from(A.querySelectorAll("td")).forEach(Q=>{Q.style.position==="sticky"&&(Q.style.backgroundColor=jn)})},onMouseLeave:T=>{const A=T.currentTarget;A.style.backgroundColor="",Array.from(A.querySelectorAll("td")).forEach(Q=>{Q.style.position==="sticky"&&(Q.style.backgroundColor=dr)})},children:[t.map((T,A)=>{const Q=T.render?T.render(z,C,r):xe(z,T.accessor),ce=g>0&&A<g,Be=Oe[A]??0,ue=we[A]!==void 0,re=ce&&A===g-1;return e.jsx(Z.Td,{style:{position:ce?"sticky":void 0,left:ce?Be:void 0,zIndex:ce?1:void 0,backgroundColor:ce?dr:void 0,transition:ce?"background-color 0.3s ease":void 0,paddingLeft:A===0?"12px":"",whiteSpace:"nowrap",overflow:ue?"hidden":void 0,borderLeft:T.showBorderLeft?ne:void 0,borderRight:T.showBorderRight?ne:void 0,boxShadow:re?pe:void 0,textAlign:T.textAlign==="text-right"?"right":T.textAlign==="text-center"?"center":"left",...ve(A,T.width)},children:typeof Q=="string"?e.jsx(w.Text,{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textAlign:T.textAlign==="text-right"?"right":T.textAlign==="text-center"?"center":"left"},children:Q}):Q},`row-${C}-col-${A}`)}),H?e.jsx(Z.Td,{style:{width:de,position:"sticky",right:0,zIndex:1,backgroundColor:dr,boxShadow:M?ge:void 0,transition:"background-color 0.3s ease"},children:e.jsx(oe.Flex,{direction:"row",align:"center",justify:"center",gap:"sm",children:D.map(T=>{const A=C===r.length-1?"top":"bottom";return T==="detail"&&n&&(a==null?void 0:a(z))!==!1?e.jsx(Se.Tooltip,{label:"Detail",position:A,children:e.jsx(V.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>n(z.id,z),iconLeft:e.jsx(L.Icon,{name:"DocumentClean",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"detail"):T==="update"&&s&&(c==null?void 0:c(z))!==!1?e.jsx(Se.Tooltip,{label:"Update",position:A,children:e.jsx(V.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>s(z),iconLeft:e.jsx(L.Icon,{name:"Edit1",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"update"):T==="delete"&&o&&(l==null?void 0:l(z))!==!1?e.jsx(Se.Tooltip,{label:"Delete",position:A,children:e.jsx(V.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>o(z.id,z),iconLeft:e.jsx(L.Icon,{name:"Trash1",size:"sm",style:{color:"var(--sa-color-error-600, #c9184a)"}})})},"delete"):T==="custom"?e.jsx(u.Fragment,{children:y==null?void 0:y(z)},"custom"):null})})}):null]},`${z}${C}`))})]})})},di=({wrapperProps:t,dataTableProps:r,headerProps:n,footerProps:s})=>{var g;const o=u.useRef(null),[i,l]=u.useState((r==null?void 0:r.defaultFrozenCount)??0),c=(n==null?void 0:n.show)??!0,a=u.useRef(null),d=(g=r==null?void 0:r.pagination)==null?void 0:g.totalData;typeof d=="number"&&(a.current=d);const f=(s==null?void 0:s.showFooter)??(d===void 0?a.current!==0:d!==0);return e.jsxs(so,{...t,children:[c&&e.jsx(io,{...n}),e.jsx(h.Box,{direction:"column",ref:o,style:{flex:1,overflowY:"auto",overflowX:"auto"},children:r?e.jsx(ao,{...r,scrollParentRef:o,frozenCount:r!=null&&r.enableFreezeColumns?i:0,onFrozenCountChange:r!=null&&r.enableFreezeColumns?l:void 0}):null}),f&&e.jsx(lo,{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 ui(t){return u.memo(t)}const xi=ui(di),bn=200,ur="1px solid var(--sa-border-subtle, #0b120e24)",hi=({sortDir:t,frozen:r})=>t==="asc"?e.jsx(L.Icon,{name:"ChevronSmallUp"}):t==="desc"?e.jsx(L.Icon,{name:"ChevronSmallDown"}):r?e.jsx(L.Icon,{name:"LockOn",size:"xs"}):e.jsx(L.Icon,{name:"Filter",size:"xs"}),Ft=({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(L.Icon,{name:t,size:"sm",style:{color:i,flexShrink:0}}),e.jsx(w.Text,{as:"span",style:{color:i},children:r})]})},uo=({active:t,canSort:r,canHide:n,sortDir:s,frozen:o,onSort:i,onClearSort:l,onToggleFreeze:c,onHide:a})=>{const[d,f]=u.useState(!1),g=u.useRef(null),m=u.useRef(null),[y,D]=u.useState({top:0,left:0});u.useEffect(()=>{if(d&&g.current){const E=g.current.getBoundingClientRect(),k=E.left+bn>window.innerWidth;D({top:E.bottom+6,...k?{right:window.innerWidth-E.right}:{left:E.left}})}},[d]),u.useEffect(()=>{if(!d)return;const E=k=>{m.current&&!m.current.contains(k.target)&&g.current&&!g.current.contains(k.target)&&f(!1)};return document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[d]);const j=E=>{E(),f(!1)};return e.jsxs(e.Fragment,{children:[e.jsx("button",{ref:g,type:"button",className:"sa-tl-menu-trigger","data-active":t||d?"true":"false",onClick:E=>{E.stopPropagation(),f(k=>!k)},title:"Column options",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:"var(--sa-radii-sm, 6px)",border:ur,background:"var(--sa-background-primary, #ffffff)",cursor:"pointer",color:"var(--sa-text-subtle, #8c8f97)",flexShrink:0},children:e.jsx(hi,{sortDir:s,frozen:o})}),d&&e.jsxs(h.Box,{ref:m,onClick:E=>E.stopPropagation(),style:{position:"fixed",top:`${y.top}px`,...y.left!==void 0?{left:`${y.left}px`}:{right:`${y.right}px`},minWidth:bn,backgroundColor:"var(--sa-background-primary, #ffffff)",border:ur,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(Ft,{icon:"ChevronUp",label:"Ascending",active:s==="asc",onClick:()=>j(()=>s==="asc"?l():i("asc"))}),e.jsx(Ft,{icon:"ChevronDown",label:"Descending",active:s==="desc",onClick:()=>j(()=>s==="desc"?l():i("desc"))}),e.jsx("div",{style:{borderTop:ur,margin:"4px 0"}})]}),e.jsx(Ft,{icon:"Pin1",label:o?"Unfreeze":"Freeze",active:o,onClick:()=>j(c)}),n&&e.jsx(Ft,{icon:"EyeClosed",label:"Hide column",danger:!0,onClick:()=>j(a)})]})]})},ft="1px solid var(--sa-border-subtle, #0b120e24)",fi="var(--sa-text-subtle, #8c8f97)",ot="var(--sa-background-neutral, #f0f1f2)",vn="2px 0 4px -2px var(--sa-border-subtle, #0b120e24)",mt=40,xr="var(--sa-background-brand-subtlest)",Et={display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},Cn="sa-table-layout-styles",mi=()=>{if(typeof document>"u"||document.getElementById(Cn))return;const t=document.createElement("style");t.id=Cn,t.textContent=`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Zr=require("@starasia/alert"),Xe=require("@starasia/badges"),h=require("@starasia/box"),st=require("@starasia/breadcrumb"),V=require("@starasia/button"),Gr=require("@starasia/card"),et=require("@starasia/date"),He=require("@starasia/dialog"),Rt=require("@starasia/drawer"),lt=require("@starasia/dropdown"),je=require("@starasia/hooks"),ct=require("@starasia/http"),$e=require("@starasia/input"),O=require("@starasia/menu"),yt=require("@starasia/pagination"),pt=require("@starasia/storage"),Z=require("@starasia/table"),Qr=require("@starasia/tabs"),gr=require("@starasia/textarea"),it=require("@starasia/theme"),Ur=require("@starasia/toast"),at=require("@starasia/toggle"),Se=require("@starasia/tooltip"),_e=require("@starasia/checkbox"),pr=require("@starasia/radio"),w=require("@starasia/text"),L=require("@starasia/icon"),oe=require("@starasia/flex"),Jr=require("@starasia/grid"),Yr=require("@starasia/progress"),Xr=require("@starasia/stepper"),$r=require("@starasia/accordion"),Kr=require("@starasia/story-record"),ze=require("@starasia/skeleton"),en=require("@starasia/progress-stepper"),e=require("react/jsx-runtime"),u=require("react"),zt=require("react-dom"),zo=require("react-easy-crop"),Ho={menus:[],menuBottom:void 0,logo:"",appName:"Workspace",userData:null,setUserData:()=>{}},vr=u.createContext(Ho),Cr=()=>u.useContext(vr),Bn=t=>{const[r,n]=u.useState((t==null?void 0:t.initialUserData)||null);return{userData:r,setUserData:n}},Fn=u.createContext({badges:{},setBadge:()=>{},setBadges:()=>{},clearBadge:()=>{}}),En=({children:t})=>{const[r,n]=u.useState({}),s=u.useCallback(c=>{n(a=>typeof c=="function"?c(a):c)},[]),o=u.useCallback((c,a)=>{n(d=>{const f=typeof a=="function"?a(d[c]):a;return{...d,[c]:f}})},[]),i=u.useCallback(c=>{n(a=>{if(!(c in a))return a;const d={...a};return delete d[c],d})},[]),l=u.useMemo(()=>({badges:r,setBadge:o,setBadges:s,clearBadge:i}),[r,o,s,i]);return e.jsx(Fn.Provider,{value:l,children:t})},Mn=()=>u.useContext(Fn),Tt=(t,r)=>{const n=r!==void 0?r:t;return n==null?null:typeof n=="string"||typeof n=="number"?{value:n}:n},Ln=u.createContext({collapsed:!1,setCollapsed:()=>{},toggle:()=>{},collapse:()=>{},expand:()=>{},mobileOpen:!1,setMobileOpen:()=>{},openMobile:()=>{},closeMobile:()=>{},toggleMobile:()=>{}}),Tn=({children:t,defaultCollapsed:r=!1})=>{const[n,s]=u.useState(r),[o,i]=u.useState(!1),l=u.useCallback(j=>{s(E=>typeof j=="function"?j(E):j)},[]),c=u.useCallback(()=>s(j=>!j),[]),a=u.useCallback(()=>s(!0),[]),d=u.useCallback(()=>s(!1),[]),f=u.useCallback(j=>{i(E=>typeof j=="function"?j(E):j)},[]),g=u.useCallback(()=>i(!0),[]),m=u.useCallback(()=>i(!1),[]),y=u.useCallback(()=>i(j=>!j),[]),D=u.useMemo(()=>({collapsed:n,setCollapsed:l,toggle:c,collapse:a,expand:d,mobileOpen:o,setMobileOpen:f,openMobile:g,closeMobile:m,toggleMobile:y}),[n,l,c,a,d,o,f,g,m,y]);return e.jsx(Ln.Provider,{value:D,children:t})},In=()=>u.useContext(Ln),On=u.createContext(null),Rn=({adapter:t,children:r})=>e.jsx(On.Provider,{value:t,children:r}),qe=()=>{const t=u.useContext(On);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},Wn=({router:t,routerAdapter:r,menus:n=[],menuBottom:s,logo:o,appName:i="Workspace",initialUserData:l,theme:c})=>{const a=Bn({initialUserData:l}),{theme:d}=it.useTheme();return e.jsx(Rn,{adapter:r,children:e.jsx(vr.Provider,{value:{logo:o,appName:i,menus:n,userData:a.userData,setUserData:a.setUserData,menuBottom:s},children:e.jsx(En,{children:e.jsx(Tn,{children:c?e.jsx(it.ThemeProvider,{value:c,children:t}):d?e.jsx(it.ThemeProvider,{value:d,children:t}):t})})})})},Vo=u.memo(Wn);function An({collapsed:t=!1,children:r}){if(!r)return null;const n=typeof r=="function",s=n?r({collapsed:t}):r;return s==null||s===!1?null:e.jsx("div",{style:{position:"sticky",top:"4rem",zIndex:1,borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",paddingLeft:"0.5rem",paddingRight:"0.5rem",paddingTop:"0.5rem",paddingBottom:"0.5rem",boxSizing:"border-box"},children:n?s:e.jsx("div",{style:{opacity:t?0:1,transition:"opacity 0.3s",visibility:t?"hidden":"visible"},children:s})})}const wr=u.createContext(null);function zn({children:t}){const[r,n]=u.useState(null),[s,o]=u.useState(null),[i,l]=u.useState(null),[c,a]=u.useState(0),d=u.useCallback(()=>(a(f=>f+1),()=>a(f=>f-1)),[]);return e.jsx(wr.Provider,{value:{prependNode:r,appendNode:s,replaceNode:i,setPrependNode:n,setAppendNode:o,setReplaceNode:l,replaceCount:c,registerReplace:d},children:t})}function Hn({children:t}){const r=u.useContext(wr);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 Po({children:t,mode:r="append"}){const n=u.useContext(wr);if(u.useEffect(()=>{if(!(r!=="replace"||!n))return n.registerReplace()},[r,n]),!n)return process.env.NODE_ENV!=="production"&&console.warn("[HeaderLeftSlot] used outside AppLayout — content not rendered"),null;const s=r==="prepend"?n.prependNode:r==="replace"?n.replaceNode:n.appendNode;return s?zt.createPortal(t,s):null}const Dr=u.createContext(null);function Vn({children:t}){const[r,n]=u.useState({}),[s,o]=u.useState({}),i=u.useCallback((a,d)=>{n(f=>f[a]===d?f:{...f,[a]:d})},[]),l=u.useCallback(a=>(o(d=>({...d,[a]:(d[a]??0)+1})),()=>o(d=>({...d,[a]:Math.max(0,(d[a]??0)-1)}))),[]),c=u.useMemo(()=>({outletNodes:r,setOutletNode:i,slotCounts:s,registerSlot:l}),[r,i,s,l]);return e.jsx(Dr.Provider,{value:c,children:t})}function Pn({slotKey:t,fallback:r}){const n=u.useContext(Dr),s=n?(n.slotCounts[t]??0)>0:!1,o=u.useRef(n==null?void 0:n.setOutletNode);o.current=n==null?void 0:n.setOutletNode;const i=u.useCallback(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 No({slotKey:t,children:r}){const n=u.useContext(Dr),s=u.useRef(n==null?void 0:n.registerSlot);if(s.current=n==null?void 0:n.registerSlot,u.useEffect(()=>{var i;return(i=s.current)==null?void 0:i.call(s,t)},[t]),!n)return process.env.NODE_ENV!=="production"&&console.warn("[SidebarGroupSlot] used outside AppLayout — content not rendered"),null;const o=n.outletNodes[t];return o?zt.createPortal(r,o):null}const Wt="moduleSwitcherGroupId",yr="sa-module-switcher-change";function tn(){if(typeof window>"u")return null;const t=window.localStorage.getItem(Wt);if(t===null)return null;const r=Number(t);return Number.isFinite(r)?r:null}function Nn(t){typeof window>"u"||(t===null?window.localStorage.removeItem(Wt):window.localStorage.setItem(Wt,String(t)),window.dispatchEvent(new CustomEvent(yr,{detail:t})))}function _o(){Nn(null)}function Sr(){const[t,r]=u.useState(()=>tn());return u.useEffect(()=>{const s=()=>{r(tn())},o=i=>{i.key===Wt&&s()};return window.addEventListener(yr,s),window.addEventListener("storage",o),()=>{window.removeEventListener(yr,s),window.removeEventListener("storage",o)}},[]),{selectedGroupId:t,setSelectedGroupId:s=>{Nn(s),r(s)}}}let kt=0,Ke=!1,rn=new Set;const nn=()=>e.jsxs("svg",{width:"100%",height:"100%",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[e.jsx("rect",{x:"1.667",y:"1.667",width:"12.667",height:"12.667",rx:"2"}),e.jsx("line",{x1:"6",y1:"1.667",x2:"6",y2:"14.333"})]});function qo(t){const[r,n]=u.useState(!1),s=u.useRef(null),o=u.useRef(null);return u.useLayoutEffect(()=>{const i=s.current;if(!i)return;let l=0;const c=()=>{l=0;const d=o.current;if(!d)return;const f=d.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 on({text:t,textStyle:r}){const{containerRef:n,textRef:s,truncated:o}=qo(t),i=e.jsx("span",{ref:s,style:{display:"block",fontSize:"0.875rem",fontWeight:"500",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",...r},children:t});return e.jsx("div",{ref:n,style:{flex:1,minWidth:0},children:o?e.jsx(Se.Tooltip,{fluid:!0,label:t,position:"top",children:i}):i})}const sn={width:"100%",display:"flex",alignItems:"center",gap:"0.75rem",paddingLeft:"0.75rem",paddingRight:"0.75rem",paddingTop:"0.5rem",paddingBottom:"0.5rem",fontSize:"0.875rem",color:"var(--sa-text-subtle, #8c8f97)",background:"transparent",border:"none",borderRadius:"0.375rem",cursor:"pointer",textAlign:"left"};function Zo({children:t,headerLeftSlot:r,profile:n,isLoadingProfile:s,onLogout:o,isLoggingOut:i,loadingComponent:l,sidebarHeaderContent:c,headerActions:a,profileRole:d,profileMenuButtons:f,profileMenuItems:g,logoutButton:m}){var tt,z;const{useSearchParams:y,useNavigate:D,useLocation:j,Outlet:E}=qe(),[k]=y(),I=k.get("embed")==="true",v=Cr(),{badges:S}=Mn(),W=D(),R=j(),B=!je.useMediaQuery("md"),[G,J]=u.useState(!1),{collapsed:q,setCollapsed:$,mobileOpen:P,setMobileOpen:Y}=In(),[te,N]=u.useState(!1),[H,_]=u.useState(()=>new Set(rn)),[ne,ge]=u.useState(null),{selectedGroupId:pe,setSelectedGroupId:de}=Sr();u.useEffect(()=>{rn=H},[H]);const xe=u.useRef(null),ye=u.useRef(null);u.useEffect(()=>{const C=xe.current;if(!C)return;const T=()=>{Ke||(kt=C.scrollTop)};return C.addEventListener("scroll",T),()=>C.removeEventListener("scroll",T)},[]);const ke=()=>{const C=xe.current;C&&kt>0&&(Ke=!0,C.scrollTop=kt,requestAnimationFrame(()=>{Ke=!1}))};u.useLayoutEffect(()=>{Ke=!0,ke();const C=setTimeout(()=>{Ke=!1},300);return()=>clearTimeout(C)},[]),u.useLayoutEffect(()=>{v.menus.length>0&&(kt>0?ke():requestAnimationFrame(()=>{var T;const C=(T=xe.current)==null?void 0:T.querySelector("[data-menu-active='true']");C&&C.scrollIntoView({block:"center",behavior:"instant"})}))},[v.menus]),u.useEffect(()=>{Ke=!0,ke();const C=setTimeout(ke,0),T=setTimeout(ke,50),A=setTimeout(ke,100),Q=setTimeout(ke,200),ce=setTimeout(()=>{Ke=!1},300),Be=setTimeout(()=>{const ue=xe.current,re=ue==null?void 0:ue.querySelector("[data-menu-active='true']");if(ue&&re){const me=ue.getBoundingClientRect(),Fe=re.getBoundingClientRect();Fe.top>=me.top&&Fe.bottom<=me.bottom||re.scrollIntoView({block:"center",behavior:"smooth"})}},250);return()=>{clearTimeout(C),clearTimeout(T),clearTimeout(A),clearTimeout(Q),clearTimeout(ce),clearTimeout(Be)}},[R.pathname]),u.useEffect(()=>{ye.current&&(ye.current.scrollTop=0)},[R.pathname]),u.useEffect(()=>{B&&Y(!1)},[R.pathname,B]),u.useEffect(()=>{B&&$(!0)},[B]);const Te=()=>{J(!0)},Oe=()=>{J(!1)},Re=()=>{J(!1),o()},we=C=>{const T=[C.to];return C.children&&T.push(...C.children.map(A=>A.to)),T},We=[...v.menus.flatMap(C=>C.items.flatMap(we)),...((tt=v.menuBottom)==null?void 0:tt.flatMap(we))??[]],be=C=>{if(!R.pathname.startsWith(C))return!1;const T=We.filter(A=>R.pathname.startsWith(A)).sort((A,Q)=>Q.length-A.length)[0];return C===T};u.useEffect(()=>{var T;const C=A=>{var Q;(Q=A.children)!=null&&Q.some(ce=>R.pathname.startsWith(ce.to))&&_(ce=>{const Be=new Set(ce);return Be.add(A.id),Be})};v.menus.forEach(A=>{A.items.forEach(C)}),(T=v.menuBottom)==null||T.forEach(C)},[R.pathname,v.menus,v.menuBottom]);const Ue=C=>{_(T=>{const A=new Set(T);return A.has(C)?A.delete(C):A.add(C),A})};u.useEffect(()=>{v.menus.length!==0&&pe!==null&&!v.menus.some(C=>C.id===pe)&&de(null)},[v.menus,pe,de]);const ve=u.useMemo(()=>{if(pe!==null)return v.menus.filter(A=>A.id===pe||A.parentGroupId===pe);const C=v.menus.filter(A=>A.parentGroupId===void 0),T=v.menus.filter(A=>A.parentGroupId!==void 0).flatMap(A=>A.items);return T.length===0?C:[...C,{id:18,name:"Pengaturan",items:T,parentGroupId:void 0}]},[v.menus,pe]);if(I)return e.jsx("main",{style:{height:"100vh",overflowY:"auto",backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)"},children:t||e.jsx(E,{})});const Ae=C=>{const T=C.children&&C.children.length>0,A=H.has(C.id),Q=T?C.children.some(ue=>be(ue.to)):be(C.to),ce=Tt(C.badge,S[C.id]),Be=!!ce&&q&&!B;return e.jsxs("div",{"data-menu-active":Q||void 0,children:[e.jsxs("button",{onClick:ue=>{if(T)if(q&&!B){const re=ue.currentTarget.getBoundingClientRect();ge({item:C,top:re.top,left:re.right+8})}else Ue(C.id);else W(C.to)},style:{width:"100%",display:"flex",alignItems:"center",justifyContent:q&&!B?"center":void 0,gap:"0.5rem",paddingLeft:q&&!B?"0":"0.5rem",paddingRight:q&&!B?"0":"0.5rem",paddingTop:"0.25rem",paddingBottom:"0.25rem",height:"2rem",borderRadius:Q?"var(--sa-radii-sm, 0.375rem)":"var(--sa-radii-md, 0.5rem)",textAlign:"left",border:Q?"1px solid var(--sa-border-subtle, #0b120e24)":"1px solid transparent",backgroundColor:Q?"var(--sa-background-primary, #ffffff)":"transparent",color:"var(--sa-text-primary, #292a2e)",cursor:"pointer"},title:q&&!B?C.title:void 0,onMouseEnter:ue=>{Q||(ue.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)")},onMouseLeave:ue=>{Q||(ue.currentTarget.style.backgroundColor="transparent")},children:[e.jsxs("span",{style:{position:"relative",display:"inline-flex",flexShrink:0},children:[e.jsx(L.Icon,{name:C.icon,size:"sm",style:{flexShrink:0}}),Be&&e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",top:"-2px",right:"-2px",width:"0.5rem",height:"0.5rem",borderRadius:"9999px",backgroundColor:"var(--sa-color-error-500, #ff4d6d)",border:"1px solid var(--sa-background-primary, #ffffff)"}})]}),(!q||B)&&e.jsxs(e.Fragment,{children:[e.jsx(on,{text:C.title,textStyle:{transition:"opacity 0.3s"}}),ce&&e.jsx(Xe.Badges,{text:String(ce.value),variant:ce.variant??"info",size:"xs",border:!0}),T&&e.jsx("svg",{style:{width:"1rem",height:"1rem",flexShrink:0,transition:"transform 0.2s",transform:A?"rotate(180deg)":"rotate(0deg)"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),T&&(!q||B)&&(()=>{const ue=C.children.findIndex(re=>be(re.to));return e.jsxs("div",{style:{position:"relative",marginLeft:"0.9375rem",paddingLeft:"1.125rem",overflow:"hidden",transition:"all 0.3s ease-in-out",maxHeight:A?`${C.children.length*36}px`:"0px",opacity:A?1:0,marginTop:A?"0.25rem":"0px"},children:[e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:0,width:"1.5px",height:"100%",backgroundColor:"var(--sa-border-subtle, #0b120e24)",pointerEvents:"none"}}),ue>=0&&e.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:`${ue*32}px`,width:"1.5px",height:"32px",backgroundColor:"var(--sa-text-primary, #292a2e)",transition:"top 0.2s ease-in-out",pointerEvents:"none",zIndex:1}}),C.children.map(re=>{const me=Tt(re.badge,S[re.id]);return e.jsxs("button",{onClick:()=>W(re.to),style:{width:"100%",display:"flex",alignItems:"center",gap:"0.5rem",paddingLeft:"0.75rem",paddingRight:"0.5rem",paddingTop:"0.25rem",paddingBottom:"0.25rem",height:"2rem",borderRadius:be(re.to)?"var(--sa-radii-sm, 0.375rem)":"var(--sa-radii-md, 0.5rem)",textAlign:"left",backgroundColor:be(re.to)?"var(--sa-background-primary, #ffffff)":"transparent",color:be(re.to)?"var(--sa-text-primary, #292a2e)":"var(--sa-text-subtle, #505258)",cursor:"pointer",border:be(re.to)?"1px solid var(--sa-border-subtle, #0b120e24)":"1px solid transparent"},onMouseEnter:Fe=>{be(re.to)||(Fe.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)")},onMouseLeave:Fe=>{be(re.to)||(Fe.currentTarget.style.backgroundColor="transparent")},children:[e.jsx(L.Icon,{name:re.icon,size:"sm",style:{flexShrink:0}}),e.jsx(on,{text:re.title}),me&&e.jsx(Xe.Badges,{text:String(me.value),variant:me.variant??"info",size:"xs",border:!0})]},re.id)})]})})()]},C.id)};return e.jsx(Vn,{children:e.jsxs(zn,{children:[e.jsxs("div",{style:{display:"flex",height:"100vh",position:"relative","--app-sidebar-width":B?"0px":q?"4.375rem":"16.375rem","--app-footer-zindex":B&&P?"40":"998"},children:[B&&e.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"var(--sa-color-black-alpha-a50, #181a198f)",zIndex:40,opacity:P?.5:0,pointerEvents:P?"auto":"none",transition:"opacity 0.3s"},onClick:()=>Y(!1)}),e.jsxs("aside",{style:{width:B?"16.375rem":q?"4.375rem":"16.375rem",position:B?"fixed":"relative",...B&&{inset:0,zIndex:50,transform:P?"translateX(0)":"translateX(-100%)"},backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",borderRight:"1px solid var(--sa-border-subtle, #0b120e24)",display:"flex",flexDirection:"column",transition:"all 0.3s ease-in-out",flexShrink:B?void 0:0},children:[e.jsx("div",{onMouseEnter:()=>N(!0),onMouseLeave:()=>N(!1),style:{height:"4rem",display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"1rem",paddingRight:"1rem",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",position:"relative"},children:(()=>{const C=!B&&q&&!P,T=C&&te;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",flex:C?1:void 0,justifyContent:C?"center":void 0,transition:"opacity 0.2s",opacity:T?0:1,pointerEvents:T?"none":"auto"},children:[e.jsx("img",{src:v.logo,alt:"Logo",style:{width:"2rem",height:"2rem",flexShrink:0}}),(!q||P)&&e.jsx("span",{style:{fontWeight:"600",color:"var(--sa-text-primary, #292a2e)",whiteSpace:"nowrap",transition:"opacity 0.3s"},children:v.appName})]}),!B&&!q&&e.jsx("button",{type:"button",onClick:()=>$(!0),"aria-label":"Collapse sidebar",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"1rem",height:"1rem",padding:0,background:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer",flexShrink:0},children:e.jsx(nn,{})}),C&&e.jsx("button",{type:"button",onClick:()=>$(!1),"aria-label":"Expand sidebar",style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"2rem",height:"2rem",padding:0,background:"var(--sa-background-primary, #ffffff)",border:"1px solid var(--sa-border-subtle, #0b120e24)",borderRadius:"var(--sa-radii-sm, 0.375rem)",color:"var(--sa-text-primary, #292a2e)",cursor:"pointer",opacity:T?1:0,pointerEvents:T?"auto":"none",transition:"opacity 0.2s"},children:e.jsx("span",{style:{width:"1rem",height:"1rem",display:"inline-flex"},children:e.jsx(nn,{})})}),B&&e.jsx("button",{onClick:()=>Y(!1),"aria-label":"Close menu",style:{padding:"0.375rem",borderRadius:"0.5rem",backgroundColor:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer"},children:e.jsx("svg",{style:{width:"1.25rem",height:"1.25rem"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})})()}),c&&e.jsx(An,{collapsed:B?!1:q,children:c}),e.jsx("div",{ref:xe,style:{flex:1,overflowY:"auto",paddingTop:"1rem",paddingBottom:"1rem"},children:ve.map(C=>e.jsxs("div",{style:{marginBottom:"1rem"},children:[!q||B?C.name&&e.jsx("div",{style:{paddingLeft:"1.5rem",paddingRight:"1rem",paddingTop:"0rem",paddingBottom:"0.25rem",fontSize:"0.875rem",fontWeight:"400",color:"var(--sa-text-subtlest, #6b6e76)",transition:"opacity 0.3s",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:C.name}):C.name&&e.jsx("div",{"aria-label":C.name,style:{display:"flex",alignItems:"center",justifyContent:"center",paddingTop:"0.75rem",paddingBottom:"0.75rem"},children:e.jsx("span",{style:{display:"block",width:"1rem",height:"2px",borderRadius:"1px",backgroundColor:C.color??"var(--sa-background-brand, #04254f)"}})}),e.jsx("div",{style:{paddingLeft:"1rem",paddingRight:"1rem",display:"flex",flexDirection:"column",gap:"var(--sa-spacing-xs, 0.25rem)"},children:C.slotKey?e.jsx(Pn,{slotKey:C.slotKey,fallback:C.items.map(T=>Ae(T))}):C.items.map(T=>Ae(T))})]},C.id))}),v.menuBottom&&v.menuBottom.length>0&&e.jsx("div",{style:{borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",paddingTop:"0.75rem",paddingBottom:"0.75rem",paddingLeft:"1rem",paddingRight:"1rem",backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",display:"flex",flexDirection:"column",gap:"var(--sa-spacing-xs, 0.25rem)",flexShrink:0},children:v.menuBottom.map(C=>Ae(C))})]}),e.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[e.jsxs("header",{style:{height:"4rem",backgroundColor:"var(--sa-background-primary, #ffffff)",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"1rem",paddingRight:"1rem",flexShrink:0},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:B?"1rem":void 0},children:[B&&e.jsx("button",{onClick:()=>Y(!0),style:{padding:"0.375rem",borderRadius:"0.5rem",backgroundColor:"transparent",border:"none",color:"var(--sa-text-subtle, #8c8f97)",cursor:"pointer"},children:e.jsx("svg",{style:{width:"1.5rem",height:"1.5rem"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),e.jsx(Hn,{children:r})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[a,e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",cursor:"pointer"},children:[e.jsxs("div",{style:{textAlign:"right",maxWidth:"12.5rem"},children:[e.jsx("p",{style:{margin:0,fontSize:"0.875rem",fontWeight:500,color:"var(--sa-text-subtle, #8c8f97)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:s?"Loading...":(n==null?void 0:n.name)||"unknown"}),e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:s?"":(n==null?void 0:n.email)||"unknown"})]}),e.jsx("div",{style:{width:"2.5rem",height:"2.5rem",borderRadius:"9999px",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--sa-background-primary, #ffffff)",fontWeight:600,fontSize:"0.875rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)",flexShrink:0,backgroundColor:"var(--sa-background-brand, #04254f)"},children:((n==null?void 0:n.name)||"U")[0].toUpperCase()}),e.jsx(L.Icon,{name:"ChevronDown",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})]})}),e.jsxs(O.MenuLists,{width:280,style:{paddingBlock:"12px",paddingInline:"12px",gap:"8px",marginTop:"16px"},children:[e.jsx(O.MenuHeading,{children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",paddingBlock:"0.5rem"},children:[e.jsx("div",{style:{width:"4rem",height:"4rem",borderRadius:"9999px",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--sa-background-primary, #ffffff)",fontWeight:600,fontSize:"1.25rem",boxShadow:"var(--sa-shadow-sm, 0 1px 2px 0 #0000000d)",marginBottom:"0.75rem",backgroundColor:"var(--sa-background-brand, #04254f)"},children:((n==null?void 0:n.name)||"U")[0].toUpperCase()}),e.jsx("p",{style:{margin:0,fontSize:"0.875rem",fontWeight:600,color:"var(--sa-text-primary, #292a2e)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:(n==null?void 0:n.name)||"unknown"}),e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:(n==null?void 0:n.email)||"unknown"}),d&&e.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--sa-text-subtle, #8c8f97)",maxWidth:"100%",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:d})]})}),(f&&f.length>0||g)&&e.jsxs(O.MenuBody,{children:[f==null?void 0:f.map((C,T)=>e.jsx(O.MenuButton,{children:e.jsxs("button",{type:"button",onClick:C.onClick,style:sn,onMouseEnter:A=>{A.currentTarget.style.backgroundColor="var(--sa-background-neutral, #f0f1f2)"},onMouseLeave:A=>{A.currentTarget.style.backgroundColor="transparent"},children:[e.jsx(L.Icon,{name:C.icon,size:"md"}),e.jsx("span",{children:C.label})]})},`${C.label}-${T}`)),g]}),m??e.jsx(O.MenuFooter,{children:e.jsx(O.MenuButton,{children:e.jsxs("button",{type:"button",onClick:Te,style:{...sn,color:"var(--sa-background-error, #c9184a)",fontWeight:500},onMouseEnter:C=>{C.currentTarget.style.backgroundColor="var(--sa-color-error-50, #fff0f3)"},onMouseLeave:C=>{C.currentTarget.style.backgroundColor="transparent"},children:[e.jsx(L.Icon,{name:"Logout",size:"md",style:{color:"var(--sa-background-error, #c9184a)"}}),e.jsx("span",{children:"Logout"})]})})})]})]})]})]}),e.jsx("main",{ref:ye,style:{flex:1,overflowY:"auto"},children:t||e.jsx(E,{})})]})]}),i&&l&&e.jsx("div",{style:{position:"fixed",inset:0,background:"var(--sa-color-black-alpha-a70, #181a19b8)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999},children:l}),e.jsxs(He.Dialog,{isShow:G,onHide:Oe,children:[e.jsx(He.DialogTitle,{children:"Confirmation Logout"}),e.jsx(He.DialogBody,{children:"Are you sure you want to end the session and exit the page?"}),e.jsx(He.DialogFooter,{children:e.jsx(h.Box,{direction:"column",display:"flex",align:"flex-end",justify:"center",children:e.jsxs(oe.Flex,{direction:"row",gap:"sm",align:"center",children:[e.jsx(h.Box,{direction:"column",children:e.jsx(V.Button,{secondary:!0,onClick:Oe,children:"Cancel"})}),e.jsx(h.Box,{direction:"column",children:e.jsx(V.Button,{primary:!0,onClick:Re,children:"Yes, Sure"})})]})})})]}),ne&&e.jsxs(e.Fragment,{children:[e.jsx("div",{onClick:()=>ge(null),style:{position:"fixed",inset:0,zIndex:60,backgroundColor:"transparent"}}),e.jsxs("div",{role:"dialog","aria-label":ne.item.title,style:{position:"fixed",top:ne.top,left:ne.left,zIndex:61,minWidth:"13rem",maxWidth:"16rem",backgroundColor:"var(--sa-background-primary, #ffffff)",border:"1px solid var(--sa-border-subtle, #0b120e24)",borderRadius:"var(--sa-radii-md, 0.5rem)",boxShadow:"var(--sa-shadow-lg, 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a)",padding:"0.5rem",display:"flex",flexDirection:"column",gap:"0.125rem"},children:[e.jsx("div",{style:{fontSize:"0.75rem",fontWeight:600,color:"var(--sa-color-gray-500, #8c8f97)",padding:"0.25rem 0.5rem 0.5rem",textTransform:"uppercase",letterSpacing:"0.05em"},children:ne.item.title}),(z=ne.item.children)==null?void 0:z.map(C=>{const T=be(C.to),A=Tt(C.badge,S[C.id]);return e.jsxs("button",{onClick:()=>{W(C.to),ge(null)},style:{width:"100%",display:"flex",alignItems:"center",gap:"0.75rem",padding:"0.5rem 0.75rem",borderRadius:"var(--sa-radii-md, 0.5rem)",textAlign:"left",backgroundColor:T?"var(--sa-color-gray-100, #f8f8f8)":"transparent",color:T?"var(--sa-text-primary, #292a2e)":"var(--sa-color-gray-800, #505258)",border:"1px solid transparent",cursor:"pointer",fontSize:"0.875rem",fontWeight:500},onMouseEnter:Q=>{T||(Q.currentTarget.style.backgroundColor="var(--sa-color-gray-100, #f8f8f8)")},onMouseLeave:Q=>{T||(Q.currentTarget.style.backgroundColor="transparent")},children:[C.icon&&e.jsx(L.Icon,{name:C.icon,size:"sm",style:{flexShrink:0}}),e.jsx("span",{style:{flex:1,whiteSpace:"nowrap"},children:C.title}),A&&e.jsx(Xe.Badges,{text:String(A.value),variant:A.variant??"info",size:"xs",border:!0})]},C.id)})]})]})]})})}const bt=u.forwardRef(({children:t,...r},n)=>e.jsx(h.Box,{ref:n,role:"button",cursor:"pointer","aria-pressed":"true",display:"inline-block",tabIndex:0,...r,children:t})),ln=({title:t,iconName:r,textColor:n,iconColor:s,hoverTextColor:o,hoverIconColor:i})=>{const[l,c]=u.useState(!1),a=s??"var(--sa-text-subtle, #8c8f97)",d=n??"var(--sa-text-subtle, #8c8f97)",f=i??"var(--sa-text-subtle, #8c8f97)",g=o??"var(--sa-text-primary, #292a2e)";return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),style:{cursor:"pointer"},children:[e.jsx(L.Icon,{name:r||"ChevronLeft",size:"xs",style:{color:l?f:a,transition:"color 0.15s ease"}}),e.jsx(w.Text,{variant:"sub-h3",style:{color:l?g:d,transition:"color 0.15s ease"},children:t||"Back"})]})},Go=({items:t,separator:r="/",iconName:n,iconColor:s,hoverIconColor:o})=>{const{Link:i}=qe(),[l,c]=u.useState(!1),a=s??"var(--sa-text-subtle, #8c8f97)",d=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(L.Icon,{name:n||"ChevronLeft",size:"xs",onMouseEnter:g?()=>c(!0):void 0,onMouseLeave:g?()=>c(!1):void 0,style:{color:g&&l?d:a,transition:"color 0.15s ease",cursor:g?"pointer":void 0}}),y=f!=null&&f.to?e.jsx(i,{to:f.to,replace:!0,style:{textDecoration:"none"},children:m}):f!=null&&f.onClick?e.jsx(bt,{onClick:f.onClick,children:m}):m;return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",children:[y,e.jsx(st.Breadcrumb,{separator:r,size:"md",children:t.map((D,j)=>{const E=j===t.length-1;return D.to&&!E?e.jsx(st.BreadcrumbItem,{children:e.jsx(i,{to:D.to,children:D.label})},j):e.jsx(st.BreadcrumbItem,{currentPage:E,children:e.jsx(st.BreadcrumbLink,{onClick:E?void 0:D.onClick,children:D.label})},j)})})]})},Qo=t=>{const{Link:r}=qe(),{items:n,separator:s,onClick:o,navigateTo:i,...l}=t;return n&&n.length>0?e.jsx(Go,{items:n,separator:s,iconName:l.iconName,iconColor:l.iconColor,hoverIconColor:l.hoverIconColor}):i?e.jsx(h.Box,{direction:"row",children:e.jsx(r,{to:i,replace:!0,style:{textDecoration:"none"},children:e.jsx(ln,{...l})})}):e.jsx(h.Box,{direction:"row",children:e.jsx(bt,{onClick:o,children:e.jsx(ln,{...l})})})},ir=[{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 cn(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 an={fontSize:"11px",fontWeight:500,textAlign:"center",overflowWrap:"normal",wordBreak:"normal",color:"var(--sa-background-primary, #ffffff)",lineHeight:"1.3",maxWidth:"80px"},dn={display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",background:"none",border:"none",cursor:"pointer",padding:0};function _n({isShow:t,onHide:r,menus:n,selectedGroupId:s,onSelect:o}){const[i,l]=u.useState(void 0),c=d=>{o(d),r()},a=ir[0];return e.jsx(He.Dialog,{isShow:t,onHide:r,style:{width:560,background:"transparent",boxShadow:"none",border:"none"},children:e.jsx(He.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:dn,children:[e.jsx("div",{style:cn(s===null,i==="all",a),children:e.jsx("div",{style:{color:a.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(L.Icon,{name:"Grid",size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:an,children:"Semua"})]}),n.map((d,f)=>{var j;const g=s===d.id,m=i===d.id,y=((j=d.items[0])==null?void 0:j.icon)??"Grid",D=ir[(f+1)%ir.length];return e.jsxs("button",{onClick:()=>c(d.id),onMouseEnter:()=>l(d.id),onMouseLeave:()=>l(void 0),style:dn,children:[e.jsx("div",{style:cn(g,m,D),children:e.jsx("div",{style:{color:D.icon,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(L.Icon,{name:y,size:"lg",style:{width:32,height:32}})})}),e.jsx("span",{style:an,children:d.name})]},d.id)})]})})})}function Uo({onSelect:t,"aria-label":r="Pilih module"}={}){const n=Cr(),{useNavigate:s}=qe(),o=s(),{selectedGroupId:i,setSelectedGroupId:l}=Sr(),[c,a]=u.useState(!1),d=f=>{var g;if(l(f),f!==null){const m=n.menus.find(D=>D.id===f),y=(g=m==null?void 0:m.items[0])==null?void 0:g.to;y&&o(y)}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(L.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(_n,{isShow:c,onHide:()=>a(!1),menus:n.menus.filter(f=>f.parentGroupId===void 0),selectedGroupId:i,onSelect:d})]})}const Jo=(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},Yo=u.memo(({value:t,label:r,separator:n,labelWidth:s,lastIndex:o,labelAlign:i="top"})=>{const l=u.useMemo(()=>({padding:0,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),c=u.useMemo(()=>({padding:0,paddingRight:12,paddingLeft:12,paddingBottom:o?0:12,verticalAlign:i}),[o,i]),a=()=>typeof r=="string"?e.jsx(w.Text,{fontWeight:"medium",color:"subtlest",children:r}):r,d=()=>typeof t=="string"||typeof t=="number"?e.jsx(w.Text,{color:"primary",fontWeight:"medium",children:t}):t,f=()=>typeof n=="string"||typeof n=="number"?e.jsx(w.Text,{fontWeight:"medium",color:"subtlest",children:n}):n;return e.jsxs(Z.Tr,{children:[e.jsx(Z.Td,{style:l,width:s,children:a()}),n?e.jsx(Z.Td,{style:c,width:24,children:f()}):null,e.jsx(Z.Td,{style:l,children:d()})]})}),Xo=u.memo(({fields:t,separator:r,labelWidth:n})=>e.jsx(Z.Table,{withColumnBorder:!1,withRowBorder:!1,children:t.map((s,o)=>e.jsx(Yo,{separator:r,labelWidth:n,lastIndex:o===t.length-1,...s},`field-group-field-${o}`))})),$o=u.memo(({maxRow:t=0,maxColumn:r=2,separator:n=":",fields:s=[],labelWidth:o=150,bordered:i=!1})=>{const l=u.useMemo(()=>Jo(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(h.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((d,f)=>e.jsx(h.Box,{direction:"column",flex:c?void 0:"1",width:c?a():void 0,marginBottom:c?"lg":void 0,children:e.jsx(Xo,{labelWidth:o,fields:d,separator:n})},f))})}),Ko=({backButton:t})=>{const[r,n]=u.useState(!1),s=(t==null?void 0:t.iconColor)??"var(--sa-text-subtle, #8c8f97)",o=(t==null?void 0:t.textColor)??"var(--sa-text-subtle, #8c8f97)",i=(t==null?void 0:t.hoverIconColor)??"var(--sa-text-subtle, #8c8f97)",l=(t==null?void 0:t.hoverTextColor)??"var(--sa-text-primary, #292a2e)";return e.jsxs(h.Box,{direction:"row",gap:"xs",align:"center",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{cursor:"pointer"},children:[e.jsx(L.Icon,{name:(t==null?void 0:t.iconName)||"ChevronLeft",size:"xs",style:{color:r?i:s,transition:"color 0.15s ease"}}),e.jsx(w.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"})]})},es=({backButton:t,title:r,titleIcon:n,titleTag:s,children:o,header:i=!0,headerBorder:l=!1,disableAnimation:c=!1,scrollable:a=!1,stickyHeader:d=!1,subHeaders:f,action:g,titleTagProps:m,containerProps:y,headerProps:D})=>{const j=je.useMediaQuery("md"),{Link:E,useNavigate:k,useLocation:I}=qe(),v=k(),S=I(),W=t==null?void 0:t.show,R=()=>{if(typeof(t==null?void 0:t.onClick)=="function"){t.onClick();return}v(-1,{replace:!0})},M=()=>{if(!g)return null;if(u.isValidElement(g))return g;const P=g.filter(Y=>Y&&(Y.title||Y.icon));return P.length===0?null:j?e.jsx(h.Box,{direction:"row",gap:"md",children:P.map(({title:Y,icon:te,buttonProps:N,onClick:H},_)=>e.jsx(V.Button,{iconLeft:te?e.jsx(L.Icon,{name:te,size:"md"}):void 0,onClick:H,...N,children:Y},`action-${_}`))}):e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"tertiary",size:"sm",iconLeft:e.jsx(L.Icon,{name:"MenuBurger"}),"aria-label":"Actions"})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{minWidth:200},children:P.map(({title:Y,icon:te,buttonProps:N,onClick:H},_)=>{const ne=(N==null?void 0:N.tone)==="error"||(N==null?void 0:N.danger)===!0;return e.jsx(O.MenuItem,{intent:ne?"danger":void 0,disabled:N==null?void 0:N.disabled,startIcon:te?e.jsx(L.Icon,{name:te}):void 0,onClick:H,children:Y},`action-${_}`)})})})]})},B=()=>{const P=e.jsx(Ko,{backButton:t});return t!=null&&t.navigateTo?e.jsx(h.Box,{direction:"row",children:e.jsx(E,{to:t.navigateTo,replace:!0,style:{textDecoration:"none"},children:P})}):e.jsx(h.Box,{direction:"row",children:e.jsx(bt,{onClick:R,children:P})})},G=()=>{const P=!!r,Y=Array.isArray(g)&&g.length>0,te=u.isValidElement(g)?!0:Y;if(!P&&!te&&!W)return null;const H=j||!j&&Y;return e.jsxs(h.Box,{direction:"column",gap:"xs",paddingBlock:(D==null?void 0:D.paddingBlock)??"sm",paddingInline:(D==null?void 0:D.paddingInline)??"md",...D,style:{...l?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...D==null?void 0:D.style},children:[W&&B(),(P||te)&&e.jsxs(h.Box,{direction:H?"row":"column",gap:"sm",justify:"space-between",align:H?"center":"flex-start",children:[P?typeof r=="string"?e.jsxs(h.Box,{direction:"row",gap:"lg",align:"center",children:[e.jsxs(h.Box,{direction:"row",gap:"sm",align:"center",children:[n&&e.jsx(L.Icon,{name:n,size:"md",color:"primary"}),e.jsx(w.Text,{variant:"h3",fontWeight:"semibold",fontFamily:"Poppins",children:r})]}),s&&e.jsx(Xe.Badge,{border:!0,size:"lg",text:s,...m})]}):r:null,M()]})]})},J=()=>{if(!f||f.length===0)return null;const P=f.filter(N=>N.show!==!1);if(P.length===0)return null;let Y=0,te=-1/0;return P.forEach((N,H)=>{const _=N.order??0;_>=te&&(te=_,Y=H)}),P.map(({content:N,order:H,borderBottom:_=!0,keepBottomPadding:ne=!1,paddingInline:ge=!0,paddingBlock:pe=!0},de)=>e.jsx(h.Box,{direction:"column",paddingTop:pe?"sm":"spacing-0",paddingBottom:pe&&(_||ne||de===Y)?"sm":"spacing-0",paddingInline:ge?"md":"spacing-0",style:{..._?{boxShadow:"inset 0 -1px 0 0 var(--sa-border-subtle, #0b120e24)"}:{},...H!==void 0?{order:H}:{}},children:N},`sub-header-${de}`))},q=()=>{const P=i?G():null,Y=J();return!P&&!Y?null:e.jsxs(h.Box,{direction:"column",style:{...a?{position:"sticky",left:0,...d?{top:0}:{},zIndex:2,background:"var(--sa-background-primary, #ffffff)"}:{},marginBottom:Y?"var(--sa-spacing-0)":"var(--sa-spacing-md)"},children:[P,Y]})},$=()=>o;return e.jsxs(h.Box,{direction:"column",as:"main",...y,style:{...a?{height:"100%",minHeight:0,overflow:"auto"}:{},...(y==null?void 0:y.style)??{},...c?{}:{animation:"pageLayoutEnter 320ms cubic-bezier(0.16, 1, 0.3, 1) backwards"}},children:[q(),$()]},S.pathname)},ts=u.memo(es),rs={icon:"Cross",title:""},qn=u.forwardRef(({onHide:t,show:r,withBlur:n=!1,style:s,children:o,closeButton:i=rs,width:l,minWidth:c,maxWidth:a},d)=>{const f=l??a??c??"357px";return e.jsx(Rt.Drawer,{blur:n,isShow:r,position:"right",onHide:t,ref:d,size:f,style:s,children:e.jsxs(h.Box,{direction:"column",padding:"lg",children:[i?e.jsxs(h.Box,{direction:"row",align:"center",gap:"sm",onClick:t,marginBottom:"lg",cursor:"pointer",children:[e.jsx(L.Icon,{name:i.icon,size:"md",color:"subtle",cursor:"pointer"}),i.title?e.jsx(w.Text,{fontFamily:"Poppins",fontSize:"md",color:"subtlest",children:i.title}):null]}):null,o]})})}),kr=u.memo(({children:t,borderBottom:r=!0,padding:n=!0})=>{const s=je.useMediaQuery("lg");return e.jsx(h.Box,{direction:"column",padding:n?"md":"spacing-0",paddingLeft:n?"md":"spacing-0",paddingRight:n?"md":"spacing-0",style:r?{borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"}:void 0,children:t})}),Br=u.memo(({children:t,borderTop:r=!0,padding:n=!0})=>{const s=je.useMediaQuery("lg");return e.jsx(h.Box,{direction:"column",padding:n?"md":"spacing-0",paddingLeft:n?"md":"spacing-0",paddingRight:n?"md":"spacing-0",style:r?{borderTop:"1px solid var(--sa-border-subtle, #0b120e24)"}:void 0,children:t})}),ns=u.memo(({children:t,...r})=>e.jsx(h.Box,{direction:"column",padding:"md",paddingLeft:"md",paddingRight:"md",gap:"md",...r,children:t})),os=u.memo(({children:t,title:r,titleTag:n,action:s,header:o,footer:i,actionContainer:l,containerProps:c,bodyProps:a,headerProps:d={borderBottom:!0},footerProps:f={borderTop:!0},variantTag:g="info"})=>{const m=je.useMediaQuery("lg"),y=()=>n?e.jsxs(h.Box,{direction:"row",gap:"sm",align:"center",children:[e.jsx(w.Text,{fontWeight:"medium",children:r}),e.jsx(Xe.Badges,{border:!0,text:n,variant:g})]}):e.jsx(w.Text,{fontWeight:"medium",children:r}),D=()=>o||e.jsxs(h.Box,{direction:"row",justify:"space-between",align:"flex-start",gap:"md",children:[e.jsx(h.Box,{direction:"column",children:r?y():null}),e.jsx(h.Box,{direction:"column",style:m?{width:"100%",maxWidth:"19.313rem"}:{flex:1},...l,children:s??null})]}),j=!!(o||r||s);return e.jsxs(h.Box,{direction:"column",bg:"white",borderRadius:"rounded-xs",as:"section",borderWidth:"border",borderStyle:"border-solid",borderColor:"border-base",...c,style:{backgroundColor:"var(--sa-background-primary, #ffffff)",...(c==null?void 0:c.style)??{}},children:[o!==null&&j?e.jsx(kr,{...d,children:D()}):null,e.jsx(ns,{...a,children:t}),i?e.jsx(Br,{...f,children:i}):null]})}),ss=t=>e.jsx(w.Text,{variant:"h1",children:t.children,...t.props}),is=t=>e.jsx(w.Text,{variant:"h2",children:t.children,...t.props}),ls=t=>e.jsx(w.Text,{variant:"h3",children:t.children,...t.props}),cs=t=>e.jsx(w.Text,{variant:"h4",children:t.children,...t.props}),as=t=>e.jsx(w.Text,{variant:"h5",children:t.children,...t.props}),ds=t=>e.jsx(w.Text,{variant:"h6",children:t.children,...t.props}),us=t=>e.jsx(w.Text,{variant:"sub-h1",children:t.children,...t.props}),xs=t=>e.jsx(w.Text,{variant:"sub-h2",children:t.children,...t.props}),hs=t=>e.jsx(w.Text,{variant:"sub-h3",children:t.children,...t.props}),fs=t=>e.jsx(w.Text,{variant:"body-1",children:t.children,...t.props}),ms=t=>e.jsx(w.Text,{variant:"body-2",children:t.children,...t.props}),gs=t=>e.jsx(w.Text,{variant:"body-3",children:t.children,...t.props}),Ve={H1:ss,H2:is,H3:ls,H4:cs,H5:as,H6:ds,SubH1:us,SubH2:xs,SubH3:hs,Body1:fs,Body2:ms,Body3:gs},Me=()=>{const{useSearchParams:t,useParams:r,useLocation:n}=qe(),[s,o]=t(),i=ct.searchParamsToObject(s.toString()),l=r(),c=n(),a=l.id;return{setSearchParams:o,searchParams:s,searchQueries:i,isHasQuery:(y,D)=>s.has(y)&&s.get(y)===D,getQueryParam:y=>s.get(y),getRouteParam:y=>l[y],params:l,location:c,id:a,hasId:!!a}},Zn=t=>JSON.stringify(t),Gn=t=>JSON.stringify(t),Qn=t=>JSON.stringify(t),Un=t=>JSON.stringify(t),ps=t=>t,ys=t=>JSON.stringify(t),jt=({value:t,name:r,type:n,withSearchParam:s=!0,setSearchParams:o,searchQueries:i,dropdownSearchKey:l,filterKey:c="filter",pageKey:a="page"})=>{if(s){let d;switch(n){case"search":d=ps(t);break;case"dropdown":case"dropdown-multiple":d=Zn(t);break;case"radio":d=Gn(t);break;case"date-range":d=Qn(t);break;case"advanced-date-range":d=ys(t);break;case"date":d=Un(t);break;default:d=t;break}if(typeof d<"u"){const g={...i[c]&&typeof i[c]=="string"?JSON.parse(i[c]):void 0,[r]:d},m={...i};l&&typeof l=="string"&&delete m[l],delete m[a];const y={...m,[c]:JSON.stringify(g)},D=new URLSearchParams(i).toString(),j=new URLSearchParams(y).toString();if(D===j)return;o(y)}}},It=({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},Jn=({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},js=({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},Ht=(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},bs=({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}},Yn=({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},vs=(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},Xn=({isOpen:t,onClose:r,filterKey:n,pageKey:s,filters:o})=>{const{searchParams:i,setSearchParams:l,searchQueries:c}=Me(),[a,d]=u.useState({}),f=()=>{i.delete(n||"filter"),l(i)},g=(m,y)=>{switch(m.type){case"radio":{const{show:D=!0}=m;return D&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y)}case"dropdown":{const{show:D=!0}=m;return D&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y)}case"date-range":return e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y);case"date":return e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y);case"dropdown-multiple":{const{show:D=!0}=m;return D&&e.jsx(h.Box,{direction:"column",children:e.jsx(h.Box,{direction:"column",children:m.title})},y)}default:return null}};return e.jsx(qn,{onHide:r,show:t||!1,children:e.jsxs(h.Box,{direction:"column",gap:"md",children:[e.jsxs(oe.Flex,{direction:"row",justify:"space-between",align:"center",children:[e.jsx(h.Box,{direction:"column",children:"Filter"}),e.jsx(h.Box,{direction:"column",style:{cursor:"pointer"},onClick:f,children:"Reset"})]}),o==null?void 0:o.map((m,y)=>g(m,y))]})})},$n=({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:d,handleOnReset:f,filterConfigs:g,buttonToggleProps:m,position:y="right",titleSearchLabel:D="Work Order",withTitleLabels:j=!1})=>{const k=(m==null?void 0:m.isShowLabel)??!0,[I,v]=u.useState(!1),[S,W]=u.useState(0),R=()=>{W(_=>_+1)},{searchParams:M,setSearchParams:B,getQueryParam:G}=Me(),J=ct.searchParamsToObject(M.toString()),q=Ht(t,M,c)||"",[$,P]=u.useState(q),Y=G(c),N=!!(Y&&!(()=>{if(Y)try{const _=JSON.parse(Y);return Object.keys(_).length===1&&_[t]===""}catch(_){console.error("Filter parameter is not a valid JSON:",_)}return!1})()),H=je.useMediaQuery("md");return u.useEffect(()=>{P(q)},[q]),u.useEffect(()=>{if($===q)return;const _=window.setTimeout(()=>{jt({value:$,name:t,type:"search",searchQueries:J,setSearchParams:B,filterKey:c,pageKey:a})},350);return()=>{window.clearTimeout(_)}},[$,q,t,J,B,c,a]),e.jsxs(oe.Flex,{gap:"md",style:{flexDirection:H&&y==="left"?"row":H&&y==="right"?"row-reverse":"column"},align:"flex-end",children:[N&&e.jsx(h.Box,{direction:"column",justify:"flex-end",children:e.jsx(V.Button,{onClick:()=>{const _=new URLSearchParams(M);_.delete(c),B(_),P(""),R(),f&&f()},variant:"outline",tone:"neutral",children:e.jsx(w.Text,{color:"error",fontWeight:"semibold",children:"Reset"})})}),o==null?void 0:o.map(({minWidth:_,content:ne,title:ge,onClickContainer:pe},de)=>e.jsxs(h.Box,{direction:"column",gap:"sm",onClick:pe,style:{minWidth:_},children:[ge&&e.jsx(Ve.SubH3,{children:ge}),ne]},`extended-filter-${de}-${S}`)),!!(g!=null&&g.length)&&e.jsx(V.Button,{primary:N,secondary:!N,iconLeft:e.jsx(L.Icon,{size:"sm",name:(m==null?void 0:m.icon)||"FilterHorizontal",style:{color:Y?"var(--sa-background-brand, #04254f)":"var(--sa-text-primary, #292a2e)"}}),fullWidth:!H,onClick:()=>v(!0),children:k?"Filter":void 0}),l&&e.jsxs(h.Box,{direction:"column",gap:"sm",style:{minWidth:"126px"},children:[j&&e.jsx(Ve.SubH3,{children:"Status"}),e.jsx(lt.Dropdown,{dropdownLists:[{label:"Active",value:"active"},{label:"InActive",value:"inactive"}],defaultValue:It({get:"value",name:r,searchParams:M,filterKey:c})?[{label:It({get:"value",name:r,searchParams:M,filterKey:c})==="active"?"Active":"InActive",value:It({get:"value",name:r,searchParams:M,filterKey:c})}]:[],onChange:_=>jt({value:_,name:r,type:"dropdown",searchQueries:J,setSearchParams:B,filterKey:c}),placeholder:j?"All":"All Status"},S)]}),i&&e.jsxs(h.Box,{direction:"column",gap:"sm",style:{width:d&&H?d:H?"310px":""},children:[j&&e.jsxs(Ve.SubH3,{children:["Search for ",D]}),e.jsx($e.Input,{placeholder:n,leftIcon:e.jsx(L.Icon,{name:"Search",width:20,height:20}),onChange:_=>P(_.target.value),value:$,fullWidth:!0},S+1+c)]}),e.jsx(Xn,{isOpen:I,onClose:()=>v(!1),filterKey:c,filters:g,pageKey:a})]})},Cs=t=>t==="checkbox-multiple"?"dropdown-multiple":t==="radio"?"dropdown":t==="date-compact"?"date":t;function Fr({configs:t,filterKey:r="filter",activeFilterKey:n="filters",pageKey:s="page",searchKey:o="q"}){const{searchParams:i,setSearchParams:l,searchQueries:c}=Me(),a=u.useMemo(()=>Object.fromEntries(t.map(S=>[S.key,S])),[t]),d=u.useMemo(()=>{const S=(i.get(n)||"").split(",").map(R=>R.trim()).filter(Boolean);let W=[];try{const R=i.get(r);R&&(W=Object.keys(JSON.parse(R)).filter(M=>M!==o))}catch{}return t.map(R=>R.key).filter(R=>{const M=a[R];return(M==null?void 0:M.locked)||S.includes(R)||W.includes(R)})},[i,n,r,o,t,a]),f=u.useCallback(S=>{try{return S[r]?JSON.parse(S[r]):{}}catch{return{}}},[r]),g=u.useCallback(S=>{const W={...c};S.length?W[n]=S.join(","):delete W[n],l(W)},[c,n,l]),m=u.useCallback(S=>{d.includes(S)||g([...d,S])},[d,g]),y=u.useCallback(S=>{var B;if((B=a[S])!=null&&B.locked)return;const W={...c},R=d.filter(G=>G!==S);R.length?W[n]=R.join(","):delete W[n];const M=f(W);S in M&&(delete M[S],Object.keys(M).length?W[r]=JSON.stringify(M):delete W[r]),delete W[s],l(W)},[c,d,n,r,s,f,l,a]),D=u.useCallback(S=>d.includes(S)?y(S):m(S),[d,m,y]),j=u.useCallback(S=>{switch(S.type){case"dropdown":case"dropdown-multiple":case"checkbox-multiple":case"radio":return Jn({name:S.key,get:"array",searchParams:i,filterKey:r})||[];case"date":{const W=Yn({name:S.key,searchParams:i,filterKey:r});return W?new Date(W):void 0}case"date-compact":{const R=f(Object.fromEntries(i.entries()))[S.key];return R&&typeof R=="object"?R:void 0}default:return}},[i,r,f]),E=u.useCallback((S,W)=>{if(S.type==="date-compact"){const R={...c},M=f(R);W==null?delete M[S.key]:M[S.key]=W,Object.keys(M).length?R[r]=JSON.stringify(M):delete R[r],delete R[s],l(R);return}jt({value:W,name:S.key,type:Cs(S.type),searchQueries:c,setSearchParams:l,filterKey:r,pageKey:s})},[c,l,r,s,f]),k=u.useCallback(S=>{const W={...c},R=f(W);S in R&&(delete R[S],Object.keys(R).length?W[r]=JSON.stringify(R):delete W[r]),delete W[s],l(W)},[c,r,s,f,l]),I=u.useCallback(()=>{const S={...c};delete S[r],delete S[n],delete S[s],l(S)},[c,r,n,s,l]),v=d.length>0;return{activeKeys:d,configByKey:a,hasActiveFilter:v,addFilter:m,removeFilter:y,toggleFilter:D,getValue:j,setValue:E,clearValue:k,clearAll:I}}const Er={get(t){return pt.storage.get(t)??null},set(t,r){pt.storage.save(t,r)},remove(t){pt.storage.delete(t)}},dt={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}`},Bt=(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 ws({columns:t,scopeId:r,storage:n,onColumnsChange:s,value:o}){const i=u.useMemo(()=>({order:t.map(M=>M.key),hidden:[]}),[t]),l=r?dt.columns(r):void 0,c=(M,B)=>Bt({order:M.order??B,hidden:M.hidden??[]},t),[a,d]=u.useState(()=>{if(o&&(o.order||o.hidden))return c(o,t.map(M=>M.key));if(l){const M=n.get(l);if(M&&Array.isArray(M.order))return Bt(M,t)}return i}),f=t.map(M=>M.key).join("|");u.useEffect(()=>d(M=>Bt(M,t)),[f]);const g=u.useRef(a);g.current=a;const m=o?`${(o.order??[]).join("|")}~${(o.hidden??[]).join("|")}`:null,y=u.useRef(m);u.useEffect(()=>{if(m==null||y.current===m)return;y.current=m;const M=g.current,B=c(o,M.order);B.order.join("|")===M.order.join("|")&&B.hidden.join("|")===M.hidden.join("|")||(d(B),l&&n.set(l,B))},[m,f]);const D=u.useRef(!1);u.useEffect(()=>{D.current||(D.current=!0,s==null||s(a))},[]);const j=u.useCallback(M=>{d(M),l&&n.set(l,M),s==null||s(M)},[l,n,s]),E=u.useMemo(()=>{const M=new Map(t.map(B=>[B.key,B]));return a.order.filter(B=>M.has(B)).map(B=>({...M.get(B),visible:!a.hidden.includes(B)}))},[a,t]),k=u.useCallback(M=>{const B=a.hidden.includes(M)?a.hidden.filter(G=>G!==M):[...a.hidden,M];j({...a,hidden:B})},[a,j]),I=u.useCallback((M,B)=>{if(M===B)return;const G=[...a.order],[J]=G.splice(M,1);G.splice(B,0,J),j({...a,order:G})},[a,j]),v=u.useCallback(M=>{j({...a,hidden:M?t.filter(B=>!B.locked).map(B=>B.key):[]})},[a,t,j]),S=u.useCallback(()=>j(i),[j,i]),W=u.useCallback(M=>j(Bt(M,t)),[j,t]),R=a.hidden.length===0;return{state:a,orderedColumns:E,allVisible:R,toggleVisibility:k,reorder:I,setAllHidden:v,reset:S,applyState:W}}function Ds({scopeId:t,storage:r,snapshotKeys:n,pageKey:s="page",getColumns:o,applyColumns:i}){const{searchParams:l,setSearchParams:c}=Me(),a=t?dt.savedViews(t):void 0,[d,f]=u.useState(()=>a?r.get(a)||[]:[]),g=u.useCallback(j=>{f(j),a&&r.set(a,j)},[a]),m=u.useCallback(j=>{const E=j.trim();if(!E)return;const k={};n.forEach(v=>{const S=l.get(v);S!=null&&(k[v]=S)});const I={id:`${Date.now()}`,name:E,query:k,columns:o==null?void 0:o(),createdAt:Date.now()};g([...d,I])},[n,l,o,g,d]),y=u.useCallback(j=>g(d.filter(E=>E.id!==j)),[g,d]),D=u.useCallback(j=>{const E=Object.fromEntries(l.entries());n.forEach(k=>delete E[k]),Object.assign(E,j.query),delete E[s],c(E),j.columns&&(i==null||i(j.columns))},[l,n,s,c,i]);return{enabled:!!a,views:d,saveView:m,deleteView:y,applyView:D}}function Ss(t,r){let n;try{n=JSON.parse(t)}catch{return t}return!n||typeof n!="object"?t:(delete n[r],Object.keys(n).length>0?JSON.stringify(n):void 0)}function un(t,r,n){const s=t[r];if(s==null)return;const o=Ss(s,n);o===void 0?delete t[r]:t[r]=o}function ks({scopeId:t,storage:r,snapshotKeys:n,enabled:s=!0,filterKey:o="filter",searchKey:i="q",persistSearch:l=!0}){const{searchParams:c}=Me(),a=t&&s?dt.lastState(t):void 0,d=u.useRef(a),f=u.useRef(!1);u.useEffect(()=>{if(!a){d.current=a;return}if(d.current!==a){d.current=a,f.current=!1;return}const y={};if(n.forEach(D=>{const j=c.get(D);j!=null&&(y[D]=j)}),l||un(y,o,i),Object.keys(y).length===0){f.current&&r.remove(a);return}f.current=!0,r.set(a,y)},[c,a,n,r,l,o,i]);const g=u.useCallback(()=>{if(!a)return null;const y=r.get(a);return!y||Object.keys(y).length===0||!l&&(un(y,o,i),Object.keys(y).length===0)?null:y},[a,r,l,o,i]),m=u.useCallback(()=>{a&&r.remove(a)},[a,r]);return{enabled:!!a,read:g,clear:m}}function Bs({scopeId:t,storage:r,perPageKey:n,pageSizeOptions:s,enabled:o=!0}){const{searchParams:i}=Me(),l=t&&o?dt.perPage(t):void 0,c=i.toString(),a=u.useRef(l);u.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 d=u.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=u.useCallback(()=>{l&&r.remove(l)},[l,r]);return{enabled:!!l,read:d,clear:f}}let lr={},cr=!1,ar=null;const Fs=(t,r)=>{Object.assign(lr,t),ar=r,!cr&&(cr=!0,queueMicrotask(()=>{const n=lr,s=ar;lr={},cr=!1,ar=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})}))};function Es({enabled:t,snapshotKeys:r,perPageKey:n,readSnapshot:s,readPerPage:o}){const{searchParams:i,setSearchParams:l,location:c}=Me(),a=u.useRef(null);u.useEffect(()=>{if(!t||a.current===c.pathname)return;a.current=c.pathname;const d={};if(!i.has(n)){const f=o();f&&(d[n]=f)}if(!r.some(f=>i.has(f))){const f=s();f&&Object.assign(d,f)}Object.keys(d).length!==0&&Fs(d,l)},[c.pathname,t])}const Ms=({configs:t,activeKeys:r,onToggle:n,hasActiveFilter:s,onReset:o})=>t.length?e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:s?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"FilterHorizontal"}),"aria-label":"Add filter"})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{minWidth:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:"Add Filter"}),s&&o&&e.jsx(V.Button,{variant:"link",tone:"brand",size:"xs",onClick:o,children:"Reset"})]}),children:t.map(i=>e.jsx(O.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,Vt=({onClear:t,onRemove:r})=>e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"link",tone:"neutral",size:"xs",iconLeft:e.jsx(L.Icon,{name:"MenuHorizontal"}),"aria-label":"Filter actions"})}),e.jsx(O.MenuLists,{children:e.jsxs(O.MenuBody,{style:{width:180},children:[e.jsx(O.MenuItem,{startIcon:e.jsx(L.Icon,{name:"CrossCircle"}),onClick:t,children:"Clear value"}),r&&e.jsx(O.MenuItem,{intent:"danger",startIcon:e.jsx(L.Icon,{name:"Trash1"}),onClick:r,children:"Remove filter"})]})})]}),Ls=t=>{const r=new Date(t);return r.setHours(0,0,0,0),r},xn=(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},Kn=t=>{const r=Ls(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:xn(r,-n,t.period),to:r}:{from:r,to:xn(r,n,t.period)}},hn=24,eo=t=>t.length>hn?`${t.slice(0,hn)}...`:t,Ot=t=>t.toLocaleDateString(void 0,{day:"2-digit",month:"short",year:"numeric"}),At={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"},Ts=["is","is-before","is-after","is-on-or-before","is-on-or-after","is-between","is-relative-to-today","is-empty","is-not-empty"],jr={past:"Past",next:"Next",this:"This"},Is=["day","week","month","year"],Os=["past","next","this"],Rs=t=>t.field.type==="date-compact"?e.jsx(zs,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}):e.jsx(Ws,{field:t.field,value:t.value,onChange:t.onChange,onClear:t.onClear,onRemove:t.onRemove}),Ws=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=r?Ot(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:eo(i)})]}):t.label;return e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:l?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l?e.jsx(L.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:c})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Vt,{onClear:s,onRemove:o})]}),children:e.jsx(et.StarasiaDate,{size:"sm",input:!1,clearable:!0,filter:t.mode,value:r,onChange:a=>a==null?s():n(a),withPadding:!1})})})]})},As=t=>{switch(t.op){case"is":case"is-before":case"is-after":case"is-on-or-before":case"is-on-or-after":return t.date?`${At[t.op]} ${Ot(new Date(t.date))}`:null;case"is-between":return t.from&&t.to?`${Ot(new Date(t.from))} - ${Ot(new Date(t.to))}`:null;case"is-relative-to-today":{const r=t.relative;if(!r)return null;if(r.direction==="this")return`This ${r.period}`;const n=r.count??1,s=n===1?r.period:`${r.period}s`;return`${jr[r.direction]} ${n} ${s}`}case"is-empty":case"is-not-empty":return At[t.op];default:return null}},zs=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.ops&&t.ops.length>0?t.ops:Ts,l=t.defaultOp&&i.includes(t.defaultOp)?t.defaultOp:i[0],c=(r==null?void 0:r.op)??l,a=r?As(r):null,d=!!a,f=d?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontWeight:500},children:[t.label,":"]})," ",e.jsx("span",{style:{fontWeight:400},children:eo(a)})]}):t.label,g=m=>{if(m!==c){if(m==="is-empty"||m==="is-not-empty"){n({op:m});return}if(m==="is-relative-to-today"){n({op:m,relative:(r==null?void 0:r.relative)??{direction:"past",count:1,period:"week"}});return}if(m==="is-between"){n({op:m,from:r==null?void 0:r.from,to:r==null?void 0:r.to});return}n({op:m,date:r==null?void 0:r.date})}};return e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:d?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:d?e.jsx(L.Icon,{name:"Calendar",size:"sm"}):void 0,iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:f})}),e.jsxs(O.MenuLists,{children:[e.jsx(O.MenuBody,{style:{width:320},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",gap:"xs",fullWidth:!0,children:[e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"xs",style:{minWidth:0},children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Hs,{op:c,ops:i,onChange:g})]}),e.jsx(Vt,{onClear:s,onRemove:o})]}),children:e.jsx(Vs,{value:r,op:c,onChange:n})}),c==="is-relative-to-today"&&e.jsx(O.MenuFooter,{children:e.jsx(w.Text,{fontSize:"xs",color:"subtlest",children:"Filter will update with the current date"})})]})]})},Hs=({op:t,ops:r,onChange:n})=>e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"link",tone:"neutral",size:"xs",iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:At[t]})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:200},children:r.map(s=>e.jsx(O.MenuItem,{selected:t===s,onClick:()=>n(s),endIcon:t===s?e.jsx(L.Icon,{name:"Check"}):void 0,children:At[s]},s))})})]}),Vs=({value:t,op:r,onChange:n})=>{if(r==="is-empty"||r==="is-not-empty")return e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(w.Text,{fontSize:"xs",color:"subtlest",children:"No further input required."})});if(r==="is-between"){const s=t!=null&&t.from||t!=null&&t.to?{from:t!=null&&t.from?new Date(t.from):null,to:t!=null&&t.to?new Date(t.to):null}:void 0;return e.jsx(et.StarasiaDate,{size:"sm",input:!1,clearable:!0,rangedDate:!0,value:s,onChange:o=>{if(o==null){n({op:r});return}if(typeof o=="object"&&o!==null&&"from"in o&&"to"in o){let{from:i,to:l}=o;if(!i&&l&&(i=l,l=null),!i&&!l){n({op:r});return}n({op:r,from:i?i.toISOString():void 0,to:l?l.toISOString():void 0})}},withPadding:!1},"range")}return r==="is-relative-to-today"?e.jsx(Ps,{value:t==null?void 0:t.relative,onChange:s=>n({op:r,relative:s})}):e.jsx(et.StarasiaDate,{size:"sm",input:!1,clearable:!0,value:t!=null&&t.date?new Date(t.date):void 0,onChange:s=>{if(s==null){n({op:r});return}s instanceof Date&&n({op:r,date:s.toISOString()})},withPadding:!1},"single")},Ps=({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=Kn({direction:n,count:s,period:o});return e.jsxs(h.Box,{direction:"column",display:"flex",gap:"sm",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:jr[n]})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:140},children:Os.map(c=>e.jsx(O.MenuItem,{selected:n===c,endIcon:n===c?e.jsx(L.Icon,{name:"Check"}):void 0,onClick:()=>r(c==="this"?{direction:c,period:o}:{direction:c,count:s,period:o}),children:jr[c]},c))})})]}),i&&e.jsx($e.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(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:o})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:140},children:Is.map(c=>e.jsx(O.MenuItem,{selected:o===c,endIcon:o===c?e.jsx(L.Icon,{name:"Check"}):void 0,onClick:()=>r(n==="this"?{direction:n,period:c}:{direction:n,count:s,period:c}),children:c},c))})})]})]}),e.jsx(et.StarasiaDate,{size:"sm",input:!1,disabled:!0,rangedDate:!0,value:l,onChange:()=>{},withPadding:!1},"relative-preview")]})},fn=18,Ns=t=>t.length>fn?`${t.slice(0,fn)}...`:t,_s=({field:t,value:r,onChange:n,onClear:s,onRemove:o})=>{const i=t.type==="dropdown-multiple",l=r.length,c=t.searchable!==!1,[a,d]=u.useState(""),f=t.options,g=typeof t.onSearch=="function",m=(()=>{if(g)return f;const k=a.trim().toLowerCase();return k?f.filter(I=>I.label.toLowerCase().includes(k)):f})(),y=k=>r.some(I=>I.value===k.value),D=k=>{if(!i){n([{label:k.label,value:k.value}]),d("");return}n(y(k)?r.filter(I=>I.value!==k.value):[...r,{label:k.label,value:k.value}])},j=k=>{var I;d(k),(I=t.onSearch)==null||I.call(t,k)},E=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?Ns(r[0].label):`${l} Selected`})]});return e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:l>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l>0?e.jsx(L.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:E})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{style:{width:260},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Vt,{onClear:s,onRemove:o})]}),children:e.jsxs(h.Box,{direction:"column",gap:"sm",children:[c&&e.jsx(lt.Dropdown,{size:"sm",triggerInput:!0,fullWidth:!0,hideChevronIcon:!0,clearable:!0,multiSelect:i,searchAble:!0,searchValue:a,onSearch:j,value:r,onChange:n,placeholder:`Search ${t.label.toLowerCase()}…`}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",customMaxHeight:"240px",children:t.isLoading?e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(w.Text,{fontSize:"xs",color:"subtlest",children:"Loading…"})}):m.length===0?e.jsx(h.Box,{paddingBlock:"sm",paddingInline:"sm",children:e.jsx(w.Text,{fontSize:"xs",color:"subtlest",children:"No results"})}):m.map(k=>e.jsx(O.MenuItem,{closeOnSelect:!i,selected:y(k),startIcon:k.avatar,endIcon:y(k)?e.jsx(L.Icon,{name:"Check"}):void 0,description:k.description,onClick:()=>D(k),children:k.label},k.value))})]})})})]})},mn=18,qs=t=>t.length>mn?`${t.slice(0,mn)}...`:t,gn=({checked:t,indeterminate:r})=>e.jsx("span",{style:{pointerEvents:"none",display:"inline-flex"},children:e.jsx(_e.Checkbox,{size:"sm",checked:t,readOnly:!0,onChange:()=>{},variant:r?"indeterminate":"select"})}),Zs=({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,d=m=>{n(i.has(m.value)?r.filter(y=>y.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(w.Text,{as:"span",fontWeight:"semibold",children:[t.label,":"]})," ",e.jsx(w.Text,{as:"span",children:l===1?qs(r[0].label):`${l} Selected`})]});return e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:l>0?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:l>0?e.jsx(L.Icon,{name:"Tag",size:"sm"}):void 0,iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),children:g})}),e.jsx(O.MenuLists,{children:e.jsxs(O.MenuBody,{style:{width:240},title:e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",justify:"space-between",fullWidth:!0,children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtlest",children:t.label}),e.jsx(Vt,{onClear:s,onRemove:o})]}),children:[e.jsx(O.MenuItem,{closeOnSelect:!1,selected:c,onClick:f,startIcon:e.jsx(gn,{checked:c||a,indeterminate:a}),children:"Select All"}),t.options.map(m=>e.jsx(O.MenuItem,{closeOnSelect:!1,selected:i.has(m.value),onClick:()=>d(m),startIcon:e.jsx(gn,{checked:i.has(m.value)}),children:m.label},m.value))]})})]})},to=({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),d=c.locked?void 0:()=>i(l);return c.type==="date"||c.type==="date-compact"?e.jsx(Rs,{field:c,value:a,onChange:f=>s(c,f),onClear:()=>o(l),onRemove:d},l):c.type==="checkbox-multiple"?e.jsx(Zs,{field:c,value:a||[],onChange:f=>s(c,f),onClear:()=>o(l),onRemove:d},l):e.jsx(_s,{field:c,value:a||[],onChange:f=>s(c,f),onClear:()=>o(l),onRemove:d},l)})}),pn=t=>`${t} Rows`,Gs=({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 k;const{searchQueries:a,setSearchParams:d,searchParams:f}=Me(),g=f.get(n),m=g?Number(g):o,y=I=>{d({...a,[r]:String(I)})},D=I=>{d({...a,[n]:I,[r]:"1"})},j=(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),E=(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(w.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${j}-${E} of ${((k=t==null?void 0:t.totalData)==null?void 0:k.toLocaleString())||0}`}),l&&e.jsxs(O.Menu,{position:"bottom-left",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconRight:e.jsx(L.Icon,{name:"ChevronSmallDown"}),"aria-label":"Rows per page",children:pn(m)})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{children:s.map(I=>e.jsx(O.MenuItem,{selected:I===m,onClick:()=>D(String(I)),children:pn(I)},I))})})]}),c&&((t==null?void 0:t.totalPage)??0)>1&&e.jsx(h.Box,{direction:"column",display:"flex",align:"center",gap:"sm",paddingRight:"sm",style:{borderRight:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:e.jsx(yt.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:y})})]})};function Qs(t,r,n=!0){u.useEffect(()=>{if(!n)return;const s=o=>{var c;if(o.metaKey||o.ctrlKey||o.altKey||o.key!==t)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 Us=240,ro=({searchKey:t="q",filterKey:r="filter",pageKey:n="page",placeholder:s="Search",shortcut:o="/",collapsible:i=!0})=>{const{searchParams:l,setSearchParams:c,searchQueries:a}=Me(),d=Ht(t,l,r)||"",[f,g]=u.useState(!i||!!d),[m,y]=u.useState(i&&!d),[D,j]=u.useState(d),E=je.useDebounce(D,350),k=u.useRef(null);u.useEffect(()=>{j(d),d&&g(!0)},[d]),u.useEffect(()=>{f&&y(!1)},[f]),u.useEffect(()=>{E!==d&&jt({value:E,name:t,type:"search",searchQueries:a,setSearchParams:c,filterKey:r,pageKey:n})},[E]);const I=u.useCallback(()=>{g(!0),requestAnimationFrame(()=>{var R;return(R=k.current)==null?void 0:R.focus()})},[]);Qs(o,I);const v=()=>{i&&!D&&g(!1)},S=R=>{var M;i&&R.key==="Escape"&&!D&&(g(!1),(M=k.current)==null||M.blur())},W=()=>{f||y(!0)};return e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"spacing-0",children:[m&&e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"Search",size:"sm"}),"aria-label":"Search","aria-expanded":!1,onClick:I}),e.jsxs(h.Box,{onTransitionEnd:W,style:{position:"relative",width:f?Us:0,overflow:"hidden",transition:"width 220ms ease"},children:[e.jsx($e.Input,{ref:k,size:"sm",fullWidth:!0,value:D,placeholder:s,leftIcon:e.jsx(L.Icon,{name:"Search",width:16,height:16}),onChange:R=>j(R.target.value),onKeyDown:S,onBlur:v,tabIndex:f?0:-1}),f&&!D&&e.jsx(h.Box,{align:"center",justify:"center",borderColor:"border-subtle",borderWidth:"border",borderStyle:"border-solid",borderRadius:"rounded-xs",paddingInline:"spacing-1",customBackgroundColor:"var(--sa-background-surface-hover, #f1f2f4)",style:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",minWidth:18,height:18,display:"inline-flex"},children:e.jsx(w.Text,{fontSize:"xs",color:"subtle",children:o})})]})]})},no=({columns:t,allVisible:r,onToggle:n,onReorder:s,onSetAllHidden:o})=>{const[i,l]=u.useState(null),[c,a]=u.useState(null),d=()=>{i!==null&&c!==null&&i!==c&&s(i,c),l(null),a(null)},f=(g,m)=>{const y=g+m;y<0||y>=t.length||s(g,y)};return e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:r?"outline":"secondary",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"Grid",size:"sm"}),"aria-label":"Customize columns"})}),e.jsx(O.MenuLists,{children:e.jsx(O.MenuBody,{children:e.jsxs(h.Box,{padding:"sm",direction:"column",customWidth:"296px",customMaxHeight:"60vh",overflow:"overflow-hidden",children:[e.jsx(w.Text,{fontWeight:"semibold",color:"primary",children:"Customize Column Table"}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",paddingBlock:"md",children:[e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"subtle",children:"Show in table"}),e.jsx(V.Button,{variant:"link",tone:"info",size:"xs",onClick:()=>o(r),children:r?"Hide All":"Show All"})]}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",children:t.map((g,m)=>{const y=!g.locked,D=c===m&&i!==null&&i!==m;return e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",paddingBlock:"xs",draggable:y,onDragStart:()=>y&&l(m),onDragOver:j=>{j.preventDefault(),a(m)},onDrop:d,onDragEnd:d,style:{minHeight:32,boxShadow:D?"inset 0 2px 0 0 var(--sa-background-brand, #04254f)":void 0},children:[e.jsx(h.Box,{direction:"column",as:"div",align:"center",justify:"center",role:"button",tabIndex:y?0:-1,"aria-label":`Reorder ${g.title}`,"aria-disabled":!y||void 0,color:"icon-subtlest",onKeyDown:j=>{y&&(j.key==="ArrowUp"?(j.preventDefault(),f(m,-1)):j.key==="ArrowDown"&&(j.preventDefault(),f(m,1)))},style:{display:"inline-flex",cursor:y?"grab":"default",opacity:y?1:.4},children:e.jsx(L.Icon,{name:"DragVertical",width:16,height:16})}),g.icon&&e.jsx(h.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:g.icon}),e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:g.title}),e.jsx(h.Box,{direction:"column",style:{marginLeft:"auto"},children:e.jsx(at.Toggle,{size:"sm",checked:g.visible,disabled:g.locked,onChange:()=>n(g.key),"aria-label":`Toggle ${g.title} column`})})]},g.key)})})]})})})]})},oo=({views:t,onApply:r,onDelete:n,onSave:s})=>{const[o,i]=u.useState(""),l=()=>{const c=o.trim();c&&(s(c),i(""))};return e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:t.length>0?"secondary":"outline",tone:(t.length>0,"neutral"),size:"sm",iconLeft:e.jsx(L.Icon,{name:"Bookmark",size:"sm"}),"aria-label":"Saved views"})}),e.jsxs(O.MenuLists,{style:{width:"260px"},children:[e.jsx(O.MenuBody,{children:e.jsxs(h.Box,{direction:"column",padding:"xs",gap:"sm",children:[e.jsx(w.Text,{fontWeight:"semibold",color:"primary",children:"Saved Views"}),e.jsx(h.Box,{direction:"column",overflow:"overflow-y-auto",children:t.length===0?e.jsx(h.Box,{direction:"column",paddingBlock:"sm",children:e.jsx(w.Text,{fontSize:"sm",color:"subtlest",children:"No saved views yet"})}):t.map(c=>e.jsx(O.MenuItem,{startIcon:e.jsx(L.Icon,{name:"Bookmark"}),onClick:()=>r(c),endIcon:e.jsx(V.Button,{variant:"link",tone:"error",size:"sm",iconLeft:e.jsx(L.Icon,{name:"Trash2"}),"aria-label":`Delete ${c.name}`,onClick:a=>{a.stopPropagation(),n(c.id)}}),children:c.name},c.id))})]})}),e.jsx(O.MenuFooter,{children:e.jsxs(h.Box,{direction:"row",gap:"xs",children:[e.jsx(h.Box,{direction:"column",style:{flex:"1 0 0",minWidth:0},children:e.jsx($e.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(V.Button,{variant:"primary",tone:"brand",size:"sm",disabled:!o.trim(),onClick:l,children:"Save"})]})})]})]})},Js=({isOpen:t,onClose:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:l,onReset:c,getValue:a,setValue:d,clearValue:f,removeFilter:g})=>{const m=s.length;return e.jsx(Rt.Drawer,{position:"bottom",isShow:t,onHide:r,children:e.jsxs(h.Box,{direction:"column",customMaxHeight:"85vh",style:{minHeight:280},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",paddingInline:"md",paddingBlock:"sm",style:{borderBottom:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"xs",children:[e.jsx(w.Text,{fontWeight:"semibold",color:"primary",children:"Filter"}),m>0&&e.jsxs(w.Text,{fontSize:"sm",color:"subtle",children:["(",m,")"]})]}),e.jsx(V.Button,{variant:"link",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"Cross"}),"aria-label":"Close filter",onClick:r})]}),e.jsxs(h.Box,{direction:"column",gap:"lg",padding:"md",overflow:"overflow-y-auto",style:{flex:"1 1 auto",minHeight:0},children:[m>0&&e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(w.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Filter aktif"}),e.jsx(h.Box,{direction:"row",display:"flex",wrap:"wrap",gap:"sm",align:"center",children:e.jsx(to,{activeKeys:s,configByKey:o,getValue:a,setValue:d,clearValue:f,removeFilter:g})})]}),n.length>0&&e.jsxs(h.Box,{direction:"column",gap:"sm",children:[e.jsx(w.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Tambah filter"}),e.jsx(h.Box,{direction:"column",children:n.map(y=>{const D=s.includes(y.key),j=!!y.locked;return e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",paddingBlock:"sm",style:{opacity:j?.5:1,borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.08))"},children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{minWidth:0},children:[y.icon&&e.jsx(h.Box,{direction:"column",align:"center",color:"icon-subtle",style:{display:"inline-flex"},children:y.icon}),e.jsx(w.Text,{fontSize:"sm",color:"primary",truncate:!0,children:y.label})]}),e.jsx(at.Toggle,{size:"sm",checked:D||j,disabled:j,onChange:()=>l(y.key),"aria-label":`Toggle ${y.label}`})]},y.key)})})]})]}),e.jsxs(h.Box,{direction:"row",display:"flex",gap:"sm",paddingInline:"md",paddingBlock:"sm",style:{borderTop:"1px solid var(--sa-border-subtle, rgba(11, 18, 14, 0.14))"},children:[e.jsx(h.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"md",fullWidth:!0,disabled:!i,onClick:c,children:"Reset"})}),e.jsx(h.Box,{direction:"column",style:{flex:"1 1 0"},children:e.jsx(V.Button,{variant:"primary",tone:"brand",size:"md",fullWidth:!0,onClick:r,children:"Selesai"})})]})]})})},Ys=t=>`${t} Rows`,Xs=({perPageKey:t,pageKey:r,pageSizeOptions:n,defaultPerPage:s=10,showPageSize:o})=>{const{searchQueries:i,setSearchParams:l,searchParams:c}=Me(),a=c.get(t),d=a?Number(a):s,f=g=>{l({...i,[t]:g,[r]:"1"})};return o?e.jsxs(O.Menu,{position:"bottom-right",children:[e.jsx(O.MenuButton,{children:e.jsx(V.Button,{variant:"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"MenuVertical",size:"sm"}),"aria-label":"More options"})}),e.jsx(O.MenuLists,{children:e.jsxs(O.MenuBody,{style:{minWidth:200},children:[e.jsx(h.Box,{paddingInline:"sm",paddingBlock:"xs",children:e.jsx(w.Text,{fontSize:"xs",fontWeight:"medium",color:"subtlest",children:"Rows per page"})}),n.map(g=>e.jsx(O.MenuItem,{selected:g===d,endIcon:g===d?e.jsx(L.Icon,{name:"Check"}):void 0,onClick:()=>f(String(g)),children:Ys(g)},g))]})})]}):null},$s=t=>{var be;const{withPadding:r,configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,toggleFilter:l,removeFilter:c,getValue:a,setValue:d,clearValue:f,onReset:g,searchable:m,searchKey:y,filterKey:D,pageKey:j,searchPlaceholder:E,searchShortcut:k,searchCollapsible:I,pagination:v,perPageKey:S,pageSizeOptions:W,defaultPerPage:R,showPagination:M,showResultCount:B,showPageSize:G,hasColumns:J,orderedColumns:q,allVisible:$,onToggleVisibility:P,onReorder:Y,onSetAllHidden:te,showSavedViews:N,savedViews:H,onApplyView:_,onDeleteView:ne,onSaveView:ge,leadingActions:pe}=t,[de,xe]=u.useState(!1),{searchQueries:ye,setSearchParams:ke}=Me(),Te=(v==null?void 0:v.rangeStart)??(((v==null?void 0:v.currentPage)||0)>1?(((v==null?void 0:v.currentPage)||0)-1)*((v==null?void 0:v.perPage)||0)+1:1),Oe=(v==null?void 0:v.rangeEnd)??((v==null?void 0:v.totalCurrentPage)!==(v==null?void 0:v.perPage)?v==null?void 0:v.totalData:((v==null?void 0:v.currentPage)||1)*((v==null?void 0:v.totalCurrentPage)||0)),Re=Ue=>{ke({...ye,[j]:String(Ue)})},we=B||M&&!!(v!=null&&v.totalPage),We=()=>{g(),xe(!1)};return e.jsxs(h.Box,{direction:"column",gap:"sm",fullWidth:!0,paddingTop:r?"sm":void 0,paddingBottom:r?"sm":void 0,paddingLeft:r?"md":void 0,paddingRight:r?"md":void 0,role:"toolbar","aria-label":"Filter bar",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",wrap:"wrap",gap:"sm",fullWidth:!0,overflow:"overflow-auto",children:[m&&e.jsx(ro,{searchKey:y,filterKey:D,pageKey:j,placeholder:E,shortcut:k,collapsible:I}),e.jsx(V.Button,{variant:i?"secondary":"outline",tone:"neutral",size:"sm",iconLeft:e.jsx(L.Icon,{name:"FilterHorizontal"}),onClick:()=>xe(!0),"aria-label":"Open filters",children:i?`Filter: ${s.length}`:null}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{marginLeft:"auto"},children:[pe,N&&e.jsx(oo,{views:H,onApply:_,onDelete:ne,onSave:ge}),J&&e.jsx(no,{columns:q,allVisible:$,onToggle:P,onReorder:Y,onSetAllHidden:te}),e.jsx(Xs,{perPageKey:S,pageKey:j,pageSizeOptions:W,defaultPerPage:R,showPageSize:G})]})]}),we&&e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",justify:"space-between",gap:"sm",fullWidth:!0,children:[B?e.jsx(w.Text,{fontSize:"sm",fontWeight:"medium",color:"primary",truncate:!0,children:`${Te}-${Oe} of ${((be=v==null?void 0:v.totalData)==null?void 0:be.toLocaleString())||0}`}):e.jsx(h.Box,{direction:"column"}),M&&!!(v!=null&&v.totalPage)&&e.jsx(yt.Pagination,{size:"xs",variant:"neutral",siblingCount:0,currentPage:v!=null&&v.currentPage?Number(v.currentPage):1,totalPages:Number(v.totalPage),onPageChange:Re})]}),e.jsx(Js,{isOpen:de,onClose:()=>xe(!1),configs:n,activeKeys:s,configByKey:o,hasActiveFilter:i,onToggle:l,onReset:We,getValue:a,setValue:d,clearValue:f,removeFilter:c})]})},Ks=({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:d=!0,showPageSize:f=!0,searchable:g=!1,searchKey:m="q",searchPlaceholder:y="Search",searchShortcut:D="/",searchPosition:j="right",searchCollapsible:E=!0,pagination:k,columns:I=[],onColumnsChange:v,columnsState:S,scopeId:W,savedViews:R,persistLastState:M=!0,persistSearch:B=!0,storage:G=Er,onReset:J,leadingActions:q})=>{const $=W??(R==null?void 0:R.scopeId),{activeKeys:P,configByKey:Y,hasActiveFilter:te,toggleFilter:N,removeFilter:H,getValue:_,setValue:ne,clearValue:ge,clearAll:pe}=Fr({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:m}),de=ws({columns:I,scopeId:$,storage:G,onColumnsChange:v,value:S}),xe=Ds({scopeId:$,storage:G,snapshotKeys:[s,n,i],pageKey:o,getColumns:()=>de.state,applyColumns:de.applyState}),ye=ks({scopeId:$,storage:G,snapshotKeys:[s,n,o],enabled:M,filterKey:n,searchKey:m,persistSearch:B}),ke=Bs({scopeId:$,storage:G,perPageKey:i,pageSizeOptions:l,enabled:M});Es({enabled:M&&!!$,snapshotKeys:[s,n,o],perPageKey:i,readSnapshot:ye.read,readPerPage:ke.read});const Te=c??l[0]??25,Oe=!!(R!=null&&R.enabled)&&xe.enabled,Re=()=>{pe(),ye.clear(),J==null||J()},we=je.useMediaQuery("md"),We=g?e.jsx(ro,{searchKey:m,filterKey:n,pageKey:o,placeholder:y,shortcut:D,collapsible:E}):null;return we?e.jsxs(h.Box,{display:"flex",direction:"row",align:"center",gap:"sm",wrap:"wrap",fullWidth:!0,paddingTop:t?"sm":void 0,paddingBottom:t?"sm":void 0,paddingLeft:t?"md":void 0,paddingRight:t?"md":void 0,role:"toolbar","aria-label":"Filter bar",children:[e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(Ms,{configs:r,activeKeys:P,onToggle:N,hasActiveFilter:te,onReset:Re}),j==="left"&&We,e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",overflow:"overflow-x-auto",style:{flex:"1 1 0",minWidth:0},children:[e.jsx(to,{activeKeys:P,configByKey:Y,getValue:_,setValue:ne,clearValue:ge,removeFilter:H}),te&&e.jsx(V.Button,{variant:"link",tone:"brand",size:"sm",onClick:Re,children:"Reset"})]})]}),e.jsxs(h.Box,{direction:"row",display:"flex",align:"center",gap:"sm",children:[q,e.jsx(Gs,{pagination:k,pageKey:o,perPageKey:i,pageSizeOptions:l,defaultPerPage:Te,showPagination:a,showResultCount:d,showPageSize:f}),j==="right"&&We,Oe&&e.jsx(oo,{views:xe.views,onApply:xe.applyView,onDelete:xe.deleteView,onSave:xe.saveView}),I.length>0&&e.jsx(no,{columns:de.orderedColumns,allVisible:de.allVisible,onToggle:de.toggleVisibility,onReorder:de.reorder,onSetAllHidden:de.setAllHidden})]})]}):e.jsx($s,{withPadding:t,configs:r,activeKeys:P,configByKey:Y,hasActiveFilter:te,toggleFilter:N,removeFilter:H,getValue:_,setValue:ne,clearValue:ge,onReset:Re,searchable:g,searchKey:m,filterKey:n,pageKey:o,searchPlaceholder:y,searchShortcut:D,searchCollapsible:E,pagination:k,perPageKey:i,pageSizeOptions:l,defaultPerPage:Te,showPagination:a,showResultCount:d,showPageSize:f,hasColumns:I.length>0,orderedColumns:de.orderedColumns,allVisible:de.allVisible,onToggleVisibility:de.toggleVisibility,onReorder:de.reorder,onSetAllHidden:de.setAllHidden,showSavedViews:Oe,savedViews:xe.views,onApplyView:xe.applyView,onDeleteView:xe.deleteView,onSaveView:xe.saveView,leadingActions:q})},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},ti=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},ri=(t,r)=>{switch(t.type){case"dropdown":case"radio":return ei(r);case"dropdown-multiple":case"checkbox-multiple":return ti(r);case"date":return r instanceof Date?r.toISOString():void 0;case"date-compact":return r;default:return}},yn=(t,r)=>{if(t==null||t==="")return r;const n=Number(t);return Number.isFinite(n)&&n>0?n:r},ni=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:d,serialize:f}=t,{activeKeys:g,configByKey:m,hasActiveFilter:y,getValue:D}=Fr({configs:r,filterKey:n,activeFilterKey:s,pageKey:o,searchKey:l}),{searchParams:j}=Me(),E=j.toString();return u.useMemo(()=>{const I={},v={},S=yn(j.get(o),c),W=yn(j.get(i),a);I[(d==null?void 0:d.page)??"page"]=S,I[(d==null?void 0:d.perPage)??"perPage"]=W;const R=Ht(l,j,n)||"";R&&(I[(d==null?void 0:d.search)??"search"]=R);let M=!1;for(const B of g){const G=m[B];if(!G)continue;const J=D(G);v[B]=J;const q=f==null?void 0:f[B],$=q?q(J):ri(G,J);if($==null||Array.isArray($)&&$.length===0)continue;const P=(d==null?void 0:d[B])??B;I[P]=$,M=!0}return{params:I,raw:v,hasActiveFilter:y||!!R||M}},[E,g.join("|"),n,s,o,i,l,c,a,d,f,m])},oi=["dropdown","dropdown-multiple","checkbox-multiple","radio"],si=({filterConfigs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o})=>{const{configByKey:i,getValue:l,setValue:c,removeFilter:a,clearAll:d,hasActiveFilter:f}=Fr({configs:t,filterKey:r,activeFilterKey:n,pageKey:s,searchKey:o}),g=(k,I)=>{var S;const v=k.options;return((S=v==null?void 0:v.find(W=>W.value===I))==null?void 0:S.label)??I},m=u.useCallback(k=>{const I=i[k];if(!I)return[];const v=l(I);return Array.isArray(v)?v.map(S=>String(S.value)):[]},[i,l]),y=u.useCallback((k,I)=>{const v=i[k];if(!v||!oi.includes(v.type))return;const S=Array.isArray(I)?I:[I];if(S.length===0){a(k);return}c(v,S.map(W=>({label:g(v,W),value:W})))},[i,c,a]),D=u.useCallback((k,I)=>{const v=m(k);y(k,v.includes(I)?v.filter(S=>S!==I):[...v,I])},[m,y]),j=u.useCallback((k,I)=>m(k).includes(I),[m]),E=u.useCallback(k=>a(k),[a]);return{set:y,toggle:D,clear:E,clearAll:d,isActive:j,values:m,hasActiveFilter:f}},ii=(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}=Kn(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}},so=({children:t,borderRadius:r,height:n})=>{const s=u.useRef(null),[o,i]=u.useState("100vh");return u.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(h.Box,{ref:s,fullWidth:!0,borderStyle:"border-solid",borderWidth:"border",borderColor:"border-base",borderRadius:r||"rounded-xs",style:{height:n??o,display:"flex",flexDirection:"column"},children:t})},io=({action:t,rightContent:r,leftContent:n,headerSlot:s,advanceFilter:o,showFilter:i=!0})=>{const l=je.useMediaQuery("md"),c=i?e.jsx($n,{...o}):null,a=()=>t?u.isValidElement(t)?t:e.jsx(h.Box,{style:{display:"flex",flexDirection:l?"row":"column",gap:"8px",width:l?"auto":"100%",textWrap:"nowrap"},children:t.map(({title:d,icon:f,buttonProps:g,onClick:m},y)=>!d&&!f?null:e.jsx(V.Button,{fullWidth:!l,iconLeft:f?e.jsx(L.Icon,{name:f}):void 0,onClick:m,...g,children:d},`action-${y}`))}):null;return e.jsx(h.Box,{style:{display:"flex",width:"100%",justifyContent:"space-between",alignItems:"center",paddingLeft:"8px",paddingRight:"8px",paddingTop:"8px",paddingBottom:"8px",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)",flexShrink:0,position:"relative",zIndex:10,flexDirection:l?"row":"column-reverse",gap:"16px"},children:s?s({filter:c}):e.jsxs(e.Fragment,{children:[e.jsxs(h.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flex:1,minWidth:0},children:[c,n]}),e.jsxs(h.Box,{style:{display:"flex",gap:"8px",flexDirection:"row",alignItems:"center",flexShrink:0},children:[r,a()]})]})})},li=({totalData:t,withMarginBottom:r=!0,withMarginTop:n=!0})=>e.jsxs(h.Box,{style:{display:"flex",gap:"4px",flexDirection:"row",alignItems:"center",marginBottom:r?"16px":void 0,marginTop:n?"16px":void 0},children:[e.jsxs(Ve.Body1,{props:{color:"gray-500"},children:["Total data:"," "]}),e.jsx(Ve.Body1,{children:t||0})]}),lo=({pagination:t,pageKey:r="page",perPageKey:n="perPage",defaultPerPage:s=10,showPagination:o=!0,totalData:i})=>{const{searchQueries:l,setSearchParams:c,searchParams:a}=Me(),d=a.get(n),f=D=>{c({...l,[r]:String(D)})},g=D=>{c({...l,[n]:D,[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),y=(t==null?void 0:t.rangeEnd)??((t==null?void 0:t.totalCurrentPage)!==(t==null?void 0:t.perPage)?t==null?void 0:t.totalData:((t==null?void 0:t.currentPage)||1)*((t==null?void 0:t.totalCurrentPage)||0));return e.jsx(h.Box,{style:{display:"flex",width:"100%",flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px",borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",flexShrink:0},children:o?e.jsxs(e.Fragment,{children:[e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",gap:"8px",alignItems:"center",textWrap:"nowrap"},children:[e.jsx(w.Text,{children:"Rows Per Page: "}),e.jsx(lt.Dropdown,{dropdownLists:[{label:"5",value:"5"},{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"},{label:"100",value:"100"}],onChange:D=>{g(D[0].value)},value:d?[{label:`${d} per row`,value:d}]:[{label:`${s} per row`,value:`${s}`}],defaultValue:d?[{label:`${d} per row`,value:d}]:[{label:`${s} per row`,value:`${s}`}]}),e.jsx(w.Text,{children:`${m}-${y} of ${(t==null?void 0:t.totalData)||0}`})]}),e.jsx(yt.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(li,{totalData:i,withMarginBottom:!1,withMarginTop:!1})})},co=({filter:t,columnTitle:r})=>{const[n,s]=u.useState(!1),o=u.useRef(null),i=u.useRef(null),l=u.useRef(null),[c,a]=u.useState(""),[d,f]=u.useState({top:0,left:0}),g=t.selectedValues,m=u.useMemo(()=>c?t.options.filter(j=>j.label.toLowerCase().includes(c.toLowerCase())):t.options,[t.options,c]);u.useEffect(()=>{if(n&&i.current){const j=i.current.getBoundingClientRect(),E=280,k={top:j.bottom+8};t.position==="left"||j.left+E>window.innerWidth?k.right=window.innerWidth-j.right:k.left=j.left,f(k)}},[n,t.position]),u.useEffect(()=>{n&&l.current?setTimeout(()=>{var j;return(j=l.current)==null?void 0:j.focus()},50):a("")},[n]),u.useEffect(()=>{const j=E=>{o.current&&!o.current.contains(E.target)&&i.current&&!i.current.contains(E.target)&&s(!1)};return n&&document.addEventListener("mousedown",j),()=>document.removeEventListener("mousedown",j)},[n]);const y=j=>{const E=g.includes(j)?g.filter(k=>k!==j):[...g,j];t.onFilterChange(E)},D=()=>t.onFilterChange([]);return e.jsxs(h.Box,{direction:"column",style:{position:"relative"},children:[e.jsx(h.Box,{ref:i,style:{display:"flex",flexDirection:"row",alignItems:"center",cursor:"pointer"},onClick:j=>{var E;j.stopPropagation(),n||(E=t.onOpen)==null||E.call(t),s(k=>!k)},children:e.jsx(L.Icon,{name:n?"ChevronUp":"ChevronDown",size:"sm",style:{color:g.length>0?"var(--sa-color-brand-500, #1a4fa0)":"var(--sa-text-subtle, #8c8f97)"}})}),n&&e.jsxs(h.Box,{ref:o,style:{position:"fixed",top:`${d.top}px`,...d.left!==void 0?{left:`${d.left}px`}:{right:`${d.right}px`},backgroundColor:"white",borderRadius:"4px",minWidth:"280px",maxHeight:"400px",display:"flex",flexDirection:"column",zIndex:9999,animation:"fadeInDropdown 0.15s ease-out",border:"1px solid var(--sa-border-subtle, #0b120e24)"},children:[e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingTop:"12px",paddingBottom:"12px",paddingLeft:"16px",paddingRight:"16px",borderBottom:"1px solid var(--sa-border-subtle, #0b120e24)"},children:[e.jsxs(w.Text,{fontSize:"sm",fontWeight:"semibold",color:"gray-700",children:["Filter ",r]}),g.length>0&&e.jsx(h.Box,{direction:"column",style:{cursor:"pointer"},children:e.jsx(w.Text,{fontSize:"xs",color:"primary",fontWeight:"semibold",onClick:j=>{j.stopPropagation(),D()},children:"CLEAR"})})]}),!t.hideSearch&&e.jsx(h.Box,{direction:"column",style:{paddingLeft:"16px",paddingRight:"16px",paddingTop:"8px",paddingBottom:"8px"},children:e.jsx($e.Input,{ref:l,placeholder:`Search ${r.toLowerCase()}...`,leftIcon:e.jsx(L.Icon,{name:"Search",size:"sm"}),value:c,onChange:j=>a(j.target.value),style:{fontSize:"14px"}})}),e.jsx(h.Box,{direction:"column",className:"ts-filter-dropdown-options",style:{overflowY:"auto",maxHeight:"250px",paddingLeft:"8px",paddingRight:"8px"},children:t.isLoadingOptions?e.jsxs(h.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(L.Icon,{name:"Loading",size:"lg",style:{color:"var(--sa-background-brand, #04254f)",animation:"spin 1s linear infinite"}}),e.jsx(w.Text,{fontSize:"sm",color:"gray-500",style:{textAlign:"center",marginTop:"8px"},children:"Loading options..."})]}):m.length>0?e.jsx(h.Box,{direction:"column",style:{gap:"2px",paddingTop:"4px",paddingBottom:"4px"},children:m.map(j=>e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"8px",paddingTop:"8px",paddingBottom:"8px",paddingLeft:"8px",paddingRight:"8px",cursor:"pointer",borderRadius:"8px",transition:"all 0.2s ease",backgroundColor:g.includes(j.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent"},onClick:E=>{E.stopPropagation(),y(j.value)},onMouseEnter:E=>{g.includes(j.value)||(E.currentTarget.style.backgroundColor="var(--sa-background-primary, #ffffff)"),E.currentTarget.style.transform="translateX(2px)"},onMouseLeave:E=>{E.currentTarget.style.backgroundColor=g.includes(j.value)?"var(--sa-color-brand-50, #e6edf6)":"transparent",E.currentTarget.style.transform="translateX(0)"},children:[e.jsx(_e.Checkbox,{checked:g.includes(j.value),onChange:()=>{}}),e.jsx(w.Text,{fontSize:"sm",fontWeight:g.includes(j.value)?"medium":"normal",color:g.includes(j.value)?"primary":"gray-700",children:j.label})]},j.value))}):e.jsxs(h.Box,{style:{paddingTop:"40px",paddingBottom:"40px",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[e.jsx(L.Icon,{name:"Search",size:"lg",style:{color:"var(--sa-text-subtle, #8c8f97)"}}),e.jsx(w.Text,{fontSize:"sm",color:"gray-500",style:{textAlign:"center",marginTop:"8px"},children:"No results found"})]})}),g.length>0&&e.jsx(h.Box,{direction:"column",style:{paddingTop:"8px",paddingBottom:"8px",paddingLeft:"16px",paddingRight:"16px",borderTop:"1px solid var(--sa-border-subtle, #0b120e24)",backgroundColor:"var(--sa-color-brand-50, #e6edf6)",marginTop:"auto"},children:e.jsxs(h.Box,{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"4px"},children:[e.jsx(h.Box,{direction:"column",style:{backgroundColor:"var(--sa-background-brand, #04254f)",borderRadius:"12px",padding:"2px 8px",fontSize:"11px",fontWeight:600,color:"white"},children:g.length}),e.jsxs(w.Text,{fontSize:"xs",color:"primary",fontWeight:"medium",children:["item",g.length>1?"s":""," selected"]})]})})]})]})},ci=({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"})})]})},ai=({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"})]}),dr="var(--sa-background-primary, #ffffff)",jn="var(--sa-background-primary-inverse, #f8f8f8)",ao=({columns:t,records:r,handleDetail:n,handleUpdate:s,handleDelete:o,isLoading:i,visibleHandleDelete:l,visibleHandleUpdate:c,visibleHandleDetail:a,showHeadBorder:d=!1,scrollParentRef:f,frozenCount:g=0,onFrozenCountChange:m,customActions:y,actionsOrder:D=["detail","update","delete","custom"],customEmptyState:j,enableColumnResize:E=!1,defaultColumnWidths:k,onColumnWidthsChange:I,defaultMinColumnWidth:v=60,sort:S,defaultSort:W,onSortChange:R,showActionDivider:M=!1})=>{const B=S!==void 0,[G,J]=u.useState(W??null),q=B?S??null:G,$=z=>{if(z.sortKey)return z.sortKey;if(typeof z.accessor=="string")return z.accessor},P=z=>{const C=$(z);if(!C)return;let T;!q||q.key!==C?T={key:C,direction:"asc"}:q.direction==="asc"?T={key:C,direction:"desc"}:T=null,B||J(T),R==null||R(T)},te=[n,s,o].filter(z=>z!==void 0).length,N=!!y,H=!!n||!!s||!!o||N,_="var(--sa-border-subtle, #0b120e24)",ne=`1px solid ${_}`,ge=`inset 1px 0 0 ${_}`,pe=`inset -1px 0 0 ${_}`,de=te===3?N?"178px":"140px":te===2?N?"140px":"102px":te===1?N?"112px":"74px":N?"74px":"",xe=(z,C)=>{if(!C)return z;if(typeof C=="function")return C(z);if(typeof C=="string")return z[C]},[ye,ke]=u.useState(!1);u.useEffect(()=>{if(!(f!=null&&f.current))return;const z=f.current;ke(z.scrollHeight>z.clientHeight)},[r,f]);const Te=u.useRef(null),[Oe,Re]=u.useState([]),[we,We]=u.useState(()=>k??{}),be=u.useRef(null);u.useLayoutEffect(()=>{if(!g||!Te.current){Re([]);return}const z=Array.from(Te.current.querySelectorAll("thead tr th")),C=[];let T=0;z.forEach((A,Q)=>{C[Q]=T,Q<g&&(T+=A.offsetWidth)}),Re(C)},[g,t,r,we]);const Ue=z=>{m&&m(z<g?z:z+1)},ve=(z,C)=>{const T=we[z];if(T!==void 0){const A=`${T}px`;return{width:A,minWidth:A,maxWidth:A}}return C?{width:C}:{}},Ae=z=>E&&(z.resizable??!0),tt=(z,C)=>{z.preventDefault(),z.stopPropagation();const T=z.currentTarget.closest("th");if(!T)return;const A=Math.round(T.getBoundingClientRect().width);be.current={colIndex:C,startX:z.clientX,startWidth:A};const Q=document.body.style.userSelect,ce=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";const Be=re=>{var Je;const me=be.current;if(!me)return;const Fe=((Je=t[me.colIndex])==null?void 0:Je.minWidth)??v,Ce=Math.max(Fe,me.startWidth+(re.clientX-me.startX));We(Ye=>Ye[me.colIndex]===Ce?Ye:{...Ye,[me.colIndex]:Ce})},ue=()=>{document.removeEventListener("mousemove",Be),document.removeEventListener("mouseup",ue),document.body.style.userSelect=Q,document.body.style.cursor=ce,be.current=null,I&&We(re=>(I(re),re))};document.addEventListener("mousemove",Be),document.addEventListener("mouseup",ue)};return e.jsx("div",{ref:Te,children:e.jsxs(Z.Table,{fullWidth:!0,children:[e.jsx(Z.Thead,{style:{height:"40px",whiteSpace:"nowrap"},children:e.jsxs(Z.Tr,{children:[t.map((z,C)=>{var Ct,rt;const T=g>0&&C<g,A=Oe[C]??0,Q=Ae(z),Be=C===t.length-1&&H&&M,ue=$(z),re=!!z.sortable&&!!ue,me=re&&(q==null?void 0:q.key)===ue?q.direction:null,Fe=z.title||((Ct=z.accessor)==null?void 0:Ct.toString())||"",Ce=(rt=z.headerTooltip)!=null&&rt.showIcon?e.jsx(L.Icon,{name:"InfoCircle",size:"xs",style:{flexShrink:0,color:"var(--sa-icon-subtle, #8c8f97)",opacity:.75}}):null,Je=e.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Fe}),Ye=re?e.jsxs("button",{type:"button",onClick:()=>P(z),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:z.textAlign==="text-right"?"right":z.textAlign==="text-center"?"center":"left"},children:[Je,Ce,e.jsx(ci,{direction:me})]}):e.jsxs("span",{style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:4},children:[Je,Ce]});return e.jsxs(Z.Th,{style:{position:"sticky",top:0,left:T?A:void 0,zIndex:T?4:2,paddingLeft:C===0?"12px":"",borderRight:d&&!Be&&!T?ne:void 0,borderBottom:d?ne:void 0,boxShadow:d&&T?pe:void 0,backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",textAlign:z.textAlign==="text-right"?"right":z.textAlign==="text-center"?"center":"left",...ve(C,z.width)},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px",justifyContent:"space-between",minWidth:0},children:[z.headerTooltip?e.jsx(Se.Tooltip,{label:z.headerTooltip.content,position:"bottom",children:Ye}):Ye,z.filter&&e.jsx(co,{filter:z.filter,columnTitle:z.title}),m&&e.jsx("button",{onClick:()=>Ue(C),title:T?"Unfreeze column":"Freeze column",style:{background:"none",border:"none",cursor:"pointer",padding:"2px",display:"flex",alignItems:"center",flexShrink:0,color:T?"var(--sa-background-brand, #04254f)":"var(--sa-text-subtle, #8c8f97)",opacity:T?1:.45,transition:"opacity 0.15s"},children:e.jsx(ai,{frozen:T})})]}),Q&&e.jsx("div",{onMouseDown:ut=>tt(ut,C),onClick:ut=>ut.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-${C}`)}),H?e.jsx(Z.Th,{style:{backgroundColor:"var(--sa-background-primary-inverse, #f8f8f8)",position:"sticky",top:0,right:0,zIndex:3,borderBottom:d?ne:void 0,boxShadow:d&&M?ge:void 0}}):null]})}),e.jsx(Z.Tbody,{children:i?e.jsx(Z.Tr,{children:e.jsx(Z.Td,{colSpan:t.length+1,children:e.jsxs(h.Box,{direction:"column",style:{gap:"16px"},children:[e.jsx(ze.Skeleton,{variant:"list"}),e.jsx(ze.Skeleton,{variant:"list"}),e.jsx(ze.Skeleton,{variant:"list"}),e.jsx(ze.Skeleton,{variant:"list"}),e.jsx(ze.Skeleton,{variant:"list"})]})})}):!(r!=null&&r.length)&&j?e.jsx(Z.Tr,{children:e.jsx(Z.Td,{colSpan:t.length+1,children:j})}):r==null?void 0:r.map((z,C)=>e.jsxs(Z.Tr,{style:{transition:"background-color 0.3s ease",padding:0,borderBottom:C===r.length-1&&ye?void 0:"1px solid var(--sa-border-subtle, #0b120e24)"},onMouseEnter:T=>{const A=T.currentTarget;A.style.backgroundColor=jn,Array.from(A.querySelectorAll("td")).forEach(Q=>{Q.style.position==="sticky"&&(Q.style.backgroundColor=jn)})},onMouseLeave:T=>{const A=T.currentTarget;A.style.backgroundColor="",Array.from(A.querySelectorAll("td")).forEach(Q=>{Q.style.position==="sticky"&&(Q.style.backgroundColor=dr)})},children:[t.map((T,A)=>{const Q=T.render?T.render(z,C,r):xe(z,T.accessor),ce=g>0&&A<g,Be=Oe[A]??0,ue=we[A]!==void 0,re=ce&&A===g-1;return e.jsx(Z.Td,{style:{position:ce?"sticky":void 0,left:ce?Be:void 0,zIndex:ce?1:void 0,backgroundColor:ce?dr:void 0,transition:ce?"background-color 0.3s ease":void 0,paddingLeft:A===0?"12px":"",whiteSpace:"nowrap",overflow:ue?"hidden":void 0,borderLeft:T.showBorderLeft?ne:void 0,borderRight:T.showBorderRight?ne:void 0,boxShadow:re?pe:void 0,textAlign:T.textAlign==="text-right"?"right":T.textAlign==="text-center"?"center":"left",...ve(A,T.width)},children:typeof Q=="string"?e.jsx(w.Text,{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textAlign:T.textAlign==="text-right"?"right":T.textAlign==="text-center"?"center":"left"},children:Q}):Q},`row-${C}-col-${A}`)}),H?e.jsx(Z.Td,{style:{width:de,position:"sticky",right:0,zIndex:1,backgroundColor:dr,boxShadow:M?ge:void 0,transition:"background-color 0.3s ease"},children:e.jsx(oe.Flex,{direction:"row",align:"center",justify:"center",gap:"sm",children:D.map(T=>{const A=C===r.length-1?"top":"bottom";return T==="detail"&&n&&(a==null?void 0:a(z))!==!1?e.jsx(Se.Tooltip,{label:"Detail",position:A,children:e.jsx(V.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>n(z.id,z),iconLeft:e.jsx(L.Icon,{name:"DocumentClean",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"detail"):T==="update"&&s&&(c==null?void 0:c(z))!==!1?e.jsx(Se.Tooltip,{label:"Update",position:A,children:e.jsx(V.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>s(z),iconLeft:e.jsx(L.Icon,{name:"Edit1",size:"sm",style:{color:"var(--sa-text-subtle, #8c8f97)"}})})},"update"):T==="delete"&&o&&(l==null?void 0:l(z))!==!1?e.jsx(Se.Tooltip,{label:"Delete",position:A,children:e.jsx(V.Button,{size:"xs",variant:"outline",tone:"neutral",onClick:()=>o(z.id,z),iconLeft:e.jsx(L.Icon,{name:"Trash1",size:"sm",style:{color:"var(--sa-color-error-600, #c9184a)"}})})},"delete"):T==="custom"?e.jsx(u.Fragment,{children:y==null?void 0:y(z)},"custom"):null})})}):null]},`${z}${C}`))})]})})},di=({wrapperProps:t,dataTableProps:r,headerProps:n,footerProps:s})=>{var g;const o=u.useRef(null),[i,l]=u.useState((r==null?void 0:r.defaultFrozenCount)??0),c=(n==null?void 0:n.show)??!0,a=u.useRef(null),d=(g=r==null?void 0:r.pagination)==null?void 0:g.totalData;typeof d=="number"&&(a.current=d);const f=(s==null?void 0:s.showFooter)??(d===void 0?a.current!==0:d!==0);return e.jsxs(so,{...t,children:[c&&e.jsx(io,{...n}),e.jsx(h.Box,{direction:"column",ref:o,style:{flex:1,overflowY:"auto",overflowX:"auto"},children:r?e.jsx(ao,{...r,scrollParentRef:o,frozenCount:r!=null&&r.enableFreezeColumns?i:0,onFrozenCountChange:r!=null&&r.enableFreezeColumns?l:void 0}):null}),f&&e.jsx(lo,{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 ui(t){return u.memo(t)}const xi=ui(di),bn=200,ur="1px solid var(--sa-border-subtle, #0b120e24)",hi=({sortDir:t,frozen:r})=>t==="asc"?e.jsx(L.Icon,{name:"ChevronSmallUp"}):t==="desc"?e.jsx(L.Icon,{name:"ChevronSmallDown"}):r?e.jsx(L.Icon,{name:"LockOn",size:"xs"}):e.jsx(L.Icon,{name:"Filter",size:"xs"}),Ft=({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(L.Icon,{name:t,size:"sm",style:{color:i,flexShrink:0}}),e.jsx(w.Text,{as:"span",style:{color:i},children:r})]})},uo=({active:t,canSort:r,canHide:n,sortDir:s,frozen:o,onSort:i,onClearSort:l,onToggleFreeze:c,onHide:a})=>{const[d,f]=u.useState(!1),g=u.useRef(null),m=u.useRef(null),[y,D]=u.useState({top:0,left:0});u.useEffect(()=>{if(d&&g.current){const E=g.current.getBoundingClientRect(),k=E.left+bn>window.innerWidth;D({top:E.bottom+6,...k?{right:window.innerWidth-E.right}:{left:E.left}})}},[d]),u.useEffect(()=>{if(!d)return;const E=k=>{m.current&&!m.current.contains(k.target)&&g.current&&!g.current.contains(k.target)&&f(!1)};return document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[d]);const j=E=>{E(),f(!1)};return e.jsxs(e.Fragment,{children:[e.jsx("button",{ref:g,type:"button",className:"sa-tl-menu-trigger","data-active":t||d?"true":"false",onClick:E=>{E.stopPropagation(),f(k=>!k)},title:"Column options",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:"var(--sa-radii-sm, 6px)",border:ur,background:"var(--sa-background-primary, #ffffff)",cursor:"pointer",color:"var(--sa-text-subtle, #8c8f97)",flexShrink:0},children:e.jsx(hi,{sortDir:s,frozen:o})}),d&&e.jsxs(h.Box,{ref:m,onClick:E=>E.stopPropagation(),style:{position:"fixed",top:`${y.top}px`,...y.left!==void 0?{left:`${y.left}px`}:{right:`${y.right}px`},minWidth:bn,backgroundColor:"var(--sa-background-primary, #ffffff)",border:ur,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(Ft,{icon:"ChevronUp",label:"Ascending",active:s==="asc",onClick:()=>j(()=>s==="asc"?l():i("asc"))}),e.jsx(Ft,{icon:"ChevronDown",label:"Descending",active:s==="desc",onClick:()=>j(()=>s==="desc"?l():i("desc"))}),e.jsx("div",{style:{borderTop:ur,margin:"4px 0"}})]}),e.jsx(Ft,{icon:"Pin1",label:o?"Unfreeze":"Freeze",active:o,onClick:()=>j(c)}),n&&e.jsx(Ft,{icon:"EyeClosed",label:"Hide column",danger:!0,onClick:()=>j(a)})]})]})},ft="1px solid var(--sa-border-subtle, #0b120e24)",fi="var(--sa-text-subtle, #8c8f97)",ot="var(--sa-background-neutral, #f0f1f2)",vn="2px 0 4px -2px var(--sa-border-subtle, #0b120e24)",mt=40,xr="var(--sa-background-brand-subtlest)",Et={display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},Cn="sa-table-layout-styles",mi=()=>{if(typeof document>"u"||document.getElementById(Cn))return;const t=document.createElement("style");t.id=Cn,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);
|