react-ui89
Version:
A collection of React components that mimic a common style of user interfaces from the late 80s and early 90s.
30 lines (29 loc) • 1.01 kB
TypeScript
import React from "react";
import "./Ui89VirtualTable.css";
import "../style/typo.css";
export declare enum Ui89VirtualTablePropsColumnAlign {
left = "left",
right = "right",
center = "center"
}
export interface Ui89VirtualTablePropsColumnRenderHeaderParams<T> {
index: number;
column: Ui89VirtualTablePropsColumn<T>;
}
export interface Ui89VirtualTablePropsColumnRenderBodyParams<T> {
index: number;
row: T;
}
export interface Ui89VirtualTablePropsColumn<T> {
width?: number;
halign?: keyof typeof Ui89VirtualTablePropsColumnAlign;
renderHeader?: (props: Ui89VirtualTablePropsColumnRenderHeaderParams<T>) => React.ReactNode;
renderBody: (props: Ui89VirtualTablePropsColumnRenderBodyParams<T>) => React.ReactNode;
}
export interface Ui89VirtualTableProps<T> {
maxHeight?: string;
rows?: T[];
columns?: Ui89VirtualTablePropsColumn<T>[];
rowHeight?: number;
}
export declare const Ui89VirtualTable: <T>(props: Ui89VirtualTableProps<T>) => JSX.Element;