@gravity-ui/uikit
Version:
Gravity UI base styling and components
35 lines (34 loc) • 1.2 kB
TypeScript
import type * as React from 'react';
import type { PopupPlacement } from "../Popup/index.js";
import type { TableColumnConfig } from "../Table/Table.js";
import "./TableColumnSetup.css";
export interface TableColumnSetupItem {
id: string;
title: React.ReactNode;
selected?: boolean;
required?: boolean;
sticky?: TableColumnConfig<unknown>['sticky'];
}
type Item = TableColumnSetupItem;
interface SwitcherProps {
onKeyDown: React.KeyboardEventHandler<HTMLElement>;
onClick: React.MouseEventHandler<HTMLElement>;
}
export interface TableColumnSetupProps {
disabled?: boolean;
/**
* @deprecated Use renderSwitcher instead
*/
switcher?: React.ReactElement | undefined;
renderSwitcher?: (props: SwitcherProps) => React.ReactElement | undefined;
items: Item[];
sortable?: boolean;
onUpdate: (updated: Item[]) => void;
popupWidth?: number | 'fit' | undefined;
popupPlacement?: PopupPlacement;
getItemTitle?: (item: Item) => TableColumnSetupItem['title'];
showStatus?: boolean;
className?: string;
}
export declare const TableColumnSetup: (props: TableColumnSetupProps) => import("react/jsx-runtime").JSX.Element;
export {};