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

70 lines 7.27 kB
import { afterNextRender, Directive, ElementRef, HostBinding, inject, Input } from '@angular/core'; import { setFixedColumnPosition } from '../table.utils'; import * as i0 from "@angular/core"; /** * Directive affichage d'une cellule (alignements) */ export class DsfrCellDirective { constructor() { this.element = inject(ElementRef); afterNextRender(() => { if (this.cell?.fixed) { // double animation request pour bug webkit refresh requestAnimationFrame(() => { requestAnimationFrame(() => { setFixedColumnPosition(this.element.nativeElement, this.cell.fixedPosition); }); }); } }); } get isMultiline() { return this.cell?.allowWrap; } get isTopCell() { return this.cell?.verticalAlign === 'top'; } get isBottomCell() { return this.cell?.verticalAlign === 'bottom'; } get isCenterCell() { return this.cell?.textAlign === 'center'; } get isRightCell() { return this.cell?.textAlign === 'right'; } get isFixed() { return this.cell?.fixed; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DsfrCellDirective, isStandalone: true, selector: "[dsfrCell]", inputs: { cell: ["dsfrCell", "cell"] }, host: { properties: { "class.fr-cell--multiline": "this.isMultiline", "class.fr-cell--top": "this.isTopCell", "class.fr-cell--bottom": "this.isBottomCell", "class.fr-cell--center": "this.isCenterCell", "class.fr-cell--right": "this.isRightCell", "class.fr-cell--fixed": "this.isFixed" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrCellDirective, decorators: [{ type: Directive, args: [{ selector: '[dsfrCell]', standalone: true, }] }], ctorParameters: () => [], propDecorators: { cell: [{ type: Input, args: ['dsfrCell'] }], isMultiline: [{ type: HostBinding, args: ['class.fr-cell--multiline'] }], isTopCell: [{ type: HostBinding, args: ['class.fr-cell--top'] }], isBottomCell: [{ type: HostBinding, args: ['class.fr-cell--bottom'] }], isCenterCell: [{ type: HostBinding, args: ['class.fr-cell--center'] }], isRightCell: [{ type: HostBinding, args: ['class.fr-cell--right'] }], isFixed: [{ type: HostBinding, args: ['class.fr-cell--fixed'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHNmci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9kaXJlY3RpdmUvY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV4RDs7R0FFRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFLNUI7UUFGVSxZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBR3JDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNyQixtREFBbUQ7Z0JBQ25ELHFCQUFxQixDQUFDLEdBQUcsRUFBRTtvQkFDekIscUJBQXFCLENBQUMsR0FBRyxFQUFFO3dCQUN6QixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQTRCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDN0YsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsS0FBSyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQ0ksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhLEtBQUssUUFBUSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxLQUFLLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsS0FBSyxPQUFPLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7SUFDMUIsQ0FBQzsrR0E5Q1UsaUJBQWlCO21HQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt3REFFb0IsSUFBSTtzQkFBdEIsS0FBSzt1QkFBQyxVQUFVO2dCQWtCYixXQUFXO3NCQURkLFdBQVc7dUJBQUMsMEJBQTBCO2dCQU1uQyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU03QixZQUFZO3NCQURmLFdBQVc7dUJBQUMsdUJBQXVCO2dCQU1oQyxZQUFZO3NCQURmLFdBQVc7dUJBQUMsdUJBQXVCO2dCQU1oQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsc0JBQXNCO2dCQU0vQixPQUFPO3NCQURWLFdBQVc7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEc2ZyQ2VsbE9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBzZXRGaXhlZENvbHVtblBvc2l0aW9uIH0gZnJvbSAnLi4vdGFibGUudXRpbHMnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSBhZmZpY2hhZ2UgZCd1bmUgY2VsbHVsZSAoYWxpZ25lbWVudHMpXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkc2ZyQ2VsbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEc2ZyQ2VsbERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnZHNmckNlbGwnKSBjZWxsOiBEc2ZyQ2VsbE9wdGlvbnM7XG5cbiAgcHJvdGVjdGVkIGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmNlbGw/LmZpeGVkKSB7XG4gICAgICAgIC8vIGRvdWJsZSBhbmltYXRpb24gcmVxdWVzdCBwb3VyIGJ1ZyB3ZWJraXQgcmVmcmVzaFxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICBzZXRGaXhlZENvbHVtblBvc2l0aW9uKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzLmNlbGwuZml4ZWRQb3NpdGlvbik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mci1jZWxsLS1tdWx0aWxpbmUnKVxuICBnZXQgaXNNdWx0aWxpbmUoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbD8uYWxsb3dXcmFwO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mci1jZWxsLS10b3AnKVxuICBnZXQgaXNUb3BDZWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNlbGw/LnZlcnRpY2FsQWxpZ24gPT09ICd0b3AnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mci1jZWxsLS1ib3R0b20nKVxuICBnZXQgaXNCb3R0b21DZWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNlbGw/LnZlcnRpY2FsQWxpZ24gPT09ICdib3R0b20nO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mci1jZWxsLS1jZW50ZXInKVxuICBnZXQgaXNDZW50ZXJDZWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNlbGw/LnRleHRBbGlnbiA9PT0gJ2NlbnRlcic7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZyLWNlbGwtLXJpZ2h0JylcbiAgZ2V0IGlzUmlnaHRDZWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNlbGw/LnRleHRBbGlnbiA9PT0gJ3JpZ2h0JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnItY2VsbC0tZml4ZWQnKVxuICBnZXQgaXNGaXhlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jZWxsPy5maXhlZDtcbiAgfVxufVxuIl19