import { TemplateResult } from 'lit'; import { VscElement } from '../includes/VscElement.js'; import '../vscode-scrollable'; /** * @attr {Boolean} zebra - Zebra stripes, even rows are tinted. * @attr {Boolean} zebra-odd - Zebra stripes, odd rows are tinted. * @attr {Boolean} bordered * * @cssprop [--border=var(--vscode-editorGroup-border)] * @cssprop [--foreground=var(--vscode-foreground)] * @cssprop [--resize-hover-border=var(--vscode-sash-hoverBorder)] * @cssprop [--tinted-row-background=var(--vscode-keybindingTable-rowsBackground)] * @cssprop [--header-background=var(--vscode-keybindingTable-headerBackground)] * @cssprop [--font-size=var(--vscode-font-size)] * @cssprop [--font-family=var(--vscode-font-family)] */ export declare class VscodeTable extends VscElement { static styles: import("lit").CSSResultGroup; role: string; resizable: boolean; responsive: boolean; breakpoint: number; /** * Initial column sizes in a JSON-encoded array. * Accepted values are: * - number * - string-type number (ex.: "100") * - px value (ex.: "100px") * - percentage value (ex.: "50%") * - percentage value (ex.: "50%") * - "auto" keyword */ set columns(val: string[]); get columns(): string[]; /** * Minimum column width. Valid values are: * - number * - string-type number (ex.: "100") * - px value (ex.: "100px") * - percentage value (ex.: "50%") * - percentage value (ex.: "50%") * - "auto" keyword */ minColumnWidth: string; delayedResizing: boolean; /** * For internal use only */ compact: boolean; private _bodySlot; private _headerElement; private _scrollableElement; private _sashVisibleElements; private _assignedHeaderElements; private _assignedBodyElements; /** * Sash positions in percentage */ private _sashPositions; private _isDragging; /** * Sash hover state flags, used in the render. */ private _sashHovers; private _columns; private _componentResizeObserver; private _headerResizeObserver; private _activeSashElementIndex; private _activeSashCursorOffset; private _componentX; private _componentH; private _componentW; /** * Cached querySelectorAll result. Updated when the header slot changes. * It shouldn't be used directly, check the "_getHeaderCells" function. */ private _headerCells; /** * Cached querySelectorAll result. Updated when the body slot changes. * It shouldn't be used directly, check the "_getCellsOfFirstRow" function. */ private _cellsOfFirstRow; private _cellsToResize; private _headerCellsToResize; private _prevHeaderHeight; private _prevComponentHeight; connectedCallback(): void; disconnectedCallback(): void; private _px2Percent; private _percent2Px; private _memoizeComponentDimensions; private _queryHeaderCells; /** * Get cached header cells */ private _getHeaderCells; private _queryCellsOfFirstRow; /** * Get cached cells of first row */ private _getCellsOfFirstRow; private _initResizeObserver; private _componentResizeObserverCallback; private _componentResizeObserverCallbackBound; private _headerResizeObserverCallback; private _headerResizeObserverCallbackBound; private _calcColWidthPercentages; private _initHeaderCellSizes; private _initBodyColumnSizes; private _initSashes; private _initDefaultColumnSizes; private _updateScrollpaneSize; private _applyCompactViewColumnLabels; private _clearCompactViewColumnLabels; private _toggleCompactView; private _onHeaderSlotChange; private _onBodySlotChange; private _onSashMouseOver; private _onSashMouseOut; private _onSashMouseDown; private _updateActiveSashPosition; private _getSashPositions; private _resizeColumns; private _onResizingMouseMove; private _onResizingMouseMoveBound; private _onResizingMouseUp; private _onResizingMouseUpBound; render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { 'vscode-table': VscodeTable; } } //# sourceMappingURL=vscode-table.d.ts.map