@ni/nimble-angular 17.4.1 → 17.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import { AfterViewChecked, ElementRef, Renderer2 } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
- import type { ListOption } from '../../public-api';
3
+ import type { ListOption } from '@ni/nimble-components/dist/esm/list-option';
4
+ import type { Combobox } from '../../public-api';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * @description
@@ -25,7 +26,8 @@ export declare class NimbleComboboxControlValueAccessorDirective implements Cont
25
26
  * checking for changes.
26
27
  */
27
28
  set compareWith(fn: (o1: unknown, o2: unknown) => boolean);
28
- private readonly _optionMap;
29
+ private readonly _displayTextToOptionsMap;
30
+ private readonly _optionToModelValueMap;
29
31
  private _modelValue;
30
32
  private _optionUpdateQueue;
31
33
  private _compareWith;
@@ -40,7 +42,7 @@ export declare class NimbleComboboxControlValueAccessorDirective implements Cont
40
42
  * @nodoc
41
43
  */
42
44
  private onTouched;
43
- constructor(_renderer: Renderer2, _elementRef: ElementRef);
45
+ constructor(_renderer: Renderer2, _elementRef: ElementRef<Combobox>);
44
46
  ngAfterViewChecked(): void;
45
47
  /**
46
48
  * Updates the underlying nimble-combobox value with the expected display string.
@@ -68,12 +70,15 @@ export declare class NimbleComboboxControlValueAccessorDirective implements Cont
68
70
  /**
69
71
  * @internal
70
72
  */
71
- addOption(displayValue: string, modelValue: unknown): void;
73
+ addOption(modelValue: unknown, option: ListOption): void;
72
74
  /**
73
75
  * @internal
74
76
  */
75
- removeOption(displayValue: string): void;
76
- queueOptionUpdate(listOption: ListOption, modelValue: unknown): void;
77
+ removeOption(option: ListOption): void;
78
+ /**
79
+ * @internal
80
+ */
81
+ queueOptionUpdate(modelValue: unknown, listOption: ListOption): void;
77
82
  private updateDisplayValue;
78
83
  private getValueStringFromValue;
79
84
  /**
@@ -18,7 +18,6 @@ export declare class NimbleComboboxListOptionDirective implements AfterViewInit,
18
18
  */
19
19
  set ngValue(value: unknown);
20
20
  private _modelValue;
21
- private _currentTextContent;
22
21
  constructor(elementRef: ElementRef<ListOption>, renderer: Renderer2, combobox?: NimbleComboboxControlValueAccessorDirective | undefined);
23
22
  ngAfterViewInit(): void;
24
23
  ngOnDestroy(): void;
