@angular/material
Version:
Angular Material
1 lines • 40.7 kB
Source Map (JSON)
{"version":3,"file":"checkbox.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/checkbox/checkbox-config.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/checkbox/checkbox.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/checkbox/checkbox.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/checkbox/checkbox-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {InjectionToken} from '@angular/core';\nimport {ThemePalette} from '../core';\n\n/** Default `mat-checkbox` options that can be overridden. */\nexport interface MatCheckboxDefaultOptions {\n /**\n * Default theme color of the checkbox. This API is supported in M2 themes\n * only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/checkbox/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n color?: ThemePalette;\n\n /** Default checkbox click action for checkboxes. */\n clickAction?: MatCheckboxClickAction;\n\n /** Whether disabled checkboxes should be interactive. */\n disabledInteractive?: boolean;\n}\n\nexport const checkboxDefaults: MatCheckboxDefaultOptions = {\n color: 'accent',\n clickAction: 'check-indeterminate',\n disabledInteractive: false,\n};\n\n/** Injection token to be used to override the default options for `mat-checkbox`. */\nexport const MAT_CHECKBOX_DEFAULT_OPTIONS = new InjectionToken<MatCheckboxDefaultOptions>(\n 'mat-checkbox-default-options',\n {\n providedIn: 'root',\n factory: () => checkboxDefaults,\n },\n);\n\n/**\n * Checkbox click action when user click on input element.\n * noop: Do not toggle checked or indeterminate.\n * check: Only toggle checked status, ignore indeterminate.\n * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.\n * undefined: Same as `check-indeterminate`.\n */\nexport type MatCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {_IdGenerator, FocusableOption} from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n numberAttribute,\n inject,\n HostAttributeToken,\n signal,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport {\n MatRipple,\n _MatInternalFormField,\n _StructuralStylesLoader,\n _animationsDisabled,\n} from '../core';\nimport {\n checkboxDefaults,\n MAT_CHECKBOX_DEFAULT_OPTIONS,\n MatCheckboxDefaultOptions,\n} from './checkbox-config';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\n\n/**\n * Represents the different states that require custom transitions between them.\n * @docs-private\n */\nexport enum TransitionCheckState {\n /** The initial state of the component before any user interaction. */\n Init,\n /** The state representing the component when it's becoming checked. */\n Checked,\n /** The state representing the component when it's becoming unchecked. */\n Unchecked,\n /** The state representing the component when it's becoming indeterminate. */\n Indeterminate,\n}\n\n/** Change event object emitted by checkbox. */\nexport class MatCheckboxChange {\n /** The source checkbox of the event. */\n source: MatCheckbox;\n /** The new `checked` value of the checkbox. */\n checked: boolean;\n}\n\n@Component({\n selector: 'mat-checkbox',\n templateUrl: 'checkbox.html',\n styleUrl: 'checkbox.css',\n host: {\n 'class': 'mat-mdc-checkbox',\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n '[class.mdc-checkbox--disabled]': 'disabled',\n '[id]': 'id',\n // Add classes that users can use to more easily target disabled or checked checkboxes.\n '[class.mat-mdc-checkbox-disabled]': 'disabled',\n '[class.mat-mdc-checkbox-checked]': 'checked',\n '[class.mat-mdc-checkbox-disabled-interactive]': 'disabledInteractive',\n '[class]': 'color ? \"mat-\" + color : \"mat-accent\"',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatCheckbox),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: MatCheckbox,\n multi: true,\n },\n ],\n exportAs: 'matCheckbox',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatRipple, _MatInternalFormField],\n})\nexport class MatCheckbox\n implements AfterViewInit, OnChanges, ControlValueAccessor, Validator, FocusableOption\n{\n _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _ngZone = inject(NgZone);\n protected _animationsDisabled = _animationsDisabled();\n private _options = inject<MatCheckboxDefaultOptions>(MAT_CHECKBOX_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n /** Focuses the checkbox. */\n focus() {\n this._inputElement.nativeElement.focus();\n }\n\n /** Creates the change event that will be emitted by the checkbox. */\n protected _createChangeEvent(isChecked: boolean) {\n const event = new MatCheckboxChange();\n event.source = this;\n event.checked = isChecked;\n return event;\n }\n\n /** Gets the element on which to add the animation CSS classes. */\n protected _getAnimationTargetElement() {\n return this._inputElement?.nativeElement;\n }\n\n /** CSS classes to add when transitioning between the different checkbox states. */\n protected _animationClasses = {\n uncheckedToChecked: 'mdc-checkbox--anim-unchecked-checked',\n uncheckedToIndeterminate: 'mdc-checkbox--anim-unchecked-indeterminate',\n checkedToUnchecked: 'mdc-checkbox--anim-checked-unchecked',\n checkedToIndeterminate: 'mdc-checkbox--anim-checked-indeterminate',\n indeterminateToChecked: 'mdc-checkbox--anim-indeterminate-checked',\n indeterminateToUnchecked: 'mdc-checkbox--anim-indeterminate-unchecked',\n };\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string = '';\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** The 'aria-describedby' attribute is read after the element's label and field type. */\n @Input('aria-describedby') ariaDescribedby: string;\n\n /**\n * Users can specify the `aria-expanded` attribute which will be forwarded to the input element\n */\n @Input({alias: 'aria-expanded', transform: booleanAttribute}) ariaExpanded: boolean;\n\n /**\n * Users can specify the `aria-controls` attribute which will be forwarded to the input element\n */\n @Input('aria-controls') ariaControls: string;\n\n /** Users can specify the `aria-owns` attribute which will be forwarded to the input element */\n @Input('aria-owns') ariaOwns: string;\n\n private _uniqueId: string;\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id: string;\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string {\n return `${this.id || this._uniqueId}-input`;\n }\n\n /** Whether the checkbox is required. */\n @Input({transform: booleanAttribute}) required: boolean;\n\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | null = null;\n\n /** Event emitted when the checkbox's `checked` value changes. */\n @Output() readonly change = new EventEmitter<MatCheckboxChange>();\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The value attribute of the native input element */\n @Input() value: string;\n\n /** Whether the checkbox has a ripple. */\n @Input({transform: booleanAttribute}) disableRipple: boolean;\n\n /** The native `<input type=\"checkbox\">` element */\n @ViewChild('input') _inputElement: ElementRef<HTMLInputElement>;\n\n /** The native `<label>` element */\n @ViewChild('label') _labelElement: ElementRef<HTMLInputElement>;\n\n /** Tabindex for the checkbox. */\n @Input({transform: (value: unknown) => (value == null ? undefined : numberAttribute(value))})\n tabIndex: number;\n\n // TODO(crisbeto): this should be a ThemePalette, but some internal apps were abusing\n // the lack of type checking previously and assigning random strings.\n /**\n * Theme color of the checkbox. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/checkbox/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: string | undefined;\n\n /** Whether the checkbox should remain interactive when it is disabled. */\n @Input({transform: booleanAttribute})\n disabledInteractive: boolean;\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n _onTouched: () => any = () => {};\n\n private _currentAnimationClass: string = '';\n private _currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n private _controlValueAccessorChangeFn: (value: any) => void = () => {};\n private _validatorChangeFn = () => {};\n\n constructor(...args: unknown[]);\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n this._options = this._options || checkboxDefaults;\n this.color = this._options.color || checkboxDefaults.color;\n this.tabIndex = tabIndex == null ? 0 : parseInt(tabIndex) || 0;\n this.id = this._uniqueId = inject(_IdGenerator).getId('mat-mdc-checkbox-');\n this.disabledInteractive = this._options?.disabledInteractive ?? false;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['required']) {\n this._validatorChangeFn();\n }\n }\n\n ngAfterViewInit() {\n this._syncIndeterminate(this.indeterminate);\n }\n\n /** Whether the checkbox is checked. */\n @Input({transform: booleanAttribute})\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: boolean) {\n if (value != this.checked) {\n this._checked = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _checked: boolean = false;\n\n /** Whether the checkbox is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n if (value !== this.disabled) {\n this._disabled = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _disabled: boolean = false;\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input({transform: booleanAttribute})\n get indeterminate(): boolean {\n return this._indeterminate();\n }\n set indeterminate(value: boolean) {\n const changed = value != this._indeterminate();\n this._indeterminate.set(value);\n\n if (changed) {\n if (value) {\n this._transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this._transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked,\n );\n }\n this.indeterminateChange.emit(value);\n }\n\n this._syncIndeterminate(value);\n }\n private _indeterminate = signal(false);\n\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the checkbox\n // component will be only marked for check, but no actual change detection runs automatically.\n // Instead of going back into the zone in order to trigger a change detection which causes\n // *all* components to be checked (if explicitly marked or not using OnPush), we only trigger\n // an explicit change detection for the checkbox view and its children.\n this._changeDetectorRef.detectChanges();\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n // Implemented as a part of Validator.\n validate(control: AbstractControl<boolean>): ValidationErrors | null {\n return this.required && control.value !== true ? {'required': true} : null;\n }\n\n // Implemented as a part of Validator.\n registerOnValidatorChange(fn: () => void): void {\n this._validatorChangeFn = fn;\n }\n\n private _transitionCheckState(newState: TransitionCheckState) {\n let oldState = this._currentCheckState;\n let element = this._getAnimationTargetElement();\n\n if (oldState === newState || !element) {\n return;\n }\n if (this._currentAnimationClass) {\n element.classList.remove(this._currentAnimationClass);\n }\n\n this._currentAnimationClass = this._getAnimationClassForCheckStateTransition(\n oldState,\n newState,\n );\n this._currentCheckState = newState;\n\n if (this._currentAnimationClass.length > 0) {\n element.classList.add(this._currentAnimationClass);\n\n // Remove the animation class to avoid animation when the checkbox is moved between containers\n const animationClass = this._currentAnimationClass;\n\n this._ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n element!.classList.remove(animationClass);\n }, 1000);\n });\n }\n }\n\n private _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.checked);\n this.change.emit(this._createChangeEvent(this.checked));\n\n // Assigning the value again here is redundant, but we have to do it in case it was\n // changed inside the `change` listener which will cause the input to be out of sync.\n if (this._inputElement) {\n this._inputElement.nativeElement.checked = this.checked;\n }\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked;\n this._controlValueAccessorChangeFn(this.checked);\n }\n\n protected _handleInputClick() {\n const clickAction = this._options?.clickAction;\n\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled && clickAction !== 'noop') {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate && clickAction !== 'check') {\n Promise.resolve().then(() => {\n this._indeterminate.set(false);\n this.indeterminateChange.emit(false);\n });\n }\n\n this._checked = !this._checked;\n this._transitionCheckState(\n this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked,\n );\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this._emitChangeEvent();\n } else if (\n (this.disabled && this.disabledInteractive) ||\n (!this.disabled && clickAction === 'noop')\n ) {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `mat-checkbox`.\n this._inputElement.nativeElement.checked = this.checked;\n this._inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n _onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n\n _onBlur() {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n private _getAnimationClassForCheckStateTransition(\n oldState: TransitionCheckState,\n newState: TransitionCheckState,\n ): string {\n // Don't transition if animations are disabled.\n if (this._animationsDisabled) {\n return '';\n }\n\n switch (oldState) {\n case TransitionCheckState.Init:\n // Handle edge case where user interacts with checkbox that does not have [(ngModel)] or\n // [checked] bound to it.\n if (newState === TransitionCheckState.Checked) {\n return this._animationClasses.uncheckedToChecked;\n } else if (newState == TransitionCheckState.Indeterminate) {\n return this._checked\n ? this._animationClasses.checkedToIndeterminate\n : this._animationClasses.uncheckedToIndeterminate;\n }\n break;\n case TransitionCheckState.Unchecked:\n return newState === TransitionCheckState.Checked\n ? this._animationClasses.uncheckedToChecked\n : this._animationClasses.uncheckedToIndeterminate;\n case TransitionCheckState.Checked:\n return newState === TransitionCheckState.Unchecked\n ? this._animationClasses.checkedToUnchecked\n : this._animationClasses.checkedToIndeterminate;\n case TransitionCheckState.Indeterminate:\n return newState === TransitionCheckState.Checked\n ? this._animationClasses.indeterminateToChecked\n : this._animationClasses.indeterminateToUnchecked;\n }\n\n return '';\n }\n\n /**\n * Syncs the indeterminate value with the checkbox DOM node.\n *\n * We sync `indeterminate` directly on the DOM node, because in Ivy the check for whether a\n * property is supported on an element boils down to `if (propName in element)`. Domino's\n * HTMLInputElement doesn't have an `indeterminate` property so Ivy will warn during\n * server-side rendering.\n */\n private _syncIndeterminate(value: boolean) {\n const nativeCheckbox = this._inputElement;\n\n if (nativeCheckbox) {\n nativeCheckbox.nativeElement.indeterminate = value;\n }\n }\n\n _onInputClick() {\n this._handleInputClick();\n }\n\n _onTouchTargetClick() {\n this._handleInputClick();\n\n if (!this.disabled) {\n // Normally the input should be focused already, but if the click\n // comes from the touch target, then we might have to focus it ourselves.\n this._inputElement.nativeElement.focus();\n }\n }\n\n /**\n * Prevent click events that come from the `<label/>` element from bubbling. This prevents the\n * click handler on the host from triggering twice when clicking on the `<label/>` element. After\n * the click event on the `<label/>` propagates, the browsers dispatches click on the associated\n * `<input/>`. By preventing clicks on the label by bubbling, we ensure only one click event\n * bubbles when the label is clicked.\n */\n _preventBubblingFromLabel(event: MouseEvent) {\n if (!!event.target && this._labelElement.nativeElement.contains(event.target as HTMLElement)) {\n event.stopPropagation();\n }\n }\n}\n","<div mat-internal-form-field [labelPosition]=\"labelPosition\" (click)=\"_preventBubblingFromLabel($event)\">\n <div #checkbox class=\"mdc-checkbox\">\n <!-- Render this element first so the input is on top. -->\n <div class=\"mat-mdc-checkbox-touch-target\" (click)=\"_onTouchTargetClick()\"></div>\n <input #input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\"\n [class.mdc-checkbox--selected]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"indeterminate ? 'mixed' : null\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-disabled]=\"disabled && disabledInteractive ? true : null\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled && !disabledInteractive\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"disabled && !disabledInteractive ? -1 : tabIndex\"\n (blur)=\"_onBlur()\"\n (click)=\"_onInputClick()\"\n (change)=\"_onInteractionEvent($event)\"/>\n <div class=\"mdc-checkbox__ripple\"></div>\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n <div class=\"mdc-checkbox__mixedmark\"></div>\n </div>\n <div class=\"mat-mdc-checkbox-ripple mat-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"checkbox\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"></div>\n </div>\n <!--\n Avoid putting a click handler on the <label/> to fix duplicate navigation stop on Talk Back\n (#14385). Putting a click handler on the <label/> caused this bug because the browser produced\n an unnecessary accessibility tree node.\n -->\n <label class=\"mdc-label\" #label [for]=\"inputId\">\n <ng-content></ng-content>\n </label>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {NgModule} from '@angular/core';\nimport {MatCheckbox} from './checkbox';\n\n@NgModule({\n imports: [MatCheckbox],\n exports: [MatCheckbox, BidiModule],\n})\nexport class MatCheckboxModule {}\n"],"names":["checkboxDefaults","color","clickAction","disabledInteractive","MAT_CHECKBOX_DEFAULT_OPTIONS","InjectionToken","providedIn","factory","TransitionCheckState","MatCheckboxChange","source","checked","MatCheckbox","_elementRef","inject","ElementRef","_changeDetectorRef","ChangeDetectorRef","_ngZone","NgZone","_animationsDisabled","_options","optional","focus","_inputElement","nativeElement","_createChangeEvent","isChecked","event","_getAnimationTargetElement","_animationClasses","uncheckedToChecked","uncheckedToIndeterminate","checkedToUnchecked","checkedToIndeterminate","indeterminateToChecked","indeterminateToUnchecked","ariaLabel","ariaLabelledby","ariaDescribedby","ariaExpanded","ariaControls","ariaOwns","_uniqueId","id","inputId","required","labelPosition","name","change","EventEmitter","indeterminateChange","value","disableRipple","_labelElement","tabIndex","_onTouched","_currentAnimationClass","_currentCheckState","Init","_controlValueAccessorChangeFn","_validatorChangeFn","constructor","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","HostAttributeToken","parseInt","_IdGenerator","getId","ngOnChanges","changes","ngAfterViewInit","_syncIndeterminate","indeterminate","_checked","markForCheck","disabled","_disabled","_indeterminate","changed","set","_transitionCheckState","Indeterminate","Checked","Unchecked","emit","signal","_isRippleDisabled","_onLabelTextChange","detectChanges","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","validate","control","registerOnValidatorChange","newState","oldState","element","classList","remove","_getAnimationClassForCheckStateTransition","length","add","animationClass","runOutsideAngular","setTimeout","_emitChangeEvent","toggle","_handleInputClick","Promise","resolve","then","_onInteractionEvent","stopPropagation","_onBlur","nativeCheckbox","_onInputClick","_onTouchTargetClick","_preventBubblingFromLabel","target","contains","deps","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","booleanAttribute","undefined","numberAttribute","outputs","host","properties","classAttribute","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","NG_VALIDATORS","viewQueries","propertyName","first","predicate","descendants","exportAs","usesOnChanges","ngImport","template","styles","dependencies","kind","MatRipple","selector","inputs","_MatInternalFormField","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","args","imports","Input","alias","transform","Output","ViewChild","MatCheckboxModule","NgModule","ɵmod","ɵɵngDeclareNgModule","exports","BidiModule"],"mappings":"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"}