@hashicorp/design-system-components
Version:
Helios Design System Components
42 lines (41 loc) • 1.66 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import { type FocusableElement } from 'tabbable';
import type Owner from '@ember/owner';
import { HdsAdvancedTableHorizontalAlignmentValues } from './types.ts';
import type { HdsAdvancedTableHorizontalAlignment, HdsAdvancedTableThSortOrder, HdsAdvancedTableThSortOrderLabels } from './types.ts';
import type { HdsAdvancedTableThButtonSortSignature } from './th-button-sort.ts';
export declare const ALIGNMENTS: string[];
export declare const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;
export interface HdsAdvancedTableThSortSignature {
Args: {
align?: HdsAdvancedTableHorizontalAlignment;
onClickSort?: HdsAdvancedTableThButtonSortSignature['Args']['onClick'];
sortOrder?: HdsAdvancedTableThSortOrder;
tooltip?: string;
rowspan?: number;
colspan?: number;
isStickyColumn?: boolean;
isStickyColumnPinned?: boolean;
};
Blocks: {
default?: [];
};
Element: HTMLDivElement;
}
export default class HdsAdvancedTableThSort extends Component<HdsAdvancedTableThSortSignature> {
private _labelId;
private _element;
private _shouldTrapFocus;
constructor(owner: Owner, args: HdsAdvancedTableThSortSignature['Args']);
get ariaSort(): HdsAdvancedTableThSortOrderLabels;
get align(): HdsAdvancedTableHorizontalAlignment;
get classNames(): string;
onFocusTrapDeactivate(): void;
enableFocusTrap(): void;
getInitialFocus(): FocusableElement | undefined;
setElement(element: HTMLDivElement): void;
}