{"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","/**\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  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  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<MatExpansionPanel>>();\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() {\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<this>) {\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  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  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() {\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":[],"mappings":"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"}