@coreui/angular
Version:
CoreUI Components Library for Angular
78 lines • 8.47 kB
JavaScript
import { booleanAttribute, Directive, HostBinding, Input } from '@angular/core';
import * as i0 from "@angular/core";
export class FormCheckInputDirective {
/**
* Set component indeterminate state.
* @type boolean
* @default false
*/
set indeterminate(value) {
const indeterminate = value;
if (this._indeterminate !== indeterminate) {
this._indeterminate = indeterminate;
const htmlInputElement = this.hostElement.nativeElement;
if (indeterminate) {
this.renderer.setProperty(htmlInputElement, 'checked', false);
}
this.renderer.setProperty(htmlInputElement, 'indeterminate', indeterminate);
}
}
get indeterminate() {
return this._indeterminate;
}
get hostClasses() {
return {
'form-check-input': true,
'is-valid': this.valid === true,
'is-invalid': this.valid === false
};
}
set checked(value) {
const checked = value;
const htmlInputElement = this.hostElement?.nativeElement;
if (htmlInputElement) {
this.renderer.setProperty(htmlInputElement, 'checked', checked);
}
}
get checked() {
return this.hostElement?.nativeElement?.checked;
}
constructor(renderer, hostElement) {
this.renderer = renderer;
this.hostElement = hostElement;
/**
* Specifies the type of component.
* @type {'checkbox' | 'radio'}
* @default 'checkbox'
*/
this.type = 'checkbox';
this._indeterminate = false;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormCheckInputDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.12", type: FormCheckInputDirective, isStandalone: true, selector: "input[cFormCheckInput]", inputs: { type: "type", indeterminate: ["indeterminate", "indeterminate", booleanAttribute], valid: "valid", checked: ["checked", "checked", booleanAttribute] }, host: { properties: { "attr.type": "this.type", "class": "this.hostClasses" }, classAttribute: "form-check-input" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormCheckInputDirective, decorators: [{
type: Directive,
args: [{
selector: 'input[cFormCheckInput]',
standalone: true,
host: { class: 'form-check-input' }
}]
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { type: [{
type: HostBinding,
args: ['attr.type']
}, {
type: Input
}], indeterminate: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], valid: [{
type: Input
}], hostClasses: [{
type: HostBinding,
args: ['class']
}], checked: [{
type: Input,
args: [{ transform: booleanAttribute }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGVjay1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2Zvcm0vZm9ybS1jaGVjay9mb3JtLWNoZWNrLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBT3ZHLE1BQU0sT0FBTyx1QkFBdUI7SUFVbEM7Ozs7T0FJRztJQUNILElBQ0ksYUFBYSxDQUFDLEtBQWM7UUFDOUIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxhQUFhLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztZQUNwQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBaUMsQ0FBQztZQUM1RSxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM5RSxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBV0QsSUFDSSxXQUFXO1FBQ2IsT0FBTztZQUNMLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSTtZQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLO1NBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsSUFDSSxPQUFPLENBQUMsS0FBYztRQUN4QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLGFBQWlDLENBQUM7UUFDN0UsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRSxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNVLFFBQW1CLEVBQ25CLFdBQXVCO1FBRHZCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFoRWpDOzs7O1dBSUc7UUFHSCxTQUFJLEdBQXlCLFVBQVUsQ0FBQztRQXdCaEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFrQzVCLENBQUM7K0dBbEVPLHVCQUF1QjttR0FBdkIsdUJBQXVCLG9JQWVkLGdCQUFnQixtREFtQ2hCLGdCQUFnQjs7NEZBbER6Qix1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtpQkFDcEM7dUdBU0MsSUFBSTtzQkFGSCxXQUFXO3VCQUFDLFdBQVc7O3NCQUN2QixLQUFLO2dCQVNGLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBd0I3QixLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBVWhCLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbY0Zvcm1DaGVja0lucHV0XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdmb3JtLWNoZWNrLWlucHV0JyB9XG59KVxuZXhwb3J0IGNsYXNzIEZvcm1DaGVja0lucHV0RGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBjb21wb25lbnQuXG4gICAqIEB0eXBlIHsnY2hlY2tib3gnIHwgJ3JhZGlvJ31cbiAgICogQGRlZmF1bHQgJ2NoZWNrYm94J1xuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKVxuICBASW5wdXQoKVxuICB0eXBlOiAnY2hlY2tib3gnIHwgJ3JhZGlvJyA9ICdjaGVja2JveCc7XG5cbiAgLyoqXG4gICAqIFNldCBjb21wb25lbnQgaW5kZXRlcm1pbmF0ZSBzdGF0ZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHNldCBpbmRldGVybWluYXRlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgY29uc3QgaW5kZXRlcm1pbmF0ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLl9pbmRldGVybWluYXRlICE9PSBpbmRldGVybWluYXRlKSB7XG4gICAgICB0aGlzLl9pbmRldGVybWluYXRlID0gaW5kZXRlcm1pbmF0ZTtcbiAgICAgIGNvbnN0IGh0bWxJbnB1dEVsZW1lbnQgPSB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgIGlmIChpbmRldGVybWluYXRlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoaHRtbElucHV0RWxlbWVudCwgJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGh0bWxJbnB1dEVsZW1lbnQsICdpbmRldGVybWluYXRlJywgaW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGluZGV0ZXJtaW5hdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2luZGV0ZXJtaW5hdGU7XG4gIH1cblxuICBwcml2YXRlIF9pbmRldGVybWluYXRlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldCBjb21wb25lbnQgdmFsaWRhdGlvbiBzdGF0ZSB0byB2YWxpZC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIHZhbGlkPzogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdmb3JtLWNoZWNrLWlucHV0JzogdHJ1ZSxcbiAgICAgICdpcy12YWxpZCc6IHRoaXMudmFsaWQgPT09IHRydWUsXG4gICAgICAnaXMtaW52YWxpZCc6IHRoaXMudmFsaWQgPT09IGZhbHNlXG4gICAgfTtcbiAgfVxuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IGNoZWNrZWQgPSB2YWx1ZTtcbiAgICBjb25zdCBodG1sSW5wdXRFbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudD8ubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChodG1sSW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGh0bWxJbnB1dEVsZW1lbnQsICdjaGVja2VkJywgY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ/LmNoZWNrZWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZlxuICApIHt9XG59XG4iXX0=