UNPKG

@atlaskit/renderer

Version:
117 lines (116 loc) 4.6 kB
import React from 'react'; import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model'; import type { OverflowShadowProps } from '@atlaskit/editor-common/ui'; import type { Diff } from '@atlaskit/editor-common/utils'; import { SortOrder } from '@atlaskit/editor-common/types'; import type { RendererAppearance, StickyHeaderConfig } from '../../ui/Renderer/types'; import type { WithSmartCardStorageProps } from '../../ui/SmartCardStorage'; import type { StickyMode } from './table/sticky'; import { OverflowParent } from './table/sticky'; import type { SharedTableProps } from './table/types'; import { TableStickyScrollbar } from './TableStickyScrollbar'; export type TableArrayMapped = { rowNodes: Array<PMNode | null>; rowReact: React.ReactElement; }; export declare const isTableResizingEnabled: (appearance: RendererAppearance) => boolean; export declare const isStickyScrollbarEnabled: (appearance: RendererAppearance) => boolean; export declare const orderChildren: (children: React.ReactElement[], tableNode: PMNode, smartCardStorage: WithSmartCardStorageProps["smartCardStorage"], tableOrderStatus?: TableOrderStatus) => React.ReactElement[]; export declare const hasRowspan: (row: PMNode) => boolean; export declare const getRefTop: (refElement: HTMLElement) => number; export declare const shouldHeaderStick: (scrollTop: number, tableTop: number, tableBottom: number, rowHeight: number) => boolean; export declare const shouldHeaderPinBottom: (scrollTop: number, tableBottom: number, rowHeight: number) => boolean; export declare const addSortableColumn: (rows: React.ReactElement<any>[], tableOrderStatus: TableOrderStatus | undefined, onSorting: (columnIndex: number, sortOrder: SortOrder) => void) => React.ReactElement<any, string | React.JSXElementConstructor<any>>[]; export type TableProps = SharedTableProps & { allowColumnSorting?: boolean; allowTableAlignment?: boolean; allowTableResizing?: boolean; children: React.ReactElement<any> | Array<React.ReactElement<any>>; disableTableOverflowShadow?: boolean; isPresentational?: boolean; rendererAppearance?: RendererAppearance; stickyHeaders?: StickyHeaderConfig; tableNode?: PMNode; }; export declare const isHeaderRowEnabled: (rows: (React.ReactChild | React.ReactFragment | React.ReactPortal)[]) => any; export declare const tableCanBeSticky: (node: PMNode | undefined, children: (React.ReactChild | React.ReactFragment | React.ReactPortal)[]) => any; export interface TableOrderStatus { columnIndex: number; order: SortOrder; } export interface TableState { headerRowHeight: number; stickyMode: StickyMode; wrapperWidth: number; } /** * */ export declare class TableContainer extends React.Component<TableProps & OverflowShadowProps & WithSmartCardStorageProps, TableState> { state: TableState; tableRef: React.RefObject<HTMLTableElement>; stickyHeaderRef: React.RefObject<HTMLElement>; stickyScrollbarRef: React.RefObject<HTMLDivElement>; stickyWrapperRef: React.RefObject<HTMLDivElement>; wrapperRef: React.RefObject<HTMLDivElement>; stickyScrollbar?: TableStickyScrollbar; nextFrame: number | undefined; overflowParent: OverflowParent | null; private resizeObserver; private applyResizerChange; /** * * @example */ componentDidMount(): void; /** * * @param prevProps * @param prevState * @example */ componentDidUpdate(prevProps: TableProps, prevState: TableState): void; componentWillUnmount: () => void; getScrollTop: () => number; updateSticky: () => void; onScroll: () => void; onWrapperScrolled: () => void; /** * */ get pinTop(): number | undefined; /** * */ get shouldAddOverflowParentOffsetTop_DO_NOT_USE(): boolean | null | undefined; /** * */ get stickyTop(): number | undefined; /** * * @example */ render(): React.JSX.Element; private grabFirstRowRef; } type TableProcessorState = { tableOrderStatus?: TableOrderStatus; }; /** * */ export declare class TableProcessor extends React.Component<TableProps & OverflowShadowProps & WithSmartCardStorageProps, TableProcessorState> { state: { tableOrderStatus: undefined; }; /** * * @example */ render(): React.JSX.Element | null; private addSortableColumn; private changeSortOrder; private addNumberColumnIndexes; } declare const _default_1: React.ComponentClass<Diff<any, WithSmartCardStorageProps>>; export default _default_1;