@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).
43 lines • 7.79 kB
JavaScript
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class EduPageLinkComponent {
constructor() {
this.active = false;
this.disabled = false;
this.pageSelectEvent = new EventEmitter();
}
get tooltipMessage() {
return this._tooltipMessage ? this._tooltipMessage : this.label;
}
set tooltipMessage(value) {
this._tooltipMessage = value;
}
onPage(event, pageNum) {
event.preventDefault();
this.pageSelectEvent.emit(pageNum);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EduPageLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EduPageLinkComponent, selector: "edu-page-link", inputs: { active: "active", customClass: "customClass", disabled: "disabled", label: "label", labelCustomClass: "labelCustomClass", num: "num", tooltipMessage: "tooltipMessage" }, outputs: { pageSelectEvent: "pageSelectEvent" }, ngImport: i0, template: "<!-- ici on utilise des boutons a la place des liens pour l'accessibilit\u00E9 (pas de href) -->\n<button\n class=\"fr-pagination__link\"\n [ngClass]=\"customClass ? customClass : ''\"\n [attr.aria-current]=\"active ? 'page' : null\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"tooltipMessage || null\"\n (click)=\"onPage($event, num)\">\n <span *ngIf=\"label\" [class]=\"labelCustomClass || null\">{{ label }}</span>\n</button>\n", styles: ["@media (max-width: 36em){/*! media sm et xs */.fr-pagination__link{line-height:normal;min-height:auto;padding:.25rem 6px;min-width:auto;margin-bottom:.25rem}.fr-pagination__link,.fr-pagination__link--first:before,.fr-pagination__link--prev:before,.fr-pagination__link--next:before,.fr-pagination__link--last:before{margin-left:1px;margin-right:1px}.fr-pagination__link--first,.fr-pagination__link--prev,.fr-pagination__link--next,.fr-pagination__link--last{padding-left:.1rem;padding-right:.1rem}.label-sm{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EduPageLinkComponent, decorators: [{
type: Component,
args: [{ selector: 'edu-page-link', encapsulation: ViewEncapsulation.None, template: "<!-- ici on utilise des boutons a la place des liens pour l'accessibilit\u00E9 (pas de href) -->\n<button\n class=\"fr-pagination__link\"\n [ngClass]=\"customClass ? customClass : ''\"\n [attr.aria-current]=\"active ? 'page' : null\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"tooltipMessage || null\"\n (click)=\"onPage($event, num)\">\n <span *ngIf=\"label\" [class]=\"labelCustomClass || null\">{{ label }}</span>\n</button>\n", styles: ["@media (max-width: 36em){/*! media sm et xs */.fr-pagination__link{line-height:normal;min-height:auto;padding:.25rem 6px;min-width:auto;margin-bottom:.25rem}.fr-pagination__link,.fr-pagination__link--first:before,.fr-pagination__link--prev:before,.fr-pagination__link--next:before,.fr-pagination__link--last:before{margin-left:1px;margin-right:1px}.fr-pagination__link--first,.fr-pagination__link--prev,.fr-pagination__link--next,.fr-pagination__link--last{padding-left:.1rem;padding-right:.1rem}.label-sm{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}\n"] }]
}], propDecorators: { active: [{
type: Input
}], customClass: [{
type: Input
}], disabled: [{
type: Input
}], label: [{
type: Input
}], labelCustomClass: [{
type: Input
}], num: [{
type: Input
}], pageSelectEvent: [{
type: Output
}], tooltipMessage: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnZS1saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnZS1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExRixNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBT1csV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFJaEIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBZXhEO0lBWkMsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBYSxjQUFjLENBQUMsS0FBYTtRQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVksRUFBRSxPQUFlO1FBQ2xDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQXJCVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwwUkNSakMsMmJBVUE7OzRGREZhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFPTSxjQUFjO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VkdS1wYWdlLWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1saW5rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnZS1saW5rLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEVkdVBhZ2VMaW5rQ29tcG9uZW50IHtcbiAgQElucHV0KCkgYWN0aXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsQ3VzdG9tQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KCkgbnVtOiBudW1iZXI7XG4gIEBPdXRwdXQoKSBwYWdlU2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgcHJpdmF0ZSBfdG9vbHRpcE1lc3NhZ2U6IHN0cmluZztcblxuICBnZXQgdG9vbHRpcE1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdG9vbHRpcE1lc3NhZ2UgPyB0aGlzLl90b29sdGlwTWVzc2FnZSA6IHRoaXMubGFiZWw7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgdG9vbHRpcE1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3Rvb2x0aXBNZXNzYWdlID0gdmFsdWU7XG4gIH1cblxuICBvblBhZ2UoZXZlbnQ6IEV2ZW50LCBwYWdlTnVtOiBudW1iZXIpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucGFnZVNlbGVjdEV2ZW50LmVtaXQocGFnZU51bSk7XG4gIH1cbn1cbiIsIjwhLS0gaWNpIG9uIHV0aWxpc2UgZGVzIGJvdXRvbnMgYSBsYSBwbGFjZSBkZXMgbGllbnMgcG91ciBsJ2FjY2Vzc2liaWxpdMOpIChwYXMgZGUgaHJlZikgLS0+XG48YnV0dG9uXG4gIGNsYXNzPVwiZnItcGFnaW5hdGlvbl9fbGlua1wiXG4gIFtuZ0NsYXNzXT1cImN1c3RvbUNsYXNzID8gY3VzdG9tQ2xhc3MgOiAnJ1wiXG4gIFthdHRyLmFyaWEtY3VycmVudF09XCJhY3RpdmUgPyAncGFnZScgOiBudWxsXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sdGlwTWVzc2FnZSB8fCBudWxsXCJcbiAgKGNsaWNrKT1cIm9uUGFnZSgkZXZlbnQsIG51bSlcIj5cbiAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiIFtjbGFzc109XCJsYWJlbEN1c3RvbUNsYXNzIHx8IG51bGxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19