@seniorsistemas/angular-components 17.30.1 → 17.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,18 +1,20 @@
1
- import { AfterContentInit, OnChanges, QueryList, SimpleChanges, OnDestroy } from "@angular/core";
1
+ import { AfterContentInit, OnChanges, QueryList, SimpleChanges, OnDestroy, OnInit } from "@angular/core";
2
2
  import { AccordionPanelComponent } from "./components/accordion-panel/accordion-panel.component";
3
- export declare class AccordionComponent implements AfterContentInit, OnChanges, OnDestroy {
4
- activeIndex: number;
3
+ export declare class AccordionComponent implements AfterContentInit, OnInit, OnChanges, OnDestroy {
4
+ activeIndex: number | number[];
5
5
  multiple: boolean;
6
6
  panelsComponents: QueryList<AccordionPanelComponent>;
7
- private _unsubscribe$;
8
- private _panels;
9
- private _openSubs;
7
+ private unsubscribe$;
8
+ private panels;
9
+ private openSubs;
10
+ ngOnInit(): void;
10
11
  ngAfterContentInit(): void;
11
12
  ngOnChanges(changes: SimpleChanges): void;
12
13
  ngOnDestroy(): void;
13
- private _setupTabs;
14
- private _closeOtherTabs;
15
- private _setBehavior;
16
- private _enableSinglePanelBehavior;
17
- private _enableMultiplePanelBehavior;
14
+ private validateInputs;
15
+ private setupTabs;
16
+ private closeOtherTabs;
17
+ private setBehavior;
18
+ private enableSinglePanelBehavior;
19
+ private enableMultiplePanelBehavior;
18
20
  }
@@ -6,66 +6,76 @@ import { takeUntil } from "rxjs/operators";
6
6
  let AccordionComponent = class AccordionComponent {
7
7
  constructor() {
8
8
  this.multiple = false;
9
- this._unsubscribe$ = new Subject();
10
- this._panels = [];
9
+ this.unsubscribe$ = new Subject();
10
+ this.panels = [];
11
+ }
12
+ ngOnInit() {
13
+ this.validateInputs();
11
14
  }
12
15
  ngAfterContentInit() {
13
- this._panels = this.panelsComponents.toArray();
14
- this._openSubs = new Array(this._panels.length);
15
- this._setBehavior(this.multiple);
16
- this._setupTabs();
16
+ this.panels = this.panelsComponents.toArray();
17
+ this.openSubs = new Array(this.panels.length);
18
+ this.setBehavior(this.multiple);
19
+ this.setupTabs();
17
20
  }
18
21
  ngOnChanges(changes) {
19
22
  if (changes.multiple) {
20
- this._setBehavior(changes.multiple.currentValue);
23
+ this.setBehavior(changes.multiple.currentValue);
21
24
  }
22
25
  }
23
26
  ngOnDestroy() {
24
- this._unsubscribe$.next();
25
- this._unsubscribe$.complete();
27
+ this.unsubscribe$.next();
28
+ this.unsubscribe$.complete();
29
+ }
30
+ validateInputs() {
31
+ if (!this.multiple && Array.isArray(this.activeIndex)) {
32
+ throw new Error("The activeIndex should not be an array when multiple is set to false.");
33
+ }
26
34
  }
27
- _setupTabs() {
35
+ setupTabs() {
28
36
  var _a;
29
- if ((_a = this._panels) === null || _a === void 0 ? void 0 : _a.length) {
37
+ if ((_a = this.panels) === null || _a === void 0 ? void 0 : _a.length) {
30
38
  if (this.activeIndex !== undefined && this.activeIndex !== null) {
31
- const activeTab = this._panels[this.activeIndex];
32
- if (!activeTab) {
39
+ const activeTabs = Array.isArray(this.activeIndex)
40
+ ? this.panels.filter((_, index) => this.activeIndex.includes(index))
41
+ : [this.panels[this.activeIndex]];
42
+ if (activeTabs.length === 0) {
33
43
  throw new Error("activeIndex does not represent any panel.");
34
44
  }
35
- if (!activeTab.disabled) {
36
- this._panels[this.activeIndex].isOpen = true;
45
+ for (const activeTab of activeTabs) {
46
+ if (!activeTab.disabled) {
47
+ activeTab.isOpen = true;
48
+ }
37
49
  }
38
50
  }
39
51
  }
40
52
  }
41
- _closeOtherTabs(exception) {
42
- this._panels.forEach((panel, index) => {
53
+ closeOtherTabs(exception) {
54
+ this.panels.forEach((panel, index) => {
43
55
  if (index !== exception) {
44
56
  panel.isOpen = false;
45
57
  }
46
58
  });
47
59
  }
48
- _setBehavior(multiple) {
60
+ setBehavior(multiple) {
49
61
  if (multiple) {
50
- this._enableMultiplePanelBehavior();
62
+ this.enableMultiplePanelBehavior();
51
63
  }
52
64
  else {
53
- this._enableSinglePanelBehavior();
65
+ this.enableSinglePanelBehavior();
54
66
  }
55
67
  }
56
- _enableSinglePanelBehavior() {
57
- this._panels.forEach((panel, index) => {
58
- this._openSubs[index] = panel.panelOpened
59
- .pipe(takeUntil(this._unsubscribe$))
60
- .subscribe(() => {
61
- this._closeOtherTabs(index);
68
+ enableSinglePanelBehavior() {
69
+ this.panels.forEach((panel, index) => {
70
+ this.openSubs[index] = panel.panelOpened.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
71
+ this.closeOtherTabs(index);
62
72
  });
63
73
  });
64
74
  }
65
- _enableMultiplePanelBehavior() {
66
- this._panels.forEach((_, index) => {
67
- if (this._openSubs[index]) {
68
- this._openSubs[index].unsubscribe();
75
+ enableMultiplePanelBehavior() {
76
+ this.panels.forEach((_, index) => {
77
+ if (this.openSubs[index]) {
78
+ this.openSubs[index].unsubscribe();
69
79
  }
70
80
  });
71
81
  }
@@ -87,4 +97,4 @@ AccordionComponent = __decorate([
87
97
  })
88
98
  ], AccordionComponent);
89
99
  export { AccordionComponent };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQStCLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUVwSSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPM0MsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBa0I7SUFBL0I7UUFLVSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBS2hCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxZQUFPLEdBQThCLEVBQUUsQ0FBQztJQXVFbkQsQ0FBQztJQXBFUyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3RDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbkQ7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sVUFBVTs7UUFDZixVQUFJLElBQUksQ0FBQyxPQUFPLDBDQUFFLE1BQU0sRUFBRTtZQUN2QixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFakQsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7aUJBQy9EO2dCQUVELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO29CQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2lCQUMvQzthQUNIO1NBQ0g7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLFNBQWlCO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25DLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtnQkFDdEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7YUFDdkI7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyxZQUFZLENBQUMsUUFBaUI7UUFDbkMsSUFBSSxRQUFRLEVBQUU7WUFDWCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztTQUN0QzthQUFNO1lBQ0osSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7U0FDcEM7SUFDSixDQUFDO0lBRU8sMEJBQTBCO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLFdBQVc7aUJBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2lCQUNuQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDVCxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyw0QkFBNEI7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3RDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0gsQ0FBQTtBQWhGRTtJQURDLEtBQUssRUFBRTt1REFDbUI7QUFHM0I7SUFEQyxLQUFLLEVBQUU7b0RBQ2dCO0FBR3hCO0lBREMsZUFBZSxDQUFDLHVCQUF1QixDQUFDOzREQUNtQjtBQVJsRCxrQkFBa0I7SUFMOUIsU0FBUyxDQUFDO1FBQ1IsUUFBUSxFQUFFLGFBQWE7UUFDdkIsNEVBQXlDOztLQUUzQyxDQUFDO0dBQ1csa0JBQWtCLENBa0Y5QjtTQWxGWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBBY2NvcmRpb25QYW5lbENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWNjb3JkaW9uLXBhbmVsL2FjY29yZGlvbi1wYW5lbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogXCJzLWFjY29yZGlvblwiLFxuICAgdGVtcGxhdGVVcmw6IFwiLi9hY2NvcmRpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgIHN0eWxlVXJsczogW1wiLi9hY2NvcmRpb24uY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlcjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICBAQ29udGVudENoaWxkcmVuKEFjY29yZGlvblBhbmVsQ29tcG9uZW50KVxuICAgcHVibGljIHBhbmVsc0NvbXBvbmVudHM6IFF1ZXJ5TGlzdDxBY2NvcmRpb25QYW5lbENvbXBvbmVudD47XG5cbiAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICBwcml2YXRlIF9wYW5lbHM6IEFjY29yZGlvblBhbmVsQ29tcG9uZW50W10gPSBbXTtcbiAgIHByaXZhdGUgX29wZW5TdWJzOiBTdWJzY3JpcHRpb25bXTtcblxuICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuX3BhbmVscyA9IHRoaXMucGFuZWxzQ29tcG9uZW50cy50b0FycmF5KCk7XG4gICAgICB0aGlzLl9vcGVuU3VicyA9IG5ldyBBcnJheSh0aGlzLl9wYW5lbHMubGVuZ3RoKTtcblxuICAgICAgdGhpcy5fc2V0QmVoYXZpb3IodGhpcy5tdWx0aXBsZSk7XG4gICAgICB0aGlzLl9zZXR1cFRhYnMoKTtcbiAgIH1cblxuICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgIGlmIChjaGFuZ2VzLm11bHRpcGxlKSB7XG4gICAgICAgICB0aGlzLl9zZXRCZWhhdmlvcihjaGFuZ2VzLm11bHRpcGxlLmN1cnJlbnRWYWx1ZSk7XG4gICAgICB9XG4gICB9XG5cbiAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICB0aGlzLl91bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfc2V0dXBUYWJzKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX3BhbmVscz8ubGVuZ3RoKSB7XG4gICAgICAgICBpZiAodGhpcy5hY3RpdmVJbmRleCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWN0aXZlSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRoaXMuX3BhbmVsc1t0aGlzLmFjdGl2ZUluZGV4XTtcblxuICAgICAgICAgICAgaWYgKCFhY3RpdmVUYWIpIHtcbiAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImFjdGl2ZUluZGV4IGRvZXMgbm90IHJlcHJlc2VudCBhbnkgcGFuZWwuXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWFjdGl2ZVRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgdGhpcy5fcGFuZWxzW3RoaXMuYWN0aXZlSW5kZXhdLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgIHByaXZhdGUgX2Nsb3NlT3RoZXJUYWJzKGV4Y2VwdGlvbjogbnVtYmVyKSB7XG4gICAgICB0aGlzLl9wYW5lbHMuZm9yRWFjaCgocGFuZWwsIGluZGV4KSA9PiB7XG4gICAgICAgICBpZiAoaW5kZXggIT09IGV4Y2VwdGlvbikge1xuICAgICAgICAgICAgcGFuZWwuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICB9XG4gICAgICB9KTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfc2V0QmVoYXZpb3IobXVsdGlwbGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgdGhpcy5fZW5hYmxlTXVsdGlwbGVQYW5lbEJlaGF2aW9yKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgdGhpcy5fZW5hYmxlU2luZ2xlUGFuZWxCZWhhdmlvcigpO1xuICAgICAgfVxuICAgfVxuXG4gICBwcml2YXRlIF9lbmFibGVTaW5nbGVQYW5lbEJlaGF2aW9yKCkge1xuICAgICAgdGhpcy5fcGFuZWxzLmZvckVhY2goKHBhbmVsLCBpbmRleCkgPT4ge1xuICAgICAgICAgdGhpcy5fb3BlblN1YnNbaW5kZXhdID0gcGFuZWwucGFuZWxPcGVuZWRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICB0aGlzLl9jbG9zZU90aGVyVGFicyhpbmRleCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgfVxuXG4gICBwcml2YXRlIF9lbmFibGVNdWx0aXBsZVBhbmVsQmVoYXZpb3IoKSB7XG4gICAgICB0aGlzLl9wYW5lbHMuZm9yRWFjaCgoXywgaW5kZXgpID0+IHtcbiAgICAgICAgIGlmICh0aGlzLl9vcGVuU3Vic1tpbmRleF0pIHtcbiAgICAgICAgICAgIHRoaXMuX29wZW5TdWJzW2luZGV4XS51bnN1YnNjcmliZSgpO1xuICAgICAgICAgfVxuICAgICAgfSk7XG4gICB9XG59XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQStCLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUU1SSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPM0MsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBa0I7SUFBL0I7UUFLVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBS2hCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNuQyxXQUFNLEdBQThCLEVBQUUsQ0FBQztJQW1GbkQsQ0FBQztJQWhGRyxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FB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dEM7SUFEQyxLQUFLLEVBQUU7b0RBQ2dCO0FBR3hCO0lBREMsZUFBZSxDQUFDLHVCQUF1QixDQUFDOzREQUNtQjtBQVJuRCxrQkFBa0I7SUFMOUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGFBQWE7UUFDdkIsNEVBQXlDOztLQUU1QyxDQUFDO0dBQ1csa0JBQWtCLENBOEY5QjtTQTlGWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IEFjY29yZGlvblBhbmVsQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLWFjY29yZGlvblwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2FjY29yZGlvbi5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlciB8IG51bWJlcltdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oQWNjb3JkaW9uUGFuZWxDb21wb25lbnQpXG4gICAgcHVibGljIHBhbmVsc0NvbXBvbmVudHM6IFF1ZXJ5TGlzdDxBY2NvcmRpb25QYW5lbENvbXBvbmVudD47XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBwYW5lbHM6IEFjY29yZGlvblBhbmVsQ29tcG9uZW50W10gPSBbXTtcbiAgICBwcml2YXRlIG9wZW5TdWJzOiBTdWJzY3JpcHRpb25bXTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbGlkYXRlSW5wdXRzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYW5lbHMgPSB0aGlzLnBhbmVsc0NvbXBvbmVudHMudG9BcnJheSgpO1xuICAgICAgICB0aGlzLm9wZW5TdWJzID0gbmV3IEFycmF5KHRoaXMucGFuZWxzLmxlbmd0aCk7XG5cbiAgICAgICAgdGhpcy5zZXRCZWhhdmlvcih0aGlzLm11bHRpcGxlKTtcbiAgICAgICAgdGhpcy5zZXR1cFRhYnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRCZWhhdmlvcihjaGFuZ2VzLm11bHRpcGxlLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlSW5wdXRzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmFjdGl2ZUluZGV4KSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIGFjdGl2ZUluZGV4IHNob3VsZCBub3QgYmUgYW4gYXJyYXkgd2hlbiBtdWx0aXBsZSBpcyBzZXQgdG8gZmFsc2UuXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFRhYnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBhbmVscz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hY3RpdmVJbmRleCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWN0aXZlSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVUYWJzID0gQXJyYXkuaXNBcnJheSh0aGlzLmFjdGl2ZUluZGV4KVxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMucGFuZWxzLmZpbHRlcigoXywgaW5kZXgpID0+ICh0aGlzLmFjdGl2ZUluZGV4IGFzIG51bWJlcltdKS5pbmNsdWRlcyhpbmRleCkpXG4gICAgICAgICAgICAgICAgICAgIDogW3RoaXMucGFuZWxzW3RoaXMuYWN0aXZlSW5kZXhdXTtcblxuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVUYWJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJhY3RpdmVJbmRleCBkb2VzIG5vdCByZXByZXNlbnQgYW55IHBhbmVsLlwiKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFjdGl2ZVRhYiBvZiBhY3RpdmVUYWJzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghYWN0aXZlVGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVUYWIuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VPdGhlclRhYnMoZXhjZXB0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYW5lbHMuZm9yRWFjaCgocGFuZWwsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggIT09IGV4Y2VwdGlvbikge1xuICAgICAgICAgICAgICAgIHBhbmVsLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEJlaGF2aW9yKG11bHRpcGxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVNdWx0aXBsZVBhbmVsQmVoYXZpb3IoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlU2luZ2xlUGFuZWxCZWhhdmlvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbmFibGVTaW5nbGVQYW5lbEJlaGF2aW9yKCkge1xuICAgICAgICB0aGlzLnBhbmVscy5mb3JFYWNoKChwYW5lbCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3BlblN1YnNbaW5kZXhdID0gcGFuZWwucGFuZWxPcGVuZWQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VPdGhlclRhYnMoaW5kZXgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW5hYmxlTXVsdGlwbGVQYW5lbEJlaGF2aW9yKCkge1xuICAgICAgICB0aGlzLnBhbmVscy5mb3JFYWNoKChfLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMub3BlblN1YnNbaW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuU3Vic1tpbmRleF0udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { __decorate } from "tslib";
1
+ import { __decorate, __values } from "tslib";
2
2
  import { Component, ContentChildren, Input } from "@angular/core";
3
3
  import { AccordionPanelComponent } from "./components/accordion-panel/accordion-panel.component";
4
4
  import { Subject } from "rxjs";
@@ -6,68 +6,90 @@ import { takeUntil } from "rxjs/operators";
6
6
  var AccordionComponent = /** @class */ (function () {
7
7
  function AccordionComponent() {
8
8
  this.multiple = false;
9
- this._unsubscribe$ = new Subject();
10
- this._panels = [];
9
+ this.unsubscribe$ = new Subject();
10
+ this.panels = [];
11
11
  }
12
+ AccordionComponent.prototype.ngOnInit = function () {
13
+ this.validateInputs();
14
+ };
12
15
  AccordionComponent.prototype.ngAfterContentInit = function () {
13
- this._panels = this.panelsComponents.toArray();
14
- this._openSubs = new Array(this._panels.length);
15
- this._setBehavior(this.multiple);
16
- this._setupTabs();
16
+ this.panels = this.panelsComponents.toArray();
17
+ this.openSubs = new Array(this.panels.length);
18
+ this.setBehavior(this.multiple);
19
+ this.setupTabs();
17
20
  };
18
21
  AccordionComponent.prototype.ngOnChanges = function (changes) {
19
22
  if (changes.multiple) {
20
- this._setBehavior(changes.multiple.currentValue);
23
+ this.setBehavior(changes.multiple.currentValue);
21
24
  }
22
25
  };
23
26
  AccordionComponent.prototype.ngOnDestroy = function () {
24
- this._unsubscribe$.next();
25
- this._unsubscribe$.complete();
27
+ this.unsubscribe$.next();
28
+ this.unsubscribe$.complete();
29
+ };
30
+ AccordionComponent.prototype.validateInputs = function () {
31
+ if (!this.multiple && Array.isArray(this.activeIndex)) {
32
+ throw new Error("The activeIndex should not be an array when multiple is set to false.");
33
+ }
26
34
  };
27
- AccordionComponent.prototype._setupTabs = function () {
28
- var _a;
29
- if ((_a = this._panels) === null || _a === void 0 ? void 0 : _a.length) {
35
+ AccordionComponent.prototype.setupTabs = function () {
36
+ var e_1, _a;
37
+ var _this = this;
38
+ var _b;
39
+ if ((_b = this.panels) === null || _b === void 0 ? void 0 : _b.length) {
30
40
  if (this.activeIndex !== undefined && this.activeIndex !== null) {
31
- var activeTab = this._panels[this.activeIndex];
32
- if (!activeTab) {
41
+ var activeTabs = Array.isArray(this.activeIndex)
42
+ ? this.panels.filter(function (_, index) { return _this.activeIndex.includes(index); })
43
+ : [this.panels[this.activeIndex]];
44
+ if (activeTabs.length === 0) {
33
45
  throw new Error("activeIndex does not represent any panel.");
34
46
  }
35
- if (!activeTab.disabled) {
36
- this._panels[this.activeIndex].isOpen = true;
47
+ try {
48
+ for (var activeTabs_1 = __values(activeTabs), activeTabs_1_1 = activeTabs_1.next(); !activeTabs_1_1.done; activeTabs_1_1 = activeTabs_1.next()) {
49
+ var activeTab = activeTabs_1_1.value;
50
+ if (!activeTab.disabled) {
51
+ activeTab.isOpen = true;
52
+ }
53
+ }
54
+ }
55
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
56
+ finally {
57
+ try {
58
+ if (activeTabs_1_1 && !activeTabs_1_1.done && (_a = activeTabs_1.return)) _a.call(activeTabs_1);
59
+ }
60
+ finally { if (e_1) throw e_1.error; }
37
61
  }
38
62
  }
39
63
  }
40
64
  };
41
- AccordionComponent.prototype._closeOtherTabs = function (exception) {
42
- this._panels.forEach(function (panel, index) {
65
+ AccordionComponent.prototype.closeOtherTabs = function (exception) {
66
+ this.panels.forEach(function (panel, index) {
43
67
  if (index !== exception) {
44
68
  panel.isOpen = false;
45
69
  }
46
70
  });
47
71
  };
48
- AccordionComponent.prototype._setBehavior = function (multiple) {
72
+ AccordionComponent.prototype.setBehavior = function (multiple) {
49
73
  if (multiple) {
50
- this._enableMultiplePanelBehavior();
74
+ this.enableMultiplePanelBehavior();
51
75
  }
52
76
  else {
53
- this._enableSinglePanelBehavior();
77
+ this.enableSinglePanelBehavior();
54
78
  }
55
79
  };
56
- AccordionComponent.prototype._enableSinglePanelBehavior = function () {
80
+ AccordionComponent.prototype.enableSinglePanelBehavior = function () {
57
81
  var _this = this;
58
- this._panels.forEach(function (panel, index) {
59
- _this._openSubs[index] = panel.panelOpened
60
- .pipe(takeUntil(_this._unsubscribe$))
61
- .subscribe(function () {
62
- _this._closeOtherTabs(index);
82
+ this.panels.forEach(function (panel, index) {
83
+ _this.openSubs[index] = panel.panelOpened.pipe(takeUntil(_this.unsubscribe$)).subscribe(function () {
84
+ _this.closeOtherTabs(index);
63
85
  });
64
86
  });
65
87
  };
66
- AccordionComponent.prototype._enableMultiplePanelBehavior = function () {
88
+ AccordionComponent.prototype.enableMultiplePanelBehavior = function () {
67
89
  var _this = this;
68
- this._panels.forEach(function (_, index) {
69
- if (_this._openSubs[index]) {
70
- _this._openSubs[index].unsubscribe();
90
+ this.panels.forEach(function (_, index) {
91
+ if (_this.openSubs[index]) {
92
+ _this.openSubs[index].unsubscribe();
71
93
  }
72
94
  });
73
95
  };
@@ -90,4 +112,4 @@ var AccordionComponent = /** @class */ (function () {
90
112
  return AccordionComponent;
91
113
  }());
92
114
  export { AccordionComponent };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQStCLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUVwSSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPM0M7SUFBQTtRQUtVLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFLaEIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3BDLFlBQU8sR0FBOEIsRUFBRSxDQUFDO0lBdUVuRCxDQUFDO0lBcEVTLCtDQUFrQixHQUF6QjtRQUNHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLHdDQUFXLEdBQWxCLFVBQW1CLE9BQXNCO1FBQ3RDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbkQ7SUFDSixDQUFDO0lBRU0sd0NBQVcsR0FBbEI7UUFDRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLHVDQUFVLEdBQWxCOztRQUNHLFVBQUksSUFBSSxDQUFDLE9BQU8sMENBQUUsTUFBTSxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7Z0JBQzlELElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUVqRCxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztpQkFDL0Q7Z0JBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7aUJBQy9DO2FBQ0g7U0FDSDtJQUNKLENBQUM7SUFFTyw0Q0FBZSxHQUF2QixVQUF3QixTQUFpQjtRQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQUssRUFBRSxLQUFLO1lBQy9CLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtnQkFDdEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7YUFDdkI7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyx5Q0FBWSxHQUFwQixVQUFxQixRQUFpQjtRQUNuQyxJQUFJLFFBQVEsRUFBRTtZQUNYLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3RDO2FBQU07WUFDSixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztTQUNwQztJQUNKLENBQUM7SUFFTyx1REFBMEIsR0FBbEM7UUFBQSxpQkFRQztRQVBFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSyxFQUFFLEtBQUs7WUFDL0IsS0FBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVztpQkFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ25DLFNBQVMsQ0FBQztnQkFDUixLQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ1QsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU8seURBQTRCLEdBQXBDO1FBQUEsaUJBTUM7UUFMRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFDLENBQUMsRUFBRSxLQUFLO1lBQzNCLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsS0FBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUN0QztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQS9FRDtRQURDLEtBQUssRUFBRTsyREFDbUI7SUFHM0I7UUFEQyxLQUFLLEVBQUU7d0RBQ2dCO0lBR3hCO1FBREMsZUFBZSxDQUFDLHVCQUF1QixDQUFDO2dFQUNtQjtJQVJsRCxrQkFBa0I7UUFMOUIsU0FBUyxDQUFDO1lBQ1IsUUFBUSxFQUFFLGFBQWE7WUFDdkIsNEVBQXlDOztTQUUzQyxDQUFDO09BQ1csa0JBQWtCLENBa0Y5QjtJQUFELHlCQUFDO0NBQUEsQUFsRkQsSUFrRkM7U0FsRlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgQWNjb3JkaW9uUGFuZWxDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FjY29yZGlvbi1wYW5lbC9hY2NvcmRpb24tcGFuZWwuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6IFwicy1hY2NvcmRpb25cIixcbiAgIHRlbXBsYXRlVXJsOiBcIi4vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sXCIsXG4gICBzdHlsZVVybHM6IFtcIi4vYWNjb3JkaW9uLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICBASW5wdXQoKVxuICAgcHVibGljIGFjdGl2ZUluZGV4OiBudW1iZXI7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAgQENvbnRlbnRDaGlsZHJlbihBY2NvcmRpb25QYW5lbENvbXBvbmVudClcbiAgIHB1YmxpYyBwYW5lbHNDb21wb25lbnRzOiBRdWVyeUxpc3Q8QWNjb3JkaW9uUGFuZWxDb21wb25lbnQ+O1xuXG4gICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgcHJpdmF0ZSBfcGFuZWxzOiBBY2NvcmRpb25QYW5lbENvbXBvbmVudFtdID0gW107XG4gICBwcml2YXRlIF9vcGVuU3ViczogU3Vic2NyaXB0aW9uW107XG5cbiAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLl9wYW5lbHMgPSB0aGlzLnBhbmVsc0NvbXBvbmVudHMudG9BcnJheSgpO1xuICAgICAgdGhpcy5fb3BlblN1YnMgPSBuZXcgQXJyYXkodGhpcy5fcGFuZWxzLmxlbmd0aCk7XG5cbiAgICAgIHRoaXMuX3NldEJlaGF2aW9yKHRoaXMubXVsdGlwbGUpO1xuICAgICAgdGhpcy5fc2V0dXBUYWJzKCk7XG4gICB9XG5cbiAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICBpZiAoY2hhbmdlcy5tdWx0aXBsZSkge1xuICAgICAgICAgdGhpcy5fc2V0QmVoYXZpb3IoY2hhbmdlcy5tdWx0aXBsZS5jdXJyZW50VmFsdWUpO1xuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICB0aGlzLl91bnN1YnNjcmliZSQubmV4dCgpO1xuICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICB9XG5cbiAgIHByaXZhdGUgX3NldHVwVGFicygpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLl9wYW5lbHM/Lmxlbmd0aCkge1xuICAgICAgICAgaWYgKHRoaXMuYWN0aXZlSW5kZXggIT09IHVuZGVmaW5lZCAmJiB0aGlzLmFjdGl2ZUluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVUYWIgPSB0aGlzLl9wYW5lbHNbdGhpcy5hY3RpdmVJbmRleF07XG5cbiAgICAgICAgICAgIGlmICghYWN0aXZlVGFiKSB7XG4gICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJhY3RpdmVJbmRleCBkb2VzIG5vdCByZXByZXNlbnQgYW55IHBhbmVsLlwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFhY3RpdmVUYWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgIHRoaXMuX3BhbmVsc1t0aGlzLmFjdGl2ZUluZGV4XS5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBwcml2YXRlIF9jbG9zZU90aGVyVGFicyhleGNlcHRpb246IG51bWJlcikge1xuICAgICAgdGhpcy5fcGFuZWxzLmZvckVhY2goKHBhbmVsLCBpbmRleCkgPT4ge1xuICAgICAgICAgaWYgKGluZGV4ICE9PSBleGNlcHRpb24pIHtcbiAgICAgICAgICAgIHBhbmVsLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgfVxuICAgICAgfSk7XG4gICB9XG5cbiAgIHByaXZhdGUgX3NldEJlaGF2aW9yKG11bHRpcGxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICBpZiAobXVsdGlwbGUpIHtcbiAgICAgICAgIHRoaXMuX2VuYWJsZU11bHRpcGxlUGFuZWxCZWhhdmlvcigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgIHRoaXMuX2VuYWJsZVNpbmdsZVBhbmVsQmVoYXZpb3IoKTtcbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSBfZW5hYmxlU2luZ2xlUGFuZWxCZWhhdmlvcigpIHtcbiAgICAgIHRoaXMuX3BhbmVscy5mb3JFYWNoKChwYW5lbCwgaW5kZXgpID0+IHtcbiAgICAgICAgIHRoaXMuX29wZW5TdWJzW2luZGV4XSA9IHBhbmVsLnBhbmVsT3BlbmVkXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgdGhpcy5fY2xvc2VPdGhlclRhYnMoaW5kZXgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfZW5hYmxlTXVsdGlwbGVQYW5lbEJlaGF2aW9yKCkge1xuICAgICAgdGhpcy5fcGFuZWxzLmZvckVhY2goKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICBpZiAodGhpcy5fb3BlblN1YnNbaW5kZXhdKSB7XG4gICAgICAgICAgICB0aGlzLl9vcGVuU3Vic1tpbmRleF0udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgIH1cbiAgICAgIH0pO1xuICAgfVxufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQStCLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUU1SSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPM0M7SUFBQTtRQUtXLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFLaEIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25DLFdBQU0sR0FBOEIsRUFBRSxDQUFDO0lBbUZuRCxDQUFDO0lBaEZHLHFDQUFRLEdBQVI7UUFDSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLCtDQUFrQixHQUF6QjtRQUNJLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLHdDQUFXLEdBQWxCLFVBQW1CLE9BQXNCO1FBQ3JDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMs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Q0FBQzthQUN0QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQTNGRDtRQURDLEtBQUssRUFBRTsyREFDOEI7SUFHdEM7UUFEQyxLQUFLLEVBQUU7d0RBQ2dCO0lBR3hCO1FBREMsZUFBZSxDQUFDLHVCQUF1QixDQUFDO2dFQUNtQjtJQVJuRCxrQkFBa0I7UUFMOUIsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGFBQWE7WUFDdkIsNEVBQXlDOztTQUU1QyxDQUFDO09BQ1csa0JBQWtCLENBOEY5QjtJQUFELHlCQUFDO0NBQUEsQUE5RkQsSUE4RkM7U0E5Rlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBBY2NvcmRpb25QYW5lbENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWNjb3JkaW9uLXBhbmVsL2FjY29yZGlvbi1wYW5lbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1hY2NvcmRpb25cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FjY29yZGlvbi5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9hY2NvcmRpb24uY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjdGl2ZUluZGV4OiBudW1iZXIgfCBudW1iZXJbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpcGxlID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEFjY29yZGlvblBhbmVsQ29tcG9uZW50KVxuICAgIHB1YmxpYyBwYW5lbHNDb21wb25lbnRzOiBRdWVyeUxpc3Q8QWNjb3JkaW9uUGFuZWxDb21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgcGFuZWxzOiBBY2NvcmRpb25QYW5lbENvbXBvbmVudFtdID0gW107XG4gICAgcHJpdmF0ZSBvcGVuU3ViczogU3Vic2NyaXB0aW9uW107XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUlucHV0cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFuZWxzID0gdGhpcy5wYW5lbHNDb21wb25lbnRzLnRvQXJyYXkoKTtcbiAgICAgICAgdGhpcy5vcGVuU3VicyA9IG5ldyBBcnJheSh0aGlzLnBhbmVscy5sZW5ndGgpO1xuXG4gICAgICAgIHRoaXMuc2V0QmVoYXZpb3IodGhpcy5tdWx0aXBsZSk7XG4gICAgICAgIHRoaXMuc2V0dXBUYWJzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0QmVoYXZpb3IoY2hhbmdlcy5tdWx0aXBsZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUlucHV0cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodGhpcy5hY3RpdmVJbmRleCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoZSBhY3RpdmVJbmRleCBzaG91bGQgbm90IGJlIGFuIGFycmF5IHdoZW4gbXVsdGlwbGUgaXMgc2V0IHRvIGZhbHNlLlwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBUYWJzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wYW5lbHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlSW5kZXggIT09IHVuZGVmaW5lZCAmJiB0aGlzLmFjdGl2ZUluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlVGFicyA9IEFycmF5LmlzQXJyYXkodGhpcy5hY3RpdmVJbmRleClcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnBhbmVscy5maWx0ZXIoKF8sIGluZGV4KSA9PiAodGhpcy5hY3RpdmVJbmRleCBhcyBudW1iZXJbXSkuaW5jbHVkZXMoaW5kZXgpKVxuICAgICAgICAgICAgICAgICAgICA6IFt0aGlzLnBhbmVsc1t0aGlzLmFjdGl2ZUluZGV4XV07XG5cbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlVGFicy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYWN0aXZlSW5kZXggZG9lcyBub3QgcmVwcmVzZW50IGFueSBwYW5lbC5cIik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBhY3RpdmVUYWIgb2YgYWN0aXZlVGFicykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGl2ZVRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlVGFiLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlT3RoZXJUYWJzKGV4Y2VwdGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMucGFuZWxzLmZvckVhY2goKHBhbmVsLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ICE9PSBleGNlcHRpb24pIHtcbiAgICAgICAgICAgICAgICBwYW5lbC5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRCZWhhdmlvcihtdWx0aXBsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAobXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlTXVsdGlwbGVQYW5lbEJlaGF2aW9yKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZVNpbmdsZVBhbmVsQmVoYXZpb3IoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZW5hYmxlU2luZ2xlUGFuZWxCZWhhdmlvcigpIHtcbiAgICAgICAgdGhpcy5wYW5lbHMuZm9yRWFjaCgocGFuZWwsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9wZW5TdWJzW2luZGV4XSA9IHBhbmVsLnBhbmVsT3BlbmVkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlT3RoZXJUYWJzKGluZGV4KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGVuYWJsZU11bHRpcGxlUGFuZWxCZWhhdmlvcigpIHtcbiAgICAgICAgdGhpcy5wYW5lbHMuZm9yRWFjaCgoXywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wZW5TdWJzW2luZGV4XSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlblN1YnNbaW5kZXhdLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -176,66 +176,76 @@ AccordionPanelComponent = __decorate([
176
176
  let AccordionComponent = class AccordionComponent {
177
177
  constructor() {
178
178
  this.multiple = false;
179
- this._unsubscribe$ = new Subject();
180
- this._panels = [];
179
+ this.unsubscribe$ = new Subject();
180
+ this.panels = [];
181
+ }
182
+ ngOnInit() {
183
+ this.validateInputs();
181
184
  }
182
185
  ngAfterContentInit() {
183
- this._panels = this.panelsComponents.toArray();
184
- this._openSubs = new Array(this._panels.length);
185
- this._setBehavior(this.multiple);
186
- this._setupTabs();
186
+ this.panels = this.panelsComponents.toArray();
187
+ this.openSubs = new Array(this.panels.length);
188
+ this.setBehavior(this.multiple);
189
+ this.setupTabs();
187
190
  }
188
191
  ngOnChanges(changes) {
189
192
  if (changes.multiple) {
190
- this._setBehavior(changes.multiple.currentValue);
193
+ this.setBehavior(changes.multiple.currentValue);
191
194
  }
192
195
  }
193
196
  ngOnDestroy() {
194
- this._unsubscribe$.next();
195
- this._unsubscribe$.complete();
197
+ this.unsubscribe$.next();
198
+ this.unsubscribe$.complete();
196
199
  }
197
- _setupTabs() {
200
+ validateInputs() {
201
+ if (!this.multiple && Array.isArray(this.activeIndex)) {
202
+ throw new Error("The activeIndex should not be an array when multiple is set to false.");
203
+ }
204
+ }
205
+ setupTabs() {
198
206
  var _a;
199
- if ((_a = this._panels) === null || _a === void 0 ? void 0 : _a.length) {
207
+ if ((_a = this.panels) === null || _a === void 0 ? void 0 : _a.length) {
200
208
  if (this.activeIndex !== undefined && this.activeIndex !== null) {
201
- const activeTab = this._panels[this.activeIndex];
202
- if (!activeTab) {
209
+ const activeTabs = Array.isArray(this.activeIndex)
210
+ ? this.panels.filter((_, index) => this.activeIndex.includes(index))
211
+ : [this.panels[this.activeIndex]];
212
+ if (activeTabs.length === 0) {
203
213
  throw new Error("activeIndex does not represent any panel.");
204
214
  }
205
- if (!activeTab.disabled) {
206
- this._panels[this.activeIndex].isOpen = true;
215
+ for (const activeTab of activeTabs) {
216
+ if (!activeTab.disabled) {
217
+ activeTab.isOpen = true;
218
+ }
207
219
  }
208
220
  }
209
221
  }
210
222
  }
211
- _closeOtherTabs(exception) {
212
- this._panels.forEach((panel, index) => {
223
+ closeOtherTabs(exception) {
224
+ this.panels.forEach((panel, index) => {
213
225
  if (index !== exception) {
214
226
  panel.isOpen = false;
215
227
  }
216
228
  });
217
229
  }
218
- _setBehavior(multiple) {
230
+ setBehavior(multiple) {
219
231
  if (multiple) {
220
- this._enableMultiplePanelBehavior();
232
+ this.enableMultiplePanelBehavior();
221
233
  }
222
234
  else {
223
- this._enableSinglePanelBehavior();
235
+ this.enableSinglePanelBehavior();
224
236
  }
225
237
  }
226
- _enableSinglePanelBehavior() {
227
- this._panels.forEach((panel, index) => {
228
- this._openSubs[index] = panel.panelOpened
229
- .pipe(takeUntil(this._unsubscribe$))
230
- .subscribe(() => {
231
- this._closeOtherTabs(index);
238
+ enableSinglePanelBehavior() {
239
+ this.panels.forEach((panel, index) => {
240
+ this.openSubs[index] = panel.panelOpened.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
241
+ this.closeOtherTabs(index);
232
242
  });
233
243
  });
234
244
  }
235
- _enableMultiplePanelBehavior() {
236
- this._panels.forEach((_, index) => {
237
- if (this._openSubs[index]) {
238
- this._openSubs[index].unsubscribe();
245
+ enableMultiplePanelBehavior() {
246
+ this.panels.forEach((_, index) => {
247
+ if (this.openSubs[index]) {
248
+ this.openSubs[index].unsubscribe();
239
249
  }
240
250
  });
241
251
  }