@coreui/angular
Version:
CoreUI for Angular UI components library
75 lines • 7.73 kB
JavaScript
import { Component, ContentChild, HostBinding, Input } from '@angular/core';
import { coerceBooleanProperty } from '@angular/cdk/coercion';
import { FormCheckLabelDirective } from './form-check-label.directive';
import * as i0 from "@angular/core";
export class FormCheckComponent {
constructor() {
this._inline = false;
/**
* Size the component large or extra large. Works only with `[switch]="true"` [docs]
* @type {'lg' | 'xl' | ''}
*/
this.sizing = '';
this._switch = false;
this._formCheckClass = true;
}
/**
* Group checkboxes or radios on the same horizontal row.
* @type boolean
* @default false
*/
set inline(value) {
this._inline = coerceBooleanProperty(value);
}
get inline() {
return this._inline;
}
/**
* Render a toggle switch on for checkbox.
* @type boolean
* @default false
*/
set switch(value) {
this._switch = coerceBooleanProperty(value);
}
get switch() {
return this._switch;
}
get hostClasses() {
return {
'form-check': this.formCheckClass,
'form-switch': this.switch,
[`form-switch-${this.sizing}`]: this.switch && !!this.sizing,
'form-check-inline': this.inline
};
}
get formCheckClass() {
return this._formCheckClass;
}
ngAfterContentInit() {
this._formCheckClass = !!this.formCheckLabel;
}
}
FormCheckComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: FormCheckComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
FormCheckComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: FormCheckComponent, selector: "c-form-check", inputs: { inline: "inline", sizing: "sizing", switch: "switch" }, host: { properties: { "class": "this.hostClasses" } }, queries: [{ propertyName: "formCheckLabel", first: true, predicate: FormCheckLabelDirective, descendants: true }], exportAs: ["cFormCheck"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: FormCheckComponent, decorators: [{
type: Component,
args: [{
selector: 'c-form-check',
template: '<ng-content></ng-content>',
exportAs: 'cFormCheck'
}]
}], propDecorators: { inline: [{
type: Input
}], sizing: [{
type: Input
}], switch: [{
type: Input
}], hostClasses: [{
type: HostBinding,
args: ['class']
}], formCheckLabel: [{
type: ContentChild,
args: [FormCheckLabelDirective]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGVjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2Zvcm0vZm9ybS1jaGVjay9mb3JtLWNoZWNrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBT3ZFLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFVVSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBY3hCOzs7V0FHRztRQUNNLFdBQU0sR0FBc0IsRUFBRSxDQUFDO1FBY2hDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFjaEIsb0JBQWUsR0FBRyxJQUFJLENBQUM7S0FRaEM7SUFyREM7Ozs7T0FJRztJQUNILElBQ0ksTUFBTSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFRQzs7OztLQUlDO0lBQ0gsSUFDSSxNQUFNLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUdELElBQ0ksV0FBVztRQUViLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDakMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQzFCLENBQUMsZUFBZSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUM1RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUlELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9DLENBQUM7OytHQTFEVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix5TkFrRGYsdUJBQXVCLDBFQXJEM0IsMkJBQTJCOzJGQUcxQixrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxZQUFZO2lCQUN2Qjs4QkFhSyxNQUFNO3NCQURULEtBQUs7Z0JBWUcsTUFBTTtzQkFBZCxLQUFLO2dCQVFGLE1BQU07c0JBRFQsS0FBSztnQkFVRixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFXbUIsY0FBYztzQkFBcEQsWUFBWTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuXHJcbmltcG9ydCB7IEZvcm1DaGVja0xhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLWNoZWNrLWxhYmVsLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2MtZm9ybS1jaGVjaycsXHJcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcclxuICBleHBvcnRBczogJ2NGb3JtQ2hlY2snXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ2hlY2tDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcclxuXHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2lubGluZTogQm9vbGVhbklucHV0O1xyXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zd2l0Y2g6IEJvb2xlYW5JbnB1dDtcclxuXHJcbiAgcHJpdmF0ZSBfaW5saW5lID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogR3JvdXAgY2hlY2tib3hlcyBvciByYWRpb3Mgb24gdGhlIHNhbWUgaG9yaXpvbnRhbCByb3cuXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaW5saW5lKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pbmxpbmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgaW5saW5lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lubGluZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNpemUgdGhlIGNvbXBvbmVudCBsYXJnZSBvciBleHRyYSBsYXJnZS4gV29ya3Mgb25seSB3aXRoIGBbc3dpdGNoXT1cInRydWVcImAgW2RvY3NdXHJcbiAgICogQHR5cGUgeydsZycgfCAneGwnIHwgJyd9XHJcbiAgICovXHJcbiAgQElucHV0KCkgc2l6aW5nPzogJ2xnJyB8ICd4bCcgfCAnJyA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAqIFJlbmRlciBhIHRvZ2dsZSBzd2l0Y2ggb24gZm9yIGNoZWNrYm94LlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHN3aXRjaCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc3dpdGNoID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IHN3aXRjaCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9zd2l0Y2g7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3N3aXRjaCA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAnZm9ybS1jaGVjayc6IHRoaXMuZm9ybUNoZWNrQ2xhc3MsXHJcbiAgICAgICdmb3JtLXN3aXRjaCc6IHRoaXMuc3dpdGNoLFxyXG4gICAgICBbYGZvcm0tc3dpdGNoLSR7dGhpcy5zaXppbmd9YF06IHRoaXMuc3dpdGNoICYmICEhdGhpcy5zaXppbmcsXHJcbiAgICAgICdmb3JtLWNoZWNrLWlubGluZSc6IHRoaXMuaW5saW5lXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgQENvbnRlbnRDaGlsZChGb3JtQ2hlY2tMYWJlbERpcmVjdGl2ZSkgZm9ybUNoZWNrTGFiZWwhOiBGb3JtQ2hlY2tMYWJlbERpcmVjdGl2ZTtcclxuICBwcml2YXRlIF9mb3JtQ2hlY2tDbGFzcyA9IHRydWU7XHJcbiAgZ2V0IGZvcm1DaGVja0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1DaGVja0NsYXNzO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZm9ybUNoZWNrQ2xhc3MgPSAhIXRoaXMuZm9ybUNoZWNrTGFiZWw7XHJcbiAgfVxyXG59XHJcbiJdfQ==