{"version":3,"file":"checkbox.mjs","sources":["../../../../../../src/material/checkbox/checkbox-config.ts","../../../../../../src/material/checkbox/checkbox.ts","../../../../../../src/material/checkbox/checkbox.html","../../../../../../src/material/checkbox/checkbox-required-validator.ts","../../../../../../src/material/checkbox/checkbox-module.ts","../../../../../../src/material/checkbox/public-api.ts","../../../../../../src/material/checkbox/index.ts","../../../../../../src/material/checkbox/checkbox_public_index.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.io/license\n */\nimport {InjectionToken} from '@angular/core';\nimport {ThemePalette} from '@angular/material/core';\n\n/** Default `mat-checkbox` options that can be overridden. */\nexport interface MatCheckboxDefaultOptions {\n  /** Default theme color palette to be used for checkboxes. */\n  color?: ThemePalette;\n  /** Default checkbox click action for checkboxes. */\n  clickAction?: MatCheckboxClickAction;\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: MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY,\n  },\n);\n\n/** @docs-private */\nexport function MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY(): MatCheckboxDefaultOptions {\n  return {\n    color: 'accent',\n    clickAction: 'check-indeterminate',\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.io/license\n */\n\nimport {FocusableOption, FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n  Attribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Inject,\n  Input,\n  NgZone,\n  OnDestroy,\n  Optional,\n  Output,\n  ViewChild,\n  ViewEncapsulation,\n  Directive,\n  AfterViewInit,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n  CanColor,\n  CanDisable,\n  CanDisableRipple,\n  HasTabIndex,\n  MatRipple,\n  mixinColor,\n  mixinDisabled,\n  mixinDisableRipple,\n  mixinTabIndex,\n} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {\n  MAT_CHECKBOX_DEFAULT_OPTIONS,\n  MatCheckboxDefaultOptions,\n  MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY,\n} from './checkbox-config';\n\n// Increasing integer for generating unique ids for checkbox components.\nlet nextUniqueId = 0;\n\n// Default checkbox configuration.\nconst defaults = MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY();\n\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: any = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => MatCheckbox),\n  multi: true,\n};\n\n/**\n * Represents the different states that require custom transitions between them.\n * @docs-private\n */\nexport const 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 MatCheckbox. */\nexport class MatCheckboxChange {\n  /** The source MatCheckbox of the event. */\n  source: MatCheckbox;\n  /** The new `checked` value of the checkbox. */\n  checked: boolean;\n}\n\n// Boilerplate for applying mixins to MatCheckbox.\n/** @docs-private */\nconst _MatCheckboxMixinBase = mixinTabIndex(\n  mixinColor(\n    mixinDisableRipple(\n      mixinDisabled(\n        class {\n          constructor(public _elementRef: ElementRef) {}\n        },\n      ),\n    ),\n  ),\n);\n\n@Directive()\nexport abstract class _MatCheckboxBase<E>\n  extends _MatCheckboxMixinBase\n  implements\n    AfterViewInit,\n    ControlValueAccessor,\n    CanColor,\n    CanDisable,\n    HasTabIndex,\n    CanDisableRipple,\n    FocusableOption\n{\n  /** Focuses the checkbox. */\n  abstract focus(origin?: FocusOrigin): void;\n\n  /** Creates the change event that will be emitted by the checkbox. */\n  protected abstract _createChangeEvent(isChecked: boolean): E;\n\n  /** Gets the element on which to add the animation CSS classes. */\n  protected abstract _getAnimationTargetElement(): HTMLElement | null;\n\n  /** CSS classes to add when transitioning between the different checkbox states. */\n  protected abstract _animationClasses: {\n    uncheckedToChecked: string;\n    uncheckedToIndeterminate: string;\n    checkedToUnchecked: string;\n    checkedToIndeterminate: string;\n    indeterminateToChecked: string;\n    indeterminateToUnchecked: string;\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  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()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: BooleanInput) {\n    this._required = coerceBooleanProperty(value);\n  }\n  private _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: EventEmitter<E> = new EventEmitter<E>();\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  /** 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  /** Reference to the ripple instance of the checkbox. */\n  @ViewChild(MatRipple) ripple: MatRipple;\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\n  private _currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n\n  private _controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n  constructor(\n    idPrefix: string,\n    elementRef: ElementRef<HTMLElement>,\n    protected _changeDetectorRef: ChangeDetectorRef,\n    protected _ngZone: NgZone,\n    tabIndex: string,\n    public _animationMode?: string,\n    protected _options?: MatCheckboxDefaultOptions,\n  ) {\n    super(elementRef);\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\n  ngAfterViewInit() {\n    this._syncIndeterminate(this._indeterminate);\n  }\n\n  /** Whether the checkbox is checked. */\n  @Input()\n  get checked(): boolean {\n    return this._checked;\n  }\n  set checked(value: BooleanInput) {\n    const checked = coerceBooleanProperty(value);\n\n    if (checked != this.checked) {\n      this._checked = checked;\n      this._changeDetectorRef.markForCheck();\n    }\n  }\n  private _checked: boolean = false;\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  @Input()\n  override get disabled(): boolean {\n    return this._disabled;\n  }\n  override set disabled(value: BooleanInput) {\n    const newValue = coerceBooleanProperty(value);\n\n    if (newValue !== this.disabled) {\n      this._disabled = newValue;\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()\n  get indeterminate(): boolean {\n    return this._indeterminate;\n  }\n  set indeterminate(value: BooleanInput) {\n    const changed = value != this._indeterminate;\n    this._indeterminate = coerceBooleanProperty(value);\n\n    if (changed) {\n      if (this._indeterminate) {\n        this._transitionCheckState(TransitionCheckState.Indeterminate);\n      } else {\n        this._transitionCheckState(\n          this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked,\n        );\n      }\n      this.indeterminateChange.emit(this._indeterminate);\n    }\n\n    this._syncIndeterminate(this._indeterminate);\n  }\n  private _indeterminate: boolean = 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  _getAriaChecked(): 'true' | 'false' | 'mixed' {\n    if (this.checked) {\n      return 'true';\n    }\n\n    return this.indeterminate ? 'mixed' : 'false';\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 = false;\n          this.indeterminateChange.emit(this._indeterminate);\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 (!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\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._animationMode === 'NoopAnimations') {\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\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://material.io/design/components/selection-controls.html\n */\n@Component({\n  selector: 'mat-checkbox',\n  templateUrl: 'checkbox.html',\n  styleUrls: ['checkbox.css'],\n  exportAs: 'matCheckbox',\n  host: {\n    'class': 'mat-checkbox',\n    '[id]': 'id',\n    '[attr.tabindex]': 'null',\n    '[attr.aria-label]': 'null',\n    '[attr.aria-labelledby]': 'null',\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    '[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`,\n  },\n  providers: [MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR],\n  inputs: ['disableRipple', 'color', 'tabIndex'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatCheckbox\n  extends _MatCheckboxBase<MatCheckboxChange>\n  implements AfterViewInit, OnDestroy\n{\n  protected _animationClasses = {\n    uncheckedToChecked: 'mat-checkbox-anim-unchecked-checked',\n    uncheckedToIndeterminate: 'mat-checkbox-anim-unchecked-indeterminate',\n    checkedToUnchecked: 'mat-checkbox-anim-checked-unchecked',\n    checkedToIndeterminate: 'mat-checkbox-anim-checked-indeterminate',\n    indeterminateToChecked: 'mat-checkbox-anim-indeterminate-checked',\n    indeterminateToUnchecked: 'mat-checkbox-anim-indeterminate-unchecked',\n  };\n\n  constructor(\n    elementRef: ElementRef<HTMLElement>,\n    changeDetectorRef: ChangeDetectorRef,\n    private _focusMonitor: FocusMonitor,\n    ngZone: NgZone,\n    @Attribute('tabindex') tabIndex: string,\n    @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n    @Optional()\n    @Inject(MAT_CHECKBOX_DEFAULT_OPTIONS)\n    options?: MatCheckboxDefaultOptions,\n  ) {\n    super('mat-checkbox-', elementRef, changeDetectorRef, ngZone, tabIndex, animationMode, options);\n  }\n\n  protected _createChangeEvent(isChecked: boolean) {\n    const event = new MatCheckboxChange();\n    event.source = this;\n    event.checked = isChecked;\n    return event;\n  }\n\n  protected _getAnimationTargetElement() {\n    return this._elementRef.nativeElement;\n  }\n\n  override ngAfterViewInit() {\n    super.ngAfterViewInit();\n\n    this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n      if (!focusOrigin) {\n        this._onBlur();\n      }\n    });\n  }\n\n  ngOnDestroy() {\n    this._focusMonitor.stopMonitoring(this._elementRef);\n  }\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   */\n  _onInputClick(event: 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    super._handleInputClick();\n  }\n\n  /** Focuses the checkbox. */\n  focus(origin?: FocusOrigin, options?: FocusOptions): void {\n    if (origin) {\n      this._focusMonitor.focusVia(this._inputElement, origin, options);\n    } else {\n      this._inputElement.nativeElement.focus(options);\n    }\n  }\n}\n","<label [attr.for]=\"inputId\" class=\"mat-checkbox-layout\" #label>\n  <span class=\"mat-checkbox-inner-container\"\n       [class.mat-checkbox-inner-container-no-side-margin]=\"!checkboxLabel.textContent || !checkboxLabel.textContent.trim()\">\n    <input #input\n           class=\"mat-checkbox-input cdk-visually-hidden\" type=\"checkbox\"\n           [id]=\"inputId\"\n           [required]=\"required\"\n           [checked]=\"checked\"\n           [attr.value]=\"value\"\n           [disabled]=\"disabled\"\n           [attr.name]=\"name\"\n           [tabIndex]=\"tabIndex\"\n           [attr.aria-label]=\"ariaLabel || null\"\n           [attr.aria-labelledby]=\"ariaLabelledby\"\n           [attr.aria-checked]=\"_getAriaChecked()\"\n           [attr.aria-describedby]=\"ariaDescribedby\"\n           (change)=\"_onInteractionEvent($event)\"\n           (click)=\"_onInputClick($event)\">\n    <span matRipple class=\"mat-checkbox-ripple mat-focus-indicator\"\n         [matRippleTrigger]=\"label\"\n         [matRippleDisabled]=\"_isRippleDisabled()\"\n         [matRippleRadius]=\"20\"\n         [matRippleCentered]=\"true\"\n         [matRippleAnimation]=\"{enterDuration: _animationMode === 'NoopAnimations' ? 0 : 150}\">\n      <span class=\"mat-ripple-element mat-checkbox-persistent-ripple\"></span>\n    </span>\n    <span class=\"mat-checkbox-frame\"></span>\n    <span class=\"mat-checkbox-background\">\n      <svg version=\"1.1\"\n           focusable=\"false\"\n           class=\"mat-checkbox-checkmark\"\n           viewBox=\"0 0 24 24\"\n           aria-hidden=\"true\">\n        <path class=\"mat-checkbox-checkmark-path\"\n              fill=\"none\"\n              stroke=\"white\"\n              d=\"M4.1,12.7 9,17.6 20.3,6.3\"/>\n      </svg>\n      <!-- Element for rendering the indeterminate state checkbox. -->\n      <span class=\"mat-checkbox-mixedmark\"></span>\n    </span>\n  </span>\n  <span class=\"mat-checkbox-label\" #checkboxLabel (cdkObserveContent)=\"_onLabelTextChange()\">\n    <!-- Add an invisible span so JAWS can read the label -->\n    <span style=\"display:none\">&nbsp;</span>\n    <ng-content></ng-content>\n  </span>\n</label>\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\nimport {Directive, forwardRef, Provider} from '@angular/core';\nimport {CheckboxRequiredValidator, NG_VALIDATORS} from '@angular/forms';\n\nexport const MAT_CHECKBOX_REQUIRED_VALIDATOR: Provider = {\n  provide: NG_VALIDATORS,\n  useExisting: forwardRef(() => MatCheckboxRequiredValidator),\n  multi: true,\n};\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 */\n@Directive({\n  selector: `mat-checkbox[required][formControlName],\n             mat-checkbox[required][formControl], mat-checkbox[required][ngModel]`,\n  providers: [MAT_CHECKBOX_REQUIRED_VALIDATOR],\n})\nexport class MatCheckboxRequiredValidator extends CheckboxRequiredValidator {}\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\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatCheckbox} from './checkbox';\nimport {MatCheckboxRequiredValidator} from './checkbox-required-validator';\n\n/** This module is used by both original and MDC-based checkbox implementations. */\n@NgModule({\n  exports: [MatCheckboxRequiredValidator],\n  declarations: [MatCheckboxRequiredValidator],\n})\nexport class _MatCheckboxRequiredValidatorModule {}\n\n@NgModule({\n  imports: [MatRippleModule, MatCommonModule, ObserversModule, _MatCheckboxRequiredValidatorModule],\n  exports: [MatCheckbox, MatCommonModule, _MatCheckboxRequiredValidatorModule],\n  declarations: [MatCheckbox],\n})\nexport class MatCheckboxModule {}\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\nexport * from './checkbox';\nexport * from './checkbox-config';\nexport * from './checkbox-module';\nexport * from './checkbox-required-validator';\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\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}