ng-virtual-list 16.7.11 → 16.7.13

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.
Files changed (34) hide show
  1. package/README.md +28 -9
  2. package/esm2022/lib/components/ng-virtual-list-item.component.mjs +43 -27
  3. package/esm2022/lib/const/index.mjs +3 -2
  4. package/esm2022/lib/enums/collection-mode.mjs +2 -0
  5. package/esm2022/lib/enums/collection-modes.mjs +18 -0
  6. package/esm2022/lib/enums/focus-alignments.mjs +14 -0
  7. package/esm2022/lib/enums/index.mjs +4 -2
  8. package/esm2022/lib/models/display-object-config.model.mjs +2 -0
  9. package/esm2022/lib/models/display-object-measures.model.mjs +2 -0
  10. package/esm2022/lib/models/index.mjs +1 -1
  11. package/esm2022/lib/ng-virtual-list.component.mjs +108 -19
  12. package/esm2022/lib/ng-virtual-list.service.mjs +4 -3
  13. package/esm2022/lib/types/focus-alignment.mjs +2 -0
  14. package/esm2022/lib/types/index.mjs +1 -1
  15. package/esm2022/lib/utils/isCollectionMode.mjs +15 -0
  16. package/esm2022/lib/utils/trackBox.mjs +45 -16
  17. package/fesm2022/ng-virtual-list.mjs +237 -59
  18. package/fesm2022/ng-virtual-list.mjs.map +1 -1
  19. package/lib/components/ng-virtual-list-item.component.d.ts +9 -39
  20. package/lib/const/index.d.ts +2 -1
  21. package/lib/enums/collection-mode.d.ts +8 -0
  22. package/lib/enums/collection-modes.d.ts +16 -0
  23. package/lib/enums/focus-alignments.d.ts +12 -0
  24. package/lib/enums/index.d.ts +5 -2
  25. package/lib/models/display-object-config.model.d.ts +35 -0
  26. package/lib/models/display-object-measures.model.d.ts +13 -0
  27. package/lib/models/index.d.ts +3 -1
  28. package/lib/ng-virtual-list.component.d.ts +19 -3
  29. package/lib/ng-virtual-list.service.d.ts +4 -4
  30. package/lib/types/focus-alignment.d.ts +8 -0
  31. package/lib/types/index.d.ts +2 -1
  32. package/lib/utils/isCollectionMode.d.ts +8 -0
  33. package/lib/utils/trackBox.d.ts +17 -9
  34. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { Subject, tap } from 'rxjs';
3
3
  import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
4
+ import { FocusAlignments } from './enums';
4
5
  import { MethodsForSelectingTypes } from './enums/method-for-selecting-types';
5
6
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
7
  import { DEFAULT_COLLAPSE_BY_CLICK, DEFAULT_SELECT_BY_CLICK } from './const';
@@ -167,11 +168,11 @@ export class NgVirtualListService {
167
168
  this._trackBox = trackBox;
168
169
  }
169
170
  itemToFocus;
170
- focus(element) {
171
+ focus(element, align = FocusAlignments.CENTER) {
171
172
  element.focus({ preventScroll: true });
172
173
  if (element.parentElement) {
173
174
  const pos = parseFloat(element.parentElement?.getAttribute('position') ?? '0');
174
- this.itemToFocus?.(element, pos);
175
+ this.itemToFocus?.(element, pos, align);
175
176
  }
176
177
  }
177
178
  areaFocus(id) {
@@ -190,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
190
191
  providedIn: 'root'
191
192
  }]
