ng-virtual-list 18.4.2 → 18.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +23 -0
  2. package/esm2022/lib/components/ng-virtual-list-item.component.mjs +19 -4
  3. package/esm2022/lib/const/index.mjs +6 -1
  4. package/esm2022/lib/models/render-item-config.model.mjs +1 -1
  5. package/esm2022/lib/models/render-item.model.mjs +1 -1
  6. package/esm2022/lib/utils/trackBox.mjs +13 -7
  7. package/esm2022/lib/utils/tracker.mjs +18 -9
  8. package/fesm2022/ng-virtual-list.mjs +50 -16
  9. package/fesm2022/ng-virtual-list.mjs.map +1 -1
  10. package/lib/components/ng-virtual-list-item.component.d.ts +3 -0
  11. package/lib/const/index.d.ts +4 -0
  12. package/lib/models/render-item-config.model.d.ts +8 -0
  13. package/lib/models/render-item.model.d.ts +4 -0
  14. package/lib/utils/tracker.d.ts +3 -7
  15. package/package.json +1 -1
  16. package/esm2020/lib/components/ng-virtual-list-item.component.mjs +0 -131
  17. package/esm2020/lib/const/index.mjs +0 -44
  18. package/esm2020/lib/enums/direction.mjs +0 -2
  19. package/esm2020/lib/enums/directions.mjs +0 -18
  20. package/esm2020/lib/enums/index.mjs +0 -4
  21. package/esm2020/lib/enums/snapping-method.mjs +0 -2
  22. package/esm2020/lib/enums/snapping-methods.mjs +0 -18
  23. package/esm2020/lib/models/base-virtual-list-item-component.mjs +0 -9
  24. package/esm2020/lib/models/collection.model.mjs +0 -3
  25. package/esm2020/lib/models/component.model.mjs +0 -2
  26. package/esm2020/lib/models/index.mjs +0 -2
  27. package/esm2020/lib/models/item.model.mjs +0 -2
  28. package/esm2020/lib/models/render-collection.model.mjs +0 -3
  29. package/esm2020/lib/models/render-item-config.model.mjs +0 -2
  30. package/esm2020/lib/models/render-item.model.mjs +0 -3
  31. package/esm2020/lib/models/scroll-direction.model.mjs +0 -2
  32. package/esm2020/lib/models/scroll-event.model.mjs +0 -2
  33. package/esm2020/lib/models/sticky-map.model.mjs +0 -2
  34. package/esm2020/lib/ng-virtual-list.component.mjs +0 -675
  35. package/esm2020/lib/ng-virtual-list.module.mjs +0 -20
  36. package/esm2020/lib/types/id.mjs +0 -2
  37. package/esm2020/lib/types/index.mjs +0 -2
  38. package/esm2020/lib/types/rect.mjs +0 -2
  39. package/esm2020/lib/types/size.mjs +0 -2
  40. package/esm2020/lib/utils/browser.mjs +0 -3
  41. package/esm2020/lib/utils/buffer-interpolation.mjs +0 -27
  42. package/esm2020/lib/utils/cacheMap.mjs +0 -167
  43. package/esm2020/lib/utils/debounce.mjs +0 -31
  44. package/esm2020/lib/utils/disposableComponent.mjs +0 -29
  45. package/esm2020/lib/utils/eventEmitter.mjs +0 -106
  46. package/esm2020/lib/utils/index.mjs +0 -5
  47. package/esm2020/lib/utils/isDirection.mjs +0 -15
  48. package/esm2020/lib/utils/scrollEvent.mjs +0 -42
  49. package/esm2020/lib/utils/snapping-method.mjs +0 -9
  50. package/esm2020/lib/utils/toggleClassName.mjs +0 -15
  51. package/esm2020/lib/utils/trackBox.mjs +0 -756
  52. package/esm2020/lib/utils/tracker.mjs +0 -134
  53. package/esm2020/ng-virtual-list.mjs +0 -5
  54. package/esm2020/public-api.mjs +0 -10
  55. package/fesm2015/ng-virtual-list.mjs +0 -2224
  56. package/fesm2015/ng-virtual-list.mjs.map +0 -1
  57. package/fesm2020/ng-virtual-list.mjs +0 -2229
  58. package/fesm2020/ng-virtual-list.mjs.map +0 -1
  59. package/lib/utils/disposableComponent.d.ts +0 -15
