{"version":3,"file":"default-_yarn___virtual___angular-material-virtual-894adb27e5_0_cache_angular-material-npm-15-13de41.946cff4021b8e745.js","mappings":"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","names":["MAT_CHECKBOX_DEFAULT_OPTIONS","InjectionToken","providedIn","factory","MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY","color","clickAction","MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","MatCheckbox","multi","MatCheckboxChange","nextUniqueId","defaults","_MatCheckboxMixinBase","mixinTabIndex","mixinColor","mixinDisableRipple","mixinDisabled","constructor","_elementRef","this","_MatCheckboxBase","inputId","id","_uniqueId","required","_required","value","coerceBooleanProperty","idPrefix","elementRef","_changeDetectorRef","_ngZone","tabIndex","_animationMode","_options","super","ariaLabel","ariaLabelledby","labelPosition","name","change","EventEmitter","indeterminateChange","_onTouched","_currentAnimationClass","_currentCheckState","_controlValueAccessorChangeFn","_checked","_disabled","_indeterminate","defaultColor","parseInt","ngAfterViewInit","_syncIndeterminate","checked","markForCheck","disabled","newValue","indeterminate","changed","_transitionCheckState","emit","_isRippleDisabled","disableRipple","_onLabelTextChange","detectChanges","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","newState","oldState","element","_getAnimationTargetElement","classList","remove","_getAnimationClassForCheckStateTransition","length","add","animationClass","runOutsideAngular","setTimeout","_emitChangeEvent","_createChangeEvent","_inputElement","nativeElement","toggle","_handleInputClick","Promise","resolve","then","_onInteractionEvent","event","stopPropagation","_onBlur","_animationClasses","uncheckedToChecked","checkedToIndeterminate","uncheckedToIndeterminate","checkedToUnchecked","indeterminateToChecked","indeterminateToUnchecked","nativeCheckbox","ɵfac","i0","ɵdir","viewQuery","_c0","_c1","MatRipple","_t","ctx","changeDetectorRef","ngZone","animationMode","options","focus","isChecked","source","_onInputClick","_onTouchTargetClick","_preventBubblingFromLabel","target","_labelElement","contains","ANIMATION_MODULE_TYPE","ɵcmp","selectors","ngContentSelectors","i1","styles","_MatCheckboxRequiredValidatorModule","ɵmod","ɵinj","MatCheckboxModule","MatCommonModule","MatRippleModule"],"sourceRoot":"webpack:///","sources":["./.yarn/__virtual__/@angular-material-virtual-894adb27e5/0/cache/@angular-material-npm-15.2.6-c3a4b7c31c-45a31fd989.zip/node_modules/@angular/material/fesm2020/checkbox.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, EventEmitter, Directive, Input, Output, ViewChild, Component, ViewEncapsulation, ChangeDetectionStrategy, Attribute, Optional, Inject, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, CheckboxRequiredValidator } from '@angular/forms';\nimport * as i1 from '@angular/material/core';\nimport { mixinTabIndex, mixinColor, mixinDisableRipple, mixinDisabled, MatRipple, MatCommonModule, MatRippleModule } from '@angular/material/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\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.io/license\n */\n/** Injection token to be used to override the default options for `mat-checkbox`. */\nconst MAT_CHECKBOX_DEFAULT_OPTIONS = new InjectionToken('mat-checkbox-default-options', {\n providedIn: 'root',\n factory: MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY() {\n return {\n color: 'accent',\n clickAction: 'check-indeterminate',\n };\n}\n\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.io/license\n */\nconst MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatCheckbox),\n multi: true,\n};\n/** Change event object emitted by checkbox. */\nclass MatCheckboxChange {\n}\n// Increasing integer for generating unique ids for checkbox components.\nlet nextUniqueId = 0;\n// Default checkbox configuration.\nconst defaults = MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY();\n// Boilerplate for applying mixins to MatCheckbox.\n/** @docs-private */\nconst _MatCheckboxMixinBase = mixinTabIndex(mixinColor(mixinDisableRipple(mixinDisabled(class {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}))));\nclass _MatCheckboxBase extends _MatCheckboxMixinBase {\n /** Returns the unique id for the visual hidden input. */\n get inputId() {\n return `${this.id || this._uniqueId}-input`;\n }\n /** Whether the checkbox is required. */\n get required() {\n return this._required;\n }\n set required(value) {\n this._required = coerceBooleanProperty(value);\n }\n constructor(idPrefix, elementRef, _changeDetectorRef, _ngZone, tabIndex, _animationMode, _options) {\n super(elementRef);\n this._changeDetectorRef = _changeDetectorRef;\n this._ngZone = _ngZone;\n this._animationMode = _animationMode;\n this._options = _options;\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 this.ariaLabel = '';\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n this.ariaLabelledby = null;\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n this.labelPosition = 'after';\n /** Name value will be applied to the input element if present */\n this.name = null;\n /** Event emitted when the checkbox's `checked` value changes. */\n this.change = new EventEmitter();\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n this.indeterminateChange = new EventEmitter();\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n this._onTouched = () => { };\n this._currentAnimationClass = '';\n this._currentCheckState = 0 /* TransitionCheckState.Init */;\n this._controlValueAccessorChangeFn = () => { };\n this._checked = false;\n this._disabled = false;\n this._indeterminate = false;\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options.color || defaults.color;\n this.tabIndex = parseInt(tabIndex) || 0;\n this.id = this._uniqueId = `${idPrefix}${++nextUniqueId}`;\n }\n ngAfterViewInit() {\n this._syncIndeterminate(this._indeterminate);\n }\n /** Whether the checkbox is checked. */\n get checked() {\n return this._checked;\n }\n set checked(value) {\n const checked = coerceBooleanProperty(value);\n if (checked != this.checked) {\n this._checked = checked;\n this._changeDetectorRef.markForCheck();\n }\n }\n /**\n * Whether the checkbox is disabled. This fully overrides the implementation provided by\n * mixinDisabled, but the mixin is still required because mixinTabIndex requires it.\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this.disabled) {\n this._disabled = newValue;\n this._changeDetectorRef.markForCheck();\n }\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 get indeterminate() {\n return this._indeterminate;\n }\n set indeterminate(value) {\n const changed = value != this._indeterminate;\n this._indeterminate = coerceBooleanProperty(value);\n if (changed) {\n if (this._indeterminate) {\n this._transitionCheckState(3 /* TransitionCheckState.Indeterminate */);\n }\n else {\n this._transitionCheckState(this.checked ? 1 /* TransitionCheckState.Checked */ : 2 /* TransitionCheckState.Unchecked */);\n }\n this.indeterminateChange.emit(this._indeterminate);\n }\n this._syncIndeterminate(this._indeterminate);\n }\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\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 // Implemented as part of ControlValueAccessor.\n writeValue(value) {\n this.checked = !!value;\n }\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n }\n _transitionCheckState(newState) {\n let oldState = this._currentCheckState;\n let element = this._getAnimationTargetElement();\n if (oldState === newState || !element) {\n return;\n }\n if (this._currentAnimationClass) {\n element.classList.remove(this._currentAnimationClass);\n }\n this._currentAnimationClass = this._getAnimationClassForCheckStateTransition(oldState, newState);\n this._currentCheckState = newState;\n if (this._currentAnimationClass.length > 0) {\n element.classList.add(this._currentAnimationClass);\n // Remove the animation class to avoid animation when the checkbox is moved between containers\n const animationClass = this._currentAnimationClass;\n this._ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n element.classList.remove(animationClass);\n }, 1000);\n });\n }\n }\n _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.checked);\n this.change.emit(this._createChangeEvent(this.checked));\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 /** Toggles the `checked` state of the checkbox. */\n toggle() {\n this.checked = !this.checked;\n this._controlValueAccessorChangeFn(this.checked);\n }\n _handleInputClick() {\n const clickAction = this._options?.clickAction;\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 = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n this._checked = !this._checked;\n this._transitionCheckState(this._checked ? 1 /* TransitionCheckState.Checked */ : 2 /* TransitionCheckState.Unchecked */);\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 }\n else if (!this.disabled && clickAction === 'noop') {\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 _onInteractionEvent(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 _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 _getAnimationClassForCheckStateTransition(oldState, newState) {\n // Don't transition if animations are disabled.\n if (this._animationMode === 'NoopAnimations') {\n return '';\n }\n switch (oldState) {\n case 0 /* 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 === 1 /* TransitionCheckState.Checked */) {\n return this._animationClasses.uncheckedToChecked;\n }\n else if (newState == 3 /* TransitionCheckState.Indeterminate */) {\n return this._checked\n ? this._animationClasses.checkedToIndeterminate\n : this._animationClasses.uncheckedToIndeterminate;\n }\n break;\n case 2 /* TransitionCheckState.Unchecked */:\n return newState === 1 /* TransitionCheckState.Checked */\n ? this._animationClasses.uncheckedToChecked\n : this._animationClasses.uncheckedToIndeterminate;\n case 1 /* TransitionCheckState.Checked */:\n return newState === 2 /* TransitionCheckState.Unchecked */\n ? this._animationClasses.checkedToUnchecked\n : this._animationClasses.checkedToIndeterminate;\n case 3 /* TransitionCheckState.Indeterminate */:\n return newState === 1 /* TransitionCheckState.Checked */\n ? this._animationClasses.indeterminateToChecked\n : this._animationClasses.indeterminateToUnchecked;\n }\n return '';\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 _syncIndeterminate(value) {\n const nativeCheckbox = this._inputElement;\n if (nativeCheckbox) {\n nativeCheckbox.nativeElement.indeterminate = value;\n }\n }\n}\n_MatCheckboxBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: _MatCheckboxBase, deps: \"invalid\", target: i0.ɵɵFactoryTarget.Directive });\n_MatCheckboxBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.0-rc.0\", type: _MatCheckboxBase, inputs: { ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], ariaDescribedby: [\"aria-describedby\", \"ariaDescribedby\"], id: \"id\", required: \"required\", labelPosition: \"labelPosition\", name: \"name\", value: \"value\", checked: \"checked\", disabled: \"disabled\", indeterminate: \"indeterminate\" }, outputs: { change: \"change\", indeterminateChange: \"indeterminateChange\" }, viewQueries: [{ propertyName: \"_inputElement\", first: true, predicate: [\"input\"], descendants: true }, { propertyName: \"_labelElement\", first: true, predicate: [\"label\"], descendants: true }, { propertyName: \"ripple\", first: true, predicate: MatRipple, descendants: true }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: _MatCheckboxBase, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: undefined }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined }, { type: undefined }, { type: undefined }]; }, propDecorators: { ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], ariaDescribedby: [{\n type: Input,\n args: ['aria-describedby']\n }], id: [{\n type: Input\n }], required: [{\n type: Input\n }], labelPosition: [{\n type: Input\n }], name: [{\n type: Input\n }], change: [{\n type: Output\n }], indeterminateChange: [{\n type: Output\n }], value: [{\n type: Input\n }], _inputElement: [{\n type: ViewChild,\n args: ['input']\n }], _labelElement: [{\n type: ViewChild,\n args: ['label']\n }], ripple: [{\n type: ViewChild,\n args: [MatRipple]\n }], checked: [{\n type: Input\n }], disabled: [{\n type: Input\n }], indeterminate: [{\n type: Input\n }] } });\nclass MatCheckbox extends _MatCheckboxBase {\n constructor(elementRef, changeDetectorRef, ngZone, tabIndex, animationMode, options) {\n super('mat-mdc-checkbox-', elementRef, changeDetectorRef, ngZone, tabIndex, animationMode, options);\n this._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 /** Focuses the checkbox. */\n focus() {\n this._inputElement.nativeElement.focus();\n }\n _createChangeEvent(isChecked) {\n const event = new MatCheckboxChange();\n event.source = this;\n event.checked = isChecked;\n return event;\n }\n _getAnimationTargetElement() {\n return this._inputElement?.nativeElement;\n }\n _onInputClick() {\n super._handleInputClick();\n }\n _onTouchTargetClick() {\n super._handleInputClick();\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 * Prevent click events that come from the `