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

29 lines 11.1 kB
import { CommonModule } from '@angular/common'; import { Component, Input, ViewEncapsulation } from '@angular/core'; import { DsfrDownloadComponent } from '../download'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; /** * Ce composant permet de proposer une liste de plusieurs téléchargements. Les téléchargements sont des liens * présentés sous forme de liste avec des puces. Un lien ne peut pas être un bloc. La description des liens est faite * sous forme de tableau. */ export class DsfrDownloadsGroupComponent { constructor() { /** Tableau des fichiers à lister. */ this.downloads = []; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrDownloadsGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DsfrDownloadsGroupComponent, isStandalone: true, selector: "dsfr-downloads-group", inputs: { heading: "heading", headingLevel: "headingLevel", downloads: "downloads" }, ngImport: i0, template: "@if (heading) {\n <div class=\"fr-downloads-group\">\n @switch (headingLevel) {\n @case ('H2') {\n <h2 class=\"fr-downloads-group__title\">{{ heading }}</h2>\n }\n @case ('H3') {\n <h3 class=\"fr-downloads-group__title\">{{ heading }}</h3>\n }\n @case ('H5') {\n <h5 class=\"fr-downloads-group__title\">{{ heading }}</h5>\n }\n @case ('H6') {\n <h6 class=\"fr-downloads-group__title\">{{ heading }}</h6>\n }\n @default {\n <h4 class=\"fr-downloads-group__title\">{{ heading }}</h4>\n }\n }\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n} @else {\n <ul class=\"fr-links-group\">\n @for (item of downloads; track item) {\n <li>\n <dsfr-download\n [fileName]=\"item.fileName\"\n [label]=\"item.label\"\n [ariaLabel]=\"item.ariaLabel\"\n [link]=\"item.link\"\n [route]=\"item.route\"\n [mimeType]=\"item.mimeType\"\n [linkTarget]=\"item.linkTarget\"\n [sizeBytes]=\"item.sizeBytes\"\n [langCode]=\"item.langCode\"\n [directDownload]=\"item.directDownload\"></dsfr-download>\n </li>\n }\n </ul>\n}\n\n<ng-template #links>\n <ul class=\"fr-links-group\">\n @for (item of downloads; track item) {\n <li>\n <dsfr-download\n [fileName]=\"item.fileName\"\n [label]=\"item.label\"\n [ariaLabel]=\"item.ariaLabel\"\n [link]=\"item.link\"\n [route]=\"item.route\"\n [mimeType]=\"item.mimeType\"\n [linkTarget]=\"item.linkTarget\"\n [sizeBytes]=\"item.sizeBytes\"\n [langCode]=\"item.langCode\"\n [assessFile]=\"item.assessFile ?? true\"\n [directDownload]=\"item.directDownload\"></dsfr-download>\n </li>\n }\n </ul>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DsfrDownloadComponent, selector: "dsfr-download", inputs: ["label", "ariaLabel", "link", "mimeType", "fileName", "sizeBytes", "langCode", "variant", "description", "assessFile", "directDownload", "route", "linkTarget", "sizeUnit"], outputs: ["downloadSelect"] }], encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrDownloadsGroupComponent, decorators: [{ type: Component, args: [{ selector: 'dsfr-downloads-group', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, DsfrDownloadComponent], template: "@if (heading) {\n <div class=\"fr-downloads-group\">\n @switch (headingLevel) {\n @case ('H2') {\n <h2 class=\"fr-downloads-group__title\">{{ heading }}</h2>\n }\n @case ('H3') {\n <h3 class=\"fr-downloads-group__title\">{{ heading }}</h3>\n }\n @case ('H5') {\n <h5 class=\"fr-downloads-group__title\">{{ heading }}</h5>\n }\n @case ('H6') {\n <h6 class=\"fr-downloads-group__title\">{{ heading }}</h6>\n }\n @default {\n <h4 class=\"fr-downloads-group__title\">{{ heading }}</h4>\n }\n }\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n} @else {\n <ul class=\"fr-links-group\">\n @for (item of downloads; track item) {\n <li>\n <dsfr-download\n [fileName]=\"item.fileName\"\n [label]=\"item.label\"\n [ariaLabel]=\"item.ariaLabel\"\n [link]=\"item.link\"\n [route]=\"item.route\"\n [mimeType]=\"item.mimeType\"\n [linkTarget]=\"item.linkTarget\"\n [sizeBytes]=\"item.sizeBytes\"\n [langCode]=\"item.langCode\"\n [directDownload]=\"item.directDownload\"></dsfr-download>\n </li>\n }\n </ul>\n}\n\n<ng-template #links>\n <ul class=\"fr-links-group\">\n @for (item of downloads; track item) {\n <li>\n <dsfr-download\n [fileName]=\"item.fileName\"\n [label]=\"item.label\"\n [ariaLabel]=\"item.ariaLabel\"\n [link]=\"item.link\"\n [route]=\"item.route\"\n [mimeType]=\"item.mimeType\"\n [linkTarget]=\"item.linkTarget\"\n [sizeBytes]=\"item.sizeBytes\"\n [langCode]=\"item.langCode\"\n [assessFile]=\"item.assessFile ?? true\"\n [directDownload]=\"item.directDownload\"></dsfr-download>\n </li>\n }\n </ul>\n</ng-template>\n" }] }], propDecorators: { heading: [{ type: Input }], headingLevel: [{ type: Input }], downloads: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWRzLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Rvd25sb2Fkcy1ncm91cC9kb3dubG9hZHMtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZG93bmxvYWRzLWdyb3VwL2Rvd25sb2Fkcy1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBU2xFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBWnhDO1FBbUJFLHFDQUFxQztRQUM1QixjQUFTLEdBQW1CLEVBQUUsQ0FBQztLQUN6QzsrR0FUWSwyQkFBMkI7bUdBQTNCLDJCQUEyQixzS0NoQnhDLDAxREE2REEsMkNEcERZLFlBQVksc01BQUUscUJBQXFCOzs0RkFPbEMsMkJBQTJCO2tCQVp2QyxTQUFTOytCQUNFLHNCQUFzQixpQkFFakIsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUM7OEJBU3JDLE9BQU87c0JBQWYsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERzZnJEb3dubG9hZCwgRHNmckRvd25sb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vZG93bmxvYWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkc2ZyLWRvd25sb2Fkcy1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3dubG9hZHMtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEc2ZyRG93bmxvYWRDb21wb25lbnRdLFxufSlcbi8qKlxuICogQ2UgY29tcG9zYW50IHBlcm1ldCBkZSBwcm9wb3NlciB1bmUgbGlzdGUgZGUgcGx1c2lldXJzIHTDqWzDqWNoYXJnZW1lbnRzLiBMZXMgdMOpbMOpY2hhcmdlbWVudHMgc29udCBkZXMgbGllbnNcbiAqIHByw6lzZW50w6lzIHNvdXMgZm9ybWUgZGUgbGlzdGUgYXZlYyBkZXMgcHVjZXMuIFVuIGxpZW4gbmUgcGV1dCBwYXMgw6p0cmUgdW4gYmxvYy4gTGEgZGVzY3JpcHRpb24gZGVzIGxpZW5zIGVzdCBmYWl0ZVxuICogc291cyBmb3JtZSBkZSB0YWJsZWF1LlxuICovXG5leHBvcnQgY2xhc3MgRHNmckRvd25sb2Fkc0dyb3VwQ29tcG9uZW50IHtcbiAgLyoqIEBkZXByZWNhdGVkIFRpdHJlIGR1IGdyb3VwZSBkZSBmaWNoaWVycyAoZmFjdWx0YXRpZikuICovXG4gIEBJbnB1dCgpIGhlYWRpbmc6IHN0cmluZztcblxuICAvKiogQGRlcHJlY2F0ZWQgTml2ZWF1IGRlIHRpdHJlLCAnPGg0PicgcGFyIGTDqWZhdXQuICovXG4gIEBJbnB1dCgpIGhlYWRpbmdMZXZlbDogc3RyaW5nO1xuXG4gIC8qKiBUYWJsZWF1IGRlcyBmaWNoaWVycyDDoCBsaXN0ZXIuICovXG4gIEBJbnB1dCgpIGRvd25sb2FkczogRHNmckRvd25sb2FkW10gPSBbXTtcbn1cbiIsIkBpZiAoaGVhZGluZykge1xuICA8ZGl2IGNsYXNzPVwiZnItZG93bmxvYWRzLWdyb3VwXCI+XG4gICAgQHN3aXRjaCAoaGVhZGluZ0xldmVsKSB7XG4gICAgICBAY2FzZSAoJ0gyJykge1xuICAgICAgICA8aDIgY2xhc3M9XCJmci1kb3dubG9hZHMtZ3JvdXBfX3RpdGxlXCI+e3sgaGVhZGluZyB9fTwvaDI+XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ0gzJykge1xuICAgICAgICA8aDMgY2xhc3M9XCJmci1kb3dubG9hZHMtZ3JvdXBfX3RpdGxlXCI+e3sgaGVhZGluZyB9fTwvaDM+XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ0g1Jykge1xuICAgICAgICA8aDUgY2xhc3M9XCJmci1kb3dubG9hZHMtZ3JvdXBfX3RpdGxlXCI+e3sgaGVhZGluZyB9fTwvaDU+XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ0g2Jykge1xuICAgICAgICA8aDYgY2xhc3M9XCJmci1kb3dubG9hZHMtZ3JvdXBfX3RpdGxlXCI+e3sgaGVhZGluZyB9fTwvaDY+XG4gICAgICB9XG4gICAgICBAZGVmYXVsdCB7XG4gICAgICAgIDxoNCBjbGFzcz1cImZyLWRvd25sb2Fkcy1ncm91cF9fdGl0bGVcIj57eyBoZWFkaW5nIH19PC9oND5cbiAgICAgIH1cbiAgICB9XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtzXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxufSBAZWxzZSB7XG4gIDx1bCBjbGFzcz1cImZyLWxpbmtzLWdyb3VwXCI+XG4gICAgQGZvciAoaXRlbSBvZiBkb3dubG9hZHM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgIDxsaT5cbiAgICAgICAgPGRzZnItZG93bmxvYWRcbiAgICAgICAgICBbZmlsZU5hbWVdPVwiaXRlbS5maWxlTmFtZVwiXG4gICAgICAgICAgW2xhYmVsXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgIFthcmlhTGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgIFtsaW5rXT1cIml0ZW0ubGlua1wiXG4gICAgICAgICAgW3JvdXRlXT1cIml0ZW0ucm91dGVcIlxuICAgICAgICAgIFttaW1lVHlwZV09XCJpdGVtLm1pbWVUeXBlXCJcbiAgICAgICAgICBbbGlua1RhcmdldF09XCJpdGVtLmxpbmtUYXJnZXRcIlxuICAgICAgICAgIFtzaXplQnl0ZXNdPVwiaXRlbS5zaXplQnl0ZXNcIlxuICAgICAgICAgIFtsYW5nQ29kZV09XCJpdGVtLmxhbmdDb2RlXCJcbiAgICAgICAgICBbZGlyZWN0RG93bmxvYWRdPVwiaXRlbS5kaXJlY3REb3dubG9hZFwiPjwvZHNmci1kb3dubG9hZD5cbiAgICAgIDwvbGk+XG4gICAgfVxuICA8L3VsPlxufVxuXG48bmctdGVtcGxhdGUgI2xpbmtzPlxuICA8dWwgY2xhc3M9XCJmci1saW5rcy1ncm91cFwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgZG93bmxvYWRzOyB0cmFjayBpdGVtKSB7XG4gICAgICA8bGk+XG4gICAgICAgIDxkc2ZyLWRvd25sb2FkXG4gICAgICAgICAgW2ZpbGVOYW1lXT1cIml0ZW0uZmlsZU5hbWVcIlxuICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICBbYXJpYUxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsXCJcbiAgICAgICAgICBbbGlua109XCJpdGVtLmxpbmtcIlxuICAgICAgICAgIFtyb3V0ZV09XCJpdGVtLnJvdXRlXCJcbiAgICAgICAgICBbbWltZVR5cGVdPVwiaXRlbS5taW1lVHlwZVwiXG4gICAgICAgICAgW2xpbmtUYXJnZXRdPVwiaXRlbS5saW5rVGFyZ2V0XCJcbiAgICAgICAgICBbc2l6ZUJ5dGVzXT1cIml0ZW0uc2l6ZUJ5dGVzXCJcbiAgICAgICAgICBbbGFuZ0NvZGVdPVwiaXRlbS5sYW5nQ29kZVwiXG4gICAgICAgICAgW2Fzc2Vzc0ZpbGVdPVwiaXRlbS5hc3Nlc3NGaWxlID8/IHRydWVcIlxuICAgICAgICAgIFtkaXJlY3REb3dubG9hZF09XCJpdGVtLmRpcmVjdERvd25sb2FkXCI+PC9kc2ZyLWRvd25sb2FkPlxuICAgICAgPC9saT5cbiAgICB9XG4gIDwvdWw+XG48L25nLXRlbXBsYXRlPlxuIl19