@taiga-ui/addon-doc
Version:
Taiga UI based library for developing documentation portals for Angular libraries.
26 lines • 6.09 kB
JavaScript
import { NgForOf, NgIf } from '@angular/common';
import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
import { RouterLink } from '@angular/router';
import { TUI_DOC_MAP_PAGES, TUI_DOC_SEE_ALSO_TEXT } from '@taiga-ui/addon-doc/tokens';
import { TuiLink } from '@taiga-ui/core/components/link';
import * as i0 from "@angular/core";
class TuiDocSeeAlso {
constructor() {
this.pages = inject(TUI_DOC_MAP_PAGES);
this.text = inject(TUI_DOC_SEE_ALSO_TEXT);
this.seeAlso = [];
}
getRouterLink(pageTitle) {
return this.pages.get(pageTitle)?.route ?? '';
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocSeeAlso, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocSeeAlso, isStandalone: true, selector: "tui-doc-see-also", inputs: { seeAlso: "seeAlso" }, ngImport: i0, template: "<h5 class=\"t-header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a\n tuiLink\n [innerText]=\"item\"\n [routerLink]=\"getRouterLink(item)\"\n ></a>\n <ng-container *ngIf=\"!last\">{{ ', ' }}</ng-container>\n</ng-container>\n", styles: [":host{display:block}.t-header{font-size:.6875rem;line-height:1rem;text-transform:uppercase;letter-spacing:.075em;color:var(--tui-text-secondary);margin:0 0 .5rem;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
export { TuiDocSeeAlso };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocSeeAlso, decorators: [{
type: Component,
args: [{ standalone: true, selector: 'tui-doc-see-also', imports: [NgForOf, NgIf, RouterLink, TuiLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<h5 class=\"t-header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a\n tuiLink\n [innerText]=\"item\"\n [routerLink]=\"getRouterLink(item)\"\n ></a>\n <ng-container *ngIf=\"!last\">{{ ', ' }}</ng-container>\n</ng-container>\n", styles: [":host{display:block}.t-header{font-size:.6875rem;line-height:1rem;text-transform:uppercase;letter-spacing:.075em;color:var(--tui-text-secondary);margin:0 0 .5rem;white-space:nowrap}\n"] }]
}], propDecorators: { seeAlso: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9pbnRlcm5hbC9zZWUtYWxzby9pbmRleC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9jb21wb25lbnRzL2ludGVybmFsL3NlZS1hbHNvL2luZGV4Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFdkQsTUFRYSxhQUFhO0lBUjFCO1FBU3FCLFVBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxTQUFJLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFHakQsWUFBTyxHQUFzQixFQUFFLENBQUM7S0FLMUM7SUFIYSxhQUFhLENBQUMsU0FBaUI7UUFDckMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7K0dBVFEsYUFBYTttR0FBYixhQUFhLDRHQ2QxQixxU0FTQSxpUERBYyxPQUFPLG1IQUFFLElBQUksNkZBQUUsVUFBVSw0TkFBRSxPQUFPOztTQUtuQyxhQUFhOzRGQUFiLGFBQWE7a0JBUnpCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGtCQUFrQixXQUNuQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsT0FBTztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VFVJX0RPQ19NQVBfUEFHRVMsIFRVSV9ET0NfU0VFX0FMU09fVEVYVH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHtUdWlMaW5rfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xpbmsnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRvYy1zZWUtYWxzbycsXG4gICAgaW1wb3J0czogW05nRm9yT2YsIE5nSWYsIFJvdXRlckxpbmssIFR1aUxpbmtdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmRleC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbmRleC5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY1NlZUFsc28ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZXMgPSBpbmplY3QoVFVJX0RPQ19NQVBfUEFHRVMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ID0gaW5qZWN0KFRVSV9ET0NfU0VFX0FMU09fVEVYVCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWVBbHNvOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gICAgcHJvdGVjdGVkIGdldFJvdXRlckxpbmsocGFnZVRpdGxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5wYWdlcy5nZXQocGFnZVRpdGxlKT8ucm91dGUgPz8gJyc7XG4gICAgfVxufVxuIiwiPGg1IGNsYXNzPVwidC1oZWFkZXJcIj57eyB0ZXh0IH19PC9oNT5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VlQWxzbzsgbGFzdCBhcyBsYXN0XCI+XG4gICAgPGFcbiAgICAgICAgdHVpTGlua1xuICAgICAgICBbaW5uZXJUZXh0XT1cIml0ZW1cIlxuICAgICAgICBbcm91dGVyTGlua109XCJnZXRSb3V0ZXJMaW5rKGl0ZW0pXCJcbiAgICA+PC9hPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGFzdFwiPnt7ICcsICcgfX08L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19