// Copyright (c) Meta Platforms, Inc. and affiliates. /** * @file index.ts * @input Imports from Table component files * @output Exports all Table components, types, and utilities * @position Component entry point; re-exported by /packages/core/src/index.ts * * SYNC: When modified, update this header and /packages/core/src/Table/Table.doc.mjs */ import type { IconName } from "../Icon/index.js"; import type { TableRowStatusColor } from "./plugins/rowStatus/useTableRowStatus.js"; /** Stable custom row-status marker contract. */ export interface TableRowStatus { color: TableRowStatusColor | (string & {}); icon?: IconName; label: string; } /** Semantic row outcome resolved through the active theme. */ export interface TableSemanticRowStatus { status: 'success' | 'warning' | 'error'; color?: never; icon?: never; label: string; } export { Table } from "./Table.js"; export { TableRow } from "./TableRow.js"; export { TableCell } from "./TableCell.js"; export { TableHeaderCell } from "./TableHeaderCell.js"; export { TableHeader } from "./TableHeader.js"; export { TableBody } from "./TableBody.js"; export { TableFooter } from "./TableFooter.js"; export { TableContext } from "./TableContext.js"; export { useTableSelection } from "./plugins/selection/index.js"; export { useTableSelectionState } from "./plugins/selection/index.js"; export { useTableSortable } from "./plugins/sortable/index.js"; export { useTableSortableState } from "./plugins/sortable/index.js"; export { useTablePagination, paginateData } from "./plugins/pagination/index.js"; export { useTableColumnSettings } from "./plugins/columnSettings/index.js"; export { useTableColumnSettingsState } from "./plugins/columnSettings/index.js"; export { useTableColumnResize } from "./plugins/columnResize/index.js"; export { useTableStickyColumns } from "./plugins/stickyColumns/index.js"; export { useTableGroupedRows } from "./plugins/groupedRows/index.js"; export { useTableRowIndex } from "./plugins/rowIndex/index.js"; export { useTableRowStatus } from "./plugins/rowStatus/index.js"; export { useTableRowExpansion } from "./plugins/rowExpansion/index.js"; export { useTableTreeData, useTableTreeState } from "./plugins/tree/index.js"; export { resolveContextActions } from "./tableContextMenu.js"; export { useTableFiltering, useTableFilterState, toSearchFilters } from "./plugins/filtering/index.js"; export { useBaseTablePlugins } from "./useBaseTablePlugins.js"; export { proportional, pixel, generateColumns, resolveColumnWidths, DEFAULT_MIN_COLUMN_WIDTH } from "./columnUtils.js"; export type { TableColumn, TableColumnAlign, TableVerticalAlign, ColumnWidth, ProportionalWidth, PixelWidth, TablePlugin, TableContextAction, TableContextActions, TableRenderProps, HeaderRowRenderProps, HeaderCellRenderProps, BodyRowRenderProps, BodyCellRenderProps, ScrollWrapperRenderProps, BaseTableProps } from "./types.js"; export type { TableProps, TableDensity, TableDividers, TableTextOverflow } from "./Table.js"; export type { TableRowProps } from "./TableRow.js"; export type { TableCellProps } from "./TableCell.js"; export type { TableHeaderCellProps } from "./TableHeaderCell.js"; export type { TableHeaderProps } from "./TableHeader.js"; export type { TableBodyProps } from "./TableBody.js"; export type { TableFooterProps } from "./TableFooter.js"; export type { TableContextValue } from "./TableContext.js"; export type { UseTableSelectionConfig } from "./plugins/selection/index.js"; export type { UseTableSelectionStateConfig, UseTableSelectionStateResult } from "./plugins/selection/index.js"; export type { UseTableSortableConfig, UseTableSortableStateConfig, UseTableSortableStateResult, TableSortComparator, TableSortDirection, TableSortEntry, TableSortState } from "./plugins/sortable/index.js"; export type { TableSortableColumnConfig } from "./types.js"; export type { UseTablePaginationConfig } from "./plugins/pagination/index.js"; export type { UseTableColumnSettingsConfig, ColumnSettingsOption } from "./plugins/columnSettings/index.js"; export type { UseTableColumnSettingsStateConfig, UseTableColumnSettingsStateReturn } from "./plugins/columnSettings/index.js"; export type { UseTableColumnResizeConfig } from "./plugins/columnResize/index.js"; export type { UseTableStickyColumnsConfig } from "./plugins/stickyColumns/index.js"; export type { UseTableRowExpansionConfig } from "./plugins/rowExpansion/index.js"; export type { UseTableRowIndexConfig } from "./plugins/rowIndex/index.js"; export type { UseTableGroupedRowsConfig, UseTableGroupedRowsResult } from "./plugins/groupedRows/index.js"; export type { UseTableRowStatusConfig } from "./plugins/rowStatus/index.js"; export type { TableTreeRowMeta, UseTableTreeDataConfig, UseTableTreeStateConfig, UseTableTreeStateResult } from "./plugins/tree/index.js"; export type { UseTableFilteringConfig, TableFilterState, TableFilterVariant, TableFilterValue, TableFilterFieldRef } from "./plugins/filtering/index.js";