/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import type { IFocusableNode } from './i_focusable_node.js'; /** * Interface for an item in the toolbox. */ export interface IToolboxItem extends IFocusableNode { /** * Initializes the toolbox item. * This includes creating the DOM and updating the state of any items based * on the info object. */ init(): void; /** * Gets the div for the toolbox item. * * @returns The div for the toolbox item. */ getDiv(): Element | null; /** * Gets a unique identifier for this toolbox item. * * @returns The ID for the toolbox item. */ getId(): string; /** * Gets the parent if the toolbox item is nested. * * @returns The parent toolbox item, or null if this toolbox item is not * nested. */ getParent(): IToolboxItem | null; /** * Gets the nested level of the category. * * @returns The nested level of the category. * @internal */ getLevel(): number; /** * Whether the toolbox item is selectable. * * @returns True if the toolbox item can be selected. */ isSelectable(): boolean; /** * Whether the toolbox item is collapsible. * * @returns True if the toolbox item is collapsible. */ isCollapsible(): boolean; /** Dispose of this toolbox item. No-op by default. */ dispose(): void; /** * Gets the HTML element that is clickable. * * @returns The HTML element that receives clicks. */ getClickTarget(): Element | null; /** * Sets whether the category is visible or not. * For a category to be visible its parent category must also be expanded. * * @param isVisible True if category should be visible. */ setVisible_(isVisible: boolean): void; } //# sourceMappingURL=i_toolbox_item.d.ts.map