@seniorsistemas/angular-components 17.6.1 → 17.6.3

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,6 +1,6 @@
1
1
  import { EventEmitter } from "@angular/core";
2
- import { SelectButtonItem } from "./models";
3
2
  import { ControlValueAccessor } from "@angular/forms";
3
+ import { SelectButtonItem } from "./models";
4
4
  export declare class SelectButtonComponent implements ControlValueAccessor {
5
5
  items: SelectButtonItem[];
6
6
  multiple: boolean;
@@ -15,4 +15,5 @@ export declare class SelectButtonComponent implements ControlValueAccessor {
15
15
  registerOnTouched(onTouched: (value: SelectButtonItem[]) => void): void;
16
16
  setDisabledState(disabled: boolean): void;
17
17
  onItemSelect(item: SelectButtonItem): void;
18
+ private _compareItems;
18
19
  }
@@ -15,10 +15,20 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
15
15
  return;
16
16
  this.activeItems.clear();
17
17
  if (Array.isArray(value)) {
18
- value.forEach((item) => this.activeItems.add(item));
18
+ value.forEach((item) => {
19
+ this.items.forEach((iItem) => {
20
+ if (this._compareItems(item, iItem)) {
21
+ this.activeItems.add(iItem);
22
+ }
23
+ });
24
+ });
19
25
  }
20
26
  else {
21
- this.activeItems.add(value);
27
+ this.items.forEach((iItem) => {
28
+ if (this._compareItems(value, iItem)) {
29
+ this.activeItems.add(iItem);
30
+ }
31
+ });
22
32
  }
23
33
  }
24
34
  registerOnChange(onChange) {
@@ -43,6 +53,36 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
43
53
  (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, [...this.activeItems]);
44
54
  (_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, [...this.activeItems]);
45
55
  }
56
+ _compareItems(item1, item2) {
57
+ const _compare = (a, b) => {
58
+ if (a === b) {
59
+ return true;
60
+ }
61
+ if (a === undefined || b === undefined || typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
62
+ return false;
63
+ }
64
+ if (Array.isArray(a) !== Array.isArray(b)) {
65
+ return false;
66
+ }
67
+ let keysA = Object.keys(a);
68
+ let keysB = Object.keys(b);
69
+ if (keysA.length !== keysB.length) {
70
+ return false;
71
+ }
72
+ for (let key of keysA) {
73
+ if (!keysB.includes(key) || !_compare(a[key], b[key])) {
74
+ return false;
75
+ }
76
+ }
77
+ for (let key in a) {
78
+ if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {
79
+ return false;
80
+ }
81
+ }
82
+ return true;
83
+ };
84
+ return _compare(item1, item2);
85
+ }
46
86
  };
