/** * Copyright (c) 2026, Salesforce, Inc., * All rights reserved. * For full license text, see the LICENSE.txt file */ import { CdkMenuItem } from '@angular/cdk/menu'; import { NgTemplateOutlet } from '@angular/common'; import { ChangeDetectionStrategy, Component, Directive, inject, Injector, input, TemplateRef, contentChild, } from '@angular/core'; import { outputFromObservable } from '@angular/core/rxjs-interop'; import type { MenuAlign, MenuSide } from '@spartan-ng/brain/core'; import { HlmDropdownMenu, HlmDropdownMenuItem, HlmDropdownMenuLabel, HlmDropdownMenuSeparator, HlmDropdownMenuTrigger, } from '@spartan-ng/styles/dropdown-menu'; // `appDropdownMenuItem` must be a directive (not a component) so it can be applied // directly to the feature's own ``/`