@@ -1,134 +0,0 @@
1
- /**
2
- * Tracks display items by property
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/tracker.ts
4
- * @author Evgenii Grebennikov
5
- * @email djonnyx@gmail.com
6
- */
7
- export class Tracker {
8
- set displayObjectIndexMapById(v) {
9
- if (this._displayObjectIndexMapById === v) {
10
- return;
11
- }
12
- this._displayObjectIndexMapById = v;
13
- }
14
- get displayObjectIndexMapById() {
15
- return this._displayObjectIndexMapById;
16
- }
17
- get trackMap() {
18
- return this._trackMap;
19
- }
20
- set trackingPropertyName(v) {
21
- this._trackingPropertyName = v;
22
- }
23
- constructor(trackingPropertyName) {
24
- /**
25
- * display objects dictionary of indexes by id
26
- */
27
- this._displayObjectIndexMapById = {};
28
- /**
29
- * Dictionary displayItems propertyNameId by items propertyNameId
30
- */
31
- this._trackMap = {};
32
- this._trackingPropertyName = trackingPropertyName;
33
- }
34
- /**
35
- * tracking by propName
36
- */
37
- track(items, components, snapedComponent, direction) {
38
- if (!items) {
39
- return;
40
- }
41
- const idPropName = this._trackingPropertyName, untrackedItems = [...components], isDown = direction === 0 || direction === 1;
42
- let isRegularSnapped = false;
43
- for (let i = isDown ? 0 : items.length - 1, l = isDown ? items.length : 0; isDown ? i < l : i >= l; isDown ? i++ : i--) {
44
- const item = items[i], itemTrackingProperty = item[idPropName];
45
- if (this._trackMap) {
46
- if (this._trackMap.hasOwnProperty(itemTrackingProperty)) {
47
- const diId = this._trackMap[itemTrackingProperty], compIndex = this._displayObjectIndexMapById[diId], comp = components[compIndex];
48
- const compId = comp?.instance?.id;
49
- if (comp !== undefined && compId === diId) {
50
- const indexByUntrackedItems = untrackedItems.findIndex(v => {
51
- return v.instance.id === compId;
52
- });
53
- if (indexByUntrackedItems > -1) {
54
- if (snapedComponent) {
55
- if (item['config']['snapped'] || item['config']['snappedOut']) {
56
- isRegularSnapped = true;
57
- snapedComponent.instance.item = item;
58
- snapedComponent.instance.show();
59
- }
60
- }
61
- comp.instance.item = item;
62
- if (snapedComponent) {
63
- if (item['config']['snapped'] || item['config']['snappedOut']) {
64
- comp.instance.hide();
65
- }
66
- else {
67
- comp.instance.show();
68
- }
69
- }
70
- else {
71
- comp.instance.show();
72
- }
73
- untrackedItems.splice(indexByUntrackedItems, 1);
74
- continue;
75
- }
76
- }
77
- delete this._trackMap[itemTrackingProperty];
78
- }
79
- }
80
- if (untrackedItems.length > 0) {
81
- const comp = untrackedItems.shift(), item = items[i];
82
- if (comp) {
83
- if (snapedComponent) {
84
- if (item['config']['snapped'] || item['config']['snappedOut']) {
85
- isRegularSnapped = true;
86
- snapedComponent.instance.item = item;
87
- snapedComponent.instance.show();
88
- }
89
- }
90
- comp.instance.item = item;
91
- if (snapedComponent) {
92
- if (item['config']['snapped'] || item['config']['snappedOut']) {
93
- comp.instance.hide();
94
- }
95
- else {
96
- comp.instance.show();
97
- }
98
- }
99
- else {
100
- comp.instance.show();
101
- }
102
- if (this._trackMap) {
103
- this._trackMap[itemTrackingProperty] = comp.instance.id;
104
- }
105
- }
106
- }
107
- }
108
- if (untrackedItems.length) {
109
- for (let i = 0, l = untrackedItems.length; i < l; i++) {
110
- const comp = untrackedItems[i];
111
- comp.instance.hide();
112
- }
113
- }
114
- if (!isRegularSnapped) {
115
- if (snapedComponent) {
116
- snapedComponent.instance.item = null;
117
- snapedComponent.instance.hide();
118
- }
119
- }
120
- }
121
- untrackComponentByIdProperty(component) {
122
- if (!component) {
123
- return;
124
- }
125
- const propertyIdName = this._trackingPropertyName;
126
- if (this._trackMap && component[propertyIdName] !== undefined) {
127
- delete this._trackMap[propertyIdName];
128
- }
129
- }
130
- dispose() {
131
- this._trackMap = null;
132
- }
133
- }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFNaEIsSUFBSSx5QkFBeUIsQ0FBQyxDQUEyQjtRQUNyRCxJQUFJLElBQUksQ0FBQywwQkFBMEIsS0FBSyxDQUFDLEVBQUU7WUFDdkMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDekIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUM7SUFDM0MsQ0FBQztJQU9ELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBSUQsSUFBSSxvQkFBb0IsQ0FBQyxDQUFTO1FBQzlCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVksb0JBQTRCO1FBaEN4Qzs7V0FFRztRQUNPLCtCQUEwQixHQUE2QixFQUFFLENBQUM7UUFjcEU7O1dBRUc7UUFDTyxjQUFTLEdBQWdELEVBQUUsQ0FBQztRQWFsRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQWlCLEVBQUUsVUFBa0MsRUFBRSxlQUFtRCxFQUM1RyxTQUEwQjtRQUMxQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTztTQUNWO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLGNBQWMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsS0FBSyxDQUFDLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQztRQUM3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Q0FBQyxnQkFBZ0IsRUFBRTtZQUNuQixJQUFJLGVBQWUsRUFBRTtnQkFDakIsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNyQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ25DO1NBQ0o7SUFDTCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsU0FBYTtRQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ1osT0FBTztTQUNWO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBRWxELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSyxTQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUNwRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbiB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSWQsIElTaXplIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcbmltcG9ydCB7IEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vbW9kZWxzL2Jhc2UtdmlydHVhbC1saXN0LWl0ZW0tY29tcG9uZW50XCI7XHJcblxyXG50eXBlIFRyYWNraW5nUHJvcGVydHlJZCA9IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudDxJID0gYW55PiB7XHJcbiAgICBnZXRCb3VuZHMoKTogSVNpemU7XHJcbiAgICBpdGVtSWQ6IElkO1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGl0ZW06IEkgfCBudWxsO1xyXG4gICAgc2hvdzogKCkgPT4gdm9pZDtcclxuICAgIGhpZGU6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmFja3MgZGlzcGxheSBpdGVtcyBieSBwcm9wZXJ0eVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNS54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRyYWNrZXI8QyBleHRlbmRzIEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgPSBhbnk+IHtcclxuICAgIC8qKlxyXG4gICAgICogZGlzcGxheSBvYmplY3RzIGRpY3Rpb25hcnkgb2YgaW5kZXhlcyBieSBpZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQ6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAgIHNldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKHY6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkID09PSB2KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGljdGlvbmFyeSBkaXNwbGF5SXRlbXMgcHJvcGVydHlOYW1lSWQgYnkgaXRlbXMgcHJvcGVydHlOYW1lSWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF90cmFja01hcDogeyBbaWQ6IFRyYWNraW5nUHJvcGVydHlJZF06IG51bWJlciB9IHwgbnVsbCA9IHt9O1xyXG5cclxuICAgIGdldCB0cmFja01hcCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhY2tNYXA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF90cmFja2luZ1Byb3BlcnR5TmFtZSE6IHN0cmluZztcclxuXHJcbiAgICBzZXQgdHJhY2tpbmdQcm9wZXJ0eU5hbWUodjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWUgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHRyYWNraW5nUHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl90cmFja2luZ1Byb3BlcnR5TmFtZSA9IHRyYWNraW5nUHJvcGVydHlOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdHJhY2tpbmcgYnkgcHJvcE5hbWVcclxuICAgICAqL1xyXG4gICAgdHJhY2soaXRlbXM6IEFycmF5PGFueT4sIGNvbXBvbmVudHM6IEFycmF5PENvbXBvbmVudFJlZjxDPj4sIHNuYXBlZENvbXBvbmVudDogQ29tcG9uZW50UmVmPEM+IHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGlmICghaXRlbXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaWRQcm9wTmFtZSA9IHRoaXMuX3RyYWNraW5nUHJvcGVydHlOYW1lLCB1bnRyYWNrZWRJdGVtcyA9IFsuLi5jb21wb25lbnRzXSwgaXNEb3duID0gZGlyZWN0aW9uID09PSAwIHx8IGRpcmVjdGlvbiA9PT0gMTtcclxuICAgICAgICBsZXQgaXNSZWd1bGFyU25hcHBlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gaXNEb3duID8gMCA6IGl0ZW1zLmxlbmd0aCAtIDEsIGwgPSBpc0Rvd24gPyBpdGVtcy5sZW5ndGggOiAwOyBpc0Rvd24gPyBpIDwgbCA6IGkgPj0gbDsgaXNEb3duID8gaSsrIDogaS0tKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXSwgaXRlbVRyYWNraW5nUHJvcGVydHkgPSBpdGVtW2lkUHJvcE5hbWVdO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYWNrTWFwKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdHJhY2tNYXAuaGFzT3duUHJvcGVydHkoaXRlbVRyYWNraW5nUHJvcGVydHkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlJZCA9IHRoaXMuX3RyYWNrTWFwW2l0ZW1UcmFja2luZ1Byb3BlcnR5XSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcEluZGV4ID0gdGhpcy5fZGlzcGxheU9iamVjdEluZGV4TWFwQnlJZFtkaUlkXSwgY29tcCA9IGNvbXBvbmVudHNbY29tcEluZGV4XTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcElkID0gY29tcD8uaW5zdGFuY2U/LmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21wICE9PSB1bmRlZmluZWQgJiYgY29tcElkID09PSBkaUlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4QnlVbnRyYWNrZWRJdGVtcyA9IHVudHJhY2tlZEl0ZW1zLmZpbmRJbmRleCh2ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2Lmluc3RhbmNlLmlkID09PSBjb21wSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXhCeVVudHJhY2tlZEl0ZW1zID4gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzbmFwZWRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWQnXSB8fCBpdGVtWydjb25maWcnXVsnc25hcHBlZE91dCddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVndWxhclNuYXBwZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaXRlbSA9IGl0ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkJ10gfHwgaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWRPdXQnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2Uuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW50cmFja2VkSXRlbXMuc3BsaWNlKGluZGV4QnlVbnRyYWNrZWRJdGVtcywgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fdHJhY2tNYXBbaXRlbVRyYWNraW5nUHJvcGVydHldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodW50cmFja2VkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zLnNoaWZ0KCksIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgICAgIGlmIChjb21wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNuYXBlZENvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWQnXSB8fCBpdGVtWydjb25maWcnXVsnc25hcHBlZE91dCddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1JlZ3VsYXJTbmFwcGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtWydjb25maWcnXVsnc25hcHBlZCddIHx8IGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkT3V0J10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl90cmFja01hcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmFja01hcFtpdGVtVHJhY2tpbmdQcm9wZXJ0eV0gPSBjb21wLmluc3RhbmNlLmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHVudHJhY2tlZEl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHVudHJhY2tlZEl0ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zW2ldO1xyXG4gICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5oaWRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghaXNSZWd1bGFyU25hcHBlZCkge1xyXG4gICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaXRlbSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVudHJhY2tDb21wb25lbnRCeUlkUHJvcGVydHkoY29tcG9uZW50PzogQyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHByb3BlcnR5SWROYW1lID0gdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl90cmFja01hcCAmJiAoY29tcG9uZW50IGFzIGFueSlbcHJvcGVydHlJZE5hbWVdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3RyYWNrTWFwW3Byb3BlcnR5SWROYW1lXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcG9zZSgpIHtcclxuICAgICAgICB0aGlzLl90cmFja01hcCA9IG51bGw7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9uZy12aXJ0dWFsLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,10 +0,0 @@
1
- /*
2
- * Public API Surface of ng-virtual-list
3
- */
4
- export * from './lib/components/ng-virtual-list-item.component';
5
- export * from './lib/ng-virtual-list.module';
6
- export * from './lib/ng-virtual-list.component';
7
- export * from './lib/enums';
8
- export * from './lib/models';
9
- export * from './lib/types';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5nLXZpcnR1YWwtbGlzdFxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmctdmlydHVhbC1saXN0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nLXZpcnR1YWwtbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzJztcclxuIl19