{"version":3,"file":"expansion.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/expansion/accordion-base.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/expansion/expansion-panel-base.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/expansion/expansion-panel-content.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/expansion/expansion-panel.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/expansion/expansion-panel.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/expansion/expansion-panel-header.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/expansion/expansion-panel-header.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/expansion/accordion.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/expansion/expansion-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 */\n\nimport {InjectionToken} from '@angular/core';\nimport {CdkAccordion} from '@angular/cdk/accordion';\n\n/** MatAccordion's display modes. */\nexport type MatAccordionDisplayMode = 'default' | 'flat';\n\n/** MatAccordion's toggle positions. */\nexport type MatAccordionTogglePosition = 'before' | 'after';\n\n/**\n * Base interface for a `MatAccordion`.\n * @docs-private\n */\nexport interface MatAccordionBase extends CdkAccordion {\n  /** Whether the expansion indicator should be hidden. */\n  hideToggle: boolean;\n\n  /** Display mode used for all expansion panels in the accordion. */\n  displayMode: MatAccordionDisplayMode;\n\n  /** The position of the expansion indicator. */\n  togglePosition: MatAccordionTogglePosition;\n\n  /** Handles keyboard events coming in from the panel headers. */\n  _handleHeaderKeydown: (event: KeyboardEvent) => void;\n\n  /** Handles focus events on the panel headers. */\n  _handleHeaderFocus: (header: any) => void;\n}\n\n/**\n * Token used to provide a `MatAccordion` to `MatExpansionPanel`.\n * Used primarily to avoid circular imports between `MatAccordion` and `MatExpansionPanel`.\n */\nexport const MAT_ACCORDION = new InjectionToken<MatAccordionBase>('MAT_ACCORDION');\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 {InjectionToken} from '@angular/core';\nimport {CdkAccordionItem} from '@angular/cdk/accordion';\n\n/**\n * Base interface for a `MatExpansionPanel`.\n * @docs-private\n */\nexport interface MatExpansionPanelBase extends CdkAccordionItem {\n  /** Whether the toggle indicator should be hidden. */\n  hideToggle: boolean;\n}\n\n/**\n * Token used to provide a `MatExpansionPanel` to `MatExpansionPanelContent`.\n * Used to avoid circular imports between `MatExpansionPanel` and `MatExpansionPanelContent`.\n */\nexport const MAT_EXPANSION_PANEL = new InjectionToken<MatExpansionPanelBase>('MAT_EXPANSION_PANEL');\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 {Directive, TemplateRef, inject} from '@angular/core';\nimport {MAT_EXPANSION_PANEL, MatExpansionPanelBase} from './expansion-panel-base';\n\n/**\n * Expansion panel content that will be rendered lazily\n * after the panel is opened for the first time.\n */\n@Directive({\n  selector: 'ng-template[matExpansionPanelContent]',\n})\nexport class MatExpansionPanelContent {\n  _template = inject<TemplateRef<any>>(TemplateRef);\n  _expansionPanel = inject<MatExpansionPanelBase>(MAT_EXPANSION_PANEL, {optional: true});\n\n  constructor(...args: unknown[]);\n  constructor() {}\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 {CdkAccordionItem} from '@angular/cdk/accordion';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {CdkPortalOutlet, TemplatePortal} from '@angular/cdk/portal';\n\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  InjectionToken,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Output,\n  SimpleChanges,\n  ViewChild,\n  ViewContainerRef,\n  ViewEncapsulation,\n  booleanAttribute,\n  inject,\n  NgZone,\n  Renderer2,\n  DOCUMENT,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Subject} from 'rxjs';\nimport {filter, startWith, take} from 'rxjs/operators';\nimport {MatAccordionBase, MatAccordionTogglePosition, MAT_ACCORDION} from './accordion-base';\nimport {MAT_EXPANSION_PANEL} from './expansion-panel-base';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\nimport {_animationsDisabled} from '../core';\n\n/** MatExpansionPanel's states. */\nexport type MatExpansionPanelState = 'expanded' | 'collapsed';\n\n/**\n * Object that can be used to override the default options\n * for all of the expansion panels in a module.\n */\nexport interface MatExpansionPanelDefaultOptions {\n  /** Height of the header while the panel is expanded. */\n  expandedHeight: string;\n\n  /** Height of the header while the panel is collapsed. */\n  collapsedHeight: string;\n\n  /** Whether the toggle indicator should be hidden. */\n  hideToggle: boolean;\n}\n\n/**\n * Injection token that can be used to configure the default\n * options for the expansion panel component.\n */\nexport const MAT_EXPANSION_PANEL_DEFAULT_OPTIONS =\n  new InjectionToken<MatExpansionPanelDefaultOptions>('MAT_EXPANSION_PANEL_DEFAULT_OPTIONS');\n\n/**\n * This component can be used as a single element to show expandable content, or as one of\n * multiple children of an element with the MatAccordion directive attached.\n */\n@Component({\n  styleUrl: 'expansion-panel.css',\n  selector: 'mat-expansion-panel',\n  exportAs: 'matExpansionPanel',\n  templateUrl: 'expansion-panel.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    // Provide MatAccordion as undefined to prevent nested expansion panels from registering\n    // to the same accordion.\n    {provide: MAT_ACCORDION, useValue: undefined},\n    {provide: MAT_EXPANSION_PANEL, useExisting: MatExpansionPanel},\n  ],\n  host: {\n    'class': 'mat-expansion-panel',\n    '[class.mat-expanded]': 'expanded',\n    '[class.mat-expansion-panel-spacing]': '_hasSpacing()',\n  },\n  imports: [CdkPortalOutlet],\n})\nexport class MatExpansionPanel\n  extends CdkAccordionItem\n  implements AfterContentInit, OnChanges, OnDestroy\n{\n  private _viewContainerRef = inject(ViewContainerRef);\n  private readonly _animationsDisabled = _animationsDisabled();\n  private _document = inject(DOCUMENT);\n  private _ngZone = inject(NgZone);\n  private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n  private _renderer = inject(Renderer2);\n  private _cleanupTransitionEnd: (() => void) | undefined;\n\n  /** Whether the toggle indicator should be hidden. */\n  @Input({transform: booleanAttribute})\n  get hideToggle(): boolean {\n    return this._hideToggle || (this.accordion && this.accordion.hideToggle);\n  }\n  set hideToggle(value: boolean) {\n    this._hideToggle = value;\n  }\n  private _hideToggle = false;\n\n  /** The position of the expansion indicator. */\n  @Input()\n  get togglePosition(): MatAccordionTogglePosition {\n    return this._togglePosition || (this.accordion && this.accordion.togglePosition);\n  }\n  set togglePosition(value: MatAccordionTogglePosition) {\n    this._togglePosition = value;\n  }\n  private _togglePosition: MatAccordionTogglePosition;\n\n  /** An event emitted after the body's expansion animation happens. */\n  @Output() readonly afterExpand = new EventEmitter<void>();\n\n  /** An event emitted after the body's collapse animation happens. */\n  @Output() readonly afterCollapse = new EventEmitter<void>();\n\n  /** Stream that emits for changes in `@Input` properties. */\n  readonly _inputChanges = new Subject<SimpleChanges>();\n\n  /** Optionally defined accordion the expansion panel belongs to. */\n  override accordion = inject<MatAccordionBase>(MAT_ACCORDION, {optional: true, skipSelf: true})!;\n\n  /** Content that will be rendered lazily. */\n  @ContentChild(MatExpansionPanelContent) _lazyContent: MatExpansionPanelContent;\n\n  /** Element containing the panel's user-provided content. */\n  @ViewChild('body') _body: ElementRef<HTMLElement>;\n\n  /** Element wrapping the panel body. */\n  @ViewChild('bodyWrapper')\n  protected _bodyWrapper: ElementRef<HTMLElement> | undefined;\n\n  /** Portal holding the user's content. */\n  _portal: TemplatePortal;\n\n  /** ID for the associated header element. Used for a11y labelling. */\n  _headerId: string = inject(_IdGenerator).getId('mat-expansion-panel-header-');\n\n  constructor(...args: unknown[]);\n\n  constructor() {\n    super();\n\n    const defaultOptions = inject<MatExpansionPanelDefaultOptions>(\n      MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,\n      {optional: true},\n    );\n\n    this._expansionDispatcher = inject(UniqueSelectionDispatcher);\n\n    if (defaultOptions) {\n      this.hideToggle = defaultOptions.hideToggle;\n    }\n  }\n\n  /** Determines whether the expansion panel should have spacing between it and its siblings. */\n  _hasSpacing(): boolean {\n    if (this.accordion) {\n      return this.expanded && this.accordion.displayMode === 'default';\n    }\n    return false;\n  }\n\n  /** Gets the expanded state string. */\n  _getExpandedState(): MatExpansionPanelState {\n    return this.expanded ? 'expanded' : 'collapsed';\n  }\n\n  /** Toggles the expanded state of the expansion panel. */\n  override toggle(): void {\n    this.expanded = !this.expanded;\n  }\n\n  /** Sets the expanded state of the expansion panel to false. */\n  override close(): void {\n    this.expanded = false;\n  }\n\n  /** Sets the expanded state of the expansion panel to true. */\n  override open(): void {\n    this.expanded = true;\n  }\n\n  ngAfterContentInit() {\n    if (this._lazyContent && this._lazyContent._expansionPanel === this) {\n      // Render the content as soon as the panel becomes open.\n      this.opened\n        .pipe(\n          startWith(null),\n          filter(() => this.expanded && !this._portal),\n          take(1),\n        )\n        .subscribe(() => {\n          this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);\n        });\n    }\n\n    this._setupAnimationEvents();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    this._inputChanges.next(changes);\n  }\n\n  override ngOnDestroy() {\n    super.ngOnDestroy();\n    this._cleanupTransitionEnd?.();\n    this._inputChanges.complete();\n  }\n\n  /** Checks whether the expansion panel's content contains the currently-focused element. */\n  _containsFocus(): boolean {\n    if (this._body) {\n      const focusedElement = this._document.activeElement;\n      const bodyElement = this._body.nativeElement;\n      return focusedElement === bodyElement || bodyElement.contains(focusedElement);\n    }\n\n    return false;\n  }\n\n  private _transitionEndListener = ({target, propertyName}: TransitionEvent) => {\n    if (target === this._bodyWrapper?.nativeElement && propertyName === 'grid-template-rows') {\n      this._ngZone.run(() => {\n        if (this.expanded) {\n          this.afterExpand.emit();\n        } else {\n          this.afterCollapse.emit();\n        }\n      });\n    }\n  };\n\n  protected _setupAnimationEvents() {\n    // This method is defined separately, because we need to\n    // disable this logic in some internal components.\n    this._ngZone.runOutsideAngular(() => {\n      if (this._animationsDisabled) {\n        this.opened.subscribe(() => this._ngZone.run(() => this.afterExpand.emit()));\n        this.closed.subscribe(() => this._ngZone.run(() => this.afterCollapse.emit()));\n      } else {\n        setTimeout(() => {\n          const element = this._elementRef.nativeElement;\n          this._cleanupTransitionEnd = this._renderer.listen(\n            element,\n            'transitionend',\n            this._transitionEndListener,\n          );\n          element.classList.add('mat-expansion-panel-animations-enabled');\n        }, 200);\n      }\n    });\n  }\n}\n\n/**\n * Actions of a `<mat-expansion-panel>`.\n */\n@Directive({\n  selector: 'mat-action-row',\n  host: {\n    class: 'mat-action-row',\n  },\n})\nexport class MatExpansionPanelActionRow {}\n","<ng-content select=\"mat-expansion-panel-header\"></ng-content>\n<div class=\"mat-expansion-panel-content-wrapper\" [attr.inert]=\"expanded ? null : ''\" #bodyWrapper>\n  <div class=\"mat-expansion-panel-content\"\n       role=\"region\"\n       [attr.aria-labelledby]=\"_headerId\"\n       [id]=\"id\"\n       #body>\n    <div class=\"mat-expansion-panel-body\">\n      <ng-content></ng-content>\n      <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n    </div>\n    <ng-content select=\"mat-action-row\"></ng-content>\n  </div>\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 {FocusableOption, FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {ENTER, hasModifierKey, SPACE} from '@angular/cdk/keycodes';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  Directive,\n  ElementRef,\n  Input,\n  numberAttribute,\n  OnDestroy,\n  ViewEncapsulation,\n  inject,\n  HostAttributeToken,\n} from '@angular/core';\nimport {EMPTY, merge, Subscription} from 'rxjs';\nimport {filter} from 'rxjs/operators';\nimport {MatAccordionTogglePosition} from './accordion-base';\nimport {\n  MatExpansionPanel,\n  MatExpansionPanelDefaultOptions,\n  MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,\n} from './expansion-panel';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\nimport {_StructuralStylesLoader} from '../core';\n\n/**\n * Header element of a `<mat-expansion-panel>`.\n */\n@Component({\n  selector: 'mat-expansion-panel-header',\n  styleUrl: 'expansion-panel-header.css',\n  templateUrl: 'expansion-panel-header.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    'class': 'mat-expansion-panel-header mat-focus-indicator',\n    'role': 'button',\n    '[attr.id]': 'panel._headerId',\n    '[attr.tabindex]': 'disabled ? -1 : tabIndex',\n    '[attr.aria-controls]': '_getPanelId()',\n    '[attr.aria-expanded]': '_isExpanded()',\n    '[attr.aria-disabled]': 'panel.disabled',\n    '[class.mat-expanded]': '_isExpanded()',\n    '[class.mat-expansion-toggle-indicator-after]': `_getTogglePosition() === 'after'`,\n    '[class.mat-expansion-toggle-indicator-before]': `_getTogglePosition() === 'before'`,\n    '[style.height]': '_getHeaderHeight()',\n    '(click)': '_toggle()',\n    '(keydown)': '_keydown($event)',\n  },\n})\nexport class MatExpansionPanelHeader implements AfterViewInit, OnDestroy, FocusableOption {\n  panel = inject(MatExpansionPanel, {host: true});\n  private _element = inject(ElementRef);\n  private _focusMonitor = inject(FocusMonitor);\n  private _changeDetectorRef = inject(ChangeDetectorRef);\n\n  private _parentChangeSubscription = Subscription.EMPTY;\n\n  constructor(...args: unknown[]);\n\n  constructor() {\n    inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n    const panel = this.panel;\n    const defaultOptions = inject<MatExpansionPanelDefaultOptions>(\n      MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,\n      {optional: true},\n    );\n    const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n\n    const accordionHideToggleChange = panel.accordion\n      ? panel.accordion._stateChanges.pipe(\n          filter(changes => !!(changes['hideToggle'] || changes['togglePosition'])),\n        )\n      : EMPTY;\n    this.tabIndex = parseInt(tabIndex || '') || 0;\n\n    // Since the toggle state depends on an @Input on the panel, we\n    // need to subscribe and trigger change detection manually.\n    this._parentChangeSubscription = merge(\n      panel.opened,\n      panel.closed,\n      accordionHideToggleChange,\n      panel._inputChanges.pipe(\n        filter(changes => {\n          return !!(changes['hideToggle'] || changes['disabled'] || changes['togglePosition']);\n        }),\n      ),\n    ).subscribe(() => this._changeDetectorRef.markForCheck());\n\n    // Avoids focus being lost if the panel contained the focused element and was closed.\n    panel.closed\n      .pipe(filter(() => panel._containsFocus()))\n      .subscribe(() => this._focusMonitor.focusVia(this._element, 'program'));\n\n    if (defaultOptions) {\n      this.expandedHeight = defaultOptions.expandedHeight;\n      this.collapsedHeight = defaultOptions.collapsedHeight;\n    }\n  }\n\n  /** Height of the header while the panel is expanded. */\n  @Input() expandedHeight: string;\n\n  /** Height of the header while the panel is collapsed. */\n  @Input() collapsedHeight: string;\n\n  /** Tab index of the header. */\n  @Input({\n    transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n  })\n  tabIndex: number = 0;\n\n  /**\n   * Whether the associated panel is disabled. Implemented as a part of `FocusableOption`.\n   * @docs-private\n   */\n  get disabled(): boolean {\n    return this.panel.disabled;\n  }\n\n  /** Toggles the expanded state of the panel. */\n  _toggle(): void {\n    if (!this.disabled) {\n      this.panel.toggle();\n    }\n  }\n\n  /** Gets whether the panel is expanded. */\n  _isExpanded(): boolean {\n    return this.panel.expanded;\n  }\n\n  /** Gets the expanded state string of the panel. */\n  _getExpandedState(): string {\n    return this.panel._getExpandedState();\n  }\n\n  /** Gets the panel id. */\n  _getPanelId(): string {\n    return this.panel.id;\n  }\n\n  /** Gets the toggle position for the header. */\n  _getTogglePosition(): MatAccordionTogglePosition {\n    return this.panel.togglePosition;\n  }\n\n  /** Gets whether the expand indicator should be shown. */\n  _showToggle(): boolean {\n    return !this.panel.hideToggle && !this.panel.disabled;\n  }\n\n  /**\n   * Gets the current height of the header. Null if no custom height has been\n   * specified, and if the default height from the stylesheet should be used.\n   */\n  _getHeaderHeight(): string | null {\n    const isExpanded = this._isExpanded();\n    if (isExpanded && this.expandedHeight) {\n      return this.expandedHeight;\n    } else if (!isExpanded && this.collapsedHeight) {\n      return this.collapsedHeight;\n    }\n    return null;\n  }\n\n  /** Handle keydown event calling to toggle() if appropriate. */\n  _keydown(event: KeyboardEvent) {\n    switch (event.keyCode) {\n      // Toggle for space and enter keys.\n      case SPACE:\n      case ENTER:\n        if (!hasModifierKey(event)) {\n          event.preventDefault();\n          this._toggle();\n        }\n\n        break;\n      default:\n        if (this.panel.accordion) {\n          this.panel.accordion._handleHeaderKeydown(event);\n        }\n\n        return;\n    }\n  }\n\n  /**\n   * Focuses the panel header. Implemented as a part of `FocusableOption`.\n   * @param origin Origin of the action that triggered the focus.\n   * @docs-private\n   */\n  focus(origin?: FocusOrigin, options?: FocusOptions) {\n    if (origin) {\n      this._focusMonitor.focusVia(this._element, origin, options);\n    } else {\n      this._element.nativeElement.focus(options);\n    }\n  }\n\n  ngAfterViewInit() {\n    this._focusMonitor.monitor(this._element).subscribe(origin => {\n      if (origin && this.panel.accordion) {\n        this.panel.accordion._handleHeaderFocus(this);\n      }\n    });\n  }\n\n  ngOnDestroy() {\n    this._parentChangeSubscription.unsubscribe();\n    this._focusMonitor.stopMonitoring(this._element);\n  }\n}\n\n/**\n * Description element of a `<mat-expansion-panel-header>`.\n */\n@Directive({\n  selector: 'mat-panel-description',\n  host: {\n    class: 'mat-expansion-panel-header-description',\n  },\n})\nexport class MatExpansionPanelDescription {}\n\n/**\n * Title element of a `<mat-expansion-panel-header>`.\n */\n@Directive({\n  selector: 'mat-panel-title',\n  host: {\n    class: 'mat-expansion-panel-header-title',\n  },\n})\nexport class MatExpansionPanelTitle {}\n","<span class=\"mat-content\" [class.mat-content-hide-toggle]=\"!_showToggle()\">\n  <ng-content select=\"mat-panel-title\"></ng-content>\n  <ng-content select=\"mat-panel-description\"></ng-content>\n  <ng-content></ng-content>\n</span>\n\n@if (_showToggle()) {\n  <span class=\"mat-expansion-indicator\">\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      viewBox=\"0 -960 960 960\"\n      aria-hidden=\"true\"\n      focusable=\"false\">\n      <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\n    </svg>\n  </span>\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  Directive,\n  Input,\n  ContentChildren,\n  QueryList,\n  AfterContentInit,\n  OnDestroy,\n  booleanAttribute,\n} from '@angular/core';\nimport {CdkAccordion} from '@angular/cdk/accordion';\nimport {FocusKeyManager} from '@angular/cdk/a11y';\nimport {startWith} from 'rxjs/operators';\nimport {\n  MAT_ACCORDION,\n  MatAccordionBase,\n  MatAccordionDisplayMode,\n  MatAccordionTogglePosition,\n} from './accordion-base';\nimport {MatExpansionPanelHeader} from './expansion-panel-header';\n\n/**\n * Directive for a Material Design Accordion.\n */\n@Directive({\n  selector: 'mat-accordion',\n  exportAs: 'matAccordion',\n  providers: [\n    {\n      provide: MAT_ACCORDION,\n      useExisting: MatAccordion,\n    },\n  ],\n  host: {\n    class: 'mat-accordion',\n    // Class binding which is only used by the test harness as there is no other\n    // way for the harness to detect if multiple panel support is enabled.\n    '[class.mat-accordion-multi]': 'this.multi',\n  },\n})\nexport class MatAccordion\n  extends CdkAccordion\n  implements MatAccordionBase, AfterContentInit, OnDestroy\n{\n  private _keyManager: FocusKeyManager<MatExpansionPanelHeader>;\n\n  /** Headers belonging to this accordion. */\n  private _ownHeaders = new QueryList<MatExpansionPanelHeader>();\n\n  /** All headers inside the accordion. Includes headers inside nested accordions. */\n  @ContentChildren(MatExpansionPanelHeader, {descendants: true})\n  _headers: QueryList<MatExpansionPanelHeader>;\n\n  /** Whether the expansion indicator should be hidden. */\n  @Input({transform: booleanAttribute})\n  hideToggle: boolean = false;\n\n  /**\n   * Display mode used for all expansion panels in the accordion. Currently two display\n   * modes exist:\n   *  default - a gutter-like spacing is placed around any expanded panel, placing the expanded\n   *     panel at a different elevation from the rest of the accordion.\n   *  flat - no spacing is placed around expanded panels, showing all panels at the same\n   *     elevation.\n   */\n  @Input() displayMode: MatAccordionDisplayMode = 'default';\n\n  /** The position of the expansion indicator. */\n  @Input() togglePosition: MatAccordionTogglePosition = 'after';\n\n  ngAfterContentInit() {\n    this._headers.changes\n      .pipe(startWith(this._headers))\n      .subscribe((headers: QueryList<MatExpansionPanelHeader>) => {\n        this._ownHeaders.reset(headers.filter(header => header.panel.accordion === this));\n        this._ownHeaders.notifyOnChanges();\n      });\n\n    this._keyManager = new FocusKeyManager(this._ownHeaders).withWrap().withHomeAndEnd();\n  }\n\n  /** Handles keyboard events coming in from the panel headers. */\n  _handleHeaderKeydown(event: KeyboardEvent) {\n    this._keyManager.onKeydown(event);\n  }\n\n  _handleHeaderFocus(header: MatExpansionPanelHeader) {\n    this._keyManager.updateActiveItem(header);\n  }\n\n  override ngOnDestroy() {\n    super.ngOnDestroy();\n    this._keyManager?.destroy();\n    this._ownHeaders.destroy();\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 {BidiModule} from '@angular/cdk/bidi';\nimport {CdkAccordionModule} from '@angular/cdk/accordion';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {NgModule} from '@angular/core';\nimport {MatAccordion} from './accordion';\nimport {MatExpansionPanel, MatExpansionPanelActionRow} from './expansion-panel';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\nimport {\n  MatExpansionPanelDescription,\n  MatExpansionPanelHeader,\n  MatExpansionPanelTitle,\n} from './expansion-panel-header';\n\n@NgModule({\n  imports: [\n    CdkAccordionModule,\n    PortalModule,\n    MatAccordion,\n    MatExpansionPanel,\n    MatExpansionPanelActionRow,\n    MatExpansionPanelHeader,\n    MatExpansionPanelTitle,\n    MatExpansionPanelDescription,\n    MatExpansionPanelContent,\n  ],\n  exports: [\n    BidiModule,\n    MatAccordion,\n    MatExpansionPanel,\n    MatExpansionPanelActionRow,\n    MatExpansionPanelHeader,\n    MatExpansionPanelTitle,\n    MatExpansionPanelDescription,\n    MatExpansionPanelContent,\n  ],\n})\nexport class MatExpansionModule {}\n"],"names":["MAT_ACCORDION","InjectionToken","MAT_EXPANSION_PANEL","MatExpansionPanelContent","_template","inject","TemplateRef","_expansionPanel","optional","constructor","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","ngImport","decorators","args","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","MatExpansionPanel","CdkAccordionItem","_viewContainerRef","ViewContainerRef","_animationsDisabled","_document","DOCUMENT","_ngZone","NgZone","_elementRef","ElementRef","_renderer","Renderer2","_cleanupTransitionEnd","hideToggle","_hideToggle","accordion","value","togglePosition","_togglePosition","afterExpand","EventEmitter","afterCollapse","_inputChanges","Subject","skipSelf","_lazyContent","_body","_bodyWrapper","_portal","_headerId","_IdGenerator","getId","defaultOptions","_expansionDispatcher","UniqueSelectionDispatcher","_hasSpacing","expanded","displayMode","_getExpandedState","toggle","close","open","ngAfterContentInit","opened","pipe","startWith","filter","take","subscribe","TemplatePortal","_setupAnimationEvents","ngOnChanges","changes","next","ngOnDestroy","complete","_containsFocus","focusedElement","activeElement","bodyElement","nativeElement","contains","_transitionEndListener","propertyName","run","emit","runOutsideAngular","closed","setTimeout","element","listen","classList","add","Component","inputs","booleanAttribute","outputs","host","properties","classAttribute","providers","provide","useValue","undefined","useExisting","queries","first","predicate","descendants","viewQueries","exportAs","usesInheritance","usesOnChanges","template","styles","dependencies","kind","type","CdkPortalOutlet","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","imports","Input","transform","Output","ContentChild","ViewChild","MatExpansionPanelActionRow","class","MatExpansionPanelHeader","panel","_element","_focusMonitor","FocusMonitor","_changeDetectorRef","ChangeDetectorRef","_parentChangeSubscription","Subscription","EMPTY","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","tabIndex","HostAttributeToken","accordionHideToggleChange","_stateChanges","parseInt","merge","markForCheck","focusVia","expandedHeight","collapsedHeight","disabled","_toggle","_isExpanded","_getPanelId","id","_getTogglePosition","_showToggle","_getHeaderHeight","isExpanded","_keydown","event","keyCode","SPACE","ENTER","hasModifierKey","preventDefault","_handleHeaderKeydown","focus","origin","options","ngAfterViewInit","monitor","_handleHeaderFocus","unsubscribe","stopMonitoring","numberAttribute","attributes","listeners","MatExpansionPanelDescription","MatExpansionPanelTitle","MatAccordion","CdkAccordion","_keyManager","_ownHeaders","QueryList","_headers","headers","reset","header","notifyOnChanges","FocusKeyManager","withWrap","withHomeAndEnd","onKeydown","updateActiveItem","destroy","ContentChildren","MatExpansionModule","NgModule","ɵmod","ɵɵngDeclareNgModule","minVersion","version","CdkAccordionModule","PortalModule","BidiModule","ɵinj","ɵɵngDeclareInjector","exports"],"mappings":"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"}