@ardium-ui/ui 2.0.6 → 2.1.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.
@@ -135,6 +135,8 @@ export class _SelectableListComponentBase extends _NgModelComponentBase {
135
135
  //! item selection handlers
136
136
  toggleItem(item) {
137
137
  if (item.selected()) {
138
+ if (this.singleselectable())
139
+ return;
138
140
  this.unselectItem(item);
139
141
  return;
140
142
  }
@@ -151,7 +153,8 @@ export class _SelectableListComponentBase extends _NgModelComponentBase {
151
153
  }
152
154
  unselectItem(...items) {
153
155
  const unselected = this.itemStorage.unselectItem(...items);
154
- this.removeEvent.emit(unselected);
156
+ if (unselected.length > 0)
157
+ this.removeEvent.emit(unselected);
155
158
  this._emitChange();
156
159
  }
157
160
  onMouseMove() {
@@ -277,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
277
280
  type: HostListener,
278
281
  args: ['keydown', ['$event']]
279
282
  }] } });
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL3NlbGVjdGFibGUtbGlzdC1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHckcsT0FBTyxFQUFFLGlCQUFpQixFQUF5QixNQUFNLHFDQUFxQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUc1RCxNQUFNLE9BQWdCLDRCQUNwQixTQUFRLHFCQUFxQjtJQWdCN0IsWUFBb0IsR0FBc0I7UUFDeEMsS0FBSyxFQUFFLENBQUM7UUFEVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWIxQyxvQkFBb0I7UUFDWCxnQkFBVyxHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU3QixhQUFRLEdBQUc7WUFDbEIsU0FBUyxFQUFFLE9BQU87WUFDbEIsU0FBUyxFQUFFLE9BQU87WUFDbEIsWUFBWSxFQUFFLFVBQVU7U0FDekIsQ0FBQztRQVNGLDBCQUEwQjtRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFtQixTQUFTLENBQUMsQ0FBQztRQUMvQyxjQUFTLEdBQUcsS0FBSyxDQUFtQixTQUFTLENBQUMsQ0FBQztRQUMvQyxpQkFBWSxHQUFHLEtBQUssQ0FBbUIsU0FBUyxDQUFDLENBQUM7UUFDbEQsZ0JBQVcsR0FBRyxL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U0FBUztzRkE4QkosS0FBSztzQkFEUixLQUFLO2dCQXNDRiw2QkFBNkI7c0JBRmhDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQzNCLFdBQVc7dUJBQUMsdUJBQXVCO2dCQWFoQywwQkFBMEI7c0JBRDdCLFdBQVc7dUJBQUMseUJBQXlCO2dCQXdCbEMscUJBQXFCO3NCQUR4QixXQUFXO3VCQUFDLG1CQUFtQjtnQkFtRDVCLEtBQUs7c0JBRFIsS0FBSztnQkF5Q04sV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVc7Z0JBdUJ6QixVQUFVO3NCQURULFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIGNvbXB1dGVkLFxyXG4gIGlucHV0LFxyXG4gIG91dHB1dCxcclxuICBzaWduYWxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNvZXJjZUFycmF5UHJvcGVydHksIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XHJcbmltcG9ydCB7IEFyZE9wdGlvblNpbXBsZSwgQ29tcGFyZVdpdGhGbiwgT3B0aW9uQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzL2l0ZW0tc3RvcmFnZS50eXBlcyc7XHJcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XHJcbmltcG9ydCB7IFNpbXBsZUl0ZW1TdG9yYWdlLCBTaW1wbGVJdGVtU3RvcmFnZUhvc3QgfSBmcm9tICcuL2l0ZW0tc3RvcmFnZXMvc2ltcGxlLWl0ZW0tc3RvcmFnZSc7XHJcbmltcG9ydCB7IF9OZ01vZGVsQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vbmdtb2RlbC1jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfU2VsZWN0YWJsZUxpc3RDb21wb25lbnRCYXNlXHJcbiAgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2VcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBTaW1wbGVJdGVtU3RvcmFnZUhvc3Rcclxue1xyXG4gIC8vISBwdWJsaWMgY29uc3RhbnRzXHJcbiAgcmVhZG9ubHkgaXRlbVN0b3JhZ2UgPSBuZXcgU2ltcGxlSXRlbVN0b3JhZ2UodGhpcyk7XHJcbiAgcmVhZG9ubHkgaHRtbElkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcclxuICByZWFkb25seSBlbGVtZW50ITogSFRNTEVsZW1lbnQ7XHJcbiAgcmVhZG9ubHkgREVGQVVMVFMgPSB7XHJcbiAgICB2YWx1ZUZyb206ICd2YWx1ZScsXHJcbiAgICBsYWJlbEZyb206ICdsYWJlbCcsXHJcbiAgICBkaXNhYmxlZEZyb206ICdkaXNhYmxlZCcsXHJcbiAgfTtcclxuXHJcbiAgYWJzdHJhY3QgcmVhZG9ubHkgX2NvbXBvbmVudElkOiBzdHJpbmc7XHJcbiAgYWJzdHJhY3QgcmVhZG9ubHkgX2NvbXBvbmVudE5hbWU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGJpbmRpbmctcmVsYXRlZCBpbnB1dHNcclxuICByZWFkb25seSB2YWx1ZUZyb20gPSBpbnB1dDxOdWxsYWJsZTxzdHJpbmc+Pih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxhYmVsRnJvbSA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgZGlzYWJsZWRGcm9tID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBjb21wYXJlV2l0aCA9IGlucHV0PE51bGxhYmxlPENvbXBhcmVXaXRoRm4+Pih1bmRlZmluZWQpO1xyXG5cclxuICAvLyEgaXRlbXMgc2V0dGVyL2dldHRlclxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGl0ZW1zKCk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1TdG9yYWdlLml0ZW1zKCk7XHJcbiAgfVxyXG4gIHNldCBpdGVtcyh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB2YWx1ZSA9IGNvZXJjZUFycmF5UHJvcGVydHkodmFsdWUpO1xyXG5cclxuICAgIGNvbnN0IHNob3VsZFByaW50RXJyb3JzID0gdGhpcy5pdGVtU3RvcmFnZS5zZXRJdGVtcyh2YWx1ZSk7XHJcblxyXG4gICAgaWYgKHNob3VsZFByaW50RXJyb3JzKSB7XHJcbiAgICAgIHRoaXMuX3ByaW50UHJpbWl0aXZlV2FybmluZ3MoKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJpbnRQcmltaXRpdmVXYXJuaW5ncygpIHtcclxuICAgIGNvbnN0IG1ha2VXYXJuaW5nID0gKHN0cjogc3RyaW5nKTogdm9pZCA9PiB7XHJcbiAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICBgQVJELVdBJHt0aGlzLl9jb21wb25lbnRJZH0gU2tpcHBlZCB1c2luZyBbJHtzdHJ9XSBwcm9wZXJ0eSBib3VuZCB0byA8YXJkLSR7dGhpcy5fY29tcG9uZW50TmFtZX0+LCBhcyBzb21lIHByb3ZpZGVkIGl0ZW1zIGFyZSBvZiBwcmltaXRpdmUgdHlwZWBcclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy52YWx1ZUZyb20oKSkge1xyXG4gICAgICBtYWtlV2FybmluZygndmFsdWVGcm9tJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5sYWJlbEZyb20oKSkge1xyXG4gICAgICBtYWtlV2FybmluZygnbGFiZWxGcm9tJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZEZyb20oKSkge1xyXG4gICAgICBtYWtlV2FybmluZygnZGlzYWJsZWRGcm9tJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pbnZlcnREaXNhYmxlZCgpKSB7XHJcbiAgICAgIG1ha2VXYXJuaW5nKCdpbnZlcnREaXNhYmxlZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8hIG11bHRpc2VsZWN0YWJsZVxyXG4gIHJlYWRvbmx5IG11bHRpc2VsZWN0YWJsZSA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLm11bHRpcGxlJylcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC1tdWx0aXNlbGVjdCcpXHJcbiAgZ2V0IF9tdWx0aXNlbGVjdGFibGVIb3N0QXR0cmlidXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXVsdGlzZWxlY3RhYmxlKCk7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSBzaW5nbGVzZWxlY3RhYmxlID0gY29tcHV0ZWQoKCkgPT4gIXRoaXMubXVsdGlzZWxlY3RhYmxlKCkpO1xyXG5cclxuICAvLyEgcmVxdWlyZSB2YWx1ZVxyXG4gIHJlYWRvbmx5IHJlcXVpcmVWYWx1ZSA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgaXNWYWx1ZVJlcXVpcmVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZXF1aXJlVmFsdWUoKSB8fCAhdGhpcy5tdWx0aXNlbGVjdGFibGUoKSk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXJkLXJlcXVpcmUtdmFsdWUnKVxyXG4gIGdldCBfcmVxdWlyZVZhbHVlSG9zdEF0dHJpYnV0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlcXVpcmVWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGNvZXJjZWQgcHJvcGVydGllc1xyXG4gIHJlYWRvbmx5IGludmVydERpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG4gIHJlYWRvbmx5IG1heFNlbGVjdGVkSXRlbXMgPSBpbnB1dDxOdWxsYWJsZTxudW1iZXI+LCBhbnk+KHVuZGVmaW5lZCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgdW5kZWZpbmVkKSB9KTtcclxuXHJcbiAgLy8hIGNvbnRyb2wgdmFsdWUgYWNjZXNzb3JcclxuICAvL292ZXJyaWRlIHRoZSB3cml0ZVZhbHVlIGFuZCBzZXREaXNhYmxlZFN0YXRlIGRlZmluZWQgaW4gX05nTW9kZWxDb21wb25lbnRcclxuICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkLnNldChzdGF0ZSk7XHJcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShuZ01vZGVsOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5pdGVtU3RvcmFnZS53cml0ZVZhbHVlKG5nTW9kZWwpO1xyXG4gICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICAvLyEgY2hhbmdlICYgdG91Y2ggZXZlbnQgZW1pdHRlcnNcclxuICByZWFkb25seSB0b3VjaGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hcmQtdG91Y2hlZCcpXHJcbiAgZ2V0IF90b3VjaGVkSG9zdEF0dHJpYnV0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfZW1pdENoYW5nZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pdGVtU3RvcmFnZS52YWx1ZSgpO1xyXG4gICAgdGhpcy5fb25DaGFuZ2VSZWdpc3RlcmVkPy4odmFsdWUpO1xyXG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHZhbHVlKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBfb25Ub3VjaGVkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudG91Y2hlZCgpKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fb25Ub3VjaGVkUmVnaXN0ZXJlZD8uKCk7XHJcbiAgICB0aGlzLnRvdWNoZWQuc2V0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGZvY3VzICYgYmx1ciBoYW5kbGVyc1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFzdEJsdXJUaW1lc3RhbXAgPSBzaWduYWw8TnVsbGFibGU8bnVtYmVyPj4odW5kZWZpbmVkKTtcclxuICBvdmVycmlkZSBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkZvY3VzKGV2ZW50KTtcclxuXHJcbiAgICBjb25zdCBsYnQgPSB0aGlzLmxhc3RCbHVyVGltZXN0YW1wKCk7XHJcbiAgICBpZiAodGhpcy50b3VjaGVkKCkgfHwgIWxidCB8fCBsYnQgKyAxIDwgRGF0ZS5ub3coKSkgcmV0dXJuO1xyXG4gICAgdGhpcy5sYXN0Qmx1clRpbWVzdGFtcC5zZXQobnVsbCk7XHJcblxyXG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25CbHVyKGV2ZW50KTtcclxuXHJcbiAgICBpZiAoIXRoaXMudG91Y2hlZCgpKSB0aGlzLmxhc3RCbHVyVGltZXN0YW1wLnNldChEYXRlLm5vdygpKTtcclxuICB9XHJcblxyXG4gIC8vISBnZXR0ZXJzXHJcbiAgcmVhZG9ubHkgaGlnaGxpZ2h0ZWRJdGVtcyA9IGNvbXB1dGVkPEFyZE9wdGlvblNpbXBsZVtdPigoKSA9PiB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodGVkSXRlbXMoKSk7XHJcbiAgcmVhZG9ubHkgZmlyc3RIaWdobGlnaHRlZEl0ZW0gPSBjb21wdXRlZDxOdWxsYWJsZTxBcmRPcHRpb25TaW1wbGU+PigoKSA9PiB0aGlzLmhpZ2hsaWdodGVkSXRlbXMoKT8uZmlyc3QoKSk7XHJcbiAgcmVhZG9ubHkgaXNJdGVtTGltaXRSZWFjaGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pdGVtU3RvcmFnZS5pc0l0ZW1MaW1pdFJlYWNoZWQoKSk7XHJcblxyXG4gIC8vISBjb250ZXh0IHByb3ZpZGVyc1xyXG4gIGdldE9wdGlvbkNvbnRleHQoaXRlbTogQXJkT3B0aW9uU2ltcGxlKTogT3B0aW9uQ29udGV4dDxBcmRPcHRpb25TaW1wbGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICRpbXBsaWNpdDogaXRlbSxcclxuICAgICAgaXRlbSxcclxuICAgICAgaXRlbURhdGE6IGl0ZW0uaXRlbURhdGEoKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvLyEgdmFsdWUgaW5wdXQgJiBvdXRwdXRcclxuICBASW5wdXQoKVxyXG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobmV3VmFsdWUpKSBuZXdWYWx1ZSA9IGNvZXJjZUFycmF5UHJvcGVydHkobmV3VmFsdWUpO1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKG5ld1ZhbHVlKTtcclxuICB9XHJcbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8YW55W10+KCk7XHJcblxyXG4gIC8vISBvdXRwdXQgZXZlbnRzXHJcbiAgcmVhZG9ubHkgY2hhbmdlRXZlbnQgPSBvdXRwdXQ8YW55W10+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xyXG4gIHJlYWRvbmx5IGFkZEV2ZW50ID0gb3V0cHV0PGFueVtdPih7IGFsaWFzOiAnYWRkJyB9KTtcclxuICByZWFkb25seSByZW1vdmVFdmVudCA9IG91dHB1dDxhbnlbXT4oeyBhbGlhczogJ3JlbW92ZScgfSk7XHJcblxyXG4gIC8vISBpdGVtIHNlbGVjdGlvbiBoYW5kbGVyc1xyXG4gIHRvZ2dsZUl0ZW0oaXRlbTogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XHJcbiAgICBpZiAoaXRlbS5zZWxlY3RlZCgpKSB7XHJcbiAgICAgIHRoaXMudW5zZWxlY3RJdGVtKGl0ZW0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdEl0ZW0oaXRlbSk7XHJcbiAgfVxyXG4gIHNlbGVjdEl0ZW0oLi4uaXRlbXM6IEFyZE9wdGlvblNpbXBsZVtdKTogdm9pZCB7XHJcbiAgICBjb25zdCBbc2VsZWN0ZWQsIHVuc2VsZWN0ZWRdID0gdGhpcy5pdGVtU3RvcmFnZS5zZWxlY3RJdGVtKC4uLml0ZW1zKTtcclxuXHJcbiAgICBpZiAodW5zZWxlY3RlZC5sZW5ndGggPiAwKSB0aGlzLnJlbW92ZUV2ZW50LmVtaXQodW5zZWxlY3RlZCk7XHJcblxyXG4gICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hZGRFdmVudC5lbWl0KHNlbGVjdGVkKTtcclxuICAgICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICB1bnNlbGVjdEl0ZW0oLi4uaXRlbXM6IEFyZE9wdGlvblNpbXBsZVtdKTogdm9pZCB7XHJcbiAgICBjb25zdCB1bnNlbGVjdGVkID0gdGhpcy5pdGVtU3RvcmFnZS51bnNlbGVjdEl0ZW0oLi4uaXRlbXMpO1xyXG5cclxuICAgIHRoaXMucmVtb3ZlRXZlbnQuZW1pdCh1bnNlbGVjdGVkKTtcclxuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIC8vISBoaWdobGlnaC1yZWxhdGVkXHJcblxyXG4gIHJlYWRvbmx5IGlzTW91c2VCZWluZ1VzZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScpXHJcbiAgb25Nb3VzZU1vdmUoKSB7XHJcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KHRydWUpO1xyXG4gIH1cclxuICBvbkl0ZW1Nb3VzZUVudGVyKG9wdGlvbjogQXJkT3B0aW9uU2ltcGxlLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzTW91c2VCZWluZ1VzZWQpIHJldHVybjtcclxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0U2luZ2xlSXRlbShvcHRpb24pO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIG9uSXRlbU1vdXNlTGVhdmUob3B0aW9uOiBBcmRPcHRpb25TaW1wbGUsIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNNb3VzZUJlaW5nVXNlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5pdGVtU3RvcmFnZS51bmhpZ2hsaWdodEl0ZW0ob3B0aW9uKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGNsaWNrIGhhbmRsZXJzXHJcbiAgb25JdGVtQ2xpY2sob3B0aW9uOiBBcmRPcHRpb25TaW1wbGUsIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMudG9nZ2xlSXRlbShvcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgLy8hIGtleSBwcmVzcyBoYW5kbGVyc1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xyXG4gICAgICBjYXNlICdTcGFjZSc6XHJcbiAgICAgIGNhc2UgJ0VudGVyJzoge1xyXG4gICAgICAgIHRoaXMuX3RvZ2dsZUhpZ2hsaWdodGVkSXRlbXMoZXZlbnQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdBcnJvd1JpZ2h0Jzoge1xyXG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodE5leHQoZXZlbnQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdBcnJvd0xlZnQnOiB7XHJcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0UHJldmlvdXMoZXZlbnQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdIb21lJzoge1xyXG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodEZpcnN0KGV2ZW50KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSAnRW5kJzoge1xyXG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodExhc3QoZXZlbnQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdLZXlBJzoge1xyXG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XHJcbiAgICAgICAgICB0aGlzLl9oaWdobGlnaHRBbGwoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfdG9nZ2xlSGlnaGxpZ2h0ZWRJdGVtcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCkgcmV0dXJuO1xyXG5cclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRJdGVtcyA9IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtcygpO1xyXG5cclxuICAgIGlmIChoaWdobGlnaHRlZEl0ZW1zLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCkpIHtcclxuICAgICAgdGhpcy51bnNlbGVjdEl0ZW0oLi4uaGlnaGxpZ2h0ZWRJdGVtcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdEl0ZW0oLi4uaGlnaGxpZ2h0ZWRJdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodFByZXZpb3VzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XHJcblxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0TmV4dEl0ZW0oLTEsIGV2ZW50LnNoaWZ0S2V5KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0TmV4dChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCkgcmV0dXJuO1xyXG5cclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KGZhbHNlKTtcclxuXHJcbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodE5leHRJdGVtKCsxLCBldmVudC5zaGlmdEtleSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodEZpcnN0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XHJcblxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0Rmlyc3RJdGVtKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodExhc3QoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc0ZvY3VzZWQpIHJldHVybjtcclxuXHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5pc01vdXNlQmVpbmdVc2VkLnNldChmYWxzZSk7XHJcblxyXG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHRMYXN0SXRlbSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9oaWdobGlnaHRBbGwoKTogdm9pZCB7XHJcbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodEFsbEl0ZW1zKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL3NlbGVjdGFibGUtbGlzdC1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBeUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHNUQsTUFBTSxPQUFnQiw0QkFDcEIsU0FBUSxxQkFBcUI7SUFnQjdCLFlBQW9CLEdBQXNCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBRFUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFiMUMsb0JBQW9CO1FBQ1gsZ0JBQVcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFN0IsYUFBUSxHQUFHO1lBQ2xCLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLFlBQVksRUFBRSxVQUFVO1NBQ3pCLENBQUM7UUFTRiwwQkFBMEI7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBbUIsU0FBUyxDQUFDLENBQUM7UUFDL0MsY0FBUyxHQUFHLEtBQUssQ0FBbUIsU0FBUyxDQUFDLENBQUM7UUFDL0MsaUJBQVksR0FBRyxLQUFLLENBQW1CLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELGdCQUFXLEdBQUcs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LGlCQUFpQixFQUFFLENBQUM7SUFDdkMsQ0FBQzs4R0F0U21CLDRCQUE0QjtrR0FBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQURqRCxTQUFTO3NGQThCSixLQUFLO3NCQURSLEtBQUs7Z0JBc0NGLDZCQUE2QjtzQkFGaEMsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBYWhDLDBCQUEwQjtzQkFEN0IsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBd0JsQyxxQkFBcUI7c0JBRHhCLFdBQVc7dUJBQUMsbUJBQW1CO2dCQW1ENUIsS0FBSztzQkFEUixLQUFLO2dCQTRDTixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVztnQkF1QnpCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgY29tcHV0ZWQsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQXJyYXlQcm9wZXJ0eSwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgQXJkT3B0aW9uU2ltcGxlLCBDb21wYXJlV2l0aEZuLCBPcHRpb25Db250ZXh0IH0gZnJvbSAnLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcclxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi90eXBlcy91dGlsaXR5LnR5cGVzJztcclxuaW1wb3J0IHsgU2ltcGxlSXRlbVN0b3JhZ2UsIFNpbXBsZUl0ZW1TdG9yYWdlSG9zdCB9IGZyb20gJy4vaXRlbS1zdG9yYWdlcy9zaW1wbGUtaXRlbS1zdG9yYWdlJztcclxuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlIH0gZnJvbSAnLi9uZ21vZGVsLWNvbXBvbmVudCc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9TZWxlY3RhYmxlTGlzdENvbXBvbmVudEJhc2VcclxuICBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50QmFzZVxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFNpbXBsZUl0ZW1TdG9yYWdlSG9zdFxyXG57XHJcbiAgLy8hIHB1YmxpYyBjb25zdGFudHNcclxuICByZWFkb25seSBpdGVtU3RvcmFnZSA9IG5ldyBTaW1wbGVJdGVtU3RvcmFnZSh0aGlzKTtcclxuICByZWFkb25seSBodG1sSWQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xyXG4gIHJlYWRvbmx5IGVsZW1lbnQhOiBIVE1MRWxlbWVudDtcclxuICByZWFkb25seSBERUZBVUxUUyA9IHtcclxuICAgIHZhbHVlRnJvbTogJ3ZhbHVlJyxcclxuICAgIGxhYmVsRnJvbTogJ2xhYmVsJyxcclxuICAgIGRpc2FibGVkRnJvbTogJ2Rpc2FibGVkJyxcclxuICB9O1xyXG5cclxuICBhYnN0cmFjdCByZWFkb25seSBfY29tcG9uZW50SWQ6IHN0cmluZztcclxuICBhYnN0cmFjdCByZWFkb25seSBfY29tcG9uZW50TmFtZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICAvLyEgYmluZGluZy1yZWxhdGVkIGlucHV0c1xyXG4gIHJlYWRvbmx5IHZhbHVlRnJvbSA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGFiZWxGcm9tID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkaXNhYmxlZEZyb20gPSBpbnB1dDxOdWxsYWJsZTxzdHJpbmc+Pih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGNvbXBhcmVXaXRoID0gaW5wdXQ8TnVsbGFibGU8Q29tcGFyZVdpdGhGbj4+KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8vISBpdGVtcyBzZXR0ZXIvZ2V0dGVyXHJcbiAgQElucHV0KClcclxuICBnZXQgaXRlbXMoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbVN0b3JhZ2UuaXRlbXMoKTtcclxuICB9XHJcbiAgc2V0IGl0ZW1zKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHZhbHVlID0gY29lcmNlQXJyYXlQcm9wZXJ0eSh2YWx1ZSk7XHJcblxyXG4gICAgY29uc3Qgc2hvdWxkUHJpbnRFcnJvcnMgPSB0aGlzLml0ZW1TdG9yYWdlLnNldEl0ZW1zKHZhbHVlKTtcclxuXHJcbiAgICBpZiAoc2hvdWxkUHJpbnRFcnJvcnMpIHtcclxuICAgICAgdGhpcy5fcHJpbnRQcmltaXRpdmVXYXJuaW5ncygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9wcmludFByaW1pdGl2ZVdhcm5pbmdzKCkge1xyXG4gICAgY29uc3QgbWFrZVdhcm5pbmcgPSAoc3RyOiBzdHJpbmcpOiB2b2lkID0+IHtcclxuICAgICAgY29uc29sZS53YXJuKFxyXG4gICAgICAgIGBBUkQtV0Eke3RoaXMuX2NvbXBvbmVudElkfSBTa2lwcGVkIHVzaW5nIFske3N0cn1dIHByb3BlcnR5IGJvdW5kIHRvIDxhcmQtJHt0aGlzLl9jb21wb25lbnROYW1lfT4sIGFzIHNvbWUgcHJvdmlkZWQgaXRlbXMgYXJlIG9mIHByaW1pdGl2ZSB0eXBlYFxyXG4gICAgICApO1xyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnZhbHVlRnJvbSgpKSB7XHJcbiAgICAgIG1ha2VXYXJuaW5nKCd2YWx1ZUZyb20nKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmxhYmVsRnJvbSgpKSB7XHJcbiAgICAgIG1ha2VXYXJuaW5nKCdsYWJlbEZyb20nKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRpc2FibGVkRnJvbSgpKSB7XHJcbiAgICAgIG1ha2VXYXJuaW5nKCdkaXNhYmxlZEZyb20nKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmludmVydERpc2FibGVkKCkpIHtcclxuICAgICAgbWFrZVdhcm5pbmcoJ2ludmVydERpc2FibGVkJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyEgbXVsdGlzZWxlY3RhYmxlXHJcbiAgcmVhZG9ubHkgbXVsdGlzZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIubXVsdGlwbGUnKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXJkLW11bHRpc2VsZWN0JylcclxuICBnZXQgX211bHRpc2VsZWN0YWJsZUhvc3RBdHRyaWJ1dGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tdWx0aXNlbGVjdGFibGUoKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHNpbmdsZXNlbGVjdGFibGUgPSBjb21wdXRlZCgoKSA9PiAhdGhpcy5tdWx0aXNlbGVjdGFibGUoKSk7XHJcblxyXG4gIC8vISByZXF1aXJlIHZhbHVlXHJcbiAgcmVhZG9ubHkgcmVxdWlyZVZhbHVlID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBpc1ZhbHVlUmVxdWlyZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlcXVpcmVWYWx1ZSgpIHx8ICF0aGlzLm11bHRpc2VsZWN0YWJsZSgpKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hcmQtcmVxdWlyZS12YWx1ZScpXHJcbiAgZ2V0IF9yZXF1aXJlVmFsdWVIb3N0QXR0cmlidXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZVZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvLyEgY29lcmNlZCBwcm9wZXJ0aWVzXHJcbiAgcmVhZG9ubHkgaW52ZXJ0RGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XHJcbiAgcmVhZG9ubHkgbWF4U2VsZWN0ZWRJdGVtcyA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIGFueT4odW5kZWZpbmVkLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB1bmRlZmluZWQpIH0pO1xyXG5cclxuICAvLyEgY29udHJvbCB2YWx1ZSBhY2Nlc3NvclxyXG4gIC8vb3ZlcnJpZGUgdGhlIHdyaXRlVmFsdWUgYW5kIHNldERpc2FibGVkU3RhdGUgZGVmaW5lZCBpbiBfTmdNb2RlbENvbXBvbmVudFxyXG4gIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQuc2V0KHN0YXRlKTtcclxuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG5nTW9kZWw6IGFueVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLml0ZW1TdG9yYWdlLndyaXRlVmFsdWUobmdNb2RlbCk7XHJcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIC8vISBjaGFuZ2UgJiB0b3VjaCBldmVudCBlbWl0dGVyc1xyXG4gIHJlYWRvbmx5IHRvdWNoZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC10b3VjaGVkJylcclxuICBnZXQgX3RvdWNoZWRIb3N0QXR0cmlidXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLml0ZW1TdG9yYWdlLnZhbHVlKCk7XHJcbiAgICB0aGlzLl9vbkNoYW5nZVJlZ2lzdGVyZWQ/Lih2YWx1ZSk7XHJcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmVtaXQodmFsdWUpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIF9vblRvdWNoZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50b3VjaGVkKCkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9vblRvdWNoZWRSZWdpc3RlcmVkPy4oKTtcclxuICAgIHRoaXMudG91Y2hlZC5zZXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyEgZm9jdXMgJiBibHVyIGhhbmRsZXJzXHJcbiAgcHJpdmF0ZSByZWFkb25seSBsYXN0Qmx1clRpbWVzdGFtcCA9IHNpZ25hbDxOdWxsYWJsZTxudW1iZXI+Pih1bmRlZmluZWQpO1xyXG4gIG92ZXJyaWRlIG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uRm9jdXMoZXZlbnQpO1xyXG5cclxuICAgIGNvbnN0IGxidCA9IHRoaXMubGFzdEJsdXJUaW1lc3RhbXAoKTtcclxuICAgIGlmICh0aGlzLnRvdWNoZWQoKSB8fCAhbGJ0IHx8IGxidCArIDEgPCBEYXRlLm5vdygpKSByZXR1cm47XHJcbiAgICB0aGlzLmxhc3RCbHVyVGltZXN0YW1wLnNldChudWxsKTtcclxuXHJcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkJsdXIoZXZlbnQpO1xyXG5cclxuICAgIGlmICghdGhpcy50b3VjaGVkKCkpIHRoaXMubGFzdEJsdXJUaW1lc3RhbXAuc2V0KERhdGUubm93KCkpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGdldHRlcnNcclxuICByZWFkb25seSBoaWdobGlnaHRlZEl0ZW1zID0gY29tcHV0ZWQ8QXJkT3B0aW9uU2ltcGxlW10+KCgpID0+IHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0ZWRJdGVtcygpKTtcclxuICByZWFkb25seSBmaXJzdEhpZ2hsaWdodGVkSXRlbSA9IGNvbXB1dGVkPE51bGxhYmxlPEFyZE9wdGlvblNpbXBsZT4+KCgpID0+IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtcygpPy5maXJzdCgpKTtcclxuICByZWFkb25seSBpc0l0ZW1MaW1pdFJlYWNoZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLml0ZW1TdG9yYWdlLmlzSXRlbUxpbWl0UmVhY2hlZCgpKTtcclxuXHJcbiAgLy8hIGNvbnRleHQgcHJvdmlkZXJzXHJcbiAgZ2V0T3B0aW9uQ29udGV4dChpdGVtOiBBcmRPcHRpb25TaW1wbGUpOiBPcHRpb25Db250ZXh0PEFyZE9wdGlvblNpbXBsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJGltcGxpY2l0OiBpdGVtLFxyXG4gICAgICBpdGVtLFxyXG4gICAgICBpdGVtRGF0YTogaXRlbS5pdGVtRGF0YSgpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8vISB2YWx1ZSBpbnB1dCAmIG91dHB1dFxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheShuZXdWYWx1ZSkpIG5ld1ZhbHVlID0gY29lcmNlQXJyYXlQcm9wZXJ0eShuZXdWYWx1ZSk7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUobmV3VmFsdWUpO1xyXG4gIH1cclxuICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG91dHB1dDxhbnlbXT4oKTtcclxuXHJcbiAgLy8hIG91dHB1dCBldmVudHNcclxuICByZWFkb25seSBjaGFuZ2VFdmVudCA9IG91dHB1dDxhbnlbXT4oeyBhbGlhczogJ2NoYW5nZScgfSk7XHJcbiAgcmVhZG9ubHkgYWRkRXZlbnQgPSBvdXRwdXQ8YW55W10+KHsgYWxpYXM6ICdhZGQnIH0pO1xyXG4gIHJlYWRvbmx5IHJlbW92ZUV2ZW50ID0gb3V0cHV0PGFueVtdPih7IGFsaWFzOiAncmVtb3ZlJyB9KTtcclxuXHJcbiAgLy8hIGl0ZW0gc2VsZWN0aW9uIGhhbmRsZXJzXHJcbiAgdG9nZ2xlSXRlbShpdGVtOiBBcmRPcHRpb25TaW1wbGUpOiB2b2lkIHtcclxuICAgIGlmIChpdGVtLnNlbGVjdGVkKCkpIHtcclxuICAgICAgaWYgKHRoaXMuc2luZ2xlc2VsZWN0YWJsZSgpKSByZXR1cm47XHJcblxyXG4gICAgICB0aGlzLnVuc2VsZWN0SXRlbShpdGVtKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RJdGVtKGl0ZW0pO1xyXG4gIH1cclxuICBzZWxlY3RJdGVtKC4uLml0ZW1zOiBBcmRPcHRpb25TaW1wbGVbXSk6IHZvaWQge1xyXG4gICAgY29uc3QgW3NlbGVjdGVkLCB1bnNlbGVjdGVkXSA9IHRoaXMuaXRlbVN0b3JhZ2Uuc2VsZWN0SXRlbSguLi5pdGVtcyk7XHJcblxyXG4gICAgaWYgKHVuc2VsZWN0ZWQubGVuZ3RoID4gMCkgdGhpcy5yZW1vdmVFdmVudC5lbWl0KHVuc2VsZWN0ZWQpO1xyXG5cclxuICAgIGlmIChzZWxlY3RlZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuYWRkRXZlbnQuZW1pdChzZWxlY3RlZCk7XHJcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcbiAgdW5zZWxlY3RJdGVtKC4uLml0ZW1zOiBBcmRPcHRpb25TaW1wbGVbXSk6IHZvaWQge1xyXG4gICAgY29uc3QgdW5zZWxlY3RlZCA9IHRoaXMuaXRlbVN0b3JhZ2UudW5zZWxlY3RJdGVtKC4uLml0ZW1zKTtcclxuXHJcbiAgICBpZiAodW5zZWxlY3RlZC5sZW5ndGggPiAwKSB0aGlzLnJlbW92ZUV2ZW50LmVtaXQodW5zZWxlY3RlZCk7XHJcbiAgICBcclxuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIC8vISBoaWdobGlnaC1yZWxhdGVkXHJcblxyXG4gIHJlYWRvbmx5IGlzTW91c2VCZWluZ1VzZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScpXHJcbiAgb25Nb3VzZU1vdmUoKSB7XHJcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KHRydWUpO1xyXG4gIH1cclxuICBvbkl0ZW1Nb3VzZUVudGVyKG9wdGlvbjogQXJkT3B0aW9uU2ltcGxlLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzTW91c2VCZWluZ1VzZWQpIHJldHVybjtcclxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0U2luZ2xlSXRlbShvcHRpb24pO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIG9uSXRlbU1vdXNlTGVhdmUob3B0aW9uOiBBcmRPcHRpb25TaW1wbGUsIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNNb3VzZUJlaW5nVXNlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5pdGVtU3RvcmFnZS51bmhpZ2hsaWdodEl0ZW0ob3B0aW9uKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGNsaWNrIGhhbmRsZXJzXHJcbiAgb25JdGVtQ2xpY2sob3B0aW9uOiBBcmRPcHRpb25TaW1wbGUsIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMudG9nZ2xlSXRlbShvcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgLy8hIGtleSBwcmVzcyBoYW5kbGVyc1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xyXG4gICAgICBjYXNlICdTcGFjZSc6XHJcbiAgICAgIGNhc2UgJ0VudGVyJzoge1xyXG4gICAgICAgIHRoaXMuX3RvZ2dsZUhpZ2hsaWdodGVkSXRlbXMoZXZlbnQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdBcnJvd1JpZ2h0Jzoge1xyXG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodE5leHQoZXZlbnQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdBcnJvd0xlZnQnOiB7XHJcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0UHJldmlvdXMoZXZlbnQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdIb21lJzoge1xyXG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodEZpcnN0KGV2ZW50KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSAnRW5kJzoge1xyXG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodExhc3QoZXZlbnQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdLZXlBJzoge1xyXG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XHJcbiAgICAgICAgICB0aGlzLl9oaWdobGlnaHRBbGwoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfdG9nZ2xlSGlnaGxpZ2h0ZWRJdGVtcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCkgcmV0dXJuO1xyXG5cclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRJdGVtcyA9IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtcygpO1xyXG5cclxuICAgIGlmIChoaWdobGlnaHRlZEl0ZW1zLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCkpIHtcclxuICAgICAgdGhpcy51bnNlbGVjdEl0ZW0oLi4uaGlnaGxpZ2h0ZWRJdGVtcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdEl0ZW0oLi4uaGlnaGxpZ2h0ZWRJdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodFByZXZpb3VzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XHJcblxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0TmV4dEl0ZW0oLTEsIGV2ZW50LnNoaWZ0S2V5KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0TmV4dChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCkgcmV0dXJuO1xyXG5cclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KGZhbHNlKTtcclxuXHJcbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodE5leHRJdGVtKCsxLCBldmVudC5zaGlmdEtleSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodEZpcnN0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XHJcblxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0Rmlyc3RJdGVtKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodExhc3QoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc0ZvY3VzZWQpIHJldHVybjtcclxuXHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5pc01vdXNlQmVpbmdVc2VkLnNldChmYWxzZSk7XHJcblxyXG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHRMYXN0SXRlbSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9oaWdobGlnaHRBbGwoKTogdm9pZCB7XHJcbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodEFsbEl0ZW1zKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -26,6 +26,7 @@ export class ArdiumSegmentComponent extends _SelectableListComponentBase {
26
26
  `ard-align-${this.align()}`,
27
27
  this.iconBased() ? 'ard-icon-based' : '',
28
28
  this.compact() ? 'ard-compact' : '',
29
+ this.itemRows().length > 1 ? 'ard-multirow' : 'ard-singlerow',
29
30
  ].join(' '));
