@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).
44 lines • 8.19 kB
JavaScript
import { CommonModule } from '@angular/common';
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: "18.2.13", ngImport: i0, type: EduPageLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EduPageLinkComponent, isStandalone: true, 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 type=\"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 @if (label) {\n <span [class]=\"labelCustomClass || null\">{{ label }}</span>\n }\n</button>\n", styles: ["@media (max-width: 36em){.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/*! media sm et xs */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EduPageLinkComponent, decorators: [{
type: Component,
args: [{ selector: 'edu-page-link', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], template: "<!-- ici on utilise des boutons a la place des liens pour l'accessibilit\u00E9 (pas de href) -->\n<button\n type=\"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 @if (label) {\n <span [class]=\"labelCustomClass || null\">{{ label }}</span>\n }\n</button>\n", styles: ["@media (max-width: 36em){.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/*! media sm et xs */\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnZS1saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnZS1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVMUYsTUFBTSxPQUFPLG9CQUFvQjtJQVJqQztRQVNXLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWhCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQWV4RDtJQVpDLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQWEsY0FBYyxDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFZLEVBQUUsT0FBZTtRQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0FyQlUsb0JBQW9CO21HQUFwQixvQkFBb0IsOFNDWGpDLHNkQWFBLG9yQkRKWSxZQUFZOzs0RkFFWCxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFHZCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBT00sY0FBYztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWR1LXBhZ2UtbGluaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdlLWxpbmsuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVkdVBhZ2VMaW5rQ29tcG9uZW50IHtcbiAgQElucHV0KCkgYWN0aXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsQ3VzdG9tQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KCkgbnVtOiBudW1iZXI7XG4gIEBPdXRwdXQoKSBwYWdlU2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgcHJpdmF0ZSBfdG9vbHRpcE1lc3NhZ2U6IHN0cmluZztcblxuICBnZXQgdG9vbHRpcE1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdG9vbHRpcE1lc3NhZ2UgPyB0aGlzLl90b29sdGlwTWVzc2FnZSA6IHRoaXMubGFiZWw7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgdG9vbHRpcE1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3Rvb2x0aXBNZXNzYWdlID0gdmFsdWU7XG4gIH1cblxuICBvblBhZ2UoZXZlbnQ6IEV2ZW50LCBwYWdlTnVtOiBudW1iZXIpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucGFnZVNlbGVjdEV2ZW50LmVtaXQocGFnZU51bSk7XG4gIH1cbn1cbiIsIjwhLS0gaWNpIG9uIHV0aWxpc2UgZGVzIGJvdXRvbnMgYSBsYSBwbGFjZSBkZXMgbGllbnMgcG91ciBsJ2FjY2Vzc2liaWxpdMOpIChwYXMgZGUgaHJlZikgLS0+XG48YnV0dG9uXG4gIHR5cGU9XCJidXR0b25cIlxuICBjbGFzcz1cImZyLXBhZ2luYXRpb25fX2xpbmtcIlxuICBbbmdDbGFzc109XCJjdXN0b21DbGFzcyA/IGN1c3RvbUNsYXNzIDogJydcIlxuICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYWN0aXZlID8gJ3BhZ2UnIDogbnVsbFwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbHRpcE1lc3NhZ2UgfHwgbnVsbFwiXG4gIChjbGljayk9XCJvblBhZ2UoJGV2ZW50LCBudW0pXCI+XG4gIEBpZiAobGFiZWwpIHtcbiAgICA8c3BhbiBbY2xhc3NdPVwibGFiZWxDdXN0b21DbGFzcyB8fCBudWxsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gIH1cbjwvYnV0dG9uPlxuIl19