@hashicorp/design-system-components
Version:
Helios Design System Components
71 lines (70 loc) • 3.04 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import { type FocusableElement } from 'tabbable';
import HdsAdvancedTableColumn from './models/column.ts';
import { HdsAdvancedTableHorizontalAlignmentValues } from './types.ts';
import type Owner from '@ember/owner';
import type { HdsAdvancedTableHorizontalAlignment, HdsAdvancedTableScope, HdsAdvancedTableExpandState, HdsAdvancedTableColumnReorderSide } from './types.ts';
import type { HdsAdvancedTableSignature } from './index.ts';
export declare const ALIGNMENTS: HdsAdvancedTableHorizontalAlignment[];
export declare const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;
export interface HdsAdvancedTableThSignature {
Args: {
align?: HdsAdvancedTableHorizontalAlignment;
column?: HdsAdvancedTableColumn;
colspan?: number;
depth?: number;
hasExpandAllButton?: boolean;
hasReorderableColumns?: HdsAdvancedTableSignature['Args']['hasReorderableColumns'];
hasResizableColumns?: HdsAdvancedTableSignature['Args']['hasResizableColumns'];
hasSelectableRows?: HdsAdvancedTableSignature['Args']['isSelectable'];
isExpanded?: HdsAdvancedTableExpandState;
isExpandable?: boolean;
isStickyColumn?: boolean;
isStickyColumnPinned?: boolean;
newLabel?: string;
parentId?: string;
rowspan?: number;
scope?: HdsAdvancedTableScope;
tooltip?: string;
tableHeight?: number;
didInsertExpandButton?: (button: HTMLButtonElement) => void;
onClickToggle?: () => void;
onColumnResize?: HdsAdvancedTableSignature['Args']['onColumnResize'];
onPinFirstColumn?: () => void;
onReorderDragEnd?: () => void;
onReorderDragStart?: (column: HdsAdvancedTableColumn) => void;
onReorderDrop?: (column: HdsAdvancedTableColumn, side: HdsAdvancedTableColumnReorderSide) => void;
willDestroyExpandButton?: (button: HTMLButtonElement) => void;
};
Blocks: {
default?: [];
};
Element: HTMLDivElement;
}
export default class HdsAdvancedTableTh extends Component<HdsAdvancedTableThSignature> {
private _labelId;
private _element;
private _shouldTrapFocus;
private _reorderHandleElement?;
private _resizeHandleElement?;
constructor(owner: Owner, args: HdsAdvancedTableThSignature['Args']);
get scope(): HdsAdvancedTableScope;
get role(): string;
get align(): HdsAdvancedTableHorizontalAlignment;
get rowspan(): string;
get colspan(): string | undefined;
get paddingLeft(): string | undefined;
get classNames(): string;
handleDragStart(column: HdsAdvancedTableColumn): void;
onFocusTrapDeactivate(): void;
enableFocusTrap(): void;
getInitialFocus(): FocusableElement | undefined;
setElement(element: HTMLDivElement): void;
private _registerReorderHandleElement;
private _registerResizeHandleElement;
private _manageExpandButton;
}