30
31
  //! coerced properties
31
32
  this.autoFocus = input(false, { transform: v => coerceBooleanProperty(v) });
@@ -98,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
98
99
  type: Component,
99
100
  args: [{ selector: 'ard-segment', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n #focusableElement\r\n class=\"ard-segment-container\"\r\n [class.ard-disabled]=\"disabled()\"\r\n [ariaDisabled]=\"disabled()\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-focus-visible]=\"isFocused && !isMouseBeingUsed\"\r\n [class.ard-using-keyboard]=\"!isMouseBeingUsed\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n>\r\n @for (row of itemRows(); track $index) {\r\n <div\r\n class=\"ard-segment-row\"\r\n [class.ard-segment-row-partial]=\"row.isNotFull\"\r\n [class.ard-segment-row-uniform]=\"uniformWidths() || itemsPerRow() < items.length\"\r\n [style]=\"{ '--ard-_segment-row-items': itemsInActualRow }\"\r\n >\r\n @for (option of row.options; track $index) {\r\n <button\r\n type=\"button\"\r\n class=\"ard-segment-option\"\r\n tabindex=\"-1\"\r\n [class.ard-option-disabled]=\"option.disabled() || (isItemLimitReached() && !option.selected())\"\r\n [class.ard-option-selected]=\"option.selected()\"\r\n [class.ard-option-highlighted]=\"option.highlighted()\"\r\n [ariaSelected]=\"option.selected()\"\r\n (mouseenter)=\"onItemMouseEnter(option, $event)\"\r\n (mouseleave)=\"onItemMouseLeave(option, $event)\"\r\n (click)=\"onItemClick(option, $event)\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-button-content\">\r\n <span class=\"ard-option-label\">\r\n <ng-template #defaultOptionTemplate>\r\n {{ option.label() }}\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"optionTemplate()?.template || defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"getOptionContext(option)\"\r\n />\r\n </span>\r\n </div>\r\n </button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".ard-segment-container{display:flex;flex-direction:column}.ard-segment-container.ard-align-left .ard-segment-option{justify-content:left}.ard-segment-container.ard-align-middle .ard-segment-option{justify-content:center}.ard-segment-container.ard-align-right .ard-segment-option{justify-content:right}.ard-segment-row{width:100%;display:flex;align-items:center}.ard-segment-row.ard-segment-row-uniform{display:grid;grid-template-columns:repeat(var(--ard-_segment-row-items),1fr)}.ard-segment-option{-webkit-user-select:none;user-select:none}.ard-option-disabled{pointer-events:none}\n"] }]
100
101
  }] });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlZ21lbnQvc2VnbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlZ21lbnQvc2VnbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFlBQVksRUFDWixLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBY3BFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSw0QkFBNEI7SUFQeEU7O1FBUW9CLGlCQUFZLEdBQVcsS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQVcsU0FBUyxDQUFDO1FBRXJELGNBQWM7UUFDTCxlQUFVLEdBQUcsS0FBSyxDQUFvQixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRSxZQUFPLEdBQUcsS0FBSyxDQUFpQixjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRSxVQUFLLEdBQUcsS0FBSyxDQUFpQixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsVUFBSyxHQUFHLEtB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QUFjLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzhHQWxHVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixnd0NBbURNLGlDQUFpQyx1RkNqRjFFLDgwREFrREE7OzJGRHBCYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBjb21wdXRlZCxcclxuICBjb250ZW50Q2hpbGQsXHJcbiAgaW5wdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgX1NlbGVjdGFibGVMaXN0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL19pbnRlcm5hbC9zZWxlY3RhYmxlLWxpc3QtY29tcG9uZW50JztcclxuaW1wb3J0IHsgT25lQXhpc0FsaWdubWVudCB9IGZyb20gJy4uL3R5cGVzL2FsaWdubWVudC50eXBlcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcclxuaW1wb3J0IHsgQXJkT3B0aW9uU2ltcGxlIH0gZnJvbSAnLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcclxuaW1wb3J0IHsgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0IH0gZnJvbSAnLi8uLi9faW50ZXJuYWwvaXRlbS1zdG9yYWdlcy9zaW1wbGUtaXRlbS1zdG9yYWdlJztcclxuaW1wb3J0IHsgQXJkU2VnbWVudE9wdGlvblRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWdtZW50LmRpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBTZWdtZW50QXBwZWFyYW5jZSwgU2VnbWVudFZhcmlhbnQgfSBmcm9tICcuL3NlZ21lbnQudHlwZXMnO1xyXG5cclxuaW50ZXJmYWNlIFNlZ21lbnRSb3cge1xyXG4gIG9wdGlvbnM6IEFyZE9wdGlvblNpbXBsZVtdO1xyXG4gIGlzTm90RnVsbD86IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLXNlZ21lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWdtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWdtZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bVNlZ21lbnRDb21wb25lbnQgZXh0ZW5kcyBfU2VsZWN0YWJsZUxpc3RDb21wb25lbnRCYXNlIGltcGxlbWVudHMgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0LCBBZnRlckNvbnRlbnRJbml0IHtcclxuICBvdmVycmlkZSByZWFkb25seSBfY29tcG9uZW50SWQ6IHN0cmluZyA9ICcxMDQnO1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IF9jb21wb25lbnROYW1lOiBzdHJpbmcgPSAnc2VnbWVudCc7XHJcblxyXG4gIC8vISBhcHBlYXJhbmNlXHJcbiAgcmVhZG9ubHkgYXBwZWFyYW5jZSA9IGlucHV0PFNlZ21lbnRBcHBlYXJhbmNlPihTZWdtZW50QXBwZWFyYW5jZS5PdXRsaW5lZCk7XHJcbiAgcmVhZG9ubHkgdmFyaWFudCA9IGlucHV0PFNlZ21lbnRWYXJpYW50PihTZWdtZW50VmFyaWFudC5Sb3VuZGVkQ29ubmVjdGVkKTtcclxuICByZWFkb25seSBjb2xvciA9IGlucHV0PENvbXBvbmVudENvbG9yPihDb21wb25lbnRDb2xvci5QcmltYXJ5KTtcclxuICByZWFkb25seSBhbGlnbiA9IGlucHV0PE9uZUF4aXNBbGlnbm1lbnQ+KE9uZUF4aXNBbGlnbm1lbnQuTWlkZGxlKTtcclxuXHJcbiAgcmVhZG9ubHkgaWNvbkJhc2VkID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG4gIHJlYWRvbmx5IGNvbXBhY3QgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XHJcblxyXG4gIHJlYWRvbmx5IG5nQ2xhc3NlcyA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT5cclxuICAgIFtcclxuICAgICAgYGFyZC1hcHBlYXJhbmNlLSR7dGhpcy5hcHBlYXJhbmNlKCl9YCxcclxuICAgICAgYGFyZC12YXJpYW50LSR7dGhpcy52YXJpYW50KCl9YCxcclxuICAgICAgYGFyZC1jb2xvci0ke3RoaXMuY29sb3IoKX1gLFxyXG4gICAgICBgYXJkLWFsaWduLSR7dGhpcy5hbGlnbigpfWAsXHJcbiAgICAgIHRoaXMuaWNvbkJhc2VkKCkgPyAnYXJkLWljb24tYmFzZWQnIDogJycsXHJcbiAgICAgIHRoaXMuY29tcGFjdCgpID8gJ2FyZC1jb21wYWN0JyA6ICcnLFxyXG4gICAgXS5qb2luKCcgJylcclxuICApO1xyXG5cclxuICAvLyEgY29lcmNlZCBwcm9wZXJ0aWVzXHJcbiAgcmVhZG9ubHkgYXV0b0ZvY3VzID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG4gIHJlYWRvbmx5IHVuaWZvcm1XaWR0aHMgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XHJcblxyXG4gIHJlYWRvbmx5IGl0ZW1zUGVyUm93ID0gaW5wdXQ8bnVtYmVyLCBhbnk+KEluZmluaXR5LCB7XHJcbiAgICB0cmFuc2Zvcm06IHYgPT4ge1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHYsIEluZmluaXR5KTtcclxuICAgICAgaWYgKG5ld1ZhbHVlID09PSAwKSB0aHJvdyBuZXcgRXJyb3IoYEFSRC1GVDEwNDBhOiBDYW5ub3Qgc2V0IDxhcmQtc2VnbWVudD4ncyBbaXRlbXNQZXJSb3ddIHRvIDAuYCk7XHJcbiAgICAgIGlmIChuZXdWYWx1ZSA8IDApXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBUkQtRlQxMDQwYjogQ2Fubm90IHNldCA8YXJkLXNlZ21lbnQ+J3MgW2l0ZW1zUGVyUm93XSB0byBhIG5lZ2F0aXZlIHZhbHVlLCBnb3QgXCIke25ld1ZhbHVlfVwiLmApO1xyXG4gICAgICBpZiAobmV3VmFsdWUgJSAxICE9PSAwKSB7XHJcbiAgICAgICAgY29uc3Qgcm91bmRlZFZhbHVlID0gTWF0aC5yb3VuZChuZXdWYWx1ZSkgfHwgMTsgLy8gcm91bmQgdG8gbmVhcmVzdCBpbnQsIGJ1dCBuZXZlciByb3VuZCB0byB6ZXJvXHJcbiAgICAgICAgY29uc29sZS53YXJuKFxyXG4gICAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICBgQVJELVdBMTA0MGM6IENhbm5vdCBzZXQgPGFyZC1zZWdtZW50PidzIFtpdGVtc1BlclJvd10gdG8gYSBub24taW50ZXJnZXIgdmFsdWUsIGdvdCBcIiR7bmV3VmFsdWV9XCIuIFRoZSB2YWx1ZSB3YXMgcm91bmRlZCB0byBcIiR7cm91bmRlZFZhbHVlfVwiLmBcclxuICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwobmV3VmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXdWYWx1ZTtcclxuICAgIH0sXHJcbiAgfSk7XHJcbiAgZ2V0IGl0ZW1zSW5BY3R1YWxSb3coKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zUGVyUm93KCkgPT09IEluZmluaXR5ID8gdGhpcy5pdGVtcy5sZW5ndGggOiB0aGlzLml0ZW1zUGVyUm93KCk7XHJcbiAgfVxyXG5cclxuICAvLyEgb3B0aW9uIHRlbXBsYXRlXHJcbiAgcmVhZG9ubHkgb3B0aW9uVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkU2VnbWVudE9wdGlvblRlbXBsYXRlRGlyZWN0aXZlKTtcclxuXHJcbiAgLy8hIGxpZmVjeWNsZSBob29rc1xyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dG9Gb2N1cygpKSB7XHJcbiAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vISBpdGVtIHJvdyBnZXR0ZXJzXHJcbiAgcmVhZG9ubHkgaXRlbVJvd3MgPSBjb21wdXRlZDxTZWdtZW50Um93W10+KCgpID0+IHtcclxuICAgIGNvbnN0IGl0ZW1Sb3dzOiBTZWdtZW50Um93W10gPSBbXTtcclxuICAgIGxldCBjdXJyZW50Um93OiBBcmRPcHRpb25TaW1wbGVbXSA9IFtdO1xyXG4gICAgLy9nZXQgYWxsIHJvd3NcclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKSB7XHJcbiAgICAgIC8vYWRkIGl0ZW1cclxuICAgICAgY3VycmVudFJvdy5wdXNoKGl0ZW0pO1xyXG5cclxuICAgICAgLy9wdXNoIGlmIGl0ZW0gYW1vdW50IHJlYWNoZWQgdGhlIGxpbWl0XHJcbiAgICAgIGlmICh0aGlzLml0ZW1zUGVyUm93KCkgJiYgY3VycmVudFJvdy5sZW5ndGggPT09IHRoaXMuaXRlbXNQZXJSb3coKSkge1xyXG4gICAgICAgIGl0ZW1Sb3dzLnB1c2goeyBvcHRpb25zOiBjdXJyZW50Um93IH0pO1xyXG4gICAgICAgIGN1cnJlbnRSb3cgPSBbXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9wdXNoIHRoZSBsYXN0IHJvdyBpZiBpdCBpcyBub3QgZW1wdHlcclxuICAgIGlmIChjdXJyZW50Um93Lmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICBpdGVtUm93cy5wdXNoKHtcclxuICAgICAgICBvcHRpb25zOiBjdXJyZW50Um93LFxyXG4gICAgICAgIGlzTm90RnVsbDogQm9vbGVhbih0aGlzLml0ZW1zUGVyUm93KCkpLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtUm93cztcclxuICB9KVxyXG5cclxuICAvLyEgZm9jdXMgaGFuZGxlciBvdmVycmlkZVxyXG4gIG92ZXJyaWRlIG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uRm9jdXMoZXZlbnQpO1xyXG5cclxuICAgIGlmICh0aGlzLml0ZW1TdG9yYWdlLmlzQW55SXRlbUhpZ2hsaWdodGVkKCkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkJsdXIoZXZlbnQpO1xyXG5cclxuICAgIHRoaXMuaXRlbVN0b3JhZ2UudW5oaWdobGlnaHRBbGwoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICNmb2N1c2FibGVFbGVtZW50XHJcbiAgY2xhc3M9XCJhcmQtc2VnbWVudC1jb250YWluZXJcIlxyXG4gIFtjbGFzcy5hcmQtZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXHJcbiAgW2FyaWFEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcclxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXHJcbiAgW2NsYXNzLmFyZC1mb2N1cy12aXNpYmxlXT1cImlzRm9jdXNlZCAmJiAhaXNNb3VzZUJlaW5nVXNlZFwiXHJcbiAgW2NsYXNzLmFyZC11c2luZy1rZXlib2FyZF09XCIhaXNNb3VzZUJlaW5nVXNlZFwiXHJcbiAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXgoKVwiXHJcbiAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4+XHJcbiAgQGZvciAocm93IG9mIGl0ZW1Sb3dzKCk7IHRyYWNrICRpbmRleCkge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYXJkLXNlZ21lbnQtcm93XCJcclxuICAgIFtjbGFzcy5hcmQtc2VnbWVudC1yb3ctcGFydGlhbF09XCJyb3cuaXNOb3RGdWxsXCJcclxuICAgIFtjbGFzcy5hcmQtc2VnbWVudC1yb3ctdW5pZm9ybV09XCJ1bmlmb3JtV2lkdGhzKCkgfHwgaXRlbXNQZXJSb3coKSA8IGl0ZW1zLmxlbmd0aFwiXHJcbiAgICBbc3R5bGVdPVwieyAnLS1hcmQtX3NlZ21lbnQtcm93LWl0ZW1zJzogaXRlbXNJbkFjdHVhbFJvdyB9XCJcclxuICA+XHJcbiAgICBAZm9yIChvcHRpb24gb2Ygcm93Lm9wdGlvbnM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJhcmQtc2VnbWVudC1vcHRpb25cIlxyXG4gICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgW2NsYXNzLmFyZC1vcHRpb24tZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkKCkgfHwgKGlzSXRlbUxpbWl0UmVhY2hlZCgpICYmICFvcHRpb24uc2VsZWN0ZWQoKSlcIlxyXG4gICAgICBbY2xhc3MuYXJkLW9wdGlvbi1zZWxlY3RlZF09XCJvcHRpb24uc2VsZWN0ZWQoKVwiXHJcbiAgICAgIFtjbGFzcy5hcmQtb3B0aW9uLWhpZ2hsaWdodGVkXT1cIm9wdGlvbi5oaWdobGlnaHRlZCgpXCJcclxuICAgICAgW2FyaWFTZWxlY3RlZF09XCJvcHRpb24uc2VsZWN0ZWQoKVwiXHJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uSXRlbU1vdXNlRW50ZXIob3B0aW9uLCAkZXZlbnQpXCJcclxuICAgICAgKG1vdXNlbGVhdmUpPVwib25JdGVtTW91c2VMZWF2ZShvcHRpb24sICRldmVudClcIlxyXG4gICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2sob3B0aW9uLCAkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtYnV0dG9uLWNvbnRlbnRcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImFyZC1vcHRpb24tbGFiZWxcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvblRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwoKSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdE9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldE9wdGlvbkNvbnRleHQob3B0aW9uKVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlZ21lbnQvc2VnbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlZ21lbnQvc2VnbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFlBQVksRUFDWixLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBY3BFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSw0QkFBNEI7SUFQeEU7O1FBUW9CLGlCQUFZLEdBQVcsS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQVcsU0FBUyxDQUFDO1FBRXJELGNBQWM7UUFDTCxlQUFVLEdBQUcsS0FBSyxDQUFvQixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRSxZQUFPLEdBQUcsS0FBSyxDQUFpQixjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRSxVQUFLLEdBQUcsS0FBSyxDQUFpQixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsVUFBSyxHQUFHLEtB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USxNQUFNLENBQUMsS0FBaUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBbkdVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGd3Q0FvRE0saUNBQWlDLHVGQ2xGMUUsODBEQWtEQTs7MkZEcEJhLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudEluaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGNvbnRlbnRDaGlsZCxcclxuICBpbnB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBfU2VsZWN0YWJsZUxpc3RDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL3NlbGVjdGFibGUtbGlzdC1jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPbmVBeGlzQWxpZ25tZW50IH0gZnJvbSAnLi4vdHlwZXMvYWxpZ25tZW50LnR5cGVzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi90eXBlcy9jb2xvcnMudHlwZXMnO1xyXG5pbXBvcnQgeyBBcmRPcHRpb25TaW1wbGUgfSBmcm9tICcuLi90eXBlcy9pdGVtLXN0b3JhZ2UudHlwZXMnO1xyXG5pbXBvcnQgeyBTaW1wbGVJdGVtU3RvcmFnZUhvc3QgfSBmcm9tICcuLy4uL19pbnRlcm5hbC9pdGVtLXN0b3JhZ2VzL3NpbXBsZS1pdGVtLXN0b3JhZ2UnO1xyXG5pbXBvcnQgeyBBcmRTZWdtZW50T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3NlZ21lbnQuZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IFNlZ21lbnRBcHBlYXJhbmNlLCBTZWdtZW50VmFyaWFudCB9IGZyb20gJy4vc2VnbWVudC50eXBlcyc7XHJcblxyXG5pbnRlcmZhY2UgU2VnbWVudFJvdyB7XHJcbiAgb3B0aW9uczogQXJkT3B0aW9uU2ltcGxlW107XHJcbiAgaXNOb3RGdWxsPzogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtc2VnbWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlZ21lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlZ21lbnQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtU2VnbWVudENvbXBvbmVudCBleHRlbmRzIF9TZWxlY3RhYmxlTGlzdENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBTaW1wbGVJdGVtU3RvcmFnZUhvc3QsIEFmdGVyQ29udGVudEluaXQge1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IF9jb21wb25lbnRJZDogc3RyaW5nID0gJzEwNCc7XHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgX2NvbXBvbmVudE5hbWU6IHN0cmluZyA9ICdzZWdtZW50JztcclxuXHJcbiAgLy8hIGFwcGVhcmFuY2VcclxuICByZWFkb25seSBhcHBlYXJhbmNlID0gaW5wdXQ8U2VnbWVudEFwcGVhcmFuY2U+KFNlZ21lbnRBcHBlYXJhbmNlLk91dGxpbmVkKTtcclxuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8U2VnbWVudFZhcmlhbnQ+KFNlZ21lbnRWYXJpYW50LlJvdW5kZWRDb25uZWN0ZWQpO1xyXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8Q29tcG9uZW50Q29sb3I+KENvbXBvbmVudENvbG9yLlByaW1hcnkpO1xyXG4gIHJlYWRvbmx5IGFsaWduID0gaW5wdXQ8T25lQXhpc0FsaWdubWVudD4oT25lQXhpc0FsaWdubWVudC5NaWRkbGUpO1xyXG5cclxuICByZWFkb25seSBpY29uQmFzZWQgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XHJcbiAgcmVhZG9ubHkgY29tcGFjdCA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PlxyXG4gICAgW1xyXG4gICAgICBgYXJkLWFwcGVhcmFuY2UtJHt0aGlzLmFwcGVhcmFuY2UoKX1gLFxyXG4gICAgICBgYXJkLXZhcmlhbnQtJHt0aGlzLnZhcmlhbnQoKX1gLFxyXG4gICAgICBgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcigpfWAsXHJcbiAgICAgIGBhcmQtYWxpZ24tJHt0aGlzLmFsaWduKCl9YCxcclxuICAgICAgdGhpcy5pY29uQmFzZWQoKSA/ICdhcmQtaWNvbi1iYXNlZCcgOiAnJyxcclxuICAgICAgdGhpcy5jb21wYWN0KCkgPyAnYXJkLWNvbXBhY3QnIDogJycsXHJcbiAgICAgIHRoaXMuaXRlbVJvd3MoKS5sZW5ndGggPiAxID8gJ2FyZC1tdWx0aXJvdycgOiAnYXJkLXNpbmdsZXJvdycsXHJcbiAgICBdLmpvaW4oJyAnKVxyXG4gICk7XHJcblxyXG4gIC8vISBjb2VyY2VkIHByb3BlcnRpZXNcclxuICByZWFkb25seSBhdXRvRm9jdXMgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XHJcbiAgcmVhZG9ubHkgdW5pZm9ybVdpZHRocyA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgaXRlbXNQZXJSb3cgPSBpbnB1dDxudW1iZXIsIGFueT4oSW5maW5pdHksIHtcclxuICAgIHRyYW5zZm9ybTogdiA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgSW5maW5pdHkpO1xyXG4gICAgICBpZiAobmV3VmFsdWUgPT09IDApIHRocm93IG5ldyBFcnJvcihgQVJELUZUMTA0MGE6IENhbm5vdCBzZXQgPGFyZC1zZWdtZW50PidzIFtpdGVtc1BlclJvd10gdG8gMC5gKTtcclxuICAgICAgaWYgKG5ld1ZhbHVlIDwgMClcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEFSRC1GVDEwNDBiOiBDYW5ub3Qgc2V0IDxhcmQtc2VnbWVudD4ncyBbaXRlbXNQZXJSb3ddIHRvIGEgbmVnYXRpdmUgdmFsdWUsIGdvdCBcIiR7bmV3VmFsdWV9XCIuYCk7XHJcbiAgICAgIGlmIChuZXdWYWx1ZSAlIDEgIT09IDApIHtcclxuICAgICAgICBjb25zdCByb3VuZGVkVmFsdWUgPSBNYXRoLnJvdW5kKG5ld1ZhbHVlKSB8fCAxOyAvLyByb3VuZCB0byBuZWFyZXN0IGludCwgYnV0IG5ldmVyIHJvdW5kIHRvIHplcm9cclxuICAgICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgICBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgIGBBUkQtV0ExMDQwYzogQ2Fubm90IHNldCA8YXJkLXNlZ21lbnQ+J3MgW2l0ZW1zUGVyUm93XSB0byBhIG5vbi1pbnRlcmdlciB2YWx1ZSwgZ290IFwiJHtuZXdWYWx1ZX1cIi4gVGhlIHZhbHVlIHdhcyByb3VuZGVkIHRvIFwiJHtyb3VuZGVkVmFsdWV9XCIuYFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbChuZXdWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xyXG4gICAgfSxcclxuICB9KTtcclxuICBnZXQgaXRlbXNJbkFjdHVhbFJvdygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXNQZXJSb3coKSA9PT0gSW5maW5pdHkgPyB0aGlzLml0ZW1zLmxlbmd0aCA6IHRoaXMuaXRlbXNQZXJSb3coKTtcclxuICB9XHJcblxyXG4gIC8vISBvcHRpb24gdGVtcGxhdGVcclxuICByZWFkb25seSBvcHRpb25UZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRTZWdtZW50T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUpO1xyXG5cclxuICAvLyEgbGlmZWN5Y2xlIGhvb2tzXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKCkpIHtcclxuICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8hIGl0ZW0gcm93IGdldHRlcnNcclxuICByZWFkb25seSBpdGVtUm93cyA9IGNvbXB1dGVkPFNlZ21lbnRSb3dbXT4oKCkgPT4ge1xyXG4gICAgY29uc3QgaXRlbVJvd3M6IFNlZ21lbnRSb3dbXSA9IFtdO1xyXG4gICAgbGV0IGN1cnJlbnRSb3c6IEFyZE9wdGlvblNpbXBsZVtdID0gW107XHJcbiAgICAvL2dldCBhbGwgcm93c1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcclxuICAgICAgLy9hZGQgaXRlbVxyXG4gICAgICBjdXJyZW50Um93LnB1c2goaXRlbSk7XHJcblxyXG4gICAgICAvL3B1c2ggaWYgaXRlbSBhbW91bnQgcmVhY2hlZCB0aGUgbGltaXRcclxuICAgICAgaWYgKHRoaXMuaXRlbXNQZXJSb3coKSAmJiBjdXJyZW50Um93Lmxlbmd0aCA9PT0gdGhpcy5pdGVtc1BlclJvdygpKSB7XHJcbiAgICAgICAgaXRlbVJvd3MucHVzaCh7IG9wdGlvbnM6IGN1cnJlbnRSb3cgfSk7XHJcbiAgICAgICAgY3VycmVudFJvdyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3B1c2ggdGhlIGxhc3Qgcm93IGlmIGl0IGlzIG5vdCBlbXB0eVxyXG4gICAgaWYgKGN1cnJlbnRSb3cubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIGl0ZW1Sb3dzLnB1c2goe1xyXG4gICAgICAgIG9wdGlvbnM6IGN1cnJlbnRSb3csXHJcbiAgICAgICAgaXNOb3RGdWxsOiBCb29sZWFuKHRoaXMuaXRlbXNQZXJSb3coKSksXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW1Sb3dzO1xyXG4gIH0pO1xyXG5cclxuICAvLyEgZm9jdXMgaGFuZGxlciBvdmVycmlkZVxyXG4gIG92ZXJyaWRlIG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uRm9jdXMoZXZlbnQpO1xyXG5cclxuICAgIGlmICh0aGlzLml0ZW1TdG9yYWdlLmlzQW55SXRlbUhpZ2hsaWdodGVkKCkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkJsdXIoZXZlbnQpO1xyXG5cclxuICAgIHRoaXMuaXRlbVN0b3JhZ2UudW5oaWdobGlnaHRBbGwoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICNmb2N1c2FibGVFbGVtZW50XHJcbiAgY2xhc3M9XCJhcmQtc2VnbWVudC1jb250YWluZXJcIlxyXG4gIFtjbGFzcy5hcmQtZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXHJcbiAgW2FyaWFEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcclxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXHJcbiAgW2NsYXNzLmFyZC1mb2N1cy12aXNpYmxlXT1cImlzRm9jdXNlZCAmJiAhaXNNb3VzZUJlaW5nVXNlZFwiXHJcbiAgW2NsYXNzLmFyZC11c2luZy1rZXlib2FyZF09XCIhaXNNb3VzZUJlaW5nVXNlZFwiXHJcbiAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXgoKVwiXHJcbiAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4+XHJcbiAgQGZvciAocm93IG9mIGl0ZW1Sb3dzKCk7IHRyYWNrICRpbmRleCkge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYXJkLXNlZ21lbnQtcm93XCJcclxuICAgIFtjbGFzcy5hcmQtc2VnbWVudC1yb3ctcGFydGlhbF09XCJyb3cuaXNOb3RGdWxsXCJcclxuICAgIFtjbGFzcy5hcmQtc2VnbWVudC1yb3ctdW5pZm9ybV09XCJ1bmlmb3JtV2lkdGhzKCkgfHwgaXRlbXNQZXJSb3coKSA8IGl0ZW1zLmxlbmd0aFwiXHJcbiAgICBbc3R5bGVdPVwieyAnLS1hcmQtX3NlZ21lbnQtcm93LWl0ZW1zJzogaXRlbXNJbkFjdHVhbFJvdyB9XCJcclxuICA+XHJcbiAgICBAZm9yIChvcHRpb24gb2Ygcm93Lm9wdGlvbnM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJhcmQtc2VnbWVudC1vcHRpb25cIlxyXG4gICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgW2NsYXNzLmFyZC1vcHRpb24tZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkKCkgfHwgKGlzSXRlbUxpbWl0UmVhY2hlZCgpICYmICFvcHRpb24uc2VsZWN0ZWQoKSlcIlxyXG4gICAgICBbY2xhc3MuYXJkLW9wdGlvbi1zZWxlY3RlZF09XCJvcHRpb24uc2VsZWN0ZWQoKVwiXHJcbiAgICAgIFtjbGFzcy5hcmQtb3B0aW9uLWhpZ2hsaWdodGVkXT1cIm9wdGlvbi5oaWdobGlnaHRlZCgpXCJcclxuICAgICAgW2FyaWFTZWxlY3RlZF09XCJvcHRpb24uc2VsZWN0ZWQoKVwiXHJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uSXRlbU1vdXNlRW50ZXIob3B0aW9uLCAkZXZlbnQpXCJcclxuICAgICAgKG1vdXNlbGVhdmUpPVwib25JdGVtTW91c2VMZWF2ZShvcHRpb24sICRldmVudClcIlxyXG4gICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2sob3B0aW9uLCAkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtYnV0dG9uLWNvbnRlbnRcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImFyZC1vcHRpb24tbGFiZWxcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvblRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwoKSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdE9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldE9wdGlvbkNvbnRleHQob3B0aW9uKVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -3,10 +3,11 @@ export const SegmentVariant = {
3
3
  ...FormElementVariant,
4
4
  RoundedConnected: 'rounded-connected',
5
5
  SharpConnected: 'sharp-connected',
6
+ PillConnected: 'pill-connected',
6
7
  };
