@atlaskit/dynamic-table
Version:
A dynamic table displays rows of data with built-in pagination, sorting, and re-ordering functionality.
49 lines (48 loc) • 1.74 kB
TypeScript
/**
* @jsxRuntime classic
* @jsx jsx
*/
import React from 'react';
import type { SpinnerSizeType } from '../types';
interface LoadingContainerAdvancedProps {
children?: React.ReactNode;
isLoading?: boolean;
spinnerSize?: SpinnerSizeType;
contentsOpacity: number | string;
targetRef?: () => HTMLTableSectionElement | null;
testId?: string;
loadingLabel?: string;
}
export default class LoadingContainerAdvanced extends React.Component<LoadingContainerAdvancedProps, {}> {
spinnerRef: React.RefObject<HTMLDivElement>;
containerRef: React.RefObject<HTMLDivElement>;
static defaultProps: {
isLoading: boolean;
spinnerSize: string;
contentsOpacity: 'var(--ds-opacity-loading)';
loadingLabel: string;
};
componentDidMount: () => void;
UNSAFE_componentWillReceiveProps: (nextProps: LoadingContainerAdvancedProps) => void;
componentDidUpdate: () => void;
componentWillUnmount: () => void;
getTargetNode: (nextProps?: LoadingContainerAdvancedProps) => HTMLDivElement | null;
hasTargetNode: (nextProps?: LoadingContainerAdvancedProps) => boolean;
isVerticallyVisible: (elementRect: {
top: number;
bottom: number;
}, viewportHeight: number) => boolean;
isFullyVerticallyVisible: (elementRect: {
top: number;
bottom: number;
}, viewportHeight: number) => boolean;
attachListeners(): void;
detachListeners(): void;
handleResize: () => void;
handleScroll: () => void;
translateSpinner: (spinnerNode: HTMLElement, transformY: number, isFixed?: boolean) => void;
updateTargetAppearance: () => void;
updateSpinnerPosition(): void;
render(): React.JSX.Element;
}
export {};