192
193
  }], ctorParameters: function () { return []; } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9uZy12aXJ0dWFsLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBTTdFLE1BQU0sT0FBTyxvQkFBb0I7SUFDdkIsZ0JBQWdCLEdBQVcsQ0FBQyxDQUFDO0lBRTdCLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBMkMsQ0FBQztJQUM3RSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyQyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQTZCLFNBQVMsQ0FBQyxDQUFDO0lBQ25GLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXpDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBWSxFQUFFLENBQUMsQ0FBQztJQUM1RCxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUUzQyxtQkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBMkIsQ0FBQyxDQUFDLENBQUM7SUFDL0Usa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRTdELElB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T0FBb0I7UUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN6QixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsRUFBYTtRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxNQUFNLENBQUMsZ0JBQWdCO1lBQzlFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQzt3R0E5TFUsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRyYWNrQm94IH0gZnJvbSAnLi91dGlscy90cmFja0JveCc7XHJcbmltcG9ydCB7IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW0gfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvQmVoYXZpb3JTdWJqZWN0JztcclxuaW1wb3J0IHsgSWQgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzIH0gZnJvbSAnLi9lbnVtcy9tZXRob2QtZm9yLXNlbGVjdGluZy10eXBlcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgREVGQVVMVF9DT0xMQVBTRV9CWV9DTElDSywgREVGQVVMVF9TRUxFQ1RfQllfQ0xJQ0sgfSBmcm9tICcuL2NvbnN0JztcclxuaW1wb3J0IHsgSVJlbmRlclZpcnR1YWxMaXN0Q29sbGVjdGlvbiB9IGZyb20gJy4vbW9kZWxzL3JlbmRlci1jb2xsZWN0aW9uLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVmlydHVhbExpc3RTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9uZXh0Q29tcG9uZW50SWQ6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgXyRpdGVtQ2xpY2sgPSBuZXcgU3ViamVjdDxJUmVuZGVyVmlydHVhbExpc3RJdGVtPGFueT4gfCB1bmRlZmluZWQ+KCk7XHJcbiAgJGl0ZW1DbGljayA9IHRoaXMuXyRpdGVtQ2xpY2suYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHByaXZhdGUgXyRzZWxlY3RlZElkcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8SWQ+IHwgSWQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgJHNlbGVjdGVkSWRzID0gdGhpcy5fJHNlbGVjdGVkSWRzLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIF8kY29sbGFwc2VkSWRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxJZD4+KFtdKTtcclxuICAkY29sbGFwc2VkSWRzID0gdGhpcy5fJGNvbGxhcHNlZElkcy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBfJG1ldGhvZE9mU2VsZWN0aW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXM+KDApO1xyXG4gICRtZXRob2RPZlNlbGVjdGluZyA9IHRoaXMuXyRtZXRob2RPZlNlbGVjdGluZy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgc2V0IG1ldGhvZE9mU2VsZWN0aW5nKHY6IE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcykge1xyXG4gICAgdGhpcy5fJG1ldGhvZE9mU2VsZWN0aW5nLm5leHQodik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90cmFja0JveDogVHJhY2tCb3ggfCB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgXyRmb2N1c2VkSWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElkIHwgbnVsbD4obnVsbCk7XHJcbiAgJGZvY3VzZWRJZCA9IHRoaXMuXyRmb2N1c2VkSWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgZ2V0IGZvY3VzZWRJZCgpIHsgcmV0dXJuIHRoaXMuXyRmb2N1c2VkSWQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICBzZWxlY3RCeUNsaWNrOiBib29sZWFuID0gREVGQVVMVF9TRUxFQ1RfQllfQ0xJQ0s7XHJcblxyXG4gIGNvbGxhcHNlQnlDbGljazogYm9vbGVhbiA9IERFRkFVTFRfQ09MTEFQU0VfQllfQ0xJQ0s7XHJcblxyXG4gIGxpc3RFbGVtZW50OiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb2xsZWN0aW9uOiBJUmVuZGVyVmlydHVhbExpc3RDb2xsZWN0aW9uID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5fJG1ldGhvZE9mU2VsZWN0aW5nLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxyXG4gICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgc3dpdGNoICh2KSB7XHJcbiAgICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5TRUxFQ1Q6IHtcclxuICAgICAgICAgICAgY29uc3QgY3VyciA9IHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1cnIgIT09ICdudW1iZXInICYmIHR5cGVvZiBjdXJyICE9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5NVUxUSV9TRUxFQ1Q6IHtcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KFtdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNhc2UgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzLk5PTkU6XHJcbiAgICAgICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRJZHMoaWRzOiBBcnJheTxJZD4gfCBJZCB8IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKEpTT04uc3RyaW5naWZ5KHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpKSAhPT0gSlNPTi5zdHJpbmdpZnkoaWRzKSkge1xyXG4gICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChpZHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q29sbGFwc2VkSWRzKGlkczogQXJyYXk8SWQ+KSB7XHJcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5fJGNvbGxhcHNlZElkcy5nZXRWYWx1ZSgpKSAhPT0gSlNPTi5zdHJpbmdpZnkoaWRzKSkge1xyXG4gICAgICB0aGlzLl8kY29sbGFwc2VkSWRzLm5leHQoaWRzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGl0ZW1DbGljayhkYXRhOiBJUmVuZGVyVmlydHVhbExpc3RJdGVtIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLl8kaXRlbUNsaWNrLm5leHQoZGF0YSk7XHJcbiAgICBpZiAodGhpcy5jb2xsYXBzZUJ5Q2xpY2spIHtcclxuICAgICAgdGhpcy5jb2xsYXBzZShkYXRhKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdEJ5Q2xpY2spIHtcclxuICAgICAgdGhpcy5zZWxlY3QoZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGUoKSB7XHJcbiAgICB0aGlzLl90cmFja0JveD8uY2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VsZWN0cyBhIGxpc3QgaXRlbVxyXG4gICAqIEBwYXJhbSBkYXRhIFxyXG4gICAqIEBwYXJhbSBzZWxlY3RlZCAtIElmIHRoZSB2YWx1ZSBpcyB1bmRlZmluZWQsIHRoZW4gdGhlIHRvZ2dsZSBtZXRob2QgaXMgZXhlY3V0ZWQsIGlmIGZhbHNlIG9yIHRydWUsIHRoZW4gdGhlIHNlbGVjdGlvbi9kZXNlbGVjdGlvbiBpcyBwZXJmb3JtZWQuXHJcbiAgICovXHJcbiAgc2VsZWN0KGRhdGE6IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW0gfCB1bmRlZmluZWQsIHNlbGVjdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoZGF0YSAmJiBkYXRhLmNvbmZpZy5zZWxlY3RhYmxlKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5fJG1ldGhvZE9mU2VsZWN0aW5nLmdldFZhbHVlKCkpIHtcclxuICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5TRUxFQ1Q6IHtcclxuICAgICAgICAgIGNvbnN0IGN1cnIgPSB0aGlzLl8kc2VsZWN0ZWRJZHMuZ2V0VmFsdWUoKSBhcyAoSWQgfCB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgaWYgKHNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQoY3VyciAhPT0gZGF0YT8uaWQgPyBkYXRhPy5pZCA6IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChzZWxlY3RlZCA/IGRhdGE/LmlkIDogdW5kZWZpbmVkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5NVUxUSV9TRUxFQ1Q6IHtcclxuICAgICAgICAgIGNvbnN0IGN1cnIgPSBbLi4uKHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpIHx8IFtdKSBhcyBBcnJheTxJZD5dLCBpbmRleCA9IGN1cnIuaW5kZXhPZihkYXRhLmlkKTtcclxuICAgICAgICAgIGlmIChzZWxlY3RlZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgY3Vyci5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KGN1cnIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KFsuLi5jdXJyLCBkYXRhLmlkXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChjdXJyKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChbLi4uY3VyciwgZGF0YS5pZF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICAgIGN1cnIuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChjdXJyKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChjdXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzLk5PTkU6XHJcbiAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgKiBDb2xsYXBzZSBsaXN0IGl0ZW1zXHJcbiAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgKiBAcGFyYW0gY29sbGFwc2VkIC0gSWYgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZCwgdGhlbiB0aGUgdG9nZ2xlIG1ldGhvZCBpcyBleGVjdXRlZCwgaWYgZmFsc2Ugb3IgdHJ1ZSwgdGhlbiB0aGUgY29sbGFwc2UvZXhwYW5kIGlzIHBlcmZvcm1lZC5cclxuICAgICovXHJcbiAgY29sbGFwc2UoZGF0YTogSVJlbmRlclZpcnR1YWxMaXN0SXRlbSB8IHVuZGVmaW5lZCwgY29sbGFwc2VkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoZGF0YSAmJiBkYXRhLmNvbmZpZy5zdGlja3kgPiAwICYmIGRhdGEuY29uZmlnLmNvbGxhcHNhYmxlKSB7XHJcbiAgICAgIGNvbnN0IGN1cnIgPSBbLi4uKHRoaXMuXyRjb2xsYXBzZWRJZHMuZ2V0VmFsdWUoKSB8fCBbXSkgYXMgQXJyYXk8SWQ+XSwgaW5kZXggPSBjdXJyLmluZGV4T2YoZGF0YS5pZCk7XHJcbiAgICAgIGlmIChjb2xsYXBzZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICBjdXJyLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICB0aGlzLl8kY29sbGFwc2VkSWRzLm5leHQoY3Vycik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuXyRjb2xsYXBzZWRJZHMubmV4dChbLi4uY3VyciwgZGF0YS5pZF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChjb2xsYXBzZWQpIHtcclxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgdGhpcy5fJGNvbGxhcHNlZElkcy5uZXh0KGN1cnIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl8kY29sbGFwc2VkSWRzLm5leHQoWy4uLmN1cnIsIGRhdGEuaWRdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgIGN1cnIuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgIHRoaXMuXyRjb2xsYXBzZWRJZHMubmV4dChjdXJyKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fJGNvbGxhcHNlZElkcy5uZXh0KGN1cnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZSh0cmFja0JveDogVHJhY2tCb3gpIHtcclxuICAgIHRoaXMuX3RyYWNrQm94ID0gdHJhY2tCb3g7XHJcbiAgfVxyXG5cclxuICBpdGVtVG9Gb2N1czogKChlbGVtZW50OiBIVE1MRWxlbWVudCwgcG9zaXRpb246IG51bWJlcikgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGZvY3VzKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBlbGVtZW50LmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcclxuICAgIGlmIChlbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgcG9zID0gcGFyc2VGbG9hdChlbGVtZW50LnBhcmVudEVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgncG9zaXRpb24nKSA/PyAnMCcpO1xyXG4gICAgICB0aGlzLml0ZW1Ub0ZvY3VzPy4oZWxlbWVudCwgcG9zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFyZWFGb2N1cyhpZDogSWQgfCBudWxsKSB7XHJcbiAgICB0aGlzLl8kZm9jdXNlZElkLm5leHQoaWQpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDb21wb25lbnRJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9uZXh0Q29tcG9uZW50SWQgPSB0aGlzLl9uZXh0Q29tcG9uZW50SWQgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXHJcbiAgICAgID8gMCA6IHRoaXMuX25leHRDb21wb25lbnRJZCArIDE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9uZy12aXJ0dWFsLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQWEsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUloRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFLN0UsTUFBTSxPQUFPLG9CQUFvQjtJQUN2QixnQkFBZ0IsR0FBVyxDQUFDLENBQUM7SUFFN0IsV0FBVyxHQUFHLElBQUksT0FBTyxFQUEyQyxDQUFDO0lBQzdFLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXJDLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBNkIsU0FBUyxDQUFDLENBQUM7SUFDbkYsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFekMsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzVELGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRTNDLG1CQUFtQixHQUFHLElBQUksZUFBZSxDQUEyQixDQUFDLENBQUMsQ0FBQztJQUMvRSxrQkFBa0IsR0FBRyxJQUFJ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QzVCLENBQUM7SUFFRCxXQUFXLENBQXdGO0lBRW5HLEtBQUssQ0FBQyxPQUFvQixFQUFFLFFBQXdCLGVBQWUsQ0FBQyxNQUFNO1FBQ3hFLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDekIsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQy9FLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFhO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixLQUFLLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDOUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQTlMVSxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL0JlaGF2aW9yU3ViamVjdCc7XHJcbmltcG9ydCB7IFRyYWNrQm94IH0gZnJvbSAnLi91dGlscy90cmFja0JveCc7XHJcbmltcG9ydCB7IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW0gfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IElSZW5kZXJWaXJ0dWFsTGlzdENvbGxlY3Rpb24gfSBmcm9tICcuL21vZGVscy9yZW5kZXItY29sbGVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEZvY3VzQWxpZ25tZW50cyB9IGZyb20gJy4vZW51bXMnO1xyXG5pbXBvcnQgeyBNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXMgfSBmcm9tICcuL2VudW1zL21ldGhvZC1mb3Itc2VsZWN0aW5nLXR5cGVzJztcclxuaW1wb3J0IHsgRm9jdXNBbGlnbm1lbnQsIElkIH0gZnJvbSAnLi90eXBlcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgREVGQVVMVF9DT0xMQVBTRV9CWV9DTElDSywgREVGQVVMVF9TRUxFQ1RfQllfQ0xJQ0sgfSBmcm9tICcuL2NvbnN0JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVmlydHVhbExpc3RTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9uZXh0Q29tcG9uZW50SWQ6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgXyRpdGVtQ2xpY2sgPSBuZXcgU3ViamVjdDxJUmVuZGVyVmlydHVhbExpc3RJdGVtPGFueT4gfCB1bmRlZmluZWQ+KCk7XHJcbiAgJGl0ZW1DbGljayA9IHRoaXMuXyRpdGVtQ2xpY2suYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHByaXZhdGUgXyRzZWxlY3RlZElkcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8SWQ+IHwgSWQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgJHNlbGVjdGVkSWRzID0gdGhpcy5fJHNlbGVjdGVkSWRzLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIF8kY29sbGFwc2VkSWRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxJZD4+KFtdKTtcclxuICAkY29sbGFwc2VkSWRzID0gdGhpcy5fJGNvbGxhcHNlZElkcy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBfJG1ldGhvZE9mU2VsZWN0aW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXM+KDApO1xyXG4gICRtZXRob2RPZlNlbGVjdGluZyA9IHRoaXMuXyRtZXRob2RPZlNlbGVjdGluZy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgc2V0IG1ldGhvZE9mU2VsZWN0aW5nKHY6IE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcykge1xyXG4gICAgdGhpcy5fJG1ldGhvZE9mU2VsZWN0aW5nLm5leHQodik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90cmFja0JveDogVHJhY2tCb3ggfCB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgXyRmb2N1c2VkSWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElkIHwgbnVsbD4obnVsbCk7XHJcbiAgJGZvY3VzZWRJZCA9IHRoaXMuXyRmb2N1c2VkSWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgZ2V0IGZvY3VzZWRJZCgpIHsgcmV0dXJuIHRoaXMuXyRmb2N1c2VkSWQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICBzZWxlY3RCeUNsaWNrOiBib29sZWFuID0gREVGQVVMVF9TRUxFQ1RfQllfQ0xJQ0s7XHJcblxyXG4gIGNvbGxhcHNlQnlDbGljazogYm9vbGVhbiA9IERFRkFVTFRfQ09MTEFQU0VfQllfQ0xJQ0s7XHJcblxyXG4gIGxpc3RFbGVtZW50OiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb2xsZWN0aW9uOiBJUmVuZGVyVmlydHVhbExpc3RDb2xsZWN0aW9uID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5fJG1ldGhvZE9mU2VsZWN0aW5nLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxyXG4gICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgc3dpdGNoICh2KSB7XHJcbiAgICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5TRUxFQ1Q6IHtcclxuICAgICAgICAgICAgY29uc3QgY3VyciA9IHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1cnIgIT09ICdudW1iZXInICYmIHR5cGVvZiBjdXJyICE9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5NVUxUSV9TRUxFQ1Q6IHtcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KFtdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNhc2UgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzLk5PTkU6XHJcbiAgICAgICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRJZHMoaWRzOiBBcnJheTxJZD4gfCBJZCB8IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKEpTT04uc3RyaW5naWZ5KHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpKSAhPT0gSlNPTi5zdHJpbmdpZnkoaWRzKSkge1xyXG4gICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChpZHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q29sbGFwc2VkSWRzKGlkczogQXJyYXk8SWQ+KSB7XHJcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5fJGNvbGxhcHNlZElkcy5nZXRWYWx1ZSgpKSAhPT0gSlNPTi5zdHJpbmdpZnkoaWRzKSkge1xyXG4gICAgICB0aGlzLl8kY29sbGFwc2VkSWRzLm5leHQoaWRzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGl0ZW1DbGljayhkYXRhOiBJUmVuZGVyVmlydHVhbExpc3RJdGVtIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLl8kaXRlbUNsaWNrLm5leHQoZGF0YSk7XHJcbiAgICBpZiAodGhpcy5jb2xsYXBzZUJ5Q2xpY2spIHtcclxuICAgICAgdGhpcy5jb2xsYXBzZShkYXRhKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdEJ5Q2xpY2spIHtcclxuICAgICAgdGhpcy5zZWxlY3QoZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGUoKSB7XHJcbiAgICB0aGlzLl90cmFja0JveD8uY2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VsZWN0cyBhIGxpc3QgaXRlbVxyXG4gICAqIEBwYXJhbSBkYXRhIFxyXG4gICAqIEBwYXJhbSBzZWxlY3RlZCAtIElmIHRoZSB2YWx1ZSBpcyB1bmRlZmluZWQsIHRoZW4gdGhlIHRvZ2dsZSBtZXRob2QgaXMgZXhlY3V0ZWQsIGlmIGZhbHNlIG9yIHRydWUsIHRoZW4gdGhlIHNlbGVjdGlvbi9kZXNlbGVjdGlvbiBpcyBwZXJmb3JtZWQuXHJcbiAgICovXHJcbiAgc2VsZWN0KGRhdGE6IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW0gfCB1bmRlZmluZWQsIHNlbGVjdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoZGF0YSAmJiBkYXRhLmNvbmZpZy5zZWxlY3RhYmxlKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5fJG1ldGhvZE9mU2VsZWN0aW5nLmdldFZhbHVlKCkpIHtcclxuICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5TRUxFQ1Q6IHtcclxuICAgICAgICAgIGNvbnN0IGN1cnIgPSB0aGlzLl8kc2VsZWN0ZWRJZHMuZ2V0VmFsdWUoKSBhcyAoSWQgfCB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgaWYgKHNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQoY3VyciAhPT0gZGF0YT8uaWQgPyBkYXRhPy5pZCA6IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChzZWxlY3RlZCA/IGRhdGE/LmlkIDogdW5kZWZpbmVkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5NVUxUSV9TRUxFQ1Q6IHtcclxuICAgICAgICAgIGNvbnN0IGN1cnIgPSBbLi4uKHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpIHx8IFtdKSBhcyBBcnJheTxJZD5dLCBpbmRleCA9IGN1cnIuaW5kZXhPZihkYXRhLmlkKTtcclxuICAgICAgICAgIGlmIChzZWxlY3RlZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgY3Vyci5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KGN1cnIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KFsuLi5jdXJyLCBkYXRhLmlkXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChjdXJyKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChbLi4uY3VyciwgZGF0YS5pZF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICAgIGN1cnIuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChjdXJyKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChjdXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzLk5PTkU6XHJcbiAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgKiBDb2xsYXBzZSBsaXN0IGl0ZW1zXHJcbiAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgKiBAcGFyYW0gY29sbGFwc2VkIC0gSWYgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZCwgdGhlbiB0aGUgdG9nZ2xlIG1ldGhvZCBpcyBleGVjdXRlZCwgaWYgZmFsc2Ugb3IgdHJ1ZSwgdGhlbiB0aGUgY29sbGFwc2UvZXhwYW5kIGlzIHBlcmZvcm1lZC5cclxuICAgICovXHJcbiAgY29sbGFwc2UoZGF0YTogSVJlbmRlclZpcnR1YWxMaXN0SXRlbSB8IHVuZGVmaW5lZCwgY29sbGFwc2VkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoZGF0YSAmJiBkYXRhLmNvbmZpZy5zdGlja3kgPiAwICYmIGRhdGEuY29uZmlnLmNvbGxhcHNhYmxlKSB7XHJcbiAgICAgIGNvbnN0IGN1cnIgPSBbLi4uKHRoaXMuXyRjb2xsYXBzZWRJZHMuZ2V0VmFsdWUoKSB8fCBbXSkgYXMgQXJyYXk8SWQ+XSwgaW5kZXggPSBjdXJyLmluZGV4T2YoZGF0YS5pZCk7XHJcbiAgICAgIGlmIChjb2xsYXBzZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICBjdXJyLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICB0aGlzLl8kY29sbGFwc2VkSWRzLm5leHQoY3Vycik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuXyRjb2xsYXBzZWRJZHMubmV4dChbLi4uY3VyciwgZGF0YS5pZF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChjb2xsYXBzZWQpIHtcclxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgdGhpcy5fJGNvbGxhcHNlZElkcy5uZXh0KGN1cnIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl8kY29sbGFwc2VkSWRzLm5leHQoWy4uLmN1cnIsIGRhdGEuaWRdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgIGN1cnIuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgIHRoaXMuXyRjb2xsYXBzZWRJZHMubmV4dChjdXJyKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fJGNvbGxhcHNlZElkcy5uZXh0KGN1cnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZSh0cmFja0JveDogVHJhY2tCb3gpIHtcclxuICAgIHRoaXMuX3RyYWNrQm94ID0gdHJhY2tCb3g7XHJcbiAgfVxyXG5cclxuICBpdGVtVG9Gb2N1czogKChlbGVtZW50OiBIVE1MRWxlbWVudCwgcG9zaXRpb246IG51bWJlciwgYWxpZ246IEZvY3VzQWxpZ25tZW50KSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgZm9jdXMoZWxlbWVudDogSFRNTEVsZW1lbnQsIGFsaWduOiBGb2N1c0FsaWdubWVudCA9IEZvY3VzQWxpZ25tZW50cy5DRU5URVIpIHtcclxuICAgIGVsZW1lbnQuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xyXG4gICAgaWYgKGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xyXG4gICAgICBjb25zdCBwb3MgPSBwYXJzZUZsb2F0KGVsZW1lbnQucGFyZW50RWxlbWVudD8uZ2V0QXR0cmlidXRlKCdwb3NpdGlvbicpID8/ICcwJyk7XHJcbiAgICAgIHRoaXMuaXRlbVRvRm9jdXM/LihlbGVtZW50LCBwb3MsIGFsaWduKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFyZWFGb2N1cyhpZDogSWQgfCBudWxsKSB7XHJcbiAgICB0aGlzLl8kZm9jdXNlZElkLm5leHQoaWQpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDb21wb25lbnRJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9uZXh0Q29tcG9uZW50SWQgPSB0aGlzLl9uZXh0Q29tcG9uZW50SWQgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXHJcbiAgICAgID8gMCA6IHRoaXMuX25leHRDb21wb25lbnRJZCArIDE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtYWxpZ25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdHlwZXMvZm9jdXMtYWxpZ25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0FsaWdubWVudHMgfSBmcm9tIFwiLi4vZW51bXNcIjtcclxuXHJcbi8qKlxyXG4gKiBGb2N1cyBBbGlnbm1lbnRcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTYueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi90eXBlcy9mb2N1cy1hbGlnbm1lbnQudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRm9jdXNBbGlnbm1lbnQgPSBGb2N1c0FsaWdubWVudHMgfCAnbm9uZScgfCAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWQgfSBmcm9tICcuL2lkJztcclxuaW1wb3J0IHsgSVNpemUgfSBmcm9tICcuL3NpemUnO1xyXG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJy4vcmVjdCc7XHJcblxyXG5leHBvcnQgdHlwZSB7XHJcbiAgICBJZCxcclxuICAgIElTaXplLFxyXG4gICAgSVJlY3QsXHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWQgfSBmcm9tICcuL2lkJztcclxuaW1wb3J0IHsgSVNpemUgfSBmcm9tICcuL3NpemUnO1xyXG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJy4vcmVjdCc7XHJcbmltcG9ydCB7IEZvY3VzQWxpZ25tZW50IH0gZnJvbSAnLi9mb2N1cy1hbGlnbm1lbnQnO1xyXG5cclxuZXhwb3J0IHR5cGUge1xyXG4gICAgSWQsXHJcbiAgICBJU2l6ZSxcclxuICAgIElSZWN0LFxyXG4gICAgRm9jdXNBbGlnbm1lbnQsXHJcbn0iXX0=
