/** * Copyright Aquera Inc 2025 * * This source code is licensed under the BSD-3-Clause license found in the * LICENSE file in the root directory of this source tree. */ import { CSSResultArray, TemplateResult, PropertyValues } from 'lit'; import NileElement from '../internal/nile-element'; /** * Nile inline sidebar component. * * @tag nile-inline-sidebar */ export declare class NileInlineSidebar extends NileElement { collapsed: boolean; fixed: boolean; showTooltip: boolean; /** The side on which the sidebar is placed. */ placement: 'left' | 'right'; /** Enables a draggable resize handle on the sidebar's trailing edge. */ resizable: boolean; /** Current sidebar width in pixels when resizable is enabled. */ sidebarWidth: number; /** Minimum sidebar width in pixels. */ minSidebarWidth: number; showToggleBtn: boolean; /** Maximum sidebar width in pixels. */ maxSidebarWidth: number; variant?: 'minimal' | 'rich'; private activeIndex; private defaultSlot; private mutationObserver?; static get styles(): CSSResultArray; private get sidebarItems(); connectedCallback(): void; disconnectedCallback(): void; firstUpdated(): void; updated(changedProperties: PropertyValues): void; /** Pushes sidebar `variant` onto each item (rich vs minimal) so layout stays in sync with slotted content. */ private syncChildSidebarItemVariants; private observeSidebarItems; private syncActiveFromItems; private get focusableItems(); private updateTabIndices; private focusItem; private handleKeyDown; private handleItemSelect; private toggleCollapse; private handleMenuItemClick; private handleSeparatorDrag; private handleSeparatorKeyDown; private get separatorTemplate(); private get menuItemsTemplate(); render(): TemplateResult; } export default NileInlineSidebar; declare global { interface HTMLElementTagNameMap { 'nile-inline-sidebar': NileInlineSidebar; } }