@ui5/webcomponents-react
Version:
React Wrapper for UI5 Web Components and additional components
46 lines (45 loc) • 1.75 kB
TypeScript
import type { VirtualItem, Virtualizer } from '@tanstack/react-virtual';
import type { AriaAttributes, CSSProperties, DragEventHandler, KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react';
import type { ColumnType } from '../types/ColumnType.js';
import type { DivWithCustomScrollProp } from '../types/index.js';
export interface ColumnHeaderProps {
visibleColumnIndex: number;
onSort?: (e: CustomEvent<{
column: unknown;
sortDirection: string;
}>) => void;
onGroupBy?: (e: CustomEvent<{
column: unknown;
isGrouped: boolean;
}>) => void;
onDragStart: DragEventHandler<HTMLDivElement>;
onDragOver: DragEventHandler<HTMLDivElement>;
onDrop: DragEventHandler<HTMLDivElement>;
onDragEnter: DragEventHandler<HTMLDivElement>;
onDragEnd: DragEventHandler<HTMLDivElement>;
dragOver: boolean;
isDraggable: boolean;
headerTooltip: string;
virtualColumn: VirtualItem<HTMLDivElement>;
columnVirtualizer: Virtualizer<DivWithCustomScrollProp, Element>;
isRtl: boolean;
children: ReactNode | ReactNode[];
columnId?: string;
showVerticalEndBorder: boolean;
id: string;
onClick: MouseEventHandler<HTMLDivElement> | undefined;
onKeyDown?: KeyboardEventHandler<HTMLDivElement> | undefined;
onKeyUp?: KeyboardEventHandler<HTMLDivElement> | undefined;
className: string;
style: CSSProperties;
column: ColumnType;
role: string;
isFiltered?: boolean;
title?: string;
['aria-sort']?: AriaAttributes['aria-sort'];
['aria-label']?: AriaAttributes['aria-label'];
}
export declare const ColumnHeader: {
(props: ColumnHeaderProps): import("react/jsx-runtime").JSX.Element;
displayName: string;
};