@superdangerous/app-framework 4.16.29 → 4.16.36
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/cli/dev-server.js +2 -2
- package/dist/cli/dev-server.js.map +1 -1
- package/package.json +4 -4
- package/src/cli/dev-server.ts +2 -2
- package/ui/dist/data-table.d.mts +457 -0
- package/ui/dist/data-table.d.ts +457 -0
- package/ui/dist/data-table.js +2 -0
- package/ui/dist/data-table.js.map +1 -0
- package/ui/dist/data-table.mjs +2 -0
- package/ui/dist/data-table.mjs.map +1 -0
- package/ui/dist/index.d.mts +6 -453
- package/ui/dist/index.d.ts +6 -453
- package/ui/dist/index.js +32 -32
- package/ui/dist/index.js.map +1 -1
- package/ui/dist/index.mjs +32 -32
- package/ui/dist/index.mjs.map +1 -1
- package/ui/data-table/components/BatchActionsBar.tsx +0 -53
- package/ui/data-table/components/ColumnVisibility.tsx +0 -111
- package/ui/data-table/components/DataTable.tsx +0 -498
- package/ui/data-table/components/DataTablePage.tsx +0 -238
- package/ui/data-table/components/MultiSelectFilter.tsx +0 -153
- package/ui/data-table/components/Pagination.tsx +0 -203
- package/ui/data-table/components/PaginationControls.tsx +0 -122
- package/ui/data-table/components/TableFilters.tsx +0 -145
- package/ui/data-table/components/index.ts +0 -44
- package/ui/data-table/components/types.ts +0 -181
- package/ui/data-table/hooks/index.ts +0 -17
- package/ui/data-table/hooks/useColumnOrder.ts +0 -237
- package/ui/data-table/hooks/useColumnVisibility.ts +0 -128
- package/ui/data-table/hooks/usePagination.ts +0 -160
- package/ui/data-table/hooks/useResizableColumns.ts +0 -282
- package/ui/data-table/index.ts +0 -87
package/ui/dist/index.d.mts
CHANGED
|
@@ -20,6 +20,7 @@ import { LucideIcon } from 'lucide-react';
|
|
|
20
20
|
export { Activity, AlertCircle, AlertTriangle, Archive, ArrowLeft, ArrowRight, BarChart, Bot, Brain, Building2, Calendar, CheckCircle, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Circle, Clock, Coffee, Copy, Cpu, Database, Download, Edit, Eye, EyeOff, File, FileCode, FileText, Filter, Folder, FolderOpen, Gauge, GitBranch, Globe, Grid3x3, HardDrive, HelpCircle, Home, Info, Key, Keyboard, Layers, LayoutDashboard, Lightbulb, LineChart, Loader2, Lock, LogOut, LucideIcon, Menu, MessageSquare, Monitor, Moon, MoreHorizontal, MoreVertical, Package, Palette, Paperclip, Pause, PieChart, Play, PlayCircle, Plus, RefreshCw, Save, Search, Send, Server, Settings, Shield, SkipForward, Smartphone, Sparkles, Square, StopCircle, Sun, Tag, Target, Terminal, Trash2, TrendingDown, TrendingUp, Trophy, Undo, Unlock, Upload, User, UserCheck, UserPlus, Users, Volume2, Wifi, WifiOff, X, XCircle, Zap } from 'lucide-react';
|
|
21
21
|
import { ManagerOptions, SocketOptions, Socket } from 'socket.io-client';
|
|
22
22
|
import { ClassValue } from 'clsx';
|
|
23
|
+
export { BatchActionsBar, BatchActionsBarProps, CellProps, ColumnConfig, ColumnConfigCompat, ColumnDef, ColumnOrderConfig, ColumnSizeConfig, ColumnVisibility, ColumnVisibilityConfig, ColumnVisibilityState, ColumnWidth, DataTable, DataTablePage, DataTablePageProps, DataTableProps, DragState, ExternalPaginationState, FilterOption, HeaderCellProps, MultiSelectFilter, MultiSelectFilterProps, MultiSelectOption, Pagination, PaginationControls, PaginationControlsProps, ResizableColumnResult, TableFilterOption, TableFilters, TableFiltersProps, useColumnDragDrop, useColumnOrder, useColumnVisibility, usePagination, useResizableColumns } from './data-table.mjs';
|
|
23
24
|
|
|
24
25
|
declare const Alert: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
25
26
|
variant?: "default" | "destructive" | null | undefined;
|
|
@@ -486,6 +487,7 @@ interface ResizableDialogProps {
|
|
|
486
487
|
open: boolean;
|
|
487
488
|
onOpenChange: (open: boolean) => void;
|
|
488
489
|
title?: React.ReactNode;
|
|
490
|
+
titleExtra?: React.ReactNode;
|
|
489
491
|
children: React.ReactNode | ((props: ResizableDialogRenderProps) => React.ReactNode);
|
|
490
492
|
footer?: React.ReactNode;
|
|
491
493
|
defaultWidth?: number;
|
|
@@ -495,7 +497,7 @@ interface ResizableDialogProps {
|
|
|
495
497
|
className?: string;
|
|
496
498
|
onFullscreenChange?: (isFullscreen: boolean) => void;
|
|
497
499
|
}
|
|
498
|
-
declare function ResizableDialog({ open, onOpenChange, title, children, footer, defaultWidth, defaultHeight, minWidth, minHeight, className, onFullscreenChange, }: ResizableDialogProps): react_jsx_runtime.JSX.Element;
|
|
500
|
+
declare function ResizableDialog({ open, onOpenChange, title, titleExtra, children, footer, defaultWidth, defaultHeight, minWidth, minHeight, className, onFullscreenChange, }: ResizableDialogProps): react_jsx_runtime.JSX.Element;
|
|
499
501
|
|
|
500
502
|
interface ContextMenuPosition {
|
|
501
503
|
x: number;
|
|
@@ -1079,6 +1081,8 @@ interface SettingsCategory {
|
|
|
1079
1081
|
label: string;
|
|
1080
1082
|
icon?: LucideIcon | string | React.ReactNode;
|
|
1081
1083
|
description?: string;
|
|
1084
|
+
/** Inline help text shown via HelpTooltip next to category heading */
|
|
1085
|
+
help?: string | React.ReactNode;
|
|
1082
1086
|
/** Settings for form-based categories */
|
|
1083
1087
|
settings?: SettingDefinition[];
|
|
1084
1088
|
/** Custom component to render instead of settings form */
|
|
@@ -1660,455 +1664,4 @@ declare const statusStyles: {
|
|
|
1660
1664
|
};
|
|
1661
1665
|
};
|
|
1662
1666
|
|
|
1663
|
-
|
|
1664
|
-
data: T[];
|
|
1665
|
-
pageSize?: number;
|
|
1666
|
-
storageKey?: string;
|
|
1667
|
-
}
|
|
1668
|
-
interface UsePaginationResult<T> {
|
|
1669
|
-
paginatedData: T[];
|
|
1670
|
-
page: number;
|
|
1671
|
-
pageSize: number;
|
|
1672
|
-
totalPages: number;
|
|
1673
|
-
totalItems: number;
|
|
1674
|
-
setPage: (page: number) => void;
|
|
1675
|
-
setPageSize: (size: number) => void;
|
|
1676
|
-
nextPage: () => void;
|
|
1677
|
-
prevPage: () => void;
|
|
1678
|
-
firstPage: () => void;
|
|
1679
|
-
lastPage: () => void;
|
|
1680
|
-
startIndex: number;
|
|
1681
|
-
endIndex: number;
|
|
1682
|
-
canGoNext: boolean;
|
|
1683
|
-
canGoPrev: boolean;
|
|
1684
|
-
pageSizeOptions: number[];
|
|
1685
|
-
}
|
|
1686
|
-
declare function usePagination<T>({ data, pageSize: initialPageSize, storageKey, }: UsePaginationOptions<T>): UsePaginationResult<T>;
|
|
1687
|
-
|
|
1688
|
-
interface ColumnConfig$1 {
|
|
1689
|
-
id: string;
|
|
1690
|
-
label: string;
|
|
1691
|
-
defaultVisible?: boolean;
|
|
1692
|
-
locked?: boolean;
|
|
1693
|
-
}
|
|
1694
|
-
interface ColumnVisibilityState {
|
|
1695
|
-
[key: string]: boolean;
|
|
1696
|
-
}
|
|
1697
|
-
interface UseColumnVisibilityOptions {
|
|
1698
|
-
columns: ColumnConfig$1[];
|
|
1699
|
-
storageKey: string;
|
|
1700
|
-
}
|
|
1701
|
-
interface UseColumnVisibilityReturn {
|
|
1702
|
-
visibleColumns: ColumnVisibilityState;
|
|
1703
|
-
isColumnVisible: (columnId: string) => boolean;
|
|
1704
|
-
toggleColumn: (columnId: string) => void;
|
|
1705
|
-
showAllColumns: () => void;
|
|
1706
|
-
hideAllColumns: () => void;
|
|
1707
|
-
columns: ColumnConfig$1[];
|
|
1708
|
-
}
|
|
1709
|
-
declare function useColumnVisibility({ columns, storageKey, }: UseColumnVisibilityOptions): UseColumnVisibilityReturn;
|
|
1710
|
-
|
|
1711
|
-
interface ColumnConfig {
|
|
1712
|
-
key: string;
|
|
1713
|
-
minWidth?: number;
|
|
1714
|
-
maxWidth?: number;
|
|
1715
|
-
defaultWidth?: number;
|
|
1716
|
-
}
|
|
1717
|
-
interface UseResizableColumnsOptions {
|
|
1718
|
-
tableId: string;
|
|
1719
|
-
columns: ColumnConfig[];
|
|
1720
|
-
storageKey?: string;
|
|
1721
|
-
}
|
|
1722
|
-
interface ResizableColumnResult {
|
|
1723
|
-
widths: Record<string, number>;
|
|
1724
|
-
isResizing: boolean;
|
|
1725
|
-
totalWidth: number;
|
|
1726
|
-
getResizeHandleProps: (columnKey: string) => {
|
|
1727
|
-
onPointerDown: (e: React.PointerEvent) => void;
|
|
1728
|
-
onMouseDown: (e: React.MouseEvent) => void;
|
|
1729
|
-
draggable: boolean;
|
|
1730
|
-
onDragStart: (e: React.DragEvent) => void;
|
|
1731
|
-
className: string;
|
|
1732
|
-
'data-resizing': boolean;
|
|
1733
|
-
};
|
|
1734
|
-
getColumnStyle: (columnKey: string) => React.CSSProperties;
|
|
1735
|
-
getTableStyle: () => React.CSSProperties;
|
|
1736
|
-
resetToDefaults: () => void;
|
|
1737
|
-
}
|
|
1738
|
-
declare function useResizableColumns({ tableId, columns, storageKey, }: UseResizableColumnsOptions): ResizableColumnResult;
|
|
1739
|
-
|
|
1740
|
-
interface ColumnOrderConfig {
|
|
1741
|
-
id: string;
|
|
1742
|
-
label: string;
|
|
1743
|
-
locked?: boolean;
|
|
1744
|
-
}
|
|
1745
|
-
interface UseColumnOrderOptions {
|
|
1746
|
-
storageKey: string;
|
|
1747
|
-
defaultOrder: string[];
|
|
1748
|
-
}
|
|
1749
|
-
interface UseColumnOrderReturn {
|
|
1750
|
-
columnOrder: string[];
|
|
1751
|
-
moveColumn: (fromIndex: number, toIndex: number) => void;
|
|
1752
|
-
moveColumnById: (columnId: string, direction: 'left' | 'right') => void;
|
|
1753
|
-
resetOrder: () => void;
|
|
1754
|
-
getOrderedColumns: <T extends {
|
|
1755
|
-
id: string;
|
|
1756
|
-
}>(columns: T[]) => T[];
|
|
1757
|
-
}
|
|
1758
|
-
/**
|
|
1759
|
-
* Hook for managing column order with localStorage persistence
|
|
1760
|
-
*/
|
|
1761
|
-
declare function useColumnOrder({ storageKey, defaultOrder, }: UseColumnOrderOptions): UseColumnOrderReturn;
|
|
1762
|
-
/**
|
|
1763
|
-
* Drag and drop helpers for column reordering
|
|
1764
|
-
*/
|
|
1765
|
-
interface DragState {
|
|
1766
|
-
isDragging: boolean;
|
|
1767
|
-
draggedId: string | null;
|
|
1768
|
-
dropIndex: number | null;
|
|
1769
|
-
}
|
|
1770
|
-
declare function useColumnDragDrop(columnOrder: string[], moveColumn: (from: number, to: number) => void, lockedColumns?: string[]): {
|
|
1771
|
-
dragState: DragState;
|
|
1772
|
-
getDragHandleProps: (columnId: string) => {
|
|
1773
|
-
draggable: boolean;
|
|
1774
|
-
onDragStart: (e: React.DragEvent) => void;
|
|
1775
|
-
onDragOver: (e: React.DragEvent) => void;
|
|
1776
|
-
onDrop: (e: React.DragEvent) => void;
|
|
1777
|
-
onDragEnd: () => void;
|
|
1778
|
-
};
|
|
1779
|
-
showDropIndicator: (columnId: string) => boolean;
|
|
1780
|
-
};
|
|
1781
|
-
|
|
1782
|
-
/**
|
|
1783
|
-
* Column width configuration
|
|
1784
|
-
*/
|
|
1785
|
-
interface ColumnWidth {
|
|
1786
|
-
default: number;
|
|
1787
|
-
min: number;
|
|
1788
|
-
max?: number;
|
|
1789
|
-
}
|
|
1790
|
-
/**
|
|
1791
|
-
* Column visibility configuration
|
|
1792
|
-
*/
|
|
1793
|
-
interface ColumnVisibility$1 {
|
|
1794
|
-
default: boolean;
|
|
1795
|
-
locked?: boolean;
|
|
1796
|
-
}
|
|
1797
|
-
/**
|
|
1798
|
-
* Props passed to header cell render function
|
|
1799
|
-
*/
|
|
1800
|
-
interface HeaderCellProps {
|
|
1801
|
-
columnId: string;
|
|
1802
|
-
isSorted: boolean;
|
|
1803
|
-
sortDirection?: 'asc' | 'desc';
|
|
1804
|
-
}
|
|
1805
|
-
/**
|
|
1806
|
-
* Props passed to cell render function
|
|
1807
|
-
*/
|
|
1808
|
-
interface CellProps {
|
|
1809
|
-
columnId: string;
|
|
1810
|
-
isDragging: boolean;
|
|
1811
|
-
}
|
|
1812
|
-
/**
|
|
1813
|
-
* Column definition for DataTable
|
|
1814
|
-
*/
|
|
1815
|
-
interface ColumnDef<T> {
|
|
1816
|
-
/** Unique column identifier */
|
|
1817
|
-
id: string;
|
|
1818
|
-
/** Header content - string or render function */
|
|
1819
|
-
header: string | ((props: HeaderCellProps) => ReactNode);
|
|
1820
|
-
/** Cell content render function */
|
|
1821
|
-
cell: (item: T, props: CellProps) => ReactNode;
|
|
1822
|
-
/** Key to use for sorting (if sortable) */
|
|
1823
|
-
sortKey?: string;
|
|
1824
|
-
/** Width configuration */
|
|
1825
|
-
width?: ColumnWidth;
|
|
1826
|
-
/** Visibility configuration */
|
|
1827
|
-
visibility?: ColumnVisibility$1;
|
|
1828
|
-
/** Additional CSS class for cells */
|
|
1829
|
-
className?: string;
|
|
1830
|
-
/** Whether this column should use column style from resize hook */
|
|
1831
|
-
resizable?: boolean;
|
|
1832
|
-
}
|
|
1833
|
-
/**
|
|
1834
|
-
* External pagination state (from usePagination hook)
|
|
1835
|
-
*/
|
|
1836
|
-
interface ExternalPaginationState<T> {
|
|
1837
|
-
paginatedData: T[];
|
|
1838
|
-
page: number;
|
|
1839
|
-
pageSize: number;
|
|
1840
|
-
totalPages: number;
|
|
1841
|
-
totalItems: number;
|
|
1842
|
-
startIndex: number;
|
|
1843
|
-
endIndex: number;
|
|
1844
|
-
canGoNext: boolean;
|
|
1845
|
-
canGoPrev: boolean;
|
|
1846
|
-
pageSizeOptions: number[];
|
|
1847
|
-
setPage: (page: number) => void;
|
|
1848
|
-
setPageSize: (size: number) => void;
|
|
1849
|
-
nextPage: () => void;
|
|
1850
|
-
prevPage: () => void;
|
|
1851
|
-
}
|
|
1852
|
-
/**
|
|
1853
|
-
* DataTable props
|
|
1854
|
-
*/
|
|
1855
|
-
interface DataTableProps<T> {
|
|
1856
|
-
/** Data array to display */
|
|
1857
|
-
data: T[];
|
|
1858
|
-
/** Column definitions */
|
|
1859
|
-
columns: ColumnDef<T>[];
|
|
1860
|
-
/** Storage key for persisting table state (column widths, order, visibility) */
|
|
1861
|
-
storageKey: string;
|
|
1862
|
-
/** Function to get unique ID from item */
|
|
1863
|
-
getRowId: (item: T) => string;
|
|
1864
|
-
/** Enable row selection with checkboxes */
|
|
1865
|
-
selectable?: boolean;
|
|
1866
|
-
/** Set of selected row IDs */
|
|
1867
|
-
selectedIds?: Set<string>;
|
|
1868
|
-
/** Callback when selection changes */
|
|
1869
|
-
onSelectionChange?: (ids: Set<string>) => void;
|
|
1870
|
-
/** Callback when row is clicked */
|
|
1871
|
-
onRowClick?: (item: T) => void;
|
|
1872
|
-
/** Callback when row is right-clicked (for context menu) */
|
|
1873
|
-
onRowContextMenu?: (item: T, position: {
|
|
1874
|
-
x: number;
|
|
1875
|
-
y: number;
|
|
1876
|
-
}) => void;
|
|
1877
|
-
/** Current sort field */
|
|
1878
|
-
sortField?: string;
|
|
1879
|
-
/** Current sort order */
|
|
1880
|
-
sortOrder?: 'asc' | 'desc';
|
|
1881
|
-
/** Callback when sort changes */
|
|
1882
|
-
onSort?: (field: string) => void;
|
|
1883
|
-
/** Render function for actions column (always last, sticky) */
|
|
1884
|
-
actionsColumn?: (item: T) => ReactNode;
|
|
1885
|
-
/** Width for actions column */
|
|
1886
|
-
actionsColumnWidth?: number;
|
|
1887
|
-
/** Page size for pagination (used when no external pagination provided) */
|
|
1888
|
-
pageSize?: number;
|
|
1889
|
-
/** External pagination state from usePagination hook (overrides internal pagination) */
|
|
1890
|
-
pagination?: ExternalPaginationState<T>;
|
|
1891
|
-
/** Hide the built-in pagination controls (use when pagination is shown elsewhere) */
|
|
1892
|
-
hidePagination?: boolean;
|
|
1893
|
-
/** Additional CSS class for table container */
|
|
1894
|
-
className?: string;
|
|
1895
|
-
/** Function to compute row CSS class */
|
|
1896
|
-
rowClassName?: (item: T) => string;
|
|
1897
|
-
/** Enable header right-click for column visibility menu */
|
|
1898
|
-
enableHeaderContextMenu?: boolean;
|
|
1899
|
-
/** Columns that cannot be reordered */
|
|
1900
|
-
lockedColumns?: string[];
|
|
1901
|
-
/** Default column order (if not persisted) */
|
|
1902
|
-
defaultColumnOrder?: string[];
|
|
1903
|
-
/** Show loading indicator */
|
|
1904
|
-
loading?: boolean;
|
|
1905
|
-
/** Content to show when no data */
|
|
1906
|
-
emptyState?: ReactNode;
|
|
1907
|
-
}
|
|
1908
|
-
/**
|
|
1909
|
-
* Column config for visibility hook (for compatibility)
|
|
1910
|
-
*/
|
|
1911
|
-
interface ColumnConfigCompat {
|
|
1912
|
-
id: string;
|
|
1913
|
-
label: string;
|
|
1914
|
-
defaultVisible?: boolean;
|
|
1915
|
-
locked?: boolean;
|
|
1916
|
-
}
|
|
1917
|
-
/**
|
|
1918
|
-
* Column config for resize hook (for compatibility)
|
|
1919
|
-
*/
|
|
1920
|
-
interface ColumnSizeConfig {
|
|
1921
|
-
key: string;
|
|
1922
|
-
defaultWidth: number;
|
|
1923
|
-
minWidth: number;
|
|
1924
|
-
maxWidth?: number;
|
|
1925
|
-
}
|
|
1926
|
-
|
|
1927
|
-
/**
|
|
1928
|
-
* DataTable - Generic data table with full feature set
|
|
1929
|
-
*
|
|
1930
|
-
* Features:
|
|
1931
|
-
* - Column resizing (drag handles)
|
|
1932
|
-
* - Column reordering (drag-drop)
|
|
1933
|
-
* - Column visibility toggle
|
|
1934
|
-
* - Row selection with checkboxes
|
|
1935
|
-
* - Sorting
|
|
1936
|
-
* - Pagination
|
|
1937
|
-
* - Sticky actions column
|
|
1938
|
-
* - Context menu support
|
|
1939
|
-
* - Header context menu for column visibility
|
|
1940
|
-
*/
|
|
1941
|
-
declare function DataTable<T>({ data, columns, storageKey, getRowId, selectable, selectedIds, onSelectionChange, onRowClick, onRowContextMenu, sortField, sortOrder, onSort, actionsColumn, actionsColumnWidth, pageSize, pagination: externalPagination, hidePagination, className, rowClassName, enableHeaderContextMenu, lockedColumns, defaultColumnOrder, loading, emptyState, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
1942
|
-
|
|
1943
|
-
/**
|
|
1944
|
-
* PaginationControls - Compact inline pagination for table headers
|
|
1945
|
-
*
|
|
1946
|
-
* A condensed version of pagination controls designed to sit alongside
|
|
1947
|
-
* search/filter controls in a table header bar.
|
|
1948
|
-
*/
|
|
1949
|
-
interface PaginationControlsProps {
|
|
1950
|
-
page: number;
|
|
1951
|
-
pageSize: number;
|
|
1952
|
-
totalPages: number;
|
|
1953
|
-
totalItems: number;
|
|
1954
|
-
startIndex: number;
|
|
1955
|
-
endIndex: number;
|
|
1956
|
-
canGoNext: boolean;
|
|
1957
|
-
canGoPrev: boolean;
|
|
1958
|
-
pageSizeOptions: number[];
|
|
1959
|
-
setPage: (page: number) => void;
|
|
1960
|
-
setPageSize: (size: number) => void;
|
|
1961
|
-
nextPage: () => void;
|
|
1962
|
-
prevPage: () => void;
|
|
1963
|
-
className?: string;
|
|
1964
|
-
}
|
|
1965
|
-
declare function PaginationControls({ page, pageSize, totalPages, totalItems, startIndex, endIndex, canGoNext, canGoPrev, pageSizeOptions, setPage: _setPage, setPageSize, nextPage, prevPage, className, }: PaginationControlsProps): react_jsx_runtime.JSX.Element | null;
|
|
1966
|
-
|
|
1967
|
-
interface FilterOption$1 {
|
|
1968
|
-
id: string;
|
|
1969
|
-
label: string;
|
|
1970
|
-
render: () => React__default.ReactNode;
|
|
1971
|
-
}
|
|
1972
|
-
interface DataTablePageProps {
|
|
1973
|
-
/** Page title */
|
|
1974
|
-
title: string;
|
|
1975
|
-
/** Page description */
|
|
1976
|
-
description?: string;
|
|
1977
|
-
/** Search term */
|
|
1978
|
-
search?: string;
|
|
1979
|
-
/** Search change handler */
|
|
1980
|
-
onSearchChange?: (value: string) => void;
|
|
1981
|
-
/** Search placeholder text */
|
|
1982
|
-
searchPlaceholder?: string;
|
|
1983
|
-
/** Filter options for popover */
|
|
1984
|
-
filters?: FilterOption$1[];
|
|
1985
|
-
/** Number of active filters */
|
|
1986
|
-
activeFilterCount?: number;
|
|
1987
|
-
/** Clear all filters handler */
|
|
1988
|
-
onClearFilters?: () => void;
|
|
1989
|
-
/** Pagination props from usePagination hook */
|
|
1990
|
-
pagination?: PaginationControlsProps;
|
|
1991
|
-
/** Action buttons to show in the header */
|
|
1992
|
-
actions?: React__default.ReactNode;
|
|
1993
|
-
/** Content before the table (e.g., BatchActionsBar) */
|
|
1994
|
-
beforeTable?: React__default.ReactNode;
|
|
1995
|
-
/** The DataTable component */
|
|
1996
|
-
children: React__default.ReactNode;
|
|
1997
|
-
/** Additional class for the container */
|
|
1998
|
-
className?: string;
|
|
1999
|
-
/** Whether to show a loading state */
|
|
2000
|
-
loading?: boolean;
|
|
2001
|
-
/** Loading component to show */
|
|
2002
|
-
loadingComponent?: React__default.ReactNode;
|
|
2003
|
-
}
|
|
2004
|
-
declare function DataTablePage({ title, description, search, onSearchChange, searchPlaceholder, filters, activeFilterCount, onClearFilters, pagination, actions, beforeTable, children, className, loading, loadingComponent, }: DataTablePageProps): react_jsx_runtime.JSX.Element;
|
|
2005
|
-
|
|
2006
|
-
interface PaginationProps {
|
|
2007
|
-
page: number;
|
|
2008
|
-
pageSize: number;
|
|
2009
|
-
totalPages: number;
|
|
2010
|
-
totalItems: number;
|
|
2011
|
-
startIndex: number;
|
|
2012
|
-
endIndex: number;
|
|
2013
|
-
canGoNext: boolean;
|
|
2014
|
-
canGoPrev: boolean;
|
|
2015
|
-
pageSizeOptions: number[];
|
|
2016
|
-
onPageChange: (page: number) => void;
|
|
2017
|
-
onPageSizeChange: (size: number) => void;
|
|
2018
|
-
onNextPage: () => void;
|
|
2019
|
-
onPrevPage: () => void;
|
|
2020
|
-
onFirstPage: () => void;
|
|
2021
|
-
onLastPage: () => void;
|
|
2022
|
-
className?: string;
|
|
2023
|
-
}
|
|
2024
|
-
declare function Pagination({ page, pageSize, totalPages, totalItems, startIndex, endIndex, canGoNext, canGoPrev, pageSizeOptions, onPageChange, onPageSizeChange, onNextPage, onPrevPage, onFirstPage, onLastPage, className, }: PaginationProps): react_jsx_runtime.JSX.Element | null;
|
|
2025
|
-
|
|
2026
|
-
interface BatchActionsBarProps {
|
|
2027
|
-
/** Number of selected items */
|
|
2028
|
-
selectedCount: number;
|
|
2029
|
-
/** Callback to clear selection */
|
|
2030
|
-
onClear: () => void;
|
|
2031
|
-
/** Action buttons to display on the right side */
|
|
2032
|
-
children: ReactNode;
|
|
2033
|
-
/** Label for the selected items (default: "item"/"items") */
|
|
2034
|
-
itemLabel?: string;
|
|
2035
|
-
/** Additional CSS classes */
|
|
2036
|
-
className?: string;
|
|
2037
|
-
}
|
|
2038
|
-
/**
|
|
2039
|
-
* A horizontal bar that appears when items are selected,
|
|
2040
|
-
* showing the count and providing batch action buttons.
|
|
2041
|
-
*/
|
|
2042
|
-
declare function BatchActionsBar({ selectedCount, onClear, children, itemLabel, className, }: BatchActionsBarProps): react_jsx_runtime.JSX.Element | null;
|
|
2043
|
-
|
|
2044
|
-
interface ColumnVisibilityProps {
|
|
2045
|
-
columns: ColumnConfig$1[];
|
|
2046
|
-
isColumnVisible: (columnId: string) => boolean;
|
|
2047
|
-
toggleColumn: (columnId: string) => void;
|
|
2048
|
-
showAllColumns: () => void;
|
|
2049
|
-
hideAllColumns: () => void;
|
|
2050
|
-
}
|
|
2051
|
-
declare function ColumnVisibility({ columns, isColumnVisible, toggleColumn, showAllColumns, hideAllColumns, }: ColumnVisibilityProps): react_jsx_runtime.JSX.Element;
|
|
2052
|
-
|
|
2053
|
-
interface FilterOption {
|
|
2054
|
-
id: string;
|
|
2055
|
-
label: string;
|
|
2056
|
-
render: () => React__default.ReactNode;
|
|
2057
|
-
/** Filter type - 'multi' filters get more horizontal space */
|
|
2058
|
-
type?: 'single' | 'multi';
|
|
2059
|
-
}
|
|
2060
|
-
interface TableFiltersProps {
|
|
2061
|
-
search?: string;
|
|
2062
|
-
onSearchChange?: (value: string) => void;
|
|
2063
|
-
searchPlaceholder?: string;
|
|
2064
|
-
filters?: FilterOption[];
|
|
2065
|
-
activeFilterCount?: number;
|
|
2066
|
-
onClearFilters?: () => void;
|
|
2067
|
-
className?: string;
|
|
2068
|
-
children?: React__default.ReactNode;
|
|
2069
|
-
}
|
|
2070
|
-
/**
|
|
2071
|
-
* TableFilters - Compact filter controls for data tables
|
|
2072
|
-
*
|
|
2073
|
-
* Features:
|
|
2074
|
-
* - Search input
|
|
2075
|
-
* - Popover filter menu with badge showing active count
|
|
2076
|
-
* - Clear all filters button
|
|
2077
|
-
* - Custom filter components via render prop
|
|
2078
|
-
* - Children slot for additional action buttons
|
|
2079
|
-
*/
|
|
2080
|
-
declare function TableFilters({ search, onSearchChange, searchPlaceholder, filters, activeFilterCount, onClearFilters, className, children, }: TableFiltersProps): react_jsx_runtime.JSX.Element;
|
|
2081
|
-
|
|
2082
|
-
interface MultiSelectOption<T extends string = string> {
|
|
2083
|
-
/** Unique value for this option */
|
|
2084
|
-
value: T;
|
|
2085
|
-
/** Display label */
|
|
2086
|
-
label: string;
|
|
2087
|
-
/** Optional custom render for the label (e.g., with icon/flag) */
|
|
2088
|
-
render?: () => React__default.ReactNode;
|
|
2089
|
-
}
|
|
2090
|
-
interface MultiSelectFilterProps<T extends string = string> {
|
|
2091
|
-
/** Available options to select from */
|
|
2092
|
-
options: MultiSelectOption<T>[];
|
|
2093
|
-
/** Currently selected values */
|
|
2094
|
-
selected: Set<T>;
|
|
2095
|
-
/** Called when selection changes */
|
|
2096
|
-
onChange: (selected: Set<T>) => void;
|
|
2097
|
-
/** Maximum height before scrolling (default: 200px) */
|
|
2098
|
-
maxHeight?: number;
|
|
2099
|
-
/** Number of columns for grid layout (default: 2) */
|
|
2100
|
-
columns?: 1 | 2 | 3;
|
|
2101
|
-
/** Show select all / clear buttons */
|
|
2102
|
-
showBulkActions?: boolean;
|
|
2103
|
-
/** Optional className for the container */
|
|
2104
|
-
className?: string;
|
|
2105
|
-
}
|
|
2106
|
-
/**
|
|
2107
|
-
* MultiSelectFilter - A checkbox-based multi-select filter component
|
|
2108
|
-
*
|
|
2109
|
-
* Designed to work with the TableFilters popover for filtering data tables.
|
|
2110
|
-
* Supports custom rendering per option (for flags, badges, icons, etc.)
|
|
2111
|
-
*/
|
|
2112
|
-
declare function MultiSelectFilter<T extends string = string>({ options, selected, onChange, maxHeight, columns, showBulkActions, className, }: MultiSelectFilterProps<T>): react_jsx_runtime.JSX.Element;
|
|
2113
|
-
|
|
2114
|
-
export { ActivityLED, type ActivityLEDProps, Alert, AlertDescription, AlertTitle, type ApiReadinessOptions, type ApiReadinessResult, AppLayout, type AppLayoutProps, Badge, type BadgeProps, BatchActionsBar, type BatchActionsBarProps, Button, type ButtonProps, Card, CardContent, CardHeader, type CardProps, CardSkeleton, CardTitle, type CellProps, Checkbox, CodeSnippet, CodeViewer, type CodeViewerProps, ColorPalette, type ColumnConfig$1 as ColumnConfig, type ColumnConfigCompat, type ColumnDef, type ColumnOrderConfig, type ColumnSizeConfig, ColumnVisibility, type ColumnVisibility$1 as ColumnVisibilityConfig, type ColumnVisibilityState, type ColumnWidth, CompactStat, type CompactStatProps, CompactThemeToggle, ConfirmDialog, type ConfirmDialogVariant, ConnectionIndicator, ConnectionLostOverlay, ConnectionOverlay, ConnectionStatus$1 as ConnectionStatus, ConnectionStatusBanner, ContextMenu, ContextMenuItem, type ContextMenuItemProps, type ContextMenuPosition, type ContextMenuProps, ContextMenuSeparator, ContextMenuSubmenu, type ContextMenuSubmenuProps, type CustomFieldProps, DashboardStats, type DashboardStatsProps, type DataColumn, DataTable, DataTablePage, type DataTablePageProps, type DataTableProps, DeviceIcon, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DogEarBadge, type DragState, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStates, type ExternalPaginationState, type FilterOption$1 as FilterOption, type FormState, type HeaderCellProps, HelpTooltip, Input, type InputProps, Label, LiveLogsSettings, type LiveLogsSettingsProps, LoadingState, LogArchivesSettings, type LogArchivesSettingsProps, type LogEntry, type LogFile, LogStats, type LogStatsProps, LogViewer, type LogViewerProps, LoginPage, LogsPage, type LogsPageProps, LogsSettings, type LogsSettingsProps, MarkdownCard, MarkdownScrollArea, MarkdownViewer, MultiSelectFilter, type MultiSelectFilterProps, type MultiSelectOption, type NavItem, NetworkInterfaceSelect, NoSearchResults, NoSimulatorsRunning, NoTemplatesFound, Pagination, PaginationControls, type PaginationControlsProps, Popover, PopoverContent, PopoverTrigger, Progress, ProtectedRoute, RealtimeDataTable, type RealtimeDataTableProps, type ResizableColumnResult, ResizableDialog, RestartBanner, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SettingDefinition, type SettingsCategory, type SettingsCategoryComponentProps, SettingsFramework, type SettingsFrameworkProps, SettingsPage, type SettingsPageProps, Sidebar, SidebarAppLayout, type SidebarAppLayoutProps, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarLayout, type SidebarLayoutProps, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, type SidebarNavGroup, type SidebarNavItem, SidebarProvider, SidebarRail, SidebarSection, SidebarSeparator, SidebarTrigger, Slider, type SocketIOActions, type SocketIOConfig, type SocketIOState, Sparkline, type SparklineProps, type StatCard, Switch, TAG_COLORS, Table, TableBody, TableCaption, TableCell, type FilterOption as TableFilterOption, TableFilters, type TableFiltersProps, TableFooter, TableHead, TableHeader, TableRow, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, TestModeIndicator, Textarea, type TextareaProps, type Theme, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TruncatedText, UpdateNotification, type UseFormStateOptions, activityStyles, apiRequest, authHandler, badgeVariants, buttonStyles, buttonVariants, cardStyles, checkApiReadiness, cn, createSettingsCategory, defaultSettingsCategories, emptyStateStyles, formatBytes, formatDateTime, formatDuration, formatDurationMs, formatNumber, formatRelativeTime, formatShortRelativeTime, formatTimeAgo, getCSSVariables, getNextAvailableColor, getNextTagColor, getRandomTagColor, getTagClassName, getTagColor, socketManager, statusStyles, theme, timeAgo, useApiReadiness, useColumnDragDrop, useColumnOrder, useColumnVisibility, useConfirmDialog, useConnectionStatus, useDebounce, useFormState, usePagination, useResizableColumns, useSidebar, useSocketIO, useTheme, waitForApiReady };
|
|
1667
|
+
export { ActivityLED, type ActivityLEDProps, Alert, AlertDescription, AlertTitle, type ApiReadinessOptions, type ApiReadinessResult, AppLayout, type AppLayoutProps, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardHeader, type CardProps, CardSkeleton, CardTitle, Checkbox, CodeSnippet, CodeViewer, type CodeViewerProps, ColorPalette, CompactStat, type CompactStatProps, CompactThemeToggle, ConfirmDialog, type ConfirmDialogVariant, ConnectionIndicator, ConnectionLostOverlay, ConnectionOverlay, ConnectionStatus$1 as ConnectionStatus, ConnectionStatusBanner, ContextMenu, ContextMenuItem, type ContextMenuItemProps, type ContextMenuPosition, type ContextMenuProps, ContextMenuSeparator, ContextMenuSubmenu, type ContextMenuSubmenuProps, type CustomFieldProps, DashboardStats, type DashboardStatsProps, type DataColumn, DeviceIcon, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DogEarBadge, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStates, type FormState, HelpTooltip, Input, type InputProps, Label, LiveLogsSettings, type LiveLogsSettingsProps, LoadingState, LogArchivesSettings, type LogArchivesSettingsProps, type LogEntry, type LogFile, LogStats, type LogStatsProps, LogViewer, type LogViewerProps, LoginPage, LogsPage, type LogsPageProps, LogsSettings, type LogsSettingsProps, MarkdownCard, MarkdownScrollArea, MarkdownViewer, type NavItem, NetworkInterfaceSelect, NoSearchResults, NoSimulatorsRunning, NoTemplatesFound, Popover, PopoverContent, PopoverTrigger, Progress, ProtectedRoute, RealtimeDataTable, type RealtimeDataTableProps, ResizableDialog, RestartBanner, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SettingDefinition, type SettingsCategory, type SettingsCategoryComponentProps, SettingsFramework, type SettingsFrameworkProps, SettingsPage, type SettingsPageProps, Sidebar, SidebarAppLayout, type SidebarAppLayoutProps, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarLayout, type SidebarLayoutProps, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, type SidebarNavGroup, type SidebarNavItem, SidebarProvider, SidebarRail, SidebarSection, SidebarSeparator, SidebarTrigger, Slider, type SocketIOActions, type SocketIOConfig, type SocketIOState, Sparkline, type SparklineProps, type StatCard, Switch, TAG_COLORS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, TestModeIndicator, Textarea, type TextareaProps, type Theme, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TruncatedText, UpdateNotification, type UseFormStateOptions, activityStyles, apiRequest, authHandler, badgeVariants, buttonStyles, buttonVariants, cardStyles, checkApiReadiness, cn, createSettingsCategory, defaultSettingsCategories, emptyStateStyles, formatBytes, formatDateTime, formatDuration, formatDurationMs, formatNumber, formatRelativeTime, formatShortRelativeTime, formatTimeAgo, getCSSVariables, getNextAvailableColor, getNextTagColor, getRandomTagColor, getTagClassName, getTagColor, socketManager, statusStyles, theme, timeAgo, useApiReadiness, useConfirmDialog, useConnectionStatus, useDebounce, useFormState, useSidebar, useSocketIO, useTheme, waitForApiReady };
|