@hashicorp/design-system-components
Version:
Helios Design System Components
42 lines (41 loc) • 1.7 kB
TypeScript
/**
* Copyright IBM Corp. 2021, 2025
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import type { HdsAdvancedTableNormalizedColumn, HdsAdvancedTableColumnReorderSide } from './types.ts';
import type { HdsAdvancedTableSignature } from './index';
export interface HdsAdvancedTableThReorderDropTargetSignature {
Args: {
column?: HdsAdvancedTableNormalizedColumn;
draggedColumnKey?: HdsAdvancedTableNormalizedColumn['key'] | null;
isFirstColumn: boolean;
isLastColumn: boolean;
hasSelectableRows?: HdsAdvancedTableSignature['Args']['isSelectable'];
reorderHoveredColumnKey?: HdsAdvancedTableNormalizedColumn['key'] | null;
draggedColumnSiblingColumnKeys?: {
previous?: HdsAdvancedTableNormalizedColumn['key'];
next?: HdsAdvancedTableNormalizedColumn['key'];
};
tableHeight?: number;
onReorderDrop?: (columnKey: HdsAdvancedTableNormalizedColumn['key'], side: HdsAdvancedTableColumnReorderSide) => void;
onSetReorderHoveredColumnKey?: (key: HdsAdvancedTableNormalizedColumn['key'] | null) => void;
};
Blocks: {
default?: [];
};
Element: HTMLDivElement;
}
export default class HdsAdvancedTableThReorderDropTarget extends Component<HdsAdvancedTableThReorderDropTargetSignature> {
private _dragSide;
private _isUpdateQueued;
private _element;
private _registerElement;
private _getDragSide;
get isBeingDragged(): boolean;
get isDraggingOver(): boolean;
get classNames(): string;
get height(): string | undefined;
handleDragOver(event: DragEvent): void;
handleDrop(event: DragEvent): void;
}