@hashicorp/design-system-components
Version:
Helios Design System Components
76 lines (75 loc) • 3.68 kB
TypeScript
import Component from '@glimmer/component';
import { TrackedMap } from 'tracked-built-ins';
import type { HdsAdvancedTableNormalizedColumn } from '../types.ts';
import type { ModifierLike } from '@glint/template';
export declare const DEFAULT_WIDTH = "1fr";
export declare const DEFAULT_MIN_WIDTH = "150px";
export declare const DEFAULT_MAX_WIDTH = "800px";
export interface HdsAdvancedTableSyncWidthValuesSignature {
Element: HTMLDivElement;
}
interface HdsAdvancedTableColumnManagerWidthSignature {
Args: {
columnOrder: string[];
columns: HdsAdvancedTableNormalizedColumn[];
orderedColumns: HdsAdvancedTableNormalizedColumn[];
thElements: TrackedMap<string, HTMLDivElement>;
isSelectable?: boolean;
getColumnByKey: (key: string) => HdsAdvancedTableNormalizedColumn | undefined;
};
Blocks: {
default: [
{
gridTemplateColumns: string;
syncWidthValues: ModifierLike<HdsAdvancedTableSyncWidthValuesSignature>;
applyTransientWidth: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => void;
getAppliedWidth: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => HdsAdvancedTableNormalizedColumn['width'];
getSiblingColumnKeys: (columnKey: HdsAdvancedTableNormalizedColumn['key'] | null) => {
previous?: HdsAdvancedTableNormalizedColumn['key'];
next?: HdsAdvancedTableNormalizedColumn['key'];
};
resetTransientColumnWidths: () => void;
restoreColumnWidth: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => void;
setTransientColumnWidth: (columnKey: HdsAdvancedTableNormalizedColumn['key'], width: `${number}px`, clamped?: boolean) => void;
setTransientColumnWidths: (options: {
roundValues?: boolean;
}) => void;
updateResizeDebt: (columnKey: HdsAdvancedTableNormalizedColumn['key'], delta: number) => void;
}
];
};
}
export default class HdsAdvancedTableColumnManagerWidth extends Component<HdsAdvancedTableColumnManagerWidthSignature> {
private _columnWidths;
private _originalColumnWidths;
private _transientColumnWidths;
private _columnDebts;
syncWidthValues: import("ember-modifier").FunctionBasedModifier<{
Element: HTMLDivElement;
Args: {
Named: import("ember-modifier/-private/signature").EmptyObject;
Positional: [];
};
}>;
get gridTemplateColumns(): string;
getAppliedWidth: (columnKey: HdsAdvancedTableNormalizedColumn["key"]) => HdsAdvancedTableNormalizedColumn["width"];
getSiblingColumnKeys: (columnKey: HdsAdvancedTableNormalizedColumn["key"] | null) => {
previous?: HdsAdvancedTableNormalizedColumn["key"];
next?: HdsAdvancedTableNormalizedColumn["key"];
};
private _getPxWidth;
private _getPxMinWidth;
applyTransientWidth: (columnKey: HdsAdvancedTableNormalizedColumn["key"]) => void;
setTransientColumnWidths: (options?: {
roundValues?: boolean;
}) => void;
resetTransientColumnWidths: () => void;
setTransientColumnWidth: (columnKey: HdsAdvancedTableNormalizedColumn["key"], width: `${number}px`, clamped?: boolean) => void;
updateResizeDebt: (columnKey: HdsAdvancedTableNormalizedColumn["key"], delta: number) => void;
restoreColumnWidth: (columnKey: HdsAdvancedTableNormalizedColumn["key"]) => void;
private _settleWidthDebts;
private _collectWidthDebts;
private _payWidthDebts;
private _sourceFundsForPayment;
}
export {};