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

51 lines 6.36 kB
import { Component, Directive, Input } from '@angular/core'; import { newUniqueId } from '../../shared'; import * as i0 from "@angular/core"; class TooltipComponent { constructor() { this.tooltipId = newUniqueId(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TooltipComponent, isStandalone: true, selector: "edu-tooltip", ngImport: i0, template: `<span class="fr-tooltip fr-placement" [id]="tooltipId" role="tooltip" [innerHTML]="message"></span>`, isInline: true }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipComponent, decorators: [{ type: Component, args: [{ selector: 'edu-tooltip', template: `<span class="fr-tooltip fr-placement" [id]="tooltipId" role="tooltip" [innerHTML]="message"></span>`, standalone: true, imports: [], }] }] }); export class DsfrTooltipDirective { constructor(elementRef, viewContainer) { this.elementRef = elementRef; this.viewContainer = viewContainer; // Composant const tooltipRef = this.viewContainer.createComponent(TooltipComponent); // @ts-ignore this.tooltipComponent = tooltipRef.instance; // Tooltip id const nativeElt = this.elementRef.nativeElement; nativeElt.setAttribute('aria-describedby', this.tooltipComponent.tooltipId); // Message textuel const message = nativeElt.getAttribute('tooltip'); if (message) this.tooltip = message; } set tooltip(value) { this.tooltipComponent.message = value; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DsfrTooltipDirective, isStandalone: true, selector: "[tooltip]", inputs: { tooltip: "tooltip" }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrTooltipDirective, decorators: [{ type: Directive, args: [{ selector: '[tooltip]', standalone: true, }] }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }], propDecorators: { tooltip: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHNmci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFM0MsTUFNTSxnQkFBZ0I7SUFOdEI7UUFRRSxjQUFTLEdBQUcsV0FBVyxFQUFFLENBQUM7S0FDM0I7K0dBSEssZ0JBQWdCO21HQUFoQixnQkFBZ0IsdUVBSlYscUdBQXFHOzs0RkFJM0csZ0JBQWdCO2tCQU5yQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUscUdBQXFHO29CQUMvRyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7aUJBQ1o7O0FBVUQsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUNVLFVBQXNCLEVBQ3RCLGFBQStCO1FBRC9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLFlBQVk7UUFDWixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBbUIsZ0JBQWdCLENBQUMsQ0FBQztRQUMxRixhQUFhO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFvQyxVQUFXLENBQUMsUUFBUSxDQUFDO1FBRTlFLGFBQWE7UUFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUNoRCxTQUFTLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1RSxrQkFBa0I7UUFDbEIsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRCxJQUFJLE9BQU87WUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDOytHQXZCVSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhHQXNCYyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBuZXdVbmlxdWVJZCB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VkdS10b29sdGlwJyxcbiAgdGVtcGxhdGU6IGA8c3BhbiBjbGFzcz1cImZyLXRvb2x0aXAgZnItcGxhY2VtZW50XCIgW2lkXT1cInRvb2x0aXBJZFwiIHJvbGU9XCJ0b29sdGlwXCIgW2lubmVySFRNTF09XCJtZXNzYWdlXCI+PC9zcGFuPmAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxufSlcbmNsYXNzIFRvb2x0aXBDb21wb25lbnQge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHRvb2x0aXBJZCA9IG5ld1VuaXF1ZUlkKCk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0b29sdGlwXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERzZnJUb29sdGlwRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSB0b29sdGlwQ29tcG9uZW50OiBUb29sdGlwQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICkge1xuICAgIC8vIENvbXBvc2FudFxuICAgIGNvbnN0IHRvb2x0aXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50PFRvb2x0aXBDb21wb25lbnQ+KFRvb2x0aXBDb21wb25lbnQpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLnRvb2x0aXBDb21wb25lbnQgPSAoPENvbXBvbmVudFJlZjxUb29sdGlwQ29tcG9uZW50Pj50b29sdGlwUmVmKS5pbnN0YW5jZTtcblxuICAgIC8vIFRvb2x0aXAgaWRcbiAgICBjb25zdCBuYXRpdmVFbHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBuYXRpdmVFbHQuc2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5JywgdGhpcy50b29sdGlwQ29tcG9uZW50LnRvb2x0aXBJZCk7XG5cbiAgICAvLyBNZXNzYWdlIHRleHR1ZWxcbiAgICBjb25zdCBtZXNzYWdlID0gbmF0aXZlRWx0LmdldEF0dHJpYnV0ZSgndG9vbHRpcCcpO1xuICAgIGlmIChtZXNzYWdlKSB0aGlzLnRvb2x0aXAgPSBtZXNzYWdlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHRvb2x0aXAodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudG9vbHRpcENvbXBvbmVudC5tZXNzYWdlID0gdmFsdWU7XG4gIH1cbn1cbiJdfQ==