{"version":3,"file":"slide-toggle.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/slide-toggle/slide-toggle-config.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/slide-toggle/slide-toggle.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/slide-toggle/slide-toggle.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/slide-toggle/slide-toggle-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-slide-toggle` options that can be overridden. */\nexport interface MatSlideToggleDefaultOptions {\n  /** Whether toggle action triggers value changes in slide toggle. */\n  disableToggleValue?: boolean;\n\n  /**\n   * Default theme color of the slide toggle. This API is supported in M2 themes only,\n   * it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/slide-toggle/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  /** Whether to hide the icon inside the slide toggle. */\n  hideIcon?: boolean;\n\n  /** Whether disabled slide toggles should remain interactive. */\n  disabledInteractive?: boolean;\n}\n\n/** Injection token to be used to override the default options for `mat-slide-toggle`. */\nexport const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS = new InjectionToken<MatSlideToggleDefaultOptions>(\n  'mat-slide-toggle-default-options',\n  {\n    providedIn: 'root',\n    factory: () => ({disableToggleValue: false, hideIcon: false, disabledInteractive: false}),\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.dev/license\n */\n\nimport {\n  AfterContentInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Input,\n  numberAttribute,\n  OnChanges,\n  OnDestroy,\n  Output,\n  SimpleChanges,\n  ViewChild,\n  ViewEncapsulation,\n  inject,\n  HostAttributeToken,\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 {_IdGenerator, FocusMonitor} from '@angular/cdk/a11y';\nimport {\n  MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS,\n  MatSlideToggleDefaultOptions,\n} from './slide-toggle-config';\nimport {\n  _animationsDisabled,\n  _MatInternalFormField,\n  _StructuralStylesLoader,\n  MatRipple,\n} from '../core';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\n\n/** Change event object emitted by a slide toggle. */\nexport class MatSlideToggleChange {\n  constructor(\n    /** The source slide toggle of the event. */\n    public source: MatSlideToggle,\n    /** The new `checked` value of the slide toggle. */\n    public checked: boolean,\n  ) {}\n}\n\n@Component({\n  selector: 'mat-slide-toggle',\n  templateUrl: 'slide-toggle.html',\n  styleUrl: 'slide-toggle.css',\n  host: {\n    'class': 'mat-mdc-slide-toggle',\n    '[id]': 'id',\n    // Needs to be removed since it causes some a11y issues (see #21266).\n    '[attr.tabindex]': 'null',\n    '[attr.aria-label]': 'null',\n    '[attr.name]': 'null',\n    '[attr.aria-labelledby]': 'null',\n    '[class.mat-mdc-slide-toggle-focused]': '_focused',\n    '[class.mat-mdc-slide-toggle-checked]': 'checked',\n    '[class._mat-animation-noopable]': '_noopAnimations',\n    '[class]': 'color ? \"mat-\" + color : \"\"',\n  },\n  exportAs: 'matSlideToggle',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => MatSlideToggle),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: MatSlideToggle,\n      multi: true,\n    },\n  ],\n  imports: [MatRipple, _MatInternalFormField],\n})\nexport class MatSlideToggle\n  implements OnDestroy, AfterContentInit, OnChanges, ControlValueAccessor, Validator\n{\n  private _elementRef = inject(ElementRef);\n  protected _focusMonitor = inject(FocusMonitor);\n  protected _changeDetectorRef = inject(ChangeDetectorRef);\n  defaults = inject<MatSlideToggleDefaultOptions>(MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS);\n\n  private _onChange = (_: any) => {};\n  private _onTouched = () => {};\n  private _validatorOnChange = () => {};\n\n  private _uniqueId: string;\n  private _checked: boolean = false;\n\n  private _createChangeEvent(isChecked: boolean) {\n    return new MatSlideToggleChange(this, isChecked);\n  }\n\n  /** Unique ID for the label element. */\n  _labelId: string;\n\n  /** Returns the unique id for the visual hidden button. */\n  get buttonId(): string {\n    return `${this.id || this._uniqueId}-button`;\n  }\n\n  /** Reference to the MDC switch element. */\n  @ViewChild('switch') _switchElement: ElementRef<HTMLElement>;\n\n  /** Focuses the slide-toggle. */\n  focus(): void {\n    this._switchElement.nativeElement.focus();\n  }\n  /** Whether noop animations are enabled. */\n  _noopAnimations = _animationsDisabled();\n\n  /** Whether the slide toggle is currently focused. */\n  _focused: boolean;\n\n  /** Name value will be applied to the input element if present. */\n  @Input() name: string | null = null;\n\n  /** A unique id for the slide-toggle input. If none is supplied, it will be auto-generated. */\n  @Input() id: string;\n\n  /** Whether the label should appear after or before the slide-toggle. Defaults to 'after'. */\n  @Input() labelPosition: 'before' | 'after' = 'after';\n\n  /** Used to set the aria-label attribute on the underlying input element. */\n  @Input('aria-label') ariaLabel: string | null = null;\n\n  /** Used to set the aria-labelledby attribute on the underlying input element. */\n  @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n  /** Used to set the aria-describedby attribute on the underlying input element. */\n  @Input('aria-describedby') ariaDescribedby: string;\n\n  /** Whether the slide-toggle is required. */\n  @Input({transform: booleanAttribute}) required: boolean;\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 slide toggle. This API is supported in M2 themes only,\n   * it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/slide-toggle/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 slide toggle is disabled. */\n  @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n  /** Whether the slide toggle has a ripple. */\n  @Input({transform: booleanAttribute}) disableRipple: boolean = false;\n\n  /** Tabindex of slide toggle. */\n  @Input({transform: (value: unknown) => (value == null ? 0 : numberAttribute(value))})\n  tabIndex: number = 0;\n\n  /** Whether the slide-toggle element is checked or not. */\n  @Input({transform: booleanAttribute})\n  get checked(): boolean {\n    return this._checked;\n  }\n  set checked(value: boolean) {\n    this._checked = value;\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /** Whether to hide the icon inside of the slide toggle. */\n  @Input({transform: booleanAttribute}) hideIcon: boolean;\n\n  /** Whether the slide toggle should remain interactive when it is disabled. */\n  @Input({transform: booleanAttribute}) disabledInteractive: boolean;\n\n  /** An event will be dispatched each time the slide-toggle changes its value. */\n  @Output() readonly change = new EventEmitter<MatSlideToggleChange>();\n\n  /**\n   * An event will be dispatched each time the slide-toggle input is toggled.\n   * This event is always emitted when the user toggles the slide toggle, but this does not mean\n   * the slide toggle's value has changed.\n   */\n  @Output() readonly toggleChange: EventEmitter<void> = new EventEmitter<void>();\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  constructor(...args: unknown[]);\n\n  constructor() {\n    inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n    const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n    const defaults = this.defaults;\n\n    this.tabIndex = tabIndex == null ? 0 : parseInt(tabIndex) || 0;\n    this.color = defaults.color || 'accent';\n    this.id = this._uniqueId = inject(_IdGenerator).getId('mat-mdc-slide-toggle-');\n    this.hideIcon = defaults.hideIcon ?? false;\n    this.disabledInteractive = defaults.disabledInteractive ?? false;\n    this._labelId = this._uniqueId + '-label';\n  }\n\n  ngAfterContentInit() {\n    this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n      if (focusOrigin === 'keyboard' || focusOrigin === 'program') {\n        this._focused = true;\n        this._changeDetectorRef.markForCheck();\n      } else if (!focusOrigin) {\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\n        // change (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._focused = false;\n          this._onTouched();\n          this._changeDetectorRef.markForCheck();\n        });\n      }\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['required']) {\n      this._validatorOnChange();\n    }\n  }\n\n  ngOnDestroy() {\n    this._focusMonitor.stopMonitoring(this._elementRef);\n  }\n\n  /** Implemented as part of ControlValueAccessor. */\n  writeValue(value: any): void {\n    this.checked = !!value;\n  }\n\n  /** Implemented as part of ControlValueAccessor. */\n  registerOnChange(fn: any): void {\n    this._onChange = fn;\n  }\n\n  /** Implemented as part of ControlValueAccessor. */\n  registerOnTouched(fn: any): void {\n    this._onTouched = fn;\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._validatorOnChange = fn;\n  }\n\n  /** Implemented as a part of ControlValueAccessor. */\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /** Toggles the checked state of the slide-toggle. */\n  toggle(): void {\n    this.checked = !this.checked;\n    this._onChange(this.checked);\n  }\n\n  /**\n   * Emits a change event on the `change` output. Also notifies the FormControl about the change.\n   */\n  protected _emitChangeEvent() {\n    this._onChange(this.checked);\n    this.change.emit(this._createChangeEvent(this.checked));\n  }\n\n  /** Method being called whenever the underlying button is clicked. */\n  _handleClick() {\n    if (!this.disabled) {\n      this.toggleChange.emit();\n\n      if (!this.defaults.disableToggleValue) {\n        this.checked = !this.checked;\n        this._onChange(this.checked);\n        this.change.emit(new MatSlideToggleChange(this, this.checked));\n      }\n    }\n  }\n\n  _getAriaLabelledBy() {\n    if (this.ariaLabelledby) {\n      return this.ariaLabelledby;\n    }\n\n    // Even though we have a `label` element with a `for` pointing to the button, we need the\n    // `aria-labelledby`, because the button gets flagged as not having a label by tools like axe.\n    return this.ariaLabel ? null : this._labelId;\n  }\n}\n","<div mat-internal-form-field [labelPosition]=\"labelPosition\">\n  <button\n    class=\"mdc-switch\"\n    role=\"switch\"\n    type=\"button\"\n    [class.mdc-switch--selected]=\"checked\"\n    [class.mdc-switch--unselected]=\"!checked\"\n    [class.mdc-switch--checked]=\"checked\"\n    [class.mdc-switch--disabled]=\"disabled\"\n    [class.mat-mdc-slide-toggle-disabled-interactive]=\"disabledInteractive\"\n    [tabIndex]=\"disabled && !disabledInteractive ? -1 : tabIndex\"\n    [disabled]=\"disabled && !disabledInteractive\"\n    [attr.id]=\"buttonId\"\n    [attr.name]=\"name\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n    [attr.aria-describedby]=\"ariaDescribedby\"\n    [attr.aria-required]=\"required || null\"\n    [attr.aria-checked]=\"checked\"\n    [attr.aria-disabled]=\"disabled && disabledInteractive ? 'true' : null\"\n    (click)=\"_handleClick()\"\n    #switch>\n    <div class=\"mat-mdc-slide-toggle-touch-target\"></div>\n    <span class=\"mdc-switch__track\"></span>\n    <span class=\"mdc-switch__handle-track\">\n      <span class=\"mdc-switch__handle\">\n        <span class=\"mdc-switch__shadow\">\n          <span class=\"mdc-elevation-overlay\"></span>\n        </span>\n        <span class=\"mdc-switch__ripple\">\n          <span class=\"mat-mdc-slide-toggle-ripple mat-focus-indicator\" mat-ripple\n            [matRippleTrigger]=\"switch\"\n            [matRippleDisabled]=\"disableRipple || disabled\"\n            [matRippleCentered]=\"true\"></span>\n        </span>\n        @if (!hideIcon) {\n          <span class=\"mdc-switch__icons\">\n            <svg\n              class=\"mdc-switch__icon mdc-switch__icon--on\"\n              viewBox=\"0 0 24 24\"\n              aria-hidden=\"true\">\n              <path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" />\n            </svg>\n            <svg\n              class=\"mdc-switch__icon mdc-switch__icon--off\"\n              viewBox=\"0 0 24 24\"\n              aria-hidden=\"true\">\n              <path d=\"M20 13H4v-2h16v2z\" />\n            </svg>\n          </span>\n        }\n      </span>\n    </span>\n  </button>\n\n  <!--\n    Clicking on the label will trigger another click event from the button.\n    Stop propagation here so other listeners further up in the DOM don't execute twice.\n  -->\n  <label class=\"mdc-label\" [for]=\"buttonId\" [attr.id]=\"_labelId\" (click)=\"$event.stopPropagation()\">\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 {MatSlideToggle} from './slide-toggle';\n\n@NgModule({\n  imports: [MatSlideToggle],\n  exports: [MatSlideToggle, BidiModule],\n})\nexport class MatSlideToggleModule {}\n"],"names":["MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS","InjectionToken","providedIn","factory","disableToggleValue","hideIcon","disabledInteractive","MatSlideToggleChange","source","checked","constructor","MatSlideToggle","_elementRef","inject","ElementRef","_focusMonitor","FocusMonitor","_changeDetectorRef","ChangeDetectorRef","defaults","_onChange","_","_onTouched","_validatorOnChange","_uniqueId","_checked","_createChangeEvent","isChecked","_labelId","buttonId","id","_switchElement","focus","nativeElement","_noopAnimations","_animationsDisabled","_focused","name","labelPosition","ariaLabel","ariaLabelledby","ariaDescribedby","required","color","disabled","disableRipple","tabIndex","value","markForCheck","change","EventEmitter","toggleChange","inputId","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","HostAttributeToken","optional","parseInt","_IdGenerator","getId","ngAfterContentInit","monitor","subscribe","focusOrigin","Promise","resolve","then","ngOnChanges","changes","ngOnDestroy","stopMonitoring","writeValue","registerOnChange","fn","registerOnTouched","validate","control","registerOnValidatorChange","setDisabledState","isDisabled","toggle","_emitChangeEvent","emit","_handleClick","_getAriaLabelledBy","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isStandalone","selector","inputs","booleanAttribute","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","_MatInternalFormField","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","args","imports","ViewChild","Input","transform","Output","MatSlideToggleModule","NgModule","ɵmod","ɵɵngDeclareNgModule","exports","BidiModule"],"mappings":"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"}