UNPKG

@hashicorp/design-system-components

Version:
61 lines (60 loc) 2.45 kB
/** * Copyright IBM Corp. 2021, 2025 * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import type Owner from '@ember/owner'; import type { HdsAdvancedTableNormalizedColumn } from './types'; import type { HdsAdvancedTableSignature } from './index'; export interface HdsAdvancedTableThResizeHandleSignature { Args: { column?: HdsAdvancedTableNormalizedColumn; siblingColumnKeys?: { previous?: HdsAdvancedTableNormalizedColumn['key']; next?: HdsAdvancedTableNormalizedColumn['key']; }; tableHeight?: number; onApplyTransientWidth?: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => void; onGetAppliedWidth?: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => HdsAdvancedTableNormalizedColumn['width']; onGetColumnByKey?: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => HdsAdvancedTableNormalizedColumn | undefined; onSetTransientColumnWidth?: (columnKey: HdsAdvancedTableNormalizedColumn['key'], width: `${number}px`) => void; onSetTransientColumnWidths?: (options: { roundValues?: boolean; }) => void; onResetTransientColumnWidths?: () => void; onUpdateResizeDebt?: (delta: number) => void; onColumnResize?: HdsAdvancedTableSignature['Args']['onColumnResize']; }; Blocks: { default?: []; }; Element: HTMLDivElement; } export default class HdsAdvancedTableThResizeHandle extends Component<HdsAdvancedTableThResizeHandleSignature> { resizing: { startX: number; startColumnPxWidth: number; startNextColumnPxWidth?: number; } | null; private _transientDelta; private _isUpdateQueued; private _lastPointerEvent; private _handleElement; private _boundResize; private _boundStopResize; private _registerHandleElement; constructor(owner: Owner, args: HdsAdvancedTableThResizeHandleSignature['Args']); get currentWidthInPixels(): number; get minWidthInPixels(): number; get maxWidthInPixels(): number; get height(): string | undefined; get classNames(): string; private _applyTransientWidths; onColumnResize(key?: string, width?: string): void; handleKeydown(event: KeyboardEvent): void; startResize(event: PointerEvent): void; private _setColumnWidth; private _applyResizeDelta; private _resize; private _stopResize; }