/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ /** * @hidden */ export interface FocusableElement { /** * Focuses the element. */ focus(): void; /** * Includes or excludes the element from the tab sequence. * @param active If `true`, the element receives a tabIndex of 0 (or greater). If `false`, the tabIndex is set to -1. */ toggle(active: boolean): void; /** * Returns `true` if the element can be focused. * @returns `true` if the element can be focused. */ canFocus(): boolean; /** * Returns `true` if the element currently has focus. * @returns `true` if the element currently has focus. */ hasFocus(): boolean; /** * Returns `true` if the element can receive focus during cursor navigation. * * For example, if a cell contains a single button, the focus is placed directly on it. This allows the user to activate the button directly with Enter. Focus remains on the cell if it contains more than one navigable element. */ isNavigable(): boolean; }