Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { Directive, TemplateRef, inject } from '@angular/core';
import { Item } from './util.types';
export interface IconTemplateContext {
$implicit: Item;
}
/**
* A directive allowing to tag template directives who get passed
* an $implicit value which is that least of type Item
*/
@Directive({
//eslint-disable-next-line @angular-eslint/directive-selector -- as ng-template is the prefix, data-gc is not needed for valid html rendering
selector: 'ng-template[gc-icon]',
standalone: false,
})
export class IconTemplateDirective {
/**
* @ignore
*/
public readonly template = inject<TemplateRef<HTMLElement>>(TemplateRef);
/**
* @ignore
*/
static ngTemplateContextGuard(
// eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://angular.dev/guide/directives/structural-directives#typing-the-directives-context
dir: IconTemplateDirective,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
ctx: unknown,
): ctx is IconTemplateContext {
return true;
}
}
|