UNPKG

@hashicorp/design-system-components

Version:
71 lines (70 loc) 3.04 kB
/** * 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; }