{"version":3,"file":"eui-components-eui-sidebar-menu.mjs","sources":["../../eui-sidebar-menu/eui-sidebar-menu.component.ts","../../eui-sidebar-menu/eui-sidebar-menu.component.html","../../eui-sidebar-menu/index.ts","../../eui-sidebar-menu/eui-components-eui-sidebar-menu.ts"],"sourcesContent":["import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    booleanAttribute,\n    input,\n    InputSignal,\n    output,\n} from '@angular/core';\nimport { EUI_MENU, EuiMenuItem } from '@eui/components/eui-menu';\n\n/**\n * @description\n * A sidebar menu component that wraps the EUI menu component.\n * This component provides a collapsible sidebar navigation menu with various display options.\n *\n * @usageNotes\n * ### Basic usage\n * ```typescript\n * menuItems: EuiMenuItem[] = [\n *   { label: 'Dashboard', icon: 'home', route: '/dashboard' },\n *   { label: 'Settings', icon: 'settings', route: '/settings' }\n * ];\n * ```\n * ```html\n * <eui-sidebar-menu [items]=\"menuItems\"></eui-sidebar-menu>\n * ```\n *\n * ### Collapsed with icons\n * ```html\n * <eui-sidebar-menu \n *   [items]=\"menuItems\"\n *   [isCollapsed]=\"true\"\n *   [hasIcons]=\"true\"\n *   [hasCollapsedInitials]=\"true\">\n * </eui-sidebar-menu>\n * ```\n *\n * ### With search filter\n * ```html\n * <eui-sidebar-menu \n *   [items]=\"menuItems\"\n *   [hasFilter]=\"true\"\n *   searchFilterLabel=\"Search menu\"\n *   (itemClick)=\"onMenuItemClick($event)\">\n * </eui-sidebar-menu>\n * ```\n *\n * ### Accessibility\n * - Keyboard navigation with arrow keys and Enter\n * - Tooltips provide context in collapsed mode\n * - ARIA labels for screen reader support\n * - Focus management for nested menu items\n *\n * ### Notes\n * - Use `hasTooltipOnExpanded` to show tooltips even when menu is expanded\n * - `expandAllItems` opens all nested menu groups on initial render\n * - `hasBoldRootLevel` emphasizes top-level navigation items\n * - Filter searches through all menu item labels and nested items\n */\n@Component({\n    selector: 'eui-sidebar-menu',\n    templateUrl: './eui-sidebar-menu.component.html',\n    styleUrl: './eui-sidebar-menu.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_MENU,\n    ],\n})\nexport class EuiSidebarMenuComponent {\n    /**\n     * CSS class binding for the host element\n     * @default 'eui-sidebar-menu'\n     */\n    @HostBinding('class') string = 'eui-sidebar-menu';\n\n    /**\n     * The menu items to be displayed\n     * @default []\n     */\n    items: InputSignal<EuiMenuItem[]> = input([]);\n    /**\n     * Whether to show initials in collapsed mode\n     * @default false\n     */\n    hasCollapsedInitials = input(false, { transform: booleanAttribute });\n    /**\n     * Whether the sidebar is collapsed\n     * @default false\n     */\n    isCollapsed = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to show a filter input for searching menu items\n     * @default false\n     */\n    hasFilter = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to show icons for menu items\n     * @default false\n     */\n    hasIcons = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to show tooltips for menu items\n     * @default true\n     */\n    hasTooltip = input(true, { transform: booleanAttribute });\n    /**\n     * Whether to show tooltips even when the menu is expanded\n     * @default false\n     */\n    hasTooltipOnExpanded = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to initially expand all menu items\n     * @default false\n     */\n    expandAllItems = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to make root level menu items bold\n     * @default false\n     */\n    hasBoldRootLevel = input(false, { transform: booleanAttribute });\n\n    /**\n     * Custom inline styles for the sidebar container\n     */\n    style: InputSignal<string> = input();\n    /**\n     * ID of the fragment to navigate to\n     */\n    fragmentId: InputSignal<string> = input();\n    /**\n     * Label for the search filter input\n     */\n    searchFilterLabel: InputSignal<string> = input();\n    /**\n     * Target for external links\n     */\n    externalTarget: InputSignal<string> = input();\n    /**\n     * Initial value for the filter input\n     * @default ''\n     */\n    filterValue = input('');\n    /**\n     * Event emitted when the menu itself is clicked\n     */\n    menuClick = output<boolean>();\n    /**\n     * Event emitted when a menu item is clicked\n     */\n    itemClick = output<EuiMenuItem>();\n    /**\n     * Handler for menu item click events\n     * @param item The menu item that was clicked\n     */\n    protected onMenuItemClicked(item: EuiMenuItem): void {\n        this.itemClick.emit(item);\n    }\n\n    /**\n     * Handler for menu click events\n     * @param event Whether the menu was clicked\n     */\n    protected onMenuClicked(event: boolean): void {\n        this.menuClick.emit(event);\n    }\n}\n","<!--TODO: set the classes into one div container instead of two-->\n<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed()\" [style]=\"style()\">\n    <div class=\"eui-sidebar-menu__content\">\n        <eui-menu\n            [items]=\"items()\"\n            [hasFilter]=\"hasFilter()\"\n            [hasIcons]=\"hasIcons()\"\n            [hasTooltip]=\"hasTooltip()\"\n            [hasTooltipOnExpanded]=\"hasTooltipOnExpanded()\"\n            [isCollapsed]=\"isCollapsed()\"\n            [hasCollapsedInitials]=\"hasCollapsedInitials()\"\n            [expandAllItems]=\"expandAllItems()\"\n            [fragmentId]=\"fragmentId()\"\n            [searchFilterLabel]=\"searchFilterLabel()\"\n            [filterValue]=\"filterValue()\"\n            [hasBoldRootLevel]=\"hasBoldRootLevel()\"\n            (isClick)=\"onMenuClicked($event)\"\n            (itemClick)=\"onMenuItemClicked($event)\">\n        </eui-menu>\n    </div>\n</div>\n","import { EuiSidebarMenuComponent } from './eui-sidebar-menu.component';\n\nexport * from './eui-sidebar-menu.component';\n\nexport const EUI_SIDEBAR_MENU = [\n    EuiSidebarMenuComponent,\n] as const;\n\n// export { EuiSidebarMenuComponent as EuiSidebarMenu } from './eui-sidebar-menu.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}