@snowpact/react-tanstack-query-table 1.1.1 → 1.1.2

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/README.md CHANGED
@@ -70,14 +70,14 @@ setupSnowTable({
70
70
  ### 2. Use a Client Table
71
71
 
72
72
  ```tsx
73
- import { SnowClientTable, SnowColumnConfig } from '@snowpact/react-tanstack-query-table';
73
+ import { SnowClientDataTable, SnowColumnConfig } from '@snowpact/react-tanstack-query-table';
74
74
  import { Edit, Trash } from 'lucide-react';
75
75
 
76
76
  type User = { id: string; name: string; email: string };
77
77
 
78
78
  const columns: SnowColumnConfig<User>[] = [{ key: 'name' }, { key: 'email' }];
79
79
 
80
- <SnowClientTable
80
+ <SnowClientDataTable
81
81
  queryKey={['users']}
82
82
  fetchAllItemsEndpoint={() => fetchUsers()}
83
83
  columnConfig={columns}
@@ -94,27 +94,27 @@ const columns: SnowColumnConfig<User>[] = [{ key: 'name' }, { key: 'email' }];
94
94
 
95
95
  | Mode | Component | Use case | Data handling |
96
96
  | ---------- | ----------------- | ------------- | ----------------------------------------------- |
97
- | **Client** | `SnowClientTable` | < 5,000 items | All data loaded, filtered/sorted locally |
98
- | **Server** | `SnowServerTable` | > 5,000 items | Paginated API, server handles filtering/sorting |
97
+ | **Client** | `SnowClientDataTable` | < 5,000 items | All data loaded, filtered/sorted locally |
98
+ | **Server** | `SnowServerDataTable` | > 5,000 items | Paginated API, server handles filtering/sorting |
99
99
 
100
- ### SnowClientTable
100
+ ### SnowClientDataTable
101
101
 
102
102
  Best for small to medium datasets. Fetches all data once via React Query, then handles pagination, search, and sorting entirely in the browser.
103
103
 
104
104
  ```tsx
105
- <SnowClientTable
105
+ <SnowClientDataTable
106
106
  queryKey={['users']}
107
107
  fetchAllItemsEndpoint={() => api.getUsers()} // Returns User[]
108
108
  columnConfig={columns}
109
109
  />
110
110
  ```
111
111
 
112
- ### SnowServerTable
112
+ ### SnowServerDataTable
113
113
 
114
114
  Best for large datasets. The server handles pagination, search, filtering, and sorting. Returns paginated results with a total count.
115
115
 
116
116
  ```tsx
117
- import { SnowServerTable, ServerFetchParams } from '@snowpact/react-tanstack-query-table';
117
+ import { SnowServerDataTable, ServerFetchParams } from '@snowpact/react-tanstack-query-table';
118
118
 
119
119
  const fetchUsers = async (params: ServerFetchParams) => {
120
120
  // params: { limit, offset, search?, sortBy?, sortOrder?, filters?, prefilter? }
@@ -125,7 +125,7 @@ const fetchUsers = async (params: ServerFetchParams) => {
125
125
  };
126
126
  };
127
127
 
128
- <SnowServerTable queryKey={['users']} fetchServerEndpoint={fetchUsers} columnConfig={columns} />;
128
+ <SnowServerDataTable queryKey={['users']} fetchServerEndpoint={fetchUsers} columnConfig={columns} />;
129
129
  ```
130
130
 
131
131
  ## Actions
@@ -252,7 +252,7 @@ actions={[
252
252
  Enable fuzzy search across all columns:
253
253
 
254
254
  ```tsx
255
- <SnowClientTable enableGlobalSearch texts={{ searchPlaceholder: 'Search users...' }} />
255
+ <SnowClientDataTable enableGlobalSearch texts={{ searchPlaceholder: 'Search users...' }} />
256
256
  ```
257
257
 
258
258
  For custom search values (computed columns):
@@ -273,7 +273,7 @@ const columns: SnowColumnConfig<User>[] = [
273
273
  Multi-select dropdown filters:
274
274
 
275
275
  ```tsx
276
- <SnowClientTable
276
+ <SnowClientDataTable
277
277
  filters={[
278
278
  {
279
279
  key: 'status',
@@ -300,7 +300,7 @@ Multi-select dropdown filters:
300
300
  Quick segmentation via tabs:
301
301
 
302
302
  ```tsx
303
- <SnowClientTable
303
+ <SnowClientDataTable
304
304
  prefilters={[
305
305
  { id: 'all', label: 'All' },
306
306
  { id: 'active', label: 'Active' },
@@ -322,7 +322,7 @@ For server mode, the `prefilter` value is sent to your endpoint.
322
322
  Users can show/hide columns via a settings button. Configuration is saved in cookies.
323
323
 
324
324
  ```tsx
325
- <SnowClientTable
325
+ <SnowClientDataTable
326
326
  enableColumnConfiguration
327
327
  columnConfig={[
328
328
  { key: 'name' }, // Always visible
@@ -337,7 +337,7 @@ Users can show/hide columns via a settings button. Configuration is saved in coo
337
337
  Persist table state (pagination, search, filters, sorting) in URL query params:
338
338
 
339
339
  ```tsx
340
- <SnowClientTable
340
+ <SnowClientDataTable
341
341
  persistState // State saved in URL
342
342
  />
343
343
  ```
@@ -368,13 +368,13 @@ URL params used:
368
368
  ### Sorting
369
369
 
370
370
  ```tsx
371
- <SnowClientTable enableSorting defaultSortBy="createdAt" defaultSortOrder="desc" />
371
+ <SnowClientDataTable enableSorting defaultSortBy="createdAt" defaultSortOrder="desc" />
372
372
  ```
373
373
 
374
374
  ### Pagination
375
375
 
376
376
  ```tsx
377
- <SnowClientTable
377
+ <SnowClientDataTable
378
378
  enablePagination
379
379
  defaultPageSize={25}
380
380
  displayTotalNumber // Show "X elements"
@@ -385,7 +385,7 @@ URL params used:
385
385
  ### Row Click
386
386
 
387
387
  ```tsx
388
- <SnowClientTable
388
+ <SnowClientDataTable
389
389
  onRowClick={item => navigate(`/users/${item.id}`)}
390
390
  activeRowId={selectedUserId} // Highlight active row
391
391
  />
@@ -426,7 +426,7 @@ setupSnowTable({
426
426
 
427
427
  ## API Reference
428
428
 
429
- ### SnowClientTable Props
429
+ ### SnowClientDataTable Props
430
430
 
431
431
  | Prop | Type | Default | Description |
432
432
  | --------------------------- | ----------------------- | -------- | ------------------------------- |
@@ -447,9 +447,9 @@ setupSnowTable({
447
447
  | `defaultSortBy` | `string` | - | Initial sort column |
448
448
  | `defaultSortOrder` | `'asc' \| 'desc'` | `'asc'` | Initial sort direction |
449
449
 
450
- ### SnowServerTable Props
450
+ ### SnowServerDataTable Props
451
451
 
452
- Same as `SnowClientTable`, except:
452
+ Same as `SnowClientDataTable`, except:
453
453
 
454
454
  | Prop | Type | Description |
455
455
  | --------------------- | -------------------------------------------------------------------- | ------------------------ |
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),Vt=require("@tanstack/react-query"),O=require("react"),Qo=require("react-dom"),Be=require("@tanstack/react-table");function er(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const p=er(O),Yt=er(Qo),ue=({children:e,...t})=>c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...t,children:e}),tr=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"M20 6 9 17l-5-5"})}),Vn=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"m6 9 6 6 6-6"})}),_i=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"m18 15-6-6-6 6"})}),Oi=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"m15 18-6-6 6-6"})}),ji=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"m9 18 6-6-6-6"})}),Di=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"m11 17-5-5 5-5"}),c.jsx("path",{d:"m18 17-5-5 5-5"})]}),ki=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"m6 17 5-5-5-5"}),c.jsx("path",{d:"m13 17 5-5-5-5"})]}),Li=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"m7 15 5 5 5-5"}),c.jsx("path",{d:"m7 9 5-5 5 5"})]}),Fi=e=>c.jsx(ue,{...e,children:c.jsx("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"})}),$i=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"M10 20v-6L3.6 5.2A2 2 0 0 1 5.17 2h13.66a2 2 0 0 1 1.57 3.2L14 12.9"}),c.jsx("path",{d:"m22 22-4-4"}),c.jsx("path",{d:"m18 22 4-4"})]}),Vi=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),Ui=e=>c.jsxs(ue,{...e,children:[c.jsx("circle",{cx:"12",cy:"12",r:"1"}),c.jsx("circle",{cx:"12",cy:"5",r:"1"}),c.jsx("circle",{cx:"12",cy:"19",r:"1"})]}),nr=e=>c.jsxs(ue,{...e,children:[c.jsx("circle",{cx:"11",cy:"11",r:"8"}),c.jsx("path",{d:"m21 21-4.3-4.3"})]}),Co=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),c.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),Bi=Vn;let or,rr;const Wi=(e,t)=>{or=e,rr=t},Hi=()=>or,Ki=()=>rr;let sr=()=>({confirm:async()=>!0});const Gi=e=>{sr=e},zi=()=>sr(),Yi=({to:e,children:t,className:n,target:o,rel:r,onMouseEnter:s,onMouseLeave:a})=>c.jsx("a",{href:e,className:n,target:o,rel:r,onMouseEnter:s,onMouseLeave:a,children:t});let ir=Yi;const Xi=e=>{ir=e},qi=()=>ir,Zi={state:{active:"ring-2 ring-ring/30",activeText:"text-foreground",focus:"focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2"},button:{visual:"border border-input bg-background rounded-md shadow-xs",hover:"hover:bg-accent hover:text-accent-foreground",disabled:"opacity-50",danger:"border-transparent bg-red-500 text-white shadow-xs hover:bg-red-600",warning:"border-transparent bg-amber-500 text-white shadow-xs hover:bg-amber-600",info:"border-transparent bg-blue-500 text-white shadow-xs hover:bg-blue-600",success:"border-transparent bg-green-500 text-white shadow-xs hover:bg-green-600"},input:"rounded-md border border-input bg-background focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",skeleton:"rounded-md bg-muted animate-pulse",dropdown:{content:"rounded-md border bg-popover text-popover-foreground shadow-md",item:"rounded-sm hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground",checkboxItem:"rounded-sm hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground",separator:"bg-muted"},select:{trigger:"rounded-md border border-input bg-background focus:ring-2 focus:ring-ring focus:ring-offset-2",content:"rounded-md border bg-popover text-popover-foreground shadow-md",item:"hover:bg-accent hover:text-accent-foreground",itemSelected:"bg-accent text-accent-foreground"},tabs:{list:"rounded-lg bg-muted",trigger:"rounded-md",triggerActive:"data-[state=active]:bg-background data-[state=active]:text-foreground"},table:{container:"rounded-lg border",header:"bg-muted",headerCell:"text-muted-foreground",row:"",rowHover:"hover:bg-accent/60",rowAlternate:"bg-muted/20",rowActive:"bg-accent/20",divider:"divide-y divide-border",empty:"text-muted-foreground",loadingOverlay:"bg-background/50"}};let Tn=JSON.parse(JSON.stringify(Zi));const Ji=(e,t)=>{const n=JSON.parse(JSON.stringify(e));for(const o in t){const r=t[o],s=e[o];typeof r=="object"&&r!==null&&typeof s=="object"?n[o]={...s,...r}:r!==void 0&&(n[o]=r)}return n},Qi=e=>{Tn=Ji(Tn,e)},re=()=>Tn;let ar=()=>({t:e=>e});const ea=e=>{ar=e},rt=()=>ar();let An=!1;const ta=e=>{An||(ea(e.useTranslation),Xi(e.LinkComponent),Gi(e.useConfirm),e.styles&&Qi(e.styles),(e.onActionHover||e.onActionUnhover)&&Wi(e.onActionHover,e.onActionUnhover),An=!0)},na=()=>An;function X(...e){const t=[],n=o=>{if(o){if(typeof o=="string")t.push(o);else if(Array.isArray(o))for(const r of o)n(r);else if(typeof o=="object")for(const[r,s]of Object.entries(o))s&&t.push(r)}};for(const o of e)n(o);return t.join(" ")}const pn=768;function oa(){const[e,t]=O.useState(void 0);return O.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const n=window.matchMedia(`(max-width: ${pn-1}px)`),o=()=>{t(window.innerWidth<pn)};return n.addEventListener("change",o),t(window.innerWidth<pn),()=>n.removeEventListener("change",o)},[]),!!e}const ra=e=>typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null||e===void 0,sa=e=>ra(e)?String(e):JSON.stringify(e,null,2),_t="dt_prefilter",Ot="dt_search",jt="dt_page",Dt="dt_pageSize",kt="dt_filters",lt="dt_sortBy",ut="dt_sortDesc",We=e=>{if(typeof window>"u")return null;try{return new URL(window.location.href).searchParams.get(e)}catch{return null}},ne=(e,t)=>{if(typeof window>"u"||new URL(window.location.href).searchParams.get(e)===t)return;const o=new URL(window.location.href);t?o.searchParams.set(e,t):o.searchParams.delete(e),window.history.replaceState(window.history.state,"",o.toString())},Un=({enabled:e,defaultPrefilter:t,defaultPageSize:n,defaultSortBy:o,defaultSortOrder:r="asc"})=>{const s=O.useRef(e),a=O.useRef(n),[i,d]=O.useState(()=>{if(e){const S=We(_t);if(S)return S}return t}),u=O.useCallback(S=>{d(S),s.current&&ne(_t,S??null)},[]),[f,l]=O.useState(()=>e?We(Ot)??"":""),h=O.useCallback(S=>{l(S),s.current&&ne(Ot,S||null)},[]),[g,x]=O.useState(()=>{if(e){const S=We(jt),M=We(Dt);return{pageIndex:S?parseInt(S,10)-1:0,pageSize:M?parseInt(M,10):n}}return{pageIndex:0,pageSize:n}}),m=O.useCallback(S=>{x(M=>{const P=typeof S=="function"?S(M):S;return s.current&&(M.pageIndex!==P.pageIndex||M.pageSize!==P.pageSize)&&(ne(jt,P.pageIndex>0?String(P.pageIndex+1):null),ne(Dt,P.pageSize!==a.current?String(P.pageSize):null)),P})},[]),[v,y]=O.useState(()=>{if(e){const S=We(kt);if(S)return ia(S)}return{}}),b=O.useCallback(S=>{if(y(S),s.current){const P=Object.keys(S).length>0?cr(S):null;ne(kt,P)}},[]),[w,C]=O.useState(()=>{if(e){const S=We(lt),M=We(ut);if(S)return[{id:S,desc:M==="true"}]}return o?[{id:o,desc:r==="desc"}]:[]}),R=O.useCallback(S=>{C(M=>{const P=typeof S=="function"?S(M):S;return s.current&&(P.length>0?(ne(lt,P[0].id),ne(ut,String(P[0].desc))):(ne(lt,null),ne(ut,null))),P})},[]),T=O.useMemo(()=>{const S=o?[{id:o,desc:r==="desc"}]:[];return f!==""||i!==t||Object.keys(v).length>0||w.length!==S.length||w.length>0&&S.length>0&&(w[0].id!==S[0].id||w[0].desc!==S[0].desc)},[f,i,t,v,w,o,r]),E=O.useCallback(()=>{s.current&&(ne(_t,null),ne(Ot,null),ne(jt,null),ne(Dt,null),ne(kt,null),ne(lt,null),ne(ut,null)),d(t),l(""),x({pageIndex:0,pageSize:a.current}),y({}),C(o?[{id:o,desc:r==="desc"}]:[])},[t,o,r]);return{activePrefilter:i,setActivePrefilter:u,globalFilter:f,setGlobalFilter:h,pagination:g,setPagination:m,columnFilters:v,setColumnFilters:b,sorting:w,setSorting:R,resetToDefaults:E,hasActiveFilters:T}},cr=e=>{const t=[];for(const[n,o]of Object.entries(e)){const r=o.filter(s=>s!=="");!n||r.length===0||t.push(`${n}:${r.join(",")}`)}return t.join("|")},ia=e=>{if(!e)return{};const t={},n=e.split("|").map(o=>o.trim()).filter(Boolean);for(const o of n){const[r,s]=o.split(":");if(!r||!s)continue;const a=s.split(",").map(i=>i.trim()).filter(Boolean);a.length>0&&(t[r]=a)}return t},aa=(e,t)=>{const n=new URL(e,typeof window<"u"?window.location.origin:"http://localhost");if(t){if(t.prefilter&&n.searchParams.set(_t,t.prefilter),t.search&&n.searchParams.set(Ot,t.search),t.pagination){const{pageIndex:o,pageSize:r}=t.pagination;o>0&&n.searchParams.set(jt,String(o+1)),r&&n.searchParams.set(Dt,String(r))}if(t.filters&&Object.keys(t.filters).length>0){const o=cr(t.filters);n.searchParams.set(kt,o)}if(t.sorting&&t.sorting.length>0){const o=t.sorting[0];n.searchParams.set(lt,o.id),n.searchParams.set(ut,String(o.desc))}}return n.pathname+n.search};/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),Vt=require("@tanstack/react-query"),O=require("react"),Qo=require("react-dom"),Be=require("@tanstack/react-table");function er(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const p=er(O),Yt=er(Qo),ue=({children:e,...t})=>c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...t,children:e}),tr=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"M20 6 9 17l-5-5"})}),Vn=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"m6 9 6 6 6-6"})}),_i=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"m18 15-6-6-6 6"})}),Oi=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"m15 18-6-6 6-6"})}),ji=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"m9 18 6-6-6-6"})}),Di=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"m11 17-5-5 5-5"}),c.jsx("path",{d:"m18 17-5-5 5-5"})]}),ki=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"m6 17 5-5-5-5"}),c.jsx("path",{d:"m13 17 5-5-5-5"})]}),Li=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"m7 15 5 5 5-5"}),c.jsx("path",{d:"m7 9 5-5 5 5"})]}),Fi=e=>c.jsx(ue,{...e,children:c.jsx("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"})}),$i=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"M10 20v-6L3.6 5.2A2 2 0 0 1 5.17 2h13.66a2 2 0 0 1 1.57 3.2L14 12.9"}),c.jsx("path",{d:"m22 22-4-4"}),c.jsx("path",{d:"m18 22 4-4"})]}),Vi=e=>c.jsx(ue,{...e,children:c.jsx("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),Ui=e=>c.jsxs(ue,{...e,children:[c.jsx("circle",{cx:"12",cy:"12",r:"1"}),c.jsx("circle",{cx:"12",cy:"5",r:"1"}),c.jsx("circle",{cx:"12",cy:"19",r:"1"})]}),nr=e=>c.jsxs(ue,{...e,children:[c.jsx("circle",{cx:"11",cy:"11",r:"8"}),c.jsx("path",{d:"m21 21-4.3-4.3"})]}),Co=e=>c.jsxs(ue,{...e,children:[c.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),c.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),Bi=Vn;let or,rr;const Wi=(e,t)=>{or=e,rr=t},Hi=()=>or,Ki=()=>rr;let sr=()=>({confirm:async()=>!0});const Gi=e=>{sr=e},zi=()=>sr(),Yi=({to:e,children:t,className:n,target:o,rel:r,onMouseEnter:s,onMouseLeave:a})=>c.jsx("a",{href:e,className:n,target:o,rel:r,onMouseEnter:s,onMouseLeave:a,children:t});let ir=Yi;const Xi=e=>{ir=e},qi=()=>ir,Zi={state:{active:"ring-2 ring-ring/30",activeText:"text-foreground",focus:"focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2"},button:{visual:"border border-input bg-background rounded-md shadow-xs",hover:"hover:bg-accent hover:text-accent-foreground",disabled:"opacity-50",danger:"border-transparent bg-red-500 text-white shadow-xs hover:bg-red-600",warning:"border-transparent bg-amber-500 text-white shadow-xs hover:bg-amber-600",info:"border-transparent bg-blue-500 text-white shadow-xs hover:bg-blue-600",success:"border-transparent bg-green-500 text-white shadow-xs hover:bg-green-600"},input:"rounded-md border border-input bg-background focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",skeleton:"rounded-md bg-muted animate-pulse",dropdown:{content:"rounded-md border bg-popover text-popover-foreground shadow-md",item:"rounded-sm hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground",checkboxItem:"rounded-sm hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground",separator:"bg-muted"},select:{trigger:"rounded-md border border-input bg-background focus:ring-2 focus:ring-ring focus:ring-offset-2",content:"rounded-md border bg-popover text-popover-foreground shadow-md",item:"hover:bg-accent hover:text-accent-foreground",itemSelected:"bg-accent text-accent-foreground"},tabs:{list:"rounded-lg bg-muted",trigger:"rounded-md",triggerActive:"data-[state=active]:bg-background data-[state=active]:text-foreground"},table:{root:"w-full",container:"rounded-lg border",header:"bg-muted",headerCell:"text-muted-foreground",row:"",rowHover:"hover:bg-accent/60",rowAlternate:"bg-muted/20",rowActive:"bg-accent/20",divider:"divide-y divide-border",empty:"text-muted-foreground",loadingOverlay:"bg-background/50"}};let Tn=JSON.parse(JSON.stringify(Zi));const Ji=(e,t)=>{const n=JSON.parse(JSON.stringify(e));for(const o in t){const r=t[o],s=e[o];typeof r=="object"&&r!==null&&typeof s=="object"?n[o]={...s,...r}:r!==void 0&&(n[o]=r)}return n},Qi=e=>{Tn=Ji(Tn,e)},re=()=>Tn;let ar=()=>({t:e=>e});const ea=e=>{ar=e},rt=()=>ar();let An=!1;const ta=e=>{An||(ea(e.useTranslation),Xi(e.LinkComponent),Gi(e.useConfirm),e.styles&&Qi(e.styles),(e.onActionHover||e.onActionUnhover)&&Wi(e.onActionHover,e.onActionUnhover),An=!0)},na=()=>An;function X(...e){const t=[],n=o=>{if(o){if(typeof o=="string")t.push(o);else if(Array.isArray(o))for(const r of o)n(r);else if(typeof o=="object")for(const[r,s]of Object.entries(o))s&&t.push(r)}};for(const o of e)n(o);return t.join(" ")}const pn=768;function oa(){const[e,t]=O.useState(void 0);return O.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const n=window.matchMedia(`(max-width: ${pn-1}px)`),o=()=>{t(window.innerWidth<pn)};return n.addEventListener("change",o),t(window.innerWidth<pn),()=>n.removeEventListener("change",o)},[]),!!e}const ra=e=>typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null||e===void 0,sa=e=>ra(e)?String(e):JSON.stringify(e,null,2),_t="dt_prefilter",Ot="dt_search",jt="dt_page",Dt="dt_pageSize",kt="dt_filters",lt="dt_sortBy",ut="dt_sortDesc",We=e=>{if(typeof window>"u")return null;try{return new URL(window.location.href).searchParams.get(e)}catch{return null}},ne=(e,t)=>{if(typeof window>"u"||new URL(window.location.href).searchParams.get(e)===t)return;const o=new URL(window.location.href);t?o.searchParams.set(e,t):o.searchParams.delete(e),window.history.replaceState(window.history.state,"",o.toString())},Un=({enabled:e,defaultPrefilter:t,defaultPageSize:n,defaultSortBy:o,defaultSortOrder:r="asc"})=>{const s=O.useRef(e),a=O.useRef(n),[i,d]=O.useState(()=>{if(e){const S=We(_t);if(S)return S}return t}),u=O.useCallback(S=>{d(S),s.current&&ne(_t,S??null)},[]),[f,l]=O.useState(()=>e?We(Ot)??"":""),h=O.useCallback(S=>{l(S),s.current&&ne(Ot,S||null)},[]),[g,x]=O.useState(()=>{if(e){const S=We(jt),M=We(Dt);return{pageIndex:S?parseInt(S,10)-1:0,pageSize:M?parseInt(M,10):n}}return{pageIndex:0,pageSize:n}}),m=O.useCallback(S=>{x(M=>{const P=typeof S=="function"?S(M):S;return s.current&&(M.pageIndex!==P.pageIndex||M.pageSize!==P.pageSize)&&(ne(jt,P.pageIndex>0?String(P.pageIndex+1):null),ne(Dt,P.pageSize!==a.current?String(P.pageSize):null)),P})},[]),[v,y]=O.useState(()=>{if(e){const S=We(kt);if(S)return ia(S)}return{}}),b=O.useCallback(S=>{if(y(S),s.current){const P=Object.keys(S).length>0?cr(S):null;ne(kt,P)}},[]),[w,C]=O.useState(()=>{if(e){const S=We(lt),M=We(ut);if(S)return[{id:S,desc:M==="true"}]}return o?[{id:o,desc:r==="desc"}]:[]}),R=O.useCallback(S=>{C(M=>{const P=typeof S=="function"?S(M):S;return s.current&&(P.length>0?(ne(lt,P[0].id),ne(ut,String(P[0].desc))):(ne(lt,null),ne(ut,null))),P})},[]),T=O.useMemo(()=>{const S=o?[{id:o,desc:r==="desc"}]:[];return f!==""||i!==t||Object.keys(v).length>0||w.length!==S.length||w.length>0&&S.length>0&&(w[0].id!==S[0].id||w[0].desc!==S[0].desc)},[f,i,t,v,w,o,r]),E=O.useCallback(()=>{s.current&&(ne(_t,null),ne(Ot,null),ne(jt,null),ne(Dt,null),ne(kt,null),ne(lt,null),ne(ut,null)),d(t),l(""),x({pageIndex:0,pageSize:a.current}),y({}),C(o?[{id:o,desc:r==="desc"}]:[])},[t,o,r]);return{activePrefilter:i,setActivePrefilter:u,globalFilter:f,setGlobalFilter:h,pagination:g,setPagination:m,columnFilters:v,setColumnFilters:b,sorting:w,setSorting:R,resetToDefaults:E,hasActiveFilters:T}},cr=e=>{const t=[];for(const[n,o]of Object.entries(e)){const r=o.filter(s=>s!=="");!n||r.length===0||t.push(`${n}:${r.join(",")}`)}return t.join("|")},ia=e=>{if(!e)return{};const t={},n=e.split("|").map(o=>o.trim()).filter(Boolean);for(const o of n){const[r,s]=o.split(":");if(!r||!s)continue;const a=s.split(",").map(i=>i.trim()).filter(Boolean);a.length>0&&(t[r]=a)}return t},aa=(e,t)=>{const n=new URL(e,typeof window<"u"?window.location.origin:"http://localhost");if(t){if(t.prefilter&&n.searchParams.set(_t,t.prefilter),t.search&&n.searchParams.set(Ot,t.search),t.pagination){const{pageIndex:o,pageSize:r}=t.pagination;o>0&&n.searchParams.set(jt,String(o+1)),r&&n.searchParams.set(Dt,String(r))}if(t.filters&&Object.keys(t.filters).length>0){const o=cr(t.filters);n.searchParams.set(kt,o)}if(t.sorting&&t.sorting.length>0){const o=t.sorting[0];n.searchParams.set(lt,o.id),n.searchParams.set(ut,String(o.desc))}}return n.pathname+n.search};/**
2
2
  * match-sorter-utils
3
3
  *
4
4
  * Copyright (c) TanStack
@@ -53,5 +53,5 @@
53
53
  `)},zo=function(){var e=parseInt(document.body.getAttribute(nt)||"0",10);return isFinite(e)?e:0},Ql=function(){p.useEffect(function(){return document.body.setAttribute(nt,(zo()+1).toString()),function(){var e=zo()-1;e<=0?document.body.removeAttribute(nt):document.body.setAttribute(nt,e.toString())}},[])},eu=function(e){var t=e.noRelative,n=e.noImportant,o=e.gapMode,r=o===void 0?"margin":o;Ql();var s=p.useMemo(function(){return ql(r)},[r]);return p.createElement(Zl,{styles:Jl(s,!t,r,n?"":"!important")})},On=!1;if(typeof window<"u")try{var It=Object.defineProperty({},"passive",{get:function(){return On=!0,!0}});window.addEventListener("test",It,It),window.removeEventListener("test",It,It)}catch{On=!1}var Qe=On?{passive:!1}:!1,tu=function(e){return e.tagName==="TEXTAREA"},es=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!tu(e)&&n[t]==="visible")},nu=function(e){return es(e,"overflowY")},ou=function(e){return es(e,"overflowX")},Yo=function(e,t){var n=t.ownerDocument,o=t;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=ts(e,o);if(r){var s=ns(e,o),a=s[1],i=s[2];if(a>i)return!0}o=o.parentNode}while(o&&o!==n.body);return!1},ru=function(e){var t=e.scrollTop,n=e.scrollHeight,o=e.clientHeight;return[t,n,o]},su=function(e){var t=e.scrollLeft,n=e.scrollWidth,o=e.clientWidth;return[t,n,o]},ts=function(e,t){return e==="v"?nu(t):ou(t)},ns=function(e,t){return e==="v"?ru(t):su(t)},iu=function(e,t){return e==="h"&&t==="rtl"?-1:1},au=function(e,t,n,o,r){var s=iu(e,window.getComputedStyle(t).direction),a=s*o,i=n.target,d=t.contains(i),u=!1,f=a>0,l=0,h=0;do{if(!i)break;var g=ns(e,i),x=g[0],m=g[1],v=g[2],y=m-v-s*x;(x||y)&&ts(e,i)&&(l+=y,h+=x);var b=i.parentNode;i=b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}while(!d&&i!==document.body||d&&(t.contains(i)||t===i));return(f&&Math.abs(l)<1||!f&&Math.abs(h)<1)&&(u=!0),u},Nt=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Xo=function(e){return[e.deltaX,e.deltaY]},qo=function(e){return e&&"current"in e?e.current:e},cu=function(e,t){return e[0]===t[0]&&e[1]===t[1]},lu=function(e){return`
54
54
  .block-interactivity-`.concat(e,` {pointer-events: none;}
55
55
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
56
- `)},uu=0,et=[];function du(e){var t=p.useRef([]),n=p.useRef([0,0]),o=p.useRef(),r=p.useState(uu++)[0],s=p.useState(Qr)[0],a=p.useRef(e);p.useEffect(function(){a.current=e},[e]),p.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var m=_l([e.lockRef.current],(e.shards||[]).map(qo),!0).filter(Boolean);return m.forEach(function(v){return v.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),m.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var i=p.useCallback(function(m,v){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!a.current.allowPinchZoom;var y=Nt(m),b=n.current,w="deltaX"in m?m.deltaX:b[0]-y[0],C="deltaY"in m?m.deltaY:b[1]-y[1],R,T=m.target,E=Math.abs(w)>Math.abs(C)?"h":"v";if("touches"in m&&E==="h"&&T.type==="range")return!1;var S=window.getSelection(),M=S&&S.anchorNode,P=M?M===T||M.contains(T):!1;if(P)return!1;var L=Yo(E,T);if(!L)return!0;if(L?R=E:(R=E==="v"?"h":"v",L=Yo(E,T)),!L)return!1;if(!o.current&&"changedTouches"in m&&(w||C)&&(o.current=R),!R)return!0;var D=o.current||R;return au(D,v,m,D==="h"?w:C)},[]),d=p.useCallback(function(m){var v=m;if(!(!et.length||et[et.length-1]!==s)){var y="deltaY"in v?Xo(v):Nt(v),b=t.current.filter(function(R){return R.name===v.type&&(R.target===v.target||v.target===R.shadowParent)&&cu(R.delta,y)})[0];if(b&&b.should){v.cancelable&&v.preventDefault();return}if(!b){var w=(a.current.shards||[]).map(qo).filter(Boolean).filter(function(R){return R.contains(v.target)}),C=w.length>0?i(v,w[0]):!a.current.noIsolation;C&&v.cancelable&&v.preventDefault()}}},[]),u=p.useCallback(function(m,v,y,b){var w={name:m,delta:v,target:y,should:b,shadowParent:fu(y)};t.current.push(w),setTimeout(function(){t.current=t.current.filter(function(C){return C!==w})},1)},[]),f=p.useCallback(function(m){n.current=Nt(m),o.current=void 0},[]),l=p.useCallback(function(m){u(m.type,Xo(m),m.target,i(m,e.lockRef.current))},[]),h=p.useCallback(function(m){u(m.type,Nt(m),m.target,i(m,e.lockRef.current))},[]);p.useEffect(function(){return et.push(s),e.setCallbacks({onScrollCapture:l,onWheelCapture:l,onTouchMoveCapture:h}),document.addEventListener("wheel",d,Qe),document.addEventListener("touchmove",d,Qe),document.addEventListener("touchstart",f,Qe),function(){et=et.filter(function(m){return m!==s}),document.removeEventListener("wheel",d,Qe),document.removeEventListener("touchmove",d,Qe),document.removeEventListener("touchstart",f,Qe)}},[]);var g=e.removeScrollBar,x=e.inert;return p.createElement(p.Fragment,null,x?p.createElement(s,{styles:lu(r)}):null,g?p.createElement(eu,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function fu(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const pu=Ul(Jr,du);var eo=p.forwardRef(function(e,t){return p.createElement(on,Ce({},e,{ref:t,sideCar:pu}))});eo.classNames=on.classNames;var jn=["Enter"," "],mu=["ArrowDown","PageUp","Home"],os=["ArrowUp","PageDown","End"],hu=[...mu,...os],gu={ltr:[...jn,"ArrowRight"],rtl:[...jn,"ArrowLeft"]},vu={ltr:["ArrowLeft"],rtl:["ArrowRight"]},bt="Menu",[vt,xu,wu]=Bn(bt),[Xe,rs]=Ye(bt,[wu,tn,nn]),rn=tn(),ss=nn(),[yu,qe]=Xe(bt),[bu,Ct]=Xe(bt),is=e=>{const{__scopeMenu:t,open:n=!1,children:o,dir:r,onOpenChange:s,modal:a=!0}=e,i=rn(t),[d,u]=p.useState(null),f=p.useRef(!1),l=Ae(s),h=qt(r);return p.useEffect(()=>{const g=()=>{f.current=!0,document.addEventListener("pointerdown",x,{capture:!0,once:!0}),document.addEventListener("pointermove",x,{capture:!0,once:!0})},x=()=>f.current=!1;return document.addEventListener("keydown",g,{capture:!0}),()=>{document.removeEventListener("keydown",g,{capture:!0}),document.removeEventListener("pointerdown",x,{capture:!0}),document.removeEventListener("pointermove",x,{capture:!0})}},[]),c.jsx(Lr,{...i,children:c.jsx(yu,{scope:t,open:n,onOpenChange:l,content:d,onContentChange:u,children:c.jsx(bu,{scope:t,onClose:p.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:f,dir:h,modal:a,children:o})})})};is.displayName=bt;var Cu="MenuAnchor",to=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=rn(n);return c.jsx(Fr,{...r,...o,ref:t})});to.displayName=Cu;var no="MenuPortal",[Su,as]=Xe(no,{forceMount:void 0}),cs=e=>{const{__scopeMenu:t,forceMount:n,children:o,container:r}=e,s=qe(no,t);return c.jsx(Su,{scope:t,forceMount:n,children:c.jsx(at,{present:n||s.open,children:c.jsx(Qn,{asChild:!0,container:r,children:o})})})};cs.displayName=no;var ge="MenuContent",[Eu,oo]=Xe(ge),ls=p.forwardRef((e,t)=>{const n=as(ge,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=qe(ge,e.__scopeMenu),a=Ct(ge,e.__scopeMenu);return c.jsx(vt.Provider,{scope:e.__scopeMenu,children:c.jsx(at,{present:o||s.open,children:c.jsx(vt.Slot,{scope:e.__scopeMenu,children:a.modal?c.jsx(Ru,{...r,ref:t}):c.jsx(Tu,{...r,ref:t})})})})}),Ru=p.forwardRef((e,t)=>{const n=qe(ge,e.__scopeMenu),o=p.useRef(null),r=q(t,o);return p.useEffect(()=>{const s=o.current;if(s)return Xr(s)},[]),c.jsx(ro,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:I(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Tu=p.forwardRef((e,t)=>{const n=qe(ge,e.__scopeMenu);return c.jsx(ro,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Au=mt("MenuContent.ScrollLock"),ro=p.forwardRef((e,t)=>{const{__scopeMenu:n,loop:o=!1,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:i,onEntryFocus:d,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:l,onInteractOutside:h,onDismiss:g,disableOutsideScroll:x,...m}=e,v=qe(ge,n),y=Ct(ge,n),b=rn(n),w=ss(n),C=xu(n),[R,T]=p.useState(null),E=p.useRef(null),S=q(t,E,v.onContentChange),M=p.useRef(0),P=p.useRef(""),L=p.useRef(0),D=p.useRef(null),F=p.useRef("right"),$=p.useRef(0),G=x?eo:p.Fragment,j=x?{as:Au,allowPinchZoom:!0}:void 0,k=A=>{var _,U;const z=P.current+A,Z=C().filter(W=>!W.disabled),te=document.activeElement,ve=(_=Z.find(W=>W.ref.current===te))==null?void 0:_.textValue,ce=Z.map(W=>W.textValue),xe=$u(ce,z,ve),se=(U=Z.find(W=>W.textValue===xe))==null?void 0:U.ref.current;(function W(H){P.current=H,window.clearTimeout(M.current),H!==""&&(M.current=window.setTimeout(()=>W(""),1e3))})(z),se&&setTimeout(()=>se.focus())};p.useEffect(()=>()=>window.clearTimeout(M.current),[]),mr();const N=p.useCallback(A=>{var Z,te;return F.current===((Z=D.current)==null?void 0:Z.side)&&Uu(A,(te=D.current)==null?void 0:te.area)},[]);return c.jsx(Eu,{scope:n,searchRef:P,onItemEnter:p.useCallback(A=>{N(A)&&A.preventDefault()},[N]),onItemLeave:p.useCallback(A=>{var z;N(A)||((z=E.current)==null||z.focus(),T(null))},[N]),onTriggerLeave:p.useCallback(A=>{N(A)&&A.preventDefault()},[N]),pointerGraceTimerRef:L,onPointerGraceIntentChange:p.useCallback(A=>{D.current=A},[]),children:c.jsx(G,{...j,children:c.jsx(Hn,{asChild:!0,trapped:r,onMountAutoFocus:I(s,A=>{var z;A.preventDefault(),(z=E.current)==null||z.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:c.jsx(Wn,{asChild:!0,disableOutsidePointerEvents:i,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:l,onInteractOutside:h,onDismiss:g,children:c.jsx(Gr,{asChild:!0,...w,dir:y.dir,orientation:"vertical",loop:o,currentTabStopId:R,onCurrentTabStopIdChange:T,onEntryFocus:I(d,A=>{y.isUsingKeyboardRef.current||A.preventDefault()}),preventScrollOnEntryFocus:!0,children:c.jsx($r,{role:"menu","aria-orientation":"vertical","data-state":Rs(v.open),"data-radix-menu-content":"",dir:y.dir,...b,...m,ref:S,style:{outline:"none",...m.style},onKeyDown:I(m.onKeyDown,A=>{const Z=A.target.closest("[data-radix-menu-content]")===A.currentTarget,te=A.ctrlKey||A.altKey||A.metaKey,ve=A.key.length===1;Z&&(A.key==="Tab"&&A.preventDefault(),!te&&ve&&k(A.key));const ce=E.current;if(A.target!==ce||!hu.includes(A.key))return;A.preventDefault();const se=C().filter(_=>!_.disabled).map(_=>_.ref.current);os.includes(A.key)&&se.reverse(),Lu(se)}),onBlur:I(e.onBlur,A=>{A.currentTarget.contains(A.target)||(window.clearTimeout(M.current),P.current="")}),onPointerMove:I(e.onPointerMove,xt(A=>{const z=A.target,Z=$.current!==A.clientX;if(A.currentTarget.contains(z)&&Z){const te=A.clientX>$.current?"right":"left";F.current=te,$.current=A.clientX}}))})})})})})})});ls.displayName=ge;var Pu="MenuGroup",so=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return c.jsx(B.div,{role:"group",...o,ref:t})});so.displayName=Pu;var Mu="MenuLabel",us=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return c.jsx(B.div,{...o,ref:t})});us.displayName=Mu;var Kt="MenuItem",Zo="menu.itemSelect",sn=p.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:o,...r}=e,s=p.useRef(null),a=Ct(Kt,e.__scopeMenu),i=oo(Kt,e.__scopeMenu),d=q(t,s),u=p.useRef(!1),f=()=>{const l=s.current;if(!n&&l){const h=new CustomEvent(Zo,{bubbles:!0,cancelable:!0});l.addEventListener(Zo,g=>o==null?void 0:o(g),{once:!0}),dr(l,h),h.defaultPrevented?u.current=!1:a.onClose()}};return c.jsx(ds,{...r,ref:d,disabled:n,onClick:I(e.onClick,f),onPointerDown:l=>{var h;(h=e.onPointerDown)==null||h.call(e,l),u.current=!0},onPointerUp:I(e.onPointerUp,l=>{var h;u.current||(h=l.currentTarget)==null||h.click()}),onKeyDown:I(e.onKeyDown,l=>{const h=i.searchRef.current!=="";n||h&&l.key===" "||jn.includes(l.key)&&(l.currentTarget.click(),l.preventDefault())})})});sn.displayName=Kt;var ds=p.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:o=!1,textValue:r,...s}=e,a=oo(Kt,n),i=ss(n),d=p.useRef(null),u=q(t,d),[f,l]=p.useState(!1),[h,g]=p.useState("");return p.useEffect(()=>{const x=d.current;x&&g((x.textContent??"").trim())},[s.children]),c.jsx(vt.ItemSlot,{scope:n,disabled:o,textValue:r??h,children:c.jsx(zr,{asChild:!0,...i,focusable:!o,children:c.jsx(B.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...s,ref:u,onPointerMove:I(e.onPointerMove,xt(x=>{o?a.onItemLeave(x):(a.onItemEnter(x),x.defaultPrevented||x.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:I(e.onPointerLeave,xt(x=>a.onItemLeave(x))),onFocus:I(e.onFocus,()=>l(!0)),onBlur:I(e.onBlur,()=>l(!1))})})})}),Iu="MenuCheckboxItem",fs=p.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:o,...r}=e;return c.jsx(vs,{scope:e.__scopeMenu,checked:n,children:c.jsx(sn,{role:"menuitemcheckbox","aria-checked":Gt(n)?"mixed":n,...r,ref:t,"data-state":ao(n),onSelect:I(r.onSelect,()=>o==null?void 0:o(Gt(n)?!0:!n),{checkForDefaultPrevented:!1})})})});fs.displayName=Iu;var ps="MenuRadioGroup",[Nu,_u]=Xe(ps,{value:void 0,onValueChange:()=>{}}),ms=p.forwardRef((e,t)=>{const{value:n,onValueChange:o,...r}=e,s=Ae(o);return c.jsx(Nu,{scope:e.__scopeMenu,value:n,onValueChange:s,children:c.jsx(so,{...r,ref:t})})});ms.displayName=ps;var hs="MenuRadioItem",gs=p.forwardRef((e,t)=>{const{value:n,...o}=e,r=_u(hs,e.__scopeMenu),s=n===r.value;return c.jsx(vs,{scope:e.__scopeMenu,checked:s,children:c.jsx(sn,{role:"menuitemradio","aria-checked":s,...o,ref:t,"data-state":ao(s),onSelect:I(o.onSelect,()=>{var a;return(a=r.onValueChange)==null?void 0:a.call(r,n)},{checkForDefaultPrevented:!1})})})});gs.displayName=hs;var io="MenuItemIndicator",[vs,Ou]=Xe(io,{checked:!1}),xs=p.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:o,...r}=e,s=Ou(io,n);return c.jsx(at,{present:o||Gt(s.checked)||s.checked===!0,children:c.jsx(B.span,{...r,ref:t,"data-state":ao(s.checked)})})});xs.displayName=io;var ju="MenuSeparator",ws=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return c.jsx(B.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})});ws.displayName=ju;var Du="MenuArrow",ys=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=rn(n);return c.jsx(Vr,{...r,...o,ref:t})});ys.displayName=Du;var ku="MenuSub",[Jf,bs]=Xe(ku),dt="MenuSubTrigger",Cs=p.forwardRef((e,t)=>{const n=qe(dt,e.__scopeMenu),o=Ct(dt,e.__scopeMenu),r=bs(dt,e.__scopeMenu),s=oo(dt,e.__scopeMenu),a=p.useRef(null),{pointerGraceTimerRef:i,onPointerGraceIntentChange:d}=s,u={__scopeMenu:e.__scopeMenu},f=p.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return p.useEffect(()=>f,[f]),p.useEffect(()=>{const l=i.current;return()=>{window.clearTimeout(l),d(null)}},[i,d]),c.jsx(to,{asChild:!0,...u,children:c.jsx(ds,{id:r.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":r.contentId,"data-state":Rs(n.open),...e,ref:Xt(t,r.onTriggerChange),onClick:l=>{var h;(h=e.onClick)==null||h.call(e,l),!(e.disabled||l.defaultPrevented)&&(l.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:I(e.onPointerMove,xt(l=>{s.onItemEnter(l),!l.defaultPrevented&&!e.disabled&&!n.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:I(e.onPointerLeave,xt(l=>{var g,x;f();const h=(g=n.content)==null?void 0:g.getBoundingClientRect();if(h){const m=(x=n.content)==null?void 0:x.dataset.side,v=m==="right",y=v?-5:5,b=h[v?"left":"right"],w=h[v?"right":"left"];s.onPointerGraceIntentChange({area:[{x:l.clientX+y,y:l.clientY},{x:b,y:h.top},{x:w,y:h.top},{x:w,y:h.bottom},{x:b,y:h.bottom}],side:m}),window.clearTimeout(i.current),i.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(l),l.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:I(e.onKeyDown,l=>{var g;const h=s.searchRef.current!=="";e.disabled||h&&l.key===" "||gu[o.dir].includes(l.key)&&(n.onOpenChange(!0),(g=n.content)==null||g.focus(),l.preventDefault())})})})});Cs.displayName=dt;var Ss="MenuSubContent",Es=p.forwardRef((e,t)=>{const n=as(ge,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=qe(ge,e.__scopeMenu),a=Ct(ge,e.__scopeMenu),i=bs(Ss,e.__scopeMenu),d=p.useRef(null),u=q(t,d);return c.jsx(vt.Provider,{scope:e.__scopeMenu,children:c.jsx(at,{present:o||s.open,children:c.jsx(vt.Slot,{scope:e.__scopeMenu,children:c.jsx(ro,{id:i.contentId,"aria-labelledby":i.triggerId,...r,ref:u,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:f=>{var l;a.isUsingKeyboardRef.current&&((l=d.current)==null||l.focus()),f.preventDefault()},onCloseAutoFocus:f=>f.preventDefault(),onFocusOutside:I(e.onFocusOutside,f=>{f.target!==i.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:I(e.onEscapeKeyDown,f=>{a.onClose(),f.preventDefault()}),onKeyDown:I(e.onKeyDown,f=>{var g;const l=f.currentTarget.contains(f.target),h=vu[a.dir].includes(f.key);l&&h&&(s.onOpenChange(!1),(g=i.trigger)==null||g.focus(),f.preventDefault())})})})})})});Es.displayName=Ss;function Rs(e){return e?"open":"closed"}function Gt(e){return e==="indeterminate"}function ao(e){return Gt(e)?"indeterminate":e?"checked":"unchecked"}function Lu(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Fu(e,t){return e.map((n,o)=>e[(t+o)%e.length])}function $u(e,t,n){const r=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let a=Fu(e,Math.max(s,0));r.length===1&&(a=a.filter(u=>u!==n));const d=a.find(u=>u.toLowerCase().startsWith(r.toLowerCase()));return d!==n?d:void 0}function Vu(e,t){const{x:n,y:o}=e;let r=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const i=t[s],d=t[a],u=i.x,f=i.y,l=d.x,h=d.y;f>o!=h>o&&n<(l-u)*(o-f)/(h-f)+u&&(r=!r)}return r}function Uu(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return Vu(n,t)}function xt(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Bu=is,Wu=to,Hu=cs,Ku=ls,Gu=so,zu=us,Yu=sn,Xu=fs,qu=ms,Zu=gs,Ju=xs,Qu=ws,ed=ys,td=Cs,nd=Es,an="DropdownMenu",[od]=Ye(an,[rs]),ae=rs(),[rd,Ts]=od(an),As=e=>{const{__scopeDropdownMenu:t,children:n,dir:o,open:r,defaultOpen:s,onOpenChange:a,modal:i=!0}=e,d=ae(t),u=p.useRef(null),[f,l]=pt({prop:r,defaultProp:s??!1,onChange:a,caller:an});return c.jsx(rd,{scope:t,triggerId:He(),triggerRef:u,contentId:He(),open:f,onOpenChange:l,onOpenToggle:p.useCallback(()=>l(h=>!h),[l]),modal:i,children:c.jsx(Bu,{...d,open:f,onOpenChange:l,dir:o,modal:i,children:n})})};As.displayName=an;var Ps="DropdownMenuTrigger",Ms=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:o=!1,...r}=e,s=Ts(Ps,n),a=ae(n);return c.jsx(Wu,{asChild:!0,...a,children:c.jsx(B.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...r,ref:Xt(t,s.triggerRef),onPointerDown:I(e.onPointerDown,i=>{!o&&i.button===0&&i.ctrlKey===!1&&(s.onOpenToggle(),s.open||i.preventDefault())}),onKeyDown:I(e.onKeyDown,i=>{o||(["Enter"," "].includes(i.key)&&s.onOpenToggle(),i.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(i.key)&&i.preventDefault())})})})});Ms.displayName=Ps;var sd="DropdownMenuPortal",Is=e=>{const{__scopeDropdownMenu:t,...n}=e,o=ae(t);return c.jsx(Hu,{...o,...n})};Is.displayName=sd;var Ns="DropdownMenuContent",_s=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Ts(Ns,n),s=ae(n),a=p.useRef(!1);return c.jsx(Ku,{id:r.contentId,"aria-labelledby":r.triggerId,...s,...o,ref:t,onCloseAutoFocus:I(e.onCloseAutoFocus,i=>{var d;a.current||(d=r.triggerRef.current)==null||d.focus(),a.current=!1,i.preventDefault()}),onInteractOutside:I(e.onInteractOutside,i=>{const d=i.detail.originalEvent,u=d.button===0&&d.ctrlKey===!0,f=d.button===2||u;(!r.modal||f)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});_s.displayName=Ns;var id="DropdownMenuGroup",ad=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Gu,{...r,...o,ref:t})});ad.displayName=id;var cd="DropdownMenuLabel",ld=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(zu,{...r,...o,ref:t})});ld.displayName=cd;var ud="DropdownMenuItem",Os=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Yu,{...r,...o,ref:t})});Os.displayName=ud;var dd="DropdownMenuCheckboxItem",js=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Xu,{...r,...o,ref:t})});js.displayName=dd;var fd="DropdownMenuRadioGroup",pd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(qu,{...r,...o,ref:t})});pd.displayName=fd;var md="DropdownMenuRadioItem",hd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Zu,{...r,...o,ref:t})});hd.displayName=md;var gd="DropdownMenuItemIndicator",Ds=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Ju,{...r,...o,ref:t})});Ds.displayName=gd;var vd="DropdownMenuSeparator",ks=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Qu,{...r,...o,ref:t})});ks.displayName=vd;var xd="DropdownMenuArrow",wd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(ed,{...r,...o,ref:t})});wd.displayName=xd;var yd="DropdownMenuSubTrigger",bd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(td,{...r,...o,ref:t})});bd.displayName=yd;var Cd="DropdownMenuSubContent",Sd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(nd,{...r,...o,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Sd.displayName=Cd;var Ed=As,Rd=Ms,Td=Is,Ad=_s,Pd=Os,Md=js,Id=Ds,Nd=ks;const _d="z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-x-hidden overflow-y-auto p-1 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",Od='relative flex cursor-default select-none items-center gap-2 px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*="size-"])]:size-4',jd='relative flex cursor-default select-none items-center gap-2 py-1.5 pr-2 pl-8 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*="size-"])]:size-4',Dd="-mx-1 my-1 h-px";function kd({children:e}){return c.jsx(Ed,{children:e})}function Ld({asChild:e,children:t}){return c.jsx(Rd,{asChild:e,children:t})}function Fd({align:e="end",sideOffset:t=4,className:n,children:o}){const r=re();return c.jsx(Td,{children:c.jsx(Ad,{align:e,sideOffset:t,className:X(_d,r.dropdown.content,n),children:o})})}function $d({onClick:e,disabled:t,className:n,asChild:o,children:r}){const s=re();return c.jsx(Pd,{onClick:e,disabled:t,asChild:o,className:X(Od,s.dropdown.item,n),children:r})}function Vd({checked:e,onCheckedChange:t,className:n,children:o}){const r=re();return c.jsxs(Md,{checked:e,onCheckedChange:t,className:X(jd,r.dropdown.checkboxItem,n),children:[c.jsx("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:c.jsx(Id,{children:c.jsx(tr,{className:"size-4"})})}),o]})}function Ud(){const e=re();return c.jsx(Nd,{className:X(Dd,e.dropdown.separator)})}const ee={Root:kd,Trigger:Ld,Content:Fd,Item:$d,CheckboxItem:Vd,Separator:Ud};function Ls({table:e}){const{t}=rt(),n=O.useRef(ya()),o=O.useMemo(()=>e.getAllColumns().filter(i=>{const d=i.columnDef.header;return!(!d||typeof d=="string"&&d.trim()===""||i.columnDef.enableHiding===!1)}),[e]),r=()=>{o.forEach(i=>{var f;const u=!((f=i.columnDef.meta)==null?void 0:f.defaultHidden);i.toggleVisibility(u)})};O.useEffect(()=>{const i=xa(n.current);let d=!1;i?(Object.entries(i).forEach(([u,f])=>{const l=e.getColumn(u);l?l.toggleVisibility(f):d=!0}),d&&wa(n.current)):r()},[n.current,e,o]);const s=(i,d)=>{const u=e.getColumn(i);if(u){u.toggleVisibility(d);const f={...e.getState().columnVisibility,[i]:d};To(n.current,f)}},a=()=>{r();const i={};o.forEach(d=>{var f;const u=(f=d.columnDef.meta)==null?void 0:f.defaultHidden;i[d.id]=!u}),To(n.current,i)};return c.jsxs(ee.Root,{children:[c.jsx(ee.Trigger,{asChild:!0,children:c.jsx(Ee,{children:c.jsx(Co,{className:"h-4 w-4"})})}),c.jsxs(ee.Content,{align:"end",className:"w-56",children:[c.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 text-sm font-semibold",children:[c.jsx(Co,{className:"h-4 w-4"}),t("dataTable.columnsConfiguration")]}),c.jsx(ee.Separator,{}),c.jsx("div",{className:"max-h-64 overflow-y-auto",children:o.map(i=>{const d=i.getIsVisible(),u=i.columnDef.header;let f="";return typeof u=="string"?f=u:f=i.id,c.jsx(ee.CheckboxItem,{checked:d,onCheckedChange:l=>s(i.id,l),children:f},i.id)})}),c.jsx(ee.Separator,{}),c.jsx(ee.Item,{onClick:a,className:"text-xs cursor-pointer",children:t("dataTable.resetColumns")})]})]})}function Bd({className:e}){const t=re();return c.jsx("div",{className:X(t.skeleton,e)})}function Jo(e,[t,n]){return Math.min(n,Math.max(t,e))}function Wd(e){const t=p.useRef({value:e,previous:e});return p.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Fs=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Hd="VisuallyHidden",Kd=p.forwardRef((e,t)=>c.jsx(B.span,{...e,ref:t,style:{...Fs,...e.style}}));Kd.displayName=Hd;var Gd=[" ","Enter","ArrowUp","ArrowDown"],zd=[" ","Enter"],Ge="Select",[cn,ln,Yd]=Bn(Ge),[ct]=Ye(Ge,[Yd,tn]),un=tn(),[Xd,Le]=ct(Ge),[qd,Zd]=ct(Ge),$s=e=>{const{__scopeSelect:t,children:n,open:o,defaultOpen:r,onOpenChange:s,value:a,defaultValue:i,onValueChange:d,dir:u,name:f,autoComplete:l,disabled:h,required:g,form:x}=e,m=un(t),[v,y]=p.useState(null),[b,w]=p.useState(null),[C,R]=p.useState(!1),T=qt(u),[E,S]=pt({prop:o,defaultProp:r??!1,onChange:s,caller:Ge}),[M,P]=pt({prop:a,defaultProp:i,onChange:d,caller:Ge}),L=p.useRef(null),D=v?x||!!v.closest("form"):!0,[F,$]=p.useState(new Set),G=Array.from(F).map(j=>j.props.value).join(";");return c.jsx(Lr,{...m,children:c.jsxs(Xd,{required:g,scope:t,trigger:v,onTriggerChange:y,valueNode:b,onValueNodeChange:w,valueNodeHasChildren:C,onValueNodeHasChildrenChange:R,contentId:He(),value:M,onValueChange:P,open:E,onOpenChange:S,dir:T,triggerPointerDownPosRef:L,disabled:h,children:[c.jsx(cn.Provider,{scope:t,children:c.jsx(qd,{scope:e.__scopeSelect,onNativeOptionAdd:p.useCallback(j=>{$(k=>new Set(k).add(j))},[]),onNativeOptionRemove:p.useCallback(j=>{$(k=>{const N=new Set(k);return N.delete(j),N})},[]),children:n})}),D?c.jsxs(si,{"aria-hidden":!0,required:g,tabIndex:-1,name:f,autoComplete:l,value:M,onChange:j=>P(j.target.value),disabled:h,form:x,children:[M===void 0?c.jsx("option",{value:""}):null,Array.from(F)]},G):null]})})};$s.displayName=Ge;var Vs="SelectTrigger",Us=p.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:o=!1,...r}=e,s=un(n),a=Le(Vs,n),i=a.disabled||o,d=q(t,a.onTriggerChange),u=ln(n),f=p.useRef("touch"),[l,h,g]=ai(m=>{const v=u().filter(w=>!w.disabled),y=v.find(w=>w.value===a.value),b=ci(v,m,y);b!==void 0&&a.onValueChange(b.value)}),x=m=>{i||(a.onOpenChange(!0),g()),m&&(a.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return c.jsx(Fr,{asChild:!0,...s,children:c.jsx(B.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:i,"data-disabled":i?"":void 0,"data-placeholder":ii(a.value)?"":void 0,...r,ref:d,onClick:I(r.onClick,m=>{m.currentTarget.focus(),f.current!=="mouse"&&x(m)}),onPointerDown:I(r.onPointerDown,m=>{f.current=m.pointerType;const v=m.target;v.hasPointerCapture(m.pointerId)&&v.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(x(m),m.preventDefault())}),onKeyDown:I(r.onKeyDown,m=>{const v=l.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&h(m.key),!(v&&m.key===" ")&&Gd.includes(m.key)&&(x(),m.preventDefault())})})})});Us.displayName=Vs;var Bs="SelectValue",Ws=p.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:r,children:s,placeholder:a="",...i}=e,d=Le(Bs,n),{onValueNodeHasChildrenChange:u}=d,f=s!==void 0,l=q(t,d.onValueNodeChange);return oe(()=>{u(f)},[u,f]),c.jsx(B.span,{...i,ref:l,style:{pointerEvents:"none"},children:ii(d.value)?c.jsx(c.Fragment,{children:a}):s})});Ws.displayName=Bs;var Jd="SelectIcon",Hs=p.forwardRef((e,t)=>{const{__scopeSelect:n,children:o,...r}=e;return c.jsx(B.span,{"aria-hidden":!0,...r,ref:t,children:o||"▼"})});Hs.displayName=Jd;var Qd="SelectPortal",Ks=e=>c.jsx(Qn,{asChild:!0,...e});Ks.displayName=Qd;var ze="SelectContent",Gs=p.forwardRef((e,t)=>{const n=Le(ze,e.__scopeSelect),[o,r]=p.useState();if(oe(()=>{r(new DocumentFragment)},[]),!n.open){const s=o;return s?Yt.createPortal(c.jsx(zs,{scope:e.__scopeSelect,children:c.jsx(cn.Slot,{scope:e.__scopeSelect,children:c.jsx("div",{children:e.children})})}),s):null}return c.jsx(Ys,{...e,ref:t})});Gs.displayName=ze;var we=10,[zs,Fe]=ct(ze),ef="SelectContentImpl",tf=mt("SelectContent.RemoveScroll"),Ys=p.forwardRef((e,t)=>{const{__scopeSelect:n,position:o="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:s,onPointerDownOutside:a,side:i,sideOffset:d,align:u,alignOffset:f,arrowPadding:l,collisionBoundary:h,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:v,...y}=e,b=Le(ze,n),[w,C]=p.useState(null),[R,T]=p.useState(null),E=q(t,_=>C(_)),[S,M]=p.useState(null),[P,L]=p.useState(null),D=ln(n),[F,$]=p.useState(!1),G=p.useRef(!1);p.useEffect(()=>{if(w)return Xr(w)},[w]),mr();const j=p.useCallback(_=>{const[U,...W]=D().map(V=>V.ref.current),[H]=W.slice(-1),K=document.activeElement;for(const V of _)if(V===K||(V==null||V.scrollIntoView({block:"nearest"}),V===U&&R&&(R.scrollTop=0),V===H&&R&&(R.scrollTop=R.scrollHeight),V==null||V.focus(),document.activeElement!==K))return},[D,R]),k=p.useCallback(()=>j([S,w]),[j,S,w]);p.useEffect(()=>{F&&k()},[F,k]);const{onOpenChange:N,triggerPointerDownPosRef:A}=b;p.useEffect(()=>{if(w){let _={x:0,y:0};const U=H=>{var K,V;_={x:Math.abs(Math.round(H.pageX)-(((K=A.current)==null?void 0:K.x)??0)),y:Math.abs(Math.round(H.pageY)-(((V=A.current)==null?void 0:V.y)??0))}},W=H=>{_.x<=10&&_.y<=10?H.preventDefault():w.contains(H.target)||N(!1),document.removeEventListener("pointermove",U),A.current=null};return A.current!==null&&(document.addEventListener("pointermove",U),document.addEventListener("pointerup",W,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",U),document.removeEventListener("pointerup",W,{capture:!0})}}},[w,N,A]),p.useEffect(()=>{const _=()=>N(!1);return window.addEventListener("blur",_),window.addEventListener("resize",_),()=>{window.removeEventListener("blur",_),window.removeEventListener("resize",_)}},[N]);const[z,Z]=ai(_=>{const U=D().filter(K=>!K.disabled),W=U.find(K=>K.ref.current===document.activeElement),H=ci(U,_,W);H&&setTimeout(()=>H.ref.current.focus())}),te=p.useCallback((_,U,W)=>{const H=!G.current&&!W;(b.value!==void 0&&b.value===U||H)&&(M(_),H&&(G.current=!0))},[b.value]),ve=p.useCallback(()=>w==null?void 0:w.focus(),[w]),ce=p.useCallback((_,U,W)=>{const H=!G.current&&!W;(b.value!==void 0&&b.value===U||H)&&L(_)},[b.value]),xe=o==="popper"?Dn:Xs,se=xe===Dn?{side:i,sideOffset:d,align:u,alignOffset:f,arrowPadding:l,collisionBoundary:h,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:v}:{};return c.jsx(zs,{scope:n,content:w,viewport:R,onViewportChange:T,itemRefCallback:te,selectedItem:S,onItemLeave:ve,itemTextRefCallback:ce,focusSelectedItem:k,selectedItemText:P,position:o,isPositioned:F,searchRef:z,children:c.jsx(eo,{as:tf,allowPinchZoom:!0,children:c.jsx(Hn,{asChild:!0,trapped:b.open,onMountAutoFocus:_=>{_.preventDefault()},onUnmountAutoFocus:I(r,_=>{var U;(U=b.trigger)==null||U.focus({preventScroll:!0}),_.preventDefault()}),children:c.jsx(Wn,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:_=>_.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:c.jsx(xe,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:_=>_.preventDefault(),...y,...se,onPlaced:()=>$(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:I(y.onKeyDown,_=>{const U=_.ctrlKey||_.altKey||_.metaKey;if(_.key==="Tab"&&_.preventDefault(),!U&&_.key.length===1&&Z(_.key),["ArrowUp","ArrowDown","Home","End"].includes(_.key)){let H=D().filter(K=>!K.disabled).map(K=>K.ref.current);if(["ArrowUp","End"].includes(_.key)&&(H=H.slice().reverse()),["ArrowUp","ArrowDown"].includes(_.key)){const K=_.target,V=H.indexOf(K);H=H.slice(V+1)}setTimeout(()=>j(H)),_.preventDefault()}})})})})})})});Ys.displayName=ef;var nf="SelectItemAlignedPosition",Xs=p.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:o,...r}=e,s=Le(ze,n),a=Fe(ze,n),[i,d]=p.useState(null),[u,f]=p.useState(null),l=q(t,E=>f(E)),h=ln(n),g=p.useRef(!1),x=p.useRef(!0),{viewport:m,selectedItem:v,selectedItemText:y,focusSelectedItem:b}=a,w=p.useCallback(()=>{if(s.trigger&&s.valueNode&&i&&u&&m&&v&&y){const E=s.trigger.getBoundingClientRect(),S=u.getBoundingClientRect(),M=s.valueNode.getBoundingClientRect(),P=y.getBoundingClientRect();if(s.dir!=="rtl"){const K=P.left-S.left,V=M.left-K,ie=E.left-V,pe=E.width+ie,$e=Math.max(pe,S.width),Ve=window.innerWidth-we,Ue=Jo(V,[we,Math.max(we,Ve-$e)]);i.style.minWidth=pe+"px",i.style.left=Ue+"px"}else{const K=S.right-P.right,V=window.innerWidth-M.right-K,ie=window.innerWidth-E.right-V,pe=E.width+ie,$e=Math.max(pe,S.width),Ve=window.innerWidth-we,Ue=Jo(V,[we,Math.max(we,Ve-$e)]);i.style.minWidth=pe+"px",i.style.right=Ue+"px"}const L=h(),D=window.innerHeight-we*2,F=m.scrollHeight,$=window.getComputedStyle(u),G=parseInt($.borderTopWidth,10),j=parseInt($.paddingTop,10),k=parseInt($.borderBottomWidth,10),N=parseInt($.paddingBottom,10),A=G+j+F+N+k,z=Math.min(v.offsetHeight*5,A),Z=window.getComputedStyle(m),te=parseInt(Z.paddingTop,10),ve=parseInt(Z.paddingBottom,10),ce=E.top+E.height/2-we,xe=D-ce,se=v.offsetHeight/2,_=v.offsetTop+se,U=G+j+_,W=A-U;if(U<=ce){const K=L.length>0&&v===L[L.length-1].ref.current;i.style.bottom="0px";const V=u.clientHeight-m.offsetTop-m.offsetHeight,ie=Math.max(xe,se+(K?ve:0)+V+k),pe=U+ie;i.style.height=pe+"px"}else{const K=L.length>0&&v===L[0].ref.current;i.style.top="0px";const ie=Math.max(ce,G+m.offsetTop+(K?te:0)+se)+W;i.style.height=ie+"px",m.scrollTop=U-ce+m.offsetTop}i.style.margin=`${we}px 0`,i.style.minHeight=z+"px",i.style.maxHeight=D+"px",o==null||o(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,i,u,m,v,y,s.dir,o]);oe(()=>w(),[w]);const[C,R]=p.useState();oe(()=>{u&&R(window.getComputedStyle(u).zIndex)},[u]);const T=p.useCallback(E=>{E&&x.current===!0&&(w(),b==null||b(),x.current=!1)},[w,b]);return c.jsx(rf,{scope:n,contentWrapper:i,shouldExpandOnScrollRef:g,onScrollButtonChange:T,children:c.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:C},children:c.jsx(B.div,{...r,ref:l,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});Xs.displayName=nf;var of="SelectPopperPosition",Dn=p.forwardRef((e,t)=>{const{__scopeSelect:n,align:o="start",collisionPadding:r=we,...s}=e,a=un(n);return c.jsx($r,{...a,...s,ref:t,align:o,collisionPadding:r,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Dn.displayName=of;var[rf,co]=ct(ze,{}),kn="SelectViewport",qs=p.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:o,...r}=e,s=Fe(kn,n),a=co(kn,n),i=q(t,s.onViewportChange),d=p.useRef(0);return c.jsxs(c.Fragment,{children:[c.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),c.jsx(cn.Slot,{scope:n,children:c.jsx(B.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:i,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:I(r.onScroll,u=>{const f=u.currentTarget,{contentWrapper:l,shouldExpandOnScrollRef:h}=a;if(h!=null&&h.current&&l){const g=Math.abs(d.current-f.scrollTop);if(g>0){const x=window.innerHeight-we*2,m=parseFloat(l.style.minHeight),v=parseFloat(l.style.height),y=Math.max(m,v);if(y<x){const b=y+g,w=Math.min(x,b),C=b-w;l.style.height=w+"px",l.style.bottom==="0px"&&(f.scrollTop=C>0?C:0,l.style.justifyContent="flex-end")}}}d.current=f.scrollTop})})})]})});qs.displayName=kn;var Zs="SelectGroup",[sf,af]=ct(Zs),cf=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=He();return c.jsx(sf,{scope:n,id:r,children:c.jsx(B.div,{role:"group","aria-labelledby":r,...o,ref:t})})});cf.displayName=Zs;var Js="SelectLabel",lf=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=af(Js,n);return c.jsx(B.div,{id:r.id,...o,ref:t})});lf.displayName=Js;var zt="SelectItem",[uf,Qs]=ct(zt),ei=p.forwardRef((e,t)=>{const{__scopeSelect:n,value:o,disabled:r=!1,textValue:s,...a}=e,i=Le(zt,n),d=Fe(zt,n),u=i.value===o,[f,l]=p.useState(s??""),[h,g]=p.useState(!1),x=q(t,b=>{var w;return(w=d.itemRefCallback)==null?void 0:w.call(d,b,o,r)}),m=He(),v=p.useRef("touch"),y=()=>{r||(i.onValueChange(o),i.onOpenChange(!1))};if(o==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return c.jsx(uf,{scope:n,value:o,disabled:r,textId:m,isSelected:u,onItemTextChange:p.useCallback(b=>{l(w=>w||((b==null?void 0:b.textContent)??"").trim())},[]),children:c.jsx(cn.ItemSlot,{scope:n,value:o,disabled:r,textValue:f,children:c.jsx(B.div,{role:"option","aria-labelledby":m,"data-highlighted":h?"":void 0,"aria-selected":u&&h,"data-state":u?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...a,ref:x,onFocus:I(a.onFocus,()=>g(!0)),onBlur:I(a.onBlur,()=>g(!1)),onClick:I(a.onClick,()=>{v.current!=="mouse"&&y()}),onPointerUp:I(a.onPointerUp,()=>{v.current==="mouse"&&y()}),onPointerDown:I(a.onPointerDown,b=>{v.current=b.pointerType}),onPointerMove:I(a.onPointerMove,b=>{var w;v.current=b.pointerType,r?(w=d.onItemLeave)==null||w.call(d):v.current==="mouse"&&b.currentTarget.focus({preventScroll:!0})}),onPointerLeave:I(a.onPointerLeave,b=>{var w;b.currentTarget===document.activeElement&&((w=d.onItemLeave)==null||w.call(d))}),onKeyDown:I(a.onKeyDown,b=>{var C;((C=d.searchRef)==null?void 0:C.current)!==""&&b.key===" "||(zd.includes(b.key)&&y(),b.key===" "&&b.preventDefault())})})})})});ei.displayName=zt;var ft="SelectItemText",ti=p.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:r,...s}=e,a=Le(ft,n),i=Fe(ft,n),d=Qs(ft,n),u=Zd(ft,n),[f,l]=p.useState(null),h=q(t,y=>l(y),d.onItemTextChange,y=>{var b;return(b=i.itemTextRefCallback)==null?void 0:b.call(i,y,d.value,d.disabled)}),g=f==null?void 0:f.textContent,x=p.useMemo(()=>c.jsx("option",{value:d.value,disabled:d.disabled,children:g},d.value),[d.disabled,d.value,g]),{onNativeOptionAdd:m,onNativeOptionRemove:v}=u;return oe(()=>(m(x),()=>v(x)),[m,v,x]),c.jsxs(c.Fragment,{children:[c.jsx(B.span,{id:d.textId,...s,ref:h}),d.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Yt.createPortal(s.children,a.valueNode):null]})});ti.displayName=ft;var ni="SelectItemIndicator",oi=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return Qs(ni,n).isSelected?c.jsx(B.span,{"aria-hidden":!0,...o,ref:t}):null});oi.displayName=ni;var Ln="SelectScrollUpButton",df=p.forwardRef((e,t)=>{const n=Fe(Ln,e.__scopeSelect),o=co(Ln,e.__scopeSelect),[r,s]=p.useState(!1),a=q(t,o.onScrollButtonChange);return oe(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=d.scrollTop>0;s(u)};const d=n.viewport;return i(),d.addEventListener("scroll",i),()=>d.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),r?c.jsx(ri,{...e,ref:a,onAutoScroll:()=>{const{viewport:i,selectedItem:d}=n;i&&d&&(i.scrollTop=i.scrollTop-d.offsetHeight)}}):null});df.displayName=Ln;var Fn="SelectScrollDownButton",ff=p.forwardRef((e,t)=>{const n=Fe(Fn,e.__scopeSelect),o=co(Fn,e.__scopeSelect),[r,s]=p.useState(!1),a=q(t,o.onScrollButtonChange);return oe(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=d.scrollHeight-d.clientHeight,f=Math.ceil(d.scrollTop)<u;s(f)};const d=n.viewport;return i(),d.addEventListener("scroll",i),()=>d.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),r?c.jsx(ri,{...e,ref:a,onAutoScroll:()=>{const{viewport:i,selectedItem:d}=n;i&&d&&(i.scrollTop=i.scrollTop+d.offsetHeight)}}):null});ff.displayName=Fn;var ri=p.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:o,...r}=e,s=Fe("SelectScrollButton",n),a=p.useRef(null),i=ln(n),d=p.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return p.useEffect(()=>()=>d(),[d]),oe(()=>{var f;const u=i().find(l=>l.ref.current===document.activeElement);(f=u==null?void 0:u.ref.current)==null||f.scrollIntoView({block:"nearest"})},[i]),c.jsx(B.div,{"aria-hidden":!0,...r,ref:t,style:{flexShrink:0,...r.style},onPointerDown:I(r.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(o,50))}),onPointerMove:I(r.onPointerMove,()=>{var u;(u=s.onItemLeave)==null||u.call(s),a.current===null&&(a.current=window.setInterval(o,50))}),onPointerLeave:I(r.onPointerLeave,()=>{d()})})}),pf="SelectSeparator",mf=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return c.jsx(B.div,{"aria-hidden":!0,...o,ref:t})});mf.displayName=pf;var $n="SelectArrow",hf=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=un(n),s=Le($n,n),a=Fe($n,n);return s.open&&a.position==="popper"?c.jsx(Vr,{...r,...o,ref:t}):null});hf.displayName=$n;var gf="SelectBubbleInput",si=p.forwardRef(({__scopeSelect:e,value:t,...n},o)=>{const r=p.useRef(null),s=q(o,r),a=Wd(t);return p.useEffect(()=>{const i=r.current;if(!i)return;const d=window.HTMLSelectElement.prototype,f=Object.getOwnPropertyDescriptor(d,"value").set;if(a!==t&&f){const l=new Event("change",{bubbles:!0});f.call(i,t),i.dispatchEvent(l)}},[a,t]),c.jsx(B.select,{...n,style:{...Fs,...n.style},ref:s,defaultValue:t})});si.displayName=gf;function ii(e){return e===""||e===void 0}function ai(e){const t=Ae(e),n=p.useRef(""),o=p.useRef(0),r=p.useCallback(a=>{const i=n.current+a;t(i),(function d(u){n.current=u,window.clearTimeout(o.current),u!==""&&(o.current=window.setTimeout(()=>d(""),1e3))})(i)},[t]),s=p.useCallback(()=>{n.current="",window.clearTimeout(o.current)},[]);return p.useEffect(()=>()=>window.clearTimeout(o.current),[]),[n,r,s]}function ci(e,t,n){const r=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let a=vf(e,Math.max(s,0));r.length===1&&(a=a.filter(u=>u!==n));const d=a.find(u=>u.textValue.toLowerCase().startsWith(r.toLowerCase()));return d!==n?d:void 0}function vf(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var xf=$s,wf=Us,yf=Ws,bf=Hs,Cf=Ks,Sf=Gs,Ef=qs,Rf=ei,Tf=ti,Af=oi;const Pf="flex h-9 w-full items-center justify-between gap-2 px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-muted-foreground [&>span]:line-clamp-1",Mf="relative z-50 max-h-96 min-w-[8rem] overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",If="p-1 h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]",Nf="relative flex w-full cursor-default select-none items-center py-1.5 pl-2 pr-8 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50";function _f({value:e,onValueChange:t,children:n}){return c.jsx(xf,{value:e,onValueChange:t,children:n})}function Of({className:e,children:t}){const n=re();return c.jsxs(wf,{className:X(Pf,n.select.trigger,e),children:[t,c.jsx(bf,{asChild:!0,children:c.jsx(Bi,{className:"h-4 w-4 opacity-50"})})]})}function jf({placeholder:e}){return c.jsx(yf,{placeholder:e})}function Df({children:e}){const t=re();return c.jsx(Cf,{children:c.jsx(Sf,{className:X(Mf,t.select.content),position:"popper",sideOffset:4,children:c.jsx(Ef,{className:If,children:e})})})}function kf({value:e,children:t}){const n=re();return c.jsxs(Rf,{value:e,className:X(Nf,n.select.item,"focus:bg-accent focus:text-accent-foreground"),children:[c.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Af,{children:c.jsx(tr,{className:"h-4 w-4"})})}),c.jsx(Tf,{children:t})]})}const Se={Root:_f,Trigger:Of,Value:jf,Content:Df,Item:kf},St=[25,50,100];function li({table:e,isLoading:t}){return c.jsx("div",{className:"flex items-center justify-center px-2 py-4",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Ee,{className:"h-9 w-9 p-0",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage()||t,children:c.jsx(Di,{className:"h-4 w-4"})}),c.jsx(Ee,{className:"h-9 w-9 p-0",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage()||t,children:c.jsx(Oi,{className:"h-4 w-4"})}),c.jsxs("div",{className:"flex items-center gap-2 px-4",children:[c.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-md border bg-background",children:t?c.jsx(Vi,{className:"h-4 w-4 animate-spin"}):e.getState().pagination.pageIndex+1}),c.jsxs("span",{className:"text-sm text-muted-foreground",children:["de ",e.getPageCount()]})]}),c.jsx(Ee,{className:"h-9 w-9 p-0",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage()||t,children:c.jsx(ji,{className:"h-4 w-4"})}),c.jsx(Ee,{className:"h-9 w-9 p-0",onClick:()=>e.setPageIndex(e.getPageCount()-1),disabled:!e.getCanNextPage()||t,children:c.jsx(ki,{className:"h-4 w-4"})})]})})}function ui({table:e,paginationSizes:t=St,enableElementLabel:n=!0}){const{t:o}=rt();return c.jsxs("div",{className:"flex items-center gap-2",children:[n&&c.jsx("span",{className:"text-sm text-muted-foreground",children:o("dataTable.paginationSize")}),c.jsxs(Se.Root,{value:e.getState().pagination.pageSize.toString(),onValueChange:r=>{e.setPageSize(Number(r))},children:[c.jsx(Se.Trigger,{className:"h-8 w-[80px]",children:c.jsx(Se.Value,{})}),c.jsx(Se.Content,{children:t.map((r,s)=>c.jsx(Se.Item,{value:r.toString(),children:r},r+s))})]})]})}var dn="Tabs",[Lf]=Ye(dn,[nn]),di=nn(),[Ff,lo]=Lf(dn),fi=p.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,onValueChange:r,defaultValue:s,orientation:a="horizontal",dir:i,activationMode:d="automatic",...u}=e,f=qt(i),[l,h]=pt({prop:o,onChange:r,defaultProp:s??"",caller:dn});return c.jsx(Ff,{scope:n,baseId:He(),value:l,onValueChange:h,orientation:a,dir:f,activationMode:d,children:c.jsx(B.div,{dir:f,"data-orientation":a,...u,ref:t})})});fi.displayName=dn;var pi="TabsList",mi=p.forwardRef((e,t)=>{const{__scopeTabs:n,loop:o=!0,...r}=e,s=lo(pi,n),a=di(n);return c.jsx(Gr,{asChild:!0,...a,orientation:s.orientation,dir:s.dir,loop:o,children:c.jsx(B.div,{role:"tablist","aria-orientation":s.orientation,...r,ref:t})})});mi.displayName=pi;var hi="TabsTrigger",gi=p.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,disabled:r=!1,...s}=e,a=lo(hi,n),i=di(n),d=xi(a.baseId,o),u=wi(a.baseId,o),f=o===a.value;return c.jsx(zr,{asChild:!0,...i,focusable:!r,active:f,children:c.jsx(B.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":u,"data-state":f?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:d,...s,ref:t,onMouseDown:I(e.onMouseDown,l=>{!r&&l.button===0&&l.ctrlKey===!1?a.onValueChange(o):l.preventDefault()}),onKeyDown:I(e.onKeyDown,l=>{[" ","Enter"].includes(l.key)&&a.onValueChange(o)}),onFocus:I(e.onFocus,()=>{const l=a.activationMode!=="manual";!f&&!r&&l&&a.onValueChange(o)})})})});gi.displayName=hi;var vi="TabsContent",$f=p.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,forceMount:r,children:s,...a}=e,i=lo(vi,n),d=xi(i.baseId,o),u=wi(i.baseId,o),f=o===i.value,l=p.useRef(f);return p.useEffect(()=>{const h=requestAnimationFrame(()=>l.current=!1);return()=>cancelAnimationFrame(h)},[]),c.jsx(at,{present:r||f,children:({present:h})=>c.jsx(B.div,{"data-state":f?"active":"inactive","data-orientation":i.orientation,role:"tabpanel","aria-labelledby":d,hidden:!h,id:u,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:l.current?"0s":void 0},children:h&&s})})});$f.displayName=vi;function xi(e,t){return`${e}-trigger-${t}`}function wi(e,t){return`${e}-content-${t}`}var Vf=fi,Uf=mi,Bf=gi;const Wf="inline-flex h-9 w-fit items-center justify-center p-[3px]",Hf='inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 px-2 py-1 text-sm font-medium whitespace-nowrap border border-transparent transition-[color,box-shadow] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*="size-"])]:size-4';function Kf({value:e,onValueChange:t,children:n}){return c.jsx(Vf,{value:e,onValueChange:t,children:n})}function Gf({children:e,className:t}){const n=re();return c.jsx(Uf,{className:X(Wf,n.tabs.list,t),children:e})}function zf({value:e,children:t}){const n=re();return c.jsx(Bf,{value:e,className:X(Hf,n.tabs.trigger,"data-[state=active]:shadow-sm",n.tabs.triggerActive),children:t})}const En={Root:Kf,List:Gf,Trigger:zf};function yi({prefilters:e,activePrefilter:t,onPrefilterChange:n}){var d;const o=oa(),{t:r}=rt(),s=re(),a=e.find(u=>u.id===t),i=e.length>0&&t!==((d=e[0])==null?void 0:d.id);return o||e.length>4?c.jsxs(Se.Root,{value:t,onValueChange:n,children:[c.jsx(Se.Trigger,{className:`w-fit min-w-32 ${i?s.state.active:""}`,children:c.jsx(Se.Value,{children:(a==null?void 0:a.label)||r("dataTable.selectFilter")})}),c.jsx(Se.Content,{children:e.map(u=>c.jsx(Se.Item,{value:u.id,children:u.label},u.id))})]}):c.jsx(En.Root,{value:t,onValueChange:n,children:c.jsx(En.List,{className:i?s.state.active:"",children:e.map(u=>c.jsx(En.Trigger,{value:u.id,children:u.label},u.id))})})}const Yf="flex h-9 w-full min-w-0 px-3 py-1 text-sm shadow-xs transition-[color,box-shadow] outline-none file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",uo=O.forwardRef(({value:e,onChange:t,onKeyDown:n,placeholder:o,className:r,type:s="text",isActive:a,...i},d)=>{const u=re();return c.jsx("input",{ref:d,type:s,value:e,onChange:t,onKeyDown:n,placeholder:o,className:X(Yf,u.input,a&&u.state.active,r),...i})});uo.displayName="Input";const Xf=500;function bi({value:e="",onDebouncedChange:t,placeholder:n}){const o=re(),[r,s]=O.useState(e);O.useEffect(()=>{s(e)},[e]),O.useEffect(()=>{const i=setTimeout(()=>{r!==e&&(t==null||t(r))},Xf);return()=>clearTimeout(i)},[r,e,t]);const a=r.length>0;return c.jsx("div",{className:"relative lg:min-w-[331px] min-w-[220px]",children:c.jsxs("div",{className:"flex relative",children:[c.jsx(uo,{"data-testid":"data-table-search-bar",type:"text",onChange:i=>s(i.target.value),value:r,placeholder:n,isActive:a}),c.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-3",children:c.jsx(nr,{className:`w-5 h-5 ${a?o.state.activeText:"text-muted-foreground"}`})})]})})}function Ci({filter:e,selectedValues:t=[],onFilterChange:n}){const{t:o}=rt(),r=re(),[s,a]=O.useState(""),i=t.length,d=O.useMemo(()=>t.map(g=>{var x;return(x=e.options.find(m=>m.value===g))==null?void 0:x.label}).filter(Boolean),[t,e.options]),u=O.useMemo(()=>{if(!s)return e.options;const g=s.toLowerCase();return e.options.filter(x=>x.label.toLowerCase().includes(g)||x.value.toLowerCase().includes(g))},[e.options,s]),f=g=>{const x=t.includes(g),m=e.multipleSelection??!1;let v;m?x?v=t.filter(y=>y!==g):v=[...t,g]:x?v=[]:v=[g],n(e.key,v)},l=()=>{n(e.key,[])};if(e.options.length===0)return null;const h=()=>i===0?e.label:i===1?d[0]:i===2?d.join(", "):`${d.slice(0,2).join(", ")} +${i-2}`;return c.jsxs(ee.Root,{children:[c.jsx(ee.Trigger,{asChild:!0,children:c.jsxs(Ee,{className:`gap-1.5 max-w-[250px] ${i>0?r.state.active:""}`,children:[c.jsx(Fi,{className:`h-4 w-4 shrink-0 ${i>0?r.state.activeText:""}`}),c.jsx("span",{className:"truncate",children:h()}),c.jsx(Vn,{className:"h-3.5 w-3.5 opacity-50 shrink-0"})]})}),c.jsxs(ee.Content,{align:"start",className:"w-56",children:[c.jsx("div",{className:"p-2",children:c.jsxs("div",{className:"relative",children:[c.jsx(nr,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),c.jsx(uo,{placeholder:o("dataTable.searchFilters"),value:s,onChange:g=>a(g.target.value),onKeyDown:g=>{(g.key.length===1||g.key==="Backspace"||g.key==="Delete")&&g.stopPropagation()},className:"pl-8 h-8"})]})}),u.length===0?c.jsx("div",{className:"px-2 py-4 text-sm text-muted-foreground text-center",children:o("dataTable.searchEmpty")}):u.map(g=>c.jsx(ee.CheckboxItem,{checked:t.includes(g.value),onCheckedChange:()=>f(g.value),className:"cursor-pointer",children:g.label},g.value)),i>0&&c.jsxs(c.Fragment,{children:[c.jsx(ee.Separator,{}),c.jsx(ee.Item,{onClick:l,className:"text-xs cursor-pointer",children:o("dataTable.resetFilters")})]})]})]})}const Rn="h-[15px] w-[15px] text-black";function Si({column:e}){return e.getCanSort()===!1?null:e.getIsSorted()?e.getIsSorted()==="desc"?c.jsx(Vn,{className:Rn}):c.jsx(_i,{className:Rn}):c.jsx(Li,{className:Rn})}function fo({data:e,columns:t,isLoading:n,isFetching:o,mode:r="client",pagination:s,onPaginationChange:a,totalCount:i,globalFilter:d,onGlobalFilterChange:u,enableGlobalSearch:f=!1,filters:l,columnFilters:h,onColumnFiltersChange:g,prefilters:x,activePrefilter:m,onPrefilterChange:v,sorting:y,onSortingChange:b,enableSorting:w=!0,columnVisibility:C,onColumnVisibilityChange:R,enableColumnConfiguration:T=!1,onRowClick:E,activeRowId:S,displayTotalNumber:M=!0,enableElementLabel:P=!0,enablePagination:L=!0,enableResponsive:D=!0,texts:F,onResetFilters:$,enableResetFilters:G=!0}){var ho;const{t:j}=rt(),k=re(),[N,A]=O.useState({pageIndex:0,pageSize:St[0]}),[z,Z]=O.useState(""),[te,ve]=O.useState({}),[ce,xe]=O.useState([]),[se,_]=O.useState({}),U=s??N,W=a??A,H=d??z,K=u??Z,V=h??te,ie=g??ve,pe=y??ce,$e=b??xe,Ve=C??se,Ue=R??_,fn=O.useCallback(Y=>{K(Y),W(J=>({...J,pageIndex:0}))},[K,W]),Ze=O.useMemo(()=>JSON.stringify(V),[V]);O.useEffect(()=>{W(Y=>Y.pageIndex===0?Y:{...Y,pageIndex:0})},[m,Ze,W]);const me=r==="server",Ri=i!==void 0?Math.ceil(i/U.pageSize):void 0,Ti=!me||i!==void 0,Ai=O.useMemo(()=>Object.entries(V).map(([Y,J])=>({id:Y,value:J})),[V]),Pi=O.useCallback((Y,J,Q)=>{const he=Y.getValue(J);return Q.includes(String(he))},[]),Ie=Be.useReactTable({data:e,columns:t,pageCount:me?Ri:void 0,state:{pagination:U,sorting:w?pe:void 0,globalFilter:!me&&f?H:void 0,columnFilters:!me&&(l!=null&&l.length)?Ai:void 0,columnVisibility:T?Ve:void 0},onPaginationChange:W,onSortingChange:w?$e:void 0,onColumnVisibilityChange:T?Ue:void 0,manualPagination:me,manualFiltering:me,manualSorting:me,getCoreRowModel:Be.getCoreRowModel(),getSortedRowModel:Be.getSortedRowModel(),getPaginationRowModel:L?Be.getPaginationRowModel():void 0,...!me&&(l!=null&&l.length||f)?{getFilteredRowModel:Be.getFilteredRowModel(),filterFns:{multiSelect:Pi},globalFilterFn:f?va:void 0}:{}}),Mi=(Y,J)=>{const Q=String(Y),he={...V};J.length===0?delete he[Q]:he[Q]=J,ie(he)},Ii=f||M||l&&l.length>0||T,mo=O.useMemo(()=>me?e.length:Ie.getRowModel().rows.length,[me,e.length,Ie]),Ni=O.useMemo(()=>me&&i!==void 0?i:Ie.getFilteredRowModel().rows.length,[me,i,Ie]);return c.jsxs("div",{className:"relative flex flex-col flex-1","data-testid":"datatable",children:[o&&!n&&c.jsx("div",{className:X("absolute inset-0 z-10 pointer-events-none",k.table.loadingOverlay)}),Ii&&c.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between py-4 gap-4",children:[c.jsx("div",{className:"flex items-center gap-2 overflow-x-auto p-0.5 -m-0.5",children:x&&x.length>0&&v&&c.jsx(yi,{prefilters:x,activePrefilter:m??((ho=x[0])==null?void 0:ho.id)??"",onPrefilterChange:v})}),c.jsx("div",{className:"flex-1 flex justify-center",children:f&&c.jsx("div",{className:"w-full max-w-sm",children:c.jsx(bi,{value:H,onDebouncedChange:fn,placeholder:(F==null?void 0:F.searchPlaceholder)||j("dataTable.search")})})}),c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l==null?void 0:l.map(Y=>c.jsx(Ci,{filter:Y,selectedValues:V[String(Y.key)],onFilterChange:Mi},String(Y.key))),T&&c.jsx(Ls,{table:Ie}),G&&$&&c.jsx(Ee,{onClick:$,title:j("dataTable.resetFilters"),"data-testid":"datatable-reset-filters",children:c.jsx($i,{className:"h-4 w-4"})})]})]}),c.jsx("div",{className:X("sm:overflow-x-auto",k.table.container,D&&Oe.container.base),children:c.jsxs("table",{className:X("w-full text-sm"),"data-testid":"datatable-table",children:[c.jsx("thead",{className:X(k.table.header,D&&Oe.thead.base),children:Ie.getHeaderGroups().map(Y=>c.jsx("tr",{children:Y.headers.map(J=>{var Q,he,Et,Rt;return c.jsx("th",{className:X("px-4 py-3 text-left align-middle",k.table.headerCell,w&&"cursor-pointer"),onClick:J.column.getToggleSortingHandler(),style:{width:(he=(Q=J.column.columnDef)==null?void 0:Q.meta)==null?void 0:he.width,minWidth:(Rt=(Et=J.column.columnDef)==null?void 0:Et.meta)==null?void 0:Rt.minWidth},children:J.isPlaceholder?null:c.jsxs("span",{className:"flex gap-2 items-center justify-between w-full",children:[c.jsx("h3",{children:Be.flexRender(J.column.columnDef.header,J.getContext())}),w&&c.jsx(Si,{column:J.column})]})},J.id)})},Y.id))}),n?c.jsx("tbody",{className:k.table.divider,"data-testid":"datatable-loading",children:Array.from({length:U.pageSize>10?10:U.pageSize}).map((Y,J)=>c.jsx("tr",{className:X({[k.table.rowAlternate]:J%2===1}),children:t.map((Q,he)=>c.jsx("td",{className:"px-4 py-3 align-middle",children:c.jsx(Bd,{className:"h-4 w-full"})},`skeleton-table-${he}`))},J))}):mo>0?c.jsx("tbody",{className:X(k.table.divider,D&&Oe.tbody.base),"data-testid":"datatable-body",children:Ie.getRowModel().rows.map((Y,J)=>c.jsx("tr",{"data-testid":`datatable-row-${Y.id}`,className:X(k.table.row,k.table.rowHover,"transition-all ease-in-out duration-300",{[k.table.rowAlternate]:J%2===1,[k.table.rowActive]:S!==void 0&&"id"in Y.original&&S===Y.original.id},D&&Oe.row.base),children:Y.getVisibleCells().map((Q,he)=>{var go,vo,xo,wo;const Et=typeof Q.column.columnDef.header=="string"?Q.column.columnDef.header:Q.column.id,Rt=he===Y.getVisibleCells().length-1;return c.jsxs("td",{onClick:()=>{var yo,bo;return E&&!((bo=(yo=Q.column.columnDef)==null?void 0:yo.meta)!=null&&bo.disableColumnClick)&&E(Y.original)},className:X(E&&!((vo=(go=Q.column.columnDef)==null?void 0:go.meta)!=null&&vo.disableColumnClick)&&"cursor-pointer",((wo=(xo=Q.column.columnDef)==null?void 0:xo.meta)==null?void 0:wo.center)&&"align-middle text-center",D?X(Oe.cell.base,Rt&&Oe.cell.last):"px-4 py-3"),children:[D&&c.jsx("span",{className:Oe.cellLabel.base,children:Et}),c.jsx("span",{className:X(D&&Oe.cellContent.base),children:Be.flexRender(Q.column.columnDef.cell,Q.getContext())})]},Q.id)})},Y.id))}):c.jsx("caption",{className:X("h-24 flex items-center justify-center w-full pl-10",k.table.empty),"data-testid":"datatable-empty",children:(F==null?void 0:F.emptyTitle)||j("dataTable.searchEmpty")})]})}),c.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 py-4",children:[M&&c.jsx("div",{className:X("text-sm order-3 sm:order-1",k.table.empty),"data-testid":"datatable-count",children:j("dataTable.element",{count:mo,total:Ni})}),c.jsx("div",{className:"flex-1 flex justify-center order-1 sm:order-2",children:L&&Ti&&c.jsx(li,{table:Ie,isLoading:o})}),c.jsx("div",{className:"order-2 sm:order-3",children:c.jsx(ui,{table:Ie,enableElementLabel:P})})]})]})}function Ei({item:e,actions:t,onAction:n}){const o=qi(),r=(u,f)=>{var l;(l=Hi())==null||l({label:u,element:f})},s=()=>{var u;(u=Ki())==null||u()},a=t.filter(u=>!(typeof u=="function"?u(e):u).hidden),i=a.filter(u=>(typeof u=="function"?u(e):u).display!=="dropdown"),d=a.filter(u=>(typeof u=="function"?u(e):u).display==="dropdown");return c.jsxs("div",{className:"flex gap-2 justify-end items-center",children:[i.map((u,f)=>{const l=typeof u=="function"?u(e):u,h=l.icon;if(l.type==="link"){const g=l,x=g.href(e);return c.jsxs(o,{to:x,target:g.external?"_blank":void 0,rel:g.external?"noopener noreferrer":void 0,className:`inline-flex items-center justify-center gap-1.5 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-8 rounded-md ${l.showLabel?"px-3":"w-8"}`,"aria-disabled":l.disabled,onMouseEnter:m=>r(l.label,m.currentTarget),onMouseLeave:s,children:[c.jsx(h,{className:"h-4 w-4"}),l.showLabel&&l.label]},`link-${l.label}-${f}`)}return c.jsxs(Ee,{className:l.showLabel?"h-8 px-3":"h-8 w-8 p-0",variant:l.variant,onClick:()=>n(l,e),disabled:l.disabled,onMouseEnter:g=>r(l.label,g.currentTarget),onMouseLeave:s,children:[c.jsx(h,{className:"h-4 w-4"}),l.showLabel&&l.label]},`button-${l.label}-${f}`)}),d.length>0&&c.jsxs(ee.Root,{children:[c.jsx(ee.Trigger,{asChild:!0,children:c.jsx(Ee,{className:"h-9 w-9 p-0",children:c.jsx(Ui,{className:"h-4 w-4"})})}),c.jsx(ee.Content,{align:"end",children:d.map((u,f)=>{const l=typeof u=="function"?u(e):u,h=l.icon,g={warning:"text-amber-600 hover:text-amber-700 focus:text-amber-700",danger:"text-red-600 hover:text-red-700 focus:text-red-700",info:"text-blue-600 hover:text-blue-700 focus:text-blue-700",success:"text-green-600 hover:text-green-700 focus:text-green-700"},x=l.variant&&g[l.variant]?g[l.variant]:"";if(l.type==="link"){const m=l,v=m.href(e);return c.jsx(ee.Item,{asChild:!0,disabled:l.disabled,children:c.jsxs(o,{to:v,target:m.external?"_blank":void 0,rel:m.external?"noopener noreferrer":void 0,className:x,children:[c.jsx(h,{className:`mr-2 h-4 w-4 ${x}`}),l.label]})},`dropdown-${l.label}-${f}`)}return c.jsxs(ee.Item,{onClick:()=>n(l,e),disabled:l.disabled,className:x,children:[c.jsx(h,{className:`mr-2 h-4 w-4 ${x}`}),l.label]},`dropdown-${l.label}-${f}`)})})]})]})}const po=({columnConfig:e,actions:t,filters:n,mode:o})=>{const{confirm:r}=zi(),{t:s}=rt(),{mutate:a}=Vt.useMutation({mutationFn:async u=>u.endpoint(u.item)}),i=async(u,f)=>{const l=typeof u=="function"?u(f):u;if(l.confirm){const h=(x,m)=>typeof x=="function"?x({close:m}):x;if(!await r({title:l.confirm.title,content:x=>h(l.confirm.content,x.close),confirmText:l.confirm.confirmText,cancelText:l.confirm.cancelText,subtitle:l.confirm.subtitle,hideButtons:l.confirm.hideButtons}))return}if(l.type==="endpoint")a({item:f,endpoint:l.endpoint},{onError:(h,g,x)=>{var m;return(m=l.onError)==null?void 0:m.call(l,h,g.item,x)},onSuccess:(h,g,x)=>{var m;return(m=l.onSuccess)==null?void 0:m.call(l,h,g.item,x)}});else if(l.type==="click")l.onClick(f);else if(l.type==="link")return};return{columns:O.useMemo(()=>{const u=e.filter(f=>!f.hidden).map(f=>{const l=n==null?void 0:n.some(h=>h.key===f.key);return{accessorKey:f.key,accessorFn:f.searchableValue?h=>f.searchableValue(h):void 0,header:f.label??s(`data.${f.key}`),enableSorting:f.sortable??!0,enableColumnFilter:l,enableGlobalFilter:o==="client"?!!f.searchableValue:!1,filterFn:l?"multiSelect":void 0,meta:f.meta,cell:({row:h})=>{const g=h.original[f.key];return f.render?f.render(h.original):sa(g)}}});return t!=null&&t.length&&u.push({accessorKey:"actions",header:"",meta:{width:"auto"},enableSorting:!1,enableHiding:!1,cell:({row:f})=>c.jsx(Ei,{item:f.original,actions:t,onAction:i})}),u},[e,t,n,o,s]),handleAction:i}},qf=({queryKey:e,columnConfig:t,actions:n,filters:o,prefilters:r,prefilterFn:s,defaultSortBy:a,defaultSortOrder:i="asc",defaultPageSize:d=St[0],persistState:u=!1,fetchAllItemsEndpoint:f,...l})=>{var L;const{pagination:h,setPagination:g,globalFilter:x,setGlobalFilter:m,activePrefilter:v,setActivePrefilter:y,columnFilters:b,setColumnFilters:w,sorting:C,setSorting:R,resetToDefaults:T}=Un({enabled:u,defaultPrefilter:(L=r==null?void 0:r[0])==null?void 0:L.id,defaultPageSize:d,defaultSortBy:a,defaultSortOrder:i}),{data:E=[],isLoading:S}=Vt.useQuery({queryKey:e,queryFn:f}),M=O.useMemo(()=>!E||!v||!s?E:E.filter(D=>s(D,v)),[E,v,s]),{columns:P}=po({columnConfig:t,actions:n,filters:o,mode:"client"});return c.jsx(fo,{mode:"client",data:M,columns:P,isLoading:S,pagination:h,onPaginationChange:g,globalFilter:x,onGlobalFilterChange:m,filters:o,columnFilters:b,onColumnFiltersChange:w,prefilters:r,activePrefilter:v,onPrefilterChange:y,sorting:C,onSortingChange:R,onResetFilters:T,...l})},Zf=({queryKey:e,columnConfig:t,actions:n,filters:o,prefilters:r,defaultSortBy:s,defaultSortOrder:a="asc",defaultPageSize:i=St[0],persistState:d=!1,fetchServerEndpoint:u,...f})=>{var S,M,P;const{pagination:l,setPagination:h,globalFilter:g,setGlobalFilter:x,activePrefilter:m,setActivePrefilter:v,columnFilters:y,setColumnFilters:b,sorting:w,setSorting:C,resetToDefaults:R}=Un({enabled:d,defaultPrefilter:(S=r==null?void 0:r[0])==null?void 0:S.id,defaultPageSize:i,defaultSortBy:s,defaultSortOrder:a}),T=Vt.useQuery({queryKey:[...e,"server",l,g,m,y,w],queryFn:async()=>{var L,D;return u({limit:l.pageSize,offset:l.pageIndex*l.pageSize,search:g||void 0,prefilter:m,filters:Object.keys(y).length>0?y:void 0,sortBy:(L=w[0])==null?void 0:L.id,sortOrder:(D=w[0])!=null&&D.desc?"DESC":"ASC"})},placeholderData:Vt.keepPreviousData}),{columns:E}=po({columnConfig:t,actions:n,filters:o,mode:"server"});return c.jsx(fo,{mode:"server",data:((M=T.data)==null?void 0:M.items)??[],columns:E,isLoading:T.isLoading,isFetching:T.isFetching,totalCount:((P=T.data)==null?void 0:P.totalItemCount)??0,pagination:l,onPaginationChange:h,globalFilter:g,onGlobalFilterChange:x,filters:o,columnFilters:y,onColumnFiltersChange:b,prefilters:r,activePrefilter:m,onPrefilterChange:v,sorting:w,onSortingChange:C,onResetFilters:R,...f})};exports.ActionCell=Ei;exports.ColumnConfiguration=Ls;exports.DEFAULT_PAGE_SIZES=St;exports.DataTable=fo;exports.PageSizeSelector=ui;exports.Pagination=li;exports.PrefilterTabs=yi;exports.SearchBar=bi;exports.SingleFilterDropdown=Ci;exports.SnowClientTable=qf;exports.SnowServerTable=Zf;exports.SortButton=Si;exports.isSnowTableSetup=na;exports.redirectToPageWithParam=aa;exports.setupSnowTable=ta;exports.useSnowColumns=po;exports.useTableStatePersist=Un;
56
+ `)},uu=0,et=[];function du(e){var t=p.useRef([]),n=p.useRef([0,0]),o=p.useRef(),r=p.useState(uu++)[0],s=p.useState(Qr)[0],a=p.useRef(e);p.useEffect(function(){a.current=e},[e]),p.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var m=_l([e.lockRef.current],(e.shards||[]).map(qo),!0).filter(Boolean);return m.forEach(function(v){return v.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),m.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var i=p.useCallback(function(m,v){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!a.current.allowPinchZoom;var y=Nt(m),b=n.current,w="deltaX"in m?m.deltaX:b[0]-y[0],C="deltaY"in m?m.deltaY:b[1]-y[1],R,T=m.target,E=Math.abs(w)>Math.abs(C)?"h":"v";if("touches"in m&&E==="h"&&T.type==="range")return!1;var S=window.getSelection(),M=S&&S.anchorNode,P=M?M===T||M.contains(T):!1;if(P)return!1;var L=Yo(E,T);if(!L)return!0;if(L?R=E:(R=E==="v"?"h":"v",L=Yo(E,T)),!L)return!1;if(!o.current&&"changedTouches"in m&&(w||C)&&(o.current=R),!R)return!0;var D=o.current||R;return au(D,v,m,D==="h"?w:C)},[]),d=p.useCallback(function(m){var v=m;if(!(!et.length||et[et.length-1]!==s)){var y="deltaY"in v?Xo(v):Nt(v),b=t.current.filter(function(R){return R.name===v.type&&(R.target===v.target||v.target===R.shadowParent)&&cu(R.delta,y)})[0];if(b&&b.should){v.cancelable&&v.preventDefault();return}if(!b){var w=(a.current.shards||[]).map(qo).filter(Boolean).filter(function(R){return R.contains(v.target)}),C=w.length>0?i(v,w[0]):!a.current.noIsolation;C&&v.cancelable&&v.preventDefault()}}},[]),u=p.useCallback(function(m,v,y,b){var w={name:m,delta:v,target:y,should:b,shadowParent:fu(y)};t.current.push(w),setTimeout(function(){t.current=t.current.filter(function(C){return C!==w})},1)},[]),f=p.useCallback(function(m){n.current=Nt(m),o.current=void 0},[]),l=p.useCallback(function(m){u(m.type,Xo(m),m.target,i(m,e.lockRef.current))},[]),h=p.useCallback(function(m){u(m.type,Nt(m),m.target,i(m,e.lockRef.current))},[]);p.useEffect(function(){return et.push(s),e.setCallbacks({onScrollCapture:l,onWheelCapture:l,onTouchMoveCapture:h}),document.addEventListener("wheel",d,Qe),document.addEventListener("touchmove",d,Qe),document.addEventListener("touchstart",f,Qe),function(){et=et.filter(function(m){return m!==s}),document.removeEventListener("wheel",d,Qe),document.removeEventListener("touchmove",d,Qe),document.removeEventListener("touchstart",f,Qe)}},[]);var g=e.removeScrollBar,x=e.inert;return p.createElement(p.Fragment,null,x?p.createElement(s,{styles:lu(r)}):null,g?p.createElement(eu,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function fu(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const pu=Ul(Jr,du);var eo=p.forwardRef(function(e,t){return p.createElement(on,Ce({},e,{ref:t,sideCar:pu}))});eo.classNames=on.classNames;var jn=["Enter"," "],mu=["ArrowDown","PageUp","Home"],os=["ArrowUp","PageDown","End"],hu=[...mu,...os],gu={ltr:[...jn,"ArrowRight"],rtl:[...jn,"ArrowLeft"]},vu={ltr:["ArrowLeft"],rtl:["ArrowRight"]},bt="Menu",[vt,xu,wu]=Bn(bt),[Xe,rs]=Ye(bt,[wu,tn,nn]),rn=tn(),ss=nn(),[yu,qe]=Xe(bt),[bu,Ct]=Xe(bt),is=e=>{const{__scopeMenu:t,open:n=!1,children:o,dir:r,onOpenChange:s,modal:a=!0}=e,i=rn(t),[d,u]=p.useState(null),f=p.useRef(!1),l=Ae(s),h=qt(r);return p.useEffect(()=>{const g=()=>{f.current=!0,document.addEventListener("pointerdown",x,{capture:!0,once:!0}),document.addEventListener("pointermove",x,{capture:!0,once:!0})},x=()=>f.current=!1;return document.addEventListener("keydown",g,{capture:!0}),()=>{document.removeEventListener("keydown",g,{capture:!0}),document.removeEventListener("pointerdown",x,{capture:!0}),document.removeEventListener("pointermove",x,{capture:!0})}},[]),c.jsx(Lr,{...i,children:c.jsx(yu,{scope:t,open:n,onOpenChange:l,content:d,onContentChange:u,children:c.jsx(bu,{scope:t,onClose:p.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:f,dir:h,modal:a,children:o})})})};is.displayName=bt;var Cu="MenuAnchor",to=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=rn(n);return c.jsx(Fr,{...r,...o,ref:t})});to.displayName=Cu;var no="MenuPortal",[Su,as]=Xe(no,{forceMount:void 0}),cs=e=>{const{__scopeMenu:t,forceMount:n,children:o,container:r}=e,s=qe(no,t);return c.jsx(Su,{scope:t,forceMount:n,children:c.jsx(at,{present:n||s.open,children:c.jsx(Qn,{asChild:!0,container:r,children:o})})})};cs.displayName=no;var ge="MenuContent",[Eu,oo]=Xe(ge),ls=p.forwardRef((e,t)=>{const n=as(ge,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=qe(ge,e.__scopeMenu),a=Ct(ge,e.__scopeMenu);return c.jsx(vt.Provider,{scope:e.__scopeMenu,children:c.jsx(at,{present:o||s.open,children:c.jsx(vt.Slot,{scope:e.__scopeMenu,children:a.modal?c.jsx(Ru,{...r,ref:t}):c.jsx(Tu,{...r,ref:t})})})})}),Ru=p.forwardRef((e,t)=>{const n=qe(ge,e.__scopeMenu),o=p.useRef(null),r=q(t,o);return p.useEffect(()=>{const s=o.current;if(s)return Xr(s)},[]),c.jsx(ro,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:I(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Tu=p.forwardRef((e,t)=>{const n=qe(ge,e.__scopeMenu);return c.jsx(ro,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Au=mt("MenuContent.ScrollLock"),ro=p.forwardRef((e,t)=>{const{__scopeMenu:n,loop:o=!1,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:i,onEntryFocus:d,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:l,onInteractOutside:h,onDismiss:g,disableOutsideScroll:x,...m}=e,v=qe(ge,n),y=Ct(ge,n),b=rn(n),w=ss(n),C=xu(n),[R,T]=p.useState(null),E=p.useRef(null),S=q(t,E,v.onContentChange),M=p.useRef(0),P=p.useRef(""),L=p.useRef(0),D=p.useRef(null),F=p.useRef("right"),$=p.useRef(0),G=x?eo:p.Fragment,j=x?{as:Au,allowPinchZoom:!0}:void 0,k=A=>{var _,U;const z=P.current+A,Z=C().filter(W=>!W.disabled),te=document.activeElement,ve=(_=Z.find(W=>W.ref.current===te))==null?void 0:_.textValue,ce=Z.map(W=>W.textValue),xe=$u(ce,z,ve),se=(U=Z.find(W=>W.textValue===xe))==null?void 0:U.ref.current;(function W(H){P.current=H,window.clearTimeout(M.current),H!==""&&(M.current=window.setTimeout(()=>W(""),1e3))})(z),se&&setTimeout(()=>se.focus())};p.useEffect(()=>()=>window.clearTimeout(M.current),[]),mr();const N=p.useCallback(A=>{var Z,te;return F.current===((Z=D.current)==null?void 0:Z.side)&&Uu(A,(te=D.current)==null?void 0:te.area)},[]);return c.jsx(Eu,{scope:n,searchRef:P,onItemEnter:p.useCallback(A=>{N(A)&&A.preventDefault()},[N]),onItemLeave:p.useCallback(A=>{var z;N(A)||((z=E.current)==null||z.focus(),T(null))},[N]),onTriggerLeave:p.useCallback(A=>{N(A)&&A.preventDefault()},[N]),pointerGraceTimerRef:L,onPointerGraceIntentChange:p.useCallback(A=>{D.current=A},[]),children:c.jsx(G,{...j,children:c.jsx(Hn,{asChild:!0,trapped:r,onMountAutoFocus:I(s,A=>{var z;A.preventDefault(),(z=E.current)==null||z.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:c.jsx(Wn,{asChild:!0,disableOutsidePointerEvents:i,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:l,onInteractOutside:h,onDismiss:g,children:c.jsx(Gr,{asChild:!0,...w,dir:y.dir,orientation:"vertical",loop:o,currentTabStopId:R,onCurrentTabStopIdChange:T,onEntryFocus:I(d,A=>{y.isUsingKeyboardRef.current||A.preventDefault()}),preventScrollOnEntryFocus:!0,children:c.jsx($r,{role:"menu","aria-orientation":"vertical","data-state":Rs(v.open),"data-radix-menu-content":"",dir:y.dir,...b,...m,ref:S,style:{outline:"none",...m.style},onKeyDown:I(m.onKeyDown,A=>{const Z=A.target.closest("[data-radix-menu-content]")===A.currentTarget,te=A.ctrlKey||A.altKey||A.metaKey,ve=A.key.length===1;Z&&(A.key==="Tab"&&A.preventDefault(),!te&&ve&&k(A.key));const ce=E.current;if(A.target!==ce||!hu.includes(A.key))return;A.preventDefault();const se=C().filter(_=>!_.disabled).map(_=>_.ref.current);os.includes(A.key)&&se.reverse(),Lu(se)}),onBlur:I(e.onBlur,A=>{A.currentTarget.contains(A.target)||(window.clearTimeout(M.current),P.current="")}),onPointerMove:I(e.onPointerMove,xt(A=>{const z=A.target,Z=$.current!==A.clientX;if(A.currentTarget.contains(z)&&Z){const te=A.clientX>$.current?"right":"left";F.current=te,$.current=A.clientX}}))})})})})})})});ls.displayName=ge;var Pu="MenuGroup",so=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return c.jsx(B.div,{role:"group",...o,ref:t})});so.displayName=Pu;var Mu="MenuLabel",us=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return c.jsx(B.div,{...o,ref:t})});us.displayName=Mu;var Kt="MenuItem",Zo="menu.itemSelect",sn=p.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:o,...r}=e,s=p.useRef(null),a=Ct(Kt,e.__scopeMenu),i=oo(Kt,e.__scopeMenu),d=q(t,s),u=p.useRef(!1),f=()=>{const l=s.current;if(!n&&l){const h=new CustomEvent(Zo,{bubbles:!0,cancelable:!0});l.addEventListener(Zo,g=>o==null?void 0:o(g),{once:!0}),dr(l,h),h.defaultPrevented?u.current=!1:a.onClose()}};return c.jsx(ds,{...r,ref:d,disabled:n,onClick:I(e.onClick,f),onPointerDown:l=>{var h;(h=e.onPointerDown)==null||h.call(e,l),u.current=!0},onPointerUp:I(e.onPointerUp,l=>{var h;u.current||(h=l.currentTarget)==null||h.click()}),onKeyDown:I(e.onKeyDown,l=>{const h=i.searchRef.current!=="";n||h&&l.key===" "||jn.includes(l.key)&&(l.currentTarget.click(),l.preventDefault())})})});sn.displayName=Kt;var ds=p.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:o=!1,textValue:r,...s}=e,a=oo(Kt,n),i=ss(n),d=p.useRef(null),u=q(t,d),[f,l]=p.useState(!1),[h,g]=p.useState("");return p.useEffect(()=>{const x=d.current;x&&g((x.textContent??"").trim())},[s.children]),c.jsx(vt.ItemSlot,{scope:n,disabled:o,textValue:r??h,children:c.jsx(zr,{asChild:!0,...i,focusable:!o,children:c.jsx(B.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...s,ref:u,onPointerMove:I(e.onPointerMove,xt(x=>{o?a.onItemLeave(x):(a.onItemEnter(x),x.defaultPrevented||x.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:I(e.onPointerLeave,xt(x=>a.onItemLeave(x))),onFocus:I(e.onFocus,()=>l(!0)),onBlur:I(e.onBlur,()=>l(!1))})})})}),Iu="MenuCheckboxItem",fs=p.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:o,...r}=e;return c.jsx(vs,{scope:e.__scopeMenu,checked:n,children:c.jsx(sn,{role:"menuitemcheckbox","aria-checked":Gt(n)?"mixed":n,...r,ref:t,"data-state":ao(n),onSelect:I(r.onSelect,()=>o==null?void 0:o(Gt(n)?!0:!n),{checkForDefaultPrevented:!1})})})});fs.displayName=Iu;var ps="MenuRadioGroup",[Nu,_u]=Xe(ps,{value:void 0,onValueChange:()=>{}}),ms=p.forwardRef((e,t)=>{const{value:n,onValueChange:o,...r}=e,s=Ae(o);return c.jsx(Nu,{scope:e.__scopeMenu,value:n,onValueChange:s,children:c.jsx(so,{...r,ref:t})})});ms.displayName=ps;var hs="MenuRadioItem",gs=p.forwardRef((e,t)=>{const{value:n,...o}=e,r=_u(hs,e.__scopeMenu),s=n===r.value;return c.jsx(vs,{scope:e.__scopeMenu,checked:s,children:c.jsx(sn,{role:"menuitemradio","aria-checked":s,...o,ref:t,"data-state":ao(s),onSelect:I(o.onSelect,()=>{var a;return(a=r.onValueChange)==null?void 0:a.call(r,n)},{checkForDefaultPrevented:!1})})})});gs.displayName=hs;var io="MenuItemIndicator",[vs,Ou]=Xe(io,{checked:!1}),xs=p.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:o,...r}=e,s=Ou(io,n);return c.jsx(at,{present:o||Gt(s.checked)||s.checked===!0,children:c.jsx(B.span,{...r,ref:t,"data-state":ao(s.checked)})})});xs.displayName=io;var ju="MenuSeparator",ws=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return c.jsx(B.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})});ws.displayName=ju;var Du="MenuArrow",ys=p.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=rn(n);return c.jsx(Vr,{...r,...o,ref:t})});ys.displayName=Du;var ku="MenuSub",[Jf,bs]=Xe(ku),dt="MenuSubTrigger",Cs=p.forwardRef((e,t)=>{const n=qe(dt,e.__scopeMenu),o=Ct(dt,e.__scopeMenu),r=bs(dt,e.__scopeMenu),s=oo(dt,e.__scopeMenu),a=p.useRef(null),{pointerGraceTimerRef:i,onPointerGraceIntentChange:d}=s,u={__scopeMenu:e.__scopeMenu},f=p.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return p.useEffect(()=>f,[f]),p.useEffect(()=>{const l=i.current;return()=>{window.clearTimeout(l),d(null)}},[i,d]),c.jsx(to,{asChild:!0,...u,children:c.jsx(ds,{id:r.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":r.contentId,"data-state":Rs(n.open),...e,ref:Xt(t,r.onTriggerChange),onClick:l=>{var h;(h=e.onClick)==null||h.call(e,l),!(e.disabled||l.defaultPrevented)&&(l.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:I(e.onPointerMove,xt(l=>{s.onItemEnter(l),!l.defaultPrevented&&!e.disabled&&!n.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:I(e.onPointerLeave,xt(l=>{var g,x;f();const h=(g=n.content)==null?void 0:g.getBoundingClientRect();if(h){const m=(x=n.content)==null?void 0:x.dataset.side,v=m==="right",y=v?-5:5,b=h[v?"left":"right"],w=h[v?"right":"left"];s.onPointerGraceIntentChange({area:[{x:l.clientX+y,y:l.clientY},{x:b,y:h.top},{x:w,y:h.top},{x:w,y:h.bottom},{x:b,y:h.bottom}],side:m}),window.clearTimeout(i.current),i.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(l),l.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:I(e.onKeyDown,l=>{var g;const h=s.searchRef.current!=="";e.disabled||h&&l.key===" "||gu[o.dir].includes(l.key)&&(n.onOpenChange(!0),(g=n.content)==null||g.focus(),l.preventDefault())})})})});Cs.displayName=dt;var Ss="MenuSubContent",Es=p.forwardRef((e,t)=>{const n=as(ge,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=qe(ge,e.__scopeMenu),a=Ct(ge,e.__scopeMenu),i=bs(Ss,e.__scopeMenu),d=p.useRef(null),u=q(t,d);return c.jsx(vt.Provider,{scope:e.__scopeMenu,children:c.jsx(at,{present:o||s.open,children:c.jsx(vt.Slot,{scope:e.__scopeMenu,children:c.jsx(ro,{id:i.contentId,"aria-labelledby":i.triggerId,...r,ref:u,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:f=>{var l;a.isUsingKeyboardRef.current&&((l=d.current)==null||l.focus()),f.preventDefault()},onCloseAutoFocus:f=>f.preventDefault(),onFocusOutside:I(e.onFocusOutside,f=>{f.target!==i.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:I(e.onEscapeKeyDown,f=>{a.onClose(),f.preventDefault()}),onKeyDown:I(e.onKeyDown,f=>{var g;const l=f.currentTarget.contains(f.target),h=vu[a.dir].includes(f.key);l&&h&&(s.onOpenChange(!1),(g=i.trigger)==null||g.focus(),f.preventDefault())})})})})})});Es.displayName=Ss;function Rs(e){return e?"open":"closed"}function Gt(e){return e==="indeterminate"}function ao(e){return Gt(e)?"indeterminate":e?"checked":"unchecked"}function Lu(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Fu(e,t){return e.map((n,o)=>e[(t+o)%e.length])}function $u(e,t,n){const r=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let a=Fu(e,Math.max(s,0));r.length===1&&(a=a.filter(u=>u!==n));const d=a.find(u=>u.toLowerCase().startsWith(r.toLowerCase()));return d!==n?d:void 0}function Vu(e,t){const{x:n,y:o}=e;let r=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const i=t[s],d=t[a],u=i.x,f=i.y,l=d.x,h=d.y;f>o!=h>o&&n<(l-u)*(o-f)/(h-f)+u&&(r=!r)}return r}function Uu(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return Vu(n,t)}function xt(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Bu=is,Wu=to,Hu=cs,Ku=ls,Gu=so,zu=us,Yu=sn,Xu=fs,qu=ms,Zu=gs,Ju=xs,Qu=ws,ed=ys,td=Cs,nd=Es,an="DropdownMenu",[od]=Ye(an,[rs]),ae=rs(),[rd,Ts]=od(an),As=e=>{const{__scopeDropdownMenu:t,children:n,dir:o,open:r,defaultOpen:s,onOpenChange:a,modal:i=!0}=e,d=ae(t),u=p.useRef(null),[f,l]=pt({prop:r,defaultProp:s??!1,onChange:a,caller:an});return c.jsx(rd,{scope:t,triggerId:He(),triggerRef:u,contentId:He(),open:f,onOpenChange:l,onOpenToggle:p.useCallback(()=>l(h=>!h),[l]),modal:i,children:c.jsx(Bu,{...d,open:f,onOpenChange:l,dir:o,modal:i,children:n})})};As.displayName=an;var Ps="DropdownMenuTrigger",Ms=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:o=!1,...r}=e,s=Ts(Ps,n),a=ae(n);return c.jsx(Wu,{asChild:!0,...a,children:c.jsx(B.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...r,ref:Xt(t,s.triggerRef),onPointerDown:I(e.onPointerDown,i=>{!o&&i.button===0&&i.ctrlKey===!1&&(s.onOpenToggle(),s.open||i.preventDefault())}),onKeyDown:I(e.onKeyDown,i=>{o||(["Enter"," "].includes(i.key)&&s.onOpenToggle(),i.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(i.key)&&i.preventDefault())})})})});Ms.displayName=Ps;var sd="DropdownMenuPortal",Is=e=>{const{__scopeDropdownMenu:t,...n}=e,o=ae(t);return c.jsx(Hu,{...o,...n})};Is.displayName=sd;var Ns="DropdownMenuContent",_s=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Ts(Ns,n),s=ae(n),a=p.useRef(!1);return c.jsx(Ku,{id:r.contentId,"aria-labelledby":r.triggerId,...s,...o,ref:t,onCloseAutoFocus:I(e.onCloseAutoFocus,i=>{var d;a.current||(d=r.triggerRef.current)==null||d.focus(),a.current=!1,i.preventDefault()}),onInteractOutside:I(e.onInteractOutside,i=>{const d=i.detail.originalEvent,u=d.button===0&&d.ctrlKey===!0,f=d.button===2||u;(!r.modal||f)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});_s.displayName=Ns;var id="DropdownMenuGroup",ad=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Gu,{...r,...o,ref:t})});ad.displayName=id;var cd="DropdownMenuLabel",ld=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(zu,{...r,...o,ref:t})});ld.displayName=cd;var ud="DropdownMenuItem",Os=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Yu,{...r,...o,ref:t})});Os.displayName=ud;var dd="DropdownMenuCheckboxItem",js=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Xu,{...r,...o,ref:t})});js.displayName=dd;var fd="DropdownMenuRadioGroup",pd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(qu,{...r,...o,ref:t})});pd.displayName=fd;var md="DropdownMenuRadioItem",hd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Zu,{...r,...o,ref:t})});hd.displayName=md;var gd="DropdownMenuItemIndicator",Ds=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Ju,{...r,...o,ref:t})});Ds.displayName=gd;var vd="DropdownMenuSeparator",ks=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(Qu,{...r,...o,ref:t})});ks.displayName=vd;var xd="DropdownMenuArrow",wd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(ed,{...r,...o,ref:t})});wd.displayName=xd;var yd="DropdownMenuSubTrigger",bd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(td,{...r,...o,ref:t})});bd.displayName=yd;var Cd="DropdownMenuSubContent",Sd=p.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=ae(n);return c.jsx(nd,{...r,...o,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Sd.displayName=Cd;var Ed=As,Rd=Ms,Td=Is,Ad=_s,Pd=Os,Md=js,Id=Ds,Nd=ks;const _d="z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-x-hidden overflow-y-auto p-1 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",Od='relative flex cursor-default select-none items-center gap-2 px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*="size-"])]:size-4',jd='relative flex cursor-default select-none items-center gap-2 py-1.5 pr-2 pl-8 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*="size-"])]:size-4',Dd="-mx-1 my-1 h-px";function kd({children:e}){return c.jsx(Ed,{children:e})}function Ld({asChild:e,children:t}){return c.jsx(Rd,{asChild:e,children:t})}function Fd({align:e="end",sideOffset:t=4,className:n,children:o}){const r=re();return c.jsx(Td,{children:c.jsx(Ad,{align:e,sideOffset:t,className:X(_d,r.dropdown.content,n),children:o})})}function $d({onClick:e,disabled:t,className:n,asChild:o,children:r}){const s=re();return c.jsx(Pd,{onClick:e,disabled:t,asChild:o,className:X(Od,s.dropdown.item,n),children:r})}function Vd({checked:e,onCheckedChange:t,className:n,children:o}){const r=re();return c.jsxs(Md,{checked:e,onCheckedChange:t,className:X(jd,r.dropdown.checkboxItem,n),children:[c.jsx("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:c.jsx(Id,{children:c.jsx(tr,{className:"size-4"})})}),o]})}function Ud(){const e=re();return c.jsx(Nd,{className:X(Dd,e.dropdown.separator)})}const ee={Root:kd,Trigger:Ld,Content:Fd,Item:$d,CheckboxItem:Vd,Separator:Ud};function Ls({table:e}){const{t}=rt(),n=O.useRef(ya()),o=O.useMemo(()=>e.getAllColumns().filter(i=>{const d=i.columnDef.header;return!(!d||typeof d=="string"&&d.trim()===""||i.columnDef.enableHiding===!1)}),[e]),r=()=>{o.forEach(i=>{var f;const u=!((f=i.columnDef.meta)==null?void 0:f.defaultHidden);i.toggleVisibility(u)})};O.useEffect(()=>{const i=xa(n.current);let d=!1;i?(Object.entries(i).forEach(([u,f])=>{const l=e.getColumn(u);l?l.toggleVisibility(f):d=!0}),d&&wa(n.current)):r()},[n.current,e,o]);const s=(i,d)=>{const u=e.getColumn(i);if(u){u.toggleVisibility(d);const f={...e.getState().columnVisibility,[i]:d};To(n.current,f)}},a=()=>{r();const i={};o.forEach(d=>{var f;const u=(f=d.columnDef.meta)==null?void 0:f.defaultHidden;i[d.id]=!u}),To(n.current,i)};return c.jsxs(ee.Root,{children:[c.jsx(ee.Trigger,{asChild:!0,children:c.jsx(Ee,{children:c.jsx(Co,{className:"h-4 w-4"})})}),c.jsxs(ee.Content,{align:"end",className:"w-56",children:[c.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 text-sm font-semibold",children:[c.jsx(Co,{className:"h-4 w-4"}),t("dataTable.columnsConfiguration")]}),c.jsx(ee.Separator,{}),c.jsx("div",{className:"max-h-64 overflow-y-auto",children:o.map(i=>{const d=i.getIsVisible(),u=i.columnDef.header;let f="";return typeof u=="string"?f=u:f=i.id,c.jsx(ee.CheckboxItem,{checked:d,onCheckedChange:l=>s(i.id,l),children:f},i.id)})}),c.jsx(ee.Separator,{}),c.jsx(ee.Item,{onClick:a,className:"text-xs cursor-pointer",children:t("dataTable.resetColumns")})]})]})}function Bd({className:e}){const t=re();return c.jsx("div",{className:X(t.skeleton,e)})}function Jo(e,[t,n]){return Math.min(n,Math.max(t,e))}function Wd(e){const t=p.useRef({value:e,previous:e});return p.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Fs=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Hd="VisuallyHidden",Kd=p.forwardRef((e,t)=>c.jsx(B.span,{...e,ref:t,style:{...Fs,...e.style}}));Kd.displayName=Hd;var Gd=[" ","Enter","ArrowUp","ArrowDown"],zd=[" ","Enter"],Ge="Select",[cn,ln,Yd]=Bn(Ge),[ct]=Ye(Ge,[Yd,tn]),un=tn(),[Xd,Le]=ct(Ge),[qd,Zd]=ct(Ge),$s=e=>{const{__scopeSelect:t,children:n,open:o,defaultOpen:r,onOpenChange:s,value:a,defaultValue:i,onValueChange:d,dir:u,name:f,autoComplete:l,disabled:h,required:g,form:x}=e,m=un(t),[v,y]=p.useState(null),[b,w]=p.useState(null),[C,R]=p.useState(!1),T=qt(u),[E,S]=pt({prop:o,defaultProp:r??!1,onChange:s,caller:Ge}),[M,P]=pt({prop:a,defaultProp:i,onChange:d,caller:Ge}),L=p.useRef(null),D=v?x||!!v.closest("form"):!0,[F,$]=p.useState(new Set),G=Array.from(F).map(j=>j.props.value).join(";");return c.jsx(Lr,{...m,children:c.jsxs(Xd,{required:g,scope:t,trigger:v,onTriggerChange:y,valueNode:b,onValueNodeChange:w,valueNodeHasChildren:C,onValueNodeHasChildrenChange:R,contentId:He(),value:M,onValueChange:P,open:E,onOpenChange:S,dir:T,triggerPointerDownPosRef:L,disabled:h,children:[c.jsx(cn.Provider,{scope:t,children:c.jsx(qd,{scope:e.__scopeSelect,onNativeOptionAdd:p.useCallback(j=>{$(k=>new Set(k).add(j))},[]),onNativeOptionRemove:p.useCallback(j=>{$(k=>{const N=new Set(k);return N.delete(j),N})},[]),children:n})}),D?c.jsxs(si,{"aria-hidden":!0,required:g,tabIndex:-1,name:f,autoComplete:l,value:M,onChange:j=>P(j.target.value),disabled:h,form:x,children:[M===void 0?c.jsx("option",{value:""}):null,Array.from(F)]},G):null]})})};$s.displayName=Ge;var Vs="SelectTrigger",Us=p.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:o=!1,...r}=e,s=un(n),a=Le(Vs,n),i=a.disabled||o,d=q(t,a.onTriggerChange),u=ln(n),f=p.useRef("touch"),[l,h,g]=ai(m=>{const v=u().filter(w=>!w.disabled),y=v.find(w=>w.value===a.value),b=ci(v,m,y);b!==void 0&&a.onValueChange(b.value)}),x=m=>{i||(a.onOpenChange(!0),g()),m&&(a.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return c.jsx(Fr,{asChild:!0,...s,children:c.jsx(B.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:i,"data-disabled":i?"":void 0,"data-placeholder":ii(a.value)?"":void 0,...r,ref:d,onClick:I(r.onClick,m=>{m.currentTarget.focus(),f.current!=="mouse"&&x(m)}),onPointerDown:I(r.onPointerDown,m=>{f.current=m.pointerType;const v=m.target;v.hasPointerCapture(m.pointerId)&&v.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(x(m),m.preventDefault())}),onKeyDown:I(r.onKeyDown,m=>{const v=l.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&h(m.key),!(v&&m.key===" ")&&Gd.includes(m.key)&&(x(),m.preventDefault())})})})});Us.displayName=Vs;var Bs="SelectValue",Ws=p.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:r,children:s,placeholder:a="",...i}=e,d=Le(Bs,n),{onValueNodeHasChildrenChange:u}=d,f=s!==void 0,l=q(t,d.onValueNodeChange);return oe(()=>{u(f)},[u,f]),c.jsx(B.span,{...i,ref:l,style:{pointerEvents:"none"},children:ii(d.value)?c.jsx(c.Fragment,{children:a}):s})});Ws.displayName=Bs;var Jd="SelectIcon",Hs=p.forwardRef((e,t)=>{const{__scopeSelect:n,children:o,...r}=e;return c.jsx(B.span,{"aria-hidden":!0,...r,ref:t,children:o||"▼"})});Hs.displayName=Jd;var Qd="SelectPortal",Ks=e=>c.jsx(Qn,{asChild:!0,...e});Ks.displayName=Qd;var ze="SelectContent",Gs=p.forwardRef((e,t)=>{const n=Le(ze,e.__scopeSelect),[o,r]=p.useState();if(oe(()=>{r(new DocumentFragment)},[]),!n.open){const s=o;return s?Yt.createPortal(c.jsx(zs,{scope:e.__scopeSelect,children:c.jsx(cn.Slot,{scope:e.__scopeSelect,children:c.jsx("div",{children:e.children})})}),s):null}return c.jsx(Ys,{...e,ref:t})});Gs.displayName=ze;var we=10,[zs,Fe]=ct(ze),ef="SelectContentImpl",tf=mt("SelectContent.RemoveScroll"),Ys=p.forwardRef((e,t)=>{const{__scopeSelect:n,position:o="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:s,onPointerDownOutside:a,side:i,sideOffset:d,align:u,alignOffset:f,arrowPadding:l,collisionBoundary:h,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:v,...y}=e,b=Le(ze,n),[w,C]=p.useState(null),[R,T]=p.useState(null),E=q(t,_=>C(_)),[S,M]=p.useState(null),[P,L]=p.useState(null),D=ln(n),[F,$]=p.useState(!1),G=p.useRef(!1);p.useEffect(()=>{if(w)return Xr(w)},[w]),mr();const j=p.useCallback(_=>{const[U,...W]=D().map(V=>V.ref.current),[H]=W.slice(-1),K=document.activeElement;for(const V of _)if(V===K||(V==null||V.scrollIntoView({block:"nearest"}),V===U&&R&&(R.scrollTop=0),V===H&&R&&(R.scrollTop=R.scrollHeight),V==null||V.focus(),document.activeElement!==K))return},[D,R]),k=p.useCallback(()=>j([S,w]),[j,S,w]);p.useEffect(()=>{F&&k()},[F,k]);const{onOpenChange:N,triggerPointerDownPosRef:A}=b;p.useEffect(()=>{if(w){let _={x:0,y:0};const U=H=>{var K,V;_={x:Math.abs(Math.round(H.pageX)-(((K=A.current)==null?void 0:K.x)??0)),y:Math.abs(Math.round(H.pageY)-(((V=A.current)==null?void 0:V.y)??0))}},W=H=>{_.x<=10&&_.y<=10?H.preventDefault():w.contains(H.target)||N(!1),document.removeEventListener("pointermove",U),A.current=null};return A.current!==null&&(document.addEventListener("pointermove",U),document.addEventListener("pointerup",W,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",U),document.removeEventListener("pointerup",W,{capture:!0})}}},[w,N,A]),p.useEffect(()=>{const _=()=>N(!1);return window.addEventListener("blur",_),window.addEventListener("resize",_),()=>{window.removeEventListener("blur",_),window.removeEventListener("resize",_)}},[N]);const[z,Z]=ai(_=>{const U=D().filter(K=>!K.disabled),W=U.find(K=>K.ref.current===document.activeElement),H=ci(U,_,W);H&&setTimeout(()=>H.ref.current.focus())}),te=p.useCallback((_,U,W)=>{const H=!G.current&&!W;(b.value!==void 0&&b.value===U||H)&&(M(_),H&&(G.current=!0))},[b.value]),ve=p.useCallback(()=>w==null?void 0:w.focus(),[w]),ce=p.useCallback((_,U,W)=>{const H=!G.current&&!W;(b.value!==void 0&&b.value===U||H)&&L(_)},[b.value]),xe=o==="popper"?Dn:Xs,se=xe===Dn?{side:i,sideOffset:d,align:u,alignOffset:f,arrowPadding:l,collisionBoundary:h,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:v}:{};return c.jsx(zs,{scope:n,content:w,viewport:R,onViewportChange:T,itemRefCallback:te,selectedItem:S,onItemLeave:ve,itemTextRefCallback:ce,focusSelectedItem:k,selectedItemText:P,position:o,isPositioned:F,searchRef:z,children:c.jsx(eo,{as:tf,allowPinchZoom:!0,children:c.jsx(Hn,{asChild:!0,trapped:b.open,onMountAutoFocus:_=>{_.preventDefault()},onUnmountAutoFocus:I(r,_=>{var U;(U=b.trigger)==null||U.focus({preventScroll:!0}),_.preventDefault()}),children:c.jsx(Wn,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:_=>_.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:c.jsx(xe,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:_=>_.preventDefault(),...y,...se,onPlaced:()=>$(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:I(y.onKeyDown,_=>{const U=_.ctrlKey||_.altKey||_.metaKey;if(_.key==="Tab"&&_.preventDefault(),!U&&_.key.length===1&&Z(_.key),["ArrowUp","ArrowDown","Home","End"].includes(_.key)){let H=D().filter(K=>!K.disabled).map(K=>K.ref.current);if(["ArrowUp","End"].includes(_.key)&&(H=H.slice().reverse()),["ArrowUp","ArrowDown"].includes(_.key)){const K=_.target,V=H.indexOf(K);H=H.slice(V+1)}setTimeout(()=>j(H)),_.preventDefault()}})})})})})})});Ys.displayName=ef;var nf="SelectItemAlignedPosition",Xs=p.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:o,...r}=e,s=Le(ze,n),a=Fe(ze,n),[i,d]=p.useState(null),[u,f]=p.useState(null),l=q(t,E=>f(E)),h=ln(n),g=p.useRef(!1),x=p.useRef(!0),{viewport:m,selectedItem:v,selectedItemText:y,focusSelectedItem:b}=a,w=p.useCallback(()=>{if(s.trigger&&s.valueNode&&i&&u&&m&&v&&y){const E=s.trigger.getBoundingClientRect(),S=u.getBoundingClientRect(),M=s.valueNode.getBoundingClientRect(),P=y.getBoundingClientRect();if(s.dir!=="rtl"){const K=P.left-S.left,V=M.left-K,ie=E.left-V,pe=E.width+ie,$e=Math.max(pe,S.width),Ve=window.innerWidth-we,Ue=Jo(V,[we,Math.max(we,Ve-$e)]);i.style.minWidth=pe+"px",i.style.left=Ue+"px"}else{const K=S.right-P.right,V=window.innerWidth-M.right-K,ie=window.innerWidth-E.right-V,pe=E.width+ie,$e=Math.max(pe,S.width),Ve=window.innerWidth-we,Ue=Jo(V,[we,Math.max(we,Ve-$e)]);i.style.minWidth=pe+"px",i.style.right=Ue+"px"}const L=h(),D=window.innerHeight-we*2,F=m.scrollHeight,$=window.getComputedStyle(u),G=parseInt($.borderTopWidth,10),j=parseInt($.paddingTop,10),k=parseInt($.borderBottomWidth,10),N=parseInt($.paddingBottom,10),A=G+j+F+N+k,z=Math.min(v.offsetHeight*5,A),Z=window.getComputedStyle(m),te=parseInt(Z.paddingTop,10),ve=parseInt(Z.paddingBottom,10),ce=E.top+E.height/2-we,xe=D-ce,se=v.offsetHeight/2,_=v.offsetTop+se,U=G+j+_,W=A-U;if(U<=ce){const K=L.length>0&&v===L[L.length-1].ref.current;i.style.bottom="0px";const V=u.clientHeight-m.offsetTop-m.offsetHeight,ie=Math.max(xe,se+(K?ve:0)+V+k),pe=U+ie;i.style.height=pe+"px"}else{const K=L.length>0&&v===L[0].ref.current;i.style.top="0px";const ie=Math.max(ce,G+m.offsetTop+(K?te:0)+se)+W;i.style.height=ie+"px",m.scrollTop=U-ce+m.offsetTop}i.style.margin=`${we}px 0`,i.style.minHeight=z+"px",i.style.maxHeight=D+"px",o==null||o(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,i,u,m,v,y,s.dir,o]);oe(()=>w(),[w]);const[C,R]=p.useState();oe(()=>{u&&R(window.getComputedStyle(u).zIndex)},[u]);const T=p.useCallback(E=>{E&&x.current===!0&&(w(),b==null||b(),x.current=!1)},[w,b]);return c.jsx(rf,{scope:n,contentWrapper:i,shouldExpandOnScrollRef:g,onScrollButtonChange:T,children:c.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:C},children:c.jsx(B.div,{...r,ref:l,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});Xs.displayName=nf;var of="SelectPopperPosition",Dn=p.forwardRef((e,t)=>{const{__scopeSelect:n,align:o="start",collisionPadding:r=we,...s}=e,a=un(n);return c.jsx($r,{...a,...s,ref:t,align:o,collisionPadding:r,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Dn.displayName=of;var[rf,co]=ct(ze,{}),kn="SelectViewport",qs=p.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:o,...r}=e,s=Fe(kn,n),a=co(kn,n),i=q(t,s.onViewportChange),d=p.useRef(0);return c.jsxs(c.Fragment,{children:[c.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),c.jsx(cn.Slot,{scope:n,children:c.jsx(B.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:i,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:I(r.onScroll,u=>{const f=u.currentTarget,{contentWrapper:l,shouldExpandOnScrollRef:h}=a;if(h!=null&&h.current&&l){const g=Math.abs(d.current-f.scrollTop);if(g>0){const x=window.innerHeight-we*2,m=parseFloat(l.style.minHeight),v=parseFloat(l.style.height),y=Math.max(m,v);if(y<x){const b=y+g,w=Math.min(x,b),C=b-w;l.style.height=w+"px",l.style.bottom==="0px"&&(f.scrollTop=C>0?C:0,l.style.justifyContent="flex-end")}}}d.current=f.scrollTop})})})]})});qs.displayName=kn;var Zs="SelectGroup",[sf,af]=ct(Zs),cf=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=He();return c.jsx(sf,{scope:n,id:r,children:c.jsx(B.div,{role:"group","aria-labelledby":r,...o,ref:t})})});cf.displayName=Zs;var Js="SelectLabel",lf=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=af(Js,n);return c.jsx(B.div,{id:r.id,...o,ref:t})});lf.displayName=Js;var zt="SelectItem",[uf,Qs]=ct(zt),ei=p.forwardRef((e,t)=>{const{__scopeSelect:n,value:o,disabled:r=!1,textValue:s,...a}=e,i=Le(zt,n),d=Fe(zt,n),u=i.value===o,[f,l]=p.useState(s??""),[h,g]=p.useState(!1),x=q(t,b=>{var w;return(w=d.itemRefCallback)==null?void 0:w.call(d,b,o,r)}),m=He(),v=p.useRef("touch"),y=()=>{r||(i.onValueChange(o),i.onOpenChange(!1))};if(o==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return c.jsx(uf,{scope:n,value:o,disabled:r,textId:m,isSelected:u,onItemTextChange:p.useCallback(b=>{l(w=>w||((b==null?void 0:b.textContent)??"").trim())},[]),children:c.jsx(cn.ItemSlot,{scope:n,value:o,disabled:r,textValue:f,children:c.jsx(B.div,{role:"option","aria-labelledby":m,"data-highlighted":h?"":void 0,"aria-selected":u&&h,"data-state":u?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...a,ref:x,onFocus:I(a.onFocus,()=>g(!0)),onBlur:I(a.onBlur,()=>g(!1)),onClick:I(a.onClick,()=>{v.current!=="mouse"&&y()}),onPointerUp:I(a.onPointerUp,()=>{v.current==="mouse"&&y()}),onPointerDown:I(a.onPointerDown,b=>{v.current=b.pointerType}),onPointerMove:I(a.onPointerMove,b=>{var w;v.current=b.pointerType,r?(w=d.onItemLeave)==null||w.call(d):v.current==="mouse"&&b.currentTarget.focus({preventScroll:!0})}),onPointerLeave:I(a.onPointerLeave,b=>{var w;b.currentTarget===document.activeElement&&((w=d.onItemLeave)==null||w.call(d))}),onKeyDown:I(a.onKeyDown,b=>{var C;((C=d.searchRef)==null?void 0:C.current)!==""&&b.key===" "||(zd.includes(b.key)&&y(),b.key===" "&&b.preventDefault())})})})})});ei.displayName=zt;var ft="SelectItemText",ti=p.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:r,...s}=e,a=Le(ft,n),i=Fe(ft,n),d=Qs(ft,n),u=Zd(ft,n),[f,l]=p.useState(null),h=q(t,y=>l(y),d.onItemTextChange,y=>{var b;return(b=i.itemTextRefCallback)==null?void 0:b.call(i,y,d.value,d.disabled)}),g=f==null?void 0:f.textContent,x=p.useMemo(()=>c.jsx("option",{value:d.value,disabled:d.disabled,children:g},d.value),[d.disabled,d.value,g]),{onNativeOptionAdd:m,onNativeOptionRemove:v}=u;return oe(()=>(m(x),()=>v(x)),[m,v,x]),c.jsxs(c.Fragment,{children:[c.jsx(B.span,{id:d.textId,...s,ref:h}),d.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Yt.createPortal(s.children,a.valueNode):null]})});ti.displayName=ft;var ni="SelectItemIndicator",oi=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return Qs(ni,n).isSelected?c.jsx(B.span,{"aria-hidden":!0,...o,ref:t}):null});oi.displayName=ni;var Ln="SelectScrollUpButton",df=p.forwardRef((e,t)=>{const n=Fe(Ln,e.__scopeSelect),o=co(Ln,e.__scopeSelect),[r,s]=p.useState(!1),a=q(t,o.onScrollButtonChange);return oe(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=d.scrollTop>0;s(u)};const d=n.viewport;return i(),d.addEventListener("scroll",i),()=>d.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),r?c.jsx(ri,{...e,ref:a,onAutoScroll:()=>{const{viewport:i,selectedItem:d}=n;i&&d&&(i.scrollTop=i.scrollTop-d.offsetHeight)}}):null});df.displayName=Ln;var Fn="SelectScrollDownButton",ff=p.forwardRef((e,t)=>{const n=Fe(Fn,e.__scopeSelect),o=co(Fn,e.__scopeSelect),[r,s]=p.useState(!1),a=q(t,o.onScrollButtonChange);return oe(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=d.scrollHeight-d.clientHeight,f=Math.ceil(d.scrollTop)<u;s(f)};const d=n.viewport;return i(),d.addEventListener("scroll",i),()=>d.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),r?c.jsx(ri,{...e,ref:a,onAutoScroll:()=>{const{viewport:i,selectedItem:d}=n;i&&d&&(i.scrollTop=i.scrollTop+d.offsetHeight)}}):null});ff.displayName=Fn;var ri=p.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:o,...r}=e,s=Fe("SelectScrollButton",n),a=p.useRef(null),i=ln(n),d=p.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return p.useEffect(()=>()=>d(),[d]),oe(()=>{var f;const u=i().find(l=>l.ref.current===document.activeElement);(f=u==null?void 0:u.ref.current)==null||f.scrollIntoView({block:"nearest"})},[i]),c.jsx(B.div,{"aria-hidden":!0,...r,ref:t,style:{flexShrink:0,...r.style},onPointerDown:I(r.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(o,50))}),onPointerMove:I(r.onPointerMove,()=>{var u;(u=s.onItemLeave)==null||u.call(s),a.current===null&&(a.current=window.setInterval(o,50))}),onPointerLeave:I(r.onPointerLeave,()=>{d()})})}),pf="SelectSeparator",mf=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return c.jsx(B.div,{"aria-hidden":!0,...o,ref:t})});mf.displayName=pf;var $n="SelectArrow",hf=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=un(n),s=Le($n,n),a=Fe($n,n);return s.open&&a.position==="popper"?c.jsx(Vr,{...r,...o,ref:t}):null});hf.displayName=$n;var gf="SelectBubbleInput",si=p.forwardRef(({__scopeSelect:e,value:t,...n},o)=>{const r=p.useRef(null),s=q(o,r),a=Wd(t);return p.useEffect(()=>{const i=r.current;if(!i)return;const d=window.HTMLSelectElement.prototype,f=Object.getOwnPropertyDescriptor(d,"value").set;if(a!==t&&f){const l=new Event("change",{bubbles:!0});f.call(i,t),i.dispatchEvent(l)}},[a,t]),c.jsx(B.select,{...n,style:{...Fs,...n.style},ref:s,defaultValue:t})});si.displayName=gf;function ii(e){return e===""||e===void 0}function ai(e){const t=Ae(e),n=p.useRef(""),o=p.useRef(0),r=p.useCallback(a=>{const i=n.current+a;t(i),(function d(u){n.current=u,window.clearTimeout(o.current),u!==""&&(o.current=window.setTimeout(()=>d(""),1e3))})(i)},[t]),s=p.useCallback(()=>{n.current="",window.clearTimeout(o.current)},[]);return p.useEffect(()=>()=>window.clearTimeout(o.current),[]),[n,r,s]}function ci(e,t,n){const r=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let a=vf(e,Math.max(s,0));r.length===1&&(a=a.filter(u=>u!==n));const d=a.find(u=>u.textValue.toLowerCase().startsWith(r.toLowerCase()));return d!==n?d:void 0}function vf(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var xf=$s,wf=Us,yf=Ws,bf=Hs,Cf=Ks,Sf=Gs,Ef=qs,Rf=ei,Tf=ti,Af=oi;const Pf="flex h-9 w-full items-center justify-between gap-2 px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-muted-foreground [&>span]:line-clamp-1",Mf="relative z-50 max-h-96 min-w-[8rem] overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",If="p-1 h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]",Nf="relative flex w-full cursor-default select-none items-center py-1.5 pl-2 pr-8 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50";function _f({value:e,onValueChange:t,children:n}){return c.jsx(xf,{value:e,onValueChange:t,children:n})}function Of({className:e,children:t}){const n=re();return c.jsxs(wf,{className:X(Pf,n.select.trigger,e),children:[t,c.jsx(bf,{asChild:!0,children:c.jsx(Bi,{className:"h-4 w-4 opacity-50"})})]})}function jf({placeholder:e}){return c.jsx(yf,{placeholder:e})}function Df({children:e}){const t=re();return c.jsx(Cf,{children:c.jsx(Sf,{className:X(Mf,t.select.content),position:"popper",sideOffset:4,children:c.jsx(Ef,{className:If,children:e})})})}function kf({value:e,children:t}){const n=re();return c.jsxs(Rf,{value:e,className:X(Nf,n.select.item,"focus:bg-accent focus:text-accent-foreground"),children:[c.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Af,{children:c.jsx(tr,{className:"h-4 w-4"})})}),c.jsx(Tf,{children:t})]})}const Se={Root:_f,Trigger:Of,Value:jf,Content:Df,Item:kf},St=[25,50,100];function li({table:e,isLoading:t}){return c.jsx("div",{className:"flex items-center justify-center px-2 py-4",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Ee,{className:"h-9 w-9 p-0",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage()||t,children:c.jsx(Di,{className:"h-4 w-4"})}),c.jsx(Ee,{className:"h-9 w-9 p-0",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage()||t,children:c.jsx(Oi,{className:"h-4 w-4"})}),c.jsxs("div",{className:"flex items-center gap-2 px-4",children:[c.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-md border bg-background",children:t?c.jsx(Vi,{className:"h-4 w-4 animate-spin"}):e.getState().pagination.pageIndex+1}),c.jsxs("span",{className:"text-sm text-muted-foreground",children:["de ",e.getPageCount()]})]}),c.jsx(Ee,{className:"h-9 w-9 p-0",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage()||t,children:c.jsx(ji,{className:"h-4 w-4"})}),c.jsx(Ee,{className:"h-9 w-9 p-0",onClick:()=>e.setPageIndex(e.getPageCount()-1),disabled:!e.getCanNextPage()||t,children:c.jsx(ki,{className:"h-4 w-4"})})]})})}function ui({table:e,paginationSizes:t=St,enableElementLabel:n=!0}){const{t:o}=rt();return c.jsxs("div",{className:"flex items-center gap-2",children:[n&&c.jsx("span",{className:"text-sm text-muted-foreground",children:o("dataTable.paginationSize")}),c.jsxs(Se.Root,{value:e.getState().pagination.pageSize.toString(),onValueChange:r=>{e.setPageSize(Number(r))},children:[c.jsx(Se.Trigger,{className:"h-8 w-[80px]",children:c.jsx(Se.Value,{})}),c.jsx(Se.Content,{children:t.map((r,s)=>c.jsx(Se.Item,{value:r.toString(),children:r},r+s))})]})]})}var dn="Tabs",[Lf]=Ye(dn,[nn]),di=nn(),[Ff,lo]=Lf(dn),fi=p.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,onValueChange:r,defaultValue:s,orientation:a="horizontal",dir:i,activationMode:d="automatic",...u}=e,f=qt(i),[l,h]=pt({prop:o,onChange:r,defaultProp:s??"",caller:dn});return c.jsx(Ff,{scope:n,baseId:He(),value:l,onValueChange:h,orientation:a,dir:f,activationMode:d,children:c.jsx(B.div,{dir:f,"data-orientation":a,...u,ref:t})})});fi.displayName=dn;var pi="TabsList",mi=p.forwardRef((e,t)=>{const{__scopeTabs:n,loop:o=!0,...r}=e,s=lo(pi,n),a=di(n);return c.jsx(Gr,{asChild:!0,...a,orientation:s.orientation,dir:s.dir,loop:o,children:c.jsx(B.div,{role:"tablist","aria-orientation":s.orientation,...r,ref:t})})});mi.displayName=pi;var hi="TabsTrigger",gi=p.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,disabled:r=!1,...s}=e,a=lo(hi,n),i=di(n),d=xi(a.baseId,o),u=wi(a.baseId,o),f=o===a.value;return c.jsx(zr,{asChild:!0,...i,focusable:!r,active:f,children:c.jsx(B.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":u,"data-state":f?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:d,...s,ref:t,onMouseDown:I(e.onMouseDown,l=>{!r&&l.button===0&&l.ctrlKey===!1?a.onValueChange(o):l.preventDefault()}),onKeyDown:I(e.onKeyDown,l=>{[" ","Enter"].includes(l.key)&&a.onValueChange(o)}),onFocus:I(e.onFocus,()=>{const l=a.activationMode!=="manual";!f&&!r&&l&&a.onValueChange(o)})})})});gi.displayName=hi;var vi="TabsContent",$f=p.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,forceMount:r,children:s,...a}=e,i=lo(vi,n),d=xi(i.baseId,o),u=wi(i.baseId,o),f=o===i.value,l=p.useRef(f);return p.useEffect(()=>{const h=requestAnimationFrame(()=>l.current=!1);return()=>cancelAnimationFrame(h)},[]),c.jsx(at,{present:r||f,children:({present:h})=>c.jsx(B.div,{"data-state":f?"active":"inactive","data-orientation":i.orientation,role:"tabpanel","aria-labelledby":d,hidden:!h,id:u,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:l.current?"0s":void 0},children:h&&s})})});$f.displayName=vi;function xi(e,t){return`${e}-trigger-${t}`}function wi(e,t){return`${e}-content-${t}`}var Vf=fi,Uf=mi,Bf=gi;const Wf="inline-flex h-9 w-fit items-center justify-center p-[3px]",Hf='inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 px-2 py-1 text-sm font-medium whitespace-nowrap border border-transparent transition-[color,box-shadow] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*="size-"])]:size-4';function Kf({value:e,onValueChange:t,children:n}){return c.jsx(Vf,{value:e,onValueChange:t,children:n})}function Gf({children:e,className:t}){const n=re();return c.jsx(Uf,{className:X(Wf,n.tabs.list,t),children:e})}function zf({value:e,children:t}){const n=re();return c.jsx(Bf,{value:e,className:X(Hf,n.tabs.trigger,"data-[state=active]:shadow-sm",n.tabs.triggerActive),children:t})}const En={Root:Kf,List:Gf,Trigger:zf};function yi({prefilters:e,activePrefilter:t,onPrefilterChange:n}){var d;const o=oa(),{t:r}=rt(),s=re(),a=e.find(u=>u.id===t),i=e.length>0&&t!==((d=e[0])==null?void 0:d.id);return o||e.length>4?c.jsxs(Se.Root,{value:t,onValueChange:n,children:[c.jsx(Se.Trigger,{className:`w-fit min-w-32 ${i?s.state.active:""}`,children:c.jsx(Se.Value,{children:(a==null?void 0:a.label)||r("dataTable.selectFilter")})}),c.jsx(Se.Content,{children:e.map(u=>c.jsx(Se.Item,{value:u.id,children:u.label},u.id))})]}):c.jsx(En.Root,{value:t,onValueChange:n,children:c.jsx(En.List,{className:i?s.state.active:"",children:e.map(u=>c.jsx(En.Trigger,{value:u.id,children:u.label},u.id))})})}const Yf="flex h-9 w-full min-w-0 px-3 py-1 text-sm shadow-xs transition-[color,box-shadow] outline-none file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",uo=O.forwardRef(({value:e,onChange:t,onKeyDown:n,placeholder:o,className:r,type:s="text",isActive:a,...i},d)=>{const u=re();return c.jsx("input",{ref:d,type:s,value:e,onChange:t,onKeyDown:n,placeholder:o,className:X(Yf,u.input,a&&u.state.active,r),...i})});uo.displayName="Input";const Xf=500;function bi({value:e="",onDebouncedChange:t,placeholder:n}){const o=re(),[r,s]=O.useState(e);O.useEffect(()=>{s(e)},[e]),O.useEffect(()=>{const i=setTimeout(()=>{r!==e&&(t==null||t(r))},Xf);return()=>clearTimeout(i)},[r,e,t]);const a=r.length>0;return c.jsx("div",{className:"relative lg:min-w-[331px] min-w-[220px]",children:c.jsxs("div",{className:"flex relative",children:[c.jsx(uo,{"data-testid":"data-table-search-bar",type:"text",onChange:i=>s(i.target.value),value:r,placeholder:n,isActive:a}),c.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-3",children:c.jsx(nr,{className:`w-5 h-5 ${a?o.state.activeText:"text-muted-foreground"}`})})]})})}function Ci({filter:e,selectedValues:t=[],onFilterChange:n}){const{t:o}=rt(),r=re(),[s,a]=O.useState(""),i=t.length,d=O.useMemo(()=>t.map(g=>{var x;return(x=e.options.find(m=>m.value===g))==null?void 0:x.label}).filter(Boolean),[t,e.options]),u=O.useMemo(()=>{if(!s)return e.options;const g=s.toLowerCase();return e.options.filter(x=>x.label.toLowerCase().includes(g)||x.value.toLowerCase().includes(g))},[e.options,s]),f=g=>{const x=t.includes(g),m=e.multipleSelection??!1;let v;m?x?v=t.filter(y=>y!==g):v=[...t,g]:x?v=[]:v=[g],n(e.key,v)},l=()=>{n(e.key,[])};if(e.options.length===0)return null;const h=()=>i===0?e.label:i===1?d[0]:i===2?d.join(", "):`${d.slice(0,2).join(", ")} +${i-2}`;return c.jsxs(ee.Root,{children:[c.jsx(ee.Trigger,{asChild:!0,children:c.jsxs(Ee,{className:`gap-1.5 max-w-[250px] ${i>0?r.state.active:""}`,children:[c.jsx(Fi,{className:`h-4 w-4 shrink-0 ${i>0?r.state.activeText:""}`}),c.jsx("span",{className:"truncate",children:h()}),c.jsx(Vn,{className:"h-3.5 w-3.5 opacity-50 shrink-0"})]})}),c.jsxs(ee.Content,{align:"start",className:"w-56",children:[c.jsx("div",{className:"p-2",children:c.jsxs("div",{className:"relative",children:[c.jsx(nr,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),c.jsx(uo,{placeholder:o("dataTable.searchFilters"),value:s,onChange:g=>a(g.target.value),onKeyDown:g=>{(g.key.length===1||g.key==="Backspace"||g.key==="Delete")&&g.stopPropagation()},className:"pl-8 h-8"})]})}),u.length===0?c.jsx("div",{className:"px-2 py-4 text-sm text-muted-foreground text-center",children:o("dataTable.searchEmpty")}):u.map(g=>c.jsx(ee.CheckboxItem,{checked:t.includes(g.value),onCheckedChange:()=>f(g.value),className:"cursor-pointer",children:g.label},g.value)),i>0&&c.jsxs(c.Fragment,{children:[c.jsx(ee.Separator,{}),c.jsx(ee.Item,{onClick:l,className:"text-xs cursor-pointer",children:o("dataTable.resetFilters")})]})]})]})}const Rn="h-[15px] w-[15px] text-black";function Si({column:e}){return e.getCanSort()===!1?null:e.getIsSorted()?e.getIsSorted()==="desc"?c.jsx(Vn,{className:Rn}):c.jsx(_i,{className:Rn}):c.jsx(Li,{className:Rn})}function fo({data:e,columns:t,isLoading:n,isFetching:o,mode:r="client",pagination:s,onPaginationChange:a,totalCount:i,globalFilter:d,onGlobalFilterChange:u,enableGlobalSearch:f=!1,filters:l,columnFilters:h,onColumnFiltersChange:g,prefilters:x,activePrefilter:m,onPrefilterChange:v,sorting:y,onSortingChange:b,enableSorting:w=!0,columnVisibility:C,onColumnVisibilityChange:R,enableColumnConfiguration:T=!1,onRowClick:E,activeRowId:S,displayTotalNumber:M=!0,enableElementLabel:P=!0,enablePagination:L=!0,enableResponsive:D=!0,texts:F,onResetFilters:$,enableResetFilters:G=!0}){var ho;const{t:j}=rt(),k=re(),[N,A]=O.useState({pageIndex:0,pageSize:St[0]}),[z,Z]=O.useState(""),[te,ve]=O.useState({}),[ce,xe]=O.useState([]),[se,_]=O.useState({}),U=s??N,W=a??A,H=d??z,K=u??Z,V=h??te,ie=g??ve,pe=y??ce,$e=b??xe,Ve=C??se,Ue=R??_,fn=O.useCallback(Y=>{K(Y),W(J=>({...J,pageIndex:0}))},[K,W]),Ze=O.useMemo(()=>JSON.stringify(V),[V]);O.useEffect(()=>{W(Y=>Y.pageIndex===0?Y:{...Y,pageIndex:0})},[m,Ze,W]);const me=r==="server",Ri=i!==void 0?Math.ceil(i/U.pageSize):void 0,Ti=!me||i!==void 0,Ai=O.useMemo(()=>Object.entries(V).map(([Y,J])=>({id:Y,value:J})),[V]),Pi=O.useCallback((Y,J,Q)=>{const he=Y.getValue(J);return Q.includes(String(he))},[]),Ie=Be.useReactTable({data:e,columns:t,pageCount:me?Ri:void 0,state:{pagination:U,sorting:w?pe:void 0,globalFilter:!me&&f?H:void 0,columnFilters:!me&&(l!=null&&l.length)?Ai:void 0,columnVisibility:T?Ve:void 0},onPaginationChange:W,onSortingChange:w?$e:void 0,onColumnVisibilityChange:T?Ue:void 0,manualPagination:me,manualFiltering:me,manualSorting:me,getCoreRowModel:Be.getCoreRowModel(),getSortedRowModel:Be.getSortedRowModel(),getPaginationRowModel:L?Be.getPaginationRowModel():void 0,...!me&&(l!=null&&l.length||f)?{getFilteredRowModel:Be.getFilteredRowModel(),filterFns:{multiSelect:Pi},globalFilterFn:f?va:void 0}:{}}),Mi=(Y,J)=>{const Q=String(Y),he={...V};J.length===0?delete he[Q]:he[Q]=J,ie(he)},Ii=f||M||l&&l.length>0||T,mo=O.useMemo(()=>me?e.length:Ie.getRowModel().rows.length,[me,e.length,Ie]),Ni=O.useMemo(()=>me&&i!==void 0?i:Ie.getFilteredRowModel().rows.length,[me,i,Ie]);return c.jsxs("div",{className:X("relative flex flex-col flex-1",k.table.root),"data-testid":"datatable",children:[o&&!n&&c.jsx("div",{className:X("absolute inset-0 z-10 pointer-events-none",k.table.loadingOverlay)}),Ii&&c.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between py-4 gap-4",children:[c.jsx("div",{className:"flex items-center gap-2",children:x&&x.length>0&&v&&c.jsx(yi,{prefilters:x,activePrefilter:m??((ho=x[0])==null?void 0:ho.id)??"",onPrefilterChange:v})}),c.jsx("div",{className:"flex-1 flex justify-center",children:f&&c.jsx("div",{className:"w-full max-w-sm",children:c.jsx(bi,{value:H,onDebouncedChange:fn,placeholder:(F==null?void 0:F.searchPlaceholder)||j("dataTable.search")})})}),c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l==null?void 0:l.map(Y=>c.jsx(Ci,{filter:Y,selectedValues:V[String(Y.key)],onFilterChange:Mi},String(Y.key))),T&&c.jsx(Ls,{table:Ie}),G&&$&&c.jsx(Ee,{onClick:$,title:j("dataTable.resetFilters"),"data-testid":"datatable-reset-filters",children:c.jsx($i,{className:"h-4 w-4"})})]})]}),c.jsx("div",{className:X("sm:overflow-x-auto",k.table.container,D&&Oe.container.base),children:c.jsxs("table",{className:X("w-full text-sm"),"data-testid":"datatable-table",children:[c.jsx("thead",{className:X(k.table.header,D&&Oe.thead.base),children:Ie.getHeaderGroups().map(Y=>c.jsx("tr",{children:Y.headers.map(J=>{var Q,he,Et,Rt;return c.jsx("th",{className:X("px-4 py-3 text-left align-middle",k.table.headerCell,w&&"cursor-pointer"),onClick:J.column.getToggleSortingHandler(),style:{width:(he=(Q=J.column.columnDef)==null?void 0:Q.meta)==null?void 0:he.width,minWidth:(Rt=(Et=J.column.columnDef)==null?void 0:Et.meta)==null?void 0:Rt.minWidth},children:J.isPlaceholder?null:c.jsxs("span",{className:"flex gap-2 items-center justify-between w-full",children:[c.jsx("h3",{children:Be.flexRender(J.column.columnDef.header,J.getContext())}),w&&c.jsx(Si,{column:J.column})]})},J.id)})},Y.id))}),n?c.jsx("tbody",{className:k.table.divider,"data-testid":"datatable-loading",children:Array.from({length:U.pageSize>10?10:U.pageSize}).map((Y,J)=>c.jsx("tr",{className:X({[k.table.rowAlternate]:J%2===1}),children:t.map((Q,he)=>c.jsx("td",{className:"px-4 py-3 align-middle",children:c.jsx(Bd,{className:"h-4 w-full"})},`skeleton-table-${he}`))},J))}):mo>0?c.jsx("tbody",{className:X(k.table.divider,D&&Oe.tbody.base),"data-testid":"datatable-body",children:Ie.getRowModel().rows.map((Y,J)=>c.jsx("tr",{"data-testid":`datatable-row-${Y.id}`,className:X(k.table.row,k.table.rowHover,"transition-all ease-in-out duration-300",{[k.table.rowAlternate]:J%2===1,[k.table.rowActive]:S!==void 0&&"id"in Y.original&&S===Y.original.id},D&&Oe.row.base),children:Y.getVisibleCells().map((Q,he)=>{var go,vo,xo,wo;const Et=typeof Q.column.columnDef.header=="string"?Q.column.columnDef.header:Q.column.id,Rt=he===Y.getVisibleCells().length-1;return c.jsxs("td",{onClick:()=>{var yo,bo;return E&&!((bo=(yo=Q.column.columnDef)==null?void 0:yo.meta)!=null&&bo.disableColumnClick)&&E(Y.original)},className:X(E&&!((vo=(go=Q.column.columnDef)==null?void 0:go.meta)!=null&&vo.disableColumnClick)&&"cursor-pointer",((wo=(xo=Q.column.columnDef)==null?void 0:xo.meta)==null?void 0:wo.center)&&"align-middle text-center",D?X(Oe.cell.base,Rt&&Oe.cell.last):"px-4 py-3"),children:[D&&c.jsx("span",{className:Oe.cellLabel.base,children:Et}),c.jsx("span",{className:X(D&&Oe.cellContent.base),children:Be.flexRender(Q.column.columnDef.cell,Q.getContext())})]},Q.id)})},Y.id))}):c.jsx("caption",{className:X("h-24 flex items-center justify-center w-full pl-10",k.table.empty),"data-testid":"datatable-empty",children:(F==null?void 0:F.emptyTitle)||j("dataTable.searchEmpty")})]})}),c.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 py-4",children:[M&&c.jsx("div",{className:X("text-sm order-3 sm:order-1",k.table.empty),"data-testid":"datatable-count",children:j("dataTable.element",{count:mo,total:Ni})}),c.jsx("div",{className:"flex-1 flex justify-center order-1 sm:order-2",children:L&&Ti&&c.jsx(li,{table:Ie,isLoading:o})}),c.jsx("div",{className:"order-2 sm:order-3",children:c.jsx(ui,{table:Ie,enableElementLabel:P})})]})]})}function Ei({item:e,actions:t,onAction:n}){const o=qi(),r=(u,f)=>{var l;(l=Hi())==null||l({label:u,element:f})},s=()=>{var u;(u=Ki())==null||u()},a=t.filter(u=>!(typeof u=="function"?u(e):u).hidden),i=a.filter(u=>(typeof u=="function"?u(e):u).display!=="dropdown"),d=a.filter(u=>(typeof u=="function"?u(e):u).display==="dropdown");return c.jsxs("div",{className:"flex gap-2 justify-end items-center",children:[i.map((u,f)=>{const l=typeof u=="function"?u(e):u,h=l.icon;if(l.type==="link"){const g=l,x=g.href(e);return c.jsxs(o,{to:x,target:g.external?"_blank":void 0,rel:g.external?"noopener noreferrer":void 0,className:`inline-flex items-center justify-center gap-1.5 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-8 rounded-md ${l.showLabel?"px-3":"w-8"}`,"aria-disabled":l.disabled,onMouseEnter:m=>r(l.label,m.currentTarget),onMouseLeave:s,children:[c.jsx(h,{className:"h-4 w-4"}),l.showLabel&&l.label]},`link-${l.label}-${f}`)}return c.jsxs(Ee,{className:l.showLabel?"h-8 px-3":"h-8 w-8 p-0",variant:l.variant,onClick:()=>n(l,e),disabled:l.disabled,onMouseEnter:g=>r(l.label,g.currentTarget),onMouseLeave:s,children:[c.jsx(h,{className:"h-4 w-4"}),l.showLabel&&l.label]},`button-${l.label}-${f}`)}),d.length>0&&c.jsxs(ee.Root,{children:[c.jsx(ee.Trigger,{asChild:!0,children:c.jsx(Ee,{className:"h-9 w-9 p-0",children:c.jsx(Ui,{className:"h-4 w-4"})})}),c.jsx(ee.Content,{align:"end",children:d.map((u,f)=>{const l=typeof u=="function"?u(e):u,h=l.icon,g={warning:"text-amber-600 hover:text-amber-700 focus:text-amber-700",danger:"text-red-600 hover:text-red-700 focus:text-red-700",info:"text-blue-600 hover:text-blue-700 focus:text-blue-700",success:"text-green-600 hover:text-green-700 focus:text-green-700"},x=l.variant&&g[l.variant]?g[l.variant]:"";if(l.type==="link"){const m=l,v=m.href(e);return c.jsx(ee.Item,{asChild:!0,disabled:l.disabled,children:c.jsxs(o,{to:v,target:m.external?"_blank":void 0,rel:m.external?"noopener noreferrer":void 0,className:x,children:[c.jsx(h,{className:`mr-2 h-4 w-4 ${x}`}),l.label]})},`dropdown-${l.label}-${f}`)}return c.jsxs(ee.Item,{onClick:()=>n(l,e),disabled:l.disabled,className:x,children:[c.jsx(h,{className:`mr-2 h-4 w-4 ${x}`}),l.label]},`dropdown-${l.label}-${f}`)})})]})]})}const po=({columnConfig:e,actions:t,filters:n,mode:o})=>{const{confirm:r}=zi(),{t:s}=rt(),{mutate:a}=Vt.useMutation({mutationFn:async u=>u.endpoint(u.item)}),i=async(u,f)=>{const l=typeof u=="function"?u(f):u;if(l.confirm){const h=(x,m)=>typeof x=="function"?x({close:m}):x;if(!await r({title:l.confirm.title,content:x=>h(l.confirm.content,x.close),confirmText:l.confirm.confirmText,cancelText:l.confirm.cancelText,subtitle:l.confirm.subtitle,hideButtons:l.confirm.hideButtons}))return}if(l.type==="endpoint")a({item:f,endpoint:l.endpoint},{onError:(h,g,x)=>{var m;return(m=l.onError)==null?void 0:m.call(l,h,g.item,x)},onSuccess:(h,g,x)=>{var m;return(m=l.onSuccess)==null?void 0:m.call(l,h,g.item,x)}});else if(l.type==="click")l.onClick(f);else if(l.type==="link")return};return{columns:O.useMemo(()=>{const u=e.filter(f=>!f.hidden).map(f=>{const l=n==null?void 0:n.some(h=>h.key===f.key);return{accessorKey:f.key,accessorFn:f.searchableValue?h=>f.searchableValue(h):void 0,header:f.label??s(`data.${f.key}`),enableSorting:f.sortable??!0,enableColumnFilter:l,enableGlobalFilter:o==="client"?!!f.searchableValue:!1,filterFn:l?"multiSelect":void 0,meta:f.meta,cell:({row:h})=>{const g=h.original[f.key];return f.render?f.render(h.original):sa(g)}}});return t!=null&&t.length&&u.push({accessorKey:"actions",header:"",meta:{width:"auto"},enableSorting:!1,enableHiding:!1,cell:({row:f})=>c.jsx(Ei,{item:f.original,actions:t,onAction:i})}),u},[e,t,n,o,s]),handleAction:i}},qf=({queryKey:e,columnConfig:t,actions:n,filters:o,prefilters:r,prefilterFn:s,defaultSortBy:a,defaultSortOrder:i="asc",defaultPageSize:d=St[0],persistState:u=!1,fetchAllItemsEndpoint:f,...l})=>{var L;const{pagination:h,setPagination:g,globalFilter:x,setGlobalFilter:m,activePrefilter:v,setActivePrefilter:y,columnFilters:b,setColumnFilters:w,sorting:C,setSorting:R,resetToDefaults:T}=Un({enabled:u,defaultPrefilter:(L=r==null?void 0:r[0])==null?void 0:L.id,defaultPageSize:d,defaultSortBy:a,defaultSortOrder:i}),{data:E=[],isLoading:S}=Vt.useQuery({queryKey:e,queryFn:f}),M=O.useMemo(()=>!E||!v||!s?E:E.filter(D=>s(D,v)),[E,v,s]),{columns:P}=po({columnConfig:t,actions:n,filters:o,mode:"client"});return c.jsx(fo,{mode:"client",data:M,columns:P,isLoading:S,pagination:h,onPaginationChange:g,globalFilter:x,onGlobalFilterChange:m,filters:o,columnFilters:b,onColumnFiltersChange:w,prefilters:r,activePrefilter:v,onPrefilterChange:y,sorting:C,onSortingChange:R,onResetFilters:T,...l})},Zf=({queryKey:e,columnConfig:t,actions:n,filters:o,prefilters:r,defaultSortBy:s,defaultSortOrder:a="asc",defaultPageSize:i=St[0],persistState:d=!1,fetchServerEndpoint:u,...f})=>{var S,M,P;const{pagination:l,setPagination:h,globalFilter:g,setGlobalFilter:x,activePrefilter:m,setActivePrefilter:v,columnFilters:y,setColumnFilters:b,sorting:w,setSorting:C,resetToDefaults:R}=Un({enabled:d,defaultPrefilter:(S=r==null?void 0:r[0])==null?void 0:S.id,defaultPageSize:i,defaultSortBy:s,defaultSortOrder:a}),T=Vt.useQuery({queryKey:[...e,"server",l,g,m,y,w],queryFn:async()=>{var L,D;return u({limit:l.pageSize,offset:l.pageIndex*l.pageSize,search:g||void 0,prefilter:m,filters:Object.keys(y).length>0?y:void 0,sortBy:(L=w[0])==null?void 0:L.id,sortOrder:(D=w[0])!=null&&D.desc?"DESC":"ASC"})},placeholderData:Vt.keepPreviousData}),{columns:E}=po({columnConfig:t,actions:n,filters:o,mode:"server"});return c.jsx(fo,{mode:"server",data:((M=T.data)==null?void 0:M.items)??[],columns:E,isLoading:T.isLoading,isFetching:T.isFetching,totalCount:((P=T.data)==null?void 0:P.totalItemCount)??0,pagination:l,onPaginationChange:h,globalFilter:g,onGlobalFilterChange:x,filters:o,columnFilters:y,onColumnFiltersChange:b,prefilters:r,activePrefilter:m,onPrefilterChange:v,sorting:w,onSortingChange:C,onResetFilters:R,...f})};exports.ActionCell=Ei;exports.ColumnConfiguration=Ls;exports.DEFAULT_PAGE_SIZES=St;exports.DataTable=fo;exports.PageSizeSelector=ui;exports.Pagination=li;exports.PrefilterTabs=yi;exports.SearchBar=bi;exports.SingleFilterDropdown=Ci;exports.SnowClientDataTable=qf;exports.SnowServerDataTable=Zf;exports.SortButton=Si;exports.isSnowTableSetup=na;exports.redirectToPageWithParam=aa;exports.setupSnowTable=ta;exports.useSnowColumns=po;exports.useTableStatePersist=Un;
57
57
  //# sourceMappingURL=index.cjs.map