/**----------------------------------------------------------------------------------------- * 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`, sets `tabindex` to `0` or greater. If `false`, sets `tabindex` to `-1`. */ toggle(active: boolean): void; /** * Returns `true` if the element can be focused at the moment. Returns `false` otherwise. * * @returns `true` if the element can be focused at the moment. Returns `false` otherwise. */ canFocus(): boolean; /** * Returns `true` if the element is currently focused. */ hasFocus(): boolean; /** * Returns `true` if the element can receive focus during cursor navigation. * * For example, if a cell has a single button, focus goes directly to it. * This lets the user activate the button with `Enter`. * If the cell has more than one navigable element, focus stays on the cell. */ isNavigable(): boolean; }