UNPKG

@universal-material/angular

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.0.

47 lines 6.32 kB
import { Component, ContentChildren, Input } from '@angular/core'; import { ExpansionPanelComponent } from '../expansion-panel.component'; import * as i0 from "@angular/core"; export class ExpansionPanelContainerComponent { constructor() { this.multi = false; this._childrenOpenSubscriptions = []; this._toggle = (panel) => { if (!panel.expanded || this.multi) { return; } for (const p of this._panels.toArray()) { if (p === panel) { continue; } p.expanded = false; } }; } ngAfterContentInit() { this._updatePanels(this._panels); this._panels.changes.subscribe(panels => { this._updatePanels(panels); }); } _updatePanels(panels) { for (const subscription of this._childrenOpenSubscriptions) { subscription.unsubscribe(); } this._childrenOpenSubscriptions.length = 0; for (const panel of panels.toArray()) { this._childrenOpenSubscriptions.push(panel._toggleChange.subscribe(this._toggle)); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpansionPanelContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ExpansionPanelContainerComponent, selector: "u-expansion-panel-container", inputs: { multi: "multi" }, queries: [{ propertyName: "_panels", predicate: ExpansionPanelComponent }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpansionPanelContainerComponent, decorators: [{ type: Component, args: [{ selector: 'u-expansion-panel-container', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }] }], propDecorators: { multi: [{ type: Input }], _panels: [{ type: ContentChildren, args: [ExpansionPanelComponent] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1jb250YWluZXIvZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1jb250YWluZXIvZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRy9GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU92RSxNQUFNLE9BQU8sZ0NBQWdDO0lBTDdDO1FBT1csVUFBSyxHQUFHLEtBQUssQ0FBQztRQUdmLCtCQUEwQixHQUFtQixFQUFFLENBQUM7UUFTeEQsWUFBTyxHQUFHLENBQUMsS0FBOEIsRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pDLE9BQU87YUFDUjtZQUVELEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO29CQUNmLFNBQVM7aUJBQ1Y7Z0JBRUQsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUE7S0FZRjtJQS9CQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBZ0JPLGFBQWEsQ0FBQyxNQUEwQztRQUM5RCxLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUMxRCxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMzQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ25GO0lBQ0gsQ0FBQzsrR0FyQ1UsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsdUhBRzFCLHVCQUF1Qiw2QkNiMUMsNkJBQ0E7OzRGRFNhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSw2QkFBNkI7OEJBTTlCLEtBQUs7c0JBQWIsS0FBSztnQkFDb0MsT0FBTztzQkFBaEQsZUFBZTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV4cGFuc2lvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3UtZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9leHBhbnNpb24tcGFuZWwtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEV4cGFuc2lvblBhbmVsQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQElucHV0KCkgbXVsdGkgPSBmYWxzZTtcbiAgQENvbnRlbnRDaGlsZHJlbihFeHBhbnNpb25QYW5lbENvbXBvbmVudCkgX3BhbmVscyE6IFF1ZXJ5TGlzdDxFeHBhbnNpb25QYW5lbENvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBfY2hpbGRyZW5PcGVuU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlUGFuZWxzKHRoaXMuX3BhbmVscyk7XG4gICAgdGhpcy5fcGFuZWxzLmNoYW5nZXMuc3Vic2NyaWJlKHBhbmVscyA9PiB7XG4gICAgICB0aGlzLl91cGRhdGVQYW5lbHMocGFuZWxzKTtcbiAgICB9KTtcbiAgfVxuXG4gIF90b2dnbGUgPSAocGFuZWw6IEV4cGFuc2lvblBhbmVsQ29tcG9uZW50KSA9PiB7XG4gICAgaWYgKCFwYW5lbC5leHBhbmRlZCB8fCB0aGlzLm11bHRpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwIG9mIHRoaXMuX3BhbmVscy50b0FycmF5KCkpIHtcbiAgICAgIGlmIChwID09PSBwYW5lbCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgcC5leHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVBhbmVscyhwYW5lbHM6IFF1ZXJ5TGlzdDxFeHBhbnNpb25QYW5lbENvbXBvbmVudD4pIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLl9jaGlsZHJlbk9wZW5TdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jaGlsZHJlbk9wZW5TdWJzY3JpcHRpb25zLmxlbmd0aCA9IDA7XG4gICAgZm9yIChjb25zdCBwYW5lbCBvZiBwYW5lbHMudG9BcnJheSgpKSB7XG4gICAgICB0aGlzLl9jaGlsZHJlbk9wZW5TdWJzY3JpcHRpb25zLnB1c2gocGFuZWwuX3RvZ2dsZUNoYW5nZS5zdWJzY3JpYmUodGhpcy5fdG9nZ2xlKSk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=