@rafal.lemieszewski/tide-ui 0.85.1 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/fundamental/breadcrumb.cjs +1 -1
- package/dist/cjs/components/fundamental/button.cjs +1 -1
- package/dist/cjs/components/fundamental/calendar.cjs +1 -1
- package/dist/cjs/components/fundamental/country-dropdown.cjs +1 -1
- package/dist/cjs/components/fundamental/custom-icons.cjs +1 -1
- package/dist/cjs/components/fundamental/dialog.cjs +1 -1
- package/dist/cjs/components/fundamental/file-upload.cjs +1 -1
- package/dist/cjs/components/fundamental/icon.cjs +1 -1
- package/dist/cjs/components/fundamental/month-picker.cjs +1 -1
- package/dist/cjs/components/fundamental/pagination.cjs +1 -1
- package/dist/cjs/components/fundamental/select.cjs +1 -1
- package/dist/cjs/components/fundamental/separator.cjs +1 -1
- package/dist/cjs/components/fundamental/sidebar.cjs +1 -1
- package/dist/cjs/components/fundamental/toast.cjs +1 -1
- package/dist/cjs/components/fundamental/tree.cjs +1 -1
- package/dist/cjs/components/product/app-frame.cjs +1 -1
- package/dist/cjs/components/product/attributes-list.cjs +1 -1
- package/dist/cjs/components/product/bookmarks.cjs +1 -1
- package/dist/cjs/components/product/data-table-settings-menu.cjs +1 -1
- package/dist/cjs/components/product/data-table.cjs +1 -1
- package/dist/cjs/components/product/filters.cjs +1 -1
- package/dist/cjs/components/product/fixture-status.cjs +1 -1
- package/dist/cjs/components/product/linked-chart.cjs +1 -1
- package/dist/cjs/components/product/view-mode-menu.cjs +1 -1
- package/dist/es/components/fundamental/button.js +10 -9
- package/dist/es/components/fundamental/calendar.js +18 -17
- package/dist/es/components/fundamental/custom-icons.js +283 -517
- package/dist/es/components/fundamental/dialog.js +25 -24
- package/dist/es/components/fundamental/file-upload.js +17 -16
- package/dist/es/components/fundamental/icon.js +68 -147
- package/dist/es/components/fundamental/month-picker.js +21 -20
- package/dist/es/components/fundamental/pagination.js +44 -43
- package/dist/es/components/fundamental/select.js +40 -39
- package/dist/es/components/fundamental/separator.js +11 -10
- package/dist/es/components/fundamental/sidebar.js +85 -84
- package/dist/es/components/fundamental/toast.js +8 -7
- package/dist/es/components/product/app-frame.js +83 -82
- package/dist/es/components/product/attributes-list.js +61 -60
- package/dist/es/components/product/bookmarks.js +170 -169
- package/dist/es/components/product/data-table-settings-menu.js +38 -37
- package/dist/es/components/product/data-table.js +374 -373
- package/dist/es/components/product/filters.js +93 -92
- package/dist/es/components/product/fixture-status.js +89 -87
- package/dist/es/components/product/linked-chart.js +54 -53
- package/dist/es/components/product/view-mode-menu.js +176 -175
- package/dist/types/components/core-index.d.cts +1 -1
- package/dist/types/components/core-index.d.ts +1 -1
- package/dist/types/components/fundamental/custom-icons.d.ts +32 -36
- package/dist/types/components/fundamental/dropdown-menu.d.ts +2 -1
- package/dist/types/components/fundamental/icon.d.ts +1 -3
- package/dist/types/components/index.d.ts +2 -1
- package/dist/types/components/product/fixture-status.d.ts +2 -2
- package/dist/types/lib/index.d.cts +1 -1
- package/dist/types/lib/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),Zr=require("react"),L=require("@tanstack/react-table"),Se=require("@dnd-kit/core"),gt=require("@dnd-kit/sortable"),en=require("@dnd-kit/utilities"),F=require("../../lib/utils.cjs"),Pe=require("../fundamental/button.cjs"),mt=require("../fundamental/input.cjs"),tn=require("../fundamental/autocomplete-search.cjs"),D=require("../fundamental/table.cjs"),Ee=require("../fundamental/select.cjs"),ht=require("../fundamental/checkbox.cjs"),W=require("../fundamental/icon.cjs"),xe=require("../fundamental/badge.cjs"),ze=require("../fundamental/popover.cjs"),Y=require("../fundamental/command.cjs"),sn=require("../fundamental/pagination.cjs"),Ns=require("../fundamental/skeleton.cjs"),Ue=require("../fundamental/spinner.cjs"),rn=require("./data-table-settings-menu.cjs"),ft=require("../fundamental/tooltip.cjs");function nn(c){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const i in c)if(i!=="default"){const a=Object.getOwnPropertyDescriptor(c,i);Object.defineProperty(n,i,a.get?a:{enumerable:!0,get:()=>c[i]})}}return n.default=c,Object.freeze(n)}const l=nn(Zr);function on(c,n){const[i,a]=l.useState(c);return l.useEffect(()=>{const g=setTimeout(()=>{a(c)},n);return()=>{clearTimeout(g)}},[c,n]),i}const Be=l.memo(function({children:n,align:i="left"}){const a=l.useRef(null),[g,b]=l.useState(!1),[v,h]=l.useState("");return l.useEffect(()=>{const p=a.current;if(!p)return;let x;const S=()=>{clearTimeout(x),x=setTimeout(()=>{if(a.current){const k=a.current.scrollWidth>a.current.clientWidth,y=a.current.firstElementChild,V=y?y.scrollWidth>y.clientWidth:!1;b(k||V)}},150)};if(a.current){const k=a.current.scrollWidth>a.current.clientWidth,y=a.current.firstElementChild,V=y?y.scrollWidth>y.clientWidth:!1;b(k||V)}const I=new ResizeObserver(S);return I.observe(p),()=>{clearTimeout(x),I.disconnect()}},[n]),l.useEffect(()=>{a.current&&h(a.current.textContent||"")},[n]),g?e.jsxs(ft.Tooltip,{children:[e.jsx(ft.TooltipTrigger,{asChild:!0,children:e.jsx("div",{ref:a,className:F.cn("min-w-0 overflow-hidden truncate [&>*]:truncate",i==="right"&&"text-right"),children:n})}),e.jsx(ft.TooltipContent,{side:"top",className:"max-w-xs",children:v})]}):e.jsx("div",{ref:a,className:F.cn("min-w-0 overflow-hidden truncate [&>*]:truncate",i==="right"&&"text-right"),children:n})}),Vt=(c,n,i,a)=>{const g=c.getValue(n),b=g!=null?String(g):"",v=i.toLowerCase();return b.toLowerCase().includes(v)?!0:b.toLowerCase().split(" ").some(p=>p.startsWith(v))},Ps=(c,n,i)=>{if(!i||i.length===0)return!0;const a=c.getValue(n);return i.includes(a)},an=(c,n,i,a)=>{if(!i||i.trim()==="")return!0;const g=String(i).toLowerCase(),b=h=>{const p=h.getAllCells().map(x=>x.column.id);for(const x of p){const S=h.getValue(x);if(S!=null&&String(S).toLowerCase().includes(g))return!0}return!1};c.getParentRow?.()?.getParentRow?.()||c.getParentRow?.();const v=b(c);return a&&v&&a({itemRank:1}),v};function ln(c,n){for(const i of c){const a=typeof n=="function"?n(i.original):i.original?.[n];if(a!=null){if(typeof a=="number")return"number";if(a instanceof Date)return"date";if(typeof a=="string"){const g=Date.parse(a);return isNaN(g)?"string":"date"}return"unknown"}}return"unknown"}function Is(c){if(c.length===0)return"";const n=Math.min(...c),i=Math.max(...c);return n===i?String(n):`${n} – ${i}`}function cn(c){return c.length===0?"":`Avg: ${(c.reduce((a,g)=>a+g,0)/c.length).toFixed(2)}`}function dn(c){return c.length===0?"":`Total: ${c.reduce((i,a)=>i+a,0)}`}function Ts(c){return`${c} ${c===1?"item":"items"}`}function Ds(c,n){if(c.length===0)return"";const a=new Set(c).size,g=a===1||n.endsWith("s")?n:n.endsWith("y")?n.slice(0,-1)+"ies":n+"s";return`${a} ${g.toLowerCase()}`}function un(c){if(c.length===0)return"";const n=new Map;c.forEach(g=>n.set(g,(n.get(g)||0)+1));let i=0,a="";return n.forEach((g,b)=>{g>i&&(i=g,a=b)}),`${a} (${i})`}function ks(c){if(c.length===0)return"";const i=c.map(v=>v instanceof Date?v:new Date(v)).filter(v=>!isNaN(v.getTime()));if(i.length===0)return"";const a=new Date(Math.min(...i.map(v=>v.getTime()))),g=new Date(Math.max(...i.map(v=>v.getTime()))),b=v=>v.toISOString().split("T")[0];return a.getTime()===g.getTime()?b(a):`${b(a)} – ${b(g)}`}function Es(c,n,i){const a=c.columnDef;if(c.id===i||a?.meta?.renderInGroupedRows||a?.meta?.aggregation===!1)return null;if(typeof a?.meta?.aggregation=="function"){const S="accessorKey"in a?a.accessorKey:void 0;return a.meta.aggregation(n,S)}const g="accessorKey"in a?a.accessorKey:void 0,b="accessorFn"in a?a.accessorFn:void 0,v=g||b;if(!v)return null;const h=n.map(S=>typeof v=="function"?v(S.original,S.index):S.original?.[v]).filter(S=>S!=null);if(h.length===0)return null;const p=a?.meta?.aggregation;if(p&&typeof p=="string")switch(p){case"range":return Is(h);case"average":return cn(h);case"sum":return dn(h);case"count":return Ts(h.length);case"uniqueCount":return Ds(h.map(String),a?.meta?.label||String(c.id));case"mostCommon":return un(h.map(String));case"dateRange":return ks(h);default:return null}switch(ln(n,v)){case"number":return Is(h);case"string":return Ds(h.map(String),a?.meta?.label||String(c.id));case"date":return ks(h);default:return Ts(h.length)}}function $t({columns:c,rows:n,showRowBorder:i=!0,showCellBorder:a=!0,skipHeader:g=!1,enableResponsiveWrapper:b=!0}){const v=b?"h-4 w-full max-w-full":"h-4 w-[120px]",h=b?"h-4 w-full max-w-full":"h-4 w-[100px]";return e.jsxs(e.Fragment,{children:[!g&&e.jsx(D.TableRow,{showBorder:i,children:Array.from({length:c}).map((p,x)=>e.jsx(D.TableHead,{showBorder:a,className:"overflow-hidden",children:e.jsx(Ns.Skeleton,{className:v})},x))}),Array.from({length:n}).map((p,x)=>e.jsx(D.TableRow,{showBorder:i,children:Array.from({length:c}).map((S,I)=>e.jsx(D.TableCell,{showBorder:a,showRowBorder:i,className:"text-body-sm overflow-hidden",children:e.jsx(Ns.Skeleton,{className:h})},I))},x))]})}const gn=l.memo(function({title:n="No data",description:i="No items to display",action:a,customContent:g}){return g?e.jsx(e.Fragment,{children:g}):e.jsxs("div",{className:"flex flex-col items-center justify-center py-[var(--space-2xl)] text-center",children:[e.jsx("p",{className:"text-body-medium-md text-[var(--color-text-primary)]",children:n}),i&&e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)] mt-[var(--space-xs)]",children:i}),a&&e.jsx(Pe.Button,{variant:"primary",size:"s",className:"mt-[var(--space-m)]",onClick:a.onClick,children:a.label})]})}),fn=l.memo(function({title:n="No results found",description:i="Try adjusting your search or filters",action:a,customContent:g}){return g?e.jsx(e.Fragment,{children:g}):e.jsxs("div",{className:"flex flex-col items-center justify-center py-[var(--space-2xl)] text-center",children:[e.jsx("p",{className:"text-body-medium-md text-[var(--color-text-primary)]",children:n}),i&&e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)] mt-[var(--space-xs)]",children:i}),a&&e.jsx(Pe.Button,{variant:"default",size:"s",className:"mt-[var(--space-m)]",onClick:a.onClick,children:a.label})]})}),mn=l.memo(function({error:n,onRetry:i,customContent:a}){return a?e.jsx(e.Fragment,{children:a}):e.jsxs("div",{className:"flex flex-col items-center justify-center py-[var(--space-2xl)] text-center",children:[e.jsx("p",{className:"text-body-medium-md text-[var(--color-text-primary)]",children:"Something went wrong"}),e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)] mt-[var(--space-xs)]",children:n?.message||"An error occurred while loading data"}),i&&e.jsx(Pe.Button,{variant:"default",size:"s",className:"mt-[var(--space-m)]",onClick:i,children:"Try again"})]})}),hn=l.memo(function(){return e.jsx("div",{className:"absolute top-0 left-0 right-0 h-[2px] overflow-hidden",children:e.jsx("div",{className:"h-full w-full bg-[var(--color-background-brand)] animate-pulse"})})}),Fs=l.memo(function({table:n,searchKey:i,searchPlaceholder:a="Search...",enableGlobalSearch:g=!1,globalSearchPlaceholder:b="Search all columns...",globalFilter:v="",onGlobalFilterChange:h,enableGlobalFaceting:p=!1,enableGrouping:x=!1,showSettingsMenu:S=!1,enableAutocomplete:I=!1,autocompleteSuggestions:k=[],autocompleteMinCharacters:y=2}){const V=n.getState().columnFilters.length>0||g&&v.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[g&&h&&e.jsx(e.Fragment,{children:I&&k.length>0?e.jsx(tn.AutocompleteSearch,{value:v,onValueChange:h,suggestions:k,placeholder:b,minCharacters:y,className:"h-8 w-[150px] lg:w-[250px]",onSelect:h}):e.jsx(mt.Input,{placeholder:b,value:v,onChange:z=>h(z.target.value),className:"h-8 w-[150px] lg:w-[250px]"})}),i&&!g&&e.jsx(mt.Input,{placeholder:a,value:n.getColumn(i)?.getFilterValue()??"",onChange:z=>n.getColumn(i)?.setFilterValue(z.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),n.getAllColumns().filter(z=>z.getCanFilter()&&z.columnDef.meta?.filterVariant).map(z=>e.jsx(Ms,{column:z},z.id)),p&&e.jsx(pn,{table:n}),V&&e.jsxs(Pe.Button,{variant:"ghost",onClick:()=>{n.resetColumnFilters(),g&&h&&h("")},className:"h-8 px-2 lg:px-3",children:["Reset",e.jsx(W.Icon,{name:"x",className:"ml-2 h-4 w-4"})]})]}),S&&e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(Vs,{table:n,enableGrouping:x})})]})}),pn=l.memo(function({table:n}){const[i,a]=l.useState([]),g=n.getAllColumns().filter(h=>h.columnDef.meta?.filterOptions&&h.getCanFilter()),b=l.useMemo(()=>{const h=new Map;return g.forEach(p=>{const x=p.getFacetedUniqueValues(),S=p.columnDef.meta?.filterOptions||[],I=p.columnDef.meta?.label||p.columnDef.header;x.forEach((k,y)=>{const V=S.find(z=>z.value===y);if(V&&k>0){const z=`${I}:${y}`;h.set(z,{count:k,column:I,label:V.label})}})}),Array.from(h.entries()).map(([p,x])=>({key:p,value:p.split(":")[1],...x})).sort((p,x)=>x.count-p.count)},[g]),v=h=>{const p=i.includes(h)?i.filter(x=>x!==h):[...i,h];a(p),g.forEach(x=>{const S=x.columnDef.meta?.filterOptions||[],I=p.filter(k=>S.some(y=>y.value===k));I.length>0?x.columnDef.meta?.filterVariant==="multiselect"?x.setFilterValue(I):x.columnDef.meta?.filterVariant==="select"&&x.setFilterValue(I[0]):x.setFilterValue(void 0)})};return b.length===0?null:e.jsxs(ze.Popover,{children:[e.jsx(ze.PopoverTrigger,{asChild:!0,children:e.jsxs(Pe.Button,{variant:"ghost",size:"s",className:"h-8 border-dashed",children:[e.jsx(W.Icon,{name:"filter",className:"mr-2 h-4 w-4"}),"Global Faceting",i.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mx-2 h-4 w-px bg-[var(--color-border-primary)]"}),e.jsxs(xe.Badge,{className:"rounded-s px-1 font-normal",children:[i.length," selected"]})]})]})}),e.jsx(ze.PopoverContent,{className:"w-[300px] p-0",align:"start",children:e.jsxs(Y.Command,{children:[e.jsx(Y.CommandInput,{placeholder:"Search values across all columns..."}),e.jsxs(Y.CommandList,{children:[e.jsx(Y.CommandEmpty,{children:"No results found"}),e.jsx(Y.CommandGroup,{children:b.map(h=>{const p=i.includes(h.value);return e.jsx(Y.CommandItem,{onSelect:()=>v(h.value),children:e.jsxs("div",{className:"flex items-center justify-between flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ht.Checkbox,{checked:p}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-body-sm",children:h.label}),e.jsxs("span",{className:"text-caption-sm text-[var(--color-text-secondary)]",children:["in ",h.column]})]})]}),e.jsx(xe.Badge,{className:"ml-auto text-caption-sm px-1 py-0",children:h.count})]})},h.key)})})]})]})})]})}),Ms=l.memo(function({column:n}){const{filterVariant:i,filterOptions:a,label:g,placeholder:b}=n.columnDef.meta||{},v=n.getFilterValue(),h=n.getFacetedUniqueValues();if(i==="select"&&a)return e.jsxs(Ee.Select,{value:v||"all",onValueChange:p=>n.setFilterValue(p==="all"?"":p),children:[e.jsx(Ee.SelectTrigger,{className:"h-8 w-[150px]",children:e.jsx(Ee.SelectValue,{placeholder:b||`Filter ${g}`})}),e.jsxs(Ee.SelectContent,{children:[e.jsxs(Ee.SelectItem,{value:"all",children:["All ",g]}),a.map(p=>{const x=h.get(p.value)||0;return e.jsx(Ee.SelectItem,{value:p.value,children:e.jsxs("div",{className:"flex items-center justify-between w-full gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[p.icon&&e.jsx(p.icon,{className:"h-4 w-4"}),p.label]}),x>0&&e.jsx(xe.Badge,{className:"ml-auto text-caption-sm px-1 py-0",children:x})]})},p.value)})]})]});if(i==="multiselect"&&a){const p=v||[];return e.jsxs(ze.Popover,{children:[e.jsx(ze.PopoverTrigger,{asChild:!0,children:e.jsxs(Pe.Button,{variant:"ghost",size:"s",className:"h-8 border-dashed",children:[e.jsx(W.Icon,{name:"plus-circle",className:"mr-2 h-4 w-4"}),g,p.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mx-2 h-4 w-px bg-[var(--color-border-primary)]"}),e.jsx(xe.Badge,{className:"rounded-s px-1 font-normal lg:hidden",children:p.length}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:p.length>2?e.jsxs(xe.Badge,{className:"rounded-s px-1 font-normal",children:[p.length," selected"]}):a.filter(x=>p.includes(x.value)).map(x=>e.jsx(xe.Badge,{className:"rounded-s px-1 font-normal",children:x.label},x.value))})]})]})}),e.jsx(ze.PopoverContent,{className:"w-[200px] p-0",align:"start",children:e.jsxs(Y.Command,{children:[e.jsx(Y.CommandInput,{placeholder:b||`Search ${g}...`}),e.jsxs(Y.CommandList,{children:[e.jsx(Y.CommandEmpty,{children:"No results found"}),e.jsx(Y.CommandGroup,{children:a.map(x=>{const S=p.includes(x.value),I=h.get(x.value)||0;return e.jsx(Y.CommandItem,{onSelect:()=>{const k=S?p.filter(y=>y!==x.value):[...p,x.value];n.setFilterValue(k.length?k:void 0)},children:e.jsxs("div",{className:"flex items-center justify-between flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ht.Checkbox,{checked:S}),x.icon&&e.jsx(x.icon,{className:"h-4 w-4"}),e.jsx("span",{children:x.label})]}),I>0&&e.jsx(xe.Badge,{className:"ml-auto text-caption-sm px-1 py-0",children:I})]})},x.value)})})]})]})})]})}return i==="number"?e.jsx(mt.Input,{placeholder:b||`Filter ${g}...`,value:v||"",onChange:p=>n.setFilterValue(p.target.value),className:"h-8 w-[150px]",type:"number"}):e.jsx(mt.Input,{placeholder:b||`Filter ${g}...`,value:v||"",onChange:p=>n.setFilterValue(p.target.value),className:"h-8 w-[150px]"})}),xn=l.memo(function({header:n,enableColumnOrdering:i,children:a}){const{attributes:g,listeners:b,setNodeRef:v,transform:h,transition:p,isDragging:x}=gt.useSortable({id:n.id,disabled:!i}),S={transform:en.CSS.Translate.toString(h),transition:p,opacity:x?.5:1};return i?e.jsxs("div",{ref:v,style:S,className:F.cn("relative flex items-center",x&&"z-50"),children:[e.jsx("div",{className:"flex-1",children:a}),i&&e.jsx("div",{className:"ml-2 p-1 !cursor-grab active:!cursor-grabbing hover:bg-[var(--color-background-neutral-subtlest-hovered)] rounded-s transition-colors",...g,...b,children:e.jsx(W.Icon,{name:"grip-vertical",className:"h-3 w-3 text-[var(--color-text-tertiary)]"})})]}):e.jsx(e.Fragment,{children:a})}),Vs=l.memo(function({table:n,enableGrouping:i=!1}){const a=n.getAllColumns().filter(w=>w.getCanSort()).map(w=>({id:w.id,label:w.columnDef.meta?.label||w.columnDef.header||w.id})),g=n.getAllColumns().filter(w=>w.getCanGroup?.()||w.columnDef.enableGrouping).map(w=>({id:w.id,label:w.columnDef.meta?.label||w.columnDef.header||w.id})),b=n.getAllColumns().filter(w=>typeof w.accessorFn<"u"&&w.getCanHide()).map(w=>({id:w.id,label:w.columnDef.meta?.label||w.columnDef.header||w.id})),v=b.filter(w=>n.getColumn(w.id)?.getIsVisible()).map(w=>w.id),h=n.getState().sorting[0],p=h?.id,x=h?.desc?"desc":"asc",I=n.getState().grouping[0]||"",k=w=>{n.setSorting([{id:w,desc:x==="desc"}])},y=w=>{h&&n.setSorting([{id:h.id,desc:w==="desc"}])},V=w=>{!w||w==="none"?n.setGrouping([]):n.setGrouping([w])},z=(w,Je)=>{n.getColumn(w)?.toggleVisibility(Je)};return e.jsx(rn.DataTableSettingsMenu,{sortableColumns:a,selectedSortColumn:p,sortDirection:x,onSortChange:k,onSortDirectionChange:y,groupableColumns:i?g:[],selectedGroupColumn:I,onGroupChange:V,columns:b,visibleColumns:v,onColumnVisibilityChange:z})}),bn=l.memo(function({column:n,title:i,className:a}){const g=n.columnDef.meta?.align||"left",b=n.columnDef.meta?.truncate!==!1,v=n.getIsSorted();return n.getCanSort()?e.jsxs("div",{className:F.cn("flex items-center gap-1",g==="right"&&"justify-end",v&&"!text-[var(--color-text-brand-bold)]",a),children:[v&&e.jsx(W.Icon,{name:v==="desc"?"arrow-down-wide-narrow":"arrow-down-narrow-wide",className:"h-4 w-4 !text-[var(--color-icon-brand-bold)]"}),b?e.jsx(Be,{align:g,children:e.jsx("span",{children:i})}):e.jsx("span",{children:i})]}):b?e.jsx(Be,{align:g,children:e.jsx("div",{className:F.cn(g==="right"?"text-right":"text-left",a),children:i})}):e.jsx("div",{className:F.cn(g==="right"?"text-right":"text-left",a),children:i})}),$s=l.memo(function({table:n,enableGrouping:i=!1,hideChildrenForSingleItemGroups:a={},footerLabel:g,onNextPageHover:b,onPreviousPageHover:v,paginationVariant:h="full",pageSizeOptions:p=[10,25,50,100]}){const x=n.getState().pagination.pageIndex+1,S=n.getState().pagination.pageSize,I=i&&!n.options.manualPagination?n.getPrePaginationRowModel().rows.filter(z=>z.depth===0).length:n.getRowCount(),k=n.getFilteredSelectedRowModel().rows.length,y=z=>{n.setPageIndex(z-1)},V=z=>{n.setPageSize(z)};return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"flex-1 text-body-sm text-[var(--color-text-secondary)]",children:g?e.jsxs("div",{className:"flex items-center gap-[var(--space-m)]",children:[g,k>0&&e.jsxs("span",{children:["· ",k," of ",I," row(s) selected"]})]}):k>0&&e.jsxs("span",{children:[k," of ",I," row(s) selected."]})}),e.jsx(sn.Pagination,{variant:h,currentPage:x,totalItems:I,pageSize:S,onPageChange:y,onPageSizeChange:V,pageSizeOptions:p,onNextPageHover:b,onPreviousPageHover:v})]})}),vn=l.memo(function({onLoadMore:n,isLoading:i}){const a=l.useRef(null);return l.useEffect(()=>{const g=a.current;if(!g||i)return;const b=new IntersectionObserver(v=>{v[0].isIntersecting&&n()},{threshold:.1});return b.observe(g),()=>b.disconnect()},[n,i]),e.jsx("div",{ref:a,className:"flex justify-center py-[var(--space-m)] border-t border-[var(--color-border-primary-subtle)]",children:i&&e.jsx(Ue.Spinner,{size:"s"})})});function yn(c){let n=0;const i=(a,g)=>{a.forEach(b=>{b.depth>n&&(n=b.depth),b.subRows&&b.subRows.length>0&&i(b.subRows)})};return i(c),n}function Bs(c,n){const{enableGrouping:i,enableExpanding:a,nestedRowStyling:g,expandingRowColors:b,maxDepth:v}=n,h=c.depth,p=c.getIsGrouped?.(),x=c.getIsExpanded(),S=c.subRows&&c.subRows.length>0,I=S?x?"expanded":"collapsed":"leaf",k=()=>{let y=c;for(;y;){if(y.getIsExpanded())return!0;y=y.getParentRow?.()}return!1};if(g?.colors&&g.colors[h]!==void 0){const y=g.colors[h];if(typeof y=="string")return y;if(typeof y=="object"){if(I==="expanded"&&y.expanded)return y.expanded;if(I==="collapsed"&&y.collapsed)return y.collapsed;if(I==="leaf"&&y.leaf)return y.leaf;if(y.default)return y.default}}if(a&&!p&&b){const y=v-h;if(y===0&&b.children)return b.children;if(y>0){if(x&&b.expandedParent)return b.expandedParent;if(!x&&b.collapsedParent)return b.collapsedParent}}return p?x?"var(--blue-50)":"var(--color-background-neutral-subtlest)":i&&h===1?"var(--blue-25)":a&&!p?h===0&&(!S||!k())?"":(v-h)%2===0?"var(--blue-25)":"var(--blue-50)":""}function jn(c,n){if(n){if(n.heights&&n.heights[c]!==void 0)return n.heights[c];if(n.defaultHeight)return n.defaultHeight}}function zs(c,n,i,a,g,b){const v=c.groupingColumnId,h=g[v]??!1,p=b[v]??!1,S=h&&p&&c.subRows.length<=1?null:c.subRows.length>1?e.jsx("button",{tabIndex:-1,onClick:c.getToggleExpandedHandler(),className:"flex h-[var(--size-s)] w-[var(--size-s)] cursor-pointer items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",children:e.jsx(W.Icon,{name:a?"chevron-down":"chevron-right",className:"h-3 w-3"})}):e.jsx("div",{className:"h-[var(--size-s)] w-[var(--size-s)]"}),I=c.subRows.length>1?e.jsx(xe.Badge,{appearance:"subtle",size:"s",truncate:!1,children:c.subRows.length}):null;if(i){const k=n.getAllColumns().find(y=>y.id===i);if(k){const y=k.columnDef;if(y.aggregatedCell){const V=c.getAllCells().find(z=>z.column.id===i);return e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] font-medium text-[var(--color-text-primary)]",children:[S,e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[V?L.flexRender(y.aggregatedCell,V.getContext()):null,I]})]})}else{const V=c.subRows[0]?.original?.[i];return e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] font-medium text-[var(--color-text-primary)]",children:[S,e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[e.jsx("span",{className:"font-medium",children:String(V)}),I]})]})}}}return e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] font-medium text-[var(--color-text-primary)]",children:[S,e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[e.jsx("span",{className:"font-medium",children:String(c.getGroupingValue(c.groupingColumnId))}),I]})]})}function Cn({columns:c,data:n,searchKey:i,searchPlaceholder:a,title:g,caption:b,className:v,stickyHeader:h=!1,stickyFirstColumn:p=!1,stickyLeftColumns:x=0,stickyRightColumns:S=0,enableResponsiveWrapper:I=!0,showScrollIndicators:k=!1,minTableWidth:y="900px",isLoading:V=!1,loadingBehavior:z="replace",loadingRowCount:w=10,borderStyle:Je="both",defaultVerticalAlign:Re="middle",enableGlobalSearch:le=!1,globalSearchPlaceholder:As="Search all columns...",enableAutocomplete:pt=!1,globalSearchColumns:Ke,autocompleteMinCharacters:Ls=2,enableGlobalFaceting:Os=!1,enableColumnResizing:te=!1,columnResizeMode:qs="onChange",enableColumnResizePersistence:Xe=!1,enablePaginationPersistence:xt=!1,storageKey:Z="data-table-columns",enableExpanding:_=!1,getSubRows:Hs,expandingRowColors:q,nestedRowStyling:bt,enableGrouping:E=!1,groupedColumnMode:Ws=!1,enableManualGrouping:_s=!1,groupDisplayColumn:Qe,hideChildrenForSingleItemGroups:be={},hideExpanderForSingleItemGroups:At={},enableRowPinning:Ne=!1,keepPinnedRows:Lt=!0,enableVirtualization:Gs=!1,nestedHeaders:Ye=[],enableNestedHeaders:Us=!1,enableColumnOrdering:Ze=!1,enableRowSelection:ue=!1,showHeader:Fe=!0,showPagination:vt=!0,paginationVariant:Js="full",pageSizeOptions:Ks=[10,25,50,100],footerLabel:Xs,onTableReady:yt,initialState:Me,sorting:Ot,onSortingChange:Qs,columnVisibility:qt,onColumnVisibilityChange:Ys,grouping:Ht,onGroupingChange:Zs,columnOrder:Wt,onColumnOrderChange:er,columnSizing:jt,onColumnSizingChange:tr,pagination:_t,onPaginationChange:sr,expanded:ve,onExpandedChange:Ct,renderSectionHeaderRow:Gt,renderSubComponent:J,getRowCanExpand:rr,autoExpandChildren:Ut=!1,onRowClick:K,isRowClickable:ye,clickableRowClassName:Jt,groupPreservingSearch:et=!1,activeRowId:Ve,activeRowClassName:Kt,getRowId:wt,onActiveRowChange:Xt,onRowSelectionChange:St,onNextPageHover:nr,onPreviousPageHover:or,onRowUpdate:wn,onLoadMore:Qt,hasMoreData:ar,isLoadingMore:lr,error:Yt,onRetry:ir,errorComponent:cr,emptyState:dr,emptyStateTitle:ur="No data",emptyStateDescription:gr="No items to display",emptyStateAction:fr,noResultsState:mr,noResultsTitle:hr="No results found",noResultsDescription:pr="Try adjusting your search or filters",noResultsAction:xr,isRefetching:br=!1,manualSorting:Zt=!1,manualFiltering:es=!1,manualPagination:tt=!1,rowCount:vr,manualExpanding:ts=!1,onLoadChildren:st,expandingRowsLoading:rt,subComponentLoading:nt,onSubComponentLoad:Ie,expandingRowsError:Sn,subComponentError:ss,onExpandError:$e}){const ot=I||!!(x&&x>0)||!!(S&&S>0),[yr,jr]=l.useState([]),[Cr,wr]=l.useState({}),[Sr,Rr]=l.useState(Me?.grouping||[]),[Nr,Ir]=l.useState(()=>{const t=c.map(s=>s.id||s.accessorKey||`column-${Math.random()}`);return ue?["select",...t]:t}),[Tr,Dr]=l.useState(jt||Me?.columnSizing||{}),[kr,Er]=l.useState(()=>{if(xt&&Z){const t=localStorage.getItem(`${Z}-pagination`);if(t)try{const s=JSON.parse(t);if(typeof s.pageIndex=="number"&&typeof s.pageSize=="number")return s}catch(s){console.warn("Failed to parse saved pagination:",s)}}return Me?.pagination||{pageIndex:0,pageSize:10}}),[rs,Br]=l.useState([]),[Te,zr]=l.useState({}),[Rt,ns]=l.useState(""),[Pr,os]=l.useState(Me?.expanded||{}),[Fr,Mr]=l.useState(Me?.rowPinning||{top:[],bottom:[]}),[Vr,at]=l.useState(""),[X,Nt]=l.useState([-1,0]),It=l.useRef(null),Ae=l.useRef(new Map),Le=l.useRef(new Map);l.useEffect(()=>()=>{Ae.current.forEach(t=>t.abort()),Le.current.forEach(t=>t.abort())},[]),l.useEffect(()=>{St&&St(Te)},[Te,St]),l.useEffect(()=>{Xt?.(Ve)},[Ve,Xt]);const as=Ot!==void 0,ls=qt!==void 0,is=Ht!==void 0,cs=Wt!==void 0,ds=jt!==void 0,us=_t!==void 0,Tt=ve!==void 0,ge=as?Ot:yr,$r=ls?qt:Cr,fe=is?Ht:Sr,Oe=cs?Wt:Nr,lt=ds?jt:Tr,se=us?_t:kr,Q=Tt?ve:Pr,Ar=as?Qs:jr,Lr=ls?Ys:wr,Or=is?Zs:Rr,gs=cs?er:Ir,fs=ds?tr:Dr,qr=us?sr:Er,Dt=l.useCallback(t=>{const s=typeof t=="object"&&t!==null&&!(t instanceof Function)&&Object.keys(t).length===0;if(Tt&&Ct){if(s&&(ve===!0||typeof ve=="object"&&ve!==null&&Object.keys(ve).length>0))return;Ct(t)}else os(s?r=>r===!0||typeof r=="object"&&r!==null&&Object.keys(r).length>0?r:t:t)},[Tt,Ct,ve]),Hr=l.useMemo(()=>w!==void 0&&w!==10?w:se.pageSize,[w,se.pageSize]),O=on(Rt,300),Wr=l.useMemo(()=>{if(!pt||!le)return[];const t=new Set;return n.forEach(s=>{Ke&&Ke.length>0?Ke.forEach(r=>{const u=s[r];u!=null&&String(u).trim()!==""&&t.add(String(u))}):Object.values(s).forEach(r=>{r!=null&&String(r).trim()!==""&&t.add(String(r))})}),Array.from(t).sort()},[n,Ke,pt,le]),ms=l.useCallback((t,s,r)=>{if(!t||!s||s.length===0)return()=>!0;const u=t.toLowerCase(),f=new Set;return r.forEach(m=>{let C=!1;for(const B in m){const M=m[B];if(M!=null&&String(M).toLowerCase().includes(u)){C=!0;break}}C&&s.forEach(B=>{const M=m[B];M!=null&&f.add(String(M))})}),m=>{for(const C of s){const B=m.getValue(C);if(B!=null&&f.has(String(B)))return!0}return!1}},[]);l.useEffect(()=>{if(Xe&&Z){const t=localStorage.getItem(`${Z}-sizing`);if(t)try{fs(JSON.parse(t))}catch(s){console.warn("Failed to parse saved column sizing:",s)}}},[Xe,Z]),l.useEffect(()=>{Xe&&Z&&Object.keys(lt).length>0&&localStorage.setItem(`${Z}-sizing`,JSON.stringify(lt))},[lt,Xe,Z]),l.useEffect(()=>{xt&&Z&&localStorage.setItem(`${Z}-pagination`,JSON.stringify(se))},[se,xt,Z]);const N=l.useMemo(()=>{switch(Je){case"horizontal":return{showRowBorder:!0,showCellBorder:!1};case"vertical":return{showRowBorder:!1,showCellBorder:!0};case"both":return{showRowBorder:!0,showCellBorder:!0};case"none":return{showRowBorder:!1,showCellBorder:!1};default:return{showRowBorder:!0,showCellBorder:!0}}},[Je]),kt=l.useCallback((t,s)=>{if(!K)return;const r=s.target;if(!(r.tagName==="BUTTON"||r.tagName==="A"||r.tagName==="INPUT"||r.closest("button")||r.closest("a")||r.closest("input"))&&!(ye&&!ye(t))){if(!ye&&t.getIsGrouped()){const f=t.groupingColumnId;if(!((be[f]??!1)&&t.subRows&&t.subRows.length===1))return}K(t,s)}},[K,ye,be]),je=l.useCallback(t=>{if(!K)return!1;if(ye)return ye(t);if(!t.getIsGrouped())return!0;const r=t.groupingColumnId;return(be[r]??!1)&&t.subRows&&t.subRows.length===1},[K,ye,be]),hs=t=>t?"![box-shadow:inset_3px_0_0_0_var(--color-border-brand-bold),inset_0_-1px_0_0_var(--color-border-primary-medium)]":"![box-shadow:inset_3px_0_0_0_var(--color-border-brand-bold)]",De=l.useCallback(t=>{if(!Ve)return!1;const s=wt?t.id:t.original?.id!==void 0?t.original.id:t.id;return String(s)===String(Ve)},[Ve,wt]),qe=l.useMemo(()=>p?1:x||0,[p,x]),Ce=l.useMemo(()=>S||0,[S]),ps=l.useMemo(()=>{const t=new Set;return c.forEach(s=>{if(s.cell){const r=s.id||s.accessorKey;r&&t.add(String(r))}}),t},[c]),Et=l.useMemo(()=>{const t=c.map(s=>{let r={...s,...te&&!s.minSize?{minSize:80}:{}};return s.enableGrouping||s.meta?.enableGrouping?{...r,enableGrouping:!0,getGroupingValue:u=>{const f=s.accessorKey||s.accessorFn;return typeof f=="string"&&u.original?u.original[f]:typeof f=="function"&&u.original?f(u.original):u.getValue?.(s.id)||u[f]||""}}:r});return ue?[{id:"select",size:48,minSize:48,maxSize:48,enableResizing:!1,header:({table:r})=>e.jsx(ht.Checkbox,{tabIndex:-1,checked:r.getIsAllPageRowsSelected()||r.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:u=>r.toggleAllPageRowsSelected(!!u),"aria-label":"Select all"}),cell:({row:r})=>e.jsx(ht.Checkbox,{tabIndex:-1,checked:r.getIsSelected(),onCheckedChange:u=>r.toggleSelected(!!u),"aria-label":"Select row"}),enableSorting:!1,enableHiding:!1,enableGrouping:!1,meta:{label:"Select"}},...t]:t},[c,ue]),Bt=l.useMemo(()=>n,[n]),_r=l.useMemo(()=>!et||!O?Vt:ms(O,fe,Bt),[et,O,fe,Bt,ms]),j=L.useReactTable({data:Bt,columns:Et,getRowId:wt,filterFns:{fuzzy:Vt,multiSelect:Ps},state:{sorting:ge,columnFilters:rs,columnVisibility:$r,rowSelection:Te,globalFilter:O,columnSizing:lt,expanded:Q,grouping:fe,rowPinning:Fr,columnOrder:Oe,pagination:se},manualSorting:Zt,manualFiltering:es,manualPagination:tt,rowCount:vr,enableRowSelection:ue,enableColumnPinning:!1,enableGlobalFilter:le,globalFilterFn:_r,enableColumnResizing:te,columnResizeMode:qs,enableExpanding:_,getSubRows:Hs,getRowCanExpand:rr,paginateExpandedRows:!1,autoResetPageIndex:!1,enableGrouping:E,groupedColumnMode:Ws,manualGrouping:_s,enableRowPinning:Ne,keepPinnedRows:Lt,onRowSelectionChange:zr,onSortingChange:Ar,onColumnFiltersChange:Br,onColumnVisibilityChange:Lr,onGlobalFilterChange:ns,onColumnSizingChange:fs,onExpandedChange:Dt,onGroupingChange:Or,onRowPinningChange:Mr,onColumnOrderChange:gs,onPaginationChange:qr,getCoreRowModel:L.getCoreRowModel(),getFilteredRowModel:es?void 0:L.getFilteredRowModel(),getPaginationRowModel:tt||Gs?void 0:L.getPaginationRowModel(),getSortedRowModel:Zt?void 0:L.getSortedRowModel(),getExpandedRowModel:_?L.getExpandedRowModel():void 0,getGroupedRowModel:E?L.getGroupedRowModel():void 0,getFacetedRowModel:L.getFacetedRowModel(),getFacetedUniqueValues:L.getFacetedUniqueValues(),getFacetedMinMaxValues:L.getFacetedMinMaxValues()}),it=l.useMemo(()=>yn(j.getRowModel().rows),[j.getRowModel().rows]),ct=l.useMemo(()=>{if(!E)return null;const t=new Map;return j.getGroupedRowModel?.()?.rows?.forEach(r=>{r.subRows&&r.subRows.length>0&&t.set(r.id,r.subRows)}),t},[E,j]),{flatVisibleRows:dt,rowIdToFlatIndex:xs}=l.useMemo(()=>{const t=[],s=new Map,r=f=>{const m=t.length;t.push(f),s.set(f.id,m),f.getIsExpanded()&&(f.subRows&&f.subRows.length>0?f.subRows:ct?.get(f.id)||[]).forEach(r)};return j.getRowModel().rows.filter(f=>J||f.depth===0).forEach(r),{flatVisibleRows:t,rowIdToFlatIndex:s}},[j,Q,ct,J]),bs=l.useRef(void 0);l.useEffect(()=>{if(!E)return;const s=j.getPrePaginationRowModel().rows.filter(f=>f.depth===0).length,r=se.pageSize,u=Math.max(1,Math.ceil(s/r));bs.current!==u&&(bs.current=u,j.setPageCount(u))},[E,se.pageSize,fe.join(","),j.getPrePaginationRowModel().rows.length]);const vs=l.useRef({});l.useEffect(()=>{if(!Ut)return;const t=j.getState().expanded,s=vs.current,r={...t};let u=!1;j.getRowModel().rows.forEach(f=>{const m=f.id,C=t[m]===!0,B=s[m]===!0;C&&!B&&f.subRows&&f.subRows.length>0&&f.subRows.forEach(M=>{t[M.id]!==!0&&(r[M.id]=!0,u=!0)})}),vs.current=t,u&&Dt(r)},[Q,Ut]);const ys=l.useRef({});l.useEffect(()=>{if(!st&&!Ie)return;const t=j.getState().expanded,s=ys.current;Object.keys(s).forEach(r=>{const u=s[r],f=t[r];if(u&&!f){const m=Ae.current.get(r);m&&(m.abort(),Ae.current.delete(r));const C=Le.current.get(r);C&&(C.abort(),Le.current.delete(r))}}),Object.keys(t).forEach(r=>{const u=t[r],f=s[r];if(u&&!f){const m=j.getRow(r);if(!m)return;if(st&&ts){const C=m.getIsGrouped()||m.subRows&&m.subRows.length===0&&m.getCanExpand(),B=rt?.[r]===!0,M=m.subRows&&m.subRows.length>0;if(C&&!B&&!M){const o=new AbortController;Ae.current.set(r,o),Promise.resolve(st(m)).catch(P=>{P?.name!=="AbortError"&&$e&&$e(m,P,"children")}).finally(()=>{Ae.current.delete(r)})}}if(Ie&&J&&!m.getIsGrouped()&&m.depth===0&&!(nt?.[r]===!0)){const B=new AbortController;Le.current.set(r,B),Promise.resolve(Ie(m)).catch(M=>{M?.name!=="AbortError"&&$e&&$e(m,M,"subComponent")}).finally(()=>{Le.current.delete(r)})}}}),ys.current=t},[Q,st,Ie,ts,J,rt,nt,$e]),l.useEffect(()=>{if(!et||!O||!E)return;const t={};j.getFilteredRowModel().rows.forEach(r=>{r.getIsGrouped()&&r.subRows&&r.subRows.length>0&&(t[r.id]=!0)}),Dt(r=>{const u=Object.keys(r).sort().join(","),f=Object.keys(t).sort().join(",");return u===f?r:t})},[O,et,E]);const js=l.useRef(fe),Cs=l.useRef(ge);l.useEffect(()=>{if(!tt)return;const t=JSON.stringify(fe)!==JSON.stringify(js.current),s=JSON.stringify(ge)!==JSON.stringify(Cs.current);(t||s)&&j.setPageIndex(0),js.current=fe,Cs.current=ge},[fe,ge,tt,j]),l.useEffect(()=>{yt&&yt(j)},[j,yt]),l.useEffect(()=>{if(ge.length>0){const t=ge[0],s=c.find(f=>f.id===t.id||f.accessorKey===t.id),r=s?.meta?.label||s?.header||t.id,u=t.desc?"descending":"ascending";at(`Table sorted by ${r}, ${u}`)}},[ge,c]),l.useEffect(()=>{if(O){const t=j.getFilteredRowModel().rows.length;at(`${t} result${t!==1?"s":""} found for "${O}"`)}},[O,j]),l.useEffect(()=>{const t=Object.keys(Te).filter(s=>Te[s]).length;t>0&&at(`${t} row${t!==1?"s":""} selected`)},[Te]),l.useEffect(()=>{const[t,s]=X,r=dt.length,u=j.getVisibleLeafColumns();let f=t,m=s;t>=0&&t>=r&&(f=Math.max(r-1,-1)),s>=u.length&&(m=Math.max(u.length-1,0)),(f!==t||m!==s)&&Nt([f,m])},[n.length,j,X,dt.length]),l.useEffect(()=>{const t=j.getPageCount();t>1&&at(`Page ${se.pageIndex+1} of ${t}`)},[se.pageIndex,j]);const He=l.useCallback((t,s)=>{if(!s||!t)return t;const r=t.toLowerCase(),u=s.toLowerCase(),f=[];let m=0,C=r.indexOf(u);for(;C!==-1;)C>m&&f.push(t.substring(m,C)),f.push(e.jsx("span",{style:{backgroundColor:"#fef3c7",fontWeight:600,padding:"2px 0"},children:t.substring(C,C+s.length)},`highlight-${m}-${C}`)),m=C+s.length,C=r.indexOf(u,m);return m<t.length&&f.push(t.substring(m)),e.jsx(e.Fragment,{children:f})},[]),me=l.useCallback(t=>{if(t==null)return"";if(typeof t=="string"||typeof t=="number")return String(t);if(Array.isArray(t))return t.map(me).join("");if(l.isValidElement(t)){const s=t;if(typeof s.type=="function")try{if(s.type.prototype?.isReactComponent)return me(s.props.children);const u=s.type(s.props);return me(u)}catch{return me(s.props.children)}return me(s.props.children)}return""},[]),ut=l.useCallback((t,s)=>s?me(t).toLowerCase().includes(s.toLowerCase()):!1,[me]),ie=l.useCallback((t,s)=>{if(!s||t==null)return t;if(typeof t=="string")return He(t,s);if(typeof t=="number")return He(String(t),s);if(Array.isArray(t))return t.map((r,u)=>e.jsx(l.Fragment,{children:ie(r,s)},u));if(l.isValidElement(t)){const r=t;if(typeof r.type=="function")try{if(r.type.prototype?.isReactComponent){const B=r.props.children;return l.cloneElement(r,{},ie(B,s))}const C=r.type(r.props);return ie(C,s)}catch{const{children:C,...B}=r.props;return C==null?r:l.cloneElement(r,B,ie(C,s))}if(r.props.children===void 0||r.props.children===null)return r;const{children:u,...f}=r.props;return l.cloneElement(r,f,ie(u,s))}return t},[He]),ke=l.useCallback(t=>{if(!le||!O)return L.flexRender(t.column.columnDef.cell,t.getContext());if(ps.has(t.column.id)){const u=L.flexRender(t.column.columnDef.cell,t.getContext());return u==null||!ut(u,O)?u:ie(u,O)}const r=t.getValue();if(typeof r=="string"||typeof r=="number"){const u=String(r);return He(u,O)}return L.flexRender(t.column.columnDef.cell,t.getContext())},[le,O,He,ps,ut,ie]),ws=l.useCallback(t=>{if(!le||!O)return L.flexRender(t.column.columnDef.aggregatedCell,t.getContext());const s=L.flexRender(t.column.columnDef.aggregatedCell,t.getContext());return s==null||!ut(s,O)?s:ie(s,O)},[le,O,ut,ie,me]),Gr=l.useRef(null),Ur=Se.useSensors(Se.useSensor(Se.MouseSensor,{activationConstraint:{distance:8}}),Se.useSensor(Se.TouchSensor,{activationConstraint:{delay:200,tolerance:8}})),[,Ss]=l.useState(null),Jr=t=>{Ze&&Ss(t.active.id)},Kr=t=>{if(!Ze)return;const{active:s,over:r}=t;if(Ss(null),s.id!==r?.id&&r?.id){const u=Oe.findIndex(m=>m===s.id),f=Oe.findIndex(m=>m===r?.id);if(u!==-1&&f!==-1){const m=gt.arrayMove(Oe,u,f);console.log("Column reorder:",{activeId:s.id,overId:r.id,oldIndex:u,newIndex:f,oldOrder:Oe,newOrder:m}),gs(m)}}},Xr=l.useCallback(t=>{const[s,r]=X,u=j.getVisibleLeafColumns(),f=dt,m=u.length,C=f.length,B=-1,M=C-1;let o=s,P=r,$=!1;switch(t.key){case"ArrowRight":r<m-1&&(P=r+1,$=!0);break;case"ArrowLeft":r>0&&(P=r-1,$=!0);break;case"ArrowDown":s<M&&(o=s+1,$=!0);break;case"ArrowUp":s>B&&(o=s-1,$=!0);break;case"Home":(t.ctrlKey||t.metaKey)&&(o=B),P=0,$=!0;break;case"End":(t.ctrlKey||t.metaKey)&&(o=M),P=m-1,$=!0;break;case"PageDown":o=Math.min(s+10,M),$=!0;break;case"PageUp":o=Math.max(s-10,B),$=!0;break;case"Enter":case" ":if(s===-1){const d=u[r];d?.id==="select"&&ue&&t.key===" "?(j.toggleAllPageRowsSelected(),$=!0):d?.getCanSort()&&(d.toggleSorting(),$=!0)}else{const d=f[s];d&&((_||E)&&d.getCanExpand()?(d.toggleExpanded(),$=!0):ue&&t.key===" "&&(d.toggleSelected(),$=!0),!$&&t.key==="Enter"&&K&&je(d)&&(kt(d,t),$=!0))}break;case"Escape":document.activeElement instanceof HTMLElement&&document.activeElement.blur(),$=!0;break}if($&&(t.preventDefault(),t.stopPropagation(),o!==s||P!==r)){Nt([o,P]);const d=o===-1?`[data-header-col="${P}"]`:`[data-row="${o}"][data-col="${P}"]`,T=It.current?.querySelector(d);T&&T.focus()}},[X,j,dt,_,E,ue]),Qr=l.useCallback(t=>{It.current?.contains(t.relatedTarget)||Nt([-1,0])},[]),We=l.useMemo(()=>{const t=j.getVisibleFlatColumns(),s=new Map;let r=0;t.forEach((f,m)=>{const C=m<qe,B=m>=t.length-Ce,M=C&&m===qe-1,o=B&&m===t.length-Ce;s.set(f.id,{isLeftSticky:C,isRightSticky:B,leftPosition:r,rightPosition:0,isRightmostLeftSticky:M,isLeftmostRightSticky:o,columnIndex:m}),r+=f.getSize()});let u=0;for(let f=t.length-1;f>=0;f--){const m=t[f],C=s.get(m.id);C&&(C.rightPosition=u),u+=m.getSize()}return{data:s,allColumns:t}},[j.getVisibleFlatColumns(),qe,Ce]),_e=(t,s=!1,r=!0)=>{if(!t||typeof t.getSize!="function")return{};const u=We.data.get(t.id);if(!u||!u.isLeftSticky&&!u.isRightSticky)return{};const{isLeftSticky:f,isRightSticky:m,leftPosition:C,rightPosition:B,isRightmostLeftSticky:M,isLeftmostRightSticky:o}=u;if(f){const P={position:"sticky",left:`${C}px`,...s&&{backgroundColor:"var(--grey-25)"},width:`${t.getSize()}px`,minWidth:`${t.getSize()}px`,maxWidth:`${t.getSize()}px`};return M&&s?{...P,backgroundImage:"linear-gradient(to right, var(--grey-25) calc(100% - 3px), var(--color-border-primary-medium) calc(100% - 3px), var(--color-border-primary-medium) 100%)",backgroundColor:"transparent"}:P}if(m){const P={position:"sticky",right:`${B}px`,...s&&{backgroundColor:"var(--grey-25)"},width:`${t.getSize()}px`,minWidth:`${t.getSize()}px`,maxWidth:`${t.getSize()}px`};return o&&s?{...P,backgroundImage:"linear-gradient(to right, var(--color-border-primary-medium) 0, var(--color-border-primary-medium) 3px, var(--grey-25) 3px)",backgroundColor:"transparent"}:P}return{}},Yr=t=>{if(!t||typeof t.getSize!="function")return"";const s=We.data.get(t.id);return s?s.isRightmostLeftSticky?"border-r-[3px] border-[var(--color-border-primary-medium)]":s.isLeftmostRightSticky?"border-l-[3px] border-[var(--color-border-primary-medium)]":"":""},zt=t=>{if(!t||typeof t.getSize!="function")return!1;const s=We.data.get(t.id);return s?s.isRightmostLeftSticky||s.isLeftmostRightSticky:!1},Pt=t=>{if(!t||typeof t.getSize!="function"||Ce===0)return!1;const s=We.data.get(t.id);return s?s.columnIndex===We.allColumns.length-Ce-1:!1},Rs=(t,s=!1)=>!te||!t.getCanResize()||!!N.showCellBorder?"":F.cn(!s&&["after:content-[''] after:absolute after:right-px after:top-1/2 after:-translate-y-1/2","after:w-[2px] after:h-[24px] after:rounded-[2px]","after:bg-[var(--color-border-primary-medium)]","after:opacity-0 hover:after:opacity-100","after:transition-opacity after:pointer-events-none after:z-10"],"before:content-[''] before:absolute before:left-[-3px] before:top-1/2 before:-translate-y-1/2","before:w-[2px] before:h-[24px] before:rounded-[2px]","before:bg-[var(--color-border-primary-medium)]","before:opacity-0 hover:before:opacity-100","before:transition-opacity before:pointer-events-none before:z-10");return e.jsx(ft.TooltipProvider,{children:e.jsx(Se.DndContext,{sensors:Ur,collisionDetection:Se.closestCenter,onDragStart:Jr,onDragEnd:Kr,children:e.jsxs("div",{className:F.cn("border border-[var(--color-border-primary-medium)] bg-[var(--color-surface-primary)] overflow-hidden rounded-l",!vt&&"border-b-0",v),children:[Fe&&(g||le)&&e.jsxs("div",{className:"border-b border-[var(--color-border-primary-medium)] bg-[var(--color-surface-primary)] px-[var(--space-l)] py-[var(--space-m)]",children:[g&&e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("h3",{className:"text-heading-sm font-semibold text-[var(--color-text-primary)]",children:g}),e.jsx(Vs,{table:j,enableGrouping:E})]}),e.jsx(Fs,{table:j,searchKey:i,searchPlaceholder:a,showSettingsMenu:!1,enableGlobalSearch:le,globalSearchPlaceholder:As,globalFilter:Rt,onGlobalFilterChange:ns,enableGlobalFaceting:Os,enableGrouping:E,enableAutocomplete:pt,autocompleteSuggestions:Wr,autocompleteMinCharacters:Ls})]}),e.jsxs("div",{ref:It,onKeyDown:Xr,onFocus:Qr,className:F.cn("relative",ot&&["overflow-x-auto","scrollbar-thin scrollbar-track-transparent scrollbar-thumb-[var(--color-border-primary-subtle)]","hover:scrollbar-thumb-[var(--color-border-primary)]","max-sm:scrollbar-none"]),children:[k&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"absolute top-0 left-0 bottom-0 w-8 bg-gradient-to-r from-[var(--color-surface-primary)] to-transparent z-10 pointer-events-none opacity-0 transition-opacity"}),e.jsx("div",{className:"absolute top-0 right-0 bottom-0 w-8 bg-gradient-to-l from-[var(--color-surface-primary)] to-transparent z-10 pointer-events-none opacity-0 transition-opacity"})]}),e.jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:Vr}),e.jsxs(D.Table,{ref:Gr,role:"grid","aria-label":b||g,"aria-rowcount":n.length,"aria-colcount":j.getVisibleLeafColumns().length,className:F.cn("border-separate border-spacing-0",te&&"table-fixed"),style:{...ot&&{minWidth:y}},children:[e.jsx("colgroup",{children:j.getVisibleLeafColumns().map(t=>e.jsx("col",{style:{width:t.id==="select"?"48px":void 0}},t.id))}),e.jsx(D.TableHeader,{className:F.cn(h&&["sticky top-0 z-20","after:absolute after:bottom-0 after:left-0 after:right-0 after:h-px after:bg-[var(--color-border-primary-medium)]"],vt&&"[&_tr:last-child]:border-b-0"),children:V?e.jsx($t,{columns:j.getVisibleLeafColumns().length,rows:0,showRowBorder:N.showRowBorder,showCellBorder:N.showCellBorder,enableResponsiveWrapper:ot}):Us&&Ye&&Ye.length>0?e.jsxs(e.Fragment,{children:[e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:Ye.map((t,s)=>{const r=t.columns.length,u=_e(t,!0,N.showRowBorder);return e.jsx(D.TableHead,{colSpan:r,showBorder:N.showCellBorder,className:F.cn("text-center bg-[var(--color-background-neutral-subtlest)] font-medium border-b border-[var(--color-border-primary-medium)]",h&&"z-20",!Fe&&s===0&&"rounded-tl-l",!Fe&&s===Ye.length-1&&"rounded-tr-l",t.className),style:{...u,...t.style},children:typeof t.header=="string"?e.jsx("span",{className:"text-body-strong-sm text-[var(--color-text-primary)]",children:t.header}):t.header},t.id)})}),e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:j.getHeaderGroups()[0]?.headers.map((t,s)=>{const r=_e(t.column,!0,N.showRowBorder),u=t.column.columnDef.meta?.align||"left",f=s===j.getHeaderGroups()[0].headers.length-1,m=zt(t.column);return e.jsx(D.TableHead,{scope:"col","aria-sort":t.column.getCanSort()?t.column.getIsSorted()?t.column.getIsSorted()==="desc"?"descending":"ascending":"none":void 0,"aria-colindex":s+1,"data-header-col":s,tabIndex:X[0]===-1&&X[1]===s?0:-1,showBorder:f||m||Pt(t.column)?!1:N.showCellBorder,className:F.cn(h&&"z-20",(qe>0||Ce>0)&&"z-30",te&&"relative overflow-visible group",Rs(t.column,f),"focus-visible:outline focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-[var(--color-border-brand-bold)]"),style:{...r,...te&&!r.width?{width:t.column.getSize()}:{}},children:e.jsxs("div",{className:F.cn(u==="right"?"text-right":"text-left"),children:[t.isPlaceholder?null:L.flexRender(t.column.columnDef.header,t.getContext()),te&&t.column.getCanResize()&&e.jsx("div",{onMouseDown:t.getResizeHandler(),onTouchStart:t.getResizeHandler(),className:"absolute right-0 top-0 h-full w-2 cursor-col-resize select-none touch-none -mr-1",children:e.jsx("div",{className:F.cn("absolute right-1 top-0 h-full w-1","hover:bg-[var(--color-border-primary-medium)] active:bg-[var(--color-border-primary-medium)]",t.column.getIsResizing()&&"bg-[var(--color-border-primary-medium)]")})})]})},t.id)})})]}):j.getHeaderGroups().map(t=>e.jsx(gt.SortableContext,{items:t.headers.map(s=>s.id),strategy:gt.horizontalListSortingStrategy,children:e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:t.headers.map((s,r)=>{const u=_e(s.column,!0,N.showRowBorder),f=s.column.columnDef.meta?.align||"left",m=r===t.headers.length-1,C=zt(s.column);return e.jsx(D.TableHead,{scope:"col","aria-sort":s.column.getCanSort()?s.column.getIsSorted()?s.column.getIsSorted()==="desc"?"descending":"ascending":"none":void 0,"aria-colindex":r+1,"data-header-col":r,tabIndex:X[0]===-1&&X[1]===r?0:-1,showBorder:m||C||Pt(s.column)?!1:N.showCellBorder,className:F.cn(h&&"z-20",(qe>0||Ce>0)&&"z-30",te&&"relative overflow-visible group",Ze&&"group",!Fe&&r===0&&"rounded-tl-l",!Fe&&r===t.headers.length-1&&"rounded-tr-l",Rs(s.column,m),"focus-visible:outline focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-[var(--color-border-brand-bold)]"),style:{...u,...te&&!u.width?{width:s.column.getSize()}:{}},children:e.jsx(xn,{header:s,enableColumnOrdering:Ze,children:e.jsxs("div",{className:F.cn(f==="right"?"text-right":"text-left"),children:[s.isPlaceholder?null:L.flexRender(s.column.columnDef.header,s.getContext()),te&&s.column.getCanResize()&&e.jsx("div",{onMouseDown:s.getResizeHandler(),onTouchStart:s.getResizeHandler(),className:"absolute right-0 top-0 h-full w-2 cursor-col-resize select-none touch-none -mr-1",children:e.jsx("div",{className:F.cn("absolute right-1 top-0 h-full w-1","hover:bg-[var(--color-border-primary-medium)] active:bg-[var(--color-border-primary-medium)]",s.column.getIsResizing()&&"bg-[var(--color-border-primary-medium)]")})})]})})},s.id)})})},t.id))}),e.jsxs(D.TableBody,{children:[br&&!V&&n.length>0&&e.jsx("tr",{className:"absolute top-0 left-0 right-0 z-50 h-0",children:e.jsx("td",{colSpan:j.getVisibleLeafColumns().length,className:"p-0",children:e.jsx(hn,{})})}),Yt?e.jsx(D.TableRow,{showBorder:!1,className:"h-[300px]",children:e.jsx(D.TableCell,{colSpan:j.getVisibleLeafColumns().length,className:"text-center",showBorder:!1,showRowBorder:!1,verticalAlign:"middle",children:cr||e.jsx(mn,{error:Yt,onRetry:ir})})}):V&&(z==="replace"||n.length===0)?e.jsx($t,{columns:j.getVisibleLeafColumns().length,rows:Hr,showRowBorder:N.showRowBorder,showCellBorder:N.showCellBorder,skipHeader:!0,enableResponsiveWrapper:ot}):j.getRowModel().rows?.length?(()=>{if(!Ne||!Lt){const o=new Set,P=j.getRowModel().rows.filter(d=>J||d.depth===0),$=(d,T,H)=>{if(o.has(d.id))return null;o.add(d.id);const G=xs.get(d.id)??-1;return e.jsxs(l.Fragment,{children:[e.jsx(D.TableRow,{"data-state":d.getIsSelected()&&"selected",showBorder:N.showRowBorder,"aria-rowindex":G+2,"aria-selected":ue?d.getIsSelected():void 0,"aria-expanded":d.getCanExpand()?d.getIsExpanded():void 0,className:F.cn("group",d.getIsSelected()&&"bg-[var(--blue-25)]",d.getIsPinned()==="top"&&"!bg-[var(--color-background-neutral-selected)] !border-b-2 !border-[var(--color-border-primary-medium)]",d.getIsPinned()==="bottom"&&"!bg-[var(--color-background-neutral-selected)] !border-t-2 !border-[var(--color-border-primary-medium)]",(()=>{const A=d.getIsGrouped?.()?"font-medium":"",re=Bs(d,{enableGrouping:E,enableExpanding:_,nestedRowStyling:bt,expandingRowColors:q,maxDepth:it});return F.cn(re?`bg-[${re}]`:"",A)})(),K&&je(d)&&(Jt||"cursor-pointer hover:[background-image:linear-gradient(rgba(0,0,0,0.02),rgba(0,0,0,0.02))]")),style:{height:jn(d.depth,bt)},onClick:K&&je(d)?R=>kt(d,R):void 0,role:"row","aria-label":K&&je(d)?`View details for row ${d.id}`:void 0,"aria-current":De(d)?"true":void 0,children:d.getVisibleCells().map((R,A)=>{const re=_e(R.column,!1,N.showRowBorder),U=A===0,Ge=_&&d.getCanExpand()||E&&d.getIsGrouped(),ce=d.getIsExpanded(),de=d.depth,Ft=E&&d.getIsGrouped();let we=Gt?.(d);if(we==null)for(const oe of d.getVisibleCells()){const ae=oe.column.columnDef.sectionHeaderCell;if(ae){const Mt=ae(oe.getContext());if(Mt!=null){we=Mt;break}}}const ne=we!=null;if(ne&&!U)return null;const ee=E&&d.depth>0&&A===0&&!H;return e.jsx(D.TableCell,{role:"gridcell","aria-colindex":A+1,"data-row":G,"data-col":A,tabIndex:X[0]===G&&X[1]===A?0:-1,showBorder:zt(R.column)||Pt(R.column)?!1:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:R.column.columnDef.meta?.verticalAlign||Re,colSpan:ne?d.getVisibleCells().length:void 0,"data-section-header":ne?!0:void 0,className:F.cn(U&&De(d)&&(Kt||hs(ee?!1:N.showRowBorder)),!ne&&Yr(R.column),Object.keys(re).length>0&&["z-10",(()=>{const oe=Bs(d,{enableGrouping:E,enableExpanding:_,nestedRowStyling:bt,expandingRowColors:q,maxDepth:it});return oe?`bg-[${oe}]`:"bg-[var(--color-surface-primary)]"})()],ne&&"bg-[var(--blue-50)]",ee&&!De(d)&&"![box-shadow:none]","focus-visible:outline focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-[var(--color-border-brand-bold)]"),style:{...re,paddingLeft:U&&de>0&&!ne?`calc(var(--space-m) + ${de*20}px)`:void 0},children:ne?we:Ft?U?zs(d,j,Qe,ce,be,At):R.column.columnDef.meta?.renderInGroupedRows?ke(R):R.column.columnDef.aggregatedCell?ws(R):(()=>{const oe=Es(R.column,d.subRows,d.groupingColumnId);if(!oe)return e.jsx("div",{});const ae=R.column.columnDef.meta?.align||"left";return e.jsx(Be,{align:ae,children:e.jsx("span",{className:F.cn("text-[var(--color-text-secondary)] text-body-sm",ae==="right"?"tabular-nums":""),children:oe})})})():e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[U&&Ge&&e.jsx("button",{tabIndex:-1,onClick:d.getToggleExpandedHandler(),className:"flex h-[var(--size-s)] w-[var(--size-s)] cursor-pointer items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",children:e.jsx(W.Icon,{name:ce?"chevron-down":"chevron-right",className:"h-3 w-3"})}),U&&Ne&&!Ft&&e.jsxs("div",{className:"flex items-center gap-1",children:[d.getIsPinned()!=="top"&&e.jsx("button",{tabIndex:-1,onClick:()=>d.pin("top"),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Pin to top",children:e.jsx(W.Icon,{name:"arrow-up-to-line",className:"h-3 w-3"})}),d.getIsPinned()!=="bottom"&&e.jsx("button",{tabIndex:-1,onClick:()=>d.pin("bottom"),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Pin to bottom",children:e.jsx(W.Icon,{name:"arrow-down-to-line",className:"h-3 w-3"})}),d.getIsPinned()&&e.jsx("button",{tabIndex:-1,onClick:()=>d.pin(!1),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Unpin row",children:e.jsx(W.Icon,{name:"x",className:"h-3 w-3"})})]}),U&&!Ge&&!Ne&&(_||E)&&e.jsx("div",{className:"h-[var(--size-s)] w-[var(--size-s)]"}),e.jsx("div",{className:"flex-1 min-w-0",children:E&&d.depth>0&&(R.column.id===d.getParentRow()?.groupingColumnId||R.column.id===Qe)?e.jsx("div",{}):R.column.columnDef.meta?.truncate!==!1?e.jsx(Be,{align:R.column.columnDef.meta?.align,children:ke(R)}):ke(R)})]})},R.id)})}),rt?.[d.id]&&d.getIsExpanded()&&e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:e.jsx(D.TableCell,{colSpan:d.getVisibleCells().length,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:Re,className:"py-[var(--space-m)]",children:e.jsxs("div",{className:"flex items-center justify-center gap-[var(--space-s)]",children:[e.jsx(Ue.Spinner,{size:"s"}),e.jsx("span",{className:"text-body-sm text-[var(--color-text-secondary)]",children:"Loading..."})]})})}),J&&d.getIsExpanded()&&d.depth===0&&e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:e.jsx(D.TableCell,{colSpan:d.getVisibleCells().length,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:Re,className:"p-0","data-section-header":!0,children:ss?.[d.id]?e.jsxs("div",{className:"flex flex-col items-center justify-center py-[var(--space-l)] gap-[var(--space-s)]",children:[e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] text-[var(--color-text-danger)]",children:[e.jsx(W.Icon,{name:"alert-circle",className:"h-4 w-4"}),e.jsx("span",{className:"text-body-sm",children:ss[d.id]?.message||"Failed to load details"})]}),Ie&&e.jsx("button",{onClick:()=>Ie(d),className:"text-body-sm text-[var(--color-text-brand)] hover:underline cursor-pointer",children:"Try again"})]}):nt?.[d.id]?e.jsxs("div",{className:"flex items-center justify-center py-[var(--space-l)]",children:[e.jsx(Ue.Spinner,{size:"s"}),e.jsx("span",{className:"ml-[var(--space-s)] text-body-sm text-[var(--color-text-secondary)]",children:"Loading details..."})]}):J(d)})}),(()=>{if(J)return null;const R=d.subRows&&d.subRows.length>0?d.subRows:ct?.get(d.id)||[];if(R.length===0)return null;let A=d.getIsExpanded();return!A&&Q===!0&&d.getCanExpand()&&(A=!0),!A&&typeof Q=="object"&&Q!==null&&Q[d.id]&&(A=!0),A?R.map((re,U)=>$(re,U,U===R.length-1)):null})()]},d.id)};return P.map((d,T)=>$(d,T,T===P.length-1))}const t=j.getCoreRowModel().rows,s=j.getRowModel().rows,r=t.filter(o=>o.getIsPinned()==="top"),u=t.filter(o=>o.getIsPinned()==="bottom"),f=s.filter(o=>!o.getIsPinned()),m=[...r,...f,...u],C=new Set,B=m.filter(o=>J||o.depth===0),M=(o,P,$)=>{if(C.has(o.id))return null;C.add(o.id);const d=xs.get(o.id)??-1;return e.jsxs(l.Fragment,{children:[e.jsx(D.TableRow,{"data-state":o.getIsSelected()&&"selected",showBorder:N.showRowBorder,"aria-rowindex":d+2,className:F.cn("group",o.getIsSelected()&&"bg-[var(--blue-25)]",o.getIsPinned()==="top"&&"!bg-[var(--color-background-neutral-selected)] !border-b-2 !border-[var(--color-border-primary-medium)]",o.getIsPinned()==="bottom"&&"!bg-[var(--color-background-neutral-selected)] !border-t-2 !border-[var(--color-border-primary-medium)]",o.getIsGrouped?.()&&o.getIsExpanded()&&"bg-[var(--blue-50)] font-medium",o.getIsGrouped?.()&&!o.getIsExpanded()&&"bg-[var(--color-background-neutral-subtlest)] font-medium",E&&o.depth===1&&"bg-[var(--blue-25)]",_&&!o.getIsGrouped?.()&&(()=>{const T=o.subRows&&o.subRows.length>0,H=()=>{let A=o;for(;A;){if(A.getIsExpanded())return!0;A=A.getParentRow?.()}return!1};if(o.depth===0&&(!T||!H()))return"";const G=it-o.depth,R=G%2===0?"bg-[var(--blue-25)]":"bg-[var(--blue-50)]";if(q){if(G===0&&q.children)return`bg-[${q.children}]`;if(G>0&&o.getIsExpanded()&&q.expandedParent)return`bg-[${q.expandedParent}]`;if(G>0&&!o.getIsExpanded()&&q.collapsedParent)return`bg-[${q.collapsedParent}]`}return R})(),K&&je(o)&&(Jt||"cursor-pointer hover:[background-image:linear-gradient(rgba(0,0,0,0.02),rgba(0,0,0,0.02))]")),onClick:K&&je(o)?T=>kt(o,T):void 0,role:"row","aria-label":K&&je(o)?`View details for row ${o.id}`:void 0,"aria-current":De(o)?"true":void 0,children:o.getVisibleCells().map((T,H)=>{const G=_e(T.column,!1,N.showRowBorder),R=H===0,A=_&&o.getCanExpand()||E&&o.getIsGrouped(),re=o.getIsExpanded(),U=o.depth,Ge=E&&o.getIsGrouped();let ce=Gt?.(o);if(ce==null)for(const he of o.getVisibleCells()){const pe=he.column.columnDef.sectionHeaderCell;if(pe){const ee=pe(he.getContext());if(ee!=null){ce=ee;break}}}const de=ce!=null;if(de&&!R)return null;const ne=E&&o.depth>0&&H===0&&!$;return e.jsx(D.TableCell,{role:"gridcell","aria-colindex":H+1,"data-row":d,"data-col":H,tabIndex:X[0]===d&&X[1]===H?0:-1,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:T.column.columnDef.meta?.verticalAlign||Re,colSpan:de?o.getVisibleCells().length:void 0,className:F.cn(R&&De(o)&&(Kt||hs(ne?!1:N.showRowBorder)),"focus-visible:outline focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-[var(--color-border-brand-bold)]",Object.keys(G).length>0&&["z-10",o.getIsGrouped?.()&&o.getIsExpanded()&&"bg-[var(--blue-50)]",o.getIsGrouped?.()&&!o.getIsExpanded()&&"bg-[var(--color-background-neutral-subtlest)]",E&&o.depth===1&&"bg-[var(--blue-25)]",_&&!o.getIsGrouped?.()&&(()=>{const he=o.subRows&&o.subRows.length>0,pe=()=>{let ae=o;for(;ae;){if(ae.getIsExpanded())return!0;ae=ae.getParentRow?.()}return!1};if(o.depth===0&&(!he||!pe()))return"";const ee=it-o.depth,oe=ee%2===0?"bg-[var(--blue-25)]":"bg-[var(--blue-50)]";if(q){if(ee===0&&q.children)return`bg-[${q.children}]`;if(ee>0&&o.getIsExpanded()&&q.expandedParent)return`bg-[${q.expandedParent}]`;if(ee>0&&!o.getIsExpanded()&&q.collapsedParent)return`bg-[${q.collapsedParent}]`}return oe})(),!o.getIsGrouped?.()&&!(E&&o.depth===1)&&!_&&"bg-[var(--color-surface-primary)]"],de&&"bg-[var(--blue-50)]",ne&&!De(o)&&"![box-shadow:none]"),style:{...G,width:T.column.getSize(),...de?{height:"32px",padding:"0"}:{},paddingLeft:R&&U>0&&!de?`calc(var(--space-m) + ${U*20}px)`:void 0},children:de?ce:Ge?R?zs(o,j,Qe,re,be,At):T.column.columnDef.meta?.renderInGroupedRows?ke(T):T.column.columnDef.aggregatedCell?ws(T):(()=>{const he=Es(T.column,o.subRows,o.groupingColumnId);if(!he)return e.jsx("div",{});const pe=T.column.columnDef.meta?.align||"left";return e.jsx(Be,{align:pe,children:e.jsx("span",{className:F.cn("text-[var(--color-text-secondary)] text-body-sm",pe==="right"?"tabular-nums":""),children:he})})})():e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[R&&A&&e.jsx("button",{onClick:o.getToggleExpandedHandler(),className:"flex h-[var(--size-s)] w-[var(--size-s)] cursor-pointer items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",children:e.jsx(W.Icon,{name:re?"chevron-down":"chevron-right",className:"h-3 w-3"})}),R&&Ne&&!Ge&&e.jsxs("div",{className:"flex items-center gap-1",children:[o.getIsPinned()!=="top"&&e.jsx("button",{onClick:()=>o.pin("top"),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Pin to top",children:e.jsx(W.Icon,{name:"arrow-up-to-line",className:"h-3 w-3"})}),o.getIsPinned()!=="bottom"&&e.jsx("button",{onClick:()=>o.pin("bottom"),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Pin to bottom",children:e.jsx(W.Icon,{name:"arrow-down-to-line",className:"h-3 w-3"})}),o.getIsPinned()&&e.jsx("button",{onClick:()=>o.pin(!1),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Unpin row",children:e.jsx(W.Icon,{name:"x",className:"h-3 w-3"})})]}),R&&!A&&!Ne&&(_||E)&&e.jsx("div",{className:"h-[var(--size-s)] w-[var(--size-s)]"}),e.jsx("div",{className:"flex-1 min-w-0",children:E&&o.depth>0&&(T.column.id===o.getParentRow()?.groupingColumnId||T.column.id===Qe)?e.jsx("div",{}):T.column.columnDef.meta?.truncate!==!1?e.jsx(Be,{align:T.column.columnDef.meta?.align,children:ke(T)}):ke(T)})]})},T.id)})}),rt?.[o.id]&&o.getIsExpanded()&&e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:e.jsx(D.TableCell,{colSpan:o.getVisibleCells().length,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:Re,className:"py-[var(--space-m)]",children:e.jsxs("div",{className:"flex items-center justify-center gap-[var(--space-s)]",children:[e.jsx(Ue.Spinner,{size:"s"}),e.jsx("span",{className:"text-body-sm text-[var(--color-text-secondary)]",children:"Loading..."})]})})}),J&&o.getIsExpanded()&&o.depth===0&&e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:e.jsx(D.TableCell,{colSpan:o.getVisibleCells().length,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:Re,className:"p-0","data-section-header":!0,children:nt?.[o.id]?e.jsxs("div",{className:"flex items-center justify-center py-[var(--space-l)]",children:[e.jsx(Ue.Spinner,{size:"s"}),e.jsx("span",{className:"ml-[var(--space-s)] text-body-sm text-[var(--color-text-secondary)]",children:"Loading details..."})]}):J(o)})}),(()=>{if(J)return null;const T=o.subRows&&o.subRows.length>0?o.subRows:ct?.get(o.id)||[];if(T.length===0)return null;let H=o.getIsExpanded();return!H&&Q===!0&&o.getCanExpand()&&(H=!0),!H&&typeof Q=="object"&&Q!==null&&Q[o.id]&&(H=!0),H?T.map((G,R)=>M(G,R,R===T.length-1)):null})()]},o.id)};return B.map((o,P)=>M(o,P,P===B.length-1))})():rs.length>0||Rt!==""?e.jsx(D.TableRow,{showBorder:!1,className:"h-[300px]",children:e.jsx(D.TableCell,{colSpan:Et.length,className:"text-center",showBorder:!1,showRowBorder:!1,verticalAlign:"middle",children:mr||e.jsx(fn,{title:hr,description:pr,action:xr})})}):e.jsx(D.TableRow,{showBorder:!1,className:"h-[300px]",children:e.jsx(D.TableCell,{colSpan:Et.length,className:"text-center",showBorder:!1,showRowBorder:!1,verticalAlign:"middle",children:dr||e.jsx(gn,{title:ur,description:gr,action:fr})})})]})]})]}),vt&&e.jsx("div",{className:"bg-[var(--color-surface-primary)] px-[var(--space-l)] py-[var(--space-m)]",children:e.jsx($s,{table:j,enableGrouping:E,hideChildrenForSingleItemGroups:be,footerLabel:Xs,onNextPageHover:nr,onPreviousPageHover:or,paginationVariant:Js,pageSizeOptions:Ks})}),Qt&&ar&&e.jsx(vn,{onLoadMore:()=>Qt(se.pageIndex),isLoading:lr})]})})})}Object.defineProperty(exports,"useReactTable",{enumerable:!0,get:()=>L.useReactTable});exports.DataTable=Cn;exports.DataTableColumnHeader=bn;exports.DataTableFilter=Ms;exports.DataTablePagination=$s;exports.DataTableSkeleton=$t;exports.DataTableToolbar=Fs;exports.fuzzyFilter=Vt;exports.groupPreservingGlobalFilter=an;exports.multiSelectFilter=Ps;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),en=require("react"),L=require("@tanstack/react-table"),Re=require("@dnd-kit/core"),ft=require("@dnd-kit/sortable"),tn=require("@dnd-kit/utilities"),F=require("../../lib/utils.cjs"),Fe=require("../fundamental/button.cjs"),ht=require("../fundamental/input.cjs"),sn=require("../fundamental/autocomplete-search.cjs"),D=require("../fundamental/table.cjs"),Be=require("../fundamental/select.cjs"),pt=require("../fundamental/checkbox.cjs"),G=require("../fundamental/icon.cjs"),te=require("lucide-react"),be=require("../fundamental/badge.cjs"),Pe=require("../fundamental/popover.cjs"),Y=require("../fundamental/command.cjs"),rn=require("../fundamental/pagination.cjs"),Is=require("../fundamental/skeleton.cjs"),Je=require("../fundamental/spinner.cjs"),nn=require("./data-table-settings-menu.cjs"),mt=require("../fundamental/tooltip.cjs");function on(c){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const i in c)if(i!=="default"){const a=Object.getOwnPropertyDescriptor(c,i);Object.defineProperty(n,i,a.get?a:{enumerable:!0,get:()=>c[i]})}}return n.default=c,Object.freeze(n)}const l=on(en);function an(c,n){const[i,a]=l.useState(c);return l.useEffect(()=>{const g=setTimeout(()=>{a(c)},n);return()=>{clearTimeout(g)}},[c,n]),i}const ze=l.memo(function({children:n,align:i="left"}){const a=l.useRef(null),[g,b]=l.useState(!1),[v,h]=l.useState("");return l.useEffect(()=>{const p=a.current;if(!p)return;let x;const S=()=>{clearTimeout(x),x=setTimeout(()=>{if(a.current){const k=a.current.scrollWidth>a.current.clientWidth,y=a.current.firstElementChild,V=y?y.scrollWidth>y.clientWidth:!1;b(k||V)}},150)};if(a.current){const k=a.current.scrollWidth>a.current.clientWidth,y=a.current.firstElementChild,V=y?y.scrollWidth>y.clientWidth:!1;b(k||V)}const I=new ResizeObserver(S);return I.observe(p),()=>{clearTimeout(x),I.disconnect()}},[n]),l.useEffect(()=>{a.current&&h(a.current.textContent||"")},[n]),g?e.jsxs(mt.Tooltip,{children:[e.jsx(mt.TooltipTrigger,{asChild:!0,children:e.jsx("div",{ref:a,className:F.cn("min-w-0 overflow-hidden truncate [&>*]:truncate",i==="right"&&"text-right"),children:n})}),e.jsx(mt.TooltipContent,{side:"top",className:"max-w-xs",children:v})]}):e.jsx("div",{ref:a,className:F.cn("min-w-0 overflow-hidden truncate [&>*]:truncate",i==="right"&&"text-right"),children:n})}),$t=(c,n,i,a)=>{const g=c.getValue(n),b=g!=null?String(g):"",v=i.toLowerCase();return b.toLowerCase().includes(v)?!0:b.toLowerCase().split(" ").some(p=>p.startsWith(v))},Fs=(c,n,i)=>{if(!i||i.length===0)return!0;const a=c.getValue(n);return i.includes(a)},ln=(c,n,i,a)=>{if(!i||i.trim()==="")return!0;const g=String(i).toLowerCase(),b=h=>{const p=h.getAllCells().map(x=>x.column.id);for(const x of p){const S=h.getValue(x);if(S!=null&&String(S).toLowerCase().includes(g))return!0}return!1};c.getParentRow?.()?.getParentRow?.()||c.getParentRow?.();const v=b(c);return a&&v&&a({itemRank:1}),v};function cn(c,n){for(const i of c){const a=typeof n=="function"?n(i.original):i.original?.[n];if(a!=null){if(typeof a=="number")return"number";if(a instanceof Date)return"date";if(typeof a=="string"){const g=Date.parse(a);return isNaN(g)?"string":"date"}return"unknown"}}return"unknown"}function Ts(c){if(c.length===0)return"";const n=Math.min(...c),i=Math.max(...c);return n===i?String(n):`${n} – ${i}`}function dn(c){return c.length===0?"":`Avg: ${(c.reduce((a,g)=>a+g,0)/c.length).toFixed(2)}`}function un(c){return c.length===0?"":`Total: ${c.reduce((i,a)=>i+a,0)}`}function Ds(c){return`${c} ${c===1?"item":"items"}`}function ks(c,n){if(c.length===0)return"";const a=new Set(c).size,g=a===1||n.endsWith("s")?n:n.endsWith("y")?n.slice(0,-1)+"ies":n+"s";return`${a} ${g.toLowerCase()}`}function gn(c){if(c.length===0)return"";const n=new Map;c.forEach(g=>n.set(g,(n.get(g)||0)+1));let i=0,a="";return n.forEach((g,b)=>{g>i&&(i=g,a=b)}),`${a} (${i})`}function Es(c){if(c.length===0)return"";const i=c.map(v=>v instanceof Date?v:new Date(v)).filter(v=>!isNaN(v.getTime()));if(i.length===0)return"";const a=new Date(Math.min(...i.map(v=>v.getTime()))),g=new Date(Math.max(...i.map(v=>v.getTime()))),b=v=>v.toISOString().split("T")[0];return a.getTime()===g.getTime()?b(a):`${b(a)} – ${b(g)}`}function Bs(c,n,i){const a=c.columnDef;if(c.id===i||a?.meta?.renderInGroupedRows||a?.meta?.aggregation===!1)return null;if(typeof a?.meta?.aggregation=="function"){const S="accessorKey"in a?a.accessorKey:void 0;return a.meta.aggregation(n,S)}const g="accessorKey"in a?a.accessorKey:void 0,b="accessorFn"in a?a.accessorFn:void 0,v=g||b;if(!v)return null;const h=n.map(S=>typeof v=="function"?v(S.original,S.index):S.original?.[v]).filter(S=>S!=null);if(h.length===0)return null;const p=a?.meta?.aggregation;if(p&&typeof p=="string")switch(p){case"range":return Ts(h);case"average":return dn(h);case"sum":return un(h);case"count":return Ds(h.length);case"uniqueCount":return ks(h.map(String),a?.meta?.label||String(c.id));case"mostCommon":return gn(h.map(String));case"dateRange":return Es(h);default:return null}switch(cn(n,v)){case"number":return Ts(h);case"string":return ks(h.map(String),a?.meta?.label||String(c.id));case"date":return Es(h);default:return Ds(h.length)}}function At({columns:c,rows:n,showRowBorder:i=!0,showCellBorder:a=!0,skipHeader:g=!1,enableResponsiveWrapper:b=!0}){const v=b?"h-4 w-full max-w-full":"h-4 w-[120px]",h=b?"h-4 w-full max-w-full":"h-4 w-[100px]";return e.jsxs(e.Fragment,{children:[!g&&e.jsx(D.TableRow,{showBorder:i,children:Array.from({length:c}).map((p,x)=>e.jsx(D.TableHead,{showBorder:a,className:"overflow-hidden",children:e.jsx(Is.Skeleton,{className:v})},x))}),Array.from({length:n}).map((p,x)=>e.jsx(D.TableRow,{showBorder:i,children:Array.from({length:c}).map((S,I)=>e.jsx(D.TableCell,{showBorder:a,showRowBorder:i,className:"text-body-sm overflow-hidden",children:e.jsx(Is.Skeleton,{className:h})},I))},x))]})}const fn=l.memo(function({title:n="No data",description:i="No items to display",action:a,customContent:g}){return g?e.jsx(e.Fragment,{children:g}):e.jsxs("div",{className:"flex flex-col items-center justify-center py-[var(--space-2xl)] text-center",children:[e.jsx("p",{className:"text-body-medium-md text-[var(--color-text-primary)]",children:n}),i&&e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)] mt-[var(--space-xs)]",children:i}),a&&e.jsx(Fe.Button,{variant:"primary",size:"s",className:"mt-[var(--space-m)]",onClick:a.onClick,children:a.label})]})}),mn=l.memo(function({title:n="No results found",description:i="Try adjusting your search or filters",action:a,customContent:g}){return g?e.jsx(e.Fragment,{children:g}):e.jsxs("div",{className:"flex flex-col items-center justify-center py-[var(--space-2xl)] text-center",children:[e.jsx("p",{className:"text-body-medium-md text-[var(--color-text-primary)]",children:n}),i&&e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)] mt-[var(--space-xs)]",children:i}),a&&e.jsx(Fe.Button,{variant:"default",size:"s",className:"mt-[var(--space-m)]",onClick:a.onClick,children:a.label})]})}),hn=l.memo(function({error:n,onRetry:i,customContent:a}){return a?e.jsx(e.Fragment,{children:a}):e.jsxs("div",{className:"flex flex-col items-center justify-center py-[var(--space-2xl)] text-center",children:[e.jsx("p",{className:"text-body-medium-md text-[var(--color-text-primary)]",children:"Something went wrong"}),e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)] mt-[var(--space-xs)]",children:n?.message||"An error occurred while loading data"}),i&&e.jsx(Fe.Button,{variant:"default",size:"s",className:"mt-[var(--space-m)]",onClick:i,children:"Try again"})]})}),pn=l.memo(function(){return e.jsx("div",{className:"absolute top-0 left-0 right-0 h-[2px] overflow-hidden",children:e.jsx("div",{className:"h-full w-full bg-[var(--color-background-brand)] animate-pulse"})})}),Ms=l.memo(function({table:n,searchKey:i,searchPlaceholder:a="Search...",enableGlobalSearch:g=!1,globalSearchPlaceholder:b="Search all columns...",globalFilter:v="",onGlobalFilterChange:h,enableGlobalFaceting:p=!1,enableGrouping:x=!1,showSettingsMenu:S=!1,enableAutocomplete:I=!1,autocompleteSuggestions:k=[],autocompleteMinCharacters:y=2}){const V=n.getState().columnFilters.length>0||g&&v.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[g&&h&&e.jsx(e.Fragment,{children:I&&k.length>0?e.jsx(sn.AutocompleteSearch,{value:v,onValueChange:h,suggestions:k,placeholder:b,minCharacters:y,className:"h-8 w-[150px] lg:w-[250px]",onSelect:h}):e.jsx(ht.Input,{placeholder:b,value:v,onChange:z=>h(z.target.value),className:"h-8 w-[150px] lg:w-[250px]"})}),i&&!g&&e.jsx(ht.Input,{placeholder:a,value:n.getColumn(i)?.getFilterValue()??"",onChange:z=>n.getColumn(i)?.setFilterValue(z.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),n.getAllColumns().filter(z=>z.getCanFilter()&&z.columnDef.meta?.filterVariant).map(z=>e.jsx(Vs,{column:z},z.id)),p&&e.jsx(xn,{table:n}),V&&e.jsxs(Fe.Button,{variant:"ghost",onClick:()=>{n.resetColumnFilters(),g&&h&&h("")},className:"h-8 px-2 lg:px-3",children:["Reset",e.jsx(G.Icon,{name:te.X,className:"ml-2 h-4 w-4"})]})]}),S&&e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx($s,{table:n,enableGrouping:x})})]})}),xn=l.memo(function({table:n}){const[i,a]=l.useState([]),g=n.getAllColumns().filter(h=>h.columnDef.meta?.filterOptions&&h.getCanFilter()),b=l.useMemo(()=>{const h=new Map;return g.forEach(p=>{const x=p.getFacetedUniqueValues(),S=p.columnDef.meta?.filterOptions||[],I=p.columnDef.meta?.label||p.columnDef.header;x.forEach((k,y)=>{const V=S.find(z=>z.value===y);if(V&&k>0){const z=`${I}:${y}`;h.set(z,{count:k,column:I,label:V.label})}})}),Array.from(h.entries()).map(([p,x])=>({key:p,value:p.split(":")[1],...x})).sort((p,x)=>x.count-p.count)},[g]),v=h=>{const p=i.includes(h)?i.filter(x=>x!==h):[...i,h];a(p),g.forEach(x=>{const S=x.columnDef.meta?.filterOptions||[],I=p.filter(k=>S.some(y=>y.value===k));I.length>0?x.columnDef.meta?.filterVariant==="multiselect"?x.setFilterValue(I):x.columnDef.meta?.filterVariant==="select"&&x.setFilterValue(I[0]):x.setFilterValue(void 0)})};return b.length===0?null:e.jsxs(Pe.Popover,{children:[e.jsx(Pe.PopoverTrigger,{asChild:!0,children:e.jsxs(Fe.Button,{variant:"ghost",size:"s",className:"h-8 border-dashed",children:[e.jsx(G.Icon,{name:te.Filter,className:"mr-2 h-4 w-4"}),"Global Faceting",i.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mx-2 h-4 w-px bg-[var(--color-border-primary)]"}),e.jsxs(be.Badge,{className:"rounded-s px-1 font-normal",children:[i.length," selected"]})]})]})}),e.jsx(Pe.PopoverContent,{className:"w-[300px] p-0",align:"start",children:e.jsxs(Y.Command,{children:[e.jsx(Y.CommandInput,{placeholder:"Search values across all columns..."}),e.jsxs(Y.CommandList,{children:[e.jsx(Y.CommandEmpty,{children:"No results found"}),e.jsx(Y.CommandGroup,{children:b.map(h=>{const p=i.includes(h.value);return e.jsx(Y.CommandItem,{onSelect:()=>v(h.value),children:e.jsxs("div",{className:"flex items-center justify-between flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pt.Checkbox,{checked:p}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-body-sm",children:h.label}),e.jsxs("span",{className:"text-caption-sm text-[var(--color-text-secondary)]",children:["in ",h.column]})]})]}),e.jsx(be.Badge,{className:"ml-auto text-caption-sm px-1 py-0",children:h.count})]})},h.key)})})]})]})})]})}),Vs=l.memo(function({column:n}){const{filterVariant:i,filterOptions:a,label:g,placeholder:b}=n.columnDef.meta||{},v=n.getFilterValue(),h=n.getFacetedUniqueValues();if(i==="select"&&a)return e.jsxs(Be.Select,{value:v||"all",onValueChange:p=>n.setFilterValue(p==="all"?"":p),children:[e.jsx(Be.SelectTrigger,{className:"h-8 w-[150px]",children:e.jsx(Be.SelectValue,{placeholder:b||`Filter ${g}`})}),e.jsxs(Be.SelectContent,{children:[e.jsxs(Be.SelectItem,{value:"all",children:["All ",g]}),a.map(p=>{const x=h.get(p.value)||0;return e.jsx(Be.SelectItem,{value:p.value,children:e.jsxs("div",{className:"flex items-center justify-between w-full gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[p.icon&&e.jsx(p.icon,{className:"h-4 w-4"}),p.label]}),x>0&&e.jsx(be.Badge,{className:"ml-auto text-caption-sm px-1 py-0",children:x})]})},p.value)})]})]});if(i==="multiselect"&&a){const p=v||[];return e.jsxs(Pe.Popover,{children:[e.jsx(Pe.PopoverTrigger,{asChild:!0,children:e.jsxs(Fe.Button,{variant:"ghost",size:"s",className:"h-8 border-dashed",children:[e.jsx(G.Icon,{name:te.PlusCircle,className:"mr-2 h-4 w-4"}),g,p.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mx-2 h-4 w-px bg-[var(--color-border-primary)]"}),e.jsx(be.Badge,{className:"rounded-s px-1 font-normal lg:hidden",children:p.length}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:p.length>2?e.jsxs(be.Badge,{className:"rounded-s px-1 font-normal",children:[p.length," selected"]}):a.filter(x=>p.includes(x.value)).map(x=>e.jsx(be.Badge,{className:"rounded-s px-1 font-normal",children:x.label},x.value))})]})]})}),e.jsx(Pe.PopoverContent,{className:"w-[200px] p-0",align:"start",children:e.jsxs(Y.Command,{children:[e.jsx(Y.CommandInput,{placeholder:b||`Search ${g}...`}),e.jsxs(Y.CommandList,{children:[e.jsx(Y.CommandEmpty,{children:"No results found"}),e.jsx(Y.CommandGroup,{children:a.map(x=>{const S=p.includes(x.value),I=h.get(x.value)||0;return e.jsx(Y.CommandItem,{onSelect:()=>{const k=S?p.filter(y=>y!==x.value):[...p,x.value];n.setFilterValue(k.length?k:void 0)},children:e.jsxs("div",{className:"flex items-center justify-between flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pt.Checkbox,{checked:S}),x.icon&&e.jsx(x.icon,{className:"h-4 w-4"}),e.jsx("span",{children:x.label})]}),I>0&&e.jsx(be.Badge,{className:"ml-auto text-caption-sm px-1 py-0",children:I})]})},x.value)})})]})]})})]})}return i==="number"?e.jsx(ht.Input,{placeholder:b||`Filter ${g}...`,value:v||"",onChange:p=>n.setFilterValue(p.target.value),className:"h-8 w-[150px]",type:"number"}):e.jsx(ht.Input,{placeholder:b||`Filter ${g}...`,value:v||"",onChange:p=>n.setFilterValue(p.target.value),className:"h-8 w-[150px]"})}),bn=l.memo(function({header:n,enableColumnOrdering:i,children:a}){const{attributes:g,listeners:b,setNodeRef:v,transform:h,transition:p,isDragging:x}=ft.useSortable({id:n.id,disabled:!i}),S={transform:tn.CSS.Translate.toString(h),transition:p,opacity:x?.5:1};return i?e.jsxs("div",{ref:v,style:S,className:F.cn("relative flex items-center",x&&"z-50"),children:[e.jsx("div",{className:"flex-1",children:a}),i&&e.jsx("div",{className:"ml-2 p-1 !cursor-grab active:!cursor-grabbing hover:bg-[var(--color-background-neutral-subtlest-hovered)] rounded-s transition-colors",...g,...b,children:e.jsx(G.Icon,{name:te.GripVertical,className:"h-3 w-3 text-[var(--color-text-tertiary)]"})})]}):e.jsx(e.Fragment,{children:a})}),$s=l.memo(function({table:n,enableGrouping:i=!1}){const a=n.getAllColumns().filter(w=>w.getCanSort()).map(w=>({id:w.id,label:w.columnDef.meta?.label||w.columnDef.header||w.id})),g=n.getAllColumns().filter(w=>w.getCanGroup?.()||w.columnDef.enableGrouping).map(w=>({id:w.id,label:w.columnDef.meta?.label||w.columnDef.header||w.id})),b=n.getAllColumns().filter(w=>typeof w.accessorFn<"u"&&w.getCanHide()).map(w=>({id:w.id,label:w.columnDef.meta?.label||w.columnDef.header||w.id})),v=b.filter(w=>n.getColumn(w.id)?.getIsVisible()).map(w=>w.id),h=n.getState().sorting[0],p=h?.id,x=h?.desc?"desc":"asc",I=n.getState().grouping[0]||"",k=w=>{n.setSorting([{id:w,desc:x==="desc"}])},y=w=>{h&&n.setSorting([{id:h.id,desc:w==="desc"}])},V=w=>{!w||w==="none"?n.setGrouping([]):n.setGrouping([w])},z=(w,Ke)=>{n.getColumn(w)?.toggleVisibility(Ke)};return e.jsx(nn.DataTableSettingsMenu,{sortableColumns:a,selectedSortColumn:p,sortDirection:x,onSortChange:k,onSortDirectionChange:y,groupableColumns:i?g:[],selectedGroupColumn:I,onGroupChange:V,columns:b,visibleColumns:v,onColumnVisibilityChange:z})}),vn=l.memo(function({column:n,title:i,className:a}){const g=n.columnDef.meta?.align||"left",b=n.columnDef.meta?.truncate!==!1,v=n.getIsSorted();return n.getCanSort()?e.jsxs("div",{className:F.cn("flex items-center gap-1",g==="right"&&"justify-end",v&&"!text-[var(--color-text-brand-bold)]",a),children:[v&&e.jsx(G.Icon,{name:v==="desc"?"arrow-down-wide-narrow":"arrow-down-narrow-wide",className:"h-4 w-4 !text-[var(--color-icon-brand-bold)]"}),b?e.jsx(ze,{align:g,children:e.jsx("span",{children:i})}):e.jsx("span",{children:i})]}):b?e.jsx(ze,{align:g,children:e.jsx("div",{className:F.cn(g==="right"?"text-right":"text-left",a),children:i})}):e.jsx("div",{className:F.cn(g==="right"?"text-right":"text-left",a),children:i})}),As=l.memo(function({table:n,enableGrouping:i=!1,hideChildrenForSingleItemGroups:a={},footerLabel:g,onNextPageHover:b,onPreviousPageHover:v,paginationVariant:h="full",pageSizeOptions:p=[10,25,50,100]}){const x=n.getState().pagination.pageIndex+1,S=n.getState().pagination.pageSize,I=i&&!n.options.manualPagination?n.getPrePaginationRowModel().rows.filter(z=>z.depth===0).length:n.getRowCount(),k=n.getFilteredSelectedRowModel().rows.length,y=z=>{n.setPageIndex(z-1)},V=z=>{n.setPageSize(z)};return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"flex-1 text-body-sm text-[var(--color-text-secondary)]",children:g?e.jsxs("div",{className:"flex items-center gap-[var(--space-m)]",children:[g,k>0&&e.jsxs("span",{children:["· ",k," of ",I," row(s) selected"]})]}):k>0&&e.jsxs("span",{children:[k," of ",I," row(s) selected."]})}),e.jsx(rn.Pagination,{variant:h,currentPage:x,totalItems:I,pageSize:S,onPageChange:y,onPageSizeChange:V,pageSizeOptions:p,onNextPageHover:b,onPreviousPageHover:v})]})}),yn=l.memo(function({onLoadMore:n,isLoading:i}){const a=l.useRef(null);return l.useEffect(()=>{const g=a.current;if(!g||i)return;const b=new IntersectionObserver(v=>{v[0].isIntersecting&&n()},{threshold:.1});return b.observe(g),()=>b.disconnect()},[n,i]),e.jsx("div",{ref:a,className:"flex justify-center py-[var(--space-m)] border-t border-[var(--color-border-primary-subtle)]",children:i&&e.jsx(Je.Spinner,{size:"s"})})});function jn(c){let n=0;const i=(a,g)=>{a.forEach(b=>{b.depth>n&&(n=b.depth),b.subRows&&b.subRows.length>0&&i(b.subRows)})};return i(c),n}function zs(c,n){const{enableGrouping:i,enableExpanding:a,nestedRowStyling:g,expandingRowColors:b,maxDepth:v}=n,h=c.depth,p=c.getIsGrouped?.(),x=c.getIsExpanded(),S=c.subRows&&c.subRows.length>0,I=S?x?"expanded":"collapsed":"leaf",k=()=>{let y=c;for(;y;){if(y.getIsExpanded())return!0;y=y.getParentRow?.()}return!1};if(g?.colors&&g.colors[h]!==void 0){const y=g.colors[h];if(typeof y=="string")return y;if(typeof y=="object"){if(I==="expanded"&&y.expanded)return y.expanded;if(I==="collapsed"&&y.collapsed)return y.collapsed;if(I==="leaf"&&y.leaf)return y.leaf;if(y.default)return y.default}}if(a&&!p&&b){const y=v-h;if(y===0&&b.children)return b.children;if(y>0){if(x&&b.expandedParent)return b.expandedParent;if(!x&&b.collapsedParent)return b.collapsedParent}}return p?x?"var(--blue-50)":"var(--color-background-neutral-subtlest)":i&&h===1?"var(--blue-25)":a&&!p?h===0&&(!S||!k())?"":(v-h)%2===0?"var(--blue-25)":"var(--blue-50)":""}function Cn(c,n){if(n){if(n.heights&&n.heights[c]!==void 0)return n.heights[c];if(n.defaultHeight)return n.defaultHeight}}function Ps(c,n,i,a,g,b){const v=c.groupingColumnId,h=g[v]??!1,p=b[v]??!1,S=h&&p&&c.subRows.length<=1?null:c.subRows.length>1?e.jsx("button",{tabIndex:-1,onClick:c.getToggleExpandedHandler(),className:"flex h-[var(--size-s)] w-[var(--size-s)] cursor-pointer items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",children:e.jsx(G.Icon,{name:a?"chevron-down":"chevron-right",className:"h-3 w-3"})}):e.jsx("div",{className:"h-[var(--size-s)] w-[var(--size-s)]"}),I=c.subRows.length>1?e.jsx(be.Badge,{appearance:"subtle",size:"s",truncate:!1,children:c.subRows.length}):null;if(i){const k=n.getAllColumns().find(y=>y.id===i);if(k){const y=k.columnDef;if(y.aggregatedCell){const V=c.getAllCells().find(z=>z.column.id===i);return e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] font-medium text-[var(--color-text-primary)]",children:[S,e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[V?L.flexRender(y.aggregatedCell,V.getContext()):null,I]})]})}else{const V=c.subRows[0]?.original?.[i];return e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] font-medium text-[var(--color-text-primary)]",children:[S,e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[e.jsx("span",{className:"font-medium",children:String(V)}),I]})]})}}}return e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] font-medium text-[var(--color-text-primary)]",children:[S,e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[e.jsx("span",{className:"font-medium",children:String(c.getGroupingValue(c.groupingColumnId))}),I]})]})}function wn({columns:c,data:n,searchKey:i,searchPlaceholder:a,title:g,caption:b,className:v,stickyHeader:h=!1,stickyFirstColumn:p=!1,stickyLeftColumns:x=0,stickyRightColumns:S=0,enableResponsiveWrapper:I=!0,showScrollIndicators:k=!1,minTableWidth:y="900px",isLoading:V=!1,loadingBehavior:z="replace",loadingRowCount:w=10,borderStyle:Ke="both",defaultVerticalAlign:Ne="middle",enableGlobalSearch:ie=!1,globalSearchPlaceholder:Ls="Search all columns...",enableAutocomplete:xt=!1,globalSearchColumns:Xe,autocompleteMinCharacters:Os=2,enableGlobalFaceting:qs=!1,enableColumnResizing:se=!1,columnResizeMode:Hs="onChange",enableColumnResizePersistence:Qe=!1,enablePaginationPersistence:bt=!1,storageKey:Z="data-table-columns",enableExpanding:W=!1,getSubRows:Gs,expandingRowColors:q,nestedRowStyling:vt,enableGrouping:E=!1,groupedColumnMode:Ws=!1,enableManualGrouping:_s=!1,groupDisplayColumn:Ye,hideChildrenForSingleItemGroups:ve={},hideExpanderForSingleItemGroups:Lt={},enableRowPinning:Ie=!1,keepPinnedRows:Ot=!0,enableVirtualization:Us=!1,nestedHeaders:Ze=[],enableNestedHeaders:Js=!1,enableColumnOrdering:et=!1,enableRowSelection:ge=!1,showHeader:Me=!0,showPagination:yt=!0,paginationVariant:Ks="full",pageSizeOptions:Xs=[10,25,50,100],footerLabel:Qs,onTableReady:jt,initialState:Ve,sorting:qt,onSortingChange:Ys,columnVisibility:Ht,onColumnVisibilityChange:Zs,grouping:Gt,onGroupingChange:er,columnOrder:Wt,onColumnOrderChange:tr,columnSizing:Ct,onColumnSizingChange:sr,pagination:_t,onPaginationChange:rr,expanded:ye,onExpandedChange:wt,renderSectionHeaderRow:Ut,renderSubComponent:J,getRowCanExpand:nr,autoExpandChildren:Jt=!1,onRowClick:K,isRowClickable:je,clickableRowClassName:Kt,groupPreservingSearch:tt=!1,activeRowId:$e,activeRowClassName:Xt,getRowId:St,onActiveRowChange:Qt,onRowSelectionChange:Rt,onNextPageHover:or,onPreviousPageHover:ar,onRowUpdate:Sn,onLoadMore:Yt,hasMoreData:lr,isLoadingMore:ir,error:Zt,onRetry:cr,errorComponent:dr,emptyState:ur,emptyStateTitle:gr="No data",emptyStateDescription:fr="No items to display",emptyStateAction:mr,noResultsState:hr,noResultsTitle:pr="No results found",noResultsDescription:xr="Try adjusting your search or filters",noResultsAction:br,isRefetching:vr=!1,manualSorting:es=!1,manualFiltering:ts=!1,manualPagination:st=!1,rowCount:yr,manualExpanding:ss=!1,onLoadChildren:rt,expandingRowsLoading:nt,subComponentLoading:ot,onSubComponentLoad:Te,expandingRowsError:Rn,subComponentError:rs,onExpandError:Ae}){const at=I||!!(x&&x>0)||!!(S&&S>0),[jr,Cr]=l.useState([]),[wr,Sr]=l.useState({}),[Rr,Nr]=l.useState(Ve?.grouping||[]),[Ir,Tr]=l.useState(()=>{const t=c.map(s=>s.id||s.accessorKey||`column-${Math.random()}`);return ge?["select",...t]:t}),[Dr,kr]=l.useState(Ct||Ve?.columnSizing||{}),[Er,Br]=l.useState(()=>{if(bt&&Z){const t=localStorage.getItem(`${Z}-pagination`);if(t)try{const s=JSON.parse(t);if(typeof s.pageIndex=="number"&&typeof s.pageSize=="number")return s}catch(s){console.warn("Failed to parse saved pagination:",s)}}return Ve?.pagination||{pageIndex:0,pageSize:10}}),[ns,zr]=l.useState([]),[De,Pr]=l.useState({}),[Nt,os]=l.useState(""),[Fr,as]=l.useState(Ve?.expanded||{}),[Mr,Vr]=l.useState(Ve?.rowPinning||{top:[],bottom:[]}),[$r,lt]=l.useState(""),[X,It]=l.useState([-1,0]),Tt=l.useRef(null),Le=l.useRef(new Map),Oe=l.useRef(new Map);l.useEffect(()=>()=>{Le.current.forEach(t=>t.abort()),Oe.current.forEach(t=>t.abort())},[]),l.useEffect(()=>{Rt&&Rt(De)},[De,Rt]),l.useEffect(()=>{Qt?.($e)},[$e,Qt]);const ls=qt!==void 0,is=Ht!==void 0,cs=Gt!==void 0,ds=Wt!==void 0,us=Ct!==void 0,gs=_t!==void 0,Dt=ye!==void 0,fe=ls?qt:jr,Ar=is?Ht:wr,me=cs?Gt:Rr,qe=ds?Wt:Ir,it=us?Ct:Dr,re=gs?_t:Er,Q=Dt?ye:Fr,Lr=ls?Ys:Cr,Or=is?Zs:Sr,qr=cs?er:Nr,fs=ds?tr:Tr,ms=us?sr:kr,Hr=gs?rr:Br,kt=l.useCallback(t=>{const s=typeof t=="object"&&t!==null&&!(t instanceof Function)&&Object.keys(t).length===0;if(Dt&&wt){if(s&&(ye===!0||typeof ye=="object"&&ye!==null&&Object.keys(ye).length>0))return;wt(t)}else as(s?r=>r===!0||typeof r=="object"&&r!==null&&Object.keys(r).length>0?r:t:t)},[Dt,wt,ye]),Gr=l.useMemo(()=>w!==void 0&&w!==10?w:re.pageSize,[w,re.pageSize]),O=an(Nt,300),Wr=l.useMemo(()=>{if(!xt||!ie)return[];const t=new Set;return n.forEach(s=>{Xe&&Xe.length>0?Xe.forEach(r=>{const u=s[r];u!=null&&String(u).trim()!==""&&t.add(String(u))}):Object.values(s).forEach(r=>{r!=null&&String(r).trim()!==""&&t.add(String(r))})}),Array.from(t).sort()},[n,Xe,xt,ie]),hs=l.useCallback((t,s,r)=>{if(!t||!s||s.length===0)return()=>!0;const u=t.toLowerCase(),f=new Set;return r.forEach(m=>{let C=!1;for(const B in m){const M=m[B];if(M!=null&&String(M).toLowerCase().includes(u)){C=!0;break}}C&&s.forEach(B=>{const M=m[B];M!=null&&f.add(String(M))})}),m=>{for(const C of s){const B=m.getValue(C);if(B!=null&&f.has(String(B)))return!0}return!1}},[]);l.useEffect(()=>{if(Qe&&Z){const t=localStorage.getItem(`${Z}-sizing`);if(t)try{ms(JSON.parse(t))}catch(s){console.warn("Failed to parse saved column sizing:",s)}}},[Qe,Z]),l.useEffect(()=>{Qe&&Z&&Object.keys(it).length>0&&localStorage.setItem(`${Z}-sizing`,JSON.stringify(it))},[it,Qe,Z]),l.useEffect(()=>{bt&&Z&&localStorage.setItem(`${Z}-pagination`,JSON.stringify(re))},[re,bt,Z]);const N=l.useMemo(()=>{switch(Ke){case"horizontal":return{showRowBorder:!0,showCellBorder:!1};case"vertical":return{showRowBorder:!1,showCellBorder:!0};case"both":return{showRowBorder:!0,showCellBorder:!0};case"none":return{showRowBorder:!1,showCellBorder:!1};default:return{showRowBorder:!0,showCellBorder:!0}}},[Ke]),Et=l.useCallback((t,s)=>{if(!K)return;const r=s.target;if(!(r.tagName==="BUTTON"||r.tagName==="A"||r.tagName==="INPUT"||r.closest("button")||r.closest("a")||r.closest("input"))&&!(je&&!je(t))){if(!je&&t.getIsGrouped()){const f=t.groupingColumnId;if(!((ve[f]??!1)&&t.subRows&&t.subRows.length===1))return}K(t,s)}},[K,je,ve]),Ce=l.useCallback(t=>{if(!K)return!1;if(je)return je(t);if(!t.getIsGrouped())return!0;const r=t.groupingColumnId;return(ve[r]??!1)&&t.subRows&&t.subRows.length===1},[K,je,ve]),ps=t=>t?"![box-shadow:inset_3px_0_0_0_var(--color-border-brand-bold),inset_0_-1px_0_0_var(--color-border-primary-medium)]":"![box-shadow:inset_3px_0_0_0_var(--color-border-brand-bold)]",ke=l.useCallback(t=>{if(!$e)return!1;const s=St?t.id:t.original?.id!==void 0?t.original.id:t.id;return String(s)===String($e)},[$e,St]),He=l.useMemo(()=>p?1:x||0,[p,x]),we=l.useMemo(()=>S||0,[S]),xs=l.useMemo(()=>{const t=new Set;return c.forEach(s=>{if(s.cell){const r=s.id||s.accessorKey;r&&t.add(String(r))}}),t},[c]),Bt=l.useMemo(()=>{const t=c.map(s=>{let r={...s,...se&&!s.minSize?{minSize:80}:{}};return s.enableGrouping||s.meta?.enableGrouping?{...r,enableGrouping:!0,getGroupingValue:u=>{const f=s.accessorKey||s.accessorFn;return typeof f=="string"&&u.original?u.original[f]:typeof f=="function"&&u.original?f(u.original):u.getValue?.(s.id)||u[f]||""}}:r});return ge?[{id:"select",size:48,minSize:48,maxSize:48,enableResizing:!1,header:({table:r})=>e.jsx(pt.Checkbox,{tabIndex:-1,checked:r.getIsAllPageRowsSelected()||r.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:u=>r.toggleAllPageRowsSelected(!!u),"aria-label":"Select all"}),cell:({row:r})=>e.jsx(pt.Checkbox,{tabIndex:-1,checked:r.getIsSelected(),onCheckedChange:u=>r.toggleSelected(!!u),"aria-label":"Select row"}),enableSorting:!1,enableHiding:!1,enableGrouping:!1,meta:{label:"Select"}},...t]:t},[c,ge]),zt=l.useMemo(()=>n,[n]),_r=l.useMemo(()=>!tt||!O?$t:hs(O,me,zt),[tt,O,me,zt,hs]),j=L.useReactTable({data:zt,columns:Bt,getRowId:St,filterFns:{fuzzy:$t,multiSelect:Fs},state:{sorting:fe,columnFilters:ns,columnVisibility:Ar,rowSelection:De,globalFilter:O,columnSizing:it,expanded:Q,grouping:me,rowPinning:Mr,columnOrder:qe,pagination:re},manualSorting:es,manualFiltering:ts,manualPagination:st,rowCount:yr,enableRowSelection:ge,enableColumnPinning:!1,enableGlobalFilter:ie,globalFilterFn:_r,enableColumnResizing:se,columnResizeMode:Hs,enableExpanding:W,getSubRows:Gs,getRowCanExpand:nr,paginateExpandedRows:!1,autoResetPageIndex:!1,enableGrouping:E,groupedColumnMode:Ws,manualGrouping:_s,enableRowPinning:Ie,keepPinnedRows:Ot,onRowSelectionChange:Pr,onSortingChange:Lr,onColumnFiltersChange:zr,onColumnVisibilityChange:Or,onGlobalFilterChange:os,onColumnSizingChange:ms,onExpandedChange:kt,onGroupingChange:qr,onRowPinningChange:Vr,onColumnOrderChange:fs,onPaginationChange:Hr,getCoreRowModel:L.getCoreRowModel(),getFilteredRowModel:ts?void 0:L.getFilteredRowModel(),getPaginationRowModel:st||Us?void 0:L.getPaginationRowModel(),getSortedRowModel:es?void 0:L.getSortedRowModel(),getExpandedRowModel:W?L.getExpandedRowModel():void 0,getGroupedRowModel:E?L.getGroupedRowModel():void 0,getFacetedRowModel:L.getFacetedRowModel(),getFacetedUniqueValues:L.getFacetedUniqueValues(),getFacetedMinMaxValues:L.getFacetedMinMaxValues()}),ct=l.useMemo(()=>jn(j.getRowModel().rows),[j.getRowModel().rows]),dt=l.useMemo(()=>{if(!E)return null;const t=new Map;return j.getGroupedRowModel?.()?.rows?.forEach(r=>{r.subRows&&r.subRows.length>0&&t.set(r.id,r.subRows)}),t},[E,j]),{flatVisibleRows:ut,rowIdToFlatIndex:bs}=l.useMemo(()=>{const t=[],s=new Map,r=f=>{const m=t.length;t.push(f),s.set(f.id,m),f.getIsExpanded()&&(f.subRows&&f.subRows.length>0?f.subRows:dt?.get(f.id)||[]).forEach(r)};return j.getRowModel().rows.filter(f=>J||f.depth===0).forEach(r),{flatVisibleRows:t,rowIdToFlatIndex:s}},[j,Q,dt,J]),vs=l.useRef(void 0);l.useEffect(()=>{if(!E)return;const s=j.getPrePaginationRowModel().rows.filter(f=>f.depth===0).length,r=re.pageSize,u=Math.max(1,Math.ceil(s/r));vs.current!==u&&(vs.current=u,j.setPageCount(u))},[E,re.pageSize,me.join(","),j.getPrePaginationRowModel().rows.length]);const ys=l.useRef({});l.useEffect(()=>{if(!Jt)return;const t=j.getState().expanded,s=ys.current,r={...t};let u=!1;j.getRowModel().rows.forEach(f=>{const m=f.id,C=t[m]===!0,B=s[m]===!0;C&&!B&&f.subRows&&f.subRows.length>0&&f.subRows.forEach(M=>{t[M.id]!==!0&&(r[M.id]=!0,u=!0)})}),ys.current=t,u&&kt(r)},[Q,Jt]);const js=l.useRef({});l.useEffect(()=>{if(!rt&&!Te)return;const t=j.getState().expanded,s=js.current;Object.keys(s).forEach(r=>{const u=s[r],f=t[r];if(u&&!f){const m=Le.current.get(r);m&&(m.abort(),Le.current.delete(r));const C=Oe.current.get(r);C&&(C.abort(),Oe.current.delete(r))}}),Object.keys(t).forEach(r=>{const u=t[r],f=s[r];if(u&&!f){const m=j.getRow(r);if(!m)return;if(rt&&ss){const C=m.getIsGrouped()||m.subRows&&m.subRows.length===0&&m.getCanExpand(),B=nt?.[r]===!0,M=m.subRows&&m.subRows.length>0;if(C&&!B&&!M){const o=new AbortController;Le.current.set(r,o),Promise.resolve(rt(m)).catch(P=>{P?.name!=="AbortError"&&Ae&&Ae(m,P,"children")}).finally(()=>{Le.current.delete(r)})}}if(Te&&J&&!m.getIsGrouped()&&m.depth===0&&!(ot?.[r]===!0)){const B=new AbortController;Oe.current.set(r,B),Promise.resolve(Te(m)).catch(M=>{M?.name!=="AbortError"&&Ae&&Ae(m,M,"subComponent")}).finally(()=>{Oe.current.delete(r)})}}}),js.current=t},[Q,rt,Te,ss,J,nt,ot,Ae]),l.useEffect(()=>{if(!tt||!O||!E)return;const t={};j.getFilteredRowModel().rows.forEach(r=>{r.getIsGrouped()&&r.subRows&&r.subRows.length>0&&(t[r.id]=!0)}),kt(r=>{const u=Object.keys(r).sort().join(","),f=Object.keys(t).sort().join(",");return u===f?r:t})},[O,tt,E]);const Cs=l.useRef(me),ws=l.useRef(fe);l.useEffect(()=>{if(!st)return;const t=JSON.stringify(me)!==JSON.stringify(Cs.current),s=JSON.stringify(fe)!==JSON.stringify(ws.current);(t||s)&&j.setPageIndex(0),Cs.current=me,ws.current=fe},[me,fe,st,j]),l.useEffect(()=>{jt&&jt(j)},[j,jt]),l.useEffect(()=>{if(fe.length>0){const t=fe[0],s=c.find(f=>f.id===t.id||f.accessorKey===t.id),r=s?.meta?.label||s?.header||t.id,u=t.desc?"descending":"ascending";lt(`Table sorted by ${r}, ${u}`)}},[fe,c]),l.useEffect(()=>{if(O){const t=j.getFilteredRowModel().rows.length;lt(`${t} result${t!==1?"s":""} found for "${O}"`)}},[O,j]),l.useEffect(()=>{const t=Object.keys(De).filter(s=>De[s]).length;t>0&<(`${t} row${t!==1?"s":""} selected`)},[De]),l.useEffect(()=>{const[t,s]=X,r=ut.length,u=j.getVisibleLeafColumns();let f=t,m=s;t>=0&&t>=r&&(f=Math.max(r-1,-1)),s>=u.length&&(m=Math.max(u.length-1,0)),(f!==t||m!==s)&&It([f,m])},[n.length,j,X,ut.length]),l.useEffect(()=>{const t=j.getPageCount();t>1&<(`Page ${re.pageIndex+1} of ${t}`)},[re.pageIndex,j]);const Ge=l.useCallback((t,s)=>{if(!s||!t)return t;const r=t.toLowerCase(),u=s.toLowerCase(),f=[];let m=0,C=r.indexOf(u);for(;C!==-1;)C>m&&f.push(t.substring(m,C)),f.push(e.jsx("span",{style:{backgroundColor:"#fef3c7",fontWeight:600,padding:"2px 0"},children:t.substring(C,C+s.length)},`highlight-${m}-${C}`)),m=C+s.length,C=r.indexOf(u,m);return m<t.length&&f.push(t.substring(m)),e.jsx(e.Fragment,{children:f})},[]),he=l.useCallback(t=>{if(t==null)return"";if(typeof t=="string"||typeof t=="number")return String(t);if(Array.isArray(t))return t.map(he).join("");if(l.isValidElement(t)){const s=t;if(typeof s.type=="function")try{if(s.type.prototype?.isReactComponent)return he(s.props.children);const u=s.type(s.props);return he(u)}catch{return he(s.props.children)}return he(s.props.children)}return""},[]),gt=l.useCallback((t,s)=>s?he(t).toLowerCase().includes(s.toLowerCase()):!1,[he]),ce=l.useCallback((t,s)=>{if(!s||t==null)return t;if(typeof t=="string")return Ge(t,s);if(typeof t=="number")return Ge(String(t),s);if(Array.isArray(t))return t.map((r,u)=>e.jsx(l.Fragment,{children:ce(r,s)},u));if(l.isValidElement(t)){const r=t;if(typeof r.type=="function")try{if(r.type.prototype?.isReactComponent){const B=r.props.children;return l.cloneElement(r,{},ce(B,s))}const C=r.type(r.props);return ce(C,s)}catch{const{children:C,...B}=r.props;return C==null?r:l.cloneElement(r,B,ce(C,s))}if(r.props.children===void 0||r.props.children===null)return r;const{children:u,...f}=r.props;return l.cloneElement(r,f,ce(u,s))}return t},[Ge]),Ee=l.useCallback(t=>{if(!ie||!O)return L.flexRender(t.column.columnDef.cell,t.getContext());if(xs.has(t.column.id)){const u=L.flexRender(t.column.columnDef.cell,t.getContext());return u==null||!gt(u,O)?u:ce(u,O)}const r=t.getValue();if(typeof r=="string"||typeof r=="number"){const u=String(r);return Ge(u,O)}return L.flexRender(t.column.columnDef.cell,t.getContext())},[ie,O,Ge,xs,gt,ce]),Ss=l.useCallback(t=>{if(!ie||!O)return L.flexRender(t.column.columnDef.aggregatedCell,t.getContext());const s=L.flexRender(t.column.columnDef.aggregatedCell,t.getContext());return s==null||!gt(s,O)?s:ce(s,O)},[ie,O,gt,ce,he]),Ur=l.useRef(null),Jr=Re.useSensors(Re.useSensor(Re.MouseSensor,{activationConstraint:{distance:8}}),Re.useSensor(Re.TouchSensor,{activationConstraint:{delay:200,tolerance:8}})),[,Rs]=l.useState(null),Kr=t=>{et&&Rs(t.active.id)},Xr=t=>{if(!et)return;const{active:s,over:r}=t;if(Rs(null),s.id!==r?.id&&r?.id){const u=qe.findIndex(m=>m===s.id),f=qe.findIndex(m=>m===r?.id);if(u!==-1&&f!==-1){const m=ft.arrayMove(qe,u,f);console.log("Column reorder:",{activeId:s.id,overId:r.id,oldIndex:u,newIndex:f,oldOrder:qe,newOrder:m}),fs(m)}}},Qr=l.useCallback(t=>{const[s,r]=X,u=j.getVisibleLeafColumns(),f=ut,m=u.length,C=f.length,B=-1,M=C-1;let o=s,P=r,$=!1;switch(t.key){case"ArrowRight":r<m-1&&(P=r+1,$=!0);break;case"ArrowLeft":r>0&&(P=r-1,$=!0);break;case"ArrowDown":s<M&&(o=s+1,$=!0);break;case"ArrowUp":s>B&&(o=s-1,$=!0);break;case"Home":(t.ctrlKey||t.metaKey)&&(o=B),P=0,$=!0;break;case"End":(t.ctrlKey||t.metaKey)&&(o=M),P=m-1,$=!0;break;case"PageDown":o=Math.min(s+10,M),$=!0;break;case"PageUp":o=Math.max(s-10,B),$=!0;break;case"Enter":case" ":if(s===-1){const d=u[r];d?.id==="select"&&ge&&t.key===" "?(j.toggleAllPageRowsSelected(),$=!0):d?.getCanSort()&&(d.toggleSorting(),$=!0)}else{const d=f[s];d&&((W||E)&&d.getCanExpand()?(d.toggleExpanded(),$=!0):ge&&t.key===" "&&(d.toggleSelected(),$=!0),!$&&t.key==="Enter"&&K&&Ce(d)&&(Et(d,t),$=!0))}break;case"Escape":document.activeElement instanceof HTMLElement&&document.activeElement.blur(),$=!0;break}if($&&(t.preventDefault(),t.stopPropagation(),o!==s||P!==r)){It([o,P]);const d=o===-1?`[data-header-col="${P}"]`:`[data-row="${o}"][data-col="${P}"]`,T=Tt.current?.querySelector(d);T&&T.focus()}},[X,j,ut,W,E,ge]),Yr=l.useCallback(t=>{Tt.current?.contains(t.relatedTarget)||It([-1,0])},[]),We=l.useMemo(()=>{const t=j.getVisibleFlatColumns(),s=new Map;let r=0;t.forEach((f,m)=>{const C=m<He,B=m>=t.length-we,M=C&&m===He-1,o=B&&m===t.length-we;s.set(f.id,{isLeftSticky:C,isRightSticky:B,leftPosition:r,rightPosition:0,isRightmostLeftSticky:M,isLeftmostRightSticky:o,columnIndex:m}),r+=f.getSize()});let u=0;for(let f=t.length-1;f>=0;f--){const m=t[f],C=s.get(m.id);C&&(C.rightPosition=u),u+=m.getSize()}return{data:s,allColumns:t}},[j.getVisibleFlatColumns(),He,we]),_e=(t,s=!1,r=!0)=>{if(!t||typeof t.getSize!="function")return{};const u=We.data.get(t.id);if(!u||!u.isLeftSticky&&!u.isRightSticky)return{};const{isLeftSticky:f,isRightSticky:m,leftPosition:C,rightPosition:B,isRightmostLeftSticky:M,isLeftmostRightSticky:o}=u;if(f){const P={position:"sticky",left:`${C}px`,...s&&{backgroundColor:"var(--grey-25)"},width:`${t.getSize()}px`,minWidth:`${t.getSize()}px`,maxWidth:`${t.getSize()}px`};return M&&s?{...P,backgroundImage:"linear-gradient(to right, var(--grey-25) calc(100% - 3px), var(--color-border-primary-medium) calc(100% - 3px), var(--color-border-primary-medium) 100%)",backgroundColor:"transparent"}:P}if(m){const P={position:"sticky",right:`${B}px`,...s&&{backgroundColor:"var(--grey-25)"},width:`${t.getSize()}px`,minWidth:`${t.getSize()}px`,maxWidth:`${t.getSize()}px`};return o&&s?{...P,backgroundImage:"linear-gradient(to right, var(--color-border-primary-medium) 0, var(--color-border-primary-medium) 3px, var(--grey-25) 3px)",backgroundColor:"transparent"}:P}return{}},Zr=t=>{if(!t||typeof t.getSize!="function")return"";const s=We.data.get(t.id);return s?s.isRightmostLeftSticky?"border-r-[3px] border-[var(--color-border-primary-medium)]":s.isLeftmostRightSticky?"border-l-[3px] border-[var(--color-border-primary-medium)]":"":""},Pt=t=>{if(!t||typeof t.getSize!="function")return!1;const s=We.data.get(t.id);return s?s.isRightmostLeftSticky||s.isLeftmostRightSticky:!1},Ft=t=>{if(!t||typeof t.getSize!="function"||we===0)return!1;const s=We.data.get(t.id);return s?s.columnIndex===We.allColumns.length-we-1:!1},Ns=(t,s=!1)=>!se||!t.getCanResize()||!!N.showCellBorder?"":F.cn(!s&&["after:content-[''] after:absolute after:right-px after:top-1/2 after:-translate-y-1/2","after:w-[2px] after:h-[24px] after:rounded-[2px]","after:bg-[var(--color-border-primary-medium)]","after:opacity-0 hover:after:opacity-100","after:transition-opacity after:pointer-events-none after:z-10"],"before:content-[''] before:absolute before:left-[-3px] before:top-1/2 before:-translate-y-1/2","before:w-[2px] before:h-[24px] before:rounded-[2px]","before:bg-[var(--color-border-primary-medium)]","before:opacity-0 hover:before:opacity-100","before:transition-opacity before:pointer-events-none before:z-10");return e.jsx(mt.TooltipProvider,{children:e.jsx(Re.DndContext,{sensors:Jr,collisionDetection:Re.closestCenter,onDragStart:Kr,onDragEnd:Xr,children:e.jsxs("div",{className:F.cn("border border-[var(--color-border-primary-medium)] bg-[var(--color-surface-primary)] overflow-hidden rounded-l",!yt&&"border-b-0",v),children:[Me&&(g||ie)&&e.jsxs("div",{className:"border-b border-[var(--color-border-primary-medium)] bg-[var(--color-surface-primary)] px-[var(--space-l)] py-[var(--space-m)]",children:[g&&e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("h3",{className:"text-heading-sm font-semibold text-[var(--color-text-primary)]",children:g}),e.jsx($s,{table:j,enableGrouping:E})]}),e.jsx(Ms,{table:j,searchKey:i,searchPlaceholder:a,showSettingsMenu:!1,enableGlobalSearch:ie,globalSearchPlaceholder:Ls,globalFilter:Nt,onGlobalFilterChange:os,enableGlobalFaceting:qs,enableGrouping:E,enableAutocomplete:xt,autocompleteSuggestions:Wr,autocompleteMinCharacters:Os})]}),e.jsxs("div",{ref:Tt,onKeyDown:Qr,onFocus:Yr,className:F.cn("relative",at&&["overflow-x-auto","scrollbar-thin scrollbar-track-transparent scrollbar-thumb-[var(--color-border-primary-subtle)]","hover:scrollbar-thumb-[var(--color-border-primary)]","max-sm:scrollbar-none"]),children:[k&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"absolute top-0 left-0 bottom-0 w-8 bg-gradient-to-r from-[var(--color-surface-primary)] to-transparent z-10 pointer-events-none opacity-0 transition-opacity"}),e.jsx("div",{className:"absolute top-0 right-0 bottom-0 w-8 bg-gradient-to-l from-[var(--color-surface-primary)] to-transparent z-10 pointer-events-none opacity-0 transition-opacity"})]}),e.jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:$r}),e.jsxs(D.Table,{ref:Ur,role:"grid","aria-label":b||g,"aria-rowcount":n.length,"aria-colcount":j.getVisibleLeafColumns().length,className:F.cn("border-separate border-spacing-0",se&&"table-fixed"),style:{...at&&{minWidth:y}},children:[e.jsx("colgroup",{children:j.getVisibleLeafColumns().map(t=>e.jsx("col",{style:{width:t.id==="select"?"48px":void 0}},t.id))}),e.jsx(D.TableHeader,{className:F.cn(h&&["sticky top-0 z-20","after:absolute after:bottom-0 after:left-0 after:right-0 after:h-px after:bg-[var(--color-border-primary-medium)]"],yt&&"[&_tr:last-child]:border-b-0"),children:V?e.jsx(At,{columns:j.getVisibleLeafColumns().length,rows:0,showRowBorder:N.showRowBorder,showCellBorder:N.showCellBorder,enableResponsiveWrapper:at}):Js&&Ze&&Ze.length>0?e.jsxs(e.Fragment,{children:[e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:Ze.map((t,s)=>{const r=t.columns.length,u=_e(t,!0,N.showRowBorder);return e.jsx(D.TableHead,{colSpan:r,showBorder:N.showCellBorder,className:F.cn("text-center bg-[var(--color-background-neutral-subtlest)] font-medium border-b border-[var(--color-border-primary-medium)]",h&&"z-20",!Me&&s===0&&"rounded-tl-l",!Me&&s===Ze.length-1&&"rounded-tr-l",t.className),style:{...u,...t.style},children:typeof t.header=="string"?e.jsx("span",{className:"text-body-strong-sm text-[var(--color-text-primary)]",children:t.header}):t.header},t.id)})}),e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:j.getHeaderGroups()[0]?.headers.map((t,s)=>{const r=_e(t.column,!0,N.showRowBorder),u=t.column.columnDef.meta?.align||"left",f=s===j.getHeaderGroups()[0].headers.length-1,m=Pt(t.column);return e.jsx(D.TableHead,{scope:"col","aria-sort":t.column.getCanSort()?t.column.getIsSorted()?t.column.getIsSorted()==="desc"?"descending":"ascending":"none":void 0,"aria-colindex":s+1,"data-header-col":s,tabIndex:X[0]===-1&&X[1]===s?0:-1,showBorder:f||m||Ft(t.column)?!1:N.showCellBorder,className:F.cn(h&&"z-20",(He>0||we>0)&&"z-30",se&&"relative overflow-visible group",Ns(t.column,f),"focus-visible:outline focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-[var(--color-border-brand-bold)]"),style:{...r,...se&&!r.width?{width:t.column.getSize()}:{}},children:e.jsxs("div",{className:F.cn(u==="right"?"text-right":"text-left"),children:[t.isPlaceholder?null:L.flexRender(t.column.columnDef.header,t.getContext()),se&&t.column.getCanResize()&&e.jsx("div",{onMouseDown:t.getResizeHandler(),onTouchStart:t.getResizeHandler(),className:"absolute right-0 top-0 h-full w-2 cursor-col-resize select-none touch-none -mr-1",children:e.jsx("div",{className:F.cn("absolute right-1 top-0 h-full w-1","hover:bg-[var(--color-border-primary-medium)] active:bg-[var(--color-border-primary-medium)]",t.column.getIsResizing()&&"bg-[var(--color-border-primary-medium)]")})})]})},t.id)})})]}):j.getHeaderGroups().map(t=>e.jsx(ft.SortableContext,{items:t.headers.map(s=>s.id),strategy:ft.horizontalListSortingStrategy,children:e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:t.headers.map((s,r)=>{const u=_e(s.column,!0,N.showRowBorder),f=s.column.columnDef.meta?.align||"left",m=r===t.headers.length-1,C=Pt(s.column);return e.jsx(D.TableHead,{scope:"col","aria-sort":s.column.getCanSort()?s.column.getIsSorted()?s.column.getIsSorted()==="desc"?"descending":"ascending":"none":void 0,"aria-colindex":r+1,"data-header-col":r,tabIndex:X[0]===-1&&X[1]===r?0:-1,showBorder:m||C||Ft(s.column)?!1:N.showCellBorder,className:F.cn(h&&"z-20",(He>0||we>0)&&"z-30",se&&"relative overflow-visible group",et&&"group",!Me&&r===0&&"rounded-tl-l",!Me&&r===t.headers.length-1&&"rounded-tr-l",Ns(s.column,m),"focus-visible:outline focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-[var(--color-border-brand-bold)]"),style:{...u,...se&&!u.width?{width:s.column.getSize()}:{}},children:e.jsx(bn,{header:s,enableColumnOrdering:et,children:e.jsxs("div",{className:F.cn(f==="right"?"text-right":"text-left"),children:[s.isPlaceholder?null:L.flexRender(s.column.columnDef.header,s.getContext()),se&&s.column.getCanResize()&&e.jsx("div",{onMouseDown:s.getResizeHandler(),onTouchStart:s.getResizeHandler(),className:"absolute right-0 top-0 h-full w-2 cursor-col-resize select-none touch-none -mr-1",children:e.jsx("div",{className:F.cn("absolute right-1 top-0 h-full w-1","hover:bg-[var(--color-border-primary-medium)] active:bg-[var(--color-border-primary-medium)]",s.column.getIsResizing()&&"bg-[var(--color-border-primary-medium)]")})})]})})},s.id)})})},t.id))}),e.jsxs(D.TableBody,{children:[vr&&!V&&n.length>0&&e.jsx("tr",{className:"absolute top-0 left-0 right-0 z-50 h-0",children:e.jsx("td",{colSpan:j.getVisibleLeafColumns().length,className:"p-0",children:e.jsx(pn,{})})}),Zt?e.jsx(D.TableRow,{showBorder:!1,className:"h-[300px]",children:e.jsx(D.TableCell,{colSpan:j.getVisibleLeafColumns().length,className:"text-center",showBorder:!1,showRowBorder:!1,verticalAlign:"middle",children:dr||e.jsx(hn,{error:Zt,onRetry:cr})})}):V&&(z==="replace"||n.length===0)?e.jsx(At,{columns:j.getVisibleLeafColumns().length,rows:Gr,showRowBorder:N.showRowBorder,showCellBorder:N.showCellBorder,skipHeader:!0,enableResponsiveWrapper:at}):j.getRowModel().rows?.length?(()=>{if(!Ie||!Ot){const o=new Set,P=j.getRowModel().rows.filter(d=>J||d.depth===0),$=(d,T,H)=>{if(o.has(d.id))return null;o.add(d.id);const _=bs.get(d.id)??-1;return e.jsxs(l.Fragment,{children:[e.jsx(D.TableRow,{"data-state":d.getIsSelected()&&"selected",showBorder:N.showRowBorder,"aria-rowindex":_+2,"aria-selected":ge?d.getIsSelected():void 0,"aria-expanded":d.getCanExpand()?d.getIsExpanded():void 0,className:F.cn("group",d.getIsSelected()&&"bg-[var(--blue-25)]",d.getIsPinned()==="top"&&"!bg-[var(--color-background-neutral-selected)] !border-b-2 !border-[var(--color-border-primary-medium)]",d.getIsPinned()==="bottom"&&"!bg-[var(--color-background-neutral-selected)] !border-t-2 !border-[var(--color-border-primary-medium)]",(()=>{const A=d.getIsGrouped?.()?"font-medium":"",ne=zs(d,{enableGrouping:E,enableExpanding:W,nestedRowStyling:vt,expandingRowColors:q,maxDepth:ct});return F.cn(ne?`bg-[${ne}]`:"",A)})(),K&&Ce(d)&&(Kt||"cursor-pointer hover:[background-image:linear-gradient(rgba(0,0,0,0.02),rgba(0,0,0,0.02))]")),style:{height:Cn(d.depth,vt)},onClick:K&&Ce(d)?R=>Et(d,R):void 0,role:"row","aria-label":K&&Ce(d)?`View details for row ${d.id}`:void 0,"aria-current":ke(d)?"true":void 0,children:d.getVisibleCells().map((R,A)=>{const ne=_e(R.column,!1,N.showRowBorder),U=A===0,Ue=W&&d.getCanExpand()||E&&d.getIsGrouped(),de=d.getIsExpanded(),ue=d.depth,Mt=E&&d.getIsGrouped();let Se=Ut?.(d);if(Se==null)for(const ae of d.getVisibleCells()){const le=ae.column.columnDef.sectionHeaderCell;if(le){const Vt=le(ae.getContext());if(Vt!=null){Se=Vt;break}}}const oe=Se!=null;if(oe&&!U)return null;const ee=E&&d.depth>0&&A===0&&!H;return e.jsx(D.TableCell,{role:"gridcell","aria-colindex":A+1,"data-row":_,"data-col":A,tabIndex:X[0]===_&&X[1]===A?0:-1,showBorder:Pt(R.column)||Ft(R.column)?!1:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:R.column.columnDef.meta?.verticalAlign||Ne,colSpan:oe?d.getVisibleCells().length:void 0,"data-section-header":oe?!0:void 0,className:F.cn(U&&ke(d)&&(Xt||ps(ee?!1:N.showRowBorder)),!oe&&Zr(R.column),Object.keys(ne).length>0&&["z-10",(()=>{const ae=zs(d,{enableGrouping:E,enableExpanding:W,nestedRowStyling:vt,expandingRowColors:q,maxDepth:ct});return ae?`bg-[${ae}]`:"bg-[var(--color-surface-primary)]"})()],oe&&"bg-[var(--blue-50)]",ee&&!ke(d)&&"![box-shadow:none]","focus-visible:outline focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-[var(--color-border-brand-bold)]"),style:{...ne,paddingLeft:U&&ue>0&&!oe?`calc(var(--space-m) + ${ue*20}px)`:void 0},children:oe?Se:Mt?U?Ps(d,j,Ye,de,ve,Lt):R.column.columnDef.meta?.renderInGroupedRows?Ee(R):R.column.columnDef.aggregatedCell?Ss(R):(()=>{const ae=Bs(R.column,d.subRows,d.groupingColumnId);if(!ae)return e.jsx("div",{});const le=R.column.columnDef.meta?.align||"left";return e.jsx(ze,{align:le,children:e.jsx("span",{className:F.cn("text-[var(--color-text-secondary)] text-body-sm",le==="right"?"tabular-nums":""),children:ae})})})():e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[U&&Ue&&e.jsx("button",{tabIndex:-1,onClick:d.getToggleExpandedHandler(),className:"flex h-[var(--size-s)] w-[var(--size-s)] cursor-pointer items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",children:e.jsx(G.Icon,{name:de?"chevron-down":"chevron-right",className:"h-3 w-3"})}),U&&Ie&&!Mt&&e.jsxs("div",{className:"flex items-center gap-1",children:[d.getIsPinned()!=="top"&&e.jsx("button",{tabIndex:-1,onClick:()=>d.pin("top"),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Pin to top",children:e.jsx(G.Icon,{name:te.ArrowUpToLine,className:"h-3 w-3"})}),d.getIsPinned()!=="bottom"&&e.jsx("button",{tabIndex:-1,onClick:()=>d.pin("bottom"),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Pin to bottom",children:e.jsx(G.Icon,{name:te.ArrowDownToLine,className:"h-3 w-3"})}),d.getIsPinned()&&e.jsx("button",{tabIndex:-1,onClick:()=>d.pin(!1),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Unpin row",children:e.jsx(G.Icon,{name:te.X,className:"h-3 w-3"})})]}),U&&!Ue&&!Ie&&(W||E)&&e.jsx("div",{className:"h-[var(--size-s)] w-[var(--size-s)]"}),e.jsx("div",{className:"flex-1 min-w-0",children:E&&d.depth>0&&(R.column.id===d.getParentRow()?.groupingColumnId||R.column.id===Ye)?e.jsx("div",{}):R.column.columnDef.meta?.truncate!==!1?e.jsx(ze,{align:R.column.columnDef.meta?.align,children:Ee(R)}):Ee(R)})]})},R.id)})}),nt?.[d.id]&&d.getIsExpanded()&&e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:e.jsx(D.TableCell,{colSpan:d.getVisibleCells().length,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:Ne,className:"py-[var(--space-m)]",children:e.jsxs("div",{className:"flex items-center justify-center gap-[var(--space-s)]",children:[e.jsx(Je.Spinner,{size:"s"}),e.jsx("span",{className:"text-body-sm text-[var(--color-text-secondary)]",children:"Loading..."})]})})}),J&&d.getIsExpanded()&&d.depth===0&&e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:e.jsx(D.TableCell,{colSpan:d.getVisibleCells().length,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:Ne,className:"p-0","data-section-header":!0,children:rs?.[d.id]?e.jsxs("div",{className:"flex flex-col items-center justify-center py-[var(--space-l)] gap-[var(--space-s)]",children:[e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] text-[var(--color-text-danger)]",children:[e.jsx(G.Icon,{name:te.AlertCircle,className:"h-4 w-4"}),e.jsx("span",{className:"text-body-sm",children:rs[d.id]?.message||"Failed to load details"})]}),Te&&e.jsx("button",{onClick:()=>Te(d),className:"text-body-sm text-[var(--color-text-brand)] hover:underline cursor-pointer",children:"Try again"})]}):ot?.[d.id]?e.jsxs("div",{className:"flex items-center justify-center py-[var(--space-l)]",children:[e.jsx(Je.Spinner,{size:"s"}),e.jsx("span",{className:"ml-[var(--space-s)] text-body-sm text-[var(--color-text-secondary)]",children:"Loading details..."})]}):J(d)})}),(()=>{if(J)return null;const R=d.subRows&&d.subRows.length>0?d.subRows:dt?.get(d.id)||[];if(R.length===0)return null;let A=d.getIsExpanded();return!A&&Q===!0&&d.getCanExpand()&&(A=!0),!A&&typeof Q=="object"&&Q!==null&&Q[d.id]&&(A=!0),A?R.map((ne,U)=>$(ne,U,U===R.length-1)):null})()]},d.id)};return P.map((d,T)=>$(d,T,T===P.length-1))}const t=j.getCoreRowModel().rows,s=j.getRowModel().rows,r=t.filter(o=>o.getIsPinned()==="top"),u=t.filter(o=>o.getIsPinned()==="bottom"),f=s.filter(o=>!o.getIsPinned()),m=[...r,...f,...u],C=new Set,B=m.filter(o=>J||o.depth===0),M=(o,P,$)=>{if(C.has(o.id))return null;C.add(o.id);const d=bs.get(o.id)??-1;return e.jsxs(l.Fragment,{children:[e.jsx(D.TableRow,{"data-state":o.getIsSelected()&&"selected",showBorder:N.showRowBorder,"aria-rowindex":d+2,className:F.cn("group",o.getIsSelected()&&"bg-[var(--blue-25)]",o.getIsPinned()==="top"&&"!bg-[var(--color-background-neutral-selected)] !border-b-2 !border-[var(--color-border-primary-medium)]",o.getIsPinned()==="bottom"&&"!bg-[var(--color-background-neutral-selected)] !border-t-2 !border-[var(--color-border-primary-medium)]",o.getIsGrouped?.()&&o.getIsExpanded()&&"bg-[var(--blue-50)] font-medium",o.getIsGrouped?.()&&!o.getIsExpanded()&&"bg-[var(--color-background-neutral-subtlest)] font-medium",E&&o.depth===1&&"bg-[var(--blue-25)]",W&&!o.getIsGrouped?.()&&(()=>{const T=o.subRows&&o.subRows.length>0,H=()=>{let A=o;for(;A;){if(A.getIsExpanded())return!0;A=A.getParentRow?.()}return!1};if(o.depth===0&&(!T||!H()))return"";const _=ct-o.depth,R=_%2===0?"bg-[var(--blue-25)]":"bg-[var(--blue-50)]";if(q){if(_===0&&q.children)return`bg-[${q.children}]`;if(_>0&&o.getIsExpanded()&&q.expandedParent)return`bg-[${q.expandedParent}]`;if(_>0&&!o.getIsExpanded()&&q.collapsedParent)return`bg-[${q.collapsedParent}]`}return R})(),K&&Ce(o)&&(Kt||"cursor-pointer hover:[background-image:linear-gradient(rgba(0,0,0,0.02),rgba(0,0,0,0.02))]")),onClick:K&&Ce(o)?T=>Et(o,T):void 0,role:"row","aria-label":K&&Ce(o)?`View details for row ${o.id}`:void 0,"aria-current":ke(o)?"true":void 0,children:o.getVisibleCells().map((T,H)=>{const _=_e(T.column,!1,N.showRowBorder),R=H===0,A=W&&o.getCanExpand()||E&&o.getIsGrouped(),ne=o.getIsExpanded(),U=o.depth,Ue=E&&o.getIsGrouped();let de=Ut?.(o);if(de==null)for(const pe of o.getVisibleCells()){const xe=pe.column.columnDef.sectionHeaderCell;if(xe){const ee=xe(pe.getContext());if(ee!=null){de=ee;break}}}const ue=de!=null;if(ue&&!R)return null;const oe=E&&o.depth>0&&H===0&&!$;return e.jsx(D.TableCell,{role:"gridcell","aria-colindex":H+1,"data-row":d,"data-col":H,tabIndex:X[0]===d&&X[1]===H?0:-1,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:T.column.columnDef.meta?.verticalAlign||Ne,colSpan:ue?o.getVisibleCells().length:void 0,className:F.cn(R&&ke(o)&&(Xt||ps(oe?!1:N.showRowBorder)),"focus-visible:outline focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-[var(--color-border-brand-bold)]",Object.keys(_).length>0&&["z-10",o.getIsGrouped?.()&&o.getIsExpanded()&&"bg-[var(--blue-50)]",o.getIsGrouped?.()&&!o.getIsExpanded()&&"bg-[var(--color-background-neutral-subtlest)]",E&&o.depth===1&&"bg-[var(--blue-25)]",W&&!o.getIsGrouped?.()&&(()=>{const pe=o.subRows&&o.subRows.length>0,xe=()=>{let le=o;for(;le;){if(le.getIsExpanded())return!0;le=le.getParentRow?.()}return!1};if(o.depth===0&&(!pe||!xe()))return"";const ee=ct-o.depth,ae=ee%2===0?"bg-[var(--blue-25)]":"bg-[var(--blue-50)]";if(q){if(ee===0&&q.children)return`bg-[${q.children}]`;if(ee>0&&o.getIsExpanded()&&q.expandedParent)return`bg-[${q.expandedParent}]`;if(ee>0&&!o.getIsExpanded()&&q.collapsedParent)return`bg-[${q.collapsedParent}]`}return ae})(),!o.getIsGrouped?.()&&!(E&&o.depth===1)&&!W&&"bg-[var(--color-surface-primary)]"],ue&&"bg-[var(--blue-50)]",oe&&!ke(o)&&"![box-shadow:none]"),style:{..._,width:T.column.getSize(),...ue?{height:"32px",padding:"0"}:{},paddingLeft:R&&U>0&&!ue?`calc(var(--space-m) + ${U*20}px)`:void 0},children:ue?de:Ue?R?Ps(o,j,Ye,ne,ve,Lt):T.column.columnDef.meta?.renderInGroupedRows?Ee(T):T.column.columnDef.aggregatedCell?Ss(T):(()=>{const pe=Bs(T.column,o.subRows,o.groupingColumnId);if(!pe)return e.jsx("div",{});const xe=T.column.columnDef.meta?.align||"left";return e.jsx(ze,{align:xe,children:e.jsx("span",{className:F.cn("text-[var(--color-text-secondary)] text-body-sm",xe==="right"?"tabular-nums":""),children:pe})})})():e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[R&&A&&e.jsx("button",{onClick:o.getToggleExpandedHandler(),className:"flex h-[var(--size-s)] w-[var(--size-s)] cursor-pointer items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",children:e.jsx(G.Icon,{name:ne?"chevron-down":"chevron-right",className:"h-3 w-3"})}),R&&Ie&&!Ue&&e.jsxs("div",{className:"flex items-center gap-1",children:[o.getIsPinned()!=="top"&&e.jsx("button",{onClick:()=>o.pin("top"),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Pin to top",children:e.jsx(G.Icon,{name:te.ArrowUpToLine,className:"h-3 w-3"})}),o.getIsPinned()!=="bottom"&&e.jsx("button",{onClick:()=>o.pin("bottom"),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Pin to bottom",children:e.jsx(G.Icon,{name:te.ArrowDownToLine,className:"h-3 w-3"})}),o.getIsPinned()&&e.jsx("button",{onClick:()=>o.pin(!1),className:"opacity-0 group-hover:opacity-100 flex h-[var(--size-s)] w-[var(--size-s)] items-center justify-center rounded-s text-[var(--color-text-secondary)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",title:"Unpin row",children:e.jsx(G.Icon,{name:te.X,className:"h-3 w-3"})})]}),R&&!A&&!Ie&&(W||E)&&e.jsx("div",{className:"h-[var(--size-s)] w-[var(--size-s)]"}),e.jsx("div",{className:"flex-1 min-w-0",children:E&&o.depth>0&&(T.column.id===o.getParentRow()?.groupingColumnId||T.column.id===Ye)?e.jsx("div",{}):T.column.columnDef.meta?.truncate!==!1?e.jsx(ze,{align:T.column.columnDef.meta?.align,children:Ee(T)}):Ee(T)})]})},T.id)})}),nt?.[o.id]&&o.getIsExpanded()&&e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:e.jsx(D.TableCell,{colSpan:o.getVisibleCells().length,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:Ne,className:"py-[var(--space-m)]",children:e.jsxs("div",{className:"flex items-center justify-center gap-[var(--space-s)]",children:[e.jsx(Je.Spinner,{size:"s"}),e.jsx("span",{className:"text-body-sm text-[var(--color-text-secondary)]",children:"Loading..."})]})})}),J&&o.getIsExpanded()&&o.depth===0&&e.jsx(D.TableRow,{showBorder:N.showRowBorder,children:e.jsx(D.TableCell,{colSpan:o.getVisibleCells().length,showBorder:N.showCellBorder,showRowBorder:N.showRowBorder,verticalAlign:Ne,className:"p-0","data-section-header":!0,children:ot?.[o.id]?e.jsxs("div",{className:"flex items-center justify-center py-[var(--space-l)]",children:[e.jsx(Je.Spinner,{size:"s"}),e.jsx("span",{className:"ml-[var(--space-s)] text-body-sm text-[var(--color-text-secondary)]",children:"Loading details..."})]}):J(o)})}),(()=>{if(J)return null;const T=o.subRows&&o.subRows.length>0?o.subRows:dt?.get(o.id)||[];if(T.length===0)return null;let H=o.getIsExpanded();return!H&&Q===!0&&o.getCanExpand()&&(H=!0),!H&&typeof Q=="object"&&Q!==null&&Q[o.id]&&(H=!0),H?T.map((_,R)=>M(_,R,R===T.length-1)):null})()]},o.id)};return B.map((o,P)=>M(o,P,P===B.length-1))})():ns.length>0||Nt!==""?e.jsx(D.TableRow,{showBorder:!1,className:"h-[300px]",children:e.jsx(D.TableCell,{colSpan:Bt.length,className:"text-center",showBorder:!1,showRowBorder:!1,verticalAlign:"middle",children:hr||e.jsx(mn,{title:pr,description:xr,action:br})})}):e.jsx(D.TableRow,{showBorder:!1,className:"h-[300px]",children:e.jsx(D.TableCell,{colSpan:Bt.length,className:"text-center",showBorder:!1,showRowBorder:!1,verticalAlign:"middle",children:ur||e.jsx(fn,{title:gr,description:fr,action:mr})})})]})]})]}),yt&&e.jsx("div",{className:"bg-[var(--color-surface-primary)] px-[var(--space-l)] py-[var(--space-m)]",children:e.jsx(As,{table:j,enableGrouping:E,hideChildrenForSingleItemGroups:ve,footerLabel:Qs,onNextPageHover:or,onPreviousPageHover:ar,paginationVariant:Ks,pageSizeOptions:Xs})}),Yt&&lr&&e.jsx(yn,{onLoadMore:()=>Yt(re.pageIndex),isLoading:ir})]})})})}Object.defineProperty(exports,"useReactTable",{enumerable:!0,get:()=>L.useReactTable});exports.DataTable=wn;exports.DataTableColumnHeader=vn;exports.DataTableFilter=Vs;exports.DataTablePagination=As;exports.DataTableSkeleton=At;exports.DataTableToolbar=Ms;exports.fuzzyFilter=$t;exports.groupPreservingGlobalFilter=ln;exports.multiSelectFilter=Fs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),xe=require("react"),A=require("../../lib/utils.cjs"),Y=require("../fundamental/button.cjs"),ae=require("../fundamental/input.cjs"),me=require("../fundamental/autocomplete-search.cjs"),_=require("../fundamental/icon.cjs"),ce=require("../fundamental/checkbox.cjs"),se=require("../fundamental/radio-group.cjs"),J=require("../fundamental/select.cjs"),ve=require("../fundamental/month-picker.cjs"),he=require("../fundamental/calendar.cjs"),U=require("../fundamental/popover.cjs"),ne=require("../fundamental/separator.cjs"),oe=require("../fundamental/badge.cjs"),re=require("../../lib/date-utils.cjs");function be(m){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const n in m)if(n!=="default"){const v=Object.getOwnPropertyDescriptor(m,n);Object.defineProperty(a,n,v.get?v:{enumerable:!0,get:()=>m[n]})}}return a.default=m,Object.freeze(a)}const d=be(xe),ue=["this-month","last-month","this-quarter","last-quarter","this-year","last-year","custom"],de=["this-week","last-week","last-30-days","last-90-days","this-month","last-month","custom"];function ge(m){let a=0;if(m.groups)for(const n of m.groups)for(const v of n.options)a++,v.children&&(a+=v.children.length);return m.options&&(a=m.options.length),a}const le=d.memo(function({filter:a,value:n,onChange:v,onReset:g,autoFocusSearch:f=!0}){const[j,k]=d.useState(""),b=d.useDeferredValue(j),[C,D]=d.useState(""),[N,O]=d.useState(""),[I,P]=d.useState(null),[V,z]=d.useState(null),[T,i]=d.useState(!1),[w,S]=d.useState(new Date().getFullYear()),h=d.useMemo(()=>n?Array.isArray(n)?n.map(String):[String(n)]:[],[n]);d.useEffect(()=>{if(a.type==="number"&&a.rangeMode){const s=n;if(Array.isArray(s)){const[u,p]=s;D(u===-1/0?"":u?.toString()||""),O(p===1/0?"":p?.toString()||"")}else typeof s=="number"?(D(s.toString()),O("")):(D(""),O(""));P(null),z(null)}},[n,a.type,a.rangeMode]);const R=d.useMemo(()=>{const s=a.showSearch??"auto";if(s===!0)return!0;if(s===!1)return!1;const u=ge(a),p=a.searchThreshold??8;return u>=p},[a]),B=d.useMemo(()=>{if(a.groups){if(!b)return a.groups;const s=b.toLowerCase();return a.groups.map(u=>({...u,options:u.options.filter(p=>p.label.toLowerCase().includes(s)||p.children?.some(x=>x.label.toLowerCase().includes(s)))})).filter(u=>u.options.length>0)}if(a.options){const s=b?a.options.filter(u=>u.label.toLowerCase().includes(b.toLowerCase())):a.options;return s.length>0?[{label:a.label,options:s}]:[]}return[]},[a.groups,a.options,a.label,b]),K=s=>{if(a.type==="multiselect"){const u=h.includes(s)?h.filter(p=>p!==s):[...h,s];v(u.length>0?u:void 0)}else v(s===h[0]?void 0:s)},X=s=>{if(a.type!=="multiselect")return;const u=s.options.flatMap(x=>[x.value,...x.children?.map(y=>y.value)||[]]),p=h.filter(x=>!u.includes(x));v(p.length>0?p:void 0)},G=s=>{if(a.type!=="multiselect")return;const u=s.options.flatMap(x=>[x.value,...x.children?.map(y=>y.value)||[]]),p=Array.from(new Set([...h,...u]));v(p.length>0?p:void 0)},Z=s=>{if(a.type!=="multiselect")return;const p=s.options.filter(L=>!j||L.label.toLowerCase().includes(j.toLowerCase())).flatMap(L=>{const ee=L.value,t=L.children?.filter(r=>!j||r.label.toLowerCase().includes(j.toLowerCase())).map(r=>r.value)||[];return[ee,...t]}),x=h.filter(L=>!p.includes(L)),y=p.filter(L=>!h.includes(L)),Q=[...x,...y];v(Q.length>0?Q:void 0)},q=()=>{const s=C.trim(),u=N.trim();if(P(null),z(null),s===""&&u===""){v(void 0);return}const p=s===""?-1/0:parseFloat(s),x=u===""?1/0:parseFloat(u);if(s!==""&&isNaN(p)){P("Invalid minimum value");return}if(u!==""&&isNaN(x)){z("Invalid maximum value");return}if(p!==-1/0&&x!==1/0&&p>x){P("Minimum must be less than maximum"),z("Maximum must be more than minimum");return}v([p,x])},F=a.dateConfig?.granularity||"month",H=()=>a.dateConfig?.presets?a.dateConfig.presets:F==="day"?de:ue,W=()=>{if(T)return"custom";const s=n;if(!s||!Array.isArray(s))return H().includes("all-time")?"all-time":"";for(const u of H()){if(u==="custom")continue;const p=re.calculatePresetRange(u);if(p&&p[0].getTime()===s[0].getTime()&&p[1].getTime()===s[1].getTime())return u}return"custom"},te=s=>{if(s==="custom"){i(!0);return}i(!1);const u=re.calculatePresetRange(s);v(u)};return e.jsxs("div",{className:"flex flex-col gap-[var(--space-3xl)]",children:[R&&e.jsxs("div",{className:"relative",children:[e.jsx(_.Icon,{name:"search",className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 h-[var(--size-xs)] w-[var(--size-xs)] text-[var(--color-text-tertiary)] pointer-events-none"}),e.jsx(ae.Input,{type:"text",size:"l",placeholder:a.searchPlaceholder||`Search for a ${a.label.toLowerCase()}`,value:j,onChange:s=>k(s.target.value),className:"pl-[calc(var(--space-m)+var(--size-xs)+var(--space-s))]",autoFocus:f})]}),a.type==="number"&&a.rangeMode&&e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:"text-body-medium-sm text-[var(--color-text-tertiary)]",children:a.label}),e.jsx("div",{className:"h-px w-full mb-[var(--space-s)]",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"At least..."}),e.jsxs("div",{className:"relative",children:[a.numberConfig?.prefix&&e.jsx("span",{className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.prefix}),e.jsx(ae.Input,{type:"text",inputMode:"numeric",size:"l",variant:I?"error":"default",value:C,onChange:s=>{D(s.target.value),P(null)},onBlur:q,onKeyDown:s=>{s.key==="Enter"&&q()},placeholder:a.numberConfig?.min?.toString()||"0.00",className:A.cn(a.numberConfig?.prefix&&"pl-[calc(var(--space-l)+var(--space-m))]",a.numberConfig?.suffix&&"pr-[calc(var(--space-l)+var(--space-m))]")}),a.numberConfig?.suffix&&e.jsx("span",{className:"absolute right-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.suffix})]}),I&&e.jsx("span",{className:"text-caption-sm text-[var(--color-text-error-bold)]",children:I})]}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"No more than..."}),e.jsxs("div",{className:"relative",children:[a.numberConfig?.prefix&&e.jsx("span",{className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.prefix}),e.jsx(ae.Input,{type:"text",inputMode:"numeric",size:"l",variant:V?"error":"default",value:N,onChange:s=>{O(s.target.value),z(null)},onBlur:q,onKeyDown:s=>{s.key==="Enter"&&q()},placeholder:a.numberConfig?.max?.toString()||"0.00",className:A.cn(a.numberConfig?.prefix&&"pl-[calc(var(--space-l)+var(--space-m))]",a.numberConfig?.suffix&&"pr-[calc(var(--space-l)+var(--space-m))]")}),a.numberConfig?.suffix&&e.jsx("span",{className:"absolute right-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.suffix})]}),V&&e.jsx("span",{className:"text-caption-sm text-[var(--color-text-error-bold)]",children:V})]}),g&&(C!==""||N!=="")&&e.jsx(Y.Button,{variant:"default",onClick:()=>{D(""),O(""),P(null),z(null),g()},className:"self-start",children:e.jsx("span",{className:"text-body-medium-sm",children:"Reset"})})]}),a.type==="date"&&a.rangeMode&&e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:"text-body-medium-sm text-[var(--color-text-tertiary)]",children:a.label}),e.jsx("div",{className:"h-px w-full mb-[var(--space-s)]",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"Date range"}),e.jsxs(J.Select,{value:W(),onValueChange:te,children:[e.jsx(J.SelectTrigger,{size:"l",children:e.jsx(J.SelectValue,{placeholder:"Select date range..."})}),e.jsx(J.SelectContent,{children:H().map(s=>e.jsx(J.SelectItem,{value:s,children:re.getPresetLabel(s)},s))})]})]}),W()==="custom"&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)]",children:F==="day"?"Select start and end dates for custom range":"Select start and end months for custom range"}),F==="day"&&e.jsx(he.Calendar,{mode:"range",selected:n&&Array.isArray(n)&&n.length===2?{from:n[0],to:n[1]}:void 0,onSelect:s=>{if(s?.from&&s?.to){const u=new Date(s.from);u.setHours(0,0,0,0);const p=new Date(s.to);p.setHours(23,59,59,999),v([u,p]),i(!1)}},numberOfMonths:2,disabled:a.dateConfig?.minDate||a.dateConfig?.maxDate?s=>!!(a.dateConfig?.minDate&&s<a.dateConfig.minDate||a.dateConfig?.maxDate&&s>a.dateConfig.maxDate):void 0}),F==="month"&&e.jsx(ve.MonthPicker,{value:n,onChange:s=>{v(s),i(!1)},mode:"range",yearCount:2,size:"small",enableNavigation:!0,onYearNavigate:s=>S(s),minDate:a.dateConfig?.minDate,maxDate:a.dateConfig?.maxDate})]})]}),B.map((s,u)=>{const p=`filter-group-${u}-${s.label.replace(/\s+/g,"-").toLowerCase()}`;return e.jsxs("div",{role:"group","aria-labelledby":p,className:"flex flex-col gap-[var(--space-s)]",children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] items-start justify-start w-full",children:[e.jsx("div",{id:p,className:"flex-1 text-body-medium-sm text-[var(--color-text-tertiary)]",children:s.label}),g&&a.type==="multiselect"&&e.jsxs("div",{className:"flex gap-[var(--space-xs)] items-center text-body-medium-sm text-[var(--color-text-brand-bold)]",children:[e.jsx("button",{onClick:()=>G(s),"aria-label":`Select all ${s.label} options`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"All"}),e.jsx("span",{className:"text-[var(--color-text-tertiary)]","aria-hidden":"true",children:"•"}),e.jsx("button",{onClick:()=>Z(s),"aria-label":`Inverse selection in ${s.label}`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"Inverse"}),e.jsx("span",{className:"text-[var(--color-text-tertiary)]","aria-hidden":"true",children:"•"}),e.jsx("button",{onClick:()=>X(s),"aria-label":`Clear all ${s.label} selections`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"None"})]})]}),e.jsx("div",{className:"h-px w-full",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),a.type==="multiselect"?e.jsx("div",{className:"flex flex-col gap-[var(--space-s)]",children:s.options.map(x=>e.jsxs(d.Fragment,{children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center",children:[e.jsx(ce.Checkbox,{id:`checkbox-${a.id}-${x.value}`,checked:h.includes(x.value),onCheckedChange:()=>K(x.value)}),e.jsx("label",{htmlFor:`checkbox-${a.id}-${x.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:x.label})]}),x.children&&x.children.map(y=>e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center pl-[var(--space-3xl)]",children:[e.jsx(ce.Checkbox,{id:`checkbox-${a.id}-${y.value}`,checked:h.includes(y.value),onCheckedChange:()=>K(y.value)}),e.jsx("label",{htmlFor:`checkbox-${a.id}-${y.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:y.label})]},y.value))]},x.value))}):e.jsx(se.RadioGroup,{value:h[0]||"",onValueChange:K,"aria-label":s.label,children:e.jsx("div",{className:"flex flex-col gap-[var(--space-s)]",children:s.options.map(x=>e.jsxs(d.Fragment,{children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center",children:[e.jsx(se.RadioGroupItem,{id:`radio-${a.id}-${x.value}`,value:x.value}),e.jsx("label",{htmlFor:`radio-${a.id}-${x.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:x.label})]}),x.children&&x.children.map(y=>e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center pl-[var(--space-3xl)]",children:[e.jsx(se.RadioGroupItem,{id:`radio-${a.id}-${y.value}`,value:y.value}),e.jsx("label",{htmlFor:`radio-${a.id}-${y.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:y.label})]},y.value))]},x.value))})})]},s.label)})]})}),ie=d.memo(function({filter:a,isSelected:n,isPinned:v,valueCount:g,onSelect:f,onTogglePin:j,onPrefetch:k}){const b=a.icon,[C,D]=d.useState(!1);return e.jsxs("div",{id:`filter-option-${a.id}`,role:"option","aria-selected":n,"aria-label":`${a.label}${g?`, ${g} selected`:""}`,tabIndex:-1,onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),f())},onMouseEnter:()=>{D(!0),k?.()},onMouseLeave:()=>D(!1),className:A.cn("group/item box-border flex gap-[var(--space-m)] h-[var(--size-m)] items-center justify-start px-[var(--space-l)] py-[var(--space-s)] relative rounded-m shrink-0 w-full cursor-pointer transition-colors","hover:bg-[var(--color-background-neutral-hovered)]",n&&"bg-[var(--color-background-blue-subtle-selected)] hover:bg-[var(--color-background-blue-subtle-selected-hovered)] group-focus-visible/listbox:ring-2 group-focus-visible/listbox:ring-[var(--ring-color)] group-focus-visible/listbox:ring-inset"),onClick:f,children:[e.jsxs("div",{className:"flex-1 flex gap-[var(--space-s)] items-center justify-start min-w-0",children:[e.jsx(b,{className:A.cn("h-[var(--size-2xs)] w-[var(--size-2xs)] shrink-0",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")}),e.jsx("div",{className:A.cn("truncate [&]:text-label-md",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]"),children:a.label}),g!==void 0&&g>0&&e.jsx(oe.Badge,{size:"s",intent:n?"brand":"neutral",appearance:n||C?"bold":"subtle",children:g})]}),e.jsx("div",{className:"flex items-center gap-[var(--space-s)] shrink-0",children:e.jsx(Y.Button,{variant:"ghost",size:"s",tabIndex:-1,"aria-label":v?`Unpin ${a.label} filter`:`Pin ${a.label} filter`,"aria-pressed":v,onClick:N=>{N.stopPropagation(),j()},className:A.cn("group/pin h-auto w-auto p-[var(--space-xs)] transition-opacity",v?"opacity-100":"opacity-0 group-hover/item:opacity-100"),children:v?e.jsxs(e.Fragment,{children:[e.jsx(_.Icon,{name:"pin","aria-hidden":"true",className:A.cn("h-[12px] w-[12px] group-hover/pin:hidden",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")}),e.jsx(_.Icon,{name:"pin-off","aria-hidden":"true",className:A.cn("h-[12px] w-[12px] hidden group-hover/pin:block",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")})]}):e.jsx(_.Icon,{name:"pin","aria-hidden":"true",className:A.cn("h-[12px] w-[12px]",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")})})})]})});function fe({placeholder:m="Search for keyword...",onAddSearchTerm:a}){const[n,v]=d.useState(""),g=f=>{f.key==="Enter"&&n.trim()&&(f.preventDefault(),a(n.trim()),v(""))};return e.jsx("div",{className:"min-w-[200px] w-[280px]",children:e.jsx(ae.Input,{type:"search","aria-label":"Search filters by keyword",placeholder:m,value:n,onChange:f=>v(f.target.value),onKeyDown:g,size:"m"})})}function ye({placeholder:m="Search for keyword...",onAddSearchTerm:a,suggestions:n,minCharacters:v}){const[g,f]=d.useState(""),j=(k,b)=>{a(k,b),f("")};return e.jsx("div",{className:"min-w-[200px] w-[280px]",children:e.jsx(me.AutocompleteSearch,{value:g,onValueChange:f,onSelect:j,suggestions:n,placeholder:m,minCharacters:v})})}function pe({filters:m,pinnedFilters:a,activeFilters:n,onPinnedFiltersChange:v,onFilterChange:g,sidebarWidth:f=240}){const[j,k]=d.useState(m[0]?.id),[b,C]=d.useState("mouse"),D=d.useRef(null),N=d.useMemo(()=>m.map(i=>i.id),[m]),O=i=>{const w=N.indexOf(j);let S=w;switch(i.key){case"ArrowDown":i.preventDefault(),S=Math.min(w+1,N.length-1);break;case"ArrowUp":i.preventDefault(),S=Math.max(w-1,0);break;case"Home":i.preventDefault(),S=0;break;case"End":i.preventDefault(),S=N.length-1;break;default:return}S!==w&&(C("keyboard"),k(N[S]))},I=m.find(i=>i.id===j),P=d.useCallback(i=>{I&&g(I.id,i)},[I?.id,g]),V=d.useCallback(()=>{I&&g(I.id,void 0)},[I?.id,g]),z=i=>{const w=a.includes(i)?a.filter(S=>S!==i):[...a,i];v(w)},T=d.useMemo(()=>{const i={},w=[],S=[];return m.forEach(h=>{h.group?(i[h.group]||(i[h.group]=[],S.push(h.group)),i[h.group].push(h)):w.push(h)}),{grouped:i,ungrouped:w,groupOrder:S}},[m]);return e.jsx("div",{className:"bg-[var(--color-surface-primary)] relative rounded-m max-h-[480px] flex flex-col",children:e.jsxs("div",{className:"flex items-stretch justify-start min-h-0 overflow-hidden rounded-m flex-1",children:[e.jsx("div",{className:"bg-[var(--color-background-neutral-default)] relative shrink-0 border-r border-[var(--color-border-primary-subtle)] flex flex-col",style:{width:typeof f=="number"?`${f}px`:f},children:e.jsxs("div",{ref:D,role:"listbox","aria-label":"Filter categories","aria-orientation":"vertical","aria-activedescendant":j?`filter-option-${j}`:void 0,tabIndex:0,onKeyDown:O,className:"group/listbox box-border flex flex-col gap-[var(--space-s)] p-[var(--space-s)] overflow-y-auto focus-visible:outline-none",children:[T.ungrouped.map(i=>{const w=n[i.id],S=Array.isArray(w)?w.length:w!=null?1:0;return e.jsx(ie,{filter:i,isSelected:i.id===j,isPinned:a.includes(i.id),valueCount:S,onSelect:()=>{C("mouse"),k(i.id)},onTogglePin:()=>z(i.id)},i.id)}),T.groupOrder.map((i,w)=>{const S=T.grouped[i];return e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:A.cn("px-[var(--space-m)] pb-[var(--space-xs)]",w===0&&T.ungrouped.length===0?"pt-0":"pt-[var(--space-m)]"),children:e.jsx("div",{className:"text-caption-sm text-[var(--color-text-tertiary)] tracking-[0.1px]",children:i})}),S.map(h=>{const R=n[h.id],B=Array.isArray(R)?R.length:R!=null?1:0;return e.jsx(ie,{filter:h,isSelected:h.id===j,isPinned:a.includes(h.id),valueCount:B,onSelect:()=>{C("mouse"),k(h.id)},onTogglePin:()=>z(h.id)},h.id)})]},i)})]})}),e.jsx("div",{className:"flex-1 box-border p-[var(--space-l)] overflow-y-auto",children:I&&e.jsx(le,{filter:I,value:n[I.id],onChange:P,onReset:V,autoFocusSearch:b==="mouse"})})]})})}function je({filters:m,pinnedFilters:a,activeFilters:n,onPinnedFiltersChange:v,onFilterChange:g,onFilterClear:f,onFilterReset:j,enableGlobalSearch:k=!1,globalSearchTerms:b=[],onGlobalSearchChange:C,globalSearchPlaceholder:D,enableAutocomplete:N=!1,autocompleteMinCharacters:O=2,hideReset:I=!1,hideFiltersButton:P=!1,actionButtons:V}){const[z,T]=d.useState(!1),[i,w]=d.useState(null),[S,h]=d.useState(""),R=d.useRef(n),B=d.useRef(b),K=d.useRef({}),X=d.useCallback((t,r)=>{const o=i;w(t?r:null),!t&&o===r&&setTimeout(()=>{K.current[r]?.focus()},0)},[i]);d.useEffect(()=>{const t=R.current,r=B.current,o=Object.keys(n).filter(M=>n[M]!==void 0&&n[M]!==null&&(!Array.isArray(n[M])||n[M].length>0)).length,c=Object.keys(t).filter(M=>t[M]!==void 0&&t[M]!==null&&(!Array.isArray(t[M])||t[M].length>0)).length,l=b.length,E=r.length;let $="";if(o!==c&&(o>c?$="Filter applied.":o<c&&($="Filter removed.")),l!==E&&(l>E?$=$?`${$} Search term added.`:"Search term added.":l<E&&($=$?`${$} Search term removed.`:"Search term removed.")),$){const M=o+l;M===0?$="All filters cleared.":$=`${$} ${M} active filter${M!==1?"s":""}.`,h($)}R.current=n,B.current=b},[n,b]);const G=!P&&m.length>0,Z=Object.keys(n).some(t=>n[t]!==void 0&&n[t]!==null),q=b.length>0,F=Object.keys(n).filter(t=>{const r=n[t];return r!=null&&(!Array.isArray(r)||r.length>0)}).length,H=(t,r)=>{if(!t.groups)return r;for(const o of t.groups)for(const c of o.options){if(c.value===r)return c.label;if(c.children){const l=c.children.find(E=>E.value===r);if(l)return l.label}}return r},W=(t,r,o)=>{const c=o?.prefix||"",l=o?.suffix||"";return t===-1/0?`≤ ${c}${r}${l}`:r===1/0?`≥ ${c}${t}${l}`:`${c}${t}${l} - ${c}${r}${l}`},te=t=>{const r=n[t.id];if(!r||Array.isArray(r)&&r.length===0)return{type:"empty",icon:t.icon,content:t.label};if(t.type==="number"&&t.rangeMode&&Array.isArray(r)&&r.length===2){const[o,c]=r,l=t.formatValue?.([o.toString(),c.toString()],2)??W(o,c,t.numberConfig);return{type:"values",icon:t.icon,content:l}}if(t.type==="date"&&t.rangeMode&&Array.isArray(r)&&r.length===2){const[o,c]=r,l=t.formatValue?.([o.toISOString(),c.toISOString()],2)??re.formatDateRange(o,c);return{type:"values",icon:t.icon,content:l}}if(Array.isArray(r))if(r.length<=3){const o=r.map(String),c=t.formatValue?.(o,o.length)??o.map(l=>H(t,l)).join(", ");return{type:"values",icon:t.icon,content:c}}else return{type:"count",icon:t.icon,label:t.label,count:r.length};return{type:"values",icon:t.icon,content:H(t,String(r))}},s=m.filter(t=>a.includes(t.id)),u=d.useMemo(()=>{const t=[];for(const r of m){const o=c=>{t.push({normalizedLabel:c.toLowerCase(),filterId:r.id,icon:r.icon})};if(r.groups)for(const c of r.groups)for(const l of c.options)o(l.label),l.children?.forEach(E=>o(E.label));r.options&&r.options.forEach(c=>{o(c.label),c.children?.forEach(l=>o(l.label))})}return t},[m]),p=d.useCallback(t=>{if(!t)return null;const r=t.toLowerCase();for(const o of u)if(o.normalizedLabel.includes(r))return{filterId:o.filterId,icon:o.icon};return null},[u]),x=d.useMemo(()=>b.filter(r=>r&&typeof r=="string").map(r=>{if(r.includes("|")){const[c,l]=r.split("|"),E=m.find($=>$.label===l);return{value:r,matchedFilter:E?{filterId:E.id,icon:E.icon}:void 0}}const o=p(r);return{value:r,matchedFilter:o?{filterId:o.filterId,icon:o.icon}:void 0}}),[b,m,p]),y=d.useMemo(()=>{if(!N||!k)return[];const t=[];return m.forEach(r=>{r.groups?r.groups.forEach(o=>{o.options.forEach(c=>{c.label&&c.value&&t.push({label:c.label,value:c.value,filterLabel:r.label,filterIcon:r.icon}),c.children&&c.children.forEach(l=>{l.label&&l.value&&t.push({label:l.label,value:l.value,filterLabel:r.label,filterIcon:r.icon})})})}):r.options&&r.options.forEach(o=>{o.label&&o.value&&t.push({label:o.label,value:o.value,filterLabel:r.label,filterIcon:r.icon}),o.children&&o.children.forEach(c=>{c.label&&c.value&&t.push({label:c.label,value:c.value,filterLabel:r.label,filterIcon:r.icon})})})}),t.sort((r,o)=>{const c=r.label.localeCompare(o.label);return c!==0?c:r.filterLabel.localeCompare(o.filterLabel)})},[m,N,k]),Q=(t,r)=>{if(!C)return;const o=r?`${t}|${r}`:t;b.includes(o)||C([...b,o])},L=t=>{C&&C(b.filter(r=>r!==t))},ee=()=>{j(),C&&q&&C([])};return e.jsxs("div",{className:"flex gap-[3px] items-center min-w-0",children:[e.jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:S}),G&&e.jsxs(U.Popover,{open:z,onOpenChange:T,children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs(Y.Button,{className:"h-[var(--size-m)] gap-[var(--space-xs)]","aria-label":`Filters${F>0?`, ${F} active`:""}`,"aria-expanded":z,"aria-haspopup":"dialog",children:[e.jsx(_.Icon,{name:"list-filter",className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"}),e.jsx("span",{className:"text-label-md",children:"Filters"}),F>0&&e.jsx(oe.Badge,{size:"s",intent:"neutral",appearance:"subtle","aria-hidden":"true",children:F})]})}),e.jsx(U.PopoverContent,{className:"w-[660px] p-0",align:"start",children:e.jsx(pe,{filters:m,pinnedFilters:a,activeFilters:n,onPinnedFiltersChange:v,onFilterChange:g})})]}),G&&s.length>0&&e.jsx(ne.Separator,{type:"dot",layout:"horizontal"}),s.length>0&&e.jsx("div",{className:"min-w-0 flex gap-[7px] overflow-x-auto scrollbar-hide p-1",children:s.map(t=>{const r=te(t),o=r.type!=="empty",c=r.icon;return e.jsxs(U.Popover,{open:i===t.id,onOpenChange:l=>X(l,t.id),children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{ref:l=>{K.current[t.id]=l},role:"button",tabIndex:0,"aria-label":`${t.label}: ${r.type==="empty"?"not set, click to add filter":r.type==="count"?`${r.count} selected, click to edit`:`${r.content}, click to edit`}`,"aria-expanded":i===t.id,"aria-haspopup":"dialog",onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),X(i!==t.id,t.id))},className:A.cn("group/slot h-[var(--size-m)] rounded-l flex items-center justify-center gap-[var(--space-s)] transition-colors cursor-pointer flex-shrink-0","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2",o?"bg-[var(--color-background-neutral-selected)] hover:bg-[var(--color-background-neutral-hovered)] px-[var(--space-m)] pr-[4px]":"border border-dashed border-[var(--color-border-primary-strong)] px-[var(--space-m)] pr-[var(--space-s)] hover:border-[var(--grey-400)] active:bg-[var(--grey-25)]"),children:[e.jsx(c,{className:A.cn("h-[var(--size-2xs)] w-[var(--size-2xs)]",o?"text-[var(--color-icon-primary)]":"text-[var(--grey-400)] group-hover/slot:text-[var(--grey-500)]")}),r.type==="count"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"whitespace-nowrap [&]:text-label-md text-[var(--color-text-primary)]",children:r.label}),e.jsx(oe.Badge,{size:"s",intent:"neutral",appearance:"bold",children:r.count})]}):e.jsx("span",{className:A.cn("whitespace-nowrap [&]:text-label-md",o?"text-[var(--color-text-primary)]":"text-[var(--color-text-tertiary)] group-hover/slot:text-[var(--grey-500)]"),children:r.content}),o&&e.jsx(Y.Button,{variant:"ghost",size:"s","aria-label":`Clear ${t.label} filter`,onClick:l=>{l.stopPropagation(),f(t.id)},onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),l.stopPropagation(),f(t.id))},className:"h-auto w-auto p-[var(--space-xs)]",children:e.jsx(_.Icon,{name:"x",className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"})})]})}),e.jsx(U.PopoverContent,{className:A.cn("p-[var(--space-l)]",t.type==="date"?"w-[600px]":"w-[320px]","max-h-[var(--radix-popover-content-available-height)] overflow-y-auto"),align:"start",collisionPadding:8,children:e.jsx(le,{filter:t,value:n[t.id],onChange:l=>g(t.id,l),onReset:()=>f(t.id)})})]},t.id)})}),k&&(G||s.length>0)&&e.jsx(ne.Separator,{type:"line",layout:"horizontal",className:"mx-[var(--space-s)]"}),k&&!N&&e.jsx(fe,{placeholder:D,onAddSearchTerm:Q}),k&&N&&e.jsx(ye,{placeholder:D,onAddSearchTerm:Q,suggestions:y,minCharacters:O}),x.map(t=>{const r=t.matchedFilter?.icon,o=t.value.includes("|")?t.value.split("|")[0]:t.value;return e.jsxs("div",{className:"h-[var(--size-m)] rounded-l bg-[var(--color-background-neutral-selected)] hover:bg-[var(--color-background-neutral-hovered)] px-[var(--space-m)] pr-[4px] flex items-center gap-[var(--space-s)] transition-colors",children:[r&&e.jsx(r,{className:"h-[var(--size-2xs)] w-[var(--size-2xs)] text-[var(--color-icon-primary)]"}),e.jsx("span",{className:"whitespace-nowrap [&]:text-label-md text-[var(--color-text-primary)]",children:o}),e.jsx(Y.Button,{variant:"ghost",size:"s","aria-label":`Remove search term: ${o}`,onClick:()=>L(t.value),className:"h-auto w-auto p-[var(--space-xs)]",children:e.jsx(_.Icon,{name:"x",className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"})})]},t.value)}),!I&&(Z||q)&&e.jsx(ne.Separator,{type:"dot",layout:"horizontal"}),!I&&(Z||q)&&e.jsx(Y.Button,{variant:"ghost",onClick:ee,"aria-label":"Reset all filters and search terms",className:"h-[var(--size-m)] rounded-s px-[var(--space-m)]",children:e.jsx("span",{className:"text-label-md",children:"Clear all"})}),V&&e.jsx("div",{className:"flex-1"}),V]})}exports.DEFAULT_DAY_PRESETS=de;exports.DEFAULT_MONTH_PRESETS=ue;exports.FilterDropdownMenu=pe;exports.FilterPanelContent=le;exports.Filters=je;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),me=require("react"),A=require("../../lib/utils.cjs"),Y=require("../fundamental/button.cjs"),re=require("../fundamental/input.cjs"),ve=require("../fundamental/autocomplete-search.cjs"),_=require("../fundamental/icon.cjs"),G=require("lucide-react"),ie=require("../fundamental/checkbox.cjs"),ne=require("../fundamental/radio-group.cjs"),J=require("../fundamental/select.cjs"),he=require("../fundamental/month-picker.cjs"),be=require("../fundamental/calendar.cjs"),U=require("../fundamental/popover.cjs"),oe=require("../fundamental/separator.cjs"),le=require("../fundamental/badge.cjs"),te=require("../../lib/date-utils.cjs");function ge(m){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const n in m)if(n!=="default"){const v=Object.getOwnPropertyDescriptor(m,n);Object.defineProperty(a,n,v.get?v:{enumerable:!0,get:()=>m[n]})}}return a.default=m,Object.freeze(a)}const d=ge(me),de=["this-month","last-month","this-quarter","last-quarter","this-year","last-year","custom"],pe=["this-week","last-week","last-30-days","last-90-days","this-month","last-month","custom"];function fe(m){let a=0;if(m.groups)for(const n of m.groups)for(const v of n.options)a++,v.children&&(a+=v.children.length);return m.options&&(a=m.options.length),a}const ce=d.memo(function({filter:a,value:n,onChange:v,onReset:g,autoFocusSearch:f=!0}){const[j,k]=d.useState(""),b=d.useDeferredValue(j),[C,D]=d.useState(""),[N,O]=d.useState(""),[I,E]=d.useState(null),[V,z]=d.useState(null),[T,i]=d.useState(!1),[w,S]=d.useState(new Date().getFullYear()),h=d.useMemo(()=>n?Array.isArray(n)?n.map(String):[String(n)]:[],[n]);d.useEffect(()=>{if(a.type==="number"&&a.rangeMode){const s=n;if(Array.isArray(s)){const[u,p]=s;D(u===-1/0?"":u?.toString()||""),O(p===1/0?"":p?.toString()||"")}else typeof s=="number"?(D(s.toString()),O("")):(D(""),O(""));E(null),z(null)}},[n,a.type,a.rangeMode]);const R=d.useMemo(()=>{const s=a.showSearch??"auto";if(s===!0)return!0;if(s===!1)return!1;const u=fe(a),p=a.searchThreshold??8;return u>=p},[a]),B=d.useMemo(()=>{if(a.groups){if(!b)return a.groups;const s=b.toLowerCase();return a.groups.map(u=>({...u,options:u.options.filter(p=>p.label.toLowerCase().includes(s)||p.children?.some(x=>x.label.toLowerCase().includes(s)))})).filter(u=>u.options.length>0)}if(a.options){const s=b?a.options.filter(u=>u.label.toLowerCase().includes(b.toLowerCase())):a.options;return s.length>0?[{label:a.label,options:s}]:[]}return[]},[a.groups,a.options,a.label,b]),K=s=>{if(a.type==="multiselect"){const u=h.includes(s)?h.filter(p=>p!==s):[...h,s];v(u.length>0?u:void 0)}else v(s===h[0]?void 0:s)},Z=s=>{if(a.type!=="multiselect")return;const u=s.options.flatMap(x=>[x.value,...x.children?.map(y=>y.value)||[]]),p=h.filter(x=>!u.includes(x));v(p.length>0?p:void 0)},Q=s=>{if(a.type!=="multiselect")return;const u=s.options.flatMap(x=>[x.value,...x.children?.map(y=>y.value)||[]]),p=Array.from(new Set([...h,...u]));v(p.length>0?p:void 0)},W=s=>{if(a.type!=="multiselect")return;const p=s.options.filter(L=>!j||L.label.toLowerCase().includes(j.toLowerCase())).flatMap(L=>{const ae=L.value,t=L.children?.filter(r=>!j||r.label.toLowerCase().includes(j.toLowerCase())).map(r=>r.value)||[];return[ae,...t]}),x=h.filter(L=>!p.includes(L)),y=p.filter(L=>!h.includes(L)),X=[...x,...y];v(X.length>0?X:void 0)},q=()=>{const s=C.trim(),u=N.trim();if(E(null),z(null),s===""&&u===""){v(void 0);return}const p=s===""?-1/0:parseFloat(s),x=u===""?1/0:parseFloat(u);if(s!==""&&isNaN(p)){E("Invalid minimum value");return}if(u!==""&&isNaN(x)){z("Invalid maximum value");return}if(p!==-1/0&&x!==1/0&&p>x){E("Minimum must be less than maximum"),z("Maximum must be more than minimum");return}v([p,x])},F=a.dateConfig?.granularity||"month",H=()=>a.dateConfig?.presets?a.dateConfig.presets:F==="day"?pe:de,ee=()=>{if(T)return"custom";const s=n;if(!s||!Array.isArray(s))return H().includes("all-time")?"all-time":"";for(const u of H()){if(u==="custom")continue;const p=te.calculatePresetRange(u);if(p&&p[0].getTime()===s[0].getTime()&&p[1].getTime()===s[1].getTime())return u}return"custom"},se=s=>{if(s==="custom"){i(!0);return}i(!1);const u=te.calculatePresetRange(s);v(u)};return e.jsxs("div",{className:"flex flex-col gap-[var(--space-3xl)]",children:[R&&e.jsxs("div",{className:"relative",children:[e.jsx(_.Icon,{name:"search",className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 h-[var(--size-xs)] w-[var(--size-xs)] text-[var(--color-text-tertiary)] pointer-events-none"}),e.jsx(re.Input,{type:"text",size:"l",placeholder:a.searchPlaceholder||`Search for a ${a.label.toLowerCase()}`,value:j,onChange:s=>k(s.target.value),className:"pl-[calc(var(--space-m)+var(--size-xs)+var(--space-s))]",autoFocus:f})]}),a.type==="number"&&a.rangeMode&&e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:"text-body-medium-sm text-[var(--color-text-tertiary)]",children:a.label}),e.jsx("div",{className:"h-px w-full mb-[var(--space-s)]",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"At least..."}),e.jsxs("div",{className:"relative",children:[a.numberConfig?.prefix&&e.jsx("span",{className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.prefix}),e.jsx(re.Input,{type:"text",inputMode:"numeric",size:"l",variant:I?"error":"default",value:C,onChange:s=>{D(s.target.value),E(null)},onBlur:q,onKeyDown:s=>{s.key==="Enter"&&q()},placeholder:a.numberConfig?.min?.toString()||"0.00",className:A.cn(a.numberConfig?.prefix&&"pl-[calc(var(--space-l)+var(--space-m))]",a.numberConfig?.suffix&&"pr-[calc(var(--space-l)+var(--space-m))]")}),a.numberConfig?.suffix&&e.jsx("span",{className:"absolute right-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.suffix})]}),I&&e.jsx("span",{className:"text-caption-sm text-[var(--color-text-error-bold)]",children:I})]}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"No more than..."}),e.jsxs("div",{className:"relative",children:[a.numberConfig?.prefix&&e.jsx("span",{className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.prefix}),e.jsx(re.Input,{type:"text",inputMode:"numeric",size:"l",variant:V?"error":"default",value:N,onChange:s=>{O(s.target.value),z(null)},onBlur:q,onKeyDown:s=>{s.key==="Enter"&&q()},placeholder:a.numberConfig?.max?.toString()||"0.00",className:A.cn(a.numberConfig?.prefix&&"pl-[calc(var(--space-l)+var(--space-m))]",a.numberConfig?.suffix&&"pr-[calc(var(--space-l)+var(--space-m))]")}),a.numberConfig?.suffix&&e.jsx("span",{className:"absolute right-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.suffix})]}),V&&e.jsx("span",{className:"text-caption-sm text-[var(--color-text-error-bold)]",children:V})]}),g&&(C!==""||N!=="")&&e.jsx(Y.Button,{variant:"default",onClick:()=>{D(""),O(""),E(null),z(null),g()},className:"self-start",children:e.jsx("span",{className:"text-body-medium-sm",children:"Reset"})})]}),a.type==="date"&&a.rangeMode&&e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:"text-body-medium-sm text-[var(--color-text-tertiary)]",children:a.label}),e.jsx("div",{className:"h-px w-full mb-[var(--space-s)]",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"Date range"}),e.jsxs(J.Select,{value:ee(),onValueChange:se,children:[e.jsx(J.SelectTrigger,{size:"l",children:e.jsx(J.SelectValue,{placeholder:"Select date range..."})}),e.jsx(J.SelectContent,{children:H().map(s=>e.jsx(J.SelectItem,{value:s,children:te.getPresetLabel(s)},s))})]})]}),ee()==="custom"&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)]",children:F==="day"?"Select start and end dates for custom range":"Select start and end months for custom range"}),F==="day"&&e.jsx(be.Calendar,{mode:"range",selected:n&&Array.isArray(n)&&n.length===2?{from:n[0],to:n[1]}:void 0,onSelect:s=>{if(s?.from&&s?.to){const u=new Date(s.from);u.setHours(0,0,0,0);const p=new Date(s.to);p.setHours(23,59,59,999),v([u,p]),i(!1)}},numberOfMonths:2,disabled:a.dateConfig?.minDate||a.dateConfig?.maxDate?s=>!!(a.dateConfig?.minDate&&s<a.dateConfig.minDate||a.dateConfig?.maxDate&&s>a.dateConfig.maxDate):void 0}),F==="month"&&e.jsx(he.MonthPicker,{value:n,onChange:s=>{v(s),i(!1)},mode:"range",yearCount:2,size:"small",enableNavigation:!0,onYearNavigate:s=>S(s),minDate:a.dateConfig?.minDate,maxDate:a.dateConfig?.maxDate})]})]}),B.map((s,u)=>{const p=`filter-group-${u}-${s.label.replace(/\s+/g,"-").toLowerCase()}`;return e.jsxs("div",{role:"group","aria-labelledby":p,className:"flex flex-col gap-[var(--space-s)]",children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] items-start justify-start w-full",children:[e.jsx("div",{id:p,className:"flex-1 text-body-medium-sm text-[var(--color-text-tertiary)]",children:s.label}),g&&a.type==="multiselect"&&e.jsxs("div",{className:"flex gap-[var(--space-xs)] items-center text-body-medium-sm text-[var(--color-text-brand-bold)]",children:[e.jsx("button",{onClick:()=>Q(s),"aria-label":`Select all ${s.label} options`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"All"}),e.jsx("span",{className:"text-[var(--color-text-tertiary)]","aria-hidden":"true",children:"•"}),e.jsx("button",{onClick:()=>W(s),"aria-label":`Inverse selection in ${s.label}`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"Inverse"}),e.jsx("span",{className:"text-[var(--color-text-tertiary)]","aria-hidden":"true",children:"•"}),e.jsx("button",{onClick:()=>Z(s),"aria-label":`Clear all ${s.label} selections`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"None"})]})]}),e.jsx("div",{className:"h-px w-full",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),a.type==="multiselect"?e.jsx("div",{className:"flex flex-col gap-[var(--space-s)]",children:s.options.map(x=>e.jsxs(d.Fragment,{children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center",children:[e.jsx(ie.Checkbox,{id:`checkbox-${a.id}-${x.value}`,checked:h.includes(x.value),onCheckedChange:()=>K(x.value)}),e.jsx("label",{htmlFor:`checkbox-${a.id}-${x.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:x.label})]}),x.children&&x.children.map(y=>e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center pl-[var(--space-3xl)]",children:[e.jsx(ie.Checkbox,{id:`checkbox-${a.id}-${y.value}`,checked:h.includes(y.value),onCheckedChange:()=>K(y.value)}),e.jsx("label",{htmlFor:`checkbox-${a.id}-${y.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:y.label})]},y.value))]},x.value))}):e.jsx(ne.RadioGroup,{value:h[0]||"",onValueChange:K,"aria-label":s.label,children:e.jsx("div",{className:"flex flex-col gap-[var(--space-s)]",children:s.options.map(x=>e.jsxs(d.Fragment,{children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center",children:[e.jsx(ne.RadioGroupItem,{id:`radio-${a.id}-${x.value}`,value:x.value}),e.jsx("label",{htmlFor:`radio-${a.id}-${x.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:x.label})]}),x.children&&x.children.map(y=>e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center pl-[var(--space-3xl)]",children:[e.jsx(ne.RadioGroupItem,{id:`radio-${a.id}-${y.value}`,value:y.value}),e.jsx("label",{htmlFor:`radio-${a.id}-${y.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:y.label})]},y.value))]},x.value))})})]},s.label)})]})}),ue=d.memo(function({filter:a,isSelected:n,isPinned:v,valueCount:g,onSelect:f,onTogglePin:j,onPrefetch:k}){const b=a.icon,[C,D]=d.useState(!1);return e.jsxs("div",{id:`filter-option-${a.id}`,role:"option","aria-selected":n,"aria-label":`${a.label}${g?`, ${g} selected`:""}`,tabIndex:-1,onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),f())},onMouseEnter:()=>{D(!0),k?.()},onMouseLeave:()=>D(!1),className:A.cn("group/item box-border flex gap-[var(--space-m)] h-[var(--size-m)] items-center justify-start px-[var(--space-l)] py-[var(--space-s)] relative rounded-m shrink-0 w-full cursor-pointer transition-colors","hover:bg-[var(--color-background-neutral-hovered)]",n&&"bg-[var(--color-background-blue-subtle-selected)] hover:bg-[var(--color-background-blue-subtle-selected-hovered)] group-focus-visible/listbox:ring-2 group-focus-visible/listbox:ring-[var(--ring-color)] group-focus-visible/listbox:ring-inset"),onClick:f,children:[e.jsxs("div",{className:"flex-1 flex gap-[var(--space-s)] items-center justify-start min-w-0",children:[e.jsx(b,{className:A.cn("h-[var(--size-2xs)] w-[var(--size-2xs)] shrink-0",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")}),e.jsx("div",{className:A.cn("truncate [&]:text-label-md",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]"),children:a.label}),g!==void 0&&g>0&&e.jsx(le.Badge,{size:"s",intent:n?"brand":"neutral",appearance:n||C?"bold":"subtle",children:g})]}),e.jsx("div",{className:"flex items-center gap-[var(--space-s)] shrink-0",children:e.jsx(Y.Button,{variant:"ghost",size:"s",tabIndex:-1,"aria-label":v?`Unpin ${a.label} filter`:`Pin ${a.label} filter`,"aria-pressed":v,onClick:N=>{N.stopPropagation(),j()},className:A.cn("group/pin h-auto w-auto p-[var(--space-xs)] transition-opacity",v?"opacity-100":"opacity-0 group-hover/item:opacity-100"),children:v?e.jsxs(e.Fragment,{children:[e.jsx(_.Icon,{name:G.Pin,"aria-hidden":"true",className:A.cn("h-[12px] w-[12px] group-hover/pin:hidden",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")}),e.jsx(_.Icon,{name:G.PinOff,"aria-hidden":"true",className:A.cn("h-[12px] w-[12px] hidden group-hover/pin:block",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")})]}):e.jsx(_.Icon,{name:G.Pin,"aria-hidden":"true",className:A.cn("h-[12px] w-[12px]",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")})})})]})});function ye({placeholder:m="Search for keyword...",onAddSearchTerm:a}){const[n,v]=d.useState(""),g=f=>{f.key==="Enter"&&n.trim()&&(f.preventDefault(),a(n.trim()),v(""))};return e.jsx("div",{className:"min-w-[200px] w-[280px]",children:e.jsx(re.Input,{type:"search","aria-label":"Search filters by keyword",placeholder:m,value:n,onChange:f=>v(f.target.value),onKeyDown:g,size:"m"})})}function je({placeholder:m="Search for keyword...",onAddSearchTerm:a,suggestions:n,minCharacters:v}){const[g,f]=d.useState(""),j=(k,b)=>{a(k,b),f("")};return e.jsx("div",{className:"min-w-[200px] w-[280px]",children:e.jsx(ve.AutocompleteSearch,{value:g,onValueChange:f,onSelect:j,suggestions:n,placeholder:m,minCharacters:v})})}function xe({filters:m,pinnedFilters:a,activeFilters:n,onPinnedFiltersChange:v,onFilterChange:g,sidebarWidth:f=240}){const[j,k]=d.useState(m[0]?.id),[b,C]=d.useState("mouse"),D=d.useRef(null),N=d.useMemo(()=>m.map(i=>i.id),[m]),O=i=>{const w=N.indexOf(j);let S=w;switch(i.key){case"ArrowDown":i.preventDefault(),S=Math.min(w+1,N.length-1);break;case"ArrowUp":i.preventDefault(),S=Math.max(w-1,0);break;case"Home":i.preventDefault(),S=0;break;case"End":i.preventDefault(),S=N.length-1;break;default:return}S!==w&&(C("keyboard"),k(N[S]))},I=m.find(i=>i.id===j),E=d.useCallback(i=>{I&&g(I.id,i)},[I?.id,g]),V=d.useCallback(()=>{I&&g(I.id,void 0)},[I?.id,g]),z=i=>{const w=a.includes(i)?a.filter(S=>S!==i):[...a,i];v(w)},T=d.useMemo(()=>{const i={},w=[],S=[];return m.forEach(h=>{h.group?(i[h.group]||(i[h.group]=[],S.push(h.group)),i[h.group].push(h)):w.push(h)}),{grouped:i,ungrouped:w,groupOrder:S}},[m]);return e.jsx("div",{className:"bg-[var(--color-surface-primary)] relative rounded-m max-h-[480px] flex flex-col",children:e.jsxs("div",{className:"flex items-stretch justify-start min-h-0 overflow-hidden rounded-m flex-1",children:[e.jsx("div",{className:"bg-[var(--color-background-neutral-default)] relative shrink-0 border-r border-[var(--color-border-primary-subtle)] flex flex-col",style:{width:typeof f=="number"?`${f}px`:f},children:e.jsxs("div",{ref:D,role:"listbox","aria-label":"Filter categories","aria-orientation":"vertical","aria-activedescendant":j?`filter-option-${j}`:void 0,tabIndex:0,onKeyDown:O,className:"group/listbox box-border flex flex-col gap-[var(--space-s)] p-[var(--space-s)] overflow-y-auto focus-visible:outline-none",children:[T.ungrouped.map(i=>{const w=n[i.id],S=Array.isArray(w)?w.length:w!=null?1:0;return e.jsx(ue,{filter:i,isSelected:i.id===j,isPinned:a.includes(i.id),valueCount:S,onSelect:()=>{C("mouse"),k(i.id)},onTogglePin:()=>z(i.id)},i.id)}),T.groupOrder.map((i,w)=>{const S=T.grouped[i];return e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:A.cn("px-[var(--space-m)] pb-[var(--space-xs)]",w===0&&T.ungrouped.length===0?"pt-0":"pt-[var(--space-m)]"),children:e.jsx("div",{className:"text-caption-sm text-[var(--color-text-tertiary)] tracking-[0.1px]",children:i})}),S.map(h=>{const R=n[h.id],B=Array.isArray(R)?R.length:R!=null?1:0;return e.jsx(ue,{filter:h,isSelected:h.id===j,isPinned:a.includes(h.id),valueCount:B,onSelect:()=>{C("mouse"),k(h.id)},onTogglePin:()=>z(h.id)},h.id)})]},i)})]})}),e.jsx("div",{className:"flex-1 box-border p-[var(--space-l)] overflow-y-auto",children:I&&e.jsx(ce,{filter:I,value:n[I.id],onChange:E,onReset:V,autoFocusSearch:b==="mouse"})})]})})}function Ne({filters:m,pinnedFilters:a,activeFilters:n,onPinnedFiltersChange:v,onFilterChange:g,onFilterClear:f,onFilterReset:j,enableGlobalSearch:k=!1,globalSearchTerms:b=[],onGlobalSearchChange:C,globalSearchPlaceholder:D,enableAutocomplete:N=!1,autocompleteMinCharacters:O=2,hideReset:I=!1,hideFiltersButton:E=!1,actionButtons:V}){const[z,T]=d.useState(!1),[i,w]=d.useState(null),[S,h]=d.useState(""),R=d.useRef(n),B=d.useRef(b),K=d.useRef({}),Z=d.useCallback((t,r)=>{const o=i;w(t?r:null),!t&&o===r&&setTimeout(()=>{K.current[r]?.focus()},0)},[i]);d.useEffect(()=>{const t=R.current,r=B.current,o=Object.keys(n).filter(M=>n[M]!==void 0&&n[M]!==null&&(!Array.isArray(n[M])||n[M].length>0)).length,c=Object.keys(t).filter(M=>t[M]!==void 0&&t[M]!==null&&(!Array.isArray(t[M])||t[M].length>0)).length,l=b.length,P=r.length;let $="";if(o!==c&&(o>c?$="Filter applied.":o<c&&($="Filter removed.")),l!==P&&(l>P?$=$?`${$} Search term added.`:"Search term added.":l<P&&($=$?`${$} Search term removed.`:"Search term removed.")),$){const M=o+l;M===0?$="All filters cleared.":$=`${$} ${M} active filter${M!==1?"s":""}.`,h($)}R.current=n,B.current=b},[n,b]);const Q=!E&&m.length>0,W=Object.keys(n).some(t=>n[t]!==void 0&&n[t]!==null),q=b.length>0,F=Object.keys(n).filter(t=>{const r=n[t];return r!=null&&(!Array.isArray(r)||r.length>0)}).length,H=(t,r)=>{if(!t.groups)return r;for(const o of t.groups)for(const c of o.options){if(c.value===r)return c.label;if(c.children){const l=c.children.find(P=>P.value===r);if(l)return l.label}}return r},ee=(t,r,o)=>{const c=o?.prefix||"",l=o?.suffix||"";return t===-1/0?`≤ ${c}${r}${l}`:r===1/0?`≥ ${c}${t}${l}`:`${c}${t}${l} - ${c}${r}${l}`},se=t=>{const r=n[t.id];if(!r||Array.isArray(r)&&r.length===0)return{type:"empty",icon:t.icon,content:t.label};if(t.type==="number"&&t.rangeMode&&Array.isArray(r)&&r.length===2){const[o,c]=r,l=t.formatValue?.([o.toString(),c.toString()],2)??ee(o,c,t.numberConfig);return{type:"values",icon:t.icon,content:l}}if(t.type==="date"&&t.rangeMode&&Array.isArray(r)&&r.length===2){const[o,c]=r,l=t.formatValue?.([o.toISOString(),c.toISOString()],2)??te.formatDateRange(o,c);return{type:"values",icon:t.icon,content:l}}if(Array.isArray(r))if(r.length<=3){const o=r.map(String),c=t.formatValue?.(o,o.length)??o.map(l=>H(t,l)).join(", ");return{type:"values",icon:t.icon,content:c}}else return{type:"count",icon:t.icon,label:t.label,count:r.length};return{type:"values",icon:t.icon,content:H(t,String(r))}},s=m.filter(t=>a.includes(t.id)),u=d.useMemo(()=>{const t=[];for(const r of m){const o=c=>{t.push({normalizedLabel:c.toLowerCase(),filterId:r.id,icon:r.icon})};if(r.groups)for(const c of r.groups)for(const l of c.options)o(l.label),l.children?.forEach(P=>o(P.label));r.options&&r.options.forEach(c=>{o(c.label),c.children?.forEach(l=>o(l.label))})}return t},[m]),p=d.useCallback(t=>{if(!t)return null;const r=t.toLowerCase();for(const o of u)if(o.normalizedLabel.includes(r))return{filterId:o.filterId,icon:o.icon};return null},[u]),x=d.useMemo(()=>b.filter(r=>r&&typeof r=="string").map(r=>{if(r.includes("|")){const[c,l]=r.split("|"),P=m.find($=>$.label===l);return{value:r,matchedFilter:P?{filterId:P.id,icon:P.icon}:void 0}}const o=p(r);return{value:r,matchedFilter:o?{filterId:o.filterId,icon:o.icon}:void 0}}),[b,m,p]),y=d.useMemo(()=>{if(!N||!k)return[];const t=[];return m.forEach(r=>{r.groups?r.groups.forEach(o=>{o.options.forEach(c=>{c.label&&c.value&&t.push({label:c.label,value:c.value,filterLabel:r.label,filterIcon:r.icon}),c.children&&c.children.forEach(l=>{l.label&&l.value&&t.push({label:l.label,value:l.value,filterLabel:r.label,filterIcon:r.icon})})})}):r.options&&r.options.forEach(o=>{o.label&&o.value&&t.push({label:o.label,value:o.value,filterLabel:r.label,filterIcon:r.icon}),o.children&&o.children.forEach(c=>{c.label&&c.value&&t.push({label:c.label,value:c.value,filterLabel:r.label,filterIcon:r.icon})})})}),t.sort((r,o)=>{const c=r.label.localeCompare(o.label);return c!==0?c:r.filterLabel.localeCompare(o.filterLabel)})},[m,N,k]),X=(t,r)=>{if(!C)return;const o=r?`${t}|${r}`:t;b.includes(o)||C([...b,o])},L=t=>{C&&C(b.filter(r=>r!==t))},ae=()=>{j(),C&&q&&C([])};return e.jsxs("div",{className:"flex gap-[3px] items-center min-w-0",children:[e.jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:S}),Q&&e.jsxs(U.Popover,{open:z,onOpenChange:T,children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs(Y.Button,{className:"h-[var(--size-m)] gap-[var(--space-xs)]","aria-label":`Filters${F>0?`, ${F} active`:""}`,"aria-expanded":z,"aria-haspopup":"dialog",children:[e.jsx(_.Icon,{name:G.ListFilter,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"}),e.jsx("span",{className:"text-label-md",children:"Filters"}),F>0&&e.jsx(le.Badge,{size:"s",intent:"neutral",appearance:"subtle","aria-hidden":"true",children:F})]})}),e.jsx(U.PopoverContent,{className:"w-[660px] p-0",align:"start",children:e.jsx(xe,{filters:m,pinnedFilters:a,activeFilters:n,onPinnedFiltersChange:v,onFilterChange:g})})]}),Q&&s.length>0&&e.jsx(oe.Separator,{type:"dot",layout:"horizontal"}),s.length>0&&e.jsx("div",{className:"min-w-0 flex gap-[7px] overflow-x-auto scrollbar-hide p-1",children:s.map(t=>{const r=se(t),o=r.type!=="empty",c=r.icon;return e.jsxs(U.Popover,{open:i===t.id,onOpenChange:l=>Z(l,t.id),children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{ref:l=>{K.current[t.id]=l},role:"button",tabIndex:0,"aria-label":`${t.label}: ${r.type==="empty"?"not set, click to add filter":r.type==="count"?`${r.count} selected, click to edit`:`${r.content}, click to edit`}`,"aria-expanded":i===t.id,"aria-haspopup":"dialog",onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),Z(i!==t.id,t.id))},className:A.cn("group/slot h-[var(--size-m)] rounded-l flex items-center justify-center gap-[var(--space-s)] transition-colors cursor-pointer flex-shrink-0","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2",o?"bg-[var(--color-background-neutral-selected)] hover:bg-[var(--color-background-neutral-hovered)] px-[var(--space-m)] pr-[4px]":"border border-dashed border-[var(--color-border-primary-strong)] px-[var(--space-m)] pr-[var(--space-s)] hover:border-[var(--grey-400)] active:bg-[var(--grey-25)]"),children:[e.jsx(c,{className:A.cn("h-[var(--size-2xs)] w-[var(--size-2xs)]",o?"text-[var(--color-icon-primary)]":"text-[var(--grey-400)] group-hover/slot:text-[var(--grey-500)]")}),r.type==="count"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"whitespace-nowrap [&]:text-label-md text-[var(--color-text-primary)]",children:r.label}),e.jsx(le.Badge,{size:"s",intent:"neutral",appearance:"bold",children:r.count})]}):e.jsx("span",{className:A.cn("whitespace-nowrap [&]:text-label-md",o?"text-[var(--color-text-primary)]":"text-[var(--color-text-tertiary)] group-hover/slot:text-[var(--grey-500)]"),children:r.content}),o&&e.jsx(Y.Button,{variant:"ghost",size:"s","aria-label":`Clear ${t.label} filter`,onClick:l=>{l.stopPropagation(),f(t.id)},onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),l.stopPropagation(),f(t.id))},className:"h-auto w-auto p-[var(--space-xs)]",children:e.jsx(_.Icon,{name:G.X,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"})})]})}),e.jsx(U.PopoverContent,{className:A.cn("p-[var(--space-l)]",t.type==="date"?"w-[600px]":"w-[320px]","max-h-[var(--radix-popover-content-available-height)] overflow-y-auto"),align:"start",collisionPadding:8,children:e.jsx(ce,{filter:t,value:n[t.id],onChange:l=>g(t.id,l),onReset:()=>f(t.id)})})]},t.id)})}),k&&(Q||s.length>0)&&e.jsx(oe.Separator,{type:"line",layout:"horizontal",className:"mx-[var(--space-s)]"}),k&&!N&&e.jsx(ye,{placeholder:D,onAddSearchTerm:X}),k&&N&&e.jsx(je,{placeholder:D,onAddSearchTerm:X,suggestions:y,minCharacters:O}),x.map(t=>{const r=t.matchedFilter?.icon,o=t.value.includes("|")?t.value.split("|")[0]:t.value;return e.jsxs("div",{className:"h-[var(--size-m)] rounded-l bg-[var(--color-background-neutral-selected)] hover:bg-[var(--color-background-neutral-hovered)] px-[var(--space-m)] pr-[4px] flex items-center gap-[var(--space-s)] transition-colors",children:[r&&e.jsx(r,{className:"h-[var(--size-2xs)] w-[var(--size-2xs)] text-[var(--color-icon-primary)]"}),e.jsx("span",{className:"whitespace-nowrap [&]:text-label-md text-[var(--color-text-primary)]",children:o}),e.jsx(Y.Button,{variant:"ghost",size:"s","aria-label":`Remove search term: ${o}`,onClick:()=>L(t.value),className:"h-auto w-auto p-[var(--space-xs)]",children:e.jsx(_.Icon,{name:G.X,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"})})]},t.value)}),!I&&(W||q)&&e.jsx(oe.Separator,{type:"dot",layout:"horizontal"}),!I&&(W||q)&&e.jsx(Y.Button,{variant:"ghost",onClick:ae,"aria-label":"Reset all filters and search terms",className:"h-[var(--size-m)] rounded-s px-[var(--space-m)]",children:e.jsx("span",{className:"text-label-md",children:"Clear all"})}),V&&e.jsx("div",{className:"flex-1"}),V]})}exports.DEFAULT_DAY_PRESETS=pe;exports.DEFAULT_MONTH_PRESETS=de;exports.FilterDropdownMenu=xe;exports.FilterPanelContent=ce;exports.Filters=Ne;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),D=require("react"),t=require("lucide-react"),a=require("../fundamental/custom-icons.cjs"),b=require("../fundamental/icon.cjs"),k=require("../fundamental/badge.cjs"),n=require("../../lib/utils.cjs"),d=require("../fundamental/tooltip.cjs"),m={"order-draft":{icon:a.HexagonDashed,color:"tertiary",objectLabel:"Order",statusLabel:"Draft"},"order-distributed":{icon:a.HexagonAsterisk,color:"information",objectLabel:"Order",statusLabel:"Distributed"},"order-withdrawn":{icon:a.HexagonMinus,color:"error",objectLabel:"Order",statusLabel:"Withdrawn"},"negotiation-indicative-offer":{icon:a.CircleDashedArrowDown,color:"information",objectLabel:"Negotiation",statusLabel:"Indicative offer"},"negotiation-indicative-bid":{icon:a.CircleDashedArrowUp,color:"information",objectLabel:"Negotiation",statusLabel:"Indicative bid"},"negotiation-firm-offer":{icon:t.CircleArrowDown,color:"information",objectLabel:"Negotiation",statusLabel:"Firm offer"},"negotiation-firm-bid":{icon:t.CircleArrowUp,color:"information",objectLabel:"Negotiation",statusLabel:"Firm bid"},"negotiation-firm":{icon:a.CircleDot2,color:"violet",objectLabel:"Negotiation",statusLabel:"Firm"},"negotiation-on-subs":{icon:a.CircleDiamond,color:"warning",objectLabel:"Negotiation",statusLabel:"On subs"},"negotiation-fixed":{icon:a.CircleCheck2,color:"success",objectLabel:"Negotiation",statusLabel:"Fixed"},"negotiation-firm-offer-expired":{icon:t.ClockAlert,color:"error",objectLabel:"Negotiation",statusLabel:"(Firm offer) Expired"},"negotiation-withdrawn":{icon:t.CircleMinus,color:"error",objectLabel:"Negotiation",statusLabel:"Withdrawn"},"negotiation-firm-amendment":{icon:t.CirclePlus,color:"violet",objectLabel:"Negotiation",statusLabel:"Firm (Amendment)"},"negotiation-subs-expired":{icon:t.ClockAlert,color:"error",objectLabel:"Negotiation",statusLabel:"Subs expired"},"negotiation-subs-failed":{icon:t.CircleSlash,color:"error",objectLabel:"Negotiation",statusLabel:"Subs failed"},"negotiation-on-subs-amendment":{icon:t.CirclePlus,color:"warning",objectLabel:"Negotiation",statusLabel:"On subs (amendment)"},"contract-draft":{icon:a.SquareDashedChartGantt,color:"tertiary",objectLabel:"Contract",statusLabel:"Draft"},"contract-working-copy":{icon:t.SquareChartGantt,color:"information",objectLabel:"Contract",statusLabel:"Working copy"},"contract-final":{icon:t.SquareCheck,color:"success",objectLabel:"Contract",statusLabel:"Final"},"contract-rejected":{icon:t.SquareX,color:"error",objectLabel:"Contract",statusLabel:"Rejected"},"addenda-draft":{icon:a.SquareDashedCornerPlus,color:"tertiary",objectLabel:"Addenda",statusLabel:"Draft"},"addenda-working-copy":{icon:a.SquareCornerPlus,color:"information",objectLabel:"Addenda",statusLabel:"Working copy"},"addenda-final":{icon:a.SquareCornerCheck,color:"success",objectLabel:"Addenda",statusLabel:"Final"},"recap-manager-draft":{icon:a.SquareDashedChartGantt,color:"tertiary",objectLabel:"Recap manager",statusLabel:"Draft"},"recap-manager-on-subs":{icon:a.SquareDiamond,color:"warning",objectLabel:"Recap manager",statusLabel:"On subs"},"recap-manager-fully-fixed":{icon:t.SquareCheck,color:"success",objectLabel:"Recap manager",statusLabel:"Fully fixed"},"recap-manager-canceled":{icon:t.SquareMinus,color:"error",objectLabel:"Recap manager",statusLabel:"Canceled"},"recap-manager-failed":{icon:t.SquareSlash,color:"error",objectLabel:"Recap manager",statusLabel:"Failed"}},j={xs:"text-body-medium-xsm",s:"text-body-medium-sm",m:"text-body-medium-md",l:"text-body-medium-lg"},u={xs:"s",s:"s",m:"m",l:"l"},p={xs:"translate-y-[0.5px]",s:"translate-y-[0px]",m:"translate-y-[0.5px]",l:"translate-y-[0.5px]"},C={xs:"gap-[var(--space-xs)]",s:"gap-[var(--space-xs)]",m:"gap-[var(--space-s)]",l:"gap-[var(--space-s)]"},y={primary:"text-[var(--color-text-primary)]",secondary:"text-[var(--color-text-secondary)]",tertiary:"text-[var(--color-text-tertiary)]",brand:"text-[var(--color-text-brand-bold)]",information:"text-[var(--color-text-info-bold)]",success:"text-[var(--color-text-success-bold)]",warning:"text-[var(--color-text-warning-bold)]",error:"text-[var(--color-text-error-bold)]",violet:"text-[var(--violet-500)]"},F={primary:"neutral",secondary:"neutral",tertiary:"neutral",brand:"brand",information:"information",success:"success",warning:"warning",error:"destructive",violet:"violet"},A={xs:"xs",s:"s",m:"m",l:"l"},h=D.forwardRef(({value:x,size:r="s",showObject:v=!1,iconOnly:w=!1,lowercase:g=!1,asBadge:S=!1,className:i,...c},s)=>{const o=m[x];if(!o)return console.warn(`Unknown status "${x}". Available statuses:`,Object.keys(m)),e.jsxs("div",{ref:s,className:n.cn("inline-flex items-center p-0.5",C[r],j[r],i),...c,children:[e.jsx("span",{className:n.cn("flex-shrink-0",p[r]),children:e.jsx(b.Icon,{name:t.CircleHelp,size:u[r],color:"secondary"})}),e.jsx("span",{className:y.secondary,children:"Unknown status"})]});const q=g?o.objectLabel.toLowerCase():o.objectLabel,L=g?o.statusLabel.toLowerCase():o.statusLabel,l=v?`${q} • ${L}`:L;if(S){const f=o.color==="tertiary",N=f?"secondary":o.color;return e.jsx(k.Badge,{ref:s,appearance:"subtle",intent:F[o.color]??"neutral",size:A[r],icon:e.jsx(b.Icon,{name:o.icon,size:u[r],color:N}),className:n.cn(f&&"text-[var(--color-text-secondary)]",i),...c,children:l})}return w?e.jsx(d.TooltipProvider,{delayDuration:200,children:e.jsxs(d.Tooltip,{children:[e.jsx(d.TooltipTrigger,{asChild:!0,children:e.jsx("div",{ref:s,className:n.cn("inline-flex p-0.5",i),...c,children:e.jsx(b.Icon,{name:o.icon,size:u[r],color:o.color,"aria-label":l})})}),e.jsx(d.TooltipContent,{children:l})]})}):e.jsxs("div",{ref:s,className:n.cn("inline-flex items-center p-0.5",C[r],j[r],i),...c,children:[e.jsx("span",{className:n.cn("flex-shrink-0",p[r]),children:e.jsx(b.Icon,{name:o.icon,size:u[r],color:o.color})}),e.jsx("span",{className:y[o.color],children:l})]})});h.displayName="FixtureStatus";exports.FixtureStatus=h;exports.statusConfig=m;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("react"),W=require("../fundamental/chart.cjs"),h=require("../fundamental/table.cjs"),o=require("../fundamental/card.cjs"),_=require("../fundamental/button.cjs"),N=require("../fundamental/icon.cjs"),z=require("../fundamental/badge.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("react"),W=require("../fundamental/chart.cjs"),h=require("../fundamental/table.cjs"),o=require("../fundamental/card.cjs"),_=require("../fundamental/button.cjs"),N=require("../fundamental/icon.cjs"),z=require("lucide-react"),w=require("../fundamental/badge.cjs"),H=require("../../lib/utils.cjs");function Y({title:m,description:f,data:n,config:C,columns:j,type:D,enableFiltering:y=!0,enableRowSelection:b=!0,onRowSelectionChange:p,onDataFilter:v,showTable:O=!0,tableClassName:P,chartClassName:$,enableRowFiltering:S=!1,className:F,...U}){const[l,q]=a.useState(new Set),[T,L]=a.useState(null),[B,g]=a.useState(null),[d,A]=a.useState(new Set),[u,M]=a.useState(!1),c=a.useMemo(()=>d.size>0?n.filter((s,r)=>d.has(r)):u&&l.size>0?n.filter((s,r)=>l.has(r)):n,[n,d,l,u]),E=a.useCallback((s,r)=>{if(r!==void 0&&s){const t=n.findIndex(i=>i===c[r]);g(t!==-1?t:null)}else g(null)},[n,c]),V=a.useCallback((s,r)=>{if(!y)return;const t=n.findIndex(x=>x===c[r]);if(t===-1)return;const i=new Set(d);i.has(t)?i.delete(t):i.add(t),A(i);const I=n.filter((x,Q)=>i.has(Q));v?.(I)},[y,d,n,v,c]),X=a.useCallback(s=>{if(!b)return;const r=new Set(l);r.has(s)?r.delete(s):r.add(s),q(r),p?.(Array.from(r))},[b,l,p]),R=a.useCallback(s=>{L(s)},[]),G=a.useCallback(()=>{q(new Set),A(new Set),L(null),g(null),M(!1),p?.([]),v?.([])},[p,v]),J=a.useCallback((s,r,t)=>{if(r.format)return r.format(s,t);switch(r.type){case"currency":return typeof s=="number"?`$${s.toLocaleString()}`:s;case"percentage":return typeof s=="number"?`${s}%`:s;case"number":return typeof s=="number"?s.toLocaleString():s;default:return s}},[]),k=T??B,K=a.useMemo(()=>{if(k!==null){const s=c.findIndex(r=>n[k]===r);return s!==-1?s:void 0}},[k,c,n]);return e.jsxs("div",{className:H.cn("space-y-[var(--space-l)]",F),children:[(m||f)&&e.jsxs("div",{className:"space-y-[var(--space-s)]",children:[m&&e.jsx("h3",{className:"text-heading-md",children:m}),f&&e.jsx("p",{className:"text-body-md text-[var(--color-text-secondary)]",children:f})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[l.size>0&&e.jsxs(w.Badge,{intent:"neutral",appearance:"subtle",size:"s",children:[l.size," selected",u?" (filtered)":""]}),d.size>0&&e.jsxs(w.Badge,{intent:"brand",appearance:"subtle",size:"s",children:[d.size," chart filtered"]})]}),e.jsxs("div",{className:"flex items-center gap-[var(--space-s)]",children:[S&&l.size>0&&e.jsxs(_.Button,{size:"s",variant:u?"default":"ghost",onClick:()=>M(!u),children:[e.jsx(N.Icon,{name:z.Filter,size:"s",className:"mr-[var(--space-xs)]"}),"Filter selected"]}),(l.size>0||d.size>0||u)&&e.jsxs(_.Button,{variant:"ghost",size:"s",onClick:G,children:[e.jsx(N.Icon,{name:z.X,size:"s",className:"mr-[var(--space-s)]"}),"Clear all"]})]})]}),e.jsx(o.Card,{children:e.jsx(o.CardContent,{className:"p-[var(--space-l)]",children:e.jsx(W.Chart,{...U,type:D,data:c,config:C,onDataPointClick:V,onDataPointHover:E,highlightedIndex:K,className:$})})}),O&&e.jsxs(o.Card,{children:[e.jsx(o.CardHeader,{children:e.jsxs(o.CardTitle,{className:"text-heading-sm flex items-center justify-between",children:["Data Table",e.jsxs(w.Badge,{intent:"neutral",appearance:"subtle",size:"s",children:[c.length," rows"]})]})}),e.jsx(o.CardContent,{children:e.jsx("div",{className:H.cn("rounded-m border border-[var(--color-border-primary-subtle)]",P),children:e.jsxs(h.Table,{children:[e.jsx(h.TableHeader,{children:e.jsx(h.TableRow,{children:j.map(s=>e.jsx(h.TableHead,{children:s.label},s.key))})}),e.jsx(h.TableBody,{children:c.map((s,r)=>{const t=n.indexOf(s),i=l.has(t),I=T===t||B===t;return e.jsx(h.TableRow,{onClick:()=>X(t),onMouseEnter:()=>R(t),onMouseLeave:()=>R(null),variant:i?"selected":"default",className:H.cn("cursor-pointer transition-colors",I&&"bg-[var(--color-background-neutral-subtlest-hovered)]",b&&"hover:bg-[var(--color-background-neutral-subtlest-hovered)]"),children:j.map(x=>e.jsx(h.TableCell,{children:J(s[x.key],x,s)},x.key))},t)})})]})})})]}),y&&e.jsx(o.Card,{className:"border-[var(--color-border-info-bold)]",children:e.jsx(o.CardContent,{className:"p-[var(--space-m)]",children:e.jsxs("div",{className:"flex items-start gap-[var(--space-s)]",children:[e.jsx(N.Icon,{name:z.Info,size:"s",color:"information",className:"mt-1"}),e.jsxs("div",{className:"space-y-[var(--space-xs)] text-body-sm text-[var(--color-text-secondary)]",children:[e.jsx("p",{children:e.jsx("strong",{children:"Interactive Features:"})}),e.jsxs("ul",{className:"list-disc list-inside space-y-[var(--space-xs)]",children:[e.jsx("li",{children:"Click chart data points to filter the table"}),b&&e.jsx("li",{children:"Click table rows to select/deselect them"}),S&&b&&e.jsx("li",{children:'Use "Filter Selected" button to show only selected rows in the chart'}),e.jsx("li",{children:"Hover over chart or table to see corresponding data"}),e.jsx("li",{children:'Use "Clear All" to reset all filters and selections'})]})]})]})})})]})}const Z=(m,f=[])=>{const n=Object.entries(m).map(([C,j])=>({key:C,label:j.label,type:"number"}));return[{key:"name",label:"Name",type:"text"},...n,...f]};exports.LinkedChart=Y;exports.createLinkedChartColumns=Z;
|