UNPKG

goobs-frontend

Version:

A comprehensive React-based libary for building modern web applications

49 lines 2.51 kB
import { default as React } from 'react'; export interface WorkspaceFilterShellPagination { /** 1-indexed current page. */ page: number; /** Items per page. */ pageSize: number; /** Total number of items across ALL pages (pre-slice). */ totalItems: number; /** Called with the 1-indexed page to move to. */ onPageChange: (page: number) => void; } export interface WorkspaceFilterShellProps { /** Metrics summary slot — typically a `<MetricsAccordion/>`. Omit to hide. */ metrics?: React.ReactNode; /** Section-navigation slot — typically a `<Tabs appearance="chips"/>`. Sits * directly above the sub-nav/filter with a deliberately tight gap. Omit to hide. */ nav?: React.ReactNode; /** Secondary / sub-navigation slot — a second `<Tabs appearance="chips"/>` * row rendered directly beneath `nav` (e.g. Monitoring / Polling within a * section). Optional, so it changes and disappears per active tab. */ subNav?: React.ReactNode; /** Filter slot — typically a `<FilterSection surface/>`. Rendered as the head * of the content region so it integrates with the cards below. Omit to hide. */ filter?: React.ReactNode; /** Card / list / grid content area. */ children?: React.ReactNode; /** Built-in pagination, rendered BELOW the content (the cards). Give it the * 1-indexed page + page size + total item count and it renders the * Prev / numbered / Next control, hidden automatically when there is only one * page. You still slice your own data * (`items.slice((page - 1) * pageSize, page * pageSize)`) — the shell owns * the control, you own the data. */ pagination?: WorkspaceFilterShellPagination; /** Visual theme — surfaced as `data-theme` for CSS overrides. Default * `'sacred'`. (The shell has no themed chrome of its own today; the attribute * is forwarded so future themed containment can hook in without an API change.) */ styles?: { theme?: 'sacred' | 'light' | 'dark'; }; /** Escape hatch — extra className merged onto the shell root. */ className?: string; /** Escape hatch — inline style merged onto the shell root. */ style?: React.CSSProperties; /** Stable test selector — surfaced as `data-workspace-shell-field`. */ dataField?: string; } export declare const WorkspaceFilterShell: React.FC<WorkspaceFilterShellProps>; export default WorkspaceFilterShell; //# sourceMappingURL=index.d.ts.map