/* * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ import { TableProps } from "./types.js"; import "client-only"; import * as react_jsx_runtime188 from "react/jsx-runtime"; import { Key } from "@react-types/shared"; //#region src/components/table/index.d.ts /** * Table - Configurable data table with sorting, selection, and row actions * * Supports data-driven mode with TanStack column definitions or static mode with subcomponents. * * @param props - {@link TableProps} * @param props.children - Custom children for static mode. * @param props.columns - Column definitions for data-driven mode. * @param props.data - Data array for data-driven mode. * @param props.showCheckbox - Whether to show selection checkboxes. * @param props.rowSelection - Initial row selection state. * @param props.kebabPosition - Position of row action menu. * @param props.persistRowKebabMenu - Keep row kebab menu visible. * @param props.persistHeaderKebabMenu - Keep header kebab menu visible. * @param props.persistNumerals - Keep row numerals visible. * @param props.enableSorting - Enable column sorting. * @param props.enableColumnReordering - Enable column reordering. * @param props.enableRowActions - Enable row action menu. * @param props.manualSorting - Use server-side sorting. * @param props.onSortChange - Callback when sort changes. * @param props.onColumnReorderChange - Callback when column order changes. * @param props.onRowSelectionChange - Callback when row selection changes. * @param props.fullWidth - Whether table uses full width. * @returns The rendered Table component. * * @example * ```tsx *