@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 • 9.35 kB
JavaScript
import { CommonModule } from '@angular/common';
import { Component, Input, ViewEncapsulation } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
/**
* Permet de définir le titre de composant d'un niveau de titre de `<h2>` à `<h6>`, avec un niveau par défaut de `<h2>` à `<h6>` ou `<p>`.
* Ne permets pas la projection du titre.
*/
export class HeadingComponent {
/** @internal */
getLevel() {
return this.level ?? this.defaultLevel;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: HeadingComponent, isStandalone: true, selector: "edu-heading", inputs: { customClass: "customClass", heading: "heading", headingId: "headingId", level: "level", defaultLevel: "defaultLevel" }, ngImport: i0, template: "@switch (getLevel()) {\n @case ('H2') {\n <h2 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h2>\n }\n @case ('H3') {\n <h3 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h3>\n }\n @case ('H4') {\n <h4 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h4>\n }\n @case ('H5') {\n <h5 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h5>\n }\n @case ('H6') {\n <h6 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h6>\n }\n @case ('P') {\n <p [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </p>\n }\n @default {\n <p [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </p>\n }\n}\n\n<!-- FIXME ne plus utiliser outerhtml -->\n<ng-template #headingTemplate>\n @if (heading) {\n <span [outerHTML]=\"heading\"></span>\n } @else {\n <ng-content></ng-content>\n }\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadingComponent, decorators: [{
type: Component,
args: [{ selector: 'edu-heading', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], template: "@switch (getLevel()) {\n @case ('H2') {\n <h2 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h2>\n }\n @case ('H3') {\n <h3 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h3>\n }\n @case ('H4') {\n <h4 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h4>\n }\n @case ('H5') {\n <h5 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h5>\n }\n @case ('H6') {\n <h6 [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </h6>\n }\n @case ('P') {\n <p [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </p>\n }\n @default {\n <p [attr.id]=\"headingId || null\" [class]=\"customClass\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\"></ng-container>\n </p>\n }\n}\n\n<!-- FIXME ne plus utiliser outerhtml -->\n<ng-template #headingTemplate>\n @if (heading) {\n <span [outerHTML]=\"heading\"></span>\n } @else {\n <ng-content></ng-content>\n }\n</ng-template>\n" }]
}], propDecorators: { customClass: [{
type: Input
}], heading: [{
type: Input
}], headingId: [{
type: Input
}], level: [{
type: Input
}], defaultLevel: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHNmci1jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvaGVhZGluZy9oZWFkaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9oZWFkaW5nL2hlYWRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVcEU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsZ0JBQWdCO0lBQ2hCLFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN6QyxDQUFDOytHQW5CVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQix5TUNmN0IseTZDQThDQSwyQ0RyQ1ksWUFBWTs7NEZBTVgsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLGFBQWEsaUJBRVIsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBUWQsV0FBVztzQkFBbkIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHNmckhlYWRpbmdMZXZlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VkdS1oZWFkaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG4vKipcbiAqIFBlcm1ldCBkZSBkw6lmaW5pciBsZSB0aXRyZSBkZSBjb21wb3NhbnQgZCd1biBuaXZlYXUgZGUgdGl0cmUgZGUgYDxoMj5gIMOgIGA8aDY+YCwgYXZlYyB1biBuaXZlYXUgcGFyIGTDqWZhdXQgZGUgYDxoMj5gIMOgIGA8aDY+YCBvdSBgPHA+YC5cbiAqIE5lIHBlcm1ldHMgcGFzIGxhIHByb2plY3Rpb24gZHUgdGl0cmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBIZWFkaW5nQ29tcG9uZW50IHtcbiAgLyoqIENsYXNzZSBkdSB0aXRyZS4gKi9cbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IHN0cmluZztcblxuICAvKiogTGUgbGliZWxsw6kgZHUgdGl0cmUuICovXG4gIEBJbnB1dCgpIGhlYWRpbmc6IHN0cmluZztcblxuICAvKiogaWQgZHUgdGl0cmUgQHNpbmNlIDEuOSAqL1xuICBASW5wdXQoKSBoZWFkaW5nSWQ6IHN0cmluZztcblxuICAvKiogTGUgbml2ZWF1IGR1IHRpdHJlIGRhbnMgbGEgc3RydWN0dXJlLiAqL1xuICBASW5wdXQoKSBsZXZlbDogRHNmckhlYWRpbmdMZXZlbCB8IHVuZGVmaW5lZDtcblxuICAvKiogTml2ZWF1IHBhciBkw6lmYXV0IHNpICdsZXZlbCcgbidlc3QgcGFzIHJlbnNlaWduw6kuICovXG4gIEBJbnB1dCgpIGRlZmF1bHRMZXZlbDogRHNmckhlYWRpbmdMZXZlbCB8ICdQJztcblxuICAvKiogQGludGVybmFsICovXG4gIGdldExldmVsKCk6IERzZnJIZWFkaW5nTGV2ZWwgfCAnUCcge1xuICAgIHJldHVybiB0aGlzLmxldmVsID8/IHRoaXMuZGVmYXVsdExldmVsO1xuICB9XG59XG4iLCJAc3dpdGNoIChnZXRMZXZlbCgpKSB7XG4gIEBjYXNlICgnSDInKSB7XG4gICAgPGgyIFthdHRyLmlkXT1cImhlYWRpbmdJZCB8fCBudWxsXCIgW2NsYXNzXT1cImN1c3RvbUNsYXNzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGluZ1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9oMj5cbiAgfVxuICBAY2FzZSAoJ0gzJykge1xuICAgIDxoMyBbYXR0ci5pZF09XCJoZWFkaW5nSWQgfHwgbnVsbFwiIFtjbGFzc109XCJjdXN0b21DbGFzc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRpbmdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaDM+XG4gIH1cbiAgQGNhc2UgKCdINCcpIHtcbiAgICA8aDQgW2F0dHIuaWRdPVwiaGVhZGluZ0lkIHx8IG51bGxcIiBbY2xhc3NdPVwiY3VzdG9tQ2xhc3NcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkaW5nVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2g0PlxuICB9XG4gIEBjYXNlICgnSDUnKSB7XG4gICAgPGg1IFthdHRyLmlkXT1cImhlYWRpbmdJZCB8fCBudWxsXCIgW2NsYXNzXT1cImN1c3RvbUNsYXNzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGluZ1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9oNT5cbiAgfVxuICBAY2FzZSAoJ0g2Jykge1xuICAgIDxoNiBbYXR0ci5pZF09XCJoZWFkaW5nSWQgfHwgbnVsbFwiIFtjbGFzc109XCJjdXN0b21DbGFzc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRpbmdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaDY+XG4gIH1cbiAgQGNhc2UgKCdQJykge1xuICAgIDxwIFthdHRyLmlkXT1cImhlYWRpbmdJZCB8fCBudWxsXCIgW2NsYXNzXT1cImN1c3RvbUNsYXNzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGluZ1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9wPlxuICB9XG4gIEBkZWZhdWx0IHtcbiAgICA8cCBbYXR0ci5pZF09XCJoZWFkaW5nSWQgfHwgbnVsbFwiIFtjbGFzc109XCJjdXN0b21DbGFzc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRpbmdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvcD5cbiAgfVxufVxuXG48IS0tIEZJWE1FIG5lIHBsdXMgdXRpbGlzZXIgb3V0ZXJodG1sIC0tPlxuPG5nLXRlbXBsYXRlICNoZWFkaW5nVGVtcGxhdGU+XG4gIEBpZiAoaGVhZGluZykge1xuICAgIDxzcGFuIFtvdXRlckhUTUxdPVwiaGVhZGluZ1wiPjwvc3Bhbj5cbiAgfSBAZWxzZSB7XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19