UNPKG

@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).

37 lines 7.14 kB
import { CommonModule } from '@angular/common'; import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; import { RouterModule } from '@angular/router'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; export class DsfrSkipLinksComponent { constructor() { /** * Permet la gestion programmatique d'une navigation initiée au click sur le lien si l'input 'route' est valorisé. * La valeur de la propriété 'route' sera transmise. */ this.linkSelect = new EventEmitter(); } /** * Dans le cas d'une route, un événement `(routeSelect)` est émis avec la valeur de la route et * l'événement initial n'est pas propagé. * * @internal */ onSkiplinkSelect(event, route) { if (route) { event.preventDefault(); this.linkSelect.emit(route); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrSkipLinksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DsfrSkipLinksComponent, isStandalone: true, selector: "dsfr-skiplinks", inputs: { links: "links" }, outputs: { linkSelect: "linkSelect" }, ngImport: i0, template: "<div class=\"fr-skiplinks\">\n <nav class=\"fr-container\" role=\"navigation\" aria-label=\"Acc\u00E8s rapide\">\n <ul class=\"fr-skiplinks__list\">\n @for (item of links; track item) {\n <li>\n @if (!item.fragment) {\n <a class=\"fr-link\" [href]=\"item.route || item.link\" (click)=\"onSkiplinkSelect($event, item.route)\">{{\n item.label\n }}</a>\n } @else {\n <a class=\"fr-link\" [routerLink]=\"'.'\" [fragment]=\"item.fragment\"> {{ item.label }}</a>\n }\n </li>\n }\n </ul>\n </nav>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrSkipLinksComponent, decorators: [{ type: Component, args: [{ selector: 'dsfr-skiplinks', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, RouterModule], template: "<div class=\"fr-skiplinks\">\n <nav class=\"fr-container\" role=\"navigation\" aria-label=\"Acc\u00E8s rapide\">\n <ul class=\"fr-skiplinks__list\">\n @for (item of links; track item) {\n <li>\n @if (!item.fragment) {\n <a class=\"fr-link\" [href]=\"item.route || item.link\" (click)=\"onSkiplinkSelect($event, item.route)\">{{\n item.label\n }}</a>\n } @else {\n <a class=\"fr-link\" [routerLink]=\"'.'\" [fragment]=\"item.fragment\"> {{ item.label }}</a>\n }\n </li>\n }\n </ul>\n </nav>\n</div>\n" }] }], propDecorators: { links: [{ type: Input }], linkSelect: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcGxpbmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NraXBsaW5rcy9za2lwbGlua3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2tpcGxpbmtzL3NraXBsaW5rcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVUvQyxNQUFNLE9BQU8sc0JBQXNCO0lBUG5DO1FBYUU7OztXQUdHO1FBQ08sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FjbkQ7SUFaQzs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLEtBQVksRUFBRSxLQUF5QjtRQUN0RCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDOytHQXZCVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw2SUNabkMsOGxCQWlCQSwyQ0RQWSxZQUFZLDhCQUFFLFlBQVk7OzRGQUV6QixzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUVYLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQzs4QkFNNUIsS0FBSztzQkFBYixLQUFLO2dCQU1JLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRHNmckFuY2hvckxpbmsgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkc2ZyLXNraXBsaW5rcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9za2lwbGlua3MuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEc2ZyU2tpcExpbmtzQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRhYmxlYXUgZGVzIGxpZW5zLlxuICAgKi9cbiAgQElucHV0KCkgbGlua3M6IERzZnJBbmNob3JMaW5rW107XG5cbiAgLyoqXG4gICAqIFBlcm1ldCBsYSBnZXN0aW9uIHByb2dyYW1tYXRpcXVlIGQndW5lIG5hdmlnYXRpb24gaW5pdGnDqWUgYXUgY2xpY2sgc3VyIGxlIGxpZW4gc2kgbCdpbnB1dCAncm91dGUnIGVzdCB2YWxvcmlzw6kuXG4gICAqIExhIHZhbGV1ciBkZSBsYSBwcm9wcmnDqXTDqSAncm91dGUnIHNlcmEgdHJhbnNtaXNlLlxuICAgKi9cbiAgQE91dHB1dCgpIGxpbmtTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRGFucyBsZSBjYXMgZCd1bmUgcm91dGUsIHVuIMOpdsOpbmVtZW50IGAocm91dGVTZWxlY3QpYCBlc3Qgw6ltaXMgYXZlYyBsYSB2YWxldXIgZGUgbGEgcm91dGUgZXRcbiAgICogbCfDqXbDqW5lbWVudCBpbml0aWFsIG4nZXN0IHBhcyBwcm9wYWfDqS5cbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblNraXBsaW5rU2VsZWN0KGV2ZW50OiBFdmVudCwgcm91dGU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChyb3V0ZSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMubGlua1NlbGVjdC5lbWl0KHJvdXRlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmci1za2lwbGlua3NcIj5cbiAgPG5hdiBjbGFzcz1cImZyLWNvbnRhaW5lclwiIHJvbGU9XCJuYXZpZ2F0aW9uXCIgYXJpYS1sYWJlbD1cIkFjY8OocyByYXBpZGVcIj5cbiAgICA8dWwgY2xhc3M9XCJmci1za2lwbGlua3NfX2xpc3RcIj5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgbGlua3M7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgPGxpPlxuICAgICAgICAgIEBpZiAoIWl0ZW0uZnJhZ21lbnQpIHtcbiAgICAgICAgICAgIDxhIGNsYXNzPVwiZnItbGlua1wiIFtocmVmXT1cIml0ZW0ucm91dGUgfHwgaXRlbS5saW5rXCIgKGNsaWNrKT1cIm9uU2tpcGxpbmtTZWxlY3QoJGV2ZW50LCBpdGVtLnJvdXRlKVwiPnt7XG4gICAgICAgICAgICAgIGl0ZW0ubGFiZWxcbiAgICAgICAgICAgIH19PC9hPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGEgY2xhc3M9XCJmci1saW5rXCIgW3JvdXRlckxpbmtdPVwiJy4nXCIgW2ZyYWdtZW50XT1cIml0ZW0uZnJhZ21lbnRcIj4ge3sgaXRlbS5sYWJlbCB9fTwvYT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGk+XG4gICAgICB9XG4gICAgPC91bD5cbiAgPC9uYXY+XG48L2Rpdj5cbiJdfQ==