carbon-components-angular
Version:
Next generation components
1 lines • 34.1 kB
Source Map (JSON)
{"version":3,"file":"carbon-components-angular-checkbox.mjs","sources":["../../src/checkbox/checkbox-group-host.ts","../../src/checkbox/checkbox.component.ts","../../src/checkbox/checkbox-group.component.ts","../../src/checkbox/checkbox.module.ts","../../src/checkbox/carbon-components-angular-checkbox.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\n\r\n/**\r\n * Host context for `cds-checkbox` when nested in `cds-checkbox-group`\r\n * (read-only and validation state can propagate from the group).\r\n */\r\nexport interface CheckboxGroupHost {\r\n\treadOnly: boolean;\r\n\tinvalid: boolean;\r\n\twarn: boolean;\r\n}\r\n\r\nexport const CHECKBOX_GROUP_HOST = new InjectionToken<CheckboxGroupHost | null>(\"CheckboxGroupHost\");\r\n","import {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tOptional,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tHostListener\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\nimport { CheckboxValue } from \"./checkbox.types\";\nimport { CHECKBOX_GROUP_HOST, CheckboxGroupHost } from \"./checkbox-group-host\";\n\n/**\n * Defines the set of states for a checkbox component.\n */\nexport enum CheckboxState {\n\tInit,\n\tIndeterminate,\n\tChecked,\n\tUnchecked\n}\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { CheckboxModule } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-checkbox--basic)\n */\n@Component({\n\tselector: \"cds-checkbox, ibm-checkbox\",\n\ttemplate: `\n\t\t<div class=\"cds--form-item cds--checkbox-wrapper\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--checkbox-wrapper--invalid': !effectiveReadOnly && effectiveInvalid,\n\t\t\t\t'cds--checkbox-wrapper--warning': !effectiveReadOnly && !effectiveInvalid && effectiveWarn,\n\t\t\t\t'cds--checkbox-wrapper--readonly': effectiveReadOnly,\n\t\t\t\t'cds--checkbox-wrapper--decorator': !!decorator\n\t\t\t}\">\n\t\t\t<input\n\t\t\t\t#inputCheckbox\n\t\t\t\tclass=\"cds--checkbox\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t[id]=\"id + '_input'\"\n\t\t\t\t[value]=\"value\"\n\t\t\t\t[name]=\"name\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[attr.data-invalid]=\"(!effectiveReadOnly && effectiveInvalid) ? true : null\"\n\t\t\t\t[attr.aria-readonly]=\"effectiveReadOnly ? true : null\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"(helperText && !effectiveInvalid && !effectiveWarn) ? helperId : null\"\n\t\t\t\t(change)=\"onChange($event)\"\n\t\t\t\t(click)=\"onClick($event)\">\n\t\t\t<label\n\t\t\t\t[for]=\"id + '_input'\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.title]=\"title || null\"\n\t\t\t\tclass=\"cds--checkbox-label\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--skeleton' : skeleton\n\t\t\t\t}\">\n\t\t\t\t<span [ngClass]=\"{'cds--visually-hidden' : hideLabel}\" class=\"cds--checkbox-label-text\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t<ng-container *ngIf=\"decorator\">\n\t\t\t\t\t\t<div class=\"cds--checkbox-wrapper-inner--decorator\">\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"decorator\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</span>\n\t\t\t</label>\n\t\t\t<div class=\"cds--checkbox__validation-msg\">\n\t\t\t\t<ng-container *ngIf=\"!effectiveReadOnly && effectiveInvalid\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--checkbox__invalid-icon\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"$any(invalidText)\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-container *ngIf=\"!effectiveReadOnly && !effectiveInvalid && effectiveWarn\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--checkbox__invalid-icon cds--checkbox__invalid-icon--warning\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"$any(warnText)\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf=\"helperText && !effectiveInvalid && !effectiveWarn\"\n\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t[id]=\"helperId\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"$any(helperText)\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Checkbox,\n\t\t\tmulti: true\n\t\t}\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class Checkbox implements ControlValueAccessor, AfterViewInit {\n\t/**\n\t * Variable used for creating unique ids for checkbox components.\n\t */\n\tstatic checkboxCount = 0;\n\n\tprivate static helperIdCounter = 0;\n\n\t/**\n\t * Set to `true` for a disabled checkbox.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading checkbox.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Set to `true` to hide the checkbox labels.\n\t */\n\t@Input() hideLabel = false;\n\t/**\n\t * Sets the name attribute on the `input` element.\n\t */\n\t@Input() name: string;\n\t/**\n\t * The unique id for the checkbox component.\n\t */\n\t@Input() id = `checkbox-${Checkbox.checkboxCount}`;\n\t/**\n\t * Reflects the required attribute of the `input` element.\n\t */\n\t@Input() required: boolean;\n\t/**\n\t * Sets the value attribute on the `input` element.\n\t */\n\t@Input() value: CheckboxValue;\n\t@Input() ariaLabel: string;\n\t@Input() ariaLabelledby: string;\n\n\t/**\n\t * Optional title for the `<label>` element.\n\t */\n\t@Input() title = \"\";\n\n\t/**\n\t * Optional helper text displayed below the checkbox label.\n\t * Not shown when `invalid` or `warn` is `true`.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\n\t/**\n\t * Set to `true` to show the checkbox in an invalid/error state.\n\t * When omitted inside a `cds-checkbox-group`, the group's `invalid` value applies.\n\t */\n\t@Input() invalid?: boolean;\n\n\t/**\n\t * The error message displayed when `invalid` is `true`.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\n\t/**\n\t * Set to `true` to show the checkbox in a warning state.\n\t * When omitted inside a `cds-checkbox-group`, the group's `warn` value applies.\n\t */\n\t@Input() warn?: boolean;\n\n\t/**\n\t * The warning message displayed when `warn` is `true` and `invalid` is `false`.\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\n\t/**\n\t * When `true`, the checkbox cannot be toggled (matches `readonly` attribute semantics for form controls).\n\t * When omitted inside a `cds-checkbox-group`, the group's `readOnly` value applies.\n\t */\n\t@Input() readOnly?: boolean;\n\n\t/**\n\t * Optional `TemplateRef` (e.g. AI label) rendered next to the label text.\n\t */\n\t@Input() decorator: TemplateRef<any>;\n\n\t/**\n\t * Set the checkbox's indeterminate state to match the parameter and transition the view to reflect the change.\n\t *\n\t * Allows double binding with the `indeterminateChange` Output.\n\t */\n\t@Input() set indeterminate(indeterminate: boolean) {\n\t\tif (indeterminate === this._indeterminate) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._indeterminate = indeterminate;\n\n\t\tif (this._indeterminate) {\n\t\t\tthis.transitionCheckboxState(CheckboxState.Indeterminate);\n\t\t} else {\n\t\t\tthis.transitionCheckboxState(this.checked ? CheckboxState.Checked : CheckboxState.Unchecked);\n\t\t}\n\n\t\tif (this.inputCheckbox && this.inputCheckbox.nativeElement) {\n\t\t\tthis.inputCheckbox.nativeElement.indeterminate = indeterminate;\n\t\t}\n\t\tthis.changeDetectorRef.markForCheck();\n\t\tthis.indeterminateChange.emit(this._indeterminate);\n\t}\n\n\t/**\n\t * Reflects whether the checkbox state is indeterminate.\n\t */\n\tget indeterminate() {\n\t\treturn this._indeterminate;\n\t}\n\n\t/**\n\t * Sets the `checked` state. `true` for checked, `false` for unchecked\n\t *\n\t * Allows double binding with the `checkedChange` Output.\n\t */\n\t@Input() set checked (checked: boolean) {\n\t\tthis.setChecked(checked, false);\n\t}\n\n\t/**\n\t * Returns value `true` if state is selected for the checkbox.\n\t */\n\tget checked() {\n\t\treturn this._checked;\n\t}\n\n\t/**\n\t * Emits click event.\n\t */\n\t@Output() click = new EventEmitter<void>();\n\n\t/**\n\t * Emits an event when the value of the checkbox changes.\n\t *\n\t * Allows double biding with the `checked` Input.\n\t */\n\t@Output() checkedChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Emits event notifying other classes when a change in state occurs specifically\n\t * on an indeterminate checkbox.\n\t */\n\t@Output() indeterminateChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Set to `true` if the input checkbox is selected (or checked).\n\t */\n\t_checked = false;\n\t/**\n\t * Set to `true` if the input checkbox is in state indeterminate.\n\t */\n\t_indeterminate = false;\n\n\t/**\n\t * Keeps a reference to the checkboxes current state, as defined in `CheckboxState`.\n\t */\n\tcurrentCheckboxState = CheckboxState.Init;\n\n\t/**\n\t * Maintains a reference to the view DOM element of the `Checkbox`.\n\t */\n\t@ViewChild(\"inputCheckbox\") inputCheckbox: ElementRef;\n\n\treadonly helperId = `checkbox-helper-${Checkbox.helperIdCounter++}`;\n\n\t/**\n\t * Creates an instance of `Checkbox`.\n\t */\n\tconstructor(\n\t\tprotected changeDetectorRef: ChangeDetectorRef,\n\t\t@Optional() @Inject(CHECKBOX_GROUP_HOST) private hostGroup: CheckboxGroupHost | null\n\t) {\n\t\tCheckbox.checkboxCount++;\n\t}\n\n\tget effectiveReadOnly(): boolean {\n\t\tconst own = this.readOnly;\n\t\tconst group = this.hostGroup?.readOnly ?? false;\n\t\treturn !!(own !== undefined ? own : group);\n\t}\n\n\tget effectiveInvalid(): boolean {\n\t\tconst own = this.invalid;\n\t\tconst group = this.hostGroup?.invalid ?? false;\n\t\treturn !!(own !== undefined ? own : group);\n\t}\n\n\tget effectiveWarn(): boolean {\n\t\tconst own = this.warn;\n\t\tconst group = this.hostGroup?.warn ?? false;\n\t\treturn !!(own !== undefined ? own : group);\n\t}\n\n\t/**\n\t * Toggle the selected state of the checkbox.\n\t */\n\tpublic toggle() {\n\t\tif (this.effectiveReadOnly) {\n\t\t\treturn;\n\t\t}\n\t\t// Flip checked and reset indeterminate\n\t\tthis.setChecked(!this.checked, true);\n\t}\n\n\t/**\n\t * Writes a value from `ngModel` to the component.\n\t *\n\t * In this case the value is the `checked` property.\n\t *\n\t * @param value boolean, corresponds to the `checked` property.\n\t */\n\tpublic writeValue(value: any) {\n\t\t// Set checked and reset indeterminate\n\t\tthis.setChecked(!!value, true);\n\t}\n\n\t/**\n\t * Sets a method in order to propagate changes back to the form.\n\t */\n\tpublic registerOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\t/**\n\t * Registers a callback to be triggered when the control has been touched.\n\t * @param fn Callback to be triggered when the checkbox is touched.\n\t */\n\tpublic registerOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\t/**\n\t * `ControlValueAccessor` method to programmatically disable the checkbox.\n\t *\n\t * ex: `this.formGroup.get(\"myCheckbox\").disable();`\n\t *\n\t * @param isDisabled `true` to disable the checkbox\n\t */\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis.disabled = isDisabled;\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\t/**\n\t * Invoked by `CheckboxGroup` when group `readOnly`, `invalid`, `warn` change so `OnPush`\n\t * checkboxes still refresh inherited state from `CHECKBOX_GROUP_HOST`.\n\t */\n\tmarkForCheckFromGroup(): void {\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\t@HostListener(\"focusout\")\n\tfocusOut() {\n\t\tthis.onTouched();\n\t}\n\n\t/**\n\t * Executes on the event of a change within `Checkbox` to block propagation.\n\t */\n\tonChange(event: Event) {\n\t\tevent.stopPropagation();\n\t}\n\n\t/**\n\t * Handles click events on the `Checkbox` and emits changes to other classes.\n\t */\n\tonClick(event: Event) {\n\t\tif (this.effectiveReadOnly) {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.click.observers.length) {\n\t\t\t\tthis.click.emit();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (this.click.observers.length) {\n\t\t\t// Disable default checkbox activation behavior which flips checked and resets indeterminate.\n\t\t\t// This allows the parent component to control the checked/indeterminate properties.\n\t\t\tevent.preventDefault();\n\t\t\tthis.click.emit();\n\t\t\treturn;\n\t\t}\n\t\tif (!this.disabled) {\n\t\t\tthis.toggle();\n\t\t\tthis.transitionCheckboxState(this._checked ? CheckboxState.Checked : CheckboxState.Unchecked);\n\t\t\tthis.emitChangeEvent();\n\t\t}\n\t}\n\n\n\t/**\n\t * Called when checkbox is blurred. Needed to properly implement `ControlValueAccessor`.\n\t */\n\tonTouched: () => any = () => {};\n\n\t/**\n\t * Handles changes between checkbox states.\n\t */\n\ttransitionCheckboxState(newState: CheckboxState) {\n\t\tthis.currentCheckboxState = newState;\n\t}\n\n\t/**\n\t * Creates instance of `CheckboxChange` used to propagate the change event.\n\t */\n\temitChangeEvent() {\n\t\tthis.checkedChange.emit(this.checked);\n\t\tthis.propagateChange(this.checked);\n\t}\n\n\t/**\n\t * Updates the checkbox if it is in the indeterminate state.\n\t */\n\tngAfterViewInit() {\n\t\tif (this.indeterminate && this.inputCheckbox && this.inputCheckbox.nativeElement) {\n\t\t\tthis.inputCheckbox.nativeElement.indeterminate = true;\n\t\t}\n\t}\n\n\t/**\n\t * Method set in `registerOnChange` to propagate changes back to the form.\n\t */\n\tpropagateChange = (_: any) => {};\n\n\t/**\n\t * Returns `true` when the provided value is a `TemplateRef`.\n\t */\n\tisTemplate(value: any): boolean {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\t/**\n\t * Sets checked state and optionally resets indeterminate state.\n\t */\n\tprivate setChecked(checked: boolean, resetIndeterminate: boolean) {\n\t\tif (checked === this._checked) {\n\t\t\treturn;\n\t\t}\n\t\tthis._checked = checked;\n\t\t// Reset indeterminate if requested\n\t\tif (resetIndeterminate && this._indeterminate) {\n\t\t\tthis._indeterminate = false;\n\t\t\tPromise.resolve().then(() => {\n\t\t\t\tthis.indeterminateChange.emit(this._indeterminate);\n\t\t\t});\n\t\t}\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n}\n","import {\r\n\tAfterContentInit,\r\n\tChangeDetectionStrategy,\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tContentChildren,\r\n\tforwardRef,\r\n\tHostBinding,\r\n\tInput,\r\n\tOnChanges,\r\n\tQueryList,\r\n\tSimpleChanges,\r\n\tTemplateRef\r\n} from \"@angular/core\";\r\nimport { CHECKBOX_GROUP_HOST } from \"./checkbox-group-host\";\r\nimport { Checkbox } from \"./checkbox.component\";\r\n\r\n/**\r\n * Groups related checkboxes with a shared legend, validation, and optional decorator\r\n * (e.g. AI label).\r\n *\r\n * ```html\r\n * <cds-checkbox-group legend=\"Group label\" [decorator]=\"decoratorTpl\">\r\n * <cds-checkbox>Option 1</cds-checkbox>\r\n * </cds-checkbox-group>\r\n * ```\r\n */\r\n@Component({\r\n\tselector: \"cds-checkbox-group, ibm-checkbox-group\",\r\n\ttemplate: `\r\n\t\t<fieldset\r\n\t\t\tclass=\"cds--checkbox-group\"\r\n\t\t\t[ngClass]=\"{\r\n\t\t\t\t'cds--checkbox-group--horizontal': orientation === 'horizontal',\r\n\t\t\t\t'cds--checkbox-group--readonly': readOnly,\r\n\t\t\t\t'cds--checkbox-group--invalid': !readOnly && invalid,\r\n\t\t\t\t'cds--checkbox-group--warning': !readOnly && !invalid && warn,\r\n\t\t\t\t'cds--checkbox-group--decorator': !!decorator\r\n\t\t\t}\"\r\n\t\t\t[attr.data-invalid]=\"invalid ? true : null\"\r\n\t\t\t[attr.aria-labelledby]=\"legendId || fieldsetAriaLabelledby || null\"\r\n\t\t\t[attr.aria-readonly]=\"readOnly ? true : null\"\r\n\t\t\t[attr.aria-describedby]=\"(helperText && !invalid && !warn) ? helperTextId : null\">\r\n\t\t\t<legend *ngIf=\"legend\" class=\"cds--label\" [attr.id]=\"legendId || null\">\r\n\t\t\t\t<ng-template *ngIf=\"isTemplate(legend); else legendLabel\" [ngTemplateOutlet]=\"legend\"></ng-template>\r\n\t\t\t\t<ng-template #legendLabel>{{legend}}</ng-template>\r\n\t\t\t\t<ng-container *ngIf=\"decorator\">\r\n\t\t\t\t\t<div class=\"cds--checkbox-group-inner--decorator\">\r\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"decorator\"></ng-template>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</legend>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t\t<div class=\"cds--checkbox-group__validation-msg\">\r\n\t\t\t\t<ng-container *ngIf=\"!readOnly && invalid\">\r\n\t\t\t\t\t<svg\r\n\t\t\t\t\t\tcdsIcon=\"warning--filled\"\r\n\t\t\t\t\t\tsize=\"16\"\r\n\t\t\t\t\t\tclass=\"cds--checkbox__invalid-icon\">\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t<div class=\"cds--form-requirement\">\r\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{ invalidText }}</ng-container>\r\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<ng-container *ngIf=\"!readOnly && !invalid && warn\">\r\n\t\t\t\t\t<svg\r\n\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\r\n\t\t\t\t\t\tsize=\"16\"\r\n\t\t\t\t\t\tclass=\"cds--checkbox__invalid-icon cds--checkbox__invalid-icon--warning\">\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t<div class=\"cds--form-requirement\">\r\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\r\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\t*ngIf=\"helperText && !invalid && !warn\"\r\n\t\t\t\tclass=\"cds--form__helper-text\"\r\n\t\t\t\t[id]=\"helperTextId\">\r\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\r\n\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\r\n\t\t\t</div>\r\n\t\t</fieldset>\r\n\t`,\r\n\tproviders: [\r\n\t\t{ provide: CHECKBOX_GROUP_HOST, useExisting: CheckboxGroup }\r\n\t],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CheckboxGroup implements OnChanges, AfterContentInit {\r\n\tprivate static nextHelperId = 0;\r\n\t@HostBinding(\"class.cds--form-item\") hostFormItem = true;\r\n\r\n\t// tslint:disable-next-line:no-forward-ref\r\n\t@ContentChildren(forwardRef(() => Checkbox), { descendants: true }) checkboxes: QueryList<Checkbox>;\r\n\r\n\treadonly helperTextId = `checkbox-group-helper-${CheckboxGroup.nextHelperId++}`;\r\n\r\n\t@Input() legend: string | TemplateRef<any>;\r\n\r\n\t/**\r\n\t * Optional id for the `<legend>`; referenced by `fieldsetAriaLabelledby` when set.\r\n\t */\r\n\t@Input() legendId: string;\r\n\r\n\t/**\r\n\t * Optional `aria-labelledby` for the `<fieldset>` when not using `legendId`.\r\n\t */\r\n\t@Input() fieldsetAriaLabelledby: string;\r\n\r\n\t@Input() orientation: \"horizontal\" | \"vertical\" = \"vertical\";\r\n\r\n\t@Input() helperText: string | TemplateRef<any>;\r\n\r\n\t@Input() invalid = false;\r\n\r\n\t@Input() invalidText: string | TemplateRef<any>;\r\n\r\n\t@Input() warn = false;\r\n\r\n\t@Input() warnText: string | TemplateRef<any>;\r\n\r\n\t@Input() readOnly = false;\r\n\r\n\t/**\r\n\t * Optional decorator (e.g. AI label) rendered in the legend.\r\n\t */\r\n\t@Input() decorator: TemplateRef<any>;\r\n\r\n\tconstructor(private changeDetectorRef: ChangeDetectorRef) {}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (changes[\"readOnly\"] || changes[\"invalid\"] || changes[\"warn\"]) {\r\n\t\t\tthis.notifyCheckboxesHostStateChanged();\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterContentInit() {\r\n\t\tthis.checkboxes.changes.subscribe(() => this.notifyCheckboxesHostStateChanged());\r\n\t}\r\n\r\n\tisTemplate(value: any): boolean {\r\n\t\treturn value instanceof TemplateRef;\r\n\t}\r\n\r\n\tprivate notifyCheckboxesHostStateChanged() {\r\n\t\tPromise.resolve().then(() => {\r\n\t\t\tthis.checkboxes?.forEach((cb) => cb.markForCheckFromGroup());\r\n\t\t\tthis.changeDetectorRef.markForCheck();\r\n\t\t});\r\n\t}\r\n}\r\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { Checkbox } from \"./checkbox.component\";\nimport { CheckboxGroup } from \"./checkbox-group.component\";\nimport { IconModule } from \"carbon-components-angular/icon\";\n\n@NgModule({\n\tdeclarations: [\n\t\tCheckbox,\n\t\tCheckboxGroup\n\t],\n\texports: [\n\t\tCheckbox,\n\t\tCheckboxGroup\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tIconModule\n\t]\n})\nexport class CheckboxModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}