UNPKG

@hashicorp/design-system-components

Version:
53 lines (52 loc) 2.41 kB
/** * Copyright IBM Corp. 2021, 2025 * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import type { HdsDropdownSignature } from '../dropdown/index'; import type { HdsDropdownToggleIconSignature } from '../dropdown/toggle/icon'; import type { HdsAdvancedTableSignature } from './index'; import type { HdsAdvancedTableThReorderHandleSignature } from './th-reorder-handle'; import type { HdsAdvancedTableThResizeHandleSignature } from './th-resize-handle'; import type HdsIntlService from '../../../services/hds-intl.ts'; import type { HdsAdvancedTableNormalizedColumn } from './types.ts'; interface HdsAdvancedTableThContextMenuOption { key: string; icon?: HdsDropdownToggleIconSignature['Args']['icon']; label?: string; action?: (dropdownCloseCallback: () => void) => void; } export interface HdsAdvancedTableThContextMenuSignature { Args: { column: HdsAdvancedTableNormalizedColumn; isFirstColumn: boolean; isFirstNonStickyColumn: boolean; isLastColumn: boolean; hasResizableColumns?: boolean; hasReorderableColumns?: boolean; isStickyColumn?: boolean; reorderHandleElement?: HdsAdvancedTableThReorderHandleSignature['Element']; resizeHandleElement?: HdsAdvancedTableThResizeHandleSignature['Element']; onColumnResize?: HdsAdvancedTableSignature['Args']['onColumnResize']; onFocusReorderHandle?: () => void; onMoveColumnToTerminalPosition?: (columnKey: HdsAdvancedTableNormalizedColumn['key'], position: 'start' | 'end') => void; onPinFirstColumn?: () => void; onRestoreColumnWidth?: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => void; }; Element: HdsDropdownSignature['Element']; } export default class HdsAdvancedTableThContextMenu extends Component<HdsAdvancedTableThContextMenuSignature> { readonly hdsIntl: HdsIntlService; private _toggleElement; get _resizeOptions(): HdsAdvancedTableThContextMenuOption[]; get _reorderOptions(): HdsAdvancedTableThContextMenuOption[]; get _stickyColumnOptions(): HdsAdvancedTableThContextMenuOption[]; get _options(): HdsAdvancedTableThContextMenuOption[]; private _registerDropdownToggleElement; private _resizeColumn; private _resetColumnWidth; private _moveColumn; private _moveColumnToPosition; private _pinFirstColumn; } export {};