7
8
  export const SegmentAppearance = {
8
9
  ...FormElementAppearance,
9
10
  FilledStrong: 'filled-strong',
10
11
  OutlinedStrong: 'outlined-strong',
11
12
  };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VnbWVudC9zZWdtZW50LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixHQUFHLGtCQUFrQjtJQUNyQixnQkFBZ0IsRUFBRSxtQkFBbUI7SUFDckMsY0FBYyxFQUFFLGlCQUFpQjtDQUN6QixDQUFDO0FBR1gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsR0FBRyxxQkFBcUI7SUFDeEIsWUFBWSxFQUFFLGVBQWU7SUFDN0IsY0FBYyxFQUFFLGlCQUFpQjtDQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLi90eXBlcy90aGVtaW5nLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IFNlZ21lbnRWYXJpYW50ID0ge1xuICAuLi5Gb3JtRWxlbWVudFZhcmlhbnQsXG4gIFJvdW5kZWRDb25uZWN0ZWQ6ICdyb3VuZGVkLWNvbm5lY3RlZCcsXG4gIFNoYXJwQ29ubmVjdGVkOiAnc2hhcnAtY29ubmVjdGVkJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBTZWdtZW50VmFyaWFudCA9ICh0eXBlb2YgU2VnbWVudFZhcmlhbnQpW2tleW9mIHR5cGVvZiBTZWdtZW50VmFyaWFudF07XG5cbmV4cG9ydCBjb25zdCBTZWdtZW50QXBwZWFyYW5jZSA9IHtcbiAgLi4uRm9ybUVsZW1lbnRBcHBlYXJhbmNlLFxuICBGaWxsZWRTdHJvbmc6ICdmaWxsZWQtc3Ryb25nJyxcbiAgT3V0bGluZWRTdHJvbmc6ICdvdXRsaW5lZC1zdHJvbmcnLFxufSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFNlZ21lbnRBcHBlYXJhbmNlID0gKHR5cGVvZiBTZWdtZW50QXBwZWFyYW5jZSlba2V5b2YgdHlwZW9mIFNlZ21lbnRBcHBlYXJhbmNlXTtcbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VnbWVudC9zZWdtZW50LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixHQUFHLGtCQUFrQjtJQUNyQixnQkFBZ0IsRUFBRSxtQkFBbUI7SUFDckMsY0FBYyxFQUFFLGlCQUFpQjtJQUNqQyxhQUFhLEVBQUUsZ0JBQWdCO0NBQ3ZCLENBQUM7QUFHWCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixHQUFHLHFCQUFxQjtJQUN4QixZQUFZLEVBQUUsZUFBZTtJQUM3QixjQUFjLEVBQUUsaUJBQWlCO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRWxlbWVudEFwcGVhcmFuY2UsIEZvcm1FbGVtZW50VmFyaWFudCB9IGZyb20gJy4uL3R5cGVzL3RoZW1pbmcudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgU2VnbWVudFZhcmlhbnQgPSB7XG4gIC4uLkZvcm1FbGVtZW50VmFyaWFudCxcbiAgUm91bmRlZENvbm5lY3RlZDogJ3JvdW5kZWQtY29ubmVjdGVkJyxcbiAgU2hhcnBDb25uZWN0ZWQ6ICdzaGFycC1jb25uZWN0ZWQnLFxuICBQaWxsQ29ubmVjdGVkOiAncGlsbC1jb25uZWN0ZWQnLFxufSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFNlZ21lbnRWYXJpYW50ID0gKHR5cGVvZiBTZWdtZW50VmFyaWFudClba2V5b2YgdHlwZW9mIFNlZ21lbnRWYXJpYW50XTtcblxuZXhwb3J0IGNvbnN0IFNlZ21lbnRBcHBlYXJhbmNlID0ge1xuICAuLi5Gb3JtRWxlbWVudEFwcGVhcmFuY2UsXG4gIEZpbGxlZFN0cm9uZzogJ2ZpbGxlZC1zdHJvbmcnLFxuICBPdXRsaW5lZFN0cm9uZzogJ291dGxpbmVkLXN0cm9uZycsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgU2VnbWVudEFwcGVhcmFuY2UgPSAodHlwZW9mIFNlZ21lbnRBcHBlYXJhbmNlKVtrZXlvZiB0eXBlb2YgU2VnbWVudEFwcGVhcmFuY2VdO1xuIl19
