/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { TableKeyboardNavigationContextType } from './TableKeyboardNavigationContextType'; import { TableKeyboardNavigationStateType } from './TableKeyboardNavigationStateType'; /** * @hidden */ export declare const generateNavigatableId: (navigationId: string, idPrefix: string, type?: 'column' | 'cell' | 'group' | 'expand' | 'nodata') => string; /** * @hidden */ export declare const getNavigatableLevel: (element: Element | null) => number; /** * @hidden */ export declare const getNavigatableId: (element: Element | null) => string; /** * @hidden */ export declare const isNavigatable: (element: Element | null) => boolean; /** * @hidden */ export declare const getNavigatableElement: (scope: HTMLElement, options?: { level: number; }) => HTMLElement; /** * @hidden */ export declare const getClosestNavigatableElement: (target: HTMLElement) => Element; /** * @hidden */ export declare const getActiveNavDataElement: (scope: HTMLElement, activeId?: string) => HTMLElement; /** * @hidden */ export declare const getClosestScope: (target: HTMLElement) => Element; /** * @hidden */ export declare const getClosestCancelButton: (target: HTMLElement) => Element; /** * @hidden */ export declare const getRemoveButtonByAriaRowIndex: (ariaRowIndex: number) => Element; /** * @hidden */ export declare const getTableCellByKeyboardNavId: (navId: string) => Element; /** * @hidden */ export declare const getRowAriaRowIndex: (target: HTMLElement) => any; /** * @hidden */ declare function waitForElementToBeVisible(selector: string, parentElement: Element | null, timeout?: number): Promise; /** * @hidden */ export declare const getClosestEditButton: (target: HTMLElement) => Promise; /** * @hidden */ export declare const getParentCell: (target: HTMLElement) => Element; /** * @hidden */ export declare const getHeaderElement: (scope: HTMLElement) => Element; /** * @hidden */ export declare const getBodyElement: (scope: HTMLElement) => Element; /** * @hidden */ export declare const getTopPinnedElement: (scope: HTMLElement) => Element; /** * @hidden */ export declare const getBottomPinnedElement: (scope: HTMLElement) => Element; /** * @hidden */ export declare const getNoRecordsElement: (scope: HTMLElement) => Element; /** * @hidden */ export declare const focusFirstEditor: (newEditableRow: Element) => void; /** * @hidden */ export declare const focusFirstDataElement: (options: { scope?: HTMLElement; kbContext: TableKeyboardNavigationContextType; navigation: TableKeyboardNavigationStateType; }, event?: any) => void; /** * @hidden */ export declare const getFocusableElements: (scope: HTMLElement, options?: { focusable: boolean; }) => Element[]; /** * @hidden */ export declare const getNavigatableElements: (scope: HTMLElement | null, options?: { level: number; }) => any[]; /** * @hidden */ export declare const filterNavigatableElements: (options?: { level: number; }) => (element: HTMLElement) => boolean; /** * @hidden */ export declare const focusElement: (options: { elementForFocus: HTMLElement; prevElement?: HTMLElement; kbContext: TableKeyboardNavigationContextType; event: any; }) => void; /** * @hidden */ export declare const getIdPrefix: (navigation?: TableKeyboardNavigationStateType) => string; /** * @hidden */ export declare const findNextIdByRowIndex: (initialRowIndex: number, cellIndex: number, elementId: string | undefined, matrix: string[][], isReverse: boolean) => [ string, [ number, number ] ] | [ ]; /** * @hidden */ export declare const findNextIdByCellIndex: (rowIndex: number, initialCellIndex: number, elementId: string | undefined, matrix: string[][], isReverse: boolean) => [ string, [ number, number ] ] | [ ]; /** * @hidden */ export declare const findId: (navigationMatrix: string[][], cellId?: string) => number[] | undefined; /** * @hidden */ export declare const getPrevEditableCell: (currentIdIndexes: number[], columns: any[], elementId: string | undefined, matrix: string[][]) => { prevCell: Element; elementToFocus: string; }; /** * @hidden */ export declare const getNextEditableCell: (currentIdIndexes: number[], columns: any[], elementId: string | undefined, matrix: string[][]) => { nextCell: Element; elementToFocus: string; }; /** * @hidden */ export declare const getNextNavigationIndex: (navigation?: TableKeyboardNavigationStateType) => number; /** * @hidden */ export declare const getFirstDataCell: (navigationMatrix: string[][]) => string; /** * @hidden */ export declare const getLastDataCell: (navigationMatrix: string[][]) => string; /** * @hidden */ export declare const getFirstRowDataCell: (navigationMatrix: string[][], rowIndex: number) => string; /** * @hidden */ export declare const getLastRowDataCell: (navigationMatrix: string[][], rowIndex: number) => string; /** * @hidden */ export declare const getFilterColumnId: (columnId: string) => string; /** * @hidden */ export declare const getCurrentIdIndexes: (navigation: TableKeyboardNavigationStateType | undefined, matrix: string[][], elementId: string | undefined) => number[] | undefined; /** * @hidden */ export declare const getClosestCellNavId: (element: HTMLElement) => string; /** * Gets the parent stacked cell wrapper element. * * @hidden */ export declare const getStackedCellWrapper: (target: HTMLElement) => HTMLElement | null; /** * Gets all focusable elements within a stacked cell. * * @hidden */ export declare const getStackedCellFocusableElements: (cellElement: HTMLElement) => HTMLElement[]; /** * Finds the next stacked cell sibling in the specified direction. * * @hidden */ export declare const getNextStackedCell: (currentCell: HTMLElement, direction: 'next' | 'prev') => HTMLElement | null; /** * Gets the table cell (td) that contains the stacked cells. * * @hidden */ export declare const getStackedCellContainer: (stackedCell: HTMLElement) => HTMLElement | null; /** * Focuses an element within a stacked cell, or the cell itself if no focusable found. * * @hidden */ export declare const focusStackedCellElement: (cellElement: HTMLElement, preferredIndex?: number) => void; /** * @hidden */ export declare const tableKeyboardNavigationTools: { generateNavigatableId: (navigationId: string, idPrefix: string, type?: 'column' | 'cell' | 'group' | 'expand' | 'nodata') => string; getNavigatableId: (element: Element | null) => string; getNavigatableLevel: (element: Element | null) => number; getNavigatableElement: (scope: HTMLElement, options?: { level: number; }) => HTMLElement; getClosestNavigatableElement: (target: HTMLElement) => Element; getActiveNavDataElement: (scope: HTMLElement, activeId?: string) => HTMLElement; getClosestScope: (target: HTMLElement) => Element; getHeaderElement: (scope: HTMLElement) => Element; getBodyElement: (scope: HTMLElement) => Element; getTopPinnedElement: (scope: HTMLElement) => Element; getBottomPinnedElement: (scope: HTMLElement) => Element; getFocusableElements: (scope: HTMLElement, options?: { focusable: boolean; }) => Element[]; getNavigatableElements: (scope: HTMLElement | null, options?: { level: number; }) => any[]; filterNavigatableElements: (options?: { level: number; }) => (element: HTMLElement) => boolean; focusElement: (options: { elementForFocus: HTMLElement; prevElement?: HTMLElement; kbContext: TableKeyboardNavigationContextType; event: any; }) => void; getIdPrefix: (navigation?: TableKeyboardNavigationStateType) => string; isNavigatable: (element: Element | null) => boolean; findNextIdByRowIndex: (initialRowIndex: number, cellIndex: number, elementId: string | undefined, matrix: string[][], isReverse: boolean) => [ string, [ number, number ] ] | [ ]; findNextIdByCellIndex: (rowIndex: number, initialCellIndex: number, elementId: string | undefined, matrix: string[][], isReverse: boolean) => [ string, [ number, number ] ] | [ ]; findId: (navigationMatrix: string[][], cellId?: string) => number[] | undefined; getNextNavigationIndex: (navigation?: TableKeyboardNavigationStateType) => number; getFilterColumnId: (columnId: string) => string; focusFirstDataElement: (options: { scope?: HTMLElement; kbContext: TableKeyboardNavigationContextType; navigation: TableKeyboardNavigationStateType; }, event?: any) => void; getClosestCancelButton: (target: HTMLElement) => Element; getClosestEditButton: (target: HTMLElement) => Promise; getRowAriaRowIndex: (target: HTMLElement) => any; getRemoveButtonByAriaRowIndex: (ariaRowIndex: number) => Element; getTableCellByKeyboardNavId: (navId: string) => Element; getParentCell: (target: HTMLElement) => Element; waitForElementToBeVisible: typeof waitForElementToBeVisible; getNextEditableCell: (currentIdIndexes: number[], columns: any[], elementId: string | undefined, matrix: string[][]) => { nextCell: Element; elementToFocus: string; }; getPrevEditableCell: (currentIdIndexes: number[], columns: any[], elementId: string | undefined, matrix: string[][]) => { prevCell: Element; elementToFocus: string; }; getClosestCellNavId: (element: HTMLElement) => string; getStackedCellWrapper: (target: HTMLElement) => HTMLElement | null; getStackedCellFocusableElements: (cellElement: HTMLElement) => HTMLElement[]; getNextStackedCell: (currentCell: HTMLElement, direction: 'next' | 'prev') => HTMLElement | null; getStackedCellContainer: (stackedCell: HTMLElement) => HTMLElement | null; focusStackedCellElement: (cellElement: HTMLElement, preferredIndex?: number) => void; }; export {};