47
87
  __decorate([
48
88
  Input()
@@ -60,13 +100,15 @@ SelectButtonComponent = SelectButtonComponent_1 = __decorate([
60
100
  Component({
61
101
  selector: "s-select-button",
62
102
  template: "<div\n class=\"select-button\"\n [ngClass]=\"{ 'select-button--disabled': disabled }\">\n <s-select-button-item\n *ngFor=\"let item of items; index as i\"\n [label]=\"item.label\"\n [active]=\"activeItems?.has(item)\"\n [disabled]=\"disabled || item.disabled\"\n [first]=\"i === 0\"\n [last]=\"i === items.length - 1\"\n (click)=\"onItemSelect(item)\">\n </s-select-button-item>\n</div>",
63
- providers: [{
103
+ providers: [
104
+ {
64
105
  provide: NG_VALUE_ACCESSOR,
65
106
  useExisting: forwardRef(() => SelectButtonComponent_1),
66
107
  multi: true,
67
- }],
108
+ },
109
+ ],
68
110
  styles: [".select-button{overflow:hidden}"]
69
111
  })
70
112
  ], SelectButtonComponent);
71
113
  export { SelectButtonComponent };
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBWXpFLElBQWEscUJBQXFCLDZCQUFsQyxNQUFhLHFCQUFxQjtJQUFsQztRQUtXLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUd0RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRW5ELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztJQTBDckQsQ0FBQztJQXRDVSxVQUFVLENBQUMsS0FBNkM7UUFDM0QsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBRW5CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFekIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3pFO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUE2QztRQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0saUJBQWlCLENBQUMsU0FBOEM7UUFDbkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFFBQWlCO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBc0I7O1FBQ3RDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUU5QyxNQUFBLElBQUksQ0FBQyxRQUFRLCtDQUFiLElBQUksRUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ3ZDLE1BQUEsSUFBSSxDQUFDLFNBQVMsK0NBQWQsSUFBSSxFQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7SUFDNUMsQ0FBQztDQUNKLENBQUE7QUF0REc7SUFEQyxLQUFLLEVBQUU7b0RBQ3lCO0FBR2pDO0lBREMsS0FBSyxFQUFFO3VEQUNnQjtBQUd4QjtJQURDLE1BQU0sRUFBRTsyREFDb0Q7QUFHN0Q7SUFEQyxNQUFNLEVBQUU7MERBQ2lEO0FBWGpELHFCQUFxQjtJQVZqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLDJjQUE2QztRQUU3QyxTQUFTLEVBQUUsQ0FBQztnQkFDUixPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNkLENBQUM7O0tBQ0wsQ0FBQztHQUNXLHFCQUFxQixDQXdEakM7U0F4RFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBTZWxlY3RCdXR0b25JdGVtIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1zZWxlY3QtYnV0dG9uXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnNjc3NcIl0sXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0QnV0dG9uQ29tcG9uZW50KSxcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtczogU2VsZWN0QnV0dG9uSXRlbVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJ1dHRvbkl0ZW1bXT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0QnV0dG9uSXRlbT4oKTtcblxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBhY3RpdmVJdGVtcyA9IG5ldyBTZXQ8U2VsZWN0QnV0dG9uSXRlbT4oKTtcbiAgICBwdWJsaWMgb25DaGFuZ2U6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkO1xuICAgIHB1YmxpYyBvblRvdWNoZWQ6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkO1xuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU/OiBTZWxlY3RCdXR0b25JdGVtIHwgU2VsZWN0QnV0dG9uSXRlbVtdKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmNsZWFyKCk7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChpdGVtOiBTZWxlY3RCdXR0b25JdGVtKSA9PiB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpdGVtKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtU2VsZWN0KGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgaXRlbS5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChpdGVtKTtcblxuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpdGVtKTtcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChbLi4udGhpcy5hY3RpdmVJdGVtc10pO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2U/LihbLi4udGhpcy5hY3RpdmVJdGVtc10pO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZD8uKFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG4gICAgfVxufVxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0J6RSxJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBcUI7SUFBbEM7UUFLVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHdEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVuRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7SUEyRnJELENBQUM7SUF2RlUsVUFBVSxDQUFDLEtBQTZDO1FBQzNELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBc0IsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtvQkFDM0MsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJB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QyxFQUFFO2dCQUNmLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNqRCxPQUFPLEtBQUssQ0FBQztpQkFDaEI7YUFDSjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0osQ0FBQTtBQXZHRztJQURDLEtBQUssRUFBRTtvREFDeUI7QUFHakM7SUFEQyxLQUFLLEVBQUU7dURBQ2dCO0FBR3hCO0lBREMsTUFBTSxFQUFFOzJEQUNvRDtBQUc3RDtJQURDLE1BQU0sRUFBRTswREFDaUQ7QUFYakQscUJBQXFCO0lBWmpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsMmNBQTZDO1FBRTdDLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXFCLENBQUM7Z0JBQ3BELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSjs7S0FDSixDQUFDO0dBQ1cscUJBQXFCLENBeUdqQztTQXpHWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgZm9yd2FyZFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgU2VsZWN0QnV0dG9uSXRlbSB9IGZyb20gXCIuL21vZGVsc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLXNlbGVjdC1idXR0b25cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3NlbGVjdC1idXR0b24uY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RCdXR0b25Db21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1zOiBTZWxlY3RCdXR0b25JdGVtW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0QnV0dG9uSXRlbVtdPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGl0ZW1DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RCdXR0b25JdGVtPigpO1xuXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gICAgcHVibGljIGFjdGl2ZUl0ZW1zID0gbmV3IFNldDxTZWxlY3RCdXR0b25JdGVtPigpO1xuICAgIHB1YmxpYyBvbkNoYW5nZTogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQ7XG4gICAgcHVibGljIG9uVG91Y2hlZDogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQ7XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZT86IFNlbGVjdEJ1dHRvbkl0ZW0gfCBTZWxlY3RCdXR0b25JdGVtW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuY2xlYXIoKTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlLmZvckVhY2goKGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGlJdGVtOiBTZWxlY3RCdXR0b25JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb21wYXJlSXRlbXMoaXRlbSwgaUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpSXRlbTogU2VsZWN0QnV0dG9uSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb21wYXJlSXRlbXModmFsdWUsIGlJdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpSXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtU2VsZWN0KGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgaXRlbS5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChpdGVtKTtcblxuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpdGVtKTtcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChbLi4udGhpcy5hY3RpdmVJdGVtc10pO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2U/LihbLi4udGhpcy5hY3RpdmVJdGVtc10pO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZD8uKFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29tcGFyZUl0ZW1zKGl0ZW0xOiBTZWxlY3RCdXR0b25JdGVtLCBpdGVtMjogU2VsZWN0QnV0dG9uSXRlbSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBfY29tcGFyZSA9IChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgaWYgKGEgPT09IGIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGEgPT09IHVuZGVmaW5lZCB8fCBiID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIGEgIT09IFwib2JqZWN0XCIgfHwgYSA9PT0gbnVsbCB8fCB0eXBlb2YgYiAhPT0gXCJvYmplY3RcIiB8fCBiID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhKSAhPT0gQXJyYXkuaXNBcnJheShiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGtleXNBID0gT2JqZWN0LmtleXMoYSk7XG4gICAgICAgICAgICBsZXQga2V5c0IgPSBPYmplY3Qua2V5cyhiKTtcblxuICAgICAgICAgICAgaWYgKGtleXNBLmxlbmd0aCAhPT0ga2V5c0IubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgb2Yga2V5c0EpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWtleXNCLmluY2x1ZGVzKGtleSkgfHwgIV9jb21wYXJlKGFba2V5XSwgYltrZXldKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gYSkge1xuICAgICAgICAgICAgICAgIGlmIChhLmhhc093blByb3BlcnR5KGtleSkgIT09IGIuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gX2NvbXBhcmUoaXRlbTEsIGl0ZW0yKTtcbiAgICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { __decorate, __read, __spread } from "tslib";
1
+ import { __decorate, __read, __spread, __values } from "tslib";
2
2
  import { Component, EventEmitter, Input, Output, forwardRef } from "@angular/core";
3
3
  import { NG_VALUE_ACCESSOR } from "@angular/forms";
4
4
  var SelectButtonComponent = /** @class */ (function () {
@@ -16,10 +16,20 @@ var SelectButtonComponent = /** @class */ (function () {
16
16
  return;
17
17
  this.activeItems.clear();
18
18
  if (Array.isArray(value)) {
19
- value.forEach(function (item) { return _this.activeItems.add(item); });
19
+ value.forEach(function (item) {
20
+ _this.items.forEach(function (iItem) {
21
+ if (_this._compareItems(item, iItem)) {
22
+ _this.activeItems.add(iItem);
23
+ }
24
+ });
25
+ });
20
26
  }
21
27
  else {
22
- this.activeItems.add(value);
28
+ this.items.forEach(function (iItem) {
29
+ if (_this._compareItems(value, iItem)) {
30
+ _this.activeItems.add(iItem);
31
+ }
32
+ });
23
33
  }
24
34
  };
25
35
  SelectButtonComponent.prototype.registerOnChange = function (onChange) {
@@ -44,6 +54,47 @@ var SelectButtonComponent = /** @class */ (function () {
44
54
  (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, __spread(this.activeItems));
45
55
  (_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, __spread(this.activeItems));
46
56
  };
57
+ SelectButtonComponent.prototype._compareItems = function (item1, item2) {
58
+ var _compare = function (a, b) {
59
+ var e_1, _a;
60
+ if (a === b) {
61
+ return true;
62
+ }
63
+ if (a === undefined || b === undefined || typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
64
+ return false;
65
+ }
66
+ if (Array.isArray(a) !== Array.isArray(b)) {
67
+ return false;
68
+ }
69
+ var keysA = Object.keys(a);
70
+ var keysB = Object.keys(b);
71
+ if (keysA.length !== keysB.length) {
72
+ return false;
73
+ }
74
+ try {
75
+ for (var keysA_1 = __values(keysA), keysA_1_1 = keysA_1.next(); !keysA_1_1.done; keysA_1_1 = keysA_1.next()) {
76
+ var key = keysA_1_1.value;
77
+ if (!keysB.includes(key) || !_compare(a[key], b[key])) {
78
+ return false;
79
+ }
80
+ }
81
+ }
82
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
83
+ finally {
84
+ try {
85
+ if (keysA_1_1 && !keysA_1_1.done && (_a = keysA_1.return)) _a.call(keysA_1);
86
+ }
87
+ finally { if (e_1) throw e_1.error; }
88
+ }
89
+ for (var key in a) {
90
+ if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {
91
+ return false;
92
+ }
93
+ }
94
+ return true;
95
+ };
96
+ return _compare(item1, item2);
97
+ };
47
98
  var SelectButtonComponent_1;
48
99
  __decorate([
49
100
  Input()
@@ -61,15 +112,17 @@ var SelectButtonComponent = /** @class */ (function () {
61
112
  Component({
62
113
  selector: "s-select-button",
63
114
  template: "<div\n class=\"select-button\"\n [ngClass]=\"{ 'select-button--disabled': disabled }\">\n <s-select-button-item\n *ngFor=\"let item of items; index as i\"\n [label]=\"item.label\"\n [active]=\"activeItems?.has(item)\"\n [disabled]=\"disabled || item.disabled\"\n [first]=\"i === 0\"\n [last]=\"i === items.length - 1\"\n (click)=\"onItemSelect(item)\">\n </s-select-button-item>\n</div>",
64
- providers: [{
115
+ providers: [
116
+ {
65
117
  provide: NG_VALUE_ACCESSOR,
66
118
  useExisting: forwardRef(function () { return SelectButtonComponent_1; }),
67
119
  multi: true,
68
- }],
120
+ },
121
+ ],
69
122
  styles: [".select-button{overflow:hidden}"]
70
123
  })
71
124
  ], SelectButtonComponent);
72
125
  return SelectButtonComponent;
73
126
  }());
74
127
  export { SelectButtonComponent };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFZekU7SUFBQTtRQUtXLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUd0RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRW5ELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztJQTBDckQsQ0FBQzs4QkF4RFkscUJBQXFCO0lBa0J2QiwwQ0FBVSxHQUFqQixVQUFrQixLQUE2QztRQUEvRCxpQkFVQztRQVRHLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBc0IsSUFBSyxPQUFBLEtBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUExQixDQUEwQixDQUFDLENBQUM7U0FDekU7YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVNLGdEQUFnQixHQUF2QixVQUF3QixRQUE2QztRQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0saURBQWlCLEdBQXhCLFVBQXlCLFNBQThDO1FBQ25FLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQy9CLENBQUM7SUFFTSxnREFBZ0IsR0FBdkIsVUFBd0IsUUFBaUI7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVNLDRDQUFZLEdBQW5CLFVBQW9CLElBQXNCOztRQUN0QyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTNDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDNUI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksVUFBSyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFOUMsTUFBQSxJQUFJLENBQUMsUUFBUSwrQ0FBYixJQUFJLFdBQWdCLElBQUksQ0FBQyxXQUFXLEdBQUc7UUFDdkMsTUFBQSxJQUFJLENBQUMsU0FBUywrQ0FBZCxJQUFJLFdBQWlCLElBQUksQ0FBQyxXQUFXLEdBQUc7SUFDNUMsQ0FBQzs7SUFyREQ7UUFEQyxLQUFLLEVBQUU7d0RBQ3lCO0lBR2pDO1FBREMsS0FBSyxFQUFFOzJEQUNnQjtJQUd4QjtRQURDLE1BQU0sRUFBRTsrREFDb0Q7SUFHN0Q7UUFEQyxNQUFNLEVBQUU7OERBQ2lEO0lBWGpELHFCQUFxQjtRQVZqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLDJjQUE2QztZQUU3QyxTQUFTLEVBQUUsQ0FBQztvQkFDUixPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSx1QkFBcUIsRUFBckIsQ0FBcUIsQ0FBQztvQkFDcEQsS0FBSyxFQUFFLElBQUk7aUJBQ2QsQ0FBQzs7U0FDTCxDQUFDO09BQ1cscUJBQXFCLENBd0RqQztJQUFELDRCQUFDO0NBQUEsQUF4REQsSUF3REM7U0F4RFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBTZWxlY3RCdXR0b25JdGVtIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1zZWxlY3QtYnV0dG9uXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnNjc3NcIl0sXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0QnV0dG9uQ29tcG9uZW50KSxcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtczogU2VsZWN0QnV0dG9uSXRlbVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJ1dHRvbkl0ZW1bXT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0QnV0dG9uSXRlbT4oKTtcblxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBhY3RpdmVJdGVtcyA9IG5ldyBTZXQ8U2VsZWN0QnV0dG9uSXRlbT4oKTtcbiAgICBwdWJsaWMgb25DaGFuZ2U6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkO1xuICAgIHB1YmxpYyBvblRvdWNoZWQ6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkO1xuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU/OiBTZWxlY3RCdXR0b25JdGVtIHwgU2VsZWN0QnV0dG9uSXRlbVtdKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmNsZWFyKCk7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChpdGVtOiBTZWxlY3RCdXR0b25JdGVtKSA9PiB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpdGVtKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtU2VsZWN0KGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgaXRlbS5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChpdGVtKTtcblxuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpdGVtKTtcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChbLi4udGhpcy5hY3RpdmVJdGVtc10pO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2U/LihbLi4udGhpcy5hY3RpdmVJdGVtc10pO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZD8uKFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG4gICAgfVxufVxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFnQnpFO0lBQUE7UUFLVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHdEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVuRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7SUEyRnJELENBQUM7OEJBekdZLHFCQUFxQjtJQWtCdkIsMENBQVUsR0FBakIsVUFBa0IsS0FBNkM7UUFBL0QsaUJBb0JDO1FBbkJHLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBc0I7Z0JBQ2pDLEtBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBdUI7b0JBQ3ZDLElBQUksS0FBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ2pDLEtBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMvQjtnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBdUI7Z0JBQ3ZDLElBQUksS0FBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQ2xDLEtBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMvQjtZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sZ0RBQWdCLEdBQXZCLFVBQXdCLFFBQTZDO1FBQ2pFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFTSxpREFBaUIsR0FBeEIsVUFBeUIsU0FBOEM7UUFDbkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVNLGdEQUFnQixHQUF2QixVQUF3QixRQUFpQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0sNENBQVksR0FBbkIsVUFBb0IsSUFBc0I7O1FBQ3RDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxVQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU5QyxNQUFBLElBQUksQ0FBQyxRQUFRLCtDQUFiLElBQUksV0FBZ0IsSUFBSSxDQUFDLFdBQVcsR0FBRztRQUN2QyxNQUFBLElBQUksQ0FBQyxTQUFTLCtDQUFkLElBQUksV0FBaUIsSUFBSSxDQUFDLFdBQVcsR0FBRztJQUM1QyxDQUFDO0lBRU8sNkNBQWEsR0FBckIsVUFBc0IsS0FBdUIsRUFBRSxLQUF1QjtRQUNsRSxJQUFNLFFBQVEsR0FBRyxVQUFDLENBQU0sRUFBRSxDQUFNOztZQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1QsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELElBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNsSCxPQUFPLEtBQUssQ0FBQzthQUNoQjtZQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN2QyxPQUFPLEtBQUssQ0FBQzthQUNoQjtZQUVELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUzQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDL0IsT0FBTyxLQUFLLENBQUM7YUFDaEI7O2dCQUVELEtBQWdCLElBQUEsVUFBQSxTQUFBLEtBQUssQ0FBQSw0QkFBQSwrQ0FBRTtvQkFBbEIsSUFBSSxHQUFHLGtCQUFBO29CQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTt3QkFDbkQsT0FBTyxLQUFLLENBQUM7cUJBQ2hCO2lCQUNKOzs7Ozs7Ozs7WUFFRCxLQUFLLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRTtnQkFDZixJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDakQsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO2FBQ0o7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7SUF0R0Q7UUFEQyxLQUFLLEVBQUU7d0RBQ3lCO0lBR2pDO1FBREMsS0FBSyxFQUFFOzJEQUNnQjtJQUd4QjtRQURDLE1BQU0sRUFBRTsrREFDb0Q7SUFHN0Q7UUFEQyxNQUFNLEVBQUU7OERBQ2lEO0lBWGpELHFCQUFxQjtRQVpqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLDJjQUE2QztZQUU3QyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7b0JBQ3BELEtBQUssRUFBRSxJQUFJO2lCQUNkO2FBQ0o7O1NBQ0osQ0FBQztPQUNXLHFCQUFxQixDQXlHakM7SUFBRCw0QkFBQztDQUFBLEFBekdELElBeUdDO1NBekdZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBTZWxlY3RCdXR0b25JdGVtIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtc2VsZWN0LWJ1dHRvblwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdEJ1dHRvbkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXM6IFNlbGVjdEJ1dHRvbkl0ZW1bXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpcGxlID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RCdXR0b25JdGVtW10+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG5cbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgYWN0aXZlSXRlbXMgPSBuZXcgU2V0PFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG4gICAgcHVibGljIG9uQ2hhbmdlOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25Ub3VjaGVkOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZDtcblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlPzogU2VsZWN0QnV0dG9uSXRlbSB8IFNlbGVjdEJ1dHRvbkl0ZW1bXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtcy5jbGVhcigpO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaUl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbXBhcmVJdGVtcyhpdGVtLCBpSXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGlJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGlJdGVtOiBTZWxlY3RCdXR0b25JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbXBhcmVJdGVtcyh2YWx1ZSwgaUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGlJdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkl0ZW1TZWxlY3QoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KGl0ZW0pO1xuXG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJdGVtcy5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGl0ZW0pO1xuICAgICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZT8uKFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkPy4oWy4uLnRoaXMuYWN0aXZlSXRlbXNdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb21wYXJlSXRlbXMoaXRlbTE6IFNlbGVjdEJ1dHRvbkl0ZW0sIGl0ZW0yOiBTZWxlY3RCdXR0b25JdGVtKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IF9jb21wYXJlID0gKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICBpZiAoYSA9PT0gYikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYSA9PT0gdW5kZWZpbmVkIHx8IGIgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgYSAhPT0gXCJvYmplY3RcIiB8fCBhID09PSBudWxsIHx8IHR5cGVvZiBiICE9PSBcIm9iamVjdFwiIHx8IGIgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGEpICE9PSBBcnJheS5pc0FycmF5KGIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgICAgICAgICAgIGxldCBrZXlzQiA9IE9iamVjdC5rZXlzKGIpO1xuXG4gICAgICAgICAgICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAobGV0IGtleSBvZiBrZXlzQSkge1xuICAgICAgICAgICAgICAgIGlmICgha2V5c0IuaW5jbHVkZXMoa2V5KSB8fCAhX2NvbXBhcmUoYVtrZXldLCBiW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBhKSB7XG4gICAgICAgICAgICAgICAgaWYgKGEuaGFzT3duUHJvcGVydHkoa2V5KSAhPT0gYi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBfY29tcGFyZShpdGVtMSwgaXRlbTIpO1xuICAgIH1cbn1cbiJdfQ==
@@ -14263,10 +14263,20 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
14263
14263
  return;
14264
14264
  this.activeItems.clear();
14265
14265
  if (Array.isArray(value)) {
14266
- value.forEach((item) => this.activeItems.add(item));
14266
+ value.forEach((item) => {
14267
+ this.items.forEach((iItem) => {
14268
+ if (this._compareItems(item, iItem)) {
14269
+ this.activeItems.add(iItem);
14270
+ }
14271
+ });
14272
+ });
14267
14273
  }
14268
14274
  else {
14269
- this.activeItems.add(value);
14275
+ this.items.forEach((iItem) => {
14276
+ if (this._compareItems(value, iItem)) {
14277
+ this.activeItems.add(iItem);
14278
+ }
14279
+ });
14270
14280
  }
14271
14281
  }
14272
14282
  registerOnChange(onChange) {
@@ -14291,6 +14301,36 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
14291
14301
  (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, [...this.activeItems]);
14292
14302
  (_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, [...this.activeItems]);
14293
14303
  }
14304
+ _compareItems(item1, item2) {
14305
+ const _compare = (a, b) => {
14306
+ if (a === b) {
14307
+ return true;
14308
+ }
14309
+ if (a === undefined || b === undefined || typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
14310
+ return false;
14311
+ }
14312
+ if (Array.isArray(a) !== Array.isArray(b)) {
14313
+ return false;
14314
+ }
14315
+ let keysA = Object.keys(a);
14316
+ let keysB = Object.keys(b);
14317
+ if (keysA.length !== keysB.length) {
14318
+ return false;
14319
+ }
14320
+ for (let key of keysA) {
14321
+ if (!keysB.includes(key) || !_compare(a[key], b[key])) {
14322
+ return false;
14323
+ }
14324
+ }
14325
+ for (let key in a) {
14326
+ if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {
14327
+ return false;
14328
+ }
14329
+ }
14330
+ return true;
14331
+ };
14332
+ return _compare(item1, item2);
14333
+ }
14294
14334
  };
14295
14335
  __decorate([
14296
14336
  Input()
@@ -14308,11 +14348,13 @@ SelectButtonComponent = SelectButtonComponent_1 = __decorate([
14308
14348
  Component({
14309
14349
  selector: "s-select-button",
14310
14350
  template: "<div\n class=\"select-button\"\n [ngClass]=\"{ 'select-button--disabled': disabled }\">\n <s-select-button-item\n *ngFor=\"let item of items; index as i\"\n [label]=\"item.label\"\n [active]=\"activeItems?.has(item)\"\n [disabled]=\"disabled || item.disabled\"\n [first]=\"i === 0\"\n [last]=\"i === items.length - 1\"\n (click)=\"onItemSelect(item)\">\n </s-select-button-item>\n</div>",
14311
- providers: [{
14351
+ providers: [
14352
+ {
14312
14353
  provide: NG_VALUE_ACCESSOR,
14313
14354
  useExisting: forwardRef(() => SelectButtonComponent_1),
14314
14355
  multi: true,
14315
- }],
14356
+ },
14357
+ ],
14316
14358
  styles: [".select-button{overflow:hidden}"]
14317
14359
  })
14318
14360
  ], SelectButtonComponent);