@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
161 lines • 8.24 kB
TypeScript
import { Factory } from '@mantine/core';
import { ColumnDef } from '@tanstack/react-table';
import { ForwardedRef } from 'react';
import { CustomComponentThemeExtend } from '../../utils';
import { TableLayout, TableProps } from './Table.types';
import { TableLayouts } from './layouts/TableLayouts';
import { TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames } from './table-actions';
import { TableActionsListStylesNames } from './table-actions/TableActionsList';
import { TableActionsColumn } from './table-column/TableActionsColumn';
import { TableAccordionColumn, TableCollapsibleColumn, TableCollapsibleColumnStylesNames } from './table-column/TableCollapsibleColumn';
import { TableColumnsSelector, TableColumnsSelectorStylesNames } from './table-columns-selector/TableColumnsSelector';
import { TableDateRangePicker, TableDateRangePickerStylesNames } from './table-date-range-picker/TableDateRangePicker';
import { TableFilter, TableFilterStylesNames } from './table-filter/TableFilter';
import { TableFooter } from './table-footer/TableFooter';
import { TableHeader, TableHeaderStylesNames } from './table-header/TableHeader';
import { TableThStylesNames } from './table-header/Th';
import { TableLastUpdated, TableLastUpdatedStylesNames } from './table-last-updated/TableLastUpdated';
import { TableLoading } from './table-loading/TableLoading';
import { TableNoData } from './table-no-data/TableNoData';
import { TablePagination } from './table-pagination/TablePagination';
import { TablePerPage } from './table-per-page/TablePerPage';
import { TablePredicate, TablePredicateStylesNames } from './table-predicate/TablePredicate';
type TableStylesNames = 'root' | 'table' | 'header' | 'body' | TableHeaderActionsStylesNames | TableActionsListStylesNames | TableActionItemStylesNames | TableCollapsibleColumnStylesNames | TableDateRangePickerStylesNames | TableFilterStylesNames | TableHeaderStylesNames | TableThStylesNames | TableLastUpdatedStylesNames | TablePredicateStylesNames | TableColumnsSelectorStylesNames;
export type PlasmaTableFactory = Factory<{
props: TableProps<unknown>;
ref: HTMLDivElement;
stylesNames: TableStylesNames;
staticComponents: {
AccordionColumn: typeof TableAccordionColumn;
ActionsColumn: typeof TableActionsColumn;
ActionItem: typeof TableActionItem;
CollapsibleColumn: typeof TableCollapsibleColumn;
ColumnsSelector: typeof TableColumnsSelector;
DateRangePicker: typeof TableDateRangePicker;
Filter: typeof TableFilter;
Footer: typeof TableFooter;
Header: typeof TableHeader;
LastUpdated: typeof TableLastUpdated;
Layouts: typeof TableLayouts;
Loading: typeof TableLoading;
NoData: typeof TableNoData;
Pagination: typeof TablePagination;
PerPage: typeof TablePerPage;
Predicate: typeof TablePredicate;
};
}>;
export declare const Table: {
<T>(props: TableProps<T> & {
ref?: ForwardedRef<HTMLDivElement>;
}): import("react/jsx-runtime").JSX.Element;
AccordionColumn: ColumnDef<unknown>;
ActionsColumn: ColumnDef<unknown>;
ActionItem: (<C = "button">(props: import("@mantine/core").PolymorphicComponentProps<C, import("./table-actions").TableActionItemProps>) => React.ReactElement) & Omit<import("react").FunctionComponent<(import("./table-actions").TableActionItemProps & {
component?: any;
} & Omit<Omit<any, "ref">, "component" | keyof import("./table-actions").TableActionItemProps> & {
ref?: any;
renderRoot?: (props: any) => any;
}) | (import("./table-actions").TableActionItemProps & {
component: React.ElementType;
renderRoot?: (props: Record<string, any>) => any;
})>, never> & import("@mantine/core/lib/core/factory/factory").ThemeExtend<{
props: import("./table-actions").TableActionItemProps;
defaultRef: HTMLButtonElement;
defaultComponent: "button";
stylesNames: TableActionItemStylesNames;
compound: true;
}> & import("@mantine/core/lib/core/factory/factory").ComponentClasses<{
props: import("./table-actions").TableActionItemProps;
defaultRef: HTMLButtonElement;
defaultComponent: "button";
stylesNames: TableActionItemStylesNames;
compound: true;
}> & import("@mantine/core/lib/core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
props: import("./table-actions").TableActionItemProps;
defaultRef: HTMLButtonElement;
defaultComponent: "button";
stylesNames: TableActionItemStylesNames;
compound: true;
}>;
CollapsibleColumn: ColumnDef<unknown>;
ColumnsSelector: import("@mantine/core").MantineComponent<{
props: import("./table-columns-selector/TableColumnsSelector").TableColumnsSelectorProps;
ref: HTMLDivElement;
stylesNames: TableColumnsSelectorStylesNames;
compound: true;
}>;
DateRangePicker: import("@mantine/core").MantineComponent<{
props: import("./table-date-range-picker/TableDateRangePicker").TableDateRangePickerProps;
ref: HTMLDivElement;
stylesNames: TableDateRangePickerStylesNames;
compound: true;
}>;
Filter: import("@mantine/core").MantineComponent<{
props: import("./table-filter/TableFilter").TableFilterProps;
ref: HTMLDivElement;
stylesNames: TableFilterStylesNames;
compound: true;
}>;
Footer: import("react").FunctionComponent<import("./table-footer/TableFooter").TableFooterProps>;
Header: import("@mantine/core").MantineComponent<{
props: import("./table-header/TableHeader").TableHeaderProps;
ref: HTMLDivElement;
stylesNames: TableHeaderStylesNames;
compound: true;
}>;
LastUpdated: import("@mantine/core").MantineComponent<{
props: import("./table-last-updated/TableLastUpdated").TableLastUpdatedProps;
ref: HTMLDivElement;
stylesNames: TableLastUpdatedStylesNames;
compound: true;
}>;
Layouts: {
Rows: import("@mantine/core").MantineComponent<{
ref?: never;
props: import("./layouts/row-layout/RowLayout").RowLayoutProps;
stylesNames: "headerRow" | import("./layouts/row-layout/RowLayoutBody").RowLayoutBodyStylesNames;
staticComponents: TableLayout;
}>;
};
Loading: import("react").FunctionComponent<import("@mantine/core").SkeletonProps>;
NoData: import("react").FunctionComponent<import("./table-no-data/TableNoData").TableNoDataProps>;
Pagination: import("react").FunctionComponent<import("./table-pagination/TablePagination.types").TablePaginationProps>;
PerPage: import("react").FunctionComponent<import("./table-per-page/TablePerPage.types").TablePerPageProps> & {
DEFAULT_SIZE: number;
};
Predicate: import("react").FunctionComponent<import("./table-predicate/TablePredicate").TablePredicateProps>;
extend: CustomComponentThemeExtend<{
props: TableProps<unknown>;
ref: HTMLDivElement;
stylesNames: TableStylesNames;
staticComponents: {
AccordionColumn: typeof TableAccordionColumn;
ActionsColumn: typeof TableActionsColumn;
ActionItem: typeof TableActionItem;
CollapsibleColumn: typeof TableCollapsibleColumn;
ColumnsSelector: typeof TableColumnsSelector;
DateRangePicker: typeof TableDateRangePicker;
Filter: typeof TableFilter;
Footer: typeof TableFooter;
Header: typeof TableHeader;
LastUpdated: typeof TableLastUpdated;
Layouts: typeof TableLayouts;
Loading: typeof TableLoading;
NoData: typeof TableNoData;
Pagination: typeof TablePagination;
PerPage: typeof TablePerPage;
Predicate: typeof TablePredicate;
};
}>;
};
export declare const TableComponentsOrder: {
MultiSelectInfo: number;
Actions: number;
Predicate: number;
Filter: number;
DateRangePicker: number;
ColumnsSelector: number;
LayoutControl: number;
};
export {};
//# sourceMappingURL=Table.d.ts.map