` rows — includes row-level styles and child `` cell styles.
*
* @tokens `--color-border-subtle`, `--color-muted`, `--color-muted-hover`
*/
declare const tableRowVariants: (props?: {
variant?: TableVariant;
density?: TableDensity;
}) => string;
type TableRowVariants = VariantProps;
/**
* CVA variants for the footer `` — applies base styles to child `` cells via child selectors.
*
* @tokens `--color-foreground`, `--color-border`
*/
declare const tableFooterRowVariants: (props?: {
density?: TableDensity;
}) => string;
type TableFooterRowVariants = VariantProps;
/** @deprecated Use `tableHeaderRowVariants` instead. */
declare const tableHeaderCellVariants: typeof tableHeaderRowVariants;
/** @deprecated Use `tableHeaderRowVariants` instead. */
type TableHeaderCellVariants = TableHeaderRowVariants;
/** @deprecated Body cell styles are now part of `tableRowVariants`. */
declare const tableBodyCellVariants: typeof tableRowVariants;
/** @deprecated Body cell styles are now part of `tableRowVariants`. */
type TableBodyCellVariants = TableRowVariants;
/** @deprecated Use `tableFooterRowVariants` instead. */
declare const tableFooterCellVariants: typeof tableFooterRowVariants;
/** @deprecated Use `tableFooterRowVariants` instead. */
type TableFooterCellVariants = TableFooterRowVariants;
/**
* Declarative data table component using native HTML `` semantics.
*
* Define columns via `comColumnDef` with `*comHeaderCellDef` and `*comCellDef`,
* then declare row structure via `comHeaderRowDef` and `comRowDef`.
*
* Accepts either a plain `T[]` or a `ComDataSource` for the data source.
*
* @tokens `--color-background`, `--color-foreground`, `--color-muted`, `--color-muted-foreground`,
* `--color-muted-hover`, `--color-border`, `--color-border-subtle`
*
* @example Basic table
* ```html
*
*
* | Name |
* {{ row.name }} |
*
*
*
* Email |
* {{ row.email }} |
*
*
*
*
*
* ```
*
* @example With DataSource
* ```typescript
* class UserDataSource extends ComDataSource {
* private data = signal([]);
* connect() { return this.data.asReadonly(); }
* disconnect() {}
* setData(users: User[]) { this.data.set(users); }
* }
* ```
* ```html
*
* ...
*
* ```
*/
declare class ComTable {
private readonly destroyRef;
private readonly rowClickRef;
/** The data to render — accepts a plain array or a ComDataSource. */
readonly dataSource: InputSignal>;
/** Track function for `@for`. Defaults to tracking by index. */
readonly trackByFn: InputSignal>;
/** Visual treatment of body rows. */
readonly variant: InputSignal;
/** Row height / cell padding. */
readonly density: InputSignal;
/** Whether the header row sticks on scroll. */
readonly stickyHeader: InputSignalWithTransform;
/** Shows a loading overlay with spinner. */
readonly loading: InputSignalWithTransform;
/** Accessible label for the table element. */
readonly ariaLabel: InputSignal;
/** Additional CSS classes to merge onto the host element. */
readonly userClass: InputSignal;
/** Additional CSS classes to merge onto the container ``. */
readonly containerClass: InputSignal ;
/** Additional CSS classes to merge onto the `` element. */
readonly tableClass: InputSignal;
/** Additional CSS classes to merge onto the `` element. */
readonly theadClass: InputSignal;
/** Visual treatment of the header — `'muted'` adds a filled background. */
readonly headerVariant: InputSignal;
/** @internal All column definitions projected into the table. */
readonly columnDefs: Signal;
/** @internal Header row definition. */
readonly headerRowDef: Signal;
/** @internal Body row definition. */
readonly rowDef: Signal;
/** @internal Optional footer row definition. */
readonly footerRowDef: Signal;
/** @internal Optional no-data row template. */
readonly noDataRow: Signal;
/** @internal Map of column name → column definition for O(1) lookup. */
protected readonly columnDefMap: Signal | |