@lucca-front/ng 17.3.8 → 17.3.9

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.
@@ -98,6 +98,11 @@ export class ALuSelectInputComponent {
98
98
  onKeyDownNavigation($event) {
99
99
  switch ($event.key) {
100
100
  case 'Escape':
101
+ if (this.isPanelOpen) {
102
+ $event.stopPropagation();
103
+ }
104
+ this.panelRef?.close();
105
+ break;
101
106
  case 'Tab':
102
107
  this.panelRef?.close();
103
108
  break;
@@ -256,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
256
261
  type: HostListener,
257
262
  args: ['keydown', ['$event']]
258
263
  }] } });
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2lucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQW9CLG9DQUFvQyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5GLE9BQU8sRUFBbUIsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUlqRixNQUFNLE9BQWdCLHVCQUF1QjtJQUQ3QztRQUtRLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdkMsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBUzlDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFzQlgsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU9uRCxrQkFBYSxHQUFtQjtZQUMvQixXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsa0NBQWtDO1NBQ2pELENBQUM7UUFtQk8sbUJBQWMsR0FBb0QsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJ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QUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztJQUNwQixDQUFDOzhHQXhRb0IsdUJBQXVCO2tHQUF2Qix1QkFBdUIsOEVBYXhCLGdCQUFnQjs7MkZBYmYsdUJBQXVCO2tCQUQ1QyxTQUFTOzhCQUdELGVBQWU7c0JBRHRCLFNBQVM7dUJBQUMsY0FBYztnQkFRckIsV0FBVztzQkFEZCxLQUFLO2dCQU9OLFNBQVM7c0JBRlIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQVFuQixlQUFlO3NCQUQ1QixXQUFXO3VCQUFDLG1CQUFtQjtnQkFNbEIsbUJBQW1CO3NCQURoQyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFvQnBDLGFBQWE7c0JBRFosS0FBSztnQkFNTyxPQUFPO3NCQUFuQixLQUFLO2dCQU1PLE9BQU87c0JBQW5CLEtBQUs7Z0JBV0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBOENQLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVakMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4ICovXG5pbXBvcnQgeyBPdmVybGF5Q29uZmlnLCBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0QmluZGluZyxcblx0SG9zdExpc3RlbmVyLFxuXHRpbmplY3QsXG5cdElucHV0LFxuXHRPbkRlc3Ryb3ksXG5cdE9uSW5pdCxcblx0T3V0cHV0LFxuXHRUZW1wbGF0ZVJlZixcblx0VHlwZSxcblx0Vmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTHVPcHRpb25Hcm91cGluZywgTHVTaW1wbGVTZWxlY3REZWZhdWx0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uJztcbmltcG9ydCB7IEx1U2VsZWN0UGFuZWxSZWYgfSBmcm9tICcuLi9wYW5lbCc7XG5pbXBvcnQgeyBMdU9wdGlvbkNvbnRleHQsIFNFTEVDVF9MQUJFTCwgU0VMRUNUX0xBQkVMX0lEIH0gZnJvbSAnLi4vc2VsZWN0Lm1vZGVsJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBTHVTZWxlY3RJbnB1dENvbXBvbmVudDxUT3B0aW9uLCBUVmFsdWU+IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0QFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50Jylcblx0cHJpdmF0ZSBpbnB1dEVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cblx0cHVibGljIHBsYWNlaG9sZGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG5cdHB1YmxpYyBkaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuXHRASW5wdXQoKVxuXHRzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMucGxhY2Vob2xkZXIkLm5leHQodmFsdWUpO1xuXHR9XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaXMtY2xlYXJhYmxlJylcblx0Y2xlYXJhYmxlID0gZmFsc2U7XG5cblx0Z2V0IHNlYXJjaGFibGUoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuY2x1ZUNoYW5nZS5vYnNlcnZlZDtcblx0fVxuXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuXHRwcm90ZWN0ZWQgZ2V0IGlzU2VsZWN0ZWRDbGFzcygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5oYXNWYWx1ZTtcblx0fVxuXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VhcmNoRmlsbGVkJylcblx0cHJvdGVjdGVkIGdldCBpc1NlYXJjaEZpbGxlZENsYXNzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmNsdWU/Lmxlbmd0aCA+IDA7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgaGFzVmFsdWU6IGJvb2xlYW47XG5cblx0cHVibGljIGdldCBpc1BhbmVsT3BlbigpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5pc1BhbmVsT3BlbiQudmFsdWU7XG5cdH1cblxuXHRwdWJsaWMgaXNQYW5lbE9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cblx0cHVibGljIGFjdGl2ZURlc2NlbmRhbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG5cblx0Z2V0IGFyaWFDb250cm9scygpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm92ZXJsYXlDb250YWluZXJSZWYuaWQ7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRvdmVybGF5Q29uZmlnPzogT3ZlcmxheUNvbmZpZyA9IHtcblx0XHRoYXNCYWNrZHJvcDogdHJ1ZSxcblx0XHRiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuXHR9O1xuXG5cdEBJbnB1dCgpIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0aWYgKHZhbHVlICE9PSB0aGlzLmxvYWRpbmcpIHtcblx0XHRcdHRoaXMubG9hZGluZyQubmV4dCh2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0QElucHV0KCkgc2V0IG9wdGlvbnMob3B0aW9uczogVE9wdGlvbltdKSB7XG5cdFx0dGhpcy5vcHRpb25zJC5uZXh0KG9wdGlvbnMpO1xuXHRcdGlmICh0aGlzLnBhbmVsUmVmKSB7XG5cdFx0XHQvLyBXZSBoYXZlIHRvIHB1dCBpdCBpbiBhIHNldFRpbWVvdXQgc28gaXQnbGwgYmUgdHJpZ2dlcmVkIEFGVEVSIHRoZSBET00gaXMgdXBkYXRlZCBhbmQgbm90IHJpZ2h0IG5vdyxcblx0XHRcdC8vIHdoaWNoIGlzIGJlZm9yZSB0aGUgcGFuZWwgc2l6ZSBoYXMgYmVlbiBtb2RpZmllZCBieSB0aGUgYXJyaXZhbCBvZiB0aGUgbmV3IG9wdGlvbnNcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLnBhbmVsUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRASW5wdXQoKSBvcHRpb25Db21wYXJlcjogKG9wdGlvbjE6IFRPcHRpb24sIG9wdGlvbjI6IFRPcHRpb24pID0+IGJvb2xlYW4gPSAob3B0aW9uMSwgb3B0aW9uMikgPT4gSlNPTi5zdHJpbmdpZnkob3B0aW9uMSkgPT09IEpTT04uc3RyaW5naWZ5KG9wdGlvbjIpO1xuXHRASW5wdXQoKSBvcHRpb25UcGw/OiBUZW1wbGF0ZVJlZjxMdU9wdGlvbkNvbnRleHQ8VE9wdGlvbj4+IHwgVHlwZTx1bmtub3duPiA9IEx1U2ltcGxlU2VsZWN0RGVmYXVsdE9wdGlvbkNvbXBvbmVudDtcblx0QElucHV0KCkgdmFsdWVUcGw/OiBUZW1wbGF0ZVJlZjxMdU9wdGlvbkNvbnRleHQ8VE9wdGlvbj4+IHwgVHlwZTx1bmtub3duPjtcblx0Z3JvdXBpbmc/OiBMdU9wdGlvbkdyb3VwaW5nPFRPcHRpb24sIHVua25vd24+O1xuXG5cdEBPdXRwdXQoKSBjbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cdEBPdXRwdXQoKSBuZXh0UGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QE91dHB1dCgpIHByZXZpb3VzUGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuXHRwdWJsaWMgZ2V0IHZhbHVlKCk6IFRWYWx1ZSB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cblx0cHJvdGVjdGVkIHNldCB2YWx1ZSh2YWx1ZTogVFZhbHVlKSB7XG5cdFx0dGhpcy5fdmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0cHVibGljIGdldCBpbnB1dFBsYWNlaG9sZGVyKCk6IHN0cmluZyB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLnZhbHVlID8gbnVsbCA6IHRoaXMucGxhY2Vob2xkZXIkLnZhbHVlO1xuXHR9XG5cblx0cHVibGljIGNsdWVDaGFuZ2VkKGNsdWU6IHN0cmluZywgc2tpcFBhbmVsT3BlbiA9IGZhbHNlKTogdm9pZCB7XG5cdFx0dGhpcy5jbHVlID0gY2x1ZTtcblxuXHRcdGlmICghc2tpcFBhbmVsT3BlbiAmJiAhdGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoY2x1ZSk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLmxhc3RFbWl0dGVkQ2x1ZSAhPT0gY2x1ZSkge1xuXHRcdFx0dGhpcy5jbHVlQ2hhbmdlLmVtaXQoY2x1ZSk7XG5cdFx0XHR0aGlzLmxhc3RFbWl0dGVkQ2x1ZSA9IGNsdWU7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIF92YWx1ZT86IFRWYWx1ZTtcblxuXHRvcHRpb25zJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFRPcHRpb25bXT4oMSk7XG5cdGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cdGNsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXHQvLyBUaGlzIGlzIHRoZSBjbHVlIHN0b3JlZCBhZnRlciB3ZSBzZWxlY3RlZCBhbiBvcHRpb24gdG8ga25vdyBpZiB3ZSBzaG91bGQgZW1pdCBhbiBlbXB0eSBjbHVlIG9uIG9wZW4gb3Igbm90XG5cdGxhc3RFbWl0dGVkQ2x1ZTogc3RyaW5nID0gJyc7XG5cblx0cHJvdGVjdGVkIG9uQ2hhbmdlPzogKHZhbHVlOiBUVmFsdWUgfCBudWxsKSA9PiB2b2lkO1xuXHRwcm90ZWN0ZWQgb25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcblxuXHRwdWJsaWMgZ2V0IHBhbmVsUmVmKCk6IEx1U2VsZWN0UGFuZWxSZWY8VE9wdGlvbiwgVFZhbHVlPiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuX3BhbmVsUmVmO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9wYW5lbFJlZj86IEx1U2VsZWN0UGFuZWxSZWY8VE9wdGlvbiwgVFZhbHVlPjtcblxuXHRwcm90ZWN0ZWQgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0QEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuXHRvbkNsaWNrT3BlblBhbmVsKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xuXHRcdGlmICghdGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHRcdCRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdH1cblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuXHRvbktleURvd25OYXZpZ2F0aW9uKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuXHRcdHN3aXRjaCAoJGV2ZW50LmtleSkge1xuXHRcdFx0Y2FzZSAnRXNjYXBlJzpcblx0XHRcdGNhc2UgJ1RhYic6XG5cdFx0XHRcdHRoaXMucGFuZWxSZWY/LmNsb3NlKCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnRW50ZXInOlxuXHRcdFx0XHRpZiAodGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0XHRcdHRoaXMucGFuZWxSZWYuc2VsZWN0Q3VycmVudGx5SGlnaGxpZ2h0ZWRWYWx1ZSgpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMucGFuZWxSZWY/LmhhbmRsZUtleU1hbmFnZXJFdmVudCgkZXZlbnQpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnICc6XG5cdFx0XHRjYXNlICdBcnJvd0Rvd24nOlxuXHRcdFx0Y2FzZSAnQXJyb3dVcCc6XG5cdFx0XHRcdC8vIEluaXRpYWwgc3BhY2Ugc2hvdWxkIGp1c3Qgb3BlbiB0aGUgcGFuZWwsIG5vdCB0cmlnZ2VyIGEgY2x1ZSBjaGFuZ2Vcblx0XHRcdFx0aWYgKCF0aGlzLmNsdWUgJiYgJGV2ZW50LmtleSA9PT0gJyAnKSB7XG5cdFx0XHRcdFx0JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdFx0XHR0aGlzLnBhbmVsUmVmPy5oYW5kbGVLZXlNYW5hZ2VyRXZlbnQoJGV2ZW50KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLm9wZW5QYW5lbCgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uaGFuZGxlS2V5TWFuYWdlckV2ZW50KCRldmVudCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cdHByb3RlY3RlZCBvdmVybGF5Q29udGFpbmVyUmVmOiBIVE1MRWxlbWVudCA9IGluamVjdChPdmVybGF5Q29udGFpbmVyKS5nZXRDb250YWluZXJFbGVtZW50KCk7XG5cblx0cHJvdGVjdGVkIGxhYmVsRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBpbmplY3QoU0VMRUNUX0xBQkVMKTtcblx0cHJvdGVjdGVkIGxhYmVsSWQ6IHN0cmluZyA9IGluamVjdChTRUxFQ1RfTEFCRUxfSUQpO1xuXG5cdHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG5cdH1cblxuXHRzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHR0aGlzLmRpc2FibGVkJC5uZXh0KGlzRGlzYWJsZWQpO1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuXHRcdHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMubGFiZWxFbGVtZW50KSB7XG5cdFx0XHR0aGlzLmxhYmVsRWxlbWVudC5pZCA9IHRoaXMubGFiZWxJZDtcblx0XHR9XG5cdH1cblxuXHRjbGVhclZhbHVlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdHRoaXMudXBkYXRlVmFsdWUobnVsbCwgdHJ1ZSk7XG5cdFx0dGhpcy5pbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHR9XG5cblx0b3BlblBhbmVsKGNsdWU6IHN0cmluZyA9ICcnKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4gfHwgdGhpcy5kaXNhYmxlZCQudmFsdWUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLmlzUGFuZWxPcGVuJC5uZXh0KHRydWUpO1xuXHRcdHRoaXMuY2x1ZUNoYW5nZWQoY2x1ZSk7XG5cdFx0dGhpcy5fcGFuZWxSZWYgPSB0aGlzLmJ1aWxkUGFuZWxSZWYoKTtcblx0XHR0aGlzLmJpbmRJbnB1dFRvUGFuZWxSZWZFdmVudHMoKTtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNJbnB1dCgpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBidWlsZFBhbmVsUmVmKCk6IHRoaXNbJ3BhbmVsUmVmJ107XG5cblx0cHJvdGVjdGVkIGJpbmRJbnB1dFRvUGFuZWxSZWZFdmVudHMoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLnBhbmVsUmVmKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5wYW5lbFJlZi52YWx1ZUNoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSkpO1xuXHRcdHRoaXMucGFuZWxSZWYubmV4dFBhZ2Uuc3Vic2NyaWJlKCgpID0+IHRoaXMubmV4dFBhZ2UuZW1pdCgpKTtcblx0XHR0aGlzLnBhbmVsUmVmLnByZXZpb3VzUGFnZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wcmV2aW91c1BhZ2UuZW1pdCgpKTtcblx0XHR0aGlzLnBhbmVsUmVmLmFjdGl2ZU9wdGlvbklkQ2hhbmdlZC5zdWJzY3JpYmUoKG9wdGlvbklkKSA9PiB7XG5cdFx0XHR0aGlzLmFjdGl2ZURlc2NlbmRhbnQkLm5leHQob3B0aW9uSWQpO1xuXHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0XHR9KTtcblx0XHR0aGlzLnBhbmVsUmVmLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZVBhbmVsKCkpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGZvY3VzSW5wdXQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaW5wdXRFbGVtZW50UmVmKSB7XG5cdFx0XHR0aGlzLmlucHV0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGVtcHR5Q2x1ZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5jbHVlKSB7XG5cdFx0XHR0aGlzLmNsdWUgPSBudWxsO1xuXHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgY2xvc2VQYW5lbCgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5lbXB0eUNsdWUoKTtcblx0XHR0aGlzLmFjdGl2ZURlc2NlbmRhbnQkLm5leHQoJycpO1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0dGhpcy5vblRvdWNoZWQ/LigpO1xuXHRcdHRoaXMuaXNQYW5lbE9wZW4kLm5leHQoZmFsc2UpO1xuXHRcdHRoaXMucGFuZWxSZWYuY2xvc2UoKTtcblx0XHR0aGlzLl9wYW5lbFJlZiA9IHVuZGVmaW5lZDtcblx0fVxuXG5cdHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBUVmFsdWUpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlID0gdmFsdWU7XG5cdH1cblxuXHRwdWJsaWMgdXBkYXRlVmFsdWUodmFsdWU6IFRWYWx1ZSwgc2tpcFBhbmVsT3BlbiA9IGZhbHNlKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZSA9IHZhbHVlO1xuXHRcdHRoaXMuZW1wdHlDbHVlKCk7XG5cdFx0dGhpcy5jbHVlQ2hhbmdlZCgnJywgc2tpcFBhbmVsT3Blbik7XG5cdFx0dGhpcy5vbkNoYW5nZT8uKHZhbHVlKTtcblx0XHR0aGlzLm9uVG91Y2hlZD8uKCk7XG5cdH1cbn1cbiJdfQ==
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2lucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQW9CLG9DQUFvQyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5GLE9BQU8sRUFBbUIsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUlqRixNQUFNLE9BQWdCLHVCQUF1QjtJQUQ3QztRQUtRLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdkMsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBUzlDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFzQlgsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU9uRCxrQkFBYSxHQUFtQjtZQUMvQixXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsa0NBQWtDO1NBQ2pELENBQUM7UUFtQk8sbUJBQWMsR0FBb0QsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJ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dCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeCAqL1xuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZywgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdEJpbmRpbmcsXG5cdEhvc3RMaXN0ZW5lcixcblx0aW5qZWN0LFxuXHRJbnB1dCxcblx0T25EZXN0cm95LFxuXHRPbkluaXQsXG5cdE91dHB1dCxcblx0VGVtcGxhdGVSZWYsXG5cdFR5cGUsXG5cdFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEx1T3B0aW9uR3JvdXBpbmcsIEx1U2ltcGxlU2VsZWN0RGVmYXVsdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbic7XG5pbXBvcnQgeyBMdVNlbGVjdFBhbmVsUmVmIH0gZnJvbSAnLi4vcGFuZWwnO1xuaW1wb3J0IHsgTHVPcHRpb25Db250ZXh0LCBTRUxFQ1RfTEFCRUwsIFNFTEVDVF9MQUJFTF9JRCB9IGZyb20gJy4uL3NlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQUx1U2VsZWN0SW5wdXRDb21wb25lbnQ8VE9wdGlvbiwgVFZhbHVlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG5cdHByaXZhdGUgaW5wdXRFbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG5cdHB1YmxpYyBwbGFjZWhvbGRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcblxuXHRwdWJsaWMgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cblx0QElucHV0KClcblx0c2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnBsYWNlaG9sZGVyJC5uZXh0KHZhbHVlKTtcblx0fVxuXG5cdEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWNsZWFyYWJsZScpXG5cdGNsZWFyYWJsZSA9IGZhbHNlO1xuXG5cdGdldCBzZWFyY2hhYmxlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmNsdWVDaGFuZ2Uub2JzZXJ2ZWQ7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlbGVjdGVkJylcblx0cHJvdGVjdGVkIGdldCBpc1NlbGVjdGVkQ2xhc3MoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuaGFzVmFsdWU7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlYXJjaEZpbGxlZCcpXG5cdHByb3RlY3RlZCBnZXQgaXNTZWFyY2hGaWxsZWRDbGFzcygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5jbHVlPy5sZW5ndGggPiAwO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IGhhc1ZhbHVlOiBib29sZWFuO1xuXG5cdHB1YmxpYyBnZXQgaXNQYW5lbE9wZW4oKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuaXNQYW5lbE9wZW4kLnZhbHVlO1xuXHR9XG5cblx0cHVibGljIGlzUGFuZWxPcGVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG5cdHB1YmxpYyBhY3RpdmVEZXNjZW5kYW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG5cdGdldCBhcmlhQ29udHJvbHMoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5vdmVybGF5Q29udGFpbmVyUmVmLmlkO1xuXHR9XG5cblx0QElucHV0KClcblx0b3ZlcmxheUNvbmZpZz86IE92ZXJsYXlDb25maWcgPSB7XG5cdFx0aGFzQmFja2Ryb3A6IHRydWUsXG5cdFx0YmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcblx0fTtcblxuXHRASW5wdXQoKSBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuXHRcdGlmICh2YWx1ZSAhPT0gdGhpcy5sb2FkaW5nKSB7XG5cdFx0XHR0aGlzLmxvYWRpbmckLm5leHQodmFsdWUpO1xuXHRcdH1cblx0fVxuXG5cdEBJbnB1dCgpIHNldCBvcHRpb25zKG9wdGlvbnM6IFRPcHRpb25bXSkge1xuXHRcdHRoaXMub3B0aW9ucyQubmV4dChvcHRpb25zKTtcblx0XHRpZiAodGhpcy5wYW5lbFJlZikge1xuXHRcdFx0Ly8gV2UgaGF2ZSB0byBwdXQgaXQgaW4gYSBzZXRUaW1lb3V0IHNvIGl0J2xsIGJlIHRyaWdnZXJlZCBBRlRFUiB0aGUgRE9NIGlzIHVwZGF0ZWQgYW5kIG5vdCByaWdodCBub3csXG5cdFx0XHQvLyB3aGljaCBpcyBiZWZvcmUgdGhlIHBhbmVsIHNpemUgaGFzIGJlZW4gbW9kaWZpZWQgYnkgdGhlIGFycml2YWwgb2YgdGhlIG5ldyBvcHRpb25zXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0dGhpcy5wYW5lbFJlZi51cGRhdGVQb3NpdGlvbigpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0QElucHV0KCkgb3B0aW9uQ29tcGFyZXI6IChvcHRpb24xOiBUT3B0aW9uLCBvcHRpb24yOiBUT3B0aW9uKSA9PiBib29sZWFuID0gKG9wdGlvbjEsIG9wdGlvbjIpID0+IEpTT04uc3RyaW5naWZ5KG9wdGlvbjEpID09PSBKU09OLnN0cmluZ2lmeShvcHRpb24yKTtcblx0QElucHV0KCkgb3B0aW9uVHBsPzogVGVtcGxhdGVSZWY8THVPcHRpb25Db250ZXh0PFRPcHRpb24+PiB8IFR5cGU8dW5rbm93bj4gPSBMdVNpbXBsZVNlbGVjdERlZmF1bHRPcHRpb25Db21wb25lbnQ7XG5cdEBJbnB1dCgpIHZhbHVlVHBsPzogVGVtcGxhdGVSZWY8THVPcHRpb25Db250ZXh0PFRPcHRpb24+PiB8IFR5cGU8dW5rbm93bj47XG5cdGdyb3VwaW5nPzogTHVPcHRpb25Hcm91cGluZzxUT3B0aW9uLCB1bmtub3duPjtcblxuXHRAT3V0cHV0KCkgY2x1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXHRAT3V0cHV0KCkgbmV4dFBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cdEBPdXRwdXQoKSBwcmV2aW91c1BhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cblx0cHVibGljIGdldCB2YWx1ZSgpOiBUVmFsdWUge1xuXHRcdHJldHVybiB0aGlzLl92YWx1ZTtcblx0fVxuXG5cdHByb3RlY3RlZCBzZXQgdmFsdWUodmFsdWU6IFRWYWx1ZSkge1xuXHRcdHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdHB1YmxpYyBnZXQgaW5wdXRQbGFjZWhvbGRlcigpOiBzdHJpbmcgfCBudWxsIHtcblx0XHRyZXR1cm4gdGhpcy52YWx1ZSA/IG51bGwgOiB0aGlzLnBsYWNlaG9sZGVyJC52YWx1ZTtcblx0fVxuXG5cdHB1YmxpYyBjbHVlQ2hhbmdlZChjbHVlOiBzdHJpbmcsIHNraXBQYW5lbE9wZW4gPSBmYWxzZSk6IHZvaWQge1xuXHRcdHRoaXMuY2x1ZSA9IGNsdWU7XG5cblx0XHRpZiAoIXNraXBQYW5lbE9wZW4gJiYgIXRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdHRoaXMub3BlblBhbmVsKGNsdWUpO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5sYXN0RW1pdHRlZENsdWUgIT09IGNsdWUpIHtcblx0XHRcdHRoaXMuY2x1ZUNoYW5nZS5lbWl0KGNsdWUpO1xuXHRcdFx0dGhpcy5sYXN0RW1pdHRlZENsdWUgPSBjbHVlO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBfdmFsdWU/OiBUVmFsdWU7XG5cblx0b3B0aW9ucyQgPSBuZXcgUmVwbGF5U3ViamVjdDxUT3B0aW9uW10+KDEpO1xuXHRsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXHRjbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblx0Ly8gVGhpcyBpcyB0aGUgY2x1ZSBzdG9yZWQgYWZ0ZXIgd2Ugc2VsZWN0ZWQgYW4gb3B0aW9uIHRvIGtub3cgaWYgd2Ugc2hvdWxkIGVtaXQgYW4gZW1wdHkgY2x1ZSBvbiBvcGVuIG9yIG5vdFxuXHRsYXN0RW1pdHRlZENsdWU6IHN0cmluZyA9ICcnO1xuXG5cdHByb3RlY3RlZCBvbkNoYW5nZT86ICh2YWx1ZTogVFZhbHVlIHwgbnVsbCkgPT4gdm9pZDtcblx0cHJvdGVjdGVkIG9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cblx0cHVibGljIGdldCBwYW5lbFJlZigpOiBMdVNlbGVjdFBhbmVsUmVmPFRPcHRpb24sIFRWYWx1ZT4gfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiB0aGlzLl9wYW5lbFJlZjtcblx0fVxuXG5cdHByb3RlY3RlZCBfcGFuZWxSZWY/OiBMdVNlbGVjdFBhbmVsUmVmPFRPcHRpb24sIFRWYWx1ZT47XG5cblx0cHJvdGVjdGVkIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcblx0b25DbGlja09wZW5QYW5lbCgkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAoIXRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdHRoaXMub3BlblBhbmVsKCk7XG5cdFx0XHQkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHQkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHR9XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcblx0b25LZXlEb3duTmF2aWdhdGlvbigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRzd2l0Y2ggKCRldmVudC5rZXkpIHtcblx0XHRcdGNhc2UgJ0VzY2FwZSc6XG5cdFx0XHRcdGlmICh0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHRcdFx0JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMucGFuZWxSZWY/LmNsb3NlKCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnVGFiJzpcblx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uY2xvc2UoKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdFbnRlcic6XG5cdFx0XHRcdGlmICh0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHRcdFx0dGhpcy5wYW5lbFJlZi5zZWxlY3RDdXJyZW50bHlIaWdobGlnaHRlZFZhbHVlKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uaGFuZGxlS2V5TWFuYWdlckV2ZW50KCRldmVudCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICcgJzpcblx0XHRcdGNhc2UgJ0Fycm93RG93bic6XG5cdFx0XHRjYXNlICdBcnJvd1VwJzpcblx0XHRcdFx0Ly8gSW5pdGlhbCBzcGFjZSBzaG91bGQganVzdCBvcGVuIHRoZSBwYW5lbCwgbm90IHRyaWdnZXIgYSBjbHVlIGNoYW5nZVxuXHRcdFx0XHRpZiAoIXRoaXMuY2x1ZSAmJiAkZXZlbnQua2V5ID09PSAnICcpIHtcblx0XHRcdFx0XHQkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0XHRcdHRoaXMucGFuZWxSZWY/LmhhbmRsZUtleU1hbmFnZXJFdmVudCgkZXZlbnQpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMub3BlblBhbmVsKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHR0aGlzLnBhbmVsUmVmPy5oYW5kbGVLZXlNYW5hZ2VyRXZlbnQoJGV2ZW50KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblx0cHJvdGVjdGVkIG92ZXJsYXlDb250YWluZXJSZWY6IEhUTUxFbGVtZW50ID0gaW5qZWN0KE92ZXJsYXlDb250YWluZXIpLmdldENvbnRhaW5lckVsZW1lbnQoKTtcblxuXHRwcm90ZWN0ZWQgbGFiZWxFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCA9IGluamVjdChTRUxFQ1RfTEFCRUwpO1xuXHRwcm90ZWN0ZWQgbGFiZWxJZDogc3RyaW5nID0gaW5qZWN0KFNFTEVDVF9MQUJFTF9JRCk7XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBUVmFsdWUpID0+IHZvaWQpOiB2b2lkIHtcblx0XHR0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG5cdH1cblxuXHRyZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcblx0XHR0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcblx0fVxuXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMuZGlzYWJsZWQkLm5leHQoaXNEaXNhYmxlZCk7XG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuY2xvc2VQYW5lbCgpO1xuXHRcdHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG5cdFx0dGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5sYWJlbEVsZW1lbnQpIHtcblx0XHRcdHRoaXMubGFiZWxFbGVtZW50LmlkID0gdGhpcy5sYWJlbElkO1xuXHRcdH1cblx0fVxuXG5cdGNsZWFyVmFsdWUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0dGhpcy51cGRhdGVWYWx1ZShudWxsLCB0cnVlKTtcblx0XHR0aGlzLmlucHV0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdH1cblxuXHRvcGVuUGFuZWwoY2x1ZTogc3RyaW5nID0gJycpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5pc1BhbmVsT3BlbiB8fCB0aGlzLmRpc2FibGVkJC52YWx1ZSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuaXNQYW5lbE9wZW4kLm5leHQodHJ1ZSk7XG5cdFx0dGhpcy5jbHVlQ2hhbmdlZChjbHVlKTtcblx0XHR0aGlzLl9wYW5lbFJlZiA9IHRoaXMuYnVpbGRQYW5lbFJlZigpO1xuXHRcdHRoaXMuYmluZElucHV0VG9QYW5lbFJlZkV2ZW50cygpO1xuXHRcdHNldFRpbWVvdXQoKCkgPT4gdGhpcy5mb2N1c0lucHV0KCkpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkUGFuZWxSZWYoKTogdGhpc1sncGFuZWxSZWYnXTtcblxuXHRwcm90ZWN0ZWQgYmluZElucHV0VG9QYW5lbFJlZkV2ZW50cygpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMucGFuZWxSZWYpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnBhbmVsUmVmLnZhbHVlQ2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKSk7XG5cdFx0dGhpcy5wYW5lbFJlZi5uZXh0UGFnZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5uZXh0UGFnZS5lbWl0KCkpO1xuXHRcdHRoaXMucGFuZWxSZWYucHJldmlvdXNQYWdlLnN1YnNjcmliZSgoKSA9PiB0aGlzLnByZXZpb3VzUGFnZS5lbWl0KCkpO1xuXHRcdHRoaXMucGFuZWxSZWYuYWN0aXZlT3B0aW9uSWRDaGFuZ2VkLnN1YnNjcmliZSgob3B0aW9uSWQpID0+IHtcblx0XHRcdHRoaXMuYWN0aXZlRGVzY2VuZGFudCQubmV4dChvcHRpb25JZCk7XG5cdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHRcdH0pO1xuXHRcdHRoaXMucGFuZWxSZWYuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlUGFuZWwoKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgZm9jdXNJbnB1dCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5pbnB1dEVsZW1lbnRSZWYpIHtcblx0XHRcdHRoaXMuaW5wdXRFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgZW1wdHlDbHVlKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmNsdWUpIHtcblx0XHRcdHRoaXMuY2x1ZSA9IG51bGw7XG5cdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBjbG9zZVBhbmVsKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLmVtcHR5Q2x1ZSgpO1xuXHRcdHRoaXMuYWN0aXZlRGVzY2VuZGFudCQubmV4dCgnJyk7XG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0XHR0aGlzLm9uVG91Y2hlZD8uKCk7XG5cdFx0dGhpcy5pc1BhbmVsT3BlbiQubmV4dChmYWxzZSk7XG5cdFx0dGhpcy5wYW5lbFJlZi5jbG9zZSgpO1xuXHRcdHRoaXMuX3BhbmVsUmVmID0gdW5kZWZpbmVkO1xuXHR9XG5cblx0cHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFRWYWx1ZSk6IHZvaWQge1xuXHRcdHRoaXMudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdHB1YmxpYyB1cGRhdGVWYWx1ZSh2YWx1ZTogVFZhbHVlLCBza2lwUGFuZWxPcGVuID0gZmFsc2UpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlID0gdmFsdWU7XG5cdFx0dGhpcy5lbXB0eUNsdWUoKTtcblx0XHR0aGlzLmNsdWVDaGFuZ2VkKCcnLCBza2lwUGFuZWxPcGVuKTtcblx0XHR0aGlzLm9uQ2hhbmdlPy4odmFsdWUpO1xuXHRcdHRoaXMub25Ub3VjaGVkPy4oKTtcblx0fVxufVxuIl19
@@ -74,7 +74,7 @@ export class LuCoreSelectUsersDirective extends ALuCoreSelectApiDirective {
74
74
  ...filters,
75
75
  ...(orderBy ? { orderBy } : {}),
76
76
  ...(clue ? { clue: sanitizeClueFilter(clue) } : {}),
77
- ...(operationIds ? { operationIds: operationIds.join(',') } : {}),
77
+ ...(operationIds ? { operations: operationIds.join(',') } : {}),
78
78
  ...(appInstanceId ? { appInstanceId } : {}),
79
79
  ...(enableFormerEmployees ? { enableFormerEmployees } : {}),
80
80
  })));
