Config
ActiveGridMenuConfig, ActiveGridUIConfig, GridAutoSizeConfig, GridBehaviorConfig and 11 more: generated from the source of active-grid.
Exported by @workspace/. Generated from the package source; part of the index of every export.
Types#
interface ActiveGridUIConfig {
contextMenu: ActiveGridMenuConfig;
headerMenu: ActiveGridMenuConfig;
linkComponent?: GridLinkComponent;
}The measurement settings of automatic column width determination. Passed to the measurement layer AS A WHOLE (utils/); the fields only have meaning together, and the type therefore demands them complete.
Three fields take no part in the calculation: icon, gap and lock. The measurement reserves no space for elements that are not rendered, and the slot width is absolutely positioned and does not influence the content flow. They are therefore NOT a knob that changes anything; the grounds are at measure. Removing them is a breaking type change and thereby a decision for a major.
interface GridAutoSizeConfig {
colPadding: number;
iconWidth: number;
menuWidth: number;
gap: number;
lockIconWidth: number;
headerInnerGap: number;
menuAreaGap: number;
safetyBuffer: number;
sampleSize: number;
}interface GridBehaviorConfig {
debounceMs: number;
virtualizationThreshold: number;
overscan: number;
maxPinnedRows: number;
enableFuzzyFilter: boolean;
}interface GridColumnConfig {
minWidth: number;
maxWidth: number;
autoSizeConfig: GridAutoSizeConfig;
}interface GridConfig {
layout: GridLayoutConfig;
pagination: GridPaginationDefaults;
behavior: GridBehaviorConfig;
columns: GridColumnConfig;
filtering: GridFilteringConfig;
storage: GridStorageConfig;
export: GridExportConfig;
ui: ActiveGridUIConfig;
features: GridFeaturesConfig;
}interface GridExportConfig {
defaultFilename: string;
csvSeparator: CsvDelimiter;
fonts?: GridExportFonts;
}interface GridFeaturesConfig {
enableColumnReordering: boolean;
}interface GridFilteringConfig {
operatorPresets: Record<string, FilterOperator[]>;
}interface GridLayoutConfig {
rowHeight: number;
headerHeight: number;
groupHeaderHeight: number;
filterBarHeight: number;
}A host's own link, for the grid's internal links (Link): a router link such as next/, so navigation stays client-side. Without one the grid renders a plain <a href> and the browser navigates.
type GridLinkComponent = React.ComponentType<GridLinkProps>;What a host link component receives from Grid's caller: the destination, the grid's class for the link and its text. The grid passes nothing else.
interface GridLinkProps {
href: string;
className?: string;
children: React.ReactNode;
}interface GridPaginationDefaults {
pageSize: number;
pageSizeOptions: number[];
}interface GridStorageConfig {
keyPrefix: string;
version: number;
}type PartialGridConfig = {
[K in keyof GridConfig]?: Partial<GridConfig[K]>;
};