ds-smart-ui
Version:
Smart UI v1.0.5 — A production-ready React component library by PT Praisindo Teknologi. Covers inputs, navigation, data display, feedback, and layout with a unified design system, semantic Typography tokens, and full Storybook documentation.
165 lines (164 loc) • 5 kB
TypeScript
import { MRT_Column, MRT_Row } from 'material-react-table';
import { DataTableProps } from '../types/datatable-types';
export declare const useTableDefaults: <T extends Record<string, unknown>>(props: DataTableProps<T> & {
rows: T[];
columns: any[];
}) => {
enableColumnVirtualization: boolean;
enableRowVirtualization: boolean;
variantDetailButton?: import('../../../../types/button-types').ButtonVariantTypes;
colorDetailButton?: import('../../../../types/button-types').ButtonColorTypes;
roundedDetailButton?: import('../../../../types/button-types').ButtonRoundedTypes;
rowNumberHeader?: string;
isLoading?: boolean;
showProgressBars?: boolean;
emptyState?: import('../types/datatable-types').EmptyStateProps;
retryButtonProps?: import('../types/datatable-types').RetryButtonProps;
initialState: {
columnPinning: {
left: string[];
right: string[];
};
};
enableColumnPinning: boolean | undefined;
enableRowSelection: boolean | ((row: MRT_Row<T>) => boolean) | undefined;
enableRowActions: boolean | undefined;
muiSelectCheckboxProps: () => {
sx: {
display: string;
};
};
muiSelectAllCheckboxProps: () => {
sx: {
display: string;
};
};
displayColumnDefOptions: {
"mrt-row-actions": {
header: string;
size: number;
};
"mrt-row-select": {
Cell: ({ row }: {
row: MRT_Row<T>;
}) => import("react/jsx-runtime").JSX.Element;
Header: ({ table }: {
table: any;
}) => import("react/jsx-runtime").JSX.Element;
size: number;
};
};
renderRowActions: ({ row }: {
row: MRT_Row<T>;
}) => import("react/jsx-runtime").JSX.Element;
enableTopToolbar: boolean;
paginationDisplayMode: "pages";
enableSorting: boolean;
enablePagination: boolean;
manualPagination: boolean;
manualFiltering: boolean;
enableStickyHeader: boolean;
muiFilterTextFieldProps: {
sx: {
"& .MuiInputBase-input": {
fontSize: string;
padding: string;
};
"& .MuiInputLabel-root": {
fontSize: string;
};
"& .MuiFormHelperText-root": {
fontSize: string;
fontFamily: string;
marginTop: string;
};
};
};
muiTableHeadCellProps: ({ column, table, }: {
column: MRT_Column<T>;
table: unknown;
}) => {
id: string;
sx: {
fontSize: string;
fontFamily: string;
color: string;
fontWeight: string;
backgroundColor: string;
paddingY: string;
"& .Mui-TableHeadCell-Content": {
justifyContent: string;
};
"& .Mui-TableHeadCell-Content-Labels": {
flex: string | number;
justifyContent: string;
paddingY: string;
gap: number;
};
"& .Mui-TableHeadCell-Content-Actions": {
"& > button": {
marginX: string;
};
};
"& .MuiFormHelperText-root": {
textAlign: string;
marginX: number;
color: string;
fontSize: number;
};
boxShadow: string | undefined;
borderBottom: string;
"&[data-pinned='true']:before": {
boxShadow: string;
};
};
};
muiTableBodyRowProps: ({ row }: {
row: MRT_Row<T>;
}) => {
id: string;
};
muiTableBodyCellProps: ({ column, row, }: {
column: MRT_Column<T>;
row: MRT_Row<T>;
}) => {
id: string;
sx: {
fontSize: string;
fontFamily: string;
color: string;
fontWeight: string;
backgroundColor: string;
boxShadow: string | undefined;
"&[data-pinned='true']:before": {
boxShadow: string;
};
};
};
muiTableFooterCellProps: ({ column }: {
column: MRT_Column<T>;
}) => {
sx: {
fontSize: string;
fontFamily: string;
color: string;
fontWeight: string;
backgroundColor: string;
paddingY: string;
borderTop: string;
borderBottom: string;
"&[data-pinned='true']:before": {
boxShadow: string;
};
};
};
muiTablePaperProps: {
sx: {
boxShadow: string;
borderRadius: number;
};
};
renderBottomToolbar: (({ table }: {
table: any;
}) => import("react/jsx-runtime").JSX.Element) | undefined;
};