System.register(["@angular/core","@angular/cdk/collections","@angular/cdk/coercion","rxjs"],(function(e){"use strict";var t,i,s,n,o,c,d;return{setters:[function(e){t=e.InjectionToken,i=e,e.Directive,e.Input,s=e.EventEmitter,e.Optional,e.Inject,e.SkipSelf,e.Output,e.NgModule},function(e){n=e},function(e){o=e.coerceBooleanProperty},function(e){c=e.Subject,d=e.Subscription}],execute:function(){let r=0;const l=e("CDK_ACCORDION",new t("CdkAccordion"));class a{constructor(){this._stateChanges=new c,this._openCloseAllActions=new c,this.id="cdk-accordion-"+r++,this._multi=!1}get multi(){return this._multi}set multi(e){this._multi=o(e)}openAll(){this._multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(e){this._stateChanges.next(e)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static{this.\u0275fac=function(e){return new(e||a)}}static{this.\u0275dir=i.\u0275\u0275defineDirective({type:a,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:"multi"},exportAs:["cdkAccordion"],features:[i.\u0275\u0275ProvidersFeature([{provide:l,useExisting:a}]),i.\u0275\u0275NgOnChangesFeature]})}}e("CdkAccordion",a);let h=0;class u{get expanded(){return this._expanded}set expanded(e){if(e=o(e),this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();const e=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,e)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}get disabled(){return this._disabled}set disabled(e){this._disabled=o(e)}constructor(e,t,i){this.accordion=e,this._changeDetectorRef=t,this._expansionDispatcher=i,this._openCloseAllSubscription=d.EMPTY,this.closed=new s,this.opened=new s,this.destroyed=new s,this.expandedChange=new s,this.id="cdk-accordion-child-"+h++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=i.listen(((e,t)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===t&&this.id!==e&&(this.expanded=!1)})),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe((e=>{this.disabled||(this.expanded=e)}))}static{this.\u0275fac=function(e){return new(e||u)(i.\u0275\u0275directiveInject(l,12),i.\u0275\u0275directiveInject(i.ChangeDetectorRef),i.\u0275\u0275directiveInject(n.UniqueSelectionDispatcher))}}static{this.\u0275dir=i.\u0275\u0275defineDirective({type:u,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[i.\u0275\u0275ProvidersFeature([{provide:l,useValue:void 0}])]})}}e("CdkAccordionItem",u);class p{static{this.\u0275fac=function(e){return new(e||p)}}static{this.\u0275mod=i.\u0275\u0275defineNgModule({type:p})}static{this.\u0275inj=i.\u0275\u0275defineInjector({})}}e("CdkAccordionModule",p)}}}));
