@edugouvfr/ngx-dsfr-ext
Version:
NgxDsfrExt est une extension au package @edugouvfr/ngx-dsfr (portage Angular des éléments DSFR)
43 lines • 8.93 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 EduCheckboxComponent {
constructor() {
/* Etat de la checkbox */
this.selected = false;
/* Checkbox désactivée, faux par défaut */
this.disabled = false;
/* Evenement émis lors du clic sur la checkbox */
this.checkboxClick = new EventEmitter();
}
/**@internal */
onClick(event) {
this.checkboxClick.emit(event);
}
/**@internal */
isIndeterminate() {
return this.selected === undefined;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EduCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EduCheckboxComponent, isStandalone: true, selector: "dsfr-ext-checkbox, dsfrx-checkbox", inputs: { id: "id", label: "label", selected: "selected", tabIndex: "tabIndex", disabled: "disabled", icon: "icon" }, outputs: { checkboxClick: "checkboxClick" }, ngImport: i0, template: "<span class=\"fr-checkbox-group fr-checkbox-group--sm\">\n <input\n [attr.tabindex]=\"tabIndex || null\"\n [checked]=\"selected\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [indeterminate]=\"isIndeterminate()\"\n [id]=\"id\"\n type=\"checkbox\" />\n <label class=\"fr-label\" [for]=\"id\" [ngClass]=\"{ 'fr-label--disabled': disabled }\">\n @if (icon) {\n <span [class]=\"icon + ' fr-icon--sm'\"> </span>\n }\n @if (label) {\n <span class=\"text-node\">{{ label }}</span>\n } @else {\n <ng-content select=\"[label]\"></ng-content>\n }\n </label>\n</span>\n", styles: [".fr-checkbox-group input[type=checkbox]:indeterminate+.fr-label:before{background-color:var(--background-active-blue-france);background-image:none}.fr-checkbox-group input[type=checkbox]:indeterminate+.fr-label:after{content:\"\";display:block;margin-right:.5rem;border-radius:.25rem;position:absolute;top:.7rem;left:-1.65rem;width:.75rem;height:.1rem;top:initial;background:var(--background-contrast-blue-france)}.fr-checkbox-group.fr-checkbox-group--sm input[type=checkbox]:indeterminate+.fr-label:after{content:\"\";display:block;margin-right:.5rem;border-radius:.25rem;position:absolute;top:.675rem;left:-1.25rem;width:.5rem;height:.125rem;top:initial;background:var(--background-contrast-blue-france)}\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: EduCheckboxComponent, decorators: [{
type: Component,
args: [{ selector: 'dsfr-ext-checkbox, dsfrx-checkbox', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], template: "<span class=\"fr-checkbox-group fr-checkbox-group--sm\">\n <input\n [attr.tabindex]=\"tabIndex || null\"\n [checked]=\"selected\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [indeterminate]=\"isIndeterminate()\"\n [id]=\"id\"\n type=\"checkbox\" />\n <label class=\"fr-label\" [for]=\"id\" [ngClass]=\"{ 'fr-label--disabled': disabled }\">\n @if (icon) {\n <span [class]=\"icon + ' fr-icon--sm'\"> </span>\n }\n @if (label) {\n <span class=\"text-node\">{{ label }}</span>\n } @else {\n <ng-content select=\"[label]\"></ng-content>\n }\n </label>\n</span>\n", styles: [".fr-checkbox-group input[type=checkbox]:indeterminate+.fr-label:before{background-color:var(--background-active-blue-france);background-image:none}.fr-checkbox-group input[type=checkbox]:indeterminate+.fr-label:after{content:\"\";display:block;margin-right:.5rem;border-radius:.25rem;position:absolute;top:.7rem;left:-1.65rem;width:.75rem;height:.1rem;top:initial;background:var(--background-contrast-blue-france)}.fr-checkbox-group.fr-checkbox-group--sm input[type=checkbox]:indeterminate+.fr-label:after{content:\"\";display:block;margin-right:.5rem;border-radius:.25rem;position:absolute;top:.675rem;left:-1.25rem;width:.5rem;height:.125rem;top:initial;background:var(--background-contrast-blue-france)}\n"] }]
}], propDecorators: { id: [{
type: Input
}], label: [{
type: Input
}], selected: [{
type: Input
}], tabIndex: [{
type: Input
}], disabled: [{
type: Input
}], icon: [{
type: Input
}], checkboxClick: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItZXh0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItZXh0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVUxRixNQUFNLE9BQU8sb0JBQW9CO0lBUmpDO1FBZUUseUJBQXlCO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFLMUIsMENBQTBDO1FBQ2pDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFLMUIsaURBQWlEO1FBQ3ZDLGtCQUFhLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7S0FXbkU7SUFUQyxlQUFlO0lBQ1IsT0FBTyxDQUFDLEtBQVk7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGVBQWU7SUFDUixlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUM7SUFDckMsQ0FBQzsrR0E5QlUsb0JBQW9CO21HQUFwQixvQkFBb0IsZ1FDWGpDLHduQkFvQkEsNnZCRFhZLFlBQVk7OzRGQUVYLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxtQ0FBbUMsaUJBRzlCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzhCQUlkLEVBQUU7c0JBQVYsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RzZnItZXh0LWNoZWNrYm94LCBkc2ZyeC1jaGVja2JveCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBFZHVDaGVja2JveENvbXBvbmVudCB7XG4gIC8qIElkZW50aWZpYW50IGRlIGxhIGNoZWNrYm94IChvYmxpZ2F0b2lyZSkgKi9cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcblxuICAvKiBMYWJlbCBhc3NvY2nDqSDDoCBsYSBjaGVja2JveCAqL1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qIEV0YXQgZGUgbGEgY2hlY2tib3ggKi9cbiAgQElucHV0KCkgc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAvKiBTdXJjaGFyZ2UgZGUgbGEgcHJvcHJpw6l0w6kgdGFiSW5kZXggIChvcHRpb25uZWwpICovXG4gIEBJbnB1dCgpIHRhYkluZGV4OiBudW1iZXI7XG5cbiAgLyogQ2hlY2tib3ggZMOpc2FjdGl2w6llLCBmYXV4IHBhciBkw6lmYXV0ICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyogSWNvbmUgYWZmaWNow6llIMOgIGdhdWNoZSBkdSBsYWJlbCAob3B0aW9ubmVsKSAqL1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgLyogRXZlbmVtZW50IMOpbWlzIGxvcnMgZHUgY2xpYyBzdXIgbGEgY2hlY2tib3ggKi9cbiAgQE91dHB1dCgpIGNoZWNrYm94Q2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqQGludGVybmFsICovXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tib3hDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKkBpbnRlcm5hbCAqL1xuICBwdWJsaWMgaXNJbmRldGVybWluYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkID09PSB1bmRlZmluZWQ7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwiZnItY2hlY2tib3gtZ3JvdXAgZnItY2hlY2tib3gtZ3JvdXAtLXNtXCI+XG4gIDxpbnB1dFxuICAgIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4IHx8IG51bGxcIlxuICAgIFtjaGVja2VkXT1cInNlbGVjdGVkXCJcbiAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtpbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZSgpXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIHR5cGU9XCJjaGVja2JveFwiIC8+XG4gIDxsYWJlbCBjbGFzcz1cImZyLWxhYmVsXCIgW2Zvcl09XCJpZFwiIFtuZ0NsYXNzXT1cInsgJ2ZyLWxhYmVsLS1kaXNhYmxlZCc6IGRpc2FibGVkIH1cIj5cbiAgICBAaWYgKGljb24pIHtcbiAgICAgIDxzcGFuIFtjbGFzc109XCJpY29uICsgJyBmci1pY29uLS1zbSdcIj4mbmJzcDs8L3NwYW4+XG4gICAgfVxuICAgIEBpZiAobGFiZWwpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ub2RlXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbGFiZWxdXCI+PC9uZy1jb250ZW50PlxuICAgIH1cbiAgPC9sYWJlbD5cbjwvc3Bhbj5cbiJdfQ==