import { Directive, inject, input, TemplateRef } from '@angular/core';
/**
* Implicit context for templates registered with {@link TabDefDirective}.
*/
export interface TabDefContext {
/** Tab id matching {@link AfricaniesNavItem.id}. */
$implicit: string;
}
/**
* Registers projected tab panel content against a tab id for
* {@link TabsComponent} (local / non-router mode).
*
* @example
* ```html
*
*
*
* ```
*/
@Directive({
selector: '[africaniesTabDef]',
standalone: true,
})
/**
* Registers projected tab panel content against a tab id for {@link TabsComponent} (local / non-router mode).
*/
export class TabDefDirective {
/** Template projected as the active tab panel. */
readonly template = inject(TemplateRef);
/**
* Tab id this template binds to — must match an {@link AfricaniesNavItem.id}.
*/
readonly africaniesTabDef = input.required();
}