@@ -6077,6 +6077,8 @@ class _SelectableListComponentBase extends _NgModelComponentBase {
6077
6077
  //! item selection handlers
6078
6078
  toggleItem(item) {
6079
6079
  if (item.selected()) {
6080
+ if (this.singleselectable())
6081
+ return;
6080
6082
  this.unselectItem(item);
6081
6083
  return;
6082
6084
  }
@@ -6093,7 +6095,8 @@ class _SelectableListComponentBase extends _NgModelComponentBase {
6093
6095
  }
6094
6096
  unselectItem(...items) {
6095
6097
  const unselected = this.itemStorage.unselectItem(...items);
6096
- this.removeEvent.emit(unselected);
6098
+ if (unselected.length > 0)
6099
+ this.removeEvent.emit(unselected);
6097
6100
  this._emitChange();
6098
6101
  }
6099
6102
  onMouseMove() {
@@ -6236,6 +6239,7 @@ const SegmentVariant = {
6236
6239
  ...FormElementVariant,
6237
6240
  RoundedConnected: 'rounded-connected',
6238
6241
  SharpConnected: 'sharp-connected',
6242
+ PillConnected: 'pill-connected',
6239
6243
  };
6240
6244
  const SegmentAppearance = {
6241
6245
  ...FormElementAppearance,
@@ -6262,6 +6266,7 @@ class ArdiumSegmentComponent extends _SelectableListComponentBase {
6262
6266
  `ard-align-${this.align()}`,
6263
6267
  this.iconBased() ? 'ard-icon-based' : '',
6264
6268
  this.compact() ? 'ard-compact' : '',
6269
+ this.itemRows().length > 1 ? 'ard-multirow' : 'ard-singlerow',
6265
6270
  ].join(' '));
6266
6271
  //! coerced properties
6267
6272
  this.autoFocus = input(false, { transform: v => coerceBooleanProperty(v) });