UNPKG

@hashicorp/design-system-components

Version:
60 lines (59 loc) 2.81 kB
/** * 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, HdsAdvancedTableColumnReorderSide } from './types.ts'; import type { HdsAdvancedTableThButtonSortSignature } from './th-button-sort.ts'; import type { HdsAdvancedTableThSignature } from './th.ts'; import type { HdsAdvancedTableSignature } from './index.ts'; import type HdsAdvancedTableColumn from './models/column.ts'; export declare const ALIGNMENTS: HdsAdvancedTableHorizontalAlignment[]; export declare const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left; export interface HdsAdvancedTableThSortSignature { Args: { column?: HdsAdvancedTableThSignature['Args']['column']; align?: HdsAdvancedTableHorizontalAlignment; hasReorderableColumns?: HdsAdvancedTableSignature['Args']['hasReorderableColumns']; hasResizableColumns?: HdsAdvancedTableSignature['Args']['hasResizableColumns']; hasSelectableRows?: HdsAdvancedTableSignature['Args']['isSelectable']; onClickSort?: HdsAdvancedTableThButtonSortSignature['Args']['onClick']; sortOrder?: HdsAdvancedTableThSortOrder; tooltip?: string; rowspan?: number; colspan?: number; tableHeight?: number; isStickyColumn?: boolean; isStickyColumnPinned?: boolean; onColumnResize?: HdsAdvancedTableSignature['Args']['onColumnResize']; onPinFirstColumn?: () => void; onReorderDragEnd?: () => void; onReorderDragStart?: (column: HdsAdvancedTableColumn) => void; onReorderDrop?: (column: HdsAdvancedTableColumn, side: HdsAdvancedTableColumnReorderSide) => void; }; Blocks: { default?: []; }; Element: HTMLDivElement; } export default class HdsAdvancedTableThSort extends Component<HdsAdvancedTableThSortSignature> { private _labelId; private _element; private _shouldTrapFocus; private _reorderHandleElement?; private _resizeHandleElement?; constructor(owner: Owner, args: HdsAdvancedTableThSortSignature['Args']); get ariaSort(): HdsAdvancedTableThSortOrderLabels; get align(): HdsAdvancedTableHorizontalAlignment; get classNames(): string; handleDragStart(column: HdsAdvancedTableColumn): void; onFocusTrapDeactivate(): void; enableFocusTrap(): void; getInitialFocus(): FocusableElement | undefined; setElement(element: HTMLDivElement): void; private _registerReorderHandleElement; private _registerResizeHandleElement; }