@hashicorp/design-system-components
Version:
Helios Design System Components
47 lines (46 loc) • 1.53 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import type Owner from '@ember/owner';
import type HdsAdvancedTableColumn from './models/column.ts';
import type { HdsAdvancedTableSignature } from './index.ts';
export interface HdsAdvancedTableThResizeHandleSignature {
Args: {
column: HdsAdvancedTableColumn;
tableHeight?: number;
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 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;
private _addDebt;
private _setWidthDebts;
}