@@ -18,7 +18,8 @@ export class NimbleComboboxControlValueAccessorDirective {
18
18
  constructor(_renderer, _elementRef) {
19
19
  this._renderer = _renderer;
20
20
  this._elementRef = _elementRef;
21
- this._optionMap = new Map();
21
+ this._displayTextToOptionsMap = new Map();
22
+ this._optionToModelValueMap = new Map();
22
23
  this._optionUpdateQueue = [];
23
24
  this._compareWith = Object.is;
24
25
  }
@@ -35,7 +36,7 @@ export class NimbleComboboxControlValueAccessorDirective {
35
36
  }
36
37
  ngAfterViewChecked() {
37
38
  for (const updateValue of this._optionUpdateQueue) {
38
- this.addOption(updateValue.listOption.text, updateValue.modelValue);
39
+ this.addOption(updateValue.modelValue, updateValue.listOption);
39
40
  }
40
41
  this._optionUpdateQueue = [];
41
42
  }
@@ -53,9 +54,11 @@ export class NimbleComboboxControlValueAccessorDirective {
53
54
  */
54
55
  registerOnChange(fn) {
55
56
  this.onChange = (valueString) => {
56
- const modelValue = this._optionMap.has(valueString) ? this._optionMap.get(valueString) : OPTION_NOT_FOUND;
57
- this._modelValue = modelValue;
58
- fn(modelValue);
57
+ const options = this._displayTextToOptionsMap.get(valueString);
58
+ this._modelValue = options
59
+ ? this._optionToModelValueMap.get(options[0])
60
+ : OPTION_NOT_FOUND;
61
+ fn(this._modelValue);
59
62
  };
60
63
  }
61
64
  /**
@@ -78,18 +81,43 @@ export class NimbleComboboxControlValueAccessorDirective {
78
81
  /**
79
82
  * @internal
80
83
  */
81
- addOption(displayValue, modelValue) {
82
- this._optionMap.set(displayValue, modelValue);
84
+ addOption(modelValue, option) {
85
+ this._optionToModelValueMap.set(option, modelValue);
86
+ const options = this._displayTextToOptionsMap.get(option.text);
87
+ if (options) {
88
+ const optionIndex = options.indexOf(option);
89
+ if (optionIndex < 0) {
90
+ options.push(option);
91
+ }
92
+ }
93
+ else {
94
+ this._displayTextToOptionsMap.set(option.text, [option]);
95
+ }
83
96
  this.updateDisplayValue();
84
97
  }
85
98
  /**
86
99
  * @internal
87
100
  */
88
- removeOption(displayValue) {
89
- this._optionMap.delete(displayValue);
101
+ removeOption(option) {
102
+ const options = this._displayTextToOptionsMap.get(option.text);
103
+ if (options) {
104
+ if (options.length > 1) {
105
+ const removeIndex = options.indexOf(option);
106
+ if (removeIndex >= 0) {
107
+ options.splice(removeIndex, 1);
108
+ }
109
+ }
110
+ else {
111
+ this._displayTextToOptionsMap.delete(option.text);
112
+ }
113
+ }
114
+ this._optionToModelValueMap.delete(option);
90
115
  }
91
- queueOptionUpdate(listOption, modelValue) {
92
- this.removeOption(listOption.text);
116
+ /**
117
+ * @internal
118
+ */
119
+ queueOptionUpdate(modelValue, listOption) {
120
+ this.removeOption(listOption);
93
121
  this._optionUpdateQueue.push({ listOption, modelValue });
94
122
  }
95
123
  updateDisplayValue() {
@@ -97,9 +125,13 @@ export class NimbleComboboxControlValueAccessorDirective {
97
125
  this.setProperty('value', valueAsString ?? '');
98
126
  }
99
127
  getValueStringFromValue(value) {
100
- for (const [optionKey, optionValue] of this._optionMap.entries()) {
101
- if (this._compareWith(optionValue, value)) {
102
- return optionKey;
128
+ for (const [option, modelValue] of this._optionToModelValueMap.entries()) {
129
+ if (this._compareWith(modelValue, value)) {
130
+ for (const [displayText, options] of this._displayTextToOptionsMap.entries()) {
131
+ if (options.includes(option)) {
132
+ return displayText;
133
+ }
134
+ }
103
135
  }
104
136
  }
105
137
  return undefined;
@@ -141,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
141
173
  type: HostListener,
142
174
  args: ['blur']
143
175
  }] } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLWNvbWJvYm94LWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmkvbmltYmxlLWFuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvY29tYm9ib3gvbmltYmxlLWNvbWJvYm94LWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHekU7Ozs7RUFJRTtBQUNGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFHbkU7Ozs7OztHQU1HO0FBVUgsTUFBTSxPQUFPLDJDQUEyQztJQXNDcEQsWUFDcUIsU0FBb0IsRUFDcEIsV0FBdUI7UUFEdkIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQTFCM0IsZUFBVSxHQUF5QixJQUFJLEdBQUcsRUFBbUIsQ0FBQztRQUl2RSx1QkFBa0IsR0FBc0QsRUFBRSxDQUFDO1FBRTNFLGlCQUFZLEdBQTBDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFxQnJFLENBQUM7SUF4Q0o7Ozs7T0FJRztJQUNILElBQ1csV0FBVyxDQUFDLEVBQXlDO1FBQzVELElBQUksT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pGO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQStCTSxrQkFBa0I7UUFD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LFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztZQUMxRSxLQUFLLEVBQUUsSUFBSTtTQUNkLENBQUM7MkZBRU8sMkNBQTJDO2tCQVR2RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFDTix3RkFBd0Y7b0JBQzFGLFNBQVMsRUFBRSxDQUFDOzRCQUNSLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRDQUE0QyxDQUFDOzRCQUMxRSxLQUFLLEVBQUUsSUFBSTt5QkFDZCxDQUFDO2lCQUNMO3lIQVFjLFdBQVc7c0JBRHJCLEtBQUs7Z0JBdUJFLFFBQVE7c0JBRmYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzs7c0JBQ3RELFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBUXhDLFNBQVM7c0JBRGhCLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IExpc3RPcHRpb24gfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcblxuLyoqXG4qIEBkZXNjcmlwdGlvblxuKiBUaGlzIHN5bWJvbCBpbnN0YW5jZSB3aWxsIGJlIHJldHVybmVkIHdoZW4gdGhlIHZhbHVlIGlucHV0IG9mIHRoZSBDb21ib2JveCBpcyBzZXRcbiogdG8gYSB2YWx1ZSBub3QgZm91bmQgaW4gdGhlIHNldCBvZiBvcHRpb25zLlxuKi9cbmV4cG9ydCBjb25zdCBPUFRJT05fTk9UX0ZPVU5EOiB1bmlxdWUgc3ltYm9sID0gU3ltYm9sKCdub3QgZm91bmQnKTtcbmV4cG9ydCB0eXBlIE9wdGlvbk5vdEZvdW5kID0gdHlwZW9mIE9QVElPTl9OT1RfRk9VTkQ7XG5cbi8qKlxuICogQ29udHJvbCBWYWx1ZSBBY2Nlc3NvciBpbXBsZW1lbnRhdGlvbiB0byB0YXJnZXQgY29tYm9ib3ggaW5wdXRzLlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGUgZXhwZWN0YXRpb24gd2hlbiBiaW5kaW5nIHZhbHVlIHZpYSAnbmdNb2RlbCcsIGlzIHRoYXQgdGhlIGNvbnRlbnQgaW4gZWFjaCBsaXN0LW9wdGlvbiBiZVxuICogdW5pcXVlLiBXaGVuIHRoaXMgaXNuJ3QgdGhlIGNhc2UgdGhlIGJlaGF2aW9yIGlzIHVuZGVmaW5lZC4gQWRkaXRpb25hbGx5LCBpdCBpcyBleHBlY3RlZFxuICogdGhhdCB3aGVuIHVzaW5nICduZ01vZGVsJyB0aGF0IGVhY2ggbGlzdC1vcHRpb24gYmluZCBhIHZhbHVlIHZpYSAnbmdWYWx1ZScsIGFuZCBub3QgJ3ZhbHVlJy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6XG4gICAgICAnbmltYmxlLWNvbWJvYm94W2Zvcm1Db250cm9sTmFtZV0sbmltYmxlLWNvbWJvYm94W2Zvcm1Db250cm9sXSxuaW1ibGUtY29tYm9ib3hbbmdNb2RlbF0nLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5pbWJsZUNvbWJvYm94Q29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUpLFxuICAgICAgICBtdWx0aTogdHJ1ZVxuICAgIH1dXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZUNvbWJvYm94Q29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogVHJhY2tzIHRoZSBvcHRpb24gY29tcGFyaXNvbiBhbGdvcml0aG0gZm9yIHRyYWNraW5nIGlkZW50aXRpZXMgd2hlblxuICAgICAqIGNoZWNraW5nIGZvciBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBjb21wYXJlV2l0aChmbjogKG8xOiB1bmtub3duLCBvMjogdW5rbm93bikgPT4gYm9vbGVhbikge1xuICAgICAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbXBhcmVXaXRoIG11c3QgYmUgYSBmdW5jdGlvbiwgYnV0IHJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkoZm4pfWApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NvbXBhcmVXaXRoID0gZm47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uTWFwOiBNYXA8c3RyaW5nLCB1bmtub3duPiA9IG5ldyBNYXA8c3RyaW5nLCB1bmtub3duPigpO1xuXG4gICAgcHJpdmF0ZSBfbW9kZWxWYWx1ZTogdW5rbm93bjtcblxuICAgIHByaXZhdGUgX29wdGlvblVwZGF0ZVF1ZXVlOiB7IGxpc3RPcHRpb246IExpc3RPcHRpb24sIG1vZGVsVmFsdWU6IHVua25vd24gfVtdID0gW107XG5cbiAgICBwcml2YXRlIF9jb21wYXJlV2l0aDogKG8xOiB1bmtub3duLCBvMjogdW5rbm93bikgPT4gYm9vbGVhbiA9IE9iamVjdC5pcztcblxuICAgIC8qKlxuICAgICAqIFRoZSByZWdpc3RlcmVkIGNhbGxiYWNrIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIGEgY2hhbmdlIG9yIGlucHV0IGV2ZW50IG9jY3VycyBvbiB0aGUgaW5wdXRcbiAgICAgKiBlbGVtZW50LlxuICAgICAqIEBub2RvY1xuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQudGFyZ2V0LmNvbnRyb2wudmFsdWVdJ10pXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlXSddKVxuICAgIHByaXZhdGUgb25DaGFuZ2U6IChfOiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgICogVGhlIHJlZ2lzdGVyZWQgY2FsbGJhY2sgZnVuY3Rpb24gY2FsbGVkIHdoZW4gYSBibHVyIGV2ZW50IG9jY3VycyBvbiB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICAgICogQG5vZG9jXG4gICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCB1cGRhdGVWYWx1ZSBvZiB0aGlzLl9vcHRpb25VcGRhdGVRdWV1ZSkge1xuICAgICAgICAgICAgdGhpcy5hZGRPcHRpb24odXBkYXRlVmFsdWUubGlzdE9wdGlvbi50ZXh0LCB1cGRhdGVWYWx1ZS5tb2RlbFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vcHRpb25VcGRhdGVRdWV1ZSA9IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHVuZGVybHlpbmcgbmltYmxlLWNvbWJvYm94IHZhbHVlIHdpdGggdGhlIGV4cGVjdGVkIGRpc3BsYXkgc3RyaW5nLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgbmdWYWx1ZSBzZXQgb24gdGhlIG5pbWJsZS1jb21ib2JveFxuICAgICAqL1xuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVEaXNwbGF5VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlcnMgYSBmdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCB2YWx1ZSBjaGFuZ2VzLlxuICAgICAqIEBub2RvY1xuICAgICAqL1xuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9ICh2YWx1ZVN0cmluZzogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBtb2RlbFZhbHVlID0gdGhpcy5fb3B0aW9uTWFwLmhhcyh2YWx1ZVN0cmluZykgPyB0aGlzLl9vcHRpb25NYXAuZ2V0KHZhbHVlU3RyaW5nKSA6IE9QVElPTl9OT1RfRk9VTkQ7XG4gICAgICAgICAgICB0aGlzLl9tb2RlbFZhbHVlID0gbW9kZWxWYWx1ZTtcbiAgICAgICAgICAgIGZuKG1vZGVsVmFsdWUpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBhIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sIGlzIHRvdWNoZWQuXG4gICAgICogQG5vZG9jXG4gICAgICovXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogRnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgYnkgdGhlIGZvcm1zIEFQSSB3aGVuIHRoZSBjb250cm9sIHN0YXR1cyBjaGFuZ2VzIHRvXG4gICAgICogb3IgZnJvbSAnRElTQUJMRUQnLiBEZXBlbmRpbmcgb24gdGhlIHN0YXR1cywgaXQgZW5hYmxlcyBvciBkaXNhYmxlcyB0aGVcbiAgICAgKiBjb21ib2JveC5cbiAgICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBUaGUgZGlzYWJsZWQgc3RhdHVzIHRvIHNldCBvbiB0aGUgY29tYm9ib3hcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0UHJvcGVydHkoJ2Rpc2FibGVkJywgaXNEaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGFkZE9wdGlvbihkaXNwbGF5VmFsdWU6IHN0cmluZywgbW9kZWxWYWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgICAgICB0aGlzLl9vcHRpb25NYXAuc2V0KGRpc3BsYXlWYWx1ZSwgbW9kZWxWYWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlRGlzcGxheVZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZU9wdGlvbihkaXNwbGF5VmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vcHRpb25NYXAuZGVsZXRlKGRpc3BsYXlWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHF1ZXVlT3B0aW9uVXBkYXRlKGxpc3RPcHRpb246IExpc3RPcHRpb24sIG1vZGVsVmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVPcHRpb24obGlzdE9wdGlvbi50ZXh0KTtcbiAgICAgICAgdGhpcy5fb3B0aW9uVXBkYXRlUXVldWUucHVzaCh7IGxpc3RPcHRpb24sIG1vZGVsVmFsdWUgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVEaXNwbGF5VmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlQXNTdHJpbmcgPSB0aGlzLmdldFZhbHVlU3RyaW5nRnJvbVZhbHVlKHRoaXMuX21vZGVsVmFsdWUpO1xuICAgICAgICB0aGlzLnNldFByb3BlcnR5KCd2YWx1ZScsIHZhbHVlQXNTdHJpbmcgPz8gJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VmFsdWVTdHJpbmdGcm9tVmFsdWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBmb3IgKGNvbnN0IFtvcHRpb25LZXksIG9wdGlvblZhbHVlXSBvZiB0aGlzLl9vcHRpb25NYXAuZW50cmllcygpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY29tcGFyZVdpdGgob3B0aW9uVmFsdWUsIHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25LZXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgbWV0aG9kIHRoYXQgc2V0cyBhIHByb3BlcnR5IG9uIGEgdGFyZ2V0IGVsZW1lbnQgdXNpbmcgdGhlIGN1cnJlbnQgUmVuZGVyZXJcbiAgICAgKiBpbXBsZW1lbnRhdGlvbi5cbiAgICAgKiBAbm9kb2NcbiAgICAgKi9cbiAgICBwcml2YXRlIHNldFByb3BlcnR5KGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGtleSwgdmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLWNvbWJvYm94LWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmkvbmltYmxlLWFuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvY29tYm9ib3gvbmltYmxlLWNvbWJvYm94LWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFJekU7Ozs7RUFJRTtBQUNGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFHbkU7Ozs7OztHQU1HO0FBVUgsTUFBTSxPQUFPLDJDQUEyQztJQXVDcEQsWUFBb0MsU0FBb0IsRUFBbUIsV0FBaUM7UUFBeEUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFtQixnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7UUF6QjNGLDZCQUF3QixHQUE4QixJQUFJLEdBQUcsRUFBd0IsQ0FBQztRQUN0RiwyQkFBc0IsR0FBNkIsSUFBSSxHQUFHLEVBQXVCLENBQUM7UUFJM0YsdUJBQWtCLEdBQXNELEVBQUUsQ0FBQztRQUUzRSxpQkFBWSxHQUEwQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBa0J1QyxDQUFDO0lBdENoSDs7OztPQUlHO0lBQ0gsSUFDVyxXQUFXLENBQUMsRUFBeUM7UUFDNUQsSUFBSSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekY7UUFDRCxJQUFJLENBQUMsWUFB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aUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztZQUMxRSxLQUFLLEVBQUUsSUFBSTtTQUNkLENBQUM7MkZBRU8sMkNBQTJDO2tCQVR2RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFDTix3RkFBd0Y7b0JBQzFGLFNBQVMsRUFBRSxDQUFDOzRCQUNSLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRDQUE0QyxDQUFDOzRCQUMxRSxLQUFLLEVBQUUsSUFBSTt5QkFDZCxDQUFDO2lCQUNMO3lIQVFjLFdBQVc7c0JBRHJCLEtBQUs7Z0JBd0JFLFFBQVE7c0JBRmYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzs7c0JBQ3RELFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBUXhDLFNBQVM7c0JBRGhCLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IExpc3RPcHRpb24gfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vbGlzdC1vcHRpb24nO1xuaW1wb3J0IHR5cGUgeyBDb21ib2JveCB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuXG4vKipcbiogQGRlc2NyaXB0aW9uXG4qIFRoaXMgc3ltYm9sIGluc3RhbmNlIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiB0aGUgdmFsdWUgaW5wdXQgb2YgdGhlIENvbWJvYm94IGlzIHNldFxuKiB0byBhIHZhbHVlIG5vdCBmb3VuZCBpbiB0aGUgc2V0IG9mIG9wdGlvbnMuXG4qL1xuZXhwb3J0IGNvbnN0IE9QVElPTl9OT1RfRk9VTkQ6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2woJ25vdCBmb3VuZCcpO1xuZXhwb3J0IHR5cGUgT3B0aW9uTm90Rm91bmQgPSB0eXBlb2YgT1BUSU9OX05PVF9GT1VORDtcblxuLyoqXG4gKiBDb250cm9sIFZhbHVlIEFjY2Vzc29yIGltcGxlbWVudGF0aW9uIHRvIHRhcmdldCBjb21ib2JveCBpbnB1dHMuXG4gKiBAZGVzY3JpcHRpb25cbiAqIFRoZSBleHBlY3RhdGlvbiB3aGVuIGJpbmRpbmcgdmFsdWUgdmlhICduZ01vZGVsJywgaXMgdGhhdCB0aGUgY29udGVudCBpbiBlYWNoIGxpc3Qtb3B0aW9uIGJlXG4gKiB1bmlxdWUuIFdoZW4gdGhpcyBpc24ndCB0aGUgY2FzZSB0aGUgYmVoYXZpb3IgaXMgdW5kZWZpbmVkLiBBZGRpdGlvbmFsbHksIGl0IGlzIGV4cGVjdGVkXG4gKiB0aGF0IHdoZW4gdXNpbmcgJ25nTW9kZWwnIHRoYXQgZWFjaCBsaXN0LW9wdGlvbiBiaW5kIGEgdmFsdWUgdmlhICduZ1ZhbHVlJywgYW5kIG5vdCAndmFsdWUnLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjpcbiAgICAgICduaW1ibGUtY29tYm9ib3hbZm9ybUNvbnRyb2xOYW1lXSxuaW1ibGUtY29tYm9ib3hbZm9ybUNvbnRyb2xdLG5pbWJsZS1jb21ib2JveFtuZ01vZGVsXScsXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmltYmxlQ29tYm9ib3hDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSksXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgfV1cbn0pXG5leHBvcnQgY2xhc3MgTmltYmxlQ29tYm9ib3hDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdDaGVja2VkIHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBUcmFja3MgdGhlIG9wdGlvbiBjb21wYXJpc29uIGFsZ29yaXRobSBmb3IgdHJhY2tpbmcgaWRlbnRpdGllcyB3aGVuXG4gICAgICogY2hlY2tpbmcgZm9yIGNoYW5nZXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGNvbXBhcmVXaXRoKGZuOiAobzE6IHVua25vd24sIG8yOiB1bmtub3duKSA9PiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY29tcGFyZVdpdGggbXVzdCBiZSBhIGZ1bmN0aW9uLCBidXQgcmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeShmbil9YCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY29tcGFyZVdpdGggPSBmbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kaXNwbGF5VGV4dFRvT3B0aW9uc01hcDogTWFwPHN0cmluZywgTGlzdE9wdGlvbltdPiA9IG5ldyBNYXA8c3RyaW5nLCBMaXN0T3B0aW9uW10+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uVG9Nb2RlbFZhbHVlTWFwOiBNYXA8TGlzdE9wdGlvbiwgdW5rbm93bj4gPSBuZXcgTWFwPExpc3RPcHRpb24sIHVua25vd24+KCk7XG5cbiAgICBwcml2YXRlIF9tb2RlbFZhbHVlOiB1bmtub3duO1xuXG4gICAgcHJpdmF0ZSBfb3B0aW9uVXBkYXRlUXVldWU6IHsgbGlzdE9wdGlvbjogTGlzdE9wdGlvbiwgbW9kZWxWYWx1ZTogdW5rbm93biB9W10gPSBbXTtcblxuICAgIHByaXZhdGUgX2NvbXBhcmVXaXRoOiAobzE6IHVua25vd24sIG8yOiB1bmtub3duKSA9PiBib29sZWFuID0gT2JqZWN0LmlzO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHJlZ2lzdGVyZWQgY2FsbGJhY2sgZnVuY3Rpb24gY2FsbGVkIHdoZW4gYSBjaGFuZ2Ugb3IgaW5wdXQgZXZlbnQgb2NjdXJzIG9uIHRoZSBpbnB1dFxuICAgICAqIGVsZW1lbnQuXG4gICAgICogQG5vZG9jXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudC50YXJnZXQuY29udHJvbC52YWx1ZV0nXSlcbiAgICBASG9zdExpc3RlbmVyKCdjaGFuZ2UnLCBbJyRldmVudC50YXJnZXQudmFsdWVdJ10pXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKF86IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAgKiBUaGUgcmVnaXN0ZXJlZCBjYWxsYmFjayBmdW5jdGlvbiBjYWxsZWQgd2hlbiBhIGJsdXIgZXZlbnQgb2NjdXJzIG9uIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgICAgKiBAbm9kb2NcbiAgICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gICAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQ7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxDb21ib2JveD4pIHt9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBmb3IgKGNvbnN0IHVwZGF0ZVZhbHVlIG9mIHRoaXMuX29wdGlvblVwZGF0ZVF1ZXVlKSB7XG4gICAgICAgICAgICB0aGlzLmFkZE9wdGlvbih1cGRhdGVWYWx1ZS5tb2RlbFZhbHVlLCB1cGRhdGVWYWx1ZS5saXN0T3B0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vcHRpb25VcGRhdGVRdWV1ZSA9IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHVuZGVybHlpbmcgbmltYmxlLWNvbWJvYm94IHZhbHVlIHdpdGggdGhlIGV4cGVjdGVkIGRpc3BsYXkgc3RyaW5nLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgbmdWYWx1ZSBzZXQgb24gdGhlIG5pbWJsZS1jb21ib2JveFxuICAgICAqL1xuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVEaXNwbGF5VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlcnMgYSBmdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCB2YWx1ZSBjaGFuZ2VzLlxuICAgICAqIEBub2RvY1xuICAgICAqL1xuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9ICh2YWx1ZVN0cmluZzogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fZGlzcGxheVRleHRUb09wdGlvbnNNYXAuZ2V0KHZhbHVlU3RyaW5nKTtcbiAgICAgICAgICAgIHRoaXMuX21vZGVsVmFsdWUgPSBvcHRpb25zXG4gICAgICAgICAgICAgICAgPyB0aGlzLl9vcHRpb25Ub01vZGVsVmFsdWVNYXAuZ2V0KG9wdGlvbnNbMF0pXG4gICAgICAgICAgICAgICAgOiBPUFRJT05fTk9UX0ZPVU5EO1xuICAgICAgICAgICAgZm4odGhpcy5fbW9kZWxWYWx1ZSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXJzIGEgZnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgaXMgdG91Y2hlZC5cbiAgICAgKiBAbm9kb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBieSB0aGUgZm9ybXMgQVBJIHdoZW4gdGhlIGNvbnRyb2wgc3RhdHVzIGNoYW5nZXMgdG9cbiAgICAgKiBvciBmcm9tICdESVNBQkxFRCcuIERlcGVuZGluZyBvbiB0aGUgc3RhdHVzLCBpdCBlbmFibGVzIG9yIGRpc2FibGVzIHRoZVxuICAgICAqIGNvbWJvYm94LlxuICAgICAqIEBwYXJhbSBpc0Rpc2FibGVkIFRoZSBkaXNhYmxlZCBzdGF0dXMgdG8gc2V0IG9uIHRoZSBjb21ib2JveFxuICAgICAqL1xuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRQcm9wZXJ0eSgnZGlzYWJsZWQnLCBpc0Rpc2FibGVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkT3B0aW9uKG1vZGVsVmFsdWU6IHVua25vd24sIG9wdGlvbjogTGlzdE9wdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9vcHRpb25Ub01vZGVsVmFsdWVNYXAuc2V0KG9wdGlvbiwgbW9kZWxWYWx1ZSk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9kaXNwbGF5VGV4dFRvT3B0aW9uc01hcC5nZXQob3B0aW9uLnRleHQpO1xuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uSW5kZXggPSBvcHRpb25zLmluZGV4T2Yob3B0aW9uKTtcbiAgICAgICAgICAgIGlmIChvcHRpb25JbmRleCA8IDApIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnB1c2gob3B0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXlUZXh0VG9PcHRpb25zTWFwLnNldChvcHRpb24udGV4dCwgW29wdGlvbl0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlRGlzcGxheVZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZU9wdGlvbihvcHRpb246IExpc3RPcHRpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2Rpc3BsYXlUZXh0VG9PcHRpb25zTWFwLmdldChvcHRpb24udGV4dCk7XG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSW5kZXggPSBvcHRpb25zLmluZGV4T2Yob3B0aW9uKTtcbiAgICAgICAgICAgICAgICBpZiAocmVtb3ZlSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnNwbGljZShyZW1vdmVJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kaXNwbGF5VGV4dFRvT3B0aW9uc01hcC5kZWxldGUob3B0aW9uLnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX29wdGlvblRvTW9kZWxWYWx1ZU1hcC5kZWxldGUob3B0aW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgcXVldWVPcHRpb25VcGRhdGUobW9kZWxWYWx1ZTogdW5rbm93biwgbGlzdE9wdGlvbjogTGlzdE9wdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZU9wdGlvbihsaXN0T3B0aW9uKTtcbiAgICAgICAgdGhpcy5fb3B0aW9uVXBkYXRlUXVldWUucHVzaCh7IGxpc3RPcHRpb24sIG1vZGVsVmFsdWUgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVEaXNwbGF5VmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlQXNTdHJpbmcgPSB0aGlzLmdldFZhbHVlU3RyaW5nRnJvbVZhbHVlKHRoaXMuX21vZGVsVmFsdWUpO1xuICAgICAgICB0aGlzLnNldFByb3BlcnR5KCd2YWx1ZScsIHZhbHVlQXNTdHJpbmcgPz8gJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VmFsdWVTdHJpbmdGcm9tVmFsdWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBmb3IgKGNvbnN0IFtvcHRpb24sIG1vZGVsVmFsdWVdIG9mIHRoaXMuX29wdGlvblRvTW9kZWxWYWx1ZU1hcC5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jb21wYXJlV2l0aChtb2RlbFZhbHVlLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtkaXNwbGF5VGV4dCwgb3B0aW9uc10gb2YgdGhpcy5fZGlzcGxheVRleHRUb09wdGlvbnNNYXAuZW50cmllcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmluY2x1ZGVzKG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkaXNwbGF5VGV4dDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhlbHBlciBtZXRob2QgdGhhdCBzZXRzIGEgcHJvcGVydHkgb24gYSB0YXJnZXQgZWxlbWVudCB1c2luZyB0aGUgY3VycmVudCBSZW5kZXJlclxuICAgICAqIGltcGxlbWVudGF0aW9uLlxuICAgICAqIEBub2RvY1xuICAgICAqL1xuICAgIHByaXZhdGUgc2V0UHJvcGVydHkoa2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwga2V5LCB2YWx1ZSk7XG4gICAgfVxufVxuIl19
@@ -31,17 +31,16 @@ export class NimbleComboboxListOptionDirective {
31
31
  }
32
32
  ngAfterViewInit() {
33
33
  if (this.combobox) {
34
- this._currentTextContent = this.elementRef.nativeElement.text;
35
- this.combobox.addOption(this._currentTextContent, this._modelValue);
34
+ this.combobox.addOption(this._modelValue, this.elementRef.nativeElement);
36
35
  }
37
36
  }
38
37
  ngOnDestroy() {
39
38
  if (this.combobox) {
40
- this.combobox.removeOption(this._currentTextContent);
39
+ this.combobox.removeOption(this.elementRef.nativeElement);
41
40
  }
42
41
  }
43
42
  updateComboboxValue(value) {
44
- this.combobox.queueOptionUpdate(this.elementRef.nativeElement, value);
43
+ this.combobox.queueOptionUpdate(value, this.elementRef.nativeElement);
45
44
  }
46
45
  }
47
46
  NimbleComboboxListOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleComboboxListOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: NimbleComboboxControlValueAccessorDirective, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
@@ -63,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
63
62
  }], ngValue: [{
64
63
  type: Input
65
64
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLWNvbWJvYm94LWxpc3Qtb3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3NyYy9kaXJlY3RpdmVzL2xpc3Qtb3B0aW9uL25pbWJsZS1jb21ib2JveC1saXN0LW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRTFILE9BQU8sRUFBMkIsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7O0FBRTNIOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlDQUFpQztJQXdCMUMsWUFDcUIsVUFBa0MsRUFDbEMsUUFBbUIsRUFDc0QsUUFBc0Q7UUFGL0gsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNzRCxhQUFRLEdBQVIsUUFBUSxDQUE4QztRQU41SSxnQkFBVyxHQUFZLFNBQVMsQ0FBQztJQU9yQyxDQUFDO0lBM0JMLElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFvQixRQUFRLENBQUMsS0FBOEI7UUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ1csT0FBTyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0wsQ0FBQztJQVdNLGVBQWU7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN4RDtJQUNMLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3RDLElBQUksQ0FBQyxRQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7OEhBN0NRLGlDQUFpQyxxRUEyQjlCLDJDQUEyQztrSEEzQjlDLGlDQUFpQzsyRkFBakMsaUNBQWlDO2tCQUg3QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7aUJBQ2pDOzswQkE0QlEsTUFBTTsyQkFBQywyQ0FBMkM7OzBCQUFHLFFBQVE7OzBCQUFJLElBQUk7NENBdEJ0RCxRQUFRO3NCQUEzQixLQUFLO2dCQVNLLE9BQU87c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3QsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBMaXN0T3B0aW9uIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL2xpc3Qtb3B0aW9uJztcbmltcG9ydCB7IEJvb2xlYW5WYWx1ZU9yQXR0cmlidXRlLCB0b0Jvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BuaS9uaW1ibGUtYW5ndWxhci9pbnRlcm5hbC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgTmltYmxlQ29tYm9ib3hDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2NvbWJvYm94L25pbWJsZS1jb21ib2JveC1jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHByb3ZpZGUgQW5ndWxhciBpbnRlZ3JhdGlvbiBmb3IgdGhlIGxpc3Qgb3B0aW9uIHdoZW4gdXNlZCB3aXRoIGEgY29tYm9ib3guXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmltYmxlLWxpc3Qtb3B0aW9uJ1xufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVDb21ib2JveExpc3RPcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuVmFsdWVPckF0dHJpYnV0ZSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCB0b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFRyYWNrcyB0aGUgdmFsdWUgYm91bmQgdG8gdGhlIG9wdGlvbiBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBuZ1ZhbHVlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbWJvYm94KSB7XG4gICAgICAgICAgICB0aGlzLl9tb2RlbFZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbWJvYm94VmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbW9kZWxWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIF9jdXJyZW50VGV4dENvbnRlbnQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPExpc3RPcHRpb24+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoTmltYmxlQ29tYm9ib3hDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSkgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IGNvbWJvYm94PzogTmltYmxlQ29tYm9ib3hDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZVxuICAgICkgeyB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21ib2JveCkge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRleHRDb250ZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dDtcbiAgICAgICAgICAgIHRoaXMuY29tYm9ib3guYWRkT3B0aW9uKHRoaXMuX2N1cnJlbnRUZXh0Q29udGVudCwgdGhpcy5fbW9kZWxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbWJvYm94KSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJvYm94LnJlbW92ZU9wdGlvbih0aGlzLl9jdXJyZW50VGV4dENvbnRlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDb21ib2JveFZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tYm9ib3ghLnF1ZXVlT3B0aW9uVXBkYXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB2YWx1ZSk7XG4gICAgfVxufVxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLWNvbWJvYm94LWxpc3Qtb3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3NyYy9kaXJlY3RpdmVzL2xpc3Qtb3B0aW9uL25pbWJsZS1jb21ib2JveC1saXN0LW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRTFILE9BQU8sRUFBMkIsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7O0FBRTNIOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlDQUFpQztJQXVCMUMsWUFDcUIsVUFBa0MsRUFDbEMsUUFBbUIsRUFDc0QsUUFBc0Q7UUFGL0gsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNzRCxhQUFRLEdBQVIsUUFBUSxDQUE4QztRQUw1SSxnQkFBVyxHQUFZLFNBQVMsQ0FBQztJQU1yQyxDQUFDO0lBMUJMLElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFvQixRQUFRLENBQUMsS0FBOEI7UUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ1csT0FBTyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0wsQ0FBQztJQVVNLGVBQWU7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzVFO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzdEO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWM7UUFDdEMsSUFBSSxDQUFDLFFBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzRSxDQUFDOzs4SEEzQ1EsaUNBQWlDLHFFQTBCOUIsMkNBQTJDO2tIQTFCOUMsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBSDdDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtpQkFDakM7OzBCQTJCUSxNQUFNOzJCQUFDLDJDQUEyQzs7MEJBQUcsUUFBUTs7MEJBQUksSUFBSTs0Q0FyQnRELFFBQVE7c0JBQTNCLEtBQUs7Z0JBU0ssT0FBTztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IExpc3RPcHRpb24gfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vbGlzdC1vcHRpb24nO1xuaW1wb3J0IHsgQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUsIHRvQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQG5pL25pbWJsZS1hbmd1bGFyL2ludGVybmFsLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBOaW1ibGVDb21ib2JveENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29tYm9ib3gvbmltYmxlLWNvbWJvYm94LWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcHJvdmlkZSBBbmd1bGFyIGludGVncmF0aW9uIGZvciB0aGUgbGlzdCBvcHRpb24gd2hlbiB1c2VkIHdpdGggYSBjb21ib2JveC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICduaW1ibGUtbGlzdC1vcHRpb24nXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZUNvbWJvYm94TGlzdE9wdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc2FibGVkO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5WYWx1ZU9yQXR0cmlidXRlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIHRvQm9vbGVhblByb3BlcnR5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogVHJhY2tzIHRoZSB2YWx1ZSBib3VuZCB0byB0aGUgb3B0aW9uIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IG5nVmFsdWUodmFsdWU6IHVua25vd24pIHtcbiAgICAgICAgaWYgKHRoaXMuY29tYm9ib3gpIHtcbiAgICAgICAgICAgIHRoaXMuX21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29tYm9ib3hWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9tb2RlbFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8TGlzdE9wdGlvbj4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChOaW1ibGVDb21ib2JveENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlKSBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgcmVhZG9ubHkgY29tYm9ib3g/OiBOaW1ibGVDb21ib2JveENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlXG4gICAgKSB7IH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbWJvYm94KSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJvYm94LmFkZE9wdGlvbih0aGlzLl9tb2RlbFZhbHVlLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbWJvYm94KSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJvYm94LnJlbW92ZU9wdGlvbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNvbWJvYm94VmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21ib2JveCEucXVldWVPcHRpb25VcGRhdGUodmFsdWUsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG4iXX0=
@@ -1241,7 +1241,8 @@ class NimbleComboboxControlValueAccessorDirective {
1241
1241
  constructor(_renderer, _elementRef) {
1242
1242
  this._renderer = _renderer;
1243
1243
  this._elementRef = _elementRef;
1244
- this._optionMap = new Map();
1244
+ this._displayTextToOptionsMap = new Map();
1245
+ this._optionToModelValueMap = new Map();
1245
1246
  this._optionUpdateQueue = [];
1246
1247
  this._compareWith = Object.is;
1247
1248
  }
@@ -1258,7 +1259,7 @@ class NimbleComboboxControlValueAccessorDirective {
1258
1259
  }
1259
1260
  ngAfterViewChecked() {
1260
1261
  for (const updateValue of this._optionUpdateQueue) {
1261
- this.addOption(updateValue.listOption.text, updateValue.modelValue);
1262
+ this.addOption(updateValue.modelValue, updateValue.listOption);
1262
1263
  }
1263
1264
  this._optionUpdateQueue = [];
1264
1265
  }
@@ -1276,9 +1277,11 @@ class NimbleComboboxControlValueAccessorDirective {
1276
1277
  */
1277
1278
  registerOnChange(fn) {
1278
1279
  this.onChange = (valueString) => {
1279
- const modelValue = this._optionMap.has(valueString) ? this._optionMap.get(valueString) : OPTION_NOT_FOUND;
1280
- this._modelValue = modelValue;
1281
- fn(modelValue);
1280
+ const options = this._displayTextToOptionsMap.get(valueString);
1281
+ this._modelValue = options
1282
+ ? this._optionToModelValueMap.get(options[0])
1283
+ : OPTION_NOT_FOUND;
1284
+ fn(this._modelValue);
1282
1285
  };
1283
1286
  }
1284
1287
  /**
@@ -1301,18 +1304,43 @@ class NimbleComboboxControlValueAccessorDirective {
1301
1304
  /**
1302
1305
  * @internal
1303
1306
  */
1304
- addOption(displayValue, modelValue) {
1305
- this._optionMap.set(displayValue, modelValue);
1307
+ addOption(modelValue, option) {
1308
+ this._optionToModelValueMap.set(option, modelValue);
1309
+ const options = this._displayTextToOptionsMap.get(option.text);
1310
+ if (options) {
1311
+ const optionIndex = options.indexOf(option);
1312
+ if (optionIndex < 0) {
1313
+ options.push(option);
1314
+ }
1315
+ }
1316
+ else {
1317
+ this._displayTextToOptionsMap.set(option.text, [option]);
1318
+ }
1306
1319
  this.updateDisplayValue();
1307
1320
  }
1308
1321
  /**
1309
1322
  * @internal
1310
1323
  */
1311
- removeOption(displayValue) {
1312
- this._optionMap.delete(displayValue);
1324
+ removeOption(option) {
1325
+ const options = this._displayTextToOptionsMap.get(option.text);
1326
+ if (options) {
1327
+ if (options.length > 1) {
1328
+ const removeIndex = options.indexOf(option);
1329
+ if (removeIndex >= 0) {
1330
+ options.splice(removeIndex, 1);
1331
+ }
1332
+ }
1333
+ else {
1334
+ this._displayTextToOptionsMap.delete(option.text);
1335
+ }
1336
+ }
1337
+ this._optionToModelValueMap.delete(option);
1313
1338
  }
1314
- queueOptionUpdate(listOption, modelValue) {
1315
- this.removeOption(listOption.text);
1339
+ /**
1340
+ * @internal
1341
+ */
1342
+ queueOptionUpdate(modelValue, listOption) {
1343
+ this.removeOption(listOption);
1316
1344
  this._optionUpdateQueue.push({ listOption, modelValue });
1317
1345
  }
1318
1346
  updateDisplayValue() {
@@ -1320,9 +1348,13 @@ class NimbleComboboxControlValueAccessorDirective {
1320
1348
  this.setProperty('value', valueAsString !== null && valueAsString !== void 0 ? valueAsString : '');
1321
1349
  }
1322
1350
  getValueStringFromValue(value) {
1323
- for (const [optionKey, optionValue] of this._optionMap.entries()) {
1324
- if (this._compareWith(optionValue, value)) {
1325
- return optionKey;
1351
+ for (const [option, modelValue] of this._optionToModelValueMap.entries()) {
1352
+ if (this._compareWith(modelValue, value)) {
1353
+ for (const [displayText, options] of this._displayTextToOptionsMap.entries()) {
1354
+ if (options.includes(option)) {
1355
+ return displayText;
1356
+ }
1357
+ }
1326
1358
  }
1327
1359
  }
1328
1360
  return undefined;
@@ -6540,17 +6572,16 @@ class NimbleComboboxListOptionDirective {
6540
6572
  }
6541
6573
  ngAfterViewInit() {
6542
6574
  if (this.combobox) {
6543
- this._currentTextContent = this.elementRef.nativeElement.text;
6544
- this.combobox.addOption(this._currentTextContent, this._modelValue);
6575
+ this.combobox.addOption(this._modelValue, this.elementRef.nativeElement);
6545
6576
  }
6546
6577
  }
6547
6578
  ngOnDestroy() {
6548
6579
  if (this.combobox) {
6549
- this.combobox.removeOption(this._currentTextContent);
6580
+ this.combobox.removeOption(this.elementRef.nativeElement);
6550
6581
  }
6551
6582
  }
6552
6583
  updateComboboxValue(value) {
6553
- this.combobox.queueOptionUpdate(this.elementRef.nativeElement, value);
6584
+ this.combobox.queueOptionUpdate(value, this.elementRef.nativeElement);
6554
6585
  }
6555
6586
  }
6556
6587
  NimbleComboboxListOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleComboboxListOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: NimbleComboboxControlValueAccessorDirective, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });