{"version":3,"file":"checkbox.js","sources":["../../packages/material/checkbox/checkbox.js","../../packages/material/checkbox/checkbox-required-validator.js","../../packages/material/checkbox/checkbox-module.js","../../packages/material/checkbox/index.js"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 */\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, Output, Renderer2, ViewChild, ViewEncapsulation, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatRipple, mixinColor, mixinDisabled, mixinDisableRipple, mixinTabIndex, } from '@angular/material/core';\nimport { FocusMonitor } from '@angular/cdk/a11y';\n// Increasing integer for generating unique ids for checkbox components.\nlet /** @type {?} */ nextUniqueId = 0;\n/**\n * Provider Expression that allows mat-checkbox to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * \\@docs-private\n */\nexport const MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatCheckbox),\n multi: true\n};\nexport let TransitionCheckState = {};\nTransitionCheckState.Init = 0;\nTransitionCheckState.Checked = 1;\nTransitionCheckState.Unchecked = 2;\nTransitionCheckState.Indeterminate = 3;\nTransitionCheckState[TransitionCheckState.Init] = \"Init\";\nTransitionCheckState[TransitionCheckState.Checked] = \"Checked\";\nTransitionCheckState[TransitionCheckState.Unchecked] = \"Unchecked\";\nTransitionCheckState[TransitionCheckState.Indeterminate] = \"Indeterminate\";\n/**\n * Change event object emitted by MatCheckbox.\n */\nexport class MatCheckboxChange {\n}\nfunction MatCheckboxChange_tsickle_Closure_declarations() {\n /**\n * The source MatCheckbox of the event.\n * @type {?}\n */\n MatCheckboxChange.prototype.source;\n /**\n * The new `checked` value of the checkbox.\n * @type {?}\n */\n MatCheckboxChange.prototype.checked;\n}\n/**\n * \\@docs-private\n */\nexport class MatCheckboxBase {\n /**\n * @param {?} _renderer\n * @param {?} _elementRef\n */\n constructor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n }\n}\nfunction MatCheckboxBase_tsickle_Closure_declarations() {\n /** @type {?} */\n MatCheckboxBase.prototype._renderer;\n /** @type {?} */\n MatCheckboxBase.prototype._elementRef;\n}\nexport const /** @type {?} */ _MatCheckboxMixinBase = mixinTabIndex(mixinColor(mixinDisableRipple(mixinDisabled(MatCheckboxBase)), 'accent'));\n/**\n * A material design checkbox component. Supports all of the functionality of an HTML5 checkbox,\n * and exposes a similar API. A MatCheckbox can be either checked, unchecked, indeterminate, or\n * disabled. Note that all additional accessibility attributes are taken care of by the component,\n * so there is no need to provide them yourself. However, if you want to omit a label and still\n * have the checkbox be accessible, you may supply an [aria-label] input.\n * See: https://www.google.com/design/spec/components/selection-controls.html\n */\nexport class MatCheckbox extends _MatCheckboxMixinBase {\n /**\n * @param {?} renderer\n * @param {?} elementRef\n * @param {?} _changeDetectorRef\n * @param {?} _focusMonitor\n * @param {?} tabIndex\n */\n constructor(renderer, elementRef, _changeDetectorRef, _focusMonitor, tabIndex) {\n super(renderer, elementRef);\n this._changeDetectorRef = _changeDetectorRef;\n this._focusMonitor = _focusMonitor;\n /**\n * Attached to the aria-label attribute of the host element. In most cases, arial-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 this._uniqueId = `mat-checkbox-${++nextUniqueId}`;\n /**\n * A unique id for the checkbox input. If none is supplied, it will be auto-generated.\n */\n this.id = this._uniqueId;\n /**\n * Whether the label should appear after or before the checkbox. Defaults to 'after'\n */\n this.labelPosition = 'after';\n /**\n * Name value will be applied to the input element if present\n */\n this.name = null;\n /**\n * Event emitted when the checkbox's `checked` value changes.\n */\n this.change = new EventEmitter();\n /**\n * Event emitted when the checkbox's `indeterminate` value changes.\n */\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 = TransitionCheckState.Init;\n this._checked = false;\n this._indeterminate = false;\n this._controlValueAccessorChangeFn = () => { };\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n /**\n * Returns the unique id for the visual hidden input.\n * @return {?}\n */\n get inputId() { return `${this.id || this._uniqueId}-input`; }\n /**\n * Whether the checkbox is required.\n * @return {?}\n */\n get required() { return this._required; }\n /**\n * @param {?} value\n * @return {?}\n */\n set required(value) { this._required = coerceBooleanProperty(value); }\n /**\n * Whether or not the checkbox should appear before or after the label.\n * @deprecated\n * @return {?}\n */\n get align() {\n // align refers to the checkbox relative to the label, while labelPosition refers to the\n // label relative to the checkbox. As such, they are inverted.\n return this.labelPosition == 'after' ? 'start' : 'end';\n }\n /**\n * @param {?} v\n * @return {?}\n */\n set align(v) {\n this.labelPosition = (v == 'start') ? 'after' : 'before';\n }\n /**\n * @return {?}\n */\n ngAfterViewInit() {\n this._focusMonitor\n .monitor(this._inputElement.nativeElement, this._renderer, false)\n .subscribe(focusOrigin => this._onInputFocusChange(focusOrigin));\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._inputElement.nativeElement);\n }\n /**\n * Whether the checkbox is checked.\n * @return {?}\n */\n get checked() {\n return this._checked;\n }\n /**\n * @param {?} checked\n * @return {?}\n */\n set checked(checked) {\n if (checked != this.checked) {\n this._checked = checked;\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 * @return {?}\n */\n get indeterminate() {\n return this._indeterminate;\n }\n /**\n * @param {?} indeterminate\n * @return {?}\n */\n set indeterminate(indeterminate) {\n let /** @type {?} */ changed = indeterminate != this._indeterminate;\n this._indeterminate = indeterminate;\n if (changed) {\n if (this._indeterminate) {\n this._transitionCheckState(TransitionCheckState.Indeterminate);\n }\n else {\n this._transitionCheckState(this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n }\n this.indeterminateChange.emit(this._indeterminate);\n }\n }\n /**\n * @return {?}\n */\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n /**\n * Method being called whenever the label text changes.\n * @return {?}\n */\n _onLabelTextChange() {\n // This method is getting called whenever the label of the checkbox changes.\n // Since the checkbox uses the OnPush strategy we need to notify it about the change\n // that has been recognized by the cdkObserveContent directive.\n this._changeDetectorRef.markForCheck();\n }\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param {?} value Value to be set to the model.\n * @return {?}\n */\n writeValue(value) {\n this.checked = !!value;\n }\n /**\n * Registers a callback to be triggered when the value has changed.\n * Implemented as part of ControlValueAccessor.\n * @param {?} fn Function to be called on change.\n * @return {?}\n */\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n /**\n * Registers a callback to be triggered when the control has been touched.\n * Implemented as part of ControlValueAccessor.\n * @param {?} fn Callback to be triggered when the checkbox is touched.\n * @return {?}\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the checkbox's disabled state. Implemented as a part of ControlValueAccessor.\n * @param {?} isDisabled Whether the checkbox should be disabled.\n * @return {?}\n */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n /**\n * @param {?} newState\n * @return {?}\n */\n _transitionCheckState(newState) {\n let /** @type {?} */ oldState = this._currentCheckState;\n let /** @type {?} */ renderer = this._renderer;\n let /** @type {?} */ elementRef = this._elementRef;\n if (oldState === newState) {\n return;\n }\n if (this._currentAnimationClass.length > 0) {\n renderer.removeClass(elementRef.nativeElement, this._currentAnimationClass);\n }\n this._currentAnimationClass = this._getAnimationClassForCheckStateTransition(oldState, newState);\n this._currentCheckState = newState;\n if (this._currentAnimationClass.length > 0) {\n renderer.addClass(elementRef.nativeElement, this._currentAnimationClass);\n }\n }\n /**\n * @return {?}\n */\n _emitChangeEvent() {\n let /** @type {?} */ event = new MatCheckboxChange();\n event.source = this;\n event.checked = this.checked;\n this._controlValueAccessorChangeFn(this.checked);\n this.change.emit(event);\n }\n /**\n * Function is called whenever the focus changes for the input element.\n * @param {?} focusOrigin\n * @return {?}\n */\n _onInputFocusChange(focusOrigin) {\n if (!this._focusRipple && focusOrigin === 'keyboard') {\n this._focusRipple = this._ripple.launch(0, 0, { persistent: true, centered: true });\n }\n else if (!focusOrigin) {\n this._removeFocusRipple();\n this.onTouched();\n }\n }\n /**\n * Toggles the `checked` state of the checkbox.\n * @return {?}\n */\n toggle() {\n this.checked = !this.checked;\n }\n /**\n * Event handler for checkbox input element.\n * Toggles checked state if element is not disabled.\n * Do not toggle on (change) event since IE doesn't fire change event when\n * indeterminate checkbox is clicked.\n * @param {?} event\n * @return {?}\n */\n _onInputClick(event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `checkbox` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n this._removeFocusRipple();\n if (!this.disabled) {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this._indeterminate) {\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n this.toggle();\n this._transitionCheckState(this._checked ? TransitionCheckState.Checked : 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 }\n /**\n * Focuses the checkbox.\n * @return {?}\n */\n focus() {\n this._focusMonitor.focusVia(this._inputElement.nativeElement, 'keyboard');\n }\n /**\n * @param {?} event\n * @return {?}\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 /**\n * @param {?} oldState\n * @param {?} newState\n * @return {?}\n */\n _getAnimationClassForCheckStateTransition(oldState, newState) {\n let /** @type {?} */ animSuffix = '';\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 animSuffix = 'unchecked-checked';\n }\n else if (newState == TransitionCheckState.Indeterminate) {\n animSuffix = 'unchecked-indeterminate';\n }\n else {\n return '';\n }\n break;\n case TransitionCheckState.Unchecked:\n animSuffix = newState === TransitionCheckState.Checked ?\n 'unchecked-checked' : 'unchecked-indeterminate';\n break;\n case TransitionCheckState.Checked:\n animSuffix = newState === TransitionCheckState.Unchecked ?\n 'checked-unchecked' : 'checked-indeterminate';\n break;\n case TransitionCheckState.Indeterminate:\n animSuffix = newState === TransitionCheckState.Checked ?\n 'indeterminate-checked' : 'indeterminate-unchecked';\n break;\n }\n return `mat-checkbox-anim-${animSuffix}`;\n }\n /**\n * Fades out the focus state ripple.\n * @return {?}\n */\n _removeFocusRipple() {\n if (this._focusRipple) {\n this._focusRipple.fadeOut();\n this._focusRipple = null;\n }\n }\n}\nMatCheckbox.decorators = [\n { type: Component, args: [{selector: 'mat-checkbox',\n template: \"\",\n styles: [\"@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.91026}50%{animation-timing-function:cubic-bezier(0,0,.2,.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0,0,0,1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(.4,0,1,1);stroke-dashoffset:0}to{stroke-dashoffset:-22.91026}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}100%,32.8%{opacity:0;transform:scaleX(0)}}.mat-checkbox-checkmark,.mat-checkbox-mixedmark{width:calc(100% - 4px)}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);cursor:pointer}.mat-checkbox-layout{cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-inner-container{display:inline-block;height:20px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:20px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0,0,.2,.1);border-width:2px;border-style:solid}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0,0,.2,.1),opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.91026;stroke-dasharray:22.91026;stroke-width:2.66667px}.mat-checkbox-mixedmark{height:2px;opacity:0;transform:scaleX(0) rotate(0)}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0s mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0s mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:.3s linear 0s mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox-ripple{position:absolute;left:-15px;top:-15px;right:-15px;bottom:-15px;border-radius:50%;z-index:1;pointer-events:none}\"],\n exportAs: 'matCheckbox',\n host: {\n 'class': 'mat-checkbox',\n '[id]': 'id',\n '[class.mat-checkbox-indeterminate]': 'indeterminate',\n '[class.mat-checkbox-checked]': 'checked',\n '[class.mat-checkbox-disabled]': 'disabled',\n '[class.mat-checkbox-label-before]': 'labelPosition == \"before\"',\n },\n providers: [MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR],\n inputs: ['disabled', 'disableRipple', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n },] },\n];\n/**\n * @nocollapse\n */\nMatCheckbox.ctorParameters = () => [\n { type: Renderer2, },\n { type: ElementRef, },\n { type: ChangeDetectorRef, },\n { type: FocusMonitor, },\n { type: undefined, decorators: [{ type: Attribute, args: ['tabindex',] },] },\n];\nMatCheckbox.propDecorators = {\n 'ariaLabel': [{ type: Input, args: ['aria-label',] },],\n 'ariaLabelledby': [{ type: Input, args: ['aria-labelledby',] },],\n 'id': [{ type: Input },],\n 'required': [{ type: Input },],\n 'align': [{ type: Input },],\n 'labelPosition': [{ type: Input },],\n 'name': [{ type: Input },],\n 'change': [{ type: Output },],\n 'indeterminateChange': [{ type: Output },],\n 'value': [{ type: Input },],\n '_inputElement': [{ type: ViewChild, args: ['input',] },],\n '_ripple': [{ type: ViewChild, args: [MatRipple,] },],\n 'checked': [{ type: Input },],\n 'indeterminate': [{ type: Input },],\n};\nfunction MatCheckbox_tsickle_Closure_declarations() {\n /** @type {?} */\n MatCheckbox.decorators;\n /**\n * @nocollapse\n * @type {?}\n */\n MatCheckbox.ctorParameters;\n /** @type {?} */\n MatCheckbox.propDecorators;\n /**\n * Attached to the aria-label attribute of the host element. In most cases, arial-labelledby will\n * take precedence so this may be omitted.\n * @type {?}\n */\n MatCheckbox.prototype.ariaLabel;\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n * @type {?}\n */\n MatCheckbox.prototype.ariaLabelledby;\n /** @type {?} */\n MatCheckbox.prototype._uniqueId;\n /**\n * A unique id for the checkbox input. If none is supplied, it will be auto-generated.\n * @type {?}\n */\n MatCheckbox.prototype.id;\n /** @type {?} */\n MatCheckbox.prototype._required;\n /**\n * Whether the label should appear after or before the checkbox. Defaults to 'after'\n * @type {?}\n */\n MatCheckbox.prototype.labelPosition;\n /**\n * Name value will be applied to the input element if present\n * @type {?}\n */\n MatCheckbox.prototype.name;\n /**\n * Event emitted when the checkbox's `checked` value changes.\n * @type {?}\n */\n MatCheckbox.prototype.change;\n /**\n * Event emitted when the checkbox's `indeterminate` value changes.\n * @type {?}\n */\n MatCheckbox.prototype.indeterminateChange;\n /**\n * The value attribute of the native input element\n * @type {?}\n */\n MatCheckbox.prototype.value;\n /**\n * The native ` element\n * @type {?}\n */\n MatCheckbox.prototype._inputElement;\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @type {?}\n */\n MatCheckbox.prototype._ripple;\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * \\@docs-private\n * @type {?}\n */\n MatCheckbox.prototype.onTouched;\n /** @type {?} */\n MatCheckbox.prototype._currentAnimationClass;\n /** @type {?} */\n MatCheckbox.prototype._currentCheckState;\n /** @type {?} */\n MatCheckbox.prototype._checked;\n /** @type {?} */\n MatCheckbox.prototype._indeterminate;\n /** @type {?} */\n MatCheckbox.prototype._controlValueAccessorChangeFn;\n /**\n * Reference to the focused state ripple.\n * @type {?}\n */\n MatCheckbox.prototype._focusRipple;\n /** @type {?} */\n MatCheckbox.prototype._changeDetectorRef;\n /** @type {?} */\n MatCheckbox.prototype._focusMonitor;\n}\n//# sourceMappingURL=checkbox.js.map","/**\n * @license\n * Copyright Google Inc. 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 */\nimport { Directive, forwardRef, } from '@angular/core';\nimport { CheckboxRequiredValidator, NG_VALIDATORS, } from '@angular/forms';\nexport const /** @type {?} */ _MatCheckboxRequiredValidator = CheckboxRequiredValidator;\nexport const /** @type {?} */ MAT_CHECKBOX_REQUIRED_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MatCheckboxRequiredValidator),\n multi: true\n};\n/**\n * Validator for Material checkbox's required attribute in template-driven checkbox.\n * Current CheckboxRequiredValidator only work with `input type=checkbox` and does not\n * work with `mat-checkbox`.\n */\nexport class MatCheckboxRequiredValidator extends _MatCheckboxRequiredValidator {\n}\nMatCheckboxRequiredValidator.decorators = [\n { type: Directive, args: [{\n selector: `mat-checkbox[required][formControlName],\n mat-checkbox[required][formControl], mat-checkbox[required][ngModel]`,\n providers: [MAT_CHECKBOX_REQUIRED_VALIDATOR],\n host: { '[attr.required]': 'required ? \"\" : null' }\n },] },\n];\n/**\n * @nocollapse\n */\nMatCheckboxRequiredValidator.ctorParameters = () => [];\nfunction MatCheckboxRequiredValidator_tsickle_Closure_declarations() {\n /** @type {?} */\n MatCheckboxRequiredValidator.decorators;\n /**\n * @nocollapse\n * @type {?}\n */\n MatCheckboxRequiredValidator.ctorParameters;\n}\n//# sourceMappingURL=checkbox-required-validator.js.map","/**\n * @license\n * Copyright Google Inc. 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 */\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { MatRippleModule, MatCommonModule } from '@angular/material/core';\nimport { MatCheckbox } from './checkbox';\nimport { MatCheckboxRequiredValidator } from './checkbox-required-validator';\nimport { A11yModule } from '@angular/cdk/a11y';\nexport class MatCheckboxModule {\n}\nMatCheckboxModule.decorators = [\n { type: NgModule, args: [{\n imports: [CommonModule, MatRippleModule, MatCommonModule, ObserversModule, A11yModule],\n exports: [MatCheckbox, MatCheckboxRequiredValidator, MatCommonModule],\n declarations: [MatCheckbox, MatCheckboxRequiredValidator],\n },] },\n];\n/**\n * @nocollapse\n */\nMatCheckboxModule.ctorParameters = () => [];\nfunction MatCheckboxModule_tsickle_Closure_declarations() {\n /** @type {?} */\n MatCheckboxModule.decorators;\n /**\n * @nocollapse\n * @type {?}\n */\n MatCheckboxModule.ctorParameters;\n}\n//# sourceMappingURL=checkbox-module.js.map","/**\n * Generated bundle index. Do not edit.\n */\nexport { MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR, TransitionCheckState, MatCheckboxChange, MatCheckboxBase, _MatCheckboxMixinBase, MatCheckbox, MatCheckboxModule, _MatCheckboxRequiredValidator, MAT_CHECKBOX_REQUIRED_VALIDATOR, MatCheckboxRequiredValidator } from './public-api';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":"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"}