UNPKG

@hashicorp/design-system-components

Version:
47 lines (46 loc) 2.02 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import type HdsAdvancedTableColumn from './models/column.ts'; import type { HdsDropdownSignature } from '../dropdown/index.ts'; import type { HdsDropdownToggleIconSignature } from '../dropdown/toggle/icon.ts'; import type { HdsAdvancedTableSignature } from './index.ts'; import type { HdsAdvancedTableThReorderHandleSignature } from './th-reorder-handle.ts'; import type { HdsAdvancedTableThResizeHandleSignature } from './th-resize-handle.ts'; import type HdsIntlService from '../../../services/hds-intl.ts'; interface HdsAdvancedTableThContextMenuOption { key: string; icon?: HdsDropdownToggleIconSignature['Args']['icon']; label?: string; action?: (dropdownCloseCallback: () => void) => void; } export interface HdsAdvancedTableThContextMenuSignature { Args: { column: HdsAdvancedTableColumn; hasResizableColumns?: boolean; hasReorderableColumns?: boolean; isStickyColumn?: boolean; reorderHandleElement?: HdsAdvancedTableThReorderHandleSignature['Element']; resizeHandleElement?: HdsAdvancedTableThResizeHandleSignature['Element']; onColumnResize?: HdsAdvancedTableSignature['Args']['onColumnResize']; onPinFirstColumn?: () => void; }; Element: HdsDropdownSignature['Element']; } export default class HdsAdvancedTableThContextMenu extends Component<HdsAdvancedTableThContextMenuSignature> { hdsIntl: HdsIntlService; private _element; 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 {};