@@ -0,0 +1,15 @@
1
+ import { CollectionModes } from "../enums";
2
+ const NORMAL_ALIASES = [CollectionModes.NORMAL, 'normal'], LAZY_ALIASES = [CollectionModes.LAZY, 'lazy'];
3
+ /**
4
+ * Determines the axis membership of a virtual list
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/projects/ng-virtual-list/src/lib/utils/isCollectionMode.ts
6
+ * @author Evgenii Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export const isCollectionMode = (src, expected) => {
10
+ if (LAZY_ALIASES.includes(expected)) {
11
+ return LAZY_ALIASES.includes(src);
12
+ }
13
+ return NORMAL_ALIASES.includes(src);
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNDb2xsZWN0aW9uTW9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2lzQ29sbGVjdGlvbk1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0QsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUNyRCxZQUFZLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRWxEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFtQixFQUFFLFFBQXdCLEVBQVcsRUFBRTtJQUN2RixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDakMsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25Nb2RlLCBDb2xsZWN0aW9uTW9kZXMgfSBmcm9tIFwiLi4vZW51bXNcIjtcclxuXHJcbmNvbnN0IE5PUk1BTF9BTElBU0VTID0gW0NvbGxlY3Rpb25Nb2Rlcy5OT1JNQUwsICdub3JtYWwnXSxcclxuICAgIExBWllfQUxJQVNFUyA9IFtDb2xsZWN0aW9uTW9kZXMuTEFaWSwgJ2xhenknXTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHRoZSBheGlzIG1lbWJlcnNoaXAgb2YgYSB2aXJ0dWFsIGxpc3RcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTYueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pc0NvbGxlY3Rpb25Nb2RlLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc0NvbGxlY3Rpb25Nb2RlID0gKHNyYzogQ29sbGVjdGlvbk1vZGUsIGV4cGVjdGVkOiBDb2xsZWN0aW9uTW9kZSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgaWYgKExBWllfQUxJQVNFUy5pbmNsdWRlcyhleHBlY3RlZCkpIHtcclxuICAgICAgICByZXR1cm4gTEFaWV9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTk9STUFMX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxufSJdfQ==