@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).
52 lines • 6.66 kB
JavaScript
import { CommonModule } from '@angular/common';
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: "16.2.12", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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, dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", 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: [CommonModule],
}]
}] });
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: "16.2.12", 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: "16.2.12", type: DsfrTooltipDirective, isStandalone: true, selector: "[tooltip]", inputs: { tooltip: "tooltip" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DsfrTooltipDirective, decorators: [{
type: Directive,
args: [{
selector: '[tooltip]',
standalone: true,
}]
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { tooltip: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHNmci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRTNDLE1BTU0sZ0JBQWdCO0lBTnRCO1FBUUUsY0FBUyxHQUFHLFdBQVcsRUFBRSxDQUFDO0tBQzNCOytHQUhLLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHVFQUpWLHFHQUFxRywyREFFckcsWUFBWTs7NEZBRWxCLGdCQUFnQjtrQkFOckIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLHFHQUFxRztvQkFDL0csVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEI7O0FBVUQsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUNVLFVBQXNCLEVBQ3RCLGFBQStCO1FBRC9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLFlBQVk7UUFDWixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBbUIsZ0JBQWdCLENBQUMsQ0FBQztRQUMxRixhQUFhO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFvQyxVQUFXLENBQUMsUUFBUSxDQUFDO1FBRTlFLGFBQWE7UUFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUNoRCxTQUFTLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1RSxrQkFBa0I7UUFDbEIsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRCxJQUFJLE9BQU87WUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDOytHQXZCVSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2dJQXNCYyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbmV3VW5pcXVlSWQgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHUtdG9vbHRpcCcsXG4gIHRlbXBsYXRlOiBgPHNwYW4gY2xhc3M9XCJmci10b29sdGlwIGZyLXBsYWNlbWVudFwiIFtpZF09XCJ0b29sdGlwSWRcIiByb2xlPVwidG9vbHRpcFwiIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPjwvc3Bhbj5gLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5jbGFzcyBUb29sdGlwQ29tcG9uZW50IHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB0b29sdGlwSWQgPSBuZXdVbmlxdWVJZCgpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdG9vbHRpcF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEc2ZyVG9vbHRpcERpcmVjdGl2ZSB7XG4gIHByaXZhdGUgdG9vbHRpcENvbXBvbmVudDogVG9vbHRpcENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICApIHtcbiAgICAvLyBDb21wb3NhbnRcbiAgICBjb25zdCB0b29sdGlwUmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudDxUb29sdGlwQ29tcG9uZW50PihUb29sdGlwQ29tcG9uZW50KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy50b29sdGlwQ29tcG9uZW50ID0gKDxDb21wb25lbnRSZWY8VG9vbHRpcENvbXBvbmVudD4+dG9vbHRpcFJlZikuaW5zdGFuY2U7XG5cbiAgICAvLyBUb29sdGlwIGlkXG4gICAgY29uc3QgbmF0aXZlRWx0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbmF0aXZlRWx0LnNldEF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScsIHRoaXMudG9vbHRpcENvbXBvbmVudC50b29sdGlwSWQpO1xuXG4gICAgLy8gTWVzc2FnZSB0ZXh0dWVsXG4gICAgY29uc3QgbWVzc2FnZSA9IG5hdGl2ZUVsdC5nZXRBdHRyaWJ1dGUoJ3Rvb2x0aXAnKTtcbiAgICBpZiAobWVzc2FnZSkgdGhpcy50b29sdGlwID0gbWVzc2FnZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCB0b29sdGlwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvb2x0aXBDb21wb25lbnQubWVzc2FnZSA9IHZhbHVlO1xuICB9XG59XG4iXX0=