@edugouvfr/ngx-dsfr
Version:
NgxDsfr est un portage Angular des éléments d'interface du Système de Design de l'État Français (DSFR).
31 lines • 8.38 kB
JavaScript
import { CommonModule } from '@angular/common';
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
import { DsfrI18nPipe } from '../../shared';
import { ItemLinkComponent } from '../link/item-link.component';
import * as i0 from "@angular/core";
export class DsfrBreadcrumbComponent {
/** @internal */
constructor() {
/** Tableau d'item du fil d'Ariane. */
this.items = [];
/** Confirmation du clic sur le bouton. */
this.linkSelect = new EventEmitter();
}
/** @internal */
onItem(item) {
this.linkSelect.emit(item);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DsfrBreadcrumbComponent, isStandalone: true, selector: "dsfr-breadcrumb", inputs: { items: "items", ariaLabel: "ariaLabel" }, outputs: { linkSelect: "linkSelect" }, ngImport: i0, template: "<nav role=\"navigation\" class=\"fr-breadcrumb\" [attr.aria-label]=\"'breadcrumb.ariaLabel' | dsfrI18n\">\n <button type=\"button\" class=\"fr-breadcrumb__button\" aria-expanded=\"false\" aria-controls=\"breadcrumb-1\">\n {{ 'breadcrumb.viewBreadcrumb' | dsfrI18n }}\n </button>\n <div class=\"fr-collapse\" id=\"breadcrumb-1\">\n <ol class=\"fr-breadcrumb__list\">\n @for (item of items; track item; let isFirst = $first; let isLast = $last) {\n <li>\n @if (isLast) {\n <!-- Formatage forc\u00E9 : suppression des espaces r\u00E9siduels li\u00E9s aux retours \u00E0 la ligne au sein d'un \u00E9l\u00E9ment inline -->\n <!-- prettier-ignore -->\n <a class=\"fr-breadcrumb__link\" aria-current=\"page\" [attr.aria-label]=\"item.ariaLabel || null\">{{\n item.label\n }}</a>\n } @else {\n <edu-item-link\n (linkSelect)=\"onItem(item)\"\n [customClass]=\"'fr-breadcrumb__link'\"\n [item]=\"item\"></edu-item-link>\n }\n </li>\n }\n </ol>\n </div>\n</nav>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ItemLinkComponent, selector: "edu-item-link", inputs: ["defaultIconPosition", "item"] }, { kind: "pipe", type: DsfrI18nPipe, name: "dsfrI18n" }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrBreadcrumbComponent, decorators: [{
type: Component,
args: [{ selector: 'dsfr-breadcrumb', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, ItemLinkComponent, DsfrI18nPipe], template: "<nav role=\"navigation\" class=\"fr-breadcrumb\" [attr.aria-label]=\"'breadcrumb.ariaLabel' | dsfrI18n\">\n <button type=\"button\" class=\"fr-breadcrumb__button\" aria-expanded=\"false\" aria-controls=\"breadcrumb-1\">\n {{ 'breadcrumb.viewBreadcrumb' | dsfrI18n }}\n </button>\n <div class=\"fr-collapse\" id=\"breadcrumb-1\">\n <ol class=\"fr-breadcrumb__list\">\n @for (item of items; track item; let isFirst = $first; let isLast = $last) {\n <li>\n @if (isLast) {\n <!-- Formatage forc\u00E9 : suppression des espaces r\u00E9siduels li\u00E9s aux retours \u00E0 la ligne au sein d'un \u00E9l\u00E9ment inline -->\n <!-- prettier-ignore -->\n <a class=\"fr-breadcrumb__link\" aria-current=\"page\" [attr.aria-label]=\"item.ariaLabel || null\">{{\n item.label\n }}</a>\n } @else {\n <edu-item-link\n (linkSelect)=\"onItem(item)\"\n [customClass]=\"'fr-breadcrumb__link'\"\n [item]=\"item\"></edu-item-link>\n }\n </li>\n }\n </ol>\n </div>\n</nav>\n" }]
}], ctorParameters: () => [], propDecorators: { items: [{
type: Input
}], ariaLabel: [{
type: Input
}], linkSelect: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHNmci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBU2hFLE1BQU0sT0FBTyx1QkFBdUI7SUFVbEMsZ0JBQWdCO0lBQ2hCO1FBVkEsc0NBQXNDO1FBQzdCLFVBQUssR0FBZSxFQUFFLENBQUM7UUFLaEMsMENBQTBDO1FBQ2hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBR3JDLENBQUM7SUFFaEIsZ0JBQWdCO0lBQ2hCLE1BQU0sQ0FBQyxJQUFjO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBaEJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHNLQ1pwQyxxbUNBeUJBLDJDRGZZLFlBQVksK0JBQUUsaUJBQWlCLDhGQUFFLFlBQVk7OzRGQUU1Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUVaLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFlBQVksQ0FBQzt3REFJL0MsS0FBSztzQkFBYixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERzZnJJMThuUGlwZSwgRHNmckxpbmsgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgSXRlbUxpbmtDb21wb25lbnQgfSBmcm9tICcuLi9saW5rL2l0ZW0tbGluay5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkc2ZyLWJyZWFkY3J1bWInLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEl0ZW1MaW5rQ29tcG9uZW50LCBEc2ZySTE4blBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEc2ZyQnJlYWRjcnVtYkNvbXBvbmVudCB7XG4gIC8qKiBUYWJsZWF1IGQnaXRlbSBkdSBmaWwgZCdBcmlhbmUuICovXG4gIEBJbnB1dCgpIGl0ZW1zOiBEc2ZyTGlua1tdID0gW107XG5cbiAgLyoqIEF0dHJpYnV0IGFyaWEtbGFiZWwgZGUgbGEgYmFsaXNlIGBuYXZgIGR1IGZpbCBkJ0FyaWFuZS4gKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqIENvbmZpcm1hdGlvbiBkdSBjbGljIHN1ciBsZSBib3V0b24uICovXG4gIEBPdXRwdXQoKSBsaW5rU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxEc2ZyTGluaz4oKTtcblxuICAvKiogQGludGVybmFsICovXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKiogQGludGVybmFsICovXG4gIG9uSXRlbShpdGVtOiBEc2ZyTGluayk6IHZvaWQge1xuICAgIHRoaXMubGlua1NlbGVjdC5lbWl0KGl0ZW0pO1xuICB9XG59XG4iLCI8bmF2IHJvbGU9XCJuYXZpZ2F0aW9uXCIgY2xhc3M9XCJmci1icmVhZGNydW1iXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInYnJlYWRjcnVtYi5hcmlhTGFiZWwnIHwgZHNmckkxOG5cIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmci1icmVhZGNydW1iX19idXR0b25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiBhcmlhLWNvbnRyb2xzPVwiYnJlYWRjcnVtYi0xXCI+XG4gICAge3sgJ2JyZWFkY3J1bWIudmlld0JyZWFkY3J1bWInIHwgZHNmckkxOG4gfX1cbiAgPC9idXR0b24+XG4gIDxkaXYgY2xhc3M9XCJmci1jb2xsYXBzZVwiIGlkPVwiYnJlYWRjcnVtYi0xXCI+XG4gICAgPG9sIGNsYXNzPVwiZnItYnJlYWRjcnVtYl9fbGlzdFwiPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbTsgbGV0IGlzRmlyc3QgPSAkZmlyc3Q7IGxldCBpc0xhc3QgPSAkbGFzdCkge1xuICAgICAgICA8bGk+XG4gICAgICAgICAgQGlmIChpc0xhc3QpIHtcbiAgICAgICAgICAgIDwhLS0gRm9ybWF0YWdlIGZvcmPDqSA6IHN1cHByZXNzaW9uIGRlcyBlc3BhY2VzIHLDqXNpZHVlbHMgbGnDqXMgYXV4IHJldG91cnMgw6AgbGEgbGlnbmUgYXUgc2VpbiBkJ3VuIMOpbMOpbWVudCBpbmxpbmUgLS0+XG4gICAgICAgICAgICA8IS0tIHByZXR0aWVyLWlnbm9yZSAtLT5cbiAgICAgICAgICAgIDxhIGNsYXNzPVwiZnItYnJlYWRjcnVtYl9fbGlua1wiIGFyaWEtY3VycmVudD1cInBhZ2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsIHx8IG51bGxcIj57e1xuICAgICAgICAgICAgICBpdGVtLmxhYmVsXG4gICAgICAgICAgICB9fTwvYT5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxlZHUtaXRlbS1saW5rXG4gICAgICAgICAgICAgIChsaW5rU2VsZWN0KT1cIm9uSXRlbShpdGVtKVwiXG4gICAgICAgICAgICAgIFtjdXN0b21DbGFzc109XCInZnItYnJlYWRjcnVtYl9fbGluaydcIlxuICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCI+PC9lZHUtaXRlbS1saW5rPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9saT5cbiAgICAgIH1cbiAgICA8L29sPlxuICA8L2Rpdj5cbjwvbmF2PlxuIl19