@hashicorp/design-system-components
Version:
Helios Design System Components
55 lines (54 loc) • 2.42 kB
TypeScript
/**
* Copyright IBM Corp. 2021, 2025
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import type { HdsAdvancedTableCell, HdsAdvancedTableScope, HdsAdvancedTableThSortOrder } from './types.ts';
import type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';
import type { HdsAdvancedTableSignature } from './index';
import type { HdsCompositeSignature } from '../composite/index';
import type { HdsAdvancedTableThSelectableSignature } from './th-selectable';
type HdsCompositeDefaultBlock = HdsCompositeSignature['Blocks']['default'][0];
export interface BaseHdsAdvancedTableTrSignature<T> {
Args: {
columnOrder?: HdsAdvancedTableSignature['Args']['columnOrder'];
compositeGroup?: HdsCompositeDefaultBlock['group'];
compositeItem?: HdsCompositeDefaultBlock['item'];
displayRow?: boolean;
selectableColumnKey?: HdsAdvancedTableSignature['Args']['selectableColumnKey'];
isCompositeItemDisabled?: boolean;
isLastRow?: boolean;
isSelectable?: boolean;
isSelected?: boolean;
isParentRow?: boolean;
hasReorderableColumns?: HdsAdvancedTableSignature['Args']['hasReorderableColumns'];
data?: T;
selectionAriaLabelSuffix?: string;
selectionKey?: string;
selectionScope?: HdsAdvancedTableScope;
sortBySelectedOrder?: HdsAdvancedTableThSortOrder;
depth?: number;
didInsert?: (checkbox: HdsFormCheckboxBaseSignature['Element'], selectionKey?: string) => void;
onSelectionChange?: (checkbox?: HdsFormCheckboxBaseSignature['Element'], selectionKey?: string) => void;
willDestroy?: () => void;
onClickSortBySelected?: HdsAdvancedTableThSelectableSignature['Args']['onClickSortBySelected'];
hasStickyColumn?: boolean;
isStickyColumnPinned?: boolean;
};
Blocks: {
default?: [
{
orderedCells?: HdsAdvancedTableCell<T>[];
}
];
};
Element: HTMLDivElement;
}
export type HdsAdvancedTableTrSignature<T> = BaseHdsAdvancedTableTrSignature<T>;
export default class HdsAdvancedTableTr<T> extends Component<HdsAdvancedTableTrSignature<T>> {
get selectionKey(): string | undefined;
get classNames(): string;
get cells(): HdsAdvancedTableCell<T>[];
get orderedCells(): HdsAdvancedTableCell<T>[] | undefined;
}
export {};