@edugouvfr/ngx-dsfr-ext
Version:
NgxDsfrExt est une extension au package @edugouvfr/ngx-dsfr (portage Angular des éléments DSFR)
27 lines • 9.74 kB
JavaScript
import { Component, Input, ViewEncapsulation } from '@angular/core';
import { DsfrButtonModule, DsfrButtonsGroupModule, DsfrCardModule, } from '@edugouvfr/ngx-dsfr';
import * as i0 from "@angular/core";
import * as i1 from "@edugouvfr/ngx-dsfr";
export class DsfrTimelineComponent {
constructor() {
/**
* Liste d'évènements.
*/
this.events = [];
}
/** @internal */
performAction(action) {
if (action.callback) {
action.callback();
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DsfrTimelineComponent, isStandalone: true, selector: "dsfr-ext-timeline, dsfrx-timeline", inputs: { events: "events" }, ngImport: i0, template: "<ol class=\"dsfrx-timeline-container\">\n @for (event of events; track event) {\n <li class=\"timeline--bloc\">\n <dsfr-card\n [heading]=\"event.heading\"\n [headingLevel]=\"event.headingLevel || ''\"\n [description]=\"event.description ? event.description : ''\"\n [badges]=\"event.badges ? event.badges : []\"\n [hasFooter]=\"true\">\n @if (event.actions && event.actions.length > 0) {\n <dsfr-buttons-group footer inline=\"always\">\n @for (action of event.actions; track action) {\n <dsfr-button\n [label]=\"action.label\"\n [icon]=\"action?.icon\"\n variant=\"secondary\"\n [disabled]=\"action?.disabled || false\"\n (click)=\"performAction(action)\"></dsfr-button>\n }\n </dsfr-buttons-group>\n }\n </dsfr-card>\n </li>\n }\n</ol>\n", styles: [".dsfrx-timeline-container{margin:0;padding:0;list-style:none}.dsfrx-timeline-container .timeline--bloc{margin-left:1rem;padding-left:2rem;padding-bottom:1rem;border-left:6px solid var(--background-active-blue-france);box-sizing:border-box;position:relative}.dsfrx-timeline-container .timeline--bloc:before{content:\"\";position:absolute;left:0;top:2rem;transform:translate(calc(-.75rem - 1px));width:1.25rem;height:1.25rem;border-radius:.75rem;background-color:var(--background-active-blue-france)}.dsfrx-timeline-container .timeline--bloc::marker{content:none}@media screen and (max-width: 48em){.dsfrx-timeline-container .timeline--bloc{margin-left:.05rem;padding-left:1rem}}\n"], dependencies: [{ kind: "ngmodule", type: DsfrCardModule }, { kind: "component", type: i1.DsfrCardComponent, selector: "dsfr-card", inputs: ["badgesOnMedia", "detail", "detailIcon", "detailBottomIcon", "hasFooter", "imageAlt", "imageFit", "imagePath", "imageRatio", "noIcon", "imageType", "isDownloadButton"], outputs: ["cardSelect"] }, { kind: "ngmodule", type: DsfrButtonModule }, { kind: "component", type: i1.DsfrButtonComponent, selector: "dsfr-button", inputs: ["label", "type", "tooltipMessage", "variant", "buttonSize", "icon", "iconPosition", "disabled", "uppercase", "loader", "ariaLabel", "invertedOutlineContrast", "id", "buttonId", "ariaControls", "ariaPressed", "ariaHasPopup", "ariaExpanded", "tabIndex", "customClass", "buttonRole", "labelSrOnly", "size"] }, { kind: "ngmodule", type: DsfrButtonsGroupModule }, { kind: "component", type: i1.DsfrButtonsGroupComponent, selector: "dsfr-buttons-group", inputs: ["inline", "alignment", "equisized", "buttonGroupSize", "groupMarkup", "size", "iconPosition"] }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrTimelineComponent, decorators: [{
type: Component,
args: [{ selector: 'dsfr-ext-timeline, dsfrx-timeline', encapsulation: ViewEncapsulation.None, standalone: true, imports: [DsfrCardModule, DsfrButtonModule, DsfrButtonsGroupModule], template: "<ol class=\"dsfrx-timeline-container\">\n @for (event of events; track event) {\n <li class=\"timeline--bloc\">\n <dsfr-card\n [heading]=\"event.heading\"\n [headingLevel]=\"event.headingLevel || ''\"\n [description]=\"event.description ? event.description : ''\"\n [badges]=\"event.badges ? event.badges : []\"\n [hasFooter]=\"true\">\n @if (event.actions && event.actions.length > 0) {\n <dsfr-buttons-group footer inline=\"always\">\n @for (action of event.actions; track action) {\n <dsfr-button\n [label]=\"action.label\"\n [icon]=\"action?.icon\"\n variant=\"secondary\"\n [disabled]=\"action?.disabled || false\"\n (click)=\"performAction(action)\"></dsfr-button>\n }\n </dsfr-buttons-group>\n }\n </dsfr-card>\n </li>\n }\n</ol>\n", styles: [".dsfrx-timeline-container{margin:0;padding:0;list-style:none}.dsfrx-timeline-container .timeline--bloc{margin-left:1rem;padding-left:2rem;padding-bottom:1rem;border-left:6px solid var(--background-active-blue-france);box-sizing:border-box;position:relative}.dsfrx-timeline-container .timeline--bloc:before{content:\"\";position:absolute;left:0;top:2rem;transform:translate(calc(-.75rem - 1px));width:1.25rem;height:1.25rem;border-radius:.75rem;background-color:var(--background-active-blue-france)}.dsfrx-timeline-container .timeline--bloc::marker{content:none}@media screen and (max-width: 48em){.dsfrx-timeline-container .timeline--bloc{margin-left:.05rem;padding-left:1rem}}\n"] }]
}], propDecorators: { events: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItZXh0L3NyYy9saWIvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItZXh0L3NyYy9saWIvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsY0FBYyxHQUdmLE1BQU0scUJBQXFCLENBQUM7OztBQXVCN0IsTUFBTSxPQUFPLHFCQUFxQjtJQVJsQztRQVNFOztXQUVHO1FBQ00sV0FBTSxHQUF3QixFQUFFLENBQUM7S0FRM0M7SUFOQyxnQkFBZ0I7SUFDaEIsYUFBYSxDQUFDLE1BQTBCO1FBQ3RDLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQzsrR0FYVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiwySEMvQmxDLHU2QkF5QkEsZ3VCRElZLGNBQWMsbVRBQUUsZ0JBQWdCLHNhQUFFLHNCQUFzQjs7NEZBRXZELHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxtQ0FBbUMsaUJBRzlCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDOzhCQU0xRCxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRHNmckJhZGdlLFxuICBEc2ZyQnV0dG9uTW9kdWxlLFxuICBEc2ZyQnV0dG9uc0dyb3VwTW9kdWxlLFxuICBEc2ZyQ2FyZE1vZHVsZSxcbiAgRHNmckhlYWRpbmdMZXZlbCxcbiAgRHNmck1vZGFsQWN0aW9uLFxufSBmcm9tICdAZWR1Z291dmZyL25neC1kc2ZyJztcblxuLy9UT0RPOiBkYW5zIG5neC1kc2ZyLCBzb3J0aXIgRHNmck1vZGFsQWN0aW9uIHBvdXIgbGUgcGFydGFnZXIgZW50cmUgbGEgbW9kYWxlIGV0IGxhIHRpbWVsaW5lIChzaGFyZWRfYmFrICsgcHVibGljLWFwaSkuXG5leHBvcnQgaW50ZXJmYWNlIERzZnJUaW1lbGluZUFjdGlvbiBleHRlbmRzIERzZnJNb2RhbEFjdGlvbiB7XG4gIGRpc2FibGVkPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEc2ZyVGltZWxpbmVFdmVudCB7XG4gIGhlYWRpbmc6IHN0cmluZztcbiAgaGVhZGluZ0xldmVsPzogRHNmckhlYWRpbmdMZXZlbDtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGJhZGdlcz86IERzZnJCYWRnZVtdO1xuICBhY3Rpb25zPzogRHNmclRpbWVsaW5lQWN0aW9uW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RzZnItZXh0LXRpbWVsaW5lLCBkc2ZyeC10aW1lbGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lbGluZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWVsaW5lLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0RzZnJDYXJkTW9kdWxlLCBEc2ZyQnV0dG9uTW9kdWxlLCBEc2ZyQnV0dG9uc0dyb3VwTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHNmclRpbWVsaW5lQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIExpc3RlIGQnw6l2w6huZW1lbnRzLlxuICAgKi9cbiAgQElucHV0KCkgZXZlbnRzOiBEc2ZyVGltZWxpbmVFdmVudFtdID0gW107XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwZXJmb3JtQWN0aW9uKGFjdGlvbjogRHNmclRpbWVsaW5lQWN0aW9uKTogdm9pZCB7XG4gICAgaWYgKGFjdGlvbi5jYWxsYmFjaykge1xuICAgICAgYWN0aW9uLmNhbGxiYWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCI8b2wgY2xhc3M9XCJkc2ZyeC10aW1lbGluZS1jb250YWluZXJcIj5cbiAgQGZvciAoZXZlbnQgb2YgZXZlbnRzOyB0cmFjayBldmVudCkge1xuICAgIDxsaSBjbGFzcz1cInRpbWVsaW5lLS1ibG9jXCI+XG4gICAgICA8ZHNmci1jYXJkXG4gICAgICAgIFtoZWFkaW5nXT1cImV2ZW50LmhlYWRpbmdcIlxuICAgICAgICBbaGVhZGluZ0xldmVsXT1cImV2ZW50LmhlYWRpbmdMZXZlbCB8fCAnJ1wiXG4gICAgICAgIFtkZXNjcmlwdGlvbl09XCJldmVudC5kZXNjcmlwdGlvbiA/IGV2ZW50LmRlc2NyaXB0aW9uIDogJydcIlxuICAgICAgICBbYmFkZ2VzXT1cImV2ZW50LmJhZGdlcyA/IGV2ZW50LmJhZGdlcyA6IFtdXCJcbiAgICAgICAgW2hhc0Zvb3Rlcl09XCJ0cnVlXCI+XG4gICAgICAgIEBpZiAoZXZlbnQuYWN0aW9ucyAmJiBldmVudC5hY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICA8ZHNmci1idXR0b25zLWdyb3VwIGZvb3RlciBpbmxpbmU9XCJhbHdheXNcIj5cbiAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBldmVudC5hY3Rpb25zOyB0cmFjayBhY3Rpb24pIHtcbiAgICAgICAgICAgICAgPGRzZnItYnV0dG9uXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiYWN0aW9uPy5pY29uXCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uPy5kaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24oYWN0aW9uKVwiPjwvZHNmci1idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kc2ZyLWJ1dHRvbnMtZ3JvdXA+XG4gICAgICAgIH1cbiAgICAgIDwvZHNmci1jYXJkPlxuICAgIDwvbGk+XG4gIH1cbjwvb2w+XG4iXX0=