blob: 16ee7c8aa5759c331c2b803742f5a8beaa45537d [file] [log] [blame]
{"version":3,"file":"cdk-accordion.umd.js","sources":["../../src/cdk/accordion/accordion-module.ts","../../src/cdk/accordion/accordion-item.ts","../../src/cdk/accordion/accordion.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.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkAccordion} from './accordion';\nimport {CdkAccordionItem} from './accordion-item';\n\n\n@NgModule({\n exports: [CdkAccordion, CdkAccordionItem],\n declarations: [CdkAccordion, CdkAccordionItem],\n})\nexport class CdkAccordionModule {}\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.io/license\n */\n\nimport {\n Output,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n ChangeDetectorRef,\n SkipSelf,\n} from '@angular/core';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {CdkAccordion} from './accordion';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Subscription} from 'rxjs';\n\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n\n/**\n * An basic directive expected to be extended and decorated as a component. Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\n@Directive({\n selector: 'cdk-accordion-item, [cdkAccordionItem]',\n exportAs: 'cdkAccordionItem',\n providers: [\n // Provide CdkAccordion as undefined to prevent nested accordion items from registering\n // to the same accordion.\n {provide: CdkAccordion, useValue: undefined},\n ],\n})\nexport class CdkAccordionItem implements OnDestroy {\n /** Subscription to openAll/closeAll events. */\n private _openCloseAllSubscription = Subscription.EMPTY;\n /** Event emitted every time the AccordionItem is closed. */\n @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n /** Event emitted every time the AccordionItem is opened. */\n @Output() opened: EventEmitter<void> = new EventEmitter<void>();\n /** Event emitted when the AccordionItem is destroyed. */\n @Output() destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n @Output() expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The unique AccordionItem id. */\n readonly id: string = `cdk-accordion-child-${nextId++}`;\n\n /** Whether the AccordionItem is expanded. */\n @Input()\n get expanded(): any { return this._expanded; }\n set expanded(expanded: any) {\n expanded = coerceBooleanProperty(expanded);\n\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.id;\n this._expansionDispatcher.notify(this.id, accordionId);\n } else {\n this.closed.emit();\n }\n\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this._changeDetectorRef.markForCheck();\n }\n }\n private _expanded = false;\n\n /** Whether the AccordionItem is disabled. */\n @Input()\n get disabled() { return this._disabled; }\n set disabled(disabled: any) { this._disabled = coerceBooleanProperty(disabled); }\n private _disabled: boolean = false;\n\n /** Unregister function for _expansionDispatcher. */\n private _removeUniqueSelectionListener: () => void = () => {};\n\n constructor(@Optional() @SkipSelf() public accordion: CdkAccordion,\n private _changeDetectorRef: ChangeDetectorRef,\n protected _expansionDispatcher: UniqueSelectionDispatcher) {\n this._removeUniqueSelectionListener =\n _expansionDispatcher.listen((id: string, accordionId: string) => {\n if (this.accordion && !this.accordion.multi &&\n this.accordion.id === accordionId && this.id !== id) {\n this.expanded = false;\n }\n });\n\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n }\n }\n\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this._removeUniqueSelectionListener();\n this._openCloseAllSubscription.unsubscribe();\n }\n\n /** Toggles the expanded state of the accordion item. */\n toggle(): void {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n\n /** Sets the expanded state of the accordion item to false. */\n close(): void {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n\n /** Sets the expanded state of the accordion item to true. */\n open(): void {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n\n private _subscribeToOpenCloseAllActions(): Subscription {\n return this.accordion._openCloseAllActions.subscribe(expanded => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\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.io/license\n */\n\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Directive, Input, OnChanges, OnDestroy, SimpleChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Used to generate unique ID for each accordion. */\nlet nextId = 0;\n\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\n@Directive({\n selector: 'cdk-accordion, [cdkAccordion]',\n exportAs: 'cdkAccordion',\n})\nexport class CdkAccordion implements OnDestroy, OnChanges {\n /** Emits when the state of the accordion changes */\n readonly _stateChanges = new Subject<SimpleChanges>();\n\n /** Stream that emits true/false when openAll/closeAll is triggered. */\n readonly _openCloseAllActions: Subject<boolean> = new Subject<boolean>();\n\n /** A readonly id value to use for unique selection coordination. */\n readonly id = `cdk-accordion-${nextId++}`;\n\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n @Input()\n get multi(): boolean { return this._multi; }\n set multi(multi: boolean) { this._multi = coerceBooleanProperty(multi); }\n private _multi: boolean = false;\n\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll(): void {\n this._openCloseAll(true);\n }\n\n /** Closes all enabled accordion items in an accordion where multi is enabled. */\n closeAll(): void {\n this._openCloseAll(false);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._stateChanges.next(changes);\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n\n private _openCloseAll(expanded: boolean): void {\n if (this.multi) {\n this._openCloseAllActions.next(expanded);\n }\n }\n}\n"],"names":["NgModule","Input","Output","UniqueSelectionDispatcher","ChangeDetectorRef","Optional","SkipSelf","Directive","coerceBooleanProperty","nextId","EventEmitter","Subscription","Subject"],"mappings":"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"}