System.register(["@angular/core","@angular/cdk/collections","@angular/cdk/coercion","rxjs"],function(e){"use strict";var t,i,s,n,o,d,c;return{setters:[function(e){t=e.InjectionToken,i=e,e.Directive,e.Input,e.Optional,e.Inject,e.SkipSelf,e.Output,e.NgModule,s=e.EventEmitter},function(e){n=e},function(e){o=e.coerceBooleanProperty},function(e){d=e.Subject,c=e.Subscription}],execute:function(){let r=0;const l=new t("CdkAccordion");class a{constructor(){this._stateChanges=new d,this._openCloseAllActions=new d,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()}}e("CdkAccordion",a),a.\u0275fac=function(e){return new(e||a)},a.\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]});let h=0;class u{constructor(e,t,i){this.accordion=e,this._changeDetectorRef=t,this._expansionDispatcher=i,this._openCloseAllSubscription=c.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())}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)}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)})}}e("CdkAccordionItem",u),u.\u0275fac=function(e){return new(e||u)(i.\u0275\u0275directiveInject(l,12),i.\u0275\u0275directiveInject(i.ChangeDetectorRef),i.\u0275\u0275directiveInject(n.UniqueSelectionDispatcher))},u.\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}])]});class p{}e("CdkAccordionModule",p),p.\u0275fac=function(e){return new(e||p)},p.\u0275mod=i.\u0275\u0275defineNgModule({type:p}),p.\u0275inj=i.\u0275\u0275defineInjector({})}}});
