@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
37 lines (36 loc) • 1.7 kB
TypeScript
import { ReactNode, PropsWithChildren, ForwardRefExoticComponent, RefAttributes, DetailedHTMLProps, HTMLAttributes } from 'react';
import { Density } from './hooks/useTableMeasures';
import useTableMotion from './hooks/useTableMotion';
export declare type Items = object[];
export declare type ReturnedData = {
data: unknown | object;
rowHeight: number;
density: Density;
motion: ReturnType<typeof useTableMotion>;
};
export declare type Column = {
id?: string;
title?: string | Element | Function;
width?: number | string;
sortable?: boolean;
cellRenderer?: (data: ReturnedData) => React.ReactNode;
extended?: boolean;
condensed?: string[];
};
export declare type E2ETestable<T = string> = {
testId?: T;
};
export interface HasMotion {
motion?: ReturnType<typeof useTableMotion>;
}
/** Shorthand for RefForwardingComponent */
export declare type RFC<T, P = {}> = React.RefForwardingComponent<T, P>;
/** Defines a exported foward ref with composites */
export declare type ComposableWithRef<Ref = HTMLElement, Props = PropsWithChildren<{}>, Composites = {}> = ForwardRefExoticComponent<Props & RefAttributes<Ref>> & Partial<Composites>;
/** Type with children that receives render-props */
export declare type RenderProps<P = {}, T = Record<string, unknown>> = P & {
children?: (data: T) => ReactNode;
};
export declare type NativeTableSection = DetailedHTMLProps<HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>;
export declare type NativeTr = DetailedHTMLProps<HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>;
export declare type NativeTable = DetailedHTMLProps<HTMLAttributes<HTMLTableElement>, HTMLTableElement>;