@@ -150,4 +150,4 @@ function sanitizeClueFilter(clue) {
150
150
  .map((c) => encodeURIComponent(c))
151
151
  .join(',');
152
152
  }
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvY29yZS1zZWxlY3QvdXNlci91c2Vycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLEtBQUssRUFBYyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0gsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVVoRSxNQUFNLE9BQU8sMEJBQTBFLFNBQVEseUJBQTRCO0lBQzFILGlCQUFpQixDQUEwQjtJQUMzQyx1QkFBdUIsQ0FBZ0M7SUFDdkQsb0JBQW9CLENBQTJDO0lBRS9ELHlEQUF5RDtJQUN6RCxXQUFXLENBQXdDO0lBS25ELElBQ1csR0FBRyxDQUFDLEdBQWtCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFD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QkFBcUI7c0JBRC9CLEtBQUs7Z0JBTUssZUFBZTtzQkFEekIsS0FBSztnQkFVSyxhQUFhO3NCQUR2QixLQUFLO2dCQVlLLE9BQU87c0JBRGpCLEtBQUs7O0FBcUdQLFNBQVMsa0JBQWtCLENBQUMsSUFBWTtJQUN2QyxPQUFPLElBQUk7U0FDVCxLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgSUx1QXBpQ29sbGVjdGlvblJlc3BvbnNlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2FwaSc7XG5pbXBvcnQgeyBBTHVDb3JlU2VsZWN0QXBpRGlyZWN0aXZlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUtc2VsZWN0L2FwaSc7XG5pbXBvcnQgeyBMdURpc3BsYXlGb3JtYXQsIEx1RGlzcGxheUZ1bGxuYW1lIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL3VzZXInO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExVX0NPUkVfU0VMRUNUX0NVUlJFTlRfVVNFUl9JRCB9IGZyb20gJy4vbWUucHJvdmlkZXInO1xuaW1wb3J0IHsgTHVVc2VyRGlzcGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLWRpc3BsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0VXNlckhvbW9ueW1zU2VydmljZSB9IGZyb20gJy4vdXNlci1ob21vbnltLnNlcnZpY2UnO1xuaW1wb3J0IHsgTHVVc2VyT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0VXNlciB9IGZyb20gJy4vdXNlci1vcHRpb24ubW9kZWwnO1xuXG5ARGlyZWN0aXZlKHtcblx0Ly8gVGhlIGF0dHJpYnV0ZSBpcyBhbHJlYWR5IHByZWZpeGVkIHdpdGggXCJsdS1zaW1wbGUtc2VsZWN0XCJcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3Jcblx0c2VsZWN0b3I6ICdsdS1zaW1wbGUtc2VsZWN0W3VzZXJzXSxsdS1tdWx0aS1zZWxlY3RbdXNlcnNdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0ZXhwb3J0QXM6ICdsdVVzZXJzJyxcbn0pXG5leHBvcnQgY2xhc3MgTHVDb3JlU2VsZWN0VXNlcnNEaXJlY3RpdmU8VCBleHRlbmRzIEx1Q29yZVNlbGVjdFVzZXIgPSBMdUNvcmVTZWxlY3RVc2VyPiBleHRlbmRzIEFMdUNvcmVTZWxlY3RBcGlEaXJlY3RpdmU8VD4ge1xuXHQjZGVmYXVsdFNlYXJjaFVybCA9ICcvYXBpL3YzL3VzZXJzL3NlYXJjaCc7XG5cdCNkZWZhdWx0U2NvcGVkU2VhcmNoVXJsID0gJy9hcGkvdjMvdXNlcnMvc2NvcGVkc2VhcmNoJztcblx0I3VzZXJIb21vbnltc1NlcnZpY2UgPSBpbmplY3QoTHVDb3JlU2VsZWN0VXNlckhvbW9ueW1zU2VydmljZSk7XG5cblx0Ly8gTm90IG92ZXJyaWRhYmxlIHNvIGl0IHdpbGwgZWFzZSBlbXBsb3llZSBBUEkgbWlncmF0aW9uXG5cdCN1c2VyRmllbGRzID0gJ2lkLGZpcnN0TmFtZSxsYXN0TmFtZSxwaWN0dXJlLmhyZWYnO1xuXG5cdHByb3RlY3RlZCBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXHRwdWJsaWMgY3VycmVudFVzZXJJZCA9IGluamVjdChMVV9DT1JFX1NFTEVDVF9DVVJSRU5UX1VTRVJfSUQpO1xuXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBzZXQgdXJsKHVybDogc3RyaW5nIHwgbnVsbCkge1xuXHRcdHRoaXMuY3VzdG9tVXJsLnNldCh1cmwpO1xuXHR9XG5cblx0QElucHV0KClcblx0cHVibGljIHNldCBvcGVyYXRpb25JZHMoaWRzOiBudW1iZXJbXSB8IG51bGwpIHtcblx0XHR0aGlzLl9vcGVyYXRpb25JZHMuc2V0KGlkcyk7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGFwcEluc3RhbmNlSWQoaWQ6IG51bWJlciB8IG51bGwpIHtcblx0XHR0aGlzLl9hcHBJbnN0YW5jZUlkLnNldChpZCk7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGVuYWJsZUZvcm1lckVtcGxveWVlcyh2YWx1ZTogYm9vbGVhbikge1xuXHRcdHRoaXMuX2VuYWJsZUZvcm1lckVtcGxveWVlcy5zZXQodmFsdWUpO1xuXHR9XG5cblx0QElucHV0KClcblx0cHVibGljIHNldCBkaXNwbGF5TWVPcHRpb24odmFsdWU6IGJvb2xlYW4pIHtcblx0XHR0aGlzLl9kaXNwbGF5TWVPcHRpb24uc2V0KHZhbHVlKTtcblx0fVxuXG5cdHB1YmxpYyBnZXQgZGlzcGxheU1lT3B0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLl9kaXNwbGF5TWVPcHRpb24oKTtcblx0fVxuXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBzZXQgZGlzcGxheUZvcm1hdChmb3JtYXQ6IEx1RGlzcGxheUZvcm1hdCkge1xuXHRcdHRoaXMuZGlzcGxheUZvcm1hdCA9IGZvcm1hdDtcblx0fVxuXG5cdHByaXZhdGUgX2Rpc3BsYXlGb3JtYXQ6IEx1RGlzcGxheUZvcm1hdCA9IEx1RGlzcGxheUZ1bGxuYW1lLmxhc3RmaXJzdDtcblxuXHRwdWJsaWMgZ2V0IGRpc3BsYXlGb3JtYXQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc3BsYXlGb3JtYXQ7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGZpbHRlcnMoZmlsdGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4pIHtcblx0XHR0aGlzLl9maWx0ZXJzLnNldChmaWx0ZXJzKTtcblx0fVxuXG5cdHByb3RlY3RlZCBfdXJsID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5zZWxlY3Qub3B0aW9uVHBsID0gTHVVc2VyT3B0aW9uQ29tcG9uZW50O1xuXHRcdHRoaXMuc2VsZWN0LnZhbHVlVHBsID0gTHVVc2VyRGlzcGxheWVyQ29tcG9uZW50O1xuXHR9XG5cblx0cHJvdGVjdGVkIF9vcmRlckJ5ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXHRwcm90ZWN0ZWQgX2ZpbHRlcnMgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+KHt9KTtcblx0cHJvdGVjdGVkIF9vcGVyYXRpb25JZHMgPSBzaWduYWw8bnVtYmVyW10gfCBudWxsPihudWxsKTtcblx0cHJvdGVjdGVkIF9hcHBJbnN0YW5jZUlkID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xuXHRwcm90ZWN0ZWQgX2VuYWJsZUZvcm1lckVtcGxveWVlcyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cdHByb3RlY3RlZCBkZWZhdWx0VXJsID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuX2FwcEluc3RhbmNlSWQoKSAmJiB0aGlzLl9vcGVyYXRpb25JZHMoKT8ubGVuZ3RoID8gdGhpcy4jZGVmYXVsdFNjb3BlZFNlYXJjaFVybCA6IHRoaXMuI2RlZmF1bHRTZWFyY2hVcmwpKTtcblx0cHJvdGVjdGVkIGN1c3RvbVVybCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcblx0cHJvdGVjdGVkIF9kaXNwbGF5TWVPcHRpb24gPSBzaWduYWw8Ym9vbGVhbj4odHJ1ZSk7XG5cdHByb3RlY3RlZCBkaXNwbGF5TWVPcHRpb24kID0gdG9PYnNlcnZhYmxlKHRoaXMuX2Rpc3BsYXlNZU9wdGlvbik7XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIHBhcmFtcyQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+ID0gY29tYmluZUxhdGVzdChbXG5cdFx0dG9PYnNlcnZhYmxlKHRoaXMuX2ZpbHRlcnMpLFxuXHRcdHRvT2JzZXJ2YWJsZSh0aGlzLl9vcmRlckJ5KSxcblx0XHR0aGlzLmNsdWUkLFxuXHRcdHRvT2JzZXJ2YWJsZSh0aGlzLl9vcGVyYXRpb25JZHMpLFxuXHRcdHRvT2JzZXJ2YWJsZSh0aGlzLl9hcHBJbnN0YW5jZUlkKSxcblx0XHR0b09ic2VydmFibGUodGhpcy5fZW5hYmxlRm9ybWVyRW1wbG95ZWVzKSxcblx0XSkucGlwZShcblx0XHRtYXAoKFtmaWx0ZXJzLCBvcmRlckJ5LCBjbHVlLCBvcGVyYXRpb25JZHMsIGFwcEluc3RhbmNlSWQsIGVuYWJsZUZvcm1lckVtcGxveWVlc10pID0+ICh7XG5cdFx0XHRmaWVsZHM6IHRoaXMuI3VzZXJGaWVsZHMsXG5cdFx0XHQuLi5maWx0ZXJzLFxuXHRcdFx0Li4uKG9yZGVyQnkgPyB7IG9yZGVyQnkgfSA6IHt9KSxcblx0XHRcdC4uLihjbHVlID8geyBjbHVlOiBzYW5pdGl6ZUNsdWVGaWx0ZXIoY2x1ZSkgfSA6IHt9KSxcblx0XHRcdC4uLihvcGVyYXRpb25JZHMgPyB7IG9wZXJhdGlvbklkczogb3BlcmF0aW9uSWRzLmpvaW4oJywnKSB9IDoge30pLFxuXHRcdFx0Li4uKGFwcEluc3RhbmNlSWQgPyB7IGFwcEluc3RhbmNlSWQgfSA6IHt9KSxcblx0XHRcdC4uLihlbmFibGVGb3JtZXJFbXBsb3llZXMgPyB7IGVuYWJsZUZvcm1lckVtcGxveWVlcyB9IDoge30pLFxuXHRcdH0pKSxcblx0KTtcblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0T3B0aW9ucyhwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+LCBwYWdlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRbXT4ge1xuXHRcdGNvbnN0IHVybCA9IHRoaXMuY3VzdG9tVXJsKCkgfHwgdGhpcy5kZWZhdWx0VXJsKCk7XG5cblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50XG5cdFx0XHQuZ2V0PElMdUFwaUNvbGxlY3Rpb25SZXNwb25zZTx7IGl0ZW06IFQgfT4+KHVybCwge1xuXHRcdFx0XHRwYXJhbXM6IHtcblx0XHRcdFx0XHQuLi5wYXJhbXMsXG5cdFx0XHRcdFx0cGFnaW5nOiBgJHtwYWdlICogdGhpcy5wYWdlU2l6ZX0sJHt0aGlzLnBhZ2VTaXplfWAsXG5cdFx0XHRcdH0sXG5cdFx0XHR9KVxuXHRcdFx0LnBpcGUobWFwKChyZXMpID0+IHJlcy5kYXRhLml0ZW1zLm1hcCgoeyBpdGVtIH0pID0+IGl0ZW0pKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgZ2V0TWUoKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuXHRcdGNvbnN0IHVybCA9IHRoaXMuY3VzdG9tVXJsKCkgfHwgdGhpcy5kZWZhdWx0VXJsKCk7XG5cblx0XHRjb25zdCBwYXJhbXMgPSB7XG5cdFx0XHRpZDogdGhpcy5jdXJyZW50VXNlcklkLFxuXHRcdFx0ZmllbGRzOiB0aGlzLiN1c2VyRmllbGRzLFxuXHRcdFx0Li4uKHRoaXMuX2ZpbHRlcnMoKSA/PyB7fSksXG5cdFx0XHQuLi4odGhpcy5fb3BlcmF0aW9uSWRzKCkgPyB7IG9wZXJhdGlvbklkczogdGhpcy5fb3BlcmF0aW9uSWRzKCkuam9pbignLCcpIH0gOiB7fSksXG5cdFx0XHQuLi4odGhpcy5fYXBwSW5zdGFuY2VJZCgpID8geyBhcHBJbnN0YW5jZUlkOiB0aGlzLl9hcHBJbnN0YW5jZUlkKCkgfSA6IHt9KSxcblx0XHRcdC4uLih0aGlzLl9lbmFibGVGb3JtZXJFbXBsb3llZXMoKSA/IHsgZW5hYmxlRm9ybWVyRW1wbG95ZWVzOiB0aGlzLl9lbmFibGVGb3JtZXJFbXBsb3llZXMoKSB9IDoge30pLFxuXHRcdH07XG5cblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50XG5cdFx0XHQuZ2V0PElMdUFwaUNvbGxlY3Rpb25SZXNwb25zZTx7IGl0ZW06IFQgfT4+KHVybCwge1xuXHRcdFx0XHRwYXJhbXMsXG5cdFx0XHR9KVxuXHRcdFx0LnBpcGUobWFwKChyZXMpID0+IHJlcy5kYXRhLml0ZW1zLm1hcCgoeyBpdGVtIH0pID0+IGl0ZW0pWzBdID8/IG51bGwpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvdmVycmlkZSBidWlsZE9wdGlvbnMoKTogT2JzZXJ2YWJsZTxUW10+IHtcblx0XHRjb25zdCBoYXNDbHVlJCA9IHRoaXMuY2x1ZSQucGlwZShtYXAoKGNsdWUpID0+ICEhY2x1ZSkpO1xuXHRcdGNvbnN0IGRpc3BsYXlNZSQgPSBjb21iaW5lTGF0ZXN0KFtoYXNDbHVlJCwgdGhpcy5kaXNwbGF5TWVPcHRpb24kXSkucGlwZShcblx0XHRcdG1hcCgoW2hhc0NsdWUsIGRpc3BsYXlNZU9wdGlvbl0pID0+IGRpc3BsYXlNZU9wdGlvbiAmJiAhaGFzQ2x1ZSksXG5cdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuXHRcdCk7XG5cblx0XHQvLyBXYWl0IGZvciB0aGUgZmlyc3QgdGltZSB0aGUgcGFuZWwgaXMgb3BlbiB0byBnZXQgdGhlIGN1cnJlbnQgdXNlclxuXHRcdGNvbnN0IG1lJCA9IHRoaXMuc2VsZWN0LmlzUGFuZWxPcGVuJC5waXBlKFxuXHRcdFx0ZmlsdGVyKChpc09wZW4pID0+IGlzT3BlbiksXG5cdFx0XHR0YWtlKDEpLFxuXHRcdFx0c3dpdGNoTWFwKChpc09wZW4pID0+IChpc09wZW4gPyB0aGlzLmdldE1lKCkgOiBFTVBUWSkpLFxuXHRcdFx0c2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcblx0XHQpO1xuXG5cdFx0Y29uc3Qgb3B0aW9ucyQgPSBzdXBlci5idWlsZE9wdGlvbnMoKTtcblxuXHRcdHJldHVybiBkaXNwbGF5TWUkLnBpcGUoXG5cdFx0XHRzd2l0Y2hNYXAoKGRpc3BsYXlNZSkgPT4gY29tYmluZUxhdGVzdChbb3B0aW9ucyQsIGRpc3BsYXlNZSA/IG1lJCA6IG9mKG51bGwpXSkpLFxuXHRcdFx0bWFwKChbb3B0aW9ucywgbWVdKSA9PiAobWUgPyBbbWUsIC4uLihvcHRpb25zID8/IFtdKS5maWx0ZXIoKG8pID0+IG8uaWQgIT09IG1lLmlkKV0gOiBvcHRpb25zKSksXG5cdFx0XHRzd2l0Y2hNYXAoKHVzZXJzKSA9PiB0aGlzLiN1c2VySG9tb255bXNTZXJ2aWNlLmhhbmRsZUhvbW9ueW1zKHVzZXJzLCB0aGlzLmRpc3BsYXlGb3JtYXQpKSxcblx0XHQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIG9wdGlvbkNvbXBhcmVyID0gKGE6IFQsIGI6IFQpID0+IGEuaWQgPT09IGIuaWQ7XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplQ2x1ZUZpbHRlcihjbHVlOiBzdHJpbmcpIHtcblx0cmV0dXJuIGNsdWVcblx0XHQuc3BsaXQoJyAnKVxuXHRcdC5tYXAoKGM6IHN0cmluZykgPT4gZW5jb2RlVVJJQ29tcG9uZW50KGMpKVxuXHRcdC5qb2luKCcsJyk7XG59XG4iXX0=
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvY29yZS1zZWxlY3QvdXNlci91c2Vycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLEtBQUssRUFBYyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0gsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVVoRSxNQUFNLE9BQU8sMEJBQTBFLFNBQVEseUJBQTRCO0lBQzFILGlCQUFpQixDQUEwQjtJQUMzQyx1QkFBdUIsQ0FBZ0M7SUFDdkQsb0JBQW9CLENBQTJDO0lBRS9ELHlEQUF5RDtJQUN6RCxXQUFXLENBQXdDO0lBS25ELElBQ1csR0FBRyxDQUFDLEdBQWtCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFD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QkFBcUI7c0JBRC9CLEtBQUs7Z0JBTUssZUFBZTtzQkFEekIsS0FBSztnQkFVSyxhQUFhO3NCQUR2QixLQUFLO2dCQVlLLE9BQU87c0JBRGpCLEtBQUs7O0FBcUdQLFNBQVMsa0JBQWtCLENBQUMsSUFBWTtJQUN2QyxPQUFPLElBQUk7U0FDVCxLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgSUx1QXBpQ29sbGVjdGlvblJlc3BvbnNlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2FwaSc7XG5pbXBvcnQgeyBBTHVDb3JlU2VsZWN0QXBpRGlyZWN0aXZlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUtc2VsZWN0L2FwaSc7XG5pbXBvcnQgeyBMdURpc3BsYXlGb3JtYXQsIEx1RGlzcGxheUZ1bGxuYW1lIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL3VzZXInO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExVX0NPUkVfU0VMRUNUX0NVUlJFTlRfVVNFUl9JRCB9IGZyb20gJy4vbWUucHJvdmlkZXInO1xuaW1wb3J0IHsgTHVVc2VyRGlzcGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLWRpc3BsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0VXNlckhvbW9ueW1zU2VydmljZSB9IGZyb20gJy4vdXNlci1ob21vbnltLnNlcnZpY2UnO1xuaW1wb3J0IHsgTHVVc2VyT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0VXNlciB9IGZyb20gJy4vdXNlci1vcHRpb24ubW9kZWwnO1xuXG5ARGlyZWN0aXZlKHtcblx0Ly8gVGhlIGF0dHJpYnV0ZSBpcyBhbHJlYWR5IHByZWZpeGVkIHdpdGggXCJsdS1zaW1wbGUtc2VsZWN0XCJcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3Jcblx0c2VsZWN0b3I6ICdsdS1zaW1wbGUtc2VsZWN0W3VzZXJzXSxsdS1tdWx0aS1zZWxlY3RbdXNlcnNdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0ZXhwb3J0QXM6ICdsdVVzZXJzJyxcbn0pXG5leHBvcnQgY2xhc3MgTHVDb3JlU2VsZWN0VXNlcnNEaXJlY3RpdmU8VCBleHRlbmRzIEx1Q29yZVNlbGVjdFVzZXIgPSBMdUNvcmVTZWxlY3RVc2VyPiBleHRlbmRzIEFMdUNvcmVTZWxlY3RBcGlEaXJlY3RpdmU8VD4ge1xuXHQjZGVmYXVsdFNlYXJjaFVybCA9ICcvYXBpL3YzL3VzZXJzL3NlYXJjaCc7XG5cdCNkZWZhdWx0U2NvcGVkU2VhcmNoVXJsID0gJy9hcGkvdjMvdXNlcnMvc2NvcGVkc2VhcmNoJztcblx0I3VzZXJIb21vbnltc1NlcnZpY2UgPSBpbmplY3QoTHVDb3JlU2VsZWN0VXNlckhvbW9ueW1zU2VydmljZSk7XG5cblx0Ly8gTm90IG92ZXJyaWRhYmxlIHNvIGl0IHdpbGwgZWFzZSBlbXBsb3llZSBBUEkgbWlncmF0aW9uXG5cdCN1c2VyRmllbGRzID0gJ2lkLGZpcnN0TmFtZSxsYXN0TmFtZSxwaWN0dXJlLmhyZWYnO1xuXG5cdHByb3RlY3RlZCBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXHRwdWJsaWMgY3VycmVudFVzZXJJZCA9IGluamVjdChMVV9DT1JFX1NFTEVDVF9DVVJSRU5UX1VTRVJfSUQpO1xuXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBzZXQgdXJsKHVybDogc3RyaW5nIHwgbnVsbCkge1xuXHRcdHRoaXMuY3VzdG9tVXJsLnNldCh1cmwpO1xuXHR9XG5cblx0QElucHV0KClcblx0cHVibGljIHNldCBvcGVyYXRpb25JZHMoaWRzOiBudW1iZXJbXSB8IG51bGwpIHtcblx0XHR0aGlzLl9vcGVyYXRpb25JZHMuc2V0KGlkcyk7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGFwcEluc3RhbmNlSWQoaWQ6IG51bWJlciB8IG51bGwpIHtcblx0XHR0aGlzLl9hcHBJbnN0YW5jZUlkLnNldChpZCk7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGVuYWJsZUZvcm1lckVtcGxveWVlcyh2YWx1ZTogYm9vbGVhbikge1xuXHRcdHRoaXMuX2VuYWJsZUZvcm1lckVtcGxveWVlcy5zZXQodmFsdWUpO1xuXHR9XG5cblx0QElucHV0KClcblx0cHVibGljIHNldCBkaXNwbGF5TWVPcHRpb24odmFsdWU6IGJvb2xlYW4pIHtcblx0XHR0aGlzLl9kaXNwbGF5TWVPcHRpb24uc2V0KHZhbHVlKTtcblx0fVxuXG5cdHB1YmxpYyBnZXQgZGlzcGxheU1lT3B0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLl9kaXNwbGF5TWVPcHRpb24oKTtcblx0fVxuXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBzZXQgZGlzcGxheUZvcm1hdChmb3JtYXQ6IEx1RGlzcGxheUZvcm1hdCkge1xuXHRcdHRoaXMuZGlzcGxheUZvcm1hdCA9IGZvcm1hdDtcblx0fVxuXG5cdHByaXZhdGUgX2Rpc3BsYXlGb3JtYXQ6IEx1RGlzcGxheUZvcm1hdCA9IEx1RGlzcGxheUZ1bGxuYW1lLmxhc3RmaXJzdDtcblxuXHRwdWJsaWMgZ2V0IGRpc3BsYXlGb3JtYXQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc3BsYXlGb3JtYXQ7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGZpbHRlcnMoZmlsdGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4pIHtcblx0XHR0aGlzLl9maWx0ZXJzLnNldChmaWx0ZXJzKTtcblx0fVxuXG5cdHByb3RlY3RlZCBfdXJsID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5zZWxlY3Qub3B0aW9uVHBsID0gTHVVc2VyT3B0aW9uQ29tcG9uZW50O1xuXHRcdHRoaXMuc2VsZWN0LnZhbHVlVHBsID0gTHVVc2VyRGlzcGxheWVyQ29tcG9uZW50O1xuXHR9XG5cblx0cHJvdGVjdGVkIF9vcmRlckJ5ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXHRwcm90ZWN0ZWQgX2ZpbHRlcnMgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+KHt9KTtcblx0cHJvdGVjdGVkIF9vcGVyYXRpb25JZHMgPSBzaWduYWw8bnVtYmVyW10gfCBudWxsPihudWxsKTtcblx0cHJvdGVjdGVkIF9hcHBJbnN0YW5jZUlkID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xuXHRwcm90ZWN0ZWQgX2VuYWJsZUZvcm1lckVtcGxveWVlcyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cdHByb3RlY3RlZCBkZWZhdWx0VXJsID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuX2FwcEluc3RhbmNlSWQoKSAmJiB0aGlzLl9vcGVyYXRpb25JZHMoKT8ubGVuZ3RoID8gdGhpcy4jZGVmYXVsdFNjb3BlZFNlYXJjaFVybCA6IHRoaXMuI2RlZmF1bHRTZWFyY2hVcmwpKTtcblx0cHJvdGVjdGVkIGN1c3RvbVVybCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcblx0cHJvdGVjdGVkIF9kaXNwbGF5TWVPcHRpb24gPSBzaWduYWw8Ym9vbGVhbj4odHJ1ZSk7XG5cdHByb3RlY3RlZCBkaXNwbGF5TWVPcHRpb24kID0gdG9PYnNlcnZhYmxlKHRoaXMuX2Rpc3BsYXlNZU9wdGlvbik7XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIHBhcmFtcyQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+ID0gY29tYmluZUxhdGVzdChbXG5cdFx0dG9PYnNlcnZhYmxlKHRoaXMuX2ZpbHRlcnMpLFxuXHRcdHRvT2JzZXJ2YWJsZSh0aGlzLl9vcmRlckJ5KSxcblx0XHR0aGlzLmNsdWUkLFxuXHRcdHRvT2JzZXJ2YWJsZSh0aGlzLl9vcGVyYXRpb25JZHMpLFxuXHRcdHRvT2JzZXJ2YWJsZSh0aGlzLl9hcHBJbnN0YW5jZUlkKSxcblx0XHR0b09ic2VydmFibGUodGhpcy5fZW5hYmxlRm9ybWVyRW1wbG95ZWVzKSxcblx0XSkucGlwZShcblx0XHRtYXAoKFtmaWx0ZXJzLCBvcmRlckJ5LCBjbHVlLCBvcGVyYXRpb25JZHMsIGFwcEluc3RhbmNlSWQsIGVuYWJsZUZvcm1lckVtcGxveWVlc10pID0+ICh7XG5cdFx0XHRmaWVsZHM6IHRoaXMuI3VzZXJGaWVsZHMsXG5cdFx0XHQuLi5maWx0ZXJzLFxuXHRcdFx0Li4uKG9yZGVyQnkgPyB7IG9yZGVyQnkgfSA6IHt9KSxcblx0XHRcdC4uLihjbHVlID8geyBjbHVlOiBzYW5pdGl6ZUNsdWVGaWx0ZXIoY2x1ZSkgfSA6IHt9KSxcblx0XHRcdC4uLihvcGVyYXRpb25JZHMgPyB7IG9wZXJhdGlvbnM6IG9wZXJhdGlvbklkcy5qb2luKCcsJykgfSA6IHt9KSxcblx0XHRcdC4uLihhcHBJbnN0YW5jZUlkID8geyBhcHBJbnN0YW5jZUlkIH0gOiB7fSksXG5cdFx0XHQuLi4oZW5hYmxlRm9ybWVyRW1wbG95ZWVzID8geyBlbmFibGVGb3JtZXJFbXBsb3llZXMgfSA6IHt9KSxcblx0XHR9KSksXG5cdCk7XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIGdldE9wdGlvbnMocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiwgcGFnZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxUW10+IHtcblx0XHRjb25zdCB1cmwgPSB0aGlzLmN1c3RvbVVybCgpIHx8IHRoaXMuZGVmYXVsdFVybCgpO1xuXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudFxuXHRcdFx0LmdldDxJTHVBcGlDb2xsZWN0aW9uUmVzcG9uc2U8eyBpdGVtOiBUIH0+Pih1cmwsIHtcblx0XHRcdFx0cGFyYW1zOiB7XG5cdFx0XHRcdFx0Li4ucGFyYW1zLFxuXHRcdFx0XHRcdHBhZ2luZzogYCR7cGFnZSAqIHRoaXMucGFnZVNpemV9LCR7dGhpcy5wYWdlU2l6ZX1gLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSlcblx0XHRcdC5waXBlKG1hcCgocmVzKSA9PiByZXMuZGF0YS5pdGVtcy5tYXAoKHsgaXRlbSB9KSA9PiBpdGVtKSkpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGdldE1lKCk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcblx0XHRjb25zdCB1cmwgPSB0aGlzLmN1c3RvbVVybCgpIHx8IHRoaXMuZGVmYXVsdFVybCgpO1xuXG5cdFx0Y29uc3QgcGFyYW1zID0ge1xuXHRcdFx0aWQ6IHRoaXMuY3VycmVudFVzZXJJZCxcblx0XHRcdGZpZWxkczogdGhpcy4jdXNlckZpZWxkcyxcblx0XHRcdC4uLih0aGlzLl9maWx0ZXJzKCkgPz8ge30pLFxuXHRcdFx0Li4uKHRoaXMuX29wZXJhdGlvbklkcygpID8geyBvcGVyYXRpb25JZHM6IHRoaXMuX29wZXJhdGlvbklkcygpLmpvaW4oJywnKSB9IDoge30pLFxuXHRcdFx0Li4uKHRoaXMuX2FwcEluc3RhbmNlSWQoKSA/IHsgYXBwSW5zdGFuY2VJZDogdGhpcy5fYXBwSW5zdGFuY2VJZCgpIH0gOiB7fSksXG5cdFx0XHQuLi4odGhpcy5fZW5hYmxlRm9ybWVyRW1wbG95ZWVzKCkgPyB7IGVuYWJsZUZvcm1lckVtcGxveWVlczogdGhpcy5fZW5hYmxlRm9ybWVyRW1wbG95ZWVzKCkgfSA6IHt9KSxcblx0XHR9O1xuXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudFxuXHRcdFx0LmdldDxJTHVBcGlDb2xsZWN0aW9uUmVzcG9uc2U8eyBpdGVtOiBUIH0+Pih1cmwsIHtcblx0XHRcdFx0cGFyYW1zLFxuXHRcdFx0fSlcblx0XHRcdC5waXBlKG1hcCgocmVzKSA9PiByZXMuZGF0YS5pdGVtcy5tYXAoKHsgaXRlbSB9KSA9PiBpdGVtKVswXSA/PyBudWxsKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgYnVpbGRPcHRpb25zKCk6IE9ic2VydmFibGU8VFtdPiB7XG5cdFx0Y29uc3QgaGFzQ2x1ZSQgPSB0aGlzLmNsdWUkLnBpcGUobWFwKChjbHVlKSA9PiAhIWNsdWUpKTtcblx0XHRjb25zdCBkaXNwbGF5TWUkID0gY29tYmluZUxhdGVzdChbaGFzQ2x1ZSQsIHRoaXMuZGlzcGxheU1lT3B0aW9uJF0pLnBpcGUoXG5cdFx0XHRtYXAoKFtoYXNDbHVlLCBkaXNwbGF5TWVPcHRpb25dKSA9PiBkaXNwbGF5TWVPcHRpb24gJiYgIWhhc0NsdWUpLFxuXHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcblx0XHQpO1xuXG5cdFx0Ly8gV2FpdCBmb3IgdGhlIGZpcnN0IHRpbWUgdGhlIHBhbmVsIGlzIG9wZW4gdG8gZ2V0IHRoZSBjdXJyZW50IHVzZXJcblx0XHRjb25zdCBtZSQgPSB0aGlzLnNlbGVjdC5pc1BhbmVsT3BlbiQucGlwZShcblx0XHRcdGZpbHRlcigoaXNPcGVuKSA9PiBpc09wZW4pLFxuXHRcdFx0dGFrZSgxKSxcblx0XHRcdHN3aXRjaE1hcCgoaXNPcGVuKSA9PiAoaXNPcGVuID8gdGhpcy5nZXRNZSgpIDogRU1QVFkpKSxcblx0XHRcdHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG5cdFx0KTtcblxuXHRcdGNvbnN0IG9wdGlvbnMkID0gc3VwZXIuYnVpbGRPcHRpb25zKCk7XG5cblx0XHRyZXR1cm4gZGlzcGxheU1lJC5waXBlKFxuXHRcdFx0c3dpdGNoTWFwKChkaXNwbGF5TWUpID0+IGNvbWJpbmVMYXRlc3QoW29wdGlvbnMkLCBkaXNwbGF5TWUgPyBtZSQgOiBvZihudWxsKV0pKSxcblx0XHRcdG1hcCgoW29wdGlvbnMsIG1lXSkgPT4gKG1lID8gW21lLCAuLi4ob3B0aW9ucyA/PyBbXSkuZmlsdGVyKChvKSA9PiBvLmlkICE9PSBtZS5pZCldIDogb3B0aW9ucykpLFxuXHRcdFx0c3dpdGNoTWFwKCh1c2VycykgPT4gdGhpcy4jdXNlckhvbW9ueW1zU2VydmljZS5oYW5kbGVIb21vbnltcyh1c2VycywgdGhpcy5kaXNwbGF5Rm9ybWF0KSksXG5cdFx0KTtcblx0fVxuXG5cdHByb3RlY3RlZCBvdmVycmlkZSBvcHRpb25Db21wYXJlciA9IChhOiBULCBiOiBUKSA9PiBhLmlkID09PSBiLmlkO1xufVxuXG5mdW5jdGlvbiBzYW5pdGl6ZUNsdWVGaWx0ZXIoY2x1ZTogc3RyaW5nKSB7XG5cdHJldHVybiBjbHVlXG5cdFx0LnNwbGl0KCcgJylcblx0XHQubWFwKChjOiBzdHJpbmcpID0+IGVuY29kZVVSSUNvbXBvbmVudChjKSlcblx0XHQuam9pbignLCcpO1xufVxuIl19
@@ -220,7 +220,7 @@ class LuCoreSelectUsersDirective extends ALuCoreSelectApiDirective {
220
220
  ...filters,
221
221
  ...(orderBy ? { orderBy } : {}),
222
222
  ...(clue ? { clue: sanitizeClueFilter(clue) } : {}),
223
- ...(operationIds ? { operationIds: operationIds.join(',') } : {}),
223
+ ...(operationIds ? { operations: operationIds.join(',') } : {}),
224
224
  ...(appInstanceId ? { appInstanceId } : {}),
225
225
  ...(enableFormerEmployees ? { enableFormerEmployees } : {}),
226
226
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select-user.mjs","sources":["../../../packages/ng/core-select/user/me.provider.ts","../../../packages/ng/core-select/user/user-displayer.component.ts","../../../packages/ng/core-select/user/user-homonym.service.ts","../../../packages/ng/core-select/user/user.translate.ts","../../../packages/ng/core-select/user/user-option.component.ts","../../../packages/ng/core-select/user/users.directive.ts","../../../packages/ng/core-select/user/lucca-front-ng-core-select-user.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\n\nexport const LU_CORE_SELECT_CURRENT_USER_ID = new InjectionToken<number>('LuCoreSelectCurrentUserId');\n\nexport function provideCoreSelectCurrentUserId(factory: () => number): Provider {\n\treturn {\n\t\tprovide: LU_CORE_SELECT_CURRENT_USER_ID,\n\t\tuseFactory: factory,\n\t};\n}\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { LuCoreSelectUser } from './user-option.model';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-displayer',\n\timports: [NgIf, AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t<ng-container *ngIf=\"context.option$ | async as user\">\n\t\t\t{{ user | luUserDisplay : userDirective.displayFormat }}\n\t\t</ng-container>\n\t`,\n\tstandalone: true,\n})\nexport class LuUserDisplayerComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectUser>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { LuDisplayFormat, luUserDisplay } from '@lucca-front/ng/user';\nimport { Observable, map, of, startWith } from 'rxjs';\nimport { LuCoreSelectUser } from './user-option.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuCoreSelectUserHomonymsService {\n\tprotected http = inject(HttpClient);\n\n\tprotected extractHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Set<T> {\n\t\tconst usersByFullName: Record<string, T[]> = {};\n\n\t\tfor (const user of users) {\n\t\t\tconst name = luUserDisplay(user, format);\n\t\t\tusersByFullName[name] ||= [];\n\t\t\tusersByFullName[name].push(user);\n\t\t}\n\n\t\treturn new Set(\n\t\t\tObject.values(usersByFullName)\n\t\t\t\t.filter((users) => users.length > 1)\n\t\t\t\t.flatMap((users) => users),\n\t\t);\n\t}\n\n\tpublic handleHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Observable<T[]> {\n\t\tconst homonyms = this.extractHomonyms(users, format);\n\n\t\tif (homonyms.size === 0) {\n\t\t\treturn of(users);\n\t\t}\n\n\t\treturn this.getAdditionalInformationByUserId(Array.from(homonyms)).pipe(\n\t\t\tmap((additionalInformation) => {\n\t\t\t\treturn users.map((user) => {\n\t\t\t\t\tif (homonyms.has(user)) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...user,\n\t\t\t\t\t\t\tadditionalInformation: additionalInformation[user.id],\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn user;\n\t\t\t\t});\n\t\t\t}),\n\t\t\tstartWith(users),\n\t\t);\n\t}\n\n\tprotected getAdditionalInformationByUserId<T extends LuCoreSelectUser>(homonyms: T[]): Observable<Record<number, string>> {\n\t\tconst userIds = homonyms.map((user) => user.id);\n\n\t\treturn this.http\n\t\t\t.get<ILuApiCollectionResponse<{ id: number; department?: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: userIds.join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.reduce<Record<number, string>>(\n\t\t\t\t\t\t(acc, info) => ({\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t[info.id]: info.department?.name || '',\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_CORE_SELECT_USER_TRANSLATIONS = new InjectionToken('LuCoreSelectUserTranslations', {\n\tfactory: () => luCoreSelectUserTranslations,\n});\n\nexport interface LuCoreSelectUserTranslations {\n\tme: string;\n}\n\nexport const luCoreSelectUserTranslations: ILuTranslation<LuCoreSelectUserTranslations> = {\n\ten: {\n\t\tme: 'Me:',\n\t},\n\tfr: {\n\t\tme: 'Moi :',\n\t},\n\tes: {\n\t\tme: 'Yo :',\n\t},\n\tde: {\n\t\tme: 'Ich:',\n\t},\n\tpt: {\n\t\tme: 'Eu:',\n\t},\n};\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { map, startWith } from 'rxjs';\nimport { LuCoreSelectUser } from './user-option.model';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS } from './user.translate';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-option',\n\timports: [NgIf, AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t<ng-container *ngIf=\"context.option$ | async as user\">\n\t\t\t<div *ngIf=\"userDirective.displayMeOption && user.id === userDirective.currentUserId && hasEmptyClue$ | async; else notMe\">\n\t\t\t\t<b>{{ intl.me }} {{ user | luUserDisplay : userDirective.displayFormat }}</b>\n\t\t\t</div>\n\n\t\t\t<ng-template #notMe>\n\t\t\t\t<div>{{ user | luUserDisplay : userDirective.displayFormat }}</div>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-select-additionalInformation\" *ngIf=\"user.additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t</ng-container>\n\t`,\n\tstandalone: true,\n\tstyles: [\n\t\t`\n\t\t\t.lu-select-additionalInformation {\n\t\t\t\tfont-size: 80%;\n\t\t\t\tfont-style: italic;\n\t\t\t\tmargin-top: -0.25em;\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class LuUserOptionComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectUser>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n\tprotected intl = getIntl(LU_CORE_SELECT_USER_TRANSLATIONS);\n\tprotected hasEmptyClue$ = this.userDirective.select.clueChange.pipe(\n\t\tstartWith(this.userDirective.select.clue),\n\t\tmap((clue) => !clue),\n\t);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, Input, computed, inject, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { LuDisplayFormat, LuDisplayFullname } from '@lucca-front/ng/user';\nimport { EMPTY, Observable, combineLatest, distinctUntilChanged, filter, map, of, shareReplay, switchMap, take } from 'rxjs';\nimport { LU_CORE_SELECT_CURRENT_USER_ID } from './me.provider';\nimport { LuUserDisplayerComponent } from './user-displayer.component';\nimport { LuCoreSelectUserHomonymsService } from './user-homonym.service';\nimport { LuUserOptionComponent } from './user-option.component';\nimport { LuCoreSelectUser } from './user-option.model';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[users],lu-multi-select[users]',\n\tstandalone: true,\n\texportAs: 'luUsers',\n})\nexport class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuCoreSelectUser> extends ALuCoreSelectApiDirective<T> {\n\t#defaultSearchUrl = '/api/v3/users/search';\n\t#defaultScopedSearchUrl = '/api/v3/users/scopedsearch';\n\t#userHomonymsService = inject(LuCoreSelectUserHomonymsService);\n\n\t// Not overridable so it will ease employee API migration\n\t#userFields = 'id,firstName,lastName,picture.href';\n\n\tprotected httpClient = inject(HttpClient);\n\tpublic currentUserId = inject(LU_CORE_SELECT_CURRENT_USER_ID);\n\n\t@Input()\n\tpublic set url(url: string | null) {\n\t\tthis.customUrl.set(url);\n\t}\n\n\t@Input()\n\tpublic set operationIds(ids: number[] | null) {\n\t\tthis._operationIds.set(ids);\n\t}\n\n\t@Input()\n\tpublic set appInstanceId(id: number | null) {\n\t\tthis._appInstanceId.set(id);\n\t}\n\n\t@Input()\n\tpublic set enableFormerEmployees(value: boolean) {\n\t\tthis._enableFormerEmployees.set(value);\n\t}\n\n\t@Input()\n\tpublic set displayMeOption(value: boolean) {\n\t\tthis._displayMeOption.set(value);\n\t}\n\n\tpublic get displayMeOption() {\n\t\treturn this._displayMeOption();\n\t}\n\n\t@Input()\n\tpublic set displayFormat(format: LuDisplayFormat) {\n\t\tthis.displayFormat = format;\n\t}\n\n\tprivate _displayFormat: LuDisplayFormat = LuDisplayFullname.lastfirst;\n\n\tpublic get displayFormat() {\n\t\treturn this._displayFormat;\n\t}\n\n\t@Input()\n\tpublic set filters(filters: Record<string, string | number | boolean>) {\n\t\tthis._filters.set(filters);\n\t}\n\n\tprotected _url = signal<string | null>(null);\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.select.optionTpl = LuUserOptionComponent;\n\t\tthis.select.valueTpl = LuUserDisplayerComponent;\n\t}\n\n\tprotected _orderBy = signal<string | null>(null);\n\tprotected _filters = signal<Record<string, string | number | boolean>>({});\n\tprotected _operationIds = signal<number[] | null>(null);\n\tprotected _appInstanceId = signal<number | null>(null);\n\tprotected _enableFormerEmployees = signal<boolean>(false);\n\tprotected defaultUrl = computed(() => (this._appInstanceId() && this._operationIds()?.length ? this.#defaultScopedSearchUrl : this.#defaultSearchUrl));\n\tprotected customUrl = signal<string | null>(null);\n\tprotected _displayMeOption = signal<boolean>(true);\n\tprotected displayMeOption$ = toObservable(this._displayMeOption);\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = combineLatest([\n\t\ttoObservable(this._filters),\n\t\ttoObservable(this._orderBy),\n\t\tthis.clue$,\n\t\ttoObservable(this._operationIds),\n\t\ttoObservable(this._appInstanceId),\n\t\ttoObservable(this._enableFormerEmployees),\n\t]).pipe(\n\t\tmap(([filters, orderBy, clue, operationIds, appInstanceId, enableFormerEmployees]) => ({\n\t\t\tfields: this.#userFields,\n\t\t\t...filters,\n\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t...(clue ? { clue: sanitizeClueFilter(clue) } : {}),\n\t\t\t...(operationIds ? { operationIds: operationIds.join(',') } : {}),\n\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t...(enableFormerEmployees ? { enableFormerEmployees } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\tconst url = this.customUrl() || this.defaultUrl();\n\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)));\n\t}\n\n\tprotected getMe(): Observable<T | null> {\n\t\tconst url = this.customUrl() || this.defaultUrl();\n\n\t\tconst params = {\n\t\t\tid: this.currentUserId,\n\t\t\tfields: this.#userFields,\n\t\t\t...(this._filters() ?? {}),\n\t\t\t...(this._operationIds() ? { operationIds: this._operationIds().join(',') } : {}),\n\t\t\t...(this._appInstanceId() ? { appInstanceId: this._appInstanceId() } : {}),\n\t\t\t...(this._enableFormerEmployees() ? { enableFormerEmployees: this._enableFormerEmployees() } : {}),\n\t\t};\n\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(url, {\n\t\t\t\tparams,\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)[0] ?? null));\n\t}\n\n\tprotected override buildOptions(): Observable<T[]> {\n\t\tconst hasClue$ = this.clue$.pipe(map((clue) => !!clue));\n\t\tconst displayMe$ = combineLatest([hasClue$, this.displayMeOption$]).pipe(\n\t\t\tmap(([hasClue, displayMeOption]) => displayMeOption && !hasClue),\n\t\t\tdistinctUntilChanged(),\n\t\t);\n\n\t\t// Wait for the first time the panel is open to get the current user\n\t\tconst me$ = this.select.isPanelOpen$.pipe(\n\t\t\tfilter((isOpen) => isOpen),\n\t\t\ttake(1),\n\t\t\tswitchMap((isOpen) => (isOpen ? this.getMe() : EMPTY)),\n\t\t\tshareReplay({ bufferSize: 1, refCount: true }),\n\t\t);\n\n\t\tconst options$ = super.buildOptions();\n\n\t\treturn displayMe$.pipe(\n\t\t\tswitchMap((displayMe) => combineLatest([options$, displayMe ? me$ : of(null)])),\n\t\t\tmap(([options, me]) => (me ? [me, ...(options ?? []).filter((o) => o.id !== me.id)] : options)),\n\t\t\tswitchMap((users) => this.#userHomonymsService.handleHomonyms(users, this.displayFormat)),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n\nfunction sanitizeClueFilter(clue: string) {\n\treturn clue\n\t\t.split(' ')\n\t\t.map((c: string) => encodeURIComponent(c))\n\t\t.join(',');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select-user.mjs","sources":["../../../packages/ng/core-select/user/me.provider.ts","../../../packages/ng/core-select/user/user-displayer.component.ts","../../../packages/ng/core-select/user/user-homonym.service.ts","../../../packages/ng/core-select/user/user.translate.ts","../../../packages/ng/core-select/user/user-option.component.ts","../../../packages/ng/core-select/user/users.directive.ts","../../../packages/ng/core-select/user/lucca-front-ng-core-select-user.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\n\nexport const LU_CORE_SELECT_CURRENT_USER_ID = new InjectionToken<number>('LuCoreSelectCurrentUserId');\n\nexport function provideCoreSelectCurrentUserId(factory: () => number): Provider {\n\treturn {\n\t\tprovide: LU_CORE_SELECT_CURRENT_USER_ID,\n\t\tuseFactory: factory,\n\t};\n}\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { LuCoreSelectUser } from './user-option.model';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-displayer',\n\timports: [NgIf, AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t<ng-container *ngIf=\"context.option$ | async as user\">\n\t\t\t{{ user | luUserDisplay : userDirective.displayFormat }}\n\t\t</ng-container>\n\t`,\n\tstandalone: true,\n})\nexport class LuUserDisplayerComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectUser>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { LuDisplayFormat, luUserDisplay } from '@lucca-front/ng/user';\nimport { Observable, map, of, startWith } from 'rxjs';\nimport { LuCoreSelectUser } from './user-option.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuCoreSelectUserHomonymsService {\n\tprotected http = inject(HttpClient);\n\n\tprotected extractHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Set<T> {\n\t\tconst usersByFullName: Record<string, T[]> = {};\n\n\t\tfor (const user of users) {\n\t\t\tconst name = luUserDisplay(user, format);\n\t\t\tusersByFullName[name] ||= [];\n\t\t\tusersByFullName[name].push(user);\n\t\t}\n\n\t\treturn new Set(\n\t\t\tObject.values(usersByFullName)\n\t\t\t\t.filter((users) => users.length > 1)\n\t\t\t\t.flatMap((users) => users),\n\t\t);\n\t}\n\n\tpublic handleHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Observable<T[]> {\n\t\tconst homonyms = this.extractHomonyms(users, format);\n\n\t\tif (homonyms.size === 0) {\n\t\t\treturn of(users);\n\t\t}\n\n\t\treturn this.getAdditionalInformationByUserId(Array.from(homonyms)).pipe(\n\t\t\tmap((additionalInformation) => {\n\t\t\t\treturn users.map((user) => {\n\t\t\t\t\tif (homonyms.has(user)) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...user,\n\t\t\t\t\t\t\tadditionalInformation: additionalInformation[user.id],\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn user;\n\t\t\t\t});\n\t\t\t}),\n\t\t\tstartWith(users),\n\t\t);\n\t}\n\n\tprotected getAdditionalInformationByUserId<T extends LuCoreSelectUser>(homonyms: T[]): Observable<Record<number, string>> {\n\t\tconst userIds = homonyms.map((user) => user.id);\n\n\t\treturn this.http\n\t\t\t.get<ILuApiCollectionResponse<{ id: number; department?: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: userIds.join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.reduce<Record<number, string>>(\n\t\t\t\t\t\t(acc, info) => ({\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t[info.id]: info.department?.name || '',\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_CORE_SELECT_USER_TRANSLATIONS = new InjectionToken('LuCoreSelectUserTranslations', {\n\tfactory: () => luCoreSelectUserTranslations,\n});\n\nexport interface LuCoreSelectUserTranslations {\n\tme: string;\n}\n\nexport const luCoreSelectUserTranslations: ILuTranslation<LuCoreSelectUserTranslations> = {\n\ten: {\n\t\tme: 'Me:',\n\t},\n\tfr: {\n\t\tme: 'Moi :',\n\t},\n\tes: {\n\t\tme: 'Yo :',\n\t},\n\tde: {\n\t\tme: 'Ich:',\n\t},\n\tpt: {\n\t\tme: 'Eu:',\n\t},\n};\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { map, startWith } from 'rxjs';\nimport { LuCoreSelectUser } from './user-option.model';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS } from './user.translate';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-option',\n\timports: [NgIf, AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t<ng-container *ngIf=\"context.option$ | async as user\">\n\t\t\t<div *ngIf=\"userDirective.displayMeOption && user.id === userDirective.currentUserId && hasEmptyClue$ | async; else notMe\">\n\t\t\t\t<b>{{ intl.me }} {{ user | luUserDisplay : userDirective.displayFormat }}</b>\n\t\t\t</div>\n\n\t\t\t<ng-template #notMe>\n\t\t\t\t<div>{{ user | luUserDisplay : userDirective.displayFormat }}</div>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-select-additionalInformation\" *ngIf=\"user.additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t</ng-container>\n\t`,\n\tstandalone: true,\n\tstyles: [\n\t\t`\n\t\t\t.lu-select-additionalInformation {\n\t\t\t\tfont-size: 80%;\n\t\t\t\tfont-style: italic;\n\t\t\t\tmargin-top: -0.25em;\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class LuUserOptionComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectUser>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n\tprotected intl = getIntl(LU_CORE_SELECT_USER_TRANSLATIONS);\n\tprotected hasEmptyClue$ = this.userDirective.select.clueChange.pipe(\n\t\tstartWith(this.userDirective.select.clue),\n\t\tmap((clue) => !clue),\n\t);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, Input, computed, inject, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { LuDisplayFormat, LuDisplayFullname } from '@lucca-front/ng/user';\nimport { EMPTY, Observable, combineLatest, distinctUntilChanged, filter, map, of, shareReplay, switchMap, take } from 'rxjs';\nimport { LU_CORE_SELECT_CURRENT_USER_ID } from './me.provider';\nimport { LuUserDisplayerComponent } from './user-displayer.component';\nimport { LuCoreSelectUserHomonymsService } from './user-homonym.service';\nimport { LuUserOptionComponent } from './user-option.component';\nimport { LuCoreSelectUser } from './user-option.model';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[users],lu-multi-select[users]',\n\tstandalone: true,\n\texportAs: 'luUsers',\n})\nexport class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuCoreSelectUser> extends ALuCoreSelectApiDirective<T> {\n\t#defaultSearchUrl = '/api/v3/users/search';\n\t#defaultScopedSearchUrl = '/api/v3/users/scopedsearch';\n\t#userHomonymsService = inject(LuCoreSelectUserHomonymsService);\n\n\t// Not overridable so it will ease employee API migration\n\t#userFields = 'id,firstName,lastName,picture.href';\n\n\tprotected httpClient = inject(HttpClient);\n\tpublic currentUserId = inject(LU_CORE_SELECT_CURRENT_USER_ID);\n\n\t@Input()\n\tpublic set url(url: string | null) {\n\t\tthis.customUrl.set(url);\n\t}\n\n\t@Input()\n\tpublic set operationIds(ids: number[] | null) {\n\t\tthis._operationIds.set(ids);\n\t}\n\n\t@Input()\n\tpublic set appInstanceId(id: number | null) {\n\t\tthis._appInstanceId.set(id);\n\t}\n\n\t@Input()\n\tpublic set enableFormerEmployees(value: boolean) {\n\t\tthis._enableFormerEmployees.set(value);\n\t}\n\n\t@Input()\n\tpublic set displayMeOption(value: boolean) {\n\t\tthis._displayMeOption.set(value);\n\t}\n\n\tpublic get displayMeOption() {\n\t\treturn this._displayMeOption();\n\t}\n\n\t@Input()\n\tpublic set displayFormat(format: LuDisplayFormat) {\n\t\tthis.displayFormat = format;\n\t}\n\n\tprivate _displayFormat: LuDisplayFormat = LuDisplayFullname.lastfirst;\n\n\tpublic get displayFormat() {\n\t\treturn this._displayFormat;\n\t}\n\n\t@Input()\n\tpublic set filters(filters: Record<string, string | number | boolean>) {\n\t\tthis._filters.set(filters);\n\t}\n\n\tprotected _url = signal<string | null>(null);\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.select.optionTpl = LuUserOptionComponent;\n\t\tthis.select.valueTpl = LuUserDisplayerComponent;\n\t}\n\n\tprotected _orderBy = signal<string | null>(null);\n\tprotected _filters = signal<Record<string, string | number | boolean>>({});\n\tprotected _operationIds = signal<number[] | null>(null);\n\tprotected _appInstanceId = signal<number | null>(null);\n\tprotected _enableFormerEmployees = signal<boolean>(false);\n\tprotected defaultUrl = computed(() => (this._appInstanceId() && this._operationIds()?.length ? this.#defaultScopedSearchUrl : this.#defaultSearchUrl));\n\tprotected customUrl = signal<string | null>(null);\n\tprotected _displayMeOption = signal<boolean>(true);\n\tprotected displayMeOption$ = toObservable(this._displayMeOption);\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = combineLatest([\n\t\ttoObservable(this._filters),\n\t\ttoObservable(this._orderBy),\n\t\tthis.clue$,\n\t\ttoObservable(this._operationIds),\n\t\ttoObservable(this._appInstanceId),\n\t\ttoObservable(this._enableFormerEmployees),\n\t]).pipe(\n\t\tmap(([filters, orderBy, clue, operationIds, appInstanceId, enableFormerEmployees]) => ({\n\t\t\tfields: this.#userFields,\n\t\t\t...filters,\n\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t...(clue ? { clue: sanitizeClueFilter(clue) } : {}),\n\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t...(enableFormerEmployees ? { enableFormerEmployees } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\tconst url = this.customUrl() || this.defaultUrl();\n\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)));\n\t}\n\n\tprotected getMe(): Observable<T | null> {\n\t\tconst url = this.customUrl() || this.defaultUrl();\n\n\t\tconst params = {\n\t\t\tid: this.currentUserId,\n\t\t\tfields: this.#userFields,\n\t\t\t...(this._filters() ?? {}),\n\t\t\t...(this._operationIds() ? { operationIds: this._operationIds().join(',') } : {}),\n\t\t\t...(this._appInstanceId() ? { appInstanceId: this._appInstanceId() } : {}),\n\t\t\t...(this._enableFormerEmployees() ? { enableFormerEmployees: this._enableFormerEmployees() } : {}),\n\t\t};\n\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(url, {\n\t\t\t\tparams,\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)[0] ?? null));\n\t}\n\n\tprotected override buildOptions(): Observable<T[]> {\n\t\tconst hasClue$ = this.clue$.pipe(map((clue) => !!clue));\n\t\tconst displayMe$ = combineLatest([hasClue$, this.displayMeOption$]).pipe(\n\t\t\tmap(([hasClue, displayMeOption]) => displayMeOption && !hasClue),\n\t\t\tdistinctUntilChanged(),\n\t\t);\n\n\t\t// Wait for the first time the panel is open to get the current user\n\t\tconst me$ = this.select.isPanelOpen$.pipe(\n\t\t\tfilter((isOpen) => isOpen),\n\t\t\ttake(1),\n\t\t\tswitchMap((isOpen) => (isOpen ? this.getMe() : EMPTY)),\n\t\t\tshareReplay({ bufferSize: 1, refCount: true }),\n\t\t);\n\n\t\tconst options$ = super.buildOptions();\n\n\t\treturn displayMe$.pipe(\n\t\t\tswitchMap((displayMe) => combineLatest([options$, displayMe ? me$ : of(null)])),\n\t\t\tmap(([options, me]) => (me ? [me, ...(options ?? []).filter((o) => o.id !== me.id)] : options)),\n\t\t\tswitchMap((users) => this.#userHomonymsService.handleHomonyms(users, this.displayFormat)),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n\nfunction sanitizeClueFilter(clue: string) {\n\treturn clue\n\t\t.split(' ')\n\t\t.map((c: string) => encodeURIComponent(c))\n\t\t.join(',');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -430,6 +430,11 @@ class ALuSelectInputComponent {
430
430
  onKeyDownNavigation($event) {
431
431
  switch ($event.key) {
432
432
  case 'Escape':
433
+ if (this.isPanelOpen) {
434
+ $event.stopPropagation();
435
+ }
436
+ this.panelRef?.close();
437
+ break;
433
438
  case 'Tab':
434
439
  this.panelRef?.close();
435
440
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select.mjs","sources":["../../../packages/ng/core-select/displayer/displayer.directive.ts","../../../packages/ng/core-select/option/option.token.ts","../../../packages/ng/core-select/option/default-option.component.ts","../../../packages/ng/core-select/option/disabled.directive.ts","../../../packages/ng/core-select/option/group.directive.ts","../../../packages/ng/core-select/option/group.pipe.ts","../../../packages/ng/core-select/option/option-outlet.directive.ts","../../../packages/ng/core-select/select.model.ts","../../../packages/ng/core-select/option/option.component.ts","../../../packages/ng/core-select/option/option.component.html","../../../packages/ng/core-select/option/option.directive.ts","../../../packages/ng/core-select/input/select-input.component.ts","../../../packages/ng/core-select/input/select-input.models.ts","../../../packages/ng/core-select/panel/panel.models.ts","../../../packages/ng/core-select/panel/panel.utils.ts","../../../packages/ng/core-select/lucca-front-ng-core-select.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\nimport { ALuSelectInputComponent } from '../input';\nimport { LuOptionContext } from '../select.model';\n\n@Directive({\n\tselector: '[luDisplayer]',\n\tstandalone: true,\n})\nexport class LuDisplayerDirective<TOption, TValue> {\n\t@Input('luDisplayerSelect') set select(select: ALuSelectInputComponent<TOption, TValue>) {\n\t\tselect.valueTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<TOption>>) {}\n\n\tpublic static ngTemplateContextGuard<TOption, TValue>(_dir: LuDisplayerDirective<TOption, TValue>, ctx: unknown): ctx is LuOptionContext<TOption> {\n\t\treturn true;\n\t}\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface ILuOptionContext<T> {\n\tisDisabled$: BehaviorSubject<boolean>;\n\toption$: BehaviorSubject<T | undefined>;\n\tdestroy(): void;\n}\n\nexport const LU_OPTION_CONTEXT = new InjectionToken<ILuOptionContext<unknown>>('LuOptionContext');\n\nfunction optionContextFactory<T>(): ILuOptionContext<T> {\n\tconst isDisabled$ = new BehaviorSubject(false);\n\tconst option$ = new BehaviorSubject<T | undefined>(undefined);\n\treturn {\n\t\tisDisabled$,\n\t\toption$,\n\t\tdestroy(): void {\n\t\t\tisDisabled$.complete();\n\t\t\toption$.complete();\n\t\t},\n\t};\n}\n\nexport function provideOptionContext(): Provider {\n\treturn {\n\t\tprovide: LU_OPTION_CONTEXT,\n\t\tuseFactory: optionContextFactory,\n\t};\n}\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from './option.token';\n\n@Component({\n\tselector: 'lu-simple-select-default-option',\n\tstandalone: true,\n\timports: [AsyncPipe, NgIf],\n\ttemplate: `<ng-container *ngIf=\"context.option$ | async as option\">{{ option?.name ?? option }}</ng-container>`,\n})\nexport class LuSimpleSelectDefaultOptionComponent {\n\tpublic context = inject<ILuOptionContext<{ name?: string }>>(LU_OPTION_CONTEXT);\n}\n","import { Directive, inject, Input } from '@angular/core';\nimport { LU_OPTION_CONTEXT } from './option.token';\n\n@Directive({\n\tselector: '[luDisabledOption]',\n\tstandalone: true,\n})\nexport class LuDisabledOptionDirective {\n\tprivate context = inject(LU_OPTION_CONTEXT);\n\n\t@Input('luDisabledOption') public set isDisabled(disabled: boolean | null) {\n\t\tif (disabled !== null) {\n\t\t\tthis.context.isDisabled$.next(disabled);\n\t\t}\n\t}\n}\n","import { Directive, inject, Input, OnInit, TemplateRef } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport type { ALuSelectInputComponent } from '../input';\nimport type { LuOptionGroupByContext } from '../select.model';\n\nexport interface LuOptionGrouping<TOption, TGroup> {\n\tselector: (option: TOption) => TGroup;\n\tcontent: PortalContent<LuOptionGroupByContext<TOption, TGroup>>;\n}\n\n@Directive({\n\tselector: '[luOptionGroup]',\n\tstandalone: true,\n})\nexport class LuOptionGroupDirective<TOption, TValue, TGroup> implements LuOptionGrouping<TOption, TGroup>, OnInit {\n\t@Input('luOptionGroupSelect') select: ALuSelectInputComponent<TOption, TValue>;\n\n\t@Input('luOptionGroupBy') selector: (option: TOption) => TGroup;\n\n\treadonly content = inject<TemplateRef<LuOptionGroupByContext<TOption, TGroup>>>(TemplateRef);\n\n\tpublic static ngTemplateContextGuard<TOption, TValue, TGroup>(_dir: LuOptionGroupDirective<TOption, TValue, TGroup>, ctx: unknown): ctx is LuOptionGroupByContext<TOption, TGroup> {\n\t\treturn true;\n\t}\n\n\tpublic ngOnInit(): void {\n\t\tthis.select.grouping = this;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuOptionGroup } from '../select.model';\n\n/**\n * Generate groups with a O(n) complexity. Note that the options must be sorted by group.\n */\nexport function generateGroups<T, TGroup>(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[] {\n\tif (!options?.length) {\n\t\treturn [];\n\t}\n\n\tconst groups: Array<LuOptionGroup<T, TGroup>> = [];\n\tlet group: LuOptionGroup<T, TGroup>;\n\n\tfor (const option of options) {\n\t\tconst groupKey = selector(option);\n\t\tif (!group || group.key !== groupKey) {\n\t\t\tif (group) {\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup = { key: groupKey, options: [option] };\n\t\t} else {\n\t\t\tgroup.options.push(option);\n\t\t}\n\t}\n\n\tif (group) {\n\t\tgroups.push(group);\n\t}\n\n\treturn groups;\n}\n\n@Pipe({\n\tname: 'luOptionGroup',\n\tstandalone: true,\n})\nexport class LuOptionGroupPipe<T, TGroup> implements PipeTransform {\n\tpublic transform(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[];\n\tpublic transform(options: T, selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>;\n\tpublic transform(options: T[] | T, selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[] | LuOptionGroup<T, TGroup> {\n\t\treturn Array.isArray(options) ? generateGroups(options, selector) : generateGroups([options], selector)[0];\n\t}\n}\n","import { ComponentRef, Directive, EmbeddedViewRef, inject, Injector, Input, OnChanges, OnDestroy, SimpleChanges, TemplateRef, Type, ViewContainerRef } from '@angular/core';\nimport { LuOptionContext } from '../select.model';\nimport { LU_OPTION_CONTEXT, provideOptionContext } from './option.token';\n\n@Directive({\n\tselector: '[luOptionOutlet]',\n\tstandalone: true,\n\tproviders: [provideOptionContext()],\n})\nexport class LuOptionOutletDirective<T> implements OnChanges, OnDestroy {\n\t@Input() luOptionOutlet?: Type<unknown> | TemplateRef<LuOptionContext<T>>;\n\t@Input() luOptionOutletValue: T | undefined;\n\t@Input() luOptionShowNull = false;\n\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate injector = inject(Injector);\n\tprivate embeddedViewRef?: EmbeddedViewRef<LuOptionContext<T>>;\n\tprivate componentRef?: ComponentRef<unknown>;\n\tprivate optionContext = inject(LU_OPTION_CONTEXT);\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['luOptionOutlet'] || !this.luOptionOutletValue) {\n\t\t\tthis.clearContainer();\n\t\t}\n\n\t\tconst hasRef = this.embeddedViewRef || this.componentRef;\n\n\t\tif (changes['luOptionOutlet'] || (changes['luOptionOutletValue'].currentValue && !hasRef)) {\n\t\t\tconst newValue = changes['luOptionOutletValue'].currentValue as T | undefined;\n\t\t\tif (newValue !== null && newValue !== undefined) {\n\t\t\t\tthis.createComponent();\n\t\t\t}\n\t\t} else if (changes['luOptionOutletValue']) {\n\t\t\tthis.updateRefValue();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.optionContext.destroy();\n\t}\n\n\tprivate clearContainer(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.embeddedViewRef?.destroy();\n\t\tthis.componentRef?.destroy();\n\t\tthis.embeddedViewRef = undefined;\n\t\tthis.componentRef = undefined;\n\t}\n\n\tprivate createComponent(): void {\n\t\tif (!this.luOptionOutlet) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.luOptionOutlet instanceof TemplateRef) {\n\t\t\tthis.embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.luOptionOutlet, { $implicit: this.luOptionOutletValue }, { injector: this.injector });\n\t\t} else {\n\t\t\tthis.optionContext.option$.next(this.luOptionOutletValue);\n\t\t\tthis.componentRef = this.viewContainerRef.createComponent(this.luOptionOutlet, { injector: this.injector });\n\t\t}\n\t}\n\n\tprivate updateRefValue(): void {\n\t\tif (this.embeddedViewRef) {\n\t\t\tthis.embeddedViewRef.context = { $implicit: this.luOptionOutletValue };\n\t\t} else if (this.componentRef) {\n\t\t\tthis.optionContext.option$.next(this.luOptionOutletValue);\n\t\t}\n\t}\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface LuOptionContext<T> {\n\t$implicit: T;\n}\n\nexport interface LuOptionGroupByContext<T, TGroup> {\n\t$implicit: LuOptionGroup<T, TGroup>;\n}\n\nexport interface LuOptionGroup<T, TGroup> {\n\tkey: TGroup;\n\toptions: T[];\n}\n\nexport const SELECT_ID = new InjectionToken<number>('LuSelectPanelData');\nexport const SELECT_LABEL = new InjectionToken<HTMLLabelElement | undefined>('LuSelectLabel');\nexport const SELECT_LABEL_ID = new InjectionToken<string>('LuSelectLabelId');\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgIf } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, OnDestroy, TemplateRef, Type, ViewChild, inject } from '@angular/core';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { BehaviorSubject, Subscription, asyncScheduler, observeOn } from 'rxjs';\nimport { LuOptionContext, SELECT_ID } from '../select.model';\nimport { LuOptionGrouping } from './group.directive';\nimport { LuOptionGroupPipe } from './group.pipe';\nimport { LuOptionOutletDirective } from './option-outlet.directive';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from './option.token';\n\nexport const MAGIC_OPTION_SCROLL_DELAY = 15;\n\n@Component({\n\tselector: 'lu-select-option',\n\ttemplateUrl: './option.component.html',\n\tstyleUrls: ['./option.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, LuOptionOutletDirective, NgIf, PortalDirective, LuOptionGroupPipe],\n})\nexport class LuOptionComponent<T> implements Highlightable, AfterViewInit, OnDestroy {\n\t@HostBinding('class.optionItem')\n\tpublic hasOptionItemClass = true;\n\n\t@Input()\n\tpublic optionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined;\n\n\t@Input()\n\t@HostBinding('attr.aria-selected')\n\tisSelected = false;\n\n\t@Input() option?: T;\n\t@Input() grouping?: LuOptionGrouping<T, unknown>;\n\n\t@Input()\n\tpublic optionIndex = 0;\n\n\t@Input()\n\tscrollIntoViewOptions: ScrollIntoViewOptions = {};\n\n\tisHighlighted$ = new BehaviorSubject(false);\n\n\t/**\n\t * Whether option is disabled. Used by ListKeyManager.\n\t */\n\tdisabled = false;\n\n\t@ViewChild(LuOptionOutletDirective, { read: LU_OPTION_CONTEXT, static: true })\n\tprivate optionContext?: ILuOptionContext<T>;\n\n\tprivate cdr = inject(ChangeDetectorRef);\n\tprivate subscription?: Subscription;\n\n\t@HostBinding('attr.role')\n\tpublic role = 'option';\n\n\t@HostBinding('attr.id')\n\tpublic get id(): string {\n\t\treturn `lu-select-${this.selectId}-option-${this.optionIndex}`;\n\t}\n\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected selectId = inject(SELECT_ID);\n\n\tngOnDestroy(): void {\n\t\tthis.subscription?.unsubscribe();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.subscription = this.optionContext.isDisabled$.pipe(observeOn(asyncScheduler)).subscribe((isDisabled) => {\n\t\t\tthis.disabled = isDisabled;\n\t\t\tthis.cdr.markForCheck();\n\t\t});\n\t}\n\n\tsetActiveStyles(): void {\n\t\tthis.isHighlighted$.next(true);\n\t\t// Somehow, adding this small delay works, even tho 0ms delay doesn't, I think there's\n\t\t// a race condition somewhere that I can't find so this will just fix it for now.\n\t\tsetTimeout(() => {\n\t\t\tthis.elementRef.nativeElement.scrollIntoView(this.scrollIntoViewOptions);\n\t\t}, MAGIC_OPTION_SCROLL_DELAY);\n\t}\n\n\tsetInactiveStyles(): void {\n\t\tthis.isHighlighted$.next(false);\n\t}\n\n\tselectOption($event: Event): void {\n\t\tif (this.disabled) {\n\t\t\t$event.stopPropagation();\n\t\t}\n\t}\n}\n","<div\n\tclass=\"optionItem-value\"\n\t[class.is-selected]=\"isSelected\"\n\t[class.is-highlighted]=\"isHighlighted$ | async\"\n\t[class.is-disabled]=\"disabled\"\n\t(click)=\"selectOption($event)\"\n>\n\t<ng-container *luOptionOutlet=\"optionTpl; value: option\" />\n\n\t<div *ngIf=\"grouping\" class=\"optionItem-value-group\">\n\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: option | luOptionGroup:grouping.selector }\" />\n\t</div>\n</div>\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport type { ALuSelectInputComponent } from '../input';\nimport type { LuOptionContext } from '../select.model';\n\n@Directive({\n\tselector: '[luOption]',\n\tstandalone: true,\n})\nexport class LuOptionDirective<TOption, TValue> {\n\t@Input('luOptionSelect') set select(select: ALuSelectInputComponent<TOption, TValue>) {\n\t\tselect.optionTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<TOption>>) {}\n\n\tpublic static ngTemplateContextGuard<TOption, TValue>(_dir: LuOptionDirective<TOption, TValue>, ctx: unknown): ctx is LuOptionContext<TOption> {\n\t\treturn true;\n\t}\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { OverlayConfig, OverlayContainer } from '@angular/cdk/overlay';\nimport {\n\tbooleanAttribute,\n\tChangeDetectorRef,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tHostBinding,\n\tHostListener,\n\tinject,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tTemplateRef,\n\tType,\n\tViewChild,\n} from '@angular/core';\nimport { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';\nimport { LuOptionGrouping, LuSimpleSelectDefaultOptionComponent } from '../option';\nimport { LuSelectPanelRef } from '../panel';\nimport { LuOptionContext, SELECT_LABEL, SELECT_LABEL_ID } from '../select.model';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<TOption, TValue> implements OnDestroy, OnInit, ControlValueAccessor {\n\t@ViewChild('inputElement')\n\tprivate inputElementRef: ElementRef<HTMLInputElement>;\n\n\tpublic placeholder$ = new BehaviorSubject('');\n\n\tpublic disabled$ = new BehaviorSubject(false);\n\n\t@Input()\n\tset placeholder(value: string) {\n\t\tthis.placeholder$.next(value);\n\t}\n\n\t@Input({ transform: booleanAttribute })\n\t@HostBinding('class.is-clearable')\n\tclearable = false;\n\n\tget searchable(): boolean {\n\t\treturn this.clueChange.observed;\n\t}\n\n\t@HostBinding('class.is-selected')\n\tprotected get isSelectedClass(): boolean {\n\t\treturn this.hasValue;\n\t}\n\n\t@HostBinding('class.is-searchFilled')\n\tprotected get isSearchFilledClass(): boolean {\n\t\treturn this.clue?.length > 0;\n\t}\n\n\tprotected abstract readonly hasValue: boolean;\n\n\tpublic get isPanelOpen(): boolean {\n\t\treturn this.isPanelOpen$.value;\n\t}\n\n\tpublic isPanelOpen$ = new BehaviorSubject(false);\n\n\tpublic activeDescendant$ = new BehaviorSubject('');\n\n\tget ariaControls(): string {\n\t\treturn this.overlayContainerRef.id;\n\t}\n\n\t@Input()\n\toverlayConfig?: OverlayConfig = {\n\t\thasBackdrop: true,\n\t\tbackdropClass: 'cdk-overlay-transparent-backdrop',\n\t};\n\n\t@Input() set loading(value: boolean) {\n\t\tif (value !== this.loading) {\n\t\t\tthis.loading$.next(value);\n\t\t}\n\t}\n\n\t@Input() set options(options: TOption[]) {\n\t\tthis.options$.next(options);\n\t\tif (this.panelRef) {\n\t\t\t// We have to put it in a setTimeout so it'll be triggered AFTER the DOM is updated and not right now,\n\t\t\t// which is before the panel size has been modified by the arrival of the new options\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.panelRef.updatePosition();\n\t\t\t});\n\t\t}\n\t}\n\n\t@Input() optionComparer: (option1: TOption, option2: TOption) => boolean = (option1, option2) => JSON.stringify(option1) === JSON.stringify(option2);\n\t@Input() optionTpl?: TemplateRef<LuOptionContext<TOption>> | Type<unknown> = LuSimpleSelectDefaultOptionComponent;\n\t@Input() valueTpl?: TemplateRef<LuOptionContext<TOption>> | Type<unknown>;\n\tgrouping?: LuOptionGrouping<TOption, unknown>;\n\n\t@Output() clueChange = new EventEmitter<string>();\n\t@Output() nextPage = new EventEmitter<void>();\n\t@Output() previousPage = new EventEmitter<void>();\n\n\tpublic get value(): TValue {\n\t\treturn this._value;\n\t}\n\n\tprotected set value(value: TValue) {\n\t\tthis._value = value;\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\tpublic get inputPlaceholder(): string | null {\n\t\treturn this.value ? null : this.placeholder$.value;\n\t}\n\n\tpublic clueChanged(clue: string, skipPanelOpen = false): void {\n\t\tthis.clue = clue;\n\n\t\tif (!skipPanelOpen && !this.isPanelOpen) {\n\t\t\tthis.openPanel(clue);\n\t\t} else if (this.lastEmittedClue !== clue) {\n\t\t\tthis.clueChange.emit(clue);\n\t\t\tthis.lastEmittedClue = clue;\n\t\t}\n\t}\n\n\tprotected _value?: TValue;\n\n\toptions$ = new ReplaySubject<TOption[]>(1);\n\tloading$ = new BehaviorSubject(false);\n\tclue: string | null = null;\n\t// This is the clue stored after we selected an option to know if we should emit an empty clue on open or not\n\tlastEmittedClue: string = '';\n\n\tprotected onChange?: (value: TValue | null) => void;\n\tprotected onTouched?: () => void;\n\n\tpublic get panelRef(): LuSelectPanelRef<TOption, TValue> | undefined {\n\t\treturn this._panelRef;\n\t}\n\n\tprotected _panelRef?: LuSelectPanelRef<TOption, TValue>;\n\n\tprotected destroyed$ = new Subject<void>();\n\n\t@HostListener('click', ['$event'])\n\tonClickOpenPanel($event: KeyboardEvent) {\n\t\tif (!this.isPanelOpen) {\n\t\t\tthis.openPanel();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\t@HostListener('keydown', ['$event'])\n\tonKeyDownNavigation($event: KeyboardEvent): void {\n\t\tswitch ($event.key) {\n\t\t\tcase 'Escape':\n\t\t\tcase 'Tab':\n\t\t\t\tthis.panelRef?.close();\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\tthis.panelRef.selectCurrentlyHighlightedValue();\n\t\t\t\t} else {\n\t\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ' ':\n\t\t\tcase 'ArrowDown':\n\t\t\tcase 'ArrowUp':\n\t\t\t\t// Initial space should just open the panel, not trigger a clue change\n\t\t\t\tif (!this.clue && $event.key === ' ') {\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.openPanel();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprotected changeDetectorRef = inject(ChangeDetectorRef);\n\tprotected overlayContainerRef: HTMLElement = inject(OverlayContainer).getContainerElement();\n\n\tprotected labelElement: HTMLElement | undefined = inject(SELECT_LABEL);\n\tprotected labelId: string = inject(SELECT_LABEL_ID);\n\n\tregisterOnChange(onChange: (value: TValue) => void): void {\n\t\tthis.onChange = onChange;\n\t}\n\n\tregisterOnTouched(onTouched: () => void): void {\n\t\tthis.onTouched = onTouched;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.disabled$.next(isDisabled);\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.closePanel();\n\t\tthis.destroyed$.next();\n\t\tthis.destroyed$.complete();\n\t}\n\n\tngOnInit(): void {\n\t\tif (this.labelElement) {\n\t\t\tthis.labelElement.id = this.labelId;\n\t\t}\n\t}\n\n\tclearValue(event: Event): void {\n\t\tevent.stopPropagation();\n\t\tthis.updateValue(null, true);\n\t\tthis.inputElementRef.nativeElement.focus();\n\t}\n\n\topenPanel(clue: string = ''): void {\n\t\tif (this.isPanelOpen || this.disabled$.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isPanelOpen$.next(true);\n\t\tthis.clueChanged(clue);\n\t\tthis._panelRef = this.buildPanelRef();\n\t\tthis.bindInputToPanelRefEvents();\n\t\tsetTimeout(() => this.focusInput());\n\t}\n\n\tprotected abstract buildPanelRef(): this['panelRef'];\n\n\tprotected bindInputToPanelRefEvents(): void {\n\t\tif (!this.panelRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.panelRef.valueChanged.subscribe((value) => this.updateValue(value));\n\t\tthis.panelRef.nextPage.subscribe(() => this.nextPage.emit());\n\t\tthis.panelRef.previousPage.subscribe(() => this.previousPage.emit());\n\t\tthis.panelRef.activeOptionIdChanged.subscribe((optionId) => {\n\t\t\tthis.activeDescendant$.next(optionId);\n\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t});\n\t\tthis.panelRef.closed.subscribe(() => this.closePanel());\n\t}\n\n\tprotected focusInput(): void {\n\t\tif (this.inputElementRef) {\n\t\t\tthis.inputElementRef.nativeElement.focus();\n\t\t}\n\t}\n\n\tprotected emptyClue(): void {\n\t\tif (this.clue) {\n\t\t\tthis.clue = null;\n\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t}\n\t}\n\n\tpublic closePanel(): void {\n\t\tif (!this.isPanelOpen) {\n\t\t\treturn;\n\t\t}\n\t\tthis.emptyClue();\n\t\tthis.activeDescendant$.next('');\n\t\tthis.changeDetectorRef.markForCheck();\n\t\tthis.onTouched?.();\n\t\tthis.isPanelOpen$.next(false);\n\t\tthis.panelRef.close();\n\t\tthis._panelRef = undefined;\n\t}\n\n\tpublic writeValue(value: TValue): void {\n\t\tthis.value = value;\n\t}\n\n\tpublic updateValue(value: TValue, skipPanelOpen = false): void {\n\t\tthis.value = value;\n\t\tthis.emptyClue();\n\t\tthis.clueChanged('', skipPanelOpen);\n\t\tthis.onChange?.(value);\n\t\tthis.onTouched?.();\n\t}\n}\n","import { Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Injectable, Provider, inject } from '@angular/core';\nimport { SELECT_ID, SELECT_LABEL, SELECT_LABEL_ID } from '../select.model';\n\nlet selectId = 0;\n\nfunction selectIdFactory(): number {\n\treturn selectId++;\n}\n\nfunction selectLabelFactory(): HTMLLabelElement | undefined {\n\tconst elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tfunction getLabel(node: HTMLElement): HTMLLabelElement | undefined {\n\t\tif (node instanceof HTMLLabelElement) {\n\t\t\treturn node;\n\t\t}\n\n\t\tif (!node.parentElement) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn getLabel(node.parentElement);\n\t}\n\n\treturn getLabel(elementRef.nativeElement);\n}\n\nfunction selectLabelIdFactory(): string {\n\treturn inject(SELECT_LABEL)?.id || `lu-select-label-${inject(SELECT_ID)}`;\n}\n\nexport function provideLuSelectLabelsAndIds(): Provider[] {\n\treturn [\n\t\t{ provide: SELECT_ID, useFactory: selectIdFactory },\n\t\t{ provide: SELECT_LABEL, useFactory: selectLabelFactory },\n\t\t{ provide: SELECT_LABEL_ID, useFactory: selectLabelIdFactory },\n\t];\n}\n\n@Injectable()\nclass LuSelectOverlayContainer extends OverlayContainer {\n\tprivate selectLabelId = inject(SELECT_LABEL_ID);\n\tprivate selectId = inject(SELECT_ID);\n\n\tconstructor() {\n\t\tsuper(inject(DOCUMENT), inject(Platform));\n\t}\n\n\tprotected override _createContainer(): void {\n\t\tsuper._createContainer();\n\t\tthis._containerElement.setAttribute('aria-labelledby', this.selectLabelId);\n\t\tthis._containerElement.id = `lu-select-overlay-container-${this.selectId}`;\n\t}\n}\n\nexport function provideLuSelectOverlayContainer(): Provider[] {\n\treturn [\n\t\tOverlay,\n\t\t{\n\t\t\tprovide: OverlayContainer,\n\t\t\tuseClass: LuSelectOverlayContainer,\n\t\t},\n\t];\n}\n","import { EventEmitter } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport abstract class LuSelectPanelRef<TOption, TValue> {\n\tclosed = new EventEmitter<void>();\n\tpreviousPage = new EventEmitter<void>();\n\tnextPage = new EventEmitter<void>();\n\tvalueChanged = new EventEmitter<TValue>();\n\tclueChanged = new EventEmitter<string>();\n\tactiveOptionIdChanged = new EventEmitter<string>();\n\toptions$: Observable<TOption>;\n\n\tabstract updatePosition(): void;\n\n\tabstract handleKeyManagerEvent(event: KeyboardEvent): void;\n\n\tabstract emitValue(value: TValue): void;\n\n\tabstract selectCurrentlyHighlightedValue(): void;\n\n\tclose(): void {\n\t\tthis.closed.next();\n\t\tthis.closed.complete();\n\t\tthis.nextPage.complete();\n\t\tthis.previousPage.complete();\n\t\tthis.valueChanged.complete();\n\t\tthis.clueChanged.emit('');\n\t\tthis.clueChanged.complete();\n\t\tthis.activeOptionIdChanged.complete();\n\t}\n}\n","import { Observable, distinctUntilChanged, map, of, skip, startWith, switchMap, take } from 'rxjs';\n\nexport type GroupTemplateLocation = 'group-header' | 'option' | 'none';\n\n/**\n * In order to avoid a blinking when we go from empty clue to a clue\n * We need to delay the change of group displayer location by waiting for the options to be updated.\n */\nexport function getGroupTemplateLocation(hasGrouping: boolean, clueChange$: Observable<string>, options$: Observable<unknown[]>): Observable<GroupTemplateLocation> {\n\treturn hasGrouping\n\t\t? clueChange$.pipe(\n\t\t\t\tmap((clue) => !!clue),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tswitchMap((hasClue) =>\n\t\t\t\t\toptions$.pipe(\n\t\t\t\t\t\tskip(1),\n\t\t\t\t\t\ttake(1),\n\t\t\t\t\t\tmap((): GroupTemplateLocation => (hasClue ? 'option' : 'group-header')),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tstartWith('group-header' as const),\n\t\t )\n\t\t: of('none' as const);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select.mjs","sources":["../../../packages/ng/core-select/displayer/displayer.directive.ts","../../../packages/ng/core-select/option/option.token.ts","../../../packages/ng/core-select/option/default-option.component.ts","../../../packages/ng/core-select/option/disabled.directive.ts","../../../packages/ng/core-select/option/group.directive.ts","../../../packages/ng/core-select/option/group.pipe.ts","../../../packages/ng/core-select/option/option-outlet.directive.ts","../../../packages/ng/core-select/select.model.ts","../../../packages/ng/core-select/option/option.component.ts","../../../packages/ng/core-select/option/option.component.html","../../../packages/ng/core-select/option/option.directive.ts","../../../packages/ng/core-select/input/select-input.component.ts","../../../packages/ng/core-select/input/select-input.models.ts","../../../packages/ng/core-select/panel/panel.models.ts","../../../packages/ng/core-select/panel/panel.utils.ts","../../../packages/ng/core-select/lucca-front-ng-core-select.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\nimport { ALuSelectInputComponent } from '../input';\nimport { LuOptionContext } from '../select.model';\n\n@Directive({\n\tselector: '[luDisplayer]',\n\tstandalone: true,\n})\nexport class LuDisplayerDirective<TOption, TValue> {\n\t@Input('luDisplayerSelect') set select(select: ALuSelectInputComponent<TOption, TValue>) {\n\t\tselect.valueTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<TOption>>) {}\n\n\tpublic static ngTemplateContextGuard<TOption, TValue>(_dir: LuDisplayerDirective<TOption, TValue>, ctx: unknown): ctx is LuOptionContext<TOption> {\n\t\treturn true;\n\t}\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface ILuOptionContext<T> {\n\tisDisabled$: BehaviorSubject<boolean>;\n\toption$: BehaviorSubject<T | undefined>;\n\tdestroy(): void;\n}\n\nexport const LU_OPTION_CONTEXT = new InjectionToken<ILuOptionContext<unknown>>('LuOptionContext');\n\nfunction optionContextFactory<T>(): ILuOptionContext<T> {\n\tconst isDisabled$ = new BehaviorSubject(false);\n\tconst option$ = new BehaviorSubject<T | undefined>(undefined);\n\treturn {\n\t\tisDisabled$,\n\t\toption$,\n\t\tdestroy(): void {\n\t\t\tisDisabled$.complete();\n\t\t\toption$.complete();\n\t\t},\n\t};\n}\n\nexport function provideOptionContext(): Provider {\n\treturn {\n\t\tprovide: LU_OPTION_CONTEXT,\n\t\tuseFactory: optionContextFactory,\n\t};\n}\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from './option.token';\n\n@Component({\n\tselector: 'lu-simple-select-default-option',\n\tstandalone: true,\n\timports: [AsyncPipe, NgIf],\n\ttemplate: `<ng-container *ngIf=\"context.option$ | async as option\">{{ option?.name ?? option }}</ng-container>`,\n})\nexport class LuSimpleSelectDefaultOptionComponent {\n\tpublic context = inject<ILuOptionContext<{ name?: string }>>(LU_OPTION_CONTEXT);\n}\n","import { Directive, inject, Input } from '@angular/core';\nimport { LU_OPTION_CONTEXT } from './option.token';\n\n@Directive({\n\tselector: '[luDisabledOption]',\n\tstandalone: true,\n})\nexport class LuDisabledOptionDirective {\n\tprivate context = inject(LU_OPTION_CONTEXT);\n\n\t@Input('luDisabledOption') public set isDisabled(disabled: boolean | null) {\n\t\tif (disabled !== null) {\n\t\t\tthis.context.isDisabled$.next(disabled);\n\t\t}\n\t}\n}\n","import { Directive, inject, Input, OnInit, TemplateRef } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport type { ALuSelectInputComponent } from '../input';\nimport type { LuOptionGroupByContext } from '../select.model';\n\nexport interface LuOptionGrouping<TOption, TGroup> {\n\tselector: (option: TOption) => TGroup;\n\tcontent: PortalContent<LuOptionGroupByContext<TOption, TGroup>>;\n}\n\n@Directive({\n\tselector: '[luOptionGroup]',\n\tstandalone: true,\n})\nexport class LuOptionGroupDirective<TOption, TValue, TGroup> implements LuOptionGrouping<TOption, TGroup>, OnInit {\n\t@Input('luOptionGroupSelect') select: ALuSelectInputComponent<TOption, TValue>;\n\n\t@Input('luOptionGroupBy') selector: (option: TOption) => TGroup;\n\n\treadonly content = inject<TemplateRef<LuOptionGroupByContext<TOption, TGroup>>>(TemplateRef);\n\n\tpublic static ngTemplateContextGuard<TOption, TValue, TGroup>(_dir: LuOptionGroupDirective<TOption, TValue, TGroup>, ctx: unknown): ctx is LuOptionGroupByContext<TOption, TGroup> {\n\t\treturn true;\n\t}\n\n\tpublic ngOnInit(): void {\n\t\tthis.select.grouping = this;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuOptionGroup } from '../select.model';\n\n/**\n * Generate groups with a O(n) complexity. Note that the options must be sorted by group.\n */\nexport function generateGroups<T, TGroup>(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[] {\n\tif (!options?.length) {\n\t\treturn [];\n\t}\n\n\tconst groups: Array<LuOptionGroup<T, TGroup>> = [];\n\tlet group: LuOptionGroup<T, TGroup>;\n\n\tfor (const option of options) {\n\t\tconst groupKey = selector(option);\n\t\tif (!group || group.key !== groupKey) {\n\t\t\tif (group) {\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup = { key: groupKey, options: [option] };\n\t\t} else {\n\t\t\tgroup.options.push(option);\n\t\t}\n\t}\n\n\tif (group) {\n\t\tgroups.push(group);\n\t}\n\n\treturn groups;\n}\n\n@Pipe({\n\tname: 'luOptionGroup',\n\tstandalone: true,\n})\nexport class LuOptionGroupPipe<T, TGroup> implements PipeTransform {\n\tpublic transform(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[];\n\tpublic transform(options: T, selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>;\n\tpublic transform(options: T[] | T, selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[] | LuOptionGroup<T, TGroup> {\n\t\treturn Array.isArray(options) ? generateGroups(options, selector) : generateGroups([options], selector)[0];\n\t}\n}\n","import { ComponentRef, Directive, EmbeddedViewRef, inject, Injector, Input, OnChanges, OnDestroy, SimpleChanges, TemplateRef, Type, ViewContainerRef } from '@angular/core';\nimport { LuOptionContext } from '../select.model';\nimport { LU_OPTION_CONTEXT, provideOptionContext } from './option.token';\n\n@Directive({\n\tselector: '[luOptionOutlet]',\n\tstandalone: true,\n\tproviders: [provideOptionContext()],\n})\nexport class LuOptionOutletDirective<T> implements OnChanges, OnDestroy {\n\t@Input() luOptionOutlet?: Type<unknown> | TemplateRef<LuOptionContext<T>>;\n\t@Input() luOptionOutletValue: T | undefined;\n\t@Input() luOptionShowNull = false;\n\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate injector = inject(Injector);\n\tprivate embeddedViewRef?: EmbeddedViewRef<LuOptionContext<T>>;\n\tprivate componentRef?: ComponentRef<unknown>;\n\tprivate optionContext = inject(LU_OPTION_CONTEXT);\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['luOptionOutlet'] || !this.luOptionOutletValue) {\n\t\t\tthis.clearContainer();\n\t\t}\n\n\t\tconst hasRef = this.embeddedViewRef || this.componentRef;\n\n\t\tif (changes['luOptionOutlet'] || (changes['luOptionOutletValue'].currentValue && !hasRef)) {\n\t\t\tconst newValue = changes['luOptionOutletValue'].currentValue as T | undefined;\n\t\t\tif (newValue !== null && newValue !== undefined) {\n\t\t\t\tthis.createComponent();\n\t\t\t}\n\t\t} else if (changes['luOptionOutletValue']) {\n\t\t\tthis.updateRefValue();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.optionContext.destroy();\n\t}\n\n\tprivate clearContainer(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.embeddedViewRef?.destroy();\n\t\tthis.componentRef?.destroy();\n\t\tthis.embeddedViewRef = undefined;\n\t\tthis.componentRef = undefined;\n\t}\n\n\tprivate createComponent(): void {\n\t\tif (!this.luOptionOutlet) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.luOptionOutlet instanceof TemplateRef) {\n\t\t\tthis.embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.luOptionOutlet, { $implicit: this.luOptionOutletValue }, { injector: this.injector });\n\t\t} else {\n\t\t\tthis.optionContext.option$.next(this.luOptionOutletValue);\n\t\t\tthis.componentRef = this.viewContainerRef.createComponent(this.luOptionOutlet, { injector: this.injector });\n\t\t}\n\t}\n\n\tprivate updateRefValue(): void {\n\t\tif (this.embeddedViewRef) {\n\t\t\tthis.embeddedViewRef.context = { $implicit: this.luOptionOutletValue };\n\t\t} else if (this.componentRef) {\n\t\t\tthis.optionContext.option$.next(this.luOptionOutletValue);\n\t\t}\n\t}\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface LuOptionContext<T> {\n\t$implicit: T;\n}\n\nexport interface LuOptionGroupByContext<T, TGroup> {\n\t$implicit: LuOptionGroup<T, TGroup>;\n}\n\nexport interface LuOptionGroup<T, TGroup> {\n\tkey: TGroup;\n\toptions: T[];\n}\n\nexport const SELECT_ID = new InjectionToken<number>('LuSelectPanelData');\nexport const SELECT_LABEL = new InjectionToken<HTMLLabelElement | undefined>('LuSelectLabel');\nexport const SELECT_LABEL_ID = new InjectionToken<string>('LuSelectLabelId');\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgIf } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, OnDestroy, TemplateRef, Type, ViewChild, inject } from '@angular/core';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { BehaviorSubject, Subscription, asyncScheduler, observeOn } from 'rxjs';\nimport { LuOptionContext, SELECT_ID } from '../select.model';\nimport { LuOptionGrouping } from './group.directive';\nimport { LuOptionGroupPipe } from './group.pipe';\nimport { LuOptionOutletDirective } from './option-outlet.directive';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from './option.token';\n\nexport const MAGIC_OPTION_SCROLL_DELAY = 15;\n\n@Component({\n\tselector: 'lu-select-option',\n\ttemplateUrl: './option.component.html',\n\tstyleUrls: ['./option.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, LuOptionOutletDirective, NgIf, PortalDirective, LuOptionGroupPipe],\n})\nexport class LuOptionComponent<T> implements Highlightable, AfterViewInit, OnDestroy {\n\t@HostBinding('class.optionItem')\n\tpublic hasOptionItemClass = true;\n\n\t@Input()\n\tpublic optionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined;\n\n\t@Input()\n\t@HostBinding('attr.aria-selected')\n\tisSelected = false;\n\n\t@Input() option?: T;\n\t@Input() grouping?: LuOptionGrouping<T, unknown>;\n\n\t@Input()\n\tpublic optionIndex = 0;\n\n\t@Input()\n\tscrollIntoViewOptions: ScrollIntoViewOptions = {};\n\n\tisHighlighted$ = new BehaviorSubject(false);\n\n\t/**\n\t * Whether option is disabled. Used by ListKeyManager.\n\t */\n\tdisabled = false;\n\n\t@ViewChild(LuOptionOutletDirective, { read: LU_OPTION_CONTEXT, static: true })\n\tprivate optionContext?: ILuOptionContext<T>;\n\n\tprivate cdr = inject(ChangeDetectorRef);\n\tprivate subscription?: Subscription;\n\n\t@HostBinding('attr.role')\n\tpublic role = 'option';\n\n\t@HostBinding('attr.id')\n\tpublic get id(): string {\n\t\treturn `lu-select-${this.selectId}-option-${this.optionIndex}`;\n\t}\n\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected selectId = inject(SELECT_ID);\n\n\tngOnDestroy(): void {\n\t\tthis.subscription?.unsubscribe();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.subscription = this.optionContext.isDisabled$.pipe(observeOn(asyncScheduler)).subscribe((isDisabled) => {\n\t\t\tthis.disabled = isDisabled;\n\t\t\tthis.cdr.markForCheck();\n\t\t});\n\t}\n\n\tsetActiveStyles(): void {\n\t\tthis.isHighlighted$.next(true);\n\t\t// Somehow, adding this small delay works, even tho 0ms delay doesn't, I think there's\n\t\t// a race condition somewhere that I can't find so this will just fix it for now.\n\t\tsetTimeout(() => {\n\t\t\tthis.elementRef.nativeElement.scrollIntoView(this.scrollIntoViewOptions);\n\t\t}, MAGIC_OPTION_SCROLL_DELAY);\n\t}\n\n\tsetInactiveStyles(): void {\n\t\tthis.isHighlighted$.next(false);\n\t}\n\n\tselectOption($event: Event): void {\n\t\tif (this.disabled) {\n\t\t\t$event.stopPropagation();\n\t\t}\n\t}\n}\n","<div\n\tclass=\"optionItem-value\"\n\t[class.is-selected]=\"isSelected\"\n\t[class.is-highlighted]=\"isHighlighted$ | async\"\n\t[class.is-disabled]=\"disabled\"\n\t(click)=\"selectOption($event)\"\n>\n\t<ng-container *luOptionOutlet=\"optionTpl; value: option\" />\n\n\t<div *ngIf=\"grouping\" class=\"optionItem-value-group\">\n\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: option | luOptionGroup:grouping.selector }\" />\n\t</div>\n</div>\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport type { ALuSelectInputComponent } from '../input';\nimport type { LuOptionContext } from '../select.model';\n\n@Directive({\n\tselector: '[luOption]',\n\tstandalone: true,\n})\nexport class LuOptionDirective<TOption, TValue> {\n\t@Input('luOptionSelect') set select(select: ALuSelectInputComponent<TOption, TValue>) {\n\t\tselect.optionTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<TOption>>) {}\n\n\tpublic static ngTemplateContextGuard<TOption, TValue>(_dir: LuOptionDirective<TOption, TValue>, ctx: unknown): ctx is LuOptionContext<TOption> {\n\t\treturn true;\n\t}\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { OverlayConfig, OverlayContainer } from '@angular/cdk/overlay';\nimport {\n\tbooleanAttribute,\n\tChangeDetectorRef,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tHostBinding,\n\tHostListener,\n\tinject,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tTemplateRef,\n\tType,\n\tViewChild,\n} from '@angular/core';\nimport { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';\nimport { LuOptionGrouping, LuSimpleSelectDefaultOptionComponent } from '../option';\nimport { LuSelectPanelRef } from '../panel';\nimport { LuOptionContext, SELECT_LABEL, SELECT_LABEL_ID } from '../select.model';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<TOption, TValue> implements OnDestroy, OnInit, ControlValueAccessor {\n\t@ViewChild('inputElement')\n\tprivate inputElementRef: ElementRef<HTMLInputElement>;\n\n\tpublic placeholder$ = new BehaviorSubject('');\n\n\tpublic disabled$ = new BehaviorSubject(false);\n\n\t@Input()\n\tset placeholder(value: string) {\n\t\tthis.placeholder$.next(value);\n\t}\n\n\t@Input({ transform: booleanAttribute })\n\t@HostBinding('class.is-clearable')\n\tclearable = false;\n\n\tget searchable(): boolean {\n\t\treturn this.clueChange.observed;\n\t}\n\n\t@HostBinding('class.is-selected')\n\tprotected get isSelectedClass(): boolean {\n\t\treturn this.hasValue;\n\t}\n\n\t@HostBinding('class.is-searchFilled')\n\tprotected get isSearchFilledClass(): boolean {\n\t\treturn this.clue?.length > 0;\n\t}\n\n\tprotected abstract readonly hasValue: boolean;\n\n\tpublic get isPanelOpen(): boolean {\n\t\treturn this.isPanelOpen$.value;\n\t}\n\n\tpublic isPanelOpen$ = new BehaviorSubject(false);\n\n\tpublic activeDescendant$ = new BehaviorSubject('');\n\n\tget ariaControls(): string {\n\t\treturn this.overlayContainerRef.id;\n\t}\n\n\t@Input()\n\toverlayConfig?: OverlayConfig = {\n\t\thasBackdrop: true,\n\t\tbackdropClass: 'cdk-overlay-transparent-backdrop',\n\t};\n\n\t@Input() set loading(value: boolean) {\n\t\tif (value !== this.loading) {\n\t\t\tthis.loading$.next(value);\n\t\t}\n\t}\n\n\t@Input() set options(options: TOption[]) {\n\t\tthis.options$.next(options);\n\t\tif (this.panelRef) {\n\t\t\t// We have to put it in a setTimeout so it'll be triggered AFTER the DOM is updated and not right now,\n\t\t\t// which is before the panel size has been modified by the arrival of the new options\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.panelRef.updatePosition();\n\t\t\t});\n\t\t}\n\t}\n\n\t@Input() optionComparer: (option1: TOption, option2: TOption) => boolean = (option1, option2) => JSON.stringify(option1) === JSON.stringify(option2);\n\t@Input() optionTpl?: TemplateRef<LuOptionContext<TOption>> | Type<unknown> = LuSimpleSelectDefaultOptionComponent;\n\t@Input() valueTpl?: TemplateRef<LuOptionContext<TOption>> | Type<unknown>;\n\tgrouping?: LuOptionGrouping<TOption, unknown>;\n\n\t@Output() clueChange = new EventEmitter<string>();\n\t@Output() nextPage = new EventEmitter<void>();\n\t@Output() previousPage = new EventEmitter<void>();\n\n\tpublic get value(): TValue {\n\t\treturn this._value;\n\t}\n\n\tprotected set value(value: TValue) {\n\t\tthis._value = value;\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\tpublic get inputPlaceholder(): string | null {\n\t\treturn this.value ? null : this.placeholder$.value;\n\t}\n\n\tpublic clueChanged(clue: string, skipPanelOpen = false): void {\n\t\tthis.clue = clue;\n\n\t\tif (!skipPanelOpen && !this.isPanelOpen) {\n\t\t\tthis.openPanel(clue);\n\t\t} else if (this.lastEmittedClue !== clue) {\n\t\t\tthis.clueChange.emit(clue);\n\t\t\tthis.lastEmittedClue = clue;\n\t\t}\n\t}\n\n\tprotected _value?: TValue;\n\n\toptions$ = new ReplaySubject<TOption[]>(1);\n\tloading$ = new BehaviorSubject(false);\n\tclue: string | null = null;\n\t// This is the clue stored after we selected an option to know if we should emit an empty clue on open or not\n\tlastEmittedClue: string = '';\n\n\tprotected onChange?: (value: TValue | null) => void;\n\tprotected onTouched?: () => void;\n\n\tpublic get panelRef(): LuSelectPanelRef<TOption, TValue> | undefined {\n\t\treturn this._panelRef;\n\t}\n\n\tprotected _panelRef?: LuSelectPanelRef<TOption, TValue>;\n\n\tprotected destroyed$ = new Subject<void>();\n\n\t@HostListener('click', ['$event'])\n\tonClickOpenPanel($event: KeyboardEvent) {\n\t\tif (!this.isPanelOpen) {\n\t\t\tthis.openPanel();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\t@HostListener('keydown', ['$event'])\n\tonKeyDownNavigation($event: KeyboardEvent): void {\n\t\tswitch ($event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\t$event.stopPropagation();\n\t\t\t\t}\n\t\t\t\tthis.panelRef?.close();\n\t\t\t\tbreak;\n\t\t\tcase 'Tab':\n\t\t\t\tthis.panelRef?.close();\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\tthis.panelRef.selectCurrentlyHighlightedValue();\n\t\t\t\t} else {\n\t\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ' ':\n\t\t\tcase 'ArrowDown':\n\t\t\tcase 'ArrowUp':\n\t\t\t\t// Initial space should just open the panel, not trigger a clue change\n\t\t\t\tif (!this.clue && $event.key === ' ') {\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.openPanel();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprotected changeDetectorRef = inject(ChangeDetectorRef);\n\tprotected overlayContainerRef: HTMLElement = inject(OverlayContainer).getContainerElement();\n\n\tprotected labelElement: HTMLElement | undefined = inject(SELECT_LABEL);\n\tprotected labelId: string = inject(SELECT_LABEL_ID);\n\n\tregisterOnChange(onChange: (value: TValue) => void): void {\n\t\tthis.onChange = onChange;\n\t}\n\n\tregisterOnTouched(onTouched: () => void): void {\n\t\tthis.onTouched = onTouched;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.disabled$.next(isDisabled);\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.closePanel();\n\t\tthis.destroyed$.next();\n\t\tthis.destroyed$.complete();\n\t}\n\n\tngOnInit(): void {\n\t\tif (this.labelElement) {\n\t\t\tthis.labelElement.id = this.labelId;\n\t\t}\n\t}\n\n\tclearValue(event: Event): void {\n\t\tevent.stopPropagation();\n\t\tthis.updateValue(null, true);\n\t\tthis.inputElementRef.nativeElement.focus();\n\t}\n\n\topenPanel(clue: string = ''): void {\n\t\tif (this.isPanelOpen || this.disabled$.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isPanelOpen$.next(true);\n\t\tthis.clueChanged(clue);\n\t\tthis._panelRef = this.buildPanelRef();\n\t\tthis.bindInputToPanelRefEvents();\n\t\tsetTimeout(() => this.focusInput());\n\t}\n\n\tprotected abstract buildPanelRef(): this['panelRef'];\n\n\tprotected bindInputToPanelRefEvents(): void {\n\t\tif (!this.panelRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.panelRef.valueChanged.subscribe((value) => this.updateValue(value));\n\t\tthis.panelRef.nextPage.subscribe(() => this.nextPage.emit());\n\t\tthis.panelRef.previousPage.subscribe(() => this.previousPage.emit());\n\t\tthis.panelRef.activeOptionIdChanged.subscribe((optionId) => {\n\t\t\tthis.activeDescendant$.next(optionId);\n\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t});\n\t\tthis.panelRef.closed.subscribe(() => this.closePanel());\n\t}\n\n\tprotected focusInput(): void {\n\t\tif (this.inputElementRef) {\n\t\t\tthis.inputElementRef.nativeElement.focus();\n\t\t}\n\t}\n\n\tprotected emptyClue(): void {\n\t\tif (this.clue) {\n\t\t\tthis.clue = null;\n\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t}\n\t}\n\n\tpublic closePanel(): void {\n\t\tif (!this.isPanelOpen) {\n\t\t\treturn;\n\t\t}\n\t\tthis.emptyClue();\n\t\tthis.activeDescendant$.next('');\n\t\tthis.changeDetectorRef.markForCheck();\n\t\tthis.onTouched?.();\n\t\tthis.isPanelOpen$.next(false);\n\t\tthis.panelRef.close();\n\t\tthis._panelRef = undefined;\n\t}\n\n\tpublic writeValue(value: TValue): void {\n\t\tthis.value = value;\n\t}\n\n\tpublic updateValue(value: TValue, skipPanelOpen = false): void {\n\t\tthis.value = value;\n\t\tthis.emptyClue();\n\t\tthis.clueChanged('', skipPanelOpen);\n\t\tthis.onChange?.(value);\n\t\tthis.onTouched?.();\n\t}\n}\n","import { Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Injectable, Provider, inject } from '@angular/core';\nimport { SELECT_ID, SELECT_LABEL, SELECT_LABEL_ID } from '../select.model';\n\nlet selectId = 0;\n\nfunction selectIdFactory(): number {\n\treturn selectId++;\n}\n\nfunction selectLabelFactory(): HTMLLabelElement | undefined {\n\tconst elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tfunction getLabel(node: HTMLElement): HTMLLabelElement | undefined {\n\t\tif (node instanceof HTMLLabelElement) {\n\t\t\treturn node;\n\t\t}\n\n\t\tif (!node.parentElement) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn getLabel(node.parentElement);\n\t}\n\n\treturn getLabel(elementRef.nativeElement);\n}\n\nfunction selectLabelIdFactory(): string {\n\treturn inject(SELECT_LABEL)?.id || `lu-select-label-${inject(SELECT_ID)}`;\n}\n\nexport function provideLuSelectLabelsAndIds(): Provider[] {\n\treturn [\n\t\t{ provide: SELECT_ID, useFactory: selectIdFactory },\n\t\t{ provide: SELECT_LABEL, useFactory: selectLabelFactory },\n\t\t{ provide: SELECT_LABEL_ID, useFactory: selectLabelIdFactory },\n\t];\n}\n\n@Injectable()\nclass LuSelectOverlayContainer extends OverlayContainer {\n\tprivate selectLabelId = inject(SELECT_LABEL_ID);\n\tprivate selectId = inject(SELECT_ID);\n\n\tconstructor() {\n\t\tsuper(inject(DOCUMENT), inject(Platform));\n\t}\n\n\tprotected override _createContainer(): void {\n\t\tsuper._createContainer();\n\t\tthis._containerElement.setAttribute('aria-labelledby', this.selectLabelId);\n\t\tthis._containerElement.id = `lu-select-overlay-container-${this.selectId}`;\n\t}\n}\n\nexport function provideLuSelectOverlayContainer(): Provider[] {\n\treturn [\n\t\tOverlay,\n\t\t{\n\t\t\tprovide: OverlayContainer,\n\t\t\tuseClass: LuSelectOverlayContainer,\n\t\t},\n\t];\n}\n","import { EventEmitter } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport abstract class LuSelectPanelRef<TOption, TValue> {\n\tclosed = new EventEmitter<void>();\n\tpreviousPage = new EventEmitter<void>();\n\tnextPage = new EventEmitter<void>();\n\tvalueChanged = new EventEmitter<TValue>();\n\tclueChanged = new EventEmitter<string>();\n\tactiveOptionIdChanged = new EventEmitter<string>();\n\toptions$: Observable<TOption>;\n\n\tabstract updatePosition(): void;\n\n\tabstract handleKeyManagerEvent(event: KeyboardEvent): void;\n\n\tabstract emitValue(value: TValue): void;\n\n\tabstract selectCurrentlyHighlightedValue(): void;\n\n\tclose(): void {\n\t\tthis.closed.next();\n\t\tthis.closed.complete();\n\t\tthis.nextPage.complete();\n\t\tthis.previousPage.complete();\n\t\tthis.valueChanged.complete();\n\t\tthis.clueChanged.emit('');\n\t\tthis.clueChanged.complete();\n\t\tthis.activeOptionIdChanged.complete();\n\t}\n}\n","import { Observable, distinctUntilChanged, map, of, skip, startWith, switchMap, take } from 'rxjs';\n\nexport type GroupTemplateLocation = 'group-header' | 'option' | 'none';\n\n/**\n * In order to avoid a blinking when we go from empty clue to a clue\n * We need to delay the change of group displayer location by waiting for the options to be updated.\n */\nexport function getGroupTemplateLocation(hasGrouping: boolean, clueChange$: Observable<string>, options$: Observable<unknown[]>): Observable<GroupTemplateLocation> {\n\treturn hasGrouping\n\t\t? clueChange$.pipe(\n\t\t\t\tmap((clue) => !!clue),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tswitchMap((hasClue) =>\n\t\t\t\t\toptions$.pipe(\n\t\t\t\t\t\tskip(1),\n\t\t\t\t\t\ttake(1),\n\t\t\t\t\t\tmap((): GroupTemplateLocation => (hasClue ? 'option' : 'group-header')),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tstartWith('group-header' as const),\n\t\t )\n\t\t: of('none' as const);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/ng",
3
- "version": "17.3.8",
3
+ "version": "17.3.9",
4
4
  "description": "A library of icons made by the team @Lucca",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,8 +26,8 @@
26
26
  "@angular/common": "^17.0.2",
27
27
  "@angular/core": "^17.0.2",
28
28
  "@angular/cdk": "^17.0.0",
29
- "@lucca-front/icons": "v17.3.8",
30
- "@lucca-front/scss": "v17.3.8",
29
+ "@lucca-front/icons": "v17.3.9",
30
+ "@lucca-front/scss": "v17.3.9",
31
31
  "@types/dompurify": "^3.0.0",
32
32
  "isomorphic-dompurify": "^2.2.0",
33
33
  "rxjs": "^7.8.1"
@@ -59,23 +59,29 @@
59
59
  "esm": "./esm2022/animations/lucca-front-ng-animations.mjs",
60
60
  "default": "./fesm2022/lucca-front-ng-animations.mjs"
61
61
  },
62
+ "./button": {
63
+ "types": "./button/index.d.ts",
64
+ "esm2022": "./esm2022/button/lucca-front-ng-button.mjs",
65
+ "esm": "./esm2022/button/lucca-front-ng-button.mjs",
66
+ "default": "./fesm2022/lucca-front-ng-button.mjs"
67
+ },
62
68
  "./api": {
63
69
  "types": "./api/index.d.ts",
64
70
  "esm2022": "./esm2022/api/lucca-front-ng-api.mjs",
65
71
  "esm": "./esm2022/api/lucca-front-ng-api.mjs",
66
72
  "default": "./fesm2022/lucca-front-ng-api.mjs"
67
73
  },
68
- "./callout": {
69
- "types": "./callout/index.d.ts",
70
- "esm2022": "./esm2022/callout/lucca-front-ng-callout.mjs",
71
- "esm": "./esm2022/callout/lucca-front-ng-callout.mjs",
72
- "default": "./fesm2022/lucca-front-ng-callout.mjs"
74
+ "./core": {
75
+ "types": "./core/index.d.ts",
76
+ "esm2022": "./esm2022/core/lucca-front-ng-core.mjs",
77
+ "esm": "./esm2022/core/lucca-front-ng-core.mjs",
78
+ "default": "./fesm2022/lucca-front-ng-core.mjs"
73
79
  },
74
- "./button": {
75
- "types": "./button/index.d.ts",
76
- "esm2022": "./esm2022/button/lucca-front-ng-button.mjs",
77
- "esm": "./esm2022/button/lucca-front-ng-button.mjs",
78
- "default": "./fesm2022/lucca-front-ng-button.mjs"
80
+ "./date": {
81
+ "types": "./date/index.d.ts",
82
+ "esm2022": "./esm2022/date/lucca-front-ng-date.mjs",
83
+ "esm": "./esm2022/date/lucca-front-ng-date.mjs",
84
+ "default": "./fesm2022/lucca-front-ng-date.mjs"
79
85
  },
80
86
  "./core-select": {
81
87
  "types": "./core-select/index.d.ts",
@@ -83,17 +89,11 @@
83
89
  "esm": "./esm2022/core-select/lucca-front-ng-core-select.mjs",
84
90
  "default": "./fesm2022/lucca-front-ng-core-select.mjs"
85
91
  },
86
- "./date": {
87
- "types": "./date/index.d.ts",
88
- "esm2022": "./esm2022/date/lucca-front-ng-date.mjs",
89
- "esm": "./esm2022/date/lucca-front-ng-date.mjs",
90
- "default": "./fesm2022/lucca-front-ng-date.mjs"
91
- },
92
- "./core": {
93
- "types": "./core/index.d.ts",
94
- "esm2022": "./esm2022/core/lucca-front-ng-core.mjs",
95
- "esm": "./esm2022/core/lucca-front-ng-core.mjs",
96
- "default": "./fesm2022/lucca-front-ng-core.mjs"
92
+ "./callout": {
93
+ "types": "./callout/index.d.ts",
94
+ "esm2022": "./esm2022/callout/lucca-front-ng-callout.mjs",
95
+ "esm": "./esm2022/callout/lucca-front-ng-callout.mjs",
96
+ "default": "./fesm2022/lucca-front-ng-callout.mjs"
97
97
  },
98
98
  "./department": {
99
99
  "types": "./department/index.d.ts",
@@ -161,18 +161,18 @@
161
161
  "esm": "./esm2022/input/lucca-front-ng-input.mjs",
162
162
  "default": "./fesm2022/lucca-front-ng-input.mjs"
163
163
  },
164
- "./modal": {
165
- "types": "./modal/index.d.ts",
166
- "esm2022": "./esm2022/modal/lucca-front-ng-modal.mjs",
167
- "esm": "./esm2022/modal/lucca-front-ng-modal.mjs",
168
- "default": "./fesm2022/lucca-front-ng-modal.mjs"
169
- },
170
164
  "./multi-select": {
171
165
  "types": "./multi-select/index.d.ts",
172
166
  "esm2022": "./esm2022/multi-select/lucca-front-ng-multi-select.mjs",
173
167
  "esm": "./esm2022/multi-select/lucca-front-ng-multi-select.mjs",
174
168
  "default": "./fesm2022/lucca-front-ng-multi-select.mjs"
175
169
  },
170
+ "./modal": {
171
+ "types": "./modal/index.d.ts",
172
+ "esm2022": "./esm2022/modal/lucca-front-ng-modal.mjs",
173
+ "esm": "./esm2022/modal/lucca-front-ng-modal.mjs",
174
+ "default": "./fesm2022/lucca-front-ng-modal.mjs"
175
+ },
176
176
  "./new-badge": {
177
177
  "types": "./new-badge/index.d.ts",
178
178
  "esm2022": "./esm2022/new-badge/lucca-front-ng-new-badge.mjs",
@@ -239,23 +239,17 @@
239
239
  "esm": "./esm2022/select/lucca-front-ng-select.mjs",
240
240
  "default": "./fesm2022/lucca-front-ng-select.mjs"
241
241
  },
242
- "./simple-select": {
243
- "types": "./simple-select/index.d.ts",
244
- "esm2022": "./esm2022/simple-select/lucca-front-ng-simple-select.mjs",
245
- "esm": "./esm2022/simple-select/lucca-front-ng-simple-select.mjs",
246
- "default": "./fesm2022/lucca-front-ng-simple-select.mjs"
247
- },
248
242
  "./sidepanel": {
249
243
  "types": "./sidepanel/index.d.ts",
250
244
  "esm2022": "./esm2022/sidepanel/lucca-front-ng-sidepanel.mjs",
251
245
  "esm": "./esm2022/sidepanel/lucca-front-ng-sidepanel.mjs",
252
246
  "default": "./fesm2022/lucca-front-ng-sidepanel.mjs"
253
247
  },
254
- "./title": {
255
- "types": "./title/index.d.ts",
256
- "esm2022": "./esm2022/title/lucca-front-ng-title.mjs",
257
- "esm": "./esm2022/title/lucca-front-ng-title.mjs",
258
- "default": "./fesm2022/lucca-front-ng-title.mjs"
248
+ "./simple-select": {
249
+ "types": "./simple-select/index.d.ts",
250
+ "esm2022": "./esm2022/simple-select/lucca-front-ng-simple-select.mjs",
251
+ "esm": "./esm2022/simple-select/lucca-front-ng-simple-select.mjs",
252
+ "default": "./fesm2022/lucca-front-ng-simple-select.mjs"
259
253
  },
260
254
  "./tooltip": {
261
255
  "types": "./tooltip/index.d.ts",
@@ -263,6 +257,12 @@
263
257
  "esm": "./esm2022/tooltip/lucca-front-ng-tooltip.mjs",
264
258
  "default": "./fesm2022/lucca-front-ng-tooltip.mjs"
265
259
  },
260
+ "./title": {
261
+ "types": "./title/index.d.ts",
262
+ "esm2022": "./esm2022/title/lucca-front-ng-title.mjs",
263
+ "esm": "./esm2022/title/lucca-front-ng-title.mjs",
264
+ "default": "./fesm2022/lucca-front-ng-title.mjs"
265
+ },
266
266
  "./toast": {
267
267
  "types": "./toast/index.d.ts",
268
268
  "esm2022": "./esm2022/toast/lucca-front-ng-toast.mjs",
@@ -3,11 +3,13 @@
3
3
  "schematics": {
4
4
  "ng-add": {
5
5
  "description": "Add my lucca-front to the project.",
6
- "factory": "./ng-add/index#ngAdd"
6
+ "factory": "./ng-add/index#ngAdd",
7
+ "schema": "./ng-add/schema.json"
7
8
  },
8
9
  "new-icons": {
9
10
  "description": "Replace old icon names with new ones.",
10
- "factory": "./new-icons/index"
11
+ "factory": "./new-icons/index",
12
+ "schema": "./new-icons/schema.json"
11
13
  }
12
14
  }
13
15
  }